
    :root{--surface:#f5f4ed;--text-primary:#13241d;--brand-green:#17613f;--brand-green-bright:#238659;--brand-green-deep:#103c2a;--brand-dark:#071827;--surface-muted:#e4e8e2;--divider:#d7dbd3;--text-muted:#65716b;--surface-light:#fbfcf7;--accent-gold:#9c7a43;--accent-gold-bright:#c9a463;--accent-gold-text:#86693a}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--surface);color:var(--text-primary);font-family:Arial,"Helvetica Neue","PingFang SC",sans-serif;font-size:16px;line-height:1.55}a{color:inherit;text-decoration:none}.header{height:84px;display:grid;grid-template-columns:1fr auto auto;column-gap:40px;align-items:center;padding:0 clamp(24px,4vw,72px);border-bottom:1px solid var(--divider);position:sticky;top:0;z-index:20;background:rgba(242,244,243,.94);backdrop-filter:blur(14px)}.logo{width:174px;display:block}nav{display:flex;gap:36px;font-size:14px}.right{display:flex;justify-content:flex-end;gap:22px;align-items:center;font-size:12px}.button{background:var(--brand-dark);color:white;padding:11px 16px;font-size:13px}.hero{min-height:min(calc(100vh - 84px),780px);padding:clamp(28px,4vw,64px) clamp(24px,4vw,72px) 64px;display:flex;flex-direction:column;position:relative;overflow:hidden}.eyebrow,.index{text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:700}.hero h1{font-size:clamp(49px,7.5vw,118px);letter-spacing:-.068em;line-height:.9;margin:3.2vh 0 0;max-width:1120px}.hero h1 em{font-style:normal;color:var(--brand-green)}.bottom{margin-top:auto;display:grid;grid-template-columns:1fr auto;align-items:end;gap:40px;padding-top:58px;position:relative;z-index:3}.bottom>p{font-size:clamp(17px,1.45vw,21px);max-width:650px;margin:0}.actions{display:grid;justify-items:end;gap:14px}.link{display:inline-flex;gap:28px;align-items:center;padding-bottom:6px;border-bottom:1px solid;font-size:14px;font-weight:700}.link b{color:var(--brand-green);font-size:20px}@keyframes float{50%{transform:translateY(-12px)}}.section{padding:clamp(80px,11vw,170px) clamp(24px,4vw,72px);border-top:1px solid var(--divider)}h2{font-size:clamp(44px,5.8vw,84px);letter-spacing:-.058em;line-height:.96;margin:0}.statement{display:grid;grid-template-columns:.85fr 1.05fr 1.5fr;gap:48px}.models{display:grid;gap:48px}.models article{border-top:2px solid var(--brand-dark);padding-top:18px}.models span{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--brand-green);font-weight:700}.models h3{font-size:25px;line-height:1.08;margin:18px 0}.models p{color:var(--text-muted)}.dark{background:var(--brand-dark);color:var(--surface-light)}.heading{display:grid;grid-template-columns:.8fr 1.5fr auto;gap:40px;align-items:start;margin-bottom:80px}.list{border-top:1px solid rgba(255,255,255,.24)}.list article{display:grid;grid-template-columns:90px 1fr 1.1fr;gap:25px;padding:28px 0;border-bottom:1px solid rgba(255,255,255,.2)}.list article>span{color:#8fa19f;font-size:13px}.list h3{margin:0;font-size:clamp(22px,2.25vw,33px);font-weight:500}.list p{margin:4px 0;color:#b3bfbd}.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}.stats div{display:flex;flex-direction:column;border-left:1px solid var(--divider);padding-left:18px}.stats strong{font-size:clamp(30px,4vw,56px);letter-spacing:-.06em;line-height:1;color:var(--brand-green)}.stats span{font-size:12px;text-transform:uppercase;color:var(--text-muted)}.note{font-size:13px;color:var(--text-muted);max-width:760px}.production{display:grid;grid-template-columns:.55fr 1.25fr 1fr;gap:45px;align-items:center;background:var(--brand-green);color:white}.type{display:flex;flex-direction:column;font-size:clamp(50px,8vw,122px);font-weight:900;line-height:.76;letter-spacing:-.085em;color:#9fb8ad;opacity:.52}.contact{background:var(--brand-dark);color:white}.contact h2{max-width:960px;margin:28px 0}
/* --- Contact CTA was using the same monumental section padding as the
   content-heavy sections above it (About/Services), but it only holds a
   short heading + one line + an email link, so that padding read as
   dead air rather than pace. Also its heading was one pixel short of
   its longest line (900px cap vs. an actual ~922px line width at this
   font size), so "We'll help make it work." broke into a third,
   oddly-split line ("...it" / "work.") that pushed the block even
   taller — bumped the cap above so it holds the intended two lines.
   Padding trimmed to roughly 2/3 of the shared --space-section scale:
   still generous, but sized to this section's actual content. --- */
.contact{padding-top:clamp(64px,7.3vw,110px)!important;padding-bottom:clamp(64px,7.3vw,110px)!important}.footer{padding:55px clamp(24px,4vw,72px);display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--divider)}.footer img{width:190px}.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s,transform .8s}.reveal.visible{opacity:1;transform:none}
    @media(max-width:900px){.header{grid-template-columns:1fr auto}.header nav,.right span{display:none}.statement,.production{grid-template-columns:1fr}.heading{grid-template-columns:1fr}.hero h1{font-size:12vw}.footer{gap:30px}}@media(max-width:600px){.header{height:70px}.logo{width:49px}.bottom{grid-template-columns:1fr}.actions{justify-items:start}.list article{grid-template-columns:40px 1fr}.list p{grid-column:2}.stats{grid-template-columns:1fr 1fr}.footer{flex-direction:column;align-items:flex-start}}@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}
    body{font-family:"Inter Variable","Noto Sans SC Subset","Noto Sans SC Variable","Noto Sans JP Variable",sans-serif;font-optical-sizing:auto}.header{background:rgba(247,248,246,.94)}.logo{width:58px}.hero h1{font-size:clamp(49px,7vw,108px)}
    .card-head{display:flex;justify-content:space-between;position:relative;z-index:2}.strategy-map{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;width:62%;position:relative}.strategy-map:after{content:"";position:absolute;left:50%;top:-22px;bottom:-22px;width:1px;background:rgba(11,27,43,.15)}.strategy-map i{height:1px;background:var(--text-primary)}.strategy-map i:nth-child(2){width:72%}.strategy-map i:nth-child(3){width:54%}.strategy-map i:nth-child(4){width:88%}.creative-frame{display:flex;align-items:flex-end;gap:8px;height:42%;position:relative}.creative-frame:before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:rgba(255,255,255,.46)}.creative-frame span{font-size:10px!important;letter-spacing:.1em;border:1px solid rgba(255,255,255,.38);padding:7px 8px;opacity:1!important}.creative-frame span:nth-child(2){transform:translateY(-11px)}.delivery-track{display:flex;align-items:center;width:72%;position:relative}.delivery-track:before{content:"";position:absolute;left:6px;right:6px;height:1px;background:rgba(11,27,43,.26)}.delivery-track i{width:9px;height:9px;border-radius:50%;background:var(--surface);border:1px solid var(--brand-dark);position:relative;margin-right:22%}.delivery-track i:last-child{margin:0;background:var(--brand-green)}.signal-axis{position:absolute;left:-18px;top:12%;bottom:8%;display:flex;flex-direction:column;justify-content:space-between;color:var(--text-muted);font-size:9px;letter-spacing:.14em;writing-mode:vertical-rl}@keyframes oneFloat{0%,100%{transform:rotate(2.6deg) translateY(0)}50%{transform:rotate(1.8deg) translateY(-7px)}}@keyframes twoFloat{0%,100%{transform:rotate(-3.2deg) translateY(0)}50%{transform:rotate(-2.3deg) translateY(-10px)}}@keyframes threeFloat{0%,100%{transform:rotate(1.8deg) translateY(0)}50%{transform:rotate(1deg) translateY(-6px)}}
    .brand-image{margin:0;position:relative;background:var(--brand-dark);overflow:hidden}.brand-image img{display:block;width:100%;height:clamp(420px,58vw,780px);object-fit:cover;object-position:center}.brand-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,27,43,.04),rgba(11,27,43,.38));pointer-events:none}.brand-image figcaption{position:absolute;z-index:2;left:clamp(24px,4vw,72px);right:clamp(24px,4vw,72px);bottom:30px;color:var(--surface-light);display:flex;justify-content:space-between;align-items:end;gap:30px}.brand-image figcaption span{font-size:clamp(28px,4vw,58px);letter-spacing:-.05em;line-height:1}.brand-image figcaption a{font-size:11px;letter-spacing:.08em;border-bottom:1px solid rgba(255,255,255,.65);padding-bottom:4px}@media(max-width:600px){.brand-image img{height:72vw;min-height:330px}.brand-image figcaption{align-items:flex-start;flex-direction:column}.brand-image figcaption a{font-size:10px}}
    .header{background:rgba(245,244,237,.92)}.button{border-radius:999px;padding-inline:20px}.hero{background:radial-gradient(circle at 84% 36%,rgba(156,122,67,.12),transparent 24%),var(--surface)}.hero h1 em{color:var(--brand-green-bright)}.corner{position:absolute;right:25px;bottom:22px;width:38px;height:38px;border:1px solid rgba(255,255,255,.4);border-radius:50%;display:grid;place-items:center;font-size:18px}.signal-words{display:flex;flex-direction:column;gap:2px;font-size:clamp(17px,1.55vw,25px);font-weight:760;letter-spacing:-.045em;line-height:.93}.signal-words span{font-size:inherit;opacity:1}.signal-words span:nth-child(2){color:var(--brand-green-bright);transform:translateX(13%)}.signal-words span:nth-child(3){transform:translateX(26%)}.signal-route{position:absolute;right:22px;bottom:19px;width:42%;height:1px;background:rgba(19,36,29,.2);display:flex;justify-content:space-between}.signal-route i{width:7px;height:7px;border-radius:50%;background:var(--brand-green);transform:translateY(-3px)}.signal-route i:nth-child(2){background:var(--accent-gold)}.signal-axis{left:-25px;color:var(--brand-green);font-weight:700}.dark,.contact{background:var(--brand-dark)}.production{background:var(--brand-green-deep)}.type{color:#9fc0aa;opacity:.42}.stats strong,.link b{color:var(--brand-green-bright)}@keyframes oneNew{0%,100%{transform:rotate(2deg) translate3d(0,0,0)}50%{transform:rotate(1.2deg) translate3d(-2px,-10px,18px)}}@keyframes twoNew{0%,100%{transform:rotate(-3deg) translate3d(0,0,22px)}50%{transform:rotate(-1.8deg) translate3d(7px,-13px,42px)}}@keyframes threeNew{0%,100%{transform:rotate(4deg) translate3d(0,0,55px)}50%{transform:rotate(2deg) translate3d(-5px,-12px,72px)}}@keyframes orbitBreath{0%,100%{transform:scale(.98);opacity:.58}50%{transform:scale(1.04);opacity:1}}@keyframes pulseGlow{0%,100%{transform:scale(.94);opacity:.55}50%{transform:scale(1.08);opacity:1}}@media(max-width:900px){}@media(max-width:600px){.signal-axis{display:none}}@media(prefers-reduced-motion:reduce){}
    .dark{background:#17613f}.dark .index,.dark .list article>span{color:var(--accent-gold)}.dark .list{border-top-color:rgba(255,255,255,.34)}.dark .list article{border-bottom-color:rgba(255,255,255,.25)}.dark .list p{color:rgba(251,252,247,.72)}.signal-axis{opacity:.65}@keyframes oneNew{0%,100%{transform:rotate(1.5deg) translate3d(0,0,0)}50%{transform:rotate(.6deg) translate3d(-2px,-8px,18px)}}@keyframes twoNew{0%,100%{transform:rotate(-2.4deg) translate3d(0,0,22px)}50%{transform:rotate(-1.1deg) translate3d(6px,-11px,42px)}}@keyframes threeNew{0%,100%{transform:rotate(3deg) translate3d(0,0,55px)}50%{transform:rotate(0deg) translate3d(-4px,-10px,72px)}}@media(prefers-reduced-motion:reduce){}
    .contact{background:var(--text-primary)}.signal-number{font-size:clamp(70px,8vw,128px)!important;line-height:.72;font-weight:820;letter-spacing:-.1em;color:var(--accent-gold);opacity:1!important}.signal-kicker{font-size:9px!important;letter-spacing:.14em;font-weight:760;color:var(--brand-green);opacity:1!important}.signal-words{margin-top:auto;font-size:clamp(17px,1.55vw,24px)}.signal-words span:nth-child(2){color:var(--text-primary);transform:translateX(10%)}.signal-words span:nth-child(3){transform:translateX(20%)}.signal-axis,.signal>small,.signal-route,.corner{display:none}.actions{justify-items:end}.actions .link b{width:30px;height:30px;border-radius:50%;background:var(--accent-gold);color:var(--text-primary);display:grid;place-items:center;font-size:17px}@keyframes oneNew{0%,100%{transform:rotate(1.6deg) translate3d(0,0,0)}50%{transform:rotate(.7deg) translate3d(-2px,-7px,18px)}}@keyframes twoNew{0%,100%{transform:rotate(-2.3deg) translate3d(0,0,22px)}50%{transform:rotate(-1deg) translate3d(6px,-10px,42px)}}@keyframes threeNew{0%,100%{transform:rotate(2.2deg) translate3d(0,0,55px)}50%{transform:rotate(.8deg) translate3d(-4px,-8px,72px)}}@media(prefers-reduced-motion:reduce){}
    .logo{width:48px}.statement .index,.dark .index,#work .index,.production .index{display:inline-flex;width:max-content;padding:7px 11px;border-radius:999px;background:var(--accent-gold);color:var(--text-primary);line-height:1;letter-spacing:.1em}.signal-kicker{color:#17613f}.link b,.footer-email b{font-family:Arial,sans-serif;font-weight:300;line-height:1}.footer-email{display:inline-flex;align-items:center;gap:9px;border-bottom:1px solid var(--text-primary);padding-bottom:4px}.footer-email b{font-size:15px;color:var(--brand-green)}@media(max-width:600px){.logo{width:43px}}
    /* 2026 refinement VII: card hierarchy and type rhythm */
    .statement .index,.dark .index,#work .index,.production .index{align-self:start;height:auto;min-height:0;white-space:nowrap}
    .dark .list article>span{color:rgba(255,255,255,.92)}
    
    .signal-number{margin-bottom:4px}
    .card strong,.signal-words{font-size:clamp(25px,2.4vw,38px);font-weight:760;line-height:.94;letter-spacing:-.055em;margin:0;text-align:center}
    .three i,.signal-kicker{display:none}
    h2{font-size:clamp(44px,5.8vw,84px);font-weight:700;letter-spacing:-.058em;line-height:.96}
    .eyebrow,.index,.models span,.list article>span,.stats span{font-size:12px;line-height:1.3;letter-spacing:.1em}
    .models p,.list p,.note,.footer{line-height:1.55}
    @media(max-width:600px){.card strong,.signal-words{font-size:clamp(20px,6vw,30px)}}
    /* 2026 refinement VIII: impact narrative and optical spacing */
    #work .heading h2{line-height:1.07}
    
    @media(max-width:900px){}@media(max-width:600px){#work .heading h2{line-height:1.04}}
    /* 2026 refinement IX: shared arrow treatment */
    .contact .link{gap:14px}.contact .link b{width:30px;height:30px;border-radius:50%;background:var(--accent-gold);color:var(--text-primary);display:grid;place-items:center;font-size:17px;font-weight:300;transition:transform .25s}.contact .link:hover b{transform:translate(3px,-3px)}
    /* 2026 refinement X: designed signal typography */
    .card-words{display:flex;flex-direction:column;align-items:center;width:100%}.card-words span{font:inherit;line-height:inherit;letter-spacing:inherit;opacity:1}
    /* 2026 refinement XI: editorial capability matrix */
    .dark .list{border-top:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(30px,4vw,70px);row-gap:clamp(52px,6vw,86px)}.dark .list article{position:relative;display:block;padding:30px 0 0;border:0;min-height:210px;background:transparent;transition:transform .3s ease}.dark .list article:before{content:"";position:absolute;left:0;top:0;width:54px;height:3px;background:var(--accent-gold);transition:width .3s ease}.dark .list article:hover{padding-left:0;background:transparent;transform:translateY(-7px)}.dark .list article:hover:before{width:100%}.dark .list article>span{display:block;margin-bottom:36px;font-size:12px;color:var(--surface-light)}.dark .list h3{font-size:clamp(25px,2.2vw,34px);font-weight:650;line-height:1.04;max-width:330px}.dark .list p{margin:22px 0 0;font-size:15px;line-height:1.55;max-width:390px}.dark .list article:nth-child(2),.dark .list article:nth-child(5){transform:translateY(34px)}.dark .list article:nth-child(2):hover,.dark .list article:nth-child(5):hover{transform:translateY(27px)}@media(max-width:900px){.dark .list{grid-template-columns:repeat(2,minmax(0,1fr))}.dark .list article:nth-child(2),.dark .list article:nth-child(5){transform:none}.dark .list article:nth-child(2):hover,.dark .list article:nth-child(5):hover{transform:translateY(-7px)}}@media(max-width:600px){.dark .list{grid-template-columns:1fr;row-gap:44px}.dark .list article{min-height:0}.dark .list article>span{margin-bottom:22px}}
    /* 2026 refinement XII: narrative hero cards */
    .capability-path{width:100%;display:grid;grid-template-columns:auto 1fr auto 1fr auto;align-items:center;gap:8px;font-size:clamp(14px,1.3vw,20px)!important;line-height:1!important;letter-spacing:-.025em!important}.capability-path span{font:inherit;opacity:1}.capability-path i{height:1px;overflow:hidden;color:transparent;background:linear-gradient(90deg,var(--brand-green),var(--accent-gold));position:relative}.capability-path i:after{content:"";position:absolute;right:0;top:-2px;width:5px;height:5px;border-top:1px solid var(--brand-green);border-right:1px solid var(--brand-green);transform:rotate(45deg)}.capability-path span:nth-of-type(2){color:var(--brand-green)}.impact-phrase{display:flex;flex-direction:column;align-items:flex-start!important;width:100%;font-size:clamp(21px,2vw,31px)!important;line-height:.94!important;text-align:left!important}.impact-phrase span{font:inherit;opacity:1}.impact-phrase span:first-child{font-size:.62em;letter-spacing:.08em;text-transform:uppercase;margin-bottom:7px;color:var(--brand-green)}.impact-phrase em{font-style:normal;color:var(--brand-green);position:relative}.impact-phrase em:after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:3px;background:var(--accent-gold)}@media(max-width:600px){.capability-path{font-size:15px!important}.impact-phrase{font-size:22px!important}}
    /* 2026 refinement XIII: editorial hero identity */
    .hero-identity{position:absolute;right:clamp(28px,4vw,72px);top:clamp(48px,7vw,100px);width:min(29vw,430px);padding-left:clamp(24px,2.4vw,40px);border-left:1px solid rgba(19,36,29,.25);color:var(--text-primary);z-index:3}.identity-est{display:flex;align-items:baseline;justify-content:space-between;padding-bottom:17px;border-bottom:1px solid rgba(19,36,29,.18);text-transform:uppercase}.identity-est span{font-size:11px;font-weight:700;letter-spacing:.16em;color:var(--brand-green)}.identity-est strong{font-size:14px;letter-spacing:.08em}.identity-years{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:center;padding:27px 0 30px}.identity-years>strong{font-size:clamp(92px,9vw,148px);font-weight:820;letter-spacing:-.105em;line-height:.72;color:var(--accent-gold)}.identity-years>span{font-size:clamp(13px,1.1vw,17px);font-weight:700;line-height:1.18;text-transform:uppercase;letter-spacing:.055em}.identity-capabilities{border-top:1px solid rgba(19,36,29,.22)}.identity-capabilities p{display:grid;grid-template-columns:30px 1fr;gap:15px;margin:0;padding:13px 0;border-bottom:1px solid rgba(19,36,29,.14);font-size:clamp(13px,1vw,15px);font-weight:650;letter-spacing:-.01em}.identity-capabilities p span{font-size:10px;letter-spacing:.1em;color:var(--brand-green);padding-top:3px}.hero>h1{max-width:72%}.hero-identity>*{animation:identityIn .8s cubic-bezier(.2,.75,.2,1) both}.hero-identity>*:nth-child(2){animation-delay:.12s}.hero-identity>*:nth-child(3){animation-delay:.24s}@keyframes identityIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@media(max-width:1080px){.hero-identity{opacity:.3;right:-8%;width:47vw}.hero>h1{max-width:88%}}@media(max-width:700px){.hero-identity{display:none}.hero>h1{max-width:100%}}@media(prefers-reduced-motion:reduce){.hero-identity>*{animation:none}}
    /* 2026 refinement XIV: capability word composition */
    .identity-capabilities{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding-top:8px;border-top:0}
    .identity-capabilities p{display:flex;align-items:baseline;gap:9px;margin:0;padding:0;border:0;font-size:clamp(20px,1.85vw,29px);font-weight:760;line-height:.96;letter-spacing:-.052em;white-space:nowrap}
    .identity-capabilities p strong{font:inherit;font-weight:780}
    .identity-capabilities p span{font-size:.48em;font-weight:720;line-height:1;text-transform:uppercase;letter-spacing:.085em;color:rgba(19,36,29,.56);padding:0}
    .identity-capabilities .cap-strategy{margin-left:0;color:var(--text-primary)}
    .identity-capabilities .cap-creative{margin-left:13%;color:var(--brand-green)}
    .identity-capabilities .cap-social{margin-left:4%;color:var(--text-primary)}
    .identity-capabilities .cap-delivery{margin-left:21%;color:var(--brand-green)}
    .identity-capabilities::after{content:"";width:34px;height:4px;margin:14px 0 0 21%;border-radius:99px;background:var(--accent-gold)}
    /* 2026 refinement XV: restore and refine the three-card hero */
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    @media(max-width:1080px){.hero>h1{max-width:84%}}
    @media(max-width:700px){.hero>h1{max-width:100%}}
    /* 2026 refinement XVI: card balance and breathing room */
    .hero>.eyebrow{display:flex;align-items:center;gap:14px}
    .hero>.eyebrow::before{content:"";width:42px;height:7px;border-radius:999px;background:var(--accent-gold);flex:0 0 auto}
    
    
    
    
    
    
    
    
    
    /* 2026 refinement XVII: lighter reading rhythm */
    .models{gap:clamp(46px,5vw,68px)}
    .models article{padding-top:20px}.models h3{max-width:430px;margin:20px 0 14px;line-height:1.16}.models p{margin:0;font-size:16px;line-height:1.68;max-width:500px}
    .dark .list{row-gap:clamp(64px,7vw,96px)}.dark .list article{min-height:190px;padding-top:28px}.dark .list article>span{margin-bottom:30px;opacity:.78}.dark .list h3{line-height:1.1;max-width:320px}.dark .list p{margin-top:18px;line-height:1.68;max-width:340px;color:rgba(251,252,247,.76)}
    #work .heading{margin-bottom:clamp(70px,8vw,112px)}
    .stats{gap:clamp(30px,4vw,52px)}.stats div{padding-left:20px}.stats span{margin-top:10px}.note{line-height:1.65;margin-top:34px}
    @media(max-width:600px){.dark .list{row-gap:50px}}
    /* 2026 refinement XVIII: visible language state */
    .preview-languages{display:flex;align-items:center;gap:18px}.preview-languages a{position:relative;color:rgba(19,36,29,.48);font-weight:520;transition:color .2s}.preview-languages a:hover,.preview-languages a.active{color:var(--text-primary)}.preview-languages a.active{font-weight:760}.preview-languages a::after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:2px;background:var(--accent-gold);transition:right .2s}.preview-languages a:hover::after,.preview-languages a.active::after{right:0}
    /* 2026 refinement XIX: outcome archive cards */
    .stats strong{font-size:clamp(38px,4.4vw,68px)}@media(max-width:900px){}
    .brand-image figcaption small{font-size:11px;line-height:1.3;letter-spacing:.08em;text-transform:uppercase;font-weight:650}
    @media(max-width:600px){.brand-image figcaption small{font-size:10px}}
    .services-editorial{display:grid;grid-template-columns:minmax(280px,.84fr) minmax(0,1.35fr);gap:clamp(70px,9vw,150px);align-items:start}.services-editorial .services-intro{position:sticky;top:130px}.services-editorial .services-intro h2{margin:clamp(34px,4.5vw,70px) 0 30px;font-size:clamp(48px,5.5vw,82px);line-height:.98}.services-editorial .services-note{max-width:430px;color:rgba(251,252,247,.72);font-size:16px;line-height:1.68;margin:0 0 38px}.services-editorial .list{display:grid!important;grid-template-columns:1fr!important;gap:0!important}.services-editorial .list article,.services-editorial .list article:nth-child(2),.services-editorial .list article:nth-child(5){display:grid;grid-template-columns:48px minmax(0,1fr) 28px;gap:22px;align-items:start;min-height:0;padding:32px 0;border:0;border-top:1px solid rgba(255,255,255,.26);transform:none!important}.services-editorial .list article:last-child{border-bottom:1px solid rgba(255,255,255,.26)}.services-editorial .list article:before{display:none}.services-editorial .list article>span{margin:5px 0 0!important;color:var(--accent-gold)!important;opacity:1}.services-editorial .list h3{margin:0;font-size:clamp(24px,2.25vw,35px);line-height:1.08;max-width:none}.services-editorial .list p{margin:14px 0 0;max-width:600px;font-size:15px;line-height:1.68}.services-editorial .list i{font-style:normal;font-size:20px;color:var(--accent-gold);opacity:0;transform:translate(-8px,8px);transition:.25s}.services-editorial .list article:hover i{opacity:1;transform:none}
    .brand-image img{height:clamp(520px,63vw,880px);filter:saturate(.84) contrast(1.03)}
    .production-editorial{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:clamp(64px,8vw,130px);align-items:start}.production-editorial .production-head{position:sticky;top:130px}.production-editorial .production-head h2{margin:clamp(36px,5vw,78px) 0 30px}.production-editorial .production-head>p:not(.index){max-width:490px;font-size:17px;line-height:1.72;color:rgba(251,252,247,.76);margin:0 0 36px}.production-media{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(14px,1.8vw,28px);align-items:start}.production-media figure{margin:0;position:relative;overflow:hidden;background:var(--brand-green-deep)}.production-media img,.production-media video{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.75,.2,1)}.production-media figure:hover img,.production-media figure:hover video{transform:scale(1.025)}.production-media figcaption{position:absolute;left:16px;bottom:15px;padding:6px 9px;background:rgba(10,31,24,.68);color:var(--surface-light);font-size:9px;line-height:1;text-transform:uppercase;letter-spacing:.12em}.production-video{grid-column:1/-1;aspect-ratio:16/9}.production-still{aspect-ratio:4/5}.production-food{margin-top:clamp(20px,4vw,70px)!important}.production-tea{aspect-ratio:3/4}
    .growth{display:grid;grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr);gap:clamp(70px,10vw,170px);background:var(--surface)}.growth-intro h2{margin:clamp(34px,4vw,68px) 0 30px}.growth-intro>p:not(.index){max-width:500px;font-size:17px;line-height:1.72;color:var(--text-muted);margin:0 0 36px}.growth-track{border-top:1px solid var(--text-primary)}.growth-track article{display:grid;grid-template-columns:115px 1fr;gap:30px;align-items:baseline;padding:25px 0;border-bottom:1px solid var(--divider);transition:.3s}.growth-track article:hover{padding-left:18px;background:rgba(156,122,67,.12)}.growth-track strong{font-size:clamp(28px,3vw,46px);line-height:1;letter-spacing:-.05em;color:var(--brand-green)}.growth-track span{font-size:clamp(18px,1.65vw,25px);font-weight:620;line-height:1.2}
    @media(max-width:900px){.services-editorial,.production-editorial,.growth{grid-template-columns:1fr}.services-editorial .services-intro,.production-editorial .production-head{position:static}.services-editorial .list article{grid-template-columns:42px 1fr}.services-editorial .list i{display:none}.production-media{margin-top:12px}.growth-track{margin-top:18px}}@media(max-width:600px){.production-media{grid-template-columns:1fr}.production-video{grid-column:1}.production-still{aspect-ratio:4/3}.production-food{margin-top:0!important}.growth-track article{grid-template-columns:82px 1fr;gap:18px}.brand-image img{height:78vw;min-height:360px}}
    .services-narrative{display:block}.services-narrative .services-intro{position:relative;top:auto;display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(48px,7vw,110px);align-items:start;margin-bottom:clamp(72px,9vw,130px)}.services-narrative .services-intro .index{grid-row:1/5}.services-narrative .services-intro h2{margin:0}.services-narrative .services-note{margin:4px 0 18px;max-width:560px}.service-stories{display:grid;gap:clamp(74px,9vw,140px)}.service-story{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(340px,.82fr);column-gap:clamp(44px,6vw,94px);align-items:center}.service-story:nth-child(even){grid-template-columns:minmax(340px,.82fr) minmax(0,1.18fr)}.service-story:nth-child(even) .service-media{grid-column:2;grid-row:1/3}.service-story:nth-child(even) .service-label,.service-story:nth-child(even) .service-pair{grid-column:1}.service-media{position:relative;grid-row:1/3;min-height:clamp(390px,42vw,650px);overflow:hidden;background:var(--brand-green-deep)}.service-media img,.service-media video{display:block;width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform 1s cubic-bezier(.2,.75,.2,1),filter .6s}.service-story:hover .service-media img,.service-story:hover .service-media video{transform:scale(1.028);filter:saturate(1.06)}.service-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(4,22,15,.34));pointer-events:none}.service-split .service-media{display:grid;grid-template-columns:1fr 1fr;gap:2px}.service-split .service-media img{position:relative;inset:auto}.service-split .service-media img+img{object-position:58% center}.service-label{align-self:end;margin:0 0 clamp(30px,4vw,58px);font-size:11px;font-weight:720;text-transform:uppercase;letter-spacing:.13em;color:var(--accent-gold);display:flex;align-items:center;gap:12px}.service-label:before{content:"";width:34px;height:3px;background:var(--accent-gold)}.service-pair{align-self:start;display:grid;gap:clamp(30px,4vw,54px)}.service-pair>div{padding-top:22px;border-top:1px solid rgba(255,255,255,.28)}.service-pair span{display:block;margin-bottom:17px;font-size:11px;letter-spacing:.12em;color:var(--accent-gold)}.service-pair h3{margin:0;font-size:clamp(25px,2.3vw,35px);line-height:1.08}.service-pair p{margin:15px 0 0;max-width:510px;color:rgba(251,252,247,.72);font-size:15px;line-height:1.65}.service-story:nth-child(1) .service-media{clip-path:polygon(0 0,100% 0,100% 94%,7% 100%,0 100%)}.service-story:nth-child(2) .service-media{clip-path:polygon(0 5%,92% 0,100% 0,100% 100%,0 100%)}.service-story:nth-child(3) .service-media{clip-path:polygon(0 0,100% 7%,100% 100%,0 100%)}
    .production{display:grid;grid-template-columns:.55fr 1.25fr 1fr;gap:45px;align-items:center;background:var(--brand-green);color:white}.production .type{display:flex}.production-copy p{font-size:18px;max-width:520px;margin:32px 0}.production-copy h2{margin:0}
    @media(max-width:900px){.services-narrative .services-intro{grid-template-columns:1fr}.services-narrative .services-intro .index{grid-row:auto}.service-story,.service-story:nth-child(even){grid-template-columns:1fr}.service-story:nth-child(even) .service-media{grid-column:1;grid-row:auto}.service-story:nth-child(even) .service-label,.service-story:nth-child(even) .service-pair{grid-column:1}.service-media{grid-row:auto;min-height:58vw}.service-label{margin:26px 0 30px}.production{grid-template-columns:1fr}.production .type{font-size:18vw}}@media(max-width:600px){.service-media{min-height:78vw}.service-story:nth-child(1) .service-media,.service-story:nth-child(2) .service-media,.service-story:nth-child(3) .service-media{clip-path:none}.service-split .service-media{min-height:95vw}.service-pair{gap:34px}}
    /* 2026 refinement XXIII: compact editorial services and a more alive hero */
    .hero::before{content:"";position:absolute;left:-8%;top:42%;width:44%;height:2px;background:linear-gradient(90deg,transparent,var(--accent-gold),transparent);opacity:.72;transform:rotate(-7deg);animation:heroSweep 8s cubic-bezier(.45,0,.2,1) infinite;pointer-events:none}.hero::after{content:"";position:absolute;left:27%;top:37%;width:10px;height:10px;border-radius:50%;background:var(--accent-gold);box-shadow:0 0 0 9px rgba(156,122,67,.12);animation:heroSignal 8s cubic-bezier(.45,0,.2,1) infinite;pointer-events:none}.hero h1 em{position:relative;background:linear-gradient(90deg,var(--brand-green-bright) 0%,var(--brand-green-bright) 42%,var(--brand-green-bright) 52%,var(--brand-green-bright) 62%,var(--brand-green-bright) 100%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:headlineLight 7s ease-in-out infinite}.services-narrative{padding-top:clamp(72px,7vw,112px);padding-bottom:clamp(76px,8vw,124px)}.services-narrative .services-intro{grid-template-columns:minmax(190px,.48fr) minmax(0,1.52fr);gap:clamp(30px,5vw,80px);margin-bottom:clamp(42px,5vw,72px)}.services-narrative .services-intro h2{max-width:1040px}.services-narrative .services-note{margin:8px 0 10px;max-width:610px}.service-visuals{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,1.8vw,28px);margin-bottom:clamp(42px,5vw,70px)}.service-visuals figure{position:relative;margin:0;aspect-ratio:16/7;overflow:hidden;background:var(--brand-green-deep);border-radius:14px}.service-visuals img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.75,.2,1),filter .5s}.service-visuals figure:hover img{transform:scale(1.025);filter:saturate(1.05)}.service-visuals figcaption{position:absolute;left:18px;bottom:15px;padding:6px 9px;background:rgba(9,36,25,.72);font-size:10px;line-height:1;text-transform:uppercase;letter-spacing:.12em;color:var(--surface-light)}.service-groups{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(28px,4vw,70px);border-top:1px solid rgba(255,255,255,.34)}.service-group{padding-top:24px}.service-group>p{display:flex;align-items:center;gap:12px;margin:0 0 28px;color:var(--accent-gold);font-size:11px;font-weight:720;letter-spacing:.13em;text-transform:uppercase}.service-group>p::before{content:"";width:25px;height:3px;background:var(--accent-gold)}.service-group>div+div{margin-top:26px;padding-top:24px;border-top:1px solid rgba(255,255,255,.18)}.service-group span{display:block;margin-bottom:10px;font-size:11px;letter-spacing:.12em;color:rgba(255,255,255,.88)}.service-group h3{margin:0;font-size:clamp(23px,2vw,31px);line-height:1.08}.service-group div>p{margin:12px 0 0;color:rgba(251,252,247,.72);font-size:15px;line-height:1.58}.growth{display:none}@keyframes heroSweep{0%,18%{transform:translateX(-32%) rotate(-7deg);opacity:0}28%{opacity:.72}64%{opacity:.42}82%,100%{transform:translateX(112%) rotate(-7deg);opacity:0}}@keyframes heroSignal{0%,18%{transform:translate(-220px,28px);opacity:0}29%{opacity:1}70%{opacity:.9}82%,100%{transform:translate(500px,-62px);opacity:0}}@keyframes headlineLight{0%,28%{background-position:100% 0}72%,100%{background-position:-105% 0}}@keyframes heroCardsIn{from{opacity:0;transform:translate3d(28px,18px,0) scale(.985)}to{opacity:1;transform:none}}@media(max-width:900px){.services-narrative .services-intro{grid-template-columns:1fr}.service-groups{grid-template-columns:1fr 1fr}.service-group:last-child{grid-column:1/-1}.hero::before,.hero::after{opacity:.35}}@media(max-width:600px){.service-visuals{grid-template-columns:1fr}.service-visuals figure{aspect-ratio:16/10}.service-groups{grid-template-columns:1fr}.service-group:last-child{grid-column:auto}.hero::before,.hero::after{display:none}}@media(prefers-reduced-motion:reduce){.hero::before,.hero::after,.hero h1 em,.hero-cards{animation:none}}
    /* 2026 refinement XXIV: staged hero assembly, owned imagery, restored motion */
    .production{background:var(--brand-green-deep)}
    
    .service-visuals{grid-template-columns:1.2fr 1fr 1fr;gap:clamp(12px,1.5vw,24px)}.service-visuals figure{aspect-ratio:16/10}.service-visuals img,.service-visuals video{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.75,.2,1),filter .5s}.service-visuals figure:hover img,.service-visuals figure:hover video{transform:scale(1.025);filter:saturate(1.05)}
    @keyframes flyTwenty{0%{transform:translate3d(-72vw,18vh,0) rotate(-9deg) scale(.72);opacity:0}14%{opacity:1}76%{transform:translate3d(-14px,0,0) rotate(1deg) scale(1.02);opacity:1}92%{transform:none;opacity:1}100%{transform:none;opacity:0}}@keyframes cardOneArrive{from{opacity:0;transform:rotate(1.6deg) scale(.91);clip-path:inset(46% 12% 46% 12% round 13px)}to{opacity:1;transform:rotate(1.6deg);clip-path:inset(0 round 13px)}}@keyframes numberSet{from{opacity:0}to{opacity:1}}@keyframes cardCopyIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes cardTwoArrive{from{opacity:0;transform:translate3d(42px,22px,0) rotate(-1deg) scale(.94)}to{opacity:1;transform:rotate(-2.3deg) translate3d(0,0,22px)}}@keyframes cardThreeArrive{from{opacity:0;transform:translate3d(-32px,24px,0) rotate(-1deg) scale(.92)}to{opacity:1;transform:rotate(2.2deg) translate3d(0,0,55px)}}
    @media(max-width:900px){.service-visuals{grid-template-columns:1fr 1fr}.service-visuals figure:first-child{grid-column:1/-1;aspect-ratio:16/7}}@media(max-width:600px){.service-visuals{grid-template-columns:1fr}.service-visuals figure:first-child{grid-column:auto;aspect-ratio:16/10}}@media(prefers-reduced-motion:reduce){}
    /* 2026 refinement XXV: precise entrance choreography and alternating service stories */
    .hero::before,.hero::after{display:none!important}.hero h1 em{animation:none;background:none;-webkit-background-clip:initial;background-clip:initial;color:var(--brand-green-bright)}
    
    .services-narrative .services-intro{margin-bottom:clamp(56px,6vw,86px)}.service-stories{gap:clamp(72px,7vw,112px)}.service-story,.service-story:nth-child(even){grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);column-gap:clamp(48px,6vw,96px)}.service-story:nth-child(even){grid-template-columns:minmax(360px,.95fr) minmax(0,1.05fr)}.service-media{min-height:clamp(360px,35vw,520px);border-radius:12px;clip-path:none!important}.service-media img,.service-media video{filter:saturate(.64) contrast(1.06) brightness(.88) sepia(.06)}.service-media:after{background:linear-gradient(180deg,rgba(16,60,42,.08),rgba(7,24,19,.24));mix-blend-mode:multiply}.service-story:hover .service-media img,.service-story:hover .service-media video{filter:saturate(.72) contrast(1.06) brightness(.91) sepia(.04)}.service-label{margin-bottom:clamp(24px,3vw,42px)}.service-pair{gap:clamp(24px,3vw,38px)}.service-pair>div{padding-top:19px}.service-pair p{margin-top:12px}.production{background:var(--brand-green-deep)}
    @media(max-width:900px){.service-story,.service-story:nth-child(even){grid-template-columns:1fr}.service-media{min-height:58vw}.service-story:nth-child(even) .service-media{grid-column:1;grid-row:auto}.service-story:nth-child(even) .service-label,.service-story:nth-child(even) .service-pair{grid-column:1}.service-label{margin:24px 0 28px}}@media(max-width:600px){.service-media{min-height:74vw}}
    /* v26: tighten the services opening so the first story enters the viewport sooner */
    .services-narrative .services-intro{min-height:0!important;margin-bottom:clamp(26px,2.8vw,44px)!important}
    .services-narrative .services-note{margin-bottom:0}
    .service-stories{margin-top:0}
    /* v27: denser services lead-in, lighter navigation CTA and calmer section transitions */
    .header .button{padding:10px 16px;border:1px solid rgba(19,36,29,.18);border-radius:999px;background:rgba(156,122,67,.14);color:var(--text-primary);font-weight:700;box-shadow:inset 0 0 0 1px rgba(255,255,255,.5);transition:background .25s,border-color .25s,transform .25s}
    .header .button:hover{background:var(--accent-gold);border-color:var(--accent-gold);transform:translateY(-1px)}
    .services-narrative .services-intro{margin-bottom:0!important}
    .services-narrative .service-stories{margin-top:clamp(-132px,-7vw,-78px)}
    
    
    
    
    
    
    
    .production{padding-top:clamp(66px,6.5vw,104px);padding-bottom:clamp(66px,6.5vw,104px)}
    
    
    
    @keyframes heroFloatOne{0%,100%{transform:rotate(1.6deg) translate3d(0,0,0)}50%{transform:rotate(.9deg) translate3d(-3px,-8px,0)}}
    @keyframes heroFloatTwo{0%,100%{transform:rotate(-2.3deg) translate3d(0,0,22px)}50%{transform:rotate(-1.5deg) translate3d(5px,-10px,22px)}}
    @keyframes heroFloatThree{0%,100%{transform:rotate(2.2deg) translate3d(0,0,55px)}50%{transform:rotate(1.4deg) translate3d(-4px,-7px,55px)}}
    @media(max-width:900px){.services-narrative .service-stories{margin-top:28px}}
    /* v28: balance the hero accents and join the two closing dark sections */
    .header .button{background:var(--accent-gold);border-color:var(--accent-gold);box-shadow:none}
    
    .hero .bottom>p{position:relative;padding-left:22px}
    .hero .bottom>p::before{content:"";position:absolute;left:0;top:.28em;width:5px;height:calc(100% - .48em);border-radius:999px;background:var(--accent-gold)}
    .hero .bottom>p .hero-copy-accent{color:var(--brand-green-bright);font-weight:700}
    .contact{border-top:0}
    @media(max-width:600px){.hero .bottom>p{padding-left:17px}.hero .bottom>p::before{width:4px}}
    /* v29: one reading axis for Services, with a shorter editorial rhythm */
    .services-narrative .service-stories{margin-top:clamp(-82px,-4.5vw,-42px);gap:clamp(46px,5vw,74px)}
    .service-story,.service-story:nth-child(even){grid-template-columns:minmax(320px,.88fr) minmax(430px,1.12fr);column-gap:clamp(42px,5vw,78px);align-items:center}
    .service-story:nth-child(even) .service-media{grid-column:1;grid-row:1/3}
    .service-story:nth-child(even) .service-label,.service-story:nth-child(even) .service-pair{grid-column:2}
    .service-media{min-height:clamp(310px,26vw,410px)}
    .service-label{margin:0 0 clamp(18px,2vw,28px)}
    .service-pair{gap:clamp(18px,2.2vw,28px)}
    .service-pair>div{padding-top:16px}
    .service-pair span{margin-bottom:11px}
    .service-pair p{margin-top:9px;line-height:1.55}
    @media(max-width:900px){.services-narrative .service-stories{margin-top:24px;gap:58px}.service-story,.service-story:nth-child(even){grid-template-columns:1fr}.service-story:nth-child(even) .service-media{grid-column:1;grid-row:auto}.service-story:nth-child(even) .service-label,.service-story:nth-child(even) .service-pair{grid-column:1}.service-media{min-height:58vw}}
    /* v30: accessible mobile navigation and a concise contact scope */
    .mobile-nav,.mobile-menu{display:none}
    .contact-scope{max-width:760px;margin:0 0 34px;color:rgba(251,252,247,.72);font-size:clamp(16px,1.35vw,19px);line-height:1.55}
    @media(max-width:900px){
      .header{grid-template-columns:1fr auto}.header>nav,.header>.right{display:none}
      .mobile-nav{display:block;position:relative;z-index:31}
      .mobile-nav[open]{position:fixed;inset:0;z-index:100;padding:96px 28px max(28px,env(safe-area-inset-bottom));background:var(--surface)}
      .mobile-nav[open]::before{content:"IDE";position:absolute;left:28px;top:21px;font-size:25px;font-weight:900;line-height:1;letter-spacing:-.09em}
      .mobile-nav summary{display:grid;width:44px;height:44px;padding:0;border:1px solid rgba(19,36,29,.18);border-radius:50%;background:var(--accent-gold);place-content:center;gap:5px;cursor:pointer;list-style:none}
      .mobile-nav[open] summary{position:absolute;right:24px;top:12px}
      .mobile-nav summary::-webkit-details-marker{display:none}
      .mobile-nav summary span{display:block;width:18px;height:1.5px;background:var(--text-primary);transition:transform .25s,opacity .2s}
      .mobile-nav[open] summary span:first-child{transform:translateY(3.25px) rotate(45deg)}
      .mobile-nav[open] summary span:last-child{transform:translateY(-3.25px) rotate(-45deg)}
      .mobile-menu{position:static;display:flex;width:100%;height:100%;max-height:none;z-index:40;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;backdrop-filter:none;flex-direction:column;overflow:auto}
      .mobile-nav:not([open]) .mobile-menu{display:none}
      .mobile-menu nav{display:grid;grid-template-columns:1fr;gap:2px;background:transparent;border:0;border-radius:0;overflow:visible}
      .mobile-menu nav a{position:relative;display:flex;min-height:auto;padding:3px 46px 3px 0;align-items:center;background:transparent;font-size:clamp(43px,12vw,58px);font-weight:690;line-height:1.02;letter-spacing:-.06em}
      .mobile-menu nav a::after{content:"";position:absolute;right:8px;top:50%;width:14px;height:14px;border-top:2px solid var(--brand-green);border-right:2px solid var(--brand-green);transform:translateY(-50%) rotate(45deg);opacity:.8}
      .mobile-languages{display:grid;grid-template-columns:repeat(3,1fr);margin:auto 0 14px;padding:5px;border:1px solid rgba(19,36,29,.11);border-radius:999px;font-size:13px;font-weight:680;text-align:center}
      .mobile-languages a{padding:7px 4px;border-radius:999px;color:var(--text-muted)}
      .mobile-languages a:first-child{padding:7px 4px;border:0;background:var(--text-primary);color:var(--surface-light)}
      .mobile-cta{display:flex;align-items:center;justify-content:center;min-height:46px;padding:11px 18px;border-radius:999px;background:var(--accent-gold);font-size:13px;font-weight:740;letter-spacing:-.01em}
      .services-narrative .services-intro{margin-bottom:52px!important}
      .services-narrative .service-stories{margin-top:0!important}
      .service-label{margin:38px 0 28px!important}
      .service-story:nth-child(n/**/+2) .service-media{display:none}
    }
    @media(max-width:600px){.mobile-nav[open]{padding-top:104px}}
    /* v35: light services canvas with a compact, uninterrupted reading grid */
    .services-narrative{background:var(--surface)!important;color:var(--text-primary)!important}
    .services-narrative .services-note{color:var(--text-muted)}
    .services-narrative .service-stories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3vw,48px);margin-top:0!important}
    .services-narrative .service-story,.services-narrative .service-story:nth-child(even){display:flex;grid-template-columns:none;flex-direction:column;align-items:stretch;gap:0}
    .services-narrative .service-media,.services-narrative .service-story:nth-child(even) .service-media{position:relative;grid-column:auto;grid-row:auto;width:100%;min-height:0;aspect-ratio:4/3;border-radius:12px;overflow:hidden;background:#e3e6df}
    .services-narrative .service-media img,.services-narrative .service-media video{filter:none!important}
    .services-narrative .service-media::after{display:none}
    .services-narrative .service-label,.services-narrative .service-story:nth-child(even) .service-label{grid-column:auto;align-self:auto;margin:28px 0 24px!important;color:var(--brand-green);font-size:11px}
    .services-narrative .service-label::before{background:var(--accent-gold)}
    .services-narrative .service-pair,.services-narrative .service-story:nth-child(even) .service-pair{grid-column:auto;align-self:auto;gap:26px}
    .services-narrative .service-pair>div{padding-top:20px;border-top:1px solid var(--divider)}
    .services-narrative .service-pair span{color:var(--brand-green)}
    .services-narrative .service-pair p{color:var(--text-muted)}
    @media(max-width:900px){
      .services-narrative .service-stories{grid-template-columns:1fr;gap:48px}
      .services-narrative .service-story:nth-child(n/**/+2) .service-media{display:none}
      .services-narrative .service-media{aspect-ratio:16/10}
      .services-narrative .service-label{margin:34px 0 24px!important}
    }
    /* v36: consistent services rhythm and stronger typographic hierarchy */
    .services-narrative{padding-top:clamp(72px,7vw,108px);padding-bottom:clamp(78px,8vw,118px)}
    .services-narrative .services-intro{margin-bottom:clamp(44px,4.4vw,68px)!important}
    .services-narrative .services-note{margin-top:14px;font-size:clamp(16px,1.25vw,19px);line-height:1.55;color:#50605a}
    .services-narrative .service-label,.services-narrative .service-story:nth-child(even) .service-label{margin:26px 0 20px!important;font-size:12px;font-weight:800;letter-spacing:.14em}
    .services-narrative .service-pair,.services-narrative .service-story:nth-child(even) .service-pair{gap:0}
    .services-narrative .service-pair>div{min-height:176px;padding:23px 0 24px}
    .services-narrative .service-pair span{margin-bottom:13px;font-size:12px;font-weight:760;letter-spacing:.14em}
    .services-narrative .service-pair h3{font-size:clamp(27px,2.15vw,35px);font-weight:790;line-height:1.04;letter-spacing:-.045em}
    .services-narrative .service-pair p{margin-top:13px;font-size:16px;line-height:1.58;color:#50605a}
    @media(max-width:900px){
      .services-narrative .services-intro{margin-bottom:38px!important}
      .services-narrative .service-stories{gap:38px}
      .services-narrative .service-label{margin:28px 0 18px!important}
      .services-narrative .service-pair>div{min-height:0;padding:22px 0 24px}
      .services-narrative .service-pair h3{font-size:clamp(28px,7.5vw,36px)}
    }
    /* v37: tighter services opening and image-led category labels */
    .services-narrative .services-intro{
      min-height:0!important;
      height:auto!important;
      padding:0!important;
      margin-bottom:clamp(24px,2.2vw,36px)!important;
      align-content:start!important;
    }
    .services-narrative .service-stories{
      margin-top:clamp(-260px,-13vw,-150px)!important;
    }
    .services-narrative .service-story{position:relative}
    .services-narrative .service-media::after{
      display:block;
      content:"";
      position:absolute;
      inset:auto 0 0;
      height:42%;
      background:linear-gradient(180deg,transparent,rgba(5,25,17,.62));
      pointer-events:none;
    }
    .services-narrative .service-label,
    .services-narrative .service-story:nth-child(even) .service-label{
      position:relative;
      z-index:3;
      align-self:flex-start;
      margin:-62px 0 27px 22px!important;
      color:var(--surface-light);
      font-size:clamp(15px,1.15vw,19px);
      font-weight:820;
      line-height:1.1;
      letter-spacing:.09em;
      text-shadow:0 2px 14px rgba(0,0,0,.42);
    }
    .services-narrative .service-label::before{width:30px;height:4px;background:var(--accent-gold)}
    .services-narrative .service-pair h3{color:var(--brand-green);font-weight:810}
    @media(max-width:900px){
      .services-narrative .service-stories{margin-top:0!important}
      .services-narrative .services-intro{margin-bottom:34px!important}
      .services-narrative .service-label{margin:-58px 0 25px 18px!important}
      .services-narrative .service-story:nth-child(n/**/+2) .service-label{
        margin:4px 0 18px!important;
        color:var(--brand-green);
        text-shadow:none;
      }
    }
    /* v38: unified palette and calmer image/text rhythm */
    
    body,.services-narrative{background:var(--surface);color:var(--text-primary)}
    .header{background:rgba(245,244,237,.94);border-color:var(--divider)}
    .services-narrative .services-note,
    .services-narrative .service-pair p{color:var(--text-muted)}
    .services-narrative .service-stories{
      margin-top:clamp(-220px,-10.8vw,-118px)!important;
    }
    .services-narrative .service-media::after{
      height:47%;
      background:linear-gradient(180deg,transparent 0%,rgba(7,24,18,.13) 34%,rgba(7,24,18,.72) 100%);
    }
    .services-narrative .service-label,
    .services-narrative .service-story:nth-child(even) .service-label{
      display:flex;
      align-items:center;
      gap:13px;
      margin:-74px 0 48px 24px!important;
      padding:0;
      color:var(--surface-light);
      font-size:clamp(16px,1.18vw,20px);
      font-weight:780;
      line-height:1;
      letter-spacing:.055em;
      text-shadow:0 2px 18px rgba(7,24,18,.55);
    }
    .services-narrative .service-label::before{
      width:34px;
      height:4px;
      border-radius:99px;
      background:var(--accent-gold);
      box-shadow:0 0 0 1px rgba(7,24,18,.08);
    }
    .services-narrative .service-label::after{
      margin-left:1px;
      padding-left:12px;
      border-left:1px solid rgba(251,252,247,.48);
      color:rgba(251,252,247,.78);
      font-size:10px;
      font-weight:720;
      letter-spacing:.14em;
    }
    
    
    
    .services-narrative .service-pair h3{color:var(--brand-green)}
    @media(max-width:900px){
      .services-narrative .service-stories{margin-top:0!important}
      .services-narrative .services-intro{margin-bottom:48px!important}
      .services-narrative .service-label{margin:-66px 0 40px 20px!important}
      .services-narrative .service-story:nth-child(n/**/+2) .service-label{
        margin:12px 0 25px!important;
        color:var(--brand-green);
      }
      .services-narrative .service-story:nth-child(n/**/+2) .service-label::after{
        color:var(--text-muted);
        border-left-color:var(--divider);
      }
    }
    /* v39: image-first service labels with independent breathing space */
    .services-narrative .service-label,
    .services-narrative .service-story:nth-child(even) .service-label{
      width:calc(100% - 48px);
      max-width:none;
      height:132px;
      margin:-132px 24px 0!important;
      padding:0 0 2px;
      align-items:center;
      gap:16px;
      color:var(--surface-light);
      font-size:clamp(21px,1.48vw,28px);
      font-weight:790;
      line-height:.98;
      letter-spacing:.018em;
      text-transform:uppercase;
      text-wrap:balance;
    }
    .services-narrative .service-label::before{
      width:4px;
      height:34px;
      flex:0 0 4px;
      border-radius:99px;
    }
    .services-narrative .service-label::after{display:none!important;content:none!important}
    .services-narrative .service-pair,
    .services-narrative .service-story:nth-child(even) .service-pair{
      margin-top:clamp(62px,4.2vw,82px);
    }
    @media(max-width:900px){
      .services-narrative .service-label{
        width:calc(100% - 40px);
        height:112px;
        margin:-112px 20px 0!important;
        font-size:clamp(21px,6.2vw,27px);
      }
      .services-narrative .service-pair,
      .services-narrative .service-story:nth-child(even) .service-pair{margin-top:52px}
      .services-narrative .service-story:nth-child(n/**/+2) .service-label{
        width:100%;
        height:auto;
        margin:22px 0 0!important;
        padding:0;
        color:var(--brand-green);
        font-size:18px;
        line-height:1.08;
        text-shadow:none;
      }
      .services-narrative .service-story:nth-child(n/**/+2) .service-pair{margin-top:34px}
    }
    /* v40: full-width visual pause between the hero and section 01 */
    .hero-divider{
      position:relative;
      width:100%;
      height:clamp(430px,61vw,790px);
      margin:0;
      overflow:hidden;
      border-top:1px solid var(--divider);
      border-bottom:1px solid var(--divider);
      background:var(--brand-green-deep);
    }
    .hero-divider img{
      display:block;
      width:100%;
      height:100%;
      object-fit:cover;
      object-position:center;
      transform:scale(1.015);
      transition:transform 1.4s cubic-bezier(.2,.75,.2,1);
    }
    .hero-divider.visible img{transform:scale(1)}
    .hero-divider::after{
      content:"";
      position:absolute;
      inset:0;
      background:linear-gradient(180deg,rgba(7,24,18,.02) 55%,rgba(7,24,18,.35) 100%);
      pointer-events:none;
    }
    .hero-divider figcaption{
      position:absolute;
      z-index:2;
      left:clamp(24px,4vw,72px);
      bottom:clamp(24px,3.2vw,48px);
      display:flex;
      align-items:center;
      gap:14px;
      color:var(--surface-light);
      font-size:12px;
      font-weight:760;
      line-height:1;
      letter-spacing:.13em;
      text-transform:uppercase;
    }
    .hero-divider figcaption::before{
      content:"";
      width:38px;
      height:4px;
      border-radius:99px;
      background:var(--accent-gold);
    }
    @media(max-width:600px){
      .hero-divider{height:72vw;min-height:320px;max-height:500px}
      .hero-divider img{object-position:54% center}
      .hero-divider figcaption{font-size:10px;letter-spacing:.1em}
    }
    /* v41: one measured vertical rhythm across Services and Work */
    :root{--desktop-content-gap:clamp(150px,11.2vw,230px)}
    .services-narrative .services-intro{
      margin-bottom:var(--desktop-content-gap)!important;
    }
    .services-narrative .service-stories{margin-top:0!important}
    .services-narrative .service-pair,
    .services-narrative .service-story:nth-child(even) .service-pair{
      margin-top:var(--desktop-content-gap);
    }
    .hero-divider figcaption,
    .brand-image figcaption{
      position:absolute;
      z-index:2;
      left:clamp(24px,4vw,72px);
      right:clamp(24px,4vw,72px);
      bottom:30px;
      display:flex;
      justify-content:space-between;
      align-items:flex-end;
      gap:30px;
      color:var(--surface-light);
      text-transform:none;
    }
    .hero-divider figcaption::before{display:none}
    .hero-divider figcaption span,
    .brand-image figcaption span{
      font-size:clamp(28px,4vw,58px);
      font-weight:500;
      line-height:1;
      letter-spacing:-.05em;
    }
    .hero-divider figcaption small,
    .brand-image figcaption small{
      padding-bottom:4px;
      border-bottom:1px solid rgba(251,252,247,.65);
      font-size:11px;
      font-weight:500;
      line-height:1.25;
      letter-spacing:.08em;
      text-transform:uppercase;
      white-space:nowrap;
    }
    @media(max-width:900px){
      :root{--desktop-content-gap:72px}
      .services-narrative .services-intro{margin-bottom:72px!important}
      .services-narrative .service-pair,
      .services-narrative .service-story:nth-child(even) .service-pair{margin-top:72px}
    }
    @media(max-width:600px){
      .hero-divider figcaption,.brand-image figcaption{
        bottom:24px;
        align-items:flex-start;
        flex-direction:column;
        gap:14px;
      }
      .hero-divider figcaption span,.brand-image figcaption span{font-size:clamp(27px,8.8vw,38px)}
      .hero-divider figcaption small,.brand-image figcaption small{font-size:10px}
    }
    /* v42: corrected services rhythm based on layout spacing, not glyph bounds */
    :root{--desktop-content-gap:96px}
    .services-narrative .services-intro{margin-bottom:96px!important}
    .services-narrative .service-pair,
    .services-narrative .service-story:nth-child(even) .service-pair{margin-top:96px}
    @media(max-width:900px){
      :root{--desktop-content-gap:56px}
      .services-narrative .services-intro{margin-bottom:56px!important}
      .services-narrative .service-pair,
      .services-narrative .service-story:nth-child(even) .service-pair{margin-top:56px}
    }
    /* v43: remove the inherited four-row grid that was creating false whitespace */
    :root{--desktop-content-gap:72px}
    .services-narrative .services-intro{
      grid-template-rows:auto!important;
      align-items:start!important;
      align-content:start!important;
      min-height:0!important;
      height:auto!important;
      margin-bottom:72px!important;
    }
    .services-narrative .services-intro .index{
      grid-row:auto!important;
      align-self:start!important;
    }
    .services-narrative .service-stories{margin-top:0!important}
    .services-narrative .service-pair,
    .services-narrative .service-story:nth-child(even) .service-pair{margin-top:72px}
    @media(max-width:900px){
      :root{--desktop-content-gap:48px}
      .services-narrative .services-intro{margin-bottom:48px!important}
      .services-narrative .service-pair,
      .services-narrative .service-story:nth-child(even) .service-pair{margin-top:48px}
    }
    /* v44: settled spacing, image-led proposition and linked case index */
    @media(min-width:901px){
      .services-narrative .services-intro{margin-bottom:128px!important}
      .services-narrative .service-pair,
      .services-narrative .service-story:nth-child(even) .service-pair{margin-top:88px}
      .hero h1{margin-top:3.2vh}
    }
    .hero .bottom{display:flex;justify-content:flex-end;align-items:flex-end}
    .hero-divider figcaption .divider-statement{
      width:min(690px,38vw);
      display:flex;
      flex-direction:column;
      align-items:flex-start;
      color:var(--surface-light);
      text-transform:none;
    }
    .divider-statement .statement-intro{
      margin-bottom:18px;
      font-size:clamp(13px,1vw,16px);
      font-weight:720;
      line-height:1;
      letter-spacing:.16em;
      text-transform:uppercase;
    }
    .divider-statement strong{
      display:block;
      font-size:clamp(32px,3.15vw,55px);
      font-weight:520;
      line-height:1.09;
      letter-spacing:-.045em;
      color:var(--surface-light);
    }
    .divider-statement .statement-support{
      display:block;
      max-width:620px;
      margin-top:25px;
      font-size:clamp(17px,1.3vw,23px);
      font-weight:430;
      line-height:1.48;
      letter-spacing:-.016em;
      color:var(--surface-light);
    }
    
    
    
    
    
    
    @media(max-width:900px){
      .hero-divider figcaption .divider-statement{width:min(620px,72vw)}
      .hero .bottom{justify-content:flex-start}
    }
    @media(max-width:600px){
      .hero-divider figcaption .divider-statement{width:100%}
      .divider-statement .statement-intro{margin-bottom:12px;font-size:11px}
      .divider-statement strong{font-size:clamp(25px,7.5vw,34px);line-height:1.08}
      .divider-statement .statement-support{margin-top:14px;font-size:clamp(14px,4.2vw,17px);line-height:1.42}
      .hero-divider figcaption small{display:none}
    }
    /* v46: simplified navigation and section architecture */
    .header>.logo,.header>a .logo{width:43px}
    /* The logo link is a grid item in .header{grid-template-columns:1fr auto 1fr};
       by default it stretches to fill the whole 1fr column, so its clickable
       box was much wider than the 43px logo mark itself — hovering anywhere
       in that empty space (including right up to where nav starts) showed a
       pointer and linked home. Constrain it to its own content width. */
    .header>a:first-child{justify-self:start}
    .header>nav a,.mobile-menu nav a{text-transform:uppercase;letter-spacing:.075em;font-size:12px;font-weight:680}
    .language-select{appearance:none;-webkit-appearance:none;border:0;border-bottom:1px solid var(--text-primary);border-radius:0;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%2313241d' stroke-width='1.4'/%3E%3C/svg%3E") no-repeat right 6px center;padding:7px 24px 7px 2px;color:var(--text-primary);font:700 11px/1 "Inter Variable",sans-serif;letter-spacing:.08em;cursor:pointer;outline:none}
    .language-select:focus-visible{border-bottom-color:var(--brand-green);box-shadow:0 2px 0 var(--accent-gold)}
    .mobile-language-wrap{margin-top:auto;padding-top:32px;border-top:1px solid var(--divider)}
    .mobile-language-wrap .language-select{width:100%;padding:16px 30px 16px 0;font-size:14px;background-position:right center}
    .services-narrative{padding-top:clamp(56px,6vw,92px)}
    /* Restored Services heading: keep the original services-intro layout visible. */
    /* v5 51-4: remove the Services lime label, retain desktop heading alignment,
       and slightly tighten the transition from section 01. */
    .services-narrative{padding-top:clamp(40px,5vw,76px)}
    .services-narrative .services-intro>.index{display:none!important}
    .services-narrative .services-intro>div{grid-column:2}
    @media(max-width:900px){
      .services-narrative{padding-top:36px}
      .services-narrative .services-intro>div{grid-column:1}
    }
    /* v5 51-3: remove decorative service serials and intro supporting note. */
    .services-narrative .service-label::after{content:none!important;display:none!important}
    .services-narrative .service-pair span{display:none!important}
    .services-narrative .services-note{display:none!important}
    .statement>.index,#work .heading>.index,.production>.index{display:none!important}
    .statement{grid-template-columns:1.05fr 1.5fr}
    .statement .models article{border-top:0;padding-top:0}
    #work .heading{grid-template-columns:1fr;margin-bottom:80px}
    
    
    .production{grid-template-columns:1.25fr 1fr}
    .social-marks{display:flex;align-items:center;gap:20px;color:#969d99}
    .social-marks span{display:grid;place-items:center;width:28px;height:28px}
    .social-marks svg{display:block;width:25px;height:25px;fill:currentColor;stroke:currentColor}
    .footer{color:var(--text-muted)}
    @media(max-width:900px){.statement,.production{grid-template-columns:1fr}.services-narrative{padding-top:48px}}
    /* v47: line-free navigation and services rhythm */
    .header>nav{align-items:center}
    .header>nav a{line-height:1}
    .right label{display:flex;align-items:center;height:18px}
    .language-select{height:18px;padding:0 24px 0 2px;border:0!important;box-shadow:none!important;line-height:18px;background-position:right center}
    .services-narrative{border-top:0!important}
    .services-narrative .service-pair>div{border-top:0!important;padding-top:0}
    .hero .bottom .link{border-bottom:0;padding-bottom:0}
    .social-marks{gap:22px}
    .social-marks span{width:32px;height:32px}
    .social-marks svg{width:29px;height:29px}
    @media(max-width:900px){
      .mobile-language-wrap .language-select{height:auto;padding:16px 30px 16px 0;line-height:1}
    }
    /* v48: 04 becomes a full-width production proof */
    .production-showcase{position:relative;height:clamp(480px,72vh,820px);padding:0;overflow:hidden;border-top:0;background:var(--brand-green-deep);color:var(--surface-light)}
    .production-showcase img{transform:scaleX(-1)}
    .production-showcase video,.production-showcase img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}
    .production-showcase::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,24,18,.03) 38%,rgba(7,24,18,.6) 100%);pointer-events:none}
    .production-showcase h2{position:absolute;z-index:2;left:clamp(24px,4vw,72px);bottom:clamp(32px,5vw,76px);max-width:980px;margin:0;color:var(--surface-light);font-size:clamp(48px,6.7vw,104px);font-weight:560;line-height:.91;letter-spacing:-.06em}
    @media(max-width:600px){
      .production-showcase{height:72vw;min-height:390px;max-height:560px}
      .production-showcase h2{font-size:clamp(42px,12.5vw,62px);line-height:.92}
    }
    /* Preview: solid full-screen mobile navigation, above every hero layer. */
    @media(max-width:900px){
      .header:has(.mobile-nav[open]){z-index:1000;backdrop-filter:none}
      .mobile-nav[open]{position:fixed!important;inset:0!important;width:100vw;height:100dvh;min-height:100vh;background:#f5f4ed!important;isolation:isolate;z-index:1001!important;overflow-y:auto;overscroll-behavior:contain}
      .mobile-nav[open] .mobile-menu{position:relative;z-index:2;background:#f5f4ed!important;min-height:calc(100% - 12px)}
      .mobile-nav[open]::after{content:none}
      .mobile-language-wrap{margin-top:auto}
    }
    .language-current{font-size:12px;font-weight:700;letter-spacing:.06em}
    .mobile-language-wrap .language-current{display:block;padding:16px 0}
    /* v51: v47 copy and typography over the unchanged v50 image. */
    .production-showcase-copy{position:absolute;z-index:2;right:clamp(24px,4vw,72px);top:50%;transform:translateY(-50%);width:min(42%,640px);color:var(--surface-light)}
    .production-showcase .production-showcase-copy h2{position:static!important;max-width:none!important;margin:0;color:var(--surface-light);font-size:clamp(44px,5.8vw,84px);font-weight:700;line-height:.96;letter-spacing:-.058em;text-align:left}
    .production-showcase-copy p{font-size:18px;max-width:520px;margin:32px 0 0;line-height:1.55}
    @media(max-width:900px){.production-showcase-copy{width:min(53%,530px)}}
    @media(max-width:600px){.production-showcase{min-height:470px}.production-showcase-copy{right:20px;left:20px;top:auto;bottom:28px;transform:none;width:auto}.production-showcase .production-showcase-copy h2{font-size:clamp(34px,9vw,48px)!important;line-height:.96}.production-showcase-copy p{font-size:15px;line-height:1.45;margin-top:20px;max-width:440px}}
  
/* ===== v45: refined palette follow-through, editorial display type,
   calmer hero motion, and scroll parallax on the three hero photographs.
   Added as a final block (matching this file's own v38-v44 convention)
   rather than edited in place, since the file has ~20 historical
   redeclarations of some of these selectors we did not audit line by line. */

/* -- Primary CTA: a quiet ink pill instead of the bright accent -- */
.button,.mobile-cta{
  background:var(--text-primary) !important;
  border-color:var(--text-primary) !important;
  color:var(--surface) !important;
  box-shadow:none !important;
  transition:background .3s ease,transform .25s ease !important;
}
.button:hover,.mobile-cta:hover{
  background:var(--brand-green) !important;
  transform:translateY(-1px);
}

/* -- The single largest numeral gets the brighter, higher-contrast gold -- */
.signal-number,.claude-hero-signal-num{
  color:var(--accent-gold-bright) !important;
}

/* -- Display type: self-hosted serif for headings; body stays on Inter/Noto -- */
h1,h2{
  font-family:"Fraunces Display",Georgia,"Noto Serif SC Subset",serif !important;
}
.hero h1{letter-spacing:-.015em !important;line-height:.98 !important;font-weight:440 !important;}
.hero h1 em{font-style:italic !important;font-weight:440 !important;}
h2{letter-spacing:-.012em !important;line-height:1.04 !important;font-weight:460 !important;}

/* -- Hero cards: remove the infinite bounce and the rotated organic blob -- */



/* -- Scroll parallax on the three large photography moments -- */
.hero-divider img,.brand-image img,.production-showcase img{
  transition:none !important;
  will-change:transform;
}
.hero-divider img{transform:scale(1.12) translateY(var(--py,0px)) !important;}
.brand-image img{transform:scale(1.12) translateY(var(--py,0px)) !important;}
.production-showcase img{transform:scaleX(-1) scale(1.12) translateY(var(--py,0px)) !important;}
@media(prefers-reduced-motion:reduce){
  .hero-divider img,.brand-image img,.production-showcase img{transform:none !important;}
}
  
/* IDE v19 editorial redesign: Hero signature + selected work only */
.hero{min-height:min(calc(100svh - 84px),780px);padding-bottom:64px;overflow:hidden}
.hero::before,.hero::after{display:none!important}
.hero h1 em{animation:none!important;background:none!important;-webkit-background-clip:initial!important;background-clip:initial!important;color:var(--brand-green)!important}
.hero .bottom{margin-top:clamp(28px,4vw,64px);padding-top:0;justify-content:start}
.hero .actions{justify-items:start}
.ide-hero-signature{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:48px;margin-top:auto;padding-top:clamp(20px,2.4vw,36px);padding-bottom:18px;border-bottom:1px solid var(--accent-gold);position:relative;z-index:3;color:var(--text-primary)}
.ide-hero-signature__year,.ide-hero-signature__services{display:flex;flex-direction:column;align-items:flex-start}
.ide-hero-signature__label{font-family:Inter,Arial,sans-serif;font-size:11px;font-weight:500;letter-spacing:.13em;color:var(--text-muted)}
.ide-hero-signature__number{display:block;margin:12px 0 8px;font-family:"Fraunces Display",Georgia,"Noto Serif SC Subset",serif;font-size:clamp(66px,7.5vw,108px);font-weight:400;line-height:.95;letter-spacing:-.045em;font-variant-numeric:lining-nums}
.ide-hero-signature__caption{font-size:13px;color:var(--text-muted)}
.ide-hero-signature__services{align-items:flex-end;text-align:right;gap:7px}
.ide-hero-signature__services p{margin:8px 0 0;font-family:"Fraunces Display",Georgia,"Noto Serif SC Subset",serif;font-size:clamp(19px,2vw,28px);line-height:1.25}
.ide-hero-signature__services>span:last-child{font-size:13px;color:var(--text-muted)}
.ide-work-section .heading{margin-bottom:clamp(54px,7vw,100px)}
.ide-editorial-work{display:flex;flex-direction:column;gap:clamp(40px,5vw,64px)}
.ide-work-item{display:grid;grid-template-columns:minmax(0,1.13fr) minmax(0,1fr);align-items:center;gap:clamp(32px,6vw,110px);color:var(--text-primary);text-decoration:none;min-width:0}
.ide-work-item__media{overflow:hidden;aspect-ratio:4/3;background:var(--surface-muted);min-width:0}
.ide-work-item__media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.ide-work-item:hover .ide-work-item__media img{transform:scale(1.025)}
.ide-work-item__content{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.ide-work-item__index{font-family:Inter,Arial,sans-serif;font-size:11px;letter-spacing:.12em;color:var(--accent-gold)}
.ide-work-item__category{font-size:12px;letter-spacing:.035em;color:var(--text-muted);margin-top:16px}
.ide-work-item h3{max-width:570px;margin:25px 0 22px;font-family:"Fraunces Display",Georgia,"Noto Serif SC Subset",serif!important;font-size:clamp(32px,3.5vw,56px)!important;font-weight:400;line-height:1.12;letter-spacing:-.025em}
.ide-work-item__content>p{max-width:430px;margin:0;font-size:15px;line-height:1.75;color:var(--text-muted)}
.ide-work-item__outcomes{display:flex;flex-direction:column;gap:7px;width:100%;margin-top:clamp(32px,4vw,54px);padding-top:23px;border-top:1px solid var(--divider)}
.ide-work-item__outcomes strong{font-family:"Fraunces Display",Georgia,"Noto Serif SC Subset",serif;font-size:clamp(28px,3vw,42px);font-weight:400;line-height:1.15;color:var(--brand-green)}
.ide-work-item__outcomes span{font-size:13px;color:var(--text-muted)}
.ide-work-item__link{margin-top:32px;padding-bottom:6px;border-bottom:1px solid var(--text-primary);font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.ide-work-item__link span{color:var(--brand-green)}
.ide-work-item--reverse .ide-work-item__media{order:2}
.ide-work-item--wide{grid-template-columns:1fr 1fr;align-items:start;gap:clamp(24px,4vw,60px)}
.ide-work-item--wide .ide-work-item__media{grid-column:1/-1;aspect-ratio:16/7}
.ide-work-item--wide .ide-work-item__content{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(32px,6vw,110px)}
.ide-work-item--wide .ide-work-item__index,.ide-work-item--wide .ide-work-item__category,.ide-work-item--wide h3,.ide-work-item--wide .ide-work-item__content>p{grid-column:1}
.ide-work-item--wide .ide-work-item__outcomes{grid-column:2;grid-row:2/5;align-self:start;margin-top:0}
.ide-work-item--wide .ide-work-item__link{grid-column:2;grid-row:5;justify-self:start}
.ide-work-section>.note{margin-top:clamp(64px,8vw,110px);line-height:1.65}
.ide-work-item:focus-visible{outline:2px solid var(--brand-green);outline-offset:7px}
@media(max-width:900px){.hero h1{max-width:100%!important}.ide-hero-signature{gap:25px}}
@media(max-width:700px){.hero{padding-bottom:clamp(44px,9vw,70px)}.ide-hero-signature{grid-template-columns:1fr;gap:32px;padding-top:55px;margin-top:0}.ide-hero-signature__number{font-size:clamp(66px,17vw,90px)}.ide-hero-signature__services{align-items:flex-start;text-align:left}.ide-editorial-work{gap:clamp(40px,5vw,64px)}.ide-work-item,.ide-work-item--wide{grid-template-columns:1fr;gap:25px}.ide-work-item__media,.ide-work-item--wide .ide-work-item__media{grid-column:1;aspect-ratio:4/3;order:0}.ide-work-item__content,.ide-work-item--wide .ide-work-item__content{grid-column:1;display:flex;flex-direction:column}.ide-work-item h3{font-size:clamp(30px,8vw,43px)!important;margin:19px 0}.ide-work-item__outcomes,.ide-work-item--wide .ide-work-item__outcomes{margin-top:30px}.ide-work-item--wide .ide-work-item__link{align-self:flex-start}}
@media(prefers-reduced-motion:reduce){.ide-work-item__media img{transition:none}.ide-work-item:hover .ide-work-item__media img{transform:none}}

/* Editorial refinements: portfolio navigation, partnership cadence and production credential */
.ide-work-all{display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;margin-top:clamp(40px,5vw,64px);padding:20px 0;border-top:1px solid var(--divider);border-bottom:1px solid var(--divider);font-family:Inter,Arial,sans-serif;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-primary)}
.ide-work-all span{font-size:22px;color:var(--brand-green);transition:transform .25s ease}
.ide-work-all:hover span{transform:translate(3px,-3px)}
.ide-work-all:focus-visible{outline:2px solid var(--brand-green);outline-offset:5px}
.ide-retainer-intro{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,72px);max-width:1100px;margin-top:clamp(36px,5vw,68px)}
.ide-retainer-intro>div{border-top:1px solid var(--divider);padding-top:22px}
.ide-retainer-level{font-family:Inter,Arial,sans-serif;font-size:11px;letter-spacing:.12em;color:var(--accent-gold);font-weight:400}
.ide-retainer-intro h3{font-family:"Fraunces Display",Georgia,"Noto Serif SC Subset",serif;font-size:clamp(23px,2.5vw,34px);font-weight:400;line-height:1.18;margin:20px 0 14px;color:var(--text-primary)}
.ide-retainer-intro p{max-width:460px;color:var(--text-muted);font-size:15px;line-height:1.7;margin:0}
.ide-retainer-intro+.claude-retainer-note{margin-top:32px}
.production-showcase-copy .ide-production-credential{display:block;font-family:Inter,Arial,sans-serif;font-size:11px;font-weight:600;line-height:1.5;letter-spacing:.10em;color:#f0d7a4;margin-bottom:24px}
.production-showcase-copy .ide-production-proof{font-size:clamp(13px,1.2vw,16px)!important;line-height:1.5;max-width:520px;margin-top:16px!important;color:#f0eee5}
@media(max-width:700px){.ide-retainer-intro{grid-template-columns:1fr;gap:32px}.production-showcase-copy .ide-production-credential{font-size:10px;margin-bottom:14px}.production-showcase-copy .ide-production-proof{font-size:13px!important;margin-top:10px!important}.production-showcase{min-height:550px}}
@media(prefers-reduced-motion:reduce){.ide-work-all span{transition:none}}

/* 01 labels aligned with 04 */
.models article>span{
  font-size:11px!important;
  color:var(--accent-gold)!important;
  font-weight:400!important;
  letter-spacing:.12em!important;
}

/* Unified photography disclaimer, replacing the old per-image captions */
.footer-disclosure{font-size:11px;line-height:1.5;color:var(--text-muted);max-width:480px;text-align:right}
@media(max-width:600px){.footer-disclosure{max-width:100%;text-align:left;font-size:10px;margin-top:0}}

/* Header UI tier: nav links, the language selector and the header CTA
   button were three different sizes/weights (nav 14px/default weight,
   language select 11px/700, button 13px/default) with no shared logic.
   Unified to one size and one shared, slightly light weight. Desktop
   header only -- the mobile full-screen menu's oversized nav links and
   its own language select keep their separate styling. Mirrors the same
   fix in index.html's inline stylesheet. */
.header nav a,.header .right .language-select,.header .button{font-size:14px!important}
.header nav a{font-weight:500!important}
.header .right .language-select,.header .button{font-weight:400!important}
.header .right .language-select{letter-spacing:0!important}

/* Narrow-desktop header fix: HOME link (5th nav item) added, so at
   901-1120px the row gets tight; tighten nav/right gaps and the CTA
   button's padding so nothing collides or wraps. Placed at the very end
   of the stylesheet so it wins the cascade over earlier unconditional
   .right{} / .header .button{} rules of equal specificity. Mirrors the
   same fix in index.html's inline stylesheet. */
@media(min-width:901px) and (max-width:1120px){nav{gap:10px;font-size:13px}.right{gap:8px}.header .button{padding:9px 10px;font-size:12px!important;white-space:nowrap}}
