:root{
  --sky:#E1F5FE;
  --navy:#0277BD;
  --white:#FFFFFF;
  --accent:#FFD600;
  --ink:#0a1b2a;
  --muted:#35506a;
  --shadow: 0 18px 45px rgba(2,119,189,.18);
  --radius: 22px;
  --max: 1120px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Noto Sans", "Helvetica Neue", sans-serif;
  color:var(--ink);
  background:linear-gradient(180deg,var(--sky) 0%, #f7fbff 40%, #ffffff 100%);
  font-size:18px;
  line-height:1.35;
}

a{color:inherit}
strong{font-weight:800}
em{font-style:normal; opacity:.9}

.topbar{
  position:sticky;
  top:0;
  z-index:50;
  backdrop-filter:saturate(1.2) blur(12px);
  background:rgba(225,245,254,.72);
  border-bottom:1px solid rgba(2,119,189,.18);
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 18px;
}

.brand{
  display:flex;
  gap:12px;
  align-items:center;
  text-decoration:none;
}

.brandMark{
  width:44px;
  height:44px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:var(--navy);
  color:var(--white);
  font-weight:900;
  letter-spacing:.5px;
  box-shadow:0 10px 30px rgba(2,119,189,.25);
}

.brandText{
  display:flex;
  flex-direction:column;
  line-height:1.05;
}
.brandText strong{font-size:20px}
.brandText em{font-size:14px; color:var(--muted)}

.burger{
  width:52px;
  height:46px;
  border-radius:16px;
  border:1px solid rgba(2,119,189,.22);
  background:rgba(255,255,255,.7);
  display:none;
  align-items:center;
  justify-content:center;
  gap:6px;
  flex-direction:column;
  cursor:pointer;
}

.burger span{
  width:22px;
  height:2px;
  background:var(--navy);
  border-radius:3px;
  transition:transform .22s ease, opacity .22s ease;
}

.nav{
  display:flex;
  align-items:center;
  gap:16px;
}

.navLink{
  text-decoration:none;
  font-weight:800;
  padding:10px 12px;
  border-radius:14px;
  color:var(--navy);
  letter-spacing:.2px;
}

.navLink:hover{
  background:rgba(255,255,255,.75);
}

.navLink.isActive{
  background:var(--navy);
  color:var(--white);
}

.navMeta{
  opacity:.9;
  font-weight:800;
}

main{width:100%}

.hero{
  padding:26px 18px 8px;
}

.heroMedia{
  height:min(68vh, 640px);
  border-radius:calc(var(--radius) + 10px);
  background:
    linear-gradient(180deg, rgba(2,119,189,.06) 0%, rgba(2,119,189,.38) 92%),
    url("https://images.unsplash.com/photo-1508609349937-5ec4ae374ebf?auto=format&fit=crop&w=2400&q=80");
  background-size:cover;
  background-position:center;
  box-shadow:var(--shadow);
  border:1px solid rgba(255,255,255,.8);
}

.heroGrid{
  max-width:var(--max);
  margin:-120px auto 0;
  padding:0 6px 22px;
  display:grid;
  gap:16px;
}

.heroKicker{
  display:inline-flex;
  width:max-content;
  padding:10px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(2,119,189,.16);
  font-weight:900;
  letter-spacing:.7px;
  color:var(--navy);
}

.heroTitle{
  font-size:clamp(44px, 5vw, 78px);
  line-height:1.03;
  margin:0;
  letter-spacing:-.8px;
  text-shadow:0 2px 0 rgba(255,255,255,.4);
}

.heroLead{
  font-size:clamp(20px, 1.7vw, 26px);
  margin:0;
  color:#0b2a44;
  max-width:68ch;
}

.heroCTAs{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  padding-top:4px;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:14px 18px;
  border-radius:16px;
  text-decoration:none;
  font-weight:900;
  border:1px solid rgba(2,119,189,.22);
  cursor:pointer;
  transition:transform .12s ease, filter .12s ease, background .12s ease;
  user-select:none;
}

.btn:hover{transform:translateY(-1px); filter:brightness(1.02)}
.btn:active{transform:translateY(0px)}

.btnPrimary{
  background:var(--navy);
  color:var(--white);
  border-color:rgba(2,119,189,.45);
}

.btnAccent{
  background:var(--accent);
  color:#142433;
  border-color:rgba(255,214,0,.55);
}

.btnGhost{
  background:rgba(255,255,255,.78);
  color:var(--navy);
}

.btnSmall{
  padding:11px 14px;
  border-radius:14px;
  font-size:16px;
}

.heroStats{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:12px;
  margin-top:10px;
}

.stat{
  border-radius:18px;
  background:rgba(255,255,255,.8);
  border:1px solid rgba(2,119,189,.16);
  box-shadow:0 12px 35px rgba(2,119,189,.09);
  padding:14px 14px;
}

.statNum{
  font-weight:950;
  font-size:26px;
  color:var(--navy);
}

.statLbl{
  color:var(--muted);
  font-weight:800;
  margin-top:2px;
}

.magSection{
  max-width:var(--max);
  margin:22px auto 0;
  padding:30px 18px 12px;
}

.magHeader{
  display:grid;
  gap:10px;
  margin-bottom:18px;
}

.magTitle{
  margin:0;
  font-size:clamp(30px, 3vw, 44px);
  letter-spacing:-.5px;
}

.magSub{
  margin:0;
  font-size:20px;
  color:var(--muted);
  max-width:80ch;
}

.magGrid{
  display:grid;
  grid-template-columns:2fr 1fr 1fr;
  gap:14px;
}

.card{
  border-radius:var(--radius);
  background:rgba(255,255,255,.86);
  border:1px solid rgba(2,119,189,.15);
  box-shadow:0 14px 40px rgba(2,119,189,.10);
  padding:18px 18px;
}

.card.feature{
  padding:22px 22px;
}

.tag{
  display:inline-flex;
  width:max-content;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(225,245,254,.9);
  border:1px solid rgba(2,119,189,.18);
  font-weight:900;
  color:var(--navy);
  letter-spacing:.6px;
  margin-bottom:10px;
}

.tagAlt{
  background:rgba(255,214,0,.35);
  border-color:rgba(255,214,0,.55);
  color:#1a2b3b;
}

.card h3{
  margin:0 0 8px;
  font-size:24px;
  letter-spacing:-.2px;
}

.card p{margin:0; color:var(--muted); font-size:18px}

.textLink{
  display:inline-flex;
  margin-top:12px;
  font-weight:950;
  color:var(--navy);
  text-decoration:none;
}

.textLink:hover{text-decoration:underline}

.strip{
  margin:26px 0 0;
  padding:22px 18px;
}

.stripInner{
  max-width:var(--max);
  margin:0 auto;
  border-radius:calc(var(--radius) + 10px);
  background:linear-gradient(135deg, rgba(2,119,189,.92) 0%, rgba(2,119,189,.72) 40%, rgba(2,119,189,.52) 100%);
  color:var(--white);
  box-shadow:var(--shadow);
  border:1px solid rgba(255,255,255,.25);
  padding:26px;
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:18px;
}

.stripTitle{
  margin:0;
  font-size:34px;
  letter-spacing:-.3px;
}

.stripText{margin:10px 0 0; font-size:20px; opacity:.95}

.stripQuote{
  display:grid;
  align-content:center;
  background:rgba(255,255,255,.12);
  border-radius:22px;
  padding:18px;
  border:1px solid rgba(255,255,255,.22);
}

.stripQuote p{margin:0; font-size:20px; font-weight:900}
.stripQuote span{margin-top:10px; opacity:.9; font-weight:800}

.blocks{
  max-width:var(--max);
  margin:0 auto;
  padding:28px 18px 46px;
  display:grid;
  gap:22px;
}

.blockRow{
  border-radius:calc(var(--radius) + 10px);
  background:rgba(255,255,255,.75);
  border:1px solid rgba(2,119,189,.14);
  box-shadow:0 16px 50px rgba(2,119,189,.08);
  padding:20px;
  display:grid;
  gap:16px;
}

.blockHead h2{
  margin:0;
  font-size:34px;
  letter-spacing:-.3px;
}

.blockHead p{
  margin:6px 0 0;
  color:var(--muted);
  font-size:20px;
  font-weight:700;
}

.priceGrid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:14px;
}

.priceCard{
  border-radius:22px;
  background:rgba(225,245,254,.55);
  border:1px solid rgba(2,119,189,.18);
  padding:18px;
  position:relative;
  overflow:hidden;
}

.priceCardFeatured{
  background:rgba(255,214,0,.25);
  border-color:rgba(255,214,0,.55);
}

.badge{
  position:absolute;
  top:14px;
  right:14px;
  background:var(--accent);
  color:#122536;
  font-weight:950;
  padding:8px 10px;
  border-radius:999px;
  border:1px solid rgba(255,214,0,.65);
}

.priceTop{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:10px;
}

.priceTop h3{
  margin:0;
  font-size:22px;
}

.price{
  font-size:34px;
  font-weight:950;
  color:var(--navy);
}

.list{
  margin:12px 0 14px;
  padding:0 0 0 18px;
  color:var(--muted);
  font-weight:750;
}

.note{
  margin-top:10px;
  padding:12px 14px;
  border-radius:16px;
  background:rgba(255,255,255,.7);
  border:1px solid rgba(2,119,189,.12);
  color:var(--muted);
  font-weight:750;
}

.routeGrid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:14px;
}

.routeCard{
  text-decoration:none;
  border-radius:22px;
  padding:18px;
  border:1px solid rgba(2,119,189,.16);
  background:rgba(255,255,255,.85);
  box-shadow:0 12px 40px rgba(2,119,189,.08);
  display:grid;
  gap:8px;
}

.routeTitle{
  font-size:22px;
  font-weight:950;
  color:var(--navy);
}

.routeMeta{
  font-weight:850;
  color:var(--muted);
}

.routeLine{
  height:2px;
  background:linear-gradient(90deg, var(--navy), rgba(2,119,189,.12));
  border-radius:99px;
  opacity:.9;
}

.routeDesc{
  color:var(--muted);
  font-weight:750;
}

.contactMini{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:12px;
}

.miniCard{
  border-radius:20px;
  padding:16px;
  background:rgba(255,255,255,.85);
  border:1px solid rgba(2,119,189,.14);
}

.miniLabel{
  font-weight:950;
  color:var(--navy);
  margin-bottom:6px;
}

.miniValue{
  display:inline-block;
  text-decoration:none;
  color:var(--muted);
  font-weight:800;
}

.endCTA{
  margin-top:8px;
  border-radius:22px;
  background:rgba(2,119,189,.08);
  border:1px solid rgba(2,119,189,.14);
  padding:18px;
  display:flex;
  gap:14px;
  align-items:center;
  justify-content:space-between;
}

.endText h3{
  margin:0;
  font-size:24px;
}

.endText p{
  margin:6px 0 0;
  color:var(--muted);
  font-weight:750;
}

.footer{
  margin-top:14px;
  padding:26px 18px;
  border-top:1px solid rgba(2,119,189,.12);
  background:rgba(255,255,255,.7);
}

.footerCompact{padding:18px 18px}

.footerInner{
  max-width:var(--max);
  margin:0 auto;
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
  justify-content:space-between;
}

.footerBrand{
  display:flex;
  align-items:center;
  gap:12px;
}

.footerSmall{
  color:var(--muted);
  font-weight:800;
  margin-top:2px;
}

.footerLinks{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}

.footerLinks a{
  text-decoration:none;
  font-weight:900;
  color:var(--navy);
}

.footerLinks a:hover{text-decoration:underline}

.footerNote{
  color:var(--muted);
  font-weight:800;
}

.page{
  max-width:var(--max);
  margin:0 auto;
  padding:28px 18px 40px;
}

.pageHead{
  display:grid;
  gap:10px;
  margin-bottom:18px;
}

.pageKicker{
  width:max-content;
  padding:10px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(2,119,189,.16);
  font-weight:950;
  color:var(--navy);
  letter-spacing:.6px;
}

.pageHead h1{
  margin:0;
  font-size:44px;
  letter-spacing:-.4px;
}

.pageHead p{
  margin:0;
  color:var(--muted);
  font-weight:750;
  font-size:20px;
  max-width:85ch;
}

.pageGrid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:14px;
}

.pageCard{
  border-radius:var(--radius);
  background:rgba(255,255,255,.86);
  border:1px solid rgba(2,119,189,.14);
  box-shadow:0 14px 45px rgba(2,119,189,.08);
  padding:18px;
}

.pageCard h2{
  margin:0 0 12px;
  font-size:26px;
}

.table{
  display:grid;
  gap:10px;
}

.table .row{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  border-radius:16px;
  background:rgba(225,245,254,.5);
  border:1px solid rgba(2,119,189,.12);
  font-weight:850;
}

.routeList{
  display:grid;
  gap:14px;
}

.routeItem{
  border-radius:var(--radius);
  background:rgba(255,255,255,.86);
  border:1px solid rgba(2,119,189,.14);
  box-shadow:0 14px 45px rgba(2,119,189,.07);
  padding:18px;
}

.routeItem h2{
  margin:0 0 10px;
  font-size:28px;
}

.routeItem p{
  margin:10px 0 0;
  color:var(--muted);
  font-weight:760;
  font-size:19px;
}

.routeChips{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.chip{
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(2,119,189,.16);
  background:rgba(225,245,254,.6);
  color:var(--navy);
  font-weight:950;
}

.inlineCTA{
  border-radius:calc(var(--radius) + 6px);
  padding:18px;
  border:1px solid rgba(255,214,0,.55);
  background:rgba(255,214,0,.2);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}

.inlineCTA h3{margin:0; font-size:24px}
.inlineCTA p{margin:6px 0 0; color:var(--muted); font-weight:760}

.contactGrid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}

.contactRows{
  display:grid;
  gap:10px;
}

.contactRow{
  display:grid;
  gap:6px;
  padding:12px 14px;
  border-radius:16px;
  background:rgba(225,245,254,.52);
  border:1px solid rgba(2,119,189,.12);
}

.contactRow .label{
  font-weight:950;
  color:var(--navy);
}

.contactRow .value{
  color:var(--muted);
  font-weight:850;
  text-decoration:none;
}

.form{
  display:grid;
  gap:12px;
}

.field{
  display:grid;
  gap:8px;
}

.field span{
  font-weight:950;
  color:var(--navy);
}

input, textarea{
  width:100%;
  border-radius:16px;
  border:1px solid rgba(2,119,189,.18);
  background:rgba(255,255,255,.9);
  padding:14px 14px;
  font-size:18px;
  outline:none;
}

input:focus, textarea:focus{
  border-color:rgba(255,214,0,.9);
  box-shadow:0 0 0 4px rgba(255,214,0,.25);
}

.checkRow{
  display:flex;
  gap:10px;
  align-items:flex-start;
  color:var(--muted);
  font-weight:800;
}

.checkRow a{
  color:var(--navy);
  font-weight:950;
  text-decoration:none;
}

.checkRow a:hover{text-decoration:underline}

.formMsg{
  min-height:20px;
  font-weight:900;
  color:var(--navy);
}

.legal .legalCard{
  border-radius:var(--radius);
  background:rgba(255,255,255,.86);
  border:1px solid rgba(2,119,189,.14);
  box-shadow:0 14px 45px rgba(2,119,189,.08);
  padding:18px;
}

.legalCard h2{
  margin:18px 0 10px;
  font-size:24px;
}

.legalCard h2:first-child{margin-top:0}

.legalCard p{
  margin:0;
  color:var(--muted);
  font-weight:760;
  font-size:19px;
}

.cookieBar{
  position:fixed;
  left:18px;
  right:18px;
  bottom:18px;
  z-index:80;
  display:none;
  gap:12px;
  align-items:center;
  justify-content:space-between;
  border-radius:22px;
  background:rgba(255,255,255,.9);
  border:1px solid rgba(2,119,189,.16);
  box-shadow:0 18px 55px rgba(2,119,189,.16);
  padding:14px 14px;
}

.cookieText{
  color:var(--muted);
  font-weight:800;
  max-width:90ch;
}

.cookieText a{
  color:var(--navy);
  font-weight:950;
  text-decoration:none;
}

.cookieText a:hover{text-decoration:underline}

.cookieBtns{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.modal{
  position:fixed;
  inset:0;
  z-index:90;
  display:none;
  place-items:center;
  background:rgba(10,27,42,.45);
  padding:18px;
}

.modalCard{
  width:min(720px, 100%);
  border-radius:26px;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(2,119,189,.16);
  box-shadow:0 24px 70px rgba(2,119,189,.22);
  overflow:hidden;
}

.modalHead{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:16px 16px;
  background:rgba(225,245,254,.7);
  border-bottom:1px solid rgba(2,119,189,.12);
}

.modalHead h3{
  margin:0;
  font-size:22px;
}

.iconBtn{
  width:44px;
  height:44px;
  border-radius:16px;
  border:1px solid rgba(2,119,189,.18);
  background:rgba(255,255,255,.9);
  cursor:pointer;
  font-size:24px;
  font-weight:950;
  color:var(--navy);
}

.modalBody{
  padding:16px;
  display:grid;
  gap:14px;
}

.switchRow{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:14px;
  border-radius:18px;
  background:rgba(225,245,254,.52);
  border:1px solid rgba(2,119,189,.12);
}

.switchRow span{
  display:grid;
  gap:4px;
}

.switchRow strong{
  font-size:18px;
}

.switchRow em{
  font-size:15px;
  color:var(--muted);
  font-weight:800;
}

.switchRow input{
  width:22px;
  height:22px;
}

.modalActions{
  display:flex;
  justify-content:flex-end;
}

.navOpen .nav{
  display:flex;
}

@media (max-width: 980px){
  .magGrid{grid-template-columns:1fr; }
  .stripInner{grid-template-columns:1fr; }
  .priceGrid{grid-template-columns:1fr; }
  .routeGrid{grid-template-columns:1fr; }
  .contactMini{grid-template-columns:1fr 1fr;}
  .pageGrid{grid-template-columns:1fr;}
  .contactGrid{grid-template-columns:1fr;}
  .heroGrid{margin-top:-90px}
}

@media (max-width: 860px){
  .burger{display:flex}
  .nav{
    position:fixed;
    top:74px;
    left:14px;
    right:14px;
    border-radius:22px;
    padding:14px;
    background:rgba(255,255,255,.92);
    border:1px solid rgba(2,119,189,.16);
    box-shadow:0 20px 60px rgba(2,119,189,.18);
    display:none;
    flex-direction:column;
    align-items:stretch;
    gap:10px;
  }
  .navLink{display:flex; justify-content:center}
  .heroTitle{letter-spacing:-.6px}
  .contactMini{grid-template-columns:1fr}
}

@media (prefers-reduced-motion: reduce){
  .btn, .burger span{transition:none}
}

.bigWrap{
  max-width:var(--max);
  margin:0 auto;
  padding:0 18px;
}

.bigHead{
  display:grid;
  gap:10px;
  margin-bottom:16px;
}

.bigKicker{
  width:max-content;
  padding:10px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(2,119,189,.16);
  font-weight:950;
  color:var(--navy);
  letter-spacing:.6px;
}

.bigTitle{
  margin:0;
  font-size:clamp(34px, 3.6vw, 52px);
  letter-spacing:-.5px;
  line-height:1.06;
}

.bigSub{
  margin:0;
  color:var(--muted);
  font-weight:760;
  font-size:20px;
  max-width:90ch;
}

.bigSlider{
  padding:28px 0 10px;
}

.slider{
  position:relative;
  border-radius:calc(var(--radius) + 12px);
  background:rgba(255,255,255,.55);
  border:1px solid rgba(2,119,189,.14);
  box-shadow:0 18px 60px rgba(2,119,189,.12);
  overflow:hidden;
}

.sliderViewport{
  height:min(78vh, 780px);
  min-height:560px;
}

.sliderTrack{
  height:100%;
  display:flex;
  transform:translateX(0%);
  transition:transform .5s ease;
  will-change:transform;
}

.slide{
  min-width:100%;
  height:100%;
  position:relative;
}

.slideMedia{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  transform:scale(1.02);
}

.slideOverlay{
  position:absolute;
  left:18px;
  right:18px;
  bottom:18px;
  border-radius:24px;
  padding:16px 16px;
  background:rgba(255,255,255,.86);
  border:1px solid rgba(2,119,189,.16);
  box-shadow:0 18px 55px rgba(2,119,189,.16);
  display:grid;
  gap:6px;
}

.slideTag{
  width:max-content;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,214,0,.28);
  border:1px solid rgba(255,214,0,.55);
  font-weight:950;
  color:#152637;
  letter-spacing:.6px;
}

.slideTitle{
  font-size:24px;
  font-weight:950;
  color:var(--navy);
  letter-spacing:-.2px;
}

.slideText{
  color:var(--muted);
  font-weight:800;
  font-size:18px;
}

.sliderBtn{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:54px;
  height:54px;
  border-radius:18px;
  border:1px solid rgba(2,119,189,.18);
  background:rgba(255,255,255,.86);
  color:var(--navy);
  font-size:34px;
  font-weight:950;
  cursor:pointer;
  display:grid;
  place-items:center;
  box-shadow:0 18px 55px rgba(2,119,189,.14);
}

.sliderBtn:hover{filter:brightness(1.02)}
.sliderBtn:active{transform:translateY(-50%) scale(.98)}
.sliderBtn.prev{left:14px}
.sliderBtn.next{right:14px}

.sliderDots{
  position:absolute;
  left:0;
  right:0;
  bottom:12px;
  display:flex;
  justify-content:center;
  gap:10px;
  padding:0 18px;
}

.dot{
  width:11px;
  height:11px;
  border-radius:999px;
  border:1px solid rgba(2,119,189,.26);
  background:rgba(255,255,255,.8);
  cursor:pointer;
}

.dot.isActive{
  background:var(--accent);
  border-color:rgba(255,214,0,.75);
}

.editorial{
  padding:26px 0 12px;
}

.editorialGrid{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:14px;
}

.editorialCard{
  border-radius:calc(var(--radius) + 6px);
  background:rgba(255,255,255,.86);
  border:1px solid rgba(2,119,189,.14);
  box-shadow:0 14px 45px rgba(2,119,189,.08);
  padding:20px;
  display:grid;
  gap:12px;
}

.editorialCard h3{
  margin:0;
  font-size:30px;
  letter-spacing:-.3px;
  line-height:1.05;
}

.editorialCard p{
  margin:0;
  color:var(--muted);
  font-weight:760;
  font-size:19px;
}

.editorialCardAlt{
  background:linear-gradient(180deg, rgba(225,245,254,.72) 0%, rgba(255,255,255,.9) 100%);
}

.editorialHighlight{
  border-radius:20px;
  padding:14px 14px;
  background:rgba(255,214,0,.18);
  border:1px solid rgba(255,214,0,.55);
  display:flex;
  gap:12px;
  align-items:center;
}

.hiLabel{
  padding:8px 12px;
  border-radius:999px;
  background:var(--accent);
  border:1px solid rgba(255,214,0,.65);
  font-weight:950;
  color:#152637;
}

.hiText{
  font-weight:900;
  color:#1a2b3b;
}

.steps{
  padding:24px 0 12px;
}

.stepsGrid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:14px;
}

.stepCard{
  border-radius:calc(var(--radius) + 6px);
  background:rgba(255,255,255,.86);
  border:1px solid rgba(2,119,189,.14);
  box-shadow:0 14px 45px rgba(2,119,189,.08);
  padding:18px;
  display:flex;
  gap:14px;
  align-items:flex-start;
}

.stepNum{
  width:52px;
  height:52px;
  border-radius:18px;
  background:var(--navy);
  color:var(--white);
  display:grid;
  place-items:center;
  font-weight:950;
  font-size:22px;
  flex:0 0 auto;
  box-shadow:0 14px 40px rgba(2,119,189,.20);
}

.stepBody h3{
  margin:0;
  font-size:24px;
  letter-spacing:-.2px;
}

.stepBody p{
  margin:8px 0 0;
  color:var(--muted);
  font-weight:760;
  font-size:18px;
}

.faq{
  padding:26px 0 18px;
}

.faqList{
  display:grid;
  gap:12px;
}

.faqItem{
  width:100%;
  text-align:left;
  border-radius:calc(var(--radius) + 6px);
  background:rgba(255,255,255,.86);
  border:1px solid rgba(2,119,189,.14);
  box-shadow:0 14px 45px rgba(2,119,189,.07);
  padding:16px 16px;
  cursor:pointer;
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px 12px;
  align-items:center;
}

.faqQ{
  font-weight:950;
  font-size:20px;
  color:var(--navy);
}

.faqIcon{
  width:42px;
  height:42px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:rgba(225,245,254,.8);
  border:1px solid rgba(2,119,189,.16);
  font-weight:950;
  font-size:22px;
  color:var(--navy);
}

.faqA{
  grid-column:1 / -1;
  color:var(--muted);
  font-weight:760;
  font-size:19px;
  max-height:0;
  overflow:hidden;
  transition:max-height .28s ease;
}

.faqItem[aria-expanded="true"] .faqA{
  max-height:220px;
}

.faqItem[aria-expanded="true"] .faqIcon{
  background:rgba(255,214,0,.28);
  border-color:rgba(255,214,0,.55);
  color:#152637;
}

.faqCta{
  margin-top:14px;
  border-radius:calc(var(--radius) + 10px);
  padding:18px;
  background:rgba(2,119,189,.08);
  border:1px solid rgba(2,119,189,.14);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}

.faqCta h3{margin:0; font-size:24px}
.faqCta p{margin:6px 0 0; color:var(--muted); font-weight:760}

@media (max-width: 980px){
  .editorialGrid{grid-template-columns:1fr}
  .stepsGrid{grid-template-columns:1fr}
  .sliderViewport{min-height:520px}
}
@media (max-width: 560px){
  .sliderViewport{min-height:480px}
  .slideOverlay{left:12px; right:12px; bottom:12px}
  .sliderBtn{width:50px; height:50px}
}

.brandLogo{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  border-radius:12px;
}

.brandMark{
  overflow:hidden;
}
