/* Source lock: Monopo scale/masks, HAOQI optics, Bodak spatial assembly. */
.design-principles { padding-left:var(--gutter);padding-right:var(--gutter); }
.design-principles > h2 { font-size:clamp(60px,8.8vw,160px);max-width:11em;margin-bottom:90px; }
.industry-stack { position:relative;padding-bottom:90px; }
.industry-panel { position:sticky;top:106px;min-height:calc(100svh - 135px);display:grid;grid-template-columns:1fr 1.2fr;gap:6vw;align-items:center;background:var(--paper);padding:35px 0 60px;transform:scale(calc(1 - var(--stack-depth,0)*.06)) translateY(calc(var(--stack-depth,0)*-18px));transform-origin:center top;filter:brightness(calc(1 - var(--stack-depth,0)*.15)); }
.industry-copy h3 { font-size:clamp(70px,10vw,180px);line-height:1;letter-spacing:-.055em;margin-bottom:35px; }
.industry-panel:focus-within { z-index:3;transform:none;filter:none; }
.industry-copy p { font-size:clamp(20px,1.9vw,30px);line-height:1.45;max-width:19em;color:var(--muted); }
.chapter-card { display:block;min-width:0;perspective:1400px; }
.chapter-media { height:min(70svh,780px);overflow:hidden;border-radius:12px;transform:rotateY(-7deg) rotateZ(2deg);transition:transform 800ms cubic-bezier(.22,1,.36,1); }
.chapter-media img { width:100%;height:100%;object-fit:cover; }
.chapter-card:hover .chapter-media { transform:rotateY(0) rotateZ(0); }
.chapter-caption { display:inline-block;margin-top:24px;font-size:17px; }
@media(max-width:640px){.industry-panel{top:94px;min-height:calc(100svh - 100px);grid-template-columns:1fr;gap:28px;padding-top:25px;padding-bottom:35px}.industry-copy h3{font-size:20vw;margin-bottom:20px}.industry-copy p{font-size:18px;max-width:22em}.chapter-media{height:42svh}.design-principles > h2{font-size:13vw}.chapter-caption{margin-top:14px}}
@media(prefers-reduced-motion:reduce){.industry-panel{position:static;transform:none;filter:none;min-height:0;margin-bottom:70px}.chapter-media{transform:none;transition:none}}
.glass-nav { overflow:hidden;isolation:isolate;font-weight:400; }
.glass-nav.has-backdrop-optics:before,.glass-nav:before { background:#eeeeee4d; }
[data-theme=dark] .glass-nav.has-backdrop-optics:before,[data-theme=dark] .glass-nav:before { background:#1f1f1f94; }
.glass-nav .nav-liquid-backdrop { inset:-12px;backdrop-filter:blur(20px) saturate(1.12);-webkit-backdrop-filter:blur(20px) saturate(1.12); }
.glass-nav:after { opacity:.28; }
.glass-nav,.glass-nav.has-backdrop-optics {  }
.glass-nav .nav-links a { font-size:14px;font-weight:400; }
.glass-nav.menu-open .nav-links a { font-size:29px; }
.nav-contact:is(:hover,.is-active) { background:color-mix(in srgb,var(--ink) 86%,var(--paper));color:var(--paper); }
.filters,.bio-tabs { position:relative;isolation:isolate;background:color-mix(in srgb,var(--surface) 44%,transparent);border:1px solid #ffffff45;border-radius:14px;backdrop-filter:blur(14px) saturate(1.2); }
.filters button,.bio-tabs button { position:relative;border-radius:10px;font-weight:400;background:none; }
.filters button[aria-pressed=true],.bio-tabs button[aria-pressed=true] { background:color-mix(in srgb,var(--raised) 68%,transparent);color:var(--ink); }
.work-image .work-indicator { color:#1d2026;background:#f5f5f5c9;width:48px;height:48px;opacity:1; }
.work-card .work-image { transition:clip-path 1100ms cubic-bezier(.22,1,.36,1),transform 650ms cubic-bezier(.22,1,.36,1); }
.work-image .work-open { display:none; }
.work-card:focus-visible .work-indicator { opacity:1;transform:scale(1.14); }
@media(hover:hover) and (pointer:fine){
 .work-card:hover .work-indicator,.work-card:not(.is-locked):hover .work-indicator { opacity:1;transform:scale(1.17); }
 .work-card:hover .work-image { transform:translateY(-5px); }
 .work-card:hover .work-image > img { transform:scale(1.055);transition-duration:850ms; }
}
.hero-motion-toggle { display:none!important; }
.hero-phrase { display:block;visibility:hidden;opacity:0;pointer-events:none; }
.hero-phrase.is-current,.hero-phrase.is-changing { visibility:visible;opacity:1; }
.hero-phrase > span { display:block;overflow:clip;padding-bottom:.13em;margin-bottom:-.13em; }
.hero-phrase .phrase-line { display:block;will-change:transform; }
.hero-orbit-center { font-size:0; }
.hero-orbit-center sup { display:none; }
.hero-explore .hero-orbit-center svg { width:30px;height:30px;opacity:1;transform:none; }
.hero-explore .hero-orbit-ring { font-size:8.6px;letter-spacing:1.8px;font-weight:400; }
.hero-explore.hero-orbit { margin-right:0; }
.hero-person { gap:16px; }
.portrait-glass { position:relative;width:64px;height:64px;flex-shrink:0; }
.hero-person .portrait-glass img { width:64px;height:64px;border-radius:50%;filter:saturate(.64);background:transparent; }
.portrait-glass canvas { position:absolute;inset:0;width:100%;height:100%;opacity:0; }
.portrait-glass[data-context=ready] canvas { opacity:1; }
.portrait-glass[data-context=ready] img { opacity:0; }
.wordmark-name.is-settled .wordmark-base { visibility:visible; }
.wordmark-name.is-settled .wordmark-slice { visibility:hidden; }
@media(prefers-reduced-motion:reduce){.wordmark-name .wordmark-base{visibility:visible}.wordmark-name .wordmark-slice{visibility:hidden}}
.logo-marquee .about-logo-block { display:flex;align-items:center;justify-content:center;gap:12px;height:160px;width:clamp(300px,30vw,470px);padding:15px 30px; }
.logo-marquee .about-logo-block img,.logo-marquee .about-logo-block svg { max-width:78%;max-height:75px;flex-shrink:1; }
.logo-marquee .web3-tag { position:static;transform:none;font-size:10px;padding:5px 7px;margin:0;flex-shrink:0;background:color-mix(in srgb,var(--ink) 8%,transparent);color:var(--ink);border:1px solid var(--line); }
.process-sticky { transform:perspective(1600px) rotateX(calc((1 - var(--process-entry,1))*7deg)) scale(calc(.94 + var(--process-entry,1)*.06));transform-origin:center bottom; }
.process-story { padding-top:30px;padding-bottom:70px; }
.service-rows > a { grid-template-columns:1.2fr 1fr 50px; }
.service-rows > a > svg { justify-self:end;opacity:1!important; }
.service-preview { width:clamp(170px,21vw,310px);height:clamp(170px,21vw,310px);right:10%;z-index:2;pointer-events:none; }
.service-preview[hidden] { display:none; }
.service-rows.services-have-3d > a > svg { opacity:1; }
[data-scene=orb] canvas { filter:saturate(.48); }
.gallery-enhanced .work-card { width:min(37vw,440px);top:46%; }
.gallery-enhanced .work-card .work-image { height:min(59svh,650px);border-radius:12px; }
.gallery-enhanced .work-card .work-image > img { object-fit:cover; }
.gallery-enhanced .work-grid:not(.is-filtered) .work-card:nth-child(n) .work-image { width:100%;aspect-ratio:auto;perspective:none; }
.gallery-enhanced .work-grid .work-card:nth-child(n) .work-image > img { object-fit:cover; }
.gallery-enhanced .work-card .work-caption { margin-top:15px; }
.gallery-enhanced .work-card .work-caption h3 { font-size:clamp(23px,2.2vw,38px); }
.gallery-controls { width:min(590px,76vw);gap:20px;padding:9px 14px;bottom:26px;background:color-mix(in srgb,var(--surface) 68%,transparent);border:1px solid #ffffff38;border-radius:18px;backdrop-filter:blur(18px); }
.gallery-controls button { flex-shrink:0;border:0;background:none;width:44px;height:44px;font-size:23px; }
.gallery-current { min-width:0;flex:1;font-size:15px; }
.gallery-range { width:100%;height:44px;accent-color:var(--ink);cursor:ew-resize;background:none; }
.gallery-control-main { flex:1;min-width:0;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:18px; }
.gallery-stage { touch-action:pan-y; } /* grab cursor off with the DRAG affordance (2026-10-09) */
.gallery-stage.is-dragging { cursor:grabbing; }
.gallery-stage.is-dragging .work-card { pointer-events:none; }
.gallery-stage .work-card { cursor:inherit;user-select:none; }
.gallery-stage .work-image img { -webkit-user-drag:none; }
.spatial-cursor { position:fixed;left:0;top:0;width:66px;height:66px;border-radius:50%;display:grid;place-items:center;color:#1c1f25;background:#f7f7f7bd;border:1px solid #ffffff91;backdrop-filter:blur(10px);z-index:90;pointer-events:none;font-size:11px;letter-spacing:.06em;opacity:0;transition:opacity 180ms; }
.spatial-cursor.is-visible { opacity:1; }
.page-shutter { color:var(--ink);isolation:isolate; }
.shutter-plane { background:var(--surface); }
.shutter-plane:last-of-type { background:var(--paper); }
.page-shutter > span { font-size:clamp(66px,12vw,190px);font-weight:400; }
.page-shutter:after { content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(135deg,#ffffff0a,transparent 60%); }
footer .footer-top { position:relative;min-height:100svh;display:grid;grid-template-columns:1fr;align-content:start;padding-top:45px; }
.footer-top h2 { font-size:clamp(60px,8.4vw,145px);line-height:1.02;letter-spacing:-.055em;max-width:8em;position:relative;z-index:2; }
.footer-top .footer-contact { justify-self:end;position:relative;z-index:2;margin-top:35px;font-size:clamp(24px,3.5vw,48px); }
.footer-art { top:12%;height:90%; }
.page-opening { min-height:76svh;padding:155px var(--gutter) 70px;display:grid;grid-template-columns:1.3fr .7fr;gap:6vw;align-items:end; }
.page-opening h1 { font-size:clamp(78px,11.2vw,195px);line-height:.96;letter-spacing:-.065em; }
.page-opening p { max-width:23em;font-size:clamp(19px,1.7vw,28px);line-height:1.4;color:var(--muted);padding-bottom:8px; }
[data-page=about] .about-section { padding-top:10px; }
[data-page=approach] .approach-section { margin-top:0; }
[data-page=approach] .approach-intro { display:none; }
[data-page=approach] .services-section .section-heading { margin-bottom:75px; }
[data-page=approach] .service-rows { display:grid;grid-template-columns:1fr 1fr;gap:60px; }
[data-page=approach] .service-rows > a { display:flex;flex-wrap:wrap;align-content:start;gap:20px;min-height:250px;position:relative;border-top:1px solid var(--line); }
[data-page=approach] .service-rows h3 { font-size:clamp(35px,3.3vw,54px);width:calc(100% - 50px); }
[data-page=approach] .service-rows p { width:100%; }
.design-cycle { min-height:100svh;padding-top:50px;display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:7vw; }
.cycle-diagram { width:min(100%,78svh,1000px);margin:0; }
.cycle-model { inset:19%; }
.cycle-diagram[data-context=ready] .cycle-piece { opacity:0!important; }
.cycle-canvas { position:absolute;inset:0;width:100%;height:100%;pointer-events:none; }
.cycle-tab { font-size:clamp(15px,1.5vw,22px); }
.cycle-detail { width:100%; }
.cycle-panel { text-align:left;max-width:none; }
.cycle-panel h3 { font-size:clamp(58px,6.8vw,112px); }
.cycle-pagination { margin:0 0 35px;max-width:180px; }
.experience-projects { position:absolute;inset:0;display:flex;align-items:center;gap:24px;transform:translateX(var(--stream-offset,0px));width:max-content;opacity:var(--stream-opacity,0);pointer-events:none; }
.experience-project { width:clamp(220px,29vw,480px);margin:0;flex-shrink:0; }
.experience-project img { width:100%;height:clamp(220px,35svh,440px);object-fit:cover;border-radius:12px; }
.experience-project figcaption { display:inline-block;margin-top:12px;padding:10px 15px;color:#1c1f25;background:#f4f4f4de;backdrop-filter:blur(10px);border-radius:9px;font-size:15px; }
.experience-projects { top:35%;bottom:auto;transform:translateY(-50%) translateX(var(--stream-offset,0px)); }
.experience-project { width:clamp(170px,20vw,300px);position:relative; }
.experience-project img { height:clamp(215px,25vw,375px); }
.experience-project figcaption,.experience-card figcaption { position:absolute;left:14px;right:auto;bottom:14px;margin:0;background:#f4f4f4ed;color:#1c1f25;border-radius:8px; }
.experience-project figcaption,.experience-card figcaption { max-width:calc(100% - 28px);font-size:13px;padding:8px 10px; }
@media(max-width:1024px){.design-cycle{grid-template-columns:1fr;gap:35px}.cycle-diagram{width:min(75vw,65svh);margin:auto}.cycle-detail{max-width:630px}.cycle-panel{text-align:center}.cycle-pagination{margin:0 auto 25px}.page-opening{min-height:65svh}.footer-top h2{font-size:9.5vw}.gallery-control-main{grid-template-columns:1fr;gap:0}.gallery-range{height:24px}.gallery-controls{bottom:70px}}
@media(max-width:640px){.glass-nav .nav-links a{font-size:14px}.hero-explore.hero-orbit{margin-right:0}.hero-bottom{display:flex;justify-content:space-between;align-items:center}.hero-person{font-size:11px;gap:9px}.portrait-glass,.hero-person .portrait-glass img{width:52px;height:52px}.service-preview{right:12%;width:160px;height:160px}.gallery-enhanced .work-card{width:65vw}.gallery-enhanced .work-card .work-image{height:51svh}.gallery-controls{width:88vw;gap:8px;bottom:84px;padding:5px 8px}.gallery-current{font-size:13px}.logo-marquee .about-logo-block{width:300px;height:130px;padding:10px 20px}.footer-top h2{font-size:12.5vw}footer .footer-top{min-height:85svh;padding-top:28px}.footer-art{top:18%;height:76%}.footer-top .footer-contact{margin-top:23px;justify-self:start}.page-opening{padding:125px 20px 50px;grid-template-columns:1fr;gap:30px;min-height:65svh}.page-opening h1{font-size:17vw}.page-opening p{font-size:19px}.design-cycle{padding-top:25px;gap:35px;min-height:95svh}.cycle-diagram{width:100%}.cycle-panel h3{font-size:14vw}.cycle-tab{font-size:12px}.cycle-panels{min-height:260px}[data-page=approach] .service-rows{grid-template-columns:1fr;gap:30px}.experience-project{width:65vw}.experience-project img{height:32svh}}
@media(prefers-reduced-motion:reduce){.spatial-cursor{display:none}.work-card .work-image{transition:none}.experience-projects{display:none}.process-sticky{transform:none}.cycle-canvas{animation:none}}
@media(max-width:640px){.experience-project{width:145px}.experience-project img{height:190px}.hero-bottom{bottom:92px}}
