/* Loaded last. Images keep their uploaded composition at every viewport. */
html{scroll-padding-top:88px}
.portal-header{position:sticky;top:0;z-index:70;background:rgba(250,250,249,.96);backdrop-filter:blur(20px);border-bottom:1px solid #14171c12;color:#202225;transition:transform .22s ease;--header-bg:#fafaf9}
.portal-header.is-hidden{transform:translateY(-102%)}
.portal-nav-shell{max-width:1600px;min-height:72px;margin:auto;padding:0 36px;display:flex;align-items:center;gap:24px}
.portal-logo{display:flex;flex:none;align-items:center;padding:12px 0}
.portal-logo img{display:block;max-width:200px;height:auto;object-fit:contain}
.portal-navigation{display:flex;gap:24px;margin-left:auto;align-items:center;white-space:nowrap;font-size:14px;flex-shrink:0}
.portal-navigation a{padding:14px 0}.portal-navigation a:hover{color:#3677dc}
.portal-service{flex:none;white-space:nowrap;font-size:14px;line-height:1.5;border-radius:24px;padding:10px 19px;background:#202225;color:white}
.portal-menu-toggle{display:none;background:transparent;color:inherit;font-size:23px;width:40px;height:44px;padding:0;flex:none}
.portal-header[data-theme=dark]{background:rgba(22,25,30,.96);color:#fff;--header-bg:#16191e}
.portal-header[data-theme=dark] .portal-service{background:white;color:#202225}
.portal-header.compact .portal-nav-shell{gap:14px}
.portal-header.compact .portal-service{margin-left:auto}
.portal-header.compact .portal-menu-toggle{display:block}
.portal-header.compact .portal-navigation{display:none;position:absolute;top:100%;left:0;right:0;background:var(--header-bg);padding:16px 24px 24px;max-height:calc(100dvh - 72px);overflow-y:auto;border-bottom:1px solid #8883;white-space:normal;box-shadow:0 16px 24px #0001}
.portal-header.compact.menu-open .portal-navigation{display:grid;gap:0}
.portal-header.compact .portal-navigation a{padding:12px 0;border-bottom:1px solid #8882}
.visual.has-image:not(.hero-background){aspect-ratio:auto!important;min-height:0!important;display:block;height:auto!important}
.visual.has-image>.configured-image{position:relative!important;inset:auto!important;display:block;width:100%!important;height:auto!important;object-fit:contain!important;max-width:100%}
.hero-banner:has(.has-image){display:grid;grid-template-columns:minmax(0,1fr);aspect-ratio:auto;min-height:0;padding:0}
.hero-banner:has(.has-image)>.hero-background{position:relative;inset:auto;height:auto;grid-area:1/1;align-self:center;z-index:-2}
.hero-banner:has(.has-image)>.wrap{grid-area:1/1;padding:36px 0}
.hero-banner:has(.has-image):after{grid-area:1/1}
.wrap>*{min-width:0}img{max-width:100%}.table-scroll{max-width:100%}
@media(max-width:1100px){
 .portal-nav-shell{padding:0 24px}.portal-navigation{gap:18px}
 .feature-split,.detail-split,.reading-row{gap:32px;grid-template-columns:repeat(2,minmax(0,1fr))}
 .spec-grid,.three-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
 .scene-story{column-gap:28px}.network-stats{gap:24px}.network-stats h3{font-size:42px}
 .detail-hero h1{font-size:clamp(36px,5.4vw,64px)}
 .hero-banner .hero-copy{width:57%}.hero-banner .hero-line{margin-top:16px}.hero-banner .actions{margin-top:22px;gap:16px}
}
@media(max-width:767px){
 .portal-nav-shell{min-height:64px;padding:0 18px;gap:12px}
 .portal-logo img{max-width:min(120px,29vw)}.portal-service{padding:9px 13px;font-size:12px}.portal-menu-toggle{width:30px}
 .portal-header.compact .portal-nav-shell{gap:10px}.portal-header.compact .portal-navigation{max-height:calc(100dvh - 64px)}
 /* One continuous mobile hero: readable copy above a larger product focal point. */
 .hero-banner:has(.configured-image){--mobile-hero-image:clamp(240px,68vw,320px);display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto;aspect-ratio:auto;min-height:0;padding:0;background:#101c2d}
 .hero-banner:has(.configured-image)>.hero-background{position:absolute;inset:auto 0 0;height:var(--mobile-hero-image);z-index:-2;background:#101c2d}
 .hero-banner:has(.configured-image)>.hero-background>.configured-image{height:100%!important;object-fit:cover!important;object-position:100% 60%}
 .hero-banner:has(.configured-image)>.wrap{grid-area:1/1;width:calc(100% - 40px);padding:32px 0 calc(var(--mobile-hero-image) + 4px)}
 .hero-banner:has(.configured-image):after{display:block;inset:auto 0 0;height:var(--mobile-hero-image);background:linear-gradient(180deg,#101c2d 0%,#101c2dc4 12%,#101c2d35 28%,transparent 45%);z-index:-1}
 .hero-banner .hero-copy{width:100%;max-width:520px;margin:auto;text-align:center}
 .hero-banner .eyebrow{font-size:12px;padding:3px 11px;margin-bottom:12px}
 .hero-banner h1{font-size:clamp(38px,10.5vw,48px);letter-spacing:-.04em}
 .hero-banner .hero-definition{font-size:clamp(16px,4.25vw,20px);line-height:1.55;margin:16px auto 0;max-width:26em;text-wrap:balance}
 .hero-banner .hero-line{font-size:14px;line-height:1.75;margin:12px auto 0;max-width:29em;color:#c1ccda;text-wrap:pretty}
 .hero-banner .actions{justify-content:center;gap:12px 18px;margin-top:22px}
 .hero-banner .button{font-size:14px;padding:11px 20px}.hero-banner .text-link{font-size:13px}
 .overview-copy{position:relative;inset:auto;padding:24px;color:var(--ink);text-shadow:none}.overview-copy p{color:var(--muted)}
 .overview-copy h2{max-width:none;font-size:20px}.overview-copy p{font-size:18px}
 .feature-split,.detail-split,.reading-row,.three-grid,.two-grid,.creation-grid,.spec-grid{grid-template-columns:minmax(0,1fr);gap:28px}
 .wrap{width:calc(100% - 40px)}.detail-hero h1,h1{font-size:clamp(32px,8.5vw,48px);overflow-wrap:anywhere}
 h2,.detail-block h2{font-size:clamp(28px,7vw,40px)}
 #terminal .series-title,.series-heading .series-title{font-size:clamp(32px,8.5vw,52px);white-space:normal;text-wrap:balance}
 .network-stats{grid-template-columns:1fr;gap:28px}.network-stats h3{white-space:normal}
 .footer-grid{grid-template-columns:1fr;gap:28px}.footer-bottom{flex-wrap:wrap}.footer-links{grid-template-columns:1fr 1fr}
 .reason-list article,.scene-stages{min-width:0}p,h3,td{overflow-wrap:anywhere}
}
@media(prefers-reduced-motion:reduce){.portal-header{transition:none}}
@media print{.portal-header{display:none}}
