@font-face{font-family:Rubik;src:url(../fonts/rubik-var.woff2) format("woff2");font-weight:500 800;font-display:swap}
@font-face{font-family:"Open Sans";src:url(../fonts/opensans-var.woff2) format("woff2");font-weight:300 800;font-display:swap}
:root{--navy:#29427e;--navy-d:#1b2c57;--ink:#1f2433;--mut:#566079;--or:#f79433;--or-d:#e07d1a;--gr:#39b54a;--teal:#68c9cb;--line:#dfe3ec;--soft:#f3f5f9;
--hf:Rubik,system-ui,sans-serif;--bf:"Open Sans",system-ui,sans-serif}
*,*::before,*::after{box-sizing:border-box}[hidden]{display:none!important}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font:16px/1.6 var(--bf);color:var(--ink);background:#fff}
img{max-width:100%;display:block}a{color:var(--navy)}
h1,h2,h3{font-family:var(--hf);line-height:1.15;margin:0 0 .6em;color:var(--ink)}
h1{font-size:clamp(1.75rem,3.6vw,2.9rem);font-weight:700;letter-spacing:-.01em}
h2{font-size:clamp(1.45rem,2.4vw,2rem);font-weight:700}h3{font-size:1.1rem;font-weight:700}
p{margin:0 0 1em}ul,ol{margin:0;padding:0}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}.wrap--n{max-width:820px}
.sec{padding:4.25rem 0}.lead{color:var(--mut);max-width:640px}
@media(max-width:900px){.sec{padding:3.5rem 0}}@media(max-width:600px){.sec{padding:2.75rem 0}h2{font-size:1.5rem}}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;font:700 1rem/1 var(--hf);text-decoration:none;border:0;border-radius:6px;padding:.95rem 1.4rem;cursor:pointer;white-space:nowrap}
.btn svg{width:1.1em;height:1.1em}
.btn--or{background:var(--or);color:#1a1f2e}.btn--or:hover{background:#ffa449}
.btn--white{background:#fff;color:var(--navy)}
.btn--navy{background:var(--navy);color:#fff}.btn--navy:hover{background:var(--navy-d)}
.acts{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.1rem}

/* top bar + header */
.tb{background:var(--navy-d);color:#e9eefb;font-size:.8rem;text-align:center;padding:.35rem 12px}
.hd{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line)}
.hd__in{display:flex;align-items:center;gap:1rem;height:70px}
.hd__logo{height:52px;width:auto;margin-right:auto}
.hd__ph{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--ink)}
.hd__ic{width:42px;height:42px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center}.hd__ic svg{width:20px;height:20px}
.hd__num{font:700 1.35rem/1.05 var(--hf);display:flex;flex-direction:column}.hd__num small{font:600 .72rem var(--bf);color:var(--mut)}
.hd__btn{padding:.8rem 1.1rem}
@media(max-width:600px){.tb{font-size:.68rem;padding:.3rem 8px}.hd__in{height:58px;gap:.55rem}.hd__logo{height:40px}.hd__num{display:none}.hd__ic{width:40px;height:40px}.hd__btn{font-size:.85rem;padding:.7rem .85rem}}

/* proof */
.proof{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;font-size:.95rem;margin:0 0 .8rem}
.stars{display:inline-flex;gap:1px}.stars svg{width:15px;height:15px;fill:#fbbf24}
.proof b{font-size:1.05rem}

/* photo hero base */
.hero{position:relative;overflow:hidden;color:#fff;background:var(--navy-d)}
.hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% 50%}
.hero h1{color:#fff}.hero .proof{color:rgba(255,255,255,.92)}
.hero::before{content:"";position:absolute;inset:0;z-index:1}
.hero>.wrap{position:relative;z-index:2}

/* ---------- A ---------- */
.ha::before{background:linear-gradient(90deg,rgba(18,28,58,.88) 0%,rgba(18,28,58,.74) 40%,rgba(18,28,58,.38) 66%,rgba(18,28,58,.2) 100%)}
@media(max-width:959px){.ha::before{background:linear-gradient(180deg,rgba(18,28,58,.78) 0%,rgba(18,28,58,.88) 60%,rgba(18,28,58,.95) 100%)}}
.ha__in{padding:2.6rem 20px 2.8rem}
.ha__sub{font-size:1.08rem;color:rgba(255,255,255,.93);max-width:34rem}
.ha__fmt{list-style:none;margin-top:1.6rem;display:grid;gap:.45rem;max-width:32rem}
.ha__fmt li{padding-left:1rem;border-left:3px solid var(--or);font-size:.92rem;color:rgba(255,255,255,.9)}.ha__fmt b{color:#fff}
.ha__book{background:#fff;color:var(--ink);border-radius:10px;padding:1rem;box-shadow:0 18px 40px rgba(0,0,0,.3)}
.ha__bt{font:700 1rem var(--hf);margin:0 0 .5rem}
@media(min-width:960px){.ha__in{display:grid;grid-template-columns:1fr 470px;gap:2.6rem;align-items:start}.ha .td{height:640px}}
@media(max-width:959px){.ha__book{margin-top:1.8rem}.ha__fmt{display:none}}

/* calendar iframe */
.td{width:100%;height:640px;border:0;border-radius:8px;background:#fff;display:block}
.td__note{font-size:.85rem;color:var(--mut);margin:.6rem 0 0}
@media(max-width:600px){.td{height:700px}}

/* credential strip */
.cs{background:var(--navy);color:#fff}
.cs__in{display:grid;grid-template-columns:repeat(4,1fr)}
.cs__i{padding:1.3rem 1.2rem;border-left:1px solid rgba(255,255,255,.18)}.cs__i:first-child{border-left:0}
.cs__i b{display:block;font:700 1.45rem/1.1 var(--hf);color:var(--or)}.cs__i span{font-size:.88rem;color:#dfe6f7}
@media(max-width:800px){.cs__in{grid-template-columns:1fr 1fr}.cs__i:nth-child(3){border-left:0}.cs__i{border-top:1px solid rgba(255,255,255,.12)}}

/* venues */
.vn__l{list-style:none;margin-top:1.6rem}
.vn--list .vn__l{display:grid;gap:0;border-top:1px solid var(--line)}
.vn--list .vn__i{display:grid;grid-template-columns:150px 1fr;gap:1.2rem;padding:1rem 0;border-bottom:1px solid var(--line);align-items:center}
.vn--list img{width:150px;height:88px;object-fit:cover;border-radius:6px}
.vn__i h3{margin:0 0 .15rem}.vn__i p{margin:0;font-size:.93rem;color:var(--mut)}
.vn__when a{font-weight:700;color:var(--navy)}.vn__park{font-size:.8rem!important}
.vn--cards .vn__l{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.vn--cards .vn__i{background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.vn--cards .vn__i>div{padding:.9rem 1rem 1rem}.vn--cards img{width:100%;aspect-ratio:17/10;object-fit:cover}
.vn--cards{background:var(--soft)}
@media(max-width:900px){.vn--cards .vn__l{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.vn--cards .vn__l{grid-template-columns:1fr}.vn--list .vn__i{grid-template-columns:96px 1fr}.vn--list img{width:96px;height:64px}}

/* covers */
.cov{background:var(--soft)}
.cov__in{display:grid;gap:2.2rem}
@media(min-width:900px){.cov__in{grid-template-columns:1.25fr 1fr}}
.cov__l{columns:2;column-gap:2rem;list-style:none}.cov__l li{break-inside:avoid;padding:.35rem 0 .35rem 1.4rem;position:relative}
.cov__l li::before{content:"";position:absolute;left:0;top:.85rem;width:.6rem;height:.6rem;border-radius:2px;background:var(--gr)}
@media(max-width:600px){.cov__l{columns:1}}
.cov__side{background:#fff;border-radius:8px;padding:1.4rem 1.5rem;border:1px solid var(--line)}
.cov__u{list-style:none;margin-bottom:1.2rem}.cov__u li{padding:.3rem 0;border-bottom:1px dashed var(--line);font-size:.93rem}

/* how */
.how__l{list-style:none;counter-reset:s;display:grid;gap:.9rem;max-width:760px;margin-top:1.2rem}
.how__l li{counter-increment:s;position:relative;padding-left:2.4rem}
.how__l li::before{content:counter(s) ".";position:absolute;left:0;font:700 1.15rem var(--hf);color:var(--navy)}

/* reviews */
.rv__l{display:grid;gap:1.4rem;margin-top:1.2rem}
@media(min-width:800px){.rv__l{grid-template-columns:repeat(3,1fr)}}
.rv blockquote{margin:0;padding:0 0 0 1rem;border-left:3px solid var(--teal)}
.rv blockquote p{font-size:1.05rem;margin:0 0 .3rem}.rv cite{font-style:normal;font-size:.85rem;color:var(--mut)}

/* group form */
.grp{background:var(--navy-d);color:#fff}
.grp h2{color:#fff}.grp a{color:#fff}
.grp__in{display:grid;gap:2rem}@media(min-width:900px){.grp__in{grid-template-columns:1fr 1fr;align-items:center}}
.grp__copy p{color:#dfe6f7}
.gf{background:#fff;color:var(--ink);border-radius:10px;padding:1.4rem}
.gf__step{font-size:.8rem;font-weight:700;color:var(--mut);margin:0 0 .6rem}
.fld{margin-bottom:.8rem}.fld label{display:block;font-size:.85rem;font-weight:600;margin-bottom:.25rem}
.fld input{width:100%;font:inherit;padding:.7rem .8rem;border:1px solid #8b93a7;border-radius:6px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}@media(max-width:480px){.row2{grid-template-columns:1fr}}
.gf .btn{width:100%}.gf__back{background:none;border:0;color:var(--mut);margin-top:.5rem;cursor:pointer;font:inherit;text-decoration:underline}
.ferr{color:#b42318;font-size:.88rem;margin:.5rem 0 0;display:none}.ferr.show{display:block}
.hp{position:absolute;left:-9999px}

/* faq */
.faq__i{border-bottom:1px solid var(--line)}
.faq__q{width:100%;text-align:left;background:none;border:0;font:700 1.05rem var(--hf);padding:1rem 2rem 1rem 0;cursor:pointer;position:relative;color:var(--ink)}
.faq__q::after{content:"+";position:absolute;right:.2rem;top:.8rem;font-size:1.4rem;color:var(--navy)}
.faq__i.open .faq__q::after{content:"\2212"}
.faq__a{max-height:0;overflow:hidden;transition:max-height .25s ease}.faq__a p{color:var(--mut)}

/* footer + mobile bar */
.ft{background:#141d38;color:#c9d2e8;padding:2.4rem 0 5rem;font-size:.9rem}.ft a{color:#fff}
.ft img{height:46px;width:auto;margin-bottom:1rem}.ft__s{font-size:.78rem;color:#93a0c0}
.mbar{position:fixed;left:12px;right:12px;bottom:12px;z-index:60;background:var(--or);color:#1a1f2e;text-align:center;font:700 1rem var(--hf);padding:1rem;border-radius:8px;text-decoration:none;box-shadow:0 8px 24px rgba(0,0,0,.25)}
@media(min-width:900px){.mbar{display:none!important}}

/* ---------- B ---------- */
.hbk::before{background:linear-gradient(180deg,rgba(18,28,58,.2) 0%,rgba(18,28,58,.45) 60%,rgba(18,28,58,.9) 100%),linear-gradient(90deg,rgba(18,28,58,.8) 0%,rgba(18,28,58,.55) 45%,rgba(18,28,58,.05) 80%)}
.hbk__in{padding:3.4rem 20px 1.6rem;max-width:1180px}.hbk h1{max-width:44rem}
.hbk__sub{font-size:1.08rem;color:rgba(255,255,255,.93);max-width:36rem}
.hbk__call{display:inline-flex;align-items:center;gap:.5rem;color:#fff;font:700 1.1rem var(--hf);text-decoration:none;background:var(--navy);padding:.8rem 1.1rem;border-radius:6px}.hbk__call svg{width:1.1em;height:1.1em}
.tk{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,auto) 1fr;align-items:center;background:#fff;color:var(--ink);border-radius:10px;margin-bottom:2.4rem;box-shadow:0 14px 34px rgba(0,0,0,.28);overflow:hidden}
.tk__c{padding:1rem 1.4rem;border-right:1px dashed #c4cad8}.tk__c small{display:block;font-size:.75rem;color:var(--mut);font-weight:600}.tk__c b{font:700 1.2rem var(--hf);white-space:nowrap}
.tk__go{justify-self:end;margin:0 1rem}
@media(max-width:900px){.tk{grid-template-columns:1fr 1fr}.tk__c b{white-space:normal;font-size:1.05rem}.tk__c{padding:.75rem 1rem}.tk__c{border-bottom:1px dashed #c4cad8}.tk__c:nth-child(2n){border-right:0}.tk__go{grid-column:1/-1;justify-self:stretch;margin:.9rem}.hbk__in{padding-top:1.6rem}.hbk__sub{font-size:.98rem}}
.bk h2{margin-bottom:1rem}

/* ---------- C ---------- */
.hc::before{background:radial-gradient(ellipse 60% 75% at 25% 50%,rgba(18,28,58,.86) 0%,rgba(18,28,58,.62) 60%,rgba(18,28,58,.3) 100%)}
.hc__in{padding:2.8rem 20px 3rem;display:grid;gap:2rem}
@media(min-width:960px){.hc__in{grid-template-columns:1.15fr 1fr;align-items:end}}
.hc__price{display:inline-block;background:var(--or);color:#1a1f2e;border-radius:6px;padding:.3rem .7rem;font-size:.9rem;margin-bottom:1rem}.hc__price b{font:800 1.3rem var(--hf)}
.hc__sub{font-size:1.05rem;color:rgba(255,255,255,.93);max-width:34rem}
.hc__pick{background:rgba(255,255,255,.97);color:var(--ink);border-radius:10px;padding:1.2rem}
.hc__q{font:700 1.05rem var(--hf);margin:0 0 .7rem}
.pk__l{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.pk{display:block;text-decoration:none;color:var(--ink);border:1.5px solid #8b93a7;border-radius:8px;padding:.7rem .8rem}
.pk:hover{border-color:var(--navy);background:var(--soft)}.pk b{display:block;font:700 1rem var(--hf);color:var(--navy)}.pk span{font-size:.8rem;color:var(--mut)}
.hc__pick .btn--white{background:var(--navy);color:#fff}
.bc__in{display:grid;gap:2rem}@media(min-width:960px){.bc__in{grid-template-columns:1fr 340px}}
.bc__side{background:var(--soft);border-radius:8px;padding:1.4rem}.bc__side ol,.bc__side ul{padding-left:1.1rem;margin-bottom:1.2rem}.bc__side li{margin:.35rem 0;font-size:.93rem}
@media(max-width:600px){.hc__in{padding-top:1.4rem}.hc__sub{font-size:.95rem}.hc__pick .acts .btn{flex:1 1 100%}}

@media(max-width:600px){.hero h1{font-size:1.72rem}.ha__in{padding-top:1.4rem}.ha__sub{font-size:.95rem}.acts .btn{flex:1 1 100%}.hero__img{object-position:72% 50%}}
@media(max-width:600px){.tk__c:nth-child(3),.tk__c:nth-child(4){display:none}.tk__c:nth-child(2){border-right:0}.hbk__in{padding-bottom:1rem}.hbk .proof{margin-bottom:.5rem}
.hc__price{display:none}.hc__pick{display:flex;flex-direction:column;padding:1rem}.hc__pick .acts{order:-1;margin:0 0 .9rem}}
@media(max-width:600px){.ha .hero__img,.hc .hero__img{height:520px;bottom:auto;-webkit-mask-image:linear-gradient(#000 65%,transparent);mask-image:linear-gradient(#000 65%,transparent)}
.vn--cards .vn__i{display:grid;grid-template-columns:110px 1fr;align-items:center}.vn--cards img{width:110px;height:72px;aspect-ratio:auto;margin-left:.8rem;border-radius:6px}}
.hd .btn--or,.tk .btn--or,.hc__pick .btn--or{background:#b85600;color:#fff}.hd .btn--or:hover,.tk .btn--or:hover,.hc__pick .btn--or:hover{background:#9c4900}
@media(max-width:600px){.hbk::before,.hc::before{background:linear-gradient(180deg,rgba(18,28,58,.8) 0%,rgba(18,28,58,.86) 55%,rgba(18,28,58,.95) 100%)}}
