/* Resource Hub — shared layout for accreditation / policies / reports */
body { background:#fff; padding:0; margin:0; }
.container { max-width:1100px; margin:0 auto; padding:0 32px; }
h2 { font-family:var(--serif); font-size:30px; font-weight:600; color:var(--navy); margin:0 0 14px; letter-spacing:-.012em; }
h3 { font-family:var(--serif); font-size:20px; font-weight:600; color:var(--navy); margin:0 0 8px; }
.eyebrow { font-size:11px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--copper); margin:0 0 12px; }
.lede { font-size:17px; line-height:1.78; color:#57534A; margin:0 0 34px; max-width:70ch; }
p { line-height:1.78; }
section { padding:64px 0; }
.btn { display:inline-block; font-size:14.5px; font-weight:600; padding:14px 26px; border-radius:8px; text-decoration:none; }
.btn-primary { background:var(--copper); color:#fff; }
.btn-ghost { background:transparent; color:var(--navy); border:1.5px solid var(--navy); }

/* nav */
.topbar { background:var(--navy); color:#BBCABB; font-size:12.5px; }
.topbar .container { display:flex; justify-content:space-between; align-items:center; height:38px; }
.topbar a { color:#BBCABB; text-decoration:none; }
.topbar b { color:var(--copper-lt); }
nav.site { position:sticky; top:0; z-index:50; background:rgba(255,255,255,.97); backdrop-filter:blur(8px); border-bottom:1px solid var(--rule); }
nav.site .container { display:flex; align-items:center; justify-content:space-between; height:78px; }
.nav-wm { font-family:var(--serif); font-size:20px; font-weight:600; color:var(--navy); line-height:1.02; text-decoration:none; }
.nav-wm span { display:block; font-family:var(--sans); font-size:7.5px; font-weight:700; letter-spacing:.3em; text-transform:uppercase; color:var(--copper); margin-top:4px; }
.nav-links { display:flex; gap:26px; align-items:center; }
.nav-links > a { font-size:14px; color:#463F36; text-decoration:none; font-weight:500; }
.nav-links > a.on { color:var(--copper); font-weight:600; }

/* hub header */
.hub-head { background:var(--paper); border-bottom:1px solid var(--paper-edge); padding:52px 0 0; }
.crumbs { font-size:12.5px; color:var(--muted); margin-bottom:20px; }
.crumbs a { color:var(--muted); text-decoration:none; }
.crumbs span { color:var(--copper); }
.hub-head h1 { font-family:var(--serif); font-size:44px; font-weight:600; color:var(--navy); margin:0 0 16px; letter-spacing:-.02em; }
.hub-head .sub { font-size:17.5px; line-height:1.75; color:#57534A; max-width:68ch; margin:0 0 34px; }
.hub-tabs { display:flex; gap:4px; }
.hub-tabs a { font-size:14px; font-weight:600; color:#6C6559; text-decoration:none; padding:14px 22px; border-radius:9px 9px 0 0; border:1px solid transparent; border-bottom:0; }
.hub-tabs a.on { background:#fff; color:var(--navy); border-color:var(--rule); }

/* doc rows */
.doc-group { margin-bottom:46px; }
.doc-group > h3 { padding-bottom:12px; border-bottom:2px solid var(--navy); margin-bottom:4px; }
.doc { display:flex; align-items:center; gap:20px; padding:19px 4px; border-bottom:1px solid var(--paper-edge); }
.doc .nm { flex:1; }
.doc .nm b { display:block; font-size:15.5px; color:var(--ink); font-weight:600; }
.doc .nm span { font-size:13.5px; color:var(--muted); line-height:1.6; }
.doc .act { font-size:13px; font-weight:600; color:var(--copper); text-decoration:none; white-space:nowrap; }
.pill { font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; padding:4px 9px; border-radius:4px; white-space:nowrap; }
.pill.pub { background:#E4EFE6; color:var(--valid); }
.pill.dev { background:#F5EADA; color:var(--expired); }
.pill.ext { background:var(--navy-tint); color:var(--navy); }

/* accreditation blocks */
.acc { display:grid; grid-template-columns:170px 1fr; gap:34px; padding:36px 0; border-bottom:1px solid var(--paper-edge); align-items:start; }
.acc-logo { height:92px; border:1px dashed var(--rule); border-radius:9px; display:flex; align-items:center; justify-content:center; text-align:center; font-size:11px; color:#A79E92; letter-spacing:.08em; padding:12px; background:var(--paper); }
.acc h3 { margin-bottom:6px; }
.acc .status { font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; margin-bottom:12px; }
.acc .status.held { color:var(--valid); }
.acc .status.working { color:var(--expired); }
.acc p { font-size:15px; color:#57534A; margin:0 0 12px; }
.acc a.visit { font-size:13.5px; font-weight:600; color:var(--copper); text-decoration:none; }

/* callout */
.note { background:var(--paper); border-left:3px solid var(--copper); border-radius:0 9px 9px 0; padding:24px 26px; margin:34px 0; }
.note h4 { font-family:var(--serif); font-size:19px; color:var(--navy); margin:0 0 10px; font-weight:600; }
.note p { font-size:15px; color:#57534A; margin:0 0 10px; }
.note ul { margin:10px 0 0; padding-left:20px; font-size:15px; color:#57534A; line-height:1.9; }

/* report tables */
table.rep { width:100%; border-collapse:collapse; font-size:14.5px; margin:8px 0 30px; }
table.rep th { text-align:left; font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); font-weight:700; padding:0 14px 11px 0; border-bottom:2px solid var(--navy); }
table.rep td { padding:14px 14px 14px 0; border-bottom:1px solid var(--paper-edge); color:#57534A; }
table.rep td:first-child { color:var(--ink); font-weight:600; }
table.rep td.num { font-variant-numeric:tabular-nums; font-weight:600; color:var(--navy); }

/* footer */
footer.site { background:var(--navy); color:#BBCABB; padding:60px 0 32px; font-size:13.5px; margin-top:20px; }
.f-grid { display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:40px; padding-bottom:38px; border-bottom:1px solid rgba(255,255,255,.13); }
footer.site h5 { font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:#fff; margin:0 0 16px; font-weight:700; }
footer.site a { color:#BBCABB; text-decoration:none; display:block; margin-bottom:10px; }
.f-wm { font-family:var(--serif); font-size:22px; color:#fff; font-weight:600; line-height:1.05; }
.f-wm span { display:block; font-family:var(--sans); font-size:8px; letter-spacing:.3em; text-transform:uppercase; color:var(--copper); margin-top:6px; font-weight:700; }
.f-disc { margin-top:28px; font-size:12px; line-height:1.75; color:#9FB5A6; max-width:82ch; }
.f-disc b { color:#fff; }
.f-base { margin-top:24px; display:flex; justify-content:space-between; font-size:12px; color:#82927F; }
