/* Comfortable reading sizes, shared by the portal and every sub-site. */
body{font-size:16px}
.header nav a,.main-header .nav-link{font-size:14px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.header nav a:hover,.main-header .nav-link:hover{color:#fff;background:#ffffff12}
.button,.textlink,.header-contact-link,#slide-1 .hero-shortcuts a{font-size:15px;min-height:44px}
.eyebrow,.store-app .eyebrow,.world-purpose,.experience-eyebrow{font-size:12px;letter-spacing:.14em}
.store-search,.store-count,.store-availability,.store-status,.contact-layout form>label,.conversion-step-note{font-size:14px}
.store-app>p:not(.eyebrow),.store-app details p,.store-app details summary,.faq summary,.faq details p,.section>p,.feature p,.feature-card p,.footer p,.footer a,.conversion-next p{font-size:16px;line-height:1.75}
.store-app details summary{padding:14px 0;min-height:44px}
.store-app-bottom{width:100%}
.store-app-bottom details{width:100%}
.features p,.offer p,.offer li,.section-heading>p:last-child,.world-node p,.benefit,.portal-body p,.mini-consult p{font-size:16px;line-height:1.75}
.world-enter,.service-pill,.footer small,.portal-footer,.map-origin p,.journey-content p{font-size:14px}
.scroll-assist[hidden]{display:none}
.lead,.theme-store.has-glass-background .store-hero .lead{font-size:18px;line-height:1.75}
#slide-1 .col-1{font-size:clamp(16px,1.45vw,19px);line-height:1.75}
.guide-suggestions button,.guide-disclosure,.guide-foot,.form-note,.store-unavailable{font-size:13px}
.guide-message,.guide-form input,.premium-select-trigger,.premium-select-option{font-size:16px}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #e3ce9e;outline-offset:4px}
.scroll-assist{position:fixed;z-index:60;bottom:22px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:4px;padding:5px;border:1px solid #d7c49b55;border-radius:99px;background:#141722ed;box-shadow:0 8px 28px #0005;backdrop-filter:blur(16px)}
.scroll-assist button{display:flex;align-items:center;justify-content:center;gap:9px;min-height:44px;border:0;border-radius:99px;padding:10px 16px;background:transparent;color:#e8e4db;font:inherit;font-size:14px;cursor:pointer}
.scroll-assist button:hover:not(:disabled){background:#d7c49b20}
.scroll-assist button:disabled{opacity:.35;cursor:default}
.scroll-assist svg{width:18px;height:18px;flex:none;stroke:currentColor;stroke-width:1.7;fill:none}
body:has(dialog[open]) .scroll-assist{visibility:hidden}
.footer{padding-bottom:115px}
@media(max-width:760px){.header nav{flex-wrap:wrap;justify-content:center}.header nav a,.main-header .nav-link{font-size:13px;padding:10px 12px}.main-header .header-nav{flex-wrap:wrap;justify-content:center}.scroll-assist{bottom:18px}.scroll-assist button{padding:9px 11px;font-size:13px}.scroll-assist button:first-child span{display:none}.scroll-assist button:first-child{width:44px}#slide-1 .hero-shortcuts a{font-size:13px;padding:10px 12px}#slide-1 .col-1{font-size:16px}.eyebrow,.store-app .eyebrow{font-size:12px}}
@media(max-height:650px) and (max-width:760px){#slide-1{top:21%}#slide-1 .slide-title{font-size:30px}#slide-1 .col-1{font-size:15px;line-height:1.55}}
@media(forced-colors:active){.scroll-assist{background:Canvas;color:CanvasText;border-color:ButtonText}.scroll-assist button{color:ButtonText}}
/* Keep cinematic copy inside a reading area above the floating controls. */
#slide-3{left:5.5%;right:auto;width:min(680px,58vw);top:clamp(110px,18vh,160px);bottom:108px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#d7c49b55 transparent;padding:0 8px 6px 0;box-sizing:border-box;overscroll-behavior:contain}
#slide-3 .slide-title{font-size:clamp(34px,4.2vw,56px);line-height:1.06;margin:0 0 26px}
#slide-3 .benefits{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0;padding:0}
#slide-3 .benefit{gap:14px;padding:18px;border:1px solid #c5d0ec1c;border-radius:18px;background:linear-gradient(135deg,#141720ed,#090b11e8);align-items:flex-start;min-width:0}
#slide-3 .benefit p{font-size:16px;line-height:1.55;min-width:0}
#slide-3 .benefit strong{display:block;color:#f0f1f5;font-size:17px;font-weight:500;margin:0 0 8px}
#slide-3 .benefit .benefit-brand{width:40px;height:40px;flex-basis:40px;border-radius:12px}
#slide-2,#slide-4{bottom:110px}
@media(max-width:900px){#slide-3{left:5%;right:5%;width:auto;top:140px;bottom:100px}#slide-3 .slide-title{font-size:clamp(32px,5vw,44px);margin-bottom:20px}#slide-3 .benefit{padding:16px}#slide-2,#slide-4{bottom:105px}}
@media(max-width:540px){#slide-3{top:146px;bottom:98px;left:6%;right:6%}#slide-3 .benefits{grid-template-columns:1fr;gap:12px}#slide-3 .benefit{padding:14px}#slide-3 .benefit p{font-size:16px}#slide-3 .slide-title{font-size:32px;margin-bottom:18px}}
.page-header-auto{transition:transform .32s cubic-bezier(.22,1,.36,1),opacity .22s;will-change:transform;background:linear-gradient(180deg,#0b0d12f7,#0b0d12ed);backdrop-filter:blur(18px)}
.page-header-auto.page-header-hidden{transform:translateY(calc(-100% - 24px));opacity:0;pointer-events:none}
.header-progress{transition:opacity .2s}
body.header-retracted .header-progress{opacity:0}
#slide-3{scrollbar-width:none}
#slide-3::-webkit-scrollbar{display:none;width:0}
#slide-3:not(.active){overflow:hidden;visibility:hidden}
.slide[aria-hidden=true]{visibility:hidden}
#slide-1{bottom:110px;overflow-y:auto;scrollbar-width:none}
#slide-2,#slide-4{max-height:calc(100dvh - 230px);overflow-y:auto;scrollbar-width:none}
.slide::-webkit-scrollbar{display:none;width:0}
body:has(form:focus-within) .scroll-assist{visibility:hidden}
.header,.main-header{box-sizing:border-box}
@media(max-width:760px){.header .wordmark{min-width:0}.header nav{max-width:100%}.header .button{max-width:100%;font-size:13px}.main-header .header-nav{display:flex}.main-header .brand-text{font-size:14px}}
body.header-retracted #slide-3{top:48px;bottom:30px}
.slide p,.benefit p,.section p,.store-app p{user-select:text}
@media(prefers-reduced-motion:reduce){.page-header-auto,.header-progress{transition:none}}
/* A slim side gutter keeps the scroll hint and arrows away from reading text. */
.story-progress{display:none!important}
.reading-rail{position:fixed;right:8px;top:50%;transform:translateY(-50%);z-index:55;display:flex;align-items:center;gap:4px;width:50px;pointer-events:none}
.reading-rail[hidden]{display:none}
.reading-rail-arrows{display:flex;flex-direction:column;gap:8px;pointer-events:auto}
.reading-rail button{display:grid;place-items:center;width:44px;height:44px;border:1px solid #d4d9e51a;border-radius:14px;background:#11151bd9;color:#c6cbd8;cursor:pointer;transition:color .2s,border-color .2s}
.reading-rail button:hover:not(:disabled){color:#f2dcb1;border-color:#d7c49b70}
.reading-rail button:disabled{opacity:.3;cursor:default}
.reading-rail svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.reading-rail-dashes{display:flex;flex-direction:column;gap:10px}
.reading-rail-dashes>span{display:block;width:2px;height:32px;background:#c7cede25;border-radius:3px;overflow:hidden}
.reading-rail-dashes i{display:block;width:100%;height:0;background:#d3c29d;border-radius:3px}
body:has(.reading-rail)>main{padding-right:64px}
body:has(.reading-rail) .cinematic-container{width:calc(100% - 64px)}
body:has(.reading-rail) .ecosystem-section{padding-right:calc(6% + 64px)}
body:has(dialog[open],.premium-select.is-open) .reading-rail{visibility:hidden}
@media(max-width:760px){.reading-rail{right:3px;width:50px;gap:4px}.reading-rail button{width:44px;background:#11151be8}body:has(.reading-rail)>main{padding-right:56px}body:has(.reading-rail) .cinematic-container{width:calc(100% - 56px)}body:has(.reading-rail) .ecosystem-section{padding-right:calc(6% + 56px)}.reading-rail-dashes>span{height:26px}.reading-rail-dashes{gap:8px}}
@media(prefers-reduced-motion:reduce){.reading-rail button{transition:none}}
@media(forced-colors:active){.reading-rail button{background:Canvas;color:ButtonText;border-color:ButtonText}.reading-rail-dashes>span{background:GrayText}.reading-rail-dashes i{background:Highlight}}
/* Shield the offer copy from every position of the decomposing 3D emblem. */
body.has-glass-background .section:has(.offer-grid){background:linear-gradient(90deg,#0b0e15 0%,#0b0e15 58%,#0b0e15e6 66%,#0b0e1500 80%);isolation:isolate}
@media(max-width:1000px){body.has-glass-background .section:has(.offer-grid){background:#0b0e15}}
