/* =========================================================================
   GoodAirHomes Design System v3.5.0
   Primary: #00305F navy (from logo, v3.43.0). Green accent #4E831B (from
   logo leaf). Blue #005E92 and sky #78C0E4 from the logo waves. Institutional.
   ========================================================================= */

/* --- CSS Variables --- */
:root {
    /* v3.43.0 — palette rederived from the Good Air Homes logo.
       Logo source colors sampled: navy #002454, green #609C24,
       blue #0078C0, sky #78C0E4. Values below are those colors
       adjusted only where WCAG AA required it; contrast noted. */
    --gah-primary: #00305F;          /* logo navy, lifted slightly for link text — 13.2:1 on white */
    --gah-primary-hover: #002454;    /* logo navy exactly — 15.2:1 on white */
    --gah-primary-dark: #001B3D;     /* deepest navy, for dark bands */
    --gah-primary-medium: #005E92;   /* logo blue #0078C0 darkened — white text 6.96:1 */
    --gah-accent: #4E831B;           /* logo green darkened — white text 4.58:1 (AA) */
    --gah-accent-hover: #417516;     /* white text 5.55:1 */
    --gah-brand-green: #609C24;      /* logo green, exact — decorative use only, not behind text */
    --gah-brand-blue: #0078C0;       /* logo blue, exact — decorative use only */
    --gah-sky: #78C0E4;              /* logo light wave — tints, rules, decorative fills */
    --gah-sky-tint: #EAF4FB;         /* derived wash for alt backgrounds */
    --gah-text: #0F172A;
    --gah-muted: #475569;
    --gah-bg: #FFFFFF;
    --gah-bg-alt: #F2F7FB;   /* was #F5F5F5 neutral; now a faint wash of the logo's sky blue */
    --gah-border: #D8E4EF;   /* cooled to sit with the navy/sky family */
    --gah-warning: #D97706;
}

/* --- Reset & Base --- */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { font-size: 16px; scroll-behavior: smooth; }

/* --- Typography: self-hosted Inter (variable) --- */
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url('../fonts/Inter-Variable.woff2') format('woff2');
}
:root {
    --gah-font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
}
body { font-family: var(--gah-font-sans); color: var(--gah-text); background: var(--gah-bg); line-height: 1.7; -webkit-font-smoothing: antialiased; text-wrap: pretty; }
/* Sitewide standard: avoid a single short/orphaned word or line wrapping alone.
   text-wrap is an inherited property, so this one rule covers every paragraph,
   heading, and list item on the site without needing a per-template override.
   Headings specifically also get text-wrap: balance for even multi-line breaks,
   since balance suits short display text better than long-form paragraphs. */
h1, h2, h3 { text-wrap: balance; }
h1, h2, h3, h4, h5, h6 { font-family: var(--gah-font-sans); letter-spacing: -0.018em; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--gah-primary); text-decoration: none; }
a:hover { color: var(--gah-primary-hover); text-decoration: underline; }

/* --- Skip Link removed per operator request (v3.18.0) --- */

/* --- Layout --- */
.gah-container { max-width: 1140px; margin: 0 auto; padding: 0 24px; }
.gah-narrow { max-width: 975px; }
.gah-main { min-height: 60vh; }

/* --- Header --- */
.gah-header { background: #fff; border-bottom: 1px solid var(--gah-border); padding: 22px 0 4px; position: sticky; top: 0; z-index: 100; }
/* Suppress GeneratePress theme header/branding that may leak through */
body.gah-page .site-header,
body.gah-page .main-navigation,
body.gah-page #site-navigation,
body.gah-page .site-branding,
body.gah-page .site-logo,
body.gah-page .site-title,
body.gah-page .site-description,
body.gah-page .navigation-branding,
body.gah-page .main-title,
body.gah-page header.site-header { display: none !important; }
.gah-header .gah-container { display: flex; align-items: flex-end; justify-content: space-between; position: relative; max-width: 1480px; }
.gah-logo { display: flex; align-items: center; text-decoration: none; margin-bottom: 0.09in; }
.gah-logo img { height: 72px; width: auto; max-width: 340px; object-fit: contain; } /* v3.43.0: new logo is a 4.5:1 horizontal wordmark; 152px would render ~650px wide and break the header. 72px gives ~324px — close to the old mark's footprint. */
.gah-logo:hover { opacity: 0.85; text-decoration: none; }
.gah-nav { position: absolute; top: auto; right: 24px; bottom: 10px; }
.gah-nav ul { display: flex; align-items: center; gap: 20px; list-style: none; }
.gah-nav a { display: inline-flex; align-items: center; color: var(--gah-primary); font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.07em; padding-bottom: 4px; border-bottom: 2px solid transparent; text-decoration: none; transition: border-color 0.2s, color 0.2s; white-space: nowrap; }
.gah-nav a:hover { text-decoration: none; border-color: var(--gah-primary-hover); color: var(--gah-primary-hover); }
.gah-nav li:last-child a { background: var(--gah-accent); color: #fff; padding: 9px 16px 8px; border-radius: 6px; border-bottom-color: transparent; }
.gah-nav li:last-child a:hover { background: var(--gah-accent-hover); color: #fff; border-bottom-color: transparent; }
.gah-mobile-toggle { display: none; background: none; border: none; cursor: pointer; padding: 8px; }
.gah-mobile-toggle span { display: block; width: 24px; height: 2px; background: var(--gah-text); margin: 5px 0; transition: 0.3s; }

/* --- Hero — Full-width background image with overlay --- */
/* Hero — typographic, brand gradient (no photo) — v3.20.0 */
.gah-hero {
    position: relative;
    background: linear-gradient(160deg, var(--gah-primary-dark) 0%, var(--gah-primary) 58%, #0B4A80 100%); /* v3.43.0: end stop moved toward the logo's blue */
    min-height: 220px;
    /* v3.43.1 — .gah-hero is a <section>, so the global `section { padding: 80px 0 }`
       rule was ALSO applying here and stacking on top of .gah-hero-overlay's own
       44px. That produced 124px of empty navy above the headline (the "bar" with
       nothing in it) and another 124px below the CTAs. Zeroed here so the overlay
       is the single source of hero spacing. Scoped to .gah-hero only — every other
       section keeps its 80px. */
    padding: 0;
}
.gah-hero-overlay {
    background: radial-gradient(ellipse at 28% 18%, rgba(120,192,228,0.12), transparent 60%); /* v3.43.1: glow retinted from the old teal to the logo's sky blue */
    min-height: 220px;
    display: flex;
    align-items: center;
    /* v3.43.2 — v3.43.1 cut the top too hard: at 12px the headline sat almost on
       the header. Top restored to 64px, which roughly doubles the visible navy
       above the cap-height of "Build a Home" (the line box contributes ~33px of
       its own leading on top of the padding). Still ~half the pre-v3.43.1 124px.
       Bottom left at 82px — the one-third reduction the operator approved. */
    padding: 64px 0 82px;
}
.gah-hero-content { max-width: 1040px; margin: 0 auto; text-align: center; }
.gah-hero h1 { font-size: 3.25rem; font-weight: 800; line-height: 1.12; margin-bottom: 24px; color: #fff; }
.gah-hero-line1 { display: block; font-size: 2em; line-height: 1.04; letter-spacing: -0.022em; }
.gah-hero-line2 { display: block; }
.gah-hero-sub { font-size: 1.25rem; color: rgba(255,255,255,0.96); font-weight: 600; margin-bottom: 12px; line-height: 1.6; max-width: 880px; margin-left: auto; margin-right: auto; text-wrap: pretty; }
.gah-hero-audience { font-size: 1.0625rem; color: rgba(255,255,255,0.82); font-weight: 500; margin-bottom: 28px; line-height: 1.6; max-width: 880px; margin-left: auto; margin-right: auto; text-wrap: pretty; }
.gah-hero-ctas { display: flex; gap: 12px; flex-wrap: wrap; justify-content: center; }
.gah-cta-hero-primary { background: var(--gah-accent); color: #fff; font-weight: 700; box-shadow: 0 4px 14px rgba(78,131,27,0.38); /* v3.43.0: matches the new green accent */ }
.gah-cta-hero-primary:hover { background: var(--gah-accent-hover); color: #fff; text-decoration: none; }
.gah-cta-hero-secondary { background: transparent; color: #fff; border: 2px solid rgba(255,255,255,0.7); }
.gah-cta-hero-secondary:hover { background: rgba(255,255,255,0.12); color: #fff; border-color: #fff; text-decoration: none; }

/* --- Sections --- */
section { padding: 80px 0; }
section h2 { font-size: 1.875rem; font-weight: 700; margin-bottom: 20px; color: var(--gah-text); line-height: 1.2; }
section h2::after { content: ""; display: block; width: 52px; height: 3px; margin-top: 16px; background: var(--gah-accent); border-radius: 2px; }
.gah-empathy h2::after { margin-left: auto; margin-right: auto; }
.gah-section-dark h2::after, .gah-section-medium h2::after { background: #2DD4BF; }
section p { margin-bottom: 12px; }

/* --- Dark Blue Sections --- */
.gah-section-dark {
    background: var(--gah-primary-dark);
    color: rgba(255,255,255,0.92);
}
.gah-section-dark h2 { color: #fff; }
.gah-section-dark h3 { color: #fff; }
.gah-section-dark p { color: rgba(255,255,255,0.85); }
.gah-section-dark strong { color: #fff; }
.gah-section-dark em { color: rgba(255,255,255,0.95); }
.gah-section-dark a { color: #93c5fd; }
.gah-section-dark a:hover { color: #bfdbfe; }

/* --- Medium Blue Sections --- */
.gah-section-medium {
    background: var(--gah-primary-medium);
    color: rgba(255,255,255,0.92);
}
.gah-section-medium h2 { color: #fff; }
.gah-section-medium h3 { color: #fff; }
.gah-section-medium p { color: rgba(255,255,255,0.85); }
.gah-section-medium strong { color: #fff; }
.gah-section-medium em { color: rgba(255,255,255,0.95); }
.gah-section-medium a { color: #93c5fd; }
.gah-section-medium a:hover { color: #bfdbfe; }

/* --- Two-Column Layout (VOC, Ventilation blocks) --- */
.gah-two-col { display: flex; gap: 48px; align-items: flex-start; }
.gah-col-main { flex: 1; }
.gah-col-side { flex: 0 0 240px; display: flex; flex-direction: column; gap: 20px; padding-top: 8px; }

/* --- Stat Blocks (inside dark/medium sections) --- */
.gah-stat-block {
    background: rgba(255,255,255,0.1);
    border: 1px solid rgba(255,255,255,0.2);
    border-radius: 10px;
    padding: 24px 20px;
    text-align: center;
}
.gah-stat-number {
    display: block;
    font-size: 1.5rem;
    font-weight: 800;
    color: #fff;
    margin-bottom: 6px;
    line-height: 1.2;
}
.gah-stat-desc {
    display: block;
    font-size: 0.875rem;
    color: rgba(255,255,255,0.72);
    line-height: 1.4;
}

/* --- Emphasis text (Drying Test) --- */
.gah-emphasis { font-size: 1.125rem; line-height: 1.6; }

/* --- Empathy --- */
.gah-empathy { text-align: center; }
.gah-empathy p { max-width: 780px; margin-left: auto; margin-right: auto; }

/* --- Drying Test (now dark section, keep identifier for specificity) --- */
.gah-drying-test { border-left: none; }

/* --- Tiles --- */
.gah-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 20px; margin-top: 20px; }
.gah-tile { background: #fff; border: 1px solid var(--gah-border); border-radius: 8px; padding: 24px; transition: box-shadow 0.2s, border-color 0.2s; }
.gah-tile:hover { border-color: var(--gah-primary); box-shadow: 0 4px 12px rgba(30,95,180,0.1); text-decoration: none; }
.gah-tile h3 { color: var(--gah-primary); margin-bottom: 8px; font-size: 1.125rem; }
.gah-tile p { color: var(--gah-muted); font-size: 0.9375rem; margin-bottom: 0; }

/* --- Insight Cards --- */
.gah-insight-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.gah-insight-card { background: #fff; border: 1px solid var(--gah-border); border-radius: 8px; padding: 28px; }
.gah-insight-card h3 { color: var(--gah-primary); margin-bottom: 12px; font-size: 1.125rem; }

/* --- Build Options Preview --- */
.gah-preview-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; margin: 24px 0; }
.gah-preview-card {
    background: #fff;
    border: 1px solid var(--gah-border);
    border-radius: 8px;
    padding: 24px;
    transition: border-color 0.2s, box-shadow 0.2s;
    display: flex;
    flex-direction: column;
}
.gah-preview-card:hover { border-color: var(--gah-primary); box-shadow: 0 4px 16px rgba(30,95,180,0.12); text-decoration: none; }
.gah-preview-option { font-size: 0.875rem; font-weight: 600; color: var(--gah-primary); text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 4px; }
.gah-preview-card h3 { margin: 4px 0 10px; font-size: 1.125rem; color: var(--gah-text); }
.gah-preview-card p { font-size: 0.9375rem; color: var(--gah-muted); margin-bottom: 0; line-height: 1.6; flex: 1; }
.gah-preview-more { text-align: center; margin-top: 24px; }
.gah-preview-note { font-size: 0.875rem; color: var(--gah-muted); margin-top: 12px; max-width: 640px; margin-left: auto; margin-right: auto; }

/* --- Trust Grid (dark section variant) --- */
.gah-section-dark .gah-trust-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.gah-section-dark .gah-trust-point {
    padding: 24px;
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.15);
    border-radius: 8px;
}
.gah-section-dark .gah-trust-point h3 { color: #93c5fd; font-size: 1rem; margin-bottom: 8px; }
.gah-section-dark .gah-trust-point p { font-size: 0.9375rem; color: rgba(255,255,255,0.78); margin-bottom: 0; }

/* --- Trust Grid (light section fallback) --- */
.gah-trust-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.gah-trust-point { padding: 20px; background: #fff; border: 1px solid var(--gah-border); border-radius: 8px; }
.gah-trust-point h3 { color: var(--gah-primary); font-size: 1rem; margin-bottom: 8px; }
.gah-trust-point p { font-size: 0.9375rem; color: var(--gah-muted); margin-bottom: 0; }

/* --- CTAs --- */
.gah-cta { display: inline-block; padding: 12px 24px; border-radius: 6px; font-weight: 600; font-size: 0.9375rem; transition: background 0.2s, color 0.2s; text-align: center; min-height: 44px; line-height: 1.4; }
.gah-cta:hover { text-decoration: none; }
.gah-cta-primary { background: var(--gah-accent); color: #fff; }
.gah-cta-primary:hover { background: var(--gah-accent-hover); color: #fff; }
.gah-cta-secondary { background: transparent; color: var(--gah-primary); border: 2px solid var(--gah-primary); }
.gah-cta-secondary:hover { background: rgba(30,95,180,0.06); color: var(--gah-primary); }
.gah-cta-group { display: flex; gap: 12px; flex-wrap: wrap; margin: 32px 0; }

/* --- Quick Answer --- */
.gah-quick-answer { background: #f0f6ff; border-left: 4px solid var(--gah-primary); padding: 20px 24px; margin: 24px 0; border-radius: 0 8px 8px 0; }
.gah-quick-answer-label { font-size: 0.8125rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; color: var(--gah-primary); margin-bottom: 8px; }

/* --- Tier Badge --- */
.gah-tier-indicator { display: flex; align-items: center; gap: 12px; padding: 10px 16px; border-radius: 6px; margin-bottom: 16px; }
.gah-option-number { font-weight: 700; font-size: 0.875rem; }
.gah-tier-label { font-size: 0.875rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; }
.gah-tier-badge { display: inline-block; padding: 2px 8px; border-radius: 4px; font-size: 0.8125rem; font-weight: 600; }

/* --- Disclosure Box --- */
.gah-disclosure { padding: 16px 20px; border-radius: 6px; margin: 20px 0; }
.gah-disclosure-warning { background: #fffbeb; border-left: 4px solid var(--gah-warning); }
.gah-disclosure-info { background: #eff6ff; border-left: 4px solid var(--gah-primary); }
.gah-disclosure-icon { margin-right: 6px; }

/* Content page disclosure boxes (Faswall, Hempcrete) */
.gah-disclosure-box { padding: 16px 20px; border-radius: 6px; margin: 20px 0; }
.gah-disclosure-organic { background: #fffbeb; border-left: 4px solid var(--gah-warning); }
.gah-disclosure-conditional { background: #fef2f2; border-left: 4px solid #dc2626; }

/* --- Stats Grid --- */
.gah-stats-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px; margin: 24px 0; }
.gah-stat { background: var(--gah-bg-alt); padding: 16px; border-radius: 6px; text-align: center; }
.gah-stat-label { display: block; font-size: 0.8125rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; color: var(--gah-muted); margin-bottom: 4px; }
.gah-stat-value { font-size: 1.125rem; font-weight: 700; color: var(--gah-text); }

/* --- Who Should NOT --- */
.gah-who-should-not { background: #fef2f2; border-left: 4px solid #dc2626; padding: 20px 24px; margin: 24px 0; border-radius: 0 8px 8px 0; }
.gah-who-should-not h3 { color: #dc2626; margin-bottom: 12px; }
.gah-who-should-not ul { padding-left: 20px; }
.gah-who-should-not li { margin-bottom: 6px; }

/* --- Comparison Table --- */
.gah-comparison-table-wrap { overflow-x: auto; margin: 24px 0; }
.gah-comparison-table { width: 100%; border-collapse: collapse; font-size: 0.875rem; }
.gah-comparison-table th { background: var(--gah-text); color: #fff; padding: 12px 14px; text-align: left; font-weight: 600; font-size: 0.875rem; text-transform: uppercase; letter-spacing: 0.05em; white-space: nowrap; }
.gah-comparison-table td { padding: 10px 14px; border-bottom: 1px solid var(--gah-border); }
.gah-comparison-table a { font-weight: 600; }
.gah-table-tier-header td { font-size: 0.875rem; text-transform: uppercase; letter-spacing: 0.05em; border-bottom: 2px solid; }
.gah-table-footnotes { font-size: 0.875rem; color: var(--gah-muted); margin-top: 12px; }

/* --- Tier D Section --- */
.gah-tier-d-section { margin: 32px 0; padding: 24px; background: #fef2f2; border-radius: 8px; }
.gah-tier-d-section h3 { color: #dc2626; margin-bottom: 12px; }
.gah-tier-d-list { padding-left: 20px; }
.gah-tier-d-list li { margin-bottom: 8px; }

/* --- Hub Children --- */
.gah-hub-children { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 16px; margin: 24px 0; }
.gah-hub-child-card { display: block; background: #fff; border: 1px solid var(--gah-border); border-radius: 8px; padding: 20px; transition: border-color 0.2s, box-shadow 0.2s; }
.gah-hub-child-card:hover { border-color: var(--gah-primary); box-shadow: 0 4px 12px rgba(30,95,180,0.08); text-decoration: none; }
.gah-hub-child-card h3 { font-size: 1rem; color: var(--gah-primary); margin-bottom: 6px; }
.gah-hub-child-card p { font-size: 0.875rem; color: var(--gah-muted); margin-bottom: 0; }

/* --- Accordion (FAQ) --- */
.gah-accordion { margin: 20px 0; }
.gah-accordion-item { border: 1px solid var(--gah-border); border-radius: 8px; margin-bottom: 8px; overflow: hidden; }
.gah-accordion-item summary { padding: 16px 20px; font-weight: 600; cursor: pointer; list-style: none; display: flex; align-items: center; justify-content: space-between; }
.gah-accordion-item summary::-webkit-details-marker { display: none; }
.gah-accordion-item summary::after { content: '+'; font-size: 1.25rem; color: var(--gah-primary); font-weight: 400; flex-shrink: 0; }
.gah-accordion-item[open] summary::after { content: '−'; }
.gah-accordion-content { padding: 0 20px 16px; }
.gah-accordion-content p { color: var(--gah-muted); }

/* --- Cross Links (Related) --- */
.gah-related { margin: 32px 0; padding-top: 24px; border-top: 1px solid var(--gah-border); }
.gah-related h3 { font-size: 1rem; margin-bottom: 12px; }
.gah-related ul { padding-left: 0; list-style: none; }
.gah-related li { margin-bottom: 6px; }
.gah-related a { font-weight: 500; }

/* --- Governance --- */
.gah-governance { margin: 40px 0 0; padding: 16px 0; border-top: 1px solid var(--gah-border); display: flex; justify-content: space-between; font-size: 0.875rem; color: var(--gah-muted); }

/* --- Breadcrumbs --- */
.gah-breadcrumbs { margin: 20px 0; }
.gah-breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 4px; list-style: none; font-size: 0.875rem; }
.gah-breadcrumbs li:not(:last-child)::after { content: '/'; margin-left: 4px; color: var(--gah-muted); }
.gah-breadcrumbs a { color: var(--gah-muted); }
.gah-breadcrumbs span { color: var(--gah-text); }

/* --- Placeholder Notice --- */
.gah-placeholder-notice { background: #f0f6ff; border: 1px dashed var(--gah-primary); padding: 24px; border-radius: 8px; margin: 24px 0; text-align: center; }

/* --- Transparency Disclosure --- */
.gah-transparency-disclosure { background: var(--gah-bg-alt); padding: 20px; border-radius: 8px; margin: 24px 0; font-size: 0.9375rem; font-style: italic; color: var(--gah-muted); }

/* --- Builder Infra --- */
.gah-vetting-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin: 16px 0; }
.gah-vetting-item { background: #fff; border: 1px solid var(--gah-border); border-radius: 8px; padding: 20px; }
.gah-vetting-item h3 { font-size: 1rem; color: var(--gah-primary); margin-bottom: 8px; }
.gah-fee-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin: 16px 0; }
.gah-fee-item { background: #fff; border: 1px solid var(--gah-border); border-radius: 8px; padding: 24px; text-align: center; }
.gah-fee-amount { font-size: 1.5rem; font-weight: 800; color: var(--gah-primary); margin: 8px 0; }
.gah-gates-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin: 24px 0; }
.gah-gate-item { background: #fff; border: 1px solid var(--gah-border); border-radius: 8px; padding: 20px; position: relative; padding-left: 56px; }
.gah-gate-number { position: absolute; left: 16px; top: 20px; width: 28px; height: 28px; background: var(--gah-primary); color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 0.85rem; }
.gah-gate-item h3 { font-size: 0.95rem; color: var(--gah-primary); margin-bottom: 6px; }
.gah-gate-item p { font-size: 0.9rem; line-height: 1.5; color: var(--gah-text); margin: 0; }

/* --- Pricing Card --- */
.gah-pricing-card { background: #fff; border: 2px solid var(--gah-primary); border-radius: 12px; padding: 32px; margin: 24px 0; }
.gah-pricing-amount { font-size: 3rem; font-weight: 800; color: var(--gah-primary); }
.gah-pricing-label { font-size: 1.125rem; font-weight: 600; margin-bottom: 20px; }
.gah-pricing-card ul { padding-left: 20px; margin: 12px 0; }
.gah-pricing-card li { margin-bottom: 6px; }

/* --- 404 --- */
.gah-404 { text-align: center; padding: 80px 24px; }
.gah-404 h1 { font-size: 2rem; margin-bottom: 12px; }
.gah-404-links ul { list-style: none; padding: 0; margin-top: 16px; }
.gah-404-links li { margin-bottom: 8px; }

/* --- Footer --- */
.gah-footer { background: var(--gah-text); color: #cbd5e1; padding: 64px 0 28px; margin-top: 0; }
.gah-footer a { color: #e2e8f0; }
.gah-footer a:hover { color: #fff; }
.gah-footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 40px; margin-bottom: 40px; }
.gah-footer-brand { font-size: 1.125rem; font-weight: 700; color: #fff; margin-bottom: 4px; }
.gah-footer-tagline { font-size: 0.875rem; }
.gah-footer-heading { font-weight: 600; color: #fff; margin-bottom: 14px; font-size: 0.875rem; text-transform: uppercase; letter-spacing: 0.06em; padding-bottom: 8px; border-bottom: 2px solid var(--gah-accent); display: inline-block; }
.gah-footer ul { list-style: none; }
.gah-footer li { margin-bottom: 6px; font-size: 0.875rem; }
.gah-footer-bottom { border-top: 1px solid rgba(255,255,255,0.1); padding-top: 20px; font-size: 0.875rem; text-align: center; }
.gah-footer-independence { font-size: 0.8125rem; margin-top: 4px; }

/* --- Content Body --- */
.gah-content-body h2 { margin-top: 32px; }
.gah-content-body h3 { margin-top: 24px; }
.gah-content-body ul, .gah-content-body ol { padding-left: 24px; margin: 12px 0; }
.gah-content-body li { margin-bottom: 6px; }
.gah-content-section { margin-bottom: 32px; }
.gah-content-section h2 { margin-top: 0; }
.gah-content-section h3 { margin-top: 20px; font-size: 1.0625rem; }

/* --- Diamond Teaser --- */
.gah-diamond-teaser { font-size: 0.875rem; color: var(--gah-muted); margin-top: 20px; padding: 16px; background: var(--gah-bg-alt); border-radius: 8px; }

/* --- Builder Signal --- */
.gah-builder-signal { font-size: 0.875rem; margin-top: 12px; }

/* =========================================================================
   Responsive
   ========================================================================= */

@media (max-width: 768px) {
    /* Hero */
    .gah-hero { min-height: 420px; }
    .gah-hero-overlay { min-height: 420px; padding: 40px 0 56px; } /* v3.43.2: top restored proportionally at tablet */
    .gah-hero h1 { font-size: 1.875rem; }
    .gah-hero-sub { font-size: 1.0625rem; }
    .gah-hero-ctas { justify-content: center; }

    /* Two-column → stack */
    .gah-two-col { flex-direction: column; gap: 24px; }
    .gah-col-side { flex: none; flex-direction: row; gap: 16px; }
    .gah-stat-block { flex: 1; }

    /* Grids */
    .gah-insight-cards { grid-template-columns: 1fr; }
    .gah-trust-grid,
    .gah-section-dark .gah-trust-grid { grid-template-columns: 1fr; }
    .gah-preview-grid { grid-template-columns: 1fr; }
    .gah-footer-grid { grid-template-columns: 1fr 1fr; gap: 24px; }
    .gah-vetting-grid { grid-template-columns: 1fr; }
    .gah-fee-grid { grid-template-columns: 1fr; }
    .gah-gates-grid { grid-template-columns: 1fr; }

    /* Table */
    .gah-comparison-table { font-size: 0.875rem; }
    .gah-comparison-table th, .gah-comparison-table td { padding: 8px 10px; }

    /* Misc */
    .gah-governance { flex-direction: column; gap: 4px; }
    section h2 { font-size: 1.5rem; }
    section { padding: 40px 0; }

    /* Mobile nav */
    .gah-mobile-toggle { display: block; }
    .gah-nav { display: none; position: absolute; top: 100%; bottom: auto; left: 0; right: 0; margin: 0; background: #fff; border-bottom: 1px solid var(--gah-border); padding: 16px 24px; box-shadow: 0 4px 12px rgba(0,0,0,0.1); }
    .gah-nav-open { display: block; }
    .gah-nav ul { flex-direction: column; align-items: flex-start; gap: 14px; }
    .gah-nav li:last-child { margin-top: 4px; }
    .gah-hero-content { transform: translateY(32px); }
}

@media (max-width: 480px) {
    .gah-container { padding: 0 16px; }
    .gah-hero h1 { font-size: 1.5rem; }
    .gah-hero { min-height: 360px; }
    .gah-hero-overlay { min-height: 360px; padding: 30px 0 40px; } /* v3.43.2: top restored proportionally on phones */
    .gah-col-side { flex-direction: column; }
    .gah-hub-children { grid-template-columns: 1fr; }
    .gah-footer-grid { grid-template-columns: 1fr; }
}

/* --- Reduced Motion --- */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: 0s !important; transition-duration: 0s !important; }
}

/* --- Editorial Accountability Footer (R67) --- */
.gah-editorial-footer {
    margin-top: 48px;
    padding-top: 24px;
    border-top: 1px solid var(--gah-border);
    font-size: 0.875rem;
    color: var(--gah-muted);
}
.gah-editorial-footer p { margin: 4px 0; }
.gah-editorial-footer a { color: var(--gah-primary); text-decoration: underline; }
.gah-editorial-footer a:hover { color: var(--gah-primary-hover); }
.gah-last-reviewed { font-style: italic; }

/* ====================================================================
   PHASE 0 ADDITIONS — v3.20.0
   Reading-ease takeaways, Two-Question Test proof layout, score badge
   + mini badge, mold-inputs Venn, build-options framing, build package,
   byline. Uploaded badge/mold components conformed to the locked brand
   palette (accent #4E831B, amber #d97706, red #dc2626) and Inter.
   ==================================================================== */

/* Reading-ease one-line takeaway */
.gah-takeaway { font-weight: 700; font-size: 1.0625rem; color: var(--gah-text); margin-bottom: 14px; line-height: 1.5; }
.gah-section-dark .gah-takeaway, .gah-section-medium .gah-takeaway { color: #fff; }

/* Two-Question Test section */
.gah-answer-first { font-size: 1.125rem; line-height: 1.65; margin-bottom: 16px; }
.gah-tqt-list { list-style: none; margin: 18px 0 0; padding: 0; }
.gah-tqt-list li { margin-bottom: 16px; }
.gah-tqt-q { display: block; font-weight: 700; color: #fff; font-size: 1.0625rem; }
.gah-tqt-score { display: block; font-size: 0.95rem; color: rgba(255,255,255,0.82); margin-top: 3px; line-height: 1.55; }
.gah-proof-grid { display: grid; grid-template-columns: 1.65fr 0.65fr; gap: 24px; margin-top: 30px; align-items: start; }
.gah-proof-card { background: #fff; border-radius: 10px; padding: 16px; }
.gah-proof-card img { width: 100%; height: auto; border-radius: 6px; display: block; }
.gah-proof-eyebrow { font-size: 0.875rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: var(--gah-muted); margin: 2px 0 12px; }
.gah-proof-caption { font-size: 0.875rem; color: var(--gah-muted); margin: 10px 0 0; text-align: center; line-height: 1.5; }
@media (max-width: 820px) { .gah-proof-grid { grid-template-columns: 1fr; } }

/* Score Badge component (conformed from gah-score-badge v1.0) */
.gah-badge {
    width: 100%; max-width: 320px;
    font-family: var(--gah-font-sans);
    background: var(--gah-bg, #fff);
    border-top: 0.5px solid var(--gah-border, rgba(0,0,0,0.15));
    border-right: 0.5px solid var(--gah-border, rgba(0,0,0,0.15));
    border-bottom: 0.5px solid var(--gah-border, rgba(0,0,0,0.15));
    border-left: 4px solid var(--badge-accent, #4E831B);
    padding: 14px 16px; box-sizing: border-box;
}
.gah-badge[data-verdict="recommended"]     { --badge-accent: #4E831B; }
.gah-badge[data-verdict="conditional"]     { --badge-accent: #d97706; }
.gah-badge[data-verdict="not-recommended"] { --badge-accent: #dc2626; }
.gah-badge .gah-row { display: flex; justify-content: space-between; align-items: center; padding: 7px 0; border-bottom: 0.5px solid var(--gah-border, rgba(0,0,0,0.15)); }
.gah-badge .gah-verdict-row { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; padding: 7px 0; }
.gah-badge .gah-label { font-size: 12px; font-weight: 400; color: var(--gah-muted, #64748B); text-transform: uppercase; letter-spacing: 0.08em; flex-shrink: 0; }
.gah-badge .gah-pill { font-size: 12px; font-weight: 700; padding: 3px 9px; border-radius: 10px; display: inline-block; white-space: nowrap; }
.gah-badge .gah-pill--neutral { background: #F0F0F0; color: #1A1A1A; }
.gah-badge .gah-pill--good { background: #E6F3F0; color: #0F5446; }
.gah-badge .gah-pill--warn { background: #FDF1E7; color: #8A4500; }
.gah-badge .gah-pill--bad  { background: #FBEAEA; color: #9B2C2C; }
.gah-badge .gah-verdict-pill { display: block; width: 100%; box-sizing: border-box; font-size: 13px; font-weight: 700; padding: 6px 12px; border-radius: 4px; text-align: center; }
.gah-badge .gah-verdict-pill--recommended { background: #E6F3F0; color: #0F5446; }
.gah-badge .gah-verdict-pill--conditional { background: #FDF1E7; color: #8A4500; }
.gah-badge .gah-verdict-pill--not-recommended { background: #FBEAEA; color: #9B2C2C; }
.gah-badge .gah-condition { font-size: 12px; font-weight: 400; color: var(--gah-muted, #64748B); line-height: 1.5; padding: 0 2px; }

/* Compact score badge — build-option cards */
.gah-badge-mini { margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--gah-border); }
.gah-badge-mini .gah-mini-verdict { display: inline-block; font-size: 0.8125rem; font-weight: 700; padding: 2px 10px; border-radius: 4px; background: #E6F3F0; color: #0F5446; }
.gah-badge-mini[data-verdict="conditional"] .gah-mini-verdict { background: #FDF1E7; color: #8A4500; }
.gah-badge-mini[data-verdict="not-recommended"] .gah-mini-verdict { background: #FBEAEA; color: #9B2C2C; }
.gah-badge-mini .gah-mini-axes { display: block; margin-top: 7px; font-size: 0.875rem; color: var(--gah-muted); }

/* Mold conditions diagram wrapper — shared with standards/rubric.php (cutaway SVG) */
.gah-mold-feature { display: flex; justify-content: center; margin: 8px 0 36px; }
.gah-conditions-svg { width: 100%; max-width: 680px; height: auto; display: block; }
@media (max-width: 560px) { .gah-mold-feature { height: 340px; } }

/* Contact form — success state mirrors .gah-tree-confirmation (builder-tree.css) */
.gah-contact-success { text-align: center; padding: 24px; }
.gah-contact-success h3 { color: var(--gah-success, #16a34a); margin-bottom: 12px; }
.gah-contact-alt { margin-top: 24px; }

/* Build Options framing + single entry point */
.gah-options-framing { text-align: center; margin-bottom: 10px; }
.gah-options-framing h2::after { margin-left: auto; margin-right: auto; }
.gah-options-sub { font-size: 0.95rem; color: var(--gah-muted); max-width: 620px; margin: 4px auto 0; }
.gah-start-secondary { display: flex; gap: 22px; justify-content: center; align-items: center; flex-wrap: wrap; margin-top: 20px; font-size: 0.95rem; color: var(--gah-muted); }
.gah-start-secondary a { font-weight: 600; color: var(--gah-primary); }

/* Build Package section */
.gah-package-list { list-style: none; margin: 18px 0 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 10px 28px; }
.gah-package-list li { font-size: 0.95rem; color: var(--gah-muted); line-height: 1.55; padding-left: 18px; position: relative; }
.gah-package-list li::before { content: ""; position: absolute; left: 0; top: 9px; width: 7px; height: 7px; border-radius: 50%; background: var(--gah-accent); }
.gah-package-list li strong { color: var(--gah-text); }
.gah-package-cta { text-align: center; margin-top: 28px; }
@media (max-width: 640px) { .gah-package-list { grid-template-columns: 1fr; } }

/* Homepage byline */
.gah-byline { text-align: center; font-size: 0.9rem; color: var(--gah-muted); margin-top: 28px; }
.gah-byline strong { color: var(--gah-text); }

/* Scorecard page (item 0.6) — v3.21.0 */
.gah-scorecard-badge { display: flex; justify-content: center; margin: 8px 0 30px; }
.gah-axis-score { display: inline-block; font-size: 0.875rem; font-weight: 700; padding: 2px 9px; border-radius: 4px; vertical-align: middle; white-space: nowrap; }
.gah-axis-score--bad { background: #FBEAEA; color: #9B2C2C; }
.gah-mold-inputs-list { margin: 12px 0; padding-left: 20px; }
.gah-mold-inputs-list li { margin-bottom: 8px; }
.gah-verdict-block { background: var(--gah-bg-alt); border-left: 4px solid #dc2626; padding: 18px 24px; border-radius: 6px; }
.gah-verdict-block h2::after { display: none; }
.gah-evidence-basis { font-size: 0.9rem; color: var(--gah-muted); }

/* Cutaway SVG + founder note — v3.22.0 (Phase 1) */
.gah-cutaway-svg { width: 100%; height: auto; display: block; background: #fff; border-radius: 8px; }
.gah-founder-note { margin: 10px 0 26px; padding: 20px 24px; background: var(--gah-bg-alt); border-left: 4px solid var(--gah-accent); border-radius: 6px; }
.gah-founder-note h2 { margin-top: 0; }
.gah-founder-sign { font-style: italic; color: var(--gah-muted); margin-top: 6px; }
.gah-founder-echo { background: var(--gah-bg-alt); text-align: center; }
.gah-founder-echo p { margin-bottom: 6px; }
.gah-founder-echo .gah-founder-sign { margin-top: 2px; }

/* Build Package reveal + header redesign support — v3.24.0 */
.gah-sample-section { margin: 26px 0; }
.gah-sample-placeholder { background: var(--gah-bg-alt); border: 1px dashed var(--gah-border); border-radius: 8px; padding: 18px 20px; color: var(--gah-muted); }
.gah-pricing-assurance { font-size: 0.9rem; color: var(--gah-muted); margin-top: 10px; }

/* Glossary definition list — v3.28.0 (Phase 2 item 2.5) */
.gah-glossary { margin: 0 0 28px; }
.gah-glossary dt { font-weight: 700; color: var(--gah-primary); margin-top: 16px; }
.gah-glossary dd { margin: 4px 0 0; padding-left: 0; }

/* Good/Better/Best material tier cells — v3.29.0 (Phase 3 item 3.1) */
.gah-gbb-best { color: #4E831B; font-weight: 700; } /* v3.43.0: logo green */
.gah-gbb-better { color: #d97706; font-weight: 700; }
.gah-gbb-good { color: var(--gah-muted); font-weight: 700; }

/* Decision Tools — v3.30.0 (Phase 3 item 3.2) */
.gah-tool { border: 1px solid var(--gah-border); border-radius: 8px; padding: 22px 24px; margin: 16px 0 32px; background: var(--gah-bg-alt); }
.gah-tool-note { font-size: 0.95rem; color: var(--gah-muted); font-style: italic; margin-bottom: 4px; }
.gah-tool-disclaimer { font-size: 0.9rem; color: var(--gah-muted); border-top: 1px solid var(--gah-border); padding-top: 16px; margin-top: 8px; }
.gah-tool-q { margin-bottom: 18px; }
.gah-tool-qlabel { font-weight: 700; color: var(--gah-text); margin-bottom: 8px; }
.gah-tool-opts { display: flex; flex-wrap: wrap; gap: 8px; }
.gah-tool-btn { font-family: inherit; font-size: 0.95rem; font-weight: 600; color: var(--gah-primary); background: #fff; border: 1.5px solid var(--gah-border); border-radius: 6px; padding: 8px 14px; cursor: pointer; transition: border-color 0.15s, background 0.15s, color 0.15s; }
.gah-tool-btn:hover { border-color: var(--gah-primary); }
.gah-tool-btn.is-sel { background: var(--gah-primary); border-color: var(--gah-primary); color: #fff; }
.gah-tool-go { font-family: inherit; font-size: 1rem; font-weight: 700; color: #fff; background: var(--gah-accent); border: none; border-radius: 6px; padding: 11px 22px; cursor: pointer; margin-top: 6px; transition: background 0.15s; }
.gah-tool-go:hover { background: var(--gah-accent-hover); }
.gah-tool-fields { display: flex; flex-wrap: wrap; gap: 16px; margin-bottom: 14px; }
.gah-tool-field { display: flex; flex-direction: column; gap: 5px; font-weight: 600; font-size: 0.9rem; color: var(--gah-muted); }
.gah-tool-input { font-family: inherit; font-size: 1rem; padding: 9px 12px; border: 1.5px solid var(--gah-border); border-radius: 6px; min-width: 180px; color: var(--gah-text); background: #fff; }
.gah-tool-result { margin-top: 18px; }
.gah-tool-result:empty { margin-top: 0; }
.gah-tool-rlabel { font-weight: 700; color: var(--gah-muted); font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.04em; margin-bottom: 4px; }
.gah-tool-rname { font-size: 1.35rem; font-weight: 800; color: var(--gah-primary); margin-bottom: 6px; }
.gah-tool-verdict { font-size: 0.85rem; font-weight: 700; color: var(--gah-accent); }
.gah-tool-links { list-style: none; padding-left: 0; margin: 4px 0 0; }
.gah-tool-links li { margin: 4px 0; }
.gah-tool-rnote { font-size: 0.9rem; color: var(--gah-muted); margin-top: 10px; }
.gah-tool-warn { color: var(--gah-warning); font-weight: 600; }

/* First 10 Changes — v3.33.0 (Phase 3 item 3.5) */
.gah-first10 { padding-left: 1.4em; }
.gah-first10 > li { margin-bottom: 22px; }
.gah-first10 > li > strong { color: var(--gah-primary); font-size: 1.1rem; }
.gah-first10 p { margin: 6px 0; }
.gah-use-instead { font-size: 0.95rem; color: var(--gah-muted); }

/* v3.43.0 — new horizontal logo: step down on small screens so it never
   crowds the mobile nav toggle. */
@media (max-width: 640px) {
    .gah-logo img { height: 54px; max-width: 250px; }
}
@media (max-width: 380px) {
    .gah-logo img { height: 46px; max-width: 208px; }
}
