/* Coordinated 01: integration and new after-launch / on-demand controls only. */
.hero-story{height:calc(1669.03097834svh + 558.6svh)}
.floating-demo{position:fixed;z-index:100;right:24px;bottom:24px;min-height:50px;padding:14px 20px;display:flex;align-items:center;gap:26px;background:#254e44;color:#f0f2e7;border:1px solid #90b4a2;border-radius:5px;box-shadow:0 6px 24px #10241c30;font:600 13px/1.4 Manrope,Arial,sans-serif;cursor:pointer}
.floating-demo:hover{background:#1c3e35}.floating-demo:focus-visible{outline:3px solid #c8dcc9;outline-offset:4px}.floating-demo[hidden]{display:none}
body:has(dialog[open]) .floating-demo{display:none}
.faq-trigger{border:0;background:none;color:inherit;font:600 12px/1.4 Manrope,Arial,sans-serif;cursor:pointer;padding:12px;text-decoration:underline;text-underline-offset:5px}.faq-trigger:focus-visible{outline:2px solid currentColor;outline-offset:3px}.site-header .header-cta{min-width:48px}
.purchase-questions{display:block;margin:14px 0 0 auto;color:#365c4e}.chapter-footer{padding-bottom:100px}.chapter-footer button{color:inherit}
#faq-dialog{padding:0;width:min(760px,calc(100vw - 48px));max-width:none;max-height:calc(100dvh - 64px);border:1px solid #a7b9ab;border-radius:5px;background:#eff0e7;color:#233d33;box-shadow:0 24px 90px #07181266;overflow:auto}
#faq-dialog::backdrop{background:#0b171bbb;backdrop-filter:blur(5px)}
.faq-panel-head{position:sticky;top:0;z-index:2;background:#eff0e7;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 32px;border-bottom:1px solid #bdc8bd}.faq-panel-head h2{font:400 34px/1.1 Georgia,serif;letter-spacing:-.04em;margin:0}.faq-close{border:1px solid #839b8b;background:transparent;border-radius:50%;color:#284438;font:400 25px/1 Arial;min-width:44px;height:44px;cursor:pointer}.faq-close:focus-visible{outline:2px solid #284438;outline-offset:3px}.faq-panel-body{padding:8px 32px 30px}.faq-panel-body .faq-row:first-child{border-top:0}
.after-options{gap:20px;padding-top:0}.after-rule{display:none}.after-option{padding:28px 26px;background:linear-gradient(145deg,#f7f7ee,#e5eae0);border:1px solid #bcc8b9;border-radius:7px;box-shadow:inset 0 1px 0 #fff,0 8px 23px #263b2910}.after-number{font-size:42px;margin-bottom:18px}.after-option h3{font-size:31px}.after-description{font-size:13px;line-height:1.65}.after-status{font-size:13px;min-height:39px}.after-terms{min-height:34px}.after-close{margin-top:28px}
@media(min-width:1101px){.after-close{padding-right:225px}}
.northline-demo{display:block;position:absolute;inset:0;width:100%;height:100%;border:0;pointer-events:none;background:#102226}
@media(min-width:1101px){.inside-footnote{right:285px}.range-bottom{padding-right:240px}}
@media(max-width:1100px){.after-options{grid-template-columns:1fr;display:grid;gap:16px}.after-option{display:flex;padding:25px 30px 25px 94px;position:relative}.after-number{position:absolute;left:27px;top:27px}.after-status,.after-terms{min-height:0}.after-description{max-width:65ch}.after-action{margin-top:3px}.inside-footnote{bottom:80px}}
@media(max-width:600px){
 .hero-story{height:calc(1417.98602180svh + 558.6svh)}
 .floating-demo{right:auto;left:50%;transform:translateX(-50%);bottom:calc(12px + env(safe-area-inset-bottom));min-height:50px;white-space:nowrap;width:max-content;max-width:calc(100vw - 36px);padding:12px 18px;gap:22px}
 #faq-dialog{width:100%;height:100dvh;max-height:100dvh;max-width:100%;margin:0;border-radius:0;border:0}.faq-panel-head{padding:20px}.faq-panel-head h2{font-size:29px}.faq-panel-body{padding:0 22px 30px}
 .after-option{padding:23px 21px 23px 62px}.after-number{left:19px;top:24px;font-size:30px}.after-option h3{font-size:28px}.after-status{font-size:12px}.after-description{font-size:13px}.after-options{gap:13px}
 .chapter-footer{padding-bottom:100px}.range-bottom{bottom:82px}.range-showroom .showcase{top:49%}.inside-footnote{display:none}
 .hero-bottom{bottom:80px}.inside-conclusion{top:78%}
}
@media(prefers-reduced-motion:reduce){.hero-story{height:200svh}.inside-travel{height:100svh}}
.reduced-scene .hero-story{height:200svh}.reduced-scene .inside-travel{height:100svh}
@media(max-width:600px) and (max-height:649px){.research-context{display:none}}
@media(min-width:601px) and (max-width:1100px) and (max-height:899px){.research-context{display:none}}
@media(max-width:1100px){.research-context{display:none}}
.demo-compact .demo-story{height:calc(min(720px,100svh - var(--demo-top) - 84px) + 165svh)}
.demo-compact .demo-pin{height:min(720px,calc(100svh - var(--demo-top) - 84px))}
@media(max-width:600px){.design-caption>span:nth-child(2){display:none}.demo-compact .demo-story{height:calc(min(720px,100svh - var(--demo-top) - 96px) + 165svh)}.demo-compact .demo-pin{height:min(720px,calc(100svh - var(--demo-top) - 96px))}}
.demo-concept-object .screen-face{background:#101619}
.demo-concept-object .screen-face{container-type:size}
.demo-concept-object iframe.northline-demo{width:960px;height:600px;left:50%;top:50%;transform:translate(-50%,-50%) scale(min(calc(100cqw / 960px),calc(100cqh / 600px)));transform-origin:center}
@media(max-width:600px){.demo-concept-object iframe.northline-demo{width:560px;height:430px;transform:translate(-50%,-50%) scale(min(calc(100cqw / 560px),calc(100cqh / 430px)))}}

/* Warm S02 exit enters the independent S03 origin without a hard background seam. */
.range-story{background:linear-gradient(#e8e1cf,#1d2425 100px)}
