/* =====================================================================
   Platform static pages: the directory (/), /404.html, /privacy-choices.html.
   Not themed per page: carries the platform default tokens itself
   (same values as platform/build/css.mjs DEFAULT_TOKENS). Light-DOM only;
   no inline <style> anywhere, so a future CSP needs no 'unsafe-inline'.
   ===================================================================== */
:root{--vp-color-brand:#204869;--vp-color-brand-deep:#16334b;--vp-color-brand-contrast:#fff;--vp-color-accent:#00a0df;--vp-color-cta:#567d00;--vp-color-cta-contrast:#fff;
  --vp-color-text:#1e2a35;--vp-color-muted:#5b6b78;--vp-color-bg:#f2f7fa;--vp-color-surface:#fff;--vp-color-border:#c9d6df;--vp-radius:6px;
  --vp-font-body:Roboto,system-ui,-apple-system,'Segoe UI',Arial,sans-serif;--vp-font-heading:'Roboto Condensed',Roboto,'Arial Narrow',Arial,sans-serif;color-scheme:light}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;font-family:var(--vp-font-body);color:var(--vp-color-text);background:var(--vp-color-bg);line-height:1.55;font-size:17px;-webkit-font-smoothing:antialiased}
img{max-width:100%}
a{color:var(--vp-color-brand)}
:focus-visible{outline:3px solid var(--vp-color-accent);outline-offset:2px}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
.top{background:var(--vp-color-brand);color:var(--vp-color-brand-contrast)}
.top .wrap{display:flex;align-items:center;min-height:64px}
.logo{height:38px;width:auto;display:block}
.cta{display:inline-flex;align-items:center;justify-content:center;font:inherit;font-weight:700;font-size:18px;color:var(--vp-color-cta-contrast);background:var(--vp-color-cta);border:0;border-radius:30px;padding:14px 28px;min-height:52px;cursor:pointer;text-decoration:none}
.cta:hover{filter:brightness(.88)}
footer{background:var(--vp-color-brand-deep);color:#c3d3df;font-size:13px;padding:32px 0}
footer img{height:30px;width:auto;margin-bottom:10px}
footer p{max-width:60em}
footer a{color:#fff;margin-right:14px}
h1,h2{font-family:var(--vp-font-heading);font-weight:800;color:var(--vp-color-brand);line-height:1.1}

/* ==== privacy choices ==== */
.pc{max-width:720px;margin:0 auto;padding:48px 20px 56px}
.pc h1{font-size:clamp(28px,4vw,40px);margin:0 0 16px}
.pc h2{font-size:24px;margin:36px 0 10px}
.pc ul{padding-left:1.2em}
.pc li{margin-bottom:6px}
.pc-box{background:var(--vp-color-surface);border:1px solid var(--vp-color-border);border-top:5px solid var(--vp-color-cta);border-radius:var(--vp-radius);padding:20px 22px;margin:24px 0}
.pc-box p{margin:0 0 14px;font-weight:700}
.pc-note{color:var(--vp-color-muted);font-size:14px}

/* ==== 404 ==== */
.nf{max-width:560px;margin:0 auto;padding:72px 20px;text-align:center}
.nf h1{color:var(--vp-color-text);font-size:2rem;margin:0 0 12px}
.nf p{color:var(--vp-color-muted);margin:0 0 28px}

/* ==== directory (/) ==== */
.dir{padding:40px 0 64px}
.dir h1{font-size:clamp(30px,4.6vw,46px);margin:0 0 8px;text-align:center}
.dir .lede{text-align:center;color:var(--vp-color-muted);margin:0 0 32px}
.cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}
.card{background:var(--vp-color-surface);border:1px solid var(--vp-color-border);border-top:5px solid var(--vp-color-cta);border-radius:var(--vp-radius);overflow:hidden;display:flex;flex-direction:column}
.card img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;background:var(--vp-color-border)}
.card .body{padding:18px 20px 22px;display:flex;flex-direction:column;gap:10px;flex:1}
.card h2{font-size:24px;margin:0}
.card p{margin:0;flex:1}
.card .note{font-size:14px;font-weight:700;color:var(--vp-color-muted)}
.card .cta{align-self:flex-start;font-size:16px;min-height:44px;padding:10px 22px}
.empty{text-align:center;color:var(--vp-color-muted)}
