/* Blue light, drawn curves and type: one visual language across every page. */
[data-choreography]{--motion-enter:1;--motion-drift:0px;--motion-turn:0deg;--motion-light:70%}
.project-type-card .work-media{background:radial-gradient(ellipse at 100% 100%,#1b376044,transparent 65%),#070e19}
.project-type-card:nth-child(4n+2) .work-media{background:radial-gradient(ellipse at 15% 0,#3262ae33,transparent 70%),#091323}
.project-type-card:nth-child(4n+3) .work-media{background:linear-gradient(130deg,#0e1c30,#050a13 72%)}
.project-type-card .work-media::before{inset:9%;border:0;border-top:1px solid #8db2ed;opacity:.25;transform:scaleX(calc(.2 + var(--motion-enter,1)*.8));transform-origin:left}
.project-type-card .work-media::after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at var(--motion-light,70%) 100%,#477ed32b,transparent 58%);z-index:0}
.project-type-card .work-overlay{padding:clamp(26px,4vw,60px)}
.project-type-card .project-wordmark{max-width:95%;line-height:1.04;letter-spacing:-.055em;font-weight:500;text-wrap:balance;translate:calc((1 - var(--motion-enter,1))*18px) calc(var(--motion-drift,0px)*-.22)}
.project-type-card:nth-child(4n+3) .project-wordmark{font-weight:650;letter-spacing:-.07em}
.portfolio-figure{position:absolute;inset:20% -30% -65% 5%;pointer-events:none;opacity:.27;rotate:var(--motion-turn,0deg);translate:0 var(--motion-drift,0px);color:#719fdf}
.portfolio-figure svg{width:100%;height:100%;overflow:visible}
.project-type-card:nth-child(even) .portfolio-figure{inset:-80% -25% 10% 10%;scale:1 -1;opacity:.2}
.project-type-card:nth-child(3n) .portfolio-figure{rotate:calc(65deg + var(--motion-turn,0deg));inset:-5% -40% -50% 10%}
.project-type-card .work-caption{padding-top:20px}
.project-type-card .work-caption p{color:var(--muted-blue)}
.client-roster{padding-top:0;display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(35px,6vw,110px);align-items:start}
.client-roster .section-title{font-size:clamp(38px,4.8vw,72px)}
.client-roster ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:0 32px}
.client-roster li{position:relative;font-size:clamp(18px,1.8vw,28px);letter-spacing:-.04em;line-height:1.3;padding:22px 0;color:var(--ink);translate:0 calc((1 - var(--motion-enter,1))*18px)}
.client-roster li::before{content:'';position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,#4b71ac,transparent);transform:scaleX(var(--motion-enter,1));transform-origin:left}
.client-roster li:nth-child(3n+2){font-family:Instrument,Georgia,serif;font-style:italic;font-size:clamp(23px,2.2vw,34px);color:var(--blue)}
.service-block[data-choreography],.plan-card[data-choreography],.value-block[data-choreography]{position:relative;isolation:isolate}
.service-block[data-choreography]::before,.plan-card[data-choreography]::after{content:'';position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:radial-gradient(ellipse at var(--motion-light,70%) 0,#6198f01c,transparent 65%);z-index:-1}
.service-block .service-top>svg{rotate:var(--motion-turn,0deg);translate:0 calc(var(--motion-drift,0px)*-.4)}
.service-block .number,.value-block .number{display:inline-block;translate:0 calc((1 - var(--motion-enter,1))*-16px)}
.value-block[data-choreography]::before{content:'';position:absolute;left:0;right:0;top:-1px;height:2px;transform:scaleX(var(--motion-enter,1));transform-origin:left;background:linear-gradient(90deg,#8dbbff,#3768b1,transparent);pointer-events:none}
.plan-card[data-choreography] h2{translate:0 calc(var(--motion-drift,0px)*-.4)}
.plan-card[data-choreography]::before{content:'';position:absolute;inset:0;pointer-events:none;border-top:1px solid #85b1f2;transform:scaleX(var(--motion-enter,1));transform-origin:left;opacity:.65}
.service-detail-art[data-choreography]::before,.service-detail-art[data-choreography]::after{content:'';position:absolute;width:55%;aspect-ratio:1;border:1px solid #74a3ef30;border-radius:50%;pointer-events:none;translate:var(--motion-drift,0px) 0;scale:calc(.85 + var(--motion-enter,1)*.25) .5;rotate:calc(-25deg + var(--motion-turn,0deg))}
.service-detail-art[data-choreography]::after{width:75%;rotate:calc(35deg - var(--motion-turn,0deg));opacity:.6}
.service-detail-art .art-word{translate:calc(var(--motion-drift,0px)*-1.4) 0}
.insight-art[data-choreography] .cover-window,.insight-art[data-choreography] .cover-message{translate:0 var(--motion-drift,0px);rotate:calc(var(--motion-turn,0deg)*.35)}
.insight-art[data-choreography] .cover-monogram{translate:calc(var(--motion-drift,0px)*-.7) 0}
.insight-art[data-choreography] .search-map-trace{stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--motion-enter,1))}
.direction-mark[data-choreography] path{stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--motion-enter,1))}
.cta-link[data-choreography]{position:relative}
.cta-link[data-choreography]::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:2px;pointer-events:none;background:linear-gradient(90deg,#a0c6ff,#3361af,transparent);transform:scaleX(var(--motion-enter,1));transform-origin:left}
.cta-link[data-choreography]>svg{rotate:var(--motion-turn,0deg);translate:calc(var(--motion-drift,0px)*-.4) 0}

/* The same WebGL canvas leaves its hero anchor; no duplicate star or context. */
.wordmark .brand-logo,.footer-brand .brand-logo{width:82px;height:62px;aspect-ratio:auto;object-fit:contain;border:0;border-radius:0;box-shadow:none;background:transparent}
.footer-brand .brand-logo{width:110px;height:84px}
@media(max-width:1024px),(hover:none),(pointer:coarse){.wordmark .brand-logo{width:72px;height:54px}.footer-brand .brand-logo{width:110px;height:84px}}
.star-home-anchor{visibility:hidden!important;pointer-events:none!important}
.hero-art.star-traveller{position:fixed!important;top:0!important;left:0!important;right:auto!important;bottom:auto!important;width:256px!important;height:256px!important;aspect-ratio:1;margin:0;translate:none!important;transform-origin:0 0;z-index:4;pointer-events:none!important;contain:layout style paint;overflow:hidden;transition:none!important;will-change:transform,opacity}
.hero-art.star-traveller canvas{pointer-events:none!important;transition:none}
.hero-art.star-traveller::before{inset:18%;filter:blur(12px)}
.hero-art.star-traveller::after,.hero-art.star-traveller>img{display:none}
@media(max-width:650px){.project-type-card .work-overlay{padding:28px}.project-type-card .project-wordmark{font-size:clamp(32px,9vw,52px)}.portfolio-figure{opacity:.21}}
@media(max-width:900px){.client-roster{grid-template-columns:1fr}.client-roster ul{gap:0 24px}}
@media(prefers-reduced-motion:reduce){[data-choreography]{--motion-enter:1!important;--motion-drift:0px!important;--motion-turn:0deg!important;--motion-light:70%!important}.hero-art.star-traveller{display:none}}
html[data-motion=off] [data-choreography]{--motion-enter:1!important;--motion-drift:0px!important;--motion-turn:0deg!important;--motion-light:70%!important}
html[data-motion=off] .hero-art.star-traveller{display:none}
@media print{.hero-art.star-traveller{display:none}}
