/* SAWIX product identity — matches assets/css/brand.css. */
:root {
  --brand:#008766; --ink:#142922; --paper:#f7f9f6;
  --bg:#f7f9f6; --surface:#fff; --surface2:#e8f0e9;
  --bg-primary:#f7f9f6; --bg-secondary:#e8f0e9; --bg-card:#fff; --bg-card-hover:#edf4ee;
  --bg-base:#f7f9f6; --bg-surface:#e8f0e9; --bg-raised:#edf4ee; --bg-hover:#e2eee5;
  --navy-deep:#f7f9f6; --navy-dark:#e8f0e9; --navy-mid:#edf4ee;
  --bg-color:#f7f9f6; --text-color:#142922; --primary-color:#008766; --secondary-color:#006c52; --cta-color:#008766;
  --text:#142922; --text-primary:#142922; --text-light:#142922;
  --text-secondary:#53665d; --text-muted:#53665d; --text-gray:#53665d;
  --accent:#008766; --accent2:#006c52; --accent-light:#006c52; --text-accent:#006c52;
  --gold:#008766; --gold-light:#006c52; --gold-bright:#006c52; --gold-dark:#006c52;
  --blue:#008766; --blue-light:#006c52; --green:#007453; --red:#b83535;
  --gave:#007453; --got:#95600c; --danger:#b83535; --success:#007453; --info:#246149;
  --border:#d8e3db; --border-bright:#b9d7c8; --border-gold:#b9d7c8;
  --accent-dim:#e8f3ed; --accent-glow:transparent; --gold-glow:transparent;
  --radius:8px; --radius-lg:12px; --radius-xl:16px; --radius-md:8px;
  --shadow:0 6px 24px rgba(20,41,34,.06); --shadow-card:0 6px 24px rgba(20,41,34,.06);
  --shadow-lg:0 16px 48px rgba(20,41,34,.12); --shadow-gold:none;
}
body, body.landing-body { background:var(--paper); color:var(--ink); font-family:'Plus Jakarta Sans',sans-serif; }
h1,h2,h3,h4,h5,h6,.brand-serif { font-family:'Plus Jakarta Sans',sans-serif; letter-spacing:-.04em; text-wrap:balance; }
p { text-wrap:pretty; }
input,select,textarea,button { font-family:inherit; }
input,select,textarea { accent-color:var(--brand); }
a { color:var(--brand); }
.product-brand { display:inline-flex; align-items:center; gap:12px; flex-shrink:0; text-decoration:none!important; }
.product-brand img { width:132px; height:auto; display:block; }
.product-brand span { border-left:1px solid #b9d7c8; padding-left:12px; font-size:12px; font-weight:600; color:#53665d; letter-spacing:.02em; }
.sidebar .product-brand { padding:8px 0; }
.sidebar,.topbar,.landing-nav,.minimal-nav,.navbar-scrape { background:#f7f9f6; border-color:#d8e3db; }
.btn-gold,.btn-primary,.cta-btn,.neon-btn { background:#008766; color:#fff; box-shadow:none; border-radius:6px; }
.btn-gold:hover,.btn-primary:hover,.cta-btn:hover,.neon-btn:hover { background:#006c52; color:#fff; box-shadow:none; }
.btn-outline,.btn-ghost { color:#006c52; border-color:#b9d7c8; }
.glass { background:#fff; border:1px solid #d8e3db; box-shadow:none; backdrop-filter:none; }
.gradient-text { background:none; color:#008766; -webkit-text-fill-color:#008766; }
.nav-link.active,.sb-item.active { background:#e8f3ed; color:#006c52; }
.stat-value,.stat-num,td { font-variant-numeric:tabular-nums; }
:is(a,button,input,select,textarea):focus-visible { outline:3px solid #008766; outline-offset:4px; }
.product-footer { border-top:1px solid #d8e3db; padding:24px max(20px,5vw); color:#53665d; font-size:12px; display:flex; gap:24px; flex-wrap:wrap; }
.product-footer a { color:#006c52; }
@media(max-width:600px) { .product-brand img { width:106px; } .product-brand { gap:8px; } .product-brand span { padding-left:8px; } .navbar-scrape { align-items:flex-start; gap:20px; flex-direction:column; padding:18px 20px; } .navbar-scrape>div { display:flex; flex-wrap:wrap; gap:8px; } .navbar-scrape .btn-ghost { padding:8px 10px; margin:0!important; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none!important; transition:none!important; } }

/* Editorial landing; media overlays retain contrast over poster imagery. */
.landing-page { background:#f7f9f6; color:#142922; position:relative; min-height:100dvh; overflow:auto; z-index:400; }
#cinemaCanvas { display:none; }
.landing-nav { padding:24px 5vw; border-bottom:1px solid #d8e3db; }
.landing-hero { text-align:left; max-width:1100px; width:90%; margin:130px auto 70px; padding:50px 0; background:none; border:0; border-radius:0; box-shadow:none; backdrop-filter:none; }
.cinematic-title { font-size:clamp(3.4rem,7.5vw,7rem); font-weight:800; letter-spacing:-.065em; text-shadow:none; }
.cinematic-subtitle { color:#53665d; max-width:520px; font-size:18px; line-height:1.8; }
.landing-hero .btn-primary { width:auto; }
.sidebar .product-brand { padding:0 14px; min-width:200px; }
.sidebar .product-brand img { width:120px; }
.sidebar:not(:hover) .product-brand { min-width:0; }
.sidebar:not(:hover) .product-brand img { width:38px; height:38px; object-fit:contain; content:url('/stream/brand/sawix-icon.png'); }
.sidebar:not(:hover) .product-brand span { display:none; }
.topbar { background:rgba(247,249,246,.97); }
.hero-banner,.detail-backdrop,.player-overlay { color:#fff; }
.hero-banner h1,.hero-banner p,.detail-backdrop h1 { color:#fff; }
.hero-banner .hero-title { color:#fff; }
.back-btn { color:#fff; }
.player-overlay { color:#142922; }
.detail-backdrop { opacity:.06; filter:blur(40px); }
.detail-inner { color:#142922; }
.detail-inner .back-btn { background:#e8f0e9; color:#142922; }
.meta-pill { background:#e8f0e9; }
.poster-card { padding:0; border:0; font:inherit; text-align:left; color:#fff; }
.poster-card .card-title,.poster-card .card-meta { color:#fff; }
.poster-card:hover { box-shadow:0 12px 24px rgba(20,41,34,.16); }
.poster-card:focus-visible .poster-card-overlay,.poster-card:focus-visible .play-btn-overlay { opacity:1; }
.hero-banner .hero-tag,.hero-banner .hero-rating { color:#9bd6bd; }
.hero-banner .hero-year { color:#d8e3db; }
.wn-btn-auto,.wn-btn-primary,.wn-btn-auto:hover,.wn-btn-primary:hover { background:#008766; color:#fff; }
.poster-wrap { box-shadow:0 12px 32px rgba(20,41,34,.12); }
.player-header { background:#e8f0e9; }
.player-container { box-shadow:0 20px 60px rgba(20,41,34,.2); }
.player-spinner-text span,.player-error p { color:#d8e3db; }
.cast-toast { background:#fff; border-color:#b9d7c8; box-shadow:0 8px 24px rgba(20,41,34,.15); }
.cast-toast kbd { background:#e8f0e9; }
.auto-stop-btn { background:#f6efdf; color:#95600c; border-color:#d5c69f; }
.auto-stop-btn:hover { background:#eee3c9; color:#79500e; }
.player-close:hover { color:#b83535; }
@media(max-width:600px) { .player-header { flex-wrap:wrap; gap:10px; } .player-header-actions { flex-wrap:wrap; } }
@media(max-width:600px) { .landing-nav { padding:18px 20px; } .landing-nav .btn-primary { font-size:12px; padding:10px; } .landing-hero { margin-top:100px; } }
