:root { --navy:#0b2540; --navy2:#123a63; --blue:#2f88b5; --sky:#78c4ea; --ice:#eef7fc; --ink:#14263a; }
html, body { margin:0; min-height:100%; }
body { background:#fff; }
.site { font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; color:var(--ink); line-height:1.55; overflow-x:hidden; }
.site * { box-sizing:border-box; }
.site img { max-width:100%; display:block; }
.top { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 16px; background:#fff; border-bottom:1px solid #e3edf4; position:sticky; top:0; z-index:5; }
.brand img { height:44px; width:auto; aspect-ratio:400/316; }
.top nav { display:flex; gap:14px; }
.top nav a { color:var(--navy); text-decoration:none; font-weight:600; font-size:14px; padding:10px 2px; }
.hero { position:relative; color:#fff; overflow:hidden; background:#0b2540; }
.hero-img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.hero::before { content:''; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg, rgba(8,28,52,.55) 0%, rgba(8,28,52,.88) 100%); }
.hero-in { position:relative; z-index:2; padding:64px 20px 44px; }
.eyebrow { text-transform:uppercase; letter-spacing:.14em; font-size:12px; font-weight:700; color:var(--sky); margin:0 0 12px; }
.hero h1 { font-size:34px; line-height:1.12; margin:0 0 16px; max-width:640px; }
.lead { font-size:17px; max-width:560px; margin:0 0 24px; color:#e4eef7; }
.actions { display:flex; flex-wrap:wrap; gap:12px; }
.btn { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:0 22px; border-radius:999px; background:var(--sky); color:var(--navy); font-weight:700; text-decoration:none; }
.btn.ghost { background:transparent; color:#fff; border:1.5px solid rgba(255,255,255,.7); }
.note { font-size:12px; opacity:.75; margin:26px 0 0; }
.note.dark { color:#5b7389; text-align:center; opacity:1; margin-top:16px; }
.block { padding:48px 20px; max-width:1100px; margin:0 auto; }
.block.navy { max-width:none; background:var(--navy); color:#fff; padding-left:max(20px, calc((100% - 1100px)/2 + 20px)); padding-right:max(20px, calc((100% - 1100px)/2 + 20px)); }
.kicker { text-transform:uppercase; letter-spacing:.14em; font-size:12px; font-weight:700; color:var(--blue); margin:0 0 8px; }
.kicker.light { color:var(--sky); }
.block h2 { font-size:27px; line-height:1.2; margin:0 0 24px; color:var(--navy); }
.navy h2 { color:#fff; }
.cards { display:grid; gap:18px; grid-template-columns:1fr; }
.card { background:#fff; border:1px solid #e0ebf3; border-radius:16px; overflow:hidden; box-shadow:0 6px 20px rgba(11,37,64,.07); }
.card img { width:100%; height:auto; aspect-ratio:16/10; object-fit:cover; }
.card div { padding:16px 18px 20px; }
.card h3 { margin:0 0 6px; font-size:19px; color:var(--navy); }
.card p { margin:0; color:#41576b; font-size:15px; }
.lead2 { font-size:17px; max-width:680px; margin:0 0 24px; }
.pillars { list-style:none; margin:0; padding:0; display:grid; gap:14px; }
.pillars li { background:var(--navy2); border-radius:14px; padding:16px 18px; display:flex; flex-direction:column; gap:4px; }
.pillars b { color:var(--sky); font-size:17px; }
.pillars span { color:#d3e2ef; font-size:15px; }
.steps { list-style:none; margin:0; padding:0; display:grid; gap:18px; }
.steps li { display:flex; gap:16px; align-items:flex-start; }
.num { flex:none; width:40px; height:40px; border-radius:50%; background:var(--blue); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:800; }
.steps h3 { margin:2px 0 4px; font-size:18px; color:var(--navy); }
.steps p { margin:0; color:#41576b; }
.contact { text-align:center; background:var(--ice); max-width:none; padding-left:20px; padding-right:20px; }
.contact .lead2 { margin-left:auto; margin-right:auto; }
.contact .btn { background:var(--navy); color:#fff; }
.foot { background:#06182b; color:#a9c0d3; text-align:center; padding:28px 20px; font-size:13px; }
.foot img { height:48px; margin:0 auto 10px; filter:brightness(1.4); }
.foot p { margin:0; }
@media (min-width:768px) {
  .top { padding:12px 40px; } .brand img { height:54px; } .top nav { gap:28px; } .top nav a { font-size:15px; }
  .hero-in { padding:120px 40px 80px; max-width:1100px; margin:0 auto; } .hero h1 { font-size:54px; } .lead { font-size:20px; }
  .block { padding:80px 40px; } .block h2 { font-size:38px; }
  .cards { grid-template-columns:repeat(2,1fr); gap:24px; }
  .pillars { grid-template-columns:repeat(3,1fr); }
  .steps { grid-template-columns:repeat(3,1fr); }
  .steps li { flex-direction:column; }
}

.faq { display:grid; gap:12px; max-width:760px; }
.faq details { background:var(--ice); border:1px solid #d6e6f1; border-radius:14px; padding:0 18px; }
.faq summary { cursor:pointer; list-style:none; font-weight:700; color:var(--navy); padding:16px 0; font-size:16px; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary::after { content:'+'; float:right; font-size:20px; color:var(--blue); }
.faq details[open] summary::after { content:'\2212'; }
.faq p { margin:0 0 16px; color:#41576b; font-size:15px; }
.top nav { flex-wrap:wrap; }
.foot img { width:auto; }
@media (max-width:480px) { .top { padding:8px 12px; } .top nav { gap:10px; flex-wrap:nowrap; } .top nav a { font-size:13px; } .brand img { height:38px; } }

.strip { background:var(--navy); color:#fff; } .strip ul { list-style:none; margin:0 auto; padding:18px 20px; max-width:1100px; display:grid; gap:12px; grid-template-columns:1fr 1fr; }
.strip b { display:block; color:var(--sky); font-size:15px; } .strip span { font-size:12.5px; color:#c9dbea; }
.cards3 { display:grid; gap:14px; grid-template-columns:1fr; } .mini { background:var(--ice); border:1px solid #d6e6f1; border-radius:14px; padding:18px; border-top:4px solid var(--blue); } .mini h3 { margin:0 0 6px; color:var(--navy); font-size:18px; } .mini p { margin:0; color:#41576b; font-size:15px; }
.tags { list-style:none; margin:0 0 20px; padding:0; display:flex; flex-wrap:wrap; gap:10px; } .tags li { background:var(--navy2); border:1px solid #2a5a8a; border-radius:999px; padding:8px 16px; font-size:15px; color:#e4eef7; }
@media (min-width:768px){ .strip ul { grid-template-columns:repeat(4,1fr); padding:24px 40px; } .cards3 { grid-template-columns:repeat(4,1fr); } .steps.five { grid-template-columns:repeat(5,1fr); } .steps.five li { flex-direction:column; } }

@media (min-width:768px){ .strip ul { grid-template-columns:repeat(3,1fr); gap:32px; } }
@media (max-width:767px){ .strip ul { grid-template-columns:1fr; } }

.contact .mail { margin-top:16px; }
.contact .mail a { color:var(--navy); font-weight:700; }
.foot a { color:#fff; }
