/* ============================================================
   theme.css — Hybrid theme (dark hero/nav/footer, light content)
   ============================================================
   Loaded AFTER each page's structural CSS so equal-specificity
   rules here win the cascade. This file owns COLOUR ONLY —
   layout/spacing/typography stay in the per-page styles.

   Zones that stay DARK: nav, footer, .hero (homepage + courses),
   .quote-section (red brand band), .voice-back-strip /
   .blog-back-strip (footer-adjacent).
   Everything else: light.
   ============================================================ */

:root {
  /* Brand + dark chrome (nav, footer, dark sections) — canonical values */
  --accent: #ED1C24;
  --accent-dark: #c8151c;
  --accent-glow: rgba(237, 28, 36, 0.15);
  --black: #0B0A0F;
  --white: #f8f8f8;
  --grey: #8a8894;
  --grey-light: #8a8894;
  --grey-mid: #252330;
  --grey-dark: #1a1920;
  --font-display: 'Bebas Neue', sans-serif;
  --font-body: 'DM Sans', sans-serif;

  /* Light content surfaces */
  --bg-light: #FAF8F5;             /* cream — page background */
  --bg-white: #FFFFFF;             /* cards + alternating sections */
  --ink: #14131a;                  /* headings on light */
  --ink-body: #3e3c46;             /* body text on light */
  --ink-muted: #6e6c78;            /* secondary text on light */
  --line-light: rgba(20, 19, 26, 0.1);   /* borders on light */
  --line-lighter: rgba(20, 19, 26, 0.06);
  --card-shadow: 0 1px 3px rgba(20, 19, 26, 0.06), 0 8px 24px rgba(20, 19, 26, 0.05);
  --card-shadow-hover: 0 4px 12px rgba(20, 19, 26, 0.08), 0 16px 40px rgba(20, 19, 26, 0.1);
  --success-ink: #0a7d43;          /* green text on light */
  --success-bg: rgba(10, 125, 67, 0.07);
  --success-line: rgba(10, 125, 67, 0.3);
}

/* ──────────────────────────────────────────────
   GLOBAL FLIP (homepage, courses, privacy)
   ────────────────────────────────────────────── */
body {
  background: var(--bg-light);
  color: var(--ink-body);
}

/* Fully-dark marketing pages (home, courses, consulting, events, faculty)
   opt in with <body class="dark-body">. They lay content out in <section>s
   (not <main>), so the light `body > main *` content rules never reach them. */
body.dark-body {
  background: var(--black);
  color: var(--white);
}

/* ══════════════════════════════════════════════════
   CANONICAL COMPONENTS — site-wide design system
   One button, one eyebrow, one card surface. Every
   page's variant class names are grouped here so the
   UI reads as one system. Square/sharp brand style.
   Page CSS must NOT redefine these (only layout tweaks
   like margins/width are allowed to remain per page).
   ══════════════════════════════════════════════════ */

:root {
  --card-radius: 0;   /* square/sharp brand — cards match the square buttons */
  --btn-pad: 0.85rem 2.1rem;
}

/* Primary button — red fill, square, display font */
.btn,
.btn-primary,
.btn-red,
.btn-course {
  display: inline-block;
  background: var(--accent);
  color: var(--white);
  border: 2px solid var(--accent);
  font-family: var(--font-display);
  font-size: 1.05rem;
  font-weight: 400;
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: var(--btn-pad);
  border-radius: 0;
  text-decoration: none;
  text-align: center;
  cursor: pointer;
  transition: background 0.2s, border-color 0.2s, transform 0.2s, box-shadow 0.2s;
}
.btn:hover,
.btn-primary:hover,
.btn-red:hover,
.btn-course:hover {
  background: var(--accent-dark);
  border-color: var(--accent-dark);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(237, 28, 36, 0.28);
}

/* Secondary / outline button — adapts to its surface via currentColor */
.btn-outline,
.btn-ghost,
.pillar-btn {
  display: inline-block;
  background: transparent;
  color: inherit;
  border: 2px solid currentColor;
  font-family: var(--font-display);
  font-size: 1.05rem;
  font-weight: 400;
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: var(--btn-pad);
  border-radius: 0;
  text-decoration: none;
  text-align: center;
  cursor: pointer;
  transition: background 0.2s, color 0.2s, border-color 0.2s, transform 0.2s;
}
.btn-outline:hover,
.btn-ghost:hover,
.pillar-btn:hover {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--white);
  transform: translateY(-2px);
}

/* Eyebrow — small red uppercase label above headings */
.eyebrow,
.section-tag,
.hero-eyebrow,
.cs-eyebrow,
.prereg-eyebrow,
.fac-hero-eyebrow,
.fac-section-eyebrow,
.fac-cta-eyebrow,
.gk-eyebrow,
.gk-section-eyebrow,
.gk-video-eyebrow,
.sc-eyebrow,
.sc-section-eyebrow,
.sc-video-eyebrow,
.blog-index-eyebrow,
.blog-home-eyebrow,
.voice-index-eyebrow {
  display: inline-block;
  font-family: var(--font-display);
  font-size: 0.8rem;
  font-weight: 500;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 1rem;
}

/* Live cohort availability meter — reusable default (course pages, hub,
   checkout). Pages may layer their own .*-price-meter classes on top. */
.cohort-meter { margin: 0 0 1.1rem; }
.cohort-meter-text { font-size: 0.86rem; color: var(--ink-body); line-height: 1.4; margin-bottom: 0.5rem; }
.cohort-meter-text strong { color: var(--accent); font-weight: 700; }
.cohort-meter-bar { height: 6px; background: rgba(237, 28, 36, 0.12); overflow: hidden; }
.cohort-meter-bar > span { display: block; height: 100%; width: 0; background: var(--accent); transition: width 0.6s ease; }

/* Dark hero stays dark on both pages that have one */
.hero {
  background: var(--black);
  color: var(--white);
}

/* ──────────────────────────────────────────────
   HOMEPAGE
   ────────────────────────────────────────────── */
.stats-bar {
  background: var(--bg-white);
  border-top: 1px solid var(--line-lighter);
  border-bottom: 1px solid var(--line-lighter);
}
.stat-label { color: var(--ink-muted); }

.pillar {
  background: var(--bg-white);
  border: 1px solid var(--line-light);
  box-shadow: var(--card-shadow);
}
.pillar:hover {
  border-color: var(--accent);
  box-shadow: var(--card-shadow-hover);
}
.pillar h3 { color: var(--ink); }
.pillar > p { color: var(--ink-muted); }
.pillar-features li { color: var(--ink-body); }
.pillar-btn {
  border: 1px solid var(--line-light);
  color: var(--ink);
}
.pillar-btn:hover {
  border-color: var(--accent);
  color: var(--accent);
  background: rgba(237, 28, 36, 0.04);
}

.section-subtitle { color: var(--ink-muted); }

.courses-strip {
  background: var(--bg-white);
  border-top: 1px solid rgba(237, 28, 36, 0.2);
  border-bottom: 1px solid rgba(237, 28, 36, 0.2);
}
.courses-strip h3 { color: var(--ink); }
.courses-strip p { color: var(--ink-muted); }
.courses-strip-tag {
  border: 1px solid rgba(237, 28, 36, 0.3);
  color: var(--ink-body);
}

.partner-logo {
  background: var(--bg-white);
  border: 1px solid var(--line-light);
  color: var(--ink-muted);
  box-shadow: var(--card-shadow);
}
.partner-logo:hover { border-color: var(--accent); color: var(--ink); }

.network { background: var(--bg-light); }
.network-country {
  background: var(--bg-white);
  border: 1px solid var(--line-light);
  box-shadow: var(--card-shadow);
}
.network-country:hover { border-color: var(--accent); box-shadow: var(--card-shadow-hover); }
.network-country h3 { color: var(--ink); }
.network-country p { color: var(--ink-muted); }

.otb-bridge {
  background: linear-gradient(135deg, rgba(245, 166, 35, 0.08) 0%, rgba(245, 166, 35, 0.02) 100%);
  border-top: 1px solid rgba(245, 166, 35, 0.25);
  border-bottom: 1px solid rgba(245, 166, 35, 0.25);
}
.otb-text h3 { color: #b07410; }
.otb-text p { color: var(--ink-body); }
.otb-text a { color: #b07410; border-bottom-color: rgba(176, 116, 16, 0.35); }
.otb-text a:hover { color: #8a5a0c; border-color: #8a5a0c; }
.otb-icon { border-color: rgba(176, 116, 16, 0.45); color: #b07410; background: rgba(245, 166, 35, 0.08); }

/* Homepage featured blog card */
.blog-home { background: var(--bg-light); border-top: 1px solid var(--line-lighter); }
.blog-home-header { border-bottom: 1px solid var(--line-light); }
.blog-home-archive { color: var(--ink-muted); }
.blog-home-archive:hover { color: var(--accent); }
.blog-home-card {
  background: var(--bg-white);
  box-shadow: var(--card-shadow);
}
.blog-home-card:hover { background: var(--bg-white); box-shadow: var(--card-shadow-hover); }
.blog-home-title { color: var(--ink); }
.blog-home-excerpt { color: var(--ink-muted); }
.blog-home-meta time { color: var(--ink-muted); }

/* Homepage featured voice */
.voice-home {
  background: var(--bg-white);
  border-top: 1px solid rgba(237, 28, 36, 0.18);
  border-bottom: 1px solid rgba(237, 28, 36, 0.18);
}
.voice-home-quote { color: var(--ink); }
.voice-home-author { color: var(--ink-muted); }
.voice-home-author strong { color: var(--ink); }
.voice-home-photo { background: var(--bg-light); box-shadow: 0 12px 40px rgba(20, 19, 26, 0.18); }

/* Homepage contact / inquiry */
.cta-section p { color: var(--ink-muted); }
.contact-item { color: var(--ink-muted); }
.contact-item a { color: var(--ink); border-bottom-color: var(--line-light); }
.contact-item a:hover { color: var(--accent); border-color: var(--accent); }

/* ──────────────────────────────────────────────
   SHARED FORMS ON LIGHT (.inq-* on / and /courses)
   ────────────────────────────────────────────── */
.inq-field > span { color: var(--ink-muted); }
.inq-field input,
.inq-field select,
.inq-field textarea {
  background: var(--bg-white);
  border: 1px solid rgba(20, 19, 26, 0.18);
  color: var(--ink);
}
.inq-field input:focus,
.inq-field select:focus,
.inq-field textarea:focus { border-color: var(--accent); }
.inq-consent { color: var(--ink-muted); }
.inq-success,
.success-msg {
  background: var(--success-bg);
  border: 1px solid var(--success-line);
  color: var(--success-ink);
}

/* ──────────────────────────────────────────────
   COURSES PAGE
   ────────────────────────────────────────────── */
.partners {
  background: var(--bg-white);
  border-top: 1px solid var(--line-lighter);
  border-bottom: 1px solid var(--line-lighter);
}
.partners-label { color: var(--ink-muted); }
.partner-pill { color: var(--ink-muted); border: 1px solid var(--line-light); }
.partner-pill:hover { color: var(--ink); border-color: rgba(20, 19, 26, 0.3); }

.section { background: var(--bg-light); }
.section-lead { color: var(--ink-muted); }

.problem-item { background: var(--bg-white); box-shadow: var(--card-shadow); }
.problem-item:hover { background: var(--bg-white); box-shadow: var(--card-shadow-hover); }
.problem-title { color: var(--ink); }
.problem-desc { color: var(--ink-body); }

/* .quote-section stays red — brand band */

.courses-section { background: var(--bg-light); }
.course-card { background: var(--bg-white); box-shadow: var(--card-shadow); }
.course-card:hover { background: var(--bg-white); box-shadow: var(--card-shadow-hover); }
.course-title { color: var(--ink); }
.course-desc { color: var(--ink-muted); }
.course-modules li { color: var(--ink-body); border-bottom: 1px solid var(--line-lighter); }
.course-footer { border-top: 1px solid var(--line-light); }
.course-format { color: var(--ink-muted); }
.course-format small { color: var(--ink-muted); opacity: 0.75; }

/* Pricing block on course cards — readable on white card background.
   .price-tag stays accent red (already passes contrast).
   Selectors are extra-specific (.course-card scope) to defeat any
   inherited dark-theme color from the parent .course-price-now. */
.course-card .course-pricing,
.course-card .course-price-now,
.course-card .price-amount { color: var(--ink); }
.course-card .course-price-then,
.course-card .course-price-then s { color: var(--ink-muted); }
.course-card .course-price-then s { opacity: 0.7; }
.course-card .course-trust { color: var(--ink-muted); }

.format-strip { background: var(--bg-white); border: 1px solid var(--line-light); }
.format-strip-value { color: var(--ink-body); }

.why-section { background: var(--bg-light); }
.why-item { background: var(--bg-white); box-shadow: var(--card-shadow); }
.why-title { color: var(--ink); }
.why-text { color: var(--ink-body); }

.instructors-section {
  background: var(--bg-white);
  border-top: 1px solid var(--line-lighter);
  border-bottom: 1px solid var(--line-lighter);
}
.instructor-card { background: var(--bg-light); border: 1px solid var(--line-lighter); }
.instructor-name { color: var(--ink); }
.instructor-role { color: var(--ink-muted); }
.instructor-role strong { color: var(--ink); }
.instructor-specialty { border-top: 1px solid var(--line-light); }
.instructors-note { color: var(--ink-muted); }

.assessment-section {
  background: var(--bg-light);
  border-top: 1px solid var(--line-lighter);
  border-bottom: 1px solid var(--line-lighter);
}
.assessment-sub { color: var(--ink-muted); }
.assessment-form {
  background: var(--bg-white);
  border: 1px solid var(--line-light);
  box-shadow: var(--card-shadow);
}
.as-step-head { color: var(--ink); }
.as-label { color: var(--ink-muted); }
.as-option {
  background: var(--bg-light);
  border: 1px solid rgba(20, 19, 26, 0.14);
  color: var(--ink-body);
}
.as-option:hover { border-color: rgba(237, 28, 36, 0.45); background: rgba(237, 28, 36, 0.03); }
.as-option:has(input:checked) { border-color: var(--accent); background: rgba(237, 28, 36, 0.06); }
.as-textarea,
.as-input {
  background: var(--bg-white);
  border: 1px solid rgba(20, 19, 26, 0.18);
  color: var(--ink);
}
.as-input:focus, .as-textarea:focus { border-color: var(--accent); }
.as-hint { color: var(--ink-muted); }
.as-nav { border-top: 1px solid var(--line-light); }
.as-progress { color: var(--ink-muted); }
.as-progress-bar { background: rgba(20, 19, 26, 0.08); }
.as-btn { border: 1px solid rgba(20, 19, 26, 0.25); color: var(--ink); }
.as-btn:hover { border-color: var(--accent); }
.as-btn.primary { background: var(--accent); border-color: var(--accent); color: var(--white); }
.as-btn.primary:hover { background: var(--accent-dark); }
.as-success {
  background: var(--success-bg);
  border: 1px solid var(--success-line);
}
.as-success h3 { color: var(--success-ink); }
.as-success p { color: var(--ink-body); }
.as-success a { color: var(--success-ink) !important; }

.waitlist-section { background: var(--bg-light); }
.waitlist-sub { color: var(--ink-muted); }
.inq-note { color: var(--ink-muted); }

.obj-section { background: var(--bg-light); }
.obj-item { border-bottom: 1px solid var(--line-light); }
.obj-q { color: var(--ink); }
.obj-a { color: var(--ink-body); }

/* ──────────────────────────────────────────────
   VOICES (pages use .voice-body)
   ────────────────────────────────────────────── */
body.voice-body { background: var(--bg-light); color: var(--ink-body); }

.voice-index-hero { border-bottom: 1px solid var(--line-light); }
.voice-index-title { color: var(--ink); }
.voice-index-sub { color: var(--ink-muted); }

.voice-card { background: var(--bg-white); box-shadow: var(--card-shadow); }
.voice-card:hover { background: var(--bg-white); box-shadow: var(--card-shadow-hover); }
.voice-card-photo { background: var(--bg-light); }
.voice-card-quote { color: var(--ink-body); }
.voice-card-author { border-top: 1px solid var(--line-light); }
.voice-card-name { color: var(--ink); }
.voice-card-role { color: var(--ink-muted); }

.voice-page-hero h1 { color: var(--ink); }
.voice-page-hero-meta { color: var(--ink-muted); border-top: 1px solid var(--line-light); }
.voice-page-hero-meta strong { color: var(--ink); }
.voice-page-hero-meta time { color: var(--ink-muted); opacity: 0.8; }
.voice-page-photo-wrap { background: var(--bg-white); box-shadow: var(--card-shadow); }

.voice-page-article p { color: var(--ink-body); }
.voice-page-article strong { color: var(--ink); }
.voice-pullquote { background: rgba(237, 28, 36, 0.04); }
.voice-pullquote blockquote { color: var(--ink); }
.voice-pullquote cite { color: var(--ink-muted); }
.voice-pullquote cite strong { color: var(--ink); }

.voice-page-cta { border-top: 1px solid var(--line-light); }
.voice-page-cta h2 { color: var(--ink); }
.voice-page-cta p { color: var(--ink-muted); }

/* back strip stays dark (footer-adjacent) */

/* ──────────────────────────────────────────────
   BLOG (pages use .blog-body)
   ────────────────────────────────────────────── */
body.blog-body { background: var(--bg-light); color: var(--ink-body); }

.blog-index-hero { border-bottom: 1px solid var(--line-light); }
.blog-index-title { color: var(--ink); }
.blog-index-sub { color: var(--ink-muted); }

.blog-card { background: var(--bg-white); box-shadow: var(--card-shadow); }
.blog-card:hover { background: var(--bg-white); box-shadow: var(--card-shadow-hover); }
.blog-card-title { color: var(--ink); }
.blog-card-excerpt { color: var(--ink-muted); }
.blog-card-meta time { color: var(--ink-muted); }
.blog-card-readtime { color: var(--ink-muted); border-top: 1px solid var(--line-lighter); }

.blog-post-hero h1 { color: var(--ink); }
.blog-post-deck { color: var(--ink-muted); }
.blog-post-meta time { color: var(--ink-muted); }
.blog-post-meta .blog-post-readtime { color: var(--ink-muted); }
.blog-post-meta .sep { color: var(--ink-muted); }
.blog-post-byline { border-top: 1px solid var(--line-light); color: var(--ink-muted); }
.blog-post-byline strong { color: var(--ink); }

.blog-post-article p { color: var(--ink-body); }
.blog-post-article h2,
.blog-post-article h3 { color: var(--ink); }
.blog-post-article strong { color: var(--ink); }
.blog-post-article em { color: var(--ink-body); }
.blog-post-article li { color: var(--ink-body); }
.blog-post-article blockquote {
  background: rgba(237, 28, 36, 0.04);
  color: var(--ink);
}
.blog-post-article hr { border-top: 1px solid var(--line-light); }
.blog-post-article tbody td { border-bottom: 1px solid var(--line-light); }
.blog-post-article tbody tr:hover td { background: rgba(20, 19, 26, 0.025); }

.callout { background: var(--bg-white); border-left: 3px solid var(--accent); box-shadow: var(--card-shadow); }
.callout p { color: var(--ink-body); }

.blog-post-cta { border-top: 1px solid var(--line-light); }
.blog-post-cta h2 { color: var(--ink); }
.blog-post-cta p { color: var(--ink-muted); }

/* back strip stays dark (footer-adjacent) */

/* ──────────────────────────────────────────────
   PRIVACY
   ────────────────────────────────────────────── */
body > main h1 { color: var(--ink); }
body > main h2 { color: var(--ink); }
body > main p,
body > main li { color: var(--ink-body); }
body > main .meta { color: var(--ink-muted); border-bottom: 1px solid var(--line-light); }
body > main strong { color: var(--ink); }
.entity-box { background: var(--bg-white); box-shadow: var(--card-shadow); }

/* ──────────────────────────────────────────────
   GENERIC HEADING PROTECTION
   Sections inherit body ink; dark zones re-assert white.
   ────────────────────────────────────────────── */
.section h2,
.section-title,
.waitlist-section h2,
.assessment-section h2,
.courses-section h2,
.why-section h2,
.instructors-section h2,
.obj-section h2,
.cta-section h2 { color: var(--ink); }

.hero h1,
.hero .hero-sub,
.hero .stat-label { color: var(--white); }
.hero .hero-sub { color: var(--grey-light); }
.hero .stat-label { color: var(--grey-light); }
.hero h1 span, .hero h1 .accent { color: var(--accent); }

/* Red brand band on /courses — text must stay white on red */
.quote-section { color: var(--white); }


/* ============================================================
   SITE CHROME — canonical nav + footer (single source).
   Every page links theme.css and uses the shared markup, so the
   navigation and footer can no longer drift between pages.
   ============================================================ */
.site-nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 100; box-sizing: border-box;
  padding: 0.75rem 1.5rem;
  display: flex; justify-content: space-between; align-items: center;
  background: rgba(11, 10, 15, 0.88);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}
.site-nav .logo {
  display: flex; align-items: center; justify-content: center;
  width: 178px; height: 46px; overflow: hidden; text-decoration: none; flex-shrink: 0;
}
.site-nav .logo-img { height: 178px; width: auto; display: block; flex-shrink: 0; filter: brightness(0) invert(1); }
.site-nav .nav-links { display: flex; gap: 0.25rem; align-items: center; }
.site-nav .nav-link {
  padding: 0.5rem 0.62rem; color: var(--grey-light);
  font-size: 0.78rem; font-weight: 500; letter-spacing: 0.5px;
  text-decoration: none; border-radius: 6px; transition: color 0.25s;
}
.site-nav .nav-link:hover, .site-nav .nav-link[aria-current="page"] { color: var(--white); }
.site-nav .nav-link.cta {
  background: var(--accent); color: var(--white);
  font-family: var(--font-display); font-weight: 600; font-size: 0.9rem;
  letter-spacing: 1px; padding: 0.5rem 1.2rem; text-transform: uppercase; border: none; cursor: pointer;
}
.site-nav .nav-link.cta:hover { background: var(--accent-dark); }
.site-nav .nav-toggle { display: none; background: none; border: none; color: var(--white); font-size: 1.5rem; cursor: pointer; }

.site-footer { box-sizing: border-box; padding: 3rem 2rem 2rem; background: var(--grey-dark); border-top: 1px solid rgba(255, 255, 255, 0.05); }
.site-footer .footer-inner { max-width: 900px; margin: 0 auto; display: flex; justify-content: space-between; align-items: flex-start; gap: 2rem; flex-wrap: wrap; }
.site-footer .footer-brand-logo { display: flex; align-items: center; width: 280px; height: 72px; overflow: hidden; text-decoration: none; }
.site-footer .footer-brand-logo .logo-img { height: 280px; width: auto; filter: brightness(0) invert(1); }
.site-footer .footer-brand p { font-size: 0.8rem; color: var(--grey-light); max-width: 280px; margin-top: 0.5rem; line-height: 1.5; }
.site-footer .footer-badges { display: flex; gap: 0.75rem; margin-top: 0.75rem; }
.site-footer .footer-badge { padding: 0.25rem 0.6rem; border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 4px; font-size: 0.6rem; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: var(--grey-light); }
.site-footer .footer-links { display: flex; gap: 2rem; }
.site-footer .footer-col h4 { font-family: var(--font-display); font-size: 0.9rem; letter-spacing: 1px; margin-bottom: 0.5rem; color: var(--white); }
.site-footer .footer-col a { display: block; font-size: 0.78rem; color: var(--grey-light); text-decoration: none; padding: 0.2rem 0; transition: color 0.2s; }
.site-footer .footer-col a:hover { color: var(--accent); }
.site-footer .footer-bottom { text-align: center; padding-top: 1.5rem; margin: 1.5rem auto 0; border-top: 1px solid rgba(255, 255, 255, 0.05); font-size: 0.7rem; color: var(--grey-light); max-width: 900px; }

@media (max-width: 900px) {
  .site-nav .nav-links {
    display: none; position: absolute; top: 100%; left: 0; right: 0;
    flex-direction: column; align-items: stretch; gap: 0.5rem; padding: 1rem 1.5rem;
    background: rgba(11, 10, 15, 0.96); backdrop-filter: blur(14px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  }
  .site-nav .nav-links.is-open { display: flex; }
  .site-nav .nav-toggle { display: block; }
  .site-footer .footer-inner { flex-direction: column; }
  .site-footer .footer-links { gap: 1.5rem; flex-wrap: wrap; }
}
@media (max-width: 600px) { .site-nav { padding: 0.75rem 1rem; } }
