/*==================================================
COMPLIANCEATLAS
WIRE.CSS
Registry Wire + News Archive
Loaded after main.css and jobrestrictions.css
==================================================*/

/*==================================================
LOCAL TOKENS
Newspaper layer on top of the shared
ComplianceAtlas palette (navy / gold / slate)
==================================================*/

.wire-page{

--wire-serif:'Source Serif 4', Georgia, 'Times New Roman', serif;

--wire-mono:ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, monospace;

--wire-navy:#081A33;
--wire-navy-soft:#133A63;

--wire-ink:#16202f;
--wire-body:#3b4757;
--wire-quiet:#6b7789;

--wire-rule:#e2e8f0;
--wire-rule-soft:#eef2f7;

--wire-card:#ffffff;
--wire-inset:#f8fafc;

--wire-federal:#1D4ED8;
--wire-legislation:#92400E;
--wire-courts:#0F766E;
--wire-local:#475569;
--wire-other:#6D28D9;

}


/*==================================================
PAGE SHELL
Matches the .page / .job-page pattern used by
Myths, Case Law and Job Restrictions
==================================================*/

.wire-page{

padding-bottom:0;

}

.wire-page :focus-visible{

outline:3px solid var(--wire-navy);

outline-offset:3px;

}


/*==================================================
HERO
Extends the shared .job-hero
==================================================*/

.wire-hero{

padding:46px 0 34px;

border-radius:22px 22px 0 0;

}

.wire-hero .container{

max-width:1080px;

}

.wire-kicker{

display:flex;

align-items:center;

gap:12px;

margin-bottom:16px;

font-family:var(--wire-mono);

font-size:.7rem;

font-weight:600;

letter-spacing:.16em;

text-transform:uppercase;

color:var(--gold);

}

.wire-kicker::after{

content:"";

flex:1;

height:1px;

background:linear-gradient(90deg, rgba(201,162,39,.55), rgba(201,162,39,0));

}

.wire-hero h1{

font-family:var(--wire-serif);

font-size:clamp(2.4rem,9vw,3.6rem);

font-weight:900;

letter-spacing:-.02em;

line-height:1.02;

margin:0 0 14px;

}

.wire-hero .hero-text{

font-size:1.02rem;

line-height:1.65;

opacity:.9;

}


/*==================================================
HERO META STRIP
==================================================*/

.wire-meta{

display:flex;

flex-wrap:wrap;

gap:10px;

margin-top:26px;

padding-top:22px;

border-top:1px solid rgba(255,255,255,.16);

}

.wire-meta-item{

display:inline-flex;

align-items:baseline;

gap:7px;

padding:7px 13px;

border-radius:999px;

background:rgba(255,255,255,.07);

border:1px solid rgba(255,255,255,.14);

font-family:var(--wire-mono);

font-size:.72rem;

letter-spacing:.04em;

color:#e8eef7;

white-space:nowrap;

}

.wire-meta-item b{

font-weight:700;

color:#fff;

}

a.wire-meta-item{

background:rgba(201,162,39,.16);

border-color:rgba(201,162,39,.45);

color:#f4e6bd;

transition:var(--transition);

}

a.wire-meta-item:hover{

background:rgba(201,162,39,.28);

color:#fff;

}


/*==================================================
SECTION RAIL
Sticky pill nav, mirrors .quick-links
==================================================*/

.wire-rail{

position:sticky;

top:79px;

z-index:120;

background:#fff;

border-bottom:1px solid var(--wire-rule);

box-shadow:0 6px 18px rgba(8,26,51,.05);

}

.wire-rail .container{

max-width:1080px;

display:flex;

gap:8px;

align-items:center;

overflow-x:auto;

padding:11px 0;

scrollbar-width:none;

-webkit-overflow-scrolling:touch;

}

.wire-rail .container::-webkit-scrollbar{

display:none;

}

.wire-pill{

flex:0 0 auto;

display:inline-flex;

align-items:center;

gap:7px;

min-height:38px;

padding:0 15px;

border-radius:999px;

border:1px solid var(--wire-rule);

background:#f8fafc;

color:#334155;

font-family:var(--wire-mono);

font-size:.72rem;

font-weight:600;

letter-spacing:.06em;

text-transform:uppercase;

white-space:nowrap;

cursor:pointer;

transition:var(--transition);

}

.wire-pill:hover{

border-color:var(--gold);

background:#fffdf5;

color:var(--wire-navy);

}

.wire-pill.active,
.wire-pill[aria-current="true"]{

background:var(--wire-navy);

border-color:var(--wire-navy);

color:#fff;

}

.wire-pill span{

font-size:.68rem;

opacity:.6;

}

.wire-pill.active span{

opacity:.75;

}


/*==================================================
BODY WRAP
==================================================*/

.wire-body{

max-width:1080px;

margin:0 auto;

padding:34px 0 0;

}


/*==================================================
LEAD STORY
==================================================*/

.wire-lead{

position:relative;

background:var(--wire-card);

border:1px solid var(--wire-rule);

border-top:3px solid var(--gold);

border-radius:4px 4px 18px 18px;

box-shadow:0 10px 30px rgba(8,26,51,.07);

padding:30px 22px 26px;

}

.wire-lead-label{

display:flex;

align-items:center;

gap:10px;

margin-bottom:14px;

font-family:var(--wire-mono);

font-size:.7rem;

font-weight:700;

letter-spacing:.14em;

text-transform:uppercase;

color:#9a7a1c;

}

.wire-lead h2{

font-family:var(--wire-serif);

font-size:clamp(1.6rem,5.4vw,2.5rem);

font-weight:800;

line-height:1.14;

letter-spacing:-.015em;

color:var(--wire-ink);

margin:0 0 14px;

}

.wire-dek{

font-size:1.08rem;

line-height:1.62;

color:var(--wire-body);

margin:0 0 18px;

max-width:68ch;

}

.wire-byline{

display:flex;

flex-wrap:wrap;

gap:8px 16px;

padding:12px 0;

margin:0 0 22px;

border-top:1px solid var(--wire-rule);

border-bottom:1px solid var(--wire-rule);

font-family:var(--wire-mono);

font-size:.72rem;

letter-spacing:.04em;

color:var(--wire-quiet);

}

.wire-prose{

font-size:1.0625rem;

line-height:1.75;

color:var(--wire-ink);

max-width:68ch;

}

.wire-prose p{

margin:0 0 18px;

}

.wire-prose a{

color:#1d4ed8;

text-decoration:underline;

text-underline-offset:3px;

text-decoration-thickness:1px;

}

.wire-prose a:hover{

color:#0f172a;

}

.wire-prose strong{

font-weight:700;

color:var(--wire-ink);

}


/*==================================================
PULL QUOTE
==================================================*/

.wire-quote{

margin:24px 0;

padding:4px 0 4px 20px;

border-left:4px solid var(--gold);

font-family:var(--wire-serif);

font-size:1.22rem;

font-style:italic;

line-height:1.5;

color:var(--wire-navy);

}

.wire-quote cite{

display:block;

margin-top:10px;

font-family:var(--wire-mono);

font-size:.72rem;

font-style:normal;

letter-spacing:.03em;

color:var(--wire-quiet);

}


/*==================================================
DOCUMENT BOX
Reuses the .notes gold-rule treatment
==================================================*/

.wire-doc{

margin:24px 0;

padding:20px 22px;

border-left:4px solid var(--gold);

border-radius:0 12px 12px 0;

background:#FFFDF7;

}

.wire-doc-label{

display:block;

margin-bottom:10px;

font-family:var(--wire-mono);

font-size:.68rem;

font-weight:700;

letter-spacing:.12em;

text-transform:uppercase;

color:#9a7a1c;

}

.wire-doc p{

margin:0;

font-size:.96rem;

line-height:1.8;

color:var(--wire-body);

}


/*==================================================
SOURCES
==================================================*/

.wire-sources{

display:flex;

flex-wrap:wrap;

align-items:center;

gap:8px;

margin-top:20px;

padding-top:16px;

border-top:1px solid var(--wire-rule);

}

.wire-sources-label{

font-family:var(--wire-mono);

font-size:.66rem;

font-weight:700;

letter-spacing:.12em;

text-transform:uppercase;

color:var(--wire-quiet);

}

.wire-source{

display:inline-flex;

align-items:center;

gap:6px;

min-height:34px;

padding:5px 12px;

border-radius:999px;

border:1px solid var(--wire-rule);

background:var(--wire-inset);

font-size:.82rem;

font-weight:600;

color:#1d4ed8;

transition:var(--transition);

}

.wire-source:hover{

border-color:#1d4ed8;

background:#eff5ff;

}

.wire-source.is-primary{

border-color:rgba(201,162,39,.6);

background:#FFFDF7;

color:#7a5f13;

}

.wire-source.is-primary:hover{

border-color:var(--gold);

background:#fdf6e3;

}

.wire-source.no-link{

color:var(--wire-quiet);

font-weight:500;

}

.wire-source::after{

content:"↗";

font-size:.7em;

opacity:.55;

}

.wire-source.no-link::after{

content:none;

}


/*==================================================
SECTION BLOCKS
==================================================*/

.wire-section{

padding:38px 0 0;

scroll-margin-top:130px;

}

.wire-section-head{

display:flex;

align-items:baseline;

gap:14px;

padding-bottom:12px;

margin-bottom:20px;

border-bottom:2px solid var(--wire-navy);

}

.wire-section-head h2{

font-family:var(--wire-serif);

font-size:clamp(1.25rem,4.2vw,1.7rem);

font-weight:800;

letter-spacing:-.01em;

color:var(--wire-navy);

margin:0;

}

.wire-section-count{

margin-left:auto;

flex:0 0 auto;

font-family:var(--wire-mono);

font-size:.7rem;

letter-spacing:.06em;

color:var(--wire-quiet);

white-space:nowrap;

}

.wire-section-note{

margin:-10px 0 20px;

font-size:.92rem;

line-height:1.6;

color:var(--wire-quiet);

max-width:70ch;

}


/*==================================================
STORY GRID
==================================================*/

.wire-grid{

display:grid;

grid-template-columns:1fr;

gap:16px;

}

.wire-card{

display:flex;

flex-direction:column;

background:var(--wire-card);

border:1px solid var(--wire-rule);

border-radius:16px;

box-shadow:0 4px 14px rgba(8,26,51,.05);

padding:20px;

transition:var(--transition);

}

.wire-card:hover{

border-color:#cfd9e6;

box-shadow:0 10px 26px rgba(8,26,51,.09);

}

.wire-card-top{

display:flex;

flex-wrap:wrap;

align-items:center;

gap:8px;

margin-bottom:12px;

}

.wire-card h3{

font-family:var(--wire-serif);

font-size:1.18rem;

font-weight:700;

line-height:1.28;

letter-spacing:-.005em;

color:var(--wire-ink);

margin:0 0 10px;

}

.wire-card p{

font-size:.975rem;

line-height:1.65;

color:var(--wire-body);

margin:0 0 14px;

}

.wire-card p strong{

font-weight:700;

color:var(--wire-ink);

}

.wire-card p em{

font-style:italic;

}

.wire-card-foot{

margin-top:auto;

padding-top:12px;

border-top:1px solid var(--wire-rule-soft);

}

.wire-card-meta{

display:block;

margin-bottom:10px;

font-family:var(--wire-mono);

font-size:.7rem;

line-height:1.55;

letter-spacing:.02em;

color:var(--wire-quiet);

}

.wire-card .wire-sources{

margin-top:0;

padding-top:0;

border-top:none;

gap:7px;

}


/*==================================================
CATEGORY + STATUS TAGS
==================================================*/

.wire-tag{

display:inline-flex;

align-items:center;

padding:4px 11px;

border-radius:999px;

font-family:var(--wire-mono);

font-size:.64rem;

font-weight:700;

letter-spacing:.09em;

text-transform:uppercase;

}

.wire-tag.federal{ background:#DBEAFE; color:var(--wire-federal); }
.wire-tag.legislation{ background:#FEF3C7; color:var(--wire-legislation); }
.wire-tag.courts{ background:#CCFBF1; color:var(--wire-courts); }
.wire-tag.local{ background:#E2E8F0; color:var(--wire-local); }
.wire-tag.other{ background:#EDE9FE; color:var(--wire-other); }

.wire-kind{

display:inline-flex;

align-items:center;

gap:5px;

padding:4px 10px;

border-radius:999px;

border:1px solid transparent;

font-family:var(--wire-mono);

font-size:.62rem;

font-weight:700;

letter-spacing:.08em;

text-transform:uppercase;

}

.wire-kind.new{

background:var(--wire-navy);

color:#fff;

}

.wire-kind.update{

background:#fffdf5;

border-color:rgba(201,162,39,.7);

color:#8a6d14;

}

.wire-kind.context{

background:#f8fafc;

border-color:var(--wire-rule);

color:var(--wire-quiet);

}

.wire-jurisdiction{

font-family:var(--wire-mono);

font-size:.66rem;

font-weight:600;

letter-spacing:.07em;

text-transform:uppercase;

color:var(--wire-quiet);

}


/*==================================================
ARCHIVE CALL TO ACTION
Uses the shared .statute navy panel language
==================================================*/

.wire-cta{

margin:44px 0 0;

padding:28px 22px;

border-radius:18px;

background:linear-gradient(135deg, var(--wire-navy), var(--wire-navy-soft));

color:#fff;

}

.wire-cta h2{

font-family:var(--wire-serif);

font-size:1.45rem;

font-weight:800;

margin:0 0 10px;

color:#fff;

}

.wire-cta p{

margin:0 0 20px;

font-size:.98rem;

line-height:1.7;

color:#cddaea;

max-width:62ch;

}

.wire-cta .btn{

border-radius:12px;

min-height:48px;

font-size:.98rem;

}

.wire-cta-links{

display:flex;

flex-wrap:wrap;

gap:12px;

align-items:center;

}

.wire-cta-secondary{

display:inline-flex;

align-items:center;

min-height:48px;

padding:0 18px;

border-radius:12px;

border:1px solid rgba(255,255,255,.3);

font-weight:600;

font-size:.95rem;

color:#fff;

transition:var(--transition);

}

.wire-cta-secondary:hover{

background:rgba(255,255,255,.1);

border-color:var(--gold);

}


/*==================================================
RECENTLY ARCHIVED STRIP
==================================================*/

.wire-recent{

margin-top:20px;

padding-top:20px;

border-top:1px solid rgba(255,255,255,.16);

}

.wire-recent-label{

display:block;

margin-bottom:12px;

font-family:var(--wire-mono);

font-size:.66rem;

font-weight:700;

letter-spacing:.12em;

text-transform:uppercase;

color:var(--gold);

}

.wire-recent ul{

list-style:none;

margin:0;

padding:0;

}

.wire-recent li{

padding:9px 0;

border-bottom:1px solid rgba(255,255,255,.08);

}

.wire-recent li:last-child{

border-bottom:none;

}

.wire-recent a{

display:block;

font-size:.95rem;

line-height:1.5;

color:#e8eef7;

}

.wire-recent a:hover{

color:var(--gold);

}

.wire-recent small{

display:block;

margin-top:3px;

font-family:var(--wire-mono);

font-size:.66rem;

letter-spacing:.04em;

color:#94a9c4;

}


/*==================================================
EDITORIAL NOTE
==================================================*/

.wire-note{

margin-top:44px;

padding:26px 22px;

background:#fff;

border:1px solid var(--wire-rule);

border-radius:18px;

}

.wire-note h2{

font-family:var(--wire-serif);

font-size:1.15rem;

font-weight:800;

color:var(--wire-navy);

margin:0 0 14px;

}

.wire-note p{

font-size:.93rem;

line-height:1.8;

color:var(--wire-body);

margin:0 0 14px;

max-width:76ch;

}

.wire-note p:last-child{

margin-bottom:0;

}

.wire-note a{

color:#1d4ed8;

text-decoration:underline;

text-underline-offset:3px;

}


/*==================================================
ARCHIVE PAGE
==================================================*/

.wire-filters{

position:sticky;

top:79px;

z-index:120;

background:#fff;

border-bottom:1px solid var(--wire-rule);

box-shadow:0 6px 18px rgba(8,26,51,.05);

}

.wire-filters .container{

max-width:1080px;

padding:14px 0;

}

.wire-filter-row{

display:grid;

grid-template-columns:1fr;

gap:10px;

}

.wire-filters input[type="search"],
.wire-filters select{

width:100%;

min-height:46px;

padding:10px 14px;

border:1px solid var(--wire-rule);

border-radius:12px;

background:#f8fafc;

font-size:1rem;

font-family:inherit;

color:#1f2937;

}

.wire-filters input[type="search"]:focus,
.wire-filters select:focus{

outline:none;

border-color:var(--primary);

box-shadow:0 0 0 4px rgba(37,99,235,.14);

}

.wire-filter-tags{

display:flex;

gap:8px;

overflow-x:auto;

padding-top:10px;

scrollbar-width:none;

}

.wire-filter-tags::-webkit-scrollbar{

display:none;

}

.wire-filter-status{

display:flex;

align-items:center;

justify-content:space-between;

gap:12px;

flex-wrap:wrap;

margin:22px 0 14px;

font-family:var(--wire-mono);

font-size:.74rem;

letter-spacing:.04em;

color:var(--wire-quiet);

}

.wire-reset{

min-height:40px;

padding:0 14px;

border:1px solid var(--wire-rule);

border-radius:999px;

background:#fff;

font-family:var(--wire-mono);

font-size:.7rem;

font-weight:600;

letter-spacing:.06em;

text-transform:uppercase;

color:#334155;

cursor:pointer;

transition:var(--transition);

}

.wire-reset:hover{

border-color:var(--gold);

color:var(--wire-navy);

}


/*==================================================
ARCHIVE GROUPS + ROWS
==================================================*/

.wire-archive-group{

margin-bottom:34px;

}

.wire-archive-group > h2{

display:flex;

align-items:baseline;

gap:12px;

padding-bottom:10px;

margin:0 0 16px;

border-bottom:2px solid var(--wire-navy);

font-family:var(--wire-serif);

font-size:1.2rem;

font-weight:800;

color:var(--wire-navy);

}

.wire-archive-group > h2 small{

font-family:var(--wire-mono);

font-size:.68rem;

font-weight:500;

letter-spacing:.06em;

color:var(--wire-quiet);

}

.wire-archive-list{

display:grid;

gap:14px;

}

.wire-entry{

background:#fff;

border:1px solid var(--wire-rule);

border-left:4px solid var(--wire-rule);

border-radius:4px 14px 14px 4px;

padding:18px;

transition:var(--transition);

}

.wire-entry:hover{

box-shadow:0 8px 22px rgba(8,26,51,.07);

}

.wire-entry.cat-federal{ border-left-color:var(--wire-federal); }
.wire-entry.cat-legislation{ border-left-color:var(--gold); }
.wire-entry.cat-courts{ border-left-color:var(--wire-courts); }
.wire-entry.cat-local{ border-left-color:var(--wire-local); }
.wire-entry.cat-other{ border-left-color:var(--wire-other); }

.wire-entry-top{

display:flex;

flex-wrap:wrap;

align-items:center;

gap:8px;

margin-bottom:10px;

}

.wire-entry h3{

font-family:var(--wire-serif);

font-size:1.1rem;

font-weight:700;

line-height:1.3;

color:var(--wire-ink);

margin:0 0 8px;

}

.wire-entry p{

font-size:.95rem;

line-height:1.65;

color:var(--wire-body);

margin:0 0 12px;

}

.wire-entry .wire-card-meta{

margin-bottom:10px;

}

.wire-onhome{

display:inline-flex;

align-items:center;

padding:4px 10px;

border-radius:999px;

background:#DCFCE7;

font-family:var(--wire-mono);

font-size:.62rem;

font-weight:700;

letter-spacing:.08em;

text-transform:uppercase;

color:#166534;

}

.wire-empty{

display:none;

padding:56px 24px;

text-align:center;

background:#fff;

border:1px dashed var(--wire-rule);

border-radius:18px;

color:var(--wire-quiet);

}

.wire-empty.show{

display:block;

}

.wire-archive-group.hide,
.wire-entry.hide{

display:none;

}


/*==================================================
TABLET
==================================================*/

@media (min-width:700px){

.wire-hero{

padding:60px 0 42px;

}

.wire-lead{

padding:38px 34px 32px;

}

.wire-grid{

grid-template-columns:repeat(2,1fr);

gap:20px;

}

.wire-card{

padding:24px;

}

.wire-cta,
.wire-note{

padding:34px 32px;

}

.wire-filter-row{

grid-template-columns:2fr 1fr 1fr;

align-items:center;

}

.wire-entry{

padding:22px 24px;

}

.wire-body{

padding-top:42px;

}

}


/*==================================================
DESKTOP
==================================================*/

@media (min-width:1000px){

.wire-hero{

padding:70px 0 48px;

}

.wire-grid{

grid-template-columns:repeat(3,1fr);

}

.wire-section{

padding-top:48px;

}

/* Wider cards for the thinner sections */

.wire-grid.count-1{

grid-template-columns:minmax(0,2fr) minmax(0,1fr);

}

.wire-grid.count-2{

grid-template-columns:repeat(2,1fr);

}

.wire-grid.count-1 .wire-card:only-child{

grid-column:1;

}

}


/*==================================================
FOOTER SPACING
==================================================*/

.wire-page + .site-footer,
.wire-page .site-footer{

margin-top:60px;

}


/*==================================================
PRINT
==================================================*/

@media print{

.wire-rail,
.wire-filters,
.wire-cta,
.floating-actions{

display:none;

}

.wire-card,
.wire-lead,
.wire-entry{

box-shadow:none;

border:1px solid #ccc;

break-inside:avoid;

}

}

/*==================================================
ANCHOR OFFSET — fixed header + sticky section rail
==================================================*/

.wire-lead,
.wire-card,
.wire-entry{

scroll-margin-top:140px;

}
