
:root{--navy:#003B7A;--yel:#FFC900;--bg:#fff;--grey:#F5F7FA;--tx:#202A35;--card:#fff;--bd:#dde3ea;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0e1621;--grey:#152133;--tx:#e8edf3;--card:#18263a;--bd:#2b3b52;--navy:#7db2f0}}
html{scroll-padding-top:env(safe-area-inset-top,0px)}*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--tx);font:16px/1.6 Inter,system-ui,sans-serif}
h1,h2,h3,.btn,nav a{font-family:Montserrat,system-ui,sans-serif}h1,h2,h3{color:var(--navy);line-height:1.2}
header{position:sticky;top:env(safe-area-inset-top,0px);background:var(--card);border-bottom:3px solid var(--yel);z-index:5}
.w{max-width:1080px;margin:auto;padding:0 16px}.hd{display:flex;align-items:center;gap:12px;justify-content:space-between;padding:8px 0;flex-wrap:wrap}
.hd img{height:44px}nav{display:flex;gap:4px;flex-wrap:wrap}nav a{padding:8px 12px;color:var(--navy);text-decoration:none;font-weight:600;font-size:14px;border-radius:8px}nav a.on,nav a:hover{background:var(--grey)}
.btn{background:var(--yel);color:#202A35;border:0;border-radius:10px;padding:12px 20px;font-weight:700;font-size:15px;cursor:pointer;text-decoration:none;display:inline-block}
.btn.o{background:transparent;border:2px solid var(--yel);color:inherit}.btn.n{background:var(--navy);color:#fff}
.hero{background:linear-gradient(135deg,#003B7A,#002a57);color:#fff;padding:36px 0}.hero h1{color:#fff;font-size:clamp(26px,5vw,40px);margin:0 0 8px}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}@media(max-width:820px){.g2{grid-template-columns:1fr}}
.bk{background:var(--card);color:var(--tx);border-radius:16px;padding:18px;box-shadow:0 8px 30px #0003}
.bk label{display:block;font-size:13px;font-weight:500;margin:10px 0 4px}
input,select,textarea{width:100%;padding:11px 14px;border:1px solid var(--bd);border-radius:12px;font:inherit;background:var(--bg);color:var(--tx)}
.steps{display:flex;gap:6px;margin-bottom:8px}.steps span{flex:1;text-align:center;font:600 12px Montserrat;padding:6px;border-radius:8px;background:var(--grey);color:var(--tx)}.steps .on{background:var(--yel);color:#202A35}
.vg{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:10px 0}
.vc{border:2px solid var(--bd);border-radius:14px;padding:10px;text-align:center;background:var(--card)}.vc.sel{border-color:var(--yel);box-shadow:0 0 0 2px var(--yel)}
.vc img{width:100%;aspect-ratio:3/2;object-fit:contain}.vc h3{margin:2px 0;font-size:16px}.vc small{display:block;opacity:.75}.vc b{display:block;font:800 22px Montserrat;color:var(--navy);margin:4px 0}
.map{background:var(--grey);border-radius:12px;margin:10px 0;overflow:hidden}.row{display:flex;justify-content:space-between;padding:4px 0;border-bottom:1px dashed var(--bd);font-size:14px}.row.t{font:700 17px Montserrat;color:var(--navy);border:0}
.sec{padding:40px 0}.alt{background:var(--grey)}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.cards>div{background:var(--card);border:1px solid var(--bd);border-radius:14px;padding:16px}
.note{font-size:13px;opacity:.85}.err{color:#c0392b;font-size:13px}.pill{display:inline-block;background:var(--card);border:1px solid var(--bd);border-radius:99px;padding:4px 12px;margin:3px;font-size:14px}
footer{background:#002a57;color:#cfd9e6;padding:28px 0;font-size:14px}footer a{color:var(--yel);text-decoration:none}footer a:hover{text-decoration:underline}.sv{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px;margin-top:20px}.sv>div{border:0;border-top:4px solid var(--yel);border-radius:16px;padding:22px;box-shadow:0 4px 18px #003b7a1a;transition:transform .2s,box-shadow .2s}.sv>div:hover{transform:translateY(-4px);box-shadow:0 10px 26px #003b7a2e}.sv h3{margin:0 0 8px;font-size:18px}.sv p{margin:0 0 12px;font-size:15px}.ic{display:flex;width:54px;height:54px;border-radius:14px;background:linear-gradient(135deg,#003B7A,#0a5bb5);align-items:center;justify-content:center;font-size:26px;margin-bottom:14px;box-shadow:0 0 0 3px #FFC900}.sv a.m{font:700 14px Montserrat,sans-serif;color:var(--navy);text-decoration:none}.sv a.m:hover{text-decoration:underline}
.capb{display:flex;gap:10px;align-items:center;border:1px solid var(--bd);background:var(--grey);border-radius:8px;padding:12px;margin-top:10px;font-size:14px;width:fit-content;max-width:100%}.fg{display:grid;grid-template-columns:1.4fr 1fr 1.2fr;gap:28px}@media(max-width:760px){.fg{grid-template-columns:1fr}}.fg h4{font:700 15px Montserrat,sans-serif;color:#fff;margin:0 0 10px}.fg ul{list-style:none;margin:0;padding:0}.fg li{margin:6px 0}.fl{display:inline-block;margin-bottom:12px}.fl img{height:100px;display:block;width:auto}.fb{border-top:1px solid #ffffff26;margin-top:20px;padding-top:12px;font-size:12px;opacity:.8}.pg{display:none}.pg.on{display:block}

html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased}
header{box-shadow:0 2px 14px #003b7a1f}.hd{padding:10px 0}.hd img{height:48px}nav a{position:relative;padding:10px 14px;transition:background .2s}nav a.on{background:transparent}nav a.on::after{content:"";position:absolute;left:14px;right:14px;bottom:2px;height:3px;border-radius:3px;background:var(--yel)}
.btn{border-radius:999px;padding:13px 26px;letter-spacing:.2px;box-shadow:0 3px 10px #0002;transition:transform .15s,box-shadow .15s,filter .15s}.btn:hover{transform:translateY(-2px);box-shadow:0 8px 18px #0003;filter:brightness(1.05)}.btn.o{box-shadow:none}.btn.n{background:#003B7A;color:#fff}
:focus-visible{outline:3px solid #FFC900;outline-offset:2px}
.hero{background:radial-gradient(circle at 85% 10%,#1a5fb4 0,transparent 45%),linear-gradient(135deg,#003B7A,#00244d);padding:56px 0 64px;position:relative}.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:6px;background:repeating-linear-gradient(90deg,#FFC900 0 28px,#003B7A 28px 56px)}
.hero h1{font-size:clamp(28px,5vw,46px);font-weight:800;letter-spacing:-.5px;margin-bottom:14px}.hero p{font-size:17px;line-height:1.7;color:#dbe6f4;max-width:520px}.hero .btn.o{color:#fff}
.tr{list-style:none;display:flex;flex-wrap:wrap;gap:8px 18px;padding:0;margin:26px 0 0;font-size:14px;color:#dbe6f4}.tr li::before{content:"✓";display:inline-block;width:20px;height:20px;line-height:20px;text-align:center;border-radius:50%;background:#FFC900;color:#002a57;font-weight:800;font-size:12px;margin-right:8px}
.bk{border-radius:20px;border-top:6px solid #FFC900;padding:22px;box-shadow:0 18px 50px #00000040}
input,select,textarea{border-radius:12px;padding:12px 14px;transition:border-color .2s,box-shadow .2s}input:focus,select:focus,textarea:focus{outline:0;border-color:#003B7A;box-shadow:0 0 0 3px #003b7a26}
.steps span{border-radius:999px;padding:7px}.bk h3{font-size:18px;margin:18px 0 4px}
.vc{border-radius:16px;transition:transform .15s,box-shadow .15s}.vc:hover{transform:translateY(-3px);box-shadow:0 8px 20px #003b7a26}.vc.sel{background:#fffbea;color:#202A35}.vc.sel h3,.vc.sel b{color:#003B7A}.vc.sel .btn{background:#003B7A;color:#fff}
.sec{padding:64px 0}.sec h2{font-size:clamp(24px,3.4vw,34px);font-weight:800;margin:0}.sec h2::after{content:"";display:block;width:56px;height:4px;border-radius:4px;background:#FFC900;margin:12px 0 28px}
.alt{background:linear-gradient(180deg,var(--grey),var(--bg) 260%)}
.cards>div{border-radius:18px;padding:22px;box-shadow:0 4px 18px #003b7a14;transition:transform .2s,box-shadow .2s}.cards>div:hover{transform:translateY(-3px);box-shadow:0 12px 28px #003b7a26}
.alt .cards:not(.sv)>div::before{content:"✓";display:flex;width:36px;height:36px;border-radius:50%;background:#FFC900;color:#002a57;font-weight:800;align-items:center;justify-content:center;margin-bottom:12px}
#vopts>div{padding:0 0 18px;overflow:hidden;text-align:center}#vopts img{display:block;padding:14px;background:linear-gradient(180deg,#fff,#eef2f7)}#vopts h3{margin:14px 0 4px;font-size:20px}#vopts p{margin:0;padding:0 14px;opacity:.8}
.sv>div{border-top-width:5px}
.pill{background:#003B7A;color:#fff;border:0;padding:8px 16px;font-weight:500;box-shadow:0 2px 8px #003b7a33}.pill::before{content:"📍 ";font-size:12px}
.cta{background:linear-gradient(135deg,#003B7A,#00244d);color:#fff;text-align:center;padding:56px 0;border-top:6px solid #FFC900}.cta h2{color:#fff;margin:0 0 8px}.cta h2::after{display:none}.cta p{margin:0 0 22px;color:#dbe6f4}
#about .w,#contact .w{max-width:960px}#about p{font-size:17px;max-width:760px}#about h1,#contact h1,#book h1{font-size:clamp(28px,4vw,40px);font-weight:800;margin:0 0 6px}#about h1::after,#contact h1::after,#book h1::after{content:"";display:block;width:56px;height:4px;border-radius:4px;background:#FFC900;margin:12px 0 24px}#about h2{font-size:22px}#about h2::after{display:none}
footer{background:linear-gradient(180deg,#00305f,#001c3d);border-top:5px solid #FFC900;padding:48px 0 24px}.fg h4{position:relative;padding-bottom:10px;margin-bottom:14px;font-size:16px}.fg h4::after{content:"";position:absolute;left:0;bottom:0;width:32px;height:3px;background:#FFC900;border-radius:3px}.fg li a:hover{color:#fff}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
dialog{border:0;border-radius:16px;max-width:420px;background:var(--card);color:var(--tx)}

.pac{margin-bottom:4px}.pac gmp-place-autocomplete{width:100%;color-scheme:light dark}.stat{padding:12px;border-radius:10px;margin-top:10px;font-weight:600}.stat.ok{background:#e6f6ec;color:#14532d}.stat.pend{background:#fff7dd;color:#5b4500}.stat.err{background:#fde8e8;color:#8a1c1c}
#card{min-height:90px;margin:10px 0}.rte{height:240px;border-radius:12px;margin:10px 0;overflow:hidden}.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:99}.bk h3:first-child{margin-top:0}
.lm{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}.lm>div{background:var(--card);border:1px solid var(--bd);border-radius:18px;padding:20px;box-shadow:0 4px 18px #003b7a14}.lm h3{margin:0 0 8px;font-size:17px}.lm ul{margin:0;padding:0;list-style:none}.lm li{padding:6px 0 6px 26px;position:relative}.lm li::before{content:"📍";position:absolute;left:0;font-size:14px}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 10px}.chips button{border:1px solid var(--bd);background:var(--grey);color:var(--tx);border-radius:99px;padding:6px 12px;font:500 13px Inter,sans-serif;cursor:pointer}.chips button:hover{border-color:#003B7A}
.fare{margin:0 0 10px;padding:10px 12px;border-radius:12px;background:#fff8dc;border-left:4px solid #FFC900;color:#202A35}.fare b{display:block;font:800 20px Montserrat,sans-serif;color:#003B7A}.fare small{display:block;font-size:12px;opacity:.85}
