:root{--ink:#172033;--muted:#5c667a;--paper:#fbfaf7;--surface:#fff;--accent:#176b87;--line:#d9dde5;--max:70rem;color:var(--ink);background:var(--paper);font-synthesis:none;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;line-height:1.65}a{color:var(--accent);text-underline-offset:.2em}a:focus-visible{outline:.2rem solid var(--accent);outline-offset:.2rem}.shell{width:min(calc(100% - 2rem), var(--max));margin-inline:auto}.skip-link{z-index:10;background:var(--ink);color:#fff;padding:.7rem 1rem;position:fixed;top:-5rem;left:1rem}.skip-link:focus{top:1rem}.site-header,.site-footer{border-block:1px solid var(--line);background:var(--surface)}.site-header{border-top:0}.header-inner,.footer-inner{justify-content:space-between;align-items:center;gap:1.5rem;min-height:4.5rem;display:flex}.brand{color:var(--ink);font-weight:850;text-decoration:none}nav ul{flex-wrap:wrap;gap:.5rem 1.2rem;margin:0;padding:0;list-style:none;display:flex}nav a{font-weight:700;text-decoration:none}main{min-height:calc(100vh - 13rem);padding-block:clamp(2.5rem,7vw,6rem)}.hero{max-width:60rem;padding-block:clamp(1rem,5vw,4rem)}.eyebrow{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;font-size:.8rem;font-weight:850}h1,h2{text-wrap:balance;line-height:1.1}h1{letter-spacing:-.04em;margin:.6rem 0 1.2rem;font-size:clamp(2.5rem,8vw,5.5rem)}h2{margin-top:3rem;font-size:clamp(1.6rem,4vw,2.4rem)}.lede{color:var(--muted);font-size:clamp(1.1rem,2vw,1.35rem)}.muted{color:var(--muted)}.hero-actions{flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;margin-top:2rem;display:flex}.button{background:var(--ink);color:#fff;border-radius:.55rem;padding:.8rem 1.1rem;font-weight:800;text-decoration:none;display:inline-block}.button-secondary{background:var(--accent)}.text-link{font-weight:800}.section-block{margin-top:clamp(3rem,7vw,6rem)}.card-grid{grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem;display:grid}.card{border:1px solid var(--line);background:var(--surface);border-radius:.8rem;padding:1.4rem}.card h2{margin-top:0;font-size:1.25rem}.step{color:var(--accent);letter-spacing:.12em;font-size:.8rem;font-weight:850}.prose{max-width:48rem}.page-heading{max-width:54rem}.directory-tools{margin-top:3rem}.filter-bar{grid-template-columns:minmax(0,2fr) minmax(12rem,1fr);gap:1rem;display:grid}.filter-bar label{gap:.4rem;font-weight:800;display:grid}.filter-bar input,.filter-bar select{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--ink);font:inherit;border-radius:.55rem;padding:.75rem .85rem}.filter-bar input:focus-visible,.filter-bar select:focus-visible{outline:.2rem solid var(--accent);outline-offset:.15rem}.result-count{color:var(--muted);margin-block:1.5rem 0}.directory-grid{margin-top:1rem}.country-card[hidden],.program-card[hidden]{display:none}.program-filters{grid-template-columns:minmax(0,2fr) repeat(2,minmax(10rem,1fr))}.card-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.5rem 1rem;font-size:.85rem;display:flex}.status{border-radius:999px;padding:.2rem .65rem;font-weight:800}.status-directory{color:#475166;background:#eef0f4}.status-overview{color:#135d75;background:#e6f2f5}.status-deep{color:#28612f;background:#e8f3e8}.empty-state,.notice{border:1px solid var(--line);background:var(--surface);border-radius:.8rem;padding:1.3rem}.notice h2{margin-top:0;font-size:1.3rem}.home-notice{margin-top:2rem}.breadcrumbs{color:var(--muted);flex-wrap:wrap;gap:.5rem;font-size:.9rem;display:flex}.country-detail .card-meta{margin-block:1rem}.source-list{gap:1rem;padding-left:1.2rem;display:grid}.source-list li{padding-left:.3rem}.source-list span{color:var(--muted);font-size:.9rem;display:block}.requirement-list{gap:1rem;display:grid}.requirement{border-top:1px solid var(--line);padding-top:1rem}.requirement p{margin-bottom:0}.requirement-status{border-radius:999px;padding:.15rem .55rem;font-weight:800}.requirement-required{color:#8a2d22;background:#fbe9e7}.requirement-not-required{color:#28612f;background:#e8f3e8}.requirement-conditional{color:#76520b;background:#fff3d8}.requirement-unknown{color:#475166;background:#eef0f4}.matcher{gap:1.2rem;max-width:48rem;margin-top:2.5rem;display:grid}.question{border:1px solid var(--line);background:var(--surface);border-radius:.8rem;gap:.65rem;margin:0;padding:1.2rem;display:grid}fieldset.question{grid-template-columns:repeat(3,max-content)}.question legend{grid-column:1/-1;width:100%;padding:0 0 .65rem}.question select{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--ink);font:inherit;border-radius:.55rem;padding:.75rem .85rem}.question input{accent-color:var(--accent)}.matcher .button{width:max-content;font:inherit;cursor:pointer;border:0}.matcher-privacy{color:var(--muted);font-size:.9rem}.matcher-results{max-width:48rem;margin-top:4rem;scroll-margin-top:2rem}.result-list{gap:1rem;display:grid}.match-result{border:1px solid var(--line);background:var(--surface);border-left-width:.4rem;border-radius:.8rem;padding:1.3rem}.match-result h3{margin:.25rem 0 1rem;font-size:1.35rem}.match-result h4{margin-bottom:.4rem}.match-label{letter-spacing:.05em;text-transform:uppercase;font-size:.8rem;font-weight:850}.match-likely{border-left-color:#34723c}.match-likely .match-label{color:#28612f}.match-unknown{border-left-color:#b27a10}.match-unknown .match-label{color:#76520b}.match-fail{border-left-color:#a43b2f}.match-fail .match-label{color:#8a2d22}.text-button{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;padding:.7rem 0;font-weight:800;text-decoration:underline}.disclaimer{border-top:1px solid var(--line);color:var(--muted);margin-top:3rem;padding-top:1rem;font-size:.9rem}.footer-inner nav{gap:1rem;display:flex}.ad-placement{border-block:1px solid var(--line);background:var(--surface);width:100%;min-height:7rem;margin-block:3rem;padding-block:1rem;overflow:hidden}.ad-label{color:var(--muted);letter-spacing:.08em;text-align:center;text-transform:uppercase;margin-bottom:.5rem;font-size:.7rem;display:block}@media (width<=44rem){.header-inner,.footer-inner{flex-direction:column;align-items:flex-start;padding-block:1rem}.card-grid,.filter-bar,fieldset.question{grid-template-columns:1fr}}
