:root{
  --navy:#0a1a33; --navy-2:#11264a; --navy-3:#1a3563;
  --sun:#f8c52a; --sun-2:#ffd64d; --ink:#0a1a33;
  --paper:#f5f3ee; --line:rgba(255,255,255,.12);
  --display:'Archivo',sans-serif; --body:'Figtree',sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{font-family:var(--body);color:#fff;background:var(--navy);-webkit-font-smoothing:antialiased;line-height:1.5}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
.disp{font-family:var(--display);font-stretch:112%;font-weight:900;text-transform:uppercase;letter-spacing:-.01em;line-height:.95}
.eyebrow{font-family:var(--display);font-stretch:125%;font-weight:700;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--sun)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--display);font-stretch:110%;font-weight:800;text-transform:uppercase;letter-spacing:.02em;border-radius:12px;padding:18px 26px;font-size:16px;cursor:pointer;border:0;transition:transform .15s,background .15s,box-shadow .15s;min-height:56px}
.btn-sun{background:var(--sun);color:var(--navy);box-shadow:0 8px 24px -8px rgba(248,197,42,.6)}
.btn-sun:hover{background:var(--sun-2);transform:translateY(-1px)}
.btn-ghost{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.3)}
.btn-ghost:hover{border-color:#fff}
.btn svg{width:18px;height:18px;flex:none}
.btn[disabled]{opacity:.72;cursor:progress;transform:none}
.btn .spin{width:18px;height:18px;border-radius:50%;border:2px solid rgba(10,26,51,.3);border-top-color:var(--navy);animation:sg-spin .7s linear infinite;flex:none}
@keyframes sg-spin{to{transform:rotate(360deg)}}

/* header */
header{position:sticky;top:0;z-index:50;background:rgba(10,26,51,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.hdr{display:flex;align-items:center;justify-content:space-between;height:72px;gap:16px}
/* The supplied wordmark already contains the emblem, so it renders as one image. */
.logo{display:flex;align-items:center}
.logo img{width:200px;height:auto;flex:none}
footer .logo img{width:250px}
.hdr-r{display:flex;align-items:center;gap:20px}
.hdr-phone{font-family:var(--display);font-stretch:110%;font-weight:800;font-size:17px;display:flex;align-items:center;gap:8px}
.hdr-phone svg{width:16px;height:16px;color:var(--sun)}
.hdr .btn{padding:12px 18px;min-height:44px;font-size:14px}

/* hero */
.hero{position:relative;overflow:hidden;background:
  radial-gradient(900px 500px at 85% 20%, rgba(248,197,42,.14), transparent 60%),
  linear-gradient(180deg,var(--navy) 0%, var(--navy-2) 100%)}
.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:center;padding:72px 0 64px}
.badge{display:inline-flex;align-items:center;gap:10px;background:var(--sun);color:var(--navy);padding:8px 14px 8px 12px;border-radius:8px;font-family:var(--display);font-stretch:118%;font-weight:800;font-size:12px;letter-spacing:.08em;text-transform:uppercase;transform:rotate(-1.5deg)}
.badge svg{width:14px;height:16px}
.hero h1{font-size:clamp(46px,6.4vw,84px);margin:22px 0 22px}
.hero h1 em{font-style:normal;color:var(--sun);display:block}
.hero p.lead{font-size:clamp(17px,1.5vw,20px);color:rgba(255,255,255,.82);max-width:30ch;text-wrap:pretty}
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.hero-img{position:relative}
.hero-img img{width:100%;border-radius:20px;box-shadow:0 30px 80px -20px rgba(0,0,0,.6);aspect-ratio:1.14;object-fit:cover}
.hero-img .tag{position:absolute;left:-18px;bottom:28px;background:#fff;color:var(--navy);border-radius:14px;padding:14px 18px;box-shadow:0 20px 40px -10px rgba(0,0,0,.5)}
.hero-img .tag small{display:block;font-size:12px;font-weight:600;opacity:.6;text-transform:uppercase;letter-spacing:.08em}
.hero-img .tag b{font-family:var(--display);font-stretch:112%;font-weight:900;font-size:26px;line-height:1.1}

/* features */
.feats{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--navy)}
.feats ul{list-style:none;display:grid;grid-template-columns:repeat(8,1fr)}
.feats li{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:26px 8px;font-size:13px;font-weight:600;line-height:1.25;color:rgba(255,255,255,.88)}
.feats li+li{border-left:1px solid var(--line)}
.feats svg{width:30px;height:30px;color:var(--sun)}

/* packages */
.pk-sec{background:var(--paper);color:var(--ink);padding:96px 0}
.sec-head{text-align:center;max-width:720px;margin:0 auto 52px}
.sec-head h2{font-size:clamp(34px,4.4vw,56px);margin-top:12px}
.sec-head p{margin-top:14px;font-size:18px;color:rgba(10,26,51,.7)}
.pk-sec .eyebrow{color:#b88a00}
.pk-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:stretch}
.pk{background:#fff;border-radius:24px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 1px 0 rgba(10,26,51,.06),0 20px 50px -24px rgba(10,26,51,.25);border:2px solid transparent;position:relative;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.pk.feat{box-shadow:0 1px 0 rgba(10,26,51,.06),0 26px 60px -24px rgba(10,26,51,.32)}
/* Yellow highlight appears on hover / keyboard focus, and stays on the chosen
   package. It is never shown in the resting state. */
.pk:hover,.pk:focus-within,.pk.sel{border-color:var(--sun);transform:translateY(-2px);box-shadow:0 1px 0 rgba(10,26,51,.06),0 26px 60px -20px rgba(10,26,51,.34),0 0 0 4px rgba(248,197,42,.16)}
/* The badge sits in normal flow beside the name, so it can never overlap it. */
.pk-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.pk-flag{background:var(--navy);color:var(--sun);font-family:var(--display);font-stretch:118%;font-weight:800;font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:7px 11px;border-radius:6px;white-space:nowrap;flex:none}
.pk-top{padding:30px 32px 0}
.pk-name{font-size:30px}
.pk-name span{color:#c99a00}
.pk-sub{font-size:16px;color:rgba(10,26,51,.65);margin-top:8px;font-weight:500}
.pk-kit{margin:22px 20px 0;background:linear-gradient(180deg,#fafaf8,#eeede8);border-radius:16px;padding:14px;display:flex;align-items:center;justify-content:center;min-height:170px}
.pk-kit img{max-height:180px;width:auto;mix-blend-mode:multiply}
.pk-body{padding:26px 32px 32px;display:flex;flex-direction:column;flex:1}
.price{display:flex;align-items:baseline;gap:12px;padding-bottom:22px;border-bottom:1px dashed rgba(10,26,51,.18)}
.price b{font-family:var(--display);font-stretch:108%;font-weight:900;font-size:64px;line-height:1;letter-spacing:-.02em}
.price span{font-family:var(--display);font-stretch:125%;font-weight:800;font-size:13px;letter-spacing:.16em;text-transform:uppercase;background:var(--sun);padding:5px 9px;border-radius:5px}
.inc{list-style:none;margin:22px 0 28px;display:grid;gap:12px;flex:1}
.inc li{display:flex;gap:12px;align-items:flex-start;font-size:16px;font-weight:500}
.inc li svg{flex:none;width:22px;height:22px;margin-top:1px}
.pk .btn{width:100%}
.pk-note{text-align:center;margin-top:32px;font-size:16px;color:rgba(10,26,51,.7)}
.pk-note a{font-weight:700;color:var(--ink);border-bottom:2px solid var(--sun)}

/* why it works — proof section */
.why-sec{background:#fff;color:var(--ink);border-top:1px solid rgba(10,26,51,.08);padding:88px 0}
.why{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.why article{background:var(--paper);border-radius:18px;overflow:hidden;display:flex;flex-direction:column}
.why img{width:100%;height:auto;aspect-ratio:1;object-fit:cover}
.why-b{padding:20px 20px 22px}
.why-b h3{font-family:var(--display);font-stretch:110%;font-weight:900;text-transform:uppercase;font-size:19px;line-height:1.1}
.why-b p{margin-top:9px;font-size:15px;line-height:1.5;color:rgba(10,26,51,.68)}

/* coverage */
.cov{padding:88px 0 0;background:var(--navy)}
.cov .sec-head p{color:rgba(255,255,255,.72)}
.cov-strip{border-radius:20px;overflow:hidden;box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.cov-strip img{width:100%}
.who{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);border-radius:18px;overflow:hidden;margin-top:40px;border:1px solid var(--line)}
.who div{background:var(--navy-2);padding:24px 20px;display:flex;flex-direction:column;gap:6px}
.who svg{width:28px;height:28px;color:var(--sun);margin-bottom:6px}
.who b{font-weight:700;font-size:16px}
.who span{font-size:14px;color:rgba(255,255,255,.65)}

/* booking */
.book{padding:96px 0 110px;background:linear-gradient(180deg,var(--navy) 0%,var(--navy-2) 100%)}
.book-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:start}
.book h2{font-size:clamp(38px,4.8vw,62px);margin:14px 0 20px}
.book h2 em{font-style:normal;color:var(--sun)}
.book-l p{font-size:18px;color:rgba(255,255,255,.8);max-width:36ch}
.steps{list-style:none;margin:34px 0;display:grid;gap:18px;counter-reset:s}
.steps li{display:flex;gap:16px;align-items:flex-start;counter-increment:s}
.steps li::before{content:counter(s);flex:none;width:36px;height:36px;border-radius:50%;background:rgba(248,197,42,.14);color:var(--sun);display:grid;place-items:center;font-family:var(--display);font-weight:900;font-size:16px;border:1px solid rgba(248,197,42,.4)}
.steps b{display:block;font-size:17px}
.steps span{font-size:15px;color:rgba(255,255,255,.65)}
.call-card{display:flex;align-items:center;gap:16px;padding:20px 22px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.04);transition:background .15s}
.call-card:hover{background:rgba(255,255,255,.08)}
.call-card .ic{width:48px;height:48px;border-radius:12px;background:var(--sun);color:var(--navy);display:grid;place-items:center;flex:none}
.call-card .ic svg{width:22px;height:22px}
.call-card small{display:block;font-size:13px;color:rgba(255,255,255,.6);font-weight:600;text-transform:uppercase;letter-spacing:.08em}
.call-card b{font-family:var(--display);font-stretch:110%;font-weight:900;font-size:26px}

form.card{background:#fff;color:var(--ink);border-radius:24px;padding:36px;box-shadow:0 40px 80px -30px rgba(0,0,0,.6)}
.form-h{font-family:var(--display);font-stretch:112%;font-weight:900;text-transform:uppercase;font-size:24px;line-height:1}
.form-s{font-size:15px;color:rgba(10,26,51,.6);margin:8px 0 24px}
.lbl{display:block;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;color:rgba(10,26,51,.75)}
.pk-pick{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:22px}
.pk-pick label{cursor:pointer}
.pk-pick input{position:absolute;opacity:0;pointer-events:none}
.pk-pick .opt{border:2px solid #e2e0da;border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:2px;transition:border-color .15s,background .15s}
.pk-pick .opt b{font-family:var(--display);font-stretch:112%;font-weight:900;text-transform:uppercase;font-size:17px}
.pk-pick .opt span{font-size:14px;color:rgba(10,26,51,.65);font-weight:600}
.pk-pick input:checked+.opt{border-color:var(--navy);background:#fff9e3;box-shadow:inset 0 0 0 1px var(--navy)}
.pk-pick input:focus-visible+.opt{outline:3px solid var(--sun);outline-offset:2px}
.pk-pick .full{grid-column:1/-1}
.pk-pick .full .opt{flex-direction:row;align-items:center;justify-content:center;padding:11px 16px}
.pk-pick .full .opt span{font-size:14px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fld{margin-bottom:16px}
.fld input,.fld select,.fld textarea{width:100%;font:inherit;font-size:16px;color:var(--ink);padding:14px 16px;border:2px solid #e2e0da;border-radius:12px;background:#fff;min-height:52px;transition:border-color .15s}
.fld textarea{min-height:88px;resize:vertical}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:none;border-color:var(--navy)}
.fld .err{display:none;color:#c0392b;font-size:13px;font-weight:600;margin-top:6px}
.fld.bad input,.fld.bad select,.fld.bad textarea{border-color:#c0392b}
.fld.bad .err{display:block}
form .btn{width:100%;margin-top:6px;font-size:17px}
.fine{font-size:13px;color:rgba(10,26,51,.55);text-align:center;margin-top:14px}
.fine a{font-weight:700;color:var(--ink)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-err{display:none;margin-top:14px;padding:12px 14px;border-radius:12px;background:#fdecea;border:1px solid #f3c2bb;color:#c0392b;font-size:14px;font-weight:600}
.form-err.show{display:block}
.ok{display:none;text-align:center;padding:30px 6px}
.ok .check{width:72px;height:72px;border-radius:50%;background:var(--sun);display:grid;place-items:center;margin:0 auto 20px}
.ok .check svg{width:34px;height:34px}
.ok h3{font-family:var(--display);font-stretch:112%;font-weight:900;text-transform:uppercase;font-size:30px;line-height:1}
.ok p{margin-top:12px;color:rgba(10,26,51,.7);font-size:16px}
.ok a.btn{margin-top:22px}
form.done .fields{display:none}
form.done .ok{display:block}

footer{background:#06111f;padding:40px 0 40px;font-size:14px;color:rgba(255,255,255,.6)}
.ftr{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.ftr a{color:#fff;font-weight:700}

/* mobile sticky bar */
.mbar{display:none}

@media (max-width:980px){
  .hero-grid{grid-template-columns:1fr;gap:36px;padding:44px 0 48px}
  .hero-img .tag{left:14px;bottom:14px}
  .feats ul{grid-template-columns:repeat(4,1fr)}
  .feats li:nth-child(5){border-left:0}
  .feats li:nth-child(n+5){border-top:1px solid var(--line)}
  .pk-grid{grid-template-columns:1fr;max-width:560px;margin:0 auto}
  .why{grid-template-columns:1fr 1fr;gap:20px}
  .who{grid-template-columns:1fr 1fr}
  .who div:last-child{grid-column:1/-1}
  .book-grid{grid-template-columns:1fr;gap:40px}
}
@media (max-width:640px){
  .wrap{padding:0 18px}
  .hdr{height:62px}
  .hdr-phone,.hdr .btn{display:none}
  .logo img{width:156px}
  .hero h1{margin:18px 0 16px}
  .hero-ctas{display:none}
  .hero-img{order:-1}
  .hero-img img{border-radius:16px}
  .hero-img .tag{padding:10px 14px}
  .hero-img .tag b{font-size:20px}
  .feats li{padding:18px 4px;font-size:11.5px}
  .feats svg{width:24px;height:24px}
  .pk-sec,.book{padding:64px 0 72px}
  .cov{padding:64px 0 0}
  /* Compact horizontal cards keep the extra proof section short on phones. */
  .why-sec{padding:64px 0}
  .why{grid-template-columns:1fr;gap:14px}
  .why article{display:grid;grid-template-columns:110px 1fr;align-items:center}
  .why img{height:110px;aspect-ratio:auto}
  .why-b{padding:14px 16px}
  .sec-head{margin-bottom:34px}
  .pk-top{padding:24px 22px 0}
  .pk-kit{margin:18px 14px 0;min-height:0}
  .pk-body{padding:22px 22px 24px}
  .price b{font-size:52px}
  .cov-strip{border-radius:14px;margin:0 -6px}
  .who div{padding:18px 16px}
  form.card{padding:24px 20px;border-radius:20px}
  .row{grid-template-columns:1fr;gap:0}
  body{padding-bottom:78px}
  .mbar{display:grid;grid-template-columns:auto 1fr;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:60;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(6,17,31,.96);backdrop-filter:blur(10px);border-top:1px solid var(--line)}
  .mbar .btn{min-height:54px;padding:14px 18px;font-size:15px}
  .mbar .btn-ghost{padding:14px 16px}
}
