:root{--bg:#151e2d;--surface:#1e2b40;--line:#3e5069;--text:#f5f8fc;--muted:#bccbdc;--radius-button:8px;--radius-panel:12px;--space-section:80px}
body{background:var(--bg)}
.wrap,.continuity{width:min(1200px,calc(100% - 80px));margin-inline:auto}
.site-header{gap:28px;min-height:104px}.site-header nav{gap:24px}
.continuity{margin-top:48px;margin-bottom:32px;--card-width:min(680px,calc(100% - var(--photo-width) - 70px))}
.continuity .lead{max-width:650px}.continuity .hero-intro{max-width:54ch}.continuity .bio-panel{border-radius:12px;background:#213149;backdrop-filter:none}
.continuity .bio-panel:not([inert]){pointer-events:auto}
.continuity .photo-trigger{border-radius:12px;box-shadow:inset 1px 1px 0 #e6efff30,0 2px 5px #080e1c70,0 18px 35px #080e1c85}
.approvals{padding-block:32px 40px}.approvals-track{max-width:none}
.catalog-section{padding-block:var(--space-section)}
.section-heading,.md-heading,.testimonials-heading{margin-bottom:32px}
.section-heading h2,.map-copy h2,.testimonials-heading h2,.faq-section h2{font:500 clamp(1.85rem,3.1vw,2.65rem)/1.2 Cinzel,Georgia,serif;letter-spacing:-.025em}
.map-section{padding-block:0 var(--space-section);gap:64px}.material-showcase{padding-block:0 var(--space-section)}
.material-showcase .md-exhibition{border-radius:12px;background:#1c2a3e;border-color:#53667f;box-shadow:inset 1px 1px 0 #e6efff18,0 10px 24px #080e1c40}
.material-showcase .md-exhibition:focus-within{box-shadow:inset 1px 1px 0 #e6efff18,0 10px 24px #080e1c40}
.material-showcase .sample-enlarge{min-height:44px}.material-showcase .caption-copy{max-width:47ch}
.map-preview{border-radius:12px}.card-face{border-radius:12px}.card-rear{border-radius:10px}
.testimonials-section{padding-block:0 var(--space-section)}
.testimonials-track{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding:0;margin:24px 0 0;overflow:visible;align-items:start}
.testimonial-card{width:100%;min-width:0;margin:0;align-self:start;padding:28px;border-radius:12px;box-shadow:inset 1px 1px 0 #e6efff15,0 4px 12px #080e1c35;transition:none}
.testimonial-card:last-child{grid-column:1/-1}.testimonial-card:last-child blockquote{max-width:90ch}
.testimonial-card figcaption{margin-top:0;padding-top:20px}.testimonial-card blockquote{margin-bottom:24px}
.testimonial-card:hover,.testimonial-card:focus-visible{transform:none;box-shadow:inset 1px 1px 0 #e6efff15,0 4px 12px #080e1c35}
.faq-section{padding-block:0 var(--space-section);gap:64px}.site-footer{padding-block:32px 40px}
.course-card:hover,.course-card:has(:focus-visible){transform:none}
.course-card:hover .card-rear,.course-card:has(:focus-visible) .card-rear{left:-7px;right:7px}
.course-card:hover .card-face,.course-card:has(:focus-visible) .card-face{box-shadow:inset 1px 1px 0 #e6efff24,inset -1px -1px 0 #080e1c60,0 2px 5px #080e1c70,0 14px 28px #080e1c80,0 28px 48px #080e1c55}
.map-preview:hover,.map-preview:focus-visible{transform:none}
.pressable{border-radius:8px;isolation:isolate;min-height:44px}
.continuity .photo-trigger.press-photo{border:0;background:transparent;box-shadow:none;overflow:visible}.photo-trigger.press-photo:after{display:none}
.portrait-press-surface{position:absolute;inset:0;display:block;overflow:hidden;border:1px solid #adc2dd80;border-radius:12px;background:#243047;box-shadow:inset 1px 1px 0 #e6efff30,0 2px 5px #080e1c70,0 18px 35px #080e1c85}
.portrait-press-surface:after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#0b1426ef);pointer-events:none;z-index:0}
.portrait-press-surface .portrait-signature{z-index:1}
.pressable.press-box{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;overflow:visible;display:inline-flex;align-items:stretch;justify-content:center;transform:none}
.press-face{transform:scale(1);transform-origin:center;transition:transform 140ms cubic-bezier(.23,1,.32,1),background-color 100ms,border-color 100ms;pointer-events:none;border-radius:8px}
.press-box>.press-face{display:flex;flex:1;min-width:0;align-items:center;justify-content:inherit;gap:var(--press-gap,8px);padding:var(--press-padding,10px 16px);border:var(--press-border,1px solid #52627a);background:var(--press-background,transparent);box-shadow:none;border-radius:8px}
.press-face[data-press=down]{transform:scale(.97)}
.pressable:focus-visible{outline:2px solid #e0bc78;outline-offset:4px}
.press-box.primary-depth>.press-face{border:1px solid #b7cce2;background:#96b2cf;box-shadow:inset 0 1px 0 #eef7ffb0,0 3px 0 #45617e,0 5px 9px #080e1c70;color:#101e31}
.primary-depth>.press-face[data-press=down]{box-shadow:inset 0 1px 0 #eef7ff60,0 1px 0 #45617e,0 2px 4px #080e1c60}
.press-box.file-toggle{display:flex;width:100%;justify-content:space-between}.file-toggle>.press-face{justify-content:space-between;text-align:left}
.press-box.sound-toggle{min-width:44px}.sound-toggle-top>.press-face{padding:8px 12px;gap:8px}.press-sound svg{flex:none}
.view-toggle{border-radius:10px}.view-toggle button[aria-pressed=true]>.press-face{background:#334760}
#course-dialog .detail-panel{will-change:transform,clip-path}
.material-showcase .arrow-glyph,.material-reader .arrow-glyph,.continuity .close-glyph,#course-dialog .close-glyph,.material-showcase .playback-glyph{border-radius:8px}
@media(hover:hover) and (pointer:fine){
 .course-card{transition:transform 160ms cubic-bezier(.23,1,.32,1)}.course-card:hover{transform:translateY(-3px)}.course-card:hover .card-rear{left:-10px;right:10px}
 .press-box:hover:not(:disabled)>.press-face{background-color:#354d69;border-color:#abc4df}.press-box.primary-depth:hover>.press-face{background-color:#b3cbe2}
}
@media(max-width:1000px){.site-header{gap:16px}.site-header nav{gap:16px}.wrap,.continuity{width:calc(100% - 48px)}.map-section,.faq-section{gap:40px}}
@media(max-width:700px){
 :root{--space-section:48px}.wrap,.continuity{width:calc(100% - 40px)}.site-header{min-height:0;padding-block:22px;gap:16px}.site-header nav{gap:12px}.site-header .sound-toggle-top{margin-left:auto}
 .continuity{margin-top:32px;margin-bottom:24px;--card-width:100%}.continuity .lead{max-width:none}.continuity .hero-actions{gap:16px}
 .approvals{padding-block:24px 32px}.catalog-section{padding-top:48px}.section-heading,.md-heading,.testimonials-heading{margin-bottom:24px}
 .map-section{gap:32px}.testimonials-track{grid-template-columns:1fr;gap:20px}.testimonial-card{padding:24px}.testimonial-card:last-child{grid-column:auto}.testimonials-hint{margin-bottom:24px}
 .faq-section{gap:24px}.site-footer{padding-block:24px 32px}.material-showcase .md-exhibition{padding:20px 14px}
 .material-showcase .sample-enlarge>.press-face{padding:8px 10px}.material-showcase .playback-controls{gap:6px}.material-showcase .sample-position{font-size:11px}
}
@media(prefers-reduced-motion:reduce){.press-face,.course-card{transition:none!important}.press-face[data-press=down]{transform:none;background-color:#405b79}.course-card:hover{transform:none}}
html[data-input=keyboard] .press-face{transition:none}

/* V3: sheets scale to the available stage, including both neighboring poses. */
.material-showcase .b-card{width:var(--sample-page-width,250px);top:calc(50% - 28px)}
.material-showcase .stage{height:510px;margin:0}
.material-showcase .md-exhibition{gap:40px}
@media(max-width:900px){.material-showcase .stage{height:430px}}
@media(max-width:700px){.material-showcase .stage{height:375px}}

/* Home map: one full-width image with its real aspect ratio; no crop or empty sibling strip. */
.map-frame{width:100%;height:auto;min-height:0;aspect-ratio:auto}
.map-frame>img{display:block;width:100%;height:auto;object-fit:contain;object-position:center}
