/* Base reset and variables */
:root{
  --bg: #f7fbff;
  --bg-alt:#ffffff;
  --text:#1f2a44;
  --muted:#4a5a7a;
  --brand:#2f6fab;      /* calm blue */
  --brand-2:#7fb3e0;    /* light accent */
  --accent:#f2a365;     /* warm accent */
  --border:#dbe7f3;
  --shadow: 0 6px 16px rgba(31,42,68,0.08);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  color:var(--text);
  background:var(--bg);
  line-height:1.6;
  text-rendering:optimizeLegibility;
}

.container{
  width:min(1100px, 92vw);
  margin:auto;
  padding: 0 0;
}

.skip-link{
  position:absolute;left:-9999px;top:auto;overflow:hidden;
}
.skip-link:focus{position:static;margin:8px;background:#000;color:#fff;padding:8px;border-radius:6px}

.site-header{
  background:var(--bg-alt);
  border-bottom:1px solid var(--border);
  position:sticky;top:0;z-index:10;
}
.site-header .container{
  display:flex;align-items:center;justify-content:space-between;
  padding: 14px 0;
}
.brand{display:flex;gap:12px;align-items:center}
.brand .logo{width:40px;height:40px}
.brand-name{font-weight:700;font-size:1.05rem}
.brand-tag{display:block;color:var(--muted);font-size:.88rem}

.nav a{
  text-decoration:none;color:var(--text);margin-left:16px;padding:8px 10px;border-radius:8px;
}
.nav a:hover,.nav a:focus{background:var(--brand-2);outline:none}

.hero{
  background:linear-gradient(180deg, var(--bg-alt), var(--bg));
  padding: 48px 0 24px;
  border-bottom:1px solid var(--border);
}
.hero-inner{padding: 12px 0 8px;}
.hero h1{margin:0 0 12px;font-size: clamp(1.6rem, 3.5vw, 2.4rem);line-height:1.2}
.lede{font-size:1.1rem;color:var(--muted);max-width:60ch}

.cta-row{margin-top:16px;display:flex;gap:12px;flex-wrap:wrap}
.btn{
  display:inline-block;padding:12px 16px;border-radius:10px;text-decoration:none;
  border:2px solid transparent;font-weight:600;
  box-shadow: var(--shadow);
}
.btn-primary{background:var(--brand);color:white}
.btn-primary:hover,.btn-primary:focus{filter:brightness(.95)}
.btn-secondary{background:white;border-color:var(--brand-2);color:var(--text)}
.btn-secondary:hover,.btn-secondary:focus{background:var(--bg)}

.section{padding:32px 0}
.section.light{background:var(--bg-alt)}

.cards{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));list-style:none;padding:0;margin:16px 0 0}
.card{background:white;border:1px solid var(--border);border-radius:14px;padding:16px;box-shadow:var(--shadow)}
.card h3{margin-top:0}

.notice{margin-top:18px;padding:12px 14px;background:#eef6fd;border:1px solid var(--border);border-radius:12px;color:var(--muted)}

.contact dl{display:grid;grid-template-columns:auto 1fr;gap:8px 16px}
.contact dt{font-weight:700}
.small{font-size:.9rem;color:var(--muted)}

.site-footer{padding:18px 0;border-top:1px solid var(--border);background:var(--bg-alt)}
.site-footer p{margin:6px 0}

@media (prefers-reduced-motion: reduce){
  *{scroll-behavior:auto}
}
