/*
 * ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 * WP-30A: Visual Fidelity Completion — Premium Art Direction
 * Extends and overrides wp30.css for approved mockup alignment
 * ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* ── Masthead tokens ─────────────────────────────────────────────────── */
:root {
  --masthead-top-h:  60px;
  --masthead-nav-h:  48px;
  --header-h:       108px;   /* combined two-level header */
  --clr-ink:        #07162B; /* deepest navy for masthead top */
  --red-rule:       2px solid var(--clr-red);
}

/* ── PAGE OFFSET — ensure page content clears the taller header ─────── */
.page-main { padding-top: 0; }

/* ── TWO-LEVEL HEADER ────────────────────────────────────────────────── */
.site-header {
  height: auto !important;
  display: flex;
  flex-direction: column;
  position: sticky;
  top: 0;
  z-index: 300;
}

/* Level 1 — Brand masthead */
.masthead-top {
  background: var(--clr-ink);
  height: var(--masthead-top-h);
  display: flex;
  align-items: center;
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.masthead-top-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  width: 100%;
}
.masthead-actions {
  display: flex;
  align-items: center;
  gap: .875rem;
  flex-shrink: 0;
}
.masthead-search {
  flex: 1;
  max-width: 360px;
}
.masthead-search .header-search { width: 100%; }
.masthead-search .header-search input { width: 100%; }

/* Level 2 — Primary nav */
.masthead-nav {
  background: var(--clr-navy);
  border-bottom: var(--red-rule);
  height: var(--masthead-nav-h);
  display: flex;
  align-items: center;
}
.masthead-nav .site-nav {
  justify-content: flex-start;
  gap: 0;
}
.masthead-nav .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.masthead-nav-left { display: flex; align-items: center; flex: 1; }
.masthead-nav-right {
  display: flex;
  align-items: center;
  gap: .5rem;
  flex-shrink: 0;
}

/* ── BRAND LOCKUP — Stronger ────────────────────────────────────────── */
.site-logo {
  gap: .875rem;
  flex-shrink: 0;
}
.logo-leaf {
  display: flex;
  align-items: center;
  justify-content: center;
}
.maple-leaf-img {
  width: 44px;
  height: 52px;
  object-fit: contain;
  display: block;
  filter: drop-shadow(0 1px 3px rgba(200,16,46,.25));
}
.maple-leaf-icon { /* override old inline SVG sizing */
  width: 44px !important;
  height: 52px !important;
}
.logo-text {
  display: flex;
  flex-direction: column;
  line-height: 1.1;
  gap: 0;
}
.logo-line-1 {
  font-size: .72rem !important;
  letter-spacing: .18em !important;
  color: rgba(255,255,255,.55) !important;
}
.logo-line-2 {
  font-size: 1.1rem !important;
  font-weight: 800 !important;
  color: #fff !important;
  letter-spacing: -.01em !important;
}

/* ── Nav dest links — taller nav bar ────────────────────────────────── */
.masthead-nav .nav-dest {
  font-size: .8rem;
  padding: .5rem 1rem;
  height: var(--masthead-nav-h);
  display: flex;
  align-items: center;
  border-bottom: 3px solid transparent;
  border-radius: 0;
  letter-spacing: .06em;
}
.masthead-nav .nav-dest.active {
  border-bottom-color: var(--clr-red);
  color: #fff;
  background: rgba(255,255,255,.04);
}
.masthead-nav .nav-item {
  font-size: .8rem;
  height: var(--masthead-nav-h);
  display: flex;
  align-items: center;
  border-radius: 0;
  padding: .5rem 1rem;
}

/* ── Mobile toggle stays in masthead-top ───────────────────────────── */
.mobile-nav-toggle {
  display: none;
}

/* ── Footer — replace emoji with SVG ───────────────────────────────── */
.footer-logo-lockup {
  display: flex;
  align-items: center;
  gap: .75rem;
  margin-bottom: .75rem;
}
.footer-maple-icon {
  width: 28px;
  height: 32px;
}
.footer-logo-text {
  display: flex;
  flex-direction: column;
  line-height: 1.1;
}
.footer-logo-sup {
  font-size: .62rem;
  text-transform: uppercase;
  letter-spacing: .14em;
  color: rgba(255,255,255,.4);
  font-family: var(--font-display);
  font-weight: 700;
}
.footer-logo-main {
  font-size: .95rem;
  font-weight: 800;
  color: #fff;
  font-family: var(--font-display);
}

/* ── HERO SPLIT LAYOUT — core pattern ──────────────────────────────── */
.hero-split {
  display: grid;
  grid-template-columns: 55% 45%;
  min-height: calc(88vh - var(--header-h));
  position: relative;
  overflow: hidden;
}
.hero-content-panel {
  display: flex;
  align-items: center;
  padding: 4.5rem 0 4.5rem 0;
  position: relative;
  z-index: 2;
}
.hero-content-inner {
  width: 100%;
  max-width: 620px;
  padding-right: 3rem;
}
.hero-image-panel {
  position: relative;
  overflow: hidden;
}
.hero-photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}
.hero-image-vignette {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(to right, var(--hero-bg, #07162B) 0%, rgba(7,22,43,.4) 18%, transparent 42%),
    linear-gradient(to top, rgba(7,22,43,.55) 0%, transparent 50%);
  pointer-events: none;
}

/* ── AUTHORITY HOME HERO ────────────────────────────────────────────── */
.authority-hero {
  padding: 0 !important;
  background: none !important;
}
.authority-hero .hero-split {
  --hero-bg: #07162B;
}
.authority-hero .hero-content-panel {
  background: linear-gradient(135deg, #07162B 0%, #0B1F3A 55%, #0E2340 100%);
}
.authority-hero .hero-content-inner {
  padding-left: 0; /* uses container */
}
.authority-hero .authority-h1 {
  font-size: 3.8rem;
  line-height: 1.0;
  letter-spacing: -.04em;
  margin-bottom: 1.25rem;
}
.authority-hero .authority-hero-bg { display: none; }

/* Red accent rule above eyebrow */
.hero-red-rule {
  width: 40px;
  height: 3px;
  background: var(--clr-red);
  border-radius: 2px;
  margin-bottom: .875rem;
  display: block;
}

/* ── DESTINATION HEROES — split ─────────────────────────────────────── */
.destination-hero {
  padding: 0 !important;
}
.destination-hero .hero-split {
  min-height: calc(75vh - var(--header-h));
}
.consumer-hero .hero-content-panel {
  background: linear-gradient(135deg, #07162B 0%, #0E2340 50%, #14315E 100%);
}
.consumer-hero::after { display: none; }
.intelligence-hero .hero-content-panel {
  background: linear-gradient(135deg, #060E1A 0%, #0A1830 50%, #0E2340 100%);
}
.industry-new-hero .hero-content-panel {
  background: linear-gradient(135deg, #08162A 0%, #0E2340 50%, #122848 100%);
}
.industry-new-hero { padding-bottom: 0 !important; }
.destination-hero .dest-h1 {
  font-size: 3.2rem;
  letter-spacing: -.04em;
}
.destination-hero .hero-content-inner {
  padding-right: 3rem;
}

/* ── REGISTRY AT A GLANCE — dark metrics band ───────────────────────── */
.registry-strip {
  background: var(--clr-ink) !important;
  border-bottom: none !important;
  box-shadow: none !important;
  padding: 3rem 0 !important;
}
.registry-strip-label {
  font-family: var(--font-display);
  font-size: .7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .2em;
  color: var(--clr-red);
  text-align: center;
  margin-bottom: 2rem;
  display: block;
}
.registry-strip-inner {
  padding: 0 !important;
  gap: 0 !important;
  align-items: stretch !important;
}
.registry-stat {
  flex: 1;
  min-width: 0;
  flex-direction: column;
  align-items: center;
  text-align: center;
  border-right: 1px solid rgba(255,255,255,.08) !important;
  padding: 0 1rem;
}
.registry-stat:last-child { border-right: none !important; }
.registry-stat strong {
  font-size: 3rem !important;
  font-weight: 800 !important;
  color: #fff !important;
  line-height: 1 !important;
  letter-spacing: -.03em !important;
  display: block;
  margin-bottom: .35rem;
}
.registry-stat span {
  font-size: .72rem !important;
  color: rgba(255,255,255,.45) !important;
  text-transform: uppercase !important;
  letter-spacing: .1em !important;
}
.registry-stat-sep { display: none !important; }
/* Contextual sub-label */
.registry-stat-context {
  font-size: .7rem;
  color: rgba(255,255,255,.3);
  margin-top: .2rem;
  display: block;
}

/* ── FOUR DESTINATION GATEWAYS ──────────────────────────────────────── */
.gateway-section {
  padding: 5rem 0;
  background: #fff;
}
.gateway-section-header {
  text-align: center;
  margin-bottom: 3rem;
}
.gateway-section-header h2 {
  font-family: var(--font-display);
  font-size: 2rem;
  font-weight: 800;
  color: var(--clr-navy);
  letter-spacing: -.03em;
  margin-bottom: .5rem;
}
.gateway-section-header p {
  font-size: 1rem;
  color: var(--clr-text-muted);
  max-width: 520px;
  margin: 0 auto;
  line-height: 1.65;
}
.gateway-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
}
.gateway-card {
  display: flex;
  flex-direction: column;
  border-radius: var(--radius-md);
  overflow: hidden;
  text-decoration: none;
  color: var(--clr-text);
  box-shadow: var(--shadow-sm);
  border: 1px solid var(--clr-border);
  transition: box-shadow .25s, transform .2s;
  background: #fff;
}
.gateway-card:hover {
  box-shadow: var(--shadow-lg);
  transform: translateY(-4px);
  text-decoration: none;
  color: var(--clr-text);
}
.gateway-visual {
  height: 160px;
  position: relative;
  overflow: hidden;
  flex-shrink: 0;
}
.gateway-visual-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}
.gateway-visual-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0,0,0,.15) 0%, rgba(0,0,0,.5) 100%);
}
.gateway-eyebrow-float {
  position: absolute;
  bottom: .875rem;
  left: 1rem;
  font-family: var(--font-display);
  font-size: .65rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .14em;
  color: rgba(255,255,255,.85);
}
/* Fallback solid-color visuals for gateways without photos */
.gw-canadians .gateway-visual { background: linear-gradient(135deg, #0E4F2B 0%, #1A7F37 100%); }
.gw-intelligence .gateway-visual { background: linear-gradient(135deg, #07162B 0%, #0E2340 70%, #1B3A6B 100%); }
.gw-industry .gateway-visual { background: linear-gradient(135deg, #1a1a3e 0%, #0E2340 100%); }
.gw-registry .gateway-visual { background: linear-gradient(135deg, #7B2FA0 0%, #4A1F6A 100%); }

.gateway-body {
  padding: 1.5rem;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: .4rem;
}
.gateway-dest-label {
  font-family: var(--font-display);
  font-size: .65rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: var(--clr-text-muted);
  margin-bottom: .1rem;
}
.gateway-body h3 {
  font-family: var(--font-display);
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--clr-navy);
  line-height: 1.2;
  margin-bottom: .25rem;
  letter-spacing: -.01em;
}
.gateway-body p {
  font-size: .85rem;
  color: var(--clr-text-muted);
  line-height: 1.6;
  flex: 1;
}
.gateway-cta {
  font-size: .85rem;
  font-weight: 700;
  color: var(--clr-navy-mid);
  font-family: var(--font-display);
  margin-top: .5rem;
  display: flex;
  align-items: center;
  gap: .25rem;
}
.gateway-card:hover .gateway-cta { color: var(--clr-red); }

/* Accent top borders per destination */
.gw-canadians  { border-top: 3px solid var(--clr-forest); }
.gw-intelligence{ border-top: 3px solid var(--clr-navy); }
.gw-industry   { border-top: 3px solid var(--clr-gold); }
.gw-registry   { border-top: 3px solid var(--clr-purple); }

/* ── INTELLIGENCE SECTION — "WHAT'S HAPPENING" → darker data band ─── */
.happening-section {
  background: var(--clr-bg) !important;
  padding: 4.5rem 0 !important;
}
.happening-section-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 1.75rem;
  gap: 1rem;
  flex-wrap: wrap;
}
.happening-section-header h2 { margin-bottom: 0; }
.happening-section-header-link {
  font-size: .85rem;
  font-weight: 700;
  color: var(--clr-navy-mid);
  font-family: var(--font-display);
  white-space: nowrap;
  flex-shrink: 0;
}

/* ── RED ACCENT SECTION ─────────────────────────────────────────────── */
.red-accent-section {
  background: var(--clr-red);
  color: #fff;
  padding: 4rem 0;
}
.red-accent-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 3rem;
  flex-wrap: wrap;
}
.red-accent-content h2 {
  font-family: var(--font-display);
  font-size: 1.8rem;
  font-weight: 800;
  color: #fff;
  letter-spacing: -.03em;
  margin-bottom: .5rem;
}
.red-accent-content p {
  font-size: 1rem;
  color: rgba(255,255,255,.85);
  line-height: 1.65;
  max-width: 540px;
}
.red-accent-cta {
  display: inline-block;
  background: #fff;
  color: var(--clr-red);
  font-weight: 800;
  font-family: var(--font-display);
  padding: .875rem 2rem;
  border-radius: var(--radius-sm);
  text-decoration: none;
  white-space: nowrap;
  font-size: .95rem;
  transition: opacity .15s;
  flex-shrink: 0;
}
.red-accent-cta:hover { opacity: .9; text-decoration: none; color: var(--clr-red); }

/* ── SPLIT CONTENT BAND (image-left / text-right or reverse) ────────── */
.split-band {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 380px;
  overflow: hidden;
}
.split-band-img {
  position: relative;
  overflow: hidden;
}
.split-band-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.split-band-content {
  display: flex;
  align-items: center;
  padding: 4rem 3.5rem;
  background: var(--clr-ink);
  color: #fff;
}
.split-band-content.light {
  background: var(--clr-bg);
  color: var(--clr-text);
}
.split-band-inner { max-width: 480px; }
.split-band-content .fc-section-label { color: var(--clr-red); }
.split-band-content .fc-h2 { color: #fff; }
.split-band-content.light .fc-h2 { color: var(--clr-navy); }
.split-band-content .fc-lead { color: rgba(255,255,255,.75); }
.split-band-content.light .fc-lead { color: var(--clr-text-muted); }

/* ── LIFE STAGE REDESIGN — richer tiles ─────────────────────────────── */
.life-stage-grid {
  grid-template-columns: repeat(7, 1fr) !important;
}
.life-stage-card {
  background: #fff;
  border: 1.5px solid var(--clr-border);
  padding: 1.5rem .875rem !important;
  gap: .75rem !important;
  border-top: 3px solid var(--clr-navy);
  transition: border-top-color .15s, box-shadow .15s, transform .15s;
}
.life-stage-card:hover {
  border-top-color: var(--clr-red) !important;
  box-shadow: var(--shadow-md) !important;
}
.life-stage-icon-wrap {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: var(--clr-bg);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  margin: 0 auto;
  transition: background .15s;
}
.life-stage-card:hover .life-stage-icon-wrap {
  background: #fee2e2;
}
.life-stage-label {
  font-size: .8rem !important;
  color: var(--clr-navy);
  font-weight: 700;
}

/* ── MY PLAN PROGRESS VISUAL ────────────────────────────────────────── */
.plan-progress-ring-wrap {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  padding: 1.25rem;
  background: #fff;
  border-radius: var(--radius-md);
  border: 1px solid var(--clr-border);
  margin-bottom: 1rem;
}
.plan-ring-svg { width: 72px; height: 72px; flex-shrink: 0; }
.plan-ring-bg  { fill: none; stroke: var(--clr-bg); stroke-width: 6; }
.plan-ring-fg  { fill: none; stroke: var(--clr-navy); stroke-width: 6; stroke-linecap: round;
                  stroke-dasharray: 201; stroke-dashoffset: 201;
                  transform: rotate(-90deg); transform-origin: 50% 50%;
                  transition: stroke-dashoffset .8s cubic-bezier(.4,0,.2,1); }
.plan-ring-text-val { fill: var(--clr-navy); font-family: var(--font-display); font-weight: 800; font-size: 18px; text-anchor: middle; dominant-baseline: middle; }
.plan-ring-meta strong { display: block; font-family: var(--font-display); font-size: .95rem; font-weight: 700; color: var(--clr-navy); margin-bottom: .2rem; }
.plan-ring-meta p { font-size: .84rem; color: var(--clr-text-muted); margin: 0; line-height: 1.5; }

/* ── MYTH / FACT — improved visual ─────────────────────────────────── */
.myth-fact-item { border-radius: var(--radius-md); }
.myth-fact-question {
  font-family: var(--font-sans);
  font-size: .95rem;
  padding: 1.1rem 1.25rem !important;
}
.myth-badge-myth    { background: var(--clr-red);     color: #fff; }
.myth-badge-fact    { background: var(--clr-forest);  color: #fff; }
.myth-badge-depends { background: var(--clr-gold);    color: var(--clr-navy); }

/* ── INTELLIGENCE — "terminal" header card ─────────────────────────── */
.intel-terminal-header {
  background: var(--clr-ink);
  border-top: var(--red-rule);
  padding: 1rem 1.5rem;
  margin-bottom: 1.25rem;
  border-radius: 0 0 var(--radius-md) var(--radius-md);
  display: flex;
  align-items: center;
  gap: 1rem;
}
.intel-terminal-dot {
  width: 8px; height: 8px; border-radius: 50%; background: var(--clr-red); flex-shrink: 0;
}
.intel-terminal-label {
  font-family: var(--font-display);
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .15em;
  color: rgba(255,255,255,.55);
  font-weight: 700;
}
.intel-terminal-status {
  margin-left: auto;
  font-size: .7rem;
  color: var(--clr-forest);
  font-weight: 700;
  font-family: var(--font-display);
  letter-spacing: .05em;
}

/* ── ACTIVITY FEED — timeline style ────────────────────────────────── */
.intel-timeline { display: flex; flex-direction: column; position: relative; }
.intel-timeline::before {
  content: '';
  position: absolute;
  left: 11px;
  top: 16px;
  bottom: 0;
  width: 2px;
  background: var(--clr-border);
}
.intel-timeline-item {
  display: grid;
  grid-template-columns: 24px 1fr auto;
  gap: .75rem;
  align-items: flex-start;
  padding: .65rem 0;
  position: relative;
}
.intel-timeline-dot {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--clr-navy);
  border: 3px solid #fff;
  box-shadow: 0 0 0 2px var(--clr-navy);
  flex-shrink: 0;
  margin-top: 2px;
  z-index: 1;
}
.intel-timeline-dot.dot-created { background: var(--clr-forest); box-shadow: 0 0 0 2px var(--clr-forest); }
.intel-timeline-dot.dot-merged  { background: var(--clr-purple); box-shadow: 0 0 0 2px var(--clr-purple); }
.intel-timeline-dot.dot-updated { background: var(--clr-navy);   box-shadow: 0 0 0 2px var(--clr-navy); }
.intel-timeline-content a {
  font-weight: 600;
  color: var(--clr-navy);
  font-size: .88rem;
  display: block;
}
.intel-timeline-type {
  font-size: .75rem;
  color: var(--clr-text-muted);
}
.intel-timeline-date {
  font-size: .73rem;
  color: var(--clr-text-muted);
  white-space: nowrap;
  padding-top: 3px;
}

/* ── FOR INDUSTRY — action strip stronger ───────────────────────────── */
.industry-hero-actions {
  margin-top: 0 !important;
  background: rgba(0,0,0,.35) !important;
  border-top: 1px solid rgba(255,255,255,.08) !important;
}
.industry-hero-action {
  padding: 1.25rem 1.25rem !important;
}
.iha-text strong { font-size: .9rem !important; }

/* ── TRUST STRIP — stronger pillars ─────────────────────────────────── */
.trust-strip-section {
  background: var(--clr-ink) !important;
  border-top: var(--red-rule);
  padding: 4.5rem 0 !important;
}
.trust-strip {
  gap: 0 !important;
}
.trust-pillar {
  padding: 2rem !important;
  border-right: 1px solid rgba(255,255,255,.08) !important;
}
.trust-pillar:last-child { border-right: none !important; }
.trust-pillar-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  background: rgba(200,16,46,.15);
  border-radius: var(--radius-sm);
  margin-bottom: 1rem !important;
}
.trust-pillar h3 {
  font-size: 1rem !important;
  margin-bottom: .6rem !important;
}

/* ── PROVINCE SECTION — section band ───────────────────────────────── */
.market-section {
  background: #fff !important;
  padding: 4rem 0 !important;
  border-top: 1px solid var(--clr-border);
}
.market-section-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 1.75rem;
  gap: 1rem;
  flex-wrap: wrap;
}
.market-section-header > div { flex: 1; }
.canada-map-note {
  font-size: .82rem;
  color: var(--clr-text-muted);
  margin-top: .35rem;
  line-height: 1.5;
}

/* ── INTELLIGENCE page — dark data sections ─────────────────────────── */
.intel-section-dark {
  background: var(--clr-ink) !important;
  color: #fff;
  padding: 3.5rem 0;
}
.intel-section-dark .fc-section-label { color: var(--clr-gold); }
.intel-section-dark .fc-h2 { color: #fff; }
.intel-section-dark .fc-lead { color: rgba(255,255,255,.7); }
.intel-section-dark .intel-side-card {
  background: rgba(255,255,255,.05);
  border-color: rgba(255,255,255,.08);
}
.intel-section-dark .intel-side-card h3 { color: #fff; }

/* ── INTEL CARDS — more depth ────────────────────────────────────────── */
.intel-card {
  background: linear-gradient(135deg, #0A1B2F, #0E2340) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  position: relative;
  overflow: hidden;
}
.intel-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: var(--clr-red);
}
.intel-card-value { font-size: 2.6rem !important; letter-spacing: -.04em !important; }
.intel-card-value.color-red { color: var(--clr-red) !important; }
.intel-card-value.color-gold { color: var(--clr-gold) !important; }

/* ── FOR INDUSTRY — dossier-style section header ─────────────────────── */
.fi-dossier-header {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem 1.5rem;
  background: var(--clr-navy);
  border-radius: var(--radius-md);
  margin-bottom: 1.5rem;
  color: #fff;
}
.fi-dossier-header h2 {
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 700;
  color: #fff;
  margin: 0;
}
.fi-dossier-icon {
  width: 36px;
  height: 36px;
  background: rgba(255,255,255,.1);
  border-radius: var(--radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.fi-dossier-icon svg { width: 18px; height: 18px; color: #fff; }

/* ── HOMEPAGE section variations ─────────────────────────────────────── */
.happening-section { padding: 4rem 0 !important; }
.pathway-section { display: none !important; } /* replaced by gateway-section */

/* ── RESPONSIVE OVERRIDES ─────────────────────────────────────────────── */
@media (max-width: 1100px) {
  .gateway-grid          { grid-template-columns: repeat(2, 1fr); }
  .hero-split            { grid-template-columns: 60% 40%; }
  .split-band            { grid-template-columns: 1fr; }
  .split-band-content    { padding: 3rem 2rem; }
  .registry-stat strong  { font-size: 2.2rem !important; }
}
@media (max-width: 900px) {
  .hero-split            { grid-template-columns: 1fr; min-height: auto; }
  .hero-image-panel      { height: 260px; }
  .hero-content-panel    { padding: 3rem 0; }
  .hero-content-inner    { padding-right: 0 !important; }
  .authority-hero .authority-h1 { font-size: 2.6rem; }
  .destination-hero .dest-h1    { font-size: 2.2rem; }
  .gateway-grid          { grid-template-columns: repeat(2, 1fr); }
  .life-stage-grid       { grid-template-columns: repeat(4, 1fr) !important; }
  .red-accent-inner      { flex-direction: column; gap: 1.5rem; }
}
@media (max-width: 768px) {
  .masthead-top          { height: auto; padding: .65rem 0; }
  .masthead-nav          { display: none; } /* hamburger only on mobile */
  .mobile-nav-toggle     { display: flex; }
  .masthead-search       { display: none; }
  .hero-split            { grid-template-columns: 1fr; }
  .hero-image-panel      { height: 200px; }
  .authority-hero .authority-h1 { font-size: 2rem; }
  .gateway-grid          { grid-template-columns: 1fr; }
  .registry-strip-inner  { flex-wrap: wrap; justify-content: center; gap: 1.5rem !important; }
  .registry-stat         { flex: 0 0 calc(33% - 1rem); border-right: none !important; }
  .trust-pillar          { border-right: none !important; }
}
@media (max-width: 480px) {
  .registry-stat strong  { font-size: 1.8rem !important; }
  .registry-stat         { flex: 0 0 calc(50% - 1rem); }
  .life-stage-grid       { grid-template-columns: repeat(2, 1fr) !important; }
}

/* ── REDUCED MOTION ───────────────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  .gateway-card, .life-stage-card { transition: none !important; }
  .plan-ring-fg { transition: none !important; }
}
