@layer reset, base, components, utilities;

@layer reset {
    *,*::before,*::after{box-sizing:border-box}
    html{scroll-behavior:smooth;text-size-adjust:100%}
    body,h1,h2,h3,p,figure,blockquote,ol,ul{margin:0}
    img{display:block;max-width:100%;height:auto}
    button,input{font:inherit}
    a{color:inherit}
}

@layer base {
    :root{
        --bg:#f8fafc;--surface:#ffffff;--surface-alt:#eef2f7;--text:#172033;--muted:#64748b;
        --line:#dbe3ee;--brand:#0f4c81;--brand-strong:#08345a;--accent:#e11d48;--shadow:0 16px 45px rgba(15,23,42,.08);
        --radius:18px;--container:1180px;color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    }
    :root[data-theme="dark"]{
        --bg:#0b1220;--surface:#111b2e;--surface-alt:#17233a;--text:#e8eef8;--muted:#a6b4c8;
        --line:#263751;--brand:#79b8ef;--brand-strong:#a9d5fb;--accent:#fb7185;--shadow:0 20px 55px rgba(0,0,0,.28);color-scheme:dark;
    }
    body{min-height:100vh;background:var(--bg);color:var(--text);font-size:16px;line-height:1.65}
    h1,h2,h3{line-height:1.15;letter-spacing:-.025em;text-wrap:balance}
    h1{font-size:clamp(2.15rem,5vw,4.7rem)}h2{font-size:clamp(1.4rem,2.3vw,2rem)}h3{font-size:1.2rem}
    p{color:var(--muted)}
    a{text-decoration-thickness:.08em;text-underline-offset:.18em}
    a:hover{color:var(--brand)}
    :focus-visible{outline:3px solid color-mix(in srgb,var(--brand) 72%,white);outline-offset:3px}
    .container{width:min(var(--container),calc(100% - 32px));margin-inline:auto}
    .site-main{min-height:65vh}.page-stack{display:grid;gap:clamp(2rem,5vw,4.5rem);padding-block:clamp(2rem,5vw,5rem)}
    .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
}

@layer components {
    .skip-link{position:fixed;left:16px;top:12px;z-index:1000;transform:translateY(-160%);background:var(--surface);padding:.65rem 1rem;border-radius:10px;box-shadow:var(--shadow)}
    .skip-link:focus{transform:none}
    .site-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
    .header-row{height:72px;display:flex;align-items:center;justify-content:space-between;gap:1rem}
    .brand{display:inline-flex;align-items:center;gap:.75rem;font-weight:850;font-size:1.15rem;text-decoration:none}
    .brand-mark,.brand-logo{width:42px;height:42px;border-radius:12px}.brand-mark{display:grid;place-items:center;background:var(--brand);color:var(--surface);font-weight:900}
    .brand-logo{object-fit:contain}.header-actions{display:flex;gap:.5rem}.icon-button{width:42px;height:42px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);cursor:pointer}.menu-button{display:none}
    .primary-navigation{border-top:1px solid var(--line)}.nav-inner{display:flex;align-items:center;gap:1.25rem;min-height:52px;overflow-x:auto}.nav-inner>a{white-space:nowrap;font-size:.93rem;font-weight:700;text-decoration:none}
    .header-search{margin-left:auto;display:flex;gap:.45rem}.header-search input,.search-page-form input{min-width:190px;border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:10px;padding:.62rem .75rem}.header-search button,.search-page-form button,.button{border:0;border-radius:10px;background:var(--brand);color:var(--surface);font-weight:800;padding:.62rem .85rem;text-decoration:none;cursor:pointer}
    .breaking-strip{background:var(--brand-strong);color:white}.breaking-inner{min-height:48px;display:flex;align-items:center;gap:1rem}.breaking-inner>strong{background:var(--accent);padding:.25rem .55rem;border-radius:7px;text-transform:uppercase;font-size:.72rem;letter-spacing:.08em}.breaking-links{display:flex;gap:1.4rem;overflow:hidden}.breaking-links a{white-space:nowrap;text-decoration:none;font-weight:700;font-size:.9rem}
    .hero-story{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.9fr);gap:clamp(1.5rem,4vw,4rem);align-items:center;padding:clamp(1.5rem,4vw,3.5rem);border:1px solid var(--line);border-radius:28px;background:var(--surface);box-shadow:var(--shadow)}
    .hero-copy{display:grid;gap:1.15rem}.hero-copy h1 a{text-decoration:none}.hero-subtitle,.article-subtitle{font-size:clamp(1.1rem,2vw,1.45rem);color:var(--muted)}.hero-media{aspect-ratio:16/10;border-radius:22px;overflow:hidden;background:var(--surface-alt)}.hero-media img{width:100%;height:100%;object-fit:cover}.media-placeholder{display:block;width:100%;height:100%;min-height:190px;background:linear-gradient(135deg,var(--surface-alt),color-mix(in srgb,var(--brand) 20%,var(--surface-alt)))}
    .eyebrow{color:var(--brand);font-size:.78rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.story-meta,.card-meta,.article-byline{display:flex;flex-wrap:wrap;gap:.55rem 1rem;color:var(--muted);font-size:.88rem}.story-meta a,.card-meta a,.article-byline a{font-weight:750;color:var(--text)}
    .content-sidebar-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:clamp(2rem,5vw,4rem);align-items:start}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.section-heading>a{font-weight:800;color:var(--brand)}
    .article-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.35rem}.article-card{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:0 8px 25px rgba(15,23,42,.04)}.card-media{display:block;aspect-ratio:16/9;overflow:hidden;background:var(--surface-alt)}.card-media img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.article-card:hover .card-media img{transform:scale(1.025)}.card-body{display:grid;gap:.75rem;padding:1.1rem}.card-body h2{font-size:1.25rem}.card-body h2 a{text-decoration:none}.card-body p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card-kicker{display:flex;align-items:center;gap:.6rem;color:var(--muted);font-size:.78rem}.badge{display:inline-flex;align-items:center;padding:.25rem .5rem;border-radius:999px;font-weight:850;font-size:.72rem}.badge-breaking{background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent)}
    .sidebar{display:grid;gap:1.25rem;position:sticky;top:142px}.sidebar-section{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:1.2rem}.sidebar-section h2{font-size:1.2rem;margin-bottom:1rem}.ranked-list{padding-left:2rem;display:grid;gap:.85rem}.ranked-list li::marker{font-weight:900;color:var(--brand)}.ranked-list a{font-weight:720;text-decoration:none}.category-cloud{display:flex;flex-wrap:wrap;gap:.5rem}.category-cloud a,.tag-list a{border:1px solid var(--line);border-radius:999px;padding:.35rem .65rem;text-decoration:none;font-weight:700;font-size:.82rem}.category-cloud span{color:var(--muted)}
    .archive-header{max-width:780px;display:grid;gap:.8rem}.archive-header>p:last-child{font-size:1.08rem}.empty-state{padding:3rem 1.5rem;text-align:center;border:1px dashed var(--line);border-radius:var(--radius);background:var(--surface)}.empty-state p{margin-top:.5rem}
    .pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.45rem;margin-top:2rem}.pagination a,.pagination span{min-width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line);border-radius:10px;text-decoration:none;padding-inline:.7rem}.pagination .current{background:var(--brand);color:var(--surface);border-color:var(--brand);font-weight:850}
    .article-shell{padding-block:clamp(2rem,5vw,5rem)}.article-detail{width:min(820px,100%);margin-inline:auto}.breadcrumbs{display:flex;flex-wrap:wrap;gap:.45rem;color:var(--muted);font-size:.85rem;margin-bottom:1.4rem}.breadcrumbs a{text-decoration:none}.article-header{display:grid;gap:1.1rem;margin-bottom:2rem}.article-header h1{font-size:clamp(2.35rem,5.5vw,4.6rem)}.featured-image{margin:0 0 2rem}.featured-image img{width:100%;max-height:620px;object-fit:cover;border-radius:22px;background:var(--surface-alt)}.featured-image figcaption{font-size:.82rem;color:var(--muted);margin-top:.55rem}.article-lead{font-size:1.25rem;line-height:1.55;color:var(--text);font-weight:560;margin-bottom:2rem}.article-content{font-family:Georgia,"Times New Roman",serif;font-size:1.12rem;line-height:1.86}.article-content>*+*{margin-top:1.35em}.article-content h2,.article-content h3,.article-content h4{font-family:Inter,ui-sans-serif,system-ui,sans-serif;margin-top:2em}.article-content a{color:var(--brand);overflow-wrap:anywhere}.article-content blockquote{padding:1rem 1.3rem;border-left:4px solid var(--brand);background:var(--surface-alt);font-size:1.15em}.article-content pre{overflow:auto;padding:1rem;border-radius:12px;background:#0b1220;color:#e5edf7}.article-content table{display:block;overflow-x:auto;width:100%;border-collapse:collapse}.article-content th,.article-content td{border:1px solid var(--line);padding:.7rem;text-align:left}.references,.author-box{margin-top:3rem;padding:1.5rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.references ol{padding-left:1.3rem}.references li+li{margin-top:.7rem}.tag-list{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:2rem}.author-box{display:grid;gap:1rem}.author-box h2{margin:.35rem 0}.related-section{margin-top:4rem}.related-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.related-grid .card-body p{display:none}.related-grid .card-body h2{font-size:1rem}
    .author-profile{display:grid;grid-template-columns:180px minmax(0,1fr);gap:2rem;padding:2rem;border:1px solid var(--line);border-radius:24px;background:var(--surface)}.author-profile>img,.author-placeholder{width:180px;height:180px;border-radius:50%;object-fit:cover}.author-placeholder{display:grid;place-items:center;background:var(--brand);color:var(--surface);font-size:4rem;font-weight:900}.author-profile>div{display:grid;gap:.75rem;align-content:center}.author-headline{font-size:1.15rem;color:var(--text)}.social-links{display:flex;flex-wrap:wrap;gap:.7rem}.social-links a{font-weight:800;color:var(--brand)}
    .search-page-form{display:grid;gap:.5rem;margin-top:1rem}.search-page-form>div{display:flex;gap:.6rem}.search-page-form input{flex:1;min-width:0;padding:.8rem 1rem}.not-found{min-height:62vh;display:grid;place-content:center;justify-items:start;gap:1rem}.not-found-actions{display:flex;align-items:center;gap:1rem}.site-footer{border-top:1px solid var(--line);background:var(--surface);padding-top:2.5rem}.footer-grid{display:grid;grid-template-columns:1fr auto;gap:2rem}.footer-grid>div{max-width:600px}.footer-grid nav{display:grid;grid-template-columns:repeat(2,auto);gap:.5rem 1.5rem}.footer-grid a{text-decoration:none;font-weight:700}.footer-bottom{padding-block:1.5rem;margin-top:2rem;border-top:1px solid var(--line);color:var(--muted);font-size:.85rem}
}

@layer utilities {
    @media (max-width:1000px){.content-sidebar-grid{grid-template-columns:1fr}.sidebar{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
    @media (max-width:900px){.menu-button{display:block}.primary-navigation{display:none}.primary-navigation.is-open{display:block}.nav-inner{align-items:stretch;flex-direction:column;padding-block:1rem}.header-search{margin-left:0}.header-search input{flex:1}.hero-story{grid-template-columns:1fr}.hero-media{order:-1}.article-grid{grid-template-columns:1fr 1fr}}
    @media (max-width:650px){.container{width:min(100% - 22px,var(--container))}.article-grid,.sidebar,.related-grid{grid-template-columns:1fr}.hero-story{padding:1.1rem;border-radius:20px}.article-header h1{font-size:2.25rem}.author-profile{grid-template-columns:1fr;text-align:left}.author-profile>img,.author-placeholder{width:120px;height:120px}.footer-grid{grid-template-columns:1fr}.footer-grid nav{grid-template-columns:1fr}.search-page-form>div{flex-direction:column}.breaking-links a:not(:first-child){display:none}}
    @media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
}


/* Phase 8 — visible content paired with structured data */
.structured-content-block{margin:2rem 0;padding:1.25rem;border:1px solid var(--border);border-radius:1rem;background:var(--surface)}.structured-content-block h2{margin-top:0}.structured-content-block details{padding:.8rem 0;border-top:1px solid var(--border)}.structured-content-block details:first-of-type{border-top:0}.structured-content-block summary{cursor:pointer;font-weight:700}.structured-content-block ol{padding-left:1.3rem}.structured-content-block li+li{margin-top:.75rem}.review-rating{font-size:1.1rem}.live-update-block{border-left:4px solid var(--accent)}.button-link{display:inline-flex;padding:.65rem .9rem;border-radius:.6rem;background:var(--text);color:var(--background);font-weight:700;text-decoration:none}

/* Phase 10-12: internal links, below-fold rendering, and layout stability */
.smart-internal-link{font-weight:650;text-decoration-thickness:.08em;text-underline-offset:.18em;text-decoration-color:color-mix(in srgb,currentColor 45%,transparent)}
.smart-internal-link:hover{text-decoration-thickness:.14em}
.article-content img,.article-featured-image img,.article-card img{aspect-ratio:var(--media-ratio,16/9);object-fit:cover;background:var(--surface-soft,#e2e8f0)}
.article-related,.site-footer,.article-sidebar,.listing-grid>.article-card:nth-child(n+7){content-visibility:auto;contain-intrinsic-size:auto 480px}
.article-content iframe,.article-content video{display:block;width:100%;aspect-ratio:16/9;min-height:240px;border:0;background:#0f172a}
@media(max-width:640px){.article-content iframe,.article-content video{min-height:190px}}

/* Phase 14–16 trust, Discover, and AEO components */
.article-trust-strip{display:flex;flex-wrap:wrap;gap:.65rem 1rem;margin:1rem 0 1.5rem;padding:.8rem 1rem;border:1px solid var(--border,#dbe3ef);border-radius:.75rem;font-size:.9rem;background:var(--surface,#fff)}
.answer-block,.definition-block,.citation-block{border-left:4px solid currentColor}.answer-block ul{margin:.75rem 0 0;padding-left:1.25rem}.definition-block dfn{font-weight:700;font-style:normal}.citation-block blockquote{margin:0}.citation-block cite{display:block;margin-top:.75rem;font-size:.9rem}

/* Core CMS embeds */
.article-content iframe{display:block;width:100%;max-width:100%;aspect-ratio:16/9;height:auto;border:0;border-radius:12px}.article-content figure img{max-width:100%;height:auto}

/* Core CMS Hotfix v1.0.3 — advertising and resilient public layouts */
.ad-slot{position:relative;display:grid;place-items:center;width:100%;min-height:var(--ad-min-height,0);max-width:100%;margin:1.25rem auto;padding:1.15rem;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--surface) 94%,var(--surface-alt));overflow:hidden;contain:layout paint}
.ad-slot .ad-label{position:absolute;top:.25rem;left:.55rem;color:var(--muted);font-size:.62rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.ad-slot .ad-unit{display:grid;place-items:center;width:min(100%,var(--ad-width,100%));max-width:100%;min-width:0;overflow:hidden;text-align:center}
.ad-slot .ad-unit iframe,.ad-slot .ad-unit img{max-width:100%!important}
.ad-slot-header-leaderboard{width:min(100% - 24px,970px);margin-block:1rem}
.sidebar .ad-slot{margin:0;min-width:0}
.ad-slot-sidebar-skyscraper{width:min(100%,300px)}
.ad-slot-sticky{position:fixed;left:50%;bottom:10px;z-index:90;transform:translateX(-50%);width:min(calc(100% - 24px),970px);margin:0;box-shadow:0 18px 55px rgba(0,0,0,.28);background:var(--surface)}
.ad-close{position:absolute;right:.35rem;top:.25rem;z-index:2;width:30px;height:30px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--text);cursor:pointer;font-size:1.1rem;line-height:1}
.ad-slot[hidden]{display:none!important}
.article-with-sidebar{display:grid;grid-template-columns:minmax(0,820px) 300px;gap:clamp(2rem,5vw,4rem);align-items:start}
.article-with-sidebar .article-detail{width:100%;margin:0}
.recovery-article-layout{display:grid;grid-template-columns:minmax(0,820px) 300px;gap:clamp(2rem,5vw,4rem);padding-block:3rem;align-items:start}.recovery-article{min-width:0}
@media(max-width:1000px){.article-with-sidebar,.recovery-article-layout{grid-template-columns:1fr}.ad-slot-sticky{bottom:6px}.sidebar .ad-slot{width:100%}}
