/* JVS premium 2026 conversion & accessibility layer */
:root { --jvs-ink: #0d1830; --jvs-gold: #e8bf65; --jvs-cream: #f7f5ef; }
:where(a,button,input,textarea,select):focus-visible { outline: 3px solid #246dca !important; outline-offset: 3px; }
html { scroll-behavior: smooth; scroll-padding-top: 90px; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important; } }
.hero--premium { min-height: 640px; height: clamp(640px, 79svh, 780px); }
.hero--premium .hero__overlay { background:linear-gradient(90deg,rgba(9,17,32,.91) 0%,rgba(9,17,32,.77) 39%,rgba(9,17,32,.13) 100%); }
.hero--premium .hero__title { font-size:clamp(4rem,7.3vw,7.5rem); line-height:.98; max-width:850px; text-wrap:balance; }
.hero--premium .hero__content { gap:1.3rem; }
.hero--premium .hero__sub { font-size:clamp(1.05rem,1.6vw,1.23rem); line-height:1.65; max-width:520px; color:#f5f7fc; }
.hero--premium .hero__eyebrow { letter-spacing:.14em; }
.hero--premium .hero__trust span { color:#eff3fb; font-weight:500; }
.hero__review-link { display:inline-flex; align-items:center; gap:7px; color:#f8e2b5; font-size:.83rem; text-underline-offset:4px; text-decoration:underline; }
.hero__review-link:hover {color:white}
.hero__down-link {position:absolute;bottom:26px;right:clamp(1rem,4vw,3rem);z-index:3;color:rgba(255,255,255,.86);font-size:.8rem;text-decoration:none;display:flex;gap:8px;align-items:center}
.hero__down-link span {font-size:1.2rem}
.site-header__logo {display:flex;align-items:center;gap:9px; flex-shrink:0}
.site-header__logo img {height:47px;width:47px;object-fit:contain}
.jvs-mobile-head-book{display:none;font-size:.82rem;font-weight:750;color:#fff!important;background:#0b152b;border-radius:100px;padding:10px 16px;text-decoration:none;white-space:nowrap}
.jvs-booking-hub{padding:clamp(56px,7vw,100px) 20px;background:var(--jvs-cream);scroll-margin-top:75px}
.jvs-booking-hub__inner{max-width:1190px;margin:0 auto;display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1fr);align-items:center;gap:clamp(38px,6vw,95px)}
.jvs-booking-hub__intro h2{font-family:var(--font-display),Georgia,serif;color:var(--jvs-ink);font-size:clamp(2.8rem,5vw,5.1rem);line-height:1.04;letter-spacing:-.035em;margin:18px 0}
.jvs-booking-hub__intro h2 em{color:#94702d;font-weight:600}
.jvs-booking-hub__intro > p:not(.sec-eyebrow){color:#3b4659;line-height:1.75;max-width:560px;font-size:1.02rem}
.jvs-booking-hub__steps{display:grid;gap:14px;margin:28px 0 24px}
.jvs-booking-hub__steps>div{display:flex;gap:16px;align-items:center;color:#202e42;font-size:.95rem;font-weight:600}
.jvs-booking-hub__steps b{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border-radius:50%;background:white;border:1px solid #e5d9bd;color:#8a661e;font-size:.8rem}
.jvs-booking-hub__help a{color:#174c95;text-decoration:underline;text-underline-offset:3px;font-weight:700}
.jvs-booking-panel{padding:clamp(24px,3vw,37px);border-radius:26px;background:white;box-shadow:0 22px 70px rgba(14,26,43,.09);border:1px solid #e4e9ec}
.jvs-booking-panel__top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:9px}
.jvs-booking-panel__tag{font-size:.67rem;letter-spacing:.14em;color:#7b632e;font-weight:800}
.jvs-booking-panel__status{font-size:.71rem;font-weight:700;color:#1d6651;background:#e4f4eb;padding:6px 9px;border-radius:50px}
.jvs-booking-panel__status span{font-size:.52rem;margin-right:4px}
.jvs-booking-panel h3{font-family:var(--font-display),Georgia,serif;font-size:clamp(1.95rem,3vw,2.7rem);line-height:1.1;color:var(--jvs-ink);margin:19px 0 9px}
.jvs-booking-panel>p{font-size:.9rem;color:#56647a;line-height:1.65}
.jvs-booking-panel__choices{display:grid;gap:8px;margin:22px 0}
.jvs-booking-panel__choices a{display:flex;align-items:center;gap:12px;min-height:67px;border:1px solid #e6e8ee;border-radius:14px;padding:12px;color:#18263a;text-decoration:none!important;transition:background .18s,border-color .18s,transform .18s}
.jvs-booking-panel__choices a:hover,.jvs-booking-panel__choices a:focus-visible{border-color:#b99244;background:#fffaf0;transform:translateY(-1px)}
.jvs-booking-panel__choice-icon{display:grid;place-items:center;border:1px solid #e9dfcd;border-radius:12px;width:38px;height:38px;flex:0 0 38px;color:#91713b;background:#f9f6f0;font-size:.72rem;font-weight:800}
.jvs-booking-panel__choices a>span:nth-child(2){flex:1;display:grid;gap:4px}
.jvs-booking-panel__choices strong{font-size:.93rem}
.jvs-booking-panel__choices small{font-size:.75rem;color:#65728b;line-height:1.35}
.jvs-booking-panel__primary{display:flex;justify-content:center;align-items:center;gap:14px;width:100%;border-radius:15px;background:#0b1932;color:#fff!important;font-size:.96rem;font-weight:800;padding:18px 16px;text-align:center;text-decoration:none!important;transition:background .18s,transform .18s}
.jvs-booking-panel__primary:hover{background:#253957;transform:translateY(-1px)}
.jvs-booking-panel__primary span{font-size:1.15rem}
.jvs-booking-panel .jvs-booking-panel__disclaimer{font-size:.72rem;color:#687589;text-align:center;margin-top:10px;line-height:1.45}
.jvs-booking-panel__embed-toggle{display:block;border:0;background:transparent;color:#314a6d;text-decoration:underline;text-underline-offset:3px;font-size:.78rem;font-weight:700;cursor:pointer;margin:16px auto 0;padding:9px;text-align:center}
.jvs-inline-booking{max-width:1140px;margin:40px auto 0;padding:22px;background:#fff;border:1px solid #e8e8ed;border-radius:18px}
.jvs-inline-booking[hidden]{display:none}
.jvs-inline-booking__heading{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.jvs-inline-booking__heading h3{font-family:var(--font-display),Georgia,serif;font-size:1.7rem;color:var(--jvs-ink)}
.jvs-inline-booking__heading a{color:#1a5498;text-decoration:underline}
.jvs-inline-booking>p{font-size:.86rem;line-height:1.6;color:#55647a}
@media(max-width:960px){.jvs-booking-hub__inner{grid-template-columns:1fr;max-width:690px;gap:28px}.jvs-booking-hub__intro h2{font-size:3.1rem}}
@media(max-width:767px){.hero--premium{height:auto;min-height:min(720px,calc(100svh - 64px));padding:95px 0 36px;align-items:center}.hero--premium .hero__overlay{background:linear-gradient(0deg,rgba(8,15,29,.90) 0%,rgba(8,15,29,.64) 55%,rgba(8,15,29,.35) 100%)}.hero--premium .hero__title{font-size:clamp(3.2rem,12vw,5rem)}.hero--premium .hero__sub{font-size:1.02rem;max-width:340px}.hero--premium .hero__content{gap:1.1rem}.hero--premium .hero__eyebrow{font-size:.66rem;letter-spacing:.12em}.hero__down-link{display:none}.site-header__inner{gap:10px}.jvs-mobile-head-book{display:inline-flex;margin-left:auto}.menu-toggle{width:44px;height:44px;flex:0 0 44px}.jvs-booking-hub{padding:50px 16px}.jvs-booking-hub__intro h2{font-size:clamp(2.65rem,10vw,3.6rem)}.jvs-booking-panel{padding:22px 18px;border-radius:20px}.jvs-booking-hub__steps{margin:18px 0 14px}.jvs-inline-booking{margin-top:26px;padding:14px}.jvs-inline-booking iframe{min-height:680px!important}}
@media(max-width:375px){.hero--premium .hero__title{font-size:3.05rem}.hero--premium .hero__actions{gap:10px}.hero--premium .btn-hero-primary,.hero--premium .btn-hero-sms{font-size:.88rem;padding:.85rem 1.2rem}.jvs-mobile-head-book{padding:10px 12px}}

/* Keep brand logo crisp on white and improve overlay contrast across devices. */
.site-header__logo img{width:55px;height:55px;object-fit:contain}
.hero--premium .hero__overlay{background:linear-gradient(90deg,rgba(8,16,29,.95),rgba(8,16,29,.79) 42%,rgba(8,16,29,.28))}
@media(max-width:767px){.site-header__logo img{width:50px;height:50px}.hero--premium .hero__overlay{background:linear-gradient(0deg,rgba(8,16,29,.96),rgba(8,16,29,.77) 51%,rgba(8,16,29,.37))}}
