/* ---------- Self-hosted type ---------- */
@font-face{font-family:'Geologica';src:url('../fonts/geologica-cyrillic.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Geologica';src:url('../fonts/geologica-latin.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215}
@font-face{font-family:'Onest';src:url('../fonts/onest-cyrillic.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Onest';src:url('../fonts/onest-latin.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+2122}
@font-face{font-family:'Golos Text';src:url('../fonts/golos-cyrillic.woff2') format('woff2');font-style:normal;font-weight:400 700;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Golos Text';src:url('../fonts/golos-latin.woff2') format('woff2');font-style:normal;font-weight:400 700;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+2122,U+2212}

:root{
  color-scheme:dark;
  --color-bg:#050505;
  --color-surface:#0B0C0D;
  --color-raised:#111315;
  --color-ink:#F4F4F0;
  --color-soft:#C7CACB;
  --color-steel:#949A9E;
  --color-line:rgba(235,239,240,.12);
  --color-line-strong:rgba(235,239,240,.24);
  --maxw:1480px;
  --gut:clamp(20px,4.6vw,68px);
  --section-space:clamp(76px,8.5vw,122px);
  --section-space-top:clamp(50px,6vw,84px);
  --display-optical-start:-.03em;
  --radius-panel:16px;
  --radius-control:12px;
  --ease:cubic-bezier(.16,1,.3,1);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;overflow-x:hidden;background:var(--color-bg);color:var(--color-ink);font-family:'Golos Text',system-ui,sans-serif;-webkit-font-smoothing:antialiased}
img,video{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
h1,h2,h3,h4,p{margin:0}
h1,h2,h3,h4{font-family:'Geologica',system-ui,sans-serif;font-weight:620}
ul,ol{margin:0;padding:0}

.skip-link{position:fixed;z-index:100;top:12px;left:16px;padding:10px 14px;background:var(--color-ink);color:var(--color-bg);transform:translateY(-150%)}
.skip-link:focus-visible{transform:none}
:focus-visible{outline:2px solid var(--color-ink);outline-offset:4px}

.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gut)}
.section{padding-block-start:var(--section-space-top);padding-block-end:var(--section-space);border-top:1px solid var(--color-line)}
.display{font-family:'Geologica',system-ui,sans-serif;font-size:clamp(2.7rem,6vw,6.4rem);font-weight:620;line-height:.94;letter-spacing:-.035em}
.display span{display:block}
.lead{max-width:58ch;color:var(--color-soft);font-size:clamp(1rem,1.25vw,1.2rem);line-height:1.58}
.body{max-width:64ch;color:var(--color-soft);line-height:1.65}
.accent{color:var(--color-ink)}
.h3{font-size:clamp(1.35rem,2vw,2rem);line-height:1.14;letter-spacing:-.025em}
.hero__title,.section-head h2,.case-feature__body h3,.capability-card__copy h3,.contact h2,.case-hero h1,.case-cols h3{margin-inline-start:var(--display-optical-start)}

.btn{display:inline-flex;min-height:46px;align-items:center;justify-content:center;padding:.78em 1.25em;border:1px solid transparent;border-radius:var(--radius-control);font-family:'Geologica',system-ui,sans-serif;font-size:.94rem;font-weight:580;letter-spacing:-.01em;transition:background .25s var(--ease),border-color .25s var(--ease),color .25s var(--ease),transform .25s var(--ease)}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0)}
.btn--primary{background:var(--color-ink);color:var(--color-bg)}
.btn--primary:hover{background:#fff}
.btn--line{border-color:var(--color-line-strong);background:rgba(5,5,5,.42);color:var(--color-ink)}
.btn--line:hover{border-color:var(--color-soft);background:rgba(255,255,255,.05)}

/* ---------- Navigation ---------- */
.nav{position:fixed;z-index:40;inset:0 0 auto;height:68px;display:flex;align-items:center;border-bottom:1px solid transparent;background:rgba(5,5,5,.66);backdrop-filter:blur(18px) saturate(125%);-webkit-backdrop-filter:blur(18px) saturate(125%);transition:border-color .25s var(--ease),background .25s var(--ease)}
.nav.is-stuck{border-bottom-color:var(--color-line);background:rgba(5,5,5,.86)}
.nav__in{display:flex;align-items:center;gap:clamp(16px,3vw,42px)}
.nav__logo{display:inline-flex;min-height:44px;align-items:center;margin-right:auto;font-family:'Geologica',system-ui,sans-serif;font-size:.98rem;font-weight:720;letter-spacing:.05em;text-transform:uppercase}
.nav__links{display:flex;align-items:center;gap:clamp(14px,2vw,30px)}
.nav__links a:not(.nav__contact){color:var(--color-soft);font-size:.91rem;transition:color .2s var(--ease)}
.nav__links a:not(.nav__contact):hover{color:var(--color-ink)}
.nav__contact{display:inline-flex;min-height:44px;align-items:center;padding:.55em .9em;border:1px solid var(--color-line-strong);border-radius:10px;font-family:'Geologica',system-ui,sans-serif;font-size:.86rem;font-weight:580;transition:background .2s var(--ease),color .2s var(--ease)}
.nav__contact:hover{background:var(--color-ink);color:var(--color-bg)}
.nav__burger{display:none;width:44px;height:44px;padding:10px;border:0;background:transparent;cursor:pointer}
.nav__burger span{display:block;width:22px;height:1.5px;margin:5px auto;background:var(--color-ink);transition:transform .3s var(--ease),opacity .3s var(--ease)}
.nav.is-open .nav__burger span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.nav.is-open .nav__burger span:nth-child(2){opacity:0}
.nav.is-open .nav__burger span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
.nav--case .nav__in{min-height:68px}
.case-nav{display:flex;align-items:center;gap:clamp(12px,2vw,28px)}
.case-nav>a:first-child{display:inline-flex;min-height:44px;align-items:center;color:var(--color-soft);font-size:.92rem}

/* ---------- Hero ---------- */
.hero{position:relative;min-height:94svh;overflow:hidden;isolation:isolate;border-bottom:1px solid var(--color-line);background:#030404}
.hero-optic{position:absolute;z-index:-2;inset:0;overflow:hidden;background:#030404}
.hero-optic__poster{position:absolute;inset-block:0;inset-inline-start:5%;display:none;width:120%;height:100%;object-fit:cover;object-position:68% center;opacity:.94;filter:grayscale(1) contrast(1.78) brightness(.63);transform:scale(1.02);-webkit-mask-image:linear-gradient(to bottom,transparent 32%,rgba(0,0,0,.08) 37%,rgba(0,0,0,.42) 42%,#000 47%,#000 55%,rgba(0,0,0,.46) 61%,rgba(0,0,0,.10) 67%,transparent 72%);mask-image:linear-gradient(to bottom,transparent 32%,rgba(0,0,0,.08) 37%,rgba(0,0,0,.42) 42%,#000 47%,#000 55%,rgba(0,0,0,.46) 61%,rgba(0,0,0,.10) 67%,transparent 72%)}
.hero-signal__video{position:absolute;inset-block:0;inset-inline-start:5%;width:120%;height:100%;object-fit:cover;object-position:68% center;opacity:.94;filter:grayscale(1) contrast(1.78) brightness(.63);transform:scale(1.02);-webkit-mask-image:linear-gradient(to bottom,transparent 32%,rgba(0,0,0,.08) 37%,rgba(0,0,0,.42) 42%,#000 47%,#000 55%,rgba(0,0,0,.46) 61%,rgba(0,0,0,.10) 67%,transparent 72%);mask-image:linear-gradient(to bottom,transparent 32%,rgba(0,0,0,.08) 37%,rgba(0,0,0,.42) 42%,#000 47%,#000 55%,rgba(0,0,0,.46) 61%,rgba(0,0,0,.10) 67%,transparent 72%)}
.hero-optic::before{content:"";position:absolute;z-index:2;inset:0;background:linear-gradient(90deg,rgba(3,4,4,.96) 0,rgba(3,4,4,.82) 30%,rgba(3,4,4,.32) 54%,rgba(3,4,4,.04) 75%),linear-gradient(180deg,rgba(3,4,4,.28),transparent 34%,transparent 72%,rgba(3,4,4,.7))}
.hero-optic::after{content:"";position:absolute;z-index:3;inset:0;background:radial-gradient(ellipse 19% 9% at 66% 52%,rgba(245,246,244,.10),transparent 74%);mix-blend-mode:screen}
.hero__in{position:relative;min-height:94svh;display:flex;flex-direction:column;justify-content:center;padding-top:clamp(108px,14vh,140px);padding-bottom:clamp(30px,5vh,48px)}
.hero__copy{max-width:640px}
.hero__title{font-family:'Geologica',system-ui,sans-serif;font-size:clamp(3.2rem,5vw,5.6rem);font-weight:570;line-height:.91;letter-spacing:-.035em;text-wrap:balance}
.hero__title span{display:block}
.hero__pitch{margin-top:clamp(32px,4.5vh,44px);padding-top:0;border-top:0}
.hero__pitch>p{max-width:38ch;color:var(--color-soft);font-size:clamp(1rem,1.25vw,1.14rem);line-height:1.55}
.hero__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}

/* ---------- Section headings ---------- */
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:clamp(32px,6vw,100px);margin-bottom:clamp(44px,6vw,82px)}
.section h2{font-size:clamp(2.8rem,6vw,6.5rem);line-height:.9;letter-spacing:-.035em;text-wrap:balance}
.section-head__lead{max-width:46ch;padding-bottom:.35em;color:var(--color-soft);font-size:1rem;line-height:1.6}

/* ---------- Selected cases ---------- */
.selected-work{position:relative;isolation:isolate;overflow:hidden;background:#050505}
.selected-work::before{content:"";position:absolute;z-index:-1;inset:7% -16% auto 22%;height:36%;background:radial-gradient(ellipse at center,rgba(255,255,255,.045),transparent 69%);pointer-events:none}
.selected-work .section-head{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.65fr);align-items:end;gap:clamp(32px,4vw,64px);margin-bottom:clamp(38px,4.5vw,64px)}
.services .section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.55fr);align-items:end;gap:clamp(44px,7vw,112px)}
.selected-work .section-head h2{max-width:none;font-family:'Onest',system-ui,sans-serif;font-size:clamp(3rem,5.6vw,5.8rem);font-weight:580;line-height:.92;letter-spacing:-.035em}
.selected-work .section-head__lead{max-width:39ch;justify-self:end}
.case-feature{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);min-height:clamp(520px,42vw,650px);border-top:1px solid var(--color-line-strong)}
.case-feature+.case-feature{margin-top:clamp(48px,7vw,104px)}
.case-feature--reverse{grid-template-columns:minmax(300px,.55fr) minmax(0,1.45fr);min-height:0}
.case-feature--reverse .case-feature__media{grid-column:2;grid-row:1}
.case-feature--reverse .case-feature__body{grid-column:1;grid-row:1;border-right:1px solid var(--color-line);border-left:0;padding-left:0;padding-right:clamp(24px,3.5vw,52px)}
.case-feature__media{position:relative;overflow:hidden;min-height:clamp(520px,42vw,650px);border-radius:0 0 var(--radius-panel) var(--radius-panel);background:var(--color-raised)}
.case-feature__media img{width:100%;height:100%;object-fit:cover;object-position:top center;filter:none;transition:filter .15s var(--ease)}
.case-feature__media--full-frame{align-self:start;min-height:0;aspect-ratio:16/10}
.case-feature__media--full-frame img{object-fit:contain;object-position:center}
.case-feature__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 68%,rgba(0,0,0,.32));pointer-events:none}
.case-feature__open{position:absolute;z-index:2;right:18px;bottom:18px;display:inline-flex;min-height:44px;align-items:center;padding:10px 14px;border:1px solid rgba(255,255,255,.34);border-radius:10px;background:rgba(5,5,5,.7);font-size:.82rem;backdrop-filter:blur(10px);transition:border-color .15s var(--ease),background .15s var(--ease)}
.case-feature__media:hover .case-feature__open{border-color:rgba(255,255,255,.68);background:rgba(5,5,5,.84)}
.case-feature__body{display:flex;min-width:0;flex-direction:column;justify-content:space-between;padding:26px 0 18px clamp(24px,3.5vw,52px);border-left:1px solid var(--color-line)}
.case-feature__top{display:flex;justify-content:space-between;gap:18px;color:var(--color-steel);font-size:.69rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}
.case-feature__body>div:last-child{margin-top:auto}
.case-feature__body h3{margin-bottom:18px;font-family:'Onest',system-ui,sans-serif;font-size:clamp(3rem,4.4vw,4.8rem);font-weight:570;line-height:.9;letter-spacing:-.035em}
.case-feature__body p{max-width:37ch;color:var(--color-soft);line-height:1.6}
@media(min-width:861px){
  .selected-work .section-head h2 span{display:block}
  .case-feature__body{display:grid;grid-template-rows:auto 1fr}
  .case-feature__body>div:last-child{align-self:center;margin-top:0}
}
@media(hover:hover){.case-feature__media:hover img{filter:brightness(1.05)}}

/* ---------- Services ---------- */
.services{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(145deg,#080909,#050505 68%,#080909)}
.services::before{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(ellipse 48% 34% at 50% 53%,rgba(255,255,255,.045),transparent 72%);pointer-events:none}
.services .section-head h2{font-family:'Onest',system-ui,sans-serif;font-size:clamp(3rem,5.6vw,5.8rem);font-weight:580;line-height:.92;letter-spacing:-.035em}
.capability-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--color-line-strong);border-left:1px solid var(--color-line)}
.capability-card{position:relative;isolation:isolate;display:block;min-height:344px;overflow:hidden;padding:25px 27px 26px;border-right:1px solid var(--color-line);border-bottom:1px solid var(--color-line);background:rgba(7,8,8,.62);transition:background .15s var(--ease),border-color .15s var(--ease)}
.capability-card::before{content:"";position:absolute;z-index:-1;inset:0;opacity:0;background:radial-gradient(circle at 78% 76%,rgba(255,255,255,.10),transparent 42%),linear-gradient(120deg,rgba(255,255,255,.035),transparent 50%);transition:opacity .15s var(--ease)}
.capability-card:hover{border-color:rgba(255,255,255,.28);background:#0D0F10}
.capability-card:hover::before{opacity:1}
.capability-card__top{display:flex;align-items:center;justify-content:space-between;color:var(--color-steel);font-size:.66rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}
.capability-card__top>span:last-child{font-size:1rem;transition:color .15s var(--ease),transform .15s var(--ease)}
.capability-card:hover .capability-card__top>span:last-child{color:var(--color-ink);transform:translate(2px,-2px)}
.capability-card__copy{position:relative;z-index:4;display:block;max-width:66%;margin-top:clamp(54px,5vw,70px)}
.capability-card__copy h3{margin-bottom:13px;font-family:'Onest',system-ui,sans-serif;font-size:clamp(2.1rem,3.25vw,3.2rem);font-weight:570;line-height:.96;letter-spacing:-.035em}
.capability-card__copy>span{display:block;max-width:40ch;color:#AEB3B5;font-size:.85rem;line-height:1.55}
.capability-tags{position:absolute;z-index:5;right:27px;bottom:25px;left:27px;display:flex;flex-wrap:wrap;gap:6px}
.capability-tags>span{padding:6px 8px;border:1px solid var(--color-line);border-radius:999px;color:#8D9497;font-size:.62rem}
.capability-diagram{position:absolute;z-index:2;top:72px;right:22px;display:block;width:31%;height:156px;color:rgba(255,255,255,.22);transition:color .15s var(--ease)}
.capability-card:hover .capability-diagram{color:rgba(255,255,255,.36)}
.capability-diagram i{position:absolute;display:block}
.web-frame{inset:10px 0 16px;border:1px solid currentColor;border-radius:8px;transform:rotate(-2deg)}
.web-frame::before{content:"";position:absolute;top:18px;right:0;left:0;height:1px;background:currentColor}
.web-frame::after{content:"";position:absolute;top:42px;right:35%;left:11px;height:43px;border:1px solid currentColor;border-radius:4px}
.web-cursor{right:15px;bottom:4px;width:26px;height:34px;border-left:1px solid currentColor;transform:rotate(-35deg)}
.web-cursor::after{content:"";position:absolute;bottom:0;left:-1px;width:19px;height:1px;background:currentColor;transform:rotate(52deg);transform-origin:left}
.soft-panel{inset:0;border:1px solid currentColor;border-radius:8px}
.soft-panel::before{content:"";position:absolute;top:0;bottom:0;left:0;width:27%;border-right:1px solid currentColor}
.soft-panel::after{content:"";position:absolute;top:21%;right:8%;left:34%;height:25%;border:1px solid currentColor;border-radius:4px;box-shadow:0 50px 0 -1px #090A0B,0 50px 0 0 currentColor}
.soft-dots{top:15%;left:7%;width:5px;height:5px;border-radius:50%;background:currentColor;box-shadow:0 17px currentColor,0 34px currentColor}
.auto-node{width:34px;height:34px;border:1px solid currentColor;border-radius:50%}
.auto-node--a{top:5%;left:3%}.auto-node--b{top:43%;right:4%}.auto-node--c{bottom:2%;left:18%;border-radius:7px}
.auto-line{height:1px;background:currentColor;transform-origin:left}.auto-line--a{top:19%;left:23%;width:72%;transform:rotate(20deg)}.auto-line--b{top:67%;left:36%;width:52%;transform:rotate(-24deg)}
.auto-pulse{top:50%;right:0;left:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.7),transparent);box-shadow:0 4px 18px rgba(255,255,255,.22)}
.telegram-phone{top:0;left:17%;width:60%;height:100%;border:1px solid currentColor;border-radius:18px}
.telegram-phone::before{content:"";position:absolute;top:18%;right:17%;left:17%;height:22px;border:1px solid currentColor;border-radius:10px;box-shadow:18px 38px 0 -1px #090A0B,18px 38px 0 0 currentColor,-5px 76px 0 -1px #090A0B,-5px 76px 0 0 currentColor}
.telegram-orbit{right:1%;bottom:4%;width:48px;height:48px;border:1px solid currentColor;border-radius:50%}
.capability-statement{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:28px;padding-top:24px;border-top:1px solid var(--color-line-strong)}
.capability-statement b{font-family:'Onest',system-ui,sans-serif;font-size:clamp(1.35rem,2vw,2rem);font-weight:560;letter-spacing:-.025em}
.capability-statement span{max-width:450px;color:var(--color-steel);font-size:.82rem;line-height:1.55;text-align:right}

/* ---------- Contact ---------- */
.contact{position:relative;overflow:hidden;background:linear-gradient(135deg,#F5F5F1 0,#EBECE7 100%);color:#080909}
.contact :focus-visible{outline-color:#080909;outline-width:3px}
.contact__in{display:grid;grid-template-columns:minmax(0,1fr) minmax(480px,.92fr);gap:clamp(48px,7vw,112px);align-items:stretch}
.contact__intro{display:flex;min-width:0;flex-direction:column;justify-content:space-between;gap:clamp(36px,5vw,72px)}
.contact h2{max-width:9ch;font-size:clamp(3.2rem,6vw,6rem);font-weight:560}
.contact__intro p{max-width:42ch;color:#555A5D;font-size:clamp(.98rem,1.2vw,1.1rem);line-height:1.6}
.contact__channels{align-self:center;border-top:1px solid rgba(8,9,9,.24)}
.contact__channel{position:relative;isolation:isolate;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(16px,2vw,26px);min-height:132px;padding:20px 4px;border-bottom:1px solid rgba(8,9,9,.24);overflow:hidden;transition:color .32s var(--ease),border-color .32s var(--ease)}
.contact__channel::before{content:"";position:absolute;z-index:-1;inset:0;background:#080909;transform:scaleX(0);transform-origin:right center;transition:transform .42s var(--ease)}
.contact__channel-icon{display:grid;width:clamp(48px,4vw,58px);height:clamp(48px,4vw,58px);place-items:center;border:1px solid rgba(8,9,9,.3);border-radius:50%;background:#080909;color:#F1F1ED;transition:color .32s var(--ease),background-color .32s var(--ease),border-color .32s var(--ease),transform .32s var(--ease)}
.contact__channel-icon svg{width:50%;height:50%}
.contact__channel--telegram .contact__channel-icon svg{transform:translate(-1px,1px)}
.contact__channel--email .contact__channel-icon svg{fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.contact__channel-copy{display:flex;min-width:0;flex-direction:column;gap:7px}
.contact__channel-label{color:#626769;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;transition:color .32s var(--ease)}
.contact__channel-value{overflow-wrap:anywhere;font-family:'Geologica',system-ui,sans-serif;font-size:clamp(1.45rem,2.4vw,2.55rem);font-weight:580;line-height:1;letter-spacing:-.03em}
.contact__channel--email .contact__channel-value{overflow-wrap:normal;font-size:clamp(1.12rem,1.75vw,1.85rem)}
.contact__channel-arrow{display:grid;width:34px;height:34px;place-items:center}
.contact__channel-arrow svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transition:transform .28s var(--ease)}
.contact__channel:focus-visible{outline-offset:5px}
@media(hover:hover){
  .contact__channel:hover{border-color:#080909;color:#F1F1ED}
  .contact__channel:hover::before{transform:scaleX(1);transform-origin:left center}
  .contact__channel:hover .contact__channel-icon{border-color:#F1F1ED;background:#F1F1ED;color:#080909;transform:rotate(-6deg)}
  .contact__channel:hover .contact__channel-label{color:#B7BBBC}
  .contact__channel:hover .contact__channel-arrow svg{transform:translate(4px,-4px)}
}

.foot{padding-block:26px;border-top:1px solid var(--color-line);background:var(--color-bg)}
.foot__in{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;color:var(--color-steel);font-size:.82rem}

/* ---------- Case pages ---------- */
.case-hero{padding-top:clamp(130px,18vh,190px);padding-bottom:clamp(70px,9vw,120px);border-bottom:1px solid var(--color-line)}
.case-hero h1{max-width:1100px;font-size:clamp(3.4rem,8vw,7.8rem);font-weight:580;line-height:.9;letter-spacing:-.04em}
.back{display:inline-flex;align-items:center;gap:.45em;margin-bottom:clamp(24px,3vw,40px);color:var(--color-steel);font-size:.92rem}
.case-title{max-width:16ch}
.case-lead{margin-top:clamp(18px,2.2vw,28px)}
.case-meta{display:flex;flex-wrap:wrap;gap:9px;margin-top:28px;color:var(--color-steel)}
.case-meta>div{flex:1 1 160px;padding-top:18px;border-top:1px solid var(--color-line)}
.case-meta dt{margin-bottom:.4em;color:var(--color-steel);font-size:.82rem}
.case-meta dd{margin:0;color:var(--color-ink);font-family:'Geologica',system-ui,sans-serif;font-size:1.02rem;font-weight:580}
.case-section{padding-block:clamp(70px,9vw,120px);border-bottom:1px solid var(--color-line)}
.case-section img{width:100%;border:1px solid var(--color-line);border-radius:var(--radius-panel);filter:saturate(.45)}
.case-section .case-shot{overflow:visible;border:0;background:transparent}
.case-shot{overflow:hidden;margin-bottom:clamp(14px,1.8vw,24px);border:1px solid var(--color-line);border-radius:var(--radius-panel);background:var(--color-surface)}
.case-cap{margin:-.4em 0 clamp(34px,4vw,56px);color:var(--color-steel);font-size:.9rem}
.case-cols{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,4.6vw,72px);margin-bottom:clamp(46px,6vw,86px)}
.case-cols--last{margin-bottom:0}
.case-cols h3{margin-bottom:.7em}
.case-cols p+p{margin-top:1em}
.case-cols .case-mobile-proof{margin-top:clamp(18px,2vw,28px);color:var(--color-steel);font-size:.84rem;line-height:1.5}
.case-two{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,1.8vw,24px);align-items:start}
.case-next{padding-block:clamp(40px,5vw,64px);border-top:1px solid var(--color-line)}
.case-next a{display:inline-flex;align-items:center;gap:.5em;font-family:'Geologica',system-ui,sans-serif;font-size:clamp(1.1rem,1.8vw,1.5rem);font-weight:580;letter-spacing:-.02em}
.case-contact{padding-block-start:var(--section-space-top);padding-block-end:var(--section-space);text-align:center}
.case-contact h2{font-size:clamp(2.35rem,5vw,5.5rem);line-height:.96;letter-spacing:-.035em}
.case-contact p{max-width:560px;margin:24px auto;color:var(--color-soft)}
.case-contact__telegram{gap:.55em}
.case-contact__telegram svg{width:1.25em;height:1.25em;flex:none;transform:translateY(1px)}

/* Content stays visible by default. Native Web Animations supplies transient start states. */
[data-reveal-line]{display:block;overflow:visible}
[data-reveal-line]>span{display:block}

@media (prefers-reduced-transparency:reduce){.nav{background:var(--color-bg);backdrop-filter:none}}

@media(max-width:860px){
  .nav{position:relative;height:auto}
  .nav__in{flex-wrap:wrap;padding-block:12px}
  .nav__burger{display:none}
  .nav__links{position:static;order:3;width:100%;flex-direction:column;align-items:flex-start;gap:0;padding:8px var(--gut) 24px;border-top:1px solid var(--color-line);transform:none;opacity:1;pointer-events:auto}
  .nav__links a:not(.nav__contact){width:100%;padding:14px 0;border-bottom:1px solid var(--color-line);font-size:1.02rem}
  html.js .nav{position:fixed;height:68px}
  html.js .nav__in{flex-wrap:nowrap;padding-block:0}
  html.js .nav__burger{display:block;margin-left:auto}
  html.js .nav__links{position:fixed;z-index:50;inset:68px 0 auto;width:auto;order:initial;padding:8px var(--gut) 24px;border-top:0;border-bottom:1px solid var(--color-line);background:rgba(8,9,9,.98);transform:translateY(-8px);opacity:0;pointer-events:none;transition:opacity .25s var(--ease),transform .25s var(--ease)}
  html.js .nav.is-open .nav__links{opacity:1;transform:none;pointer-events:auto}
  .section-head{flex-direction:column;align-items:flex-start}
  .section-head>*{max-width:100%}
  .selected-work .section-head,.services .section-head{grid-template-columns:1fr;gap:24px}
  .selected-work .section-head h2,.services .section-head h2{max-width:14ch}
  .case-feature,.case-feature--reverse{grid-template-columns:1fr;min-height:0}
  .case-feature__media,.case-feature--reverse .case-feature__media{grid-column:1;grid-row:1;min-height:0;aspect-ratio:16/10}
  .case-feature__body,.case-feature--reverse .case-feature__body{grid-column:1;grid-row:2;min-height:0;padding:24px 0 clamp(54px,8vw,74px);border:0}
  .case-feature__body>div:last-child{margin-top:clamp(50px,8vw,72px)}
  .capability-grid{grid-template-columns:1fr}
  .capability-card__copy{max-width:64%}
  .capability-statement{align-items:flex-start;flex-direction:column}
  .capability-statement span{text-align:left}
  .contact__in{grid-template-columns:1fr}
  .contact__intro{gap:30px}
  .contact__intro p{max-width:48ch}
  .contact__channels{width:100%}
  .case-cols,.case-two{grid-template-columns:1fr}
}

@media(max-width:760px){
  .hero,.hero__in{min-height:100svh}
  .hero__in{justify-content:flex-start;padding-top:108px;padding-bottom:24px}
  .hero__title{font-size:clamp(2.9rem,11vw,4.4rem);line-height:.94;letter-spacing:-.03em}
  .hero-optic__poster{inset-inline-start:0;width:100%;object-position:44% center;opacity:.94;filter:grayscale(1) contrast(1.72) brightness(.67);-webkit-mask-image:linear-gradient(to bottom,transparent 39%,rgba(0,0,0,.06) 43%,rgba(0,0,0,.36) 47%,#000 51%,#000 58%,rgba(0,0,0,.36) 62%,rgba(0,0,0,.06) 67%,transparent 71%);mask-image:linear-gradient(to bottom,transparent 39%,rgba(0,0,0,.06) 43%,rgba(0,0,0,.36) 47%,#000 51%,#000 58%,rgba(0,0,0,.36) 62%,rgba(0,0,0,.06) 67%,transparent 71%)}
  .hero-signal__video{inset-inline-start:0;width:100%;object-position:44% center;opacity:.94;filter:grayscale(1) contrast(1.72) brightness(.67);-webkit-mask-image:linear-gradient(to bottom,transparent 39%,rgba(0,0,0,.06) 43%,rgba(0,0,0,.36) 47%,#000 51%,#000 58%,rgba(0,0,0,.36) 62%,rgba(0,0,0,.06) 67%,transparent 71%);mask-image:linear-gradient(to bottom,transparent 39%,rgba(0,0,0,.06) 43%,rgba(0,0,0,.36) 47%,#000 51%,#000 58%,rgba(0,0,0,.36) 62%,rgba(0,0,0,.06) 67%,transparent 71%)}
  .hero-optic::before{background:linear-gradient(180deg,rgba(3,4,4,.7),rgba(3,4,4,.42) 42%,rgba(3,4,4,.78))}
  .hero__pitch{margin-top:28px}
  .hero__actions{align-items:stretch;flex-direction:column}
  .section h2{font-size:clamp(2.7rem,12vw,4.8rem)}
  .case-feature__body,.case-feature--reverse .case-feature__body{min-height:0}
  .case-feature__body h3{font-size:clamp(2.8rem,14vw,4.6rem)}
  .capability-card{min-height:360px;padding:23px 20px 24px}
  .capability-card__copy{max-width:68%;margin-top:48px}
  .capability-card__copy h3{font-size:clamp(1.9rem,9vw,2.65rem)}
  .capability-card:nth-child(3) .capability-card__copy h3{font-size:clamp(1.75rem,8vw,2.35rem)}
  .capability-card__copy>span{font-size:.82rem}
  .capability-diagram{top:74px;right:18px;width:29%;height:126px}
  .capability-tags{right:20px;bottom:23px;left:20px}
  .contact h2{font-size:clamp(3rem,14vw,5.2rem)}
  .contact__in{gap:44px}
  .contact__channel{min-height:112px;padding-block:16px}
  .contact__channel-value{font-size:clamp(1.4rem,7vw,2rem)}
  .contact__channel--email .contact__channel-value{font-size:clamp(.9rem,3.8vw,1.12rem);letter-spacing:-.02em}
  .contact__channel-arrow{width:28px}
  .case-hero h1{font-size:clamp(2.25rem,12vw,4rem)}
  .nav--case{position:fixed;height:auto}
  .nav--case .nav__in{flex-wrap:wrap;padding-block:10px}
  .nav--case .case-nav{width:100%;justify-content:space-between}
}

@media(max-width:520px){
  .case-nav{gap:10px}
  .case-nav>a:first-child{font-size:.86rem}
  .nav__contact{padding:.52em .7em;font-size:.8rem}
  .case-meta>div{flex-basis:calc(50% - 5px)}
  .capability-card{min-height:380px}
  .capability-card__copy{max-width:74%}
  .capability-diagram{width:25%;height:112px}
}

@media(max-width:360px){.section h2{font-size:2.25rem}}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .hero-signal__video{display:none}
  .hero-optic__poster{display:block}
}

@media(forced-colors:active){.btn,.nav__contact{border:1px solid ButtonText}.skip-link{border:2px solid ButtonText}}
