/* THALAATHA — main stylesheet */
@font-face{font-family:'Inter';src:url(../fonts/inter-latin.woff2) format('woff2');font-weight:100 900;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2190-21FF}
@font-face{font-family:'Inter';src:url(../fonts/inter-latin-ext.woff2) format('woff2');font-weight:100 900;font-display:swap;unicode-range:U+0100-02BA}

:root{
	--cream:#F7F3EC;--cream-2:#EFE9DF;--ink:#12143A;--ink-2:#3B3E6B;--mute:#7A7C9A;--line:rgba(18,20,58,.14);
	--coral:#FF6B4A;--coral-2:#FFD6CB;--sky:#C9D0FF;--sky-2:#E4E8FF;--sky-deep:#5D6CFF;--sun:#FFD54A;--sun-2:#FFF0B8;
	--display:'Inter',system-ui,sans-serif;--body:'Inter',system-ui,sans-serif;
	--wrap:1360px;--gut:clamp(20px,4vw,56px);--r:28px;--ease:cubic-bezier(.22,1,.36,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:auto}
[id]{scroll-margin-top:96px}
html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:hidden}
body{font-family:var(--body);font-size:17px;font-feature-settings:'ss01','cv11';line-height:1.55;color:var(--ink);background:var(--cream);overflow-x:hidden;-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
img,svg{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
ul,ol{list-style:none}
.wrap{width:min(var(--wrap),100% - 2*var(--gut));margin-inline:auto}
::selection{background:var(--sun);color:var(--ink)}
:focus{outline:none}:focus-visible{outline:3px solid var(--sky-deep);outline-offset:3px;border-radius:6px}

/* type */
.h-hero,.h-display,.h-big,.lane-t,.step h3,.value-row h3,.member h3,.card-t,.menu-word{font-family:var(--display);font-weight:600;letter-spacing:-.035em;line-height:1;font-variation-settings:'opsz' 32;font-feature-settings:'ss01','cv11'}
.h-hero{font-size:clamp(44px,6.2vw,96px);line-height:.98}
.h-display{font-size:clamp(46px,7.5vw,120px);line-height:.95}
.h-big{font-size:clamp(32px,4.2vw,64px);line-height:1.02;max-width:20ch}
.eyebrow{font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);margin-bottom:22px;display:flex;align-items:center;gap:10px}
.eyebrow::before{content:'';width:10px;height:10px;border-radius:50%;background:var(--coral);flex:none}
.lead{font-size:clamp(18px,1.5vw,22px);line-height:1.5;color:var(--ink-2);max-width:56ch}
.hl{color:var(--coral);position:relative;display:inline-block}
.prose p{margin-bottom:1.2em;max-width:64ch}
.prose h2,.prose h3{font-family:var(--display);font-weight:600;letter-spacing:-.02em;margin:1.6em 0 .6em;font-size:1.6em;line-height:1.1}
.prose ul{padding-left:1.2em;list-style:disc;margin-bottom:1.2em}
.prose a{text-decoration:underline;text-underline-offset:3px}

/* split-text line masks */
.split .line{overflow:hidden;display:block;padding-bottom:.08em;margin-bottom:-.08em}
.split .line>div{display:block}

/* buttons: pill + arrow circle (reference control) */
.btn{display:inline-flex;align-items:center;gap:0;font-weight:600;font-size:16px;white-space:nowrap;transform:translateZ(0)}
.btn-l{background:var(--sky);color:var(--ink);padding:0 26px;height:56px;display:inline-flex;align-items:center;border-radius:999px 0 0 999px;transition:background .3s}
.btn-c{width:56px;height:56px;border-radius:50%;background:var(--coral);color:#fff;display:inline-flex;align-items:center;justify-content:center;margin-left:-14px;position:relative;overflow:hidden;transition:transform .5s var(--ease)}
.btn-c .arr{width:22px;transition:transform .5s var(--ease)}
.btn:hover .btn-c .arr{transform:translateX(3px)}
.btn:hover .btn-c{transform:rotate(-8deg) scale(1.06)}
.btn-lg .btn-l{height:66px;padding:0 32px;font-size:18px}.btn-lg .btn-c{width:66px;height:66px}
.btn-sm .btn-l{height:46px;padding:0 20px;font-size:14px}.btn-sm .btn-c{width:46px;height:46px}.btn-sm .btn-c .arr{width:18px}
.btn-coral .btn-l{background:var(--coral);color:#fff}.btn-coral .btn-c{background:var(--ink)}
.btn-ink .btn-l{background:var(--ink);color:var(--cream)}.btn-ink .btn-c{background:var(--coral)}
.btn-sun .btn-l{background:var(--sun)}.btn-sun .btn-c{background:var(--ink)}
.arr{width:20px;height:20px}

/* header */
.hdr{position:fixed;inset:0 0 auto;z-index:60;padding:18px 0;transition:transform .5s var(--ease)}
.hdr.is-hidden{transform:translateY(-110%)}
.hdr-in{display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo{display:flex;align-items:center;gap:12px;color:var(--ink)}
.logo svg{width:54px;height:40px;color:var(--ink)}
.logo svg .lp{transform-box:fill-box;transform-origin:center;transition:transform .6s var(--ease)}
.logo:hover svg .lp0{transform:rotate(-14deg)}.logo:hover svg .lp2{transform:translateY(-6%)}.logo:hover svg .lp4{transform:rotate(10deg)}
.logo-word{font-family:var(--display);font-weight:700;font-size:22px;letter-spacing:-.02em}
.hdr-nav{display:flex;gap:6px;position:absolute;left:50%;transform:translateX(-50%);background:rgba(247,243,236,.85);padding:6px;border-radius:999px;border:1px solid var(--line)}
.hdr-link{font-weight:600;font-size:15px;padding:9px 18px;border-radius:999px;position:relative;transition:color .3s}
.hdr-link::before{content:'';position:absolute;inset:0;border-radius:999px;background:var(--ink);transform:scale(.6);opacity:0;transition:.4s var(--ease);z-index:-1}
.hdr-link:hover{color:var(--cream)}.hdr-link:hover::before{transform:scale(1);opacity:1}
.hdr-link.is-active{color:var(--cream)}.hdr-link.is-active::before{transform:scale(1);opacity:1;background:var(--coral)}
.hdr-right{display:flex;align-items:center;gap:14px}
.menu-btn{display:flex;align-items:center;gap:12px;height:46px;padding:0 8px 0 20px;border-radius:999px;background:var(--ink);color:var(--cream);font-weight:600;font-size:14px;position:relative;z-index:71}
.menu-btn-l{position:relative;height:1.2em;overflow:hidden;width:44px}
.menu-btn-l span{position:absolute;left:0;top:0;transition:transform .5s var(--ease)}
.menu-btn-l span:last-child{transform:translateY(120%)}
.menu-open .menu-btn-l span:first-child{transform:translateY(-120%)}.menu-open .menu-btn-l span:last-child{transform:none}
.menu-dots{width:32px;height:32px;border-radius:50%;background:var(--coral);position:relative;display:block}
.menu-dots i{position:absolute;left:50%;top:50%;width:5px;height:5px;margin:-2.5px;border-radius:50%;background:#fff;transition:.5s var(--ease)}
.menu-dots i:nth-child(1){transform:translateX(-8px)}.menu-dots i:nth-child(3){transform:translateX(8px)}
.menu-open .menu-dots i:nth-child(1){transform:rotate(45deg);width:18px;border-radius:3px;margin-left:-9px}
.menu-open .menu-dots i:nth-child(3){transform:rotate(-45deg);width:18px;border-radius:3px;margin-left:-9px}
.menu-open .menu-dots i:nth-child(2){opacity:0;transform:scale(0)}
.menu-open .menu-btn{background:var(--cream);color:var(--ink)}
/* while the menu is open the header must sit ABOVE the overlay (its z-index forms a stacking context, so z-index on the button alone never escaped it) */
body.menu-visible .hdr{z-index:72;transform:none}
body.menu-open .hdr-nav,body.menu-open .hdr-right .btn{visibility:hidden}
body.menu-open .logo,body.menu-open .logo svg{color:var(--cream)}
body.menu-open .menu-btn{box-shadow:0 0 0 2px var(--cream)}
body.menu-open .menu-dots{background:var(--coral)}

/* full-screen menu */
.menu{position:fixed;inset:0;z-index:70;visibility:hidden;pointer-events:none;color:var(--cream)}
.menu.is-open{visibility:visible;pointer-events:auto}
.menu-bg{position:absolute;inset:0;background:var(--ink);clip-path:circle(0 at calc(100% - 60px) 40px)}
.menu-strokes{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.menu-strokes svg{position:absolute;width:min(56vw,780px);height:auto;right:17vw;top:44%;transform:translateY(-50%);overflow:visible;opacity:.95}
.menu-strokes .lp{transform-box:fill-box;transform-origin:center}
.menu-strokes .lp0{color:var(--coral)}.menu-strokes .lp1{color:var(--sun)}.menu-strokes .lp2{color:var(--sky)}.menu-strokes .lp3{color:var(--coral)}.menu-strokes .lp4{color:var(--sun)}
.menu-in{position:relative;height:100%;display:grid;grid-template-columns:1fr auto;align-items:end;padding:120px 0 90px;gap:40px}
.menu-links{display:flex;flex-direction:column;gap:2px;position:relative;z-index:2}
.menu-link{display:grid;grid-template-columns:44px auto 1fr;align-items:baseline;gap:18px;padding:6px 0;overflow:hidden}
.menu-num{font-size:13px;font-weight:600;letter-spacing:.1em;color:var(--sky);opacity:.7}
.menu-word{font-size:clamp(44px,8vw,116px);font-weight:600;letter-spacing:-.035em;line-height:.95;display:block;transition:color .3s,transform .6s var(--ease)}
.menu-sub{font-size:14px;color:var(--sky);opacity:.7;transform:translateY(-6px);align-self:end;white-space:nowrap}
.menu-link:hover .menu-word,.menu-link.is-current .menu-word{transform:translateX(18px)}
.menu-link-coral:hover .menu-word{color:var(--coral)}.menu-link-sun:hover .menu-word{color:var(--sun)}.menu-link-sky:hover .menu-word{color:var(--sky)}
/* current page: coloured word, bright number, "you are here" dot */
.menu-link-coral.is-current .menu-word{color:var(--coral)}.menu-link-sun.is-current .menu-word{color:var(--sun)}.menu-link-sky.is-current .menu-word{color:var(--sky)}
.menu-link.is-current .menu-num{color:var(--sun);opacity:1}
.menu-link.is-current .menu-sub{opacity:1;color:#fff}
.menu-link.is-current .menu-sub::before{content:'';display:inline-block;width:8px;height:8px;border-radius:50%;background:currentColor;margin-right:8px;vertical-align:middle}
.menu-aside{position:relative;z-index:2;font-size:15px;line-height:1.6;display:flex;flex-direction:column;gap:18px;color:var(--sky-2);max-width:260px}
.menu-aside a{border-bottom:1px solid rgba(255,255,255,.25)}
.menu-aside-t{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--sun);font-weight:600}
.menu-clock span{font-family:var(--display);font-weight:600;font-size:20px;color:#fff;margin-left:6px}
.menu-social{display:flex;gap:16px}
.menu-ticker{position:absolute;left:0;right:0;bottom:0;padding:16px 0;border-top:1px solid rgba(255,255,255,.12);overflow:hidden;font-family:var(--display);font-weight:600;font-size:15px;letter-spacing:.06em;text-transform:uppercase}

/* ticker */
.ticker{overflow:hidden;padding:18px 0;font-family:var(--display);font-weight:600;font-size:clamp(16px,1.4vw,20px);letter-spacing:.02em;white-space:nowrap}
.ticker-sky{background:var(--sky);color:var(--ink)}
.ticker-track{display:inline-flex;align-items:center;gap:28px;will-change:transform}
.ticker-track em{font-style:normal;font-size:.6em;color:var(--coral)}
.menu-ticker .ticker-track em{color:var(--sun)}

/* loader: the logo assembles, plays, then the page is revealed THROUGH the mark */
.loader{position:fixed;inset:0;z-index:100;background:var(--ink);color:var(--cream)}
.loader.is-revealing{background:transparent}
.loader-svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.loader-mark .lp{opacity:0}
.loader-word{position:absolute;left:0;right:0;top:calc(50% + 96px);text-align:center;font-family:var(--display);font-weight:500;font-size:17px;letter-spacing:.02em;opacity:0;pointer-events:none}

/* ripple transition */
.ripple{position:fixed;inset:0;z-index:90;pointer-events:none;visibility:hidden}
.ripple.is-on{visibility:visible;pointer-events:none}
.ripple i{position:absolute;inset:0;clip-path:circle(0 at var(--rx,50%) var(--ry,50%))}
.r-coral{background:var(--coral)}.r-sun{background:var(--sun)}.r-sky{background:var(--sky)}

/* cursor */
.cursor{position:fixed;left:0;top:0;z-index:95;pointer-events:none}
@media(hover:hover) and (pointer:fine){.js .cursor{display:block}}
.cursor-dot{position:absolute;width:10px;height:10px;margin:-5px;border-radius:50%;background:var(--ink);transition:transform .3s,opacity .3s}
.cursor-ring{position:absolute;width:72px;height:72px;margin:-36px;border-radius:50%;background:var(--sun);color:var(--ink);display:flex;align-items:center;justify-content:center;font-family:var(--display);font-weight:600;font-size:14px;transform:scale(0);transition:transform .45s var(--ease),background .3s}
.cursor.is-view .cursor-ring{transform:scale(1)}.cursor.is-view .cursor-dot{opacity:0}
.cursor.is-link .cursor-dot{transform:scale(2.4);background:var(--coral)}
.cursor.is-hidden{opacity:0}

/* ---------- home ---------- */
.hero{padding:140px 0 0;position:relative}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,5vw,80px);align-items:center;padding-bottom:72px}
.hero-copy .eyebrow{margin-bottom:28px}
.hl-line{display:block;overflow:hidden;padding-bottom:.06em;margin-bottom:-.06em}
.hl-line>*{display:inline}
.pill{display:inline-flex;vertical-align:baseline;height:.72em;border-radius:999px;overflow:hidden;margin:0 .06em;transform:translateY(.02em);position:relative;top:.02em}
.pill-img{width:1.6em;background:var(--sky)}.pill-img img{width:100%;height:100%;object-fit:cover}
.pill-mark{width:1.1em;background:var(--coral);align-items:center;justify-content:center;color:#fff}
.pill-mark svg{width:70%;height:auto}
.swap{display:inline-block;vertical-align:top;height:1em;overflow:hidden;position:relative;color:var(--coral);white-space:nowrap;text-align:left}
.swap-w{display:block;height:1em;line-height:1}
.lead{margin:30px 0 34px}
.starter{display:inline-flex;align-items:center;background:var(--cream-2);border-radius:999px;padding:5px;gap:2px;border:1px solid var(--line);flex-wrap:wrap}
.starter-f{display:flex;align-items:center;gap:10px;padding:0 18px;height:52px;border-radius:999px;position:relative;font-size:15px;font-weight:600;transition:background .3s}
.starter-f:hover{background:#fff}
.starter-f+.starter-f::before{content:'';position:absolute;left:0;top:14px;bottom:14px;width:1px;background:var(--line)}
.starter-i{color:var(--coral);font-size:12px}
.starter-l{color:var(--mute);font-weight:500}
.starter select{appearance:none;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2312143A' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") right center/14px no-repeat;border:0;font:inherit;font-weight:600;color:var(--ink);padding-right:22px;cursor:pointer;outline:0}
.starter .btn{margin-left:6px}
.hero-media{position:relative}
.hero-img{border-radius:var(--r) var(--r) var(--r) 120px;overflow:hidden;aspect-ratio:4/3.4;background:var(--sky)}
.hero-img img{width:100%;height:100%;object-fit:cover;transform:scale(1.12)}
.badge{position:absolute;width:150px;height:150px;left:-40px;top:-40px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff}
.badge-coral{background:var(--coral)}
.badge svg{position:absolute;inset:8px;font-family:var(--display);font-weight:600;font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;fill:currentColor;animation:spin 18s linear infinite}
.badge-c{width:60px;color:#fff}
@keyframes spin{to{transform:rotate(360deg)}}
.chip{position:absolute;font-family:var(--display);font-weight:600;font-size:15px;padding:10px 18px;border-radius:999px;color:var(--ink);letter-spacing:.02em}
.chip-sun{background:var(--sun);right:-16px;top:18%;transform:rotate(8deg)}
.chip-sky{background:var(--sky);right:10%;bottom:-18px;transform:rotate(-6deg)}
.chip-coral{background:var(--coral);color:#fff;left:-26px;bottom:22%;transform:rotate(-10deg)}

.intro{padding:120px 0 100px}
.intro .h-big{max-width:24ch;font-size:clamp(30px,3.6vw,58px)}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:64px;border-top:1px solid var(--line);padding-top:36px}
.stat strong{display:block;font-family:var(--display);font-weight:500;font-size:clamp(48px,6vw,96px);line-height:1;letter-spacing:-.04em}
.stat span{color:var(--ink-2);font-weight:500}

/* lanes */
.lanes{padding:60px 0 120px}
.lanes-head{margin-bottom:48px}
.lanes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;perspective:1600px}
.lane{border-radius:var(--r);padding:34px 30px 30px;min-height:520px;display:flex;flex-direction:column;position:relative;overflow:hidden;transform-style:preserve-3d;transition:transform .6s var(--ease)}
.lane:hover{transform:rotateX(2deg) rotateY(-3deg) translateY(-4px)}
.lane-coral{background:var(--coral);color:#fff}.lane-sky{background:var(--sky);color:var(--ink)}.lane-sun{background:var(--sun);color:var(--ink)}
.lane-num{font-family:var(--display);font-weight:500;font-size:14px;letter-spacing:.14em;opacity:.8}
.lane-t{font-size:clamp(40px,4.6vw,72px);margin:18px 0 22px}
.lane-p{font-size:17px;line-height:1.5;max-width:30ch;opacity:.92}
.lane-list{margin-top:auto;padding-top:34px;display:flex;flex-direction:column;gap:8px;font-weight:600;font-size:15px}
.lane-list li{padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.35);width:max-content;max-width:100%}
.lane-coral .lane-list li{background:rgba(255,255,255,.2)}
.lane-link{margin-top:24px;display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:15px}
.lane-link .arr{transition:transform .4s var(--ease)}.lane-link:hover .arr{transform:translateX(4px)}

/* featured + cards */
.featured{padding:40px 0 120px}
.featured-head{display:grid;grid-template-columns:1fr auto;align-items:end;gap:24px;margin-bottom:48px}
.featured-head .h-big{grid-column:1}.featured-head .eyebrow{grid-column:1/-1}
.featured-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:24px}
.fi-1{grid-column:1/8}.fi-2{grid-column:8/13;margin-top:120px}.fi-3{grid-column:3/11;margin-top:-40px}
.card{display:block;position:relative;border-radius:var(--r);overflow:hidden;background:var(--cream-2)}
.card-img{aspect-ratio:4/3;overflow:hidden;position:relative}
.card-img img{width:100%;height:100%;object-fit:cover;transform:scale(1.04);transition:transform 1.2s var(--ease)}
.card:hover .card-img img{transform:scale(1.1)}
.card-meta{padding:22px 24px 24px;display:flex;flex-direction:column;gap:6px}
.card-t{font-size:clamp(22px,1.9vw,30px);letter-spacing:-.02em}
.card-s{font-size:14px;color:var(--ink-2);font-weight:500}
.card-tag{position:absolute;top:16px;left:16px;font-family:var(--display);font-weight:600;font-size:13px;padding:8px 14px;border-radius:999px;background:var(--cream);color:var(--ink)}
.card-coral .card-meta{background:var(--coral-2)}.card-sky .card-meta{background:var(--sky-2)}.card-sun .card-meta{background:var(--sun-2)}
.card-img::after{content:'';position:absolute;inset:0;background:var(--ink);transform-origin:right;transform:scaleX(0);transition:transform .8s var(--ease)}
.card.is-leaving .card-img::after{transform:scaleX(1);transform-origin:left}

/* process */
.process{padding:100px 0;background:var(--ink);color:var(--cream);border-radius:var(--r) var(--r) 0 0;position:relative}
.process .eyebrow{color:var(--sky)}.process .eyebrow::before{background:var(--sun)}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:80px;position:relative;z-index:1}
.step{padding-top:28px;border-top:1px solid rgba(255,255,255,.15);position:relative}
.step-n{font-family:var(--display);font-weight:600;font-size:clamp(80px,12vw,180px);line-height:.8;letter-spacing:-.06em;display:block;margin-bottom:22px}
.step-coral .step-n{color:var(--coral)}.step-sky .step-n{color:var(--sky)}.step-sun .step-n{color:var(--sun)}
.step h3{font-size:34px;margin-bottom:14px}
.step p{color:var(--sky-2);max-width:32ch}
.steps-line{position:absolute;left:0;right:0;top:46%;height:120px;width:100%;color:var(--sky);opacity:.45;pointer-events:none}

/* quotes */
.quotes{padding:120px 0}
.quote-stack{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.quote{padding:32px;border-radius:var(--r);border:1px solid var(--line);display:flex;flex-direction:column;gap:22px;min-height:280px}
.quote p{font-family:var(--display);font-weight:500;font-size:clamp(19px,1.5vw,23px);line-height:1.3;letter-spacing:-.01em}
.quote cite{font-style:normal;font-size:14px;font-weight:600;color:var(--ink-2);margin-top:auto}
.quote:nth-child(1){background:var(--sun-2);border-color:transparent}.quote:nth-child(2){transform:translateY(40px)}.quote:nth-child(3){background:var(--sky-2);border-color:transparent}

/* footer */
.ftr{padding:110px 0 32px;position:relative;overflow:hidden}
.ftr .wrap{position:relative;z-index:1}
.ftr-top{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;padding-bottom:70px;border-bottom:1px solid var(--line)}
.ftr-cta .h-big{margin-bottom:36px}
.ftr-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;font-size:15px;line-height:1.7}
.ftr-cols a{display:block}.ftr-cols a:hover{color:var(--coral)}
.ftr-h{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--mute);margin-bottom:12px}
.ftr-social{margin-top:14px;display:flex;gap:12px}.ftr-social a{display:inline}
.ftr-mark{position:absolute;right:8vw;bottom:-6vw;width:min(58vw,820px);pointer-events:none;z-index:0}
.ftr-mark svg{color:var(--ink);opacity:.055;width:100%;height:auto}
.ftr-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--mute);margin-top:24px}

/* ---------- inner pages ---------- */
.phero{padding:170px 0 80px;position:relative;overflow:hidden;border-radius:0 0 var(--r) var(--r)}
.phero-sky{background:var(--sky)}.phero-sun{background:var(--sun)}.phero-coral{background:var(--coral);color:#fff}
.phero-coral .eyebrow{color:#fff}.phero-coral .eyebrow::before{background:var(--sun)}.phero-coral .hl{color:var(--sun)}.phero-coral .lead{color:#fff}
.phero-sun .hl{color:var(--coral)}.phero-sky .hl{color:var(--sky-deep)}
.phero .h-display{max-width:12ch}
.phero .lead{margin-top:28px}
.phero-marks{position:absolute;right:-4vw;top:-6vw;width:min(46vw,620px);pointer-events:none;opacity:.14}
.phero-marks svg{width:100%;height:auto;overflow:visible}
.phero-marks .lp{transform-box:fill-box;transform-origin:center}

/* work */
.work{padding:60px 0 120px}
.filters{display:flex;gap:4px;flex-wrap:wrap;position:relative;margin-bottom:40px;padding:5px;border:1px solid var(--line);border-radius:999px;width:max-content;max-width:100%;background:var(--cream)}
.filter{position:relative;z-index:1;padding:11px 20px;border-radius:999px;font-weight:600;font-size:15px;transition:color .3s;display:flex;gap:6px;align-items:baseline}
.filter sup{font-size:11px;color:var(--mute);vertical-align:top}
.filter.is-on{color:var(--cream)}.filter.is-on sup{color:var(--sky)}
.filter-blob{position:absolute;top:5px;left:5px;height:calc(100% - 10px);border-radius:999px;background:var(--ink);z-index:0;transition:left .5s var(--ease),top .5s var(--ease),width .5s var(--ease)}
.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;min-height:200px;align-items:stretch}
.work-grid .card{display:flex;flex-direction:column}
.work-grid .card-meta{flex:1;min-height:104px}
.work-more{display:flex;justify-content:center;margin-top:56px}.work-more[hidden]{display:none}

/* case sheet (AJAX) + single */
.sheet{position:fixed;inset:0;z-index:65;background:var(--cream);overflow:auto;overscroll-behavior:contain;transform:translateY(100%);visibility:hidden;border-radius:var(--r) var(--r) 0 0}
.sheet.is-open{visibility:visible}
.sheet-close{position:fixed;top:18px;right:var(--gut);z-index:67;opacity:0;pointer-events:none;transition:opacity .3s;height:46px;padding:0 18px 0 20px;border-radius:999px;background:var(--ink);color:var(--cream);font-weight:600;font-size:14px;display:flex;align-items:center;gap:10px}
.sheet-close i{width:26px;height:26px;border-radius:50%;background:var(--coral);position:relative;display:block}
.sheet-close i::before,.sheet-close i::after{content:'';position:absolute;left:50%;top:50%;width:12px;height:2px;background:#fff;margin:-1px -6px;transform:rotate(45deg)}.sheet-close i::after{transform:rotate(-45deg)}
.sheet-in{padding-top:86px}
.sheet-open .sheet-close{opacity:1;pointer-events:auto}
body.sheet-open{overflow:hidden}
.case-page{padding-top:110px}
.case-head{padding:60px 0 40px;max-width:1100px}
.case-head .h-display{font-size:clamp(40px,6.5vw,104px);max-width:14ch}
.case-head .lead{margin-top:24px}
.case-img{overflow:hidden;border-radius:var(--r)}
.case-img img,.case-img video{width:100%;height:auto;aspect-ratio:16/9.5;object-fit:cover;display:block}
.case-coral .case-img{background:var(--coral-2)}.case-sky .case-img{background:var(--sky-2)}.case-sun .case-img{background:var(--sun-2)}
/* facts bar */
.case-facts{display:flex;flex-wrap:wrap;gap:16px 48px;align-items:center;padding:32px 0;margin-top:8px;border-bottom:1px solid var(--line)}
.fact{display:flex;flex-direction:column;gap:4px;font-size:15px}
.fact dt{font-weight:600;color:var(--mute);font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.fact dd{font-weight:500}
.fact-link{margin-left:auto}
/* case body: narrow reading column, media breaks out */
.case-body{padding:64px 0 24px;font-size:19px;line-height:1.6}
.case-body>*{max-width:760px;margin-left:auto;margin-right:auto;padding-left:var(--gut);padding-right:var(--gut)}
.case-body>p{margin-bottom:1.3em}
.case-body>p:first-child{font-size:clamp(22px,2vw,28px);line-height:1.4;font-weight:500;letter-spacing:-.01em}
.case-body h2,.case-body h3{font-family:var(--display);font-weight:600;letter-spacing:-.03em;line-height:1.05;margin:2em auto .6em}
.case-body h2{font-size:clamp(30px,3.4vw,46px)}.case-body h3{font-size:clamp(22px,2vw,28px)}
.case-body ul,.case-body ol{padding-left:calc(var(--gut) + 1.2em);margin-bottom:1.3em}.case-body ul{list-style:disc}.case-body ol{list-style:decimal}
.case-body li{margin-bottom:.4em}
.case-body a{text-decoration:underline;text-underline-offset:3px}
.case-body a:hover{color:var(--coral)}
.case-body figure{margin:2.4em auto}
.case-body>figure.wp-block-image,.case-body>figure.wp-block-video,.case-body>figure.wp-block-embed{max-width:min(var(--wrap),100%)} /* media wide by default, text stays narrow */
.case-body .wp-block-image img,.case-body .wp-block-video video,.case-body .wp-block-embed__wrapper{width:100%;height:auto;border-radius:var(--r);display:block}
.case-body figcaption{font-size:14px;color:var(--mute);margin-top:12px;font-weight:500}
.case-body .alignwide{max-width:min(var(--wrap),100%)}
.case-body .alignfull{max-width:none;padding:0}
.case-body .alignfull img,.case-body .alignfull video{border-radius:0}
.case-body .wp-block-embed__wrapper{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--ink)}
.case-body .wp-block-embed__wrapper iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.case-body .wp-block-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;max-width:min(var(--wrap),100%)}
.case-body .wp-block-gallery.columns-3{grid-template-columns:repeat(3,1fr)}
.case-body .wp-block-gallery.columns-1{grid-template-columns:1fr}
.case-body .wp-block-gallery figure{margin:0;padding:0;max-width:none}
.case-body .wp-block-gallery img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;border-radius:calc(var(--r) - 8px);display:block}
.case-body .wp-block-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:32px;max-width:min(var(--wrap),100%)}
.case-body .wp-block-column>*{padding:0}
.case-body .wp-block-quote,.case-body blockquote{max-width:min(var(--wrap),100%);padding:clamp(32px,5vw,72px) var(--gut);margin:3em auto;border-radius:var(--r);background:var(--sky-2);border:0}
.case-coral .case-body blockquote{background:var(--coral-2)}.case-sun .case-body blockquote{background:var(--sun-2)}
.case-body blockquote p,.case-body blockquote cite{display:block;max-width:720px;margin:0 auto;padding:0}
.case-body blockquote p{font-family:var(--display);font-weight:500;font-size:clamp(24px,2.8vw,40px);line-height:1.25;letter-spacing:-.02em;margin-bottom:1em}
.case-body blockquote cite{font-style:normal;font-size:15px;font-weight:600;color:var(--ink-2)}
.case-body .wp-block-cover{position:relative;min-height:60vh;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:var(--r);padding:0}
.case-body .wp-block-cover img,.case-body .wp-block-cover video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.case-body .wp-block-cover__inner-container{position:relative;color:#fff;text-align:center}
.case-body .has-text-align-center{text-align:center}
/* reveal on scroll inside the sheet (IntersectionObserver, no ScrollTrigger scroller juggling) */
.js .case-body figure,.js .case-stat,.js .case-credits div{opacity:0;transform:translateY(32px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.js .case-body figure.is-in,.js .case-stat.is-in,.js .case-credits div.is-in{opacity:1;transform:none}
/* results */
.case-stats{margin-top:56px;padding:80px 0;background:var(--ink);color:var(--cream)}
.case-stats .eyebrow{color:var(--sky)}.case-stats .eyebrow::before{background:var(--sun)}
.case-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:32px}
.case-stat strong{display:block;font-family:var(--display);font-weight:500;font-size:clamp(52px,7vw,110px);line-height:1;letter-spacing:-.04em}
.case-coral .case-stat:nth-child(3n+1) strong{color:var(--coral)}.case-coral .case-stat:nth-child(3n+2) strong{color:var(--sun)}.case-coral .case-stat:nth-child(3n) strong{color:var(--sky)}
.case-sky .case-stat:nth-child(3n+1) strong{color:var(--sky)}.case-sky .case-stat:nth-child(3n+2) strong{color:var(--coral)}.case-sky .case-stat:nth-child(3n) strong{color:var(--sun)}
.case-sun .case-stat:nth-child(3n+1) strong{color:var(--sun)}.case-sun .case-stat:nth-child(3n+2) strong{color:var(--sky)}.case-sun .case-stat:nth-child(3n) strong{color:var(--coral)}
.case-stat span{color:var(--sky-2);font-weight:500}
/* credits */
.case-credits{padding:72px 0 56px}
.case-credits dl{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px 32px;font-size:15px}
.case-credits dt{font-weight:600;color:var(--mute);font-size:12px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:4px}
.case-credits dd{font-weight:500}
/* next project */
.case-next{display:block;margin-top:40px;padding:72px 0;border-top:1px solid var(--line);position:relative;overflow:hidden}
.case-next-in{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,80px);align-items:center}
.case-next-copy{display:flex;flex-direction:column;gap:16px}
.case-next .h-big{transition:color .3s}
.case-next:hover .h-big{color:var(--coral)}
.case-next-s{color:var(--ink-2);font-weight:500}
.case-next-arrow{width:64px;height:64px;border-radius:50%;background:var(--ink);color:var(--cream);display:inline-flex;align-items:center;justify-content:center;transition:transform .5s var(--ease),background .3s}
.case-next-arrow .arr{width:26px;height:26px}
.case-next:hover .case-next-arrow{transform:translateX(10px);background:var(--coral)}
.case-next-img{border-radius:var(--r);overflow:hidden;aspect-ratio:4/3}
.case-next-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.case-next:hover .case-next-img img{transform:scale(1.06)}
.case-next-coral .case-next-img{background:var(--coral-2)}.case-next-sky .case-next-img{background:var(--sky-2)}.case-next-sun .case-next-img{background:var(--sun-2)}

/* services page */
.svc{padding:110px 0;border-bottom:1px solid var(--line)}
.svc-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,80px);align-items:center}
.svc:nth-child(odd) .svc-fig{order:-1}
.svc-num{font-family:var(--display);font-weight:600;font-size:14px;letter-spacing:.14em;padding:8px 14px;border-radius:999px;display:inline-block;margin-bottom:24px}
.svc-coral .svc-num{background:var(--coral);color:#fff}.svc-sky .svc-num{background:var(--sky)}.svc-sun .svc-num{background:var(--sun)}
.svc .h-display{font-size:clamp(48px,7vw,110px)}
.svc .lead{margin:24px 0 32px}
.svc-list{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;margin-bottom:40px;font-weight:600;font-size:16px}
.svc-list li{padding:12px 0;border-bottom:1px solid var(--line);display:flex;gap:12px;align-items:center}
.svc-list li::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--coral);flex:none}
.svc-sky .svc-list li::before{background:var(--sky-deep)}.svc-sun .svc-list li::before{background:var(--sun)}
.svc-fig{border-radius:var(--r);overflow:hidden;position:relative}
.svc-fig img{width:100%;height:auto;aspect-ratio:4/3.2;object-fit:cover}
.svc-fig figcaption{position:absolute;left:18px;bottom:18px;background:var(--cream);padding:8px 14px;border-radius:999px;font-size:13px;font-weight:600}
.js .reveal{clip-path:inset(0 0 100% 0 round var(--r))}
.js .reveal img{transform:scale(1.15)}
.pricing{padding:110px 0 120px}
.price-rows{margin-top:48px;border-top:1px solid var(--line)}
.price-row{display:grid;grid-template-columns:1fr 1.6fr auto;gap:24px;align-items:center;padding:26px 0;border-bottom:1px solid var(--line);transition:padding .4s var(--ease)}
.price-row:hover{padding-left:16px}
.price-t{font-family:var(--display);font-weight:600;font-size:28px;letter-spacing:-.02em}
.price-d{color:var(--ink-2)}
.price-v{font-family:var(--display);font-weight:600;font-size:20px;padding:10px 18px;border-radius:999px;background:var(--sun);white-space:nowrap}
.price-row:last-child .price-v{background:var(--coral);color:#fff}

/* studio */
.story{padding:110px 0}
.story-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(30px,5vw,80px);align-items:center}
.story-fig{border-radius:var(--r) 120px var(--r) var(--r);overflow:hidden}
.story-fig img{width:100%;height:auto;aspect-ratio:4/4.4;object-fit:cover}
.story-copy p:not(.eyebrow){font-size:18px;color:var(--ink-2);margin-top:22px;max-width:52ch}
.values{padding:40px 0 110px}
.value-rows{margin-top:40px}
.value-row{display:grid;grid-template-columns:80px 1fr 1fr;gap:24px;align-items:center;padding:40px 0;border-top:1px solid var(--line)}
.value-row:last-child{border-bottom:1px solid var(--line)}
.value-n{font-family:var(--display);font-weight:600;font-size:40px;letter-spacing:-.04em;color:var(--coral)}
.value-sky .value-n{color:var(--sky-deep)}.value-sun .value-n{color:#D9A800}
.value-row h3{font-size:clamp(26px,3vw,44px)}
.value-row p{color:var(--ink-2);font-size:17px;max-width:40ch}
.team{padding:0 0 120px}
.team-rows{margin-top:56px;display:flex;flex-direction:column;gap:32px}
.member{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(24px,4vw,60px);align-items:center;padding:32px;border-radius:var(--r)}
.member:nth-child(even){direction:rtl}.member:nth-child(even)>*{direction:ltr}
.member-coral{background:var(--coral-2)}.member-sky{background:var(--sky-2)}.member-sun{background:var(--sun-2)}
.member-fig{border-radius:calc(var(--r) - 8px);overflow:hidden;aspect-ratio:3/3.6;background:var(--cream);display:flex;align-items:center;justify-content:center}
.member-fig img{width:100%;height:100%;object-fit:cover}
.member-ph{width:55%;color:var(--ink);opacity:.18}.member-ph svg{width:100%;height:auto}
.member h3{font-size:clamp(30px,3.4vw,52px)}
.member-role{font-weight:600;color:var(--ink-2);margin:10px 0 20px;font-size:15px;letter-spacing:.04em;text-transform:uppercase}
.member .prose p{font-size:17px;color:var(--ink-2)}

/* contact */
.contact{padding:80px 0 120px}
.contact-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:clamp(30px,6vw,100px);align-items:start}
.cform{display:flex;flex-direction:column;gap:18px}
.cf-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.cf{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}
.cf input,.cf select,.cf textarea{font:inherit;font-family:var(--body);font-size:17px;text-transform:none;letter-spacing:0;font-weight:500;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px 18px;outline:0;transition:border-color .3s,box-shadow .3s}
.cf input:focus,.cf select:focus,.cf textarea:focus{border-color:var(--ink);box-shadow:0 0 0 4px var(--sky)}
.cf textarea{resize:vertical;min-height:140px}
.hp{position:absolute;left:-9999px}
.cform .btn{align-self:flex-start;margin-top:8px}
.cform-msg{font-weight:600;min-height:1.5em}
.cform-msg.is-ok{color:#1c8a4e}.cform-msg.is-err{color:var(--coral)}
.contact-aside{display:flex;flex-direction:column;gap:28px;font-size:16px;line-height:1.6}
.ca-block{padding:24px 26px;border-radius:var(--r);border:1px solid var(--line)}
.ca-block:nth-child(1){background:var(--sun-2);border-color:transparent}.ca-block:nth-child(2){background:var(--sky-2);border-color:transparent}
.ca-block a{font-weight:600}
.ca-link{display:inline-flex;align-items:center;gap:6px;margin-top:12px}
.plain{padding:80px 0 120px}

/* rise reveal */
.js .rise{opacity:0;transform:translateY(28px)}
.loader{display:none}.js .loader{display:block}

/* ---------- responsive ---------- */
@media(max-width:1100px){
	.hdr-nav{display:none}
	.hero-grid{grid-template-columns:1fr;gap:56px}
	.hero-media{max-width:640px}
	.featured-grid{gap:20px}.fi-1{grid-column:1/8}.fi-2{grid-column:8/13;margin-top:80px}.fi-3{grid-column:2/12;margin-top:0}
	.case-next-in{grid-template-columns:1fr}
	.menu-in{grid-template-columns:1fr;align-items:start;padding:110px 0 80px}
	.menu-aside{display:none}
	.menu-strokes svg{width:110vw;right:-30vw;opacity:.5}
}
@media(max-width:820px){
	body{font-size:16px}
	.case-body{font-size:17px}.case-body .wp-block-gallery,.case-body .wp-block-gallery.columns-3{grid-template-columns:1fr 1fr;gap:10px}.case-body .wp-block-gallery img{border-radius:12px}.case-facts{gap:14px 28px}.fact-link{margin-left:0;width:100%}
	.hero{padding-top:110px}
	.h-hero{font-size:clamp(40px,11vw,64px)}
	.starter{border-radius:28px;width:100%}
	.starter-f{width:100%;height:48px}.starter-f+.starter-f::before{display:none}
	.starter .btn{margin:6px 0 0;width:100%}.starter .btn .btn-l{flex:1;justify-content:center;border-radius:999px 0 0 999px}
	.badge{width:110px;height:110px;left:-10px;top:-24px}.badge-c{width:44px}.badge svg{font-size:9px}
	.chip{font-size:13px;padding:8px 14px}.chip-coral{left:-8px}
	.stats{grid-template-columns:1fr;gap:20px}
	.lanes-grid{grid-template-columns:1fr}.lane{min-height:0}
	.featured-head{grid-template-columns:1fr}
	.featured-grid{display:flex;flex-direction:column;gap:20px}.fi-2,.fi-3{margin-top:0}
	.steps{grid-template-columns:1fr;gap:40px}.steps-line{display:none}
	.quote-stack{grid-template-columns:1fr}.quote:nth-child(2){transform:none}.quote{min-height:0}
	.ftr-top{grid-template-columns:1fr;gap:48px}.ftr-cols{grid-template-columns:1fr 1fr}
	.phero{padding:130px 0 60px}
	.phero-marks{width:80vw;right:-20vw;top:auto;bottom:-10vw;opacity:.1}
	.work-grid{grid-template-columns:1fr}
	.filters{width:100%;border-radius:24px}
	.svc-grid{grid-template-columns:1fr}.svc:nth-child(odd) .svc-fig{order:0}.svc-list{grid-template-columns:1fr}
	.price-row{grid-template-columns:1fr;gap:8px}.price-v{width:max-content}
	.story-grid{grid-template-columns:1fr}
	.value-row{grid-template-columns:1fr;gap:12px}
	.member{grid-template-columns:1fr;padding:18px}.member:nth-child(even){direction:ltr}
	.contact-grid{grid-template-columns:1fr}.cf-2{grid-template-columns:1fr}
	.menu-link{grid-template-columns:36px 1fr;gap:12px}.menu-sub{display:none}
	.menu-word{font-size:clamp(44px,13vw,80px)}
	.hdr-right .btn{display:none}
	.sheet-close{right:16px}
}
@media(prefers-reduced-motion:reduce){
	.rise,.reveal{opacity:1;transform:none;clip-path:none}
	.badge svg{animation:none}
}
