
:root{
  --blue:#0A2463; --navy:#0B1E4B; --gold:#FFCC00;
  --ink:#111; --paper:#fff; --slate:#6B7280;
  --radius:16px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  color:var(--ink);background:var(--paper);line-height:1.7;font-size:17px}
a{color:var(--blue);text-decoration:underline}
a.btn{text-decoration:none}
:where(a,button,[role="button"],input,select,textarea){outline:none;scroll-margin-top:1.5rem}
:where(a,button,[role="button"],input,select,textarea):focus{outline:3px solid var(--gold);outline-offset:2px;box-shadow:0 0 0 4px rgba(255,204,0,.35)}
.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{position:fixed;left:1rem;top:1rem;background:#fff;color:#000;border:2px solid var(--blue);padding:.5rem .75rem;z-index:9999}
.wrap{max-width:1100px;margin:0 auto;padding:0 1rem}
.header{background:var(--blue);color:#fff;border-bottom:4px solid var(--gold)}
.header-inner{display:flex;align-items:center;gap:.75rem;padding:.9rem 0}
.brand{display:flex;align-items:center;gap:.75rem}
.mark{width:44px;height:44px;border-radius:999px;background:var(--gold);color:var(--blue);display:grid;place-items:center;font-weight:800}
.brand h1{font-size:1.35rem;margin:0}
.brand small{display:block;color:var(--gold);font-weight:700}
.scholar-ribbon{margin-left:auto;display:inline-flex;align-items:center;gap:.35rem;background:linear-gradient(90deg,#0B1E4B,#122a64);
  color:#fff;padding:.4rem .6rem;border-radius:999px;border:1px solid rgba(255,255,255,.15)}
.scholar-ribbon a{display:inline-flex;align-items:center;gap:.35rem;color:#fff;text-decoration:none}
.hero-hue{background:var(--navy);color:#fff;padding:1.4rem 0;position:relative}
.hero-bg{position:absolute;inset:0;pointer-events:none;z-index:0;background-image:
  radial-gradient(60% 40% at 50% 0%,rgba(255,255,255,.08),transparent 60%),
  radial-gradient(40% 30% at 25% 30%,rgba(255,255,255,.06),transparent 60%),
  radial-gradient(40% 30% at 75% 30%,rgba(255,255,255,.06),transparent 60%);opacity:.9}
@media (prefers-reduced-motion:no-preference){
  .hero-bg{animation:float 22s ease-in-out infinite}
  @keyframes float{0%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-14px,0)}100%{transform:translate3d(0,0,0)}}
}
@media (prefers-reduced-motion:reduce){.hero-bg{animation:none}}
.hero .panel{position:relative;z-index:1;max-width:880px;margin:1.5rem auto;background:#fff;color:#111;border:1px solid #ececf1;border-radius:var(--radius);
  padding:clamp(1rem,3vw,1.5rem);box-shadow:0 4px 24px rgba(0,0,0,.06)}
h2{font-size:clamp(1.35rem,2.8vw,1.75rem);margin:.2rem 0;letter-spacing:.006em}
.lede{color:#e5e7eb;max-width:72ch;margin:.25rem 0 0}
.section{padding:clamp(1rem,3vw,1.4rem) 0}
.card{background:#fff;border:1px solid #ececf1;border-radius:var(--radius);padding:clamp(1rem,2.6vw,1.25rem);box-shadow:0 4px 24px rgba(0,0,0,.05)}
.grid-3{display:grid;gap:clamp(.8rem,2vw,1rem);grid-template-columns:1fr}
@media(min-width:860px){.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}}
.pills{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}
@media(min-width:760px){.pills{grid-template-columns:repeat(4,minmax(0,1fr))}}
.pill{border:1px solid #e5e7eb;border-radius:999px;padding:.6rem .85rem;text-align:center;background:#fff}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:12px;padding:.9rem 1.2rem;font-weight:700;min-height:44px;min-width:44px;cursor:pointer}
.btn-primary{background:var(--gold);color:var(--blue);border:2px solid transparent}
.btn-primary:hover{filter:brightness(.95) saturate(1.05)}
.btn-outline{background:#fff;color:var(--blue);border:2px solid var(--blue)}
form{display:grid;gap:.75rem;margin-top:.5rem}
label{font-weight:600}
input,select,textarea{width:100%;border:1px solid #d1d5db;border-radius:10px;padding:.75rem .85rem;font:inherit;background:#fff}
.help{color:var(--slate);font-size:.95rem}
.consent{display:flex;gap:.5rem;align-items:flex-start}
small.muted{color:var(--slate)}
[role="alert"]{padding:.55rem .8rem;border-radius:10px;margin:.35rem 0}
[aria-live="polite"].error{background:#FEF2F2;border:1px solid #FCA5A5;color:#7F1D1D}
[aria-live="polite"].success{background:#F0FDF4;border:1px solid #86EFAC;color:#065F46}
.footer{background:var(--blue);color:#fff;margin-top:1rem;padding:1rem 0}
.footer .grid{display:grid;gap:1rem;grid-template-columns:1fr}
@media(min-width:760px){.footer .grid{grid-template-columns:1.2fr .8fr .8fr}}
/* Logo visibility chips on navy */
.badge-wrap{display:inline-flex;align-items:center;gap:.5rem;background:#fff;color:#0A2463;border-radius:12px;padding:.35rem .5rem;border:1px solid rgba(0,0,0,.08)}
.badge{height:30px;width:auto}
.footer .seal a{display:inline-flex;align-items:center;gap:.4rem;background:#fff;color:#0A2463;border-radius:999px;padding:.25rem .5rem;border:1px solid rgba(0,0,0,.08)}
.footer a{color:#FFDD55;text-decoration:underline}
.footer a:hover{filter:brightness(1.05)}
