/* inner pages */
.phero{position:relative;overflow:hidden;border-bottom:1px solid var(--line);background:#0A0A0B;min-height:clamp(300px,42vh,440px);display:grid;align-items:end}
.phero__img{position:absolute;inset:0;background-size:cover;background-position:center 45%;z-index:0}
.phero__scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(96deg,rgba(8,8,9,.95) 0%,rgba(8,8,9,.84) 40%,rgba(8,8,9,.44) 78%,rgba(8,8,9,.6) 100%)}
.phero__in{position:relative;z-index:2;max-width:var(--wrap);width:100%;margin:0 auto;padding:clamp(56px,7vw,88px) var(--gut) clamp(38px,5vw,58px)}
.phero .h1{font-size:clamp(34px,4.6vw,58px);max-width:22ch;margin-top:12px}
.phero .lead{margin-top:16px;max-width:44ch}
.crumb{font-size:13.5px;color:var(--muted)}
.crumb a{color:var(--muted)}
.crumb a:hover{color:var(--accent)}

.psec{padding:clamp(52px,6.5vw,96px) 0;border-bottom:1px solid var(--line)}
.psec__in{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.pcols{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(32px,5vw,72px);align-items:start}
.prose{max-width:64ch}
.prose h2{font-family:var(--display);font-weight:700;font-size:clamp(26px,3vw,38px);line-height:1.08;letter-spacing:-0.02em;margin-top:38px}
.prose h2:first-child{margin-top:0}
.prose h3{font-family:var(--display);font-weight:700;font-size:clamp(19px,1.9vw,23px);line-height:1.14;margin-top:26px}
.prose p{color:#CFCAC1;font-size:16.5px;line-height:1.65;margin-top:14px}
.prose ul{margin-top:16px;display:grid;gap:11px}
.prose ul li{position:relative;padding-left:22px;color:#CFCAC1;font-size:16.5px;line-height:1.55}
.prose ul li::before{content:'';position:absolute;left:0;top:.62em;width:10px;height:2px;background:var(--accent)}
.prose a{border-bottom:1px solid rgba(216,166,43,.4)}
.prose strong{color:var(--ink);font-weight:700}

.sidecard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:24px}
.sidecard h3{font-family:var(--display);font-weight:700;font-size:19px;line-height:1.15}
.sidecard p{color:var(--muted);font-size:15px;line-height:1.55;margin-top:10px}
.sidecard .btn{margin-top:18px;width:100%}
.sidecard + .sidecard{margin-top:18px}
.sidelist{margin-top:16px;border-top:1px solid var(--line)}
.sidelist li{border-bottom:1px solid var(--line)}
.sidelist a{display:flex;justify-content:space-between;gap:10px;padding:12px 0;color:var(--ink);font-size:15.5px;font-weight:500}
.sidelist a:hover{color:var(--accent)}
.sidelist a::after{content:'\2192';color:var(--muted)}
.sidelist a:hover::after{color:var(--accent)}

/* routes grid */
.rgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,26px);margin-top:clamp(28px,3vw,44px)}

/* faq */
.faq{max-width:78ch;margin-top:clamp(26px,3vw,40px);border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:20px 40px 20px 0;position:relative;font-family:var(--display);font-weight:700;font-size:clamp(17px,1.7vw,20px);line-height:1.25}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';position:absolute;right:6px;top:50%;transform:translateY(-50%);color:var(--accent);font-size:22px;font-family:var(--body);font-weight:400}
.faq details[open] summary::after{content:'\2013'}
.faq summary:hover{color:var(--accent)}
.faq p{color:#CFCAC1;font-size:16.5px;line-height:1.65;padding:0 0 22px;max-width:62ch}
.faq p + p{padding-top:0;margin-top:-8px}

/* contact */
.cgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,26px);margin-top:clamp(28px,3vw,40px)}
.ccard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:26px}
.ccard .label{color:var(--muted)}
.ccard b{display:block;font-family:var(--display);font-weight:700;font-size:clamp(19px,1.9vw,23px);line-height:1.2;margin-top:10px}
.ccard a{color:var(--ink)}
.ccard a:hover{color:var(--accent)}
.ccard p{color:var(--muted);font-size:15px;line-height:1.55;margin-top:10px}
.mapwrap{margin-top:clamp(28px,3vw,44px);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;aspect-ratio:21/9;background:var(--surface)}
.mapwrap iframe{width:100%;height:100%;border:0;display:block;filter:grayscale(.35) contrast(1.05) brightness(.85)}

/* standalone booking form page */
.bookpage{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.bookpage .fgrid{margin-top:0}
.formpanel{background:#111113;border:1px solid var(--line);border-radius:var(--r);padding:clamp(24px,3vw,40px)}
.formnote{color:var(--muted);font-size:14.5px;line-height:1.55;margin-top:16px;max-width:56ch}

@media (max-width:1000px){
  .pcols,.rgrid,.cgrid{grid-template-columns:1fr}
  .phero .lead{max-width:none}
}
@media (max-width:860px){.rgrid{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.rgrid{grid-template-columns:1fr}}
