@font-face { font-family: Manrope; src: url("manrope.3ae11c49db04.ttf") format("truetype"); font-style: normal; font-weight: 200 800; font-display: swap; }
:root { --ink:#203e52; --muted:#526775; --blue:#0868ba; --soft:#edf7ff; --line:#dce8ef; --lime:#d7ff3f; --measure:1280px; }
* { box-sizing:border-box; hyphens:none; -webkit-hyphens:none; word-break:normal; }
html { scroll-behavior:smooth; scroll-padding-top:24px; -webkit-text-size-adjust:100%; text-size-adjust:100%; }
body { margin:0; background:#fff; color:var(--ink); font:400 20px/1.55 Manrope,Arial,sans-serif; }
a { color:var(--blue); text-decoration-thickness:1px; text-underline-offset:5px; }
a:hover { text-decoration-thickness:2px; }
a:focus-visible,button:focus-visible { outline:3px solid var(--blue); outline-offset:5px; }
button,a { -webkit-tap-highlight-color:transparent; }
img { display:block; max-width:100%; height:auto; }
h1,h2,h3,p,figure,dl { margin:0; }
h1,h2,h3,.label,.metrics,.button,figcaption { text-align:left; }
h1,h2,h3 { font-weight:700; line-height:1.2; overflow-wrap:normal; }
h1 { font-size:clamp(36px,3.5vw,52px); }
h2 { font-size:clamp(32px,3.2vw,46px); max-width:1040px; margin-bottom:32px; }
h3 { font-size:28px; margin-bottom:20px; }
.prose { max-width:800px; margin-bottom:24px; text-align:justify; text-align-last:start; hyphens:none; text-wrap:pretty; overflow-wrap:normal; }
.label { font-size:14px; line-height:1.5; color:var(--muted); margin-bottom:18px; }
.company { color:var(--ink); font-weight:700; font-size:17px; }
.kicker { color:var(--muted); font-size:12px; letter-spacing:.06em; font-weight:600; margin-bottom:26px; }
.kicker span { color:var(--blue); margin-right:22px; }
.site-header,.site-footer,.section,.case-detail,.case-pagination { width:calc(100% - 120px); max-width:var(--measure); margin-inline:auto; }
.site-header { height:97px; border-bottom:1px solid var(--line); }
.site-header nav { display:flex; align-items:center; height:100%; gap:clamp(30px,7vw,110px); }
.site-header a { display:flex; min-height:44px; align-items:center; font-size:18px; font-weight:700; text-decoration:none; }
.site-header .monogram { margin-right:auto; font-size:25px; }
.section { padding-block:72px; border-bottom:1px solid var(--line); }
.section > .button { margin-top:18px; }
.button { display:flex; align-items:center; justify-content:space-between; gap:16px; width:fit-content; max-width:100%; min-height:58px; padding:16px 18px; background:var(--blue); color:white; text-decoration:none; font-size:16px; line-height:24px; font-weight:600; }
.button:hover { background:#075a9f; text-decoration:none; }
.button span { font-size:24px; line-height:1; font-weight:400; }
.text-link { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:44px; width:fit-content; max-width:100%; font-size:16px; line-height:1.5; font-weight:600; padding-block:9px; overflow-wrap:normal; }
.text-link span { text-decoration:none; flex-shrink:0; }
.text-link > .link-label { flex:1 1 auto; min-width:0; }
.skip-link { position:absolute; left:20px; top:-100px; background:white; z-index:10; padding:14px; }
.skip-link:focus { top:8px; }
.hero { display:grid; grid-template-columns:minmax(0,760fr) minmax(0,486fr); column-gap:64px; grid-template-areas:"identity portrait" "copy portrait" "actions brands"; padding:36px 0 50px; width:calc(100% - 120px); max-width:var(--measure); margin:auto; border-bottom:1px solid var(--line); position:relative; }
.hero::before { content:""; position:absolute; background:var(--soft); width:42%; top:0; bottom:26px; right:-30px; z-index:-1; }
.hero-identity { grid-area:identity; }
.hero h1 { font-size:49px; font-weight:600; line-height:61px; margin-bottom:19px; }
.hero-title { font-size:43px; font-weight:500; line-height:55px; color:var(--ink); margin:0 0 12px; }
.hero-specialty { font-size:17px; color:var(--blue); margin-bottom:29px; }
.hero-portrait { grid-area:portrait; width:100%; height:460px; object-fit:cover; object-position:center; }
.hero-copy { grid-area:copy; }
.hero-copy .prose { line-height:30px; margin-bottom:20px; }
.hero-lead { font-size:21px; font-weight:500; }
.hero-evidence { font-size:20px; color:var(--muted); }
.hero-evidence + .hero-evidence { margin-top:30px; }
.hero-actions { grid-area:actions; display:flex; align-items:center; gap:26px; padding-top:7px; }
.hero-actions .button { flex-shrink:0; }
.hero-brands { grid-area:brands; padding-top:26px; }
.brand-label { font-size:11px; font-weight:500; margin:0; }
.hero-brand-strip { position:relative; height:107px; }
.hero-logo { position:absolute; }
.hero-logo-sber { width:30.25%; left:1.54%; top:63px; }
.hero-logo-gid { width:21.4%; left:39.3%; top:63px; }
.hero-logo-gazprom { width:30.45%; right:1.5%; top:24px; }
.impact-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:36px 44px; }
.impact-grid > article { grid-column:span 2; min-width:0; }
.impact-grid > article:nth-child(n+4) { grid-column:span 3; border-top:1px solid var(--line); padding-top:26px; }
.metrics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 24px; border-block:1px solid var(--line); padding:26px 0; margin:24px 0 28px; }
.metrics div:only-child { grid-column:1 / -1; }
.metrics dt { font-size:clamp(30px,3.1vw,44px); font-weight:700; color:var(--blue); line-height:1.18; margin-bottom:14px; overflow-wrap:normal; }
.metrics dt span { border-bottom:4px solid var(--lime); }
.metrics dd { margin:0; font-size:16px; line-height:1.45; font-weight:600; }
.impact-grid .metrics { border:0; margin:0; padding-top:0; }
.impact-grid .metrics dt { font-size:46px; }
.impact-grid .prose { color:var(--muted); }
.situation,.experience-item { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.6fr); gap:70px; border-top:1px solid var(--line); padding-top:30px; margin-top:30px; }
.featured-case { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:32px 70px; padding-block:52px; border-top:1px solid var(--line); }
.featured-case { grid-template-areas:"copy brands" "copy visual" "tail tail"; grid-template-rows:auto 1fr auto; }
.featured-copy { grid-area:copy; }
.featured-brands { grid-area:brands; }
.featured-visual { grid-area:visual; }
.featured-tail { grid-area:tail; }
.featured-copy h3 { font-size:36px; }
.featured-tail { grid-column:1 / -1; }
.featured-tail .prose { max-width:900px; }
.brand-row { display:flex; align-items:center; justify-content:flex-start; gap:28px; min-height:50px; margin-bottom:28px; }
.brand-row .brand { width:auto; height:auto; max-width:43%; max-height:52px; object-fit:contain; }
.brand-row .brand:only-child { max-width:min(220px,100%); }
/* Original horizontal wordmark; keep its aspect ratio and retina detail. */
.brand-row .brand[data-asset="logos/megamarket.png"] { width:180px; height:auto; max-width:46%; max-height:none; flex-shrink:1; }
figure { margin-block:28px; }
.image-link { display:block; width:fit-content; max-width:100%; }
.project-image { width:auto; max-height:850px; object-fit:contain; }
figcaption,.caption { font-size:12px; line-height:1.5; color:var(--muted); margin-top:16px; }
.screen-panels { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; align-items:start; }
.screen-panels a { border:1px solid var(--line); }
.screen-panels img { width:100%; }
.management-item { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.6fr); gap:70px; padding-block:40px; border-top:1px solid var(--line); }
.management-item .button { margin-top:24px; }
.case-index { position:relative; }
.anchor-alias { position:absolute; top:0; width:1px; height:1px; pointer-events:none; }
.catalog-heading { display:flex; align-items:baseline; flex-wrap:wrap; gap:12px 24px; margin-bottom:28px; }
.catalog-heading h2,.catalog-heading .label { margin:0; }
.catalog-group + .catalog-group { margin-top:36px; }
.catalog-group h3 { font-size:18px; margin-bottom:16px; }
.case-index ol { padding:0; margin:0; list-style:none; }
.case-index li { border-top:1px solid var(--line); }
.catalog-item { display:grid; grid-template-columns:28px minmax(110px,180px) minmax(0,1fr) 22px; gap:20px; padding:20px 0; color:var(--ink); text-decoration:none; }
.catalog-item:hover { background:var(--soft); }
.catalog-number { font-size:12px; color:var(--muted); padding-top:4px; }
.catalog-company { color:var(--blue); font-size:14px; font-weight:600; overflow-wrap:normal; padding-top:2px; }
.catalog-copy { min-width:0; }
.catalog-title { display:block; font-size:18px; line-height:1.4; font-weight:600; overflow-wrap:normal; }
.catalog-lead { display:block; font-size:14px; line-height:1.6; color:var(--muted); margin-top:7px; overflow-wrap:normal; }
.catalog-arrow { color:var(--blue); font-size:21px; }
@media (max-width: 767px) {
  .catalog-item { grid-template-columns:24px minmax(0,1fr) 20px; gap:6px 12px; padding-block:18px; }
  .catalog-number { grid-column:1; grid-row:1; }
  .catalog-company { grid-column:2; grid-row:1; }
  .catalog-copy { grid-column:1 / -1; grid-row:2; }
  .catalog-arrow { grid-column:3; grid-row:1; }
  .catalog-title { font-size:17px; }
}
.resume-section { max-width:1000px; }
.resume-section h1 { margin-bottom:24px; }
.resume-actions { display:flex; flex-wrap:wrap; gap:8px 24px; margin-bottom:28px; padding-block:12px; border-block:1px solid var(--line); }
.resume-actions .text-link { width:auto; font-size:15px; }
.resume-pages { display:grid; grid-template-columns:minmax(0,1fr); gap:28px; }
.resume-page { min-width:0; margin:0; }
.resume-page > a { display:block; background:#fff; border:1px solid var(--line); box-shadow:0 4px 24px rgb(32 62 82 / .08); }
.resume-page img { width:100%; height:auto; }
.resume-page figcaption { margin-top:10px; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:pre-wrap; border:0; }
.publication-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:46px 70px; }
.publication-list article { padding-top:30px; border-top:1px solid var(--line); }
.publication-list .brand { max-height:38px; }
.contact-audiences { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:70px; margin-block:36px; }
.contact-audiences article { border-top:1px solid var(--line); padding-top:28px; }
.contact-audiences h3 { color:var(--blue); }
.contact-methods { display:flex; flex-wrap:wrap; gap:15px 36px; }
.contact-methods .text-link { font-size:18px; }
.case-detail { max-width:900px; padding-top:36px; }
.case-detail > .text-link:first-child { margin-bottom:32px; }
.case-detail h1 { margin-block:26px; }
.case-detail .case-lead { font-size:22px; }
.case-detail .brand-row { max-width:520px; }
.case-detail figure { max-width:760px; }
.case-detail .project-image { max-height:none; }
.case-detail .detail-block { padding-top:26px; }
.detail-block h2 { font-size:26px; margin-bottom:16px; }
.award { border:1px solid var(--line); padding:30px; margin-block:30px; }
.award h2 { font-size:32px; }
.award .label { font-size:18px; }
.case-pagination { display:flex; justify-content:space-between; gap:30px; border-block:1px solid var(--line); padding-block:30px; margin-top:54px; }
.case-pagination a { max-width:33%; }
.site-footer { display:flex; gap:30px; flex-wrap:wrap; padding-block:30px; font-size:14px; }
.site-footer span { margin-right:auto; }
.site-footer a { min-height:44px; display:flex; align-items:center; }
@media (min-width:768px) and (max-width:1199px) {
  .hero { column-gap:36px; }
  .hero h1 { font-size:38px; line-height:1.2; }
  .hero-title { font-size:32px; line-height:1.3; }
  .hero-portrait { height:400px; }
  .hero-actions { display:block; }
  .hero-actions .text-link { margin-top:12px; }
  .hero-logo-sber,.hero-logo-gid { top:52px; }
  .hero-logo-gazprom { top:28px; }
  .featured-case,.management-item,.situation,.experience-item { gap:32px; }
  .metrics dt { font-size:32px; }
}
@media (max-width: 767px) {
  body { font-size:17px; line-height:1.58; }
  .prose { hyphens:none; }
  h1,h2,h3,.label,.metrics,.button,figcaption,.kicker,.text-link { text-align:left; }
  .site-header,.site-footer,.section,.case-detail,.case-pagination { width:calc(100% - 40px); }
  .site-header { height:56px; }
  .site-header nav { justify-content:space-between; gap:0; }
  .site-header a { font-size:15.5px; }
  .site-header .monogram { margin-right:0; font-size:19px; }
  .hero { width:100%; padding:8px 20px 0; grid-template-columns:minmax(0,1fr) 46.2%; column-gap:0; grid-template-areas:"identity portrait" "copy copy" "actions actions" "brands brands"; }
  .hero::before { left:0; right:0; top:8px; bottom:auto; height:184px; width:100%; z-index:-1; }
  .hero-identity { padding:8px 12px 8px 0; margin-right:-9px; }
  .hero h1 { font-size:26px; line-height:32px; font-weight:600; margin-bottom:14px; overflow-wrap:normal; }
  .hero h1 span { display:block; }
  .hero-title { font-size:18px; line-height:25px; font-weight:500; color:var(--blue); margin:0; max-width:180px; }
  .hero-specialty { display:none; }
  .hero-portrait { width:calc(100% + 20px); max-width:none; height:184px; object-fit:cover; }
  .hero-copy { margin-top:18px; }
  .hero-copy .prose { line-height:22px; margin-bottom:15px; }
  .hero-lead { font-size:15.5px; font-weight:500; }
  .hero-evidence { font-size:15px; font-weight:400; }
  .hero-evidence + .hero-evidence { margin-top:22px; }
  .hero-actions { display:block; padding-top:4px; }
  .hero-actions .button { width:100%; }
  .hero-actions .text-link { margin-top:7px; width:100%; font-size:15px; }
  .hero-brands { padding-top:10px; padding-bottom:1px; }
  .brand-label { font-size:9px; line-height:15px; }
  .hero-brand-strip { height:65px; margin-bottom:9px; }
  .hero-logo-sber { width:30%; left:1.667%; top:34.66px; }
  .hero-logo-gid { width:21.143%; left:39.429%; top:35.23px; }
  .hero-logo-gazprom { width:30.286%; right:1.524%; top:6.88px; }
  .section { padding-block:42px; }
  .section h2 { font-size:31px; margin-bottom:28px; }
  h3 { font-size:23px; margin-bottom:16px; }
  .prose { margin-bottom:26px; }
  .button { width:100%; }
  .text-link { width:100%; }
  .impact-grid,.situation,.featured-case,.management-item,.experience-item,.case-index ol,.publication-list,.contact-audiences { display:block; }
  .impact-grid article { border-bottom:1px solid var(--line); padding-bottom:10px; margin-bottom:27px; }
  .impact-grid > article:nth-child(n+4) { border-top:0; padding-top:0; }
  .impact-grid .metrics { margin:0 0 13px; padding:0; }
  .impact-grid .metrics dt { font-size:46px; }
  .impact-grid .metrics dd { font-size:18px; }
  .impact-grid .prose { margin-bottom:20px; }
  .situation { padding-top:25px; margin-top:25px; }
  .featured-case { display:grid; grid-template-columns:minmax(0,1fr); grid-template-areas:"brands" "copy" "visual" "tail"; grid-template-rows:auto; gap:0; padding-block:30px; }
  .featured-copy h3 { font-size:30px; margin-bottom:24px; }
  .featured-visual { margin-top:28px; }
  .featured-visual .brand-row { margin-bottom:24px; }
  .metrics { margin-block:24px 28px; }
  .metrics dt { font-size:36px; }
  .metrics div:only-child dt { font-size:clamp(30px,10.5vw,43px); }
  .metrics dd { font-size:15px; line-height:22px; }
  .brand-row { gap:24px; justify-content:space-between; min-height:44px; }
  .brand-row .brand { max-height:44px; max-width:46%; }
  .brand-row .brand:only-child { max-width:180px; }
  .brand-row:has(.brand:nth-child(3)) .brand { max-width:29%; max-height:43px; }
  .project-image { max-height:none; }
  .featured-tail .text-link { margin-top:16px; }
  .management-item { padding-block:30px; }
  .management-item h3 { font-size:29px; }
  .experience-item { padding-top:25px; margin-top:25px; }
  .publication-list article { padding-block:26px; }
  .publication-list h3 { font-size:25px; }
  .contact-audiences article { margin-bottom:30px; }
  .contact-methods { display:block; }
  .contact-methods .text-link { font-size:16px; margin-bottom:12px; }
  .case-detail { padding-top:24px; }
  .case-detail h1 { font-size:31px; line-height:1.3; margin-block:22px 28px; }
  .case-detail .case-lead { font-size:18px; }
  .case-detail > h2 { font-size:26px; }
  .detail-block h2 { font-size:20px; line-height:1.4; }
  .case-detail .detail-block { padding-top:12px; }
  .award { padding:22px; }
  .award h2 { font-size:30px; }
  .case-pagination { display:block; margin-top:35px; }
  .case-pagination a { max-width:100%; margin-bottom:12px; }
  .site-footer { font-size:14px; gap:12px 24px; }
  .site-footer span { width:100%; }
}
/* Match approved optical wordmark alignment, not emblem box centres. */
.brand-row.brand-pair-gazprom,.brand-row.brand-pair-warmon { position:relative; display:block; }
.brand-row.brand-pair-gazprom { height:120px; }
.brand-row.brand-pair-warmon { height:65px; }
.brand-pair-gazprom .brand,.brand-pair-warmon .brand { position:absolute; max-height:none; object-fit:contain; }
.brand-pair-gazprom .brand:first-child { width:44.857%; max-width:200px; left:25%; top:75%; transform:translate(-50%,-82.5677%); }
.brand-pair-gazprom .brand:last-child { width:26.286%; max-width:116px; left:75%; top:75%; transform:translate(-50%,-54.1284%); }
.brand-pair-warmon .brand:first-child { width:46.57%; max-width:163px; left:25%; top:24px; transform:translate(-50%,-49.8771%); }
.brand-pair-warmon .brand:last-child { width:44.286%; max-width:155px; left:75%; top:24px; transform:translate(-50%,-26.5022%); }
@media (max-width:767px) {
  .brand-row.brand-pair-gazprom { height:92px; }
  .brand-pair-gazprom .brand:first-child { max-width:157px; }
  .brand-pair-gazprom .brand:last-child { max-width:92px; }
}
@media (max-width:359px) {
  .hero h1 { font-size:23px; }
  .hero-title { font-size:17px; line-height:24px; }
  .metrics dt { font-size:30px; }
}
dialog { width:min(600px,calc(100% - 32px)); max-height:calc(100dvh - 32px); margin:auto; padding:30px; border:1px solid var(--line); color:var(--ink); background:white; overflow:auto; font:inherit; }
dialog:not([open]) { display:none; }
dialog::backdrop { background:rgb(20 40 55 / .55); }
.contact-open { overflow:hidden; }
.dialog-header { display:flex; gap:20px; align-items:flex-start; justify-content:space-between; margin-bottom:24px; }
.dialog-header h2 { font-size:28px; margin:0; }
button { font:600 16px/1.5 Manrope,Arial,sans-serif; color:var(--blue); background:white; border:1px solid var(--blue); padding:10px 14px; min-height:44px; cursor:pointer; }
button:hover { background:var(--soft); }
button:disabled { cursor:wait; opacity:.65; }
.dialog-methods { margin-bottom:22px; }
.dialog-methods a { border-top:1px solid var(--line); width:100%; padding-block:15px; font-size:18px; }
.email-address { font-size:18px; overflow-wrap:normal; user-select:all; margin-bottom:18px; }
.copy-status { margin-top:16px; margin-bottom:0; font-size:18px; }
.contact-instruction { margin-top:28px; color:var(--muted); }
@media (max-width: 767px) { dialog { padding:22px; } .dialog-header { display:block; } .dialog-header h2 { font-size:25px; margin-bottom:14px; } }
/* Editorial type: intact words, measured spaces, no stretched rivers. */
h1,h2,h3,.catalog-title { text-wrap:pretty; }
.catalog-lead { text-align:justify; text-align-last:start; text-wrap:pretty; }
.whole-word { white-space:nowrap; }
.type-line { display:block; white-space:nowrap; text-align:start; text-align-last:start; }
@media (max-width:767px) {
  .catalog-lead { font-size:15px; }
  .email-address { font-size:clamp(15px,4.5vw,18px); }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none!important; transition:none!important; } }
