:root {
  --navy: #032653;
  --navy-2: #001d43;
  --blue: #0d58a8;
  --orange: #ff7100;
  --ink: #0a2346;
  --muted: #66758b;
  --line: #dbe4ef;
  --pale: #f4f8fc;
}

html { scroll-behavior: smooth; }
body { margin: 0; background: #fff; color: var(--ink); font-family: "Inter", sans-serif; }
h1, h2, h3, p { margin-top: 0; }
a { color: inherit; text-decoration: none; }
.container-page { width: min(1220px, calc(100% - 32px)); margin-inline: auto; }
.topbar { background: #eef5fb; color: #17528e; font-size: 10px; font-weight: 700; }
.site-header { position: sticky; top: 0; z-index: 50; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.97); backdrop-filter: blur(10px); }
.logo { display: flex; align-items: center; gap: 9px; color: var(--navy); font-weight: 900; line-height: .9; }
.logo-mark { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 10px; background: linear-gradient(135deg,var(--navy),var(--blue)); color: white; font-size: 18px; box-shadow: inset -6px -6px 0 rgba(255,113,0,.9); }
.logo small { display: block; margin-top: 4px; color: #3571a9; font-size: 7px; letter-spacing: .08em; }
.nav-link { font-size: 11px; font-weight: 750; transition: color .2s; }
.nav-link:hover,.nav-link.active { color: var(--orange); }
.btn-primary,.btn-outline { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; gap: 8px; border-radius: 5px; padding: 0 20px; font-size: 11px; font-weight: 850; transition: transform .2s,box-shadow .2s; }
.btn-primary { background: linear-gradient(135deg,var(--orange),#ff8b19); color: white; box-shadow: 0 10px 22px rgba(255,113,0,.2); }
.btn-outline { border: 1px solid #b8c9dc; background: white; color: var(--navy); }
.btn-primary:hover,.btn-outline:hover { transform: translateY(-2px); }
.section-label { color: var(--orange); font-size: 10px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.card { border: 1px solid var(--line); border-radius: 9px; background: white; box-shadow: 0 12px 30px rgba(3,38,83,.055); }
.icon-box { display: grid; width: 40px; height: 40px; place-items: center; border-radius: 7px; background: #eaf3fd; color: var(--blue); font-weight: 900; }
.page-hero { background: linear-gradient(110deg,#f8fbff,#edf4fb); }
.field { width: 100%; box-sizing: border-box; border: 1px solid var(--line); border-radius: 5px; background: white; padding: 11px 12px; color: var(--ink); font: inherit; font-size: 12px; outline: none; }
.field:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(13,88,168,.1); }
.emergency { background: linear-gradient(105deg,#052b5d,#001c3f); color: white; }
.site-footer { background: var(--navy-2); color: white; }
.accordion-answer { display: none; }
.accordion-item.open .accordion-answer { display: block; }
.accordion-item.open [data-accordion-icon] { transform: rotate(45deg); }
.service-card img { transition: transform .35s; }
.service-card:hover img { transform: scale(1.04); }

@media (max-width: 900px) {
  #main-nav { position: absolute; inset: 72px 16px auto; display: none; flex-direction: column; align-items: stretch; padding: 16px; border: 1px solid var(--line); border-radius: 10px; background: white; box-shadow: 0 20px 40px rgba(3,38,83,.16); }
  #main-nav.open { display: flex; }
  #main-nav .nav-link { padding: 9px; }
}
