@charset "UTF-8";
/* NDA ARTICLE — page-specific styles only.
   Base patterns → base.css | Shared single-page components → single-page.css */

/* Article-specific variables */
:root{--insight:#A8A35A;--insight-rgb:168,163,90}


/* ── SIDEBAR ── */
.article-sidebar{min-width:0;position:sticky;top:calc(var(--nav-offset, 92px) + 16px);align-self:start}
.article-sidebar-sticky{position:static}
.article-breadcrumbs{margin-bottom:20px}
.article-summary-card{background:var(--graph);border:1px solid var(--b1);border-radius:10px;overflow:hidden;padding:24px}
.article-summary-card::before{content:'';display:block;height:2px;background:var(--insight)}
.article-summary-label{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin-bottom:18px}
.article-summary-row{padding:12px 0;border-bottom:1px solid var(--b1)}
.article-summary-row:last-of-type{border-bottom:none}
.article-summary-key{font-size:8.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);margin-bottom:4px}
.article-summary-val{font-size:12.5px;color:var(--text);line-height:1.5}
.article-summary-note{margin-top:18px;font-size:14px;line-height:1.7;color:var(--mid)}
.article-archive-links{margin-top:18px;padding-top:18px;border-top:1px solid var(--b1)}
.article-archive-tags{display:flex;gap:6px;flex-wrap:wrap}
.article-archive-tag{display:inline-flex;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.04);border:1px solid var(--b1);font-size:10px;font-weight:600;line-height:1;color:var(--text);transition:border-color .15s,color .15s,background .15s}
.article-archive-tag:hover{border-color:rgba(168,163,90,.28);color:var(--insight);background:rgba(168,163,90,.08)}
.article-content{display:flex;flex-direction:column;gap:0}

/* ── ARTICLE BODY ── */
#article{padding:0 0 40px}
.article-body{font-size:16px;line-height:1.85;color:var(--text)}
.article-body p{margin-bottom:24px}
.article-body strong{color:var(--n0);font-weight:600}
.article-body em{font-family:var(--serif);font-style:italic;font-size:1.04em;color:rgba(221,226,235,.8)}
.article-body a{color:var(--n0);text-decoration-line:underline;text-decoration-color:rgba(168,163,90,.75);text-decoration-thickness:1.5px;text-underline-offset:3px;transition:color .15s,text-decoration-color .15s,background-color .15s}
.article-body a:hover{color:var(--insight);text-decoration-color:var(--insight)}
.article-body a:focus-visible{outline:2px solid rgba(168,163,90,.55);outline-offset:2px;border-radius:2px}
.article-body h2{font-family:var(--display);font-size:clamp(22px,2.6vw,30px);font-weight:700;letter-spacing:-.035em;line-height:1.15;color:var(--n0);margin:48px 0 16px}
.article-body h3{font-family:var(--display);font-size:18px;font-weight:700;letter-spacing:-.025em;color:var(--text);margin:36px 0 12px}
.article-body .insight-table-wrap{margin:36px 0;border:1px solid var(--b1);border-radius:12px;overflow-x:auto;background:linear-gradient(180deg,rgba(21,28,42,.96),rgba(15,22,34,.96));box-shadow:0 14px 32px rgba(0,0,0,.18)}
.article-body table{width:100%;border-collapse:separate;border-spacing:0;min-width:640px;font-size:15px;line-height:1.65}
.article-body thead th{position:sticky;top:0;background:rgba(12,18,28,.96);color:var(--n0);font-family:var(--display);font-size:13px;letter-spacing:.08em;text-transform:uppercase;padding:16px 18px;border-bottom:1px solid var(--b1);text-align:left}
.article-body tbody td{padding:14px 18px;border-bottom:1px solid var(--b1);vertical-align:top;color:var(--text)}
.article-body tbody tr:nth-child(even) td{background:rgba(255,255,255,.02)}
.article-body tbody tr:hover td{background:rgba(var(--insight-rgb),.06)}
.article-body table th:first-child,.article-body table td:first-child{padding-left:20px}
.article-body table th:last-child,.article-body table td:last-child{padding-right:20px}
.article-body table p{margin-bottom:0}
.article-body table td.table-positive,
.article-body table td.table-negative,
.article-body table td.table-neutral{font-weight:600}
.article-body table td.table-positive{background:rgba(168,227,45,.08);color:#dff8a0}
.article-body table td.table-negative{background:rgba(234,88,12,.08);color:#ffc5ad}
.article-body table td.table-neutral{background:rgba(255,255,255,.02);color:var(--text)}
.article-body table td.table-positive strong,
.article-body table td.table-negative strong,
.article-body table td.table-neutral strong{color:inherit}
.article-body .insight-table-wrap table thead th{cursor:pointer;user-select:none}
.article-body .insight-table-wrap table thead th:first-child{cursor:default}
.article-body .insight-table-wrap table.is-column-focused td,
.article-body .insight-table-wrap table.is-column-focused th{transition:background-color .15s,color .15s,opacity .15s,box-shadow .15s}
.article-body .insight-table-wrap table.is-column-focused .is-column-muted{opacity:.48}
.article-body .insight-table-wrap table.is-column-focused .is-column-focus{background:rgba(168,227,45,.12);box-shadow:inset 0 0 0 1px rgba(168,227,45,.14)}
.article-body .insight-table-wrap table.is-column-focused .is-column-focus.table-negative{background:rgba(234,88,12,.12);box-shadow:inset 0 0 0 1px rgba(234,88,12,.14)}
.article-body .insight-table-wrap table.is-column-focused thead .is-column-focus{background:rgba(168,227,45,.16)}
.article-body .insight-table-wrap table.is-column-focused thead .is-column-muted{opacity:.7}
.pull-quote{margin:48px 0;padding:36px 40px;border-top:1px solid var(--b1);border-bottom:1px solid var(--b1);background:var(--blue);position:relative}
.pull-quote::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--lime)}
.pull-quote-text{font-family:var(--serif);font-style:italic;font-size:clamp(20px,2.8vw,28px);color:var(--n0);line-height:1.55}
.wide-image{margin:48px 0;aspect-ratio:16/7;position:relative;overflow:hidden;border-radius:8px}
.wide-image-bg{position:absolute;inset:0;background:linear-gradient(135deg,#0e1c2e 0%,#1a2438 60%,#0a1018 100%)}
.wide-image-bg::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:40px 40px}
.wide-image-caption{position:absolute;bottom:16px;left:24px;font-size:10.5px;color:var(--dim);letter-spacing:.04em}
/* Video embeds inside news/insight bodies (same .media-embed markup as case studies) */
.article-body .media-embed{width:100%;margin:28px 0 10px;background:var(--graph);border:1px solid var(--b1);border-radius:12px;overflow:hidden}
.article-body .media-embed iframe{display:block;width:100%;height:auto;aspect-ratio:16/9;border:0}
.article-body .media-embed-caption{margin:0 0 24px;font-size:12px;line-height:1.6;color:var(--dim)}
html[data-theme="light"] .article-body .media-embed{border-color:rgba(15,23,42,.10)}
.callout{margin:36px 0;padding:24px 28px;background:rgba(168,227,45,.04);border:1px solid rgba(168,227,45,.12);border-radius:8px}
.callout-label{font-size:8.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--lime-ink);margin-bottom:10px}
.callout p{font-size:13.5px;color:var(--mid);line-height:1.75;margin-bottom:0}
.article-rule{border:none;border-top:1px solid var(--b1);margin:48px 0}
.article-tags{padding-top:32px;border-top:1px solid var(--b1);display:flex;gap:8px;flex-wrap:wrap;margin-top:48px}
.article-tag{font-size:10.5px;font-weight:500;color:var(--dim);background:rgba(255,255,255,.04);border:1px solid var(--b1);border-radius:4px;padding:5px 11px}
.legal-page{padding:80px 56px 96px;max-width:920px;margin:0 auto}
.legal-body{margin-top:22px}

/* ── LIGHT MODE ── */
html[data-theme="light"] .article-body em{color:rgba(15,23,42,.70)}
html[data-theme="light"] #hero .hero-h em{color:rgba(15,23,42,.56)}
html[data-theme="light"] #hero .hero-phrase{color:var(--mid)}


html[data-theme="light"] .article-body .insight-table-wrap{background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(241,245,251,.96));border-color:rgba(15,23,42,.10)}
html[data-theme="light"] .article-body thead th{background:rgba(248,250,252,.98);color:var(--n0);border-bottom-color:rgba(15,23,42,.10)}
html[data-theme="light"] .article-body tbody td{color:var(--text)}
html[data-theme="light"] .article-body tbody tr:nth-child(even) td{background:rgba(15,23,42,.02)}
html[data-theme="light"] .article-body tbody tr:hover td{background:rgba(var(--insight-rgb),.08)}
html[data-theme="light"] .article-body table td.table-positive{background:rgba(168,227,45,.10);color:#4f7f18}
html[data-theme="light"] .article-body table td.table-negative{background:rgba(234,88,12,.10);color:#b45309}
html[data-theme="light"] .article-body table td.table-neutral{background:rgba(15,23,42,.02);color:var(--text)}
html[data-theme="light"] .pull-quote{background:linear-gradient(180deg,rgba(247,249,253,.98),rgba(239,243,249,.96))}
html[data-theme="light"] .pull-quote-text{color:var(--n0)}
html[data-theme="light"] .quote-attr{color:var(--mid)}
html[data-theme="light"] .quote-attr strong{color:var(--n0)}

/* Media carousel inside news/insight bodies (same blocks/media-carousel.njk
   markup as case studies, which style it in case-study.css — news pages load
   this file instead, exactly like the .media-embed rules above). Keep the two
   copies in sync. */
.article-body .media-carousel{display:grid;gap:14px;margin:28px 0 24px;max-width:100%;min-width:0}
.article-body .media-carousel__viewport{min-width:0}
.article-body .media-carousel__track{position:relative;display:flex;gap:20px;margin:0;padding:0;list-style:none;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:thin}
.article-body .media-carousel__slide{flex:0 0 100%;min-width:0;scroll-snap-align:center;scroll-snap-stop:always;background:var(--graph);border:1px solid var(--b1);border-radius:12px;overflow:hidden}
.article-body .media-carousel__figure{margin:0;display:block}
.article-body .media-carousel__frame{position:relative;aspect-ratio:16/9;background:#05070a;display:flex;align-items:center;justify-content:center;overflow:hidden}
.article-body .media-carousel__frame img{width:100%;height:100%;object-fit:contain;display:block;border:0}
.article-body .media-carousel__frame .video-facade{width:100%;height:100%}
.article-body .media-carousel__frame .video-facade__button{height:100%;border:0;border-radius:0}
.article-body .media-carousel__frame .video-facade iframe{height:100%;border-radius:0}
.article-body .media-carousel__caption{height:5.6em;overflow-y:auto;margin:0;padding:14px 16px;font-size:12px;line-height:1.6;color:var(--dim)}
.article-body .media-carousel__controls{display:none;align-items:center;gap:10px}
.js .article-body .media-carousel__controls{display:flex}
.article-body .media-carousel__status{margin:0 auto 0 0;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}
.article-body .media-carousel__nav{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border-radius:999px;border:1px solid var(--b1);background:rgba(255,255,255,.04);color:var(--text);cursor:pointer;transition:border-color .15s,background .15s,color .15s}
.article-body .media-carousel__nav:hover:not(:disabled){border-color:var(--b2);background:rgba(255,255,255,.08);color:var(--n0)}
.article-body .media-carousel__nav:disabled{opacity:.35;cursor:default}
.article-body .media-carousel__nav svg{width:16px;height:16px}
html[data-theme="light"] .article-body .media-carousel__slide{background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(241,245,251,.95));border-color:rgba(15,23,42,.10)}
html[data-theme="light"] .article-body .media-carousel__frame{background:rgba(15,23,42,.06)}
html[data-theme="light"] .article-body .media-carousel__caption,
html[data-theme="light"] .article-body .media-carousel__status{color:var(--mid)}
@media (prefers-reduced-motion: reduce){
  .article-body .media-carousel__track{scroll-behavior:auto}
}

/* ── RESPONSIVE ── */
@media(max-width:1024px){
  /* Shared #hero and #body breakpoints live in single-page.css */
  .article-sidebar{position:static;top:auto}
  .legal-page{padding-left:32px;padding-right:32px}
}
@media(max-width:720px){
  /* Shared page-trail, #hero, .hero-inner, #hero .hero-phrase, #body breakpoints in single-page.css */
  .legal-page{padding:48px 20px 72px}
}