:root{--jpse-motion:cubic-bezier(.22,.8,.2,1);--jpse-glass:rgba(8,7,5,.72);--jpse-edge:rgba(255,255,255,.09)}
html{scroll-padding-top:92px}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-optical-sizing:auto}
.topbar{background:var(--jpse-glass);backdrop-filter:blur(24px) saturate(165%);-webkit-backdrop-filter:blur(24px) saturate(165%);border-bottom-color:rgba(255,211,0,.16);box-shadow:none;transition:background .22s ease,box-shadow .22s ease}
.topbar:after{content:"";position:absolute;left:0;right:0;bottom:-14px;height:14px;background:linear-gradient(180deg,rgba(0,0,0,.18),transparent);opacity:0;pointer-events:none;transition:opacity .22s ease}
.topbar.is-scrolled{background:rgba(7,6,4,.84);box-shadow:0 12px 42px rgba(0,0,0,.2)}
.topbar.is-scrolled:after{opacity:1}
.navlinks a{position:relative;transition:color .18s ease}
.navlinks a:after{content:"";position:absolute;left:0;right:0;bottom:-9px;height:2px;border-radius:999px;background:var(--yellow);transform:scaleX(0);transition:transform .2s var(--jpse-motion)}
.navlinks a:hover:after,.navlinks a:focus-visible:after{transform:scaleX(1)}
h1,h2{letter-spacing:-.055em;text-wrap:balance}
.hero-info>p,.section-title p,.split-head p,.reserve-copy p,.vehicle-copy p{letter-spacing:.002em}
.wa-mini,.primary,.action,.service,.departure-reserve,.quote-next,.route-shortcut,.payment-help,.google-proof-actions a,.jpse-mobile-book,.jpse-sheet-wa{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.wa-mini,.primary,.action,.service,.departure-reserve,.quote-next,.route-shortcut,.google-proof-actions a{transition:transform .18s var(--jpse-motion),border-color .18s ease,box-shadow .2s ease,filter .18s ease}
.wa-mini:active,.primary:active,.action:active,.service:active,.departure-reserve:active,.quote-next:active,.route-shortcut:active,.google-proof-actions a:active,.jpse-mobile-book:active,.jpse-sheet-wa:active{transform:scale(.97);transition-duration:80ms}
.wa-mini:focus-visible,.primary:focus-visible,.action:focus-visible,.service:focus-visible,.departure-reserve:focus-visible,.quote-next:focus-visible,.route-shortcut:focus-visible,.jpse-mobile-book:focus-visible,.jpse-sheet-wa:focus-visible,.field :focus-visible{outline:2px solid var(--yellow);outline-offset:3px}
.hero-info,.quote-card,.booking-form,.google-proof-card,.departure-card,.faq-item,.policy-grid article{box-shadow:0 22px 64px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.035)}
.hero-card{box-shadow:0 32px 90px rgba(0,0,0,.5),0 0 70px rgba(255,157,46,.08)}
.action,.service,.route-shortcut,.quote-next{will-change:transform}
@media(hover:hover) and (pointer:fine){
.service:hover,.departure-card:hover{transform:translateY(-3px)}
.action:hover,.primary:hover,.wa-mini:hover,.quote-next:hover,.route-shortcut:hover{transform:translateY(-1px)}
}
.field input,.field select,.field textarea{transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}
.field input:focus,.field select:focus,.field textarea:focus{box-shadow:0 0 0 3px rgba(255,211,0,.09)}
.jpse-mobile-book{display:none}
.jpse-sheet-backdrop{position:fixed;inset:0;z-index:900;background:rgba(0,0,0,.54);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);opacity:0;transition:opacity .2s ease}
.jpse-sheet-backdrop.is-visible{opacity:1}
.jpse-booking-sheet{position:fixed;z-index:901;left:50%;bottom:0;width:min(100%,560px);transform:translate3d(-50%,110%,0);visibility:hidden;will-change:transform;background:rgba(18,15,10,.92);backdrop-filter:blur(30px) saturate(175%);-webkit-backdrop-filter:blur(30px) saturate(175%);border:1px solid rgba(255,255,255,.12);border-bottom:0;border-radius:28px 28px 0 0;box-shadow:0 -30px 90px rgba(0,0,0,.48),inset 0 1px rgba(255,255,255,.08);padding:0 20px calc(20px + env(safe-area-inset-bottom))}
.jpse-booking-sheet.is-open{visibility:visible}
.jpse-sheet-handle{height:38px;display:grid;place-items:center;cursor:grab;touch-action:none}
.jpse-sheet-handle:active{cursor:grabbing}
.jpse-sheet-handle span{display:block;width:42px;height:5px;border-radius:999px;background:rgba(255,255,255,.22)}
.jpse-sheet-content{padding:2px 2px 5px}
.jpse-sheet-content h2{font-size:30px;line-height:1;letter-spacing:-.045em;margin:12px 0 10px}
.jpse-sheet-content p{margin:0 0 19px;color:var(--muted);font-size:14px;line-height:1.5}
.jpse-sheet-actions{display:grid;gap:10px}
.jpse-sheet-actions button{width:100%;min-height:52px;border-radius:14px}
.jpse-sheet-wa{border:1px solid #69552f;background:#17130d;color:#ffd300;font-weight:850;cursor:pointer}
.jpse-sheet-note{display:block;text-align:center;color:#8f8678;font-size:10.5px;margin-top:12px}
@media(max-width:620px){
.topbar{padding-top:env(safe-area-inset-top);background:rgba(5,5,4,.84)}
.nav{height:68px}
.hero-card{box-shadow:0 18px 54px rgba(0,0,0,.48),0 0 34px rgba(255,157,46,.07)}
.service{scroll-snap-stop:always}
.jpse-mobile-book{display:flex;position:fixed;z-index:80;left:12px;right:12px;bottom:max(10px,env(safe-area-inset-bottom));height:54px;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.16);border-radius:15px;background:linear-gradient(135deg,#ffd81a,#f1b800);color:#12100b;font-weight:900;box-shadow:0 18px 48px rgba(0,0,0,.5),inset 0 1px rgba(255,255,255,.36);opacity:0;pointer-events:none;transform:translateY(12px);transition:opacity .2s ease,transform .26s var(--jpse-motion)}
.jpse-mobile-book.is-visible{opacity:1;pointer-events:auto;transform:none}
footer{padding-bottom:76px}
}
@media(min-width:621px){.jpse-booking-sheet,.jpse-sheet-backdrop{display:none!important}}
@media(prefers-reduced-motion:reduce){
html{scroll-behavior:auto}
*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
.service:hover,.departure-card:hover,.action:hover,.primary:hover,.wa-mini:hover{transform:none!important}
}
@media(prefers-reduced-transparency:reduce){
.topbar,.jpse-booking-sheet{background:#0b0906;backdrop-filter:none;-webkit-backdrop-filter:none}
.jpse-sheet-backdrop{backdrop-filter:none;-webkit-backdrop-filter:none}
}
@media(prefers-contrast:more){
.topbar,.jpse-booking-sheet{background:#050504}
.hero-info,.quote-card,.booking-form,.service,.faq-item,.policy-grid article{border-color:#817359}
.wa-mini:focus-visible,.primary:focus-visible,.action:focus-visible,.service:focus-visible,.departure-reserve:focus-visible,.quote-next:focus-visible,.route-shortcut:focus-visible,.jpse-mobile-book:focus-visible,.jpse-sheet-wa:focus-visible,.field :focus-visible{outline-width:3px}
}
