* { box-sizing: border-box; }
body { margin:0; background:#fff; font-family:var(--font-body); color:#000; }
a { color:inherit; text-decoration:none; }
::-webkit-scrollbar { width:10px; height:10px; }
::-webkit-scrollbar-thumb { background:#e2e2e2; border-radius:8px; }
.noscroll { scrollbar-width:none; -ms-overflow-style:none; }
.noscroll::-webkit-scrollbar { display:none; }
.maxw { max-width:1200px; margin:0 auto; padding:0 32px; }
.navlink { padding:8px 12px; border-radius:9999px; font-size:15px; font-weight:500; color:#fff; background:transparent; border:none; cursor:pointer; font-family:inherit; transition:background-color .12s; }
.navlink:hover { background:rgba(255,255,255,.1); }
.nav-menu-btn { display:none; align-items:center; }
@media (max-width:1000px){
  .nav-center { display:none !important; }
  .nav-menu-btn { display:inline-flex !important; }
}
@media (max-width:560px){
  .nav-help { display:none !important; }
  .nav-language, .nav-auth-signup { display:none !important; }
  .maxw { padding-left:20px; padding-right:20px; }
}

/* The booking hero starts as a two-column desktop layout. Collapse it before
   either column can establish a wider-than-viewport minimum width. */
@media (max-width:1100px){
  body { overflow-x:clip; }
  .site-nav-inner { padding-left:20px !important; padding-right:20px !important; }
  .booking-hero { padding:36px 0 28px !important; }
  .booking-hero-grid {
    grid-template-columns:minmax(0, 1fr) !important;
    gap:0 !important;
    justify-content:stretch !important;
  }
  .booking-hero-copy,
  .booking-hero-form { min-width:0; max-width:none !important; }
  .booking-hero-city {
    gap:10px !important;
    margin-bottom:20px !important;
    font-size:16px !important;
    flex-wrap:wrap;
  }
  .booking-hero-heading {
    max-width:100% !important;
    font-size:clamp(42px, 12vw, 52px) !important;
    line-height:1.04 !important;
    margin-bottom:26px !important;
    overflow-wrap:anywhere;
  }
  .booking-hero-media { display:none !important; }
  .service-strip { padding-top:28px !important; padding-bottom:48px !important; }
  .service-strip-grid { display:grid !important; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:24px 12px !important; align-items:start !important; }
  .marketing-split { grid-template-columns:minmax(0, 1fr) !important; gap:32px !important; padding-top:48px !important; padding-bottom:48px !important; }
  .marketing-split-copy { min-width:0; }
  .marketing-split h1 { font-size:clamp(40px, 7vw, 52px) !important; }
  .marketing-split h2 { font-size:clamp(32px, 5vw, 42px) !important; }
  .marketing-media { width:100% !important; height:min(58vw, 360px) !important; }
  .marketing-actions { flex-wrap:wrap; gap:14px !important; }
  .site-footer-grid { grid-template-columns:repeat(3, minmax(0, 1fr)) !important; }
}

@media (max-width:760px){
  .booking-hero-city {
    gap:10px !important;
    margin-bottom:20px !important;
    font-size:16px !important;
    flex-wrap:wrap;
  }
  .booking-hero-heading { font-size:clamp(42px, 12vw, 52px) !important; }
  .marketing-split { padding-top:40px !important; padding-bottom:40px !important; }
  .marketing-media { height:min(72vw, 320px) !important; }
  .service-strip-grid { grid-template-columns:repeat(3, minmax(0, 1fr)); gap:22px 8px !important; }
  .svc img { width:56px; height:56px; }
  .svc span { font-size:13px; }
  .site-footer-grid { grid-template-columns:repeat(2, minmax(0, 1fr)) !important; gap:28px 16px !important; }
}

@media (max-width:420px){
  .service-strip-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
}
.svc { display:grid; justify-items:center; gap:8px; flex:1; min-width:0; text-align:center; }
.svc img { height:72px; width:72px; object-fit:contain; display:block; }
.svc span { font-size:14px; font-weight:500; }
.foot-h { font-size:16px; font-weight:600; color:#fff; margin:0 0 16px; }
.foot-l { display:block; font-size:14px; color:#afafaf; padding:6px 0; transition:color .12s; }
.onway-radar { position:absolute; inset:0; margin:auto; width:64px; height:64px; border-radius:9999px; background:rgba(0,0,0,.14); animation:onwayRadar 2.7s cubic-bezier(.2,.6,.3,1) infinite; }
@keyframes onwayRadar { 0% { transform:scale(1); opacity:.6; } 100% { transform:scale(2.6); opacity:0; } }
.foot-l:hover { color:#fff; }
h1,h2,h3 { font-family:var(--font-display); }
.reveal { opacity:0; transform:translateY(30px); transition:opacity .7s cubic-bezier(.16,1,.3,1), transform .7s cubic-bezier(.16,1,.3,1); }
.reveal.in { opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce){ .reveal{opacity:1 !important;transform:none !important;transition:none;} }
.faq { border-top:1px solid #e6e6e6; }
.faq:last-child { border-bottom:1px solid #e6e6e6; }
.subnav a { font-size:14px; color:#5e5e5e; }
.subnav a:hover { color:#000; }
