:root{
  --navy:#0B1F3A; --teal:#1FA9A6; --teal-dark:#0d6d6a; --maroon:#611850; --cream:#F6F2EA; --white:#fff;
  --border:#E6DED3; --text:#0B1F3A; --muted:rgba(11,31,58,.68); --shadow:0 18px 40px rgba(11,31,58,.08);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--cream);color:var(--text);line-height:1.55}
a{color:inherit}
.container{max-width:1160px;margin:0 auto;padding:0 20px}

/* Header + footer */
.site-header{background:var(--navy);color:#fff;position:sticky;top:0;z-index:50}
.site-header .inner{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 20px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;font-weight:900;text-decoration:none;color:#fff;font-size:1.08rem}
.brand .dot{width:10px;height:10px;border-radius:999px;background:var(--teal);box-shadow:0 0 0 3px rgba(31,169,166,.18)}
.site-nav{display:flex;gap:18px;flex-wrap:wrap;font-weight:800;font-size:.95rem}
.site-nav a{text-decoration:none;opacity:.88}
.site-nav a:hover,.site-nav a[aria-current=page]{opacity:1;color:var(--teal)}
.site-footer{background:var(--navy);color:#fff;margin-top:48px}
.site-footer .inner{display:flex;justify-content:space-between;gap:20px;padding:30px 20px;flex-wrap:wrap}
.site-footer .links{display:flex;gap:16px;flex-wrap:wrap;font-weight:800}
.site-footer a{text-decoration:none;opacity:.86}.site-footer a:hover{opacity:1;color:var(--teal)}
.site-footer .small{opacity:.72;font-size:.9rem;margin-top:6px}

/* Building blocks */
main{padding:28px 0 20px}
.card{background:var(--white);border:1px solid var(--border);border-radius:22px;padding:28px;box-shadow:var(--shadow)}
.kicker{display:inline-flex;align-items:center;gap:8px;font-weight:900;color:rgba(11,31,58,.8);margin:0 0 10px;font-size:.92rem}
.kicker:before{content:"";width:9px;height:9px;border-radius:999px;background:var(--maroon)}
h1{font-size:clamp(2rem,4.4vw,3.2rem);line-height:1.1;letter-spacing:-.5px;margin:0 0 12px}
h2{font-size:clamp(1.35rem,2.2vw,1.8rem);margin:0 0 10px;letter-spacing:-.2px}
h3{font-size:1.08rem;margin:0 0 6px}
p{margin:0 0 12px;color:var(--muted)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:12px 18px;border-radius:999px;border:1px solid transparent;text-decoration:none;cursor:pointer;font:inherit;font-weight:900;transition:filter .12s,border-color .12s}
.btn-primary{background:var(--teal);color:#062321}.btn-primary:hover{filter:brightness(.96)}
.btn-dark{background:var(--navy);color:#fff}
.btn-outline{background:transparent;border-color:var(--navy);color:var(--navy)}.btn-outline:hover{border-color:var(--teal);color:var(--teal)}
.btn-sm{padding:8px 13px;font-size:.88rem}
.btn:disabled{opacity:.55;cursor:not-allowed}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.pill{display:inline-block;font-size:.76rem;font-weight:800;padding:5px 10px;border-radius:999px;border:1px solid var(--border);background:rgba(246,242,234,.7);white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.pill.teal{background:rgba(31,169,166,.1);border-color:rgba(31,169,166,.3);color:var(--teal-dark)}
.pill.maroon{background:rgba(97,24,80,.08);border-color:rgba(97,24,80,.2);color:var(--maroon)}
.input,.select{width:100%;padding:13px 14px;border-radius:14px;border:1px solid var(--border);font:inherit;font-size:1rem;background:#fff;color:var(--text);outline:none}
.input:focus,.select:focus{border-color:rgba(31,169,166,.9);box-shadow:0 0 0 4px rgba(31,169,166,.16)}
.notice{background:rgba(31,169,166,.08);border:1px solid rgba(31,169,166,.25);border-radius:14px;padding:14px 16px;color:var(--navy)}
.warn{background:rgba(97,24,80,.06);border:1px solid rgba(97,24,80,.2);border-radius:12px;padding:10px 12px;font-size:.88rem;color:var(--maroon)}
.muted{color:var(--muted)}
.hidden{display:none !important}
@media (max-width:640px){.card{padding:20px}.site-nav{gap:12px;font-size:.9rem}}
