
:root{--bg:#f4f5f2;--surface:#fff;--surface2:#e8ece8;--text:#101613;--muted:#5d6762;--line:#d8ddd9;--green:#153f34;--shadow:0 24px 70px rgba(20,45,35,.08);--max:1240px}
[data-theme=dark]{--bg:#0b1210;--surface:#121b18;--surface2:#1a2622;--text:#eef4f0;--muted:#a2afa9;--line:#2a3933;--green:#9ed8c5;--shadow:0 24px 70px rgba(0,0,0,.3)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif;line-height:1.65}a{color:inherit}img{max-width:100%;display:block}.container{width:min(var(--max),calc(100% - 36px));margin:auto}
.site-header{position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.nav{min-height:78px;display:grid;grid-template-columns:240px 1fr auto;align-items:center}.logo{width:190px}.nav-links{display:flex;justify-content:center;gap:27px}.nav-links a{text-decoration:none;font-weight:750;color:var(--muted)}.nav-actions{display:flex;gap:8px}.icon-btn,.menu-btn{width:43px;height:43px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text)}.menu-btn{display:none}
.hero{padding:44px 0}.hero-grid{display:grid;grid-template-columns:1.6fr .8fr;gap:18px}.hero-main,.side-story{position:relative;overflow:hidden;border-radius:26px;border:1px solid var(--line);text-decoration:none}.hero-main{min-height:585px;box-shadow:var(--shadow)}.hero-main img,.side-story img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-main:after,.side-story:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 15%,rgba(2,8,6,.85))}.hero-copy,.side-copy{position:absolute;z-index:2;left:40px;right:28px;bottom:38px;color:#fff}.hero-copy h1{font-size:clamp(3.3rem,7vw,6.5rem);line-height:1;letter-spacing:-.05em}.hero-side{display:grid;gap:18px}.side-story{min-height:283px}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:.72rem;font-weight:900;color:var(--green)}
.section{padding:55px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:22px}.section-head h2{font-size:clamp(2.2rem,4vw,3.6rem)}.section-head p{max-width:620px;color:var(--muted)}.story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:19px}.story-card{border:1px solid var(--line);border-radius:22px;background:var(--surface);overflow:hidden;text-decoration:none}.story-card img{aspect-ratio:16/9;width:100%;object-fit:cover}.story-body{padding:23px}.story-body p{color:var(--muted)}.meta{display:flex;gap:13px;color:var(--muted);font-size:.86rem}
.article-page{padding:54px 0}.article-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:28px;align-items:center}.article-hero h1{font-size:clamp(3rem,6vw,5.5rem);line-height:1.02}.article-hero img{border-radius:24px}.article-layout{display:grid;grid-template-columns:210px minmax(0,760px) 250px;gap:30px;margin-top:36px;align-items:start}.toc,.article-body,.article-aside{background:var(--surface);border:1px solid var(--line);border-radius:20px}.toc,.article-aside{padding:20px;position:sticky;top:102px}.toc a{display:block;color:var(--muted);text-decoration:none;padding:7px 0}.article-body{padding:45px}.article-body h2{font-size:2rem;margin-top:2.3rem}.note,.affiliate{padding:18px;border-radius:14px;background:var(--surface2);margin:24px 0}.button{display:inline-flex;padding:13px 17px;border-radius:12px;background:var(--green);color:var(--bg);text-decoration:none;font-weight:850}
.footer{margin-top:65px;padding:50px 0;background:#081f1a;color:#e7f0ec}.footer-grid{display:grid;grid-template-columns:1.3fr repeat(3,.7fr);gap:28px}.footer a{color:#b9ccc5;text-decoration:none}.footer-col{display:grid;gap:8px}
.search-panel{display:none;position:fixed;inset:0;z-index:80;background:rgba(0,0,0,.58);padding:8vh 18px}.search-panel.open{display:block}.search-box{max-width:760px;margin:auto;background:var(--surface);border-radius:20px;padding:18px}.search-box input{width:100%;padding:16px}.search-result{display:block;padding:13px;margin-top:8px;background:var(--surface2);border-radius:12px;text-decoration:none}
@media(max-width:950px){.hero-grid,.article-hero,.article-layout{grid-template-columns:1fr}.hero-side{grid-template-columns:1fr 1fr}.toc,.article-aside{position:static}.story-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.nav{grid-template-columns:1fr auto}.nav-links{display:none;position:absolute;top:78px;left:18px;right:18px;padding:18px;background:var(--surface);flex-direction:column}.nav-links.open{display:flex}.menu-btn{display:block}.story-grid,.hero-side,.footer-grid{grid-template-columns:1fr}}

/* VeilNorth cleanup */
.hero-main,.side-story,.story-card{isolation:isolate}
.hero-main img,.side-story img{z-index:0}
.hero-main:after,.side-story:after{z-index:1}
.hero-copy,.side-copy{z-index:2;overflow:hidden}
.hero-copy h1,.hero-copy p,.side-copy h3{max-width:100%;overflow-wrap:anywhere}
.story-card img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;object-position:center}
.hero-main img,.side-story img{object-position:center}
@media(max-width:760px){
  .hero-copy{left:24px;right:24px;bottom:28px}
  .hero-copy h1{font-size:clamp(2.7rem,14vw,4.4rem)}
}

/* Hero layout with a small article library */
.hero-grid-single{display:block}
.hero-grid-single .hero-main{width:100%;min-height:560px}
.hero-grid-with-side{display:grid;grid-template-columns:1.6fr .8fr;gap:18px}
.hero-main .eyebrow,.side-story .eyebrow{position:relative;z-index:3}
@media(max-width:950px){
  .hero-grid-with-side{grid-template-columns:1fr}
}

/* Clean public article layout */
.article-layout-no-aside{grid-template-columns:210px minmax(0,900px)}
.article-layout-with-aside{grid-template-columns:210px minmax(0,760px) 250px}
.article-layout-no-aside .article-body{max-width:none}
@media(max-width:950px){
  .article-layout-no-aside,.article-layout-with-aside{grid-template-columns:1fr}
}

/* Markdown article formatting */
.article-body h3{font-size:1.45rem;margin-top:1.8rem}
.article-body ul,.article-body ol{padding-left:1.4rem;margin:1rem 0 1.4rem}
.article-body li{margin:.35rem 0}
.article-body blockquote{margin:1.5rem 0;padding:1rem 1.2rem;border-left:4px solid var(--green);background:var(--surface2);border-radius:0 12px 12px 0;color:var(--muted)}
.article-body code{padding:.12rem .35rem;border-radius:6px;background:var(--surface2);font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.callout{margin:1.5rem 0;padding:1rem 1.15rem;border-radius:14px;border:1px solid var(--line)}
.callout p{margin:.35rem 0 0}
.callout-tip{background:#e7f5ef;border-color:#b7ddce;color:#183d32}
.callout-warning{background:#fff4dc;border-color:#e9c979;color:#59410d}
.callout-info{background:#e7f1f8;border-color:#b7d2e5;color:#17384c}
[data-theme=dark] .callout-tip{background:#16362d;color:#dff4eb}
[data-theme=dark] .callout-warning{background:#3a2e12;color:#ffedbf}
[data-theme=dark] .callout-info{background:#162d3c;color:#dceefa}
.toc-level-3{padding-left:12px!important;font-size:.84rem!important}

/* Theme-aware VeilNorth logo */
.theme-logo{display:block;position:relative}
.theme-logo img{display:block;width:100%;height:auto}
.theme-logo .logo-for-dark{display:none}
[data-theme="dark"] .theme-logo .logo-for-light{display:none}
[data-theme="dark"] .theme-logo .logo-for-dark{display:block}
.footer-logo img{display:block;width:100%;height:auto}

/* Multiple article recommendations */
.recommendation-list{display:grid;gap:14px;margin-top:14px}.recommendation-card{padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface2)}.recommendation-card h3{margin:.3rem 0 .5rem;font-size:1.05rem}.recommendation-card p{font-size:.9rem;color:var(--muted);margin:0 0 .9rem}.recommendation-card .button{width:100%;justify-content:center;text-align:center}.recommendation-type{font-size:.7rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:var(--green)}.affiliate-small{font-size:.72rem!important;color:var(--muted);margin-top:14px!important}

/* Contextual official-site CTA: replaces the former recommendation sidebar. */
.official-cta{margin:26px 0;padding:22px;border:1px solid var(--line);border-radius:16px;background:var(--surface2);display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.official-cta-label{font-size:.74rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--green)}
.official-cta strong{font-size:1.15rem}
.official-cta p{margin:0 0 5px;color:var(--muted)}
.official-cta-button{margin-top:4px}
.comparison-table{width:100%;border-collapse:collapse;margin:24px 0;overflow:hidden;border-radius:14px}
.comparison-table th,.comparison-table td{padding:13px 14px;border:1px solid var(--line);text-align:left}
.comparison-table th{background:var(--surface2);font-weight:850}

/* Legal and publication pages */
.legal-page{max-width:900px;margin:0 auto}.legal-page>h1{font-size:clamp(2.6rem,6vw,4.8rem);line-height:1.02;margin-top:0}.legal-page h2{margin-top:2.2rem}.policy-updated{color:var(--muted);margin-top:-.4rem}.legal-note{margin-top:2rem;padding:1rem 1.2rem;border-left:4px solid var(--green);background:var(--surface2);border-radius:0 12px 12px 0;color:var(--muted)}

/* v1.1: keep homepage side-card text safely inside the card */
.side-copy{left:34px;right:34px;bottom:30px}
.side-copy .eyebrow,.side-copy h3,.side-copy .meta{position:relative;z-index:3}
.side-copy h3{margin:.55rem 0 .65rem;line-height:1.25}


/* VeilNorth Editorial System v1.0 */
.article-body{font-size:1.02rem}.article-body>p{max-width:72ch}.article-body h2{scroll-margin-top:110px}.article-body a:not(.button):not(.related-card){text-decoration-thickness:1px;text-underline-offset:3px}.editorial-block,.editorial-note,.verdict-box{margin:28px 0;padding:24px;border:1px solid var(--line);border-radius:18px;background:var(--surface2)}.block-kicker{display:block;margin-bottom:10px;font-size:.73rem;font-weight:950;letter-spacing:.13em;text-transform:uppercase;color:var(--green)}.editorial-block ul{margin:.4rem 0 0;padding-left:1.25rem}.editorial-block li{margin:.55rem 0}.quick-summary{border-left:5px solid #2b8069;background:color-mix(in srgb,var(--surface2) 78%,#c7f3e4)}.veilnorth-tip{border-left:5px solid #4b7fa2;background:color-mix(in srgb,var(--surface2) 82%,#d4eafa)}.privacy-warning{border-left:5px solid #b86a31;background:color-mix(in srgb,var(--surface2) 82%,#ffe2c8)}.article-section{margin-top:42px}.verdict-box{border-top:5px solid var(--green);background:var(--surface)}.verdict-box p{font-size:1.08rem}.trust-score{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid var(--line)}.trust-score span{font-weight:800}.trust-score strong{font-size:2.4rem;line-height:1;color:var(--green)}.trust-score small{font-size:.9rem;color:var(--muted)}.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.related-card{display:flex;flex-direction:column;min-height:190px;padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--surface2);text-decoration:none;transition:transform .18s ease,border-color .18s ease}.related-card:hover{transform:translateY(-3px);border-color:var(--green)}.related-card strong{font-size:1.08rem;line-height:1.3;margin:.5rem 0}.related-card p{font-size:.9rem;color:var(--muted);margin:0 0 1rem}.text-link{margin-top:auto;font-weight:850;color:var(--green)}.editorial-note{font-size:.92rem;color:var(--muted)}.editorial-note p{margin:0}.source-list li{margin:.6rem 0}.table-wrap{overflow-x:auto}.checklist li{margin:.75rem 0}.danger-list li::marker{color:#b86a31}.article-hero img{aspect-ratio:16/9;width:100%;object-fit:cover;background:var(--surface2)}@media(max-width:760px){.article-body{padding:26px 20px}.article-hero h1{font-size:clamp(2.35rem,11vw,3.6rem)}.related-grid{grid-template-columns:1fr}.trust-score{align-items:flex-start;flex-direction:column;gap:8px}}


/* Privacy-first analytics consent */
.consent-banner{position:fixed;z-index:1000;left:18px;right:18px;bottom:18px;max-width:1180px;margin:auto;padding:0;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:0 20px 70px rgba(0,0,0,.22)}
.consent-banner[hidden],.consent-modal[hidden]{display:none!important}
.consent-banner-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 22px}
.consent-copy{max-width:720px}.consent-copy strong{font-size:1.05rem}.consent-copy p{margin:.35rem 0 0;color:var(--muted);line-height:1.55}
.consent-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.consent-actions a{font-size:.88rem;font-weight:750}
.button-secondary{background:transparent!important;color:var(--text)!important;border:1px solid var(--line)!important}
.consent-modal{position:fixed;z-index:1100;inset:0;display:grid;place-items:center;padding:20px}
.consent-modal-backdrop{position:absolute;inset:0;background:rgba(6,15,13,.68);backdrop-filter:blur(5px)}
.consent-modal-card{position:relative;z-index:1;width:min(560px,100%);padding:30px;border:1px solid var(--line);border-radius:20px;background:var(--surface);box-shadow:0 26px 90px rgba(0,0,0,.34);outline:none}
.consent-modal-card h2{margin:.2rem 0 .8rem;font-size:2rem}.consent-modal-card>p{color:var(--muted);line-height:1.6}
.consent-close{position:absolute;top:14px;right:16px;width:38px;height:38px;border:0;border-radius:50%;background:var(--surface2);color:var(--text);font-size:1.5rem;cursor:pointer}
.consent-status{display:flex;justify-content:space-between;gap:20px;margin:22px 0;padding:15px 16px;border:1px solid var(--line);border-radius:13px;background:var(--surface2)}.consent-status strong{color:var(--green)}
.consent-modal-actions{display:flex;gap:10px;flex-wrap:wrap}.consent-detail{font-size:.84rem;margin-bottom:0}
.consent-modal-open{overflow:hidden}
.privacy-settings-button{border:0;padding:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.privacy-settings-button:hover{text-decoration:underline}
@media(max-width:760px){.consent-banner{left:10px;right:10px;bottom:10px}.consent-banner-inner{align-items:flex-start;flex-direction:column;padding:18px}.consent-actions{justify-content:flex-start}.consent-actions .button{flex:1 1 auto}.consent-modal-card{padding:26px 20px}.consent-modal-actions{flex-direction:column}.consent-modal-actions .button{width:100%}}

/* Signal review mobile overflow fix */
.signal-review-page .article-layout,
.signal-review-page .article-body,
.signal-review-page .toc,
.signal-review-page .editorial-block,
.signal-review-page .callout,
.signal-review-page .table-wrap {
  min-width: 0;
  max-width: 100%;
}
.signal-review-page .article-body {
  overflow-wrap: anywhere;
  word-break: normal;
}
.signal-review-page .table-wrap {
  display: block;
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.signal-review-page .comparison-table {
  min-width: 680px;
}
@media (max-width: 760px) {
  .signal-review-page .article-layout {
    width: 100%;
    min-width: 0;
  }
  .signal-review-page .article-body {
    width: 100%;
    min-width: 0;
    overflow: hidden;
  }
  .signal-review-page .editorial-block,
  .signal-review-page .callout,
  .signal-review-page .verdict-box {
    width: 100%;
    min-width: 0;
    margin-left: 0;
    margin-right: 0;
  }
  .signal-review-page .editorial-block ul,
  .signal-review-page .article-body ul,
  .signal-review-page .article-body ol {
    min-width: 0;
    padding-left: 1.2rem;
  }
}
