
:root {
  --brand-primary: #0A426E;
  --brand-accent: #E8A820;
  --brand-dark: #0B1C2A;
  --brand-light: #F5FAFF;
  --maxw: 1100px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin:0; font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif;
  color: #0b1c2a; background: #ffffff;
}
header.site-header {
  background: linear-gradient(180deg, var(--brand-primary), #0d3b64 60%);
  color: white;
}
.wrap { max-width: var(--maxw); margin: 0 auto; padding: 0 18px; }
.topbar { display:flex; align-items:center; gap:18px; padding:16px 0; }
.topbar img.logo { height: 56px; width:auto; }
.topbar nav a {
  color:#fff; text-decoration:none; margin-right:16px; font-weight:600;
}
.hero {
  position: relative; min-height: 56vh; background: #0a426e;
  background-image: url('/assets/img/cover.jpg'); background-size: cover; background-position:center;
}
.hero .overlay {
  backdrop-filter: blur(0.5px);
  background: rgba(0,0,0,0.15);
  min-height: 56vh;
  display:flex; align-items:end;
}
.hero h1 { font-size: clamp(2rem, 3vw, 3.25rem); color: white; margin: 0 0 10px; }
.hero p { color: #f1f7ff; font-size: clamp(1rem, 2vw, 1.25rem); margin: 0 0 24px; }
.section { padding: 48px 0; }
.section.alt { background: #f7fbff; }
h2.section-title { font-size: 1.8rem; margin-top:0; margin-bottom: 16px; color: var(--brand-primary); }
.card {
  background:white; border:1px solid #e8eef6; border-radius: 14px; padding: 18px; box-shadow: 0 6px 22px rgba(16,40,66,0.06);
}
.cta { display:flex; gap: 14px; flex-wrap: wrap; }
.btn {
  display:inline-block; padding: 12px 18px; border-radius: 12px; border: 2px solid var(--brand-primary);
  text-decoration:none; font-weight:700;
}
.btn.primary { background: var(--brand-primary); color:white; border-color: var(--brand-primary); }
.btn.outline { background: transparent; color: var(--brand-primary); }
footer.site-footer {
  background:#07131d; color:#cde2ff; padding: 32px 0; font-size: 0.95rem;
}
footer a { color:#cde2ff; }
.small { font-size:0.9rem; color:#334b62; }
.notice { background:#fff7e6; border:1px solid #ffe3a5; color:#8a5a00; padding:10px 12px; border-radius:10px; }
form.contact-form label { display:block; margin:10px 0 6px; font-weight:600;}
form.contact-form input, form.contact-form textarea {
  width:100%; padding:12px 14px; border:1px solid #d8e4f2; border-radius: 10px; font: inherit;
}
form.contact-form button { margin-top: 10px; }
