/* One continuous neutral canvas, matching the global dock. */
body,.scene,.editorial-section,.workflow,.product-gallery,.news-section,.footer-editorial,.inner-page .footer-editorial { background:var(--color-studio-mist); }
.navigation,.navigation.on-light,.inner-page .navigation { background:var(--color-studio-mist); backdrop-filter:none; border:0; box-shadow:none; }
.navigation::before,.navigation.on-light::before { display:none; }
.cad-story { height:540svh; }
.cad-feature { height:240svh; }
.cad-controls { justify-content:flex-start; }
.cad-panel small { display:block; margin-top:18px; max-width:380px; font:400 12px/1.5 var(--body); color:var(--color-steel); }
.cad-feature .cad-copy { bottom:62px; }
.cad-feature[data-cad-mode=carry] .cad-pin::after { background:linear-gradient(0deg,#f5f5f7 0%,#f5f5f780 17%,transparent 40%); }
.cad-feature[data-cad-mode=carry] .cad-copy { bottom:50px; }
.cad-feature[data-cad-mode=carry] .cad-panel { width:100%; }
.simulation-section { display:grid; grid-template-columns:1fr 1fr; column-gap:8%; row-gap:64px; padding:150px var(--gutter) 160px; }
.simulation-heading h2,.configuration-heading h2 { font:400 clamp(36px,4.6vw,68px)/1.08 var(--display); letter-spacing:-.045em; max-width:650px; }
.simulation-heading>p,.configuration-heading>p { margin-top:24px; max-width:390px; font-size:18px; line-height:1.6; color:var(--color-slate); }
.simulation-number { display:flex; flex-direction:column; justify-content:center; }
.simulation-number strong { font:400 clamp(80px,12vw,178px)/1 var(--display); letter-spacing:-.06em; }
.simulation-number>span { margin-top:15px; font-size:18px; color:var(--color-slate); }
.simulation-detail { grid-column:2; color:var(--color-slate); font-size:14px; line-height:1.65; }
.simulation-detail summary { cursor:pointer; color:var(--color-ink); margin-top:28px; padding:14px 0; }
.simulation-detail dl { margin:12px 0 20px; }.simulation-detail dl>div { padding:14px 0; border-top:1px solid var(--color-hairline-silver); }.simulation-detail dt { color:var(--color-ink); margin-bottom:5px; }
.configuration-section { padding:100px var(--gutter) 140px; }
.configuration-heading { margin-bottom:64px; }
.configuration-layout { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(300px,.8fr); gap:40px; align-items:start; }
.configuration-visual { height:780px; position:sticky; top:70px; }
.configuration-visual .cad-pin { position:relative; height:100%; min-height:0; }
.configuration-visual .cad-pin::after { display:none; }.configuration-visual .cad-poster { object-fit:cover; }
.orbit-controls { position:absolute; bottom:28px; left:50%; transform:translateX(-50%); z-index:4; display:flex; align-items:center; gap:22px; background:#fff9; border-radius:32px; padding:5px 8px; font-size:12px; color:var(--color-slate); }
.orbit-controls button { width:42px; height:42px; border-radius:50%; font-size:24px; color:var(--color-ink); transition:background-color .35s ease; }.orbit-controls button:hover { background:var(--color-control-gray); }
.configuration-options fieldset { padding:0; border:0; margin:0 0 35px; }.configuration-options legend { font:400 23px/1.3 var(--display); margin-bottom:18px; letter-spacing:-.03em; }
.configuration-option { position:relative; display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:74px; padding:19px 20px; border:1px solid #d6d6d6; border-radius:10px; margin-top:10px; cursor:pointer; transition:background-color .4s ease,border-color .4s ease; }
.configuration-option:has(input:checked) { background:#fff; border-color:var(--color-ink); }.configuration-option:hover { background:#ffffff80; }
.configuration-option input { position:absolute; width:1px; height:1px; opacity:0; }.configuration-option:has(input:focus-visible) { outline:2px solid var(--color-pricing-blue); outline-offset:4px; }
.configuration-option strong { display:block; font:400 16px/1.4 var(--body); }.configuration-option small { display:block; font:400 12px/1.5 var(--body); margin-top:5px; color:var(--color-slate); }
.configuration-option i { flex:0 0 16px; width:16px; height:16px; border:1px solid var(--color-steel); border-radius:50%; position:relative; }.configuration-option i::after { content:''; position:absolute; inset:3px; border-radius:50%; background:var(--color-ink); opacity:0; transform:scale(.5); transition:opacity .3s,transform .4s var(--ui-ease); }.configuration-option:has(input:checked) i::after { opacity:1; transform:scale(1); }
.configuration-note,.configuration-caption { color:var(--color-slate); font:400 12px/1.6 var(--body); }.configuration-caption { margin-top:14px; }
.configuration-total { display:flex; flex-direction:column; gap:10px; padding:30px 0; margin-top:20px; border-top:1px solid var(--color-hairline-silver); }.configuration-total>span { color:var(--color-slate); font-size:13px; }.configuration-total strong { font:400 29px/1.2 var(--display); }
.configuration-submit { background:var(--color-ink); color:white; width:100%; border-color:var(--color-ink); justify-content:center; }
.preorder-context { padding:0; overflow:hidden; }.preorder-context img { position:absolute; width:100%; height:100%; object-fit:cover; object-position:center; }.preorder-context>span { position:absolute; bottom:18px; left:22px; color:#707070; font-size:10px; }
.preorder-configuration { font-size:12px; line-height:1.5; color:#b7bec7; margin:0 0 20px; }
.preorder-success-mark { background:#103b24; color:#39c879; }.preorder-success-mark::after { border-color:#39c879; animation:success-check .55s cubic-bezier(.22,1,.36,1) both; }
.footer-contact-status[data-state=success] { color:#1a7f42; display:flex; gap:14px; align-items:center; }.footer-contact-status[data-state=success]::before { content:''; display:block; flex:0 0 17px; width:17px; height:9px; border:2px solid #21864b; border-top:0; border-right:0; transform:rotate(-45deg); animation:success-check .6s ease both; }
@keyframes success-check { from { clip-path:inset(0 100% 0 0); opacity:0; } to { clip-path:inset(0); opacity:1; } }
@media(max-width:800px) {
 .cad-story { height:480svh; }.cad-feature { height:230svh; }.cad-feature .cad-copy { bottom:42px; }.cad-feature .cad-pin::after { background:linear-gradient(0deg,#f5f5f7 0%,#f5f5f7 26%,transparent 55%); }
 .cad-copy { bottom:105px; }.cad-feature[data-cad-mode=carry] .cad-copy { bottom:35px; }.cad-feature[data-cad-mode=carry] .cad-panel h2 { font-size:31px; }
 .cad-panel small { font-size:11px; margin-top:12px; }.cad-controls { bottom:34px; }
 .simulation-section { padding:90px var(--gutter); grid-template-columns:1fr; gap:45px; }.simulation-detail { grid-column:1; }.simulation-number strong { font-size:110px; }
 .configuration-section { padding:70px var(--gutter) 90px; }.configuration-layout { display:flex; flex-direction:column; gap:12px; }.configuration-heading { margin-bottom:25px; }.configuration-heading>p { font-size:16px; }.configuration-visual { width:100%; height:420px; position:relative; top:0; }.configuration-options { width:100%; }.configuration-visual .cad-pin { height:420px; min-height:0; }.configuration-visual .cad-viewport { height:420px; }.orbit-controls { bottom:8px; }.configuration-options legend { font-size:21px; }
}
@media(prefers-reduced-motion:reduce) { .cad-story,.cad-feature { height:100svh; min-height:620px; }.configuration-visual { height:500px; min-height:0; }.preorder-success-mark::after,.footer-contact-status::before { animation:none!important; } }
@media(min-width:801px) { .configuration-visual { height:calc(100svh - 120px); min-height:500px; max-height:700px; } }
@media(max-width:800px) { .configuration-visual { position:sticky; top:0; z-index:3; height:300px; background:var(--color-studio-mist); }.configuration-visual .cad-pin,.configuration-visual .cad-viewport { height:300px; }.configuration-option { scroll-margin-top:320px; }.configuration-options { position:relative; }.configuration-layout { isolation:isolate; } }
.preorder-context { background:#f5f5f7; }.preorder-context img { object-fit:contain; }

/* Application opens on a self-playing CAD sequence; no scroll drives its motion. */
.page-application .page-main { max-width:none; padding:0; }
.page-application .workflow { max-width:1440px; margin-inline:auto; }
.cad-application,.cad-application .cad-pin { height:100svh; min-height:620px; }
.cad-application .cad-copy { bottom:72px; }
.cad-application .cad-panel { width:min(48%,660px); }
.ceo-portrait { display:block; width:100%; height:100%; object-fit:cover; object-position:center 32%; }
.team-card-ceo::after { content:''; position:absolute; z-index:0; inset:45% 0 0; background:linear-gradient(transparent,rgba(8,14,23,.76)); pointer-events:none; }
.team-card-ceo .member-info { z-index:1; }
@media(max-width:800px) {
 .cad-application,.cad-application .cad-pin { height:100svh; min-height:620px; }
 .cad-application .cad-copy { bottom:72px; }
 .cad-application .cad-panel { width:100%; }
}

.consultant-portrait { object-position:center 30%; }

/* Extra reading time for the stop-and-tie sequence. */
.product-page #hero { height:930svh; }
.cad-feature[data-cad-mode=movement] { height:320svh; }
.cad-feature[data-cad-mode=weather] { height:290svh; }
.page-team .team-section { padding-top:145px; }
.page-team .editorial-heading h1 { font:400 clamp(36px,4.6vw,68px)/1.08 var(--display); letter-spacing:-.045em; }
@media(max-width:800px){ .product-page #hero{height:880svh;} .page-team .team-section{padding-top:120px;} }
@media(prefers-reduced-motion:reduce){.product-page #hero,.cad-feature[data-cad-mode=movement],.cad-feature[data-cad-mode=weather]{height:100svh;}}

.page-team .page-main { padding:0; }

/* One continuous product scene while the operating brief scrolls beside it. */
.cad-application { height:auto; min-height:0; }
.cad-application .cad-pin::after { background:linear-gradient(90deg,#f5f5f7 0%,#f5f5f7 40%,#f5f5f700 67%),linear-gradient(0deg,#f5f5f7 0%,#f5f5f700 35%); }
.application-intro { transition:opacity 160ms linear,transform 160ms linear; }
.application-story { position:relative; z-index:2; padding:12svh var(--gutter) 32svh; pointer-events:none; }
.application-story-body { width:44%; max-width:600px; pointer-events:auto; }
.application-story p { margin:0 0 100px; font:400 clamp(25px,2.35vw,35px)/1.5 var(--body); letter-spacing:-.025em; color:var(--color-ink); }
.application-story p:last-child { margin-bottom:0; }
.application-emphasis { text-decoration-line:underline; text-decoration-thickness:2px; text-underline-offset:.18em; text-decoration-skip-ink:auto; }
.emphasis-positive { text-decoration-color:rgb(38 132 88 / var(--emphasis-opacity,1)); }
.emphasis-constraint { text-decoration-color:rgb(198 69 69 / var(--emphasis-opacity,1)); }
[dir=rtl] .application-story-body { margin-left:0; margin-right:auto; }
@media(max-width:800px){
 .cad-application .cad-pin { height:52svh; min-height:340px; z-index:3; background:var(--color-studio-mist); }
 .cad-application .cad-pin::after { background:linear-gradient(0deg,#f5f5f7 0%,#f5f5f7b3 14%,transparent 45%); }
 .cad-application .cad-copy { bottom:20px; height:85px; }
 .cad-application .cad-panel h1 { font-size:29px; }
 .cad-application .cad-panel p { font-size:13px; max-width:290px; margin-top:10px; }
 .application-story { padding-top:36px; padding-bottom:100px; }
 .application-story-body { width:100%; max-width:none; }
 .application-story p { font-size:23px; line-height:1.55; margin-bottom:76px; }
}
@media(prefers-reduced-motion:reduce){
 .cad-application { height:auto; }
 .application-intro { transition:none; }
 .application-word { opacity:1!important; }
 .application-emphasis { --emphasis-opacity:1!important; }
}

/* Weather protection is the fourth chapter of the uninterrupted product scene. */
.cad-anchor { position:absolute; top:calc(78% - 78svh); width:1px; height:1px; pointer-events:none; }
@media(prefers-reduced-motion:reduce){
 .product-page #hero { height:auto; }
 .product-page #hero .cad-pin { position:relative; height:auto; padding-top:76svh; }
 .product-page #hero .cad-viewport,.product-page #hero .cad-poster { height:70svh; }
 .product-page #hero .cad-copy { position:relative; inset:auto; height:auto; margin:0 var(--gutter); }
 .product-page #hero .cad-panel { position:relative; left:auto!important; right:auto!important; width:100%; margin-bottom:64px; opacity:1; transform:none; }
 .product-page #hero .cad-controls { position:relative; inset:auto; margin:0 var(--gutter) 48px; }
 .product-page #hero .cad-progress,.product-page #hero .cad-anchor { display:none; }
}
