@font-face{font-family:Manrope;src:url('manrope-medium.woff2') format('woff2');font-weight:400 800;font-display:swap}
:root{--ink:#1f2a2e;--deep:#1f2a2e;--mint:#78fbb9;--paper:#f4f8fa;--white:#fff;--line:rgba(31,42,46,.18);--muted:#647174;--radius:18px;--max:1680px}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif;font-size:16px;line-height:1.55} img{display:block;max-width:100%} a{color:inherit} button{font:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:fixed;left:1rem;top:-5rem;z-index:99;background:var(--mint);padding:.7rem 1rem;color:var(--ink)} .skip:focus{top:1rem}
.site-header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,6vw,110px);background:var(--deep);color:var(--white);position:relative;z-index:5}.logo{width:205px;height:auto}nav{display:flex;align-items:center;gap:clamp(12px,1.8vw,32px)}nav a{text-decoration:none;font-size:.88rem;white-space:nowrap}.nav-cta{border:1px solid rgba(255,255,255,.5);border-radius:999px;padding:.8rem 1.2rem}
.hero{min-height:760px;display:grid;grid-template-columns:minmax(380px,.9fr) minmax(560px,1.1fr);background:var(--deep);color:var(--white);padding-left:max(24px,calc((100vw - var(--max))/2 + 48px));overflow:hidden}.hero-copy{align-self:center;padding:80px clamp(38px,6vw,100px) 80px 0;max-width:760px}.eyebrow{font-size:.78rem;letter-spacing:.16em;font-weight:800;margin:0 0 24px;text-transform:uppercase}.hero .eyebrow{display:flex;align-items:center;gap:12px;color:var(--mint)}.hero .eyebrow img{width:27px;height:27px;object-fit:contain}
h1,h2,h3,p{margin-top:0}h1{font-size:clamp(3.2rem,4.8vw,5.5rem);line-height:1.08;letter-spacing:-.05em;font-weight:500;margin-bottom:32px}.hero h1 em{display:inline-block;margin-top:.12em}h1 em,h2 em{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.035em;color:var(--mint)}.hero-lead{font-size:clamp(1.25rem,1.7vw,1.7rem);line-height:1.4;max-width:650px;margin-bottom:18px}.hero-detail{font-size:1.03rem;color:#c8d2cf;max-width:620px;margin-bottom:34px}.actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;text-decoration:none;border-radius:999px;padding:1rem 1.45rem;font-weight:800;border:0;transition:transform .2s ease;cursor:pointer}.button:hover{transform:translateY(-2px)}.button-mint{background:var(--mint);color:var(--ink)}.button-dark{background:var(--ink);color:var(--white)}.text-link{text-underline-offset:5px}
.bento{display:grid;gap:12px}.hero-gallery{grid-template-columns:1fr 1fr;grid-template-rows:1.08fr .82fr;height:760px;padding:18px 18px 18px 0}.tile{position:relative;border:0;padding:0;overflow:hidden;background:#2a363a;color:var(--white);border-radius:var(--radius);cursor:zoom-in;min-width:0}.tile img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease,filter .3s ease}.tile:hover img,.tile:focus-visible img{transform:scale(1.025);filter:brightness(.92)}.tile:focus-visible{outline:3px solid var(--mint);outline-offset:3px}.tile-tall{grid-row:1/3}.tile-tall img{object-position:53% center}.tile-wide{grid-column:2;grid-row:1}.tile-small{grid-row:2}.nova-detail img{object-position:55% center;transform:scale(1.6)}.nova-detail:hover img,.nova-detail:focus-visible img{transform:scale(1.64)}.product-detail{background:#edf1f2}.product-detail img{object-fit:contain;padding:8%}.tile-label{position:absolute;left:0;right:0;bottom:0;padding:48px 20px 18px;background:linear-gradient(transparent,rgba(20,29,33,.92));font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;text-align:left}.tile-label strong{display:block;color:var(--white);font-size:1.05rem;letter-spacing:0;text-transform:none;margin-bottom:2px}.expand{position:absolute;top:14px;right:14px;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:rgba(31,42,46,.88);color:var(--mint);font-size:1.1rem}
.proof-strip{display:grid;grid-template-columns:repeat(3,1fr);max-width:var(--max);margin:0 auto;padding:38px 48px;border-bottom:1px solid var(--line)}.proof-strip div{display:flex;gap:20px;align-items:center;padding:0 38px;border-right:1px solid var(--line)}.proof-strip div:last-child{border:0}.proof-strip strong{font-size:1.8rem;font-weight:500;letter-spacing:-.04em}.proof-strip span{font-size:.85rem;color:var(--muted);line-height:1.4}
.section-light,.value-section,.execution-section,.work,.method,.package,.process,.fit-section,.ladder-section,.faq{padding:clamp(82px,9vw,150px) max(24px,calc((100vw - var(--max))/2 + 48px))}.problem{display:block}h2{font-size:clamp(2.9rem,5vw,5.9rem);line-height:1.02;letter-spacing:-.055em;font-weight:500;margin-bottom:0}h2 em{color:#477c69}.problem-intro{max-width:1200px;margin:0 auto}.problem-explainer{max-width:1040px;margin:42px auto 0;text-align:center;color:var(--muted);font-size:clamp(1.05rem,1.4vw,1.24rem);line-height:1.75}
.execution-section{background:var(--deep);color:var(--white)}.execution-heading{max-width:1100px;margin:0 auto 68px}.execution-heading .eyebrow{color:var(--mint)}.execution-heading h2 em{color:var(--mint)}.execution-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.execution-grid article{min-height:285px;padding:30px 30px 36px;border-radius:var(--radius);background:#2a363a;display:flex;flex-direction:column}.execution-grid span{font-size:.72rem;letter-spacing:.15em;color:var(--mint);font-weight:800}.execution-grid h3{font-size:1.5rem;line-height:1.22;font-weight:500;margin:auto 0 14px;padding-top:48px}.execution-grid p{color:#bdcac7;font-size:.94rem;line-height:1.6;margin:0}
.value-section{background:var(--deep);color:var(--white)}.centre{text-align:center}.value-section>.eyebrow{color:var(--mint)}.value-section h2{max-width:1100px;margin:0 auto 68px}.value-section h2 em{color:var(--mint)}.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:var(--max);margin:auto}.value-grid article{border-radius:var(--radius);overflow:hidden;background:#2a363a}.value-visual{height:340px;overflow:hidden;background:var(--mint);color:var(--deep);display:grid;place-items:center}.value-visual img{width:100%;height:100%;object-fit:cover}.value-stock{font-family:Georgia,serif;font-size:clamp(2.3rem,4vw,4.4rem);font-style:italic}.value-direction img{object-position:52% center;transform:scale(1.28)}.value-system{background:#edf5f7}.value-copy{padding:28px 28px 34px}.value-copy>span,.case-info span,.case-signal span{font-size:.7rem;letter-spacing:.15em;color:var(--mint);font-weight:800}.value-copy h3{font-size:1.6rem;margin:28px 0 12px;font-weight:500}.value-copy p{color:#bdcac7;margin:0}.scope-note{max-width:900px;margin:36px auto 0;text-align:center;color:#bdcac7;font-size:.95rem}
.work{background:var(--paper)}.work-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:end;margin-bottom:70px}.work-heading>p{font-size:1.08rem;color:var(--muted);max-width:600px;margin-bottom:8px}.case-study{display:grid;grid-template-columns:minmax(360px,1fr) minmax(420px,1fr);min-height:540px;overflow:hidden}.case-study-reverse{grid-template-columns:minmax(420px,1fr) minmax(360px,1fr)}.case-study+.case-study{margin-top:20px}.case-study-dark{background:var(--deep);color:var(--white)}.case-study-light{background:#e8edef;color:var(--ink)}.case-copy{padding:clamp(36px,4.2vw,68px);display:flex;flex-direction:column;justify-content:center}.case-copy .eyebrow{color:var(--mint);margin-bottom:14px}.case-study-light .case-copy .eyebrow{color:#477c69}.case-copy h3{font-size:clamp(3rem,4.2vw,4.8rem);line-height:1;letter-spacing:-.055em;font-weight:500;margin:0 0 clamp(34px,4vw,56px)}.case-copy-block{padding:22px 0;border-top:1px solid rgba(255,255,255,.2)}.case-copy-block:last-child{border-bottom:1px solid rgba(255,255,255,.2)}.case-study-light .case-copy-block{border-color:var(--line)}.case-copy-block span,.case-title-frame>span{font-size:.7rem;letter-spacing:.15em;color:var(--mint);font-weight:800}.case-study-light .case-copy-block span{color:#477c69}.case-copy-block p{color:#bdcac7;font-size:1rem;line-height:1.6;margin:10px 0 0}.case-study-light .case-copy-block p{color:var(--muted)}.case-media{border:0;min-width:0;min-height:540px;position:relative;overflow:hidden}.case-video-frame{background:#172125}.case-video-frame-light{background:#f4f8fa}.case-video{width:100%;height:100%;min-height:540px;display:block;object-fit:cover}.case-image{padding:0;cursor:zoom-in;background:#dfe6e8}.case-image img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease,filter .3s ease}.case-image:hover img,.case-image:focus-visible img{transform:scale(1.025);filter:brightness(.94)}.case-image:focus-visible{outline:3px solid var(--mint);outline-offset:-5px}.case-image-contain{background:#e9eef0}.case-image-contain img{object-fit:contain;padding:7%}.case-title-frame{padding:clamp(38px,5vw,76px);background:#2a363a;color:var(--white);display:flex;flex-direction:column;justify-content:space-between}.case-title-frame:after{content:'';position:absolute;inset:22px;border:1px solid rgba(120,251,185,.38);pointer-events:none}.case-title-frame strong{position:relative;z-index:1;font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.7rem,4.5vw,5.5rem);font-style:italic;font-weight:400;line-height:1.03;letter-spacing:-.04em;max-width:820px}.case-title-frame small{position:relative;z-index:1;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:#bdcac7}.case-title-frame-light{background:#dbe5e7;color:var(--ink)}.case-title-frame-light:after{border-color:rgba(31,42,46,.2)}.case-title-frame-light>span{color:#477c69}.case-title-frame-light small{color:var(--muted)}
.method{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(60px,9vw,160px);background:var(--deep);color:var(--white)}.method h2 em{color:var(--mint)}.method-copy{align-self:end;max-width:780px}.method-copy .lead{font-size:clamp(1.45rem,2vw,2.05rem);line-height:1.35;color:var(--white)}.method-copy p{color:#bdcac7;font-size:1.06rem;margin-bottom:26px}
.package{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(50px,8vw,130px);background:var(--deep);color:var(--white)}.package h2 em{color:var(--mint)}.package-intro>p:not(.eyebrow){font-size:1.1rem;color:#c3d0cd;max-width:590px;margin:30px 0 48px}.metric-row{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.2)}.metric-row div{padding:25px 18px 25px 0;display:flex;flex-direction:column}.metric-row strong{font-size:2.8rem;font-weight:500;color:var(--mint)}.metric-row span{font-size:.8rem;color:#9fb0ac}.package-card{background:var(--mint);color:var(--ink);border-radius:24px;padding:clamp(28px,4vw,58px)}.package-top{display:flex;justify-content:space-between;font-size:.72rem;letter-spacing:.14em;font-weight:800}.price{font-size:clamp(3.4rem,5vw,6rem);line-height:1;margin:45px 0 8px;letter-spacing:-.055em}.price small{font-size:.85rem;letter-spacing:0}.standard{font-size:.82rem;margin-bottom:32px}.package-card ol{list-style:none;margin:0;padding:0;border-top:1px solid rgba(33,42,45,.25)}.package-card li{display:grid;grid-template-columns:45px 1fr;gap:14px;padding:22px 0;border-bottom:1px solid rgba(33,42,45,.25)}.package-card li>span{font-size:.72rem;font-weight:800}.package-card strong{font-size:1.05rem}.package-card li p{margin:4px 0 0;font-size:.88rem}.full{width:100%;margin-top:28px}.terms{font-size:.72rem;margin:16px 0 0;text-align:center}
.process .section-intro{max-width:1100px;margin-bottom:60px}.process-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.process-list li{display:grid;grid-template-columns:90px .7fr 1.4fr;align-items:center;gap:40px;padding:28px 0;border-bottom:1px solid var(--line)}.process-list li>span{font-size:.78rem;letter-spacing:.12em;color:#477c69;font-weight:800}.process-list strong{font-size:1.45rem;font-weight:500}.process-list p{margin:0;color:var(--muted)}
.fit-section{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(60px,8vw,130px);background:var(--deep);color:var(--white)}.fit-section h2 em{color:var(--mint)}.fit-intro{max-width:620px;color:#bdcac7;font-size:1.06rem;margin:30px 0 0}.fit-check{align-self:start}.fit-check fieldset{border:0;padding:0;margin:0 0 26px;display:grid;gap:12px}.fit-option{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:18px;padding:22px;border:1px solid rgba(255,255,255,.22);border-radius:16px;background:#2a363a;cursor:pointer}.fit-option:has(input:checked){border-color:var(--mint);box-shadow:0 0 0 1px var(--mint)}.fit-option input{width:22px;height:22px;margin:3px 0 0;accent-color:var(--mint)}.fit-option strong{display:block;font-size:1.08rem}.fit-option small{display:block;color:#aebeba;font-size:.88rem;margin-top:5px}.fit-result{margin-top:24px;padding:22px;border-left:3px solid var(--mint);background:rgba(255,255,255,.06);min-height:92px}.fit-result strong{font-size:1.1rem;color:var(--mint)}.fit-result p{margin:6px 0;color:#bdcac7}.fit-result a{text-underline-offset:4px;font-weight:800}
.ladder-section{background:var(--paper)}.ladder-heading{display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:end;margin-bottom:60px}.ladder-heading>p:last-child{color:var(--muted);font-size:1.08rem;max-width:560px;margin:0}.service-ladder{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.service-ladder article{position:relative;padding:30px 26px 34px;border:1px solid var(--line);border-radius:18px;background:#fff;min-height:260px}.service-ladder article:not(:last-child):after{content:'→';position:absolute;right:-11px;top:50%;z-index:2;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--paper);color:#477c69;font-weight:800}.service-ladder article.current{background:var(--mint);border-color:var(--mint)}.service-ladder span{font-size:.72rem;letter-spacing:.15em;color:#477c69;font-weight:800}.service-ladder article.current span{color:var(--ink)}.service-ladder h3{font-size:1.45rem;line-height:1.15;font-weight:500;margin:48px 0 12px}.service-ladder p{color:var(--muted);margin:0;font-size:.92rem}.service-ladder article.current p{color:var(--ink)}
.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(60px,8vw,130px)}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:0}summary{list-style:none;cursor:pointer;padding:25px 45px 25px 0;font-size:1.15rem;font-weight:700;position:relative}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:6px;font-size:1.7rem;font-weight:400;top:17px}details[open] summary:after{content:'–'}details p{color:var(--muted);max-width:720px;padding:0 50px 25px 0}
.contact{background:var(--deep);color:var(--white);text-align:center;padding:clamp(90px,11vw,180px) 24px}.contact .eyebrow{color:var(--mint)}.contact h2{max-width:1100px;margin:0 auto}.contact h2 em{color:var(--mint)}.contact>p:not(.eyebrow){max-width:760px;margin:34px auto;color:#c4d0cd;font-size:1.08rem}footer{background:#172125;color:#c4d0cd;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:34px max(24px,calc((100vw - var(--max))/2 + 48px));font-size:.82rem}footer p{margin:0}footer a{text-underline-offset:4px}
.lightbox{width:min(94vw,1500px);height:min(92vh,1000px);padding:48px 20px 36px;border:0;border-radius:18px;background:#172125;color:var(--white);overflow:hidden}.lightbox::backdrop{background:rgba(15,22,25,.9);backdrop-filter:blur(8px)}.lightbox img{width:100%;height:calc(100% - 30px);object-fit:contain}.lightbox p{text-align:center;font-size:.7rem;color:#9fb0ac;margin:10px 0 0}.lightbox-close{position:absolute;right:12px;top:8px;border:0;background:transparent;color:var(--white);font-size:2rem;cursor:pointer;width:40px;height:40px}
.hero-pack{height:760px;padding:22px 22px 22px 0;position:relative;overflow:hidden;display:grid;place-items:center}
.card-fan{position:relative;width:min(82%,760px);height:70%;margin-top:-2%}.fan-card{position:absolute;top:50%;width:34%;height:72%;padding:0;border:8px solid var(--paper);border-radius:20px;overflow:hidden;background:var(--paper);box-shadow:0 28px 70px rgba(0,0,0,.3);cursor:zoom-in;transform-origin:50% 100%}.fan-card img{width:100%;height:100%;object-fit:cover}.fan-card:focus-visible{outline:3px solid var(--mint);outline-offset:4px}.fan-card-1{left:5%;z-index:1;transform:translateY(-45%) rotate(-10deg)}.fan-card-2{left:19%;z-index:2;transform:translateY(-50%) rotate(-5deg)}.fan-card-3{left:33%;z-index:5;transform:translateY(-53%)}.fan-card-4{left:47%;z-index:4;transform:translateY(-50%) rotate(5deg)}.fan-card-5{left:61%;z-index:3;transform:translateY(-45%) rotate(10deg)}.fan-caption{position:absolute;left:50%;bottom:30px;z-index:8;transform:translateX(-50%);display:flex;align-items:center;gap:12px;margin:0;padding:12px 16px;border-radius:999px;background:rgba(31,42,46,.94);box-shadow:0 10px 35px rgba(0,0,0,.2);white-space:nowrap}.fan-caption strong{font-size:.72rem;letter-spacing:.12em;color:var(--mint)}.fan-caption span{font-size:.78rem;color:#fff}
[data-bento] .bento-item{opacity:0;transform:translateY(24px) scale(.975)}
[data-bento].is-visible .bento-item{animation:packReveal .7s cubic-bezier(.2,.8,.2,1) forwards}
[data-bento].is-visible .bento-item:nth-child(2){animation-delay:.12s}[data-bento].is-visible .bento-item:nth-child(3){animation-delay:.24s}[data-bento].is-visible .bento-item:nth-child(4){animation-delay:.36s}[data-bento].is-visible .bento-item:nth-child(5){animation-delay:.48s}
.case-pack-grid{height:min(690px,56vw);min-height:520px;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:1fr .85fr;gap:12px;padding:16px}
.case-pack-grid .nv-one{grid-column:1/3;grid-row:1}.case-pack-grid .nv-two{grid-column:3;grid-row:1}.case-pack-grid .nv-three{grid-column:4;grid-row:1}.case-pack-grid .nv-four{grid-column:1;grid-row:2}.case-pack-grid .nv-signal{grid-column:2/5;grid-row:2}
.case-pack-grid .tile img{object-fit:cover}
.metric-row strong{font-size:clamp(1.25rem,2vw,2.05rem);letter-spacing:-.03em}
.price small:first-child{font-size:1.1rem;vertical-align:middle;margin-right:.25rem}
@keyframes packReveal{to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes packBreath{0%{transform:scale(1)}100%{transform:scale(1.035)}}
@media (max-width:1050px){.hero{grid-template-columns:1fr;padding:0}.hero-copy{padding:80px 32px 60px;max-width:800px}.hero-gallery{height:680px;padding:0 16px 16px}.hero-pack{height:auto;aspect-ratio:1/1;padding:0 16px 16px}.proof-strip{padding:30px 20px}.proof-strip div{padding:0 18px}.method,.package,.fit-section,.faq,.ladder-heading{grid-template-columns:1fr}.execution-grid{grid-template-columns:repeat(2,1fr)}.value-grid{grid-template-columns:1fr}.value-grid article{display:grid;grid-template-columns:.95fr 1.05fr}.value-visual{height:320px}.work-heading{grid-template-columns:1fr}.case-study,.case-study-reverse{grid-template-columns:1fr}.case-study-reverse .case-media{order:2}.case-study-reverse .case-copy{order:1}.case-media,.case-video{height:min(62vw,500px);min-height:0}.package-intro{max-width:850px}.case-info{grid-template-columns:1fr 1fr}.case-info>div:first-child{grid-column:1/3}.case-bento,.case-pack-grid{height:620px}.service-ladder{grid-template-columns:repeat(2,1fr)}.service-ladder article:nth-child(2):after{display:none}.faq>div:first-child{max-width:750px}}
@media (max-width:700px){.site-header{height:72px;padding:0 20px}.site-header .logo{width:160px}nav>a:not(.nav-cta){display:none}.nav-cta{padding:.65rem .9rem;font-size:.78rem}.hero-copy{padding:62px 22px 44px}h1{font-size:2.85rem}.hero-gallery{grid-template-columns:1.1fr .9fr;grid-template-rows:1fr .72fr;height:560px;padding:0 10px 10px;gap:8px}.hero-pack{height:auto;aspect-ratio:1/1;padding:0 10px 10px}.card-fan{width:88%;height:70%}.fan-card{width:36%;height:70%;border-width:5px;border-radius:13px}.fan-card-1{left:3%}.fan-card-2{left:18%}.fan-card-3{left:33%}.fan-card-4{left:48%}.fan-card-5{left:63%}.fan-caption{bottom:14px;gap:7px;padding:9px 11px;max-width:92%}.fan-caption strong{font-size:.62rem}.fan-caption span{font-size:.66rem}.tile{border-radius:12px}.tile-label{padding:38px 12px 12px}.hero-detail{font-size:.96rem}.proof-strip{grid-template-columns:1fr}.proof-strip div{border-right:0;border-bottom:1px solid var(--line);padding:18px 4px}.proof-strip div:last-child{border-bottom:0}.section-light,.value-section,.execution-section,.work,.method,.package,.process,.fit-section,.ladder-section,.faq{padding:76px 22px}h2{font-size:3rem}.problem-explainer{text-align:left;margin-top:30px;line-height:1.65}.execution-heading{margin-bottom:40px}.execution-grid{grid-template-columns:1fr}.execution-grid article{min-height:0;padding:25px 24px 30px}.execution-grid h3{margin-top:38px;padding-top:0}.value-section h2{margin-bottom:40px}.value-grid article{display:block}.value-visual{height:250px}.value-copy{padding:24px}.work-heading{gap:24px;margin-bottom:40px}.case-study{min-height:0}.case-study+.case-study{margin-top:12px}.case-copy{padding:42px 24px}.case-copy h3{font-size:3.15rem;margin-bottom:34px}.case-copy-block{padding:20px 0}.case-media,.case-video{height:min(92vw,360px);min-height:0}.case-title-frame{padding:36px 30px}.case-title-frame:after{inset:12px}.case-title-frame strong{font-size:2.65rem}.case-title-frame small{font-size:.67rem}.method{gap:32px}.method-copy .lead{font-size:1.3rem}.process-list li{grid-template-columns:50px 1fr;gap:12px 18px}.process-list p{grid-column:2}.fit-section{gap:36px}.fit-option{padding:18px}.ladder-heading{gap:24px}.service-ladder{grid-template-columns:1fr}.service-ladder article{min-height:0}.service-ladder article:not(:last-child):after{content:'↓';display:grid;right:24px;top:auto;bottom:-11px}.metric-row{gap:6px}.metric-row strong{font-size:1.25rem;line-height:1.1}.package-card{padding:26px 20px}.package-top{gap:20px}.price{font-size:3.2rem}.faq{gap:35px}footer{align-items:flex-start;flex-direction:column;padding:35px 22px}.lightbox{width:96vw;height:88vh;padding:46px 10px 30px}}
@media (max-width:380px){.site-header{padding:0 14px}.site-header .logo{width:138px}.nav-cta{padding:.6rem .72rem;font-size:.72rem}.hero-copy{padding-left:18px;padding-right:18px}h1{font-size:2.55rem}.section-light,.value-section,.execution-section,.work,.method,.package,.process,.fit-section,.ladder-section,.faq{padding-left:18px;padding-right:18px}.case-copy{padding:36px 20px}.case-copy h3{font-size:2.85rem}.case-media,.case-video{height:92vw}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.tile img,.button,.pack-tile img{transition:none}[data-bento] .bento-item,.pack-tile{opacity:1;transform:none;animation:none!important}.hero-pack.is-visible .pack-tile img{animation:none}}

/* Shared page edges keep section content aligned with the header logo. */
:root{--page-gutter:max(clamp(24px,6vw,110px),calc((100vw - var(--max))/2 + 48px))}
.site-header,.section-light,.value-section,.execution-section,.work,.method,.package,.process,.fit-section,.ladder-section,.faq,footer{padding-left:var(--page-gutter);padding-right:var(--page-gutter)}
.hero{padding-left:var(--page-gutter);padding-right:var(--page-gutter);grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
.hero-copy{min-width:0}
.hero-pack{padding:22px 0;height:auto;min-height:760px;aspect-ratio:auto}
.hero-pack-image{display:block;width:100%;border:0;padding:0;background:transparent;cursor:zoom-in}
.hero-pack-image img{width:100%;height:auto;object-fit:contain}
.hero-pack-image:focus-visible{outline:3px solid var(--mint);outline-offset:8px;border-radius:8px}
.proof-strip{max-width:none;padding-left:var(--page-gutter);padding-right:var(--page-gutter)}
.proof-strip div:first-child{padding-left:0}
.proof-strip div:last-child{padding-right:0}
@media(max-width:1050px){.hero{grid-template-columns:1fr}.hero-copy{padding-left:0;padding-right:0}.hero-pack{min-height:0;padding:20px 0 64px}}
@media(max-width:700px){:root{--page-gutter:22px}.hero-copy{padding-left:0;padding-right:0}.hero-pack{padding:0 0 48px}.proof-strip div{padding-left:0;padding-right:0}}
@media(max-width:380px){:root{--page-gutter:18px}}

/* Continuous section backgrounds, including the space outside the columns. */
.work{background:var(--deep);color:var(--white);padding-left:0;padding-right:0;padding-bottom:0}
.work-heading{margin-left:var(--page-gutter);margin-right:var(--page-gutter)}
.work-heading h2 em{color:var(--mint)}
.work-heading>p{color:#bdcac7}
.case-study,.case-study-reverse{padding-left:var(--page-gutter);padding-right:var(--page-gutter)}
.case-study+.case-study{margin-top:0}
.case-study-light{background:var(--paper)}
.case-copy{padding-left:0}
.case-study-reverse .case-copy{padding-left:clamp(36px,4.2vw,68px);padding-right:0}
.case-media,.case-video-frame,.case-video-frame-light{background:inherit}
.execution-section,.fit-section{background:#2a363a}
.fit-result{background:transparent}
.ladder-section,.service-ladder article,.service-ladder article.current{background:var(--paper)}
.service-ladder article.current{border-color:#477c69}
.service-ladder article.current span{color:#477c69}
.package,.package-card{background:var(--mint);color:var(--ink)}
.package h2 em{color:var(--ink)}
.package-intro>p:not(.eyebrow),.metric-row span{color:var(--ink)}
.metric-row{border-color:rgba(31,42,46,.25)}
.metric-row strong{color:var(--ink)}
@media(max-width:1050px){.case-study-reverse .case-copy{padding-left:0;padding-right:0}.case-media{margin-bottom:40px}}

/* Compact presentation: large typography and spacing at 70% of the original. */
body{font-size:14px}
h1{font-size:clamp(2.24rem,3.36vw,3.85rem);margin-bottom:22px}
h2{font-size:clamp(2.03rem,3.5vw,4.13rem)}
.hero{min-height:532px}
.hero-copy{padding-top:56px;padding-bottom:56px;padding-right:clamp(27px,4.2vw,70px)}
.hero-lead{font-size:clamp(.95rem,1.19vw,1.19rem);margin-bottom:13px}
.hero-detail{font-size:.9rem;margin-bottom:24px}
.hero-pack{min-height:532px;padding:16px 0}
.hero-pack-image{width:70%}
.eyebrow{margin-bottom:17px}
.actions{gap:20px}
.button{padding:.75rem 1.1rem;gap:13px}
.proof-strip{padding-top:27px;padding-bottom:27px}
.proof-strip strong{font-size:1.26rem}
.section-light,.value-section,.execution-section,.work,.method,.package,.process,.fit-section,.ladder-section,.faq{padding-top:clamp(57px,6.3vw,105px);padding-bottom:clamp(57px,6.3vw,105px)}
.work{padding-bottom:0}
.problem-explainer{margin-top:29px;font-size:clamp(.9rem,.98vw,1rem);line-height:1.65;max-width:850px}
.work-heading{gap:56px;margin-bottom:49px}
.work-heading>p,.fit-intro,.ladder-heading>p:last-child{font-size:.95rem}
.case-study{min-height:378px}
.case-copy{padding-top:clamp(25px,2.94vw,48px);padding-bottom:clamp(25px,2.94vw,48px);padding-right:clamp(25px,2.94vw,48px)}
.case-study-reverse .case-copy{padding-left:clamp(25px,2.94vw,48px)}
.case-copy h3{font-size:clamp(2.1rem,2.94vw,3.36rem);margin-bottom:clamp(24px,2.8vw,39px)}
.case-copy-block{padding:15px 0}
.case-copy-block p{font-size:.9rem;line-height:1.6}
.case-media,.case-video{min-height:378px;height:378px}
.case-video{object-fit:contain}
.execution-heading{margin-bottom:48px}
.execution-grid article{min-height:200px;padding:21px 21px 25px}
.execution-grid h3{font-size:1.05rem;padding-top:34px;margin-bottom:10px}
.execution-grid p{font-size:.875rem}
.process .section-intro{margin-bottom:42px}
.process-list li{padding:20px 0;gap:28px}
.process-list strong{font-size:1.05rem}
.fit-intro{margin-top:21px}
.fit-option{padding:16px;gap:13px}
.fit-option strong{font-size:.95rem}
.fit-option small{font-size:.875rem}
.fit-check fieldset{margin-bottom:18px}
.fit-result{margin-top:17px;padding:16px;min-height:65px}
.fit-result strong{font-size:1rem}
.ladder-heading{margin-bottom:42px}
.service-ladder article{min-height:182px;padding:21px 18px 24px}
.service-ladder h3{font-size:1.05rem;margin-top:34px}
.service-ladder p{font-size:.875rem}
.package-intro>p:not(.eyebrow){font-size:.95rem;margin-top:21px;margin-bottom:34px}
.package-card{padding:clamp(20px,2.8vw,41px)}
.price{font-size:clamp(2.38rem,3.5vw,4.2rem);margin-top:32px}
.package-card li{padding:16px 0}
.package-card strong{font-size:.95rem}
.metric-row div{padding-top:18px;padding-bottom:18px}
.metric-row strong{font-size:clamp(1rem,1.4vw,1.44rem)}
summary{font-size:1rem;padding-top:18px;padding-bottom:18px}
summary:after{top:10px}
.contact{padding-top:clamp(63px,7.7vw,126px);padding-bottom:clamp(63px,7.7vw,126px)}
.contact>p:not(.eyebrow){font-size:.95rem;margin:24px auto}
@media(max-width:1050px){.hero-pack{min-height:0;padding:0 0 45px}.hero-copy{padding-right:0}.hero-pack-image{max-width:560px}.case-study-reverse .case-copy{padding-left:0}.case-media{margin-bottom:28px}}
@media(max-width:700px){h1{font-size:2rem}h2{font-size:2.1rem}.hero-copy{padding-top:43px;padding-bottom:31px}.hero-lead{font-size:1rem}.hero-detail{font-size:.9rem}.hero-pack-image{width:85%}.hero-pack{padding-bottom:34px}.section-light,.value-section,.execution-section,.work,.method,.package,.process,.fit-section,.ladder-section,.faq{padding-top:53px;padding-bottom:53px}.work{padding-bottom:0}.work-heading{gap:17px;margin-bottom:28px}.case-copy h3{font-size:2.2rem}.case-copy{padding:29px 0}.case-media,.case-video{min-height:0;height:min(80vw,300px)}.process-list li{gap:10px 16px}.execution-grid h3{margin-top:27px;padding-top:0}.price{font-size:2.24rem}}

/* Keep the moving case studies filling their columns in the compact layout. */
.case-video{object-fit:cover}

/* Let each complete video determine the row height; centre the compact copy beside it. */
.case-study,.case-study-reverse{align-items:center;min-height:0}
.case-media{height:auto;min-height:0;align-self:center}
.case-video{display:block;width:100%;height:auto;min-height:0;object-fit:contain}
.case-copy{align-self:center}
@media(max-width:1050px){.case-media,.case-video{height:auto;min-height:0}}
@media(max-width:700px){.case-media,.case-video{height:auto;min-height:0}}

/* Give the hero artwork most of its pane, especially at narrower widths. */
.hero-pack-image{width:100%;max-width:none}
@media(max-width:1050px){.hero-pack-image{width:100%;max-width:none}}

/* Give the artwork a wider column rather than scaling within the old narrow pane. */
@media(min-width:1051px){
  .hero{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);padding-right:24px}
  .hero-copy{padding-right:32px}
  .hero-pack{width:100%;min-width:0;overflow:visible}
  .hero-pack-image{width:100%;max-width:none}
  .hero-pack-image img{width:100%;max-width:none;height:auto}
}

/* Scale the hero artwork to 80% within the widened column. */
.hero-pack .hero-pack-image{width:80%}

/* Final contact choices. */
.contact-actions{justify-content:center;gap:18px}

/* Reserve the full square frame and keep its preview until playback succeeds. */
.case-video-frame{position:relative;aspect-ratio:1/1}
.case-video-frame .case-video{width:100%;height:auto;aspect-ratio:1/1;object-fit:contain}
.case-video-preview{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}
.case-video-frame.is-playing .case-video-preview{visibility:hidden}
.case-video-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border:0;border-radius:999px;padding:15px 24px;background:var(--mint);color:var(--ink,#1f2a2e);font:inherit;cursor:pointer;box-shadow:0 4px 24px #0004;white-space:nowrap}
.case-video-play[hidden]{display:none}
.case-video-play:focus-visible{outline:3px solid white;outline-offset:4px}
.button-outline{border:1px solid var(--mint);color:var(--mint);background:transparent}
.button-outline:hover{background:rgba(120,251,185,.08)}
@media(max-width:700px){.contact-actions{flex-direction:column}.contact-actions .button{width:min(100%,320px)}}

/* Standalone light introduction above the full-width case studies. */
.work-intro{background:var(--paper);color:var(--ink);padding:clamp(53px,6vw,90px) var(--page-gutter)}
.work-intro .work-heading{margin:0;align-items:center}
.work-intro .eyebrow,.work-intro h2{color:var(--ink)}
.work-intro h2{margin-bottom:0}
.work-intro h2 em{color:#477c69}
.work-intro .work-heading>p{color:var(--muted);margin-bottom:0}
.work{padding:0}

/* More breathing room around each showcase, keeping full-size media. */
.work > .case-study{padding-top:clamp(48px,6vw,96px);padding-bottom:clamp(48px,6vw,96px)}

/* Lower the description alongside the Selected Work heading. */
.work-intro .work-heading>p{align-self:end}

/* Package reference: dark introduction beside a rounded mint offer card. */
.package{background:var(--deep);color:var(--white);align-items:start}
.package h2{color:var(--white)}
.package h2 em{color:var(--mint)}
.package-intro>p:not(.eyebrow){color:#c3d0cd}
.package .metric-row{border-color:rgba(255,255,255,.2)}
.package .metric-row strong{color:var(--mint);font-size:clamp(1.2rem,2vw,2rem)}
.package .metric-row span{color:#9fb0ac}
.package-card{background:var(--mint);color:var(--ink);border-radius:24px;padding:clamp(24px,3.5vw,58px)}
@media(max-width:700px){.package-card{padding:26px 20px}.package .metric-row strong{font-size:1.2rem}}

.region-links{display:flex;flex-wrap:wrap;gap:16px;margin:0 0 24px;font-size:.85rem}.region-links a{text-underline-offset:4px}.region-links [aria-current="page"]{color:var(--mint);font-weight:800}
