:root {
  --navy:#073451;
  --deep:#062d3c;
  --teal:#0787a8;
  --coral:#ff6546;
  --ink:#0c304b;
  --muted:#58707d;
  --cream:#fbf8f1;
  --line:#dbe7e8;
  --white:#fff;
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  margin:0;
  color:var(--ink);
  background:var(--cream);
  font-family:"DM Sans",system-ui,sans-serif;
  line-height:1.6;
}
a { color:inherit; }
.shell { width:min(1180px,calc(100% - 48px)); margin:auto; }

.site-head {
  position:sticky;
  top:0;
  z-index:20;
  background:rgba(255,255,255,.97);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(12px);
}
.nav { min-height:76px; display:flex; align-items:center; gap:24px; }
.logo img { width:230px; display:block; }
.nav nav { display:flex; gap:22px; margin-left:auto; }
.nav nav a { text-decoration:none; font-weight:700; font-size:.93rem; white-space:nowrap; }
.actions { display:flex; gap:10px; }
.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:11px 18px;
  border-radius:11px;
  text-decoration:none;
  font-weight:800;
  border:1px solid var(--navy);
}
.button.primary { color:#fff; background:var(--navy); }
.button.light { background:#fff; }

.hero {
  padding:58px 0 54px;
  background:linear-gradient(115deg,#fff 0 55%,#e6f4f4 55%);
}
.hero-grid {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(420px,.92fr);
  gap:52px;
  align-items:center;
}
.eyebrow {
  color:var(--teal);
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.hero h1,
.page-hero h1 {
  font-family:Manrope,sans-serif;
  font-size:clamp(2.65rem,4.4vw,4rem);
  line-height:1.06;
  margin:14px 0 20px;
  letter-spacing:-.045em;
}
.hero p,
.page-hero p { font-size:1.08rem; color:var(--muted); max-width:650px; }
.hero-actions { display:flex; gap:12px; margin:27px 0 25px; }
.facts { display:flex; flex-wrap:wrap; gap:10px 22px; font-weight:700; font-size:.9rem; }
.facts span:before { content:"✓"; color:var(--teal); margin-right:7px; }
.hero img {
  width:100%;
  aspect-ratio:16/10;
  object-fit:cover;
  object-position:center;
  border-radius:22px;
  box-shadow:0 20px 48px #0734511f;
}
.hero picture { display:block; width:100%; }

.section { padding:60px 0; }
.section.white { background:#fff; }
.section h2 {
  font:800 clamp(1.85rem,3vw,2.65rem)/1.16 Manrope,sans-serif;
  margin:9px 0 16px;
  letter-spacing:-.025em;
}
.lead { color:var(--muted); font-size:1.04rem; max-width:740px; }
.cards { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:30px; }
.card { background:#fff; border:1px solid var(--line); border-radius:17px; padding:23px; min-height:0; }
.card h3 { margin:5px 0 8px; font:800 1.14rem Manrope; }
.card p { color:var(--muted); margin:0; }
.metric { font:800 1.75rem Manrope; color:var(--teal); }

.split { display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:center; }
.split img {
  width:min(100%,450px);
  aspect-ratio:1;
  object-fit:cover;
  border-radius:22px;
  justify-self:center;
  box-shadow:0 15px 35px #07345114;
}
.split picture {
  display:block;
  width:min(100%,450px);
  justify-self:center;
}
.split picture img { width:100%; }
.split > div { max-width:560px; }

.table-wrap { overflow:auto; background:#fff; border:1px solid var(--line); border-radius:16px; }
table { border-collapse:collapse; width:100%; min-width:620px; }
th,td { text-align:left; padding:12px 15px; border-bottom:1px solid var(--line); }
th { background:#eef7f6; }
.notice { padding:17px 19px; border-left:5px solid var(--coral); background:#fff3ee; border-radius:10px; margin:23px 0; }

.page-hero { padding:58px 0 40px; background:#e9f5f4; }
.page-hero h1 { font-size:clamp(2.25rem,4.3vw,3.65rem); }
.article { max-width:820px; }
.article h2 { margin-top:38px; }
.article h3 { font:800 1.18rem Manrope; margin-top:25px; }
.article li { margin:7px 0; }
.source { font-size:.9rem; color:var(--muted); }

.price {
  max-width:860px;
  margin:28px auto;
  background:#fff;
  border:1px solid var(--line);
  border-radius:21px;
  padding:32px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:34px;
}
.amount { font:800 3rem Manrope; white-space:nowrap; }
.faq details { background:#fff; border:1px solid var(--line); border-radius:13px; padding:15px 18px; margin:9px 0; }
.faq summary { font-weight:800; cursor:pointer; }

.cta {
  width:min(100%,980px);
  margin:auto;
  background:var(--navy);
  color:#fff;
  border-radius:18px;
  padding:26px 30px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.cta h2 { margin:0; font-size:clamp(1.55rem,2.4vw,2.25rem); }
.cta .button { background:#fff; color:var(--navy); flex:0 0 auto; }

footer { background:var(--deep); color:#dcebef; padding:44px 0 22px; }
.foot { display:grid; grid-template-columns:1.6fr repeat(3,1fr); gap:42px; }
.foot strong { color:#fff; }
.foot a { display:block; text-decoration:none; margin:7px 0; color:#a9c0c8; }
.foot p { color:#a9c0c8; max-width:340px; }
.footer-brand { display:flex; align-items:center; gap:12px; margin-bottom:22px; color:#fff; font-size:1.1rem; }
.footer-brand img { width:45px; height:45px; object-fit:contain; }
.footer-tagline { font-size:1.15rem; margin:0 0 4px; color:#fff!important; font-weight:800; }
.legal-line { border-top:1px solid #ffffff22; margin-top:30px; padding-top:18px; font-size:.86rem; }

@media (max-width:900px) {
  .nav { flex-wrap:wrap; padding:13px 0; }
  .logo img { width:205px; }
  .nav nav { order:3; width:100%; overflow:auto; margin:0; padding-bottom:4px; }
  .actions { margin-left:auto; }
  .hero { background:#fff; }
  .hero-grid,.split,.price { grid-template-columns:1fr; }
  .hero-grid { gap:34px; }
  .hero img { max-width:620px; justify-self:center; }
  .cards { grid-template-columns:1fr 1fr; }
  .foot { grid-template-columns:1.4fr 1fr 1fr; }
  .foot > div:last-child { grid-column:2; }
}

@media (max-width:600px) {
  .shell { width:min(100% - 28px,1180px); }
  .nav { gap:9px; }
  .logo img { width:172px; }
  .nav nav { gap:16px; font-size:.9rem; }
  .nav .actions .light { display:none; }
  .nav .actions .primary { min-height:40px; padding:8px 11px; font-size:.84rem; }
  .hero { padding:40px 0 42px; }
  .hero h1 { font-size:2.55rem; }
  .hero-actions { flex-direction:column; }
  .hero-actions .button { width:100%; }
  .hero img { aspect-ratio:4/3; border-radius:17px; }
  .facts { gap:8px 16px; }
  .section { padding:46px 0; }
  .cards,.foot { grid-template-columns:1fr; }
  .split { gap:28px; }
  .split img { width:min(100%,360px); }
  .split picture { width:min(100%,360px); }
  .price { padding:23px; }
  .amount { font-size:2.55rem; }
  .cta { padding:23px; align-items:flex-start; flex-direction:column; }
  .cta .button { width:100%; }
  .foot > div:last-child { grid-column:auto; }
}
