:root{color-scheme:dark;--paper:#f2eee7;--muted:#b7b4ad;--ground:#141413;--line:#3e3d39;--accent:#e0aa76;--stage-height:680px;--travel:580px;font-family:Arial,Helvetica,sans-serif;background:var(--ground);color:var(--paper);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:radial-gradient(ellipse at 5% 3%,#39332b44,transparent 42%),var(--ground);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:hover{color:#fff}a{-webkit-tap-highlight-color:transparent}a:focus-visible{outline:2px solid var(--accent);outline-offset:6px}[hidden]{display:none!important}.shell{width:86%;max-width:1280px;margin-inline:auto}.skip-link:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link:focus{position:fixed;z-index:10;left:20px;top:16px;background:var(--paper);color:var(--ground);padding:16px}.navigation{height:84px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-size:25px;font-weight:750;letter-spacing:-1.1px}.navigation nav{display:flex;gap:36px;font-size:14px;align-items:center}.navigation nav a{display:inline-flex;gap:12px;align-items:center;min-height:44px}.navigation nav span{color:var(--accent)}
.hero-track{position:relative}.hero-stage{max-width:1600px;margin:auto;display:grid;grid-template-rows:auto minmax(290px,1fr) auto;min-height:620px;isolation:isolate}.hero-copy{text-align:center;position:relative;z-index:1;padding:32px 20px 0;pointer-events:none}h1{font-size:clamp(56px,8.5vw,124px);font-weight:750;line-height:.98;letter-spacing:-.065em;margin:0}.tagline{font-size:clamp(20px,2.5vw,32px);line-height:1.3;color:var(--muted);letter-spacing:-.025em;margin:22px 0 0}.foundation-art{position:relative;min-width:0;min-height:0;overflow:hidden}#foundation{display:block;position:absolute;inset:0;width:100%;height:100%;opacity:0}.art-ready #foundation{opacity:1}.art-ready .static-foundations{display:none}.static-foundations{position:absolute;inset:12% 15% 10%;filter:drop-shadow(0 18px 16px #0008)}.static-foundations span{position:absolute;bottom:5%;border-top:1px solid #93816b;background:linear-gradient(115deg,#5b554a,#292822 66%,#171816);box-shadow:inset -24px 0 #1117}.static-rear{left:53%;width:34%;height:87%;transform:skewY(3deg)}.static-front{left:10%;width:56%;height:48%;transform:skewY(-3deg)}.hero-foot{display:flex;align-items:center;justify-content:flex-start;min-height:74px;padding:12px 0 24px;position:relative;z-index:1}.explore,.text-link{font-size:14px;display:inline-flex;align-items:center;gap:28px;min-height:44px}.explore span,.text-link span{color:var(--accent)}.motion-enabled .hero-track{height:calc(var(--stage-height) + var(--travel))}.motion-enabled .hero-stage{position:sticky;top:0;height:var(--stage-height);min-height:0}.motion-enabled.static-scene .hero-track{height:auto}.motion-enabled.static-scene .hero-stage{position:relative;height:auto;min-height:var(--stage-height)}
.product{border-top:1px solid var(--line);display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:60px;padding:112px 0 104px}.eyebrow{font-size:11px;line-height:1.8;font-weight:600;letter-spacing:.3em;color:var(--muted);margin:0 0 24px}h2{font-size:clamp(44px,5vw,70px);line-height:1.06;letter-spacing:-.055em;margin:0}.product-description{font-size:clamp(21px,2.4vw,30px);line-height:1.4;color:var(--muted);letter-spacing:-.025em;margin:22px 0 0}.product-platform{color:var(--muted);font-size:13px;line-height:1.65;margin:18px 0 26px}.product-art{margin:0;text-align:center}.product-art img{display:block;width:100%;max-width:100%;height:auto;border-radius:4px;margin-bottom:16px}.product-art figcaption{font-size:11px;color:#aaa59e;line-height:1.6}.downloads{border-top:1px solid var(--line);padding:48px 0 68px}.downloads-heading{display:flex;justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:30px}.downloads h2{font-size:clamp(38px,4vw,50px)}.downloads-heading p{font-size:13px;line-height:1.7;color:var(--muted);margin:0}.download-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 28px;margin-top:12px;border:1px solid #45433e;border-radius:4px;background:linear-gradient(115deg,#ffffff03,#ffffff00);transition:background-color .15s,border-color .15s}.download-row:hover{background-color:#ffffff07;border-color:#9b8166}.download-name{display:block;font-size:clamp(21px,2.3vw,28px);letter-spacing:-.025em;line-height:1.3}.download-detail{display:block;font-size:12px;line-height:1.6;margin-top:6px;color:var(--muted)}.download-arrow{font-size:30px;color:var(--accent)}.licence{font-size:12px;color:var(--muted);line-height:1.7;margin:22px 0 0}.footer{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:136px;padding:32px 0}.footer p,.footer>a:last-child{font-size:12px;line-height:1.7;color:var(--muted)}.footer>a:last-child{display:inline-flex;align-items:center;gap:16px;min-height:44px}.not-found main{padding-block:72px}.not-found .eyebrow{margin-top:110px}.not-found h1{font-size:clamp(44px,7vw,88px)}.not-found main>p:not(.eyebrow){color:var(--muted);max-width:40em;line-height:1.7;margin:28px 0}
@media(max-width:700px){.shell{width:88%}.navigation{height:72px;gap:16px}.brand{font-size:21px}.navigation nav{gap:20px;font-size:12px}.navigation nav span{display:none}.hero-copy{padding-top:30px}h1{font-size:clamp(48px,12.1vw,80px)}.tagline{font-size:21px;margin-top:18px}.hero-stage{min-height:530px;grid-template-rows:auto minmax(240px,1fr) auto}.hero-foot{padding-bottom:20px}.explore{font-size:13px}.product{grid-template-columns:1fr;gap:48px;padding:64px 0 60px}.eyebrow{font-size:10px;margin-bottom:18px}.product-description{font-size:22px;margin-top:20px}.product-platform{font-size:12px}.product-art{padding-block:10px}.downloads{padding:38px 0 44px}.downloads-heading{align-items:flex-start;flex-direction:column;gap:16px;margin-bottom:24px}.download-row{padding:20px}.download-name{font-size:21px}.download-detail{font-size:11px}.download-arrow{font-size:26px}.footer{flex-wrap:wrap;min-height:156px;gap:14px;padding:26px 0}.footer p{order:3;flex-basis:100%;margin:0}}
/* Preserve the accepted mobile paint area and Explore position after removing
 * the global controls. The scene keeps its original frame; no control row remains. */
@media(max-width:700px){.motion-enabled .hero-foot{padding-bottom:67px}}
@media(max-height:519px){.motion-enabled.static-scene .hero-stage{height:auto;min-height:520px}.hero-copy{padding-top:20px}.hero-copy h1{font-size:clamp(44px,17.5vw,64px)}.tagline{font-size:22px}.hero-stage{grid-template-rows:auto 300px auto}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}.motion-enabled .hero-track{height:auto}.motion-enabled .hero-stage{position:relative}}

/* The original image reserves the same responsive framing beneath the canvas. */
.product-visual{position:relative;margin-bottom:16px;aspect-ratio:3/2}.product-visual img{margin:0}.product-visual canvas{position:absolute;inset:0;display:block;width:100%;height:100%;border-radius:4px}

/* Decorative Flow stays behind the original page content. */
body{isolation:isolate}.ambient-layer{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;opacity:1;transition:opacity .3s ease}.ambient-layer.ambient-scrolling{opacity:0}.ambient-layer.ambient-still{transition:none}#ambient-canvas{display:block;width:100%;height:100%;pointer-events:none}
@media(prefers-reduced-motion:reduce){.ambient-layer{transition:none}}
/* Only the title moves. Keep the original canvas position and clipped slot,
 * with text explicitly in front when the opening composition overlaps.
 * No sizes/grid/fonts or transitions change. */
.hero-text-study .hero-copy { transform: translateY(var(--hero-copy-y, 0px)); z-index: 1; }
.hero-text-study .foundation-art { z-index: 0; }

/* Native modal demo; closed markup is inert even without JavaScript support. */
.download-demo:not([open]){display:none}.download-demo{width:min(520px,calc(100% - 32px));max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);margin:auto;overflow:auto;padding:20px;border:1px solid #575249;border-radius:8px;background:#1d1c19;color:var(--paper);box-shadow:0 20px 80px #0008}.download-demo::backdrop{background:#000b}.download-demo .eyebrow{margin-bottom:14px}.download-demo h2{font-size:clamp(28px,4vw,32px);letter-spacing:-.035em}.demo-notice{font-size:13px;line-height:1.4;color:var(--muted);margin:8px 0}.download-demo label{display:block;font-size:14px;margin-top:8px}.download-demo label>span,.demo-help,.demo-contact small{color:var(--muted)}.download-demo input:not([type=checkbox]){display:block;width:100%;min-height:44px;margin-top:4px;padding:10px 12px;border:1px solid #777067;border-radius:4px;background:#141413;color:var(--paper);font:inherit;font-size:16px}.download-demo .demo-contact{display:flex;align-items:flex-start;gap:10px;line-height:1.5;cursor:pointer}.demo-contact input{width:18px;height:18px;flex:none;margin:2px 0;accent-color:var(--accent)}.demo-help{font-size:12px;line-height:1.4;margin:8px 0}.demo-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.demo-actions button,.demo-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 12px;border:1px solid #777067;border-radius:4px;background:transparent;color:var(--paper);font:inherit;font-size:14px;cursor:pointer}.demo-actions .demo-primary{background:var(--accent);border-color:var(--accent);color:#211b15;font-weight:600}.download-demo input:focus-visible,.download-demo button:focus-visible,.download-demo a:focus-visible,.download-demo h2:focus,.download-demo h3:focus{outline:2px solid var(--accent);outline-offset:4px}.download-demo h3{font-size:24px;margin:0 0 14px}.download-demo section>p{font-size:14px;line-height:1.6}.download-demo section>.demo-help{font-size:12px}@media(max-width:480px){.download-demo{padding:20px}.demo-actions>*{flex:1 1 auto}}

.demo-top{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:4px}.demo-top .eyebrow{margin:0}.demo-dismiss{flex:none;min-height:44px;padding:8px 4px;border:0;background:transparent;color:var(--muted);font:inherit;font-size:13px;cursor:pointer}.demo-status{font-size:13px;line-height:1.4;margin:8px 0 0;color:var(--muted)}.demo-status:empty{margin:0}.demo-status[data-state=error]{color:#ffd0af}.demo-status:focus{outline:2px solid var(--accent);outline-offset:4px}.demo-actions button:disabled{cursor:wait;opacity:.65}.download-demo input[readonly]{color:var(--muted)}.demo-actions .demo-secondary{font-size:14px;padding-inline:12px}
