/*
Theme Name:    Sentinel Clinical — Lead Safe America
Theme URI:     https://leadsafeamerica.org
Author:        Lead Safe America Editorial
Description:   Institutional public-health portal theme. Clinical aesthetic inspired by Mayo Clinic information architecture and Ogilvy editorial principles. Built for YMYL content with E-E-A-T scaffolding, Schema.org MedicalWebPage support, and full Gutenberg compatibility.
Version:       2.0
Text Domain:   sentinel-clinical
Tags:          editorial, public-health, clinical, ymyl, gutenberg-ready, e-e-a-t
*/

:root{
    /* Palette — institutional clinical */
    --paper:#FCFBF9;
    --paper-2:#F4F1EC;
    --paper-3:#EAE6DE;
    --ink:#1B2733;
    --ink-2:#374253;
    --muted:#5A6675;
    --muted-2:#8A95A4;
    --rule:#D9D4CB;
    --rule-soft:#E8E4DB;
    --navy:#052147;
    --navy-2:#0B3268;
    --link:#00467F;
    --link-hover:#00355F;
    --slate:#3D5267;
    --accent:#C8A55C;
    --green:#2D6F4F;
    --amber:#A86B14;

    --serif:'Source Serif 4', Georgia, 'Times New Roman', serif;
    --sans:'Open Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --mono:'JetBrains Mono', monospace;

    --gutter:24px;
    --rad:8px;
    --rad-sm:6px;
    --maxw:1240px;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
    background:var(--paper);
    color:var(--ink);
    font-family:var(--sans);
    font-size:17px;
    line-height:1.65;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
}
img,svg{max-width:100%;display:block;height:auto}
a{color:var(--link);text-decoration:none}
a:hover{color:var(--link-hover);text-decoration:underline;text-underline-offset:3px}

/* === Gutenberg width support === */
.alignwide{max-width:1100px;margin-left:auto;margin-right:auto}
.alignfull{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);max-width:100vw;width:100vw}
.aligncenter{margin-left:auto;margin-right:auto;display:block}
.alignleft{float:left;margin:0 1.6em 1.6em 0}
.alignright{float:right;margin:0 0 1.6em 1.6em}
.wp-block-image figcaption,figure figcaption{
    font-family:var(--serif);font-style:italic;font-size:14.5px;color:var(--muted);
    line-height:1.45;padding:10px 16px;border-left:3px solid var(--accent);margin-top:8px;
}

.container{max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter);position:relative}

/* === UTILITY BAR === */
.utility{background:#fff;border-bottom:1px solid var(--rule-soft);font-size:13px;color:var(--muted)}
.utility .row{display:flex;justify-content:space-between;align-items:center;height:40px;gap:16px}
.utility a{color:var(--muted);font-size:12px;letter-spacing:0.02em}
.utility a:hover{color:var(--link)}
.utility .util-left,.utility .util-right{display:flex;gap:18px;align-items:center}
.utility .verified{color:var(--green);font-weight:600;display:flex;align-items:center;gap:6px;font-size:12px}
.utility .verified::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px rgba(45,111,79,0.15)}

/* === MASTHEAD === */
.masthead{background:#fff;border-bottom:1px solid var(--rule-soft)}
.masthead-inner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:32px;padding:24px 0}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none}
.brand:hover{text-decoration:none}
.brand-mark{
    width:48px;height:48px;background:var(--navy);color:#fff;border-radius:var(--rad);
    display:flex;align-items:center;justify-content:center;
    font-family:var(--serif);font-weight:900;font-size:24px;flex-shrink:0;letter-spacing:-0.04em;
}
.brand-text{display:flex;flex-direction:column;line-height:1}
.brand-name{font-family:var(--serif);font-weight:700;font-size:24px;color:var(--ink);letter-spacing:-0.01em;line-height:1.1}
.brand-tag{font-family:var(--sans);font-size:11px;color:var(--muted);letter-spacing:0.06em;text-transform:uppercase;margin-top:5px;font-weight:500}

.search-wrap{position:relative;max-width:520px;width:100%;justify-self:center}
.search-wrap input{
    width:100%;height:48px;padding:0 56px 0 18px;
    border:2px solid var(--rule);border-radius:var(--rad);background:var(--paper-2);
    font-family:var(--sans);font-size:15px;color:var(--ink);transition:all 0.15s;
}
.search-wrap input::placeholder{color:var(--muted-2)}
.search-wrap input:focus{outline:none;border-color:var(--navy);background:#fff}
.search-wrap button{
    position:absolute;right:6px;top:6px;width:36px;height:36px;
    background:var(--navy);border:none;border-radius:var(--rad-sm);color:#fff;cursor:pointer;
    display:flex;align-items:center;justify-content:center;transition:background 0.15s;
}
.search-wrap button:hover{background:var(--navy-2)}
.search-wrap button svg{width:18px;height:18px;stroke:#fff;fill:none;stroke-width:2.2}

.header-ctas{display:flex;gap:10px;align-items:center}
.btn{
    display:inline-flex;align-items:center;justify-content:center;
    height:44px;padding:0 18px;font-family:var(--sans);font-size:14px;font-weight:600;
    border-radius:var(--rad);border:1.5px solid transparent;cursor:pointer;
    transition:all 0.15s;text-decoration:none;letter-spacing:0.01em;
}
.btn-primary{background:var(--navy);color:#fff;border-color:var(--navy)}
.btn-primary:hover{background:var(--navy-2);color:#fff;text-decoration:none}
.btn-ghost{background:transparent;color:var(--navy);border-color:var(--rule)}
.btn-ghost:hover{background:var(--paper-2);color:var(--navy);text-decoration:none}

.menu-toggle{
    display:none;width:48px;height:48px;background:transparent;
    border:1.5px solid var(--rule);border-radius:var(--rad);cursor:pointer;
    align-items:center;justify-content:center;
}
.menu-toggle span,.menu-toggle span::before,.menu-toggle span::after{
    display:block;width:20px;height:2px;background:var(--navy);position:relative;
}
.menu-toggle span::before,.menu-toggle span::after{content:"";position:absolute;left:0}
.menu-toggle span::before{top:-6px}
.menu-toggle span::after{top:6px}

/* === PRIMARY NAV === */
nav.primary{background:var(--navy);color:#fff;position:sticky;top:0;z-index:50;box-shadow:0 1px 0 rgba(0,0,0,0.05)}
nav.primary ul{list-style:none;display:flex;gap:0}
nav.primary li{position:relative}
nav.primary a{
    display:flex;align-items:center;height:52px;padding:0 20px;
    font-family:var(--sans);font-size:14px;font-weight:600;
    color:rgba(255,255,255,0.92);letter-spacing:0.02em;text-decoration:none;
    border-bottom:3px solid transparent;transition:all 0.15s;
}
nav.primary a:hover{color:#fff;background:var(--navy-2);text-decoration:none}
nav.primary a.active,nav.primary .current-menu-item a{
    color:#fff;border-bottom-color:var(--accent);background:var(--navy-2);
}

/* === HERO / LEAD === */
.hero{background:linear-gradient(180deg, #fff 0%, var(--paper) 100%);padding:48px 0 56px;border-bottom:1px solid var(--rule-soft)}
.hero-grid{display:grid;grid-template-columns:1.7fr 1fr;gap:48px;align-items:start}
.breadcrumb{
    font-family:var(--sans);font-size:12px;color:var(--muted);letter-spacing:0.04em;
    margin-bottom:18px;display:flex;gap:8px;align-items:center;flex-wrap:wrap;
}
.breadcrumb a{color:var(--link)}
.breadcrumb .sep{color:var(--rule);font-size:10px}

.topic-tag{
    display:inline-flex;align-items:center;gap:8px;
    font-family:var(--sans);font-size:11px;font-weight:700;
    letter-spacing:0.14em;text-transform:uppercase;color:var(--navy);
    background:var(--paper-3);padding:6px 12px;border-radius:var(--rad-sm);margin-bottom:20px;
}
.topic-tag::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent)}

.hero h1{
    font-family:var(--serif);font-weight:700;
    font-size:clamp(32px, 5vw, 52px);line-height:1.1;letter-spacing:-0.018em;
    color:var(--ink);margin-bottom:20px;
}
.hero .deck{
    font-family:var(--serif);font-weight:400;font-size:clamp(17px, 1.6vw, 21px);
    line-height:1.5;color:var(--ink-2);margin-bottom:28px;max-width:60ch;
}
.hero .meta-bar{
    display:flex;flex-wrap:wrap;gap:24px;padding:18px 0;
    border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);
    font-family:var(--sans);font-size:13px;color:var(--muted);
}
.hero .meta-bar > div{display:flex;flex-direction:column;gap:2px}
.hero .meta-bar .lbl{font-size:10px;letter-spacing:0.14em;text-transform:uppercase;color:var(--muted-2);font-weight:600}
.hero .meta-bar .val{color:var(--ink);font-weight:600;font-size:14px}
.hero .meta-bar .val a{color:var(--link)}
.hero .meta-bar .val.green{color:var(--green)}

/* === TRUST BOX === */
.trust-box{
    background:#fff;border:1px solid var(--rule);border-top:4px solid var(--navy);
    border-radius:var(--rad);padding:28px;box-shadow:0 1px 2px rgba(11,50,104,0.04);
}
.trust-box-header{
    display:flex;align-items:center;gap:10px;
    padding-bottom:16px;border-bottom:1px solid var(--rule-soft);margin-bottom:18px;
}
.trust-box-icon{
    width:36px;height:36px;background:var(--navy);border-radius:var(--rad-sm);
    display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;
}
.trust-box-icon svg{width:20px;height:20px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.trust-box h3{font-family:var(--serif);font-size:18px;font-weight:700;color:var(--ink);line-height:1.2;margin:0}
.trust-box .sublbl{font-family:var(--sans);font-size:11px;color:var(--muted);letter-spacing:0.08em;text-transform:uppercase;font-weight:600}
.trust-box ul{list-style:none;padding:0}
.trust-box ul li{
    font-family:var(--sans);font-size:14.5px;line-height:1.55;color:var(--ink-2);
    padding:10px 0 10px 28px;position:relative;border-bottom:1px solid var(--rule-soft);
}
.trust-box ul li:last-child{border-bottom:none}
.trust-box ul li::before{
    content:"";position:absolute;left:0;top:14px;width:18px;height:18px;
    background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232D6F4F' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>") center/contain no-repeat;
}
.trust-box .verify{
    margin-top:18px;padding-top:16px;border-top:1px solid var(--rule-soft);
    font-family:var(--sans);font-size:11px;letter-spacing:0.06em;color:var(--muted);line-height:1.5;
}
.trust-box .verify strong{color:var(--ink)}

/* === SECTION HEADERS === */
.section{padding:64px 0;border-bottom:1px solid var(--rule-soft)}
.section-head{
    display:flex;align-items:flex-end;justify-content:space-between;gap:20px;
    margin-bottom:36px;padding-bottom:18px;border-bottom:2px solid var(--navy);
}
.section-head h2{font-family:var(--serif);font-weight:700;font-size:clamp(24px, 3vw, 32px);color:var(--ink);letter-spacing:-0.01em;line-height:1.15}
.section-head .lbl{font-family:var(--sans);font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:var(--navy);font-weight:700;margin-bottom:8px;display:block}
.section-head .more{font-family:var(--sans);font-size:13px;font-weight:600;color:var(--link);display:flex;align-items:center;gap:6px;flex-shrink:0}
.section-head .more::after{content:"→"}

/* === ARTICLE CARDS === */
.grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:28px}
.card{
    background:#fff;border:1px solid var(--rule-soft);border-radius:var(--rad);
    overflow:hidden;display:flex;flex-direction:column;
    transition:transform 0.15s, box-shadow 0.15s, border-color 0.15s;
}
.card:hover{border-color:var(--rule);box-shadow:0 4px 16px rgba(11,50,104,0.08);transform:translateY(-2px)}
.card-figure{aspect-ratio:16/9;background:linear-gradient(135deg, var(--paper-2) 0%, var(--paper-3) 100%);position:relative;overflow:hidden}
.card-figure .figure-pattern{position:absolute;inset:0;opacity:0.5;background-image:radial-gradient(circle at 20% 30%, rgba(5,33,71,0.08) 0%, transparent 40%),radial-gradient(circle at 75% 60%, rgba(200,165,92,0.15) 0%, transparent 40%)}
.card-figure .figure-icon{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--navy);opacity:0.55}
.card-figure .figure-icon svg{width:44%;height:44%;max-width:120px;stroke:currentColor;fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.card-body{padding:22px 22px 24px;display:flex;flex-direction:column;flex:1}
.card-cat{font-family:var(--sans);font-size:11px;font-weight:700;color:var(--navy);letter-spacing:0.14em;text-transform:uppercase;margin-bottom:10px;display:flex;align-items:center;gap:8px}
.card-cat::before{content:"";width:14px;height:2px;background:var(--accent)}
.card h3{font-family:var(--serif);font-size:21px;font-weight:700;line-height:1.25;letter-spacing:-0.01em;color:var(--ink);margin-bottom:12px}
.card h3 a{color:inherit;text-decoration:none}
.card h3 a:hover{color:var(--navy);text-decoration:none}
.card .excerpt{font-family:var(--sans);font-size:14.5px;line-height:1.55;color:var(--ink-2);margin-bottom:18px;flex:1}
.card-meta{display:flex;justify-content:space-between;align-items:center;padding-top:14px;border-top:1px solid var(--rule-soft);font-family:var(--sans);font-size:12px;color:var(--muted);gap:12px}
.card-meta .reviewed{display:inline-flex;align-items:center;gap:5px;color:var(--green);font-weight:600}
.card-meta .reviewed::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--green)}

/* === ARTICLE DETAIL === */
.article-detail{padding:56px 0 80px;background:linear-gradient(180deg, #fff 0%, var(--paper) 100%)}
.article-grid{display:grid;grid-template-columns:minmax(0, 1fr) 320px;gap:56px;align-items:start}
.article-body{max-width:720px}
.article-detail h1{font-family:var(--serif);font-weight:700;font-size:clamp(30px, 4.5vw, 44px);line-height:1.1;letter-spacing:-0.018em;color:var(--ink);margin-bottom:18px}
.article-detail .deck{font-family:var(--serif);font-style:italic;font-size:20px;line-height:1.45;color:var(--muted);margin-bottom:28px;font-weight:400}

/* E-E-A-T metadata block */
.eeat-block{
    background:#fff;border:1px solid var(--rule);border-radius:var(--rad);
    padding:18px 22px;margin-bottom:36px;
    display:grid;grid-template-columns:repeat(4, 1fr);gap:22px;
}
.eeat-block .eeat-cell{display:flex;flex-direction:column;gap:4px;min-width:0}
.eeat-block .eeat-lbl{font-family:var(--sans);font-size:10px;letter-spacing:0.14em;text-transform:uppercase;color:var(--muted);font-weight:600}
.eeat-block .eeat-val{font-family:var(--sans);font-size:13.5px;color:var(--ink);font-weight:600;line-height:1.3}
.eeat-block .eeat-val a{color:var(--link)}
.eeat-block .eeat-val.green{color:var(--green)}

/* Body prose */
.prose{font-family:var(--sans);font-size:18px;line-height:1.75;color:var(--ink-2)}
.prose p{margin-bottom:1.6em}
.prose p:first-of-type::first-letter{
    font-family:var(--serif);font-size:72px;font-weight:900;float:left;line-height:0.9;
    margin:8px 14px 0 0;color:var(--navy);letter-spacing:-0.04em;
}
.prose h2{font-family:var(--serif);font-size:28px;font-weight:700;color:var(--ink);line-height:1.2;letter-spacing:-0.01em;margin:48px 0 18px;padding-bottom:8px;border-bottom:1px solid var(--rule)}
.prose h3{font-family:var(--serif);font-size:21px;font-weight:700;color:var(--ink);line-height:1.3;margin:32px 0 12px}
.prose strong{color:var(--ink);font-weight:700}
.prose em{font-style:italic}
.prose a{color:var(--link);border-bottom:1px solid currentColor}
.prose a:hover{color:var(--link-hover);text-decoration:none}
.prose ul,.prose ol{margin:0 0 1.6em 24px;padding:0}
.prose li{margin-bottom:0.6em}
.prose figure{margin:32px 0}

/* Methodology Box */
.methodology-box{
    background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--rad);
    padding:28px 30px;margin:36px 0;position:relative;
}
.methodology-box .mb-label{
    font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:0.16em;
    text-transform:uppercase;color:var(--navy);margin-bottom:14px;
    display:flex;align-items:center;gap:10px;
}
.methodology-box .mb-label::before{
    content:"";width:24px;height:24px;background:var(--navy);border-radius:var(--rad-sm);
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><path d='M9 3v6l-5 9a2 2 0 0 0 2 3h12a2 2 0 0 0 2-3l-5-9V3'/><line x1='9' y1='3' x2='15' y2='3'/></svg>");
    background-position:center;background-repeat:no-repeat;background-size:14px;
}
.methodology-box h4{font-family:var(--serif);font-size:20px;font-weight:700;color:var(--ink);margin-bottom:12px;line-height:1.25}
.methodology-box p{font-size:16px;line-height:1.65;color:var(--ink-2);margin-bottom:14px}
.methodology-box ol{margin:14px 0 4px 24px;font-size:16px;line-height:1.6;color:var(--ink-2)}
.methodology-box ol li{margin-bottom:8px;padding-left:6px}

/* Fact box */
.fact-box{
    background:#fff;border-left:4px solid var(--accent);
    padding:18px 22px;margin:28px 0;border-radius:0 var(--rad-sm) var(--rad-sm) 0;
    font-family:var(--sans);font-size:15.5px;line-height:1.55;color:var(--ink-2);
}
.fact-box .fb-label{
    font-size:10px;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;
    color:var(--amber);margin-bottom:6px;display:block;
}

/* Stat row */
.stat-row{
    display:grid;grid-template-columns:repeat(3, 1fr);gap:0;margin:32px 0;
    border:1px solid var(--rule);border-radius:var(--rad);overflow:hidden;background:#fff;
}
.stat-row .cell{padding:24px 18px;text-align:center;border-right:1px solid var(--rule)}
.stat-row .cell:last-child{border-right:none}
.stat-row .num{font-family:var(--serif);font-size:42px;font-weight:900;color:var(--navy);line-height:1;letter-spacing:-0.03em;display:block;margin-bottom:8px}
.stat-row .lab{font-family:var(--sans);font-size:11.5px;letter-spacing:0.06em;text-transform:uppercase;color:var(--muted);font-weight:600;line-height:1.4}

/* Bibliography */
.references{margin-top:56px;padding-top:32px;border-top:2px solid var(--ink)}
.references h2{font-family:var(--serif);font-size:22px;font-weight:700;color:var(--ink);margin-bottom:18px;border:none;padding:0}
.references ol{list-style:none;counter-reset:ref;padding:0}
.references ol li{
    font-family:var(--sans);font-size:14px;line-height:1.55;color:var(--ink-2);
    padding:10px 0 10px 36px;position:relative;border-bottom:1px solid var(--rule-soft);counter-increment:ref;
}
.references ol li::before{
    content:counter(ref);position:absolute;left:0;top:10px;
    width:24px;height:24px;background:var(--paper-3);color:var(--navy);
    border-radius:var(--rad-sm);display:flex;align-items:center;justify-content:center;
    font-family:var(--mono);font-size:12px;font-weight:600;
}
.references em{font-style:italic}

/* === SIDEBAR (Regulatory Alignment) === */
.sidebar{position:sticky;top:80px;display:flex;flex-direction:column;gap:24px}
.side-block{background:#fff;border:1px solid var(--rule);border-radius:var(--rad);padding:22px}
.side-block.dark{background:var(--navy);border-color:var(--navy);color:#fff}
.side-block .sb-label{
    font-family:var(--sans);font-size:10px;letter-spacing:0.18em;text-transform:uppercase;
    font-weight:700;color:var(--muted);margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid var(--rule-soft);
}
.side-block.dark .sb-label{color:var(--accent);border-bottom-color:rgba(200,165,92,0.3)}
.side-block h4{font-family:var(--serif);font-size:17px;font-weight:700;color:var(--ink);line-height:1.3;margin-bottom:14px}
.side-block.dark h4{color:#fff}

.reg-list{list-style:none;display:flex;flex-direction:column;gap:10px}
.reg-list li{
    display:flex;align-items:flex-start;gap:10px;padding:8px 10px;
    background:var(--paper-2);border-radius:var(--rad-sm);
    font-family:var(--sans);font-size:13px;color:var(--ink-2);line-height:1.4;
}
.reg-list .agency{
    font-family:var(--mono);font-size:11px;font-weight:600;color:var(--navy);
    background:#fff;padding:2px 6px;border-radius:3px;flex-shrink:0;
    border:1px solid var(--rule);letter-spacing:0.04em;
}
.reg-list a{color:var(--ink);font-weight:500}
.reg-list a:hover{color:var(--link);text-decoration:none}

.toc-list{list-style:none;display:flex;flex-direction:column;gap:0}
.toc-list li{font-family:var(--sans);font-size:13.5px}
.toc-list a{display:flex;padding:8px 0;color:var(--ink-2);border-bottom:1px solid var(--rule-soft);line-height:1.4}
.toc-list li:last-child a{border-bottom:none}
.toc-list a:hover{color:var(--link);text-decoration:none}
.toc-list .num{font-family:var(--mono);color:var(--muted-2);margin-right:10px;flex-shrink:0;font-size:12px}

.helpline{padding:6px 0}
.helpline .num{font-family:var(--serif);font-size:24px;font-weight:700;color:#fff;margin-bottom:4px;letter-spacing:-0.01em}
.helpline .desc{font-family:var(--sans);font-size:13px;line-height:1.5;color:rgba(255,255,255,0.78)}
.helpline .gold{color:var(--accent);font-weight:600}

/* Author Card */
.author-card{
    margin-top:48px;padding:28px;background:#fff;border:1px solid var(--rule);border-radius:var(--rad);
    display:grid;grid-template-columns:88px 1fr;gap:20px;align-items:start;
}
.author-avatar{
    width:88px;height:88px;border-radius:50%;
    background:linear-gradient(135deg, var(--navy) 0%, var(--navy-2) 100%);color:#fff;
    display:flex;align-items:center;justify-content:center;
    font-family:var(--serif);font-size:30px;font-weight:700;flex-shrink:0;
    border:3px solid #fff;box-shadow:0 0 0 1px var(--rule);
}
.author-card .author-meta-lbl{font-family:var(--sans);font-size:10px;color:var(--muted);letter-spacing:0.14em;text-transform:uppercase;font-weight:700;margin-bottom:4px}
.author-card h4{font-family:var(--serif);font-size:20px;font-weight:700;color:var(--ink);margin-bottom:4px}
.author-card .creds{font-family:var(--sans);font-size:13px;color:var(--navy);font-weight:600;letter-spacing:0.02em;margin-bottom:12px}
.author-card p{font-family:var(--sans);font-size:14.5px;line-height:1.55;color:var(--ink-2);margin-bottom:14px}
.author-card .links{font-family:var(--sans);font-size:12px;display:flex;gap:14px;flex-wrap:wrap}
.author-card .links a{color:var(--link);font-weight:600;letter-spacing:0.02em;display:inline-flex;align-items:center;gap:5px}
.author-card .links a::before{content:"↗";font-size:11px;color:var(--muted-2)}

/* Related Info */
.related-info{margin-top:48px;padding:28px;background:var(--paper-2);border-radius:var(--rad)}
.related-info h3{font-family:var(--serif);font-size:20px;font-weight:700;color:var(--ink);margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid var(--rule)}
.related-info ul{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.related-info li{font-family:var(--sans);font-size:14.5px;line-height:1.4}
.related-info li a{
    display:flex;align-items:flex-start;gap:8px;padding:10px 12px;
    background:#fff;border:1px solid var(--rule-soft);border-radius:var(--rad-sm);
    color:var(--ink);font-weight:500;transition:all 0.15s;
}
.related-info li a:hover{border-color:var(--navy);text-decoration:none;transform:translateX(2px)}
.related-info li a::before{
    content:"";width:14px;height:14px;flex-shrink:0;margin-top:3px;
    background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23052147' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='9 18 15 12 9 6'/></svg>") center/contain no-repeat;
}

/* === FOOTER === */
footer.colophon{background:var(--ink);color:rgba(252,251,249,0.85);padding:56px 0 24px;margin-top:0}
footer .footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:44px;padding-bottom:36px;border-bottom:1px solid rgba(255,255,255,0.1)}
footer .footer-brand .footer-mark{display:flex;align-items:center;gap:12px;margin-bottom:16px}
footer .footer-brand .footer-mark-icon{
    width:40px;height:40px;background:var(--accent);color:var(--navy);border-radius:var(--rad);
    display:flex;align-items:center;justify-content:center;
    font-family:var(--serif);font-size:20px;font-weight:900;
}
footer .footer-brand .footer-mark-name{font-family:var(--serif);font-size:22px;color:#fff;font-weight:700}
footer .footer-brand p{font-family:var(--sans);font-size:14px;line-height:1.6;color:rgba(252,251,249,0.65);max-width:340px;margin-bottom:16px}
footer .footer-brand .accreditation{display:flex;flex-direction:column;gap:6px;font-family:var(--mono);font-size:11px;color:var(--accent);letter-spacing:0.06em}
footer h5{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;color:var(--accent);margin-bottom:18px}
footer ul{list-style:none}
footer ul li{margin-bottom:10px}
footer ul a{font-family:var(--sans);font-size:14px;color:rgba(252,251,249,0.78);letter-spacing:0.01em}
footer ul a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
footer .fineprint{padding-top:24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;font-family:var(--sans);font-size:11.5px;color:rgba(252,251,249,0.5);letter-spacing:0.04em}
footer .fineprint .legal-nav{display:flex;gap:18px;flex-wrap:wrap}
footer .fineprint a{color:rgba(252,251,249,0.7)}
footer .fineprint a:hover{color:var(--accent)}

/* === SEARCH FORM === */
.search-form{display:flex;gap:8px}
.search-form input[type=search]{flex:1;height:48px;padding:0 16px;border:2px solid var(--rule);border-radius:var(--rad);background:#fff;font-family:var(--sans);font-size:15px}
.search-form input[type=search]:focus{outline:none;border-color:var(--navy)}
.search-form button{height:48px;padding:0 20px;background:var(--navy);color:#fff;border:none;border-radius:var(--rad);font-family:var(--sans);font-weight:600;cursor:pointer}

/* Floating helpline button on mobile */
.float-help{
    display:none;position:fixed;bottom:18px;right:18px;
    background:var(--navy);color:#fff;padding:12px 18px;border-radius:30px;
    font-family:var(--sans);font-size:13px;font-weight:600;
    box-shadow:0 6px 20px rgba(11,50,104,0.3);z-index:60;
    align-items:center;gap:8px;text-decoration:none;
}
.float-help::before{
    content:"";width:18px;height:18px;
    background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C8A55C' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><path d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z'/></svg>") center/contain no-repeat;
}

/* === RESPONSIVE === */
@media (max-width:1100px){
    .article-grid{grid-template-columns:1fr;gap:48px}
    .sidebar{position:static}
    .grid{grid-template-columns:repeat(2, 1fr)}
}
@media (max-width:860px){
    :root{--gutter:18px}
    .utility .util-left a:not(.show-mobile),.utility .verified{display:none}
    .masthead-inner{grid-template-columns:auto 1fr;gap:14px;padding:16px 0}
    .search-wrap,.header-ctas{display:none}
    .menu-toggle{display:flex}
    nav.primary{display:none}
    nav.primary.open{display:block;position:fixed;top:0;left:0;right:0;bottom:0;background:var(--navy);z-index:100;overflow-y:auto}
    nav.primary.open .mobile-close{display:flex;align-items:center;justify-content:flex-end;padding:18px var(--gutter)}
    nav.primary.open .mobile-close button{width:48px;height:48px;background:rgba(255,255,255,0.1);border:none;color:#fff;border-radius:var(--rad);cursor:pointer;font-size:24px;line-height:1}
    nav.primary.open ul{flex-direction:column;gap:0}
    nav.primary.open a{height:auto;padding:16px var(--gutter);border-bottom:1px solid rgba(255,255,255,0.08);font-size:16px}
    nav.primary.open a.active{border-bottom-color:rgba(255,255,255,0.08);background:transparent;border-left:3px solid var(--accent);padding-left:calc(var(--gutter) - 3px)}

    .hero{padding:32px 0 40px}
    .hero-grid{grid-template-columns:1fr;gap:32px}
    .hero .meta-bar{gap:16px;padding:14px 0}
    .grid{grid-template-columns:1fr;gap:20px}
    .section{padding:40px 0}
    .section-head{flex-direction:column;align-items:flex-start;gap:10px}
    .eeat-block{grid-template-columns:1fr 1fr;gap:14px;padding:14px 16px}
    .related-info ul{grid-template-columns:1fr}
    .article-detail{padding:32px 0 56px}
    .prose{font-size:17px}
    .prose p:first-of-type::first-letter{font-size:56px;margin:6px 10px 0 0}
    .prose h2{font-size:24px;margin:36px 0 12px}
    .prose h3{font-size:19px}
    .stat-row{grid-template-columns:1fr}
    .stat-row .cell{border-right:none;border-bottom:1px solid var(--rule)}
    .stat-row .cell:last-child{border-bottom:none}
    .author-card{grid-template-columns:64px 1fr;padding:20px;gap:14px}
    .author-avatar{width:64px;height:64px;font-size:22px}
    .author-card h4{font-size:18px}
    .methodology-box,.trust-box{padding:20px}
    footer .footer-grid{grid-template-columns:1fr 1fr;gap:28px;padding-bottom:28px}
    footer .fineprint{flex-direction:column;gap:10px}
    .float-help{display:inline-flex}
}
@media (max-width:480px){
    footer .footer-grid{grid-template-columns:1fr}
    .eeat-block{grid-template-columns:1fr}
    .brand-tag{display:none}
}
