:root{color-scheme:dark;--bg:#090d16;--panel:#10192a;--ink:#f4f7ff;--muted:#b1bfd6;--line:#303e56;--cyan:#91eaff;font:16px/1.55 system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:radial-gradient(ellipse at 78% 2%,#18263d 0,transparent 49rem),var(--bg)}a{color:inherit;text-underline-offset:.26em}button{font:inherit}a:hover{color:var(--cyan)}:focus-visible{outline:2px solid #fff;outline-offset:5px}.shell{width:min(1440px,92%);margin-inline:auto}.top,.foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.15rem 0;font-size:.86rem}.top{border-bottom:1px solid var(--line)}.foot{border-top:1px solid var(--line);margin-top:3rem;color:var(--muted)}.wordmark{text-decoration:none;font-weight:800;letter-spacing:.04em}.wordmark span{color:var(--cyan);font-size:1.2rem}.skip{position:absolute;left:1rem;top:-5rem;background:#fff;color:#091522;padding:.6rem;z-index:9}.skip:focus{top:1rem}.hero{display:grid;grid-template-columns:minmax(260px,.82fr) minmax(0,1.65fr);gap:clamp(1.5rem,4vw,5rem);align-items:center;padding:clamp(2rem,6vw,6rem) 0}.kicker,.scene-bar,.scene-caption,.tag,.card>span,.card small,.features article>span{font:700 .69rem/1.5 ui-monospace,monospace;letter-spacing:.1em}.kicker,.scene-bar{color:var(--cyan)}h1,h2,h3{line-height:1.05;letter-spacing:-.055em;margin:.28em 0}h1{font-size:clamp(3rem,7.5vw,8rem)}h1 em{font-style:normal;color:var(--cyan)}h2{font-size:clamp(2.2rem,4.5vw,4rem)}h3{font-size:1.38rem}.intro,p{color:var(--muted)}.intro{font-size:clamp(1.02rem,1.6vw,1.23rem);max-width:38ch}.button{display:inline-block;padding:.72rem 1rem;background:var(--cyan);color:#09202a;text-decoration:none;font-weight:750;border-radius:6px}.button:hover{color:#091724;background:#d5f8ff}
.scene{min-width:0;border:1px solid var(--line);background:#0b1320;border-radius:14px;overflow:hidden}.scene-bar{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.65rem .85rem;border-bottom:1px solid var(--line);min-height:3.2rem}.scene-bar button{font:inherit;color:var(--ink);background:transparent;border:1px solid #516886;border-radius:4px;padding:.25rem .5rem;cursor:pointer}.scene-caption{margin:0;padding:.7rem .85rem;border-top:1px solid var(--line);color:var(--muted)}.stage{position:relative;isolation:isolate;perspective:850px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.45rem,1.4vw,1.15rem);padding:clamp(.85rem,2vw,1.65rem);background:radial-gradient(ellipse at 65% 10%,#2b4860,transparent 72%),#101725}.floor,.ring{position:absolute;pointer-events:none;inset:4% 0}.floor{transform:rotateX(38deg) scale(1.15);background:repeating-linear-gradient(90deg,transparent 0 39px,#5f8aac3a 40px 41px),repeating-linear-gradient(0deg,transparent 0 39px,#5f8aac3a 40px 41px);mask-image:radial-gradient(ellipse,#000,transparent 75%)}.ring{inset:8% 10%;border:1px solid #6abfe83a;border-radius:50%;transform:rotateX(48deg)}
.tone-0{--tone:#9beaff}.tone-1{--tone:#d8bdff}.tone-2{--tone:#adf4cc}.tone-3{--tone:#ffccad}.node{--lean:-6deg;position:relative;min-width:0;display:block;perspective:620px;text-decoration:none;color:var(--ink);border-radius:10px;z-index:1}.node:nth-of-type(even){--lean:5deg}.node:nth-of-type(3n) .exhibit-card{animation-delay:-4s}.node:nth-of-type(4n) .exhibit-card{animation-delay:-2s}.exhibit-card{position:relative;display:block;transform-style:preserve-3d;transform:rotateX(6deg) rotateY(var(--lean,-8deg));transition:transform .25s ease;animation:float-card 8s ease-in-out infinite}.card-face{position:relative;display:grid;grid-template-rows:auto auto 1fr;align-items:start;min-height:134px;padding:clamp(.46rem,1.1vw,.92rem);gap:.32rem;border-radius:10px;overflow:hidden;border:1px solid color-mix(in srgb,var(--tone) 47%,#293549);background:radial-gradient(ellipse at 95% 0%,color-mix(in srgb,var(--tone) 23%,#121929),transparent 64%),linear-gradient(155deg,#222c43,#111a2b 60%);box-shadow:inset 0 1px 1px #ffffff22,0 9px 16px #0006;transform:translateZ(8px)}.card-face::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg,transparent 35%,#ffffff09 49%,transparent 62%)}.card-edge{position:absolute;inset:2px 0 -4px;border-radius:10px;background:linear-gradient(145deg,color-mix(in srgb,var(--tone) 30%,#243147),#0a111d 75%);border:1px solid #53617b;transform:translateZ(-4px)}.card-mark{color:var(--tone);font-size:clamp(1.25rem,2.45vw,2.2rem);line-height:1;text-shadow:0 0 18px color-mix(in srgb,var(--tone) 56%,transparent)}.card-category{color:var(--tone);font:600 clamp(.53rem,.7vw,.67rem)/1.2 ui-monospace,monospace}.card-face strong{align-self:end;padding-bottom:.48rem;padding-right:.4rem;letter-spacing:-.027em;font-size:clamp(.76rem,1.25vw,1.1rem);line-height:1.09;overflow-wrap:anywhere}.card-arrow{position:absolute;right:.48rem;bottom:.35rem;color:var(--tone);font-size:.7rem}.node:hover,.node:focus-visible{z-index:2;color:var(--ink)}.node:hover .exhibit-card,.node:focus-visible .exhibit-card{animation:none;transform:translateY(-6px) rotateX(0) rotateY(0) scale(1.045)}.paused .exhibit-card{animation-play-state:paused}@keyframes float-card{0%,100%{transform:rotateX(6deg) rotateY(var(--lean))}50%{transform:translateY(-4px) rotateX(2deg) rotateY(var(--lean))}}
.catalog{padding:2rem 0}.grid,.features>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.4rem}.card,.features article,.sample{border:1px solid var(--line);border-radius:10px;padding:1.2rem;background:var(--panel)}.card{display:flex;flex-direction:column;text-decoration:none}.card:hover{border-color:var(--tone);color:var(--ink)}.card>span,.card small{color:var(--tone)}.card small{display:flex;justify-content:space-between;margin-top:auto}.card p{margin-top:.4rem}.back{display:inline-block;margin-top:1.4rem}.detail{display:grid;grid-template-columns:1.7fr 1fr;align-items:center;gap:2rem;padding:clamp(2rem,6vw,5rem) 0}.detail h1{font-size:clamp(2.6rem,7vw,7rem)}.detail-object{display:grid;place-items:center;min-height:230px;background:radial-gradient(ellipse,color-mix(in srgb,var(--tone) 20%,transparent),transparent 69%);perspective:650px}.detail-object .exhibit-card{width:min(82%,280px);animation:none}.detail-object .card-face{min-height:210px;padding:1.3rem}.detail-object .card-mark{font-size:3rem}.detail-object .card-face strong{font-size:1.55rem}.features article>span{color:var(--cyan)}.related{display:flex;flex-wrap:wrap;gap:1rem;margin:2.5rem 0}.sales{grid-template-columns:1.25fr 1fr}.sample p{border-bottom:1px solid var(--line);padding-bottom:.85rem}
@media(max-width:1000px){.hero{grid-template-columns:1fr}.hero-copy h1 br{display:none}.hero-copy h1 em{margin-left:.22em}.grid,.features>div{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.grid,.features>div,.detail{grid-template-columns:1fr}.stage{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.card-face{min-height:102px;padding:.6rem}.card-face strong{font-size:.92rem}.card-category{font-size:.61rem}.detail-object{min-height:200px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.stage:not(.allow-motion) .exhibit-card{animation:none}.exhibit-card{transition:none}}

/* Keep generated brand marks sharp and aligned within the card face. */
.wordmark{display:inline-flex;align-items:center;gap:.32rem}.brand-logo{display:block;object-fit:contain}
.card-mark{display:block;width:clamp(40px,4.3vw,65px);height:clamp(40px,4.3vw,65px);object-fit:contain;justify-self:start;filter:drop-shadow(0 3px 5px #0009)}
.card-face{min-height:158px}.detail-object .card-mark{width:100px;height:100px}
@media(max-width:560px){.card-mark{width:47px;height:47px}.card-face{min-height:130px}}

/* Give product names and descriptions room to carry the gallery. */
:root{font-family:Inter,"Segoe UI",Arial,sans-serif}
h1,h2,h3,.wordmark{font-family:"Segoe UI",Arial,sans-serif;font-weight:850;letter-spacing:-.048em}
.kicker,.scene-bar,.card>span,.card small,.features article>span{font-family:inherit;letter-spacing:.065em}
.hero:has(.scene){display:block;padding-bottom:2rem}.hero-copy{margin-bottom:clamp(2rem,4vw,4rem)}
.hero-copy h1 br{display:none}.hero-copy h1 em{margin-left:.14em}
.hero-copy .intro{max-width:51ch}.stage{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.8rem,2vw,1.7rem);padding:clamp(1rem,3vw,2.75rem)}
.node{--lean:-3deg}.node:nth-of-type(even){--lean:3deg}
.card-face{min-height:260px;grid-template-rows:auto auto auto 1fr auto;gap:.42rem;padding:clamp(.8rem,2vw,1.55rem)}
.card-face strong{align-self:auto;font-size:clamp(1.14rem,2.05vw,1.85rem);font-weight:850;letter-spacing:-.04em;padding:0;overflow-wrap:normal}
.card-category,.card-status{line-height:1.3;color:var(--tone);font-family:inherit;font-size:.74rem;font-weight:700;letter-spacing:.02em}
.card-summary{color:var(--muted);font-size:clamp(.85rem,1.1vw,.98rem);line-height:1.48}
.card-status{padding-right:1.15rem}.card-arrow{right:.9rem;bottom:.8rem;font-size:1rem}
.detail-object .card-face{min-height:260px}
@media(max-width:850px){.stage{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:550px){.stage{grid-template-columns:1fr;padding:.85rem}.card-face{min-height:0;padding:1rem;gap:.45rem}.card-face strong{font-size:1.28rem}.card-summary{font-size:.94rem}.card-mark{width:56px;height:56px}.node .exhibit-card{transform:none}}
.node .exhibit-card,.node .card-face{height:100%}
.node .card-face{grid-template-rows:auto auto auto 1fr auto}
.detail-object .exhibit-card{width:min(92%,360px)}

@font-face{font-family:Archivo Black;src:url(/fonts/archivo-black-latin-400-normal.woff2) format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Inter;src:url(/fonts/inter-latin-wght-normal.woff2) format("woff2");font-style:normal;font-weight:100 900;font-display:swap}
h1,h2{font-family:"Archivo Black","Segoe UI",Arial,sans-serif;font-weight:400;letter-spacing:-.055em}
h3,.wordmark{font-family:inherit;font-weight:800}
.hero-copy h1{font-size:clamp(2.45rem,7.3vw,7.8rem)}
