.skip-link{position:fixed;left:12px;top:-100px;background:#fff;color:#211712;padding:12px 20px;z-index:1000;border-radius:8px}.skip-link:focus{top:12px}
.nav-links{gap:20px}.nav-links [aria-current="page"]{color:#ffc35a}.page .navbar{position:relative;background:#211712}.page .nav-wrap{height:88px}.page-hero{position:relative;padding:38px 0 64px;background:radial-gradient(ellipse at 90% 10%,#603421 0,transparent 55%),#211712;color:#fff}.page-breadcrumb{display:flex;gap:12px;flex-wrap:wrap;color:#d5c6b9;font-size:.78rem;margin-bottom:32px}.page-breadcrumb a:hover{text-decoration:underline}.page-hero .eyebrow{color:#ffc35a}.page-hero h1{font-size:clamp(2.6rem,6vw,4.8rem);margin:14px 0 18px;letter-spacing:-.025em}.page-lead{max-width:700px;font-size:1.05rem;color:#e3d5ca;line-height:1.8;margin:0}.page-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.page-content{overflow:clip}.page-article>.section{padding:65px 0}.page .packages,.page .fleet{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible;padding:8px 0 20px;gap:24px}.page .package-card,.page .car{min-width:0}.page-story{width:min(1160px,calc(100% - 36px));margin:54px auto;line-height:1.9}.page-story>p{max-width:860px;color:var(--muted)}.page-story h2{font-size:clamp(1.8rem,3vw,2.6rem);margin:16px 0 22px}.page-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:30px 0}.page-benefits>div{padding:26px;background:#fff;border:1px solid var(--line);border-radius:18px}.page-benefits h3{font-size:1.35rem;margin:0 0 14px}.page-benefits p{font-size:.9rem;color:var(--muted);margin:0}.page .promise-list{display:grid;grid-template-columns:1fr 1fr;overflow:visible}.page-help{padding:50px 0;background:#f4e6d6}.page-help>.container{display:flex;align-items:center;justify-content:space-between;gap:28px}.page-help h2{font-size:clamp(1.8rem,3vw,2.6rem);margin:12px 0}.page-help p{max-width:680px;color:var(--muted);margin:0}.page-help .btn{flex-shrink:0}.page footer{margin-top:0}.policy-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:36px;align-items:start;margin-top:48px;margin-bottom:60px}.policy-article{padding:36px;background:#fff;border:1px solid var(--line);border-radius:22px;min-width:0;line-height:1.9}.policy-article h2{font-size:1.6rem;margin:32px 0 14px;line-height:1.3}.policy-article p{color:#595b54}.policy-updated{font-size:.8rem;margin-top:0}.policy-sidebar{position:sticky;top:24px;background:#f5e7d6;border-radius:20px;padding:26px;overflow-wrap:anywhere}.policy-sidebar h2{font-size:1.6rem;margin:0 0 12px}.policy-sidebar p{font-size:.88rem;color:var(--muted)}.policy-sidebar .btn{width:100%}.policy-email{display:block;font-size:.78rem;margin:18px 0}.policy-sidebar nav{display:grid;border-top:1px solid #d9c6ad;padding-top:14px;gap:12px;font-size:.83rem}.policy-sidebar [aria-current="page"]{font-weight:800;color:var(--terracotta)}.policy-links{display:flex;gap:16px;flex-wrap:wrap}.policy-links a:hover,.policy-email:hover{text-decoration:underline}.policy-table-wrap{overflow-x:auto}.policy-table-wrap table{width:100%;border-collapse:collapse;font-size:.88rem;text-align:left}.policy-table-wrap caption{text-align:left;margin-bottom:12px;font-weight:700}.policy-table-wrap td,.policy-table-wrap th{border:1px solid var(--line);padding:14px;vertical-align:top}.policy-table-wrap th{background:#f9eee2}.page-article>p,.page-article>h2,.page-article>ul{width:min(1160px,calc(100% - 36px));margin:28px auto}.page a:focus-visible{outline:3px solid var(--marigold);outline-offset:4px}
@media(max-width:1100px){.nav-wrap{position:relative}.nav-toggle{display:block}.nav-links{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:16px;background:#211712;border:1px solid #715543;border-radius:0 0 18px 18px;box-shadow:0 12px 24px #0004}.nav-links.open{display:flex}.nav-links>a{padding:13px 12px}.nav-links .btn{margin-top:8px}.page .packages,.page .fleet{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.policy-layout{grid-template-columns:1fr;gap:24px}.policy-sidebar{position:static}.page-benefits{grid-template-columns:1fr}.page-help>.container{align-items:flex-start;flex-direction:column}.page .trust-grid{grid-template-columns:1fr}.page-hero{padding-bottom:44px}.page-article>.section{padding:48px 0}}
@media(max-width:620px){.page .nav-wrap{height:76px}.page-hero h1{font-size:2.6rem;overflow-wrap:anywhere}.page-lead{font-size:.93rem}.page-hero-actions{flex-direction:column}.page .packages,.page .fleet{grid-template-columns:1fr;gap:22px}.policy-article{padding:24px 18px}.policy-layout{margin-top:28px;margin-bottom:36px}.policy-links{margin-top:14px;gap:12px}.page-story{width:calc(100% - 26px);margin:36px auto}.page-help .btn{width:100%}.page .promise-list{grid-template-columns:1fr}.policy-table-wrap td,.policy-table-wrap th{padding:10px}.page .service-strip{flex-wrap:wrap}.page .fare-grid{min-width:0}.page .calc-fields{grid-template-columns:1fr}}

/* Native modal drawer keeps keyboard focus inside the mobile navigation. */
.mobile-menu-open{overflow:hidden}
.mobile-menu-drawer{position:fixed;inset:0 0 0 auto;margin:0;padding:28px 22px max(24px,env(safe-area-inset-bottom));width:min(88vw,360px);max-width:100%;height:100dvh;max-height:100dvh;box-sizing:border-box;border:0;border-radius:22px 0 0 22px;background:#211712;color:#fff;overflow-y:auto;overscroll-behavior:contain;box-shadow:-12px 0 50px #0004}
.mobile-menu-drawer::backdrop{background:rgba(13,10,8,.65)}
.mobile-menu-drawer[open]{animation:mobile-menu-enter .24s ease-out}
.mobile-menu-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding-bottom:24px;border-bottom:1px solid #ffffff25}
.mobile-menu-heading .eyebrow{font-size:.6rem;color:#ffc35a;letter-spacing:.08em}.mobile-menu-heading .eyebrow::before{display:none}
.mobile-menu-heading h2{font-size:1.3rem;margin:10px 0 0}
.mobile-menu-close{flex-shrink:0;display:grid;place-items:center;width:44px;height:44px;border:1px solid #ffffff30;border-radius:50%;background:#ffffff0c;color:#fff;font-size:1.8rem;cursor:pointer}
.mobile-menu-drawer .nav-links{position:static;display:flex;flex-direction:column;align-items:stretch;gap:4px;max-height:none;padding:22px 0;margin:0;background:none;border:0;border-radius:0;box-shadow:none;overflow:visible;font-size:.82rem}
.mobile-menu-drawer .nav-links>a{padding:12px;border-radius:10px}.mobile-menu-drawer .nav-links>a:not(.btn):hover,.mobile-menu-drawer .nav-links>a[aria-current="page"]{background:#ffffff0b}
.mobile-menu-drawer .nav-links .btn{margin-top:14px;border-radius:999px;font-size:.78rem}
.mobile-menu-note{border-top:1px solid #ffffff25;padding-top:20px;color:#cdbeb4;font-size:.72rem;margin:0}
.mobile-menu-drawer a:focus-visible,.mobile-menu-close:focus-visible{outline:2px solid #ffc35a;outline-offset:3px}
@keyframes mobile-menu-enter{from{transform:translateX(100%)}to{transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){.mobile-menu-drawer[open]{animation:none}}

/* Compact, consistent heading scale across the mobile website. */
@media(max-width:620px){
  .hero-slider h1{font-size:clamp(1.8rem,8vw,2.15rem)!important;line-height:1.13!important;margin:12px 0!important;letter-spacing:-.02em}
  .hero-copy{font-size:.9rem;line-height:1.7}
  .hero-actions{gap:9px!important;margin:16px 0!important}
  .hero-actions .btn{min-height:44px;padding:10px 12px!important;font-size:.78rem;line-height:1.4}
  .page-hero h1{font-size:clamp(1.85rem,8vw,2.15rem);line-height:1.15;margin:12px 0 16px}
  .section-head h2,.experience h2,.fare-grid h2,.trust-grid h2,.booking-guide .section-head h2,.page-story h2,.page-help h2,.cta h2{font-size:clamp(1.45rem,6.4vw,1.75rem)!important;line-height:1.22!important;letter-spacing:-.015em}
  .booking-card h3{font-size:1.3rem!important;line-height:1.25}
  .package-body h3,.car h3,.step h3,.booking-steps .step h3,.page-benefits h3,.custom-trip-callout h3{font-size:1.2rem;line-height:1.3}
  .policy-article h2,.policy-sidebar h2{font-size:1.25rem;line-height:1.35}
  .stat strong{font-size:1.65rem;line-height:1.2}
  .eyebrow{font-size:.65rem;letter-spacing:.1em}
  .page-hero-actions .btn,.custom-trip-button,.booking-guide-buttons .btn,.page-help .btn,.cta .btn,.fare-card .btn,.booking-card .btn,#galleryMore{font-size:.8rem;min-height:44px;padding:11px 16px;line-height:1.45}
  .page-hero{padding-top:26px;padding-bottom:32px}
  .page-breadcrumb{margin-bottom:22px}
}
@media(max-width:620px){
  .hero-actions{grid-template-columns:minmax(0,1fr)!important}
  .hero-actions .btn{width:100%!important}
}

/* A balanced two-by-two stats grid on phones. */
@media(max-width:620px){
  .stats .stats-wrap{padding:0;gap:0;grid-template-columns:repeat(2,minmax(0,1fr))}
  .stats .stat{padding:22px 12px;min-width:0;border:0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;gap:7px}
  .stats .stat:nth-child(odd){border-right:1px solid var(--line)}
  .stats .stat:nth-last-child(-n+2){border-bottom:0}
  .stats .stat span{line-height:1.5;font-size:.7rem}
}

/* Search-friendly media and detail-page layouts. */
.hero-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.card-visual,.car-photo{position:relative;overflow:hidden}.package-image,.fleet-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.package-body h3 a:hover{text-decoration:underline;text-underline-offset:4px}
body:not(.home) .navbar{position:relative;background:#211712}body:not(.home) footer{margin-top:0}
.package-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:40px;margin-top:48px;margin-bottom:60px}.package-detail-content{min-width:0;line-height:1.9}.package-detail-content h2{font-size:1.8rem;margin:30px 0 16px}.package-detail-content p,.package-detail-content li{color:var(--muted)}.package-detail-content a{color:var(--terracotta);text-decoration:underline}.package-detail-image{width:100%;height:auto;max-height:450px;object-fit:cover;border-radius:20px}.package-booking-summary{position:sticky;top:24px;align-self:start;padding:26px;border:1px solid var(--line);border-radius:20px;background:#fff}.package-detail-price{display:block;font-size:2.2rem;color:var(--terracotta);font-family:"DM Serif Display",serif;margin-top:10px}.package-booking-summary p{font-size:.9rem;color:var(--muted)}.package-booking-summary .btn{width:100%;margin-top:12px}.package-policy-link{display:block;font-size:.8rem;text-align:center;margin-top:18px;text-decoration:underline}.search-result{padding:24px 0;border-bottom:1px solid var(--line)}
.booking-card h2{font-size:1.75rem;margin:0 0 4px;line-height:1.2}
@media(max-width:800px){.package-detail-grid{grid-template-columns:1fr;gap:24px}.package-booking-summary{position:static}}
@media(max-width:620px){.booking-card h2{font-size:1.3rem!important}.package-detail-content h2{font-size:1.35rem}.package-detail-grid{margin-top:28px;margin-bottom:36px}.hero-media{object-position:62% center}}

.card-visual:has(.package-image),.car-photo:has(.fleet-image){background-image:none!important}

/* Complete brand artwork includes the name and tagline. */
.navbar .brand,.footer-brand .brand{gap:0;min-width:0;max-width:100%}.navbar .brand-logo,.footer-brand .brand-logo{display:block;width:290px;height:auto;max-width:100%;object-fit:contain;filter:none;flex-shrink:1}.navbar .brand-logo{max-height:80px}.footer-brand .brand-logo{max-width:290px}@media(max-width:620px){.navbar .brand-logo,.footer-brand .brand-logo{width:250px;max-height:76px}.navbar .brand{max-width:calc(100% - 48px)}}

/* Sticky navigation; clip horizontal overflow without creating a scroll container. */
html,body{overflow-x:clip}
:root{--ttj-admin-offset:0px}
body.admin-bar{--ttj-admin-offset:32px}
body .navbar,body:not(.home) .navbar{position:sticky;top:var(--ttj-admin-offset);z-index:100;background:#211712;box-shadow:0 4px 18px #0002}
body.home .navbar{margin-bottom:-82px}
html{scroll-padding-top:112px}
.policy-sidebar,.package-booking-summary{top:calc(112px + var(--ttj-admin-offset))}
@media(max-width:782px){body.admin-bar{--ttj-admin-offset:46px}}
@media(max-width:600px){body.admin-bar{--ttj-admin-offset:0px}}

.contact-page-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:start}.contact-page-grid>*{min-width:0}.contact-details h2{font-size:2rem;margin:12px 0 18px}.contact-details p{color:var(--muted)}.contact-method{padding:20px 0;border-bottom:1px solid var(--line)}.contact-method h3{font-size:1.15rem;margin:0 0 8px}.contact-method a{overflow-wrap:anywhere}.contact-page-grid .booking-card{min-height:0}.contact-page-grid input,.contact-page-grid select{min-width:0;max-width:100%;box-sizing:border-box}@media(min-width:1101px){.nav-links{gap:14px;font-size:.78rem}}@media(max-width:800px){.contact-page-grid{grid-template-columns:1fr;gap:28px}.contact-details h2{font-size:1.6rem}}
