:root{
  --paper:#f8efe6;--cream:#f4efe6;--ink:#191919;--blue:#2446c7;--deep-blue:#0036c6;--orange:#f06432;--pale-blue:#afc4e8;--line:rgba(25,25,25,.25);
  --sans:"Archivo","Arial Narrow",Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.5 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.welcome-active,body.menu-open{overflow:hidden}
[id]{scroll-margin-top:96px}
a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{display:block;max-width:100%}
::selection{background:var(--orange);color:#fff}
.skip-link{position:fixed;left:12px;top:-70px;padding:12px 18px;background:var(--ink);color:#fff;z-index:500}.skip-link:focus{top:12px}
.scroll-progress{position:fixed;top:0;left:0;height:3px;width:0;background:var(--orange);z-index:250;pointer-events:none}

/* Keep the brand artwork intact; CSS only frames its central mark. */
.brand-crop,.welcome-logo{display:block;background-repeat:no-repeat}
.brand-crop{height:100%;width:100%;background-image:url("assets/logo-cream.jpg");background-size:131% auto;background-position:60% 49%}
.welcome{position:fixed;inset:0;z-index:300;background:var(--paper);color:var(--ink);display:grid;grid-template-columns:minmax(0,62%) minmax(0,38%);overflow:hidden;transition:transform .85s cubic-bezier(.76,0,.24,1)}
.welcome[hidden]{display:none}.welcome.is-leaving{transform:translateY(-101%)}
.welcome-editorial{display:flex;flex-direction:column;min-width:0;padding:2.2rem 4.5vw 2.3rem;position:relative;z-index:2}
.welcome-top,.welcome-bottom{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;font-size:.68rem;letter-spacing:.16em;font-weight:800}
.welcome-top{border-bottom:1px solid rgba(25,25,25,.3);padding-bottom:1.15rem}
.welcome-center{margin:auto 0;width:100%;min-width:0;display:flex;flex-direction:column;align-items:flex-start}
.welcome-small{display:flex;align-items:center;gap:.7rem;font-size:.72rem;letter-spacing:.16em;font-weight:800;color:var(--blue);animation:welcome-rise .65s both}
.welcome-dot{width:9px;height:9px;border-radius:50%;background:var(--orange);flex:none}
.welcome-logo{background-image:url("assets/logo-cream.jpg");background-size:115% auto;background-position:center 49%;width:min(520px,100%);aspect-ratio:4.2/1;margin:.4rem 0 .65rem;animation:welcome-rise .8s .08s both}
.welcome-headline{font-size:clamp(3rem,5.35vw,6.5rem);font-weight:900;letter-spacing:-.064em;line-height:.94;margin:0;animation:welcome-rise .85s .22s both}
.welcome-headline span{color:var(--blue)}
.welcome-bottom{border-top:1px solid rgba(25,25,25,.3);padding-top:1.15rem;align-items:end}
.welcome-enter{border:0;background:var(--blue);color:#fff;padding:1rem 1.15rem;min-width:280px;letter-spacing:.12em;font-size:.69rem;font-weight:800;display:flex;justify-content:space-between;gap:1.5rem;align-items:center;transition:background .25s,color .25s}
.welcome-enter span{font-size:1.55rem;line-height:1;color:var(--orange);transition:transform .3s}.welcome-enter:hover{background:var(--orange);color:var(--ink)}.welcome-enter:hover span{color:var(--ink);transform:translate(4px,-4px)}
.welcome-scene{position:relative;min-width:0;background:var(--blue);overflow:hidden;animation:scene-enter .85s both}
.welcome-scene-top,.welcome-scene-caption{position:absolute;left:0;right:0;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.5rem 1.7rem;font-size:.69rem;font-weight:800;letter-spacing:.15em;color:#fff}
.welcome-scene-top{top:0}.welcome-scene-top span:last-child{font-size:2.3rem;line-height:.5;color:var(--orange);animation:star-turn 8s linear infinite}
.welcome-scene-photo{position:absolute;inset:5.2rem 0 3.5rem;background:var(--orange);overflow:hidden;clip-path:inset(100% 0 0);animation:scene-reveal 1.2s .1s cubic-bezier(.2,.7,.2,1) both}
.welcome-scene-photo img{width:100%;height:100%;object-fit:cover;object-position:center 47%;animation:scene-zoom 4s ease-out both}
.welcome-scene-ring{position:absolute;z-index:1;width:88%;aspect-ratio:1;left:-26%;top:24%;border:1px solid rgba(255,255,255,.78);border-radius:50%;pointer-events:none;animation:ring-enter 1.2s .55s both}
.welcome-scene-caption{bottom:0;background:var(--orange);color:var(--ink);min-height:3.5rem;padding-block:.9rem}
.welcome-timer{position:absolute;bottom:0;left:0;width:100%;height:4px;background:var(--ink);transform-origin:left;animation:timer-fill 2.9s linear both;z-index:5}
@keyframes welcome-rise{from{opacity:0;transform:translateY(32px)}to{opacity:1;transform:none}}
@keyframes scene-enter{from{transform:translateX(100%)}to{transform:none}}
@keyframes scene-reveal{from{clip-path:inset(100% 0 0)}to{clip-path:inset(0)}}
@keyframes scene-zoom{from{transform:scale(1.14)}to{transform:scale(1)}}
@keyframes ring-enter{from{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}
@keyframes timer-fill{from{transform:scaleX(0)}to{transform:scaleX(1)}}

.site-header{height:84px;padding:0 4.5vw;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;position:sticky;top:0;z-index:150;background:var(--paper);border-bottom:1px solid var(--line)}
.header-note{font-size:.66rem;font-weight:700;letter-spacing:.13em;white-space:nowrap}
.brand{width:190px;height:50px;display:block;justify-self:center}
.menu-toggle{justify-self:end;display:flex;align-items:center;gap:1.4rem;border:0;background:transparent;color:var(--ink);padding:12px 0;z-index:160}
.menu-label{font-size:.75rem;font-weight:800;letter-spacing:.16em}.menu-icon{width:28px;display:flex;flex-direction:column;gap:7px}.menu-icon i{width:100%;height:2px;background:var(--ink);display:block;transition:transform .3s}.menu-toggle[aria-expanded="true"] .menu-icon i:first-child{transform:translateY(4.5px) rotate(45deg)}.menu-toggle[aria-expanded="true"] .menu-icon i:last-child{transform:translateY(-4.5px) rotate(-45deg)}
.site-menu[hidden]{display:none}.site-menu{position:fixed;inset:84px 0 0;z-index:140;background:var(--blue);color:#fff;padding:3rem 5vw 2rem;display:flex;flex-direction:column;overflow:auto;animation:menu-enter .4s ease both}
.menu-top,.menu-foot{display:flex;justify-content:space-between;gap:1rem;font-size:.7rem;letter-spacing:.16em;font-weight:700}.menu-top{padding-bottom:2rem;border-bottom:1px solid rgba(255,255,255,.35)}.menu-foot{margin-top:auto;border-top:1px solid rgba(255,255,255,.35);padding-top:1.2rem}.menu-foot span{font-size:1.4rem;color:var(--orange)}
.site-menu>a{font-size:clamp(3.2rem,6.3vw,6.5rem);font-weight:900;line-height:.96;letter-spacing:-.055em;border-bottom:1px solid rgba(255,255,255,.3);padding:.25rem 0;display:flex;align-items:baseline;gap:2rem;transition:padding-left .3s,color .3s}.site-menu>a span{font-size:.75rem;letter-spacing:0;font-weight:600;color:var(--pale-blue)}.site-menu>a:hover{padding-left:1.4rem;color:var(--orange)}
@keyframes menu-enter{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:none}}

.hero{min-height:calc(100svh - 84px);background:var(--paper);position:relative;overflow:hidden;padding:3rem 5vw 2.5rem;display:flex;flex-direction:column}
.hero-kicker,.section-index{display:flex;justify-content:space-between;gap:1rem;font-size:.7rem;font-weight:700;letter-spacing:.16em;line-height:1.3}
.hero h1{margin:clamp(2rem,5vh,4rem) 0 0;font-size:clamp(5.2rem,9.3vw,11rem);font-weight:900;letter-spacing:-.065em;line-height:.83;position:relative;z-index:2}
.hero-line{display:block;width:max-content;max-width:100%;white-space:nowrap;animation:headline-in .9s cubic-bezier(.2,.8,.2,1) both}.hero-line:nth-child(2){animation-delay:.12s}.hero-line:nth-child(3){animation-delay:.24s}
.hero-outline,.outline-word{color:transparent;-webkit-text-stroke:1.5px currentColor}
.hero-outline{color:transparent;-webkit-text-stroke:2px var(--ink)}
.hero-last{color:var(--ink);font-size:.8em}.hero-star{color:var(--orange);font-size:.54em;vertical-align:top;margin-left:.1em;display:inline-block;animation:star-turn 9s linear infinite}
@keyframes headline-in{from{opacity:0;transform:translateY(55px)}to{opacity:1;transform:none}}@keyframes star-turn{to{transform:rotate(360deg)}}
.hero-art{position:absolute;right:5vw;bottom:5.7rem;width:min(29vw,420px);height:clamp(180px,24vw,285px);overflow:hidden;background:var(--blue);z-index:1;transition:transform .15s linear}
.hero-art img{width:100%;height:100%;object-fit:cover;object-position:center 48%;transition:transform .8s}.hero-art:hover img{transform:scale(1.06)}
.hero-art-label{position:absolute;bottom:0;left:0;right:0;background:var(--orange);color:var(--ink);padding:.7rem .85rem;font-size:.65rem;font-weight:800;letter-spacing:.13em}
.hero-footer{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-top:auto;padding-top:1.7rem;border-top:1px solid var(--ink);position:relative;z-index:3}
.hero-footer p{max-width:450px;margin:0;font-size:1.05rem;line-height:1.55}.hero-footer a,.text-link{font-size:.72rem;font-weight:800;letter-spacing:.13em;display:flex;align-items:center;gap:1.5rem;white-space:nowrap}.hero-footer a span,.text-link span{font-size:1.5rem;color:var(--orange);transition:transform .3s}.hero-footer a:hover span,.text-link:hover span{transform:translate(4px,4px)}

.statement{padding:6rem 5vw 5rem;background:var(--ink);color:var(--paper);min-height:850px;display:flex;flex-direction:column;overflow:hidden}
.statement .section-index{border-bottom:1px solid rgba(255,255,255,.28);padding-bottom:1.5rem}
.statement-title{font-size:clamp(4.3rem,8.6vw,10.5rem);line-height:.95;letter-spacing:-.055em;font-weight:900;margin:auto 0;max-width:1300px}
.statement-title span{display:block}.statement .outline-word{-webkit-text-stroke:1.5px var(--paper)}.statement-orange{color:var(--orange)}
.statement-bottom{display:flex;align-items:end;justify-content:space-between;gap:2rem;border-top:1px solid rgba(255,255,255,.28);padding-top:1.5rem}.statement-symbol{font-size:3.5rem;color:var(--orange);line-height:1}.statement-bottom p{max-width:510px;font-size:1.16rem;margin:0;line-height:1.5}

.section-pad{padding:7rem 5vw}.services{background:var(--cream)}.services .section-index,.process .section-index{border-bottom:1px solid var(--line);padding-bottom:1.3rem}
.section-display{font-size:clamp(4.1rem,7.3vw,8.9rem);line-height:.98;letter-spacing:-.055em;font-weight:900;margin:4.5rem 0 2rem}.section-display span{display:block}.section-display .outline-word{-webkit-text-stroke:1.5px var(--ink)}
.section-lead{font-size:1.14rem;line-height:1.55;max-width:620px;margin:0 0 4.5rem}
.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--ink);border-left:1px solid var(--ink)}
.service-pillar{min-width:0;border-right:1px solid var(--ink);display:flex;flex-direction:column}
.service-pillar-head{min-height:150px;padding:1.5rem;display:flex;align-items:end;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--ink)}
.service-pillar-head h3{font-size:clamp(2.5rem,3.4vw,4.2rem);line-height:.9;letter-spacing:-.065em;font-weight:900;margin:0 0 .65rem}
.service-pillar-head p{font-size:.6rem;line-height:1.4;font-weight:800;letter-spacing:.13em;margin:0}
.service-pillar-head>span{font-size:2rem;line-height:1;flex:none}
.service-pillar--brand .service-pillar-head{background:var(--paper)}.service-pillar--brand .service-pillar-head>span{color:var(--orange)}
.service-pillar--digital .service-pillar-head{background:var(--orange)}
.service-pillar--experiences .service-pillar-head{background:var(--pale-blue)}
.pillar-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;flex:1}
.service-pillar:not(.service-pillar--experiences) .service-card:last-child{grid-column:1/-1}
.service-pillar--experiences .pillar-cards{grid-template-columns:1fr}
.service-card{min-width:0;min-height:285px;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:1.35rem;display:flex;flex-direction:column;transition:background .35s,color .35s,transform .35s;position:relative;background:var(--paper)}
.service-card:nth-child(2n){border-right:0}.service-pillar--experiences .service-card{border-right:0}
.service-card:hover{background:var(--blue);color:#fff;transform:translateY(-6px);z-index:2}.service-pillar--digital .service-card:hover{background:var(--orange);color:var(--ink)}
.service-num{font-size:.72rem;font-weight:800;letter-spacing:.05em}.service-card h4{font-size:clamp(1.35rem,1.55vw,1.9rem);line-height:1.04;letter-spacing:-.045em;margin:1.3rem 0 .85rem;font-weight:900;max-width:430px}.service-card p{font-size:.88rem;line-height:1.42;margin:0 0 1.5rem;max-width:360px}.service-tag{font-size:.62rem;font-weight:800;letter-spacing:.11em;display:flex;justify-content:space-between;gap:1rem;border-top:1px solid currentColor;padding-top:.75rem;margin-top:auto}.service-tag span{font-size:1.3rem;line-height:.7}

.process{background:var(--ink);color:var(--paper);padding-bottom:3rem}.process .section-index{border-color:rgba(255,255,255,.28)}.process .section-display .outline-word{-webkit-text-stroke:1.5px var(--paper)}
.process-layout{display:grid;grid-template-columns:30% 1fr;gap:5vw;margin-top:5rem}.process-aside{position:sticky;top:120px;align-self:start;border-top:1px solid rgba(255,255,255,.3);padding-top:1.2rem}.process-aside>span{font-size:.68rem;font-weight:800;letter-spacing:.15em}.process-aside-mark{font-family:Georgia,serif;font-size:clamp(7rem,14vw,13rem);line-height:1;letter-spacing:-.1em;margin:2rem 0;color:var(--paper)}.process-aside-mark span{font-family:var(--sans);font-size:.3em;color:var(--orange);vertical-align:top;margin-left:.2em}.process-aside p{font-size:1rem;max-width:290px;line-height:1.55}
.process-step{display:grid;grid-template-columns:1fr 45%;gap:2rem;min-height:570px;align-items:center;border-top:1px solid rgba(255,255,255,.35);padding:3rem 0}.process-step:last-child{border-bottom:1px solid rgba(255,255,255,.35)}.process-text{display:flex;flex-direction:column;height:100%;justify-content:center}.process-text>span{font-size:.72rem;font-weight:800;letter-spacing:.16em;color:var(--pale-blue)}.process-text h3{font-size:clamp(2.3rem,3.5vw,4.4rem);font-weight:900;line-height:1.02;letter-spacing:-.045em;margin:2.2rem 0}.process-text p{font-size:1rem;line-height:1.58;color:#d6d0cb;max-width:470px;margin:0}.process-step.is-current h3{color:var(--orange)}.process-step img{width:100%;height:390px;object-fit:cover;filter:saturate(.9);transition:transform .7s}.process-step:hover img{transform:scale(1.025)}

.projects{background:var(--paper);min-height:760px}
.projects .section-index{border-bottom:1px solid var(--line);padding-bottom:1.3rem}
.projects-layout{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:5vw;align-items:center;margin-top:4rem}
.projects .section-display{font-size:clamp(4.2rem,7.1vw,8.7rem);margin:0}
.projects-preview{min-height:430px;background:var(--ink);color:var(--paper);padding:2rem;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;overflow:hidden}
.projects-preview>span:first-child{font-size:.66rem;font-weight:800;letter-spacing:.14em;border-bottom:1px solid rgba(255,255,255,.35);width:100%;padding-bottom:1rem}
.projects-preview-star{font-size:clamp(6rem,11vw,11rem);line-height:1;color:var(--orange);align-self:center;animation:star-turn 20s linear infinite}
.projects-preview p{font-size:clamp(1.35rem,2vw,2rem);font-weight:700;letter-spacing:-.03em;line-height:1.2;max-width:410px;margin:0}

.universe{display:grid;grid-template-columns:52% 48%;background:var(--blue);color:#fff;min-height:750px}.universe-copy{padding:5.5rem 5vw;display:flex;flex-direction:column}.universe .section-index{border-bottom:1px solid rgba(255,255,255,.34);padding-bottom:1.3rem}.universe h2{font-weight:900;font-size:clamp(3.9rem,5.9vw,7.1rem);line-height:.99;letter-spacing:-.055em;margin:auto 0 2rem}.universe h2 .outline-word{-webkit-text-stroke:1.3px #fff}.universe p{font-size:1.1rem;line-height:1.55;max-width:410px;margin:0 0 3rem}.universe .text-link{border-top:1px solid rgba(255,255,255,.34);padding-top:1.3rem;justify-content:space-between}.universe-visual{position:relative;overflow:hidden;background:var(--paper)}.universe-visual img{height:100%;width:100%;object-fit:cover;object-position:center;transition:transform 1s}.universe-visual:hover img{transform:scale(1.04)}.universe-visual>span{position:absolute;bottom:1.5rem;right:1.5rem;background:var(--paper);color:var(--ink);padding:.8rem 1rem;font-size:.68rem;font-weight:800;letter-spacing:.12em}

.contact{display:grid;grid-template-columns:43% 57%;min-height:780px;background:var(--paper)}.contact-image{position:relative;overflow:hidden;background:var(--blue)}.contact-image img{width:100%;height:100%;object-fit:cover}.contact-image span{position:absolute;left:1.5rem;bottom:1.5rem;background:var(--orange);color:var(--ink);padding:.7rem 1rem;font-size:.68rem;font-weight:800;letter-spacing:.13em}.contact-content{padding:5rem 5vw;display:flex;flex-direction:column}.contact-content .section-index{padding-bottom:1.3rem;border-bottom:1px solid var(--line)}.contact-core{margin:auto 0;padding:4rem 0}.contact-small{font-size:.72rem;font-weight:800;letter-spacing:.18em}.contact h2{font-size:clamp(3.5rem,5.2vw,6.5rem);line-height:1.02;font-weight:900;letter-spacing:-.055em;margin:1.8rem 0 1.5rem}.contact h2 span{color:var(--blue)}.contact-core p{font-size:1.1rem;line-height:1.55;max-width:450px;margin:0}.contact-cta{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--ink);padding:1.2rem 1.5rem;background:var(--ink);color:#fff;font-size:.82rem;font-weight:800;letter-spacing:.1em;transition:background .3s,color .3s}.contact-cta span:last-child{font-size:1.8rem;line-height:1}.contact-cta:hover{background:var(--orange);color:var(--ink)}
.contact-core{padding:2.8rem 0 2.5rem}
.contact-methods{display:grid;grid-template-columns:1fr;margin-top:2rem;border-top:1px solid var(--line)}
.contact-methods a{display:grid;grid-template-columns:100px minmax(0,1fr) 20px;align-items:center;gap:.65rem;padding:.85rem 0;border-bottom:1px solid var(--line);transition:color .25s,padding-left .25s}
.contact-methods a:hover{color:var(--blue);padding-left:.35rem}
.contact-methods a>span:first-child{font-size:.61rem;font-weight:800;letter-spacing:.13em}
.contact-methods strong{font-size:clamp(.88rem,1.25vw,1.08rem);font-weight:700;overflow-wrap:anywhere}
.contact-methods a>span:last-child{font-size:1.1rem;color:var(--orange)}
.footer{background:var(--ink);color:var(--paper);padding:3rem 5vw;display:grid;grid-template-columns:1.4fr 1fr 1fr;align-items:end;gap:2rem}.footer-brand{font:400 3rem/1 Georgia,serif;letter-spacing:-.07em}.footer-brand span{font:400 1rem/1 var(--sans);color:var(--orange);vertical-align:top;margin-left:.2rem}.footer>span,.footer>a:not(.footer-brand),.footer small{font-size:.68rem;font-weight:700;letter-spacing:.1em}.footer>a:not(.footer-brand){justify-self:end}.footer small{grid-column:3;justify-self:end;color:#aaa}

.reveal{opacity:0;transform:translateY(42px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1);transition-delay:var(--delay,0ms)}.reveal.in-view{opacity:1;transform:none}

/* Motion follows the reader: the band travels, headings drift, and steps stack in place. */
.motion-band{height:clamp(105px,13vw,170px);overflow:hidden;background:var(--blue);border-block:5px solid var(--orange);display:flex;align-items:center}
.motion-band-track{display:flex;align-items:center;white-space:nowrap;width:max-content;will-change:transform;transform:translate3d(var(--band-x,0px),0,0)}
.motion-band-track span{font-size:clamp(3.6rem,8.5vw,9rem);font-weight:900;letter-spacing:-.06em;line-height:1;padding-right:.22em;color:transparent;-webkit-text-stroke:1.5px var(--paper)}
.motion-band-track span:nth-child(2){color:var(--paper);-webkit-text-stroke:0}
.statement-title span.reveal:nth-child(odd){transform:translateX(-8vw)}
.statement-title span.reveal:nth-child(even){transform:translateX(8vw)}
.statement-title span.reveal.in-view{transform:none}
.section-display{overflow:hidden}
.section-display span{display:block;opacity:0;transform:translateY(105%);transition:opacity .85s ease,transform .85s cubic-bezier(.2,.8,.2,1)}
.section-display.in-view span{opacity:1;transform:none}
.section-display.in-view span:nth-child(2){transition-delay:.15s}
.service-card.reveal{opacity:0;transform:translateY(70px) rotate(-1deg);clip-path:inset(0 0 18% 0);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1),clip-path .7s ease,background .35s,color .35s;transition-delay:var(--delay,0ms)}
.service-card.reveal.in-view{opacity:1;transform:none;clip-path:inset(0)}
.service-card.reveal.in-view:hover{transform:translateY(-6px)}
.process-list{padding-bottom:10vh}
.process-step{position:sticky;top:105px;min-height:calc(100svh - 125px);padding:3rem;background:var(--ink);border:1px solid rgba(255,255,255,.3);margin-bottom:24vh;box-shadow:0 -20px 35px rgba(0,0,0,.18);overflow:hidden}
.process-step:nth-child(1){z-index:1}.process-step:nth-child(2){z-index:2}.process-step:nth-child(3){z-index:3}.process-step:nth-child(4){z-index:4}
.process-step::before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:var(--orange);transform:scaleY(0);transform-origin:top;transition:transform .7s ease}
.process-step.is-current::before{transform:scaleY(1)}
.process-step img{clip-path:inset(0 0 100% 0);transform:scale(1.1);transition:clip-path .9s cubic-bezier(.2,.8,.2,1),transform 1.1s cubic-bezier(.2,.8,.2,1)}
.process-step.in-view img{clip-path:inset(0);transform:scale(1)}
.process-step.in-view:hover img{transform:scale(1.04)}
.process-text{opacity:0;transform:translateX(-45px);transition:opacity .7s .15s ease,transform .7s .15s ease}
.process-step.in-view .process-text{opacity:1;transform:none}
.process-aside-counter{display:flex;align-items:baseline;gap:.7rem;color:var(--paper);margin:0 0 .8rem}
.process-aside-counter strong{font-size:clamp(3rem,5vw,5rem);line-height:1;font-weight:900;letter-spacing:-.08em;color:var(--orange)}
.process-aside-counter span{font-size:.82rem;letter-spacing:.1em;font-weight:700}
.process-aside-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;max-width:260px}
.process-aside-progress i{height:4px;background:rgba(255,255,255,.25);transition:background .35s,transform .35s;transform-origin:left}
.process-aside-progress i.active{background:var(--orange);transform:scaleY(1.5)}
.image-reveal{isolation:isolate}
.image-reveal::after{content:"";position:absolute;inset:0;background:var(--blue);z-index:1;transform:translateX(0);transition:transform 1.15s cubic-bezier(.76,0,.24,1);pointer-events:none}
.contact-image.image-reveal::after{background:var(--orange)}
.image-reveal.in-view::after{transform:translateX(101%)}
.image-reveal img{transform:scale(1.12);transition:transform 1.5s cubic-bezier(.2,.8,.2,1)}
.image-reveal.in-view img{transform:scale(1.02)}
.image-reveal>span{z-index:2}
.hero-line{animation:none;opacity:0;transform:translateY(55px)}
.site-entered .hero-line{animation:headline-in .9s cubic-bezier(.2,.8,.2,1) both}
.site-entered .hero-line:nth-child(2){animation-delay:.1s}.site-entered .hero-line:nth-child(3){animation-delay:.2s}
.hero-art{clip-path:inset(0 0 100% 0);transition:clip-path 1.1s cubic-bezier(.2,.8,.2,1)}
.site-entered .hero-art{clip-path:inset(0)}
@media(max-width:1100px){.hero h1{font-size:clamp(5rem,10vw,9rem)}.hero-art{width:30vw;height:215px}.service-card{padding:1.6rem}.process-layout{grid-template-columns:26% 1fr;gap:3vw}.process-step{grid-template-columns:1fr 43%;gap:1.4rem}.process-text h3{font-size:clamp(2rem,3.4vw,3rem)}.process-step img{height:320px}}
@media(max-width:760px){html{scroll-padding-top:72px}[id]{scroll-margin-top:72px}.site-header{height:72px;padding:0 5vw;grid-template-columns:1fr auto}.header-note{display:none}.brand{justify-self:start;width:150px;height:52px}.site-menu{inset:72px 0 0;padding:2rem 5vw}.site-menu>a{font-size:clamp(2.7rem,10vw,4.5rem);gap:1rem}.hero{min-height:auto;padding:2rem 5vw 3rem}.hero h1{font-size:clamp(3.7rem,13.2vw,6.5rem);line-height:.9;margin:5rem 0 2rem}.hero-star{font-size:.48em}.hero-art{position:relative;bottom:auto;right:auto;width:100%;height:310px;transform:none!important;margin:2rem 0 1.5rem}.hero-footer{margin-top:0;align-items:start}.hero-footer p{max-width:300px;font-size:1rem}.hero-footer a{font-size:.62rem;gap:.6rem}.statement{min-height:670px;padding:5rem 5vw}.statement-title{font-size:clamp(3.4rem,10vw,6rem)}.statement-bottom p{font-size:1rem;max-width:330px}.section-pad{padding:5rem 5vw}.section-display{font-size:clamp(3.2rem,10vw,5.7rem);margin:3rem 0 2rem}.section-lead{margin-bottom:3rem}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card{min-height:310px}.service-card h3{font-size:clamp(1.7rem,4vw,2.5rem)}.process-layout{display:block;margin-top:3rem}.process-aside{position:relative;top:auto;border:0;display:flex;justify-content:space-between;align-items:center;gap:1rem}.process-aside-mark{font-size:6rem;margin:0}.process-aside p{display:none}.process-step{min-height:470px}.process-step img{height:300px}.universe{grid-template-columns:1fr}.universe-copy{padding:5rem 5vw;min-height:590px}.universe h2{font-size:clamp(3.4rem,9vw,5.5rem)}.universe-visual{height:440px}.contact{grid-template-columns:1fr}.contact-content{grid-row:1;padding:4.5rem 5vw;min-height:650px}.contact-image{grid-row:2;height:400px}.contact h2{font-size:clamp(3.2rem,9vw,5rem)}.footer{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer small{grid-column:2}.welcome{padding:2rem 5vw}.welcome-top,.welcome-bottom{font-size:.6rem}.welcome-bottom>span{max-width:190px}}
@media(max-width:500px){.hero-kicker,.section-index{font-size:.61rem;letter-spacing:.1em}.hero h1{font-size:clamp(3rem,13.7vw,4.4rem);margin-top:4rem}.hero-art{height:260px}.hero-footer{flex-direction:column;gap:1.5rem}.statement-title{font-size:clamp(3.05rem,10.2vw,4.2rem)}.statement-bottom{align-items:start}.statement-symbol{font-size:2.3rem}.statement-bottom p{max-width:260px}.section-display{font-size:clamp(3.05rem,10.3vw,4.3rem)}.services-grid{grid-template-columns:1fr}.service-card{min-height:260px}.service-card h3{font-size:2.1rem}.process-aside>span{max-width:190px}.process-step{grid-template-columns:1fr;min-height:auto;gap:1.5rem;padding:3rem 0}.process-text h3{font-size:2.5rem;margin:1.5rem 0}.process-step img{height:260px}.universe-copy{min-height:550px}.universe h2{font-size:clamp(3rem,10vw,4.2rem)}.universe-visual{height:340px}.contact-content{min-height:570px}.contact h2{font-size:clamp(2.9rem,9vw,4rem)}.contact-image{height:320px}.footer{gap:1.5rem}.footer>span{grid-column:1/-1}.footer>a:not(.footer-brand){justify-self:start}.welcome-top span:last-child{display:none}.welcome-center p{font-size:1.2rem}.welcome-bottom>span{display:none}.welcome-bottom{justify-content:end}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}.hero-line{opacity:1;transform:none}.hero-star{animation:none}}

@media(max-width:900px){
  .welcome{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) 30vh}
  .welcome-editorial{padding:1.5rem 5vw 1.4rem}
  .welcome-center{margin:auto 0}
  .welcome-logo{width:min(440px,100%)}
  .welcome-headline{font-size:clamp(2.6rem,7vw,4.7rem)}
  .welcome-scene-top{display:none}
  .welcome-scene-photo{inset:0 0 2.7rem}
  .welcome-scene-ring{width:32%;left:auto;right:-5%;top:-60%}
  .welcome-scene-caption{min-height:2.7rem;padding:.65rem 5vw}
}
@media(max-width:760px){
  .process-layout{margin-top:2rem}
  .process-aside{display:grid;grid-template-columns:1fr auto;align-items:end;border-top:1px solid rgba(255,255,255,.3);padding-top:1rem;margin-bottom:1.4rem}
  .process-aside>span{grid-column:1/-1}
  .process-aside-mark{display:none}
  .process-aside-counter{margin:.6rem 0 0}
  .process-aside-progress{width:115px;margin-bottom:.45rem}
  .process-step{position:relative;top:auto;min-height:auto;padding:2rem;margin-bottom:1.5rem}
  .process-step img{height:260px}
  .welcome{padding:0}
  .welcome-top,.welcome-bottom{font-size:.61rem}
  .welcome-bottom{align-items:stretch}
  .welcome-enter{min-width:230px}
}
@media(max-width:500px){
  .welcome{grid-template-rows:minmax(0,1fr) 29vh}
  .welcome-editorial{padding:1.4rem 5vw}
  .welcome-top span:last-child{display:block}
  .welcome-top,.welcome-bottom{font-size:.52rem;letter-spacing:.1em}
  .welcome-small{font-size:.58rem;letter-spacing:.11em}
  .welcome-logo{width:min(360px,100%);margin:.1rem 0}
  .welcome-headline{font-size:clamp(2.15rem,8.2vw,3.1rem);line-height:.98}
  .welcome-bottom>span{display:none}
  .welcome-enter{width:100%;min-width:0;font-size:.64rem;padding:.85rem 1rem}
  .welcome-scene-caption{font-size:.55rem;letter-spacing:.08em}
  .motion-band{height:100px;border-width:3px}.motion-band-track span{font-size:3.4rem}
  .process-step{grid-template-columns:1fr;gap:1rem;padding:1.6rem;min-height:auto}
  .process-text h3{font-size:clamp(2.05rem,7.4vw,2.5rem);margin:1rem 0}
  .process-text p{font-size:.91rem}
  .process-step img{height:clamp(180px,28vh,240px)}
}
@media(max-width:360px){.statement-title{font-size:2.9rem}}
@media(max-width:760px) and (max-height:690px){.process-step{position:relative;top:auto;min-height:auto}}
@media(max-width:760px){.brand{height:40px}}
@media(max-width:1200px){
  .services-grid{grid-template-columns:1fr}
  .service-pillar-head{min-height:120px}
  .pillar-cards{grid-template-columns:repeat(3,minmax(0,1fr))}
  .service-pillar:not(.service-pillar--experiences) .service-card:last-child{grid-column:auto}
  .service-pillar--experiences .pillar-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .service-card{min-height:270px;border-right:1px solid var(--ink)}
  .service-card:nth-child(2n){border-right:1px solid var(--ink)}
  .service-card:nth-child(3n),.service-pillar--experiences .service-card:nth-child(2n){border-right:0}
  .service-card h4{font-size:clamp(1.6rem,2.5vw,2rem)}
}
@media(max-width:760px){
  .site-menu>a{font-size:clamp(2.35rem,8.7vw,3.4rem);padding:.4rem 0}
  .pillar-cards,.service-pillar--experiences .pillar-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .service-pillar:not(.service-pillar--experiences) .service-card:last-child{grid-column:1/-1}
  .service-card:nth-child(2n),.service-pillar--experiences .service-card:nth-child(2n){border-right:0}
  .service-pillar:not(.service-pillar--experiences) .service-card:last-child{border-right:0}
  .service-card{min-height:265px}
  .projects{min-height:0}
  .projects-layout{grid-template-columns:1fr;margin-top:3rem;gap:2.5rem}
  .projects .section-display{font-size:clamp(3.2rem,10vw,6rem)}
  .projects-preview{min-height:350px}
}
@media(max-width:500px){
  .pillar-cards,.service-pillar--experiences .pillar-cards{grid-template-columns:1fr}
  .service-pillar:not(.service-pillar--experiences) .service-card:last-child{grid-column:1}
  .service-card,.service-card:nth-child(2n),.service-card:nth-child(3n){border-right:0;min-height:230px}
  .service-card h4{font-size:1.9rem}
  .service-card p{font-size:.96rem}
  .service-pillar-head h3{font-size:clamp(2.6rem,11vw,3.5rem)}
  .service-pillar--experiences .service-pillar-head h3{font-size:clamp(1.7rem,8vw,2.6rem)}
  .service-pillar--experiences .service-pillar-head{gap:.5rem}
  .projects .section-display{font-size:clamp(3rem,11vw,4.3rem)}
  .projects-preview{min-height:320px}
  .projects-preview p{font-size:1.45rem}
}
@media(prefers-reduced-motion:reduce){
  .section-display span,.service-card.reveal,.process-text,.hero-line{opacity:1!important;transform:none!important;clip-path:none!important}
  .hero-art,.process-step img{clip-path:none!important;transform:none!important}
  .image-reveal::after{display:none}
  .projects-preview-star{animation:none}
}
