/* Local V3.1 review palette. No pure-black theme and no orange UI accents. */
:root,html[data-theme="olive"] {
  --ink:#252e23; --panel:#323c2e; --surface:#303a2d;
  --paper:#efe7d6; --accent:#efe7d6; --muted:#c8c9b6;
  --shade:24,31,22; --line:#efe7d633;
}
html[data-theme="petrol"] {
  --ink:#103632; --panel:#17443e; --surface:#1c4a44;
  --paper:#f2eee5; --accent:#f2eee5; --muted:#c2cec5;
  --shade:9,33,31; --line:#f2eee533;
}
html[data-theme="slate"] {
  --ink:#25313b; --panel:#34424d; --surface:#303e48;
  --paper:#eee9de; --accent:#eee9de; --muted:#c4cbd0;
  --shade:20,28,35; --line:#eee9de33;
}
html[data-theme="oxblood"] {
  --ink:#392a33; --panel:#4b3743; --surface:#45323d;
  --paper:#f0e5d8; --accent:#f0e5d8; --muted:#cec0c5;
  --shade:30,20,27; --line:#f0e5d833;
}
:root { --header-height:106px; --preview-height:48px; color-scheme:dark; }
.site-header { background:var(--ink); z-index:110; }
.skip-link { z-index:150; }
.header-language { margin:0; gap:0; flex-shrink:0; }
.header-language a { min-width:44px; min-height:44px; font-size:13px; border:0; }
.language-separator { opacity:.55; padding:0 3px; }
.menu-overlay { inset:var(--header-height) 0 0; }
.section-light { background:var(--surface); color:var(--paper); }
.feature-card { background:var(--panel); }
.section-light .muted,.section-light figcaption,.section-light .eyebrow,
.feature-facts dt,.archive-price small,.quote-placeholder small,
.quote-mark,.section-light details>p { color:var(--muted); }
.section-light .accent,.section-light .badge-planned { color:var(--paper); }
.quote-placeholder,.section-light details { border-color:var(--line); }
.section-light .placeholder { border-left-color:var(--paper); }
.button.dark-button,.section-light .button.cta { background:var(--paper); color:var(--ink); border-color:var(--paper); }
.button.cta:hover,.button.dark-button:hover,.section-light .button.cta:hover { background:var(--muted); color:var(--ink); border-color:var(--muted); }
.button.secondary,.fact,.image-tag,.motion-toggle { background:rgba(var(--shade),.7); color:var(--paper); }
.section-light a:focus-visible,.section-light button:focus-visible,.section-light summary:focus-visible { outline-color:var(--paper); }
.panorama-status { color:var(--paper); }
.sticky-cta { background:var(--ink); }
.hero-scrim { background:linear-gradient(90deg,rgba(var(--shade),.78) 0%,rgba(var(--shade),.58) 38%,rgba(var(--shade),.12) 67%,rgba(var(--shade),.03) 100%),linear-gradient(0deg,rgba(var(--shade),.76),transparent 38%); }
.detail-hero::after { background:linear-gradient(90deg,rgba(var(--shade),.92),rgba(var(--shade),.65)); }
.hero-v3 { height:max(640px,calc(100svh - var(--header-height) - var(--preview-height))); }
.public-contact a { display:inline-flex; align-items:center; min-height:44px; min-width:44px; }
.preview-bar { padding:0; }
.preview-bar-inner { display:flex; align-items:center; gap:16px; min-height:var(--preview-height); }
.preview-version { color:var(--paper); font-size:12px; font-weight:600; flex-shrink:0; }
.preview-version span { font-size:10px; font-weight:400; }
.preview-scope { color:var(--muted); font-size:9px; margin-left:auto; }
.preview-theme-toggle { display:flex; align-items:center; justify-content:center; gap:6px; min-height:44px; min-width:180px; padding:8px 12px; font-size:12px; letter-spacing:0; background:transparent; color:var(--paper); border:1px solid var(--line); border-radius:6px; margin-left:auto; }
.preview-theme-panel { position:fixed; top:calc(var(--header-height) + var(--preview-height) + 12px); right:max(16px,calc((100vw - 1200px)/2)); width:min(320px,calc(100vw - 32px)); max-height:calc(100svh - var(--header-height) - var(--preview-height) - 28px); overflow:auto; padding:20px; z-index:120; border:1px solid var(--line); border-radius:10px; background:var(--panel); color:var(--paper); box-shadow:0 16px 48px #0005; }
.preview-theme-panel .eyebrow { margin:0 0 12px; font-size:11px; }
.preview-theme-options { display:grid; gap:6px; }
.preview-theme-options button { display:flex; align-items:center; gap:12px; min-height:44px; width:100%; border:1px solid transparent; border-radius:6px; padding:8px 12px; font-size:14px; background:transparent; color:var(--paper); text-align:left; }
.preview-theme-options button[aria-pressed=true] { border-color:var(--paper); }
.theme-selected { margin-left:auto; visibility:hidden; }
[aria-pressed=true] .theme-selected { visibility:visible; }
.theme-swatch { width:22px; height:22px; border:1px solid #fff7; border-radius:50%; }
.theme-swatch-olive { background:#252e23; }.theme-swatch-petrol { background:#103632; }
.theme-swatch-slate { background:#25313b; }.theme-swatch-oxblood { background:#392a33; }
.preview-panel-label { margin:20px 0 6px; font-size:11px; color:var(--muted); letter-spacing:.08em; text-transform:uppercase; }
.preview-version-links { display:grid; }
.preview-version-links a { display:flex; align-items:center; min-height:44px; font-size:13px; text-decoration:none; }
.preview-version-links a:hover { text-decoration:underline; text-underline-offset:4px; }
@media(max-width:700px) {
  :root { --header-height:82px; }
  .header-inner { gap:12px; }.header-language { margin-left:auto; }
  .hero-v3 { height:calc(100svh - var(--header-height) - var(--preview-height)); min-height:640px; }
  .hero-scrim { background:linear-gradient(0deg,rgba(var(--shade),.85) 0%,rgba(var(--shade),.62) 40%,rgba(var(--shade),.04) 85%); }
  .preview-bar-inner { gap:10px; }.preview-scope { display:none; }
  .preview-version { font-size:12px; line-height:1.3; max-width:110px; }
  .preview-version span { display:block; font-size:9px; }
  .preview-theme-toggle { min-width:176px; font-size:12px; }
}
