/* sparock-rework.css */
:root{--paper:#f0f0e8;--ink:#111210;--night:#111210;--accent:#F1C153;--line:rgba(17,18,16,.22);--muted:#555851;--page:92vw}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;overflow-x:hidden;background:var(--night);color:var(--ink);font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",Arial,sans-serif;text-rendering:optimizeLegibility}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{font:inherit;color:inherit}h1,h2,h3,p,figure{margin:0}
:focus-visible{outline:3px solid var(--accent);outline-offset:5px}
.site-header{position:fixed;z-index:100;top:0;left:0;right:0;height:90px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 2vw;pointer-events:none}
.site-header>*{pointer-events:auto}
.site-header>.header-contact,.site-header>.header-actions{position:relative;z-index:3}
.header-contact,.menu-button{height:48px;border:0;border-radius:99px;background:#fff;color:var(--ink);display:inline-flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;box-shadow:0 1px 8px rgba(0,0,0,.08)}
.header-contact{justify-self:start;padding:0 22px;gap:14px}.header-contact span{font-size:19px}
.brand{position:relative;z-index:3;font-family:Impact,"Arial Narrow",sans-serif;font-size:23px;line-height:1;letter-spacing:.015em;color:#fff;background:var(--ink);padding:12px 10px 10px;clip-path:polygon(0 0,75% 0,100% 24%,100% 100%,0 100%)}
.brand-dot{color:var(--accent);font-size:9px;vertical-align:top;margin-left:2px}
.header-actions{justify-self:end;display:flex;align-items:center;gap:12px}
.lang-switch{display:flex;gap:6px;align-items:center;font:700 12px Arial,sans-serif;color:var(--ink);background:#fff;border-radius:99px;padding:0 15px;height:48px}.lang-switch a:not(.active){opacity:.45}
.menu-button{min-width:112px;gap:13px;padding:0 5px 0 18px;cursor:pointer}.menu-button i{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--ink);color:#fff;font-style:normal;letter-spacing:1px;font-size:12px}.menu-button:hover i,.menu-button:focus-visible i{background:var(--accent);color:var(--ink)}
body.menu-open .menu-button i{font-size:0}body.menu-open .menu-button i:after{content:"×";font-size:23px;line-height:1}
.site-header nav{position:fixed;z-index:1;inset:0;display:flex;flex-direction:column;justify-content:center;padding:110px 8vw 6vw;background:var(--accent);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-2%);transition:opacity .3s ease,transform .45s cubic-bezier(.22,1,.36,1),visibility .3s}
.site-header nav.open{opacity:1;visibility:visible;pointer-events:auto;transform:none}
.site-header nav a{width:max-content;max-width:100%;font-size:clamp(3.4rem,9vw,9rem);font-weight:900;line-height:.98;letter-spacing:-.065em;border-bottom:1px solid rgba(0,0,0,.2);transition:transform .25s cubic-bezier(.22,1,.36,1)}
.site-header nav a:hover,.site-header nav a:focus-visible{transform:translateX(2vw)}
.hero{position:relative;min-height:100svh;overflow:hidden;background:radial-gradient(ellipse 70% 55% at 52% 100%,#F1C153 0%,#F7E0B7 32%,transparent 76%),var(--paper);padding:130px 2vw 28px;display:flex;flex-direction:column;justify-content:space-between}
.hero:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.16;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.65' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E")}
.hero-location{position:relative;z-index:1;align-self:flex-end;text-align:right;font:700 11px/1.6 Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase}
.hero-wordmark{position:relative;z-index:1;align-self:center;width:100%;text-align:center;font-family:Impact,"Arial Narrow","Arial Black",sans-serif;font-size:clamp(7rem,18vw,21rem);font-weight:900;line-height:.73;letter-spacing:-.052em;white-space:nowrap;transform:scaleX(1.04);transform-origin:center}
.hero-wordmark span{color:#111210}
.hero-bottom{position:relative;z-index:2;min-height:34vh;display:flex;justify-content:space-between;align-items:end;gap:5vw}
.hero-product{width:clamp(190px,22vw,340px);padding:9px;background:#181a15;color:#fff;transform:rotate(-3deg);transition:transform .35s cubic-bezier(.22,1,.36,1)}.hero-product:hover{transform:rotate(0) translateY(-9px)}
.hero-product img{width:100%;aspect-ratio:1.45;object-fit:contain;background:radial-gradient(circle,#5B5448,#1B1915 70%)}
.hero-product span{display:flex;justify-content:space-between;padding:12px 4px 2px;font-size:12px;font-weight:700}.hero-product b{font-size:17px}
.hero-bottom>p{font-size:clamp(2.5rem,5.4vw,6.2rem);font-weight:900;line-height:1.04;letter-spacing:-.065em;text-align:right}.hero-bottom em{font-style:normal}
.hero-scroll{position:absolute;z-index:3;bottom:30px;left:45%;font:700 11px Arial,sans-serif;letter-spacing:.12em;white-space:nowrap}.hero-scroll span{margin-left:10px}
.kicker,.dark-kicker,.reader-overline{font:700 11px/1.5 Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase}
.manifesto{min-height:115svh;padding:14vh 5vw 7vh;background:var(--night);color:var(--paper);display:flex;flex-direction:column;justify-content:space-between;gap:9vh}
.manifesto>.kicker{text-align:center;color:#a8aaa1}
.manifesto h2{font-size:clamp(3.7rem,8.3vw,9rem);font-weight:900;line-height:1.14;letter-spacing:-.065em;text-align:center}
.manifesto h2 span{display:block}.manifesto h2 span:nth-child(2){color:#6c7067}.manifesto h2 span:nth-child(3){color:#b9bbb0}.manifesto h2 em{font-style:normal;color:var(--accent)}
.manifesto-foot{display:flex;justify-content:space-between;align-items:end;border-top:1px solid #454840;padding-top:24px;color:#b5b7ad}.manifesto-foot p{max-width:510px;line-height:1.8;font-size:15px}.manifesto-foot span{font:700 10px Arial,sans-serif;letter-spacing:.16em}
.transition-track{height:235svh;position:relative;background:var(--paper)}.transition-sticky{position:sticky;top:0;height:100svh;overflow:hidden;contain:paint;background:var(--paper)}
.transition-prelude{position:absolute;inset:0;z-index:1;padding:14vh 5vw 7vh;display:flex;flex-direction:column;justify-content:space-between}
.transition-index,.scroll-cue{font:700 11px Arial,sans-serif;letter-spacing:.17em}.transition-line{font-size:clamp(4rem,9.5vw,10rem);line-height:1.04;font-weight:900;letter-spacing:-.07em;align-self:center;text-align:center}.scroll-cue{align-self:end}
.liquid-canvas,.liquid-fallback{position:absolute;inset:0;z-index:2;width:100%;height:100%;pointer-events:none}.liquid-fallback{display:none;background:var(--night);transform:translateY(calc((1 - var(--liquid-progress,0))*108%));border-radius:45% 55% 0 0/8% 10% 0 0}
.ring-scene{position:absolute;inset:0;z-index:3;color:var(--paper);opacity:0;pointer-events:none}.ring-copy{position:absolute;z-index:2;left:5vw;top:20vh;width:min(45vw,650px)}.ring-copy h2{font-size:clamp(4.5rem,8vw,9rem);font-weight:900;line-height:1.04;letter-spacing:-.07em;margin:18px 0 30px}.ring-copy>p:last-child{max-width:32rem;color:#c3c6bb;font-size:17px;line-height:1.8}.dark-kicker{color:var(--accent)}
.ring-visual{position:absolute;right:-1vw;top:9vh;width:min(56vw,850px);filter:drop-shadow(0 45px 40px rgba(0,0,0,.46));transform-origin:center}.ring-visual img{width:100%}.ring-orbit{position:absolute;right:4vw;top:10vh;width:min(53vw,800px);aspect-ratio:1;border:1px solid rgba(241,193,83,.25);border-radius:50%}.pixel-readout{position:absolute;left:5vw;right:5vw;bottom:5vh;display:flex;justify-content:space-between;padding-top:15px;border-top:1px solid #40433a;color:#a7aaa0;font:700 10px Arial,sans-serif;letter-spacing:.2em}
.ring-details{padding:12vw 5vw;background:var(--night);color:var(--paper)}.ring-intro{display:grid;grid-template-columns:.5fr 1.3fr .8fr;gap:5vw;align-items:start}.ring-intro h2{font-size:clamp(3.5rem,6.8vw,7.5rem);font-weight:900;line-height:1.08;letter-spacing:-.07em}.ring-intro>p:last-child{line-height:1.8;color:#b3b5aa;font-size:16px}
.ring-feature{position:relative;margin:10vw 0 0;overflow:hidden;background:var(--paper)}.ring-feature img{width:100%}.ring-feature div{position:absolute;inset:auto 3vw 3vw auto;display:flex;flex-direction:column;gap:8px;text-align:right;color:var(--ink)}.ring-feature span{font:700 10px Arial,sans-serif;letter-spacing:.18em}.ring-feature strong{font-size:clamp(1.3rem,2.8vw,3.5rem);line-height:1.12;letter-spacing:-.055em}
.ring-feature-mobile{display:none}
.ring-feature-en{min-height:680px}.ring-feature-en .ring-feature-desktop{width:min(65%,850px);height:680px;object-fit:contain;margin-left:auto}.ring-feature-en div{left:5%;right:auto;text-align:left}
.spec-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:6vw;border-top:1px solid #55584e;border-bottom:1px solid #55584e}.spec-grid div{min-height:170px;padding:28px 18px;border-right:1px solid #55584e}.spec-grid div:last-child{border:0}.spec-grid strong{display:block;font-size:clamp(2.4rem,4.2vw,5rem);font-weight:900;letter-spacing:-.07em}.spec-grid span{display:block;margin-top:25px;color:#b5b7ad;font-size:14px}
.reader-product{position:relative;padding:16vw 5vw 12vw;display:grid;grid-template-columns:1.1fr .9fr;gap:7vw;align-items:center;background:var(--accent)}.reader-overline{position:absolute;top:6vw;left:5vw}.reader-gallery{position:relative;min-height:600px;display:flex;gap:2vw;align-items:center;justify-content:center;overflow:hidden;background:#171b12;padding:4vw 2vw;transform:rotate(-2deg)}.reader-gallery img{width:42%;max-height:570px;object-fit:contain;box-shadow:0 18px 45px rgba(0,0,0,.35)}.reader-gallery .reader-page{transform:translateY(45px) rotate(5deg)}.reader-copy h2{font-size:clamp(4.5rem,7.4vw,8.5rem);line-height:1.02;letter-spacing:-.07em;font-weight:900;margin:25px 0 30px}.reader-copy>p:not(.kicker){max-width:42rem;line-height:1.75}.reader-lead{font-size:clamp(1.6rem,2.5vw,2.6rem);font-weight:700;line-height:1.45!important;letter-spacing:-.04em;margin-bottom:28px}.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:36px}.tags span{border:1px solid currentColor;border-radius:99px;padding:10px 14px;font-size:12px;font-weight:700}
.timeline-section{padding:12vw 5vw;background:var(--paper)}.section-heading{display:flex;align-items:start;justify-content:space-between;gap:8vw}.section-heading h2{font-size:clamp(4rem,7vw,8rem);font-weight:900;line-height:1.02;letter-spacing:-.07em}.timeline{margin-top:9vw;border-top:1px solid var(--line)}.timeline article{display:grid;grid-template-columns:.45fr .15fr 1fr .9fr;gap:3vw;align-items:baseline;padding:45px 0;border-bottom:1px solid var(--line);transition:padding .3s cubic-bezier(.22,1,.36,1)}.timeline article:hover{padding-left:1.5vw}.timeline time{font-weight:900;font-size:clamp(1.3rem,2.2vw,2.5rem)}.timeline-number{font:700 12px Arial,sans-serif;color:#86612A}.timeline h3{font-size:clamp(1.8rem,3.5vw,3.8rem);line-height:1.15;letter-spacing:-.05em}.timeline p{line-height:1.75;color:var(--muted);font-size:15px}
.principle{position:relative;min-height:100svh;padding:7vw 5vw;background:var(--accent);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.principle:before{content:"";position:absolute;right:5vw;top:10vh;width:min(28vw,400px);aspect-ratio:1;background:radial-gradient(circle,var(--ink) 1.5px,transparent 2px) 0 0/16px 16px;opacity:.16;pointer-events:none}.principle h2{position:relative;font-size:clamp(4.5rem,11vw,12rem);font-weight:900;line-height:1.04;letter-spacing:-.075em}.principle h2 span{position:relative;display:inline-block}.principle h2 span:after{content:"";position:absolute;left:5%;right:-4%;bottom:6%;height:8%;background:var(--ink)}.principle>p:last-child{align-self:end;max-width:560px;font-size:clamp(1.3rem,2vw,2rem);font-weight:700;line-height:1.65}
.team-section{padding:12vw 5vw;background:var(--night);color:var(--paper)}.team-section .kicker{color:var(--accent)}.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:9vw;border-top:1px solid #55584e}.team-grid article{min-height:250px;display:flex;flex-direction:column;justify-content:space-between;padding:28px 20px 24px;border-right:1px solid #55584e}.team-grid article:last-child{border:0}.team-grid article>span{font:700 11px Arial,sans-serif;color:var(--accent)}.team-grid h3{font-size:clamp(2.7rem,4.7vw,5.5rem);font-family:Impact,"Arial Narrow",Arial,sans-serif;font-weight:900;letter-spacing:-.04em}.team-grid p{font-size:13px;color:#b4b8aa}
.location{min-height:60svh;padding:8vw 5vw;background:var(--paper);display:grid;grid-template-columns:1.2fr .9fr .7fr;gap:5vw;align-items:end}.location .dark-kicker{color:#7A561E}.location h2{margin-top:20px;font-size:clamp(4rem,8vw,9rem);line-height:1.04;letter-spacing:-.07em}.location address{font-style:normal;font-size:18px;line-height:1.7}.location-mark{justify-self:end;font:700 12px Arial,sans-serif;letter-spacing:.1em;text-align:right}
footer{padding:8vw 5vw 2vw;background:var(--accent);overflow:hidden}.footer-intro{font-size:clamp(1.3rem,2vw,2rem);font-weight:700}.footer-wordmark{font-family:Impact,"Arial Narrow","Arial Black",sans-serif;font-size:clamp(7rem,18vw,22rem);line-height:.85;letter-spacing:-.052em;text-align:center;white-space:nowrap;transform:scaleX(1.04);margin:10vw 0 5vw}.footer-wordmark span{color:var(--paper)}footer>div{display:flex;justify-content:space-between;gap:20px;padding-top:20px;border-top:1px solid var(--ink);font:700 12px Arial,sans-serif}footer a:hover{text-decoration:underline}
@media(max-width:980px){.hero-wordmark,.footer-wordmark{font-size:18.2vw}.ring-copy{width:50vw}.ring-visual{right:-12vw;width:65vw}.ring-intro{grid-template-columns:1fr 1.5fr}.ring-intro>p:last-child{grid-column:2}.reader-product{grid-template-columns:1fr}.reader-gallery{order:2}.timeline article{grid-template-columns:.6fr .1fr 1.1fr}.timeline article>p{grid-column:3}.location{grid-template-columns:1fr 1fr}.location-mark{display:none}}
@media(max-width:700px){.site-header{height:70px;padding:0 4vw}.header-contact{height:42px;font-size:0;width:42px;padding:0}.header-contact span{font-size:22px}.brand{font-size:16px;padding:9px 6px 8px}.header-actions{gap:5px}.lang-switch{height:42px;padding:0 8px;font-size:10px}.menu-button{min-width:44px;height:42px;padding:2px}.menu-button>span{display:none}.menu-button i{width:37px;height:37px}.site-header nav{padding:100px 6vw 8vw}.site-header nav a{font-size:16vw;padding:10px 0}.hero{min-height:100svh;padding:100px 4vw 20px}.hero-location{font-size:9px}.hero-wordmark{font-size:18.2vw;letter-spacing:-.055em}.hero-bottom{min-height:58vh;flex-direction:column-reverse;align-items:stretch;justify-content:space-between;gap:30px}.hero-bottom>p{font-size:clamp(2.8rem,12vw,5rem);text-align:left}.hero-product{width:50vw;min-width:180px}.hero-scroll{left:auto;right:4vw;bottom:20px;font-size:9px}.manifesto{min-height:95svh;padding:110px 5vw 7vh}.manifesto h2{font-size:clamp(2.8rem,10.8vw,5rem);text-align:left;line-height:1.22}.manifesto-foot{align-items:start;gap:20px}.manifesto-foot p{font-size:13px}.manifesto-foot span{display:none}.transition-track{height:205svh}.transition-prelude{padding:14vh 5vw 8vh}.transition-line{font-size:13vw;text-align:left;align-self:start}.ring-copy{left:5vw;top:12vh;width:90vw}.ring-copy h2{font-size:13vw}.ring-copy>p:last-child{font-size:14px;max-width:80vw}.ring-visual{top:41vh;right:-20vw;width:115vw}.ring-orbit{top:42vh;right:-28vw;width:110vw}.pixel-readout span:nth-child(2){display:none}.ring-details{padding:110px 5vw}.ring-intro{grid-template-columns:1fr;gap:25px}.ring-intro>p:last-child{grid-column:1}.ring-intro h2{font-size:11vw}.ring-feature{margin-top:60px}.ring-feature img{width:155%;max-width:none;transform:translateX(-22%)}.ring-feature div{right:4%;bottom:4%}.ring-feature strong{font-size:1.1rem}.spec-grid{grid-template-columns:1fr 1fr;margin-top:60px}.spec-grid div{min-height:130px;border-bottom:1px solid #55584e}.spec-grid div:nth-child(2){border-right:0}.spec-grid strong{font-size:10vw}.spec-grid span{font-size:12px;margin-top:20px}.reader-product{padding:130px 5vw 100px;gap:50px}.reader-overline{top:70px}.reader-copy h2{font-size:14vw}.reader-gallery{min-height:390px;padding:35px 10px}.reader-gallery img{width:47%;max-height:340px}.timeline-section,.team-section{padding:110px 5vw}.section-heading{display:block}.section-heading h2{margin-top:28px;font-size:12vw}.timeline{margin-top:65px}.timeline article{grid-template-columns:1fr auto;gap:16px;padding:28px 0}.timeline h3,.timeline article>p{grid-column:1/-1}.timeline h3{font-size:7vw}.principle{min-height:80svh;padding:110px 5vw 70px}.principle h2{font-size:12.5vw}.principle>p:last-child{font-size:17px}.team-grid{grid-template-columns:1fr 1fr;margin-top:60px}.team-grid article{min-height:170px;padding:20px 8px}.team-grid article:nth-child(2){border:0}.team-grid article:nth-child(-n+2){border-bottom:1px solid #55584e}.team-grid h3{font-size:11vw}.location{min-height:60svh;grid-template-columns:1fr;align-content:space-between;padding:110px 5vw 80px}.location h2{font-size:14vw}.location address{font-size:15px}.footer-intro{font-size:16px}.footer-wordmark{font-size:18.2vw;margin:90px 0 80px}footer{padding:70px 5vw 25px}footer>div{flex-direction:column;font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.transition-track{height:100svh;background:var(--night)}.transition-prelude,.liquid-canvas,.liquid-fallback{display:none!important}.ring-scene{opacity:1!important}.ring-visual{transform:none!important}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media(max-width:700px){.ring-feature{min-height:440px;background:var(--paper)}.ring-feature .ring-feature-desktop{display:none}.ring-feature .ring-feature-mobile{display:block;position:absolute;top:0;right:-20%;width:125%;height:88%;object-fit:contain;transform:none}.ring-feature div{left:6%;right:auto;bottom:6%;text-align:left}.ring-feature strong{font-size:1.45rem}.principle:before{right:-10vw;top:12vh;width:55vw}}
@media(max-width:700px){.ring-feature-en{min-height:440px}}

/* Four equal product stories */
.hero{gap:4vh;padding-bottom:4vh}
.hero-wordmark{margin:auto 0 0}
.hero-bottom{min-height:0;display:block;margin:auto 0 0}
.hero-bottom>p{text-align:left;font-size:clamp(2.8rem,5.5vw,6.5rem)}
.hero-products{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ink);margin-top:2vh}
.hero-products a{display:flex;align-items:end;justify-content:space-between;min-height:96px;padding:20px 14px 8px;border-right:1px solid var(--ink);font-size:clamp(1rem,1.4vw,1.5rem);font-weight:800;letter-spacing:-.03em;transition:background .25s ease,padding .25s ease}
.hero-products a:first-child{padding-left:0}.hero-products a:last-child{border-right:0}.hero-products a:hover{background:rgba(17,18,16,.07);padding-left:24px}.hero-products span{font-size:18px}
.hero-scroll{display:none}
.collection-scene{display:flex;flex-direction:column;justify-content:space-between;padding:12vh 5vw 6vh}
.collection-label,.collection-foot{font:700 11px Arial,sans-serif;letter-spacing:.18em;color:var(--accent)}
.collection-grid{display:grid;grid-template-columns:1fr 1fr;margin:4vh 0;border-top:1px solid #62665c;border-left:1px solid #62665c}
.collection-grid a{min-height:32vh;display:flex;flex-direction:column;justify-content:space-between;position:relative;padding:24px 28px;border-right:1px solid #62665c;border-bottom:1px solid #62665c;transition:background .3s ease,color .3s ease}
.collection-grid a:hover,.collection-grid a:focus-visible{background:var(--accent);color:var(--ink)}
.collection-grid small{font:700 11px Arial,sans-serif;letter-spacing:.17em}.collection-grid strong{font-size:clamp(2.8rem,5vw,6.2rem);line-height:1;letter-spacing:-.065em}.collection-grid a>span{position:absolute;right:28px;top:20px;font-size:24px}
.product-chapter{min-height:100svh;padding:11vh 5vw 8vh;display:grid;grid-template-columns:.85fr 1.15fr;gap:4vw;align-items:stretch;scroll-margin-top:0}
.product-story{display:flex;flex-direction:column;align-items:start;min-width:0}
.product-index{font:700 11px Arial,sans-serif;letter-spacing:.16em}
.product-story h2{margin:auto 0 5vh;font-size:clamp(4rem,7.5vw,9rem);font-weight:900;line-height:.97;letter-spacing:-.075em;overflow-wrap:anywhere}
.product-story>p:not(.product-index){max-width:35rem;font-size:clamp(1.15rem,1.6vw,1.7rem);line-height:1.65;font-weight:500}
.product-story>a{margin-top:auto;padding:28px 0 0;min-width:min(100%,340px);border-top:1px solid currentColor;font-size:14px;font-weight:700;display:flex;justify-content:space-between;gap:25px}
.product-story>a:hover span{transform:translate(5px,5px)}.product-story>a span{transition:transform .2s ease}
.product-stage{position:relative;min-height:74vh;overflow:hidden;display:flex;align-items:center;justify-content:center}
.stage-caption{position:absolute;left:25px;bottom:23px;font:700 10px Arial,sans-serif;letter-spacing:.16em}
.product-ring{background:var(--paper);color:var(--ink)}.ring-stage{background:radial-gradient(circle at 50% 48%,#403B33,#171512 70%);color:var(--paper)}.ring-stage:before{content:"";position:absolute;width:76%;aspect-ratio:1;border:1px solid rgba(241,193,83,.25);border-radius:50%}.ring-stage img{position:relative;width:min(105%,900px);max-height:76vh;object-fit:contain;filter:drop-shadow(0 30px 30px rgba(0,0,0,.45))}
.product-cuespec{background:var(--accent);color:var(--ink)}.cuespec-stage{background:#1B1915;color:var(--accent)}.cuespec-stage:before{content:"";position:absolute;inset:8%;border:1px solid rgba(241,193,83,.45);transform:skewY(-8deg)}.cuespec-stage:after{content:"";position:absolute;inset:15%;background:repeating-linear-gradient(0deg,transparent 0 18px,rgba(241,193,83,.12) 19px 20px);mask-image:linear-gradient(90deg,transparent,#000,transparent)}.concept-mark{position:relative;z-index:1;font-family:Impact,"Arial Narrow",Arial,sans-serif;font-size:clamp(5rem,9vw,11rem);line-height:.8;letter-spacing:-.055em;transform:rotate(-8deg)}.concept-mark span{color:var(--paper)}
.product-badge{background:var(--night);color:var(--paper)}.badge-stage{background:#dfdfd5;color:var(--ink)}.badge-disc{width:min(63%,470px);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 33% 30%,#625B4E,#171512 70%);border:12px solid #3B372F;box-shadow:18px 30px 0 #B6B0A3,24px 40px 28px rgba(0,0,0,.15);transform:rotate(-12deg)}.badge-disc span{color:var(--accent);font-size:clamp(2.5rem,5vw,6rem);font-weight:900;line-height:1.1;text-align:center;letter-spacing:-.065em;text-shadow:0 0 18px rgba(241,193,83,.3)}
.product-reader{background:var(--paper);color:var(--ink)}.reader-stage{background:#1B1915;gap:2%;padding:7% 5%;color:var(--paper)}.reader-stage img{width:42%;max-height:64vh;object-fit:contain;box-shadow:0 20px 45px rgba(0,0,0,.4)}.reader-stage .reader-page{transform:translateY(5vh) rotate(4deg)}
@media(max-width:980px){.product-chapter{grid-template-columns:.8fr 1.2fr}.product-story h2{font-size:7vw}.collection-grid strong{font-size:5vw}}
@media(max-width:700px){.hero{gap:3vh;padding-bottom:3vh}.hero-wordmark{margin:auto 0 0}.hero-bottom{margin:4vh 0 0;min-height:0}.hero-bottom>p{font-size:11vw}.hero-products{grid-template-columns:1fr 1fr;margin-top:4vh}.hero-products a{min-height:76px;padding:14px 8px;font-size:14px;border-bottom:1px solid var(--ink)}.hero-products a:first-child{padding-left:8px}.hero-products a:nth-child(2){border-right:0}.hero-products a:nth-child(n+3){border-bottom:0}.hero-products a:hover{padding-left:8px}.collection-scene{padding:10vh 5vw 4vh}.collection-grid{grid-template-columns:1fr;margin:2vh 0}.collection-grid a{min-height:18vh;padding:15px}.collection-grid strong{font-size:clamp(2rem,8vw,3.2rem)}.collection-grid a>span{right:15px;top:12px}.collection-grid small{font-size:9px}.collection-label,.collection-foot{font-size:9px}.product-chapter{min-height:100svh;padding:100px 5vw 5vw;grid-template-columns:1fr;gap:24px}.product-story h2{margin:4vh 0 2vh;font-size:13vw}.product-story>p:not(.product-index){font-size:15px}.product-story>a{margin-top:3vh;padding-top:16px;font-size:12px}.product-stage{min-height:46vh}.stage-caption{font-size:9px;left:15px;bottom:14px}.ring-stage img{width:105%;max-height:48vh}.concept-mark{font-size:20vw}.badge-disc{border-width:7px;box-shadow:9px 16px 0 #B6B0A3,14px 24px 15px rgba(0,0,0,.15)}.badge-disc span{font-size:9vw}.reader-stage img{max-height:37vh}.product-cuespec .product-story h2{font-size:16vw}}
@media(prefers-reduced-motion:reduce){.collection-scene{opacity:1!important;pointer-events:auto!important}}

/* Type: every adjacent level is 1.25×. Gaps: every adjacent level is 4×. */
:root{
  --type-2xs:.64rem;--type-xs:.8rem;--type-body:1rem;
  --type-lead:1.25rem;--type-card:1.5625rem;--type-subhead:1.953125rem;
  --type-heading-sm:2.44140625rem;--type-heading-md:3.0517578125rem;
  --type-heading-lg:3.814697265625rem;--type-display-sm:4.76837158203125rem;
  --type-display-md:5.9604644775390625rem;--type-display-lg:7.450580596923828rem;
  --type-mark-sm:9.313225746154785rem;--type-mark-md:11.641532182693481rem;
  --type-mark-lg:14.551915228366852rem;
  --gap-close:.25rem;--gap-group:1rem;--gap-section:4rem;
}
body{font-size:var(--type-body);font-kerning:normal}
.header-contact,.menu-button,.lang-switch,.hero-product span,.product-story>a,.tags span,footer>div{font-size:var(--type-xs)}
.header-contact span,.hero-product b,.hero-products span,.collection-grid a>span{font-size:var(--type-lead)}
.brand,.menu-button i{font-size:var(--type-lead)}
.brand-dot,.hero-location,.hero-scroll,.kicker,.dark-kicker,.reader-overline,.transition-index,.scroll-cue,.pixel-readout,.collection-label,.collection-foot,.collection-grid small,.product-index,.stage-caption,.timeline-number,.team-grid article>span,.location-mark,.manifesto-foot span{font-size:var(--type-2xs)}
.site-header nav a{font-size:var(--type-display-md)}
.hero-wordmark,.footer-wordmark{font-size:var(--type-mark-lg)}
.hero-bottom>p,.collection-grid strong,.team-grid h3{font-size:var(--type-heading-lg)}
.hero-products a{font-size:var(--type-lead)}
.manifesto h2,.section-heading h2{font-size:var(--type-display-sm)}
.manifesto-foot p,.ring-copy>p:last-child,.ring-intro>p:last-child,.reader-copy>p:not(.kicker),.timeline p,.product-story>p:not(.product-index){font-size:var(--type-body)}
.transition-line,.product-story h2,.location h2{font-size:var(--type-display-md)}
.ring-copy h2,.ring-intro h2,.reader-copy h2{font-size:var(--type-display-md)}
.ring-feature strong,.timeline h3{font-size:var(--type-heading-sm)}
.spec-grid strong{font-size:var(--type-heading-md)}
.spec-grid span,.team-grid p{font-size:var(--type-xs)}
.reader-lead,.principle>p:last-child,.footer-intro{font-size:var(--type-lead)}
.timeline time{font-size:var(--type-card)}
.principle h2{font-size:var(--type-display-lg)}
.location address{font-size:var(--type-body)}
.concept-mark{font-size:var(--type-display-lg)}
.badge-disc span{font-size:var(--type-heading-lg)}
.header-contact,.header-actions,.menu-button,.reader-stage,.tags{gap:var(--gap-group)}
.lang-switch,.reader-gallery{gap:var(--gap-close)}
.hero,.hero-bottom,.manifesto,.ring-intro,.reader-product,.section-heading,.timeline article,.location,.product-chapter{gap:var(--gap-section)}
.hero{gap:var(--gap-group)}
.ring-feature div,.hero-products a,.product-story>a,footer>div{gap:var(--gap-group)}
.collection-grid{gap:0}
.hero-products{margin-top:var(--gap-group)}
.product-story h2{margin-bottom:var(--gap-group)}
.product-story>a{padding-top:var(--gap-group)}
.timeline,.team-grid{margin-top:var(--gap-section)}
.ring-feature,.spec-grid{margin-top:var(--gap-section)}
@media(max-width:980px){
  .hero-wordmark,.footer-wordmark{font-size:var(--type-mark-sm)}
  .product-story h2{font-size:var(--type-display-sm)}
  .collection-grid strong{font-size:var(--type-heading-md)}
}
@media(max-width:700px){
  .header-contact{font-size:0}
  .brand{font-size:var(--type-body)}
  .site-header nav a,.hero-wordmark,.footer-wordmark{font-size:var(--type-heading-lg)}
  .hero-bottom>p,.manifesto h2,.transition-line,.ring-copy h2,.ring-intro h2,.reader-copy h2,.section-heading h2,.principle h2,.location h2{font-size:var(--type-heading-sm)}
  .hero-products a,.manifesto-foot p,.product-story>a,.timeline p,.team-grid p{font-size:var(--type-xs)}
  .hero-products span{font-size:var(--type-body)}
  .collection-grid strong{font-size:var(--type-subhead)}
  .collection-grid small,.collection-label,.collection-foot,.stage-caption{font-size:var(--type-2xs)}
  .product-story h2{font-size:var(--type-heading-md)}
  .product-cuespec .product-story h2{font-size:var(--type-heading-lg)}
  .product-story>p:not(.product-index),.principle>p:last-child,.location address,.footer-intro{font-size:var(--type-body)}
  .concept-mark{font-size:var(--type-heading-lg)}
  .badge-disc span,.team-grid h3{font-size:var(--type-heading-sm)}
  .timeline h3{font-size:var(--type-card)}
  .spec-grid strong{font-size:var(--type-heading-sm)}
  .hero,.hero-bottom,.manifesto-foot,.product-chapter,.reader-product,.timeline article,footer>div{gap:var(--gap-group)}
  .hero-products{margin-top:var(--gap-group)}
  .product-story h2{margin:var(--gap-group) 0}
  .product-story>a{margin-top:var(--gap-group)}
  .team-grid{gap:0}
}

/* covix-direction.css */
/* Direction 02 — atmospheric opening, precise daylight gallery, equal-weight projects. */
:root{
  --gallery:#f4f4f1;
  --gallery-alt:#e9eae6;
  --gallery-line:rgba(20,22,19,.14);
  --night:#10110f;
  --paper:#f4f4f1;
  --ink:#151714;
  --muted:#41443e;
}
body{background:var(--gallery)}
::selection{background:var(--accent);color:var(--ink)}
.site-header{height:76px;padding:0 4vw;background:rgba(10,12,13,.62);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.header-contact,.menu-button,.lang-switch{box-shadow:none;border:1px solid rgba(255,255,255,.28);background:rgba(17,19,16,.55);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);color:#f7f7f2}
.header-contact:hover,.lang-switch a:hover,.menu-button:hover{color:var(--accent)}
.menu-button i{background:var(--accent);color:var(--night)}
.brand{background:none;clip-path:none;padding:0;color:#fff;letter-spacing:-.025em}
.site-header nav{background:var(--accent)}

/* A restrained, image-like atmospheric sculpture without borrowed brand assets. */
.hero{isolation:isolate;background:#10110f;color:#f4f4f1;min-height:100svh;padding:114px 4vw 5vh;gap:var(--gap-section);justify-content:space-between}
.hero:after{display:none}
.hero:before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(ellipse 44% 61% at 51% 55%,rgba(223,184,114,.12),transparent 80%),radial-gradient(ellipse 43% 48% at 79% 43%,rgba(175,165,146,.1),transparent 80%),#10110f}
.hero-atmosphere{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none;opacity:.86;filter:contrast(1.08)}
.hero-atmosphere span{position:absolute;display:block;width:82vw;height:34vw;min-height:260px;border-radius:49% 51% 64% 36%/48% 44% 56% 52%;border:1px solid rgba(244,232,210,.19);background:linear-gradient(166deg,rgba(218,205,185,.03) 13%,rgba(235,226,214,.17) 35%,rgba(72,69,63,.025) 53%,rgba(241,193,83,.11) 67%,transparent 78%);box-shadow:inset 0 3vw 6vw rgba(246,234,216,.07),0 0 7vw rgba(241,193,83,.035);filter:blur(1.5vw);transform-origin:center}
.hero-atmosphere span:nth-child(1){top:15%;left:25%;transform:rotate(-28deg) skewX(-13deg);animation:atmosphere-a 14s ease-in-out infinite alternate}
.hero-atmosphere span:nth-child(2){top:30%;left:-5%;transform:rotate(18deg) skewX(11deg);opacity:.62;animation:atmosphere-b 18s ease-in-out infinite alternate}
.hero-atmosphere span:nth-child(3){top:53%;left:34%;transform:rotate(-13deg) skewX(22deg);opacity:.5;animation:atmosphere-a 21s ease-in-out infinite alternate-reverse}
@keyframes atmosphere-a{to{translate:2vw -2vw;rotate:5deg;filter:blur(2vw)}}
@keyframes atmosphere-b{to{translate:-3vw 3vw;rotate:-7deg;filter:blur(1vw)}}
.hero-location{align-self:flex-start;text-align:left;color:#c4c5bc;font-size:var(--type-xs);font-weight:500;letter-spacing:.1em}
.hero-wordmark{align-self:center;position:relative;z-index:1;margin:auto 0 0;font-size:var(--type-mark-lg);line-height:.78;letter-spacing:-.055em;color:#f5f4ee;text-shadow:0 1px 18px rgba(255,255,255,.06);transform:none}
.hero-wordmark span{color:var(--accent)}
.hero-bottom{margin:0;min-height:0}
.hero-bottom>p{font-size:var(--type-heading-md);font-weight:600;line-height:1.16;letter-spacing:-.04em}
.hero-bottom em{font-style:normal;color:#aeb1aa}
.hero-products{width:100%;margin-top:0;border-top:1px solid rgba(255,255,255,.38);border-bottom:1px solid rgba(255,255,255,.38)}
.hero-products a{min-height:90px;border-color:rgba(255,255,255,.25);padding:var(--gap-group);font-size:var(--type-body);font-weight:500;align-items:center;transition:background .3s ease,color .3s ease}
.hero-products a:first-child{padding-left:var(--gap-group)}
.hero-products a:hover,.hero-products a:focus-visible{background:var(--accent);color:var(--night);padding-left:var(--gap-group)}
.hero-products span{font-size:var(--type-lead)}

/* The white field gives the transition and project imagery space to breathe. */
.manifesto{min-height:100svh;background:var(--gallery);color:var(--ink);padding:12vh 4vw 6vh}
.manifesto>.kicker{color:#575b53;text-align:left}
.manifesto h2{text-align:left;margin:auto 0;font-size:var(--type-display-md);line-height:1.08;letter-spacing:-.045em}
.manifesto h2 span:nth-child(2){color:#858981}
.manifesto h2 span:nth-child(3){color:#4b4f47}
.manifesto h2 em{color:#9e6f1e}
.manifesto-foot{border-color:var(--gallery-line);color:#444840}
.manifesto-foot p{font-size:var(--type-body)}
.transition-track,.transition-sticky{background:var(--gallery)}
.transition-prelude{padding:11vh 4vw 7vh;background-image:linear-gradient(to right,transparent calc(25% - 1px),var(--gallery-line) 25%,transparent calc(25% + 1px)),linear-gradient(to right,transparent calc(75% - 1px),var(--gallery-line) 75%,transparent calc(75% + 1px))}
.transition-line{font-size:var(--type-display-lg);letter-spacing:-.045em}
.collection-scene{padding:11vh 4vw 6vh}
.collection-grid a{min-height:30vh}
.collection-grid strong{font-size:var(--type-heading-lg);letter-spacing:-.045em}

/* Four consecutive pinned pages: the next project covers the previous one. */
.product-chapter{position:sticky;top:0;height:100svh;min-height:700px;z-index:1;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:0;padding:0;background:var(--gallery);color:var(--ink);overflow:hidden;border-top:1px solid var(--gallery-line);box-shadow:0 -18px 45px rgba(16,17,15,.1);transform-origin:center top}
.product-chapter:nth-of-type(even){background:var(--gallery-alt)}
.product-story{padding:12vh 4vw 7vh;position:relative;justify-content:space-between;background-image:linear-gradient(90deg,transparent calc(50% - .5px),var(--gallery-line) 50%,transparent calc(50% + .5px));background-size:100% 100%}
.product-story:before{content:"";position:absolute;top:0;bottom:0;right:0;width:1px;background:var(--gallery-line)}
.product-index{font-size:var(--type-xs);letter-spacing:.13em;color:#5c6058}
.product-story h2{margin:auto 0 var(--gap-group);font-size:var(--type-display-md);letter-spacing:-.045em;line-height:1.02;overflow-wrap:normal}
.product-story>p:not(.product-index){font-size:var(--type-lead);line-height:1.6;max-width:31ch;color:#3e423a}
.product-story>a{font-size:var(--type-xs);border-color:var(--gallery-line);min-width:100%;text-transform:uppercase;letter-spacing:.05em}
.product-story>a:hover{color:#946712}
.product-story>a span{font-size:var(--type-lead)}
.product-stage{min-height:0;height:100%;border:4vw solid transparent;border-left:0;box-sizing:border-box;background-clip:padding-box}
.ring-stage{background:radial-gradient(ellipse at 52% 48%,#5c584f 0%,#252522 44%,#10110f 83%);color:#f4f4f1}
.ring-stage img{width:min(100%,900px);max-height:75vh;filter:drop-shadow(0 35px 25px rgba(0,0,0,.45));transition:transform .7s cubic-bezier(.22,1,.36,1)}
.product-chapter:hover .ring-stage img{transform:scale(1.035) rotate(-2deg)}
.cuespec-stage{background:#1c1e1b;color:var(--accent)}
.cuespec-stage:before{inset:11%;border-color:rgba(241,193,83,.45);transform:rotate(-8deg)}
.cuespec-stage:after{inset:20% 8%;background:radial-gradient(circle at 50% 50%,rgba(241,193,83,.22),transparent 70%);mask-image:none}
.concept-mark{font-size:var(--type-display-lg);transform:rotate(-8deg);white-space:nowrap}
.badge-stage{background:#d9d9d2}
.badge-stage:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent calc(50% - .5px),rgba(20,22,19,.09) 50%,transparent calc(50% + .5px)),linear-gradient(transparent calc(50% - .5px),rgba(20,22,19,.09) 50%,transparent calc(50% + .5px))}
.badge-disc{box-shadow:14px 22px 0 #aead9f,20px 28px 30px rgba(0,0,0,.15);transition:transform .65s cubic-bezier(.22,1,.36,1)}
.product-chapter:hover .badge-disc{transform:rotate(-6deg) translateY(-8px)}
.reader-stage{background:#20231f;color:#f4f4f1}
.reader-stage img{max-height:72vh;box-shadow:0 10px 20px rgba(0,0,0,.25)}
.reader-stage .iphone-mockup{position:relative;width:min(42%,340px);aspect-ratio:720/1564;flex:none;overflow:hidden;border:8px solid #0b0c0c;border-radius:38px;background:#fff;box-shadow:0 24px 35px rgba(0,0,0,.38),inset 0 0 0 1px #676965}
.reader-stage .iphone-mockup img{width:100%;height:100%;max-height:none;object-fit:cover;box-shadow:none;border-radius:29px}
.reader-stage .iphone-mockup.reader-page{transform:translateY(5vh) rotate(4deg)}
.reader-stage .iphone-mockup.reader-home{transform:rotate(-3deg)}
.stage-caption{left:var(--gap-group);bottom:var(--gap-group);font-size:var(--type-xs);letter-spacing:.12em}
.product-reader{border-bottom:1px solid var(--gallery-line)}
.timeline-section{position:relative;z-index:2;padding:12vw 4vw;background:var(--gallery)}
.timeline article{border-color:var(--gallery-line)}
.principle{position:relative;z-index:2}
.principle:before{background:radial-gradient(circle,var(--ink) 1px,transparent 2px) 0 0/16px 16px}
.team-section,.location,footer{position:relative;z-index:2}

@media(max-width:980px){
  .hero-wordmark{font-size:var(--type-mark-sm)}
  .product-chapter{grid-template-columns:.9fr 1.1fr}
  .product-story{padding-left:4vw;padding-right:3vw}
  .product-story h2{font-size:var(--type-display-sm)}
  .product-story>p:not(.product-index){font-size:var(--type-body)}
}
@media(max-width:700px){
  .site-header{height:66px;padding:0 4vw}
  .header-contact,.menu-button,.lang-switch{height:42px}
  .hero{padding:92px 4vw 4vh;gap:var(--gap-group)}
  .hero-atmosphere span{width:130vw;height:72vw;filter:blur(4vw)}
  .hero-atmosphere span:nth-child(1){left:-20%;top:19%}
  .hero-atmosphere span:nth-child(2){left:12%;top:44%}
  .hero-atmosphere span:nth-child(3){left:-20%;top:68%}
  .hero-location{font-size:var(--type-2xs)}
  .hero-wordmark{margin:auto 0 0;font-size:var(--type-heading-lg);line-height:1;letter-spacing:-.05em}
  .hero-bottom{margin:0}
  .hero-bottom>p{font-size:var(--type-subhead)}
  .hero-products{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero-products a{min-height:68px;font-size:var(--type-xs);padding:var(--gap-group);border-bottom:1px solid rgba(255,255,255,.25)}
  .hero-products a:first-child{padding-left:var(--gap-group)}
  .hero-products a:nth-child(2){border-right:0}
  .hero-products a:nth-child(n+3){border-bottom:0}
  .manifesto{min-height:90svh;padding:100px 5vw 7vh}
  .manifesto h2{font-size:var(--type-heading-sm)}
  .manifesto-foot p{font-size:var(--type-xs)}
  .transition-prelude{padding:13vh 5vw 8vh}
  .transition-line{font-size:var(--type-heading-lg)}
  .collection-scene{padding:10vh 5vw 4vh}
  .collection-grid a{min-height:18vh}
  .collection-grid strong{font-size:var(--type-subhead)}
  .product-chapter{position:relative;top:auto;height:auto;min-height:0;display:flex;flex-direction:column;box-shadow:none}
  .product-story{min-height:48svh;padding:86px 5vw 5vw;background-image:none}
  .product-story:before{display:none}
  .product-story h2{font-size:var(--type-heading-md);margin:var(--gap-section) 0 var(--gap-group)}
  .product-cuespec .product-story h2{font-size:var(--type-heading-lg)}
  .product-story>p:not(.product-index){font-size:var(--type-body)}
  .product-story>a{font-size:var(--type-xs);margin-top:var(--gap-section)}
  .product-stage{height:56svh;min-height:380px;border:0 5vw 5vw;border-style:solid;border-color:transparent;background-clip:padding-box;width:100%}
  .ring-stage img{max-height:50svh}
  .concept-mark{font-size:var(--type-heading-lg)}
  .badge-disc{width:min(57%,340px)}
  .reader-stage img{max-height:42svh}
  .reader-stage .iphone-mockup{width:42%;border-width:5px;border-radius:25px;box-shadow:0 12px 20px rgba(0,0,0,.3)}
  .reader-stage .iphone-mockup img{max-height:none;border-radius:19px}
  .stage-caption{font-size:var(--type-2xs)}
}
@media(max-width:390px){
  .hero-wordmark{font-size:var(--type-heading-lg)}
  .hero-products a{font-size:var(--type-2xs)}
  .product-story{min-height:52svh}
}
@media(prefers-reduced-motion:reduce){
  .hero-atmosphere span{animation:none}
  .product-chapter{position:relative;top:auto;height:auto;min-height:90svh}
}

/* Supplied Sparock identity — original vector color and geometry stay intact. */
.site-header .brand{display:flex;align-items:center;gap:var(--gap-close);width:auto;min-width:0;padding:4px 12px 4px 5px;background:transparent;border-radius:0;clip-path:none;transition:transform .25s cubic-bezier(.22,1,.36,1)}
.site-header .brand:hover,.site-header .brand:focus-visible{transform:translateY(-2px)}
.brand-symbol{display:block;width:35px;height:35px;flex:none}
.brand-word{display:block;width:108px;height:auto;flex:none}
.hero-brand-lockup{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:var(--gap-group);margin:auto 0 0;max-width:100%}
.hero-symbol-wrap{position:relative;display:grid;place-items:center;width:118px;height:118px;background:transparent;transform-origin:center}
.hero-symbol-wrap:before{content:"";position:absolute;inset:-12px;border:1px solid rgba(241,193,83,.65);border-radius:50%;opacity:.85;transform:rotate(-18deg)}
.hero-symbol-wrap:after{content:"";position:absolute;top:-18px;right:-18px;width:8px;height:8px;background:var(--accent);border-radius:50%}
.hero-symbol-wrap img{width:92%;height:92%;object-fit:contain}
.hero .hero-wordmark{display:block;align-self:center;width:min(76vw,1000px);height:auto;min-height:0;margin:0;padding:2.2vw 3vw;background:transparent;font-size:0;line-height:0;letter-spacing:0;text-shadow:none;transform:none;clip-path:inset(0 0 0 0)}
.hero-wordmark img{display:block;width:100%;height:auto}
.hero .hero-wordmark img{filter:drop-shadow(0 12px 22px rgba(0,0,0,.4)) drop-shadow(0 0 32px rgba(241,193,83,.12))}
.hero .hero-wordmark:not(.particle-active):after{content:"";position:absolute;z-index:2;inset:2.2vw 3vw;pointer-events:none;-webkit-mask:url('/assets/brand/textlogo-v1-on-dark.svg') center/100% 100% no-repeat;mask:url('/assets/brand/textlogo-v1-on-dark.svg') center/100% 100% no-repeat;background:linear-gradient(106deg,transparent 35%,rgba(255,255,255,.08) 43%,rgba(255,246,210,.27) 49%,rgba(255,255,255,.36) 52%,transparent 60%);background-size:260% 100%;background-position:100% 50%;mix-blend-mode:screen;animation:logo-light-pass 9s ease-in-out infinite}
@keyframes logo-light-pass{0%,12%{background-position:100% 50%}36%,100%{background-position:0% 50%}}
.particle-logo>img{position:relative;z-index:1}
.particle-logo>canvas{position:absolute;z-index:2;top:-32%;left:-10%;width:120%;height:164%;pointer-events:none;opacity:0}
.particle-logo.particle-active>canvas{opacity:1}
.particle-logo.particle-active>img{opacity:var(--logo-image-opacity,1)}
.hero-symbol-wrap.particle-logo>canvas{top:-55%;left:-55%;width:210%;height:210%}
.footer-brand-lockup{display:flex;align-items:center;justify-content:center;gap:clamp(16px,4vw,64px);width:100%;margin:8vw 0 5vw;padding:3.5vw 4vw;background:transparent}
footer{background:var(--night);color:var(--paper)}
.footer-symbol{display:block;width:min(15vw,170px);height:auto;flex:none}
footer .footer-wordmark{display:block;flex:1;max-width:900px;width:auto;margin:0;font-size:0;line-height:0;letter-spacing:0;text-align:left;white-space:normal;transform:none}
.footer-wordmark img{display:block;width:100%;height:auto}
@media(max-width:700px){
  .site-header .brand{padding:3px 7px 3px 3px}
  .brand-symbol{width:28px;height:28px}
  .brand-word{width:76px}
  .hero-brand-lockup{gap:var(--gap-group)}
  .hero-symbol-wrap{width:94px;height:94px}
  .hero .hero-wordmark{width:92vw;padding:4vw 5vw}
  .hero .hero-wordmark:not(.particle-active):after{inset:4vw 5vw}
  .footer-brand-lockup{gap:var(--gap-group);margin:var(--gap-section) 0;padding:var(--gap-group)}
  .footer-symbol{width:52px}
}
@media(max-width:370px){.brand-word{width:64px}.brand-symbol{width:25px;height:25px}}
@media(prefers-reduced-motion:reduce){.particle-logo>canvas{display:none!important}.particle-logo>img{opacity:1!important}.hero .hero-wordmark:after{animation:none!important;background-position:50% 50%}}

/* cuespec-viewer.css */
.product-cuespec{position:relative;isolation:isolate;background:linear-gradient(125deg,#090f10 0%,#0c1018 48%,#140c22 100%);color:#f1f5ed;border-color:#25302d;overflow:hidden}
.cuespec-aurora{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-1}
.cuespec-aurora i{position:absolute;display:block;border-radius:50%;filter:blur(65px);will-change:transform;animation-play-state:paused!important}
.cuespec-aurora i:nth-child(1){width:68%;height:80%;left:28%;top:10%;background:radial-gradient(ellipse,rgba(151,231,72,.43),rgba(80,170,57,.20) 40%,transparent 70%);animation:cuespec-green 18s ease-in-out infinite alternate}
.cuespec-aurora i:nth-child(2){width:66%;height:95%;right:-20%;top:-20%;background:radial-gradient(ellipse,rgba(155,89,244,.5),rgba(101,43,184,.22) 42%,transparent 70%);animation:cuespec-purple 23s ease-in-out infinite alternate}
.cuespec-aurora i:nth-child(3){width:48%;height:70%;left:-19%;bottom:-35%;background:radial-gradient(ellipse,rgba(145,72,219,.32),transparent 68%);animation:cuespec-purple 27s ease-in-out infinite alternate-reverse}
.product-cuespec.is-visible .cuespec-aurora i{animation-play-state:running!important}
.product-cuespec .product-story{background:none;z-index:1}
.product-cuespec .product-story:before{display:none}
.product-cuespec .product-index{color:#b5d98e}
.product-cuespec .product-story>p:not(.product-index){color:#bcc8c1}
.product-cuespec .product-story>a{color:#e1e9dd;border-color:rgba(216,240,198,.2)}
.product-cuespec .product-story>a:hover{color:#b4ee73}
.cuespec-stage{background:transparent;color:#dbe8d3;display:block;isolation:isolate;border-color:transparent}
.cuespec-stage:before,.cuespec-stage:after{display:none}
.cuespec-heading{position:absolute;left:28px;right:28px;top:60px;display:flex;justify-content:space-between;gap:16px;z-index:2;pointer-events:none;font:500 10px/1.5 Arial,sans-serif;letter-spacing:.12em;color:#b7c9b1}
.cuespec-stage model-viewer{display:block;width:100%;height:100%;min-height:380px;--poster-color:transparent;--progress-bar-color:#b0ec76;--progress-bar-height:2px;--progress-mask:transparent;outline-offset:-4px;cursor:grab}
.cuespec-stage model-viewer:active{cursor:grabbing}
.cuespec-stage model-viewer img{width:100%;height:100%;object-fit:contain;mix-blend-mode:screen;opacity:.6}
.cuespec-help{position:absolute;bottom:30px;left:16px;right:16px;margin:0;text-align:center;font:400 11px/1.6 Arial,sans-serif;letter-spacing:.08em;color:#c6d3c0;pointer-events:none}
.cuespec-nojs{position:absolute;bottom:70px;left:20px;right:20px;font-size:13px;text-align:center}
@keyframes cuespec-green{0%{transform:translate(-8%,12%) scale(.9)}50%{transform:translate(16%,-8%) scale(1.15)}100%{transform:translate(-12%,-16%) scale(1.05)}}
@keyframes cuespec-purple{0%{transform:translate(0,0) scale(1)}50%{transform:translate(-22%,26%) scale(1.18)}100%{transform:translate(-40%,5%) scale(.92)}}
@media(max-width:700px){.cuespec-heading{top:20px;left:20px;right:20px;font-size:9px}.cuespec-heading span:last-child{letter-spacing:0}.cuespec-help{bottom:22px}.cuespec-stage model-viewer{min-height:380px}.cuespec-aurora i{filter:blur(40px)}.cuespec-aurora i:nth-child(1){width:130%;left:-15%;top:35%;height:55%}.cuespec-aurora i:nth-child(2){width:130%;right:-60%;height:70%;top:15%}}
@media(prefers-reduced-motion:reduce){.cuespec-aurora i{animation:none!important;will-change:auto}}
/* Let the transparent canvas span the column boundary; clip only at the chapter edge. */
@media(min-width:701px){
  .product-cuespec .cuespec-stage{overflow:visible}
  .cuespec-stage model-viewer{position:absolute;left:-80%;width:260%;top:0;height:100%}
  .product-cuespec .product-story{pointer-events:none}
  .product-cuespec .product-story a{pointer-events:auto}
}
.cuespec-terminals{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.cuespec-terminal{position:absolute;width:var(--terminal-width);color:#d7edce;background:linear-gradient(135deg,rgba(24,33,32,.82),rgba(28,20,43,.8));border:1px solid rgba(225,241,223,.18);border-radius:10px;box-shadow:0 16px 45px #0003,inset 0 1px #ffffff0a;backdrop-filter:blur(16px);opacity:0;animation:cuespec-terminal-life 3.6s cubic-bezier(.4,0,.2,1) both;font:11px/1.65 ui-monospace,SFMono-Regular,Menlo,monospace}
.cuespec-terminal-bar{height:30px;display:flex;align-items:center;gap:5px;padding:0 11px;border-bottom:1px solid #ffffff10;color:#b6beb8;font-size:9px;letter-spacing:.03em}
.cuespec-terminal-bar i{width:7px;height:7px;border-radius:50%;background:#ff6058}
.cuespec-terminal-bar i:nth-child(2){background:#febc2e}.cuespec-terminal-bar i:nth-child(3){background:#28c840}
.cuespec-terminal-bar span{margin-left:auto;margin-right:auto;padding-right:24px}
.cuespec-terminal pre{margin:0;padding:13px 15px 17px;white-space:pre-wrap;font:inherit}
.cuespec-terminal pre::first-line{color:#b6eb83}
.product-cuespec .cuespec-stage{z-index:1}
@keyframes cuespec-terminal-life{0%{opacity:0;transform:translateY(12px) scale(.96)}22%,72%{opacity:.75;transform:translateY(0) scale(1)}100%{opacity:0;transform:translateY(-10px) scale(.985)}}
@media(max-width:700px){.cuespec-terminal{font-size:9px;max-width:58vw}.cuespec-terminal-bar{height:24px;font-size:8px}.cuespec-terminal pre{padding:10px}}
@media(prefers-reduced-motion:reduce){.cuespec-terminals{display:none}}
.product-cuespec .cuespec-logo{display:block;width:100%;max-width:420px;height:auto;filter:brightness(0) invert(1)}
.cuespec-terminals{inset:auto}
.cuespec-terminal[data-size="small"]{font-size:8px;border-radius:7px}
.cuespec-terminal[data-size="small"] .cuespec-terminal-bar{height:22px;font-size:7px;padding:0 7px;gap:3px}
.cuespec-terminal[data-size="small"] .cuespec-terminal-bar i{width:5px;height:5px}
.cuespec-terminal[data-size="small"] pre{padding:8px}
.cuespec-terminal[data-size="large"]{font-size:13px;border-radius:12px}
.cuespec-terminal[data-size="large"] .cuespec-terminal-bar{height:36px;font-size:11px}
.cuespec-terminal[data-size="large"] pre{padding:18px 20px 24px}
@media(max-width:700px){.cuespec-terminal{max-width:none}.product-cuespec .cuespec-logo{max-width:320px}}
@media(max-width:700px){.cuespec-terminal[data-size="large"]{font-size:11px}.cuespec-terminal[data-size="large"] .cuespec-terminal-bar{height:30px;font-size:9px}.cuespec-terminal[data-size="large"] pre{padding:12px 14px 16px}}

/* ring-viewer.css */
.ring-stage[data-ring-viewer]{isolation:auto;background:radial-gradient(ellipse at 50% 45%,#484a49 0%,#222523 52%,#101312 100%)}
.ring-stage[data-ring-viewer]:before{display:none}
.ring-stage[data-ring-viewer]:after{content:"";position:absolute;z-index:0;left:50%;top:50%;width:clamp(170px,42vw,520px);height:clamp(150px,28vw,350px);transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(ellipse,rgba(192,207,222,.2) 0%,rgba(147,170,195,.08) 38%,transparent 76%);filter:blur(18px);pointer-events:none}
.ring-stage[data-ring-viewer] model-viewer{position:relative;z-index:1;display:block;width:100%;height:100%;min-height:380px;transform:scale(.546);--poster-color:transparent;--progress-bar-color:#f1c153;--progress-bar-height:2px;outline-offset:-4px;cursor:grab}
.ring-stage[data-ring-viewer] model-viewer[hidden]{display:none}
.ring-stage[data-ring-viewer] model-viewer:active{cursor:grabbing}
.ring-viewer-top{position:absolute;z-index:3;top:28px;left:28px;right:28px;display:flex;align-items:center;justify-content:space-between;gap:var(--gap-group);color:#e8e8e2;font:500 var(--type-xs)/1.4 Arial,sans-serif;letter-spacing:.13em;pointer-events:none}
.ring-view-modes{display:flex;gap:5px;pointer-events:auto}
.ring-view-modes button,.ring-render-angles button{appearance:none;min-height:40px;border:1px solid rgba(235,235,229,.22);border-radius:999px;background:rgba(18,21,20,.52);color:#c8cac5;padding:9px 13px;font:500 10px/1 Arial,sans-serif;letter-spacing:.07em;cursor:pointer;transition:color .2s ease,border-color .2s ease,background .2s ease}
.ring-view-modes button[aria-pressed="true"],.ring-render-angles button[aria-pressed="true"]{color:#171714;border-color:#f1c153;background:#f1c153}
.ring-view-modes button:hover:not([aria-pressed="true"]),.ring-render-angles button:hover:not([aria-pressed="true"]){border-color:#f1c153;color:#fff}
.ring-view-modes button:focus-visible,.ring-render-angles button:focus-visible{outline:2px solid #f1c153;outline-offset:3px}
.ring-render-gallery{position:absolute;inset:0;z-index:2;display:grid;place-items:center;background:#b8b9b8}
.ring-render-gallery[hidden]{display:none}
.ring-stage[data-ring-viewer] .ring-render-gallery>img{width:100%;height:100%;max-height:none;object-fit:contain;filter:none;transform:scale(.546)!important;transition:none}
.ring-render-angles{position:absolute;z-index:1;bottom:56px;left:20px;right:20px;display:flex;justify-content:center;flex-wrap:wrap;gap:6px}
.ring-render-angles button{background:rgba(18,21,20,.76);color:#f0f0ed;border-color:rgba(0,0,0,.15)}
.ring-viewer-help{position:absolute;z-index:1;bottom:58px;left:20px;right:20px;margin:0;text-align:center;color:#e0e2dd;font:400 11px/1.4 Arial,sans-serif;letter-spacing:.08em;pointer-events:none}
.ring-stage[data-ring-viewer] .stage-caption{z-index:3;color:#e3e3dc;text-shadow:0 1px 8px #0008}
@media(max-width:700px){.ring-viewer-top{top:18px;left:5vw;right:5vw;gap:var(--gap-close);font-size:var(--type-xs)}.ring-view-modes button{min-height:40px;padding:9px 10px;font-size:9px}.ring-render-angles{bottom:45px}.ring-render-angles button{min-height:40px;padding:9px 10px;font-size:9px}.ring-viewer-help{bottom:42px;font-size:10px}}

/* The film's black plate dissolves into Heyou's asteroid atmosphere. */
.ring-stage[data-ring-viewer] .ring-film-shell{
  --film-mask-x:40%;
  --film-mask-y:54%;
  position:absolute;
  z-index:1;
  top:50%;
  left:-14%;
  width:128%;
  aspect-ratio:16/9;
  transform:translateY(-50%);
  -webkit-mask-image:radial-gradient(ellipse var(--film-mask-x) var(--film-mask-y) at 50% 50%,#000 48%,rgba(0,0,0,.92) 62%,transparent 100%);
  mask-image:radial-gradient(ellipse var(--film-mask-x) var(--film-mask-y) at 50% 50%,#000 48%,rgba(0,0,0,.92) 62%,transparent 100%);
  pointer-events:none;
}
.ring-film-shell img,.ring-film-shell video{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;filter:none}
.ring-film-shell video{opacity:0;transition:opacity .55s cubic-bezier(.22,1,.36,1)}
.ring-stage.is-film-ready .ring-film-shell video{opacity:1}
.ring-stage.is-film-ready .ring-film-shell img{opacity:0}
.ring-film-toggle{
  position:absolute;
  z-index:4;
  bottom:var(--gap-group,32px);
  left:var(--gap-group,32px);
  display:none;
  min-width:44px;
  min-height:44px;
  padding:8px 0;
  border:0;
  border-bottom:1px solid rgba(241,193,83,.55);
  border-radius:0;
  background:transparent;
  color:#f0f2f2;
  font:500 var(--type-xs)/1.3 Arial,sans-serif;
  letter-spacing:.05em;
  cursor:pointer;
}
.ring-stage.is-film-ready .ring-film-toggle{display:block}
.ring-film-toggle:hover{color:#f1c153}
.ring-film-toggle:focus-visible{outline:2px solid #f1c153;outline-offset:4px}
@media(max-width:700px){
  .ring-stage[data-ring-viewer] .ring-film-shell{left:-9%;width:118%}
  .ring-film-toggle{left:5vw;bottom:8px;font-size:var(--type-xs)}
}
@media(prefers-reduced-motion:reduce){
  .ring-film-shell video{display:none}
  .ring-stage.is-film-ready .ring-film-shell img{opacity:1}
  .ring-stage.is-film-ready .ring-film-toggle{display:none}
}

/* product-backdrops.css */
/* Alternating light/dark product atmospheres. */
/* The meteor carousel comes first; the white prelude then dissolves into Heyou. */
.collection-scene{
  position:relative;
  height:100svh;
  min-height:600px;
}
.transition-destination{
  position:absolute;
  inset:0;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  align-items:center;
  padding:12vh 5vw 8vh;
  background-color:#080d14;
  background-image:
    radial-gradient(ellipse 38% 48% at 72% 48%,rgba(130,140,150,.2),transparent 80%),
    linear-gradient(95deg,rgba(4,8,13,.9) 0%,rgba(8,13,20,.38) 50%,rgba(8,13,20,.18) 100%),
    url('/assets/backdrops/heyou-micro-asteroid-belt.jpg');
  background-position:center,center,center 50%;
  background-size:cover;
  color:#f0f2f2;
  opacity:0;
  pointer-events:none;
}
.transition-prelude{z-index:2}
.liquid-canvas,.liquid-fallback{z-index:3}
.transition-destination span{
  position:absolute;
  top:12vh;
  left:5vw;
  color:#f1c153;
  font-size:var(--type-2xs);
  font-weight:700;
  letter-spacing:.17em;
}
.transition-destination strong{
  font-size:var(--type-display-md);
  line-height:1;
  letter-spacing:-.06em;
}
.transition-destination img{
  justify-self:center;
  width:min(31vw,390px);
  max-height:58svh;
  object-fit:contain;
  filter:drop-shadow(0 24px 38px rgba(0,0,0,.48));
}
.product-ring,.product-badge,.product-reader{
  position:relative;
  isolation:isolate;
  overflow:hidden;
}

/* Heyou: micro-fragment asteroid streams, kept behind the ring. */
.product-chapter.product-ring{
  background-color:#080d14;
  background-image:
    radial-gradient(ellipse 38% 48% at 72% 48%,rgba(130,140,150,.2),transparent 80%),
    linear-gradient(95deg,rgba(4,8,13,.9) 0%,rgba(8,13,20,.38) 50%,rgba(8,13,20,.18) 100%),
    url('/assets/backdrops/heyou-micro-asteroid-belt.jpg');
  background-position:center,center,center 50%;
  background-size:cover;
  color:#f0f2f2;
  border-color:#333c45;
}
.product-ring .product-index{color:#f1c153}
.product-ring .product-story>p:not(.product-index){color:#d2dadc}
.product-ring .product-stage.ring-stage[data-ring-viewer]{background:transparent;border-color:transparent}
.product-ring .stage-caption{color:#e9edef;text-shadow:0 1px 10px #000}
.product-ring .ring-viewer-top,.product-ring .ring-viewer-help{color:#d8e0e3}
/* Match the chapter number to the film label; center the title beside the object. */
.product-ring .product-story{justify-content:flex-start;align-items:flex-start;padding-top:28px;background-image:none}
.product-ring .product-story:before{display:none}
.product-ring .product-index{position:static;margin:0;font-size:var(--type-xs);line-height:1.4}
.product-ring .product-story h2{margin:auto 0;font-size:var(--type-display-sm);line-height:1;letter-spacing:-.055em}
.product-ring .product-story>p:not(.product-index){max-width:28ch}
.product-ring .ring-viewer-help{top:calc(50% + 112px);bottom:auto}
.product-ring .stage-caption{left:auto;right:var(--gap-group);bottom:var(--gap-group)}

/* CueSpec: sparse blue-gray optical table keeps dark hardware legible. */
.product-chapter.product-cuespec{
  background-color:#26384d;
  background-image:
    linear-gradient(90deg,rgba(20,31,48,.18) 0%,rgba(20,31,48,.08) 48%,rgba(20,31,48,.02) 100%),
    url('/assets/backdrops/cuespec-blue-optical-table.jpg');
  background-position:center,center;
  background-size:cover;
  color:#f0f2ef;
  border-color:#50627a;
}
.product-cuespec .product-index{color:#f1c153}
.product-cuespec .product-story>p:not(.product-index){color:#d1d5d3}
.product-cuespec .product-story>a:hover{color:#f1c153}
.product-cuespec .cuespec-stage model-viewer{--progress-bar-color:#f1c153}
.product-cuespec .cuespec-terminals{z-index:2}
.product-cuespec .cuespec-terminal{
  color:#eef5ff;
  background:rgba(8,17,31,.94);
  border-color:rgba(193,216,242,.58);
  box-shadow:0 18px 38px rgba(3,9,20,.5),inset 0 1px rgba(255,255,255,.13);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
.product-cuespec .cuespec-terminal-bar{border-color:rgba(193,216,242,.22);color:#cad9e9}
.product-cuespec .cuespec-terminal pre::first-line{color:#f1c153}
@keyframes cuespec-terminal-life{
  0%{opacity:0;transform:translateY(12px) scale(.96)}
  22%,72%{opacity:1;transform:translateY(0) scale(1)}
  100%{opacity:0;transform:translateY(-10px) scale(.985)}
}

/* TapMemo: quiet mineral light, without another image download. */
.product-chapter.product-badge{
  background:
    radial-gradient(ellipse 40% 60% at 80% 22%,rgba(241,193,83,.24),transparent 80%),
    radial-gradient(ellipse 55% 85% at 88% 93%,rgba(109,114,117,.21),transparent 75%),
    linear-gradient(150deg,#e5e6e5 0%,#d1d6d5 55%,#c3c8c8 100%);
  color:#171b1b;
  border-color:#aeb5b3;
}
.product-badge .product-index{color:#70531a}
.product-badge .product-story>p:not(.product-index){color:#303a3a}
.product-badge .product-stage.badge-stage{background:transparent;color:#171b1b;border-color:transparent}
.product-badge .badge-stage:before{display:none}
.product-badge .badge-awaiting{border-color:rgba(29,35,35,.45)}
.product-badge .badge-awaiting span{color:#171b1b}
.product-badge .badge-awaiting p{color:#394242}
.product-badge .stage-caption{color:#313939}

/* PickMD: a cooler moonlit landscape, distinct from Heyou's asteroid belt. */
.product-chapter.product-reader{
  background-color:#111921;
  background-image:
    linear-gradient(110deg,rgba(10,17,24,.95) 0%,rgba(12,20,29,.79) 45%,rgba(16,23,31,.56) 100%),
    url('/assets/stones/lunar-field-original.jpg');
  background-position:center,center bottom;
  background-size:cover;
  color:#edf1ef;
  border-color:#39434a;
}
.product-reader .product-index{color:#f1c153}
.product-reader .product-story>p:not(.product-index){color:#cbd5d4}
.product-reader .product-story>a{color:#edf1ef;border-color:rgba(237,241,239,.45)}
.product-reader .product-story>a:hover{color:#f1c153}
.product-reader .product-stage.reader-stage{background:transparent;color:#edf1ef;border-color:transparent}
.product-reader .stage-caption{color:#e1e8e6;text-shadow:0 1px 8px #0009}

@media(max-width:700px){
  .collection-scene{min-height:0}
  .transition-destination{
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:var(--gap-section);
    padding:16vh 5vw 8vh;
    background-position:center,center,62% center;
  }
  .transition-destination span{top:14vh}
  .transition-destination strong{align-self:flex-start;font-size:var(--type-heading-sm)}
  .transition-destination img{width:min(52vw,260px);max-height:38svh}
  .product-ring{background-position:center,center,62% center}
  .product-ring .product-story{min-height:0;padding:96px 5vw 0;justify-content:flex-start}
  .product-ring .product-index{margin-bottom:var(--gap-group)}
  .product-ring .product-story h2{margin:0 0 var(--gap-group);font-size:var(--type-heading-lg)}
  .product-ring .product-stage.ring-stage[data-ring-viewer]{min-height:52svh}
  .product-ring .ring-viewer-help{top:calc(50% + 82px);bottom:auto}
  .product-ring .stage-caption{right:5vw;bottom:16px}
  .product-reader{background-position:center,58% bottom}
}
@media(prefers-reduced-motion:reduce){
  .transition-track{display:none}
}

/* header-navigation.css */
/* The navigation is a compact directory of what the site actually offers. */
.site-header{
  height:64px;padding:0 4vw;
  grid-template-columns:minmax(150px,1fr) auto minmax(64px,1fr);grid-template-rows:64px;gap:var(--gap-group);
  background:rgba(10,11,12,.78);border-bottom:1px solid rgba(255,255,255,.16);
  color:#f4f4f1;transition:height .4s cubic-bezier(.22,1,.36,1),background .4s ease;
}
.site-header .brand{justify-self:start;z-index:4;padding:0}
.site-header .brand-symbol{width:36px;height:36px}
.site-header .brand-word{width:105px}
.site-header nav{
  position:static;inset:auto;display:grid;grid-template-columns:repeat(3,160px);grid-template-rows:100%;
  align-self:start;align-items:stretch;justify-content:center;min-width:0;height:64px;gap:var(--gap-group);padding:0;
  background:none;opacity:1;visibility:visible;pointer-events:auto;transform:none;transition:none;
}
.site-header .nav-group,.site-header .nav-statement{min-width:0;margin:0;border-left:0}
.site-header .nav-group{display:flex;flex-direction:column;justify-content:flex-start;gap:0;padding:0}
.site-header .nav-heading{display:flex;align-items:center;gap:var(--gap-close);width:max-content;max-width:100%;min-height:64px;padding:0;border:0;color:#f5f5f1;font-size:var(--type-body);font-weight:500;line-height:1.1;letter-spacing:-.025em;white-space:nowrap;transition:color .2s ease}
.site-header .nav-heading:hover,.site-header .nav-heading:focus-visible{color:var(--accent);transform:none}
.site-header .nav-mark{display:grid;place-items:center;width:24px;height:32px;flex:none;color:var(--accent);font-size:var(--type-lead);font-weight:400;line-height:1}
.site-header .nav-mark-latest{font-size:var(--type-lead)}
.site-header .nav-mark-finder{font-size:var(--type-lead)}
.site-header .nav-links{display:grid;grid-template-columns:repeat(2,max-content);align-content:start;gap:var(--gap-close) var(--gap-group);padding-left:28px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,visibility .18s ease}
.site-header .nav-latest .nav-links{grid-template-columns:max-content}
.site-header .nav-finder .nav-links a:nth-child(2){grid-column:1/-1}
.site-header .nav-links a{width:auto;max-width:100%;padding:0;border:0;color:#c4c7c0;font:400 var(--type-xs)/1.28 Arial,sans-serif;letter-spacing:0;white-space:nowrap;transition:color .2s ease,transform .2s ease}
.site-header .nav-links a:hover,.site-header .nav-links a:focus-visible,.site-header .nav-links a[aria-current="location"]{color:var(--accent);transform:translateX(3px)}
.site-header .nav-statement{display:none}
.site-header .header-actions{z-index:4;gap:0;justify-self:end}
.site-header .lang-switch{height:auto;padding:0;background:none;border:0;border-radius:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;color:#f4f4f1;font-size:var(--type-xs)}
.site-header .lang-switch a.active{color:var(--accent)}
.site-header .lang-switch a:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:2px}
.site-header .menu-button{display:none}
.hero{padding-top:max(100px,12vh)}
.hero .hero-brand-lockup{margin:auto 0}

@media(hover:hover) and (min-width:851px){
  .site-header:hover{height:112px;background:rgba(10,11,12,.94)}
  .site-header:hover nav{height:112px}
  .site-header:hover .nav-links{opacity:1;visibility:visible;pointer-events:auto;transition-delay:.1s}
}
@media(min-width:851px){
  .site-header:focus-within{height:112px;background:rgba(10,11,12,.94)}
  .site-header:focus-within nav{height:112px}
  .site-header:focus-within .nav-links{opacity:1;visibility:visible;pointer-events:auto}
}

@media(max-width:1180px){
  .site-header{grid-template-columns:minmax(120px,1fr) auto minmax(64px,1fr);gap:var(--gap-group);padding:0 3vw}
  .site-header .brand-symbol{width:29px;height:29px}.site-header .brand-word{width:82px}
  .site-header nav{grid-template-columns:repeat(3,140px)}
  .site-header .nav-statement{display:none}
  .site-header .nav-heading{font-size:var(--type-body)}
  .site-header .nav-mark{width:24px;font-size:var(--type-lead)}
  .site-header .nav-links{padding-left:28px;gap:var(--gap-close) var(--gap-group)}
}
@media(max-width:850px){
  .site-header{height:62px;padding:0 5vw;grid-template-columns:1fr auto;grid-template-rows:62px;gap:10px;background:rgba(10,11,12,.93)}
  .site-header .brand-symbol{width:31px;height:31px}.site-header .brand-word{width:88px}
  .site-header .header-actions{grid-column:2;gap:8px}
  .site-header .lang-switch{height:auto}
  .site-header .menu-button{display:flex;height:36px;min-width:36px;padding:0;background:none;border:1px solid rgba(255,255,255,.35);border-radius:50%}
  .site-header .menu-button>span{display:none}
  .site-header .menu-button i{width:34px;height:34px;border-radius:50%;background:none;color:var(--accent);font-size:16px;letter-spacing:0}
  body.menu-open .site-header .menu-button i{font-size:0}
  .site-header nav{
    position:fixed;inset:62px 0 0;display:flex;flex-direction:column;justify-content:flex-start;
    height:calc(100dvh - 62px);overflow-y:auto;padding:5vw 6vw 12vw;
    background:#101210;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-12px);
    transition:opacity .25s ease,transform .35s cubic-bezier(.22,1,.36,1),visibility .25s;
  }
  .site-header nav.open{opacity:1;visibility:visible;pointer-events:auto;transform:none}
  .site-header .nav-group{padding:16px 0;border-left:0;border-bottom:1px solid rgba(255,255,255,.22);gap:10px;display:block}
  .site-header .nav-heading{min-height:0;font-size:var(--type-lead)}
  .site-header .nav-mark{display:grid;width:38px;height:38px;font-size:28px}
  .site-header .nav-mark-finder{font-size:34px}
  .site-header .nav-links{display:flex;flex-direction:row;flex-wrap:wrap;padding-left:46px;margin-top:12px;gap:9px 18px;opacity:1;visibility:visible;pointer-events:auto}
  .site-header .nav-links a{font-size:var(--type-body);color:#d0d2cc}
  .site-header .nav-statement{display:none}
  .hero{padding-top:max(92px,12vh)}
}
@media(prefers-reduced-motion:reduce){.site-header,.site-header nav,.site-header .nav-links a{transition:none}}

/* chapter-transitions.css */
/* Rock fragments and fine dust carry the transition between product chapters. */

.chapter-wipe{position:fixed;inset:0;z-index:101;pointer-events:none;overflow:hidden;color:#f4f4f1;display:grid;place-items:center;isolation:isolate}
.chapter-wipe::before{content:"";position:absolute;inset:0;z-index:0;opacity:0;background:#0b1019}
.chapter-wipe[data-destination="cuespec"]::before{background:#26384d}
.chapter-wipe[data-destination="badge"]::before{background:#c7cecf}
.chapter-wipe[data-destination="reader"]::before{background:#111921}
.chapter-wipe[data-destination="ring"]::before{background:#090e15}
.chapter-wipe[data-destination="badge"]{color:#171b1b}
.chapter-wipe.is-running::before{animation:fragment-veil 1050ms cubic-bezier(.22,1,.36,1) both}
.chapter-fragments{position:absolute;inset:0;z-index:1;width:100%;height:100%;pointer-events:none}
.chapter-wipe strong{position:relative;z-index:2;font-size:var(--type-display-sm);line-height:1;letter-spacing:-.04em;font-weight:600;opacity:0}
.chapter-wipe.is-running strong{animation:fragment-title 1050ms cubic-bezier(.22,1,.36,1) both}
.chapter-wipe span{position:absolute;z-index:2;top:calc(50% - 85px);color:var(--accent);font-size:var(--type-xs);letter-spacing:.18em;opacity:0}
.chapter-wipe.is-running span{animation:fragment-title 1050ms cubic-bezier(.22,1,.36,1) both}
@keyframes fragment-veil{0%,10%{opacity:0}43%,58%{opacity:1}100%{opacity:0}}
@keyframes fragment-title{0%,33%{opacity:0;transform:translateY(12px)}48%,60%{opacity:1;transform:none}87%,100%{opacity:0;transform:translateY(-8px)}}

/* The last page closes with one clear headline and one address block. */
.location{min-height:55svh;padding:clamp(80px,10vw,150px) 5vw;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:var(--gap-section);align-items:end;background:#e8e9e4;border-top:1px solid rgba(17,18,16,.2)}
.location-heading h2{margin-top:var(--gap-group);font-size:var(--type-display-sm);line-height:1.08;letter-spacing:-.055em;max-width:12ch}
.location-details{display:flex;flex-direction:column;gap:var(--gap-group);padding:var(--gap-group) 0;border-top:1px solid rgba(17,18,16,.42)}
.location-label{font-size:var(--type-xs);font-weight:700;letter-spacing:.09em;color:#766536}
.location address{font-size:var(--type-body);line-height:1.8}
footer{padding-top:var(--gap-section)}
footer .footer-brand-lockup{margin:var(--gap-section) 0}
footer>div{align-items:center;flex-wrap:wrap}
footer>div a:last-child{margin-left:auto}

@media(max-width:700px){
  .chapter-wipe strong{font-size:var(--type-heading-md)}
  .location{min-height:0;grid-template-columns:1fr;gap:var(--gap-section);padding:96px 5vw 80px}
  .location-heading h2{font-size:var(--type-heading-md)}
  .location-details{padding-top:var(--gap-group)}
  footer>div a:last-child{margin-left:0}
}
@media(prefers-reduced-motion:reduce){.chapter-wipe{display:none!important}}

/* hero-combined.css */
/* The brand mark and the former manifesto now share one opening viewport. */
.hero{
  min-height:100svh;
  padding:calc(64px + var(--gap-group)) 4vw var(--gap-group);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:var(--gap-group);
}
.hero .hero-brand-lockup{
  flex:none;
  margin:0 auto;
}
.hero .hero-symbol-wrap{width:90px;height:90px}
.hero .hero-wordmark{width:min(58vw,760px)}
.hero-statement{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(240px,27vw);
  gap:var(--gap-group) var(--gap-section);
  width:100%;
  padding-top:var(--gap-group);
  border-top:1px solid rgba(244,244,241,.27);
  color:#f4f4f1;
}
.hero-statement>.kicker{
  grid-column:1/-1;
  color:#c8c9c2;
  font-size:var(--type-2xs);
  font-weight:700;
  letter-spacing:.12em;
}
.hero-statement h2{
  grid-column:1;
  margin:0;
  font-size:var(--type-subhead);
  font-weight:750;
  line-height:1.14;
  letter-spacing:-.045em;
  text-wrap:balance;
}
.hero-statement h2 span{display:block}
.hero-statement h2 span:nth-child(2){color:#b7b9b1}
.hero-statement h2 span:nth-child(3){color:#d3d5cf}
.hero-statement h2 em{font-style:normal;color:var(--accent)}
.hero-statement-foot{
  grid-column:2;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  align-items:flex-start;
  gap:var(--gap-group);
}
.hero-statement-foot p{
  max-width:34ch;
  color:#d0d2cb;
  font-size:var(--type-xs);
  line-height:1.5;
  text-wrap:pretty;
}
.hero-statement-foot a{
  color:var(--accent);
  font-size:var(--type-xs);
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.hero-statement-foot a:hover,.hero-statement-foot a:focus-visible{color:#fff}
.hero-statement-foot a span{margin-left:var(--gap-close)}
@media(max-height:700px) and (min-width:851px){
  .hero .hero-symbol-wrap{width:64px;height:64px}
  .hero .hero-wordmark{width:min(47vw,600px)}
  .hero-statement h2{font-size:var(--type-card)}
}
@media(max-width:850px){
  .hero{padding:calc(62px + var(--gap-group)) 5vw var(--gap-group)}
  .hero .hero-symbol-wrap{width:72px;height:72px}
  .hero .hero-wordmark{width:min(78vw,420px)}
  .hero-statement{grid-template-columns:minmax(0,1fr);gap:var(--gap-group)}
  .hero-statement>.kicker,.hero-statement h2,.hero-statement-foot{grid-column:1}
  .hero-statement h2{font-size:var(--type-card)}
  .hero-statement-foot{gap:var(--gap-group)}
  .hero-statement-foot p{max-width:48ch}
}
@media(max-height:600px) and (max-width:850px){
  .hero .hero-symbol-wrap{width:56px;height:56px}
  .hero .hero-wordmark{width:min(66vw,340px)}
}

/* solar-products.css */
/* Product entrance only: a camera-led solar system, independent of the product chapters. */
/* Keep page scrolling functional without the browser's right-edge scrollbar. */
html{scrollbar-width:none}
html::-webkit-scrollbar,body::-webkit-scrollbar{width:0;height:0;display:none}
@font-face{font-family:"Source Han Sans SC";src:url('/assets/fonts/source-han-sc-regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Source Han Sans SC";src:url('/assets/fonts/source-han-sc-medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
.collection-scene{position:relative;display:block;height:100svh;min-height:600px;padding:0!important;overflow:hidden;background:#05070b;color:#f5f3ee;isolation:isolate}
.solar-stage{position:absolute;inset:0;overflow:hidden;background:radial-gradient(ellipse 55% 65% at 49% 49%,#141c29 0%,#0b111c 55%,#060a12 100%)}
.solar-stage::before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(ellipse 75% 80% at 50% 43%,transparent 35%,#02040966 100%)}
.solar-canvas{position:absolute;inset:0;z-index:1}
.solar-canvas canvas{display:block;width:100%;height:100%;touch-action:pan-y;cursor:default}
.solar-canvas canvas.is-over-rock{cursor:pointer}
.solar-fallback{position:absolute;z-index:1;inset:0;display:grid;place-items:center;opacity:.9;pointer-events:none}
.solar-fallback img{width:min(23vw,330px);min-width:160px;filter:drop-shadow(0 16px 22px #000b)}
.solar-stage.is-ready .solar-fallback{display:none}
.solar-labels{position:absolute;inset:0;z-index:3;pointer-events:none}
.solar-labels button{position:absolute;left:var(--label-x,50%);top:var(--label-y,52%);transform:translate(-50%,0);display:block;max-width:36vw;min-width:64px;min-height:36px;padding:4px 8px;border:0;background:transparent;color:#e8e8e4;font-family:"Source Han Sans SC","Noto Sans CJK SC","PingFang SC",sans-serif;font-size:clamp(13px,1.15vw,17px);font-weight:500;line-height:1.3;text-align:center;text-shadow:0 2px 12px #000,0 1px 3px #000;white-space:nowrap;pointer-events:auto;cursor:pointer;opacity:var(--label-opacity,1);transition:color .3s ease,opacity .3s ease}
.solar-labels button[data-solar-product="badge"]{--label-x:33%;--label-y:70%}
.solar-labels button[data-solar-product="reader"]{--label-x:19%;--label-y:37%}
.solar-labels button[data-solar-product="ring"]{--label-x:78%;--label-y:63%}
.solar-labels button[data-solar-product="cuespec"]{--label-x:72%;--label-y:32%}
.solar-labels button[aria-current="true"]{color:#fff;font-size:clamp(18px,1.7vw,25px);font-weight:500}
.solar-labels button:hover{color:#f1c153}
.solar-labels button:focus,.solar-explore:focus,.solar-selector button:focus{outline:none}
.solar-labels button:focus-visible,.solar-explore:focus-visible,.solar-selector button:focus-visible{color:#fff;text-shadow:0 0 10px #ffffff80,0 2px 12px #000}
.solar-actions{position:absolute;z-index:4;left:clamp(20px,5vw,88px);bottom:clamp(28px,5vh,60px);display:flex;align-items:center;gap:clamp(14px,2.2vw,34px);min-height:52px;padding:0 0 0 18px;border-left:2px solid #f1c153;background:linear-gradient(90deg,#05070bd9,transparent);text-shadow:0 2px 12px #000}
.solar-index{font-size:11px;font-weight:600;letter-spacing:.17em;color:#f1c153}
.solar-selected-name{font-family:"Source Han Sans SC","Noto Sans CJK SC","PingFang SC",sans-serif;font-size:clamp(22px,2.35vw,34px);font-weight:500;line-height:1}
.solar-explore{display:inline-flex;align-items:center;gap:16px;min-height:42px;margin-left:8px;padding:0 0 0 20px;border-left:1px solid #a5a7a680;color:#f5f3ee;font-family:"Source Han Sans SC","Noto Sans CJK SC","PingFang SC",sans-serif;font-size:13px;font-weight:400;letter-spacing:.06em;text-decoration:none;white-space:nowrap}
.solar-explore:hover{color:#f1c153}
.solar-explore span{font-size:20px}
.solar-hint{position:absolute;z-index:4;right:clamp(20px,5vw,88px);bottom:clamp(28px,5vh,60px);margin:0;color:#b3b5b4;font-size:11px;letter-spacing:.1em;text-shadow:0 2px 8px #000}
.solar-selector{position:absolute;z-index:4;right:clamp(20px,5vw,88px);top:clamp(96px,13vh,150px);transform:none;display:flex;flex-direction:column;gap:2px;align-items:flex-end}
.solar-selector button{display:flex;align-items:center;justify-content:flex-end;gap:12px;min-width:110px;min-height:42px;padding:0 3px;border:0;background:transparent;color:#a6a4a0;font:500 14px "Source Han Sans SC","PingFang SC",sans-serif;text-align:right;cursor:pointer;transition:color .2s ease}
.solar-selector button::after{content:"";width:5px;height:5px;flex:none;border-radius:50%;background:#89847b;box-shadow:0 0 0 1px #d4c3ad55;transition:background .2s ease,box-shadow .2s ease,transform .2s ease}
.solar-selector button:hover,.solar-selector button[aria-pressed="true"]{color:#fff}
.solar-selector button[aria-pressed="true"]::after{background:#f1c153;box-shadow:0 0 12px #f1c153aa;transform:scale(1.3)}
.solar-stage.is-fallback .solar-labels button{position:static;transform:none;opacity:1}
.solar-stage.is-fallback .solar-labels{display:flex;align-items:flex-start;justify-content:space-around;padding-top:18vh}
@media(max-width:700px){
  .collection-scene{min-height:0}
  .solar-fallback img{width:45vw}
  .solar-labels button{font-size:12px;min-height:44px;padding:10px 5px}
  .solar-labels button[aria-current="true"]{font-size:16px}
  .solar-actions{left:5vw;right:5vw;bottom:max(72px,env(safe-area-inset-bottom) + 64px);gap:10px;min-height:44px;padding-left:11px}
  .solar-index{font-size:9px}
  .solar-selected-name{font-size:22px}
  .solar-explore{font-size:11px;gap:4px;margin-left:auto;padding-left:9px}
  .solar-hint{right:5vw;bottom:max(27px,env(safe-area-inset-bottom) + 18px);font-size:9px}
  .solar-selector{left:5vw;right:5vw;top:auto;bottom:max(139px,env(safe-area-inset-bottom) + 130px);transform:none;flex-direction:row;justify-content:center;gap:0}
  .solar-selector button{min-width:0;min-height:44px;flex:1;justify-content:center;flex-direction:column-reverse;gap:5px;padding:3px 0;font-size:10px;text-align:center;text-shadow:0 2px 8px #000}
  .solar-hint{display:none}
}
@media(prefers-reduced-motion:reduce){.solar-labels button{transition:none}}
.solar-morph{position:fixed;inset:0;z-index:1000;overflow:hidden;pointer-events:none;isolation:isolate}
.solar-morph::before{content:"";position:absolute;inset:0;background:#090d13;opacity:0;transition:opacity .3s ease}
.solar-morph[data-product="cuespec"]::before{background:#26384d}
.solar-morph[data-product="badge"]::before{background:#cbd0cf}
.solar-morph[data-product="reader"]::before{background:#111921}
.solar-morph.is-covered::before{opacity:1}
.solar-morph canvas{position:absolute;inset:0;z-index:1;width:100%;height:100%}
.solar-morph-product{position:absolute;z-index:2;left:50%;top:50%;display:block;object-fit:contain;transform:translate(-50%,-50%);opacity:0;transition:opacity .25s ease;filter:drop-shadow(0 18px 25px #0007)}
.solar-morph strong.solar-morph-product{display:grid;place-items:center;color:#f1c153;font:500 clamp(36px,7vw,96px) "Source Han Sans SC",sans-serif;white-space:nowrap}
.solar-morph.is-formed .solar-morph-product{opacity:1}
.solar-morph.is-leaving{opacity:0;transition:opacity .36s ease}
@media(prefers-reduced-motion:reduce){.solar-morph{display:none}}

/* Sparse, slow nebula haze stays behind the scene and all controls. */
.solar-stage::after{content:"";position:absolute;z-index:0;left:-15%;right:-15%;bottom:-14%;height:50%;pointer-events:none;background:radial-gradient(ellipse 28% 25% at 32% 70%,rgba(75,105,160,.35),transparent 90%),radial-gradient(ellipse 32% 20% at 61% 78%,rgba(113,74,147,.28),transparent 90%),radial-gradient(ellipse 23% 28% at 76% 62%,rgba(55,101,126,.20),transparent 90%);filter:blur(30px);opacity:.05;animation:nebula-breathe 38s ease-in-out infinite;}
@keyframes nebula-breathe{0%,18%,100%{opacity:.04;transform:translate3d(-2%,3%,0) scale(1)}48%,66%{opacity:.45;transform:translate3d(2%,-2%,0) scale(1.08)}}
@media(prefers-reduced-motion:reduce){.solar-stage::after{animation:none;opacity:.10}}

/* Arrival focus keeps the chapter accessible without framing its heading. */
.product-chapter h2[tabindex="-1"]:focus{outline:none}

/* A shared dark horizon blends the two scenes without shifting their content. */
.hero::after{display:block;content:"";position:absolute;inset:auto 0 0;height:clamp(100px,18vh,200px);z-index:0;pointer-events:none;opacity:1;background:linear-gradient(transparent,#080c13);}
.collection-scene{border-top:0;background:#080c13}
.solar-stage{mask-image:linear-gradient(to bottom,transparent,#000 18%);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 18%)}

.ghost-cursor{position:absolute;inset:0;z-index:2;pointer-events:none;mix-blend-mode:screen}
.ghost-cursor canvas{display:block;width:100%;height:100%;background:transparent}

@media(pointer:fine){.solar-stage.has-ghost-cursor,.solar-stage.has-ghost-cursor *{cursor:none!important}}

/* homepage-partners.css */
/* Homepage foreground only. Product scenes and their assets remain independent. */
.site-header,.site-header:hover,.site-header:focus-within{height:84px;grid-template-columns:1fr auto auto;grid-template-rows:84px;gap:40px;padding:0 4.5vw;background:rgba(10,11,12,.42);border:0;backdrop-filter:blur(12px)}
.site-header nav,.site-header:hover nav,.site-header:focus-within nav{display:flex;flex-direction:row;position:static;align-items:center;align-self:center;height:auto;gap:34px;transform:none;background:none;padding:0}
.site-header nav>a{font-size:14px;line-height:1.5;font-weight:400;letter-spacing:0;border:0;padding:12px 0;color:#ebede7;transition:color .2s}
.site-header nav>a:hover,.site-header nav>a:focus-visible{transform:none;color:var(--accent)}
.site-header .header-actions{gap:24px}.site-header .lang-switch{border:0;padding:0;border-radius:0;font-size:12px;font-weight:400}.site-header .lang-switch a:not(.active){opacity:.8}
.partner-button{display:inline-flex;justify-content:center;align-items:center;min-height:44px;padding:0 24px;background:#f4f4ef;color:#161915;border:0;border-radius:6px;font-size:13px;font-weight:500;transition:background .2s}
.partner-button:hover{background:#f1c153}
.site-header .menu-button{display:none}
.hero{display:grid;grid-template-columns:1fr minmax(280px,340px);grid-template-rows:1fr auto;align-items:start;gap:64px 8vw;min-height:100svh;padding:clamp(150px,19vh,220px) 4.5vw 48px}
.home-headline{position:relative;z-index:2;grid-column:1/-1}.home-headline h1{margin:0;font-size:clamp(56px,7.2vw,96px);font-weight:400;line-height:1.15;letter-spacing:-.035em;color:#f5f5ef;text-wrap:balance}.home-headline h1 span{display:block}.home-headline .headline-muted{color:#b9c1b5}
.home-intro{position:relative;z-index:2;align-self:end;color:#d6dcd1;font-size:14px;line-height:1.65;max-width:380px}.home-intro p:first-child{margin-bottom:18px;color:#f4f4ef}.home-intro a{display:inline-block;margin-top:25px;padding-bottom:5px;border-bottom:1px solid #9fa99b;color:#f4f4ef;font-size:13px}
.home-partnership{position:relative;z-index:2;align-self:end;padding:28px;background:rgba(11,18,17,.72);backdrop-filter:blur(18px);border-radius:12px;color:#f4f4ef}.partnership-label{font-size:12px;color:#d4dbcf;margin-bottom:18px}.home-partnership h2{font-size:29px;line-height:1.35;letter-spacing:-.02em;font-weight:400;margin-bottom:20px}.partnership-description{font-size:13px;line-height:1.7;color:#d4dbcf;margin-bottom:24px}.home-partnership .partner-button{width:100%}.partnership-secondary{display:block;text-align:center;font-size:12px;padding-top:17px;color:#d4dbcf}
@media(max-width:1000px){.site-header,.site-header:hover,.site-header:focus-within{gap:24px}.site-header nav{gap:22px}.site-header .header-actions{gap:16px}.hero{gap:56px 5vw}.home-headline h1{font-size:clamp(56px,8vw,80px)}}
@media(max-width:850px){.site-header,.site-header:hover,.site-header:focus-within{height:72px;grid-template-rows:72px;grid-template-columns:1fr auto;padding:0 5vw;gap:10px}.site-header .header-actions{gap:18px}.site-header .header-actions>.partner-button{display:none}.site-header .menu-button{display:flex;border:0;border-radius:0;min-width:0;width:auto;height:44px;padding:0;color:#f4f4ef;background:none;box-shadow:none;font-size:14px}.site-header .menu-button>span{display:block}.site-header nav,.site-header:hover nav,.site-header:focus-within nav{position:fixed;inset:72px 0 auto;height:auto;display:flex;align-items:stretch;flex-direction:column;gap:0;padding:22px 5vw 32px;background:#101210;opacity:0;visibility:hidden;pointer-events:none}.site-header nav.open{opacity:1;visibility:visible;pointer-events:auto}.site-header nav>a{font-size:20px;padding:18px 0;width:100%;border-bottom:1px solid #ffffff26}.hero{grid-template-columns:1fr;grid-template-rows:auto auto auto;padding:140px 5vw 36px;gap:48px;min-height:100svh}.home-headline{grid-column:1}.home-headline h1{font-size:clamp(40px,9vw,70px)}.home-intro{font-size:14px;max-width:100%}.home-partnership{width:min(100%,420px);justify-self:end;padding:24px}.home-partnership h2{font-size:27px}}
@media(prefers-reduced-motion:reduce){.partner-button,.site-header nav>a{transition:none}}

/* pickmd-demos.css */
.product-reader .reader-stage{--phone-width:clamp(170px,18vw,280px);--phone-step:clamp(130px,14vw,205px);padding:0;overflow:hidden;perspective:1400px;isolation:isolate}
.reader-stage button.iphone-mockup{position:absolute;left:50%;top:48%;width:var(--phone-width);aspect-ratio:540/1168;box-sizing:border-box;background:#dedede;border:6px solid #161819;border-radius:30px;padding:0;cursor:pointer;display:block;text-align:initial;font:inherit;transform:translate(calc(-50% + var(--position)*var(--phone-step)),-50%) scale(var(--scale));z-index:var(--layer);opacity:var(--opacity);transition:transform .8s cubic-bezier(.22,1,.36,1),opacity .8s,border-color .6s;box-shadow:0 28px 45px #0006}
.reader-stage .iphone-mockup img{display:block;width:100%;height:100%;object-fit:cover;max-height:none;border-radius:23px;box-shadow:none}
.reader-stage .pickmd-still{filter:grayscale(1) brightness(.78);transition:filter 1.1s}
.reader-demo[aria-pressed="true"] .pickmd-still{filter:grayscale(0) brightness(1)}
.reader-stage .pickmd-color{position:absolute;inset:0;clip-path:inset(0 100% 0 0);pointer-events:none}
.reader-demo.is-playing .pickmd-color{clip-path:inset(0);transition:clip-path 1.1s cubic-bezier(.22,1,.36,1)}
.pickmd-spectrum{position:absolute;inset:0;pointer-events:none;opacity:0;background:linear-gradient(90deg,transparent 34%,#f854cc33 43%,#ffc74d55 49%,#70eaff55 54%,transparent 63%);transform:translateX(-110%);mix-blend-mode:screen}
.reader-demo.is-sweeping .pickmd-spectrum{animation:pickmd-prism-sweep 1.1s ease-out}
@keyframes pickmd-prism-sweep{0%{opacity:0;transform:translateX(-100%)}25%{opacity:.8}80%{opacity:.55}100%{opacity:0;transform:translateX(100%)}}
.reader-stage button.iphone-mockup:focus-visible{outline:2px solid #edf1ef;outline-offset:6px}
.pickmd-carousel-controls{position:absolute;bottom:11%;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:20px;color:#edf1ef;z-index:8;white-space:nowrap}
.pickmd-carousel-controls button{width:36px;height:36px;border-radius:50%;border:1px solid #edf1ef55;background:#11192199;color:inherit;cursor:pointer;font-size:18px}
.pickmd-carousel-controls button:hover{background:#edf1ef;color:#111921}
.pickmd-carousel-title{font-size:12px;letter-spacing:.06em;min-width:125px;text-align:center}
.pickmd-carousel-controls button:focus-visible{outline:2px solid #fff;outline-offset:4px}
@media(max-width:700px){.product-reader .reader-stage{--phone-width:180px;--phone-step:135px;height:550px;min-height:550px;border:0;width:100%;padding:0}.reader-stage button.iphone-mockup{top:44%;border-width:5px;border-radius:26px}.reader-stage .iphone-mockup img{border-radius:20px}.pickmd-carousel-controls{bottom:9%}.product-reader .stage-caption{bottom:14px}}
@media(prefers-reduced-motion:reduce){.reader-stage button.iphone-mockup,.reader-stage .pickmd-still,.reader-demo.is-playing .pickmd-color{transition:none}.reader-demo.is-sweeping .pickmd-spectrum{animation:none}}

/* web-design-tokens.css */
/* Local application of webDesignToken.md. Layout breakpoints and scene stacking remain provisional. */
@font-face{font-family:Geist;src:url('/assets/fonts/geist/Geist-Variable.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:'Howling EqHi Sans';src:url('/assets/fonts/howling-eqhi-sans/HowlingEqHiSans-web.woff2?v=20261013-monthly') format('woff2');font-weight:300 700;font-stretch:62.5% 100%;font-style:normal;font-display:swap}
:root{
 --font-ui:Geist,'Howling EqHi Sans',sans-serif;
 --color-brand:#EBCC66;--color-background:#050505;--color-surface:#171717;--color-raised:#242424;
 --color-text:#F0F0F0;--color-secondary:#B8B8B8;--color-muted:#8C8B8C;--color-border:#363436;
 --color-hover:#F2D985;--color-active:#D8B951;
 --glass:rgba(5,5,5,.8);--glass-edge:rgba(240,240,240,.2);--glass-shadow:0 8px 24px rgba(0,0,0,.24);
 --radius-small:4px;--radius-panel:16px;--radius-media:24px;--radius-pill:999px;
 --font-caption:.8rem;--font-body:1rem;--font-intro:1.25rem;--font-title:3.0517578125rem;--font-display:4.76837158203125rem;
 --space-0:.5rem;--space-1:.75rem;--space-2:1.125rem;--space-3:1.6875rem;--space-4:2.53125rem;--space-5:3.796875rem;--space-6:5.6953125rem;--space-7:8.54296875rem;
 --motion-fast:160ms;--motion-standard:240ms;--motion-reveal:480ms;--ease-out:cubic-bezier(.16,1,.3,1);--ease-state:cubic-bezier(.2,0,0,1);
 /* Compatibility aliases let existing chapters reuse the agreed scales. */
 --accent:var(--color-brand);--night:var(--color-background);--paper:#F0F0F0;--ink:#363436;--muted:#686868;
 --gallery:#F0F0F0;--gallery-alt:#F0F0F0;--gallery-line:#363436;
 --gap-close:var(--space-1);--gap-group:var(--space-4);--gap-section:var(--space-6);
 --type-2xs:var(--font-caption);--type-xs:var(--font-caption);--type-body:var(--font-body);--type-lead:var(--font-intro);
 --type-card:1.5625rem;--type-subhead:1.953125rem;--type-heading-sm:2.44140625rem;--type-heading-md:var(--font-title);
 --type-heading-lg:3.814697265625rem;--type-display-sm:var(--font-display);--type-display-md:var(--font-display);--type-display-lg:5.9604644775390625rem;
}
html{font-size:100%}body{font-family:var(--font-ui);font-size:var(--font-body);background:var(--color-background);font-synthesis:none}
button,input,textarea,select{font-family:var(--font-ui)}
.kicker,.dark-kicker,.product-index,.stage-caption,.timeline-number,.timeline time,.team-grid h3,.team-grid article>span,.solar-labels button,.solar-selected-name,.solar-explore,.solar-selector button,footer>div,.lang-switch{font-family:var(--font-ui)}
:focus-visible{outline:2px solid var(--color-brand);outline-offset:4px}
/* Two independent floating islands, preserving the existing 850px menu breakpoint for this pass. */
.site-header,.site-header:hover,.site-header:focus-within{top:32px;height:auto;grid-template-columns:auto 1fr;grid-template-rows:auto;gap:var(--space-3);padding:0 4.5vw;background:none;border:0;backdrop-filter:none;-webkit-backdrop-filter:none}
.site-header .brand,.navigation-island{display:flex;align-items:center;min-height:3.5rem;padding:.75rem 1.5rem;background:var(--glass);border:1px solid var(--glass-edge);border-radius:var(--radius-pill);box-shadow:var(--glass-shadow);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);color:var(--color-text)}
.site-header .brand{gap:var(--space-1);clip-path:none}
.site-header .brand-symbol{height:1.5rem;width:1.5rem}.site-header .brand-word{height:1.5rem;width:auto;max-width:7rem}
.navigation-island{justify-self:end;gap:var(--space-3)}
.site-header nav,.site-header:hover nav,.site-header:focus-within nav{position:static;display:flex;flex-direction:row;align-items:center;align-self:center;gap:var(--space-3);height:auto;padding:0;background:none;opacity:1;visibility:visible;transform:none;pointer-events:auto;transition:none}
.site-header nav>a{font-size:var(--font-body);font-weight:400;line-height:1.25;letter-spacing:0;padding:0;min-height:2.75rem;display:flex;align-items:center;border:0;color:var(--color-text);width:auto;white-space:nowrap}
.site-header nav>a:hover{color:var(--color-brand);transform:none}
.site-header .header-actions{gap:var(--space-2)}
.site-header .lang-switch{height:auto;background:none;padding:0;border:0;font-size:var(--font-caption);gap:var(--space-0);color:var(--color-secondary)}
.site-header .lang-switch a{display:flex;align-items:center;min-height:2.75rem}.site-header .lang-switch a:not(.active){opacity:1}.site-header .lang-switch a.active{color:var(--color-brand)}
.site-header .menu-button{display:none}
/* One centered message and one entrance; no decorative orbit or single-product hero. */
.hero{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100svh;padding:8rem 5vw 6rem;background:var(--color-background);color:var(--color-text);gap:0}
.hero:before,.hero:after{display:none}
.hero-center{position:relative;text-align:center;display:flex;flex-direction:column;align-items:center;max-width:70rem;width:100%;}
.hero-center h1{font-size:var(--font-display);font-weight:500;line-height:1.2;letter-spacing:0;text-wrap:balance;margin:0}
.hero-center>p{font-size:var(--font-intro);line-height:1.6;color:var(--color-secondary);margin-top:var(--space-3);max-width:40rem}
.primary-entry{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);min-height:3rem;padding:.75rem 1.5rem;border:1px solid transparent;border-radius:var(--radius-pill);background:var(--color-brand);color:var(--ink);font-size:var(--font-body);line-height:1.25;margin-top:var(--space-4);transition:background var(--motion-standard) var(--ease-state),box-shadow var(--motion-standard) var(--ease-state)}
.primary-entry:hover{background:var(--color-hover);box-shadow:0 0 20px rgba(235,204,102,.12)}.primary-entry:active{background:var(--color-active)}.primary-entry:active span{transform:scale(.98)}
.hero-center h1,.hero-center>p,.primary-entry{animation:token-reveal var(--motion-reveal) var(--ease-out) backwards}.hero-center>p{animation-delay:80ms}.primary-entry{animation-delay:160ms}
@keyframes token-reveal{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
/* Foreground UI only: preserve product art, lighting and camera behavior. */
.solar-labels button{font-size:var(--font-body);min-height:2.75rem;color:var(--color-text)}.solar-labels button[aria-current="true"]{font-size:var(--type-card);color:var(--color-brand)}
.solar-labels button:hover,.solar-explore:hover{color:var(--color-brand)}
.solar-selected-name{font-size:var(--type-subhead);color:var(--color-text)}.solar-index{color:var(--color-brand);font-size:var(--font-caption)}.solar-actions{border-color:var(--color-brand);gap:var(--space-2)}
.solar-explore{font-size:var(--font-body);min-height:3rem;gap:var(--space-1);color:var(--color-text)}.solar-hint{font-size:var(--font-caption);color:var(--color-secondary)}
.solar-selector button{font-size:var(--font-body);min-height:2.75rem;color:var(--color-secondary)}.solar-selector button[aria-pressed="true"]{color:var(--color-brand)}.solar-selector button[aria-pressed="true"]::after{background:var(--color-brand);box-shadow:none}
.product-story h2{font-size:var(--font-title)}.product-story>p:not(.product-index){font-size:var(--font-body)}.product-story>a{font-size:var(--font-body);min-height:3rem}
.product-ring .product-story,.product-reader .product-story,.product-cuespec .product-story{color:var(--color-text)}
.product-ring .product-story p,.product-reader .product-story p,.product-cuespec .product-story p{color:var(--color-secondary)}
.product-badge .product-story{color:var(--ink)}.product-badge .product-story p{color:#686868}
.team-grid h3{font-size:var(--font-title);font-weight:500}.team-grid p{color:var(--color-secondary);font-size:var(--font-body)}
.section-heading h2,.location-heading h2{font-size:var(--font-title)}.timeline h3{font-size:var(--type-card)}
.location{background:var(--paper);color:var(--ink)}.location-label,.location .dark-kicker{color:#686868}
.principle{background:var(--color-background);color:var(--color-text)}.principle h2{font-size:var(--font-display)}.principle:before,.principle h2 span:after{display:none}.principle>p:last-child{color:var(--color-secondary)}
footer{background:var(--color-background);color:var(--color-text)}footer>div{border-color:var(--color-border);font-size:var(--font-caption)}
footer a{min-height:2.75rem;display:inline-flex;align-items:center}.footer-intro{font-size:var(--font-intro);color:var(--color-secondary)}
@supports not (backdrop-filter:blur(16px)){.site-header .brand,.navigation-island{background:var(--color-surface)}}
@media(max-width:1180px){.site-header nav{gap:var(--space-2)}.navigation-island{gap:var(--space-2)}.site-header .brand-word{max-width:5.5rem}.hero-center h1{font-size:3.814697265625rem}}
@media(max-width:850px){
 .site-header,.site-header:hover,.site-header:focus-within{top:20px;padding:0 5vw;gap:var(--space-2);grid-template-columns:auto 1fr;grid-template-rows:auto}
 .navigation-island{padding:.75rem 1.125rem}.site-header .brand-word{display:none}.site-header .brand{padding:.75rem 1.125rem}
 .site-header .menu-button{display:flex;min-height:2.75rem;height:auto;min-width:2.75rem;width:auto;padding:0;border:0;border-radius:var(--radius-pill);background:none;color:var(--color-text);box-shadow:none;font-size:var(--font-body)}.site-header .menu-button>span{display:block}
 .site-header nav,.site-header:hover nav,.site-header:focus-within nav{position:fixed;inset:5.5rem 5vw auto;display:flex;flex-direction:column;align-items:stretch;height:auto;max-height:calc(100svh - 7rem);overflow:auto;padding:var(--space-2) var(--space-3);gap:var(--space-0);background:var(--color-surface);border:1px solid var(--glass-edge);border-radius:var(--radius-panel);opacity:0;visibility:hidden;pointer-events:none}
 .site-header nav.open{opacity:1;visibility:visible;pointer-events:auto}.site-header nav>a{font-size:var(--font-intro);min-height:3rem;padding:var(--space-1) 0;width:100%;border-bottom:1px solid var(--color-border)}
 .hero-center h1{font-size:2.44140625rem}.hero{padding:8rem 5vw 5rem;overflow:visible}.hero-center>p{font-size:var(--font-body)}
 .product-story h2,.section-heading h2,.location-heading h2{font-size:2.44140625rem}.principle h2{font-size:3.0517578125rem}
 .solar-selected-name{font-size:var(--type-card)}.solar-labels button{font-size:var(--font-caption)}.solar-labels button[aria-current="true"]{font-size:var(--font-body)}
}
@media(max-height:600px){.hero{padding-top:7rem;padding-bottom:3rem}.hero-center h1{font-size:2.44140625rem}.hero-center>p{margin-top:var(--space-2)}.primary-entry{margin-top:var(--space-3)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-center>*{animation:none}.primary-entry,.site-header nav>a,.solar-selector button,.solar-labels button{transition:none}.primary-entry:active span{transform:none}}
/* Match the two islands when link targets make the navigation grow above its minimum. */
.site-header .brand{align-self:stretch}
.ring-film-toggle,.pickmd-carousel-controls button{min-width:3rem;min-height:3rem;border:1px solid var(--color-muted);border-radius:var(--radius-pill);background:var(--glass);color:var(--color-text);font-family:var(--font-ui);font-size:var(--font-body);box-shadow:var(--glass-shadow);backdrop-filter:blur(16px);transition:background var(--motion-standard) var(--ease-state)}
.ring-film-toggle:hover,.pickmd-carousel-controls button:hover{background:rgba(23,23,23,.92)}
/* Typography normalization: component font shorthands must not reintroduce legacy families.
   !important is intentionally limited to the family; role sizes below use specific selectors. */
body,body :where(*){font-family:var(--font-ui)!important}
body .site-header .menu-button>span{font-size:var(--font-body)}
body main .product-chapter .product-story h2{font-size:var(--font-title)}
body main .section-heading h2,body main .location-heading h2{font-size:var(--type-subhead)}
body main .team-grid h3{font-size:var(--type-subhead)}
body main .timeline-section .timeline h3{font-size:var(--type-subhead)}
body .ring-viewer-top,body .ring-viewer-help,
body .cuespec-heading,body .cuespec-help,body .cuespec-nojs,
body .pickmd-carousel-title,body .cuespec-terminal,
body .cuespec-terminal[data-size],body .cuespec-terminal-bar,
body .cuespec-terminal[data-size] .cuespec-terminal-bar{font-size:var(--font-caption)}
body .ring-view-modes button,body .ring-render-angles button{font-size:var(--font-body)}
body .cuespec-terminal pre{font-size:inherit}
body .solar-morph strong{font-size:var(--font-title)}
@media(max-width:850px){
 body main .product-chapter .product-story h2{font-size:var(--type-subhead)}
 body main .section-heading h2,body main .location-heading h2,body main .team-grid h3,body main .timeline-section .timeline h3{font-size:var(--type-card)}
}
body .solar-morph strong.solar-morph-product{font-size:var(--font-title)}

/* Terminal cards use the new caption font at every size; give the title one stable row. */
body .cuespec-terminal .cuespec-terminal-bar{height:auto;min-height:2rem;display:flex;align-items:center;gap:.3125rem;padding:.5rem .75rem}
body .cuespec-terminal .cuespec-terminal-bar i{flex-shrink:0}
body .cuespec-terminal .cuespec-terminal-bar span{flex:1;min-width:0;margin:0;padding:0;text-align:center;white-space:nowrap;line-height:1.25}
body .cuespec-terminal pre{overflow-wrap:anywhere}
/* TapMemo and PickMD: uninterrupted backgrounds, without decorative vertical guides. */
.product-badge .product-story,.product-reader .product-story{background-image:none}
.product-badge .product-story::before,.product-reader .product-story::before{display:none}
/* Shared entry → comet transition. Blur belongs to the scene, never the navigation. */
.hero-center{filter:blur(calc(var(--hero-progress,0)*12px));opacity:calc(1 - var(--hero-progress,0));will-change:filter,opacity}
.collection-scene .solar-stage{filter:blur(calc((1 - var(--hero-progress,0))*16px));opacity:calc(.25 + var(--hero-progress,0)*.75);transition:filter 80ms linear,opacity 80ms linear}
.collection-scene::after{content:'';position:absolute;inset:0;z-index:5;pointer-events:none;background:linear-gradient(#050505,transparent 42%);opacity:calc(1 - var(--hero-progress,0))}
.entry-comet{position:fixed;z-index:90;pointer-events:none;transform:translate(-50%,-50%);border-radius:999px;background:#EBCC66;box-shadow:0 0 14px #ebcc6666;opacity:0;will-change:width,height,left,top}
.entry-comet::before{content:'';position:absolute;right:50%;top:50%;width:calc(var(--tail,0)*110px);height:8px;transform:translateY(-50%) rotate(-18deg);transform-origin:right center;background:linear-gradient(90deg,transparent,#ebcc6655,#ffe4b9);border-radius:100%;filter:blur(3px);opacity:var(--tail,0)}
.entry-comet span{position:absolute;inset:0;border-radius:inherit;background:#ffe4b9;opacity:var(--tail,0);box-shadow:0 0 12px #ffe4b966}
/* Translucent liquid surface: directional highlights and optical depth over scene imagery. */
.site-header .brand,.site-header .navigation-island{position:relative;isolation:isolate;background:linear-gradient(135deg,#ffffff12,#ffffff03 48%,#ffffff0b),rgba(12,12,12,.28);border:1px solid #ffffff26;backdrop-filter:blur(22px) saturate(1.35);-webkit-backdrop-filter:blur(22px) saturate(1.35);box-shadow:inset 0 1px 1px #ffffff40,inset 0 -1px 1px #ffffff0d,0 8px 24px #00000040}
.site-header .brand::before,.site-header .navigation-island::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:inherit;background:radial-gradient(ellipse at 18% 0%,#ffffff1a,transparent 60%);box-shadow:inset 2px 0 3px #ffffff0e,inset -2px 0 3px #ffffff0e}
@supports not (backdrop-filter:blur(22px)){.site-header .brand,.site-header .navigation-island{background:#171717}}
@media(prefers-reduced-motion:reduce){.hero-center,.collection-scene .solar-stage{filter:none;opacity:1;transition:none}.entry-comet,.collection-scene::after{display:none}}
/* Revised navigation: bare brand and links; material is reserved for actions. */
.site-header .brand,.site-header .navigation-island{background:none;border:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;border-radius:0;padding:0;min-height:3.5rem;isolation:auto}
.site-header .brand::before,.site-header .navigation-island::before{display:none}
.site-header .brand{align-self:center}
.site-header .navigation-island{gap:var(--space-3)}
.site-header .header-actions{gap:var(--space-2)}
.header-contact-cta{display:inline-flex;align-items:center;justify-content:center;min-height:3rem;padding:.75rem 1.5rem;border-radius:var(--radius-pill);background:var(--color-brand);color:var(--ink);font-size:var(--font-body);line-height:1.25;white-space:nowrap;transition:background var(--motion-standard) var(--ease-state),box-shadow var(--motion-standard) var(--ease-state)}
.header-contact-cta:hover{background:var(--color-hover);box-shadow:0 0 20px #ebcc661f}.header-contact-cta:active{background:var(--color-active)}
@media(max-width:850px){
 .site-header .header-contact-cta{display:none}
 .site-header .menu-button{min-height:3rem;min-width:3rem;padding:.75rem 1.125rem;border:1px solid #ffffff26;border-radius:var(--radius-pill);background:linear-gradient(160deg,#ffffff0c,#ffffff03),rgba(23,23,23,.55);box-shadow:inset 0 1px 0 #ffffff14,0 8px 24px #00000024;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);font-weight:400}
 .site-header .menu-button:hover{background:rgba(36,36,36,.7)}
}
.site-header nav>a.mobile-contact{display:none}
@media(max-width:850px){.site-header nav>a.mobile-contact{display:flex}}
/* Warm-white entry, reserved halo, then a larger downward comet. */
.primary-entry{color:#F5F0E6;background:rgba(23,23,23,.35);border:1px solid rgba(235,204,102,.5);box-shadow:0 0 16px rgba(235,204,102,.14),inset 0 0 10px rgba(235,204,102,.04)}
.primary-entry:hover{color:#F5F0E6;background:rgba(36,36,36,.5);box-shadow:0 0 24px rgba(235,204,102,.22),inset 0 0 12px rgba(235,204,102,.06)}
.primary-entry:active{background:rgba(36,36,36,.6)}
.primary-entry.is-launching{animation:entry-shiver 220ms ease-in-out both}
@keyframes entry-shiver{0%,100%{transform:translateX(0) rotate(0)}25%{transform:translateX(-2px) rotate(-.7deg)}55%{transform:translateX(2px) rotate(.7deg)}80%{transform:translateX(-1px) rotate(-.3deg)}}
.entry-comet{background:#EBCC66;box-shadow:none}
.entry-comet::before{left:50%;right:auto;top:auto;bottom:40%;width:calc(var(--tail,0)*46px);height:calc(var(--tail,0)*190px);transform:translateX(-50%);background:linear-gradient(to bottom,transparent 0%,rgba(235,204,102,.12) 25%,rgba(235,204,102,.55) 78%,#F5E4B5 100%);clip-path:polygon(50% 0,100% 100%,0 100%);border-radius:0;filter:none}
.entry-comet span{background:#F5E4B5;box-shadow:none}
@media(prefers-reduced-motion:reduce){.primary-entry.is-launching{animation:none}}
/* Warm-white comet follows a curved trajectory; its tail follows the tangent. */
.entry-comet{background:#F5F0E6;transform:translate(-50%,-50%) rotate(var(--comet-angle,0deg))}
.entry-comet::before{background:linear-gradient(to bottom,transparent 0%,rgba(245,240,230,.12) 25%,rgba(245,240,230,.55) 78%,#F5F0E6 100%)}
.entry-comet span{background:#F5F0E6}
.primary-entry{border-color:rgba(245,240,230,.4);box-shadow:0 0 16px rgba(245,240,230,.12),inset 0 0 10px rgba(245,240,230,.04)}
.primary-entry:hover{box-shadow:0 0 24px rgba(245,240,230,.2),inset 0 0 12px rgba(245,240,230,.06)}
/* Reuse the scene's WebGL dust, coma, bloom and nucleus instead of a CSS triangle. */
.entry-comet::before,.entry-comet span{display:none}
.entry-comet-render{position:fixed;inset:0;z-index:90;pointer-events:none;opacity:0}
.entry-comet-render .ghost-cursor{position:absolute;inset:0;pointer-events:none}
.entry-comet-render canvas{display:block;width:100%;height:100%}
@media(prefers-reduced-motion:reduce){.entry-comet-render{display:none}}
/* Avoid rasterizing and blurring the full animated WebGL surface every frame. */
.collection-scene .solar-stage{filter:none;transition:opacity 80ms linear}
.hero-center{filter:blur(calc(var(--hero-progress,0)*6px));will-change:auto}
.collection-scene::after{bottom:auto;height:22vh;background:linear-gradient(#050505,rgba(5,5,5,.55),transparent);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);mask-image:linear-gradient(#000,transparent);-webkit-mask-image:linear-gradient(#000,transparent)}
/* Edge-free navigation scrim, softly fading into both dark and light scenes. */
body::before{content:'';position:fixed;inset:0 0 auto;height:11rem;z-index:99;pointer-events:none;background:linear-gradient(to bottom,rgba(5,5,5,.82),rgba(5,5,5,.58) 38%,rgba(5,5,5,.16) 76%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);mask-image:linear-gradient(#000 0%,#000 40%,transparent 100%);-webkit-mask-image:linear-gradient(#000 0%,#000 40%,transparent 100%)}
/* Equal vertical padding centers the complete headline/description/entry group. */
.hero{padding-top:7rem;padding-bottom:7rem}
@media(max-width:850px){.hero{padding-top:6rem;padding-bottom:6rem}}
@media(max-height:600px){.hero{padding-top:6rem;padding-bottom:6rem}}
/* Animate only the small gradient surface; labels remain outside the blur layer. */
.header-contact-cta{position:relative;isolation:isolate;background:transparent;color:#363436;box-shadow:none;border:1px solid rgba(245,240,230,.24)}
.header-contact-cta::before{content:'';position:absolute;inset:-1px;z-index:-1;border-radius:inherit;background:linear-gradient(115deg,#F5F0E6 0%,#EBCC66 45%,#F5F0E6 75%,#EBCC66 100%);background-size:220% 100%;filter:blur(1px);animation:contact-gradient-flow 9s ease-in-out infinite alternate}
.header-contact-cta::after{content:'';position:absolute;inset:-3px;z-index:-2;border-radius:inherit;background:linear-gradient(115deg,#F5F0E6,#EBCC66);opacity:.22;filter:blur(9px);pointer-events:none}
.header-contact-cta:hover,.header-contact-cta:active{background:transparent;box-shadow:none}
.header-contact-cta:hover::after{opacity:.35}
@keyframes contact-gradient-flow{from{background-position:0% 50%}to{background-position:100% 50%}}
@media(prefers-reduced-motion:reduce){.header-contact-cta::before{animation:none}}

/* Continuous fade: avoid rectangular backdrop sampling boundaries. */
body::before{inset:-2rem -2rem auto;height:13rem;backdrop-filter:none;-webkit-backdrop-filter:none;mask-image:none;-webkit-mask-image:none;filter:blur(16px);background:linear-gradient(to bottom,rgba(5,5,5,.86) 0%,rgba(5,5,5,.62) 36%,rgba(5,5,5,.22) 62%,rgba(5,5,5,0) 92%)}
.collection-scene{background:#050505}
.collection-scene::before{background:#050505}
.collection-scene::after{backdrop-filter:none;-webkit-backdrop-filter:none;mask-image:none;-webkit-mask-image:none;background:linear-gradient(to bottom,#050505,rgba(5,5,5,.4) 40%,transparent)}

/* Warm-white contact surface with a subtle moving luminance highlight. */
.header-contact-cta{background:#F5F0E6;border-color:rgba(245,240,230,.55)}
.header-contact-cta::before{inset:0;background:linear-gradient(110deg,rgba(255,255,255,0) 30%,rgba(255,255,255,.68) 48%,rgba(255,255,255,0) 66%),#F5F0E6;background-size:250% 100%;filter:blur(.6px);animation:contact-gradient-flow 7s ease-in-out infinite alternate}
.header-contact-cta::after{inset:-2px;background:#F5F0E6;opacity:.12;filter:blur(7px)}
.header-contact-cta:hover,.header-contact-cta:active{background:#F5F0E6}
.header-contact-cta:hover::after{opacity:.2}

/* The entry outline contracts into a liquid nucleus before shader handoff. */
.entry-comet{display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid rgba(245,240,230,.4);background:rgba(245,240,230,var(--liquid-fill,0));box-shadow:0 0 18px rgba(245,240,230,.16),inset 0 0 12px rgba(245,240,230,.1);color:#F5F0E6}
.entry-comet .liquid-entry-label{display:flex;position:static;align-items:center;justify-content:center;gap:.65rem;white-space:nowrap;background:none;box-shadow:none;opacity:var(--liquid-label,1);font-size:var(--font-body);border-radius:0}
.entry-comet .liquid-entry-label span{display:inline;position:static;background:none;box-shadow:none;opacity:1}

.page-comet{position:fixed;inset:0;z-index:89;pointer-events:none;opacity:0}.page-comet .ghost-cursor{position:absolute;inset:0;pointer-events:none}.page-comet canvas{display:block;width:100%;height:100%}

/* Persistent organic glow: small composited surface, shared with Safari. */
.page-glow{inset:0 auto auto 0;width:180px;height:180px;mix-blend-mode:difference;will-change:transform;transition:none}
.page-glow i{display:block;position:absolute;inset:8px;background:radial-gradient(ellipse at 48% 46%,rgba(245,240,230,.78),rgba(245,240,230,.42) 28%,rgba(245,240,230,.15) 52%,transparent 72%);border-radius:46% 54% 58% 42% / 53% 43% 57% 47%;filter:blur(10px);animation:page-glow-breathe 6s ease-in-out infinite alternate}
@keyframes page-glow-breathe{from{transform:rotate(-12deg) scale(.94,1.03)}to{transform:rotate(15deg) scale(1.05,.96)}}

/* Desktop slogan occupies one line; narrow screens retain two lines. */
@media(min-width:851px){.hero-center h1{white-space:nowrap}.hero-center h1 br{display:none}}

/* Single-line mobile slogan, bounded fluid size within the viewport. */
@media(max-width:850px){.hero-center h1{font-size:clamp(1.25rem,6.25vw,2.44140625rem);white-space:nowrap}.hero-center h1 br{display:none}}

/* Hero hierarchy: centered content and a single dominant action. */
.hero{box-sizing:border-box;height:100svh;min-height:100svh;padding-block:6rem}
.hero-center{margin:0 auto;gap:0;transform:none}
.hero-center h1{width:max-content;max-width:100%;margin:0;text-align:center}
.hero-center>p{margin:var(--space-3) 0 0;text-align:center}
.primary-entry{margin:var(--space-4) 0 0;background:#F5F0E6;color:#242424;border:1px solid rgba(245,240,230,.8);box-shadow:0 0 16px rgba(245,240,230,.1)}
.primary-entry:hover,.primary-entry:active{background:#fffaf0;color:#242424;box-shadow:0 0 20px rgba(245,240,230,.16)}
.header-contact-cta,.header-contact-cta:hover,.header-contact-cta:active{background:rgba(245,240,230,.06);color:#d4d0c8;border:1px solid rgba(245,240,230,.22);box-shadow:none}
.header-contact-cta::before,.header-contact-cta::after{display:none}
.entry-comet{background:#F5F0E6;color:#242424}

/* Suppress redundant chapter labels, including legacy/runtime markup. */
.product-chapter .product-index,.product-chapter .stage-caption,.product-chapter .cuespec-heading,.product-chapter .ring-viewer-help,.product-chapter .ring-help,.solar-hint{display:none!important}

/* Bare carousel arrows retain a comfortable hit area. */
body .pickmd-carousel-controls button{border:0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;border-radius:0}
body .pickmd-carousel-controls button:hover,body .pickmd-carousel-controls button:active{background:transparent;box-shadow:none;color:#F5F0E6}

.cuespec-view-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.cuespec-view-photo[hidden],#cuespec-model[hidden]{display:none!important}
.cuespec-view-selector{position:absolute;z-index:8;bottom:1rem;left:50%;transform:translateX(-50%);display:flex;gap:.35rem;max-width:92%;overflow-x:auto;padding:.35rem;background:rgba(5,5,5,.45);border-radius:16px}
.cuespec-view-selector button{flex:0 0 44px;width:44px;height:44px;padding:0;border:1px solid transparent;background:transparent;color:#F5F0E6;border-radius:4px;cursor:pointer}.cuespec-view-selector button[aria-pressed=true]{border-color:#EBCC66}.cuespec-view-selector img{width:100%;height:100%;object-fit:cover;border-radius:3px}.showing-photo .cuespec-terminal{display:none}

/* Shared product layout: identity and copy left, presentation right. */
@media(min-width:851px){.product-chapter{display:grid;grid-template-columns:40% 60%}.product-chapter>.product-story{grid-column:1;grid-row:1;order:0}.product-chapter>.product-stage{grid-column:2;grid-row:1;order:1}}
.product-chapter>.product-story{display:flex;flex-direction:column;align-items:flex-start}.product-story>p{max-width:32rem}.product-story>a{margin-top:auto;width:100%}
.product-badge{position:relative}.product-pending-overlay{position:absolute;inset:0;z-index:20;background:rgba(5,5,5,.65);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:grid;place-items:center;color:#F5F0E6;font-size:var(--font-body);pointer-events:none}
@media(max-width:850px){.product-chapter{display:flex;flex-direction:column}.product-chapter>.product-story{order:0}.product-chapter>.product-stage{order:1}}

/* Product identity, description and website form one contiguous group. */
body .product-chapter>.product-story{justify-content:center}
body .product-chapter .product-story h2{margin:0 0 var(--space-4)}
body .product-chapter .product-story>p{margin:0;max-width:32rem}
body .product-chapter .product-story>a{position:static;align-self:flex-start;display:inline-flex;align-items:center;justify-content:center;gap:.75rem;width:auto;min-height:3rem;margin:var(--space-3) 0 0;padding:.75rem 1.5rem;border:1px solid rgba(245,240,230,.3);border-radius:var(--radius-pill);background:rgba(245,240,230,.08);color:#F5F0E6;text-transform:none;text-decoration:none}
body .product-chapter .product-story>a:hover{background:rgba(245,240,230,.15);color:#F5F0E6}
body .product-chapter .product-story>a span{margin:0}

body .product-chapter .product-story>a{min-width:0;width:fit-content;max-width:100%;flex:0 0 auto}

/* Keep model/poster compositing inside its presentation column in all engines. */
body .product-cuespec .cuespec-stage{overflow:hidden}
body .product-cuespec .cuespec-stage model-viewer{position:relative;left:0;top:0;width:100%;height:100%}
body .product-chapter .product-story>p{max-width:min(100%,32rem)}
body .product-cuespec .product-story{pointer-events:auto}

/* Shared primary product action. */
body .product-chapter .product-story>a{background:#F5F0E6;color:#242424;border:1px solid rgba(245,240,230,.8);box-shadow:0 0 16px rgba(245,240,230,.1)}
body .product-chapter .product-story>a:hover{background:#fffaf0;color:#242424;box-shadow:0 0 20px rgba(245,240,230,.16)}
.pickmd-heading{display:flex;align-items:center;gap:1.125rem}.pickmd-heading img{width:1.15em;height:1.15em;object-fit:cover;border-radius:22%;flex-shrink:0}
.product-pending-overlay{background:rgba(5,5,5,.42);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.team-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
/* Principles: stable copy alongside imagined products. */
body .principle{display:grid;grid-template-columns:40% 60%;align-items:center;gap:0;min-height:100svh;padding:6rem 4vw;background:#050505;overflow:hidden}
.principle-copy{position:relative;z-index:3;padding-right:2rem;display:flex;flex-direction:column;align-items:flex-start;gap:1.6875rem}
body .principle .principle-copy .kicker{margin:0;color:#B8B8B8;font-size:var(--font-body)}
body .principle .principle-copy h2{margin:0;font-size:var(--font-title);line-height:1.2;text-align:left;letter-spacing:0}
body .principle .principle-copy>p:last-child{margin:0;max-width:28rem;font-size:var(--font-body);line-height:1.7;color:#B8B8B8}
.concept-stage{height:min(70vh,760px);position:relative;isolation:isolate}
.concept-window{position:absolute;margin:0;width:43%;aspect-ratio:3/2;overflow:hidden;border:1px solid rgba(245,240,230,.16);border-radius:16px;background:#171717;box-shadow:0 16px 40px #0006;animation:concept-drift 10s ease-in-out infinite alternate;animation-play-state:paused;padding-top:18px}
.concept-window:before{content:'';position:absolute;left:12px;top:6px;width:5px;height:5px;border-radius:50%;background:#8c8b8c;box-shadow:9px 0 #686868,18px 0 #494949}
.concept-window img{width:100%;height:100%;object-fit:cover;display:block}
.concept-window-1{left:0;top:7%;transform:rotate(-4deg)}.concept-window-2{right:0;top:0;animation-delay:-3s}.concept-window-3{left:7%;bottom:10%;animation-delay:-6s}.concept-window-4{right:0;bottom:18%;animation-delay:-8s}
.principle.is-visible .concept-window{animation-play-state:running}.concept-note{position:absolute;bottom:0;left:0;color:#8c8b8c;font-size:var(--font-caption);margin:0}
@keyframes concept-drift{from{translate:0 -5px}to{translate:0 8px}}
/* A coherent dark closing chapter and quieter brand lockup. */
body .location{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:4rem;min-height:52vh;padding:6rem 4vw;background:#101010;color:#F0F0F0;border:0}
body .location-heading{align-self:center}body main .location-heading h2{font-size:var(--font-title);margin:1.125rem 0 0;line-height:1.2}.location .dark-kicker,.location .location-label{color:#B8B8B8}.location-details{padding:0;border:0;max-width:30rem;justify-self:end;width:100%}.location address{font-size:var(--font-body);line-height:1.8;color:#B8B8B8}.location-label{font-size:var(--font-body);margin:0 0 1.125rem}
body footer.site-footer{min-height:0;display:flex;flex-direction:column;gap:2.53125rem;padding:3.796875rem 4vw 1.6875rem;background:#050505}
.site-footer .footer-intro{margin:0;font-size:var(--font-intro);line-height:1.6}
body .site-footer .footer-brand-lockup{display:flex;align-items:center;justify-content:flex-start;width:100%;max-width:42rem;gap:1.125rem;border:0;padding:0;margin:0;min-height:0}
body .site-footer .footer-symbol{width:clamp(48px,6vw,80px);height:auto;margin:0}
body .site-footer .footer-wordmark{flex:1;min-width:0;margin:0;line-height:1}
body .site-footer .footer-wordmark img{width:100%;height:auto;display:block}
body .site-footer>div:last-child{display:flex;align-items:center;flex-wrap:wrap;gap:1.125rem 1.6875rem;margin:0;padding:1.125rem 0 0;border-top:1px solid #ffffff20;min-height:0}.site-footer>div:last-child>a:last-child{margin-left:auto}
@media(max-width:1000px){.team-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:850px){body .principle{grid-template-columns:1fr;min-height:0;padding:6rem 5vw 3rem;gap:2.53125rem}.principle-copy{padding:0}.concept-stage{height:480px}.concept-window{width:46%}body .location{grid-template-columns:1fr;min-height:0;padding:4rem 5vw;gap:2.53125rem}.location-details{justify-self:start}.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}body footer.site-footer{padding:3rem 5vw 1.6875rem}.site-footer>div:last-child>a:last-child{margin-left:0}body .principle .principle-copy h2{font-size:var(--type-subhead)}body main .location-heading h2{font-size:var(--type-subhead)}}
@media(max-width:480px){.concept-stage{height:420px}.concept-window{width:66%}.concept-window-1{left:0;top:0}.concept-window-2{right:0;top:23%}.concept-window-3{left:0;bottom:17%}.concept-window-4{right:0;bottom:4%}.concept-note{bottom:-1.5rem}}
@media(prefers-reduced-motion:reduce){.concept-window{animation:none;translate:none}}

body .product-chapter .product-story>a{font-weight:400;line-height:1.25}
@media(min-width:1001px){.timeline-section .timeline{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(280px,33.333%);overflow-x:auto;overscroll-behavior-inline:contain}}

/* Scroll-driven tile reveal; independent implementation of the reference behavior. */
body .principle.tile-reveal{display:block;height:400svh;min-height:0;padding:0;overflow:visible;background:#050505}
.tile-reveal-stage{position:sticky;top:0;height:100svh;width:100%;overflow:hidden;display:grid;place-items:center;isolation:isolate}
.tile-image-grid{position:absolute;left:50%;top:50%;width:min(720px,80vw);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;transform:translate(-50%,-50%);z-index:0;will-change:transform}
.reveal-tile{margin:0;aspect-ratio:1;border:0;border-radius:0;overflow:hidden;opacity:0;will-change:transform,opacity}.reveal-tile img{display:block;width:100%;height:100%;object-fit:cover}
.tile-reveal-copy{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;text-align:center;max-width:58rem;padding:2rem;pointer-events:none;text-shadow:0 2px 24px #000,0 0 40px #0009}
body .principle .tile-reveal-copy h2{margin:0;font-size:var(--font-display);line-height:1.15;letter-spacing:0;color:#F5F0E6}
.tile-eyebrow{margin:0 0 1.6875rem;font-size:var(--font-body);color:#F5F0E6}
.tile-reveal-description{position:absolute;top:100%;width:min(40rem,84vw);margin:1.6875rem 0 0;font-size:var(--font-body);line-height:1.7;color:#B8B8B8;opacity:0;transform:translateY(18px)}
.tile-concept-note{position:absolute;bottom:1.6875rem;left:0;width:100%;margin:0;text-align:center;color:#8c8b8c;font-size:var(--font-caption);z-index:3}
@media(max-width:850px){.tile-image-grid{width:86vw;gap:12px}body .principle .tile-reveal-copy h2{font-size:var(--type-subhead)}.tile-reveal-copy{padding:1rem}.tile-reveal-description{width:84vw}.tile-eyebrow{margin-bottom:1.125rem}}
@media(prefers-reduced-motion:reduce){body .principle.tile-reveal{height:auto;padding:6rem 5vw 4rem}.tile-reveal-stage{position:relative;height:auto;overflow:visible;display:flex;flex-direction:column;gap:2rem}.tile-image-grid{position:relative;left:auto;top:auto;order:1;transform:none!important;width:100%;will-change:auto}.reveal-tile{opacity:1;transform:none!important;will-change:auto}.tile-reveal-copy{order:0}.tile-reveal-description{position:static;opacity:1;transform:none!important}.tile-concept-note{position:static;order:2}}

.pickmd-carousel-title{display:flex;align-items:center;gap:0;margin:0;min-width:0}
body .pickmd-carousel-controls .pickmd-dot{display:grid;place-items:center;min-width:28px;min-height:36px;width:28px;height:36px;padding:0;border:0;background:transparent;box-shadow:none}
.pickmd-dot::before{content:'';width:5px;height:5px;border-radius:50%;background:#F5F0E6;opacity:.35;transition:opacity .2s,transform .2s}.pickmd-dot[aria-pressed=true]::before{opacity:1;transform:scale(1.35)}

.tile-image-grid{width:min(1260px,94vw);grid-template-columns:repeat(7,minmax(0,1fr));gap:18px}
@media(max-width:850px){.tile-image-grid{width:94vw;gap:8px}}

/* Unified closing composition inspired by the reference footer's hierarchy. */
body footer.site-footer.footer-flow{padding:5.6953125rem 4vw 1.6875rem;gap:3.796875rem;display:flex;background:#080808;min-height:0}
body .footer-flow>div{border:0;margin:0;padding:0;min-height:0}
.footer-opening{display:block}.footer-opening .footer-intro{font-size:var(--font-body);color:#B8B8B8;margin:0 0 1.125rem}
.footer-opening h2{font-size:var(--font-display);line-height:1.15;font-weight:500;letter-spacing:0;margin:0;color:#F5F0E6}
body .footer-flow .footer-products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.125rem}
body .footer-flow .footer-product-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;min-height:9.5rem;background:#171717;border:1px solid #ffffff14;border-radius:16px;padding:1.6875rem;text-decoration:none;color:#F5F0E6;transition:background .2s}
.footer-product-card:hover{background:#202020}.footer-product-card strong{font-size:var(--type-card);font-weight:500}.footer-product-card p{font-size:var(--font-body);line-height:1.5;color:#B8B8B8;margin:0;max-width:24ch}.footer-product-card>span{position:absolute;right:1.125rem;top:1.125rem;font-size:20px}.footer-product-card.is-pending{opacity:.55}
body .footer-flow .footer-navigation{display:grid;grid-template-columns:1fr 1fr 1fr 1.5fr;gap:2.53125rem;align-items:start}
.footer-link-group{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem}.footer-link-group h3{font-size:var(--font-caption);font-weight:400;color:#8C8B8C;margin:0 0 .75rem;line-height:1.5;letter-spacing:0}.footer-link-group a,.footer-link-group>span,.footer-link-group p,.footer-link-group address{font-size:var(--font-body);font-weight:400;line-height:1.6;color:#B8B8B8;margin:0;text-decoration:none;font-style:normal}.footer-link-group a{min-height:2rem}.footer-link-group a:hover{color:#F5F0E6}.footer-address address{margin-top:.5rem}
body .footer-flow .footer-brand-lockup{width:100%;max-width:none;gap:2vw;display:flex;align-items:center;padding:1rem 0 0}
body .footer-flow .footer-symbol{width:15%;height:auto;flex:0 0 15%}
body .footer-flow .footer-wordmark{flex:1;width:83%;margin:0;min-width:0}.footer-flow .footer-wordmark img{width:100%;height:auto}
body .footer-flow .footer-bottom{display:flex;flex-direction:row;gap:1.125rem 1.6875rem;align-items:center;flex-wrap:wrap;border-top:1px solid #ffffff20;padding-top:1.125rem;font-size:var(--font-caption)}.footer-bottom a{color:#B8B8B8;text-decoration:none}.footer-bottom>a:last-child{margin-left:auto}
@media(max-width:1000px){body .footer-flow .footer-products{grid-template-columns:repeat(2,minmax(0,1fr))}body .footer-flow .footer-navigation{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){body footer.site-footer.footer-flow{padding:4rem 5vw 1.6875rem;gap:2.53125rem}.footer-opening h2{font-size:var(--type-subhead)}body .footer-flow .footer-product-card{padding:1.125rem;min-height:9rem}.footer-product-card strong{font-size:var(--font-intro)}.footer-product-card p{font-size:var(--font-caption)}body .footer-flow .footer-navigation{gap:2.53125rem 1.125rem}body .footer-flow .footer-brand-lockup{gap:2vw}.footer-bottom>a:last-child{margin-left:0}}

body .footer-flow .footer-link-group a{margin:0;align-self:flex-start}
body .footer-flow .footer-wordmark{max-width:none}
.footer-product-card p{font-weight:400}

.reveal-tile{border-radius:16px}
.tile-reveal-stage::after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse 42% 35% at center,rgba(5,5,5,.74),rgba(5,5,5,.25) 75%,transparent)}
@media(max-width:850px){.reveal-tile{border-radius:8px}.tile-reveal-stage::after{background:radial-gradient(ellipse 60% 35% at center,rgba(5,5,5,.8),rgba(5,5,5,.3) 75%,transparent)}}
@media(prefers-reduced-motion:reduce){.tile-reveal-stage::after{display:none}}

/* Focused, full-bleed closing chapter inspired by XREAL's footer structure. */
body footer.site-footer.footer-xreal{position:relative;isolation:isolate;background:linear-gradient(rgba(5,5,5,.73),rgba(5,5,5,.89)),url('/assets/backdrops/cuespec-blue-optical-table.jpg') center/cover;min-height:42rem;padding:6rem max(5vw,calc((100vw - 1200px)/2)) 1.6875rem;gap:4rem}
.footer-xreal .footer-opening{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.125rem;margin:0}
.footer-xreal .footer-opening .footer-intro{margin:0;font-weight:400;color:#B8B8B8}
.footer-xreal .footer-opening h2{font-size:clamp(2.44140625rem,4.8vw,4.76837158203125rem);font-weight:500;line-height:1.15;text-wrap:balance}
body .footer-xreal .footer-navigation{grid-template-columns:1fr 1fr 1fr 1.5fr;gap:3rem;margin-top:1rem;width:100%}
.footer-xreal .footer-link-group h3{color:#F5F0E6;font-size:var(--font-body);font-weight:500;margin-bottom:.75rem}
.footer-xreal .footer-link-group a,.footer-xreal .footer-link-group>span,.footer-xreal .footer-link-group p,.footer-xreal .footer-link-group address{font-size:var(--font-caption);line-height:1.7;color:#B8B8B8}
body .footer-xreal .footer-bottom{margin-top:auto;width:100%;font-weight:400;gap:.75rem 1.125rem}
@media(max-width:850px){body footer.site-footer.footer-xreal{min-height:0;padding:5rem 5vw 1.6875rem;gap:3rem}body .footer-xreal .footer-navigation{grid-template-columns:repeat(2,minmax(0,1fr));gap:2.53125rem 1.125rem;margin-top:0}.footer-xreal .footer-opening h2{font-size:clamp(1.5625rem,6.25vw,2.44140625rem)}.footer-xreal .footer-opening .footer-intro{font-size:var(--font-caption)}body .footer-xreal .footer-bottom{margin-top:0}}

/* The gradient already provides soft cursor edges; remove the redundant blur pass. */
.page-glow i{filter:none}

/* The asteroid belt uses a neutral black field, with no tinted background nebula. */
.collection-scene,.collection-scene .solar-stage{background:#000}
.collection-scene .solar-stage::after{display:none;animation:none;filter:none}
.collection-scene .solar-stage::before{background:radial-gradient(ellipse at center,transparent 35%,rgba(0,0,0,.4))}
.collection-scene::before{background:#000}
.collection-scene::after{background:linear-gradient(to bottom,#000,rgba(0,0,0,.4) 40%,transparent)}

/* Navigation sets the minimum readable type size on the site. */
:root{--font-caption:1rem}

/* Defensive removal also covers an old cursor module retained by an open tab. */
.page-comet.page-glow{display:none!important}

/* timeline-orbit.css */
#timeline button{font:inherit}#timeline button:focus-visible{outline:2px solid var(--accent);outline-offset:7px}#timeline button{ -webkit-tap-highlight-color:transparent}#timeline{min-height:100svh;overflow:hidden;position:relative;padding:32px 0 24px}#timeline .top{margin:0 5.5%;display:flex;align-items:center;justify-content:space-between;font-size:13px}#timeline .brand{font-size:18px;font-weight:650;letter-spacing:-.5px}#timeline .brand span{color:var(--accent)}#timeline .experiment{color:var(--muted)}#timeline .intro{text-align:center;margin:70px 24px 0}#timeline .pill{display:inline-block;border:1px solid #4b4d47;border-radius:40px;padding:9px 24px;font-size:13px}#timeline .intro h1{font-size:clamp(30px,4vw,52px);font-weight:500;letter-spacing:-1.8px;margin:22px 0 12px}#timeline .intro p{font-size:14px;color:var(--muted);line-height:1.8;margin:0}#timeline .stage{height:320px;position:relative;margin-top:42px;touch-action:pan-y}#timeline .orbit{position:absolute;inset:0;width:100%;height:100%;overflow:visible}#timeline .orbit path{fill:none;stroke:#65675f;stroke-width:1}#timeline .orbit .halo{display:none}#timeline .orbit .ribbon{fill:url(#timeline-line-fade);stroke:none}#timeline .node{position:absolute;left:0;top:0;display:flex;align-items:center;justify-content:center;flex-direction:column;width:104px;height:104px;border:0;border-radius:50%;background:rgb(255 255 255 / 18%);color:rgb(255 255 255 / 76%);cursor:pointer;transition:background .35s,color .35s,border-color .35s;gap:8px;transform:translate(-50%,-50%)}#timeline .node .num{font-size:11px;letter-spacing:1px}#timeline .node .date{font-size:18px;font-weight:550;letter-spacing:-.3px}#timeline .node[aria-pressed=true]{background:var(--fg);color:#171913;border-color:var(--fg)}#timeline .node::after{opacity:0;transition:opacity .4s;content:"";position:absolute;width:7px;height:7px;background:var(--accent);border-radius:50%;bottom:14px}#timeline .node[aria-pressed=true]::after{opacity:1}#timeline .node:hover:not([aria-pressed=true]){background:rgb(255 255 255 / 28%);color:#fff}#timeline .detail{position:absolute;top:176px;width:min(520px,calc(100% - 44px));left:50%;transform:translateX(-50%);text-align:center}#timeline .detail-panel{position:absolute;inset:0 0 auto;opacity:0;transform:translate3d(0,10px,0);transition:opacity 320ms ease,transform 520ms cubic-bezier(.22,1,.36,1);pointer-events:none}#timeline .detail-panel.active{opacity:1;transform:translate3d(0,0,0)}#timeline .stage.is-moving .node{will-change:transform}#timeline .status{color:var(--accent);font-size:12px}#timeline .detail h2{font-size:clamp(22px,2.6vw,30px);font-weight:500;letter-spacing:-.7px;margin:12px 0}#timeline .detail p{font-size:15px;line-height:1.9;color:var(--muted);margin:0;text-wrap:pretty}#timeline .controls{display:flex;gap:28px;align-items:center;justify-content:center;margin:36px auto 0}#timeline .arrow{border:0;width:46px;height:46px;border-radius:0;background:transparent;color:var(--fg);cursor:pointer;font-size:21px;transition:background .2s}#timeline .arrow:hover:enabled{color:var(--accent)}#timeline .arrow:disabled{opacity:.25;cursor:default}#timeline .count{min-width:142px;text-align:center;font-size:14px;color:var(--fg);font-variant-numeric:tabular-nums}#timeline .count strong{color:var(--fg);font-weight:400}#timeline .footer{margin:58px 5.5% 0;display:flex;justify-content:space-between;gap:20px;color:#898c82;font-size:11px}#timeline .footer p{margin:0}#timeline .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-height:900px){#timeline .intro{margin-top:100px}#timeline .stage{margin-top:65px}#timeline .footer{margin-top:85px}}
@media(max-width:600px){#timeline{padding-top:24px}#timeline .top{margin:0 24px}#timeline .brand{font-size:16px}#timeline .experiment{font-size:11px}#timeline .intro{margin-top:58px}#timeline .intro h1{letter-spacing:-1px}#timeline .intro p{font-size:13px;max-width:280px;margin:auto}#timeline .stage{margin-top:32px;height:340px}#timeline .node{width:80px;height:80px;gap:5px}#timeline .node .date{font-size:15px}#timeline .node .num{font-size:9px}#timeline .node[aria-pressed=true]::after{bottom:9px;width:5px;height:5px}#timeline .detail{top:165px;max-width:310px}#timeline .detail p{font-size:14px}#timeline .controls{margin-top:12px}#timeline .footer{margin:42px 24px 0;line-height:1.6}#timeline .footer p:last-child{max-width:160px;text-align:right}}
@media(prefers-reduced-motion:reduce){}#timeline button{font-family:var(--font-ui)}#timeline{padding-block:2rem var(--space-3)}#timeline .top{margin-inline:4.5vw;font-size:var(--font-caption)}#timeline .brand{display:flex}#timeline .brand img{height:1.5rem;width:auto;max-width:8rem}#timeline .experiment{font-size:var(--font-caption);color:var(--color-muted)}#timeline .intro{margin:var(--space-5) var(--space-3) 0}#timeline .pill{font-size:var(--font-body);line-height:1.25;padding:var(--space-0) var(--space-2);border-color:var(--color-border);border-radius:var(--radius-pill)}#timeline .intro h1{font-size:var(--font-title);font-weight:500;line-height:1.2;letter-spacing:0;margin:var(--space-3) 0}#timeline .intro p{font-size:var(--font-body);line-height:1.625;color:var(--color-secondary)}#timeline .stage{margin-top:var(--space-4);height:22rem}#timeline .node{width:6.5rem;height:6.5rem;gap:var(--space-0);background:rgb(240 240 240 / 18%);color:var(--color-text);transition:background var(--motion-standard) var(--ease-state),color var(--motion-fast) var(--ease-state)}#timeline .node .num{font-size:var(--font-caption);font-weight:400;letter-spacing:0;line-height:1.5}#timeline .node .date{font-size:var(--font-intro);font-weight:500;letter-spacing:0}#timeline .node[aria-pressed=true]{background:var(--color-text);color:var(--color-background)}#timeline .node::after{width:6px;height:6px;transition:opacity var(--motion-standard) var(--ease-state)}#timeline .node:hover:not([aria-pressed=true]){background:rgb(240 240 240 / 28%);color:var(--color-text)}#timeline .detail{top:11rem;width:min(40rem,calc(100% - 2.5rem))}#timeline .detail h2{font-size:var(--type-subhead);line-height:1.3;font-weight:500;letter-spacing:0;margin:0 0 var(--space-2)}#timeline .detail p{font-size:var(--font-body);line-height:1.625;color:var(--color-secondary)}#timeline .status{display:block;font-size:var(--font-caption);line-height:1.5;margin-bottom:var(--space-1)}#timeline .detail-panel{transition:opacity var(--motion-standard) var(--ease-state),transform var(--motion-reveal) var(--ease-out)}#timeline .controls{gap:var(--space-3);margin-top:var(--space-3)}#timeline .arrow{width:3rem;height:3rem;font-size:var(--font-intro);color:var(--color-text);transition:color var(--motion-fast) var(--ease-state)}#timeline .arrow:disabled{opacity:1;color:#686868}#timeline .arrow:active:enabled{color:var(--color-active)}#timeline .count{min-width:9rem;font-size:var(--font-body);line-height:1.25}#timeline button:focus-visible{outline:2px solid var(--color-brand);outline-offset:4px}#timeline .footer{margin:var(--space-5) 4.5vw 0;font-size:var(--font-caption);line-height:1.5;color:var(--color-muted);gap:var(--space-2)}
@media(max-width:850px){#timeline{padding-top:1.25rem}#timeline .top{margin-inline:5vw}#timeline .intro{margin-top:var(--space-5)}#timeline .intro h1{font-size:var(--type-subhead)}#timeline .intro p{font-size:var(--font-body)}#timeline .stage{height:24rem}#timeline .node{width:5.5rem;height:5.5rem}#timeline .node .date{font-size:var(--font-body)}#timeline .node .num{font-size:var(--font-caption)}#timeline .detail{max-width:32rem;top:11rem}#timeline .detail h2{font-size:var(--type-card)}#timeline .detail p{font-size:var(--font-body)}#timeline .controls{margin-top:var(--space-2);gap:var(--space-2)}#timeline .footer{margin:var(--space-4) 5vw 0}#timeline .footer p:last-child{max-width:12rem}}
@media(prefers-reduced-motion:reduce){}

/* Mobile composition: one focal milestone, quieter peripheral milestones. */
@media(max-width:600px){#timeline{padding-block:1.25rem var(--space-3)}#timeline .intro{margin:var(--space-4) 1.25rem 0}#timeline .pill{padding:0;border:0;color:var(--color-secondary);font-size:var(--font-caption)}#timeline .intro h1{margin:var(--space-2) 0 0}#timeline .intro>p{display:none}#timeline .stage{margin-top:var(--space-3);height:23rem}#timeline .node{width:5.5rem;height:5.5rem}#timeline .node .num{display:none}#timeline .node .date{font-size:var(--font-body)}#timeline .detail{top:10.5rem;width:calc(100% - 3.375rem);max-width:24rem}#timeline .detail h2{font-size:var(--type-card);line-height:1.4;margin-bottom:var(--space-2)}#timeline .detail p{font-size:var(--font-body);line-height:1.75;text-wrap:pretty}#timeline .controls{margin-top:var(--space-0);gap:var(--space-2)}#timeline .footer{margin-top:var(--space-4)}#timeline .footer p:last-child{display:none}
}

#timeline{--bg:var(--color-background);--fg:var(--color-text);--muted:var(--color-secondary);--accent:var(--color-brand);position:relative;overflow:hidden;padding:clamp(6rem,10vh,9rem) 0 var(--space-5);min-height:100svh;background:var(--bg);color:var(--fg);font-family:var(--font-ui)}
#timeline .intro{margin-top:0}#timeline .intro h1{margin-top:var(--space-3)}#timeline .detail h2{color:var(--color-text)}#timeline .detail p{text-transform:none;letter-spacing:0}#timeline .node{padding:0}#timeline .arrow{padding:0;box-shadow:none}#timeline .pill{border:0;padding:0}#timeline .stage{width:100%}
@media(max-width:600px){#timeline{padding-top:6rem;min-height:48rem}#timeline .intro h1{margin-top:var(--space-2)}#timeline .stage{height:23rem}}

@media(prefers-reduced-motion:reduce){#timeline *,#timeline *::before,#timeline *::after{transition:none!important;animation:none!important}}

#timeline .node::after{display:none}#timeline .node .num{display:none}

/* Center the entire timeline composition within the usable viewport. */
body main #timeline{display:flex;flex-direction:column;justify-content:center;height:100svh;min-height:100svh;padding:6rem 0 2rem;gap:0}
#timeline .intro{margin:0 var(--space-3);flex-shrink:0}
#timeline .intro h1{margin:var(--space-2) 0 0}
#timeline .stage{height:20rem;margin-top:var(--space-4);flex-shrink:0}
#timeline .controls{margin:var(--space-2) 0 0;flex-shrink:0}
/* A luminous core and diffuse, uneven corona replace the flat disks. */
#timeline .node,#timeline .node:hover:not([aria-pressed=true]){isolation:isolate;background:transparent;color:var(--color-secondary);border:0;box-shadow:none;overflow:visible}
#timeline .node::before{content:'';position:absolute;inset:-14%;z-index:-1;border-radius:48% 52% 46% 54% / 54% 47% 53% 46%;background:radial-gradient(ellipse at 48% 47%,rgba(245,240,230,.28) 0%,rgba(245,240,230,.2) 36%,rgba(245,240,230,.07) 53%,transparent 72%);transition:opacity var(--motion-standard) var(--ease-state),transform var(--motion-reveal) var(--ease-out);opacity:.7}
#timeline .node[aria-pressed=true]{background:transparent;color:#24221D}
#timeline .node[aria-pressed=true]::before{inset:-24%;opacity:1;background:radial-gradient(ellipse at 48% 47%,#FFFDF5 0%,#F5F0E6 32%,rgba(245,240,230,.94) 39%,rgba(245,240,230,.4) 48%,rgba(235,204,102,.14) 58%,rgba(245,240,230,.03) 68%,transparent 76%);animation:timeline-solar-breathe 6s ease-in-out infinite}
#timeline .node .date{position:relative;z-index:1;text-shadow:none;font-weight:500}
#timeline .node:hover:not([aria-pressed=true])::before{opacity:1;transform:scale(1.08)}
@keyframes timeline-solar-breathe{0%,100%{transform:scale(1) rotate(-6deg)}50%{transform:scale(1.045) rotate(6deg)}}
@media(max-width:600px){body main #timeline{padding:5rem 0 1.25rem}#timeline .intro{margin:0 1.25rem}#timeline .intro h1{margin-top:var(--space-2)}#timeline .stage{height:20rem;margin-top:var(--space-3)}#timeline .controls{margin-top:var(--space-0)}#timeline .node[aria-pressed=true]::before{inset:-20%}}
@media(max-height:650px) and (min-width:601px){body main #timeline{height:auto;min-height:100svh;padding-top:5rem}}
@media(prefers-reduced-motion:reduce){#timeline .node::before{animation:none}}

#timeline .node::before{background:radial-gradient(ellipse closest-side at 48% 47%,rgba(245,240,230,.28),rgba(245,240,230,.15) 45%,rgba(245,240,230,.03) 65%,transparent 90%)}
#timeline .node[aria-pressed=true]::before{inset:-32%;background:radial-gradient(ellipse closest-side at 48% 47%,#FFFDF5 0%,#F5F0E6 42%,rgba(245,240,230,.8) 49%,rgba(245,240,230,.25) 62%,rgba(235,204,102,.08) 74%,transparent 96%);animation:none}
#timeline.timeline-visible .node[aria-pressed=true]::before{animation:timeline-solar-breathe 6s ease-in-out infinite}
@media(prefers-reduced-motion:reduce){#timeline.timeline-visible .node[aria-pressed=true]::before{animation:none}}

/* chapter-scroll.css */
/* Every module settles on a chapter boundary; stop-always prevents skipped chapters. */
html.chapter-snap-touch{scroll-snap-type:y mandatory;scroll-padding-top:0}
html.chapter-snap-touch main>section,html.chapter-snap-touch body>footer{scroll-snap-align:start;scroll-snap-stop:always}
/* JS transitions own touch snapping while they animate. */

body .principle.tile-reveal{height:100svh;min-height:100svh;overflow:hidden}
body .tile-reveal-stage{position:relative;height:100svh;overflow:hidden}
body main #team,body footer.site-footer.footer-xreal{min-height:100svh}
@media(max-width:600px){body main #timeline{min-height:100svh;padding-top:6rem}body main #team{padding:6rem 5vw 2rem}body main #team .team-grid{gap:1.6875rem}body main #team .team-grid article{padding-block:1rem}body footer.site-footer.footer-xreal{padding-top:6rem;gap:2rem}body .footer-xreal .footer-navigation{gap:1.6875rem 1.125rem}}
@media(prefers-reduced-motion:reduce){body .principle.tile-reveal{height:100svh;padding:0}body .tile-reveal-stage{height:100svh;display:grid;place-items:center;overflow:hidden}body .tile-image-grid{position:absolute;left:50%;top:50%;width:86vw;transform:translate(-50%,-50%)!important;opacity:.15}body .tile-reveal-copy{position:relative;z-index:2}body .tile-reveal-description{position:static}}

@media(max-width:600px){body main #timeline{padding-bottom:1rem}#timeline .stage{height:20rem}body main #team .team-grid{margin-top:var(--space-3);gap:var(--space-2)}body main #team .team-grid article{min-height:7rem;gap:.5rem;padding:.75rem}body main #team .team-grid p{font-size:var(--font-caption);line-height:1.5}body footer.site-footer.footer-xreal{gap:var(--space-2);padding-bottom:1rem}body .footer-xreal .footer-navigation{gap:var(--space-2)}body .footer-xreal .footer-link-group{gap:.5rem}body .footer-xreal .footer-bottom{margin-top:auto;padding-top:.75rem}}

@media(max-width:600px){body footer.site-footer.footer-xreal{padding-top:5rem;gap:.75rem}}

/* Team and contact form one final chapter. */
body footer.site-footer.studio-end{min-height:100svh;padding:6rem max(5vw,calc((100vw - 1200px)/2)) 1.6875rem;gap:var(--space-3);display:flex;flex-direction:column}
.studio-end #contact{position:absolute;top:0;left:0;width:1px;height:1px;pointer-events:none}
body .studio-end .team-section{padding:0;min-height:0;background:transparent;width:100%;color:var(--color-text)}
body .studio-end .team-heading{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2)}
body .studio-end .team-heading h2{font-size:var(--type-subhead);line-height:1.3;margin:0}
body .studio-end .team-heading .kicker{margin:0;color:var(--color-secondary);font-size:var(--font-caption);letter-spacing:0}
body .studio-end .team-grid{margin-top:var(--space-2);grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--color-border);gap:0}
body .studio-end .team-grid article{min-height:7.5rem;padding:var(--space-2);gap:.5rem;justify-content:center;border-color:var(--color-border)}
body .studio-end .team-grid article>span{display:none}
body .studio-end .team-grid h3{font-size:var(--type-card);line-height:1.3;margin:0}
body .studio-end .team-grid p{font-size:var(--font-caption);line-height:1.5;margin:0}
body .studio-end .footer-opening{gap:.75rem;padding-top:var(--space-2);border-top:1px solid var(--color-border)}
body .studio-end .footer-opening h2{font-size:var(--type-heading-md);margin:0}
body .studio-end .footer-navigation{margin-top:0}
body .studio-end .footer-bottom{margin-top:auto}
@media(max-width:850px){body footer.site-footer.studio-end{padding:5rem 5vw 1rem;gap:var(--space-2)}body .studio-end .team-heading{align-items:center}body .studio-end .team-heading h2{font-size:var(--font-intro)}body .studio-end .team-grid{display:flex;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;margin-top:.75rem}body .studio-end .team-grid article{flex:0 0 9rem;min-height:6rem;padding:.75rem;scroll-snap-align:start}body .studio-end .team-grid h3{font-size:var(--font-intro)}body .studio-end .footer-opening{padding-top:.75rem}body .studio-end .footer-opening .footer-intro{display:none}body .studio-end .footer-opening h2{font-size:var(--type-card)}body .studio-end .footer-navigation{gap:1rem}body .studio-end .footer-link-group{gap:.375rem}body .studio-end .footer-link-group h3{margin-bottom:.375rem}body .studio-end .footer-bottom{gap:.5rem 1rem}}
@media(max-height:650px){body footer.site-footer.studio-end{height:100svh;min-height:0;overflow-y:auto;overscroll-behavior-y:contain}}

@media(max-width:850px){body footer#team.studio-end{gap:.5rem}body footer#team.studio-end .team-grid article{min-height:4.5rem}body footer#team.studio-end .footer-bottom{display:grid;grid-template-columns:repeat(3,auto);justify-content:space-between;gap:.25rem .75rem;padding-top:.75rem;margin-top:auto}body footer#team.studio-end .footer-bottom>span{grid-column:1/-1}body footer#team.studio-end .footer-bottom>a{margin:0;min-height:2rem}body footer#team.studio-end .footer-navigation{gap:.75rem}body footer#team.studio-end .team-heading .kicker{font-weight:400}}

@media(max-width:850px){body footer#team.studio-end{padding-top:4.5rem}body footer#team.studio-end .footer-link-group{gap:.25rem}body footer#team.studio-end .footer-link-group a{min-height:1.75rem}}

/* Keep the legal row at the bottom of the final viewport. */
body footer#team.site-footer.studio-end{justify-content:flex-start}
body footer#team.site-footer.studio-end .footer-bottom{margin-top:auto}

/* The complete footer block sits at the bottom and spans the site gutters. */
body footer#team.site-footer.studio-end{padding-inline:5vw}
body footer#team.site-footer.studio-end .footer-opening{margin-top:auto}
body footer#team.site-footer.studio-end .footer-bottom{margin-top:0}
@media(min-width:851px){body footer#team.studio-end .footer-navigation{grid-template-columns:repeat(4,max-content);justify-content:space-between;gap:var(--space-3)}body footer#team.studio-end .footer-address{align-items:flex-end;text-align:right}}

/* Only active during a chapter change; header and pointer stay crisp. */
.chapter-soft-transition{position:fixed;top:var(--chapter-header,5rem);right:0;bottom:0;left:0;z-index:80;pointer-events:none;opacity:0;background:linear-gradient(to bottom,rgba(5,5,5,0),rgba(5,5,5,.12) 20%,rgba(5,5,5,.2) 50%,rgba(5,5,5,.12) 80%,rgba(5,5,5,0));-webkit-backdrop-filter:none;backdrop-filter:none}
@media(prefers-reduced-motion:reduce){.chapter-soft-transition{display:none}}

body footer#team.studio-end .footer-opening.footer-logo-lockup{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:var(--space-3);border-top:0;padding:0;margin-top:auto;min-height:8rem}
.footer-logo-lockup .footer-logo-symbol{width:clamp(3rem,5vw,5.5rem);height:auto;flex-shrink:0}
.footer-logo-lockup .footer-logo-wordmark{width:clamp(11rem,24vw,23rem);height:auto;max-width:65%;object-fit:contain}
@media(max-width:850px){body footer#team.studio-end .footer-opening.footer-logo-lockup{min-height:6rem;gap:var(--space-2)}.footer-logo-lockup .footer-logo-symbol{width:3rem}.footer-logo-lockup .footer-logo-wordmark{width:11rem}}

/* Light footer surface below the unchanged dark team region. */
body footer#team.site-footer.studio-end{padding-bottom:0}
body footer#team.studio-end>.footer-panel{display:flex;flex-direction:column;flex-shrink:0;gap:var(--space-3);margin-top:auto;margin-inline:-5vw;width:calc(100% + 10vw);padding:var(--space-3) 5vw;background:#F0F0F0;color:#363436;min-height:0}
body footer#team.studio-end .footer-panel .footer-opening{margin-top:0}
body footer#team.studio-end .footer-panel .footer-bottom{margin-top:0;border-top-color:#36343626;color:#363436;justify-content:space-between}
body footer#team.studio-end .footer-panel .footer-link-group h3{color:#171717}
body footer#team.studio-end .footer-panel :is(a,address,p,.footer-link-group>span){color:#555354}
body footer#team.studio-end .footer-panel a:hover{color:#171717}
@media(max-width:850px){body footer#team.studio-end>.footer-panel{gap:var(--space-2);padding-block:var(--space-2)}}

body footer#team.studio-end>.footer-panel{align-items:stretch;padding-block:var(--space-2)}
body footer#team.studio-end .footer-panel .footer-opening.footer-logo-lockup{width:100%;min-height:6rem}

body footer#team.studio-end>.footer-panel{padding-bottom:calc(var(--space-2) - 4px)}

body footer#team.studio-end{background:linear-gradient(rgba(5,5,5,.64),rgba(5,5,5,.82)),url('/assets/backdrops/cuespec-smoked-glass.jpg') center top/cover}
body footer#team.studio-end>.footer-panel{position:relative;margin-top:auto;padding-top:2rem}
body footer#team.studio-end>.footer-panel::before{content:'';position:absolute;left:0;right:0;top:-4rem;height:4rem;background:linear-gradient(transparent,#F0F0F0);pointer-events:none}
body footer#team.studio-end>.team-section{margin-bottom:4rem}
body footer#team.studio-end .footer-panel :is(.footer-link-group h3,.footer-link-group a,.footer-link-group>span,.footer-link-group p,.footer-link-group address,.footer-bottom){font-size:var(--font-body);line-height:1.5}
@media(max-height:1000px){body footer#team.site-footer.studio-end{height:100svh;min-height:0;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-width:none}body footer#team.site-footer.studio-end::-webkit-scrollbar{display:none}}

/* team-hanging.css */
.team-hanging button:focus-visible{outline:2px solid #ebcc66;outline-offset:5px}.team-hanging .rail{display:flex;gap:1.5rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#777162 #24221d;padding:1rem 1rem 3rem;margin:0;list-style:none;overscroll-behavior-x:contain}.team-hanging .rail li{flex:0 0 calc((100% - 4.5rem)/4);min-width:0;position:relative;padding-top:5rem;scroll-snap-align:center}.team-hanging .rail li:before{content:"";position:absolute;top:.6rem;height:1px;background:#817b6d;left:-1rem;right:-1rem}.team-hanging .rail li:after{content:"";position:absolute;width:5px;height:5px;border-radius:50%;background:#b9b2a2;top:.45rem;left:50%}.team-hanging .hanger{position:relative;transform-origin:50% -4.4rem;transform:rotate(-3deg);animation:team-card-sway 8s ease-in-out infinite}.team-hanging .hanger:before{content:"";position:absolute;left:50%;top:-4.4rem;width:1px;height:4.4rem;background:#9d9685}.team-hanging .rail li:nth-child(2n){padding-top:7rem}.team-hanging .rail li:nth-child(2n) .hanger{transform-origin:50% -6.4rem;animation-delay:-3s}.team-hanging .rail li:nth-child(2n) .hanger:before{top:-6.4rem;height:6.4rem}.team-hanging .rail li:nth-child(3n) .hanger{animation-delay:-5s}.team-hanging .card{display:block;position:relative;width:100%;height:22rem;border:0;padding:0;background:transparent;text-align:left;font:inherit;color:#24221d;cursor:pointer;perspective:900px;touch-action:pan-x pan-y}.team-hanging .clip{position:absolute;z-index:2;left:calc(50% - .38rem);top:-.5rem;width:.76rem;height:.85rem;border:2px solid #aaa391;border-radius:.5rem .5rem .15rem .15rem}.team-hanging .inner{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .65s cubic-bezier(.22,.7,.25,1)}.team-hanging .card[aria-pressed=true] .inner{transform:rotateY(180deg)}.team-hanging .face{position:absolute;inset:0;border-radius:.85rem;padding:1rem;background:#d9d6cc;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden;display:flex;flex-direction:column}.team-hanging .rail li:nth-child(even) .face{background:#ebcc66}.team-hanging .meta{font-size:.5625rem;letter-spacing:.08em;display:flex;justify-content:space-between;color:#514e45}.team-hanging .avatar{flex:1;min-height:0;margin:.9rem 0;background:#ebcc66;border-radius:.5rem;display:grid;place-items:center;font-size:4.5rem;font-weight:350;color:#39362c}.team-hanging .rail li:nth-child(even) .avatar{background:#545148;color:#ebcc66}.team-hanging .name{font-size:1.25rem;font-weight:550}.team-hanging .role{font-size:.75rem;margin-top:.25rem;color:#514e45}.team-hanging .action{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #24221d26;margin-top:1rem;padding-top:.75rem;font-size:.625rem}.team-hanging .arrow{width:1.35rem;height:1.35rem;border-radius:50%;background:#24221d;color:#f5f0e6;display:grid;place-items:center;font-size:.875rem}.team-hanging .back{transform:rotateY(180deg);background:#ebcc66}.team-hanging .back .name{margin-top:2rem}.team-hanging .back p{line-height:1.85;font-size:.875rem;margin-top:1.5rem}.team-hanging .back .action{margin-top:auto}.team-hanging .hint{font-size:.625rem;color:#514e45;margin-top:.8rem}@keyframes team-card-sway{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}.team-hanging .rail:hover .hanger,.team-hanging .rail:focus-within .hanger,.team-hanging.resting .hanger{animation-play-state:paused}@media(max-width:60rem){.team-hanging .rail li{flex-basis:calc((100% - 3rem)/3)}}@media(max-width:42rem){.team-hanging .rail{gap:1.5rem;padding-inline:1.2rem}.team-hanging .rail li{flex-basis:78%}.team-hanging .card{height:24rem}.team-hanging .avatar{font-size:5rem}}@media(prefers-reduced-motion:reduce){.team-hanging .hanger{animation:none}.team-hanging .inner{transition:none}}.team-hanging .avatar,.team-hanging .rail li:nth-child(even) .avatar{flex:none;width:100%;aspect-ratio:1;background-image:url("/assets/team/team-approved.jpg");background-size:300% 200%;background-position:var(--x) var(--y);background-repeat:no-repeat}.team-hanging .card{height:auto;aspect-ratio:280/390}.team-hanging .face{padding:.9rem}.team-hanging .avatar{margin:.65rem 0}.team-hanging .action{margin-top:auto}.team-hanging .back p{margin-top:1rem}@media(max-width:42rem){.team-hanging .card{aspect-ratio:280/400}}.team-hanging .rail{scrollbar-width:none;padding:1rem .8rem 1.5rem;gap:1.6rem}.team-hanging .rail::-webkit-scrollbar{display:none}.team-hanging .rail li{flex-basis:calc((100% - 4.8rem)/4);padding-top:3.6rem}.team-hanging .rail li:nth-child(2n){padding-top:4.6rem}.team-hanging .rail li:before{height:1rem;top:0;background:none;border-top:1px solid #9d968580;border-radius:50%;transform:rotate(1deg)}.team-hanging .rail li:after{top:.25rem;width:3px;height:3px}.team-hanging .hanger{transform-origin:50% -3.3rem}.team-hanging .hanger:before{top:-3.3rem;height:3.3rem;width:.65rem;background:none;border-left:1px solid #b8af9980;border-radius:70% 0 0 50%;transform:rotate(4deg)}.team-hanging .rail li:nth-child(2n) .hanger{transform-origin:50% -4.3rem}.team-hanging .rail li:nth-child(2n) .hanger:before{height:4.3rem;top:-4.3rem}.team-hanging .clip{border-color:#e6dcc080;width:.55rem;left:calc(50% - .275rem);height:.65rem;top:-.35rem}.team-hanging .card{aspect-ratio: .72;height:auto;color:#f5f0e6}.team-hanging .face,.team-hanging .rail li:nth-child(even) .face{background:radial-gradient(ellipse at 0% 0%,#fff6de38,transparent 48%),radial-gradient(ellipse at 105% 105%,#ebcc66b8,transparent 72%),linear-gradient(145deg,#55534d,#292a27 58%,#6c6140);border:1px solid #fff5d32b;border-radius:.8rem;padding:.85rem}.team-hanging .rail li:nth-child(even) .face{background:radial-gradient(ellipse at 90% 0%,#fff6de55,transparent 58%),radial-gradient(ellipse at 0% 95%,#ebcc66a6,transparent 74%),linear-gradient(150deg,#79705a,#30312c 65%)}.team-hanging .face:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg,transparent 10%,#fff9e70d 35%,#fff9e726 37%,transparent 56%);opacity:.7}.team-hanging .meta,.team-hanging .role,.team-hanging .hint{color:#ece4d0}.team-hanging .action{border-color:#fff4d42e;color:#f5efdf;min-height:2.3rem;padding-top:.5rem}.team-hanging .arrow{background:#f1dda0;color:#292a27}.team-hanging .avatar,.team-hanging .rail li:nth-child(even) .avatar{position:relative;overflow:hidden;background:radial-gradient(ellipse at 45% 30%,#fff8df33,transparent 67%);aspect-ratio:1;margin:.5rem 0;flex:none}.team-hanging .head{position:absolute;z-index:1;top:10%;left:33%;width:34%;height:45%;border-radius:46% 46% 43% 43%;background:linear-gradient(120deg,#f6e8c3,#d1bb80 55%,#857348);box-shadow:inset -5px -3px 12px #4b443733}.team-hanging .shoulders{position:absolute;left:15%;bottom:-12%;width:70%;height:61%;border-radius:49% 49% 0 0;background:linear-gradient(120deg,#cfc9b7,#767568 65%,#47483f)}.team-hanging .rail li:nth-child(even) .head{background:linear-gradient(120deg,#e8e4d8,#adab9e 60%,#77776c)}.team-hanging .rail li:nth-child(even) .shoulders{background:linear-gradient(120deg,#f1d986,#c7a64b 60%,#71602f)}.team-hanging .name{font-size:1.15rem}.team-hanging .role{font-size:.72rem}.team-hanging .back .name{margin-top:1.5rem}.team-hanging .back p{color:#f5efdf;font-size:.83rem;line-height:1.7}@media(max-width:60rem){.team-hanging .rail li{flex-basis:calc((100% - 3.2rem)/3)}}@media(max-width:42rem){.team-hanging .rail{padding-inline:.6rem;gap:1.3rem}.team-hanging .rail li{flex-basis:78%;padding-top:3rem}.team-hanging .rail li:nth-child(2n){padding-top:3.8rem}.team-hanging .hanger:before{height:2.7rem;top:-2.7rem}.team-hanging .rail li:nth-child(2n) .hanger:before{height:3.5rem;top:-3.5rem}.team-hanging .card{aspect-ratio:.72}.team-hanging .face{padding:1rem}.team-hanging .name{font-size:1.2rem}.team-hanging .role{font-size:.8rem}.team-hanging .back p{font-size:.9rem}.team-hanging .avatar,.team-hanging .rail li:nth-child(even) .avatar{margin:.7rem 0}.team-hanging .rail{padding-bottom:1.25rem}}.team-hanging .rail{position:relative}.team-hanging .rail li:before{display:none}.team-hanging .rail:before{content:"";position:absolute;left:0;top:-.9rem;width:100%;height:2rem;border-bottom:1px solid #9d968580;border-radius:0 0 50% 50%;pointer-events:none}.team-hanging .rail li:after{top:.6rem}.team-hanging .avatar,.team-hanging .rail li:nth-child(even) .avatar{background-image:url("/assets/team/team-approved.jpg");background-size:300% 200%;background-position:var(--x) var(--y);background-repeat:no-repeat}.team-hanging .face,.team-hanging .rail li:nth-child(even) .face{border:0;box-shadow:none;outline:0}.team-hanging .front{transform:translateZ(.5px)}.team-hanging .back{transform:rotateY(180deg) translateZ(.5px)}.team-hanging .face{backface-visibility:hidden;-webkit-backface-visibility:hidden}.team-hanging .front .avatar{flex:0 1 auto;min-height:0;aspect-ratio:1;width:100%;margin:.5rem 0 .75rem}.team-hanging .front .name,.team-hanging .front .role{flex-shrink:0}.team-hanging .front .role{margin-bottom:.3rem}.team-hanging .rail{padding-bottom:2rem}.team-hanging .face:after{border-radius:inherit}@media(max-width:42rem){.team-hanging .face{padding:.85rem}.team-hanging .front .avatar{margin:.5rem 0 .75rem}}.team-hanging .rail{position:relative;padding-top:1rem;column-gap:1.6rem;--rail-gap:1.6rem}.team-hanging .rail:before{display:none}.team-hanging .rail li{padding-top:3.6rem}.team-hanging .rail li:nth-child(2n){padding-top:4.6rem}.team-hanging .rail li:before{display:block;position:absolute;left:calc(var(--rail-gap) / -2);right:calc(var(--rail-gap) / -2);top:-.25rem;height:.5rem;border:0;border-bottom:1px solid #9d968580;border-radius:0 0 50% 50%;transform:none;background:none}.team-hanging .rail li:after{top:calc(.25rem - 2px);left:calc(50% - 2px);width:4px;height:4px;background:#b9b2a2}.team-hanging .hanger{--rope:3.35rem;transform-origin:50% calc(-1 * var(--rope))}.team-hanging .rail li:nth-child(2n) .hanger{--rope:4.35rem;transform-origin:50% calc(-1 * var(--rope))}.team-hanging .hanger:before,.team-hanging .rail li:nth-child(2n) .hanger:before{left:calc(50% - 1px);top:calc(-1 * var(--rope));height:var(--rope);width:1px;border:0;border-radius:0;background:linear-gradient(#b8af99a6,#b8af9970);transform:none}.team-hanging .clip{left:calc(50% - .275rem);top:-.35rem}.team-hanging .rail li:nth-child(3n) .hanger{transform-origin:50% calc(-1 * var(--rope))}@media(max-width:42rem){.team-hanging .rail{gap:1.3rem;--rail-gap:1.3rem}.team-hanging .rail li{padding-top:3rem}.team-hanging .rail li:nth-child(2n){padding-top:3.8rem}.team-hanging .hanger{--rope:2.75rem}.team-hanging .rail li:nth-child(2n) .hanger{--rope:3.55rem}}.team-hanging .meta{justify-content:flex-end;text-align:right;width:100%;letter-spacing:.04em}.team-hanging .company-wordmark{display:block;width:4.6rem;height:1.2rem;object-fit:contain;object-position:right center}.team-hanging .meta{min-height:1.2rem;flex-shrink:0}.team-hanging .back{display:flex;align-items:center;justify-content:center}.team-hanging .back-logo{display:block;width:48%;height:auto;max-height:55%;object-fit:contain}.team-hanging .front .role{font-size:.72rem} 
.team-hanging{font-family:var(--font-ui);font-synthesis:none;min-width:0;width:100%}
.team-hanging .card{font-family:var(--font-ui)}
.team-hanging .rail{max-width:58rem;margin-inline:auto}
.team-hanging .rail li{flex-basis:clamp(8rem,17svh,13rem)}
.team-hanging .name{font-size:var(--font-intro)}
.team-hanging .role{font-size:var(--font-caption)}
.team-hanging.resting .hanger{animation-play-state:paused}
@media(max-width:850px){.team-hanging .rail{padding-inline:.6rem}.team-hanging .rail li{flex-basis:clamp(8rem,24vw,11rem)}}
/* Keep the combined final chapter readable on shorter screens. */
@media(max-width:850px),(max-height:750px){body footer#team.site-footer.studio-end{height:100svh;min-height:0;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-width:none}body footer#team.site-footer.studio-end::-webkit-scrollbar{display:none}}

.team-hanging .rail li{--team-card-width:clamp(10rem,20svh,14rem);flex-basis:var(--team-card-width)}
.team-hanging .front .avatar{width:min(100%,calc(var(--team-card-width)/.72 - 7.5rem));align-self:center;flex:none;aspect-ratio:1}
@media(max-width:850px){.team-hanging .rail li{--team-card-width:min(62vw,11rem);flex-basis:var(--team-card-width)}}

body footer#team.studio-end>.team-section,body footer#team.studio-end>.footer-opening,body footer#team.studio-end>.footer-navigation,body footer#team.studio-end>.footer-bottom{flex-shrink:0}
/* Explicit face visibility prevents WebKit from leaking the reverse face through the swinging layer. */
.team-hanging .front{visibility:visible;transition:visibility 0s .325s}
.team-hanging .back{visibility:hidden;transition:visibility 0s .325s}
.team-hanging .card[aria-pressed=true] .front{visibility:hidden}
.team-hanging .card[aria-pressed=true] .back{visibility:visible}
@media(prefers-reduced-motion:reduce){.team-hanging .front,.team-hanging .back{transition:none}}

.team-hanging .rail li .front .avatar,.team-hanging .rail li:nth-child(even) .front .avatar{width:min(100%,calc(var(--team-card-width)/.72 - 7.5rem));align-self:center;flex:none;aspect-ratio:1;margin:.5rem 0 .75rem}

@media(min-width:851px){.team-hanging .rail{width:100%;max-width:min(58rem,85svh);padding-inline:1.5rem;scroll-padding-inline:1.5rem}.team-hanging .rail li{--team-card-width:calc((100% - 4.8rem)/4);flex-basis:var(--team-card-width);scroll-snap-align:start;transition:opacity 160ms ease}.team-hanging .rail li[data-edge-hidden]{opacity:0;pointer-events:none}.team-hanging .rail li[data-edge-hidden] .hanger{animation-play-state:paused}.team-hanging .rail li .front .avatar,.team-hanging .rail li:nth-child(even) .front .avatar{width:100%;max-height:calc(100% - 5.5rem);flex:0 1 auto}}

/* Six complete hanging cards span the desktop scene. */
@media(min-width:851px){.team-hanging .rail{max-width:none;display:flex;justify-content:space-between;overflow:visible;padding-inline:1rem;scroll-snap-type:none}.team-hanging .rail li{--team-card-width:clamp(8.5rem,11vw,13rem);flex:0 0 var(--team-card-width);opacity:1!important;pointer-events:auto!important}.team-hanging .rail li[data-edge-hidden] .hanger{animation-play-state:running}.team-hanging .rail:hover .hanger,.team-hanging .rail:focus-within .hanger,.team-hanging.resting .hanger{animation-play-state:paused}.team-hanging .rail li:first-child::before{left:calc(-5vw - 1rem)}.team-hanging .rail li:last-child::before{right:calc(-5vw - 1rem)}}
.team-hanging .role,.team-hanging .front .role{font-size:var(--font-body);line-height:1.4}
.team-hanging .rail li .front .avatar,.team-hanging .rail li:nth-child(even) .front .avatar{width:min(100%,calc(var(--team-card-width)/.72 - 8rem));flex:none;aspect-ratio:1}

.team-hanging .rail li .front .avatar,.team-hanging .rail li:nth-child(even) .front .avatar{width:min(100%,calc(var(--team-card-width)/.72 - 9rem))}

/* studio-layout.css */
/* Local iteration: team precedes timeline; the footer has its own generous layout. */
.studio-journey{padding:0;background:#050505;overflow:hidden}
body main .studio-journey #team.team-hanging{padding:6rem 5vw 4rem;min-height:0;background:linear-gradient(rgba(5,5,5,.62),rgba(5,5,5,.86)),url('/assets/backdrops/cuespec-smoked-glass.jpg') center/cover}
.studio-journey #timeline{height:auto;min-height:90svh}
body footer.site-footer.standalone-footer{display:block;position:relative;min-height:70svh;padding:0;background:#F0F0F0;color:#363436;overflow:visible}
body footer.standalone-footer .footer-panel{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-5);min-height:70svh;padding:var(--space-6) 5vw var(--space-3);background:#F0F0F0;color:#363436;margin:0;width:100%}
body footer.standalone-footer .footer-panel::before{content:'';position:absolute;left:0;right:0;top:-3rem;height:3rem;background:linear-gradient(transparent,#F0F0F0);pointer-events:none}
body footer.standalone-footer .footer-opening.footer-logo-lockup{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:var(--space-3);border:0;margin:0;padding:0;min-height:8rem}
body footer.standalone-footer .footer-navigation{display:grid;grid-template-columns:repeat(4,max-content);justify-content:space-between;gap:var(--space-4);margin:0;width:100%}
body footer.standalone-footer .footer-address{align-items:flex-end;text-align:right}
body footer.standalone-footer .footer-link-group{gap:var(--space-1)}
body footer.standalone-footer .footer-link-group h3{color:#171717;font-size:var(--font-body);margin-bottom:var(--space-1)}
body footer.standalone-footer :is(.footer-link-group a,.footer-link-group>span,.footer-link-group p,.footer-link-group address,.footer-bottom){font-size:var(--font-body);line-height:1.5;color:#555354}
body footer.standalone-footer .footer-bottom{margin-top:auto;border-color:#36343626;gap:var(--space-2);padding-top:var(--space-3)}
body footer.standalone-footer .footer-bottom a{color:#555354}
@media(max-width:850px){body main .studio-journey #team.team-hanging{padding:5rem 5vw 3rem}body footer.standalone-footer .footer-panel{min-height:80svh;padding:var(--space-5) 5vw var(--space-3);gap:var(--space-4)}body footer.standalone-footer .footer-navigation{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4) var(--space-2)}body footer.standalone-footer .footer-address{align-items:flex-start;text-align:left}body footer.standalone-footer .footer-opening.footer-logo-lockup{min-height:6rem}body footer.standalone-footer .footer-bottom{display:flex;flex-wrap:wrap}.studio-journey #timeline{min-height:100svh}}

/* Increase the readable small-type floor, keeping terminal UI independent. */
@media(min-width:1001px){:root{--font-body:1.25rem;--font-caption:1.25rem;--font-intro:1.5625rem}body .site-header nav a{font-size:var(--font-body)}}
body footer.standalone-footer .footer-link-group h3{font-size:var(--type-card);font-weight:500}
body footer.standalone-footer .footer-logo-wordmark{width:clamp(16rem,32vw,32rem)}
body footer.standalone-footer .footer-logo-symbol{width:clamp(3rem,6vw,6rem)}
body footer.standalone-footer .footer-bottom{border:0;padding-top:var(--space-3)}
@media(min-width:1001px){body footer.standalone-footer .footer-navigation{grid-template-columns:1fr 1fr 1fr minmax(20rem,1.5fr);gap:var(--space-4)}body footer.standalone-footer .footer-address address{max-width:30rem}}
@media(max-width:850px){body footer.standalone-footer .footer-link-group h3{font-size:var(--font-intro)}body footer.standalone-footer .footer-logo-wordmark{width:12rem}}

.product-flow-transition{display:none;position:fixed;inset:var(--chapter-header,5rem) 0 0;z-index:79;pointer-events:none;overflow:hidden}
.product-flow-transition i{position:absolute;inset:0;display:block;opacity:0;will-change:opacity;mask-image:linear-gradient(transparent,#000 15%,#000 85%,transparent);-webkit-mask-image:linear-gradient(transparent,#000 15%,#000 85%,transparent)}
@media(prefers-reduced-motion:reduce){.product-flow-transition{display:none!important}}

@media(min-width:851px){.team-hanging .rail li{--team-card-width:calc((90vw - 10rem)/6)}}
.team-hanging .rail li .front .avatar,.team-hanging .rail li:nth-child(even) .front .avatar{width:min(100%,max(2rem,calc(var(--team-card-width)/.72 - 10rem)))}
@media(min-width:1001px) and (max-width:1200px){.team-hanging .rail li{--team-card-width:calc((90vw - 6rem)/6)}.team-hanging .rail{gap:.75rem}}

/* A single continuous surface for team and timeline removes the section seam. */
body main .studio-journey{background:linear-gradient(rgba(5,5,5,.68),rgba(5,5,5,.86)),url('/assets/backdrops/cuespec-smoked-glass.jpg') center/cover no-repeat}
body main .studio-journey #team.team-hanging,body main .studio-journey #timeline{background:transparent;border:0}

/* A broad, static light-and-shadow surface keeps the footer calm and inexpensive. */
body footer.site-footer.standalone-footer{background:radial-gradient(ellipse 75% 65% at 4% 100%,rgba(171,156,119,.12),transparent 75%),radial-gradient(ellipse 70% 45% at 95% 55%,rgba(100,103,104,.09),transparent 75%),linear-gradient(118deg,transparent 24%,rgba(255,255,255,.24) 43%,rgba(120,119,114,.045) 49%,rgba(255,255,255,.16) 58%,transparent 76%),#E5E1D9}
body footer.standalone-footer .footer-panel{background:transparent;position:relative;isolation:isolate}
body footer.standalone-footer .footer-panel::before{top:calc(-1 * clamp(8rem,18svh,14rem));height:clamp(8rem,18svh,14rem);background:linear-gradient(to bottom,rgba(229,225,217,0),rgba(229,225,217,.15) 25%,rgba(229,225,217,.52) 58%,rgba(229,225,217,.86) 82%,#E5E1D9);pointer-events:none}
@media(max-width:850px){body footer.standalone-footer .footer-panel::before{top:-7rem;height:7rem}}

body footer.standalone-footer .footer-navigation{margin-top:var(--space-5)}
@media(max-width:850px){body footer.standalone-footer .footer-navigation{margin-top:var(--space-3)}}

/* grid-system.css */
/* Shared layout grid: 12 desktop columns / 8 tablet / 4 mobile.
   Full-bleed media stays outside the grid; readable content shares its gutters.
   Desktop product copy spans 5 columns, presentation 7; team cards span 2;
   each footer group spans 3. Centered heroes retain the common center axis. */
:root{--page-gutter:5vw;--grid-columns:12;--grid-gap:var(--space-3);--grid-content-width:calc(100vw - 2*var(--page-gutter));--grid-column-width:calc((var(--grid-content-width) - (var(--grid-columns) - 1)*var(--grid-gap))/var(--grid-columns))}
@media(min-width:851px) and (max-width:1000px){:root{--grid-columns:8;--grid-gap:var(--space-2)}}
@media(max-width:850px){:root{--page-gutter:1.25rem;--grid-columns:4;--grid-gap:var(--space-2)}}
body .site-header{padding-inline:var(--page-gutter)}
body main .product-chapter{padding-inline:var(--page-gutter);column-gap:var(--grid-gap)}
body main .product-chapter>.product-story{padding-inline:0;min-width:0}
body main .product-chapter>.product-story>p{max-width:100%}
body main .product-chapter>.product-stage{border:0;min-width:0;width:100%;max-width:100%}
@media(min-width:1001px){body main .product-chapter{grid-template-columns:repeat(12,minmax(0,1fr))}body main .product-chapter>.product-story{grid-column:1/span 5}body main .product-chapter>.product-stage{grid-column:6/span 7}}
@media(min-width:851px) and (max-width:1000px){body main .product-chapter{grid-template-columns:repeat(8,minmax(0,1fr))}body main .product-chapter>.product-story{grid-column:1/span 4}body main .product-chapter>.product-stage{grid-column:5/span 4}}
body main .studio-journey #team.team-hanging{padding-inline:var(--page-gutter)}
@media(min-width:1001px){.team-hanging .rail{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--grid-gap);padding-inline:0;--rail-gap:var(--grid-gap)}.team-hanging .rail li{grid-column:span 2;--team-card-width:calc((var(--grid-content-width) - 5*var(--grid-gap))/6);min-width:0}.team-hanging .rail li:first-child::before{left:calc(-1*var(--page-gutter))}.team-hanging .rail li:last-child::before{right:calc(-1*var(--page-gutter))}}
body footer.standalone-footer .footer-panel{padding-inline:var(--page-gutter)}
body footer.standalone-footer .footer-navigation{display:grid;grid-template-columns:repeat(var(--grid-columns),minmax(0,1fr));gap:var(--grid-gap)}
body footer.standalone-footer .footer-navigation>.footer-link-group{grid-column:span 3;min-width:0}
body footer.standalone-footer .footer-address address{max-width:100%;overflow-wrap:break-word}
@media(min-width:851px) and (max-width:1000px){body footer.standalone-footer .footer-navigation>.footer-link-group{grid-column:span 4}}
@media(max-width:850px){body footer.standalone-footer .footer-navigation>.footer-link-group{grid-column:span 2}body main .product-chapter{row-gap:var(--space-3)}}
/* Optional local inspection overlay: ?grid=1. No layout or pointer interception. */
.layout-grid-guide{position:fixed;inset:0 var(--page-gutter);z-index:9999;pointer-events:none;display:grid;grid-template-columns:repeat(var(--grid-columns),minmax(0,1fr));gap:var(--grid-gap)}
.layout-grid-guide i{background:rgba(235,204,102,.08);border-inline:1px solid rgba(235,204,102,.22)}

/* mobile-refinement.css */
.mobile-meteor-rail,.cuespec-mobile-image{display:none}
@media(max-width:850px){
 body #products .solar-stage{background:#000;display:flex;align-items:center}
 body #products .solar-stage::before{display:none}
 body #products :is(.solar-canvas,.solar-fallback,.solar-labels,.solar-actions,.solar-selector){display:none!important}
 .mobile-meteor-rail{display:flex;width:100%;gap:1.125rem;padding:2rem calc((100vw - min(72vw,24rem))/2);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;touch-action:pan-x pan-y;overscroll-behavior-x:contain}
 .mobile-meteor-rail::-webkit-scrollbar{display:none}
 .mobile-meteor{flex:0 0 min(72vw,24rem);display:flex;flex-direction:column;align-items:center;gap:1.6875rem;scroll-snap-align:center;text-decoration:none;color:#f5f0e6;opacity:.4;transition:opacity .3s;min-width:0}
 .mobile-meteor[aria-current=true]{opacity:1}
 .mobile-meteor img{display:block;width:100%;height:auto;aspect-ratio:900/765;object-fit:contain}
 .mobile-meteor span{font-family:inherit;font-size:1.5625rem;line-height:1.25}
 .mobile-meteor:focus-visible{outline:2px solid #ebcc66;outline-offset:4px;border-radius:1rem}
 body main #cuespec.product-cuespec{background:#050505;background-image:none}
 body main #cuespec::before,body main #cuespec::after{display:none}
 body main #cuespec .cuespec-stage{background:transparent;box-shadow:none;border:0;min-height:0;height:auto}
 body main #cuespec .cuespec-stage::before,body main #cuespec .cuespec-stage::after{display:none}
 body #cuespec :is(model-viewer,.cuespec-help,.cuespec-nojs,.cuespec-terminals){display:none!important}
 body #cuespec .cuespec-mobile-image{display:block;width:100%;height:auto;object-fit:contain;background:transparent}
 body footer.standalone-footer .footer-panel{min-height:0;gap:2.25rem;padding:4rem var(--page-gutter) max(1.6875rem,env(safe-area-inset-bottom));}
 body footer.standalone-footer .footer-opening.footer-logo-lockup{justify-content:flex-start;min-height:0;gap:1.125rem}
 body footer.standalone-footer .footer-logo-symbol{width:2.75rem}
 body footer.standalone-footer .footer-logo-wordmark{width:11rem;max-width:calc(100% - 4rem)}
 body footer.standalone-footer .footer-navigation{margin:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.25rem 1.125rem}
 body footer.standalone-footer .footer-navigation>.footer-link-group{grid-column:span 1;align-items:flex-start;text-align:left;gap:.75rem}
 body footer.standalone-footer .footer-navigation>.footer-address{grid-column:1/-1}
 body footer.standalone-footer .footer-link-group h3{font-size:1.125rem;line-height:1.4;font-weight:600;margin:0 0 .375rem;color:#24211d}
 body footer.standalone-footer :is(.footer-link-group a,.footer-link-group>span,.footer-link-group p,.footer-link-group address){font-size:1rem;line-height:1.6;color:#625e57;overflow-wrap:anywhere;margin:0}
 body footer.standalone-footer .footer-link-group a{min-height:1.75rem}
 body footer.standalone-footer .footer-bottom{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;margin:0;padding:0;gap:.75rem 1.125rem;font-size:1rem;line-height:1.6}
 body footer.standalone-footer .footer-bottom>span{flex-basis:100%;color:#625e57}
 body footer.standalone-footer .footer-bottom>a{font-size:1rem;color:#625e57;margin:0;min-height:1.75rem}
}
@media(prefers-reduced-motion:reduce){.mobile-meteor{transition:none}}
@media(max-width:850px){
 .mobile-meteor[data-mobile-product=ring]{--meteor-glow:#b394ff55}
 .mobile-meteor[data-mobile-product=cuespec]{--meteor-glow:#f5f0e644}
 .mobile-meteor[data-mobile-product=reader]{--meteor-glow:#ffbd5955}
 .mobile-meteor[data-mobile-product=badge]{--meteor-glow:#82d89a55}
 .mobile-meteor[aria-current=true] img{filter:drop-shadow(0 0 1.125rem var(--meteor-glow))}
}

@media(max-width:850px){
 .mobile-meteor-rail{box-sizing:border-box;gap:1rem;padding:1.5rem max(1.25rem,calc((100vw - min(66vw,20rem))/2));scroll-padding-inline:max(1.25rem,calc((100vw - min(66vw,20rem))/2))}
 .mobile-meteor{flex-basis:min(66vw,20rem);gap:1.25rem;opacity:.65}
 .mobile-meteor img{width:100%;height:clamp(9rem,32svh,18rem);aspect-ratio:auto;object-fit:contain}
 .mobile-meteor[aria-current=true] img{filter:none}
 .mobile-meteor span{font-size:1.375rem;font-weight:550}
 .mobile-product-pending{height:clamp(9rem,32svh,18rem);display:grid;place-items:center;color:#bcb8af;font-size:1rem!important;font-weight:400!important}
 .mobile-product-hint{position:absolute;bottom:max(2rem,env(safe-area-inset-bottom));inset-inline:1rem;text-align:center;color:#a8a49b;font-size:.875rem;pointer-events:none}
}
@media(min-width:851px){.mobile-product-hint{display:none}}

/* closing-v14.css */
/* V1.4 closing chapters. Intentionally scoped away from hero and products. */
.studio-journey,#principles,footer.standalone-footer{--closing-light:#f5f0e6;--closing-secondary:#bcb7ae;--closing-edge:rgba(245,240,230,.18)}
body main .studio-journey{background:radial-gradient(ellipse 80% 38% at 35% 15%,#24231f 0%,#111210 48%,#050505 100%)}
body main .studio-journey #team.team-hanging{padding-top:clamp(6rem,12vh,10rem);padding-bottom:4rem}
#team .face,#team .rail li:nth-child(even) .face{background:linear-gradient(145deg,#353630 0%,#20221f 45%,#131512 100%);border:1px solid var(--closing-edge);border-radius:10px;box-shadow:inset 0 1px 0 #fff8e817,0 16px 30px #0003}
#team .face::after{background:linear-gradient(125deg,#fff8e810,transparent 45%);opacity:1}
#team .rail li .front .avatar{filter:saturate(.45) contrast(1.04);border-radius:5px}
#team .name{color:var(--closing-light);font-weight:500}
#team .role,#team .meta{color:var(--closing-secondary)}
#team .company-wordmark{opacity:.75}
#team .back-logo{opacity:.9}
#team .hanger{animation-duration:12s}
#team .clip{border-color:#a29c8d}
#team .hanger::before,#team .rail li:nth-child(even) .hanger::before{background:linear-gradient(#aaa59666,#aaa59633)}
#timeline{--color-text:var(--closing-light);--color-secondary:var(--closing-secondary)}
#timeline .pill{color:var(--closing-secondary)}
#timeline .intro h1{color:var(--closing-light);text-wrap:balance}
#timeline .node::before{inset:-10%;border-radius:50%;background:radial-gradient(circle at 32% 25%,#45473e,#242720 55%,#141711);border:1px solid #f5f0e624;box-shadow:inset 1px 1px 8px #fff4ce0c}
#timeline .node[aria-pressed=true]::before{inset:-8%;border-radius:50%;background:radial-gradient(circle at 32% 24%,#fffaf0,#ded6c2 60%,#9c947f);border:1px solid #f5f0e64d;box-shadow:0 0 36px #ebcc661a,inset 1px 1px 10px #fff9e833;animation:none}
#timeline.timeline-visible .node[aria-pressed=true]::before{animation:none}
#timeline .node[aria-pressed=true]{color:#24251f}
#timeline .status{color:#ebcc66}
#timeline .arrow{border:1px solid var(--closing-edge);border-radius:50%;background:#f5f0e605}
#timeline .arrow:hover:enabled{background:#f5f0e610;color:var(--closing-light)}
#timeline .arrow:disabled{border-color:#f5f0e60a}
#timeline .count,#timeline .count strong{color:var(--closing-secondary)}
body .principle.tile-reveal{background:#050505}
#principles .reveal-tile{border-radius:6px;background:#171914;box-shadow:inset 0 0 0 1px #f5f0e617}
#principles .reveal-tile img{filter:saturate(.42) contrast(1.06) brightness(.8)}
#principles .tile-reveal-stage::after{background:radial-gradient(ellipse 48% 42% at center,#050505bf,#05050540 75%,transparent)}
body #principles .tile-reveal-copy h2{font-size:var(--font-title);line-height:1.25;color:var(--closing-light);font-weight:500}
#principles .tile-reveal-description{color:var(--closing-secondary);max-width:36rem;line-height:1.75}
body footer.site-footer.standalone-footer{background:radial-gradient(ellipse 65% 90% at 20% 0%,#f2ebdc55,transparent 75%),linear-gradient(118deg,transparent 25%,#eee8dc55 43%,#89877920 49%,#e8e1d533 62%,transparent 80%),#c9c5bb}
body footer.standalone-footer .footer-panel::before{background:linear-gradient(to bottom,#c9c5bb00,#c9c5bb20 25%,#c9c5bb80 58%,#c9c5bbd9 82%,#c9c5bb)}
body footer.standalone-footer .footer-link-group h3{color:#282923;font-size:var(--font-body);font-weight:500}
body footer.standalone-footer :is(.footer-link-group a,.footer-link-group>span,.footer-link-group p,.footer-link-group address,.footer-bottom,.footer-bottom a){color:#494a42}
body footer.standalone-footer .footer-link-group a:hover,body footer.standalone-footer .footer-bottom a:hover{color:#141610;text-decoration:underline;text-underline-offset:5px}
body footer.standalone-footer .footer-bottom{border-top:1px solid #36382f26}
footer.standalone-footer a:focus-visible{outline-color:#49402a}
@media(max-width:850px){body #principles .tile-reveal-copy h2{font-size:var(--type-subhead)}body main .studio-journey #team.team-hanging{padding-top:5rem;padding-bottom:3rem}#principles .reveal-tile{border-radius:4px}}
@media(prefers-reduced-motion:reduce){#team .hanger{animation:none}#principles .tile-reveal-stage::after{display:none}}

/* V1.4 feedback pass: semantic type, shared surfaces, canonical brand assets. */
.studio-journey,#principles,footer.standalone-footer{--closing-title:3rem;--closing-subtitle:1.75rem;--closing-body:1.25rem;--closing-small:1rem;--closing-space:1.5rem}
body main .studio-journey{background:radial-gradient(ellipse 85% 35% at 35% 28%,#1b1c18 0%,#0b0c0a 60%,#050505 100%)}
body .principle.tile-reveal{height:auto;min-height:100svh;overflow:hidden}
body #principles .tile-reveal-stage{height:auto;min-height:100svh;padding:9rem var(--page-gutter) 5rem;display:flex;flex-direction:column;justify-content:center;gap:4rem;background:#050505}
#principles .tile-reveal-copy{padding:0;max-width:54rem;flex-shrink:0;text-shadow:0 2px 20px #0009}
body #principles .tile-reveal-copy h2{font-size:var(--closing-title);line-height:1.2;font-weight:500;text-wrap:balance}
#principles .tile-reveal-description{position:static;width:auto;max-width:36rem;opacity:1!important;transform:none!important;margin:1.5rem auto 0;font-size:var(--closing-body);line-height:1.7}
#principles .tile-image-grid{top:40%;opacity:.65}
#principles .reveal-tile img{filter:saturate(.55) contrast(1.03) brightness(.9)}
#principles .tile-reveal-stage::after{background:linear-gradient(0deg,#050505 5%,#050505a6 30%,transparent 70%),radial-gradient(ellipse 45% 42% at 50% 33%,#050505b8,transparent)}
.beliefs{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--grid-gap);width:100%;max-width:1440px}
.beliefs article{border-top:1px solid #f5f0e633;padding-top:1.5rem;min-width:0}
.beliefs .belief-label{font-size:var(--closing-small);color:#ebcc66;margin:0 0 1rem;line-height:1.5}
.beliefs h3{font-size:var(--closing-subtitle);font-weight:500;line-height:1.35;letter-spacing:0;color:#f5f0e6;margin:0 0 .75rem;text-wrap:balance}
.beliefs p:not(.belief-label){font-size:var(--closing-small);line-height:1.75;color:#bcb7ae;margin:0;max-width:30ch}
body main .studio-journey #team.team-hanging{min-height:100svh;padding-block:8rem 5rem;display:flex;flex-direction:column;justify-content:center;gap:3rem}
.closing-heading{display:flex;align-items:baseline;justify-content:space-between;gap:2rem;width:100%}
.closing-heading h2{font-size:var(--closing-title);line-height:1.2;font-weight:500;letter-spacing:0;margin:0;color:#f5f0e6;text-wrap:balance}
.closing-heading>p{font-size:var(--closing-small);color:#bcb7ae;margin:0;flex-shrink:0}
#team .rail{width:100%;margin:0}
#team .card{aspect-ratio:unset;height:clamp(18rem,24vw,23rem)}
#team .face,#team .rail li:nth-child(even) .face{padding:1rem;background:linear-gradient(145deg,#30312b,#1b1d18 55%,#11130f);border:1px solid #f5f0e626}
#team .rail li .front .avatar,#team .rail li:nth-child(even) .front .avatar{width:100%;max-width:100%;height:auto;max-height:none;aspect-ratio:1;margin:.9rem 0 1rem;flex:0 1 auto;min-height:0}
#team .name{font-size:1.5rem;line-height:1.3;font-weight:500;flex-shrink:0}
#team .role,#team .front .role{font-size:var(--closing-small);line-height:1.5;margin-top:.3rem;color:#bcb7ae;flex-shrink:0}
#team .company-wordmark{width:4.6rem;height:auto;aspect-ratio:927/235;opacity:1;filter:none}
#team .back-logo{opacity:1;filter:none}
body main #timeline{height:auto;min-height:100svh;padding:8rem 0 7rem}
#timeline .intro h2{font-size:var(--closing-title);font-weight:500;line-height:1.2;color:#f5f0e6;letter-spacing:0;margin:1.25rem 0 0;text-wrap:balance}
#timeline .pill{font-size:var(--closing-small);line-height:1.5}
#timeline .detail h2{font-size:var(--closing-subtitle);line-height:1.35;margin-bottom:1rem}
#timeline .detail p{font-size:var(--closing-body);line-height:1.7}
#timeline .stage{height:24rem}
#timeline .detail{top:11rem;width:min(42rem,calc(100% - 2*var(--page-gutter)))}
#timeline .node .date{font-size:1.125rem;font-weight:500;font-variant-numeric:tabular-nums}
#timeline .count{font-size:var(--closing-small)}
.ui-icon{display:inline-block;width:1.25rem;height:1.25rem;vertical-align:middle;flex:none}
#timeline .arrow{display:grid;place-items:center;width:3rem;height:3rem}
#timeline .arrow:disabled{color:#817e75;border-color:#f5f0e61a}
body footer.standalone-footer .footer-panel::before{display:none}
body footer.site-footer.standalone-footer{padding:0;background:linear-gradient(to bottom,#050505,#47473f 9rem,#c9c5bb 18rem);overflow:hidden}
body footer.standalone-footer .footer-panel{padding-top:22rem;padding-bottom:2rem;background:radial-gradient(ellipse 80% 50% at 0% 100%,#eee8d733,transparent 80%);gap:4rem}
body footer.standalone-footer .footer-opening.footer-logo-lockup{--brand-unit:clamp(2.75rem,5vw,4.5rem);gap:calc(var(--brand-unit)*.45);min-height:0}
body footer.standalone-footer .footer-logo-symbol{width:var(--brand-unit);height:auto;max-width:none;filter:none}
body footer.standalone-footer .footer-logo-wordmark{width:calc(var(--brand-unit)*3.94);height:auto;max-width:none;filter:none}
body footer.standalone-footer .footer-navigation{margin-top:3rem}
body footer.standalone-footer .footer-link-group h3{font-size:1.25rem;line-height:1.4;font-weight:600;margin-bottom:.75rem}
body footer.standalone-footer :is(.footer-link-group a,.footer-link-group>span,.footer-link-group p,.footer-link-group address){font-size:1rem;line-height:1.7}
body footer.standalone-footer .footer-link-group a{min-height:2.75rem}
body footer.standalone-footer .footer-bottom,body footer.standalone-footer .footer-bottom a{font-size:1rem;line-height:1.5}
body footer.standalone-footer .footer-bottom a{display:inline-flex;align-items:center;gap:.5rem;min-height:2.75rem}
@media(min-width:851px) and (max-width:1100px){#team .rail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}#team .rail li{grid-column:auto;--team-card-width:100%;width:100%}#team .card{height:24rem}#team .rail li .front .avatar{width:10rem;align-self:center}}
@media(max-width:850px){.studio-journey,#principles,footer.standalone-footer{--closing-title:2rem;--closing-subtitle:1.5rem;--closing-body:1rem;--closing-small:1rem}body #principles .tile-reveal-stage{padding:7rem var(--page-gutter) 4rem;gap:3rem}.beliefs{grid-template-columns:1fr;gap:1.5rem}.beliefs article{padding-top:1.25rem}.beliefs .belief-label{margin-bottom:.5rem}.beliefs p:not(.belief-label){max-width:38ch}.closing-heading{display:block}.closing-heading>p{margin-top:1rem}body main .studio-journey #team.team-hanging{padding-block:6rem 4rem;gap:2rem}#team .rail{padding-inline:.4rem;scroll-padding-inline:.4rem}#team .rail li{--team-card-width:min(68vw,16rem);flex-basis:var(--team-card-width)}#team .card{height:23rem}#team .rail li .front .avatar{max-height:12rem;width:auto;max-width:100%;align-self:center}body main #timeline{padding:6rem 0 5rem}#timeline .stage{height:25rem}#timeline .detail{top:11rem;max-width:34rem}#timeline .node .date{font-size:1rem}body footer.site-footer.standalone-footer{background:linear-gradient(to bottom,#050505,#47473f 5rem,#c9c5bb 10rem)}body footer.standalone-footer .footer-panel{padding-top:13rem;gap:2.5rem}body footer.standalone-footer .footer-opening.footer-logo-lockup{--brand-unit:2.75rem}body footer.standalone-footer .footer-navigation{margin-top:1.6875rem}body footer.standalone-footer .footer-link-group h3{font-size:1.125rem}}
@media(prefers-reduced-motion:reduce){body #principles .tile-reveal-stage{display:flex}#principles .tile-image-grid{opacity:.2}#principles .tile-reveal-stage::after{display:block}}
/* Canonical header lockup; scene layout and product branding stay untouched. */
.site-header .brand{gap:.9rem}.site-header .brand-symbol{width:2rem;height:auto}.site-header .brand-word{width:7.88rem;height:auto}

/* Product system: one identity scale, copy measure and action rhythm. */
body main :is(#ring,#cuespec,#reader){--product-title-size:clamp(3.5rem,5.6vw,5.5rem);--product-title-height:calc(var(--product-title-size)*1.15);background-color:#080a0b;background-size:cover;background-position:center}
body main #ring{background-image:radial-gradient(ellipse 55% 65% at 78% 50%,#303735 0%,#111817 52%,#070a09 100%)}
body main #cuespec{background-image:radial-gradient(ellipse 52% 62% at 78% 44%,#39424a 0%,#1a2329 43%,#080d11 100%)}
body main #reader{background-image:radial-gradient(ellipse 55% 65% at 78% 50%,#2d3037 0%,#15181e 48%,#080a0e 100%)}
body main :is(#ring,#cuespec,#reader)::before,body main :is(#ring,#cuespec,#reader)::after{display:none}
body main :is(#ring,#cuespec,#reader) .product-story{justify-content:center;gap:0;background:none}
body main :is(#ring,#cuespec,#reader) .product-story h2{font-family:var(--font-ui);font-size:var(--product-title-size);font-weight:500;letter-spacing:-.035em;line-height:1.15;height:var(--product-title-height);display:flex;align-items:center;margin:0 0 2rem;padding:0;min-width:0;width:100%;color:#f5f0e6}
body main #cuespec .cuespec-logo{display:block;width:auto;height:calc(var(--product-title-size)*.82);max-width:100%;object-fit:contain;object-position:left center;margin:0}
body main :is(#ring,#cuespec,#reader) .product-story>p{font-size:1.25rem;line-height:1.7;color:#c3c5c4;max-width:30ch;margin:0;min-height:6.8em}
body main :is(#ring,#cuespec,#reader) .product-story>a{margin-top:2rem;font-size:1.125rem;min-height:3rem;padding:.75rem 1.5rem;box-shadow:none}
#cuespec .cuespec-aurora{display:none}#cuespec .cuespec-terminals{display:none}
#cuespec .product-stage{background:transparent}#cuespec model-viewer img{mix-blend-mode:normal;opacity:1}
/* Stationary rectangular cards; square portraits never participate in flex shrink. */
#team .hanger,#team .rail li:nth-child(2n) .hanger,#team .rail li:nth-child(3n) .hanger{animation:none!important;transform:none!important}
#team .rail li,#team .rail li:nth-child(2n){padding-top:3.6rem}
#team .hanger,#team .rail li:nth-child(2n) .hanger{--rope:3.35rem}
#team .card{height:auto!important;aspect-ratio: .64;perspective:1600px}
#team .face,#team .rail li:nth-child(even) .face{padding:1rem;display:flex;align-items:stretch}
#team .rail li .front .avatar,#team .rail li:nth-child(even) .front .avatar{width:100%!important;height:auto!important;max-height:none!important;max-width:none;aspect-ratio:1;flex:0 0 auto;margin:1rem 0;background-size:300% 200%;background-position:var(--x) var(--y);align-self:center;filter:none}
#team .back{align-items:center}
#team .role,#team .front .role{font-size:1rem;line-height:1.5;overflow-wrap:normal}
body footer.standalone-footer .footer-address .contact-email{margin-top:.75rem;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
@media(max-width:1100px) and (min-width:851px){body main :is(#ring,#cuespec,#reader){--product-title-size:3.5rem}#team .card{aspect-ratio:.7}#team .rail li .front .avatar{width:100%!important}}
@media(max-width:850px){body main :is(#ring,#cuespec,#reader){--product-title-size:3rem}body main :is(#ring,#cuespec,#reader) .product-story h2{margin-bottom:1.5rem}body main :is(#ring,#cuespec,#reader) .product-story>p{font-size:1rem;min-height:0;max-width:36ch}body main :is(#ring,#cuespec,#reader) .product-story>a{margin-top:1.5rem;font-size:1rem}#team .card{aspect-ratio:.7}#team .rail li .front .avatar{width:100%!important}}
body main #cuespec .cuespec-logo{height:calc(var(--product-title-size)*1.1)}
@media(min-width:851px){body main :is(#ring,#cuespec,#reader) .product-story{padding-block:6rem}}

/* Full-bleed principles imagery and unboxed timeline navigation. */
body #principles .tile-image-grid{position:absolute;inset:0;width:100%;height:100%;max-width:none;transform:none!important;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr));opacity:.88;gap:14px}
#principles .reveal-tile{aspect-ratio:auto;min-height:0;border:0;box-shadow:none}
#principles .reveal-tile img{filter:saturate(.65) contrast(1.03) brightness(1.08)}
#principles .tile-reveal-stage::after{background:linear-gradient(0deg,#050505b3,transparent 55%),radial-gradient(ellipse 44% 45% at 50% 45%,#050505a6,transparent 100%)}
#timeline .arrow,#timeline .arrow:hover:enabled,#timeline .arrow:disabled{border:0;border-radius:0;background:transparent;box-shadow:none}
#timeline .arrow{color:#fffaf0}
#timeline .arrow:hover:enabled{color:#ebcc66}
#timeline .arrow:disabled{color:#8d8a81}
#timeline .count{color:#f5f0e6}
@media(max-width:850px){body #principles .tile-image-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(7,minmax(0,1fr));gap:8px}#principles .tile-reveal-stage::after{background:linear-gradient(#05050566,#050505aa),radial-gradient(ellipse at center,#05050566,transparent)}}

/* Product destinations: open text links instead of filled capsules. */
body main :is(#ring,#cuespec,#reader) .product-story>a{padding:.6rem 0;min-height:3rem;gap:1.5rem;border:0;border-bottom:1px solid #f5f0e680;border-radius:0;background:transparent;color:#f5f0e6;box-shadow:none;transition:color .2s,border-color .2s}
body main :is(#ring,#cuespec,#reader) .product-story>a:hover{background:transparent;color:#ebcc66;border-color:#ebcc66;box-shadow:none}
body main :is(#ring,#cuespec,#reader) .product-story>a span{display:inline-block;transition:transform .2s}
body main :is(#ring,#cuespec,#reader) .product-story>a:hover span{transform:translate(3px,-3px)}
body main :is(#ring,#cuespec,#reader) .product-story>a:focus-visible{outline:2px solid #ebcc66;outline-offset:6px}
@media(prefers-reduced-motion:reduce){body main .product-story>a,body main .product-story>a span{transition:none!important}}

@media(min-width:851px){body footer.standalone-footer .footer-address .contact-email{align-self:flex-end;text-align:right}}

/* Keep the image wall full bleed while giving the copy a quiet dark field. */
body #principles .tile-reveal-stage::after{background:linear-gradient(180deg,rgba(5,5,5,.16) 0%,rgba(5,5,5,.42) 26%,rgba(5,5,5,.79) 55%,rgba(5,5,5,.88) 82%,rgba(5,5,5,.75) 100%),radial-gradient(ellipse 52% 44% at 50% 42%,rgba(5,5,5,.62),transparent 100%)}
#principles .beliefs{max-width:72rem;margin-inline:auto;gap:clamp(2rem,5vw,5rem);text-align:center;align-items:start}
#principles .beliefs article{border:0;padding:0;display:flex;flex-direction:column;align-items:center}
#principles .beliefs .belief-label{margin-bottom:.875rem}
#principles .beliefs h3{margin-bottom:.875rem}
#principles .beliefs p:not(.belief-label){max-width:28ch;margin-inline:auto;color:#dedad1;text-wrap:pretty}
#principles .tile-reveal-description{color:#dedad1}
@media(max-width:850px){#principles .beliefs{gap:2rem;max-width:34rem}body #principles .tile-reveal-stage::after{background:linear-gradient(180deg,#05050566,#050505d9 38%,#050505eb 100%)}}

/* Soften the image wall without softening the foreground text. */
body #principles .tile-image-grid{filter:blur(2px) brightness(.78);inset:-5px;width:calc(100% + 10px);height:calc(100% + 10px)}
@media(max-width:850px){body #principles .tile-image-grid{filter:blur(1.5px) brightness(.78)}}

/* One reading path: statement, short explanation, then three supporting ideas. */
body #principles .tile-reveal-stage{gap:clamp(3.5rem,8vh,6rem)}
body #principles .tile-reveal-copy h2{font-size:clamp(3rem,4.3vw,4.5rem);line-height:1.16;font-weight:600;letter-spacing:-.025em}
body #principles .tile-reveal-description{max-width:34rem;margin-top:1.5rem;font-size:1.0625rem;line-height:1.8;font-weight:400;color:#c9c6bf}
#principles .beliefs{max-width:66rem;gap:clamp(2rem,4vw,4rem)}
#principles .beliefs .belief-label{font-size:.8125rem;font-weight:400;letter-spacing:.08em;color:#b8aa7e;margin-bottom:.75rem}
#principles .beliefs h3{font-size:1.375rem;line-height:1.4;font-weight:500;color:#eeeae2;margin-bottom:.75rem}
#principles .beliefs p:not(.belief-label){font-size:.9375rem;line-height:1.8;font-weight:400;color:#aaa79f;max-width:26ch}
body #principles .tile-reveal-stage::after{background:linear-gradient(180deg,#05050533 0%,#050505a6 22%,#050505de 45%,#050505ed 78%,#050505c9 100%),radial-gradient(ellipse 65% 60% at center,#05050599,transparent)}
@media(max-width:850px){body #principles .tile-reveal-stage{gap:3rem;padding-top:7rem;padding-bottom:4rem}body #principles .tile-reveal-copy h2{font-size:clamp(2rem,7.5vw,3rem)}body #principles .tile-reveal-description{font-size:.9375rem;max-width:31ch;margin-top:1.25rem}#principles .beliefs{gap:2rem}#principles .beliefs h3{font-size:1.25rem}#principles .beliefs p:not(.belief-label){font-size:.875rem;max-width:30ch}body #principles .tile-reveal-stage::after{background:linear-gradient(180deg,#05050588,#050505df 28%,#050505ed 100%)}}

/* Readable identity labels across the team card sizes. */
#team .card .front .name{font-size:clamp(1.5rem,1.8vw,2rem);font-weight:600;line-height:1.2;margin-top:.75rem;color:#f5f0e6}
#team .card .front .role{font-size:clamp(.9375rem,1.1vw,1.125rem);font-weight:400;line-height:1.5;margin-top:.5rem;color:#d0ccc2}
@media(max-width:850px){#team .card .front .name{font-size:1.75rem}#team .card .front .role{font-size:1rem}}
#team .card{aspect-ratio:.56}
@media(max-width:1100px){#team .card{aspect-ratio:.60}}

/* The statement leads; the three principles are concise supporting captions. */
body #principles .tile-reveal-stage{gap:clamp(4rem,11vh,7rem)}
#principles .beliefs{max-width:62rem}
#principles .beliefs h3{font-size:1.25rem;font-weight:400;line-height:1.5;color:#d6d2c9;margin:0}
#principles .beliefs .belief-label{font-size:.75rem;color:#a99d7a;letter-spacing:.12em;margin-bottom:.7rem}
@media(max-width:850px){body #principles .tile-reveal-stage{gap:3.5rem}#principles .beliefs{gap:1.75rem}#principles .beliefs h3{font-size:1.125rem}}

/* Let content determine card height instead of leaving ratio-based blank space. */
#team .card{aspect-ratio:auto}
#team .card .inner{position:relative;display:block;inset:auto}
#team .card .front{position:relative;inset:auto;padding-bottom:1.125rem}
#team .card .back{position:absolute;inset:0}
#team .card .front .name{margin-top:0}
#team .card .front .role{margin-bottom:0}

/* hero-logo-abstract.css */
body main .hero{position:relative;isolation:isolate;overflow:hidden;background:#030504}
.hero-logo-field{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.hero-logo-sculpture{position:absolute;left:50%;top:50%;width:max(110vw,145vh);max-width:none;height:auto;transform:translate(-50%,-50%);opacity:.78;animation:hero-logo-drift 26s ease-in-out infinite alternate;animation-play-state:paused;will-change:transform}
.hero-logo-light{position:absolute;inset:-10%;background:radial-gradient(ellipse 35% 35% at 70% 35%,#c8dbca0c,transparent 75%);animation:hero-light-breathe 18s ease-in-out infinite alternate;animation-play-state:paused;pointer-events:none}
.hero-logo-field::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 30% 45% at 50% 50%,#0305048c,transparent 80%),linear-gradient(to bottom,#03050477,transparent 25%,transparent 78%,#030504)}
.hero.hero-art-active .hero-logo-sculpture,.hero.hero-art-active .hero-logo-light{animation-play-state:running}
body .hero .hero-center{position:relative;z-index:2;text-shadow:0 2px 18px #0008}
@keyframes hero-logo-drift{0%{transform:translate(-51%,-50%) rotate(-5deg) scale(1)}100%{transform:translate(-48%,-48%) rotate(4deg) scale(1.055)}}
@keyframes hero-light-breathe{from{opacity:.4;transform:translate(-4%,3%)}to{opacity:1;transform:translate(4%,-3%)}}
@media(max-width:850px){.hero-logo-sculpture{width:155vh;opacity:.68}.hero-logo-field::after{background:radial-gradient(ellipse 55% 40% at center,#03050466,transparent 90%),linear-gradient(#03050466,transparent 25%,transparent 75%,#030504)}}
@media(prefers-reduced-motion:reduce){.hero-logo-sculpture,.hero-logo-light{animation:none!important;will-change:auto}.hero-logo-sculpture{transform:translate(-50%,-50%)}}

/* eclipse-refinement.css */
/* Shared eclipse atmosphere. Content sits above the dark center, never the bright rim. */
body main .hero{background:#030405}.hero-logo-sculpture{width:max(105vw,132vh);opacity:.85}.hero-logo-light{background:radial-gradient(ellipse at 70% 20%,#d6c5a50a,transparent 45%)}
.hero-logo-field::after{background:linear-gradient(to bottom,#03040533,transparent 25%,transparent 75%,#030405)}
/* Navigation: product exploration first; contact and language are utilities. */
body .site-header .header-contact-cta{background:none;border:0;box-shadow:none;border-radius:0;padding:.5rem 0;min-height:2.75rem;color:#bbbdbb;font-size:1rem;font-weight:400}
body .site-header .header-contact-cta:hover{background:none;box-shadow:none;color:#fff}
body .site-header .lang-switch{font-size:.875rem;color:#939892}
body .site-header .lang-switch a.active{color:#dddeda}
body .site-header nav>a{font-size:1rem;color:#c2c5c0;font-weight:400}
body .site-header nav>a.nav-products{color:#fff;font-weight:600}
body .site-header .header-actions{gap:1.5rem}
body .site-header .navigation-island{gap:2.5rem}
body .site-header .header-contact-cta{order:0}body .site-header .lang-switch{order:1}body .site-header .menu-button{order:2}
/* Restore rigid-body sway: no stretching of cards or portraits. */
#team .hanger,#team .rail li:nth-child(2n) .hanger,#team .rail li:nth-child(3n) .hanger{animation:card-gentle-sway 9s ease-in-out infinite!important;transform:rotate(-1deg)!important}
#team .rail li:nth-child(2n) .hanger{animation-delay:-3s!important}#team .rail li:nth-child(3n) .hanger{animation-delay:-6s!important}
#team .rail:hover .hanger,#team .rail:focus-within .hanger,#team.resting .hanger{animation-play-state:paused!important}
#team .face.back,#team .rail li:nth-child(even) .face.back{display:grid;place-items:center;padding:1rem}
#team .back-logo{display:block;width:48%;height:auto;max-height:none;justify-self:center;align-self:center;object-fit:contain;margin:0}
@keyframes card-gentle-sway{0%,100%{rotate:-1.2deg}50%{rotate:1.2deg}}
/* Preserve the original centered principles layout from closing-v14.css. */
@media(max-width:850px){.hero-logo-sculpture{width:135vh;opacity:.8}body .site-header .navigation-island{gap:1rem}body .site-header .header-actions{gap:.75rem}}
@media(prefers-reduced-motion:reduce){#team .hanger,#team .rail li:nth-child(2n) .hanger,#team .rail li:nth-child(3n) .hanger{animation:none!important;transform:none!important;rotate:none}}

/* hero-eclipse.css */
/* Background only: foreground composition and every later section stay intact. */
body main .hero{background:#020303}
.hero-eclipse-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.hero-logo-field.eclipse-ready .hero-logo-sculpture,.hero-logo-field.eclipse-ready .hero-logo-light{display:none}
.hero-logo-field.eclipse-ready::after{background:linear-gradient(to bottom,#02030322,transparent 20%,transparent 80%,#020303)}

/* A floating light invitation, without a solid button surface. */
body .hero .primary-entry,body .hero .primary-entry:hover,body .hero .primary-entry:active{position:relative;isolation:isolate;overflow:visible;background:transparent;border:0;border-radius:0;box-shadow:none;color:#fff6df;padding:1rem 1.75rem;gap:.875rem;text-shadow:0 0 14px #f8e7b238}
body .hero .primary-entry::before{content:'';position:absolute;z-index:-1;inset:-.6rem -1.5rem;pointer-events:none;background:radial-gradient(ellipse at center,#f1db9c38 0%,#f5e3b51c 35%,#eee3c108 58%,transparent 76%);filter:blur(10px);transition:opacity .3s,transform .4s;opacity:.8}
body .hero .primary-entry:hover::before,body .hero .primary-entry:focus-visible::before{opacity:1;transform:scale(1.14)}
body .hero .primary-entry:focus-visible{outline:1px dashed #ebcc66;outline-offset:6px}
@media(prefers-reduced-motion:reduce){body .hero .primary-entry::before{transition:none}}

/* Warm-white light has a readable core, but no solid perimeter. */
body .hero .primary-entry,body .hero .primary-entry:hover,body .hero .primary-entry:active{color:#24221c;text-shadow:none}
body .hero .primary-entry::before{inset:-1.2rem -2.5rem;background:radial-gradient(ellipse at center,#fffbed 0%,#fff8e8ed 24%,#fff4db9c 43%,#fff1d438 60%,transparent 78%);filter:blur(9px);opacity:1}
body .hero .primary-entry:hover::before,body .hero .primary-entry:focus-visible::before{opacity:1;transform:scale(1.08)}
body .entry-comet{overflow:visible;border:0;background:transparent;box-shadow:none;color:#24221c}
body .entry-comet::after{content:'';position:absolute;z-index:-1;inset:-1.2rem -2.5rem;background:radial-gradient(ellipse at center,#fffbed 0%,#fff8e8ed 24%,#fff4db9c 43%,#fff1d438 60%,transparent 78%);filter:blur(9px);pointer-events:none}

body .hero .primary-entry{top:2rem}
@media(max-width:850px){body .hero .primary-entry{top:1.5rem}}

@media(max-width:850px){
 body .hero .primary-entry,body .hero .primary-entry:hover,body .hero .primary-entry:active{color:#fffaf0;font-weight:650;background:none;padding:.75rem .25rem;text-shadow:none}
 body .hero .primary-entry::before,body .hero .primary-entry::after{display:none}
 body .entry-comet,body .entry-comet-render{display:none!important}
}
@media(max-width:850px){
 body .hero-center{filter:none;opacity:1}
 body .collection-scene .solar-stage{filter:none;opacity:1}
 body .collection-scene::after{display:none}
 body .hero .primary-entry{-webkit-tap-highlight-color:transparent}
}

/* timeline-strands.css */
/* Soft elliptical milestones, with sharp black labels above the glow. */
#timeline .timeline-strands{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
#timeline.strands-ready .orbit{opacity:0}
#timeline .node,#timeline .node:hover:not([aria-pressed=true]),#timeline .node[aria-pressed=true]{width:15rem;height:6.5rem;border-radius:50%;background:transparent;color:#11120f}
#timeline .node::before,#timeline .node[aria-pressed=true]::before{inset:-65% -40%;border:0;border-radius:0;background:radial-gradient(ellipse at center,rgba(244,238,219,.98) 0%,rgba(226,220,204,.86) 18%,rgba(209,202,184,.40) 38%,rgba(209,202,184,.09) 58%,transparent 75%);box-shadow:none;filter:blur(20px);opacity:1;animation:none}
#timeline .node[aria-pressed=true]::before{background:radial-gradient(ellipse at center,#fff9e9 0%,rgba(255,247,224,.95) 18%,rgba(239,229,204,.50) 38%,rgba(234,223,194,.12) 58%,transparent 76%);filter:blur(22px)}
#timeline.timeline-visible .node[aria-pressed=true]::before{animation:none}
#timeline .node .date{color:#11120f;font-size:1.65rem;font-weight:600;text-shadow:none}
@media(max-width:600px){#timeline .node,#timeline .node:hover:not([aria-pressed=true]),#timeline .node[aria-pressed=true]{width:10rem;height:5rem}#timeline .node::before,#timeline .node[aria-pressed=true]::before{filter:blur(16px)}}

@media(max-width:600px){#timeline .node .date{font-size:1.3rem}}

#timeline.strands-ready .node::before{opacity:0}

#timeline .timeline-strands{top:-80px;height:calc(100% + 160px)}

/* Mobile milestones retain the arc, with content-driven room for every panel. */
@media(max-width:850px){
 body main #timeline{height:auto;min-height:100svh;padding:6rem 0 3rem;justify-content:center}
 #timeline .stage{height:auto;margin-top:1.5rem;padding-top:9rem}
 #timeline .detail{position:relative;top:auto;left:auto;transform:none;width:calc(100% - 2.5rem);max-width:34rem;margin:0 auto;display:grid}
 #timeline .detail-panel{position:relative;inset:auto;grid-area:1/1;min-width:0}
 #timeline .controls{margin-top:1.5rem}
 #timeline .node,#timeline .node:hover:not([aria-pressed=true]),#timeline .node[aria-pressed=true]{width:clamp(7rem,35vw,10rem);height:5rem}
 #timeline .node .date{font-size:1.25rem;white-space:nowrap}
 #timeline .detail h2{font-size:1.5rem;line-height:1.35}
 #timeline .detail p{font-size:1rem;line-height:1.7}
}
@media(max-width:850px) and (max-height:650px){
 body main #timeline{padding:5.5rem 0 2rem;justify-content:flex-start}
 #timeline .intro h2{font-size:1.75rem;margin-top:.75rem}
 #timeline .stage{margin-top:1rem}
 #timeline .controls{margin-top:1rem}
}

/* Mobile uses bounded CSS light and the SVG arc instead of a GPU shader. */
@media(max-width:850px){
 #timeline .timeline-strands{display:none}
 #timeline .orbit,#timeline.strands-ready .orbit{opacity:.6;filter:blur(2px);pointer-events:none}
 #timeline .node::before,#timeline .node[aria-pressed=true]::before,#timeline.strands-ready .node::before{inset:-35% -22%;opacity:1;filter:blur(12px);border:0;border-radius:50%;animation:none;box-shadow:none;background:radial-gradient(ellipse at center,#fff9e9 0%,rgba(244,238,219,.9) 24%,rgba(226,220,204,.5) 43%,rgba(209,202,184,.14) 60%,transparent 76%)}
 #timeline .node .date{color:#171713}
}

/* Safari keeps the same milestone geometry without shader bloom. */
#timeline.timeline-safe-glow .orbit{opacity:.65;filter:blur(2px);pointer-events:none}
#timeline.timeline-safe-glow .node::before{inset:-30% -22%;border-radius:50%;filter:blur(16px);opacity:1;background:radial-gradient(ellipse at center,#fff9e9 0%,rgba(244,238,219,.9) 24%,rgba(226,220,204,.5) 43%,rgba(209,202,184,.14) 60%,transparent 76%)}
#timeline.timeline-safe-glow .detail,#timeline.timeline-safe-glow .intro,#timeline.timeline-safe-glow .controls{position:relative;z-index:1}
#timeline.timeline-safe-glow .detail{position:absolute}
@media(max-width:850px){#timeline.timeline-safe-glow .detail{position:relative}#timeline.timeline-safe-glow .node::before{filter:blur(12px)}}

/* soft-section-edges.css */
/* Feather chapter boundaries into the common dark canvas. */
body main>section,body main .product-chapter,body main .studio-journey>section,body footer.site-footer.standalone-footer{border-top:0;border-bottom:0;outline:0;box-shadow:none}
body main{background:#050505}
body main>.product-chapter,body main>#principles,body main>.studio-journey{mask-image:linear-gradient(to bottom,transparent,#000 48px,#000 calc(100% - 48px),transparent);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 48px,#000 calc(100% - 48px),transparent)}
body main .hero-logo-field{mask-image:linear-gradient(to bottom,#000 calc(100% - 80px),transparent);-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 80px),transparent)}
body footer.site-footer.standalone-footer{background:linear-gradient(to bottom,#050505 0%,#0b0b0a 2rem,#24241f 5rem,#55554c 9rem,#96938a 14rem,#bcb8ae 18rem,#c9c5bb 22rem)}
body footer.standalone-footer .footer-panel{background:none}
body footer.standalone-footer .footer-bottom{border-top:0}
@media(max-width:850px){body main>.product-chapter,body main>#principles,body main>.studio-journey{mask-image:linear-gradient(to bottom,transparent,#000 32px,#000 calc(100% - 32px),transparent);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 32px,#000 calc(100% - 32px),transparent)}body footer.site-footer.standalone-footer{background:linear-gradient(to bottom,#050505,#10100e 1.5rem,#37372f 3.5rem,#77756b 6.5rem,#b7b3a9 10rem,#c9c5bb 13rem)}}
body footer.site-footer.standalone-footer>.footer-panel{border:0}

/* Brighter warm-paper footer, reached through the same feathered dark edge. */
body footer.site-footer.standalone-footer{background:linear-gradient(to bottom,#050505 0%,#151511 2rem,#53534a 5rem,#a29f94 9rem,#d7d2c7 14rem,#eee9df 20rem)}
@media(max-width:850px){body footer.site-footer.standalone-footer{background:linear-gradient(to bottom,#050505,#20201b 1.5rem,#69675e 3.5rem,#bcb7ab 6.5rem,#e3ddd2 10rem,#eee9df 13rem)}}

/* product-atmospheres.css */
/* Approved static generated backgrounds; isolated from page layout. */
body main #ring{--product-atmosphere:url('/assets/backgrounds/heyou-atmosphere-v1.webp')}
body main #cuespec{--product-atmosphere:url('/assets/backgrounds/cuespec-atmosphere-v1.webp')}
body main #reader{--product-atmosphere:url('/assets/backgrounds/pickmd-atmosphere-v1.webp')}
body main #ring,body main #cuespec,body main #reader{background-color:#030303;background-image:var(--product-atmosphere);background-size:cover;background-position:center;background-repeat:no-repeat}
@media(max-width:850px){body main #ring,body main #cuespec,body main #reader{background-position:70% center}}

/* Static backgrounds own the chapter atmosphere; no legacy glow overlays. */
body main :is(#ring,#cuespec,#reader)::before,body main :is(#ring,#cuespec,#reader)::after,body main #cuespec .cuespec-aurora{display:none}

/* Only fetch chapter imagery when approaching its viewport. */
html.js-deferred body main :is(#ring,#cuespec,#reader):not(.atmosphere-ready){background-image:none}
