/* ============================================================================
   detail.css - the nine library detail pages on the Ezel grid.

   AG / ethics / tax / IRS / agency / labor documents (.opinion-*), judge
   profiles (.judge-*), statute annotations (.anp-*) and citator cases
   (.ctp-*). Each template still carries its old inline stylesheet; this file
   loads after it and moves every page onto theme.css:

     * paper ground, hairline rules, one accent, no gradients or shadows
     * one 1200px content box with the same 120px edge as the listings
     * 12-column grid: header title in 1-8, facts in 9-12; body 8 + 4
     * serif for page and section titles, Inter for everything else

   Status colours (good / warn / bad) are kept because they carry data, but
   they are muted to sit on paper and only ever tint a rule or a label.
   ========================================================================== */

:root {
    --dt-good: #3f7d5a;
    --dt-warn: #a8781f;
    --dt-bad: #b0442f;
    --dt-edge: max(var(--margin), calc((100% - var(--content)) / 2));
}

/* ---------- Header: paper, hairline, title 1-8 + facts 9-12 ---------- */

.opinion-header, .judge-header, .anp-header, .ctp-header {
    background: var(--paper);
    background-image: none;
    color: var(--text);
    border-bottom: 1px solid var(--line);
    padding: var(--space-5) var(--dt-edge) var(--space-5);
}
.opinion-header-inner, .judge-header-inner, .anp-header-inner, .ctp-header-inner {
    max-width: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: var(--gutter);
    row-gap: 0;
    align-items: start;
}
.opinion-header-inner > *, .judge-header-inner > *, .anp-header-inner > *, .ctp-header-inner > * {
    grid-column: 1 / -1;
    min-width: 0;
}
.breadcrumb, .anp-crumbs, .ctp-crumbs {
    grid-column: 1 / -1;
    font-size: var(--t-small);
    line-height: 20px;
    color: var(--muted);
    margin: 0 0 var(--space-4);
}
.breadcrumb a, .anp-crumbs a, .ctp-crumbs a { color: var(--muted); text-decoration: none; }
.breadcrumb a:hover, .anp-crumbs a:hover, .ctp-crumbs a:hover { color: var(--ink); }
.breadcrumb span[style] { color: var(--line-strong); }

/* The record's facts run as a strip under the title, full width: label
   over value, one hairline per row, as many columns as fit. */
.opinion-header-inner > .quick-info, .judge-header-inner > .quick-info,
.anp-header-inner > .quick-info, .ctp-header-inner > .quick-info {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    column-gap: var(--gutter);
    margin: var(--space-4) 0 0;
    padding: 0;
    background: none;
    border: 0;
    border-radius: 0;
}
.quick-info-row {
    display: block;
    padding: var(--space-2) 0 var(--space-3);
    margin: 0;
    border-top: 1px solid var(--line-strong);
    font-size: 15px;
    line-height: 1.4;
}
.quick-info-label {
    font-size: var(--t-label);
    line-height: 16px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--muted);
    margin: 0 0 var(--space-1);
}
.quick-info-value { color: var(--text); font-weight: 400; overflow-wrap: anywhere; }
.quick-info-value a { color: var(--accent); text-decoration: none; border-bottom: 1px solid var(--line-strong); }
.quick-info-value .topic-chip, .quick-info .topic-chips .topic-chip { margin: 2px 4px 2px 0; }
.quick-info .topic-chips { display: flex; flex-wrap: wrap; }
.quick-info .status-chip { display: inline-block; margin-bottom: 2px; }
.quick-info .last-verified-line { font-size: 13px; color: var(--muted); margin-top: 2px; }
.qv-outcome { font-weight: 600; }
.qv-outcome-denied, .qv-outcome-revocation, .qv-outcome-affirmed { color: var(--dt-bad); }
.qv-outcome-mixed, .qv-outcome-modified { color: var(--dt-warn); }
.qv-outcome-approved, .qv-outcome-vacated { color: var(--dt-good); }

.opinion-header h1, .judge-h1, .anp-header h1, .ctp-header h1 {
    font-family: var(--font-logo);
    font-size: clamp(26px, 1.1vw + 18px, 34px);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.01em;
    color: var(--ink);
    max-width: none;
    margin: 0 0 var(--space-3);
}
.judge-h1 { font-size: var(--t-h2); }
.ctp-header h1 { font-style: italic; }
.back-link { display: none; }

.opinion-gist, .anp-subtitle, .ctp-subtitle, .judge-status-note, .judge-lede {
    max-width: 60ch;
    font-size: 17px;
    line-height: 1.55;
    color: var(--muted);
    margin: 0;
}
.opinion-header .opinion-gist { color: var(--muted); margin: 0; }
.judge-status-note { margin-top: var(--space-2); font-size: var(--t-small); }
.short-answer {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr);
    column-gap: var(--gutter);
    background: none;
    border: 0;
    border-top: 1px solid var(--line-strong);
    border-radius: 0;
    padding: var(--space-4) 0 0;
    margin: var(--space-3) 0 0;
    max-width: none;
    font-size: 17px;
    line-height: 1.55;
    color: var(--text);
}
.short-answer strong {
    font-size: var(--t-label);
    line-height: 16px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--muted);
    padding-top: 5px;
}
.short-answer + .quick-info { margin-top: var(--space-4); }

/* Citator verdict and screening progress stay in the title column. */
.ctp-verdict {
    font-size: var(--t-label);
    font-weight: 700;
    letter-spacing: 0.08em;
    border-radius: 4px;
    padding: 5px 10px;
    margin: var(--space-3) 0 0;
    text-transform: uppercase;
}
.ctp-verdict-ok { background: var(--dt-good); color: #fff; }
.ctp-verdict-warn { background: var(--dt-warn); color: #fff; }
.ctp-verdict-bad { background: var(--dt-bad); color: #fff; }
.ctp-verdict-muted { background: var(--white); color: var(--text); border: 1px solid var(--line-strong); }
.ctp-verdict-sub { opacity: 1; font-weight: 600; }
.ctp-hero-progress { margin-top: var(--space-3); }
.ctp-hero-progress .ctp-progress-bar { background: var(--line); }
.ctp-hero-progress .ctp-progress-fill { background: var(--navy); }
.ctp-hero-progress .ctp-progress-label { color: var(--muted); }

/* ---------- Body: 8 + 4 on the same content box ---------- */

.opinion-layout, .judge-body, .anp-wrap, .ctp-wrap {
    max-width: none;
    margin: 0;
    padding: var(--space-6) var(--dt-edge) var(--space-6);
    box-sizing: border-box;
}
.opinion-layout, .judge-body, .anp-layout, .ctp-layout {
    display: grid;
    grid-template-columns: minmax(0, 8fr) minmax(0, 4fr);
    column-gap: var(--gutter);
    align-items: start;
}
.opinion-main, .judge-main, .anp-main, .ctp-main { grid-column: 1; min-width: 0; }
.opinion-sidebar, .labor-sidebar, .judge-aside, .anp-sidebar, .ctp-sidebar {
    grid-column: 2;
    position: sticky;
    top: calc(var(--nav-bottom, 72px) + var(--space-4));
    max-height: none;
    overflow: visible;
    font-size: var(--t-small);
}
.sticky-off { position: static !important; }

/* ---------- Article typography ---------- */

.opinion-main h2, .judge-section h2, .anp-group-h, .ctp-treatments-h, .anp-appx-h {
    font-family: var(--font-logo);
    font-size: var(--t-h3);
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: -0.01em;
    color: var(--ink);
    margin: var(--space-6) 0 var(--space-3);
    padding: 0;
    border: 0;
    display: block;
    scroll-margin-top: calc(var(--nav-bottom, 72px) + var(--space-3));
}
.opinion-main h2:first-child { margin-top: 0; }
.opinion-main h2 .section-icon { display: none; }
.judge-section h2 { margin-top: 0; }
.opinion-main h3, .ctp-group-h {
    font-family: inherit;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.35;
    color: var(--ink);
    margin: var(--space-5) 0 var(--space-2);
    padding: 0;
    border: 0;
    scroll-margin-top: calc(var(--nav-bottom, 72px) + var(--space-3));
}
.anp-group-h, .ctp-group-h { padding-bottom: var(--space-2); border-bottom: 1px solid var(--line); }
.opinion-main p, .judge-prose, .pattern-note, .motion-quote {
    font-size: var(--t-body);
    line-height: 1.6;
    color: var(--text);
}
.opinion-main p { margin: 0 0 var(--space-3); }
.opinion-main p strong { color: var(--ink); }
.opinion-main ol, .opinion-main ul { color: var(--text); }
.opinion-main li { line-height: 1.6; }
.opinion-main li > ul > li, .opinion-main li > ol > li { font-size: var(--t-body); }
.opinion-main a, .pattern-src a, .ruling-src a, .anp-case-link, .ctp-case-link,
.anp-toc a, .ctp-toc a, .anp-related a, .ctp-related a, .anp-cfr-item a,
.finality-box a, .quick-info-value a, .stat-once > summary, .anp-appx-more summary {
    color: var(--accent);
    text-decoration: none;
    border-bottom: 1px solid var(--line-strong);
    transition: none;
}
.opinion-main a:hover, .anp-case-link:hover, .ctp-case-link:hover, .anp-toc a:hover, .ctp-toc a:hover,
.anp-related a:hover, .ctp-related a:hover { text-decoration: none; border-bottom-color: var(--accent); }
.anp-toc a, .ctp-toc a, .anp-related a, .ctp-related a { border-bottom: 0; color: var(--text); }
.anp-toc a:hover, .ctp-toc a:hover, .anp-related a:hover, .ctp-related a:hover { color: var(--accent); }
.opinion-main blockquote, .pattern-quote, .anp-quote, .ctp-quote {
    background: none;
    border-left: 2px solid var(--line-strong);
    border-radius: 0;
    padding: 2px 0 2px var(--space-3);
    margin: var(--space-3) 0;
    color: var(--text);
    font-size: 15px;
    line-height: 1.6;
}
.pattern-quote { margin-bottom: 0; }
.anp-quote, .ctp-quote { margin: 0 0 var(--space-2); }
.opinion-main table { font-size: var(--t-small); }
.opinion-main th, .opinion-main td { border-color: var(--line); color: var(--text); }
.opinion-main thead th { background: var(--paper-2); color: var(--ink); border-bottom: 1px solid var(--line-strong); }
.opinion-main tbody tr:nth-child(even) { background: var(--white); }
.opinion-main .footnote { border-top-color: var(--line); color: var(--muted); }
.opinion-main .footnote::before { color: var(--muted); letter-spacing: 0.08em; }
.opinion-main .footnote p { color: var(--muted); }

/* ---------- Notes and callouts: white sheet, hairline, one rule ---------- */

.disclaimer-box, .ezel-attribution, .currency-banner, .ocr-note, .finality-box,
.status-banner, .anp-status, .ctp-status, .ctp-goodlaw, .qa-card, .ezel-interpretation,
.original-collapsible, .related-guidance {
    background: var(--white);
    background-image: none;
    border: 1px solid var(--line);
    border-radius: 0;
    color: var(--text);
    box-shadow: none;
}
.disclaimer-box, .ezel-attribution, .currency-banner, .ocr-note, .finality-box, .status-banner {
    border-left: 3px solid var(--line-strong);
    padding: var(--space-3) var(--space-4);
    margin: 0 0 var(--space-3);
    font-size: var(--t-small);
    line-height: 1.6;
}
.disclaimer-box strong, .ezel-attribution strong, .ocr-note strong, .finality-box .finality-title { color: var(--ink); }
.ezel-attribution { border-left-color: var(--navy); }
.ezel-attribution a { color: var(--accent); }
.currency-banner, .status-banner-bad { border-left-color: var(--dt-bad); }
.status-banner-warn { border-left-color: var(--dt-warn); }
.currency-banner-title, .status-banner-title { color: var(--ink); font-size: 15px; }
.status-banner-bad .status-banner-title, .currency-banner-title { color: var(--dt-bad); }
.status-banner-warn .status-banner-title { color: var(--dt-warn); }
.finality-alj, .finality-commission { background: var(--white); border-color: var(--line); border-left-color: var(--navy); }
.finality-alj .finality-title, .finality-commission .finality-title { color: var(--ink); }
.finality-review-note { color: var(--muted); }

.anp-status, .ctp-status {
    border-left: 3px solid var(--line-strong);
    padding: var(--space-3) var(--space-4);
    margin: 0 0 var(--space-2);
    font-size: var(--t-small);
}
.anp-status-ok, .ctp-status-ok { border-left-color: var(--dt-good); }
.anp-status-warn, .ctp-status-warn { border-left-color: var(--dt-warn); }
.anp-status-bad, .ctp-status-bad { border-left-color: var(--dt-bad); }
.anp-status-ok .anp-status-label, .ctp-status-ok .ctp-status-label { color: var(--dt-good); }
.anp-status-warn .anp-status-label, .ctp-status-warn .ctp-status-label { color: var(--dt-warn); }
.anp-status-bad .anp-status-label, .ctp-status-bad .ctp-status-label { color: var(--dt-bad); }
.anp-status-label, .ctp-status-label { letter-spacing: 0.08em; font-size: var(--t-label); }
.anp-status-note, .ctp-status-note { color: var(--ink); font-size: 15px; margin-top: var(--space-1); }
.anp-status-fine, .ctp-status-fine { opacity: 1; color: var(--muted); }
.anp-coverage, .ctp-coverage { color: var(--muted); }
.anp-coverage strong, .ctp-coverage strong { color: var(--ink); }
.ctp-goodlaw { border-left: 3px solid var(--dt-good); padding: var(--space-4); margin: var(--space-4) 0; font-size: 15px; }
.ctp-goodlaw h2 { font-family: var(--font-logo); font-size: 20px; color: var(--ink); margin: 0 0 var(--space-2); }
.ctp-progress-bar { background: var(--line); }
.ctp-progress-fill { background: var(--navy); }

.qa-card { padding: var(--space-3) var(--space-4); margin: 0 0 var(--space-2); max-width: none; }
.qa-card::before { display: none; }
.qa-card strong:first-child { color: var(--ink); }

.ezel-interpretation { padding: var(--space-4) var(--space-5) var(--space-5); margin: var(--space-6) 0; }
.ezel-interpretation-label {
    background: none;
    color: var(--muted);
    padding: 0;
    border-radius: 0;
    font-size: var(--t-label);
    letter-spacing: 0.08em;
    margin: 0;
}
.ezel-interpretation h2:first-of-type { margin-top: var(--space-2) !important; }

.original-collapsible { margin-top: var(--space-6); }
.original-collapsible summary { color: var(--ink); font-size: 15px; padding: var(--space-3) var(--space-4); }
.original-collapsible summary::after { color: var(--muted); }
.original-collapsible summary i { color: var(--muted) !important; }
.original-collapsible-content { color: var(--text); padding: 0 var(--space-4) var(--space-4); }

/* Chips (topics, subsections, cross references, status) */
.topic-chip, .anp-sub-chip, .anp-xref-chips a, .status-chip, .chip, .stat-na {
    background: var(--white);
    border: 1px solid var(--line-strong);
    border-radius: var(--radius-pill);
    color: var(--text);
    font-weight: 500;
}
.topic-chip:hover, .anp-xref-chips a:hover { background: var(--paper-2); }
.status-chip-good, .chip-granted { color: var(--dt-good); border-color: var(--dt-good); }
.status-chip-warn, .chip-granted_in_part { color: var(--dt-warn); border-color: var(--dt-warn); }
.status-chip-bad, .chip-denied { color: var(--dt-bad); border-color: var(--dt-bad); }
.chip-moot_or_procedural, .chip-unclear { color: var(--muted); }

/* ---------- Judge profile blocks ---------- */

.judge-section { margin-bottom: var(--space-6); }
.section-sub { color: var(--muted); font-size: var(--t-small); }
.pattern-group h3 { font-size: var(--t-label); letter-spacing: 0.08em; }
.ph-pers { color: var(--navy); }
.ph-proc { color: var(--accent); }
.ph-cau { color: var(--dt-bad); }
.pattern-card, .pattern-card.proc, .pattern-card.cau {
    background: var(--white);
    border: 1px solid var(--line);
    border-left: 3px solid var(--navy);
    border-radius: 0;
    padding: var(--space-3) var(--space-4);
    margin-bottom: var(--space-2);
}
.pattern-card.proc { border-left-color: var(--accent); }
.pattern-card.cau { border-left-color: var(--dt-bad); }
.pattern-src, .ruling-src { font-size: var(--t-small); }
.ruling-item { border-top-color: var(--line); }
.ruling-case { color: var(--ink); }
.ruling-meta, .motion-type { color: var(--muted); }
.stat-mt, .stat-rate, .seg-label strong { color: var(--ink); }
.stat-n, .stat-legend, .counts-note { color: var(--muted); }
.stat-bar { background: var(--line); border-radius: 2px; }
.seg-granted, .dot-granted { background: var(--dt-good); }
.seg-granted_in_part, .dot-granted_in_part { background: var(--dt-warn); }
.seg-denied, .dot-denied { background: var(--dt-bad); }
.seg-moot_or_procedural, .seg-unclear, .dot-moot_or_procedural, .dot-unclear { background: var(--line-strong); }
.stat-once > summary { border-bottom: 0; }

/* ---------- Sidebar: cards, facts, table of contents ---------- */

.aside-card, .anp-side-box, .ctp-side-box {
    background: var(--white);
    border: 1px solid var(--line);
    border-radius: var(--radius-m);
    padding: var(--space-4);
    margin-bottom: var(--space-3);
}
.aside-card h4, .anp-side-box h3, .ctp-side-box h3, .toc-title {
    font-size: var(--t-label);
    line-height: 16px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--muted);
    margin: 0 0 var(--space-2);
}
.toc-title { margin-bottom: var(--space-2); }
.toc-list { border-left: 1px solid var(--line); margin: 0 0 var(--space-4); }
.toc-list a { color: var(--muted); font-size: var(--t-small); padding: 5px 14px; border-left: 1px solid transparent; margin-left: -1px; transition: none; }
.toc-list a:hover, .toc-list a.active { color: var(--ink); border-left-color: var(--navy); }
.fact { font-size: var(--t-small); }
.fact .k { color: var(--muted); font-size: var(--t-label); letter-spacing: 0.04em; }
.fact .v { color: var(--text); }
.anp-side-row, .ctp-side-row { border-top-color: var(--line); padding: 7px 0; }
.anp-side-key, .ctp-side-key { color: var(--muted); }
.anp-side-val, .ctp-side-val { color: var(--ink); }
.anp-related-meta, .ctp-related-meta, .anp-attribution, .ctp-attribution { color: var(--muted); }
/* A quick-info block still in a sidebar (tax: related rulings) reads as a plain list. */
.opinion-sidebar .quick-info { background: none; border: 0; border-radius: 0; padding: 0; margin-top: var(--space-4); }
.opinion-sidebar .quick-info-row { grid-template-columns: minmax(0, 1fr); row-gap: var(--space-1); border: 0; padding: 0; }
.opinion-sidebar .quick-info-label { font-size: var(--t-label); letter-spacing: 0.08em; text-transform: uppercase; font-weight: 600; }
.opinion-sidebar .quick-info-value a { display: block; border: 0; color: var(--text); margin: 0 0 var(--space-2); }
.opinion-sidebar .quick-info-value a:hover { color: var(--accent); }
.judge-aside .disclaimer-box { border-left-width: 1px; color: var(--muted); }
.judge-aside .disclaimer-box strong { color: var(--text); }

/* ---------- Conversion: rail card, closer band, buttons, modal ---------- */

.svcta-rail, .agcta-rail, .ethcta-rail, .taxcta-rail, .irscta-rail, .adcta-rail, .labcta-rail,
.aside-card.aside-cta, .anncta-card {
    background: var(--white);
    background-image: none;
    border: 1px solid var(--line);
    border-radius: var(--radius-m);
    box-shadow: var(--shadow-card);
    padding: var(--space-4);
    margin: 0 0 var(--space-4);
}
.anncta-card { margin: var(--space-4) 0; }
.svcta-rail-h, .agcta-rail-h, .ethcta-rail-h, .taxcta-rail-h, .irscta-rail-h, .adcta-rail-h, .labcta-rail-h,
.aside-cta-h, .anncta-card-h {
    font-family: var(--font-logo);
    font-size: 20px;
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: -0.01em;
    text-transform: none;
    color: var(--ink) !important;
    margin: 0 0 var(--space-2);
}
.svcta-rail-p, .agcta-rail-p, .ethcta-rail-p, .taxcta-rail-p, .irscta-rail-p, .adcta-rail-p, .labcta-rail-p,
.aside-cta-p, .anncta-card-p {
    font-size: var(--t-small);
    line-height: 1.55;
    color: var(--text);
    margin: 0 0 var(--space-3);
}

.svcta-btn, .agcta-btn, .ethcta-btn, .taxcta-btn, .irscta-btn, .adcta-btn, .labcta-btn, .anncta-btn, .jcta {
    background: var(--navy);
    color: var(--on-dark);
    border: 1px solid var(--navy);
    border-radius: var(--radius-pill);
    box-shadow: none;
    min-height: 44px;
    padding: 0 var(--space-4);
    font-size: 15px;
    font-weight: 600;
    transition: none;
}
.jcta-primary { background: var(--navy); color: var(--on-dark); border-color: var(--navy); box-shadow: none; }
.jcta-secondary { background: var(--white); color: var(--navy); border: 1px solid var(--line-strong); }
.jcta-block { margin-top: var(--space-2); padding: 0 var(--space-3); }
.svcta-btn:focus-visible, .agcta-btn:focus-visible, .ethcta-btn:focus-visible, .taxcta-btn:focus-visible, .irscta-btn:focus-visible,
.adcta-btn:focus-visible, .labcta-btn:focus-visible, .anncta-btn:focus-visible, .jcta:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
}
.pdf-button, .pdf-button-inline {
    background: var(--white);
    color: var(--navy) !important;
    border: 1px solid var(--line-strong);
    border-radius: var(--radius-pill);
    font-size: var(--t-small);
    font-weight: 600;
    min-height: 40px;
    padding: 0 var(--space-3);
    margin-top: var(--space-3);
    transition: none;
}
.pdf-button i, .pdf-button-inline i { color: var(--muted); }

.dt-band { padding: 0 var(--dt-edge) var(--space-8); }
.anp-wrap > .dt-band, .ctp-wrap > .dt-band { padding: 0 0 var(--space-5); }
.dt-updated { color: var(--muted); font-size: 13px; margin: var(--space-2) 0 0; }
.dt-band .svcta-closer, .dt-band .agcta-closer, .dt-band .ethcta-closer, .dt-band .taxcta-closer, .dt-band .irscta-closer,
.dt-band .adcta-closer, .dt-band .labcta-closer, .dt-band .anncta-closer, .dt-band .judge-cta {
    background: var(--navy);
    background-image: none;
    color: var(--on-dark);
    border: 0;
    border-radius: var(--radius-m);
    padding: var(--space-7) var(--space-7);
    margin: 0;
    text-align: left;
    display: grid;
    grid-template-columns: minmax(0, 7fr) minmax(0, 4fr);
    column-gap: var(--space-8);
    align-items: start;
}
.dt-band .svcta-closer > *, .dt-band .agcta-closer > *, .dt-band .ethcta-closer > *, .dt-band .taxcta-closer > *, .dt-band .irscta-closer > *,
.dt-band .adcta-closer > *, .dt-band .labcta-closer > *, .dt-band .anncta-closer > *, .dt-band .judge-cta > * { grid-column: 1; }
.dt-band h2, .dt-band .anncta-closer-h {
    font-family: var(--font-logo);
    font-size: var(--t-h2);
    line-height: 1.15;
    letter-spacing: -0.015em;
    color: var(--on-dark);
    max-width: 20ch;
    margin: 0 0 var(--space-3);
    padding: 0;
    border: 0;
    display: block;
}
.dt-band .svcta-closer-sub, .dt-band .agcta-closer-sub, .dt-band .ethcta-closer-sub, .dt-band .taxcta-closer-sub, .dt-band .irscta-closer-sub,
.dt-band .adcta-closer-sub, .dt-band .labcta-closer-sub, .dt-band .anncta-closer-sub, .dt-band .section-sub {
    font-size: 17px;
    line-height: 1.55;
    color: var(--on-dark-muted);
    max-width: 48ch;
    margin: 0 0 var(--space-5);
}
.dt-band .svcta-btn, .dt-band .agcta-btn, .dt-band .ethcta-btn, .dt-band .taxcta-btn, .dt-band .irscta-btn,
.dt-band .adcta-btn, .dt-band .labcta-btn, .dt-band .anncta-btn, .dt-band .jcta-primary {
    background: var(--white);
    color: var(--navy);
    border-color: var(--white);
    min-height: 48px;
    padding: 0 var(--space-5);
    width: auto;
    justify-self: start;
}
.dt-band .jcta-secondary { background: transparent; color: var(--on-dark); border-color: var(--on-dark-line); min-height: 48px; }
.dt-band .judge-cta-actions { justify-content: flex-start; }
.dt-band .svcta-closer-fine, .dt-band .agcta-closer-fine, .dt-band .ethcta-closer-fine, .dt-band .taxcta-closer-fine, .dt-band .irscta-closer-fine,
.dt-band .adcta-closer-fine, .dt-band .labcta-closer-fine, .dt-band .anncta-closer-fine, .dt-band .jcta-fine {
    color: var(--on-dark-muted);
    font-size: var(--t-small);
    margin: var(--space-3) 0 0;
}
.dt-band .dt-band-points {
    grid-column: 2;
    grid-row: 1 / span 6;
    list-style: none;
    margin: 6px 0 0;
    padding: 0;
    border-top: 1px solid var(--on-dark-line);
}
.dt-band .dt-band-points li {
    padding: var(--space-3) 0;
    border-bottom: 1px solid var(--on-dark-line);
    font-size: 15px;
    line-height: 1.45;
    color: var(--on-dark);
}
@media (max-width: 900px) {
    .dt-band .svcta-closer, .dt-band .agcta-closer, .dt-band .ethcta-closer, .dt-band .taxcta-closer, .dt-band .irscta-closer,
    .dt-band .adcta-closer, .dt-band .labcta-closer, .dt-band .anncta-closer, .dt-band .judge-cta {
        grid-template-columns: minmax(0, 1fr);
        padding: var(--space-6) var(--space-5);
    }
    .dt-band .dt-band-points { grid-column: 1; grid-row: auto; margin-top: var(--space-5); }
}
@media (max-width: 640px) {
    .dt-band .svcta-closer, .dt-band .agcta-closer, .dt-band .ethcta-closer, .dt-band .taxcta-closer, .dt-band .irscta-closer,
    .dt-band .adcta-closer, .dt-band .labcta-closer, .dt-band .anncta-closer, .dt-band .judge-cta {
        padding: var(--space-5) var(--space-4);
    }
    .dt-band .svcta-btn, .dt-band .agcta-btn, .dt-band .ethcta-btn, .dt-band .taxcta-btn, .dt-band .irscta-btn,
    .dt-band .adcta-btn, .dt-band .labcta-btn, .dt-band .anncta-btn, .dt-band .jcta { width: 100%; }
}

/* Checkout modal: tokens only, the structure stays. */
.svcta-modal, .agcta-modal, .ethcta-modal, .taxcta-modal, .irscta-modal, .adcta-modal, .labcta-modal, .anncta-modal, .jcta-modal {
    border-radius: var(--radius-l);
    box-shadow: var(--shadow-frame);
}
.svcta-title, .agcta-title, .ethcta-title, .taxcta-title, .irscta-title, .adcta-title, .labcta-title, .anncta-title, .jcta-modal-title {
    font-family: var(--font-logo);
    color: var(--ink);
}
.svcta-anim, .agcta-anim, .ethcta-anim, .taxcta-anim, .irscta-anim, .adcta-anim, .labcta-anim, .anncta-anim {
    background: var(--paper);
    border-color: var(--line);
    border-radius: var(--radius-s);
}
.jcta-anim { background: var(--navy); border-radius: var(--radius-s); }
.svcta-bubble-user, .agcta-bubble-user, .ethcta-bubble-user, .taxcta-bubble-user, .labcta-bubble-user { background: var(--navy); }
.svcta-bubble-ai, .agcta-bubble-ai, .ethcta-bubble-ai, .taxcta-bubble-ai, .labcta-bubble-ai { border-color: var(--line); color: var(--text); }
.svcta-status-dot, .agcta-status-dot, .ethcta-status-dot, .taxcta-status-dot, .irscta-status-dot, .adcta-status-dot, .labcta-status-dot,
.anncta-status-dot, .jcta-anim-dot { background: var(--accent); box-shadow: none; }
.svcta-ready .svcta-status-dot, .agcta-ready .agcta-status-dot, .ethcta-ready .ethcta-status-dot, .taxcta-ready .taxcta-status-dot,
.irscta-ready .irscta-status-dot, .adcta-ready .adcta-status-dot, .labcta-ready .labcta-status-dot,
.anncta-ready .anncta-status-dot { background: var(--dt-good); }
.svcta-features li i, .agcta-features li i, .ethcta-features li i, .taxcta-features li i, .irscta-features li i,
.adcta-features li i, .labcta-features li i, .anncta-features li i { color: var(--accent); }
.svcta-email, .agcta-email, .ethcta-email, .taxcta-email, .irscta-email, .adcta-email, .labcta-email, .anncta-email, .jcta-modal-input {
    border-color: var(--line-strong);
    border-radius: var(--radius-s);
}
.svcta-email:focus, .agcta-email:focus, .ethcta-email:focus, .taxcta-email:focus, .irscta-email:focus, .adcta-email:focus,
.labcta-email:focus, .anncta-email:focus, .jcta-modal-input:focus {
    border-color: var(--accent);
    box-shadow: 0 0 0 3px rgba(69, 123, 157, 0.18);
}
.svcta-err a, .agcta-err a, .ethcta-err a, .taxcta-err a, .irscta-err a, .adcta-err a, .labcta-err a, .anncta-err a { color: var(--accent); }

/* Labor guidance: related documents list */
.related-guidance { padding: var(--space-4); margin-top: var(--space-6); }
.related-guidance-item-title { color: var(--ink); }
.related-guidance-item-meta, .related-guidance-item-state, .last-verified-line { color: var(--muted); }

/* ---------- Responsive ---------- */

@media (max-width: 1024px) {
    .opinion-header-inner, .judge-header-inner, .anp-header-inner, .ctp-header-inner {
        grid-template-columns: minmax(0, 1fr);
    }
    .opinion-header-inner > *, .judge-header-inner > *, .anp-header-inner > *, .ctp-header-inner > * { grid-column: 1 / -1; }
    .opinion-layout, .judge-body, .anp-layout, .ctp-layout { grid-template-columns: minmax(0, 1fr); }
    .opinion-layout, .judge-body, .anp-wrap, .ctp-wrap { padding: var(--space-5) var(--dt-edge) var(--space-7); }
    .opinion-sidebar, .labor-sidebar, .judge-aside, .anp-sidebar, .ctp-sidebar {
        grid-column: 1;
        position: static;
        max-height: none;
        overflow: visible;
        margin-top: var(--space-5);
    }
    .judge-aside { grid-row: 2; margin: var(--space-2) 0 0; }
    .judge-main { grid-row: 1; }
    .anp-sidebar { grid-row: 1; margin: 0 0 var(--space-4); }
    .anp-main { grid-row: 2; }
}
@media (max-width: 640px) {
    .opinion-header, .judge-header, .anp-header, .ctp-header { padding-top: var(--space-4); padding-bottom: var(--space-4); }
    .opinion-header-inner, .judge-header-inner, .anp-header-inner, .ctp-header-inner { padding: 0; }
    .opinion-header h1, .judge-h1, .anp-header h1, .ctp-header h1 { font-size: 24px; line-height: 1.25; }
    .short-answer, .opinion-gist, .anp-subtitle, .ctp-subtitle, .judge-lede { font-size: 15px; }
    .short-answer { grid-template-columns: minmax(0, 1fr); row-gap: var(--space-1); }
    .quick-info-row { padding-bottom: var(--space-2); }
    .opinion-layout, .judge-body, .anp-wrap, .ctp-wrap { padding: var(--space-4) var(--dt-edge) var(--space-6); }
    .opinion-main h2, .judge-section h2 { font-size: 21px; }
    .svcta-btn, .agcta-btn, .ethcta-btn, .taxcta-btn, .irscta-btn, .adcta-btn, .labcta-btn, .anncta-btn, .jcta { width: 100%; }
}

/* The survey CTA include loads after this file and sets .svcta-closer h2 for the
   topic page's white card; inside the navy band the heading must be on-dark. */
.dt-band .svcta-closer h2 { font-family: var(--font-logo); font-size: var(--t-h2); line-height: 1.15; letter-spacing: -0.015em; color: var(--on-dark); max-width: 20ch; margin: 0 0 var(--space-3); }
.dt-band .svcta-closer { margin-top: 0; }
