
:root{
  --navy:#03256c; --blue:#0466c8; --cyan:#00b4d8; --teal:#02c39a;
  --coral:#ff5e5b; --sun:#ffd166; --ink:#14213d; --mist:#f2f9ff;
  --grad:linear-gradient(135deg,#0466c8 0%,#00b4d8 55%,#02c39a 100%);
  --grad2:linear-gradient(135deg,#ff5e5b,#ffd166);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Poppins','Segoe UI',system-ui,sans-serif;color:var(--ink);line-height:1.7;background:#fff}
img{max-width:100%}
a{color:var(--blue)}
.container{max-width:1150px;margin:0 auto;padding:0 22px}
/* top bar */
.topbar{background:var(--navy);color:#cde7ff;font-size:.82rem;padding:6px 0}
.topbar .container{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}
.topbar a{color:#ffd166;text-decoration:none}
/* header */
header{position:sticky;top:0;z-index:50;background:#fff;box-shadow:0 2px 18px rgba(3,37,108,.12)}
.nav{display:flex;align-items:center;justify-content:space-between;padding:12px 0}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand .logo{width:52px;height:52px;border-radius:14px;background:var(--grad);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.5rem;font-weight:800;box-shadow:0 6px 14px rgba(4,102,200,.35)}
.brand .bt{line-height:1.15}
.brand .bt b{display:block;color:var(--navy);font-size:1.05rem}
.brand .bt span{font-size:.72rem;color:var(--coral);font-weight:600;letter-spacing:.04em}
nav.menu{display:flex;gap:4px;flex-wrap:wrap}
nav.menu a{text-decoration:none;color:var(--ink);font-weight:500;font-size:.92rem;padding:8px 12px;border-radius:10px;transition:.2s}
nav.menu a:hover{background:var(--mist);color:var(--blue)}
nav.menu a.active{background:var(--grad);color:#fff}
nav.menu a.cta{background:var(--coral);color:#fff;font-weight:600}
nav.menu a.cta:hover{background:#e84b48;color:#fff}
#mtoggle{display:none}
.hamb{display:none;font-size:1.6rem;background:none;border:0;color:var(--navy);cursor:pointer}
@media(max-width:920px){
  .hamb{display:block}
  nav.menu{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;padding:14px;box-shadow:0 14px 24px rgba(0,0,0,.15)}
  #mtoggle:checked ~ nav.menu{display:flex}
}
/* hero */
.hero{background:var(--grad);color:#fff;position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;inset:auto -10% -55% -10%;height:70%;background:rgba(255,255,255,.14);border-radius:50% 50% 0 0}
.hero .container{position:relative;padding:70px 22px 90px;z-index:1}
.hero .kicker{display:inline-block;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.4);padding:5px 16px;border-radius:999px;font-size:.8rem;font-weight:600;letter-spacing:.05em;margin-bottom:18px}
.hero h1{font-size:clamp(1.7rem,4.2vw,2.9rem);line-height:1.2;max-width:820px;font-weight:700}
.hero h1 em{font-style:normal;color:var(--sun)}
.hero p.lead{max-width:700px;margin:16px 0 28px;font-size:1.05rem;color:#eafcff}
.btn{display:inline-block;padding:13px 28px;border-radius:12px;font-weight:600;text-decoration:none;transition:.2s;margin:4px 8px 4px 0}
.btn.solid{background:var(--coral);color:#fff;box-shadow:0 8px 20px rgba(255,94,91,.4)}
.btn.solid:hover{transform:translateY(-2px)}
.btn.ghost{border:2px solid #fff;color:#fff}
.btn.ghost:hover{background:#fff;color:var(--blue)}
.btn.blue{background:var(--grad);color:#fff;box-shadow:0 8px 20px rgba(0,180,216,.35)}
/* sections */
section{padding:64px 0}
section.alt{background:var(--mist)}
.sec-head{text-align:center;max-width:760px;margin:0 auto 42px}
.sec-head .tag{display:inline-block;background:var(--grad2);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:700;font-size:.85rem;letter-spacing:.12em;text-transform:uppercase}
.sec-head h2{font-size:clamp(1.5rem,3vw,2.2rem);color:var(--navy);margin:8px 0 10px}
.grid{display:grid;gap:24px}
.g3{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.g2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
.card{background:#fff;border-radius:18px;padding:28px;box-shadow:0 10px 30px rgba(3,37,108,.09);border-top:5px solid transparent;transition:.25s}
.card:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(3,37,108,.16)}
.card.c-blue{border-top-color:var(--blue)}
.card.c-teal{border-top-color:var(--teal)}
.card.c-coral{border-top-color:var(--coral)}
.card.c-sun{border-top-color:var(--sun)}
.card .ico{width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.6rem;margin-bottom:16px;background:var(--mist)}
.card h3{color:var(--navy);margin-bottom:10px;font-size:1.12rem}
.card p, .card li{font-size:.94rem;color:#42526e}
.card ul{padding-left:20px;margin-top:8px}
.card a.more{font-weight:600;text-decoration:none;font-size:.9rem}
/* stats strip */
.stats{background:var(--navy);color:#fff;padding:40px 0}
.stats .grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));text-align:center}
.stats b{font-size:2rem;color:var(--sun);display:block}
.stats span{font-size:.85rem;color:#bcd8ff}
/* checklist / prose */
.prose h2{color:var(--navy);margin:34px 0 12px;font-size:1.5rem}
.prose h3{color:var(--blue);margin:26px 0 10px;font-size:1.15rem}
.prose p{margin-bottom:14px}
.prose ul,.prose ol{margin:0 0 16px 24px}
.prose li{margin-bottom:8px}
.check li{list-style:none;position:relative;padding-left:30px;margin-bottom:10px}
.check li::before{content:"✔";position:absolute;left:0;color:var(--teal);font-weight:700}
.note{background:linear-gradient(135deg,#fff7e0,#ffefe0);border-left:5px solid var(--sun);border-radius:12px;padding:18px 22px;margin:22px 0}
table{width:100%;border-collapse:collapse;margin:18px 0;font-size:.92rem}
th{background:var(--grad);color:#fff;text-align:left;padding:12px 14px}
td{padding:11px 14px;border-bottom:1px solid #e3eefc}
tr:nth-child(even) td{background:var(--mist)}
/* breadcrumb */
.crumb{background:var(--mist);padding:12px 0;font-size:.84rem}
.crumb a{text-decoration:none;color:var(--blue)}
.crumb span{color:#64748b}
/* CTA band */
.band{background:var(--grad2);border-radius:22px;padding:44px;text-align:center;color:#5c1a19}
.band h2{color:#7a1f1d;font-size:1.6rem;margin-bottom:10px}
.band .btn.solid{background:var(--navy);box-shadow:0 8px 20px rgba(3,37,108,.35)}
/* forms */
form.book{background:#fff;border-radius:18px;padding:32px;box-shadow:0 12px 34px rgba(3,37,108,.12)}
form.book label{font-weight:600;font-size:.88rem;color:var(--navy);display:block;margin:14px 0 6px}
form.book input,form.book select,form.book textarea{width:100%;padding:12px 14px;border:2px solid #dbeafe;border-radius:10px;font-family:inherit;font-size:.95rem}
form.book input:focus,form.book select:focus,form.book textarea:focus{outline:none;border-color:var(--cyan)}
form.book button{margin-top:20px;width:100%;padding:14px;background:var(--grad);color:#fff;border:0;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer}
form.book button:hover{opacity:.92}
/* footer */
footer{background:var(--navy);color:#c9defa;margin-top:70px}
footer .cols{display:grid;gap:34px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));padding:56px 0 30px}
footer h4{color:#fff;margin-bottom:14px;font-size:1rem}
footer a{color:#9cc4f5;text-decoration:none;font-size:.9rem}
footer a:hover{color:var(--sun)}
footer li{list-style:none;margin-bottom:9px}
footer .base{border-top:1px solid rgba(255,255,255,.14);padding:16px 0;font-size:.8rem;text-align:center;color:#7fa8dc}
.wa{position:fixed;right:20px;bottom:20px;background:#25d366;color:#fff;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.7rem;text-decoration:none;box-shadow:0 8px 22px rgba(37,211,102,.45);z-index:60}
.blog-meta{font-size:.8rem;color:#64748b;margin-bottom:14px}
/* cookie consent */
#ckbar{position:fixed;left:16px;right:16px;bottom:16px;z-index:100;background:#03256c;color:#dbeaff;border-radius:16px;padding:18px 22px;box-shadow:0 18px 50px rgba(0,0,0,.45);display:none;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;border:1px solid rgba(255,255,255,.15)}
#ckbar p{font-size:.84rem;max-width:720px;margin:0;line-height:1.55}
#ckbar a{color:#ffd166}
#ckbar .ckb{display:flex;gap:10px}
#ckbar button{border:0;border-radius:10px;padding:10px 20px;font-weight:600;cursor:pointer;font-family:inherit;font-size:.86rem}
#ckbar .ok{background:linear-gradient(90deg,#02c39a,#00b4d8);color:#fff}
#ckbar .no{background:transparent;color:#9cc4f5;border:1px solid #9cc4f5}
.mapbtns a{display:inline-block;margin:8px 10px 0 0;padding:11px 20px;border-radius:999px;font-weight:600;font-size:.88rem;text-decoration:none;color:#fff}
.mapbtns .gm{background:linear-gradient(90deg,#0466c8,#00b4d8)}
.mapbtns .am{background:linear-gradient(90deg,#111,#444)}
