/* Reference supplied 08/10/2026: flat light navigation, near edge-to-edge film.
   Page-scoped tokens keep the admin and documentation chat unchanged.
   DESIGN_VARIANCE 5 / MOTION_INTENSITY 3 (provided film) / VISUAL_DENSITY 3. */
.public-landing {
    --public-bg:#fdfcf9; --public-panel:#f2f0eb; --public-text:#181817;
    --public-muted:#6b6761; --public-line:#dedbd5; --public-accent:#95611b;
    --accent-hover:#7b4d12; --home-header-height:72px; --landing-gutter:12px; --launch-video-fit:cover;
    color-scheme:light;
}
.public-landing .landing-header {
    height:var(--home-header-height); padding:0 28px; gap:clamp(28px,4vw,72px);
    display:flex; flex-direction:row; align-items:center; justify-content:flex-start;
    border:0; box-shadow:none; background:var(--public-bg); max-width:none;
}
.public-landing .landing-header .brand {font-size:28px; letter-spacing:-.065em; white-space:nowrap; color:#141413; display:flex; align-items:baseline; gap:7px}
.public-landing .landing-header .brand span {display:inline; margin:0; font-size:26px; font-weight:450; letter-spacing:-.035em; color:var(--public-accent)}
.public-landing .landing-header .landing-nav {display:flex; flex-wrap:nowrap; justify-content:flex-start; gap:clamp(20px,2.6vw,44px); min-width:0}
.public-landing .landing-header .landing-nav a {font-size:15px; font-weight:500; white-space:nowrap; padding:10px 0; color:#24221e; text-underline-offset:6px}
.landing-account {margin-left:auto; flex:none}
.public-landing .landing-login {display:inline-flex; align-items:center; justify-content:center; min-height:40px; padding:7px 20px; font-size:14px; font-weight:550; text-decoration:none; border:1px solid #d2cec6; border-radius:4px; color:#24221e; background:transparent; box-shadow:none}
.public-landing .landing-login:hover {background:#eeeae3}
.public-landing :focus-visible {outline:2px solid #95611b; outline-offset:4px}
.public-landing main {padding:0 var(--landing-gutter) 60px; max-width:none}
.launch-hero {position:relative; height:calc(100svh - var(--home-header-height) - 2 * var(--landing-gutter)); min-height:380px; margin:var(--landing-gutter) 0 0; border-radius:10px; border:0; box-shadow:none; scroll-margin-top:12px}
.launch-frame {position:absolute; inset:0; border-radius:inherit; overflow:hidden; background:#111; isolation:isolate}
.launch-video {display:block; width:100%; height:100%; object-fit:var(--launch-video-fit); object-position:center; border:0; border-radius:inherit}
/* Only the film is fixed. Its empty slot retains the final layout throughout. */
html.launch-intro {overflow:hidden}
.launch-intro .launch-frame {position:fixed; inset:0; z-index:100; width:100%; height:100svh; border-radius:0; clip-path:inset(0 round 0px); will-change:transform,clip-path}
.launch-intro .launch-video {transform:scale(1.2); object-fit:cover; border-radius:0; will-change:transform}
.launch-intro .landing-header {opacity:0; visibility:hidden; transform:translateY(-8px)}
.launch-intro .launch-video-toggle {opacity:0; visibility:hidden}
.public-landing .launch-video-toggle {position:absolute; z-index:1; top:18px; right:18px; display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:40px; max-width:calc(100% - 32px); padding:9px 15px; border:0; border-radius:4px; box-shadow:none; background:rgb(15 15 14 / 82%); color:#fffdf8; font:500 12px/1.4 Geist,system-ui,sans-serif; cursor:pointer; touch-action:manipulation}
.public-landing .launch-video-toggle:hover {background:rgb(15 15 14 / 94%)}
.public-landing .launch-video-toggle:focus-visible {outline-color:#fffdf8}
.launch-toggle-icon {width:11px; height:12px; position:relative; flex:none}
.launch-toggle-icon:before {content:''; position:absolute; top:1px; left:2px; width:0; height:0; border-top:5px solid transparent; border-bottom:5px solid transparent; border-left:8px solid currentColor}
.is-playing .launch-toggle-icon:before {top:1px; left:1px; width:9px; height:10px; border:0; border-left:3px solid currentColor; border-right:3px solid currentColor}
.launch-video-error {position:absolute; left:20px; bottom:20px; margin:0; padding:12px 16px; background:#151514; color:#fffdf8; border-radius:4px; font-size:13px; max-width:calc(100% - 40px)}
.launch-video-error a {color:#f4d8a7}
.launch-hero [hidden] {display:none!important}
.public-landing .public-stage {height:calc(100svh - 40px); margin:70px 16px 0; padding:0; min-height:700px; scroll-margin-top:24px}
.public-landing .listening-intro {padding:0 0 14px}
.public-landing .listening-intro h1 {font-size:clamp(34px,4vw,62px)}
.public-landing .listening-intro-aside p {color:var(--public-muted)}
.public-landing .listening-note {margin:18px 16px 0; color:var(--public-muted)}
.public-landing .public-catalogue {padding:70px 16px 0; margin:0; scroll-margin-top:18px}
.public-landing .product-art {border-radius:6px; border:0}
.public-landing .product-art-arrow {background:#fdfcf9; color:#25211b; border-radius:3px}
.public-landing footer {color:var(--public-muted); margin:0 28px; max-width:none; border-color:var(--public-line)}
@media(min-width:1800px) {.public-landing {--landing-gutter:16px; --home-header-height:80px}.public-landing .landing-header {padding:0 36px}.public-landing .landing-header .brand {font-size:32px}.public-landing .landing-header .brand span {font-size:30px}.public-landing .landing-header .landing-nav a {font-size:17px}.public-landing .landing-login {font-size:16px}}
@media(max-width:900px) {.public-landing .landing-header {padding:0 20px; gap:28px}.public-landing .landing-header .landing-nav {gap:22px}.public-landing .landing-header .brand {font-size:24px}.public-landing .landing-header .brand span {font-size:22px}.public-landing .landing-header .landing-nav a {font-size:13px}.public-landing .landing-login {padding:6px 13px; font-size:13px}.public-landing .public-stage {margin:52px 8px 0; min-height:720px}.public-landing .public-catalogue {padding-left:8px; padding-right:8px}}
@media(max-width:680px) {
    .public-landing {--landing-gutter:8px; --home-header-height:108px; --launch-video-fit:contain}
    .public-landing .landing-header {height:auto; min-height:108px; display:grid; grid-template-columns:1fr auto; grid-template-rows:58px 42px; gap:0 16px; padding:0 16px 8px}
    .public-landing .landing-header .brand {font-size:25px; gap:6px}
    .public-landing .landing-header .brand span {font-size:23px}
    .public-landing .landing-header .landing-nav {grid-column:1/-1; grid-row:2; width:100%; justify-content:space-between; gap:12px; border:0}
    .public-landing .landing-header .landing-nav a {font-size:13px; padding:8px 0}
    .landing-account {grid-column:2; grid-row:1}
    .public-landing .landing-login {min-height:35px; padding:6px 11px; font-size:12px}
    .launch-hero {height:auto; aspect-ratio:16/11; min-height:0; border-radius:6px; margin-top:4px}
    .public-landing .launch-video-toggle {top:10px; right:10px; min-height:36px; padding:7px 10px; font-size:10px; gap:8px}
    .launch-video-error {font-size:11px; left:10px; bottom:10px; max-width:calc(100% - 20px); padding:8px}
    .public-landing .public-stage {height:auto; min-height:0; margin:40px 4px 0; gap:18px}
    .public-landing .listening-intro h1 {font-size:37px}
    .public-landing .listening-intro-aside {border:0; padding:0}
    .public-landing .listening-note {margin:16px 4px 0}
    .public-landing .public-catalogue {padding:42px 4px 0}
    .public-landing footer {margin:0 16px}
}
@media(prefers-reduced-motion:reduce) {.launch-hero {scroll-behavior:auto}}
