:root{
  --navy:#12304f;
  --ink:#1d3a57;
  --soft:#58708a;
  --sky1:#bfe3f7;
  --sky2:#eaf6fd;
  --teal:#0b7a75;
  --teal-d:#075c58;
  --coral:#ff8a5b;
  --coral-d:#d9663a;
  --line:#d6e7f3;
  --white:#fff;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Nunito","Segoe UI",Helvetica,Arial,sans-serif;color:var(--ink);line-height:1.75;background:#fff;font-size:17px}
a{color:var(--teal-d)}
a:focus-visible,.btn:focus-visible{outline:3px solid var(--coral);outline-offset:3px}
img{max-width:100%;height:auto}

/* top bar */
.topbar{background:var(--navy);color:#fff}
.topbar-in{max-width:1120px;margin:0 auto;padding:12px 24px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}
.logo{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;font-weight:800;font-size:1.05rem}
.logo img{height:42px;width:auto;background:#fff;border-radius:8px;padding:3px}
.menu{display:flex;flex-wrap:wrap;gap:4px}
.menu a{color:#d9ecfa;text-decoration:none;font-weight:700;padding:8px 14px;border-radius:8px;font-size:.97rem}
.menu a:hover{background:rgba(255,255,255,.12);color:#fff}
.menu a[aria-current="page"]{background:#fff;color:var(--navy)}

/* hero: split layout with scalloped cloud edge */
.hero{position:relative;background:linear-gradient(180deg,var(--sky1) 0,var(--sky2) 100%);padding:56px 24px 110px}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:64px;
  background:radial-gradient(circle at 50% 100%,#fff 0 42px,transparent 43px) 0 100%/84px 64px repeat-x}
.hero-in{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.hero h1{font-size:clamp(2rem,4.4vw,3rem);line-height:1.15;margin:0 0 16px;color:var(--navy);font-weight:800}
.hero p.lead{font-size:1.15rem;color:var(--soft);margin:0 0 28px;max-width:34em}
.hero-pic{position:relative}
.hero-pic::before{content:"";position:absolute;inset:-14px 14px 14px -14px;background:#fff;border-radius:40px;opacity:.75}
.hero-pic img{position:relative;display:block;width:100%;border-radius:32px;box-shadow:0 18px 40px rgba(18,48,79,.2)}

.btns{display:flex;flex-wrap:wrap;gap:14px}
.btn{display:inline-block;text-decoration:none;font-weight:800;font-size:1.15rem;padding:18px 30px;border-radius:14px;transition:transform .15s,box-shadow .15s}
.btn-a{background:var(--teal);color:#fff;box-shadow:0 6px 0 var(--teal-d)}
.btn-b{background:var(--coral);color:#3b1604;box-shadow:0 6px 0 var(--coral-d)}
.btn:hover{transform:translateY(3px)}
.btn-a:hover{box-shadow:0 3px 0 var(--teal-d)}
.btn-b:hover{box-shadow:0 3px 0 var(--coral-d)}

/* content grid */
.wrap{max-width:1120px;margin:0 auto;padding:30px 24px 20px}
.cols{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:40px;align-items:start}
.text h2{font-size:1.75rem;line-height:1.25;margin:44px 0 12px;color:var(--navy)}
.text h2:first-child{margin-top:0}
.text p{margin:0 0 16px}
.text ul,.text ol{padding-left:22px;margin:0 0 18px}
.text li{margin-bottom:8px}

.aside{position:sticky;top:20px;background:var(--sky2);border:2px solid var(--line);border-radius:24px;padding:24px}
.aside h3{margin:0 0 10px;font-size:1.15rem;color:var(--navy)}
.aside ul{list-style:none;padding:0;margin:0}
.aside li{padding:9px 0;border-bottom:1px dashed var(--line);font-size:.97rem}
.aside li:last-child{border:0}

/* alternating image rows */
.row{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;margin:0 0 56px}
.row.flip .row-pic{order:2}
.row-pic img{display:block;width:100%;border-radius:28px;box-shadow:0 14px 32px rgba(18,48,79,.16)}
.row h2{font-size:1.75rem;line-height:1.25;margin:0 0 12px;color:var(--navy)}
.row p{margin:0 0 14px}
.row figcaption{font-size:.9rem;color:var(--soft);margin-top:8px}

/* compare */
.compare{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:0 0 24px}
.compare div{border:2px solid var(--line);border-radius:20px;padding:22px;background:#fff}
.compare h3{margin:0 0 8px;color:var(--navy)}

/* link cards */
.links{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:8px 0 40px}
.links a{display:block;text-decoration:none;color:var(--ink);background:var(--sky2);border-radius:20px;padding:20px;border:2px solid transparent}
.links a:hover{border-color:var(--teal)}
.links strong{display:block;color:var(--navy);margin-bottom:6px}

/* footer */
footer.foot{background:var(--navy);color:#cfe3f3;margin-top:40px}
.foot-in{max-width:1120px;margin:0 auto;padding:36px 24px;display:grid;grid-template-columns:1.4fr 1fr;gap:32px;font-size:.95rem}
.foot a{color:#fff}
.foot p{margin:0 0 10px}
.foot ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:6px 20px}

@media (max-width:900px){
  .hero-in,.cols,.row,.compare,.foot-in{grid-template-columns:1fr}
  .row.flip .row-pic{order:0}
  .links{grid-template-columns:1fr 1fr}
  .aside{position:static}
  .hero{padding-bottom:96px}
}
@media (max-width:520px){.links{grid-template-columns:1fr}.btn{width:100%;text-align:center}}
