:root{--n:#08243d;--g:#09ad4b;--ink:#17212b;--muted:#687687;--line:#dce5eb;--bg:#f4f8f6}*{box-sizing:border-box}body{margin:0;font-family:Poppins,sans-serif;background:var(--bg);color:var(--ink)}a{text-decoration:none;color:inherit}.top,nav,.hero,main{width:min(1160px,calc(100% - 32px));margin:auto}.top{height:42px;display:flex;align-items:center;gap:24px;color:#fff;font-size:13px}.top a{margin-left:auto;background:var(--g);padding:6px 12px;border-radius:6px;font-weight:700}header{background:var(--n)}nav{height:74px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 20px}nav>div{display:flex;gap:25px;font-size:14px}.brand{display:flex;align-items:center;font-size:24px;font-weight:800;color:var(--n)}.brand img{width:38px;margin-right:10px}.brand span{color:var(--g)}.hero{width:100%;max-width:none;padding:55px max(16px,calc((100% - 1160px)/2)) 110px;background:linear-gradient(125deg,var(--n),#0d496f);color:#fff;display:flex;justify-content:space-between;gap:35px}.hero h1{font-size:clamp(34px,4vw,54px);line-height:1.1;margin:10px 0}.hero p{color:#d5e5ee;max-width:720px}.hero small,.step em{color:#7ceaa1;font-weight:700;letter-spacing:.09em;font-style:normal}.hero aside{min-width:280px;max-width:320px;background:#ffffff18;border:1px solid #ffffff2d;padding:18px;border-radius:14px;display:grid;grid-template-columns:25px 1fr}.hero aside span{grid-column:2;color:#d5e5ee;font-size:12px}main{margin-top:-66px;padding-bottom:60px}form{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 20px 55px #08243d20}.progress{background:#fff;padding:24px 30px;border-bottom:1px solid var(--line)}.progress>div:first-child{display:flex;justify-content:space-between}.progress span{font-size:12px;color:var(--muted)}.track{height:8px;background:#e8efeb;border-radius:10px;margin:13px 0}.track i{display:block;height:100%;width:14.28%;background:var(--g);border-radius:10px;transition:.25s}ol{display:grid;grid-template-columns:repeat(7,1fr);list-style:none;padding:0;margin:0;font-size:11px;color:#8793a0;text-align:center}.layout{display:grid;grid-template-columns:1fr 300px}.content{padding:35px;min-height:560px}.summary{background:#f7faf8;border-left:1px solid var(--line);padding:28px 23px}.summary h3{margin-top:0}.summary dl{border-bottom:1px solid var(--line);padding-bottom:12px}.summary dt{font-size:10px;color:var(--muted)}.summary dd{margin:4px 0;font-size:13px;font-weight:600}.mini{background:var(--n);color:#fff;padding:16px;border-radius:12px}.mini small{display:block;color:#bcd0dc}.mini b{font-size:18px}.summary p,.fine{font-size:11px;color:var(--muted)}.step{display:none}.step.active{display:block}.step em{color:#087b39;text-transform:uppercase;font-size:12px}.step h2{color:var(--n);font-size:30px;margin:7px 0}.step>p{color:var(--muted);margin-top:0}.choices,.fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}.choice input{position:absolute;opacity:0}.card{display:block;border:2px solid var(--line);border-radius:14px;padding:18px;cursor:pointer;height:100%}.choice input:checked+.card{border-color:var(--g);background:#ebfff3}.card i{display:block;color:#087b39;font-size:21px;margin-bottom:10px}.card b,.card small{display:block}.card small,label small{color:var(--muted);font-size:11px}.fields label{font-size:13px;font-weight:600}.wide{grid-column:1/-1}input,select{display:block;width:100%;padding:12px;border:1.5px solid var(--line);border-radius:10px;margin-top:7px;font:inherit}.flight,.note{margin-top:18px}.note{background:#effaf3;padding:13px;border-radius:10px;color:#315c43;font-size:12px}.bag{display:grid;grid-template-columns:1.2fr .7fr .8fr 38px;gap:10px;align-items:end;margin:12px 0}.remove{height:44px;border:0;border-radius:9px;background:#fff0ef;color:#b42318;font-size:20px}.add{border:1px dashed #70b98a;background:#f3fff7;color:#087b39;padding:11px;border-radius:9px;font-weight:700}.insurance{display:flex;gap:10px;margin-top:18px;border:1px solid var(--line);padding:14px;border-radius:10px}.insurance input{width:auto;margin:3px}.insurance small{display:block}.error{display:none!important;color:#b42318!important;font-size:11px!important}.error.show{display:block!important}.price{background:#f0fff5;border:1px solid #bce5ca;border-radius:15px;padding:23px}.price>strong{display:block;font-size:32px;color:var(--n)}#breakdown div{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:10px 0;font-size:13px}.review{display:grid;grid-template-columns:1fr 1fr;gap:12px}.review article{border:1px solid var(--line);padding:14px;border-radius:11px;font-size:13px;white-space:pre-line}.review h4{color:#087b39;margin:0 0 5px}.actions{display:flex;gap:10px;margin-top:28px;border-top:1px solid var(--line);padding-top:22px}.actions button{border:0;border-radius:10px;padding:12px 17px;font-weight:700}.reset{background:none;color:var(--muted)}.back{margin-left:auto}.next{background:linear-gradient(90deg,var(--g),#5ae27f);color:#042b13}
@media(max-width:800px){.layout{grid-template-columns:1fr}.summary{display:none}.hero{flex-direction:column}.hero aside{max-width:none;width:100%}nav>div a:not(:last-child){display:none}}
@media(max-width:560px){.top{height:34px}.top span:nth-child(2){display:none}.top a{padding:4px 9px}nav{height:58px;padding:0 10px}.brand{font-size:19px}.brand img{width:30px;margin-right:7px}.hero{padding:20px 16px 52px;gap:10px}.hero aside{min-width:0;display:none}.hero small{font-size:10px}.hero h1{font-size:25px;margin:6px 0}.hero p{font-size:13px;line-height:1.5;margin:0;max-width:330px}main{margin-top:-28px;width:calc(100% - 16px);padding-bottom:30px}.progress{padding:15px 16px}.progress b{font-size:13px}.track{height:6px;margin:9px 0 0}.progress>div:first-child{display:block}.progress span,ol{display:none}.content{padding:19px 15px;min-height:0}.step h2{font-size:24px;line-height:1.25;margin:5px 0}.step>p{font-size:13px;line-height:1.5;margin-bottom:17px}.choices,.fields,.review{grid-template-columns:1fr}.card{padding:14px}.card i{margin-bottom:6px}.wide{grid-column:auto}.bag{grid-template-columns:1fr 1fr}.bag label:first-child{grid-column:1/-1}.actions{flex-direction:column;margin-top:20px;padding-top:16px}.actions button{width:100%;padding:11px}.back{margin:0}.reset{order:3}}
html,body{max-width:100%;overflow-x:hidden}
@media(max-width:560px){nav>div{display:none}}
.summary .booking-type dd{display:inline-block;padding:5px 10px;border-radius:999px;background:#e5f8ec;color:#087b39;font-size:12px;text-transform:uppercase;letter-spacing:.04em}
.brand .brand-mark{display:block;width:52px;height:54px;flex:0 0 52px;margin-right:8px;color:inherit}.brand .brand-mark img{display:block;width:100%;height:100%;object-fit:contain;margin:0}.brand .brand-name{color:var(--n);white-space:nowrap}.brand .brand-name strong{color:var(--g);font-weight:800}@media(max-width:560px){.brand .brand-mark{width:42px;height:44px;flex-basis:42px;margin-right:5px}.brand .brand-name{font-size:19px}}
.pin-status{display:block;margin-top:6px;color:var(--muted);font-weight:400}.pin-status.ok{color:#087b39}.pin-status.bad{color:#b42318}
.auto-location{background:#f1f5f3!important;color:#34473d;cursor:not-allowed}
.route-section{margin:0 0 16px;padding:17px;border:1px solid var(--line);border-radius:14px;background:#fbfdfc}.route-section h3{margin:0 0 13px;color:var(--n);font-size:16px}
.preview-toggle,.preview-close,.preview-backdrop{display:none}
@media(max-width:560px){
  .step[data-step="1"] .choices{grid-template-columns:1fr;gap:12px}
  .step[data-step="1"] .card{min-height:130px;padding:14px 16px;border:1px solid #d5e0e6;border-bottom:5px solid #b7c6cf;border-radius:16px;background:linear-gradient(145deg,#fff,#f5f8f7);box-shadow:0 7px 13px rgba(8,36,61,.12),inset 0 1px 0 #fff;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;display:flex;flex-direction:column}
  .step[data-step="1"] .card:active{transform:translateY(4px);border-bottom-width:1px;box-shadow:0 2px 5px rgba(8,36,61,.14)}
  .step[data-step="1"] .choice input:checked+.card{border-color:#09ad4b;border-bottom-color:#078d3d;background:linear-gradient(145deg,#effff4,#ddf9e7);box-shadow:0 8px 16px rgba(9,173,75,.2),inset 0 1px 0 #fff}
  .step[data-step="1"] .card i{width:38px;height:38px;display:grid;place-items:center;margin:0 0 9px;border-radius:11px;background:#e3f7ea;font-size:19px;box-shadow:inset 0 -2px 4px rgba(8,36,61,.08)}
  .step[data-step="1"] .card b{font-size:14px;line-height:1.25;margin-bottom:5px}
  .step[data-step="1"] .card small{font-size:10px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
}

/* Keep the booking form, rather than the promotional hero, above the fold. */
@media(min-width:561px){
  .step[data-step="1"] .choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}
  .step[data-step="1"] .card{height:100%;min-height:180px;padding:20px 16px}
  .hero{padding-top:26px;padding-bottom:48px;align-items:center}
  .hero h1{font-size:clamp(30px,3vw,42px);margin:7px 0}
  .hero p{margin:0;font-size:15px}
  .hero aside{padding:13px 16px;grid-template-columns:23px 1fr}
  main{margin-top:-22px}
}
@media(max-width:560px){
  .hero{display:none}
  main{margin-top:10px}
  form{border-radius:16px}
  .progress{position:sticky;top:0;z-index:5}
  .preview-toggle{display:flex;width:100%;margin-top:11px;padding:9px 11px;border:1px solid #cbd9d1;border-radius:10px;background:#f4fff7;color:#075b2c;font-weight:700;align-items:center;gap:8px}
  .preview-toggle span{display:block;margin-left:auto!important;color:#5b6b61!important;font-size:10px!important;font-weight:600}
  .summary{display:block;position:fixed;z-index:1002;top:0;right:0;width:min(86vw,340px);height:100dvh;padding:25px 20px;background:#f7faf8;border:0;box-shadow:-18px 0 45px rgba(8,36,61,.24);overflow-y:auto;transform:translateX(105%);transition:transform .25s ease}
  .summary.open{transform:translateX(0)}
  .summary .preview-close{display:grid;position:absolute;top:13px;right:14px;width:34px;height:34px;place-items:center;border:0;border-radius:50%;background:#e7eeea;color:#173728;font-size:23px}
  .summary h3{padding-right:40px;margin-top:4px}
  .preview-backdrop{position:fixed;z-index:1001;inset:0;background:rgba(4,24,39,.55)}
  .preview-backdrop.open{display:block}
  body.preview-open{overflow:hidden}
}

/* Homepage palette with raised surfaces and softly colored service cards. */
:root{--n:#0a2540;--g:#079b27;--ink:#102b42;--muted:#607487;--line:#d9e8e4;--bg:#f1f8f4}
body{background:radial-gradient(ellipse at 5% 35%,#dff9e8 0,transparent 48%),radial-gradient(ellipse at 95% 70%,#dceff6 0,transparent 45%),#f3f8f5}
body>header{background:linear-gradient(110deg,#0a2540,#103e51)}
nav{border-radius:16px 16px 0 0;box-shadow:0 -2px 0 #ffffff40,0 10px 24px #041a2e1a}
.hero{position:relative;background:radial-gradient(ellipse at 90% 0%,#2aa85e66,transparent 55%),linear-gradient(115deg,#0a2540 12%,#124b52 68%,#087b39);overflow:hidden}
.hero h1{text-shadow:0 3px 0 #001a2b33}
.hero aside{border-radius:18px;background:linear-gradient(145deg,#ffffff20,#ffffff0d);border:1px solid #ffffff40;box-shadow:0 8px 0 #021e3026,0 16px 26px #001b3026,inset 0 1px 0 #ffffff40;backdrop-filter:blur(8px)}
#wizard{position:relative;border:1px solid #fff;border-radius:26px;box-shadow:0 8px 0 #cfdfd9,0 22px 55px #0a254024,inset 0 1px 0 #fff}
#wizard .progress{background:linear-gradient(110deg,#fff 20%,#effcf3 70%,#e9f6fa);padding-top:25px;padding-bottom:22px}
#wizard .progress b{color:var(--n)}
.track{height:10px;background:#dcece4;box-shadow:inset 0 2px 4px #0a254015}
.track i{background:linear-gradient(90deg,#02b84e,#75f173);box-shadow:0 2px 7px #079b2733,inset 0 1px 0 #ffffff70}
#labels li{font-weight:600;color:#607789}
#wizard .content{background:linear-gradient(165deg,#fff 50%,#f8fcfa)}
.step em{display:inline-block;padding:5px 11px;border-radius:7px;background:#e5f8eb;color:#087b39;font-size:10px;letter-spacing:.12em}
.step h2{letter-spacing:-.7px}
#services{padding:7px 0 12px;perspective:1100px}
#services .choice{min-width:0}
#services .card{--accent:#079b27;--edge:#a5d6b5;position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;min-height:218px;padding:25px 20px;border:1px solid #bee5cb;border-bottom:5px solid var(--edge);border-radius:21px;background:linear-gradient(145deg,#f5fff8,#e4f7eb);box-shadow:0 6px 0 #d3e7da,0 16px 24px #0a254014,inset 0 2px 0 #fff;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
#services .choice:nth-child(2) .card{--accent:#087f9a;--edge:#9ccbd9;border-color:#b8dce7;background:linear-gradient(145deg,#f4fcff,#e0f1f7);box-shadow:0 6px 0 #cde1e8,0 16px 24px #0a254014,inset 0 2px 0 #fff}
#services .choice:nth-child(3) .card{--accent:#b4740b;--edge:#e2ca97;border-color:#e9d9b7;background:linear-gradient(145deg,#fffdf5,#faf0da);box-shadow:0 6px 0 #e9ddc3,0 16px 24px #0a254014,inset 0 2px 0 #fff}
#services .card::before{content:'';position:absolute;z-index:-1;right:-28px;top:-30px;width:112px;height:112px;border-radius:50%;border:18px solid #ffffff75;box-shadow:0 0 0 16px #ffffff30}
#services .card::after{content:'';position:absolute;right:16px;top:16px;width:20px;height:20px;border:2px solid #a7beb8;border-radius:50%;background:#ffffffb0;color:#fff;text-align:center;line-height:20px;font-size:13px;font-weight:800}
#services .card i{display:grid;place-items:center;width:57px;height:57px;flex:0 0 57px;margin:0 0 20px;border-radius:17px;color:var(--accent);font-size:25px;background:linear-gradient(145deg,#fff,#ffffff90);border:1px solid #fff;box-shadow:0 4px 0 #0a25400d,0 9px 15px #0a254014,inset 0 1px 0 #fff;transform:rotate(-5deg)}
#services .card b{font-size:17px;line-height:1.35;letter-spacing:-.35px;color:#0a2540;margin-bottom:8px}
#services .card small{font-size:12px;line-height:1.6;color:#4b6578;display:block;overflow:visible;-webkit-line-clamp:unset}
#services .choice input:checked+.card{border-color:#079b27;border-bottom-color:#079b27;box-shadow:0 6px 0 #079b2730,0 16px 26px #079b2726,inset 0 0 0 1px #079b27;transform:translateY(-3px)}
#services .choice input:checked+.card::after{content:'✓';border-color:#079b27;background:#079b27}
#services .choice input:focus-visible+.card{outline:3px solid #0a2540;outline-offset:5px}
@media(hover:hover){#services .choice:hover .card{transform:translateY(-6px) rotateX(3deg);box-shadow:0 9px 0 #0a25400d,0 22px 30px #0a25401f}#wizard .next:hover{transform:translateY(-2px);filter:brightness(1.04)}}
#services .card:active{transform:translateY(3px);box-shadow:0 2px 0 #0a254015,0 5px 10px #0a254014}
#wizard .summary{background:radial-gradient(circle at 100% 0%,#1d735980,transparent 50%),linear-gradient(160deg,#0a2540,#123d4b);color:#fff;border-left:0}
#wizard .summary h3{font-size:19px;letter-spacing:-.4px}
#wizard .summary dl{border-bottom-color:#ffffff1c;padding-bottom:16px;margin-bottom:19px}
#wizard .summary dt{color:#b7ced5;font-size:10px;letter-spacing:.06em}
#wizard .summary dd{color:#fff;line-height:1.55}
#wizard .summary .booking-type dd{background:#dffbe8;color:#075f2c;box-shadow:0 3px 0 #001b2930}
#wizard .summary .mini{background:linear-gradient(125deg,#079b27,#0a7149);border:1px solid #73e79460;box-shadow:0 5px 0 #04273970,0 10px 22px #00162130,inset 0 1px 0 #a4ffbd50;border-radius:17px;padding:20px 17px}
#wizard .mini small{color:#d6ffe2;font-size:10px;letter-spacing:.07em}
#wizard .mini b{display:block;margin-top:7px;font-size:21px;line-height:1.4}
#wizard .summary p{color:#c3d6dd;line-height:1.7}
.route-section{background:linear-gradient(140deg,#f4fff7,#eef7fa);border-color:#cce4d8;box-shadow:0 4px 0 #e3eee8,inset 0 1px 0 #fff;border-radius:17px}
.fields input,.fields select{background:#fff;box-shadow:inset 0 2px 4px #0a254008;transition:border-color .2s,box-shadow .2s}
input:focus-visible,select:focus-visible{outline:0;border-color:#079b27;box-shadow:0 0 0 3px #079b271c}
.note{border:1px solid #d4eddf;background:linear-gradient(110deg,#effbf3,#edf7fa);box-shadow:inset 0 1px 0 #fff}
.review article{background:linear-gradient(145deg,#fff,#f2faf5);box-shadow:0 4px 0 #e4eee9;border-color:#d4e5dc}
.price{background:linear-gradient(140deg,#e7fced,#edf8fb);box-shadow:0 5px 0 #c8e4d2,inset 0 1px 0 #fff}
#wizard .actions{border-color:#dceae3;margin-top:30px;padding-top:24px}
#wizard .next{background:linear-gradient(100deg,#02b84e,#75f173);border-bottom:4px solid #079b27;box-shadow:0 5px 0 #d0e9d6,0 9px 20px #02ae4026;border-radius:13px;padding:13px 20px;cursor:pointer;transition:transform .2s,filter .2s}
#wizard .next:active{transform:translateY(3px);box-shadow:0 2px 0 #d0e9d6}
#wizard .back{background:#eaf1f5;color:#0a2540;border-bottom:3px solid #cad8e1;cursor:pointer}
#wizard .reset{cursor:pointer}
@media(max-width:560px){#wizard{border-radius:20px;box-shadow:0 5px 0 #cfdfd9,0 14px 30px #0a25401a}#wizard .progress{padding:17px 16px}#services{padding-top:3px}#services .card{min-height:150px;padding:20px 18px 20px 88px;justify-content:center;border-radius:18px}#services .card i{position:absolute;left:17px;top:24px;width:51px;height:51px;font-size:22px}#services .card b{font-size:17px;padding-right:16px}#services .card small{font-size:12px}#services .card::before{width:90px;height:90px}#wizard .summary{background:linear-gradient(155deg,#0a2540,#124b52)}#wizard .summary .preview-close{background:#ffffff20;color:#fff}#wizard .actions{gap:13px}.step h2{letter-spacing:-.5px}}
@media(prefers-reduced-motion:reduce){#services .card,#wizard .next,.track i{transition:none}#services .choice:hover .card{transform:none}}

/* Field text has its own weight so it does not inherit bold labels. */
#wizard .fields label,#wizard .bag label{font-size:12px;font-weight:600;line-height:1.6;color:#27465a;letter-spacing:.01em}
#wizard input:not([type=radio]):not([type=checkbox]):not([type=hidden]),#wizard select{font-family:Poppins,system-ui,sans-serif;font-size:14px;font-weight:400;line-height:1.55;letter-spacing:0;color:#16364b;min-height:49px;padding:13px 15px;border:1px solid #cedfd8;border-radius:12px;background:linear-gradient(180deg,#fff,#fcfefd);box-shadow:0 3px 0 #e3eee8,inset 0 1px 2px #0a254006;transition:border-color .18s,box-shadow .18s,background .18s}
#wizard input::placeholder{color:#718797;font-size:12px;font-weight:400;opacity:1;letter-spacing:0}
#wizard input:not([type=radio]):not([type=checkbox]):focus-visible,#wizard select:focus-visible{border-color:#079b27;outline:0;background:#fff;box-shadow:0 3px 0 #bfe4ca,0 0 0 4px #079b2715}
#wizard input[readonly],#wizard select:disabled{background:linear-gradient(180deg,#edf5f1,#e8f0ed)!important;color:#526f62;box-shadow:inset 0 2px 4px #0a254008;cursor:default}
#wizard input[readonly]::placeholder{color:#7a8d83;font-size:11px}
#wizard .fields label small,#wizard .pin-status{font-size:11px;font-weight:400;letter-spacing:0;line-height:1.6}
#wizard .route-section h3{font-size:15px;font-weight:700;letter-spacing:-.2px}
#wizard select{padding-right:36px;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23526f62' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}
@media(max-width:560px){#wizard input:not([type=radio]):not([type=checkbox]):not([type=hidden]),#wizard select{font-size:16px;padding:12px 13px;min-height:49px}#wizard input::placeholder{font-size:12px}}
.package-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:20px 0}.package-choice{position:relative;cursor:pointer}.package-choice input{position:absolute;left:14px;top:14px;width:18px!important;height:18px;min-height:0!important;margin:0;padding:0!important;accent-color:#079b27}.package-choice>span{display:flex;flex-direction:column;gap:7px;padding:20px 18px 20px 44px;border:2px solid #dce5eb;border-radius:14px;background:#fff;height:100%}.package-choice input:checked+span{border-color:#079b27;background:#effbf3;box-shadow:0 4px 12px #079b2718}.package-choice input:focus-visible+span{outline:3px solid #079b27;outline-offset:3px}.package-choice b{font-size:14px;color:#08243d}.package-choice strong{font-size:23px;color:#087b39}.package-choice small{font-size:11px;line-height:1.6;color:#526779}@media(max-width:560px){.package-options{grid-template-columns:1fr}}
#wizard .insurance{cursor:pointer;align-items:flex-start}#wizard .insurance input[type=checkbox]{appearance:auto;flex:0 0 20px;width:20px;height:20px;margin:2px 0 0;padding:0;accent-color:#079b27;cursor:pointer}#wizard .insurance:has(input:checked){border-color:#079b27;background:#e5f9ed}#wizard .insurance span{min-width:0;line-height:1.6}
