/* Theme B: Overland. Dark, cinematic, photo-led. Loaded after site.css. Dark only. */
:root, :root:not([data-x]) {
  --bg: #0d0f10; --surface: #14181a; --surface-2: #1c2124; --ink: #ece8e1; --muted: #a1a6a5; --line: #262c2e;
  --brand: #13262d; --brand-ink: #ece8e1; --sage: #8fa074;
  --accent: #d9a55c; --accent-ink: #15120c; --accent-hover: #e8bb78;
  --shadow: none; --radius: 2px;
  color-scheme: dark;
}
@media (prefers-color-scheme: light) {
  :root { --bg: #0d0f10; --surface: #14181a; --surface-2: #1c2124; --ink: #ece8e1; --muted: #a1a6a5; --line: #262c2e; color-scheme: dark; }
}

.theme-overland *, .theme-overland *::before, .theme-overland *::after { border-radius: 2px !important; }
.theme-overland h1, .theme-overland h2 { font-stretch: 66%; font-weight: 800; text-transform: uppercase; letter-spacing: 0; line-height: 0.92; }
.theme-overland h1 { font-size: clamp(3.2rem, 8vw, 7.6rem); }
.theme-overland h2 { font-size: clamp(2.4rem, 5vw, 4.6rem); }
.theme-overland h3 { font-stretch: 90%; font-weight: 750; }
.theme-overland .eyebrow { color: var(--accent); letter-spacing: 0.2em; }
.theme-overland .lede { color: var(--muted); }

.theme-overland .proof-item > i, .theme-overland .step > i, .theme-overland .cons-item > i, .theme-overland .chip-card h3 i,
.theme-overland .ji-group li > i, .theme-overland .stars { display: none; }
.theme-overland .spec-list i { color: var(--accent); }

/* header over imagery */
.theme-overland .site-header { background: rgb(13 15 16 / 0.72); border-bottom-color: rgb(255 255 255 / 0.08); }
.theme-overland .btn { font-stretch: 110%; letter-spacing: 0.02em; padding: 15px 24px; }
.theme-overland .btn-ghost { color: var(--ink); border: 1px solid rgb(255 255 255 / 0.35); }
.theme-overland .btn-ghost:hover { background: transparent; border-color: var(--ink); }

/* full-bleed heroes with overlay copy */
.theme-overland .hero.home, .theme-overland .hero.inner { position: relative; isolation: isolate; padding: 0; min-height: min(92dvh, 900px); display: flex; align-items: flex-end; margin-top: -73px; }
.theme-overland .hero.inner { min-height: min(78dvh, 760px); }
.theme-overland .hero.home .hero-grid, .theme-overland .hero.inner .hero-grid { position: static; grid-template-columns: 1fr; padding: 140px 0 clamp(40px, 6vw, 84px); }
.theme-overland .hero.home .hero-media, .theme-overland .hero.inner .hero-media { position: absolute; inset: 0; z-index: -2; animation: none; }
.theme-overland .hero.home .hero-media img, .theme-overland .hero.inner .hero-media img { width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover; box-shadow: none; }
.theme-overland .hero.home::after, .theme-overland .hero.inner::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgb(13 15 16 / 0.6) 0%, rgb(13 15 16 / 0.05) 32%, rgb(13 15 16 / 0.35) 60%, rgb(13 15 16 / 0.96) 100%); }
.theme-overland .hero .inset { display: none; }
.theme-overland .hero.home h1 { max-width: 11ch; }
.theme-overland .hero.inner h1 { max-width: 16ch; font-size: clamp(2.6rem, 6vw, 5.4rem); }
.theme-overland .hero.home .lede, .theme-overland .hero.inner .lede { color: rgb(236 232 225 / 0.86); }
.theme-overland .hero .crumbs { color: rgb(236 232 225 / 0.7); }
.theme-overland .hero:not(.home):not(.inner) { padding-top: clamp(48px, 7vw, 96px); }

/* surfaces */
.theme-overland .proof, .theme-overland .glance { background: var(--bg); border-color: var(--line); }
.theme-overland .proof-item strong { font-stretch: 100%; }
.theme-overland .quote, .theme-overland .chip-card, .theme-overland .job-card, .theme-overland .opt, .theme-overland .related a,
.theme-overland .rating-badge, .theme-overland .price { background: var(--surface); border-color: var(--line); }
.theme-overland .quote-form { background: var(--surface); border-color: var(--line); box-shadow: none; }
.theme-overland .chip-card li { background: var(--surface-2); }
.theme-overland .bento { gap: 4px; }
.theme-overland .tile { min-height: 0; }
.theme-overland .tile h3 { font-stretch: 70%; text-transform: uppercase; font-size: clamp(1.5rem, 2.2vw, 2.2rem); line-height: 0.95; }
.theme-overland .tile.plain { background: var(--surface-2); color: var(--ink); }
.theme-overland .tile.plain h3, .theme-overland .tile.plain p { color: var(--ink); }
.theme-overland .tile .go { background: rgb(255 255 255 / 0.1); }

.theme-overland .reels-band { background: var(--surface); }
.theme-overland .cta-band { background: var(--surface); border-top: 1px solid var(--line); }
.theme-overland .section[style*="var(--surface)"] { background: var(--bg) !important; border-block: 1px solid var(--line); }
.theme-overland .steps .step::before { background: var(--accent); height: 2px; }
.theme-overland .how li::before { background: var(--accent); color: var(--accent-ink); }
.theme-overland .flow { background: var(--surface); border: 1px solid var(--line); }
.theme-overland .ji-group h3 { border-bottom-color: var(--accent); }
.theme-overland .site-footer { background: #0a0c0d; }
.theme-overland .logo { background: var(--ink); }
.theme-overland .field input, .theme-overland .field select, .theme-overland .field textarea { background: var(--bg); }
.theme-overland .pc .ph-plus-circle { color: #7fd1a2; }
.theme-overland .pc .ph-minus-circle { color: #f0a77f; }
.theme-overland .dg { --dg-accent: var(--accent); }
.theme-overland .dg-svg .t.ta { fill: #15120c; }
.theme-overland .hero.home .eyebrow, .theme-overland .hero.inner .crumbs, .theme-overland .hero.home .lede, .theme-overland .hero.inner .lede { text-shadow: 0 1px 12px rgb(0 0 0 / 0.55); }
.theme-overland .hero.home h1, .theme-overland .hero.inner h1 { text-shadow: 0 2px 24px rgb(0 0 0 / 0.35); }
.theme-overland .dw { --dw-paper: #101417; --dw-accent: #d9a55c; }
.theme-overland .hero.inner.nomedia { min-height: 0; margin-top: 0; display: block; padding: clamp(40px, 6vw, 80px) 0 clamp(28px, 4vw, 48px); }
.theme-overland .hero.inner.nomedia::after { display: none; }
.theme-overland .hero.inner.nomedia .hero-grid { padding: 0; }
.theme-overland .hero.inner.nomedia h1 { font-size: clamp(2.6rem, 5.4vw, 4.8rem); }
.theme-overland .hero.inner.nomedia .lede, .theme-overland .hero.inner.nomedia h1 { text-shadow: none; }
.theme-overland .jsec-alt { background: var(--surface); }
.theme-overland .dw-thumb { --dw-paper: #101417; }

/* Dark bands: text must use the light ink, not the background color */
.theme-overland .cta-band, .theme-overland .cta-band h1, .theme-overland .cta-band h2, .theme-overland .cta-band .contact-points a { color: var(--ink); }
.theme-overland .cta-band .lede, .theme-overland .cta-band .crumbs { color: var(--muted); }
.theme-overland .cta-band .contact-points span { color: var(--muted); opacity: 1 !important; }
.theme-overland .cta-band .contact-points i { color: var(--accent); }
.theme-overland .reels-band, .theme-overland .reels-band h2 { color: var(--ink); }
.theme-overland .reels-band .lede { color: var(--muted); }
