@import url('/theme.css');
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:30px}
body{margin:0;background:var(--bg);color:var(--ink);font:1rem/1.7 var(--sans);-webkit-font-smoothing:antialiased}
a{color:inherit;text-underline-offset:.25em;text-decoration-thickness:1px}
a:hover{color:var(--amber)}
button,input,select{font:inherit}
button,select{cursor:pointer}
button,input,select{color:var(--ink);background:var(--panel);border:1px solid #8999a2;border-radius:4px}
input,select{min-height:48px;padding:10px 12px}
input[type=checkbox]{min-height:20px;width:20px;height:20px;accent-color:var(--amber)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid #2487d4;outline-offset:5px}
::selection{color:var(--ink);background:var(--brand-accent)}
[hidden]{display:none!important}
.skip{position:absolute;left:20px;top:-80px;background:var(--brand-accent);color:var(--ink);padding:10px;z-index:3}
.skip:focus{top:10px}
.mast{border-top:4px solid var(--ink);max-width:1320px;margin:auto;padding:25px 40px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:30px}
.brand{display:inline-flex;align-items:center;gap:8px;font:700 1.05rem var(--sans);letter-spacing:.08em;text-decoration:none}
.brand span{color:var(--amber);margin-left:-7px}
.mast nav{display:flex;gap:28px;font-size:.875rem}
.mast nav a{text-decoration:none}
.mast nav a[aria-current=page]{color:var(--amber)}
main{max-width:1320px;padding:46px 40px 70px;margin:auto}
.eyebrow{font:.875rem var(--mono);color:var(--amber);letter-spacing:.1em;text-transform:uppercase;margin:0 0 18px}
h1,h2,h3{font-weight:500;line-height:1.13}
h1{font-family:var(--serif);font-size:clamp(2.7rem,5.2vw,4.7rem);letter-spacing:-.025em;margin:0 0 20px}
h2{font:500 2rem var(--serif);margin:0 0 20px}
h3{font-size:1.05rem;font-weight:600;margin:0 0 12px}
.period{color:var(--amber)}
p{margin:0 0 20px}
.lead{font-size:1.08rem;color:var(--muted);line-height:1.75}
.intro{display:grid;grid-template-columns:1.3fr 1fr;gap:70px;align-items:end;border-bottom:1px solid var(--line);padding-bottom:24px;margin-bottom:26px}
.intro .lead{max-width:40ch;margin-bottom:25px}
.directory-tools{display:flex;align-items:end;gap:20px;flex-wrap:wrap}
.search-label{display:flex;flex-direction:column;flex:1 1 320px;gap:8px;font-size:.875rem}
.search-label input{width:100%}
.filter-wrap{display:flex;flex-direction:column;gap:8px;font-size:.875rem}
.available-filter{display:flex;gap:10px;align-items:center;min-height:48px;font-size:.875rem}
.result-count{font:.875rem var(--mono);color:var(--muted);margin:24px 0}
.directory-grid{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:60px}
.provider-section{margin:0 0 34px}
.provider-section h2{font:500 .875rem var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--amber);margin-bottom:15px}
.provider-list{border-top:1px solid var(--line)}
.provider{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(130px,1fr) 20px;align-items:center;gap:18px;text-decoration:none;border-bottom:1px solid var(--line);padding:20px 12px 20px 0;transition:background .18s ease,padding .18s ease}
.provider:hover{padding-left:12px;background:var(--panel);color:var(--ink)}
.provider-name{font-size:1rem;font-weight:600}
.provider small{display:block;color:var(--muted);font-size:.875rem;font-weight:400;margin-top:5px}
.provider-status{font-size:.875rem;line-height:1.5;color:var(--muted)}
.provider-status.existing{color:var(--mint)}
.provider-status.access,.provider-status.limited{color:var(--amber)}
.provider-status.verify{color:var(--violet)}
.arrow{font-size:1.3rem;color:var(--amber)}
aside{min-width:0}
aside p{font-size:.9375rem;color:var(--muted)}
aside h2{font-size:1.7rem}
.aside-inner{position:sticky;top:30px}
aside a{font-size:.875rem}
.aside-callout{border-top:2px solid var(--amber);background:var(--panel);padding:22px;margin:30px 0}
.aside-callout strong{font-size:1rem}
.aside-callout p{margin:12px 0}
.data-basics{margin-top:50px;border-top:1px solid var(--line);padding-top:40px}
.data-basics>p{max-width:86ch;color:var(--muted)}
.data-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin:30px 0}
.data-grid p{color:var(--muted);font-size:.9375rem}
.data-number{font:1rem var(--mono);color:var(--amber);display:block;margin-bottom:15px}
.scope-note{font-size:.875rem}
.breadcrumbs{display:flex;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:.875rem;margin-bottom:34px}
.guide-grid{display:grid;grid-template-columns:minmax(0,790px) minmax(240px,1fr);gap:70px}
.guide-head h1{font-size:clamp(2.5rem,4.5vw,4.2rem)}
.guide-head .lead{max-width:68ch}
.guide article section{padding-top:38px}
.readiness{padding:22px 24px;border-left:3px solid var(--amber);background:var(--panel);margin-top:28px}
.readiness.existing{border-color:var(--mint)}
.readiness.verify{border-color:var(--violet)}
.status-label{display:block;font:.875rem var(--mono);color:var(--muted);margin-bottom:8px}
.readiness strong{font-size:1.02rem}
.readiness p{font-size:.9375rem;color:var(--muted);margin:10px 0 0}
.needs{padding-left:20px}
.needs li{padding:5px 0;color:var(--muted)}
.steps{list-style:none;counter-reset:step;padding:0;margin:0}
.steps li{counter-increment:step;position:relative;border-top:1px solid var(--line);padding:24px 0 8px 52px}
.steps li::before{content:counter(step,decimal-leading-zero);position:absolute;top:22px;left:0;font:1.12rem var(--mono);color:var(--amber)}
.steps p{color:var(--muted);overflow-wrap:anywhere}
.guide dl{margin:0 0 26px}
.guide dt{font:.875rem var(--mono);color:var(--muted);margin:20px 0 6px}
.guide dd{margin:0}
.guide aside nav{border-top:1px solid var(--line);padding-top:16px;display:flex;flex-direction:column;gap:12px}
.aside-note{border-top:1px solid var(--line);padding-top:20px;margin-top:24px}
.print-button{padding:10px 15px;font-size:.875rem}
details{border-top:1px solid var(--line);padding:18px 0}
details:last-of-type{border-bottom:1px solid var(--line)}
summary{cursor:pointer;line-height:1.5;font-weight:500}
details p{color:var(--muted);margin:16px 0 3px}
.sources{list-style:none;padding:0}
.sources li{padding:8px 0}
.sources a{color:var(--amber)}
#sources>p{font-size:.9375rem;color:var(--muted)}
.related a{display:inline-block;margin:0 22px 10px 0;color:var(--amber)}
footer{max-width:1240px;margin:auto;border-top:2px solid var(--ink);padding:30px 0 40px;display:grid;grid-template-columns:1fr 1fr;gap:15px 40px;font-size:.875rem;color:var(--muted)}
footer .brand{color:var(--ink)}
footer p{margin:0}
footer>a:last-child{justify-self:end}

@media(max-width:1000px){.directory-grid{grid-template-columns:minmax(0,1fr) 230px;gap:30px}
.guide-grid{gap:35px;grid-template-columns:minmax(0,1fr) 230px}
footer{margin:0 40px}
.intro{gap:30px}
}

@media(max-width:760px){.mast{padding:20px;flex-wrap:wrap;gap:15px}
.mast nav{gap:20px}
main{padding:30px 20px 45px}
.intro,.directory-grid,.guide-grid{display:block}
.intro .lead{max-width:none}
.directory-grid>aside{border-top:1px solid var(--line);padding-top:30px}
.aside-inner{position:static}
.guide aside{border-top:1px solid var(--line);margin-top:35px;padding-top:30px}
.provider{grid-template-columns:minmax(0,1fr) minmax(110px,.7fr) 16px;gap:12px}
.data-grid{gap:22px;grid-template-columns:1fr}
.data-grid>div{border-bottom:1px solid var(--line)}
.data-number{float:left;margin-right:16px}
.filter-wrap{flex:1}
.filter-wrap select{width:100%}
.available-filter{flex:1 1 210px}
footer{margin:0 20px;display:block}
footer>*{display:block;margin-bottom:15px!important}
footer>a:last-child{justify-self:start}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
.provider{transition:none}
}

@media print{*{color:#111!important;background:white!important}
.mast,footer,.directory-tools,.guide aside,.skip,.print-button{display:none}
main{padding:0}
.guide-grid{display:block}
h1{font-size:30pt}
.guide article section{padding-top:16px}
.readiness{border:1px solid #555}
.steps li,details{break-inside:avoid}
details{display:block}
details::details-content{content-visibility:visible}
a{text-decoration:underline}
.sources a::after{content:' (' attr(href) ')';font-size:9pt;overflow-wrap:anywhere}
}
