body[data-page="home"] .utility-bar,body[data-page="firmwares"] .utility-bar,body[data-page="lessons"] .utility-bar{display:none}
body[data-page="home"] main,body[data-page="firmwares"] main,body[data-page="lessons"] main{max-width:none;padding-top:0}
.portal-hero{position:relative;min-height:var(--portal-hero-height);padding:var(--space-10) var(--page-gutter) var(--space-12);margin-inline:calc(var(--page-gutter)*-1);isolation:isolate;overflow:hidden}
.portal-video-backdrop{position:absolute;inset:0;z-index:0;background:var(--image-bg);transform:translateZ(0);backface-visibility:hidden}
.portal-hero-video{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transform:translateZ(0);backface-visibility:hidden}
.portal-video-backdrop:after{content:"";position:absolute;inset:0;background:rgb(0 0 0 / var(--hero-video-dim));pointer-events:none}
.portal-hero .portal-hero-copy p,.portal-hero .portal-hero-copy small{color:var(--text)}
.portal-hero .page-kicker{position:relative;z-index:2;color:var(--text)}
.portal-hero.section-hero{min-height:var(--section-hero-height);margin-bottom:var(--space-11)}
@media(max-width:800px){.portal-hero.section-hero{min-height:var(--section-hero-mobile-height)}}
.guide-controls{margin:0;border-top:var(--border-width) solid var(--border)}
.guide-controls>div{display:grid;grid-template-columns:minmax(0,var(--guide-key-width)) minmax(0,1fr);gap:var(--space-8);padding:var(--space-6) 0;border-bottom:var(--border-width) solid var(--border)}
.guide-controls dt{font-weight:var(--weight-normal);overflow-wrap:anywhere}
.guide-controls kbd{background:transparent;font-family:var(--font-mono);font-size:var(--text-sm);line-height:var(--line-sm);padding:0;border:0}
.guide-controls dd{margin:0;color:var(--text-muted);font-size:var(--text-base);line-height:var(--line-base)}
@media(max-width:640px){.guide-controls>div{grid-template-columns:1fr;gap:var(--space-4)}.portal-hero{padding-top:var(--space-9)}}
.portal-hero h1{position:relative;z-index:2;font-size:var(--portal-display);line-height:.95;letter-spacing:var(--hero-tracking);font-weight:var(--weight-normal);margin:var(--space-8) 0 var(--space-10)}
.portal-hero-copy{position:relative;z-index:2;width:34%;min-width:var(--size-320);max-width:var(--size-470)}
.portal-hero-copy p{font-size:var(--hero-intro-size);line-height:var(--hero-intro-line);color:var(--text-muted);margin-bottom:var(--space-6)}
.portal-hero-copy small{display:block;color:var(--text-dim);font-size:var(--text-sm);line-height:var(--line-sm);margin-top:var(--space-8)}
.portal-actions{display:flex;flex-wrap:wrap;gap:var(--space-6);margin:var(--space-9) 0}
.portal-hero-copy .portal-actions{flex-direction:column;align-items:flex-start}
.portal-device{position:absolute;top:var(--portal-device-top);right:var(--portal-device-right);width:var(--portal-device-width);margin:0;z-index:0;pointer-events:none}
.portal-device img{width:100%;height:auto;display:block}
.portal-device-visual{position:relative}
.portal-device figcaption{max-width:var(--size-560);padding-left:var(--space-12);color:var(--text-dim);font-family:var(--font-mono);font-size:var(--text-xs);line-height:var(--line-sm)}
.portal-explainer{border-top:var(--border-width) solid var(--border);padding:var(--space-11) 0 var(--space-12)}
.portal-explainer h2{font-size:var(--section-title-size);line-height:1;letter-spacing:var(--hero-tracking);font-weight:var(--weight-normal);margin:var(--space-8) 0 var(--space-10)}
.stock-lead{font-size:var(--text-lg);line-height:var(--line-lg);color:var(--text-muted);max-width:var(--firmware-intro-width)}
.stock-numbers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:var(--space-10) 0;border-top:var(--border-width) solid var(--border);border-bottom:var(--border-width) solid var(--border)}
.stock-numbers>div{padding:var(--space-9) var(--space-8);border-right:var(--border-width) solid var(--border)}
.stock-numbers>div:first-child{padding-left:0}.stock-numbers>div:last-child{border:0}
.stock-numbers strong{display:block;font-size:var(--section-title-size);font-weight:var(--weight-normal);letter-spacing:var(--hero-tracking);line-height:1}
.stock-numbers span{display:block;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-dim);margin-top:var(--space-6)}
.stock-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-10)}
.stock-features h3{font-size:var(--text-xl);font-weight:var(--weight-normal);line-height:var(--line-xl);margin-bottom:var(--space-6)}
.stock-features p{font-size:var(--text-base);line-height:var(--line-base);color:var(--text-muted)}
@media(max-width:800px){.stock-features{grid-template-columns:1fr}.stock-numbers>div{padding:var(--space-7) var(--space-5)}.stock-numbers strong{font-size:var(--text-heading)}.stock-numbers span{font-size:var(--text-xs);overflow-wrap:anywhere}}
.portal-columns,.portal-path{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-10)}
.portal-columns p{font-size:var(--text-base);line-height:var(--line-base);color:var(--text-muted);margin:0 0 var(--space-8)}
.portal-path{margin-top:var(--space-9);grid-template-columns:repeat(2,minmax(0,1fr))}
.portal-path a{padding-right:var(--space-8);min-width:0}
.portal-path a:hover strong{text-decoration:underline}
.portal-path span{font-family:var(--font-mono);color:var(--text-dim)}
.portal-path h3{font-size:var(--text-xl);font-weight:var(--weight-normal);margin:var(--space-8) 0 var(--space-6)}
.portal-path p,.learning-source-note{font-size:var(--text-base);line-height:var(--line-base);color:var(--text-muted)}
.portal-path strong{display:block;font-weight:var(--weight-normal);margin-top:var(--space-8)}
.learning-section-label{display:flex;justify-content:space-between;gap:var(--space-6);margin:var(--space-8) 0;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted)}
.learning-source-note{max-width:var(--firmware-intro-width);margin:var(--space-9) 0}
.firmware-preview{margin:var(--space-8) 0 0;background:var(--image-bg);position:relative;min-width:0;border:var(--border-width) solid var(--border);overflow:hidden}
.firmware-preview img{width:100%;height:var(--firmware-preview-height);display:block;object-fit:contain}
.firmware-preview [hidden]{display:none}
.firmware-preview figcaption{font-family:var(--font-mono);font-size:var(--text-xs);line-height:var(--line-sm);color:var(--text-dim);padding:var(--space-4) var(--space-5);border-top:var(--border-width) solid var(--border)}
.guide-animation-toggle{min-height:var(--button-md);margin-left:var(--space-6);padding:var(--space-4) var(--space-6);border:var(--border-width) solid var(--border-input);background:transparent;color:var(--text);font:inherit;cursor:pointer}
.guide-animation-frame img{width:var(--size-240);height:var(--size-240);margin:var(--space-8) auto;image-rendering:pixelated;max-width:100%}
.preview-unavailable{min-height:var(--firmware-preview-height);display:grid;place-items:center;padding:var(--space-8);text-align:center;color:var(--text-dim);font-size:var(--text-sm)}
.firmware-preview.large img{height:var(--firmware-passport-preview-height)}
.learning-programme{display:grid;grid-template-columns:1.3fr 1fr;gap:var(--space-11);align-items:center;margin:var(--space-10) 0}
.learning-programme h1{font-size:var(--section-title-size);line-height:1;letter-spacing:var(--hero-tracking);font-weight:var(--weight-normal);margin:var(--space-8) 0}
.learning-programme .firmware-intro{margin-bottom:var(--space-8)}
.learning-course-meta{display:flex;gap:var(--space-8);flex-wrap:wrap;color:var(--text-dim);font-family:var(--font-mono);font-size:var(--text-sm)}
.learning-curriculum{margin-top:var(--space-12)}
.learning-curriculum>h2{font-size:var(--text-xl);font-weight:var(--weight-normal);line-height:var(--line-xl);margin:var(--space-7) 0 var(--space-9);max-width:var(--firmware-intro-width)}
.learning-lesson-list{border-top:var(--border-width) solid var(--border)}
.learning-lesson-list>a{display:grid;grid-template-columns:var(--space-12) minmax(0,1fr) auto;gap:var(--space-8);padding:var(--space-9) 0;border-bottom:var(--border-width) solid var(--border);align-items:start}
.learning-lesson-list>a:hover{background:var(--surface)}
.learning-index,.learning-lesson-list>a>span:last-child{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-dim)}
.learning-lesson-list h3{font-size:var(--text-xl);font-weight:var(--weight-normal);line-height:var(--line-xl)}
.learning-lesson-list p{color:var(--text-muted);font-size:var(--text-base);line-height:var(--line-base);margin-top:var(--space-4);max-width:var(--article-width)}
@media(max-width:800px){.portal-hero{min-height:0}.portal-hero h1{font-size:var(--mobile-page-title-size)}.portal-hero-copy{width:100%;min-width:0;max-width:var(--size-470)}.portal-device{position:relative;top:auto;right:auto;width:var(--mobile-art-width);margin-left:var(--mobile-art-offset);margin-top:var(--space-9)}.portal-device figcaption{padding-left:var(--space-17);max-width:75%}.portal-columns,.portal-path{grid-template-columns:1fr;gap:var(--space-8)}.portal-explainer h2{font-size:var(--text-heading)}.portal-path a{padding:0 0 var(--space-8);border-bottom:var(--border-width) solid var(--border)}.learning-programme{grid-template-columns:1fr;gap:var(--space-6)}.learning-programme h1{font-size:var(--text-heading)}.learning-lesson-list>a{grid-template-columns:var(--space-9) minmax(0,1fr);gap:var(--space-6)}.learning-lesson-list>a>span:last-child{grid-column:2}.learning-section-label{flex-direction:column}.firmware-preview.large img{height:var(--firmware-preview-height)}}
