/* Atypisch site v2 — shared chrome + theme layer for all pages */
:root{--s2-ink:#06101a;--s2-grad:linear-gradient(95deg,#26a69a 0%,#5c6bc0 45%,#8e24aa 70%,#e91e63 100%);--s2-ease:cubic-bezier(.2,.75,.15,1);--s2-pad:clamp(20px,4vw,56px)}
.s2-mono{font-family:var(--atyp-font-mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}

/* ── Header ── */
.s2-nav{position:fixed;top:0;left:0;right:0;z-index:10000;padding:18px 0;transition:padding .4s var(--s2-ease),background .4s,border-color .4s,backdrop-filter .4s;border-bottom:1px solid transparent}
.s2-nav__in{margin:0;padding:0 var(--s2-pad);display:flex;align-items:center;gap:clamp(16px,2.4vw,40px)}
.s2-nav__brand{flex:none;display:flex;align-items:center;min-height:44px}
.s2-nav__brand img{height:24px;width:auto;display:block;filter:brightness(0) invert(1);transition:height .4s var(--s2-ease)}
.s2-nav__links{display:flex;align-items:center;gap:clamp(4px,1vw,14px);margin-left:auto}
.s2-nav__links a{position:relative;color:rgba(255,255,255,.72);text-decoration:none;font-family:var(--atyp-font-heading);font-size:.92rem;padding:10px 8px;transition:color .25s;white-space:nowrap}
.s2-nav__links a::after{content:"";position:absolute;left:8px;right:8px;bottom:4px;height:1px;background:var(--atyp-teal,#2dd4bf);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--s2-ease)}
.s2-nav__links a:hover,.s2-nav__links a.is-current{color:#fff}
.s2-nav__links a:hover::after,.s2-nav__links a.is-current::after{transform:scaleX(1)}
.s2-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:0 18px;border-radius:10px;font-family:var(--atyp-font-heading);font-weight:600;font-size:.9rem;text-decoration:none;border:1px solid transparent;transition:background .3s,color .3s,border-color .3s;white-space:nowrap}
.s2-btn--light{background:#fff;color:var(--s2-ink);border-color:#fff}.s2-btn--light:hover{background:var(--atyp-teal,#2dd4bf);border-color:var(--atyp-teal,#2dd4bf);color:#04120f}
.s2-btn--line{color:#fff;border-color:rgba(255,255,255,.3)}.s2-btn--line:hover{border-color:#fff;background:rgba(255,255,255,.06)}
.s2-btn span{transition:transform .5s var(--s2-ease)}.s2-btn:hover span{transform:translateX(4px)}
.s2-nav__cta{flex:none}
.s2-burger{display:none;flex:none;width:44px;height:44px;margin-left:auto;border-radius:10px;border:1px solid rgba(255,255,255,.22);background:transparent;cursor:pointer;position:relative;color:#fff}
.s2-burger i{position:absolute;left:12px;right:12px;height:1.5px;background:currentColor;transition:transform .45s var(--s2-ease),opacity .3s}
.s2-burger i:nth-child(1){top:16px}.s2-burger i:nth-child(2){top:21px}.s2-burger i:nth-child(3){top:26px}
.s2-burger[aria-expanded="true"] i:nth-child(1){transform:translateY(5px) rotate(45deg)}
.s2-burger[aria-expanded="true"] i:nth-child(2){opacity:0}
.s2-burger[aria-expanded="true"] i:nth-child(3){transform:translateY(-5px) rotate(-45deg)}
.s2-nav.is-scrolled,.s2-nav.is-open{padding:8px 0;background:rgba(6,16,26,.8);backdrop-filter:saturate(160%) blur(16px);-webkit-backdrop-filter:saturate(160%) blur(16px);border-bottom-color:rgba(255,255,255,.08)}
.s2-nav.is-scrolled .s2-nav__brand img{height:19px}
@media (max-width:1080px){.s2-nav__links{display:none}.s2-burger{display:block}.s2-nav__cta{margin-left:auto}.s2-burger{margin-left:0}}
@media (max-width:520px){.s2-nav__cta{display:none}.s2-burger{margin-left:auto}}

/* ── Drawer ── */
.s2-drawer{position:fixed;inset:0;z-index:9999;background:var(--s2-ink);color:#fff;display:flex;flex-direction:column;padding:96px var(--s2-pad) calc(28px + env(safe-area-inset-bottom));overflow-y:auto;clip-path:inset(0 0 100% 0);transition:clip-path .7s var(--s2-ease),visibility 0s linear .7s;visibility:hidden;isolation:isolate}
.s2-drawer .aurora{opacity:.45;z-index:-1}
.s2-drawer.is-open{clip-path:inset(0 0 0 0);visibility:visible;transition:clip-path .7s var(--s2-ease),visibility 0s}
.s2-drawer__nav{display:flex;flex-direction:column;border-top:1px solid rgba(255,255,255,.12)}
.s2-drawer__nav a{display:flex;align-items:baseline;gap:16px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.12);color:#fff;text-decoration:none;font-family:var(--atyp-font-hero);font-weight:600;font-size:clamp(1.8rem,8vw,3rem);letter-spacing:-.04em;line-height:1.05;opacity:0;transform:translateY(24px);transition:opacity .5s,transform .7s var(--s2-ease),color .25s}
.s2-drawer__nav a small{font-family:var(--atyp-font-mono);font-size:.7rem;letter-spacing:.12em;color:var(--atyp-teal,#2dd4bf);font-weight:400;min-width:2.2em}
.s2-drawer__nav a.is-current{color:var(--atyp-teal,#2dd4bf)}
.s2-drawer.is-open .s2-drawer__nav a{opacity:1;transform:none;transition-delay:calc(.12s + var(--i)*.05s)}
.s2-drawer__foot{margin-top:auto;padding-top:32px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;color:rgba(255,255,255,.6);opacity:0;transition:opacity .5s .4s}
.s2-drawer.is-open .s2-drawer__foot{opacity:1}
.s2-drawer__foot a{color:#fff}
body.s2-locked{overflow:hidden}

/* ── Footer ── */
.s2-foot{position:relative;display:block;width:100%;margin:0;background:var(--s2-ink);color:rgba(255,255,255,.6);overflow:hidden;isolation:isolate;clear:both}
.s2-foot__cta{position:relative;isolation:isolate;overflow:hidden;width:100%;padding:clamp(88px,12vw,160px) var(--s2-pad) clamp(56px,7vw,96px);margin:0;display:flex;flex-direction:column;gap:clamp(24px,3vw,40px)}
.s2-foot__cta .aurora{z-index:-1;opacity:.55;background:transparent}
.s2-foot__big{margin:0;color:#fff;font-family:var(--atyp-font-hero);font-weight:600;font-size:clamp(2.6rem,6.4vw,6rem);line-height:1;letter-spacing:-.045em}
.s2-foot__big em{font-style:normal;background:var(--s2-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.s2-foot__row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px}
.s2-foot__row p{margin:0;max-width:44ch;line-height:1.6;color:rgba(255,255,255,.8)!important}
.s2-foot__mail{font-family:var(--atyp-font-hero);font-weight:500;font-size:clamp(1.15rem,2vw,1.6rem);letter-spacing:-.02em;color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.3);padding-bottom:3px}
.s2-foot__mail:hover{color:var(--atyp-teal,#2dd4bf);border-color:currentColor}
.s2-foot__grid{width:100%;margin:0;padding:clamp(48px,6vw,72px) var(--s2-pad) 0;display:grid;grid-template-columns:1fr;gap:36px;border-top:1px solid rgba(255,255,255,.08)}
@media (min-width:760px){.s2-foot__grid{grid-template-columns:2fr repeat(3,1fr);gap:48px}}
.s2-foot__grid img{height:24px;width:auto;filter:brightness(0) invert(1);opacity:.9;display:block;margin-bottom:16px}
.s2-foot__grid p{margin:0;max-width:40ch;line-height:1.55;color:rgba(255,255,255,.82)!important}
.s2-foot__grid h4{margin:0 0 14px;font-family:var(--atyp-font-mono);font-size:.7rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--atyp-teal,#2dd4bf)}
.s2-foot__grid h4::before{content:"// ";opacity:.7}
.s2-foot__grid ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.s2-foot__grid a{color:rgba(255,255,255,.72);text-decoration:none;display:inline-block;padding:5px 0;transition:color .2s}
.s2-foot__grid a:hover{color:#fff}
.s2-foot__bottom{width:100%;margin:0;padding:40px var(--s2-pad) calc(28px + env(safe-area-inset-bottom));display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:.85rem;color:rgba(255,255,255,.45)}

/* ── Theme layer for existing page components ── */
.dark-hero,.page-hero,.work-hero,.case-stage{position:relative;isolation:isolate;background:var(--s2-ink)!important;color:#fff;overflow:hidden}
.dark-hero>.aurora,.page-hero>.aurora,.work-hero>.aurora{z-index:-1;opacity:.6}
.work-hero__wash{display:none}
.page-hero{padding:clamp(150px,20vh,210px) 0 clamp(64px,9vw,110px)}
.page-hero h1,.dark-hero h1,.work-hero h1,.case-stage h1{color:#fff!important;font-family:var(--atyp-font-hero);font-weight:600!important;font-size:clamp(2.6rem,6.4vw,6rem)!important;line-height:.98!important;letter-spacing:-.045em!important;text-wrap:balance}
.page-hero h1::after,.dark-hero h1::after,.work-hero h1::after,.case-stage h1::after{content:"";display:inline-block;width:.06em;height:.74em;margin-left:.08em;background:var(--atyp-teal,#2dd4bf);vertical-align:-.02em;animation:s2-blink 1.05s steps(1) infinite}
@keyframes s2-blink{50%{opacity:0}}
.page-hero__lead,.dark-hero__lead,.work-hero__lead,.case-stage__tag{color:rgba(255,255,255,.78)!important}
.page-hero__eyebrow,.dark-hero__eyebrow,.case-stage__crumb{color:var(--atyp-teal,#2dd4bf)!important;font-family:var(--atyp-font-mono);letter-spacing:.14em}
.page-hero__eyebrow::before,.dark-hero__eyebrow::before{content:"// "!important;width:auto!important;height:auto!important;background:none!important;opacity:.7;display:inline!important}
.work-stats{border-top-color:rgba(255,255,255,.12)!important}
.work-stats strong{color:#fff!important}.work-stats span{color:rgba(255,255,255,.6)!important}
.dark-hero__specstrip span{color:rgba(255,255,255,.65);white-space:nowrap}
.section__eyebrow{color:#0d9488!important;letter-spacing:.14em}
.section__eyebrow::before{content:"// ";opacity:.7}
.section--ink .section__eyebrow,[style*="#06101a"] .section__eyebrow{color:var(--atyp-teal,#2dd4bf)!important}
.section__title{font-family:var(--atyp-font-hero)!important;font-weight:600!important;font-size:clamp(2rem,3.8vw,3.6rem)!important;line-height:1.02!important;letter-spacing:-.04em!important;text-wrap:balance}
.section__sub{font-size:clamp(1rem,1.2vw,1.1rem)}
/* full-bleed: every container spans the window, padding gives the breathing room */
.shell,.page-hero__inner,.dark-hero__inner,.work-hero__inner,.case-stage__inner,.case-hero__inner,.case-body__inner,.feat-product__inner,.feat-show__inner,.showreel__inner,.next-case__inner,.sol-split__inner,.sol-trust__inner,.cm-fullbleed .cm-caption{max-width:none!important;margin-left:0!important;margin-right:0!important;padding-left:var(--s2-pad)!important;padding-right:var(--s2-pad)!important;width:100%;box-sizing:border-box}
.case-body--single .case-body__inner{max-width:none!important}
.section__head{max-width:none}
.section__head--spread{display:grid}
.section__sub,.page-hero__lead,.dark-hero__lead,.work-hero__lead{max-width:46ch}
body{overflow-x:hidden}
body>section,body>footer,body>header,body>a.next-case{width:100%}
.section{padding:clamp(80px,10vw,140px) 0}
.pill{border-radius:10px!important;min-height:44px;font-family:var(--atyp-font-heading);font-weight:600}
.statement{font-weight:600}

/* split-word reveal */
.s2-split .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
.s2-split .w>i{display:inline-block;font-style:inherit;transform:translate3d(0,105%,0);transition:transform 1.05s var(--s2-ease);transition-delay:calc(var(--i)*40ms)}
.s2-split.is-in .w>i{transform:none}
.s2-up{opacity:0;transform:translate3d(0,32px,0);transition:opacity .9s var(--s2-ease),transform 1s var(--s2-ease)}
.s2-up.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.s2-split .w>i,.s2-up{transform:none!important;opacity:1!important;transition:none}.page-hero h1::after,.dark-hero h1::after,.work-hero h1::after,.case-stage h1::after{animation:none}}
a{color:inherit}
