:root{
  --brand-50:#eaf0f8;--brand-400:#5c84c0;--brand-500:#4b71ac;--brand-600:#365F91;--brand-700:#28466f;
  --accent-400:#19c7b5;--accent-500:#13b8a6;--accent-600:#0e8f83;--highlight:#f0b429;
  --bg:#fff;--bg-alt:#f7f9fc;--text:#1c2128;--text-weak:#4e5b6b;--text-strong:#12161c;--border:#e4e8ee;--shadow:0 10px 30px rgba(16,24,40,.08)
}
*{box-sizing:border-box}html,body{height:100%}
body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,'Noto Sans',sans-serif;color:var(--text);background:var(--bg);line-height:1.6}

/* Typography */
h1,h2,h3{color:var(--text-strong);line-height:1.25}
h1{font-size:clamp(1.8rem, 1.1rem + 2.8vw, 3rem); }
/*h1{font-size:clamp(1.8rem,1.1rem + 2.8vw,3rem);font-weight:700}*/
h2{font-size:clamp(1.4rem,1rem + 1.2vw,2.1rem);font-weight:700}
h3{font-size:1.1rem;font-weight:700}
.lead{font-size:clamp(1rem,0.95rem + .4vw,1.15rem);color:var(--text-weak)}

/* Layout helpers */
.container{width:min(1120px,92%);margin:0 auto}
.section{padding:64px 0}
.section.alt{background:var(--bg-alt)}
.section-header{text-align:center;margin-bottom:28px}
.section-header p{color:var(--text-weak)}
.grid-2{display:grid;grid-template-columns:1.1fr 1fr;gap:24px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media (max-width: 960px){.grid-2,.grid-3{grid-template-columns:1fr}}

/* Cards & utilities */
.card{background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);padding:18px}
.pill-points{display:flex;gap:10px;padding:0;list-style:none;margin-top:14px;flex-wrap:wrap}
.pill-points li{background:#fff;border:1px solid var(--border);border-radius:999px;padding:8px 12px}
.link{color:var(--brand-600);font-weight:600}
.center{text-align:center}
.note{color:var(--text-weak);font-size:.95rem}

/* Header & nav */
.skip-link{position:absolute;left:-999px;top:-999px}
.skip-link:focus{left:8px;top:8px;background:#fff;padding:8px;border-radius:8px;border:1px solid var(--border)}
.site-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--border)}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:10px 0;gap:12px}
.brand{display:flex;align-items:center;gap:10px}
.brand img { height: 104px; max-width: 280px; width: auto; }
/*.brand img{height:64px;max-width:240px;width:auto}*/
.nav ul{list-style:none;display:flex;gap:14px;margin:0;padding:0}
.nav a{padding:10px 8px;border-radius:8px;color:var(--text);text-decoration:none}
.nav a:hover{background:var(--brand-50)}
.menu-toggle{display:none}
@media (max-width: 960px){
  .menu-toggle{display:inline-flex;border:1px solid var(--border);background:#fff;border-radius:10px;padding:10px}
  .menu-icon::before{content:"☰";font-size:18px}
  .nav ul{display:none;position:fixed;right:4%;top:68px;background:#fff;border:1px solid var(--border);border-radius:12px;padding:12px;box-shadow:var(--shadow);min-width:220px}
  .nav ul.open{display:block}
}

/* Hero */
.hero{background:linear-gradient(180deg,var(--brand-50),#fff 45%)}
.hero .card{margin-top:8px}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border-radius:10px;border:1px solid transparent;font-weight:600}
.btn-primary{background:var(--brand-600);color:#fff}
.btn-primary:hover{background:var(--brand-700)}
.btn-outline{background:#fff;border-color:var(--brand-600);color:var(--brand-700)}
.btn-outline:hover{background:var(--brand-50)}

/* Forms */
.form .form-row{margin-bottom:14px}
.form label{display:block;font-weight:600;margin-bottom:6px}
.form input,.form select,.form textarea{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--text)}
.form .error{color:#b42318;min-height:18px;display:block;font-size:.9rem}
.form .form-status{margin-top:10px;color:var(--text-weak)}

/* Footer */
.footer{border-top:1px solid var(--border);background:#fff}
.footer-inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:18px 0}
.footer-inner nav{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
/*@media (max-width:600px){.footer-inner{grid-template-columns:1fr}.footer-inner nav{justify-content:flex-start}}*/

@media (max-width: 960px) {.grid-2, .grid-3 { grid-template-columns: 1fr; }}

