    :root{
      --navy:#082E5D;
      --navy-deep:#041E3F;
      --blue:#0A72CE;
      --sky:#EAF5FF;
      --orange:#FF7B1A;
      --orange-soft:#FFF0E3;
      --ink:#122033;
      --muted:#68778A;
      --line:#DFE6ED;
      --soft:#F6F9FC;
      --white:#FFFFFF;
      --green:#16A66A;
      --container:1260px;
      --shadow:0 18px 55px rgba(8,46,93,.10);
      --shadow-sm:0 8px 26px rgba(8,46,93,.07);
      --radius:22px;
      --font-copy-sm:16px;
      --font-fine:14px;
      --font-small:13px;
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
      color:var(--ink);
      background:#fff;
      line-height:1.6;
      overflow-x:hidden;
    }
    img{display:block;width:100%}
    a{text-decoration:none;color:inherit}
    button,input,select,textarea{font:inherit}
button{cursor:pointer}
    .fi{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      line-height:1;
      vertical-align:middle;
    }
    .btn .fi{
      font-size:14px;
    }
    a:focus-visible,
    button:focus-visible,
    input:focus-visible,
    select:focus-visible,
    textarea:focus-visible{
      outline:3px solid rgba(10,114,206,.35);
      outline-offset:3px;
    }
    .container{
      width:min(calc(100% - 40px),var(--container));
      margin:auto;
    }
    .section{
      padding:32px 0;
    }
    .section-soft{
      background:var(--soft);
    }
    .section-kicker{
      display:inline-flex;
      align-items:center;
      gap:9px;
      color:var(--blue);
      font-size:12px;
      font-weight:900;
      letter-spacing:0;
      text-transform:uppercase;
    }
    .section-kicker:before{
      content:"";
      width:30px;
      height:2px;
      background:var(--orange);
    }
    .section-title{
      margin:12px 0 12px;
      color:var(--navy);
      font-size:32px;
      line-height:1.15;
      letter-spacing:0;
      font-weight:900;
    }
    .section-desc{
      margin:0;
      color:var(--muted);
      font-size:16px; 
    }
    .btn{
      border:0;
      border-radius:12px;
      min-height:46px;
      padding:0 18px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:8px;
      font-size:14px;
      font-weight:850;
      transition:.2s ease;
    }
    .btn-primary{
      background:linear-gradient(135deg,var(--orange),#FF6318);
      color:#fff;
      box-shadow:0 10px 26px rgba(255,123,26,.24);
    }
    .btn-primary:hover{
      transform:translateY(-2px);
    }
    .btn-outline{
      background:#fff;
      border:1px solid #C8D3DE;
      color:var(--navy);
    }
    .btn-outline:hover{
      border-color:var(--blue);
      color:var(--blue);
    }

    /* HEADER */
    .topbar{
      background:var(--navy-deep);
      color:#C7D6E7;
      font-size:12px;
    }
    .topbar-inner{
      min-height:38px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:20px;
    }
    .topbar-group{
      display:flex;
      align-items:center;
      gap:18px;
      flex-wrap:wrap;
    }
    .topbar-group > span,
    .topbar-group > a{
      display:inline-flex;
      align-items:center;
      gap:6px;
      color:inherit;
    }
    .topbar strong{color:#fff}
    .header{
      position:sticky;
      top:0;
      z-index:1000;
      background:#fff;
      border-bottom:1px solid rgba(8,46,93,.08);
      transform:translateZ(0);
    }
    .nav{
      height:78px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:26px;
    }
    .brand{
      display:flex;
      align-items:center;
      flex-shrink:0;
    }
    .brand--logo-only{
      line-height:0;
    }
    .site-logo{
      display:block;
      width:auto;
      object-fit:contain;
    }
    .site-logo--header{
      max-width:220px;
      height:68px;
    }
    .site-logo--footer{
      max-width:250px;
      height:88px;
    }
    .brand--footer-logo{
      width:max-content;
      padding:7px 10px;
      border-radius:8px;
      background:#fff;
    }
    .nav-links{
      min-width:0;
    }
    .nav-links__menu{
      display:flex;
      align-items:center;
      gap:24px;
      margin:0;
      padding:0;
      list-style:none;
    }
    .nav-links__menu > .menu-item{
      position:relative;
    }
    .nav-links a{
      display:flex;
      align-items:center;
      gap:5px;
      color:#31465F;
      font-size:14px;
      font-weight:750;
      white-space:nowrap;
    }
    .nav-links a:hover{
      color:var(--blue);
    }
    .submenu-icon{
      flex:0 0 auto;
      font-size:15px;
      transition:transform .18s ease;
    }
    .nav-links .menu-item-has-children:hover > a .submenu-icon,
    .nav-links .menu-item-has-children:focus-within > a .submenu-icon{
      transform:rotate(180deg);
    }
    .nav-links .sub-menu{
      position:absolute;
      top:calc(100% + 18px);
      left:-16px;
      z-index:20;
      min-width:220px;
      margin:0;
      padding:9px;
      border:1px solid var(--line);
      border-radius:7px;
      background:#fff;
      box-shadow:0 16px 35px rgba(8,46,93,.13);
      list-style:none;
      opacity:0;
      visibility:hidden;
      transform:translateY(8px);
      transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
    }
    .nav-links .sub-menu:before{
      content:"";
      position:absolute;
      right:0;
      bottom:100%;
      left:0;
      height:20px;
    }
    .nav-links .menu-item-has-children:hover > .sub-menu,
    .nav-links .menu-item-has-children:focus-within > .sub-menu{
      opacity:1;
      visibility:visible;
      transform:translateY(0);
    }
    .nav-links .sub-menu a{
      padding:10px 11px;
      border-radius:5px;
      font-size:12px;
      white-space:normal;
    }
    .nav-links .sub-menu a:hover{
      background:var(--sky);
    }
    .nav-actions{
      display:flex;
      align-items:center;
      gap:9px;
    }
    .menu-btn{
      display:none;
      width:44px;
      height:44px;
      border:1px solid var(--line);
      background:#fff;
      border-radius:12px;
      color:var(--navy);
      font-size:21px;
    }
    .menu-btn .fi{
      font-size:20px;
    }

    /* HERO */
    .hero{
      position:relative;
      overflow:hidden;
      background:var(--navy);
      aspect-ratio:1952/805;
    }
    .hero-slider__track,
    .hero-slide,
    .hero-slide picture,
    .hero-slide img{
      position:absolute;
      inset:0;
    }
    .hero-slide{
      z-index:0;
      opacity:0;
      visibility:hidden;
      transition:opacity .55s ease,visibility .55s ease;
    }
    .hero-slide.is-active{
      z-index:1;
      opacity:1;
      visibility:visible;
    }
    .hero-slide img{
      height:100%;
      object-fit:cover;
    }
    .hero-slider__arrow{
      position:absolute;
      top:50%;
      z-index:3;
      width:44px;
      height:44px;
      border:1px solid rgba(255,255,255,.7);
      border-radius:50%;
      display:flex;
      align-items:center;
      justify-content:center;
      background:rgba(4,30,63,.62);
      color:#fff;
      font-size:18px;
      box-shadow:0 6px 20px rgba(4,30,63,.22);
      transform:translateY(-50%);
      transition:background .18s ease,transform .18s ease;
    }
    .hero-slider__arrow:hover{
      background:rgba(4,30,63,.88);
      transform:translateY(-50%) scale(1.05);
    }
    .hero-slider__arrow--prev{left:20px}
    .hero-slider__arrow--next{right:20px}
    .hero-slider__dots{
      position:absolute;
      z-index:3;
      bottom:15px;
      left:50%;
      display:flex;
      align-items:center;
      gap:8px;
      padding:7px 9px;
      border-radius:20px;
      background:rgba(4,30,63,.55);
      transform:translateX(-50%);
    }
    .hero-slider__dot{
      width:9px;
      height:9px;
      padding:0;
      border:1px solid rgba(255,255,255,.9);
      border-radius:50%;
      background:transparent;
      transition:width .18s ease,background .18s ease;
    }
    .hero-slider__dot.is-active{
      width:24px;
      border-radius:10px;
      background:#fff;
    }

    /* BOOKING TABS */
    .booking-wrap{
      position:relative;
      z-index:5;
      margin-top:0;
      padding-top:28px;
    }
    .booking-card{
      background:#fff;
      border-radius:24px;
      box-shadow:0 28px 80px rgba(4,30,63,.18);
      overflow:hidden;
    }
    .booking-tabs{
      display:grid;
      grid-template-columns:repeat(4,1fr);
      background:#F2F6FA;
      border-bottom:1px solid var(--line);
    }
    .booking-tab{
      border:0;
      background:transparent;
      min-height:66px;
      padding:12px;
      color:#647386;
      font-size:13px;
      font-weight:850;
      display:flex;
      align-items:center;
      justify-content:center;
      gap:8px;
      border-right:1px solid var(--line);
    }
    .booking-tab:last-child{border-right:0}
    .booking-tab.active{
      background:#fff;
      color:var(--navy);
      box-shadow:inset 0 -3px 0 var(--orange);
    }
    .booking-tab span{
      font-size:19px;
    }
    .booking-panel{
      display:none;
      padding:22px;
    }
    .booking-panel.active{
      display:block;
    }
    .booking-grid{
      display:grid;
      grid-template-columns:1.2fr .85fr .85fr .85fr 1fr auto;
      gap:10px;
      align-items:end;
    }
    .booking-field label{
      display:block;
      margin-bottom:6px;
      color:#768598;
      font-size:10px;
      font-weight:900;
      letter-spacing:0;
      text-transform:uppercase;
    }
    .booking-field input,.booking-field select{
      width:100%;
      height:48px;
      border:1px solid var(--line);
      border-radius:11px;
      background:#fff;
      padding:0 12px;
      outline:none;
      color:var(--ink);
      font-size:13px;
    }
    .booking-field input:focus,.booking-field select:focus{
      border-color:var(--blue);
      box-shadow:0 0 0 3px rgba(10,114,206,.08);
    }
    [data-date-picker],
    [data-time-picker],
    [data-datetime-picker]{
      cursor:pointer;
    }
    .flatpickr-calendar{
      overflow:hidden;
      border:1px solid var(--line);
      border-radius:8px;
      box-shadow:0 18px 45px rgba(4,30,63,.18);
      font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
    }
    .flatpickr-current-month,
    .flatpickr-current-month input.cur-year,
    .flatpickr-current-month .flatpickr-monthDropdown-months{
      font-size:14px;
    }
    .flatpickr-weekday,
    .flatpickr-day,
    .flatpickr-time input{
      font-size:13px;
    }
    .flatpickr-day.selected,
    .flatpickr-day.startRange,
    .flatpickr-day.endRange{
      border-color:var(--blue);
      background:var(--blue);
    }
    .flatpickr-day:hover{
      border-color:var(--sky);
      background:var(--sky);
    }
    .flatpickr-day.selected:hover{
      border-color:var(--blue);
      background:var(--blue);
    }
    .booking-submit{
      height:48px;
      padding:0 20px;
      border:0;
      border-radius:11px;
      background:var(--orange);
      color:#fff;
      font-size:13px;
      font-weight:900;
      white-space:nowrap;
    }

    /* COMMON SERVICES */
    .services-grid{
      margin-top:34px;
      display:grid;
      grid-template-columns:1.15fr .85fr .85fr;
      gap:18px;
    }
    .service-feature{
      min-height:390px;
      position:relative;
      overflow:hidden;
      border-radius:26px;
      color:#fff;
      padding:28px;
      display:flex;
      align-items:flex-end;
      background:
        linear-gradient(180deg,rgba(4,30,63,.06),rgba(4,30,63,.80)),
        var(--qnc-image-vehicle-16) center/cover no-repeat;
    }
    .service-feature h3{
      margin:8px 0 7px;
      font-size:28px;
      line-height:1.1;
    }
    .service-feature p{
      margin:0;
      color:#DDE8F2;
      font-size:13px;
      max-width:520px;
    }
    .service-mini-wrap{
      display:grid;
      grid-template-rows:1fr 1fr;
      gap:18px;
    }
    .service-mini{
      position:relative;
      border-radius:22px;
      overflow:hidden;
      padding:22px;
      min-height:186px;
      border:1px solid var(--line);
      background:#fff;
      box-shadow:var(--shadow-sm);
    }
    .service-mini:nth-child(2){
      background:var(--navy);
      color:#fff;
      border-color:transparent;
    }
    .service-icon{
      width:46px;
      height:46px;
      border-radius:14px;
      display:grid;
      place-items:center;
      background:var(--sky);
      font-size:22px;
      margin-bottom:18px;
    }
    .service-icon .fi{
      font-size:21px;
    }
    .service-mini:nth-child(2) .service-icon{
      background:rgba(255,255,255,.10);
    }
    .service-mini h3{
      margin:0;
      font-size:19px;
      color:var(--navy);
    }
    .service-mini:nth-child(2) h3{color:#fff}
    .service-mini p{
      margin:7px 0 0;
      color:var(--muted);
      font-size:12px;
    }
    .service-mini:nth-child(2) p{color:#C8D7E6}
    .service-mini__link{
      display:inline-flex;
      align-items:center;
      gap:7px;
      margin-top:14px;
      color:var(--blue);
      font-size:11px;
      font-weight:850;
    }
    .service-mini__link:hover{color:var(--orange)}

    /* SELF DRIVE */
    .self-drive{
      background:
        linear-gradient(180deg,#F8FBFE,#FFFFFF);
    }
    .split-head{
      display:flex;
      justify-content:space-between;
      align-items:flex-end;
      gap:30px;
      margin-bottom:34px;
    }
    .split-head .section-desc{
      max-width:470px;
    }
    .drive-grid{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:20px;
    }
    .drive-card{
      display:grid;
      grid-template-columns:1fr;
      grid-template-rows:auto 1fr;
      min-height:0;
      border:1px solid var(--line);
      background:#fff;
      border-radius:24px;
      overflow:hidden;
      box-shadow:var(--shadow-sm);
    }
    .drive-media{
      position:relative;
      display:block;
      width:100%;
      height:auto;
      aspect-ratio:16/10;
      overflow:hidden;
      background:#EEF3F7;
    }
    .drive-media img{
      display:block;
      width:100%;
      height:100%;
      object-fit:cover;
      transition:.4s;
    }
    .drive-media.home-card-media--fallback,
    .driver-card__media.home-card-media--fallback,
    .tour-card__media.home-card-media--fallback,
    .blog-image.home-card-media--fallback{
      display:grid;
      place-items:center;
      background:var(--sky);
      color:var(--blue);
      font-size:36px;
    }
    .drive-card:hover .drive-media img{
      transform:scale(1.04);
    }
    .drive-badge{
      position:absolute;
      left:14px;
      top:14px;
      padding:7px 10px;
      border-radius:999px;
      background:rgba(255,255,255,.94);
      color:var(--navy);
      font-size:10px;
      font-weight:900;
      box-shadow:0 7px 18px rgba(0,0,0,.08);
    }
    .drive-info{
      padding:24px;
      display:flex;
      flex-direction:column;
      min-height:322px;
      justify-content:flex-start;
    }
    .drive-info h3{
      min-height:56px;
      margin:0;
      color:var(--navy);
      font-size:24px;
      line-height:1.16;
    }
    .drive-info p{
      display:-webkit-box;
      overflow:hidden;
      margin:9px 0 0;
      color:var(--muted);
      font-size:15px;
      line-height:1.55;
      -webkit-box-orient:vertical;
      -webkit-line-clamp:3;
    }
    .drive-meta{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:8px;
      margin:18px 0;
    }
    .drive-meta span{
      display:flex;
      align-items:center;
      gap:6px;
      border:1px solid var(--line);
      border-radius:10px;
      padding:9px;
      color:#5D6A7A;
      font-size:12px;
      font-weight:700;
    }
    .drive-meta .fi{
      color:var(--blue);
      font-size:12px;
    }
    .drive-bottom{
      margin-top:auto;
      display:flex;
      align-items:flex-end;
      justify-content:space-between;
      gap:14px;
      border-top:1px solid var(--line);
      padding-top:16px;
    }
    .price small{
      display:block;
      color:var(--muted);
      font-size:10px;
    }
    .price strong{
      display:block;
      margin-top:2px;
      color:var(--orange);
      font-size:21px;
    }
    .drive-bottom .btn{
      min-width:88px;
      white-space:nowrap;
    }

    /* CHAUFFEUR VEHICLES */
    .qnc-driver-section,
    .qnc-driver-section *,
    .qnc-driver-section *:before,
    .qnc-driver-section *:after{
      box-sizing:border-box;
    }
    .qnc-driver-section{
      --qnc-driver-blue:#0877B8;
      --qnc-driver-deep:#064D82;
      --qnc-driver-orange:#FF8C24;
      position:relative;
      isolation:isolate;
      padding:76px 20px 88px;
      color:#15324A;
      background:none;
    }
    .qnc-driver-anchor{
      position:absolute;
      top:-90px;
      left:0;
    }
    .qnc-driver-container{
      position:relative;
      z-index:1;
      width:100%;
      max-width:1320px;
      margin:0 auto;
    }
    .qnc-driver-heading{
      max-width:850px;
      margin-bottom:34px;
    }
    .qnc-driver-label{
      display:flex;
      align-items:center;
      gap:12px;
      margin-bottom:14px;
      color:var(--qnc-driver-blue);
      font-size:13px;
      font-weight:800;
      line-height:1.4;
      letter-spacing:0;
    }
    .qnc-driver-label > span{
      width:34px;
      height:3px;
      border-radius:3px;
      background:#FF9A3D;
    }
    .qnc-driver-heading h2{
      max-width:1040px;
      margin:0 0 16px;
      color:#123550;
      font-size:32px;
      font-weight:800;
      line-height:1.12;
      letter-spacing:0;
    }
    .qnc-driver-heading > p{ 
      margin:0;
      color:#607789;
      font-size:17px;
      line-height:1.7;
    }
    .qnc-driver-grid{
      display:grid;
      grid-template-columns:repeat(4,minmax(0,1fr));
      gap:24px 20px;
    }
    .qnc-driver-card{
      position:relative;
      display:flex;
      flex-direction:column;
      min-width:0;
      height:100%;
      overflow:hidden;
      border:1px solid #DCE8EE;
      border-radius:8px;
      background:#fff;
      box-shadow:0 12px 32px rgba(13,55,83,.08);
      transition:transform .3s ease,box-shadow .3s ease;
    }
    .qnc-driver-image{
      position:relative;
      display:block;
      width:100%;
      height:auto;
      aspect-ratio:4/3;
      overflow:hidden;
      background:#EEF4F7;
    }
    .qnc-driver-image:after{
      content:none;
    }
    .qnc-driver-image img{
      display:block;
      width:100%;
      height:100%;
      object-fit:cover;
      object-position:center;
      transition:transform .75s cubic-bezier(.2,.8,.2,1);
    }
    .qnc-driver-image.home-card-media--fallback{
      display:grid;
      place-items:center;
      color:var(--qnc-driver-blue);
      background:linear-gradient(145deg,#E2F5FD,#B9E1F2);
    }
    .qnc-driver-image.home-card-media--fallback > .fi{
      font-size:64px;
    }
    .qnc-driver-capacity-badge{
      position:absolute;
      z-index:4;
      top:18px;
      right:18px;
      display:flex;
      align-items:center;
      justify-content:center;
      flex-direction:column;
      width:72px;
      height:72px;
      border:1px solid rgba(255,255,255,.6);
      border-radius:8px;
      background:rgba(255,255,255,.9);
      box-shadow:0 12px 30px rgba(3,47,75,.16);
      -webkit-backdrop-filter:blur(10px);
      backdrop-filter:blur(10px);
    }
    .qnc-driver-capacity-badge strong{
      display:block;
      color:#075B91;
      font-size:28px;
      font-weight:900;
      line-height:.95;
      letter-spacing:0;
    }
    .qnc-driver-capacity-badge span{
      margin-top:5px;
      color:#718797;
      font-size:9px;
      font-weight:900;
      line-height:1;
      letter-spacing:0;
    }
    .qnc-driver-image-badge{
      position:absolute;
      z-index:4;
      bottom:18px;
      left:18px;
      display:inline-flex;
      align-items:center;
      gap:7px;
      padding:9px 12px;
      border:1px solid rgba(255,255,255,.36);
      border-radius:999px;
      color:#fff;
      background:rgba(5,62,96,.55);
      -webkit-backdrop-filter:blur(10px);
      backdrop-filter:blur(10px);
      font-size:10px;
      font-weight:800;
      letter-spacing:0;
    }
    .qnc-status-dot{
      width:7px;
      height:7px;
      border-radius:50%;
      background:#59E394;
      box-shadow:0 0 0 4px rgba(89,227,148,.14);
    }
    .qnc-driver-info{
      position:relative;
      z-index:2;
      display:flex;
      flex:1;
      flex-direction:column;
      min-height:0;
      padding:22px;
      background:#fff;
    }
    .qnc-driver-category{
      display:flex;
      align-items:center;
      flex-wrap:wrap;
      gap:7px;
      margin-bottom:9px;
      color:#1684B5;
      font-size:10px;
      font-weight:900;
      letter-spacing:0;
    }
    .qnc-driver-category span{
      width:4px;
      height:4px;
      border-radius:50%;
      background:var(--qnc-driver-orange);
    }
    .qnc-driver-info h3{
      margin:0 0 9px;
      color:#123550;
      font-size:15px;
      font-weight:800;
      line-height:1.18;
      letter-spacing:0;
    }
    .qnc-driver-info h3 a{
      color:inherit;
    }
    .qnc-driver-desc{
      display:-webkit-box;
      overflow:hidden;
      margin:0;
      color:#607789;
      font-size:13px;
      line-height:1.55;
      -webkit-box-orient:vertical;
      -webkit-line-clamp:2;
    }
    .qnc-driver-specs{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:10px;
      margin-top:17px;
    }
    .qnc-spec{
      display:flex;
      align-items:center;
      gap:9px;
      min-width:0;
      padding:10px 11px;
      border:1px solid #E0EDF3;
      border-radius:13px;
      background:rgba(242,249,252,.82);
    }
    .qnc-spec-icon{
      display:flex;
      align-items:center;
      justify-content:center;
      flex:0 0 auto;
      width:32px;
      height:32px;
      border-radius:10px;
      color:#1684B5;
      background:linear-gradient(135deg,#DAF4FF,#ECFAFF);
    }
    .qnc-spec-icon .fi{
      display:flex;
      font-size:16px;
      line-height:1;
    }
    .qnc-spec > span:last-child{
      min-width:0;
    }
    .qnc-spec small{
      display:block;
      margin-bottom:2px;
      color:#899BA8;
      font-size:9px;
      font-weight:500;
    }
    .qnc-spec strong{
      display:block;
      overflow:hidden;
      color:#344E60;
      font-size:11px;
      font-weight:800;
      white-space:nowrap;
      text-overflow:ellipsis;
    }
    .qnc-driver-footer{
      display:flex;
      align-items:flex-end;
      justify-content:space-between;
      gap:12px;
      margin-top:auto;
      padding-top:15px;
      border-top:1px solid #E4EDF2;
    }
    .qnc-price span{
      display:block;
      margin-bottom:3px;
      color:#899AA6;
      font-size:10px;
    }
    .qnc-price strong{
      display:block;
      color:#0B669B;
      font-size:17px;
      font-weight:900;
    }
    .qnc-view-btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      flex:0 0 auto;
      gap:7px;
      min-height:42px;
      padding:0 15px;
      border-radius:12px;
      color:#fff;
      background:linear-gradient(135deg,#FF9B3D,#FF7F19);
      box-shadow:0 9px 20px rgba(255,132,30,.22);
      font-size:12px;
      font-weight:800;
      transition:transform .3s ease,box-shadow .3s ease,gap .3s ease;
    }
    .qnc-view-btn .fi{
      display:flex;
      font-size:14px;
      line-height:1;
    }
    .js .qnc-reveal{
      opacity:0;
      transform:translateY(25px);
      transition:opacity .7s ease var(--qnc-reveal-delay,0ms),transform .7s ease var(--qnc-reveal-delay,0ms);
    }
    .js .qnc-reveal.is-visible{
      opacity:1;
      transform:translateY(0);
    }
    @media(hover:hover){
      .qnc-driver-card:hover{
        transform:translateY(-6px);
        box-shadow:0 20px 44px rgba(13,55,83,.14);
      }
      .qnc-driver-card:hover .qnc-driver-image img{
        transform:scale(1.065);
      }
      .qnc-driver-card:hover .qnc-driver-info{
        transform:none;
      }
      .qnc-view-btn:hover{
        gap:11px;
        color:#fff;
        transform:translateY(-2px);
        box-shadow:0 13px 27px rgba(255,132,30,.3);
      }
    }
    @media(max-width:1100px){
      .qnc-driver-section{
        padding:68px 24px 78px;
      }
      .qnc-driver-heading h2{
        font-size:32px;
      }
      .qnc-driver-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
      }
      .qnc-driver-card:last-child:nth-child(odd){
        grid-column:1/-1;
        justify-self:center;
        width:calc((100% - 22px)/2);
      }
    }
    @media(max-width:700px){
      .qnc-driver-section{
        padding:52px 16px 62px;
        background:none;
      }
      .qnc-driver-heading{
        margin-bottom:32px;
      }
      .qnc-driver-label{
        font-size:11px;
      }
      .qnc-driver-heading h2{
        font-size:32px;
        line-height:1.13;
      }
      .qnc-driver-heading > p{
        font-size:15px;
      }
      .qnc-driver-grid{
        grid-template-columns:1fr;
        gap:24px;
      }
      .qnc-driver-card:last-child:nth-child(odd){
        grid-column:auto;
        width:100%;
      }
      .qnc-driver-card{
        padding-bottom:0;
      }
      .qnc-driver-image{
        height:auto;
      }
      .qnc-driver-image{
        aspect-ratio:4/3;
      }
      .qnc-driver-info{
        padding:20px;
      }
      .qnc-driver-info h3{
        font-size:22px;
      }
    }
    @media(max-width:420px){
      .qnc-driver-heading h2{
        font-size:32px;
      }
      .qnc-driver-card{
        padding-bottom:0;
      }
      .qnc-driver-image{
        height:auto;
      }
      .qnc-driver-capacity-badge{
        width:64px;
        height:64px;
        border-radius:8px;

      }
      .qnc-driver-capacity-badge strong{
        font-size:24px;
      }
      .qnc-driver-info{
        padding:18px;
      }
      .qnc-spec{
        padding:8px;
      }
      .qnc-driver-footer{
        align-items:center;
      }
      .qnc-price strong{
        font-size:15px;
      }
      .qnc-view-btn{
        padding:0 13px;
      }
    }
    @media(prefers-reduced-motion:reduce){
      .js .qnc-reveal{
        opacity:1;
        transform:none;
      }
      .qnc-driver-card,
      .qnc-driver-image img,
      .qnc-driver-info,
      .qnc-view-btn{
        transition:none;
      }
    }

    /* Front-page chauffeur cards. */
    .qnc-driver-section{
      --qnc-driver-deep:#123b68;
      --qnc-driver-orange:#f68116;
      padding:76px 20px 88px;
      color:#263142;
      background:#fff;
    }
    .qnc-driver-container{
      max-width:1280px;
    }
    .qnc-driver-heading{
      max-width:740px;
      margin-bottom:30px;
    }
    .qnc-driver-heading h1{
      max-width:1040px;
      margin:0 0 12px;
      color:var(--qnc-driver-deep);
      font-size:38px;
      font-weight:800;
      line-height:1.16;
    }
    .qnc-driver-heading > p{
      color:#5c6a7d;
      font-size:15px;
      line-height:1.6; 
    }
    .qnc-driver-grid{
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:28px;
    }
    .qnc-driver-card{
      border-color:#dfe5ec;
      border-radius:8px;
      box-shadow:0 14px 34px rgba(24,52,82,.08);
    }
    .qnc-driver-image{
      aspect-ratio:16 / 10;
      background:#edf2f5;
    }
    .qnc-driver-service-badges{
      position:absolute;
      z-index:2;
      top:20px;
      left:20px;
      display:flex;
      flex-wrap:wrap;
      gap:8px;
    }
    .qnc-driver-service-badges span,
    .qnc-driver-image-label{
      display:inline-flex;
      align-items:center;
      min-height:36px;
      padding:0 20px;
      border-radius:999px;
      color:#fff;
      font-size:13px;
      font-weight:800;
      line-height:1;
      white-space:nowrap;
    }
    .qnc-driver-service-badges span:first-child,
    .qnc-driver-image-label{
      background:var(--qnc-driver-orange);
    }
    .qnc-driver-service-badges span:last-child{
      background:var(--qnc-driver-deep);
    }
    .qnc-driver-image-label{
      position:absolute;
      z-index:2;
      right:20px;
      bottom:20px;
      max-width:calc(100% - 40px);
      overflow:hidden;
      text-overflow:ellipsis;
      background:rgba(246,129,22,.94);
    }
    .qnc-driver-info{
      padding:26px 28px 28px;
    }
    .qnc-driver-info h3{
      margin:0;
      color:var(--qnc-driver-deep);
      font-size:23px;
      font-weight:800;
      line-height:1.2;
    }
    .qnc-driver-audience{
      display:flex;
      align-items:center;
      gap:12px;
      margin:15px 0 0;
      color:#5e6879;
      font-size:13px;
      line-height:1.4;
    }
    .qnc-driver-audience span{
      flex:0 0 auto;
      width:14px;
      height:14px;
      border-radius:50%;
      background:var(--qnc-driver-orange);
    }
    .qnc-driver-tags{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      margin-top:24px;
    }
    .qnc-driver-tags span{
      display:inline-flex;
      align-items:center;
      min-height:40px;
      padding:7px 12px;
      border:1px solid #d7dee8;
      border-radius:999px;
      color:#343e4e;
      background:#f8f9fb;
      font-size:13px;
      font-weight:700;
      line-height:1.15;
    }
    .qnc-driver-features{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:12px;
      margin:24px 0 0;
      padding:0;
      list-style:none;
    }
    .qnc-driver-features li{
      display:flex;
      align-items:center;
      gap:9px;
      min-width:0; 
      padding:10px 12px;
      border:1px solid #e4e8ed;
      border-radius:8px;
      color:#252d3d;
      background:#fff;
      font-size:13px;
      font-weight:700;
      line-height:1.25;
      white-space:nowrap;
    }
    .qnc-driver-features .fi{
      display:grid;
      flex:0 0 auto;
      place-items:center;
      width:28px;
      height:28px;
      border-radius:8px;
      color:#73b34f;
      background:#eef1f4;
      font-size:15px;
      line-height:1;
    }
    .qnc-driver-footer{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:14px;
      margin-top:28px;
      padding:0;
      border:0;
    }
    .qnc-call-btn,
    .qnc-view-btn{
      display:flex;
      align-items:center;
      justify-content:center;
      min-height:40px;
      padding:10px 16px;
      border:1px solid #ccd5e0;
      border-radius:8px;
      color:var(--qnc-driver-deep);
      background:#fff;
      box-shadow:none;
      font-size:15px;
      font-weight:800;
      line-height:1.1;
      text-align:center;
    }
    .qnc-view-btn{
      color:#fff;
      border-color:var(--qnc-driver-orange);
      background:var(--qnc-driver-orange);
    }
    @media(hover:hover){
      .qnc-view-btn:hover{
        gap:7px;
        color:#fff;
        background:#df700d;
        box-shadow:0 10px 22px rgba(246,129,22,.24);
      }
      .qnc-call-btn:hover{
        color:#fff;
        border-color:var(--qnc-driver-deep);
        background:var(--qnc-driver-deep);
      }
    }
    @media(max-width:1100px){
      .qnc-driver-grid{
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:18px;
      }
      .qnc-driver-card:last-child:nth-child(odd){
        grid-column:auto;
        justify-self:auto;
        width:auto;
      }
      .qnc-driver-info{
        padding:22px;
      }
      .qnc-driver-info h3{
        font-size:20px;
      }
      .qnc-driver-features li{
        gap:5px;
        min-height:52px;
        padding:7px;
        font-size:10px;
      }
      .qnc-driver-features .fi{
        width:22px;
        height:22px;
      }
      .qnc-driver-tags span{
        padding:7px 10px;
        font-size:12px;
      }
    }
    @media(max-width:700px){
      .qnc-driver-section{
        padding:52px 16px 62px;
      }
      .qnc-driver-heading{
        margin-bottom:24px;
      }
      .qnc-driver-heading h1{
        font-size:30px;
      }
      .qnc-driver-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:14px;
      }
      .qnc-driver-card:last-child:nth-child(odd){
        grid-column:auto;
        width:auto;
      }
      .qnc-driver-image{
        aspect-ratio:4 / 3;
      }
      .qnc-driver-service-badges{
        top:10px;
        left:10px;
        gap:5px;
      }
      .qnc-driver-service-badges span,
      .qnc-driver-image-label{
        min-height:28px;
        padding:0 9px;
        font-size:10px;
      }
      .qnc-driver-image-label{
        right:10px;
        bottom:10px;
        max-width:calc(100% - 20px);
      }
      .qnc-driver-info{
        padding:16px 12px 14px;
      }
      .qnc-driver-info h3{
        font-size:17px;
        line-height:1.24;
      }
      .qnc-driver-audience{
        gap:7px;
        margin-top:10px;
        font-size:11px;
      }
      .qnc-driver-audience span{
        width:9px;
        height:9px;
      }
      .qnc-driver-tags{
        gap:6px;
        margin-top:15px;
      }
      .qnc-driver-tags span{
        min-height:30px;
        padding:5px 8px;
        font-size:10px;
      }
      .qnc-driver-features{
        display:none;
      }
      .qnc-driver-footer{
        grid-template-columns:1fr;
        gap:8px;
        margin-top:16px;
      }
      .qnc-call-btn,
      .qnc-view-btn{
        min-height:40px;
        padding:8px;
        font-size:13px;
      }
    }

    .qnc-price-section{
      padding:0 20px 88px;
      background:#fff;
    }
    .qnc-price-container{ 
      width:100%;
      max-width:1280px;
      margin:0 auto;
    }
    .qnc-price-heading{
      margin-bottom:24px;
    }
    .qnc-price-heading > span{
      display:flex;
      align-items:center;
      gap:10px;
      margin-bottom:10px;
      color:var(--qnc-driver-orange);
      font-size:13px;
      font-weight:800;
      line-height:1.4;
    }
    .qnc-price-heading > span:before{
      content:"";
      width:30px;
      height:3px;
      border-radius:3px;
      background:currentColor;
    }
    .qnc-price-heading h2{
      margin:0;
      color:var(--qnc-driver-deep);
      font-size:32px;
      font-weight:800;
      line-height:1.18;
    }
    .qnc-price-image{
      display:block;
      overflow:hidden;
      border:1px solid #dfe5ec;
      border-radius:8px;
      background:#fff;
      box-shadow:0 14px 34px rgba(24,52,82,.08);
    }
    .qnc-price-image img{
      display:block;
      width:100%;
      height:auto;
    }
    @media(hover:hover){
      .qnc-price-image:hover{
        box-shadow:0 18px 38px rgba(24,52,82,.13);
      }
    }
    @media(max-width:700px){
      .qnc-price-section{
        padding:0 16px 62px;
      }
      .qnc-price-heading{
        margin-bottom:18px;
      }
      .qnc-price-heading > span{
        margin-bottom:8px;
        font-size:11px;
      }
      .qnc-price-heading h2{
        font-size:25px;
      }
    }

    /* TOURS */
    #tours{
      background:linear-gradient(180deg,#F7FBFF 0%,#FFFFFF 100%);
    }
    #tours .section-title{
      margin-bottom:6px;
    }
    #tours .section-desc{
      color:#5C6E82;
    }
    .tour-grid{
      margin-top:22px;
      display:grid;
      grid-template-columns:repeat(4,minmax(0,1fr));
      gap:18px;
    }
    .tour-card{
      min-width:0;
      display:flex;
      flex-direction:column;
      overflow:hidden;
      border:1px solid #D8E3EE;
      border-radius:8px;
      background:#fff;
      box-shadow:0 8px 24px rgba(8,46,93,.07);
      transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;
    }
    .tour-card:hover{
      border-color:rgba(10,114,206,.34);
      box-shadow:0 14px 34px rgba(8,46,93,.12);
      transform:translateY(-3px);
    }
    .tour-card__media{
      position:relative;
      display:block;
      aspect-ratio:5/3;
      overflow:hidden;
      background:#E9EFF5;
    }
    .tour-card__media img{
      width:100%;
      height:100%;
      object-fit:cover;
      transition:transform .4s ease;
    }
    .tour-card:hover .tour-card__media img{
      transform:scale(1.04);
    }
    .tour-card__discount{
      position:absolute;
      top:14px;
      left:0;
      padding:8px 14px;
      background:var(--orange);
      color:#fff;
      font-size:15px;
      font-weight:900;
      box-shadow:0 7px 18px rgba(255,123,26,.28);
    }
    .tour-card__body{
      display:flex;
      flex:1;
      flex-direction:column;
      padding:18px 20px 20px;
    }
    .tour-card__body h3{
      margin:0;
      min-height:64px;
      color:var(--navy);
      font-size:15px;
      font-weight:850;
      line-height:1.28;
    }
    .tour-card__details{
      display:grid;
      gap:7px;
      margin:5px 0 18px;
      padding:0;
      list-style:none;
    }
    .tour-card__details li{
      display:grid;
      grid-template-columns:20px minmax(0,1fr);
      align-items:center;
      gap:8px;
    }
    .tour-card__details li > span{
      color:var(--blue);
      font-size:17px;
      font-weight:900;
      line-height:1;
      text-align:center;
    }
    .tour-card__details strong{
      color:#536579;
      font-size:13px;
      font-weight:700;
    }
    .tour-card__footer{
      display:flex;
      align-items:flex-end;
      justify-content:space-between;
      gap:10px;
      margin-top:auto;
    }
    .tour-card__price > div{
      display:flex;
      align-items:baseline;
      flex-wrap:wrap;
      gap:2px 6px;
    }
    .tour-card__price > span{
      display:block;
      margin-top:3px;
      color:var(--muted);
      font-size:10px;
      font-weight:700;
    }
    .tour-card__price strong{
      color:var(--orange);
      font-size:21px;
      line-height:1.2;
    }
    .tour-card__price strong small{
      margin-left:2px;
      color:var(--orange);
      font-size:12px;
      font-weight:700;
    }
    .tour-card__price del{
      color:#969696;
      font-size:10px;
    }
    .tour-card__button{
      min-height:44px;
      padding:0 16px;
      border-radius:5px;
      background:var(--orange);
      box-shadow:0 8px 20px rgba(255,123,26,.22);
      white-space:nowrap;
    }
    .tour-card__button:hover{
      background:#E96811;
    }

    /* ALBUM */
    .album-section{
      background:var(--soft);
    }
    .album-heading{
      display:flex;
      align-items:flex-end;
      justify-content:space-between;
      gap:32px;
      margin-bottom:34px;
    }
    .album-heading .section-desc{
      max-width:1000px;
    }
    .album-count{
      flex-shrink:0;
      padding-bottom:4px;
      color:#7A8796;
      font-size:12px;
      font-weight:800;
    }
    .album-grid{
      display:grid;
      grid-auto-rows:220px;
      grid-template-columns:repeat(12,minmax(0,1fr));
      gap:16px;
    }
    .album-item{
      position:relative;
      grid-column:span 3;
      min-width:0;
      padding:0;
      overflow:hidden;
      border:0;
      border-radius:8px;
      background:#DCE5ED;
      color:#fff;
    }
    .album-item--featured{
      grid-column:span 6;
      grid-row:span 2;
    }
    .album-item:nth-child(n+6){
      grid-column:span 4;
    }
    .album-item:after{
      content:"";
      position:absolute;
      inset:45% 0 0;
      background:linear-gradient(180deg,transparent,rgba(4,20,40,.72));
      pointer-events:none;
    }
    .album-item img{
      width:100%;
      height:100%;
      object-fit:cover;
      transition:transform .4s ease;
    }
    .album-item:hover img{
      transform:scale(1.04);
    }
    .album-item > span{
      position:absolute;
      z-index:2;
      right:16px;
      bottom:13px;
      left:16px;
      color:#fff;
      font-size:13px;
      font-weight:850;
      line-height:1.3;
      text-align:left;
    }
    .album-lightbox{
      position:relative;
      width:min(94vw,1280px);
      max-width:none;
      max-height:94vh;
      padding:0;
      overflow:visible;
      border:0;
      background:transparent;
      color:#fff;
    }
    .album-lightbox::backdrop{
      background:rgba(2,12,25,.92);
      backdrop-filter:blur(4px);
    }
    .album-lightbox figure{
      display:flex;
      align-items:center;
      flex-direction:column;
      margin:0;
    }
    .album-lightbox figure img{
      width:auto;
      max-width:100%;
      max-height:82vh;
      border-radius:8px;
      object-fit:contain;
    }
    .album-lightbox figcaption{
      min-height:28px;
      padding-top:10px;
      color:#fff;
      font-size:13px;
      font-weight:750;
      text-align:center;
    }
    .album-lightbox__close,
    .album-lightbox__nav{
      position:absolute;
      z-index:3;
      width:44px;
      height:44px;
      display:grid;
      place-items:center;
      padding:0;
      border:1px solid rgba(255,255,255,.3);
      border-radius:50%;
      background:rgba(4,20,40,.72);
      color:#fff;
      line-height:1;
    }
    .album-lightbox__close{
      top:10px;
      right:10px;
      font-size:28px;
    }
    .album-lightbox__nav{
      top:50%;
      font-size:34px;
      transform:translateY(-50%);
    }
    .album-lightbox__nav--prev{
      left:10px;
    }
    .album-lightbox__nav--next{
      right:10px;
    }

    /* REVIEWS */
    .reviews{
      overflow:hidden;
      background:linear-gradient(180deg,#F6F9FC,#FFFFFF);
    }
    .reviews-heading{
      display:flex;
      align-items:flex-end;
      justify-content:space-between;
      gap:32px;
    }
    .reviews-heading > div:first-child{
      max-width:820px;
    }
    .review-slider__controls{
      display:flex;
      flex:0 0 auto;
      gap:10px;
    }
    .review-slider__button{
      display:grid;
      place-items:center;
      width:44px;
      height:44px;
      border:1px solid var(--line);
      border-radius:8px;
      color:var(--navy);
      background:#fff;
      box-shadow:var(--shadow-sm);
      cursor:pointer;
      transition:border-color .2s ease,color .2s ease,background .2s ease,transform .2s ease;
    }
    .review-slider__button .fi{
      display:flex;
      font-size:16px;
      line-height:1;
    }
    .review-slider__button:hover:not(:disabled){
      border-color:var(--blue);
      color:#fff;
      background:var(--blue);
      transform:translateY(-2px);
    }
    .review-slider__button:disabled{
      opacity:.38;
      cursor:not-allowed;
      box-shadow:none;
    }
    .reviews-layout{
      display:grid;
      grid-template-columns:260px minmax(0,1fr);
      gap:24px;
      align-items:stretch;
      margin-top:34px;
    }
    .review-score{
      background:var(--navy);
      color:#fff;
      border-radius:8px;
      padding:28px;
      display:flex;
      flex-direction:column;
      justify-content:space-between;
      min-height:300px;
    }
    .review-score strong{
      display:block;
      font-size:64px;
      line-height:.95;
      letter-spacing:0;
    }
    .review-score .stars{
      display:flex;
      gap:3px;
      color:#FFB453;
      font-size:18px;
      letter-spacing:0;
      margin-top:10px;
    }
    .review-score p{
      margin:22px 0 0;
      color:#BFD0E0;
      font-size:13px;
    }
    .review-score-bottom{
      font-size:11px;
      color:#8FA5BA;
    }
    .review-slider{
      min-width:0;
      overflow:hidden;
    }
    .review-list{
      display:flex;
      gap:16px;
      height:100%;
      overflow-x:auto;
      padding-bottom:12px;
      scroll-behavior:smooth;
      scroll-snap-type:x mandatory;
      scrollbar-width:none;
      overscroll-behavior-inline:contain;
    }
    .review-list::-webkit-scrollbar{
      display:none;
    }
    .review-card{
      display:flex;
      flex:0 0 calc((100% - 48px)/4);
      flex-direction:column;
      min-width:0;
      background:#fff;
      border:1px solid var(--line);
      border-radius:8px;
      padding:20px;
      box-shadow:var(--shadow-sm);
      scroll-snap-align:start;
    }
    .review-card .stars{
      display:flex;
      gap:2px;
      color:#F6A623;
      font-size:13px;
      letter-spacing:0;
    }
    .review-card p{
      flex:1;
      margin:14px 0 18px;
      color:#526276;
      font-size:13px;
      line-height:1.6;
    }
    .review-user{
      display:flex;
      align-items:center;
      gap:10px;
    }
    .avatar{
      width:40px;
      height:40px;
      border-radius:50%;
      background:#E9F2FB;
      color:var(--navy);
      display:grid;
      place-items:center;
      font-size:12px;
      font-weight:900;
    }
    .review-user b{
      display:block;
      color:var(--navy);
      font-size:12px;
    }
    .review-user span{
      display:block;
      margin-top:2px;
      color:var(--muted);
      font-size:10px;
    }

    /* BLOG SLIDER */
    .blog-section{
      overflow:hidden;
    }
    .blog-heading{
      display:flex;
      align-items:flex-end;
      justify-content:space-between;
      gap:32px;
    }
    .blog-heading > div:first-child{
      max-width:820px;
    }
    .blog-slider__controls{
      display:flex;
      flex:0 0 auto;
      gap:10px;
    }
    .blog-slider__button{
      display:grid;
      place-items:center;
      width:44px;
      height:44px;
      border:1px solid var(--line);
      border-radius:8px;
      color:var(--navy);
      background:#fff;
      box-shadow:var(--shadow-sm);
      cursor:pointer;
      transition:border-color .2s ease,color .2s ease,background .2s ease,transform .2s ease;
    }
    .blog-slider__button .fi{
      display:flex;
      font-size:16px;
      line-height:1;
    }
    .blog-slider__button:hover:not(:disabled){
      border-color:var(--blue);
      color:#fff;
      background:var(--blue);
      transform:translateY(-2px);
    }
    .blog-slider__button:disabled{
      opacity:.38;
      cursor:not-allowed;
      box-shadow:none;
    }
    .blog-slider{
      margin-top:34px;
    }
    .blog-slider__track{
      display:flex;
      gap:18px;
      overflow-x:auto;
      padding:2px 0 16px;
      scroll-behavior:smooth;
      scroll-snap-type:x mandatory;
      scrollbar-width:none;
      overscroll-behavior-inline:contain;
    }
    .blog-slider__track::-webkit-scrollbar{
      display:none;
    }
    .blog-card{
      display:flex;
      flex:0 0 calc((100% - 54px)/4);
      flex-direction:column;
      min-width:0;
      border:1px solid var(--line);
      border-radius:8px;
      overflow:hidden;
      background:#fff;
      box-shadow:var(--shadow-sm);
      scroll-snap-align:start;
    }
    .blog-image{
      display:block;
      height:190px;
      flex:0 0 auto;
      overflow:hidden;
    }
    .blog-image img{
      width:100%;
      height:100%;
      object-fit:cover;
      transition:.4s;
    }
    .blog-card:hover img{
      transform:scale(1.04);
    }
    .blog-body{
      display:flex;
      flex:1;
      flex-direction:column;
      padding:18px;
    }
    .blog-meta{
      display:flex;
      gap:8px;
      align-items:center;
      color:#8793A1;
      font-size:10px;
      font-weight:750;
    }
    .blog-meta b{
      color:var(--blue);
    }
    .blog-card h3{
      display:-webkit-box;
      min-height:47px;
      overflow:hidden;
      margin:9px 0 7px;
      color:var(--navy);
      font-size:18px;
      line-height:1.3;
      -webkit-box-orient:vertical;
      -webkit-line-clamp:2;
    }
    .blog-card p{
      display:-webkit-box;
      overflow:hidden;
      margin:0;
      color:var(--muted);
      font-size:12px;
      line-height:1.6;
      -webkit-box-orient:vertical;
      -webkit-line-clamp:3;
    }
    .blog-card__link{
      display:inline-flex;
      align-items:center;
      align-self:flex-start;
      gap:6px;
      margin-top:18px;
      color:var(--blue);
      font-size:11px;
      font-weight:850;
    }
    .blog-card__link .fi{
      display:flex;
      font-size:11px;
      transition:transform .2s ease;
    }
    .blog-card__link:hover .fi{
      transform:translateX(3px);
    }
    .blog-slider__track > .home-content-empty{
      flex:0 0 100%;
    }
    .home-content-empty{
      grid-column:1/-1;
      margin:0;
      padding:26px;
      border:1px dashed var(--line);
      border-radius:8px;
      color:var(--muted);
      text-align:center;
    }
    .home-content-empty--dark{
      border-color:rgba(255,255,255,.32);
      color:#D1DEEA;
    }

    /* FAQ */
    .faq-layout{
      display:grid;
      grid-template-columns:minmax(340px,410px) minmax(0,1fr);
      align-items:start;
      gap:42px;
      margin-top:40px;
    }
    .faq-aside{
      align-self:start;
      overflow:hidden;
      min-height:0;
      border:1px solid #DCE6EE;
      border-radius:8px;
      background:#fff;
      box-shadow:0 20px 50px rgba(8,46,93,.12);
    }
    .faq-aside__visual{
      position:relative;
      height:220px;
      overflow:hidden;
      background:#DDE8EF;
    }
    .faq-aside__visual img{
      width:100%;
      height:100%;
      object-fit:cover;
      object-position:center 58%;
    }
    .faq-aside__visual > span{
      position:absolute;
      left:18px;
      bottom:16px;
      display:inline-flex;
      align-items:center;
      gap:7px;
      min-height:34px;
      padding:7px 11px;
      border:1px solid rgba(255,255,255,.75);
      border-radius:6px;
      background:rgba(255,255,255,.94);
      color:var(--navy);
      box-shadow:0 8px 20px rgba(4,30,63,.18);
      font-size:12px;
      font-weight:850;
    }
    .faq-aside__visual > span .fi{
      color:var(--green);
      font-size:15px;
    }
    .faq-aside__body{
      padding:27px;
    }
    .faq-aside__eyebrow{
      display:inline-flex;
      align-items:center;
      gap:8px;
      color:var(--blue);
      font-size:12px;
      font-weight:900;
      text-transform:uppercase;
    }
    .faq-aside__eyebrow:before{
      content:"";
      width:22px;
      height:2px;
      background:var(--orange);
    }
    .faq-aside h3{
      margin:9px 0 10px;
      color:var(--navy);
      font-size:27px;
      line-height:1.18;
    }
    .faq-aside p{
      margin:0;
      color:#607184;
      font-size:15px;
      line-height:1.65;
    }
    .faq-aside__benefits{
      display:flex;
      flex-wrap:wrap;
      gap:9px 15px;
      margin:18px 0 0;
      padding:0;
      color:#40556A;
      list-style:none;
      font-size:12px;
      font-weight:750;
    }
    .faq-aside__benefits li{
      display:inline-flex;
      align-items:center;
      gap:6px;
    }
    .faq-aside__benefits .fi{
      color:var(--orange);
      font-size:14px;
    }
    .faq-contact{
      display:grid;
      gap:10px;
      margin-top:22px;
    }
    .faq-contact a{
      display:flex;
      align-items:center;
      min-height:54px;
      padding:0 15px;
      border:1px solid transparent;
      border-radius:7px;
      font-size:13px;
      font-weight:850;
      transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
    }
    .faq-contact a:hover{
      transform:translateY(-2px);
    }
    .faq-contact__call{
      gap:11px;
      background:var(--navy);
      color:#fff;
      box-shadow:0 10px 24px rgba(8,46,93,.18);
    }
    .faq-contact__call > .fi{
      font-size:20px;
    }
    .faq-contact__call span{
      display:grid;
      line-height:1.25;
    }
    .faq-contact__call small{
      color:#BFD0DF;
      font-size:11px;
      font-weight:650;
    }
    .faq-contact__call strong{
      color:#fff;
      font-size:16px;
    }
    .faq-contact__quote{
      justify-content:space-between;
      gap:10px;
      border-color:rgba(255,123,26,.35) !important;
      background:#FFF4EA;
      color:#9A470F;
    }
    .faq-contact__quote .fi:first-child{
      color:var(--orange);
      font-size:18px;
    }
    .faq-contact__quote .fi:last-child{
      margin-left:auto;
      transition:transform .2s ease;
    }
    .faq-contact__quote:hover .fi:last-child{
      transform:translateX(3px);
    }
    .faq-list{
      overflow:hidden;
      border:1px solid #DCE5ED;
      border-radius:8px;
      background:#fff;
      box-shadow:0 12px 34px rgba(8,46,93,.07);
    }
    .faq-item{
      padding:0 24px;
      border-bottom:1px solid var(--line);
    }
    .faq-item:last-child{border-bottom:0}
    .faq-q{
      width:100%;
      border:0;
      background:transparent;
      min-height:74px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:20px;
      text-align:left;
      color:var(--navy);
      font-size:16px;
      font-weight:850;
      padding:18px 0;
    }
    .faq-q span:last-child{
      display:grid;
      place-items:center;
      flex:0 0 34px;
      width:34px;
      height:34px;
      border-radius:50%;
      background:#FFF0E3;
      color:var(--orange);
      font-size:20px;
      transition:.2s;
    }
    .faq-a{
      display:none;
      padding:0 46px 22px 0;
      color:var(--muted);
      font-size:14px;
      line-height:1.7;
      max-width:760px;
    }
    .faq-item.open .faq-a{display:block}
    .faq-item.open .faq-q span:last-child{transform:rotate(45deg)}

    /* FOOTER */
    .footer{
      background:var(--navy-deep);
      color:#AFC1D3;
    }
    .footer-cta{
      border-top:1px solid rgba(255,255,255,.12);
      border-bottom:1px solid rgba(255,255,255,.14);
      background:var(--blue);
    }
    .footer-cta__inner{
      min-height:190px;
      display:grid;
      grid-template-columns:1.25fr .75fr;
      align-items:center;
      gap:48px;
      padding-top:34px;
      padding-bottom:34px;
    }
    .footer-cta__eyebrow{
      display:block;
      margin-bottom:8px;
      color:#D9EDFF;
      font-size:11px;
      font-weight:850;
      letter-spacing:0;
      text-transform:uppercase;
    }
    .footer-cta h2{
      margin:0;
      color:#fff;
      font-size:32px;
      line-height:1.2;
    }
    .footer-cta__copy p{
      max-width:720px;
      margin:10px 0 0;
      color:#E3F1FF;
      font-size:14px;
    }
    .footer-cta__actions{
      display:flex;
      align-items:center;
      justify-content:flex-end;
      gap:10px;
    }
    .footer-cta__call{
      min-height:58px;
      display:flex;
      align-items:center;
      gap:11px;
      margin:0;
      padding:8px 14px;
      border:1px solid rgba(255,255,255,.28);
      border-radius:8px;
      background:rgba(4,30,63,.16);
      color:#fff;
      font-size:19px;
    }
    .footer-cta__call small,
    .footer-cta__call strong{
      display:block;
    }
    .footer-cta__call > .fi{
      font-size:20px;
    }
    .footer-cta__call small{
      color:#D9EDFF;
      font-size:10px;
      font-weight:700;
    }
    .footer-cta__call strong{
      margin-top:2px;
      color:#fff;
      font-size:16px;
    }
    .footer-cta__button{
      min-height:58px;
      margin:0;
      padding:0 20px;
      border-radius:8px;
      background:var(--orange);
      color:#fff;
      white-space:nowrap;
    }
    .footer-main{
      padding:62px 0 24px;
    }
    .footer-grid{
      display:grid;
      grid-template-columns:1.35fr .75fr .9fr 1.15fr;
      gap:46px;
    }
    .footer-copy{
      max-width:390px;
      margin:20px 0 0;
      color:#93A9BD;
      font-size:13px;
    }
    .footer-commitments{
      display:grid;
      gap:8px;
      margin:22px 0 0;
      padding:0;
      list-style:none;
      color:#C3D2E0;
      font-size:12px;
    }
    .footer-commitments li{
      display:flex;
      align-items:center;
      gap:8px;
    }
    .footer-commitments li span{
      color:#5CD39C;
      font-weight:900;
    }
    .footer-column h2{
      margin:0 0 18px;
      color:#fff;
      font-size:14px;
      line-height:1.3;
    }
    .footer-links,
    .footer-contact__list{
      margin:0;
      padding:0;
      list-style:none;
    }
    .footer-links{
      display:grid;
      gap:11px;
    }
    .footer-links a{
      color:#AFC1D3;
      font-size:13px;
      transition:color .2s ease;
    }
    .footer-links a:hover,
    .footer-contact a:hover,
    .footer-legal a:hover{
      color:#fff;
    }
    .footer-contact__list{
      display:grid;
      gap:15px;
    }
    .footer-contact__list li{
      display:grid;
      grid-template-columns:34px minmax(0,1fr);
      align-items:center;
      gap:10px;
    }
    .footer-contact__icon{
      width:34px;
      height:34px;
      display:grid;
      place-items:center;
      border:1px solid rgba(255,255,255,.11);
      border-radius:8px;
      background:rgba(255,255,255,.05);
      color:#71BFFF;
      font-size:14px;
    }
    .footer-contact__list small,
    .footer-contact__list strong,
    .footer-contact__list a{
      display:block;
    }
    .footer-contact__list small{
      margin-bottom:2px;
      color:#718BA3;
      font-size:10px;
      font-weight:750;
    }
    .footer-contact__list strong,
    .footer-contact__list a{
      overflow-wrap:anywhere;
      color:#D9E4EE;
      font-size:12px;
      font-weight:750;
    }
    .footer-hours{
      margin-top:20px;
      padding:13px 0;
      border-top:1px solid rgba(255,255,255,.09);
      border-bottom:1px solid rgba(255,255,255,.09);
    }
    .footer-hours span,
    .footer-hours strong{
      display:block;
    }
    .footer-hours span{
      color:#718BA3;
      font-size:10px;
      font-weight:750;
    }
    .footer-hours strong{
      margin-top:3px;
      color:#D9E4EE;
      font-size:12px;
    }
    .footer-coverage{
      display:flex;
      align-items:center;
      flex-wrap:wrap;
      gap:9px 0;
      margin-top:44px;
      padding:18px 0;
      border-top:1px solid rgba(255,255,255,.09);
      border-bottom:1px solid rgba(255,255,255,.09);
      color:#8299AD;
      font-size:11px;
    }
    .footer-coverage strong{
      margin-right:20px;
      color:#DCE7F0;
      font-size:11px;
    }
    .footer-coverage span{
      display:flex;
      align-items:center;
    }
    .footer-coverage span:not(:last-child):after{
      content:"•";
      margin:0 12px;
      color:#3F5B73;
    }
    .footer-bottom{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:20px;
      flex-wrap:wrap;
      padding-top:20px;
      color:#7F96AA;
      font-size:10px;
    }
    .footer-bottom p{
      margin:0;
    }
    .footer-legal{
      display:flex;
      flex-wrap:wrap;
      gap:18px;
    }
    .footer-legal a{
      color:#8DA3B7;
      font-size:10px;
      transition:color .2s ease;
    }

    /* FLOATING CONTACT */
    .floating-contact{
      position:fixed;
      right:18px;
      bottom:24px;
      z-index:1200;
      display:grid;
      gap:9px;
    }
    .floating-contact__item{
      --contact-color:var(--green);
      width:56px;
      min-height:56px;
      display:grid;
      grid-template-columns:1fr;
      place-items:center;
      align-items:center;
      padding:5px;
      border:1px solid rgba(8,46,93,.12);
      border-radius:50%;
      background:#fff;
      box-shadow:0 10px 28px rgba(4,30,63,.18);
      color:var(--navy);
      animation:floating-contact-in .45s backwards;
      transition:transform .2s ease,box-shadow .2s ease;
      will-change:transform,opacity;
    }
    .floating-contact__item:nth-child(2){
      animation-delay:.08s;
    }
    .floating-contact__item:nth-child(3){
      animation-delay:.16s;
    }
    .floating-contact__item--zalo{
      --contact-color:#0068FF;
    }
    .floating-contact__item--phone{
      --contact-color:#16A66A;
    }
    .floating-contact__item--tour{
      --contact-color:#F47A1F;
    }
    .floating-contact__item:hover{
      transform:translateX(-6px);
      box-shadow:0 14px 34px rgba(4,30,63,.24);
    }
    .floating-contact__icon{
      position:relative;
      width:42px;
      height:42px;
      display:grid;
      place-items:center;
      border-radius:50%;
      background:var(--contact-color);
      color:#fff;
      font-size:18px;
      font-weight:900;
      line-height:1;
    }
    .floating-contact__icon--image{
      overflow:hidden;
      background:#fff;
    }
    .floating-contact__icon--image img{
      display:block;
      width:100%;
      height:100%;
      object-fit:contain;
    }
    .floating-contact__icon:after{
      content:"";
      position:absolute;
      inset:-2px;
      border:1px solid var(--contact-color);
      border-radius:50%;
      animation:floating-contact-pulse 2.2s ease-out 3;
      pointer-events:none;
      will-change:transform,opacity;
    }
    @keyframes floating-contact-in{
      from{
        opacity:0;
        transform:translateX(34px);
      }
      to{
        opacity:1;
        transform:translateX(0);
      }
    }
    @keyframes floating-contact-pulse{
      0%{
        opacity:.55;
        transform:scale(1);
      }
      70%,100%{
        opacity:0;
        transform:scale(1.24);
      }
    }

    /* MOBILE */
    .mobile-menu{
      position:fixed;
      top:78px;
      left:0;
      right:0;
      z-index:999;
      background:#fff;
      border-bottom:1px solid var(--line);
      padding:16px 20px 22px;
      box-shadow:0 18px 38px rgba(8,46,93,.10);
      transform:translateY(-120%);
      opacity:0;
      pointer-events:none;
      transition:.25s;
    }
    .mobile-menu.open{
      transform:translateY(0);
      opacity:1;
      pointer-events:auto;
    }
    .mobile-menu a{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:8px;
      padding:11px 0;
      border-bottom:1px solid #EEF2F5;
      color:var(--navy);
      font-size:14px;
      font-weight:800;
    }
    .mobile-menu__list,
    .mobile-menu .sub-menu{
      margin:0;
      padding:0;
      list-style:none;
    }
    .mobile-menu .sub-menu{
      margin-left:14px;
      border-left:2px solid var(--sky);
    }
    .js .mobile-menu .sub-menu[hidden]{
      display:none;
    }
    .mobile-menu .menu-item-has-children > a .submenu-icon{
      transition:transform .18s ease;
    }
    .mobile-menu .menu-item-has-children.is-submenu-open > a .submenu-icon{
      transform:rotate(180deg);
    }
    .mobile-menu .sub-menu a{
      padding-left:14px;
      color:#5A6C7E;
      font-size:12px;
    }

    @media(max-width:1100px){
      .nav-links{display:none}
      .menu-btn{display:block}
      .booking-grid{
        grid-template-columns:1fr 1fr 1fr;
      }
      .booking-submit{
        grid-column:1/-1;
      }
      .services-grid{
        grid-template-columns:1fr 1fr;
      }
      .service-feature{
        grid-column:1/-1;
      }
      .drive-grid{
        grid-template-columns:1fr;
      }
      .tour-grid{
        grid-template-columns:1fr 1fr;
      }
      .album-grid{
        grid-auto-rows:240px;
        grid-template-columns:repeat(2,minmax(0,1fr));
      }
      .album-item,
      .album-item:nth-child(n+6){
        grid-column:span 1;
      }
      .album-item--featured{
        grid-column:1/-1;
        grid-row:span 1;
      }
      .reviews-layout{
        grid-template-columns:1fr;
      }
      .review-score{
        min-height:230px;
      }
      .review-card{
        flex-basis:calc((100% - 16px)/2);
      }
      .blog-card{
        flex-basis:calc((100% - 18px)/2);
      }
      .faq-layout{
        grid-template-columns:1fr;
        gap:28px;
      }
      .faq-aside{
        display:grid;
        grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);
      }
      .faq-aside__visual{
        height:100%;
        min-height:370px;
      }
      .footer-cta__inner{
        grid-template-columns:1fr;
        gap:24px;
      }
      .footer-cta__actions{
        justify-content:flex-start;
      }
      .footer-grid{
        grid-template-columns:1.2fr 1fr;
      }
      .footer-grid > div:last-child{
        grid-column:auto;
      }
    }

    @media(max-width:760px){
      .container{
        width:min(calc(100% - 28px),var(--container));
      }
      .topbar{display:none}
      .header{
        position:relative;
        top:auto;
      }
      .nav{
        height:70px;
        gap:8px;
      }
      .mobile-menu{
        position:absolute;
        top:70px;
        max-height:calc(100vh - 70px);
        overflow-y:auto;
      }
      .nav-actions{
        gap:6px;
      }
      .nav-actions .btn,
      .menu-btn{
        width:40px;
        height:40px;
        min-height:40px;
        padding:0;
        border-radius:7px;
      }
      .nav-actions .btn{
        display:inline-flex;
      }
      .nav-actions .btn span{
        display:none;
      }
      .floating-contact{
        right:10px;
        bottom:148px !important;
        gap:8px;
      }
      .floating-contact__item{
        width:50px;
        min-height:50px;
        grid-template-columns:1fr;
        padding:4px;
        border-radius:50%;
      }
      .floating-contact__item:hover{
        transform:none;
      }
      .floating-contact__icon{
        width:40px;
        height:40px;
      }
      .site-logo--header{
        max-width:112px;
        height:56px;
      }
      .site-logo--footer{
        max-width:220px;
        height:78px;
      }

      .section{padding:18px 0}
      .section-title{
        font-size:32px;
        letter-spacing:0;
      }
      .section-desc{
        font-size:14px;
      }

      .hero{
        aspect-ratio:1/1;
      }
      .hero-slider__arrow{
        width:38px;
        height:38px;
        font-size:15px;
      }
      .hero-slider__arrow--prev{left:10px}
      .hero-slider__arrow--next{right:10px}
      .hero-slider__dots{bottom:10px}

      .booking-wrap{
        margin-top:0;
        padding-top:18px;
      }
      .booking-tabs{
        grid-template-columns:1fr 1fr;
      }
      .booking-tab{
        min-height:58px;
        font-size:11px;
      }
      .booking-panel{
        padding:15px;
      }
      .booking-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
      }
      .booking-submit{
        grid-column:1/-1;
      }

      .services-grid{
        grid-template-columns:1fr;
      }
      .service-feature{
        grid-column:auto;
        min-height:340px;
      }
      .service-mini-wrap{
        grid-template-rows:none;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:12px;
      }
      .service-mini{
        min-height:160px;
        padding:14px;
        border-radius:8px;
      }
      .service-icon{
        width:36px;
        height:36px;
        margin-bottom:11px;
        border-radius:8px;
        font-size:16px;
      }
      .service-icon .fi{
        font-size:16px;
      }
      .service-mini h3{
        overflow:hidden;
        color:var(--navy);
        font-size:13px;
        line-height:1.25;
        text-overflow:ellipsis;
        white-space:nowrap;
      }
      .service-mini p{
        margin-top:5px;
        font-size:10px;
        line-height:1.45;
      }
      .service-mini__link{
        gap:4px;
        margin-top:9px;
        font-size:10px;
      }

      .split-head{
        display:block;
      }
      .split-head .section-desc{
        margin-top:10px;
      }

      .drive-card{
        grid-template-columns:1fr;
      }
      .drive-media{
        min-height:0;
        aspect-ratio:16/10;
      }
      .drive-info{
        min-height:0;
      }
      .drive-info h3{
        min-height:0;
        font-size:24px;
      }

      .tour-grid{
        grid-template-columns:1fr;
      }
      .tour-card__body h3{
        min-height:0;
      }

      .album-heading{
        display:block;
      }
      .album-count{
        display:block;
        margin-top:14px;
      }
      .album-grid{
        grid-auto-rows:230px;
        grid-template-columns:1fr;
      }
      .album-item,
      .album-item:nth-child(n+6),
      .album-item--featured{
        grid-column:auto;
        grid-row:auto;
      }
      .album-lightbox{
        width:96vw;
      }
      .album-lightbox__close,
      .album-lightbox__nav{
        width:40px;
        height:40px;
      }

      .reviews-heading{
        align-items:flex-start;
        flex-direction:column;
        gap:20px;
      }
      .review-slider__controls{
        align-self:flex-end;
      }
      .review-score{
        min-height:220px;
      }
      .review-card{
        flex-basis:100%;
      }

      .blog-heading{
        align-items:flex-start;
        flex-direction:column;
        gap:20px;
      }
      .blog-slider__controls{
        align-self:flex-end;
      }
      .blog-card{
        flex-basis:100%;
      }
      .blog-image{
        height:230px;
      }

      .faq-aside{
        display:block;
        min-height:auto;
      }
      .faq-aside__visual{
        height:220px;
        min-height:0;
      }
      .faq-aside__body{
        padding:23px;
      }
      .faq-aside h3{
        font-size:25px;
      }
      .faq-item{
        padding:0 18px;
      }
      .faq-q{
        min-height:68px;
        font-size:15px;
      }
      .faq-a{
        padding-right:0;
      }

      .footer-cta__inner{
        min-height:0;
        padding-top:40px;
        padding-bottom:40px;
      }
      .footer-cta h2{
        font-size:27px;
      }
      .footer-cta__actions{
        align-items:stretch;
        flex-direction:column;
      }
      .footer-cta__call,
      .footer-cta__button{
        width:100%;
      }
      .footer-cta__button{
        min-height:52px;
      }
      .footer-main{
        padding-top:48px;
      }
      .footer-grid{
        grid-template-columns:1fr;
        gap:36px;
      }
      .footer-grid > div:last-child{
        grid-column:auto;
      }
      .footer-coverage{
        margin-top:36px;
      }
      .footer-coverage strong{
        width:100%;
        margin:0 0 7px;
      }
      .footer-bottom{
        align-items:flex-start;
        flex-direction:column;
      }
    }


/* WordPress integration */
body.admin-bar .header {
  top: 32px;
}

body.admin-bar .mobile-menu {
  top: 110px;
}

.service-label {
  color: #FFD0AA;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0;
  text-transform: uppercase;
}

body:not(.home) .site-main {
 /* width: min(calc(100% - 40px), var(--container));*/
  min-height: 60vh;
  margin: 0 auto;
 /* padding: 72px 0;*/
}

body:not(.home) .post-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

body:not(.home) .post-card {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
  box-shadow: var(--shadow-sm);
}

body:not(.home) .post-card__thumbnail img {
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

body:not(.home) .post-card__body {
  padding: 20px;
}

body:not(.home) .entry-title {
  margin: 0 0 12px;
  color: var(--navy);
  font-size: 32px;
  line-height: 1.25;
}

body:not(.home) .post-card .entry-title {
  font-size: 20px;
}

body:not(.home) .entry-title a {
  color: inherit;
}

body:not(.home) .entry-meta {
  margin-bottom: 16px;
  color: var(--muted);
  font-size: 13px;
}

body:not(.home) .entry-content {
  max-width: 840px;
}

body:not(.home) .entry-thumbnail {
  max-width: 960px;
  margin-bottom: 32px;
}

body:not(.home) .navigation {
  margin-top: 36px;
}

.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.screen-reader-text:focus {
  top: 8px;
  left: 8px;
  z-index: 100000;
  width: auto;
  height: auto;
  padding: 12px 16px;
  clip: auto;
  background: var(--white);
  color: var(--navy);
  font-size: 14px;
}

@media (max-width: 800px) {
  body:not(.home) .site-main {
    /*width: min(calc(100% - 28px), var(--container));*/
    padding: 48px 0;
  }

  body:not(.home) .post-list {
    grid-template-columns: 1fr;
  }

  body:not(.home) .entry-title {
    font-size: 27px;
  }
}

@media (max-width: 782px) {
  body.admin-bar .header {
    top: auto;
  }

  body.admin-bar .mobile-menu {
    top: 116px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-slide,
  .hero-slider__arrow,
  .hero-slider__dot,
  .floating-contact__item,
  .floating-contact__icon:after {
    transition: none;
    animation: none;
  }
}

/* ABOUT AND CONTACT PAGES */
body.quynhonadv-wide-page .site-main {
  width: 100%;
  max-width: none;
  min-height: 60vh;
  margin: 0;
  padding: 0;
}

.about-page,
.contact-page {
  width: 100%;
}

.page-band {
  padding: 88px 0;
}

.inner-hero {
  position: relative;
  min-height: 460px;
  display: flex;
  align-items: center;
  overflow: hidden;
  background-color: var(--navy-deep);
  background-position: center;
  background-size: cover;
  color: #fff;
}

.about-hero {
  background-image: var(--qnc-image-vehicle-7);
}

.contact-hero {
  background-image: var(--qnc-image-vehicle-4);
}

.inner-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(4, 30, 63, .95), rgba(4, 30, 63, .68) 58%, rgba(4, 30, 63, .28));
}

.inner-hero__content {
  position: relative;
  z-index: 1;
  padding-top: 64px;
  padding-bottom: 64px;
}

.page-breadcrumb {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 28px;
  color: #B9CBE0;
  font-size: 12px;
  font-weight: 750;
}

.page-breadcrumb a:hover {
  color: #fff;
}

.page-breadcrumb .fi {
  font-size: 10px;
}

.inner-hero__kicker {
  display: block;
  margin-bottom: 10px;
  color: #80C9FF;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.inner-hero h1 {
  max-width: 760px;
  margin: 0;
  color: #fff;
  font-size: 54px;
  font-weight: 900;
  line-height: 1.08;
}

.inner-hero__content > p {
  max-width: 720px;
  margin: 18px 0 0;
  color: #D9E6F2;
  font-size: 17px;
}

.page-section-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 40px;
  margin-bottom: 36px;
}

.page-section-heading .section-title {
  max-width: 720px;
}

.page-section-heading .section-desc {
  max-width: 470px;
  padding-bottom: 6px;
}

.about-story__layout,
.about-local__layout {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  align-items: center;
  gap: 68px;
}

.about-story__media,
.about-local__media {
  position: relative;
  margin: 0;
  overflow: hidden;
  border-radius: 8px;
  background: #E5EDF4;
}

.about-story__media {
  aspect-ratio: 4 / 5;
}

.about-story__media img,
.about-local__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.about-story__media figcaption {
  position: absolute;
  right: 18px;
  bottom: 18px;
  left: 18px;
  padding: 16px;
  border-radius: 8px;
  background: rgba(4, 30, 63, .9);
  color: #fff;
}

.about-story__media figcaption strong,
.about-story__media figcaption span {
  display: block;
}

.about-story__media figcaption strong {
  font-size: 14px;
}

.about-story__media figcaption span {
  margin-top: 2px;
  color: #BFD3E5;
  font-size: 11px;
}

.about-story__content > p,
.about-local__content > p {
  margin: 0 0 14px;
  color: var(--muted);
  font-size: 15px;
}

.about-checklist {
  display: grid;
  gap: 12px;
  margin: 26px 0 0;
  padding: 0;
  list-style: none;
}

.about-checklist li {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  color: var(--navy);
  font-size: 13px;
  font-weight: 750;
}

.about-checklist .fi {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #E6F7EF;
  color: var(--green);
  font-size: 12px;
}

.about-stats {
  padding: 36px 0;
  background: var(--navy-deep);
  color: #fff;
}

.about-stats__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.about-stats__grid > div {
  padding: 8px 30px;
  border-right: 1px solid rgba(255, 255, 255, .12);
}

.about-stats__grid > div:first-child {
  padding-left: 0;
}

.about-stats__grid > div:last-child {
  border-right: 0;
}

.about-stats__grid strong,
.about-stats__grid span {
  display: block;
}

.about-stats__grid strong {
  color: #fff;
  font-size: 30px;
  line-height: 1.15;
}

.about-stats__grid span {
  margin-top: 5px;
  color: #93ABC1;
  font-size: 11px;
  font-weight: 750;
}

.about-capability-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.about-capability-card {
  min-height: 280px;
  display: flex;
  flex-direction: column;
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}

.about-capability-card > .fi {
  width: 48px;
  height: 48px;
  border-radius: 8px;
  background: var(--sky);
  color: var(--blue);
  font-size: 21px;
}

.about-capability-card h3 {
  margin: 22px 0 8px;
  color: var(--navy);
  font-size: 19px;
}

.about-capability-card p {
  margin: 0 0 22px;
  color: var(--muted);
  font-size: 12px;
}

.about-capability-card a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: auto;
  color: var(--blue);
  font-size: 11px;
  font-weight: 850;
}

.about-local__layout {
  grid-template-columns: minmax(0, 1fr) minmax(0, .9fr);
}

.about-local__media {
  min-height: 520px;
}

.about-local__points {
  display: grid;
  gap: 18px;
  margin-top: 30px;
}

.about-local__points > div {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  align-items: start;
  gap: 13px;
}

.about-local__points > div > .fi {
  width: 44px;
  height: 44px;
  border: 1px solid #CFE0EF;
  border-radius: 8px;
  color: var(--blue);
  font-size: 18px;
}

.about-local__points strong,
.about-local__points small {
  display: block;
}

.about-local__points strong {
  color: var(--navy);
  font-size: 14px;
}

.about-local__points small {
  margin-top: 4px;
  color: var(--muted);
  font-size: 11px;
}

 

.about-process__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  margin-top: 38px;
}

.about-process__grid article {
  border-top: 2px solid #C8D9E8;
  padding-top: 18px;
}

.about-process__grid article > span {
  color: var(--orange);
  font-size: 12px;
  font-weight: 900;
}

.about-process__grid h3 {
  margin: 10px 0 7px;
  color: var(--navy);
  font-size: 17px;
}

.about-process__grid p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
}

.contact-channels {
  padding: 30px 0;
  border-bottom: 1px solid var(--line);
  background: #fff;
}

.contact-channel-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.contact-channel {
  display: grid;
  grid-template-columns: 50px minmax(0, 1fr);
  align-items: center;
  gap: 14px;
  min-width: 0;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  transition: border-color .2s ease, transform .2s ease;
}

.contact-channel:hover {
  border-color: #8ABFE9;
  transform: translateY(-2px);
}

.contact-channel > .fi {
  width: 50px;
  height: 50px;
  border-radius: 8px;
  background: var(--sky);
  color: var(--blue);
  font-size: 20px;
}

.contact-channel small,
.contact-channel strong,
.contact-channel em {
  display: block;
  overflow-wrap: anywhere;
}

.contact-channel small {
  color: #7B8999;
  font-size: 9px;
  font-style: normal;
  font-weight: 800;
  text-transform: uppercase;
}

.contact-channel strong {
  margin-top: 2px;
  color: var(--navy);
  font-size: 16px;
}

.contact-channel em {
  margin-top: 3px;
  color: var(--muted);
  font-size: 10px;
  font-style: normal;
}

.contact-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(310px, .65fr);
  align-items: start;
  gap: 56px;
}

.contact-form-wrap .section-desc {
  margin-bottom: 28px;
}

.contact-notice {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  margin-bottom: 22px;
  padding: 13px 15px;
  border: 1px solid;
  border-radius: 8px;
  font-size: 12px;
}

.contact-notice--success {
  border-color: #A8DFC5;
  background: #EDFAF4;
  color: #087946;
}

.contact-notice--error {
  border-color: #F1B6B2;
  background: #FFF3F2;
  color: #A52A22;
}

.contact-form {
  position: relative;
}

.contact-honeypot {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.contact-form__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.contact-field--full {
  grid-column: 1 / -1;
}

.contact-field label {
  display: block;
  margin-bottom: 7px;
  color: var(--navy);
  font-size: 11px;
  font-weight: 800;
}

.contact-field label span {
  color: #D9362B;
}

.contact-field input,
.contact-field select,
.contact-field textarea {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: var(--ink);
  font-size: 13px;
  outline: 0;
}

.contact-field input,
.contact-field select {
  height: 48px;
  padding: 0 12px;
}

.contact-field textarea {
  min-height: 150px;
  padding: 12px;
  resize: vertical;
}

.contact-field input:focus,
.contact-field select:focus,
.contact-field textarea:focus {
  border-color: var(--blue);
  box-shadow: 0 0 0 3px rgba(10, 114, 206, .08);
}

.contact-form__submit {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  margin-top: 20px;
}

.contact-form__submit p {
  max-width: 430px;
  margin: 0;
  color: #8290A0;
  font-size: 10px;
  text-align: right;
}

.contact-form__submit p a {
  color: var(--blue);
  text-decoration: underline;
}

.contact-office {
  padding: 28px;
  border-radius: 8px;
  background: var(--navy-deep);
  color: #fff;
}

.contact-office .section-kicker {
  color: #77C8FF;
}

.contact-office h2 {
  margin: 14px 0 8px;
  color: #fff;
  font-size: 25px;
}

.contact-office > p {
  margin: 0;
  color: #B7C9D9;
  font-size: 12px;
}

.contact-office > ul {
  display: grid;
  gap: 18px;
  margin: 28px 0 0;
  padding: 0;
  list-style: none;
}

.contact-office > ul li {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  align-items: start;
  gap: 11px;
}

.contact-office > ul li > .fi {
  width: 38px;
  height: 38px;
  border: 1px solid rgba(255, 255, 255, .15);
  border-radius: 8px;
  color: #73C6FF;
  font-size: 15px;
}

.contact-office small,
.contact-office strong {
  display: block;
}

.contact-office small {
  color: #829AB0;
  font-size: 9px;
  font-weight: 750;
}

.contact-office strong {
  margin-top: 2px;
  color: #E2EBF3;
  font-size: 12px;
}

.contact-office__note {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 9px;
  margin-top: 28px;
  padding-top: 18px;
  border-top: 1px solid rgba(255, 255, 255, .12);
}

.contact-office__note .fi {
  color: #FFAA61;
  font-size: 15px;
}

.contact-office__note p {
  margin: 0;
  color: #9FB4C7;
  font-size: 10px;
}

.contact-area-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.contact-area-grid > div {
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}

.contact-area-grid .fi {
  color: var(--blue);
  font-size: 23px;
}

.contact-area-grid h3 {
  margin: 18px 0 7px;
  color: var(--navy);
  font-size: 16px;
}

.contact-area-grid p {
  margin: 0;
  color: var(--muted);
  font-size: 11px;
}

.contact-faq__layout {
  display: grid;
  grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr);
  gap: 60px;
}

.contact-faq__list {
  border-top: 1px solid var(--line);
}

.contact-faq__list details {
  border-bottom: 1px solid var(--line);
}

.contact-faq__list summary {
  position: relative;
  padding: 18px 36px 18px 0;
  color: var(--navy);
  font-size: 14px;
  font-weight: 850;
  cursor: pointer;
  list-style: none;
}

.contact-faq__list summary::-webkit-details-marker {
  display: none;
}

.contact-faq__list summary > .fi {
  position: absolute;
  top: 50%;
  right: 0;
  color: var(--orange);
  font-size: 22px;
  transform: translateY(-50%);
  transition: transform .2s ease;
}

.contact-faq__list details[open] summary > .fi {
  transform: translateY(-50%) rotate(45deg);
}

.contact-faq__list details p {
  margin: -2px 0 18px;
  color: var(--muted);
  font-size: 12px;
}

/* BOOKING GUIDE AND FAQ PAGES */
.support-page {
  width: 100%;
}

.support-hero--guide {
  background-image: var(--qnc-image-vehicle-16);
}

.support-hero--faq {
  background-image: var(--qnc-image-ky-co);
}

.support-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 26px;
}

.support-hero__call {
  border: 1px solid rgba(255, 255, 255, .36);
  background: rgba(4, 30, 63, .48);
  color: #fff;
}

.support-step-grid,
.support-service-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}

.support-step-grid article {
  position: relative;
  min-height: 255px;
  padding: 25px;
  border: 1px solid #D8E3EA;
  border-radius: 8px;
  background: #fff;
}

.support-step-grid article > span {
  position: absolute;
  top: 19px;
  right: 20px;
  color: #CAD7E2;
  font-size: 21px;
  font-weight: 900;
}

.support-step-grid article > .fi,
.support-service-grid article > .fi {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 7px;
  background: var(--sky);
  color: var(--blue);
  font-size: 20px;
}

.support-step-grid h3,
.support-service-grid h3 {
  margin: 22px 0 9px;
  color: var(--navy);
  font-size: 18px;
}

.support-step-grid p,
.support-service-grid p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.7;
}

.support-split,
.support-confirmation__layout {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
  align-items: start;
  gap: 72px;
}

.support-checklist {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 15px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.support-checklist li {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 12px;
  min-height: 120px;
  padding: 18px;
  border: 1px solid #D8E3EA;
  border-radius: 8px;
  background: #fff;
}

.support-checklist li > .fi {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 7px;
  background: var(--sky);
  color: var(--blue);
  font-size: 17px;
}

.support-checklist span {
  display: grid;
  align-content: start;
}

.support-checklist strong {
  color: var(--navy);
  font-size: 13px;
}

.support-checklist small {
  margin-top: 5px;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.6;
}

.support-service-grid article {
  display: flex;
  min-height: 285px;
  padding: 24px;
  border-top: 3px solid var(--blue);
  background: #F7FAFC;
  flex-direction: column;
}

.support-service-grid article > a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: auto;
  padding-top: 22px;
  color: var(--blue);
  font-size: 10px;
  font-weight: 850;
}

.support-confirmation__list {
  display: grid;
  gap: 13px;
}

.support-confirmation__list p {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  gap: 10px;
  margin: 0;
  padding: 15px 18px;
  border: 1px solid #D8E3EA;
  border-radius: 7px;
  background: #fff;
  color: #45586B;
  font-size: 12px;
}

.support-confirmation__list .fi {
  color: var(--green);
}

.support-final {
  padding: 48px 0;
  background: var(--navy-deep);
  color: #fff;
}

.support-final > .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
}

.support-final span {
  color: #78C8FF;
  font-size: 10px;
  font-weight: 850;
  text-transform: uppercase;
}

.support-final h2 {
  margin: 5px 0 7px;
  color: #fff;
  font-size: 29px;
}

.support-final p {
  margin: 0;
  color: #AFC2D3;
  font-size: 12px;
}

.support-final .container > div:last-child {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
  gap: 10px;
}

.support-final .container > div:last-child > a:not(.btn) {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 46px;
  padding: 0 16px;
  border: 1px solid rgba(255, 255, 255, .25);
  border-radius: 6px;
  color: #fff;
  font-size: 11px;
  font-weight: 800;
}

.support-faq-nav {
  position: sticky;
  top: 73px;
  z-index: 20;
  border-bottom: 1px solid var(--line);
  background: rgba(255, 255, 255, .97);
  box-shadow: 0 7px 20px rgba(8, 46, 93, .05);
}

body.admin-bar .support-faq-nav {
  top: 105px;
}

.support-faq-nav > .container {
  display: flex;
  align-items: center;
  gap: 5px;
  min-height: 66px;
  overflow-x: auto;
}

.support-faq-nav a {
  flex: 0 0 auto;
  padding: 10px 13px;
  border-radius: 5px;
  color: #526477;
  font-size: 10px;
  font-weight: 800;
}

.support-faq-nav a:hover {
  background: var(--sky);
  color: var(--blue);
}

.support-faq-layout {
  display: grid;
  grid-template-columns: 315px minmax(0, 1fr);
  align-items: start;
  gap: 64px;
}

.support-faq-aside {
  position: sticky;
  top: 160px;
  padding: 25px;
  border: 1px solid #D7E2E9;
  border-radius: 8px;
  background: #F7FAFC;
}

.support-faq-aside h2 {
  margin: 9px 0;
  color: var(--navy);
  font-size: 23px;
}

.support-faq-aside > p {
  margin: 0 0 20px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.7;
}

.support-faq-aside > a {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  padding: 12px 0;
  border-top: 1px solid #E0E8EE;
}

.support-faq-aside > a > .fi {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 6px;
  background: var(--sky);
  color: var(--blue);
}

.support-faq-aside a span {
  display: grid;
  min-width: 0;
}

.support-faq-aside small {
  color: var(--muted);
  font-size: 8px;
}

.support-faq-aside strong {
  overflow-wrap: anywhere;
  color: var(--navy);
  font-size: 10px;
}

.support-faq-groups {
  min-width: 0;
}

.support-faq-group {
  padding-bottom: 50px;
  scroll-margin-top: 160px;
}

.support-faq-group + .support-faq-group {
  padding-top: 46px;
  border-top: 1px solid var(--line);
}

.support-faq-list {
  border-top: 1px solid var(--line);
}

.support-faq-list details {
  border-bottom: 1px solid var(--line);
}

.support-faq-list summary {
  position: relative;
  padding: 20px 42px 20px 0;
  color: var(--navy);
  font-size: 14px;
  font-weight: 850;
  cursor: pointer;
  list-style: none;
}

.support-faq-list summary::-webkit-details-marker {
  display: none;
}

.support-faq-list summary .fi {
  position: absolute;
  top: 50%;
  right: 4px;
  color: var(--orange);
  font-size: 21px;
  transform: translateY(-50%);
  transition: transform .2s ease;
}

.support-faq-list details[open] summary .fi {
  transform: translateY(-50%) rotate(45deg);
}

.support-faq-list details p {
  max-width: 800px;
  margin: -3px 0 20px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.75;
}

@media (max-width: 1100px) {
  .about-capability-grid,
  .contact-area-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .contact-channel-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .support-step-grid,
  .support-service-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .support-faq-layout {
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 40px;
  }

  .about-story__layout,
  .about-local__layout {
    gap: 42px;
  }

  .contact-layout {
    grid-template-columns: minmax(0, 1fr) 330px;
    gap: 34px;
  }
}

@media (max-width: 800px) {
  .page-band {
    padding: 64px 0;
  }

  .inner-hero {
    min-height: 400px;
  }

  .inner-hero h1 {
    font-size: 40px;
  }

  .inner-hero__content > p {
    font-size: 15px;
  }

  .page-section-heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .about-story__layout,
  .about-local__layout,
  .contact-layout,
  .contact-faq__layout {
    grid-template-columns: 1fr;
  }

  .about-story__media {
    max-height: 560px;
  }

  .about-local__media {
    min-height: 400px;
    grid-row: 1;
  }

  .about-stats__grid,
  .about-process__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .about-stats__grid > div:nth-child(2) {
    border-right: 0;
  }

  .about-stats__grid > div:nth-child(n+3) {
    margin-top: 22px;
  }

  .contact-channel-grid {
    grid-template-columns: 1fr;
  }

  .contact-office {
    padding: 24px;
  }

  .support-split,
  .support-confirmation__layout,
  .support-faq-layout {
    grid-template-columns: 1fr;
    gap: 38px;
  }

  .support-faq-aside {
    position: static;
  }

  .support-final > .container {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 560px) {
  .inner-hero h1 {
    font-size: 34px;
  }

  .page-section-heading {
    display: block;
  }

  .support-hero__actions,
  .support-final .container > div:last-child {
    align-items: stretch;
    flex-direction: column;
    width: 100%;
  }

  .support-hero__actions .btn,
  .support-final .btn {
    width: 100%;
  }

  .support-step-grid,
  .support-service-grid,
  .support-checklist {
    grid-template-columns: 1fr;
  }

  .support-step-grid article,
  .support-service-grid article {
    min-height: 0;
  }

  .support-faq-nav {
    top: 66px;
  }

  .support-faq-nav > .container {
    min-height: 58px;
  }

  .support-faq-group {
    scroll-margin-top: 140px;
  }

  .support-final h2 {
    font-size: 25px;
  }

  .about-capability-grid,
  .about-stats__grid,
  .about-process__grid,
  .contact-area-grid {
    grid-template-columns: 1fr;
  }

  .contact-form__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  .about-stats__grid > div {
    padding: 17px 0;
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, .12);
  }

  .about-stats__grid > div:nth-child(n+3) {
    margin-top: 0;
  }

  .about-stats__grid > div:last-child {
    border-bottom: 0;
  }

  .about-capability-card {
    min-height: 0;
  }

  .about-local__media {
    min-height: 300px;
  }

  .contact-form__submit {
    align-items: stretch;
    flex-direction: column;
  }

  .contact-form__submit .btn {
    width: 100%;
  }

  .contact-form__submit p {
    text-align: left;
  }
}

/* DEFAULT PAGE */
body .site-main.site-main--full {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

.page-default {
  width: 100%;
}

.page-default__hero {
  position: relative;
  min-height: 380px;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: var(--navy-deep);
  color: #fff;
}

.page-default__hero-media,
.page-default__hero-overlay {
  position: absolute;
  inset: 0;
}

.page-default__hero-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.page-default__hero-overlay {
  background: linear-gradient(90deg, rgba(4, 30, 63, .96), rgba(4, 30, 63, .72) 58%, rgba(4, 30, 63, .32));
}

.page-default__hero:not(.page-default__hero--has-image):after {
  content: '';
  position: absolute;
  right: 8%;
  bottom: -120px;
  width: 340px;
  height: 340px;
  border: 48px solid rgba(255, 255, 255, .04);
  border-radius: 50%;
}

.page-default__hero-content {
  position: relative;
  z-index: 1;
  padding-top: 64px;
  padding-bottom: 64px;
}

.page-default__hero .page-breadcrumb {
  margin-bottom: 22px;
}

.page-default__title {
  max-width: 840px;
  margin: 0;
  color: #fff;
  font-size: 48px;
  font-weight: 900;
  line-height: 1.12;
}

.page-default__excerpt {
  max-width: 720px;
  margin: 16px 0 0;
  color: #D6E4F0;
  font-size: 16px;
}

.page-default__content-section {
  padding: 76px 0;
  background: #fff;
}

.page-default__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  align-items: start;
  gap: 52px;
}

.page-default__main {
  min-width: 0;
}

.page-default__content {
  max-width: none;
  margin: 0;
  color: #344054;
  font-size: 15px;
  line-height: 1.75;
}

.page-default__content > *:first-child {
  margin-top: 0;
}

.page-default__content > *:last-child {
  margin-bottom: 0;
}

.page-default__content h2,
.page-default__content h3,
.page-default__content h4 {
  color: var(--navy);
  line-height: 1.3;
}

.page-default__content h2 {
  margin: 42px 0 16px;
  font-size: 30px;
}

.page-default__content h3 {
  margin: 32px 0 13px;
  font-size: 23px;
}

.page-default__content h4 {
  margin: 26px 0 11px;
  font-size: 18px;
}

.page-default__content p,
.page-default__content ul,
.page-default__content ol,
.page-default__content figure,
.page-default__content table,
.page-default__content blockquote {
  margin-top: 0;
  margin-bottom: 22px;
}

.page-default__content ul,
.page-default__content ol {
  padding-left: 22px;
}

.page-default__content li + li {
  margin-top: 7px;
}

.page-default__content a:not(.wp-element-button) {
  color: var(--blue);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.page-default__content blockquote {
  padding: 18px 22px;
  border-left: 3px solid var(--orange);
  background: var(--soft);
  color: #526276;
}

.page-default__content blockquote p:last-child {
  margin-bottom: 0;
}

.page-default__content img {
  height: auto;
  border-radius: 8px;
}

.page-default__content table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}

.page-default__content th,
.page-default__content td {
  padding: 11px 12px;
  border: 1px solid var(--line);
  text-align: left;
}

.page-default__content th {
  background: var(--soft);
  color: var(--navy);
}

.page-default__content .alignwide {
  width: min(1180px, calc(100vw - 40px));
  max-width: none;
  margin-right: 0;
  margin-left: 50%;
  transform: translateX(-50%);
}

.page-default__content .alignfull {
  width: 100vw;
  max-width: none;
  margin-right: 0;
  margin-left: 50%;
  transform: translateX(-50%);
}

.page-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 34px;
}

.page-default__edit {
  margin: 28px 0 0;
  font-size: 11px;
}

.page-default__edit a {
  color: var(--blue);
  text-decoration: underline;
}

.page-default__comments {
  padding: 64px 0;
  border-top: 1px solid var(--line);
  background: var(--soft);
}

.page-default__comments-inner {
  max-width: 900px;
}

.page-sidebar {
  display: grid;
  gap: 18px;
  min-width: 0;
}

.page-sidebar__panel {
  min-width: 0;
  margin: 0;
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}

.page-sidebar__title,
.page-sidebar .widget-title {
  margin: 0 0 16px;
  color: var(--navy);
  font-size: 16px;
  line-height: 1.3;
}

.page-sidebar .search-form {
  display: flex;
  align-items: stretch;
  gap: 7px;
}

.page-sidebar .search-form label {
  flex: 1;
  min-width: 0;
}

.page-sidebar .search-field {
  width: 100%;
  height: 42px;
  padding: 0 11px;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--ink);
  font-size: 12px;
  outline: 0;
}

.page-sidebar .search-field:focus {
  border-color: var(--blue);
  box-shadow: 0 0 0 3px rgba(10, 114, 206, .08);
}

.page-sidebar .search-submit {
  min-width: 72px;
  padding: 0 12px;
  border: 0;
  border-radius: 8px;
  background: var(--blue);
  color: #fff;
  font-size: 11px;
  font-weight: 800;
}

.page-sidebar__links {
  display: grid;
}

.page-sidebar__links a {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) 14px;
  align-items: center;
  gap: 8px;
  padding: 11px 0;
  border-bottom: 1px solid #ECF0F3;
  color: #455568;
  font-size: 12px;
  font-weight: 750;
}

.page-sidebar__links a:first-child {
  padding-top: 0;
}

.page-sidebar__links a:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.page-sidebar__links a > .fi:first-child {
  color: var(--blue);
  font-size: 15px;
}

.page-sidebar__links a > .fi:last-child {
  color: #9AA8B6;
  font-size: 10px;
}

.page-sidebar__links a:hover {
  color: var(--blue);
}

.page-sidebar__contact {
  border-color: var(--navy-deep);
  background: var(--navy-deep);
  color: #fff;
}

.page-sidebar__contact > .fi {
  color: #72C4FF;
  font-size: 25px;
}

.page-sidebar__contact h2 {
  margin: 16px 0 7px;
  color: #fff;
  font-size: 18px;
}

.page-sidebar__contact p {
  margin: 0;
  color: #B8C8D8;
  font-size: 11px;
}

.page-sidebar__contact a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-top: 18px;
  color: #FFAA61;
  font-size: 14px;
  font-weight: 850;
}

.page-sidebar .widget ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-sidebar .widget li + li {
  margin-top: 9px;
}

.page-sidebar .widget li,
.page-sidebar .widget p {
  color: var(--muted);
  font-size: 12px;
}

.page-sidebar .widget a {
  color: var(--navy);
}

.page-sidebar .widget a:hover {
  color: var(--blue);
}

@media (max-width: 1000px) {
  .page-default__layout {
    grid-template-columns: 1fr;
  }

  .page-sidebar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-sidebar__contact {
    grid-column: 1 / -1;
  }
}

@media (max-width: 800px) {
  .page-default__hero {
    min-height: 330px;
  }

  .page-default__title {
    font-size: 38px;
  }

  .page-default__excerpt {
    font-size: 14px;
  }

  .page-default__content-section,
  .page-default__comments {
    padding: 56px 0;
  }

  .page-default__content {
    font-size: 14px;
  }

  .page-default__content h2 {
    font-size: 26px;
  }

  .page-default__content h3 {
    font-size: 21px;
  }

  .page-default__content .alignwide {
    width: calc(100vw - 28px);
  }
}

@media (max-width: 520px) {
  .page-default__hero {
    min-height: 300px;
  }

  .page-default__title {
    font-size: 32px;
  }

  .page-default__content table {
    display: block;
    overflow-x: auto;
  }

  .page-sidebar {
    grid-template-columns: 1fr;
  }

  .page-sidebar__contact {
    grid-column: auto;
  }
}

/* AIRPORT TRANSFER LANDING */
.airport-page {
  background: #fff;
}

.airport-hero {
  position: relative;
  min-height: 640px;
  overflow: hidden;
  background: var(--navy-deep);
}

.airport-hero__media,
.airport-hero__overlay {
  position: absolute;
  inset: 0;
}

.airport-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 58%;
}

.airport-hero__overlay {
  background: rgba(4, 30, 63, .79);
}

.airport-hero__inner {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  min-height: 640px;
  padding-top: 64px;
  padding-bottom: 72px;
}

.airport-hero__content {
  width: min(760px, 72%);
}

.airport-hero .page-breadcrumb {
  margin-bottom: 32px;
}

.airport-hero__kicker {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: #BFE1FF;
  font-size: 12px;
  font-weight: 850;
  text-transform: uppercase;
}

.airport-hero__kicker .fi {
  color: #FFAA61;
  font-size: 15px;
}

.airport-hero h1 {
  max-width: 740px;
  margin: 18px 0 18px;
  color: #fff;
  font-size: 54px;
  font-weight: 900;
  line-height: 1.08;
}

.airport-hero h1 span {
  color: #FFAA61;
}

.airport-hero__content > p {
  max-width: 670px;
  margin: 0;
  color: #D7E5F2;
  font-size: 17px;
  line-height: 1.7;
}

.airport-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 30px;
}

.airport-hero__actions .btn {
  min-height: 52px;
  padding: 0 22px;
  font-size: 14px;
}

.airport-hero__call {
  border: 1px solid rgba(255, 255, 255, .42);
  background: rgba(4, 30, 63, .54);
  color: #fff;
}

.airport-hero__call:hover {
  border-color: #fff;
  background: #fff;
  color: var(--navy);
}

.airport-hero__trust {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
  margin: 28px 0 0;
  padding: 0;
  color: #E5EEF7;
  font-size: 12px;
  font-weight: 750;
  list-style: none;
}

.airport-hero__trust li {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

.airport-hero__trust .fi {
  color: #54D69A;
  font-size: 15px;
}

.airport-status-wrap {
  padding-top: 24px;
}

.airport-status {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 14px 17px;
  border: 1px solid;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 750;
}

.airport-status .fi {
  flex: 0 0 auto;
  font-size: 20px;
}

.airport-status--success {
  border-color: #A6DEC5;
  background: #EDFBF4;
  color: #08734A;
}

.airport-status--error {
  border-color: #F1B7B7;
  background: #FFF3F3;
  color: #A32C2C;
}

.airport-facts {
  border-bottom: 1px solid var(--line);
  background: #fff;
}

.airport-facts__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.airport-facts__grid > div {
  display: flex;
  align-items: center;
  gap: 13px;
  min-width: 0;
  min-height: 116px;
  padding: 18px 24px;
  border-right: 1px solid var(--line);
}

.airport-facts__grid > div:first-child {
  border-left: 1px solid var(--line);
}

.airport-facts__grid > div > .fi {
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  border-radius: 8px;
  background: var(--sky);
  color: var(--blue);
  font-size: 19px;
}

.airport-facts__grid span {
  display: grid;
  min-width: 0;
}

.airport-facts__grid strong {
  color: var(--navy);
  font-size: 15px;
}

.airport-facts__grid small {
  color: var(--muted);
  font-size: 11px;
}

.airport-section {
  padding: 88px 0;
}

.airport-section__heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 40px;
  margin-bottom: 38px;
}

.airport-section__heading > div {
  max-width: 680px;
}

.airport-section__heading .section-title {
  font-size: 32px;
}

.airport-section__heading > .section-desc {
  max-width: 470px;
  font-size: 14px;
}

.airport-pricing {
  background: var(--soft);
}

.airport-price-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.airport-price-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 356px;
  padding: 24px;
  border: 1px solid #D8E2EB;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(8, 46, 93, .05);
}

.airport-price-card--featured {
  border-top: 3px solid var(--orange);
  padding-top: 22px;
}

.airport-price-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  margin-bottom: 20px;
  border-radius: 8px;
  background: var(--sky);
  color: var(--blue);
  font-size: 22px;
}

.airport-price-card__head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 10px;
}

.airport-price-card__head h3 {
  margin: 0;
  color: var(--navy);
  font-size: 21px;
  line-height: 1.25;
}

.airport-price-card__head p {
  margin: 6px 0 0;
  color: var(--muted);
  font-size: 11px;
}

.airport-price-card__head > span {
  flex: 0 0 auto;
  padding: 4px 7px;
  border-radius: 4px;
  background: var(--orange-soft);
  color: #C54E00;
  font-size: 9px;
  font-weight: 850;
  text-transform: uppercase;
}

.airport-price-card dl {
  display: grid;
  gap: 10px;
  margin: 24px 0;
}

.airport-price-card dl > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding-bottom: 10px;
  border-bottom: 1px dashed #DCE4EB;
}

.airport-price-card dt {
  color: var(--muted);
  font-size: 11px;
}

.airport-price-card dd {
  margin: 0;
  color: var(--navy);
  font-size: 11px;
}

.airport-price-card dd strong {
  color: var(--green);
  font-size: 15px;
}

.airport-price-card__button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 44px;
  margin-top: auto;
  padding: 0 13px;
  border: 1px solid #C9D5DF;
  border-radius: 7px;
  background: #fff;
  color: var(--navy);
  font-size: 11px;
  font-weight: 850;
}

.airport-price-card__button:hover {
  border-color: var(--blue);
  background: var(--sky);
  color: var(--blue);
}

.airport-pricing__note {
  display: flex;
  align-items: start;
  gap: 8px;
  margin: 24px 0 0;
  color: var(--muted);
  font-size: 11px;
}

.airport-pricing__note .fi {
  margin-top: 3px;
  color: var(--blue);
}

.airport-benefits__layout {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  align-items: center;
  gap: 76px;
}

.airport-benefits__media {
  position: relative;
  min-height: 520px;
}

.airport-benefits__media > img {
  width: 100%;
  height: 520px;
  border-radius: 8px;
  object-fit: cover;
}

.airport-benefits__badge {
  position: absolute;
  right: -28px;
  bottom: 28px;
  display: grid;
  width: 210px;
  padding: 17px 20px;
  border-left: 4px solid var(--orange);
  background: var(--navy-deep);
  color: #fff;
  box-shadow: var(--shadow-sm);
}

.airport-benefits__badge strong {
  font-size: 17px;
}

.airport-benefits__badge span {
  color: #BFD0E0;
  font-size: 10px;
}

.airport-benefits__content .section-title {
  font-size: 32px;
}

.airport-benefits__content .section-desc {
  font-size: 14px;
}

.airport-benefit-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 23px 28px;
  margin: 32px 0;
}

.airport-benefit-list > div {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  align-items: start;
  gap: 12px;
}

.airport-benefit-list > div > .fi {
  width: 38px;
  height: 38px;
  border-radius: 7px;
  background: var(--orange-soft);
  color: var(--orange);
  font-size: 17px;
}

.airport-benefit-list h3 {
  margin: 0 0 4px;
  color: var(--navy);
  font-size: 14px;
  line-height: 1.3;
}

.airport-benefit-list p {
  margin: 0;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.55;
}

.airport-process {
  border-top: 1px solid #DDE7EF;
  background: #EDF6FC;
}

.airport-section__heading--center {
  display: grid;
  justify-items: center;
  text-align: center;
}

.airport-section__heading--center .section-kicker {
  justify-content: center;
}

.airport-section__heading--center .section-desc {
  max-width: 620px;
}

.airport-process__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  margin: 0;
  padding: 0;
  border: 1px solid #D5E2EC;
  background: #D5E2EC;
  list-style: none;
}

.airport-process__grid li {
  position: relative;
  min-height: 250px;
  padding: 30px 25px;
  background: #fff;
}

.airport-process__grid li > span {
  position: absolute;
  top: 18px;
  right: 20px;
  color: #DCE7F0;
  font-size: 34px;
  font-weight: 900;
}

.airport-process__grid li > .fi {
  display: flex;
  width: 46px;
  height: 46px;
  margin-bottom: 28px;
  border-radius: 8px;
  background: var(--navy);
  color: #fff;
  font-size: 19px;
}

.airport-process__grid h3 {
  margin: 0 0 9px;
  color: var(--navy);
  font-size: 17px;
}

.airport-process__grid p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
}

.airport-routes__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  align-items: center;
  gap: 80px;
}

.airport-routes .section-title {
  max-width: 700px;
  font-size: 32px;
}

.airport-routes .section-desc {
  font-size: 14px;
}

.airport-route-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 28px;
}

.airport-route-tags span {
  padding: 7px 11px;
  border: 1px solid #D4DEE7;
  border-radius: 5px;
  background: #fff;
  color: #43556A;
  font-size: 10px;
  font-weight: 750;
}

.airport-routes__panel {
  padding: 32px;
  border-radius: 8px;
  background: var(--navy-deep);
  color: #fff;
}

.airport-routes__panel > .fi {
  color: #71C5FF;
  font-size: 34px;
}

.airport-routes__panel h3 {
  margin: 20px 0 9px;
  font-size: 22px;
  line-height: 1.25;
}

.airport-routes__panel p {
  margin: 0 0 24px;
  color: #B9CAD9;
  font-size: 12px;
}

.airport-faq {
  background: var(--soft);
}

.airport-faq__layout {
  display: grid;
  grid-template-columns: 360px minmax(0, 1fr);
  align-items: start;
  gap: 80px;
}

.airport-faq .section-title {
  font-size: 32px;
}

.airport-faq .section-desc {
  font-size: 13px;
}

.airport-faq__list {
  border-top: 1px solid #CEDAE4;
}

.airport-faq__list details {
  border-bottom: 1px solid #CEDAE4;
}

.airport-faq__list summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 20px 0;
  color: var(--navy);
  font-size: 14px;
  font-weight: 850;
  cursor: pointer;
  list-style: none;
}

.airport-faq__list summary::-webkit-details-marker {
  display: none;
}

.airport-faq__list summary .fi {
  flex: 0 0 auto;
  font-size: 17px;
  transition: transform .2s ease;
}

.airport-faq__list details[open] summary .fi {
  transform: rotate(45deg);
}

.airport-faq__list details p {
  margin: -5px 45px 20px 0;
  color: var(--muted);
  font-size: 12px;
}

.airport-final {
  padding: 54px 0;
  background: var(--navy);
  color: #fff;
}

.airport-final__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 50px;
}

.airport-final__inner > div:first-child > span {
  color: #7EC9FF;
  font-size: 10px;
  font-weight: 850;
  text-transform: uppercase;
}

.airport-final h2 {
  margin: 6px 0 5px;
  font-size: 30px;
  line-height: 1.2;
}

.airport-final p {
  margin: 0;
  color: #BDCDDB;
  font-size: 12px;
}

.airport-final__actions {
  display: flex;
  align-items: center;
  gap: 20px;
  flex: 0 0 auto;
}

.airport-final__actions > a {
  display: flex;
  align-items: center;
  gap: 9px;
  color: #fff;
}

.airport-final__actions > a > .fi {
  width: 38px;
  height: 38px;
  border: 1px solid rgba(255, 255, 255, .25);
  border-radius: 50%;
}

.airport-final__actions > a span {
  display: grid;
}

.airport-final__actions small {
  color: #AFC3D5;
  font-size: 9px;
}

.airport-final__actions strong {
  font-size: 14px;
}

.airport-booking-dialog {
  width: min(760px, calc(100% - 28px));
  max-height: calc(100vh - 30px);
  margin: auto;
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 8px;
  background: #fff;
  color: var(--ink);
  box-shadow: 0 28px 90px rgba(3, 20, 42, .34);
}

.airport-booking-dialog::backdrop {
  background: rgba(3, 20, 42, .72);
  backdrop-filter: blur(3px);
}

.airport-booking-dialog__shell {
  max-height: calc(100vh - 30px);
  overflow-y: auto;
  border-radius: inherit;
}

.airport-booking-dialog__header {
  position: sticky;
  top: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 22px 26px;
  border-bottom: 1px solid #D8E1E9;
  background: var(--navy-deep);
  color: #fff;
}

.airport-booking-dialog__header span {
  color: #7DC8FF;
  font-size: 9px;
  font-weight: 850;
  text-transform: uppercase;
}

.airport-booking-dialog__header h2 {
  margin: 3px 0 0;
  font-size: 24px;
  line-height: 1.2;
}

.airport-booking-dialog__close {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, .28);
  border-radius: 50%;
  background: transparent;
  color: #fff;
  font-size: 20px;
}

.airport-booking-dialog__close:hover {
  background: #fff;
  color: var(--navy);
}

.airport-booking-form {
  padding: 26px;
}

.airport-booking-form__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 17px;
}

.airport-booking-field {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.airport-booking-field--full {
  grid-column: 1 / -1;
}

.airport-booking-field[hidden] {
  display: none;
}

.airport-booking-field label {
  color: #34465A;
  font-size: 11px;
  font-weight: 800;
}

.airport-booking-field label span {
  color: #D93025;
}

.airport-booking-field input,
.airport-booking-field select,
.airport-booking-field textarea {
  width: 100%;
  min-width: 0;
  border: 1px solid #CDD8E2;
  border-radius: 7px;
  background: #fff;
  color: var(--ink);
  font-size: 12px;
  outline: 0;
}

.airport-booking-field input,
.airport-booking-field select {
  height: 44px;
  padding: 0 12px;
}

.airport-booking-field textarea {
  min-height: 82px;
  padding: 10px 12px;
  resize: vertical;
}

.airport-booking-consent {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  color: #4C5D6F;
  font-size: 10px;
  line-height: 1.5;
  cursor: pointer;
}

.airport-booking-consent input {
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  margin: 1px 0 0;
  accent-color: var(--blue);
}

.airport-booking-field input:focus,
.airport-booking-field select:focus,
.airport-booking-field textarea:focus {
  border-color: var(--blue);
  box-shadow: 0 0 0 3px rgba(10, 114, 206, .09);
}

.airport-booking-form__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid var(--line);
}

.airport-booking-form__footer p {
  max-width: 450px;
  margin: 0;
  color: var(--muted);
  font-size: 9px;
}

.airport-booking-form__footer p a {
  color: var(--blue);
  text-decoration: underline;
}

.airport-booking-form__footer .btn {
  flex: 0 0 auto;
}

body:has(.airport-booking-dialog[open]) {
  overflow: hidden;
}

@media (max-width: 1120px) {
  .airport-price-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .airport-benefits__layout {
    gap: 46px;
  }

  .airport-faq__layout,
  .airport-routes__layout {
    gap: 50px;
  }
}

@media (max-width: 900px) {
  .airport-hero,
  .airport-hero__inner {
    min-height: 590px;
  }

  .airport-hero__content {
    width: min(700px, 90%);
  }

  .airport-hero h1 {
    font-size: 46px;
  }

  .airport-facts__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .airport-facts__grid > div:nth-child(2) {
    border-right: 0;
  }

  .airport-facts__grid > div:nth-child(-n+2) {
    border-bottom: 1px solid var(--line);
  }

  .airport-benefits__layout,
  .airport-faq__layout,
  .airport-routes__layout {
    grid-template-columns: 1fr;
  }

  .airport-benefits__media,
  .airport-benefits__media > img {
    min-height: 430px;
    height: 430px;
  }

  .airport-benefits__badge {
    right: 24px;
  }

  .airport-process__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .airport-routes__panel {
    max-width: 520px;
  }

  .airport-faq__layout {
    gap: 36px;
  }

  .airport-final__inner {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 700px) {
  .airport-hero,
  .airport-hero__inner {
    min-height: 560px;
  }

  .airport-hero__inner {
    padding-top: 48px;
    padding-bottom: 56px;
  }

  .airport-hero__content {
    width: 100%;
  }

  .airport-hero .page-breadcrumb {
    margin-bottom: 24px;
  }

  .airport-hero h1 {
    font-size: 38px;
  }

  .airport-hero__content > p {
    font-size: 14px;
  }

  .airport-section {
    padding: 64px 0;
  }

  .airport-section__heading {
    display: grid;
    align-items: start;
    gap: 12px;
  }

  .airport-section__heading .section-title,
  .airport-benefits__content .section-title,
  .airport-routes .section-title,
  .airport-faq .section-title {
    font-size: 32px;
  }

  .airport-benefit-list {
    grid-template-columns: 1fr;
  }

  .airport-booking-form__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  .airport-booking-field--full {
    grid-column: 1 / -1;
  }

  .airport-booking-form__footer {
    align-items: stretch;
    flex-direction: column;
    gap: 16px;
  }
}

@media (max-width: 540px) {
  .airport-hero__kicker {
    align-items: flex-start;
    font-size: 10px;
  }

  .airport-hero h1 {
    font-size: 33px;
  }

  .airport-hero__actions {
    display: grid;
  }

  .airport-hero__actions .btn {
    width: 100%;
  }

  .airport-hero__trust {
    display: grid;
    gap: 8px;
  }

  .airport-facts__grid,
  .airport-price-grid,
  .airport-process__grid {
    grid-template-columns: 1fr;
  }

  .airport-facts__grid > div,
  .airport-facts__grid > div:first-child,
  .airport-facts__grid > div:nth-child(2) {
    min-height: 92px;
    border-right: 0;
    border-bottom: 1px solid var(--line);
    border-left: 0;
  }

  .airport-price-card {
    min-height: 330px;
  }

  .airport-benefits__media,
  .airport-benefits__media > img {
    min-height: 330px;
    height: 330px;
  }

  .airport-benefits__badge {
    right: 14px;
    bottom: 14px;
    width: min(210px, calc(100% - 28px));
  }

  .airport-process__grid li {
    min-height: 220px;
  }

  .airport-routes__panel {
    padding: 25px;
  }

  .airport-final h2 {
    font-size: 25px;
  }

  .airport-final__actions {
    align-items: stretch;
    flex-direction: column;
    width: 100%;
  }

  .airport-booking-dialog {
    width: calc(100% - 16px);
    max-height: calc(100vh - 16px);
  }

  .airport-booking-dialog__shell {
    max-height: calc(100vh - 16px);
  }

  .airport-booking-dialog__header,
  .airport-booking-form {
    padding: 19px;
  }

  .airport-booking-dialog__header h2 {
    font-size: 20px;
  }
}

/* ARCHIVE AND SINGLE CONTENT */
body.archive .site-main,
body.single .site-main,
body.blog .site-main {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

.content-archive,
.single-content {
  width: 100%;
}

.content-archive__hero {
  position: relative;
  min-height: 440px;
  overflow: hidden;
  background: var(--navy-deep);
  color: #fff;
}

.content-archive__hero-media,
.content-archive__hero-overlay {
  position: absolute;
  inset: 0;
}

.content-archive__hero-media {
  background: var(--qnc-image-vehicle-7) center 54% / cover no-repeat;
}

.content-archive--tour .content-archive__hero-media {
  background-image: var(--qnc-image-ky-co);
}

.content-archive--post .content-archive__hero-media {
  background-image: var(--qnc-image-phu-yen);
}

.content-archive__hero-overlay {
  background: rgba(4, 30, 63, .82);
}

.content-archive__hero-inner {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: column;
  min-height: 440px;
  padding-top: 58px;
  padding-bottom: 62px;
}

.content-archive__hero .page-breadcrumb {
  margin-bottom: 25px;
}

.content-archive__kicker {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 12px;
  color: #86CEFF;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.content-archive__kicker .fi {
  color: #FFAA61;
  font-size: 15px;
}

.content-archive__hero h1 {
  max-width: 850px;
  margin: 0;
  color: #fff;
  font-size: 48px;
  font-weight: 900;
  line-height: 1.12;
}

.content-archive__description {
  max-width: 720px;
  margin-top: 15px;
  color: #D6E3EF;
  font-size: 15px;
}

.content-archive__description p {
  margin: 0;
}

.archive-filters {
  position: relative;
  z-index: 3;
  border-bottom: 1px solid var(--line);
  background: #fff;
}

.archive-filters__inner {
  display: flex;
  align-items: center;
  gap: 5px;
  overflow-x: auto;
  padding-top: 14px;
  padding-bottom: 14px;
  scrollbar-width: thin;
}

.archive-filters__inner a {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  gap: 7px;
  min-height: 38px;
  padding: 0 13px;
  border: 1px solid transparent;
  border-radius: 6px;
  color: #526276;
  font-size: 11px;
  font-weight: 800;
}

.archive-filters__inner a:hover,
.archive-filters__inner a.is-active {
  border-color: #BBD8EF;
  background: var(--sky);
  color: var(--blue);
}

.archive-filters__inner a span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  padding: 0 5px;
  border-radius: 10px;
  background: #E7EDF2;
  color: #667587;
  font-size: 9px;
}

.archive-results {
  padding: 76px 0 88px;
  background: var(--soft);
}

.archive-results__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  align-items: start;
  gap: 42px;
}

.archive-results__main {
  min-width: 0;
}

.archive-results__heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 25px;
  margin-bottom: 25px;
}

.archive-results__heading > div > span {
  color: var(--blue);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.archive-results__heading h2 {
  margin: 4px 0 0;
  color: var(--navy);
  font-size: 28px;
  line-height: 1.25;
}

.archive-results__heading > p {
  flex: 0 0 auto;
  margin: 0;
  color: var(--muted);
  font-size: 11px;
}

.archive-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}

.archive-card {
  display: flex;
  min-width: 0;
  overflow: hidden;
  border: 1px solid #D8E2EA;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 9px 28px rgba(8, 46, 93, .055);
  flex-direction: column;
  transition: transform .22s ease, box-shadow .22s ease;
}

.archive-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 36px rgba(8, 46, 93, .1);
}

.archive-card__media {
  position: relative;
  display: block;
  min-height: 235px;
  overflow: hidden;
  background: #E5EDF3;
}

.archive-card__media > img {
  width: 100%;
  height: 235px;
  object-fit: cover;
  transition: transform .35s ease;
}

.archive-card:hover .archive-card__media > img {
  transform: scale(1.035);
}

.archive-card__media--fallback {
  display: grid;
  place-items: center;
  background: #E9F2F9;
}

.archive-card__media--fallback > span {
  display: grid;
  place-items: center;
  width: 68px;
  height: 68px;
  border-radius: 8px;
  background: #fff;
  color: var(--blue);
  font-size: 28px;
  box-shadow: var(--shadow-sm);
}

.archive-card__category {
  position: absolute;
  top: 14px;
  left: 14px;
  max-width: calc(100% - 28px);
  padding: 6px 9px;
  overflow: hidden;
  border-radius: 4px;
  background: rgba(4, 30, 63, .9);
  color: #fff;
  font-size: 9px;
  font-weight: 850;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.archive-card__body {
  display: flex;
  flex: 1;
  min-width: 0;
  padding: 21px;
  flex-direction: column;
}

.archive-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 13px;
  min-height: 20px;
  margin-bottom: 10px;
  color: #738193;
  font-size: 9px;
  font-weight: 700;
}

.archive-card__meta span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.archive-card__meta .fi {
  color: var(--blue);
  font-size: 11px;
}

.archive-card h2 {
  margin: 0;
  color: var(--navy);
  font-size: 20px;
  line-height: 1.35;
}

.archive-card h2 a:hover {
  color: var(--blue);
}

.archive-card__excerpt {
  margin-top: 10px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.65;
}

.archive-card__excerpt p {
  margin: 0;
}

.archive-card__footer {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 15px;
  min-height: 43px;
  margin-top: auto;
  padding-top: 19px;
}

.archive-card__footer > a {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  gap: 7px;
  color: var(--blue);
  font-size: 10px;
  font-weight: 850;
}

.archive-card__footer > a:hover {
  color: var(--orange);
}

.archive-card__price {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 4px 7px;
}

.archive-card__price small {
  color: var(--muted);
  font-size: 8px;
}

.archive-card__price strong {
  color: var(--green);
  font-size: 16px;
  line-height: 1;
}

.archive-card__price del {
  color: #98A3AF;
  font-size: 9px;
}

.archive-sidebar {
  position: sticky;
  top: 102px;
  display: grid;
  gap: 18px;
  min-width: 0;
}

body.admin-bar .archive-sidebar {
  top: 134px;
}

.archive-sidebar > section {
  min-width: 0;
  padding: 22px;
  border: 1px solid #D8E2EA;
  border-radius: 8px;
  background: #fff;
}

.archive-sidebar h2 {
  margin: 0 0 15px;
  color: var(--navy);
  font-size: 16px;
  line-height: 1.3;
}

.archive-sidebar .search-form {
  display: flex;
  gap: 7px;
}

.archive-sidebar .search-form label {
  flex: 1;
  min-width: 0;
}

.archive-sidebar .search-field {
  width: 100%;
  height: 42px;
  padding: 0 10px;
  border: 1px solid var(--line);
  border-radius: 6px;
  font-size: 11px;
}

.archive-sidebar .search-submit {
  min-width: 66px;
  padding: 0 10px;
  border: 0;
  border-radius: 6px;
  background: var(--blue);
  color: #fff;
  font-size: 10px;
  font-weight: 800;
}

.archive-sidebar__support {
  border-color: var(--navy-deep) !important;
  background: var(--navy-deep) !important;
  color: #fff;
}

.archive-sidebar__support > .fi {
  color: #72C7FF;
  font-size: 27px;
}

.archive-sidebar__support > span {
  display: block;
  margin-top: 14px;
  color: #79C6FA;
  font-size: 9px;
  font-weight: 850;
  text-transform: uppercase;
}

.archive-sidebar__support h2 {
  margin: 5px 0 9px;
  color: #fff;
  font-size: 20px;
}

.archive-sidebar__support p {
  margin: 0 0 19px;
  color: #B9CAD9;
  font-size: 11px;
}

.archive-sidebar__support .btn {
  width: 100%;
}

.archive-sidebar__phone {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  margin-top: 14px;
  color: #fff;
  font-size: 12px;
  font-weight: 850;
}

.archive-sidebar__links {
  display: grid;
}

.archive-sidebar__links h2 {
  grid-column: 1 / -1;
}

.archive-sidebar__links > a {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) 12px;
  align-items: center;
  gap: 8px;
  padding: 11px 0;
  border-bottom: 1px solid #EBF0F4;
  color: #455669;
  font-size: 10px;
  font-weight: 800;
}

.archive-sidebar__links > a:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.archive-sidebar__links > a > .fi:first-child {
  color: var(--blue);
  font-size: 15px;
}

.archive-sidebar__links > a > .fi:last-child {
  color: #98A7B5;
  font-size: 9px;
}

.archive-sidebar__links > a:hover {
  color: var(--blue);
}

.archive-results .navigation.pagination {
  margin-top: 38px;
}

.archive-results .nav-links {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px;
}

.archive-results .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 10px;
  border: 1px solid #D4DEE7;
  border-radius: 6px;
  background: #fff;
  color: #526276;
  font-size: 10px;
  font-weight: 800;
}

.archive-results .page-numbers.current,
.archive-results .page-numbers:hover {
  border-color: var(--blue);
  background: var(--blue);
  color: #fff;
}

.archive-results .page-numbers.prev,
.archive-results .page-numbers.next {
  gap: 7px;
  padding: 0 13px;
}

.archive-results .no-results {
  padding: 35px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}

.archive-results .no-results .page-title {
  margin: 0 0 10px;
  color: var(--navy);
  font-size: 25px;
}

.single-content__hero {
  position: relative;
  min-height: 500px;
  overflow: hidden;
  background: var(--navy-deep);
  color: #fff;
}

.single-content__hero-media,
.single-content__hero-overlay {
  position: absolute;
  inset: 0;
}

.single-content__hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.single-content__hero-overlay {
  background: rgba(4, 30, 63, .83);
}

.single-content__hero-inner {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: column;
  min-height: 500px;
  padding-top: 64px;
  padding-bottom: 68px;
}

.single-content__hero .page-breadcrumb {
  flex-wrap: wrap;
  margin-bottom: 27px;
}

.single-content__category {
  display: inline-flex;
  margin-bottom: 13px;
  padding: 6px 9px;
  border: 1px solid rgba(126, 202, 255, .45);
  border-radius: 4px;
  background: rgba(10, 114, 206, .18);
  color: #A8DAFF;
  font-size: 9px;
  font-weight: 850;
  text-transform: uppercase;
}

.single-content__hero h1 {
  max-width: 940px;
  margin: 0;
  color: #fff;
  font-size: 46px;
  font-weight: 900;
  line-height: 1.15;
}

.single-content__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 22px;
  margin-top: 21px;
  color: #D2E0EC;
  font-size: 11px;
  font-weight: 700;
}

.single-content__meta span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

.single-content__meta .fi {
  color: #79C9FF;
  font-size: 13px;
}

.single-content__section {
  padding: 76px 0 84px;
  background: #fff;
}

.single-content__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  align-items: start;
  gap: 58px;
}

.single-content__main {
  min-width: 0;
}

.single-content__lead {
  margin-bottom: 30px;
  padding: 20px 23px;
  border-left: 4px solid var(--orange);
  background: var(--soft);
  color: #3B4C60;
  font-size: 16px;
  font-weight: 650;
  line-height: 1.7;
}

.single-specs {
  margin-bottom: 34px;
  padding: 24px;
  border: 1px solid #D9E3EB;
  border-radius: 8px;
  background: #F9FBFD;
}

.single-specs > h2 {
  margin: 0 0 17px;
  color: var(--navy);
  font-size: 17px;
}

.single-specs__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px 18px;
}

.single-specs__grid > div {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  min-width: 0;
}

.single-specs__grid > div > .fi {
  width: 34px;
  height: 34px;
  border-radius: 6px;
  background: var(--sky);
  color: var(--blue);
  font-size: 15px;
}

.single-specs__grid span {
  display: grid;
  min-width: 0;
}

.single-specs__grid small {
  color: var(--muted);
  font-size: 8px;
}

.single-specs__grid strong {
  overflow: hidden;
  color: var(--navy);
  font-size: 11px;
  text-overflow: ellipsis;
}

.single-content__body {
  max-width: none !important;
  color: #344054;
  font-size: 15px;
  line-height: 1.8;
}

.single-content__body > *:first-child {
  margin-top: 0;
}

.single-content__body > *:last-child {
  margin-bottom: 0;
}

.single-content__body h2,
.single-content__body h3,
.single-content__body h4 {
  color: var(--navy);
  line-height: 1.3;
}

.single-content__body h2 {
  margin: 42px 0 15px;
  font-size: 29px;
}

.single-content__body h3 {
  margin: 32px 0 13px;
  font-size: 22px;
}

.single-content__body h4 {
  margin: 27px 0 11px;
  font-size: 17px;
}

.single-content__body p,
.single-content__body ul,
.single-content__body ol,
.single-content__body figure,
.single-content__body table,
.single-content__body blockquote {
  margin-top: 0;
  margin-bottom: 22px;
}

.single-content__body ul,
.single-content__body ol {
  padding-left: 23px;
}

.single-content__body li + li {
  margin-top: 7px;
}

.single-content__body a {
  color: var(--blue);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.single-content__body img {
  height: auto;
  border-radius: 8px;
}

.single-content__body blockquote {
  padding: 20px 23px;
  border-left: 4px solid var(--orange);
  background: var(--soft);
  color: #526276;
}

.single-content__body blockquote p:last-child {
  margin-bottom: 0;
}

.single-content__body table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
}

.single-content__body th,
.single-content__body td {
  padding: 11px 12px;
  border: 1px solid var(--line);
  text-align: left;
}

.single-content__body th {
  background: var(--soft);
  color: var(--navy);
}

.single-content__body iframe {
  max-width: 100%;
}

.single-content__terms {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 39px;
  padding-top: 22px;
  border-top: 1px solid var(--line);
}

.single-content__terms strong {
  margin-right: 3px;
  color: var(--navy);
  font-size: 10px;
}

.single-content__terms a {
  padding: 5px 9px;
  border: 1px solid #D6E0E8;
  border-radius: 4px;
  color: #536476;
  font-size: 9px;
  font-weight: 750;
}

.single-content__terms a:hover {
  border-color: var(--blue);
  color: var(--blue);
}

.single-content__main .post-navigation {
  margin-top: 34px;
  padding-top: 28px;
  border-top: 1px solid var(--line);
}

.single-content__main .post-navigation .nav-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}

.single-content__main .nav-previous,
.single-content__main .nav-next {
  min-width: 0;
}

.single-content__main .nav-next {
  text-align: right;
}

.single-content__main .post-navigation a {
  display: block;
}

.single-content__main .post-navigation span {
  display: grid;
}

.single-content__main .post-navigation small {
  margin-bottom: 5px;
  color: var(--muted);
  font-size: 9px;
  font-weight: 750;
  text-transform: uppercase;
}

.single-content__main .post-navigation strong {
  color: var(--navy);
  font-size: 12px;
  line-height: 1.45;
}

.single-content__main .post-navigation a:hover strong {
  color: var(--blue);
}

.single-sidebar {
  position: sticky;
  top: 102px;
  display: grid;
  gap: 18px;
  min-width: 0;
}

body.admin-bar .single-sidebar {
  top: 134px;
}

.single-sidebar > section {
  padding: 24px;
  border: 1px solid #D8E2EA;
  border-radius: 8px;
  background: #fff;
}

.single-booking-box {
  border-color: var(--navy-deep) !important;
  background: var(--navy-deep) !important;
  color: #fff;
}

.single-booking-box > span {
  display: block;
  color: #79C9FF;
  font-size: 9px;
  font-weight: 850;
  text-transform: uppercase;
}

.single-booking-box > h2 {
  margin: 6px 0 10px;
  color: #fff;
  font-size: 22px;
  line-height: 1.25;
}

.single-booking-box__price {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 5px 8px;
  margin-top: 8px;
}

.single-booking-box__price small {
  width: 100%;
  color: #AFC5D7;
  font-size: 9px;
}

.single-booking-box__price strong {
  color: #66DDA7;
  font-size: 28px;
  line-height: 1.1;
}

.single-booking-box__price del {
  color: #8299AE;
  font-size: 10px;
}

.single-booking-box > p {
  margin: 14px 0 20px;
  color: #B8C9D8;
  font-size: 11px;
}

.single-booking-box > .btn {
  width: 100%;
}

.single-booking-box__phone {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-top: 17px;
  color: #fff;
}

.single-booking-box__phone > .fi {
  width: 37px;
  height: 37px;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 50%;
  color: #83CDFF;
}

.single-booking-box__phone span {
  display: grid;
}

.single-booking-box__phone small {
  color: #98AEC2;
  font-size: 8px;
}

.single-booking-box__phone strong {
  font-size: 13px;
}

.single-service-points h2,
.single-share h2 {
  margin: 0 0 15px;
  color: var(--navy);
  font-size: 16px;
}

.single-service-points ul {
  display: grid;
  gap: 11px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.single-service-points li {
  display: grid;
  grid-template-columns: 17px minmax(0, 1fr);
  align-items: start;
  gap: 8px;
  color: #536477;
  font-size: 10px;
}

.single-service-points .fi {
  margin-top: 2px;
  color: var(--green);
  font-size: 13px;
}

.single-share > div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.single-share a,
.single-share button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-width: 0;
  min-height: 38px;
  padding: 0 8px;
  border: 1px solid #D6E0E8;
  border-radius: 6px;
  background: #fff;
  color: #4F6073;
  font-size: 9px;
  font-weight: 800;
}

.single-share a:hover,
.single-share button:hover,
.single-share button.is-copied {
  border-color: var(--blue);
  color: var(--blue);
}

.single-related {
  padding: 74px 0 82px;
  background: var(--soft);
}

.single-related__heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 30px;
  margin-bottom: 27px;
}

.single-related__heading h2 {
  margin: 8px 0 0;
  color: var(--navy);
  font-size: 30px;
}

.single-related__heading > a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--blue);
  font-size: 10px;
  font-weight: 850;
}

.single-related__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.single-related__grid article {
  overflow: hidden;
  border: 1px solid #D7E1E9;
  border-radius: 8px;
  background: #fff;
}

.single-related__media {
  display: block;
  height: 205px;
  overflow: hidden;
  background: #E9F1F7;
}

.single-related__media img {
  width: 100%;
  height: 205px;
  object-fit: cover;
  transition: transform .3s ease;
}

.single-related__grid article:hover .single-related__media img {
  transform: scale(1.035);
}

.single-related__media--fallback {
  display: grid;
  place-items: center;
  color: var(--blue);
  font-size: 28px;
}

.single-related__grid article > div {
  padding: 18px;
}

.single-related__grid article > div > span {
  color: var(--muted);
  font-size: 8px;
}

.single-related__grid h3 {
  margin: 6px 0 13px;
  color: var(--navy);
  font-size: 17px;
  line-height: 1.4;
}

.single-related__grid h3 a:hover {
  color: var(--blue);
}

.single-related__link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--blue);
  font-size: 9px;
  font-weight: 850;
}

.single-comments {
  padding: 72px 0;
  border-top: 1px solid var(--line);
  background: #fff;
}

.single-comments__inner {
  max-width: 860px;
}

.comments-area {
  color: #435468;
  font-size: 12px;
}

.comments-title,
.comment-reply-title {
  color: var(--navy);
  font-size: 24px;
}

.comment-list {
  padding-left: 22px;
}

.comment-respond input:not([type="submit"]),
.comment-respond textarea {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 6px;
}

.comment-respond input:not([type="submit"]) {
  height: 43px;
}

.comment-respond .submit {
  min-height: 43px;
  padding: 0 17px;
  border: 0;
  border-radius: 7px;
  background: var(--blue);
  color: #fff;
  font-size: 11px;
  font-weight: 850;
}

@media (max-width: 1050px) {
  .archive-results__layout,
  .single-content__layout {
    grid-template-columns: minmax(0, 1fr) 280px;
    gap: 30px;
  }

  .archive-card__media,
  .archive-card__media > img {
    min-height: 210px;
    height: 210px;
  }
}

@media (max-width: 900px) {
  .archive-results__layout,
  .single-content__layout {
    grid-template-columns: 1fr;
  }

  .archive-sidebar,
  .single-sidebar {
    position: static;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .archive-sidebar__support,
  .single-booking-box {
    grid-row: span 2;
  }

  .single-related__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .single-related__grid article:last-child {
    display: none;
  }
}

@media (max-width: 700px) {
  .content-archive__hero,
  .content-archive__hero-inner {
    min-height: 380px;
  }

  .content-archive__hero h1,
  .single-content__hero h1 {
    font-size: 36px;
  }

  .archive-results,
  .single-content__section,
  .single-related,
  .single-comments {
    padding-top: 58px;
    padding-bottom: 62px;
  }

  .archive-card-grid {
    grid-template-columns: 1fr;
  }

  .archive-card__media,
  .archive-card__media > img {
    min-height: 260px;
    height: 260px;
  }

  .single-content__hero,
  .single-content__hero-inner {
    min-height: 440px;
  }

  .single-content__lead {
    font-size: 14px;
  }

  .single-specs__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .single-content__body {
    font-size: 14px;
  }

  .single-content__body h2 {
    font-size: 25px;
  }

  .single-content__body h3 {
    font-size: 20px;
  }

  .single-content__body table {
    display: block;
    overflow-x: auto;
  }
}

@media (max-width: 540px) {
  .content-archive__hero h1,
  .single-content__hero h1 {
    font-size: 31px;
  }

  .content-archive__description {
    font-size: 13px;
  }

  .archive-results__heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
  }

  .archive-card__media,
  .archive-card__media > img {
    min-height: 220px;
    height: 220px;
  }

  .archive-card h2 {
    font-size: 18px;
  }

  .archive-sidebar,
  .single-sidebar,
  .single-related__grid {
    grid-template-columns: 1fr;
  }

  .archive-sidebar__support,
  .single-booking-box {
    grid-row: auto;
  }

  .single-specs {
    padding: 19px;
  }

  .single-specs__grid {
    grid-template-columns: 1fr;
  }

  .single-content__main .post-navigation .nav-links {
    grid-template-columns: 1fr;
  }

  .single-content__main .nav-next {
    text-align: left;
  }

  .single-related__grid article:last-child {
    display: block;
  }

  .single-related__heading {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* TOUR AND VEHICLE CATALOGS */
body.post-type-archive-tour .site-main,
body.post-type-archive-thue_xe .site-main,
body.tax-chuyen_muc_tour .site-main,
body.tax-chuyen_muc_xe .site-main,
body.single-tour .site-main,
body.single-thue_xe .site-main {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

.service-catalog,
.service-detail {
  width: 100%;
}

.service-catalog__hero {
  position: relative;
  min-height: 535px;
  overflow: hidden;
  background: var(--navy-deep);
  color: #fff;
}

.service-catalog__hero-media,
.service-catalog__hero-overlay {
  position: absolute;
  inset: 0;
}

.service-catalog__hero-media {
  background: var(--qnc-image-vehicle-16) center 56% / cover no-repeat;
}

.service-catalog--tour .service-catalog__hero-media {
  background-image: var(--qnc-image-ky-co);
}

.service-catalog__hero-overlay {
  background: rgba(4, 30, 63, .8);
}

.service-catalog__hero-inner {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: column;
  min-height: 535px;
  padding-top: 60px;
  padding-bottom: 68px;
}

.service-catalog__hero .page-breadcrumb {
  margin-bottom: 28px;
}

.service-catalog__hero-content {
  max-width: 760px;
}

.service-catalog__kicker {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: #92D4FF;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.service-catalog__kicker .fi {
  color: #FFAA61;
  font-size: 16px;
}

.service-catalog__hero h1 {
  margin: 14px 0 15px;
  color: #fff;
  font-size: 52px;
  font-weight: 900;
  line-height: 1.1;
}

.service-catalog__hero-content > div:not(.service-catalog__hero-actions) {
  max-width: 700px;
  color: #D8E5F0;
  font-size: 16px;
  line-height: 1.7;
}

.service-catalog__hero-content > div p {
  margin: 0;
}

.service-catalog__hero-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 22px;
  margin-top: 27px;
}

.service-catalog__hero-actions > a:not(.btn) {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #fff;
}

.service-catalog__hero-actions > a:not(.btn) > .fi {
  width: 42px;
  height: 42px;
  border: 1px solid rgba(255, 255, 255, .28);
  border-radius: 50%;
}

.service-catalog__hero-actions span {
  display: grid;
}

.service-catalog__hero-actions small {
  color: #AFC4D6;
  font-size: 8px;
}

.service-catalog__hero-actions strong {
  font-size: 13px;
}

.service-catalog__benefits {
  border-bottom: 1px solid var(--line);
  background: #fff;
}

.service-catalog__benefits > .container {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.service-catalog__benefits .container > div {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  align-items: center;
  gap: 11px;
  min-height: 112px;
  padding: 18px 22px;
  border-right: 1px solid var(--line);
}

.service-catalog__benefits .container > div:first-child {
  border-left: 1px solid var(--line);
}

.service-catalog__benefits .container > div > .fi {
  width: 42px;
  height: 42px;
  border-radius: 7px;
  background: var(--sky);
  color: var(--blue);
  font-size: 18px;
}

.service-catalog__benefits span {
  display: grid;
  min-width: 0;
}

.service-catalog__benefits strong {
  color: var(--navy);
  font-size: 13px;
}

.service-catalog__benefits small {
  color: var(--muted);
  font-size: 9px;
}

.service-catalog__filters {
  border-bottom: 1px solid var(--line);
  background: #fff;
}

.service-catalog__filters > .container {
  display: flex;
  align-items: center;
  gap: 6px;
  overflow-x: auto;
  padding-top: 14px;
  padding-bottom: 14px;
}

.service-catalog__filters a {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  gap: 7px;
  min-height: 39px;
  padding: 0 13px;
  border: 1px solid transparent;
  border-radius: 6px;
  color: #536477;
  font-size: 10px;
  font-weight: 800;
}

.service-catalog__filters a:hover,
.service-catalog__filters a.is-active {
  border-color: #B8D8EF;
  background: var(--sky);
  color: var(--blue);
}

.service-catalog__filters a > span {
  min-width: 20px;
  padding: 2px 5px;
  border-radius: 9px;
  background: #E5ECF2;
  color: #69798A;
  font-size: 8px;
  text-align: center;
}

.service-catalog__results {
  padding: 78px 0 88px;
  background: var(--soft);
}

.service-catalog__heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 35px;
  margin-bottom: 30px;
}

.service-catalog__heading > div > span {
  color: var(--blue);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.service-catalog__heading h2 {
  margin: 5px 0 6px;
  color: var(--navy);
  font-size: 34px;
  line-height: 1.2;
}

.service-catalog__heading p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
}

.service-catalog__heading > strong {
  flex: 0 0 auto;
  color: #657486;
  font-size: 10px;
}

.service-catalog__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.service-product-card {
  display: flex;
  min-width: 0;
  overflow: hidden;
  border: 1px solid #D6E0E8;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 9px 28px rgba(8, 46, 93, .055);
  flex-direction: column;
  transition: transform .22s ease, box-shadow .22s ease;
}

.service-product-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 17px 36px rgba(8, 46, 93, .1);
}

.service-product-card__media {
  position: relative;
  display: block;
  height: 255px;
  overflow: hidden;
  background: #E8F1F7;
}

.service-product-card__media > img {
  width: 100%;
  height: 255px;
  object-fit: cover;
  transition: transform .35s ease;
}

.service-product-card:hover .service-product-card__media > img {
  transform: scale(1.035);
}

.service-product-card__category,
.service-product-card__mode {
  position: absolute;
  top: 14px;
  max-width: calc(100% - 28px);
  padding: 6px 9px;
  border-radius: 4px;
  font-size: 8px;
  font-weight: 850;
}

.service-product-card__category {
  left: 14px;
  background: rgba(4, 30, 63, .91);
  color: #fff;
}

.service-product-card__mode {
  right: 14px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: rgba(255, 255, 255, .95);
  color: var(--navy);
}

.service-product-card__body {
  display: flex;
  flex: 1;
  min-width: 0;
  padding: 21px;
  flex-direction: column;
}

.service-product-card h3 {
  margin: 0;
  color: var(--navy);
  font-size: 20px;
  line-height: 1.35;
}

.service-product-card h3 a:hover {
  color: var(--blue);
}

.service-product-card__facts {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 13px;
  min-height: 30px;
  margin-top: 13px;
  color: #68798B;
  font-size: 9px;
  font-weight: 700;
}

.service-product-card__facts span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.service-product-card__facts .fi {
  color: var(--blue);
  font-size: 11px;
}

.service-product-card__excerpt {
  margin-top: 8px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.6;
}

.service-product-card__excerpt p {
  margin: 0;
}

.service-product-card__footer {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  margin-top: auto;
  padding-top: 20px;
  border-top: 1px solid #ECF0F3;
}

.service-product-card__price {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 4px 7px;
}

.service-product-card__price small {
  width: 100%;
  color: var(--muted);
  font-size: 8px;
}

.service-product-card__price strong {
  color: var(--green);
  font-size: 18px;
  line-height: 1;
}

.service-product-card__price del {
  color: #96A1AC;
  font-size: 8px;
}

.service-product-card__footer > a {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  gap: 6px;
  margin-left: auto;
  color: var(--blue);
  font-size: 9px;
  font-weight: 850;
}

.service-catalog__results .navigation.pagination {
  margin-top: 38px;
}

.service-catalog__results .nav-links {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 7px;
}

.service-catalog__results .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-width: 40px;
  height: 40px;
  padding: 0 11px;
  border: 1px solid #D5DFE7;
  border-radius: 6px;
  background: #fff;
  color: #526276;
  font-size: 9px;
  font-weight: 800;
}

.service-catalog__results .page-numbers.current,
.service-catalog__results .page-numbers:hover {
  border-color: var(--blue);
  background: var(--blue);
  color: #fff;
}

.service-catalog__advice {
  padding: 54px 0;
  background: var(--navy);
  color: #fff;
}

.service-catalog__advice > .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 50px;
}

.service-catalog__advice span {
  color: #82CDFF;
  font-size: 9px;
  font-weight: 850;
  text-transform: uppercase;
}

.service-catalog__advice h2 {
  margin: 5px 0 5px;
  font-size: 29px;
  line-height: 1.2;
}

.service-catalog__advice p {
  margin: 0;
  color: #BDCDDA;
  font-size: 11px;
}

.service-catalog__advice .container > div:last-child {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
  gap: 18px;
}

.service-catalog__advice .container > div:last-child > a:not(.btn) {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #fff;
  font-size: 12px;
  font-weight: 850;
}

/* TOUR AND VEHICLE DETAIL */
.service-detail__hero {
  position: relative;
  min-height: 650px;
  overflow: hidden;
  background: var(--navy-deep);
  color: #fff;
}

.service-detail__hero-media,
.service-detail__hero-overlay {
  position: absolute;
  inset: 0;
}

.service-detail__hero-media {
  background: #183A5D;
}

.service-detail__hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.service-detail__hero-overlay {
  background: rgba(4, 30, 63, .79);
}

.service-detail__hero-inner {
  position: relative;
  z-index: 1;
  min-height: 650px;
  padding-top: 58px;
  padding-bottom: 70px;
}

.service-detail__hero .page-breadcrumb {
  margin-bottom: 42px;
}

.service-detail__hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 600px;
  align-items: center;
  gap: 48px;
}

.service-detail__hero-grid.service-detail__hero-grid--single {
  grid-template-columns: minmax(0, 900px);
}

.service-detail__hero-aside {
  display: grid;
  gap: 14px;
  min-width: 0;
}

.service-detail__gallery {
  position: relative;
  display: grid;
  grid-template-columns: 1.5fr .75fr .75fr;
  grid-template-rows: repeat(2, 170px);
  gap: 9px;
  min-width: 0;
  padding: 9px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 8px;
  background: rgba(4, 30, 63, .55);
  box-shadow: 0 20px 50px rgba(0, 0, 0, .2);
}

.service-gallery-item {
  position: relative;
  min-width: 0;
  min-height: 0;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 5px;
  background: #183A5D;
}

.service-gallery-item--featured {
  grid-row: 1 / 3;
}

.service-gallery-item--hidden {
  display: none;
}

.service-detail__gallery--count-1 {
  grid-template-columns: 1fr;
}

.service-detail__gallery--count-1 .service-gallery-item--featured {
  grid-column: 1 / -1;
}

.service-detail__gallery--count-2,
.service-detail__gallery--count-3 {
  grid-template-columns: 1.5fr 1fr;
}

.service-detail__gallery--count-2 .service-gallery-item:nth-of-type(2) {
  grid-row: 1 / 3;
}

.service-detail__gallery--count-4 .service-gallery-item:nth-of-type(4) {
  grid-column: 2 / 4;
}

.service-gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .28s ease, opacity .28s ease;
}

.service-gallery-item:hover img {
  opacity: .84;
  transform: scale(1.035);
}

.service-gallery-more {
  position: absolute;
  right: 15px;
  bottom: 15px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 31px;
  padding: 0 9px;
  border: 1px solid rgba(255, 255, 255, .32);
  border-radius: 5px;
  background: rgba(4, 30, 63, .88);
  color: #fff;
  font-size: 8px;
  font-weight: 850;
}

.service-detail__type {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 9px;
  border: 1px solid rgba(132, 207, 255, .4);
  border-radius: 4px;
  background: rgba(10, 114, 206, .18);
  color: #A7DCFF;
  font-size: 9px;
  font-weight: 850;
  text-transform: uppercase;
}

.service-detail__hero-copy h1 {
  max-width: 850px;
  margin: 15px 0 16px;
  color: #fff;
  font-size: 48px;
  font-weight: 900;
  line-height: 1.12;
}

.service-detail__hero-copy > p {
  max-width: 720px;
  margin: 0;
  color: #D7E4EF;
  font-size: 15px;
  line-height: 1.7;
}

.service-detail__hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 26px;
}

.service-detail__hero-actions .btn {
  min-height: 49px;
}

.service-detail__call {
  border: 1px solid rgba(255, 255, 255, .38);
  background: rgba(4, 30, 63, .42);
  color: #fff;
}

.service-detail__price-card {
  padding: 25px;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 8px;
  background: rgba(4, 30, 63, .82);
  box-shadow: 0 20px 55px rgba(0, 0, 0, .18);
}

.service-detail__hero-aside .service-detail__price-card {
  padding: 20px 22px;
}

.service-detail__hero-aside .service-detail__price-card ul {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.service-detail__price-card > span {
  display: block;
  color: #AFC3D5;
  font-size: 9px;
}

.service-detail__price-card > strong {
  display: inline-block;
  margin-top: 3px;
  color: #66DDA7;
  font-size: 30px;
  line-height: 1.1;
}

.service-detail__price-card > del {
  margin-left: 7px;
  color: #8098AD;
  font-size: 10px;
}

.service-detail__price-card > small {
  display: block;
  margin-top: 4px;
  color: #AFC2D2;
  font-size: 9px;
}

.service-detail__price-card ul {
  display: grid;
  gap: 7px;
  margin: 18px 0 0;
  padding: 16px 0 0;
  border-top: 1px solid rgba(255, 255, 255, .12);
  list-style: none;
}

.service-detail__price-card li {
  display: flex;
  align-items: center;
  gap: 7px;
  color: #CBD9E4;
  font-size: 9px;
}

.service-detail__price-card li .fi {
  color: #61DDA4;
}

/* TOUR DETAIL HERO */
.service-detail__hero--tour {
  min-height: 690px;
  background: #F5F8FB;
  color: var(--ink);
}

.service-detail__hero--tour .service-detail__hero-media {
  top: 0;
  right: auto;
  bottom: 0;
  left: 0;
  width: 53%;
  background: #DCEAF3;
}

.service-detail__hero--tour .service-detail__hero-media img {
  object-position: center;
}

.service-detail__hero--tour .service-detail__hero-overlay {
  display: none;
}

.service-detail__hero--tour .service-detail__hero-inner {
  display: grid;
  align-content: start;
  min-height: 690px;
  padding-top: 32px;
  padding-bottom: 58px;
}

.service-detail__hero--tour .page-breadcrumb {
  grid-column: 1 / -1;
  margin-bottom: 34px;
}

.service-detail__hero--tour .page-breadcrumb a,
.service-detail__hero--tour .page-breadcrumb span {
  color: #607487;
}

.service-detail__hero--tour .service-detail__hero-grid {
  grid-template-columns: minmax(0, 1.02fr) minmax(360px, .98fr);
  align-items: stretch;
  gap: 0;
  min-height: 510px;
}

.service-detail__hero--tour .service-detail__hero-copy {
  grid-column: 2;
  grid-row: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding: 48px 0 48px 66px;
}

.service-detail__hero--tour .service-detail__hero-copy h1 {
  max-width: 570px;
  margin: 17px 0 18px;
  color: var(--navy);
  font-size: 52px;
}

.service-detail__hero--tour .service-detail__hero-copy > p {
  max-width: 550px;
  color: #52687A;
  font-size: 15px;
  line-height: 1.75;
}

.service-detail__hero--tour .service-detail__type {
  align-self: flex-start;
  border-color: #B8D8EB;
  background: #EAF5FC;
  color: var(--blue);
}

.service-detail__hero--tour .service-detail__hero-actions {
  margin-top: 30px;
}

.service-detail__hero--tour .service-detail__call {
  border-color: #C5D3DE;
  background: transparent;
  color: var(--navy);
}

.service-detail__hero--tour .service-detail__hero-aside {
  grid-column: 1;
  grid-row: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 15px;
  min-width: 0;
  padding: 0 40px 0 0;
}

.service-detail__hero--tour .service-detail__gallery {
  grid-template-rows: repeat(2, 180px);
  padding: 8px;
  border-color: rgba(13, 66, 103, .14);
  background: #fff;
  box-shadow: 0 18px 42px rgba(29, 69, 99, .13);
}

.service-detail__hero--tour .service-detail__price-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 4px 18px;
  padding: 17px 19px;
  border-color: #D3E0E9;
  border-radius: 7px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(29, 69, 99, .08);
}

.service-detail__hero--tour .service-detail__price-card > span,
.service-detail__hero--tour .service-detail__price-card > small {
  color: #718496;
}

.service-detail__hero--tour .service-detail__price-card > strong {
  color: #087A55;
  font-size: 29px;
}

.service-detail__hero--tour .service-detail__price-card > del {
  grid-column: 2;
  grid-row: 1;
  color: #8798A5;
}

.service-detail__hero--tour .service-detail__price-card > small {
  grid-column: 2;
  grid-row: 2;
  margin: 0;
  text-align: right;
}

.service-detail__hero--tour .service-detail__price-card ul {
  grid-column: 1 / -1;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 10px;
  padding-top: 10px;
  border-top-color: #E4ECF1;
}

.service-detail__hero--tour .service-detail__price-card li {
  color: #5E7281;
}

/* VEHICLE DETAIL */
.service-detail--vehicle {
  background: #F7F9FC;
}

.vehicle-single__head {
  padding: 38px 0 26px;
  border-bottom: 1px solid #E8EEF4;
  background: #fff;
}

.vehicle-single__breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 18px;
  color: #768394;
  font-size: 11px;
  font-weight: 700;
}

.vehicle-single__breadcrumb a:hover {
  color: var(--blue);
}

.vehicle-single__heading-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 28px;
}

.vehicle-single__heading {
  min-width: 0;
  max-width: 860px;
}

.vehicle-single__tag,
.vehicle-single__availability {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 9px;
  font-weight: 850;
}

.vehicle-single__tag {
  padding: 7px 10px;
  border: 1px solid #C8E2F4;
  border-radius: 999px;
  background: #EDF7FE;
  color: var(--blue);
  text-transform: uppercase;
}

.vehicle-single__heading h1 {
  margin: 14px 0 11px;
  color: var(--navy);
  font-size: 46px;
  line-height: 1.14;
}

.vehicle-single__heading > p {
  max-width: 760px;
  margin: 0;
  color: #5E6D7E;
  font-size: 14px;
  line-height: 1.75;
}

.vehicle-single__availability {
  flex: 0 0 auto;
  margin-top: 5px;
  padding: 11px 13px;
  border: 1px solid #CDEBDD;
  border-radius: 7px;
  background: #F0FBF6;
  color: #148056;
}

.vehicle-single__gallery-section {
  padding: 28px 0 0;
  background: #fff;
}

.vehicle-single__gallery {
  grid-template-rows: repeat(2, 235px);
  padding: 0;
  border: 0;
  border-radius: 10px;
  background: #E6EDF3;
  box-shadow: 0 14px 34px rgba(11, 45, 77, .09);
}

.vehicle-single__gallery .service-gallery-item {
  border-radius: 0;
}

.vehicle-single__gallery .service-gallery-item--featured {
  border-radius: 10px 0 0 10px;
}

.vehicle-single__gallery .service-gallery-item:nth-child(3) {
  border-radius: 0 10px 0 0;
}

.vehicle-single__gallery .service-gallery-item:nth-child(5) {
  border-radius: 0 0 10px 0;
}

.vehicle-single__gallery .service-gallery-more {
  right: 15px;
  bottom: 15px;
  min-height: 38px;
  padding: 0 12px;
  border-color: rgba(255, 255, 255, .9);
  border-radius: 6px;
  background: rgba(255, 255, 255, .94);
  color: var(--navy);
  box-shadow: 0 7px 19px rgba(5, 27, 54, .16);
  font-size: 9px;
}

.service-detail--vehicle .service-detail__facts {
  padding: 22px 0 0;
  border: 0;
  background: #fff;
}

.service-detail--vehicle .service-detail__facts > .container {
  overflow: hidden;
  border: 1px solid #DFE7EF;
  border-radius: 9px;
  background: #fff;
  box-shadow: 0 9px 25px rgba(13, 44, 76, .06);
}

.service-detail--vehicle .service-detail__facts .container > div {
  min-height: 92px;
  padding: 16px 19px;
}

.service-detail--vehicle .service-detail__facts .container > div:first-child {
  border-left: 0;
}

.service-detail--vehicle .service-detail__content-section {
  padding: 36px 0 82px;
  background: #F7F9FC;
}

.service-detail--vehicle .service-detail__layout {
  grid-template-columns: minmax(0, 1fr) 350px;
  gap: 36px;
}

.service-detail--vehicle .service-detail__anchor-nav {
  top: 0px;
  margin-bottom: 24px;
  padding: 7px;
  border-radius: 8px;
}

.service-detail--vehicle .service-detail__article,
.service-detail--vehicle .service-detail__notes {
  padding: 29px;
  border: 1px solid #E0E7EE;
  border-radius: 9px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(14, 42, 70, .04);
}

.service-detail--vehicle .service-detail__notes {
  margin-top: 22px;
}

.service-detail--vehicle .service-detail__section-title h2 {
  font-size: 28px;
}

.service-detail--vehicle .service-detail__sidebar {
  top: 94px;
  gap: 16px;
}

.service-detail--vehicle .service-detail__sidebar > section {
  padding: 26px;
  border-radius: 9px;
}

.service-detail--vehicle .service-detail__booking-box {
  box-shadow: 0 22px 48px rgba(7, 31, 61, .17);
}

.service-detail--vehicle .service-detail__booking-box .btn {
  min-height: 51px;
  background: #EE762E;
  box-shadow: 0 12px 26px rgba(238, 118, 46, .24);
}

.service-detail--vehicle .service-detail__booking-box .btn:hover {
  background: #D9601A;
}

.vehicle-single__mobile-bar {
  display: none;
}

.service-booking-status {
  padding-top: 22px;
}

.service-booking-status > div {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 13px 16px;
  border: 1px solid;
  border-radius: 7px;
  font-size: 11px;
  font-weight: 750;
}

.service-booking-status--success {
  border-color: #A6DEC5 !important;
  background: #EDFBF4;
  color: #08734A;
}

.service-booking-status--error {
  border-color: #F0B7B7 !important;
  background: #FFF3F3;
  color: #A32C2C;
}

.service-detail__facts {
  border-bottom: 1px solid var(--line);
  background: #fff;
}

.service-detail__facts > .container {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.service-detail__facts .container > div {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  align-items: center;
  gap: 11px;
  min-height: 108px;
  padding: 18px 22px;
  border-right: 1px solid var(--line);
}

.service-detail__facts .container > div:first-child {
  border-left: 1px solid var(--line);
}

.service-detail__facts .container > div > .fi {
  width: 42px;
  height: 42px;
  border-radius: 7px;
  background: var(--sky);
  color: var(--blue);
  font-size: 18px;
}

.service-detail__facts span {
  display: grid;
  min-width: 0;
}

.service-detail__facts small {
  color: var(--muted);
  font-size: 8px;
}

.service-detail__facts strong {
  overflow: hidden;
  color: var(--navy);
  font-size: 11px;
  text-overflow: ellipsis;
}

.service-detail__content-section {
  padding: 74px 0 84px;
  background: #fff;
}

.service-detail__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 315px;
  align-items: start;
  gap: 58px;
}

.service-detail__main {
  min-width: 0;
}

.service-detail__anchor-nav {
  position: sticky;
  top: 78px;
  z-index: 8;
  display: flex;
  align-items: center;
  gap: 5px;
  margin-bottom: 38px;
  padding: 9px;
  border: 1px solid #D9E3EA;
  border-radius: 7px;
  background: rgba(255, 255, 255, .97);
  box-shadow: 0 8px 22px rgba(8, 46, 93, .06);
}

body.admin-bar .service-detail__anchor-nav {
  top: 110px;
}

.service-detail__anchor-nav a {
  min-height: 36px;
  padding: 8px 12px;
  border-radius: 5px;
  color: #56677A;
  font-size: 9px;
  font-weight: 800;
}

.service-detail__anchor-nav a:hover,
.service-detail__anchor-nav a.is-active {
  background: var(--sky);
  color: var(--blue);
}

.service-detail__section-title > span {
  color: var(--blue);
  font-size: 9px;
  font-weight: 900;
  text-transform: uppercase;
}

.service-detail__section-title h2 {
  margin: 5px 0 22px;
  color: var(--navy);
  font-size: 30px;
  line-height: 1.25;
}

.service-detail__entry {
  max-width: none !important;
  color: #344054;
  font-size: 14px;
  line-height: 1.8;
}

.service-detail__entry > *:first-child {
  margin-top: 0;
}

.service-detail__entry h2,
.service-detail__entry h3,
.service-detail__entry h4 {
  color: var(--navy);
  line-height: 1.3;
}

.service-detail__entry h2 {
  margin: 38px 0 14px;
  font-size: 27px;
}

.service-detail__entry h3 {
  margin: 29px 0 12px;
  font-size: 21px;
}

.service-detail__entry p,
.service-detail__entry ul,
.service-detail__entry ol,
.service-detail__entry figure,
.service-detail__entry table {
  margin-top: 0;
  margin-bottom: 21px;
}

.service-detail__entry ul,
.service-detail__entry ol {
  padding-left: 22px;
}

.service-detail__entry img {
  width: auto;
  max-width: 100%;
  height: auto;
  margin-right: auto;
  margin-left: auto;
  border-radius: 8px;
  filter: none !important;
  image-rendering: auto;
  opacity: 1 !important;
}

.service-detail__entry figure {
  max-width: 100%;
  margin-right: 0;
  margin-left: 0;
  text-align: center;
}

.service-detail__entry figcaption {
  margin-top: 9px;
  color: #718096;
  font-size: 13px;
  line-height: 1.5;
}

.service-detail__entry table {
  width: 100%;
  border-collapse: collapse;
  font-size: 11px;
}

.service-detail__entry th,
.service-detail__entry td {
  padding: 11px;
  border: 1px solid var(--line);
  text-align: left;
}

.service-detail__entry th {
  background: var(--soft);
  color: var(--navy);
}

.service-detail__policy {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 42px;
}

.service-detail__itinerary {
  margin-top: 48px;
  padding-top: 42px;
  border-top: 1px solid var(--line);
  scroll-margin-top: 150px;
}

.service-itinerary {
  margin-top: 8px;
}

.service-itinerary__item {
  display: grid;
  grid-template-columns: 72px 42px minmax(0, 1fr);
  align-items: start;
  min-height: 112px;
}

.service-itinerary__item time {
  padding-top: 10px;
  color: var(--blue);
  font-size: 13px;
  font-weight: 900;
}

.service-itinerary__marker {
  position: relative;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border: 4px solid #fff;
  border-radius: 50%;
  background: var(--blue);
  box-shadow: 0 0 0 1px #BFD8EB;
  color: #fff;
  font-size: 14px;
}

.service-itinerary__item:not(:last-child) .service-itinerary__marker:after {
  content: '';
  position: absolute;
  top: 38px;
  bottom: -74px;
  left: 50%;
  width: 2px;
  background: #CFE0EC;
  transform: translateX(-50%);
}

.service-itinerary__item > div {
  padding: 5px 0 26px 17px;
}

.service-itinerary__item h3 {
  margin: 0 0 7px;
  color: var(--navy);
  font-size: 18px;
  line-height: 1.35;
}

.service-itinerary__item p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.7;
}

.service-itinerary__notice {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  margin: 5px 0 0 114px;
  padding: 13px 15px;
  border: 1px solid #CFE1EE;
  border-radius: 7px;
  background: #F1F8FD;
  color: #536B80;
  font-size: 10px;
  line-height: 1.6;
}

.service-itinerary__notice .fi {
  margin-top: 2px;
  color: var(--blue);
}

.service-detail__policy > div {
  padding: 22px;
  border: 1px solid #D9E3EA;
  border-radius: 8px;
  background: #F9FBFD;
}

.service-detail__policy > div > .fi {
  color: var(--green);
  font-size: 22px;
}

.service-detail__policy > div:nth-child(2) > .fi {
  color: #D95C5C;
}

.service-detail__policy h3 {
  margin: 12px 0 7px;
  color: var(--navy);
  font-size: 16px;
}

.service-detail__policy p {
  margin: 0;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.65;
}

.service-detail__notes {
  margin-top: 45px;
  padding-top: 41px;
  border-top: 1px solid var(--line);
  scroll-margin-top: 150px;
}

.service-detail__notes ul {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.service-detail__notes li {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  gap: 9px;
  color: #4F6073;
  font-size: 11px;
}

.service-detail__notes li .fi {
  margin-top: 3px;
  color: var(--green);
}

.service-detail__sidebar {
  position: sticky;
  top: 102px;
  display: grid;
  gap: 18px;
  min-width: 0;
}

body.admin-bar .service-detail__sidebar {
  top: 134px;
}

.service-detail__sidebar > section {
  padding: 24px;
  border: 1px solid #D8E2E9;
  border-radius: 8px;
  background: #fff;
}

.service-detail__booking-box {
  border-color: var(--navy-deep) !important;
  background: var(--navy-deep) !important;
  color: #fff;
}

.service-detail__booking-box > span {
  color: #7BC9FF;
  font-size: 8px;
  font-weight: 850;
  text-transform: uppercase;
}

.service-detail__booking-box > h2 {
  margin: 5px 0 17px;
  color: #fff;
  font-size: 18px;
  line-height: 1.35;
}

.service-detail__booking-box > div {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 5px 8px;
  margin-bottom: 18px;
}

.service-detail__booking-box > div small {
  width: 100%;
  color: #AFC2D2;
  font-size: 8px;
}

.service-detail__booking-box > div strong {
  color: #65DDA6;
  font-size: 25px;
}

.service-detail__booking-box > div del {
  color: #8499AC;
  font-size: 9px;
}

.service-detail__booking-box .btn {
  width: 100%;
}

.service-detail__booking-box > p {
  margin: 13px 0 0;
  color: #AFC2D2;
  font-size: 9px;
}

.service-detail__support h2 {
  margin: 0 0 14px;
  color: var(--navy);
  font-size: 16px;
}

.service-detail__support > a {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  padding: 11px 0;
  border-bottom: 1px solid #E9EEF2;
}

.service-detail__support > a:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.service-detail__support > a > .fi {
  width: 38px;
  height: 38px;
  border-radius: 7px;
  background: var(--sky);
  color: var(--blue);
}

.service-detail__support span {
  display: grid;
}

.service-detail__support small {
  color: var(--muted);
  font-size: 8px;
}

.service-detail__support strong {
  color: var(--navy);
  font-size: 11px;
}

.service-related {
  padding: 72px 0 80px;
  background: var(--soft);
}

.service-related__heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 30px;
  margin-bottom: 26px;
}

.service-related__heading h2 {
  margin: 7px 0 0;
  color: var(--navy);
  font-size: 29px;
}

.service-related__heading > a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--blue);
  font-size: 9px;
  font-weight: 850;
}

.service-related__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.service-related__grid article {
  overflow: hidden;
  border: 1px solid #D7E1E9;
  border-radius: 8px;
  background: #fff;
}

.service-related__media {
  display: grid;
  place-items: center;
  height: 205px;
  overflow: hidden;
  background: #E6EFF6;
  color: var(--blue);
  font-size: 28px;
}

.service-related__media img {
  width: 100%;
  height: 205px;
  object-fit: cover;
  transition: transform .3s ease;
}

.service-related__grid article:hover .service-related__media img {
  transform: scale(1.035);
}

.service-related__grid article > div {
  padding: 18px;
}

.service-related__grid h3 {
  margin: 0 0 12px;
  color: var(--navy);
  font-size: 17px;
  line-height: 1.4;
}

.service-related__grid article > div > a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--blue);
  font-size: 9px;
  font-weight: 850;
}

/* SERVICE BOOKING DIALOG */
.service-booking-dialog {
  width: min(760px, calc(100% - 28px));
  max-height: calc(100vh - 30px);
  margin: auto;
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 8px;
  background: #fff;
  color: var(--ink);
  box-shadow: 0 28px 90px rgba(3, 20, 42, .35);
}

.service-booking-dialog::backdrop {
  background: rgba(3, 20, 42, .74);
  backdrop-filter: blur(3px);
}

.service-booking-dialog__shell {
  max-height: calc(100vh - 30px);
  overflow-y: auto;
  border-radius: inherit;
}

.service-booking-dialog__shell > header {
  position: sticky;
  top: 0;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 21px 25px;
  border-bottom: 1px solid rgba(255, 255, 255, .12);
  background: var(--navy-deep);
  color: #fff;
}

.service-booking-dialog__shell > header span {
  color: #7BC9FF;
  font-size: 8px;
  font-weight: 850;
  text-transform: uppercase;
}

.service-booking-dialog__shell > header h2 {
  margin: 3px 0 0;
  font-size: 22px;
  line-height: 1.25;
}

.service-booking-dialog__shell > header button {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, .26);
  border-radius: 50%;
  background: transparent;
  color: #fff;
  font-size: 19px;
}

.service-booking-dialog form {
  padding: 25px;
}

.service-booking-form__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.service-booking-field {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.service-booking-field--full {
  grid-column: 1 / -1;
}

.service-booking-field label {
  color: #34465A;
  font-size: 10px;
  font-weight: 800;
}

.service-booking-field label span {
  color: #D93025;
}

.service-booking-field input,
.service-booking-field select,
.service-booking-field textarea {
  width: 100%;
  min-width: 0;
  border: 1px solid #CDD8E2;
  border-radius: 7px;
  background: #fff;
  color: var(--ink);
  font-size: 11px;
  outline: 0;
}

.service-booking-field input,
.service-booking-field select {
  height: 44px;
  padding: 0 11px;
}

.service-booking-field textarea {
  min-height: 82px;
  padding: 10px 11px;
  resize: vertical;
}

.service-booking-field input:focus,
.service-booking-field select:focus,
.service-booking-field textarea:focus {
  border-color: var(--blue);
  box-shadow: 0 0 0 3px rgba(10, 114, 206, .09);
}

.service-booking-check {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  color: #4E6072;
  font-size: 9px;
  line-height: 1.55;
  cursor: pointer;
}

.service-booking-check input {
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  margin: 1px 0 0;
  accent-color: var(--blue);
}

.service-booking-dialog form > footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  margin-top: 22px;
  padding-top: 19px;
  border-top: 1px solid var(--line);
}

.service-booking-dialog form > footer p {
  margin: 0;
  color: var(--muted);
  font-size: 8px;
}

.service-booking-dialog form > footer p a {
  color: var(--blue);
  text-decoration: underline;
}

.service-booking-dialog form > footer .btn {
  flex: 0 0 auto;
}

body:has(.service-booking-dialog[open]) {
  overflow: hidden;
}

.service-gallery-dialog {
  width: min(1180px, calc(100% - 28px));
  max-width: none;
  max-height: calc(100vh - 28px);
  margin: auto;
  padding: 0;
  overflow: visible;
  border: 0;
  background: transparent;
  color: #fff;
}

.service-gallery-dialog::backdrop {
  background: rgba(2, 12, 25, .93);
  backdrop-filter: blur(4px);
}

.service-gallery-dialog figure {
  display: grid;
  justify-items: center;
  margin: 0;
}

.service-gallery-dialog figure img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: calc(100vh - 95px);
  border-radius: 6px;
  object-fit: contain;
}

.service-gallery-dialog figcaption {
  min-height: 29px;
  padding-top: 9px;
  color: #C7D4E0;
  font-size: 9px;
  text-align: center;
}

.service-gallery-dialog__close,
.service-gallery-dialog__nav {
  position: fixed;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, .28);
  border-radius: 50%;
  background: rgba(4, 30, 63, .82);
  color: #fff;
  font-size: 18px;
}

.service-gallery-dialog__close {
  top: 18px;
  right: 18px;
}

.service-gallery-dialog__nav {
  top: 50%;
  transform: translateY(-50%);
}

.service-gallery-dialog__nav--prev {
  left: 18px;
}

.service-gallery-dialog__nav--next {
  right: 18px;
}

.service-gallery-dialog__close:hover,
.service-gallery-dialog__nav:hover {
  border-color: #fff;
  background: #fff;
  color: var(--navy);
}

body:has(.service-gallery-dialog[open]) {
  overflow: hidden;
}

/* TOUR SINGLE LAYOUT */
.tour-single {
  --tour-green: #0B6B5F;
  --tour-green-dark: #074F47;
  --tour-orange: #E9690E;
  --tour-line: #E2E8EC;
  --tour-muted: #61717F;
  color: #17212B;
  background: #fff;
}

.tour-single__hero {
  position: relative;
  display: flex;
  align-items: flex-end;
  min-height: 570px;
  isolation: isolate;
  overflow: hidden;
  color: #fff;
  background: #0B302B;
}

.tour-single__hero::after {
  position: absolute;
  z-index: -1;
  inset: 0;
  content: '';
  background: linear-gradient(90deg, rgba(5, 20, 22, .86) 0%, rgba(5, 20, 22, .58) 50%, rgba(5, 20, 22, .12) 100%), linear-gradient(0deg, rgba(5, 20, 22, .68) 0%, rgba(5, 20, 22, 0) 58%);
}

.tour-single__hero-image {
  position: absolute;
  z-index: -2;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tour-single__hero-inner {
  width: 100%;
  padding-top: 42px;
  padding-bottom: 55px;
}

.tour-single__breadcrumb {
  position: absolute;
  top: 34px;
  left: max(20px, calc((100vw - var(--container)) / 2));
  color: rgba(255, 255, 255, .76);
}

.tour-single__breadcrumb a,
.tour-single__breadcrumb span {
  color: inherit;
}

.tour-single__hero-content {
  max-width: 880px;
  padding-top: 90px;
}

.tour-single__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 11px;
  border: 1px solid rgba(255, 255, 255, .28);
  border-radius: 5px;
  background: rgba(255, 255, 255, .13);
  font-size: 9px;
  font-weight: 850;
  text-transform: uppercase;
  backdrop-filter: blur(8px);
}

.tour-single__hero h1 {
  max-width: 850px;
  margin: 15px 0 16px;
  color: #fff;
  font-size: 54px;
  font-weight: 900;
  line-height: 1.08;
}

.tour-single__hero-content > p {
  max-width: 760px;
  margin: 0;
  color: rgba(255, 255, 255, .88);
  font-size: 16px;
  line-height: 1.7;
}

.tour-single__hero-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 25px;
}

.tour-single__hero-meta span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 38px;
  padding: 8px 11px;
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 6px;
  background: rgba(255, 255, 255, .14);
  font-size: 10px;
  font-weight: 750;
  backdrop-filter: blur(8px);
}

.tour-single__gallery-section {
  padding: 46px 0 25px;
  background: #fff;
}

.tour-single__section-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 21px;
}

.tour-single__section-heading span,
.tour-single__section-title > span {
  color: var(--tour-green);
  font-size: 9px;
  font-weight: 900;
  text-transform: uppercase;
}

.tour-single__section-heading h2,
.tour-single__section-title h2 {
  margin: 5px 0 0;
  color: var(--navy);
  font-size: 30px;
  line-height: 1.25;
}

.tour-single__section-heading button {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 39px;
  padding: 0 13px;
  border: 1px solid #C9D7DE;
  border-radius: 6px;
  background: #fff;
  color: var(--navy);
  font-size: 9px;
  font-weight: 850;
}

.tour-single__gallery {
  display: grid;
  grid-template-columns: 1.55fr .75fr .75fr;
  grid-template-rows: repeat(2, 195px);
  gap: 10px;
  min-width: 0;
}

.tour-single__gallery-item {
  min-width: 0;
  min-height: 0;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 7px;
  background: #DCE6E9;
}

.tour-single__gallery-item--featured {
  grid-row: 1 / 3;
}

.tour-single__gallery-item--hidden {
  display: none;
}

.tour-single__gallery--count-1 {
  grid-template-columns: 1fr;
}

.tour-single__gallery--count-2,
.tour-single__gallery--count-3 {
  grid-template-columns: 1.6fr 1fr;
}

.tour-single__gallery--count-2 .tour-single__gallery-item:nth-child(2) {
  grid-row: 1 / 3;
}

.tour-single__gallery--count-4 .tour-single__gallery-item:nth-child(4) {
  grid-column: 2 / 4;
}

.tour-single__gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .3s ease, opacity .3s ease;
}

.tour-single__gallery-item:hover img {
  opacity: .88;
  transform: scale(1.035);
}

.tour-single__facts {
  position: relative;
  z-index: 3;
  margin-bottom: 54px;
}

.tour-single__facts > .container {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1px;
  overflow: hidden;
  border: 1px solid var(--tour-line);
  border-radius: 8px;
  background: var(--tour-line);
  box-shadow: 0 15px 38px rgba(20, 45, 58, .09);
}

.tour-single__fact {
  min-width: 0;
  min-height: 105px;
  padding: 20px;
  background: #fff;
}

.tour-single__fact small {
  display: block;
  margin-bottom: 7px;
  color: #73828E;
  font-size: 8px;
  font-weight: 850;
  text-transform: uppercase;
}

.tour-single__fact strong {
  display: block;
  overflow-wrap: anywhere;
  color: var(--navy);
  font-size: 14px;
  line-height: 1.4;
}

.tour-single__fact--price strong {
  display: inline;
  color: var(--tour-orange);
  font-size: 22px;
}

.tour-single__fact--price del {
  display: block;
  margin-top: 4px;
  color: #8A99A4;
  font-size: 9px;
}

.tour-single__fact--price span {
  margin-left: 4px;
  color: #72818C;
  font-size: 8px;
}

.tour-single__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  align-items: start;
  gap: 54px;
  padding-bottom: 80px;
}

.tour-single__main {
  min-width: 0;
}

.tour-single__anchor-nav {
  position: sticky;
  top: 78px;
  z-index: 7;
  display: flex;
  gap: 4px;
  margin-bottom: 15px;
  padding: 8px;
  overflow-x: auto;
  border: 1px solid #D9E3E8;
  border-radius: 7px;
  background: rgba(255, 255, 255, .97);
  box-shadow: 0 7px 20px rgba(20, 45, 58, .05);
}

.tour-single__anchor-nav a {
  flex: 0 0 auto;
  padding: 8px 11px;
  border-radius: 5px;
  color: #5D6D79;
  font-size: 9px;
  font-weight: 800;
}

.tour-single__anchor-nav a:hover {
  background: #EAF6F3;
  color: var(--tour-green);
}

.tour-single__section {
  padding: 43px 0;
  border-bottom: 1px solid var(--tour-line);
  scroll-margin-top: 140px;
}

.tour-single__section:first-of-type {
  padding-top: 30px;
}

.tour-single__section-title {
  margin-bottom: 24px;
}

.tour-single__section-title > p {
  max-width: 720px;
  margin: 9px 0 0;
  color: var(--tour-muted);
  font-size: 11px;
  line-height: 1.65;
}

.tour-single__entry {
  color: #354653;
  font-size: 14px;
  line-height: 1.8;
}

.tour-single__entry > *:first-child {
  margin-top: 0;
}

.tour-single__entry h2,
.tour-single__entry h3,
.tour-single__entry h4 {
  color: var(--navy);
  line-height: 1.3;
}

.tour-single__entry h2 {
  margin: 35px 0 13px;
  font-size: 25px;
}

.tour-single__entry h3 {
  margin: 27px 0 11px;
  font-size: 20px;
}

.tour-single__entry p,
.tour-single__entry ul,
.tour-single__entry ol,
.tour-single__entry figure {
  margin-top: 0;
  margin-bottom: 20px;
}

.tour-single__entry ul,
.tour-single__entry ol {
  padding-left: 22px;
}

.tour-single__entry figure {
  overflow: hidden;
  border-radius: 7px;
  background: #EEF3F5;
}

.tour-single__entry figure img {
  display: block;
  width: 100%;
  max-height: 520px;
  object-fit: cover;
}

.tour-single__entry figcaption {
  padding: 9px 13px;
  color: #687985;
  background: #F7F9FA;
  font-size: 9px;
}

.tour-single__timeline {
  position: relative;
}

.tour-single__timeline::before {
  position: absolute;
  top: 11px;
  bottom: 12px;
  left: 78px;
  width: 2px;
  content: '';
  background: #D5E8E3;
}

.tour-single__timeline article {
  position: relative;
  display: grid;
  grid-template-columns: 62px minmax(0, 1fr);
  gap: 32px;
  padding-bottom: 20px;
}

.tour-single__timeline time {
  padding-top: 17px;
  color: var(--tour-green-dark);
  font-size: 11px;
  font-weight: 900;
  text-align: right;
}

.tour-single__timeline article > div {
  position: relative;
  padding: 17px 19px;
  border: 1px solid var(--tour-line);
  border-radius: 7px;
  background: #fff;
}

.tour-single__timeline article > div::before {
  position: absolute;
  top: 18px;
  left: -24px;
  width: 12px;
  height: 12px;
  border: 4px solid #fff;
  border-radius: 50%;
  background: var(--tour-green);
  box-shadow: 0 0 0 2px #B7DBD4;
  content: '';
}

.tour-single__timeline h3 {
  margin: 0 0 6px;
  color: var(--navy);
  font-size: 16px;
}

.tour-single__timeline p {
  margin: 0;
  color: var(--tour-muted);
  font-size: 11px;
  line-height: 1.65;
}

.tour-single__policy-grid,
.tour-single__notice-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 17px;
}

.tour-single__policy,
.tour-single__notice-grid > div {
  padding: 23px;
  border: 1px solid var(--tour-line);
  border-radius: 7px;
  background: #F8FAFB;
}

.tour-single__policy h3,
.tour-single__notice-grid h3 {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 13px;
  color: var(--navy);
  font-size: 17px;
}

.tour-single__policy--yes h3 .fi,
.tour-single__notice-grid > div > .fi {
  color: var(--tour-green);
}

.tour-single__policy--no h3 .fi {
  color: #D44B4B;
}

.tour-single__policy ul,
.tour-single__notice-grid ul {
  display: grid;
  gap: 9px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.tour-single__policy li,
.tour-single__notice-grid li {
  position: relative;
  padding-left: 19px;
  color: #4E5E69;
  font-size: 11px;
  line-height: 1.55;
}

.tour-single__policy li::before,
.tour-single__notice-grid li::before {
  position: absolute;
  top: 0;
  left: 0;
  color: var(--tour-green);
  font-weight: 900;
  content: '✓';
}

.tour-single__policy--no li::before {
  color: #D44B4B;
  content: '×';
}

.tour-single__steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 11px;
  counter-reset: tour-step;
}

.tour-single__steps > div {
  position: relative;
  min-height: 145px;
  padding: 18px;
  overflow: hidden;
  border: 1px solid var(--tour-line);
  border-radius: 7px;
  counter-increment: tour-step;
}

.tour-single__steps > div::after {
  position: absolute;
  right: 8px;
  bottom: -14px;
  color: #EDF1F3;
  font-size: 62px;
  font-weight: 900;
  line-height: 1;
  content: counter(tour-step, decimal-leading-zero);
}

.tour-single__steps strong,
.tour-single__steps p {
  position: relative;
  z-index: 1;
}

.tour-single__steps strong {
  display: block;
  margin-bottom: 7px;
  color: var(--navy);
  font-size: 14px;
}

.tour-single__steps p {
  margin: 0;
  color: var(--tour-muted);
  font-size: 10px;
  line-height: 1.55;
}

.tour-single__faq {
  border-top: 1px solid var(--tour-line);
}

.tour-single__faq details {
  border-bottom: 1px solid var(--tour-line);
}

.tour-single__faq summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 17px 0;
  color: var(--navy);
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
  list-style: none;
}

.tour-single__faq summary::-webkit-details-marker {
  display: none;
}

.tour-single__faq details[open] summary .fi {
  transform: rotate(45deg);
}

.tour-single__faq p {
  margin: -4px 0 17px;
  color: var(--tour-muted);
  font-size: 11px;
  line-height: 1.7;
}

.tour-single__sidebar {
  position: sticky;
  top: 96px;
  display: grid;
  gap: 17px;
}

.tour-single__booking-card,
.tour-single__support {
  padding: 24px;
  border: 1px solid #D8E2E7;
  border-radius: 8px;
  background: #fff;
}

.tour-single__booking-card {
  border-color: var(--tour-green-dark);
  background: var(--tour-green-dark);
  color: #fff;
  box-shadow: 0 18px 42px rgba(7, 79, 71, .16);
}

.tour-single__booking-card > span {
  color: #8ED5C8;
  font-size: 8px;
  font-weight: 850;
  text-transform: uppercase;
}

.tour-single__booking-card h2 {
  margin: 6px 0 20px;
  color: #fff;
  font-size: 19px;
  line-height: 1.4;
}

.tour-single__booking-card > small {
  color: #AFCDC8;
  font-size: 8px;
}

.tour-single__booking-card > div {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin: 2px 0 19px;
}

.tour-single__booking-card strong {
  color: #FFB070;
  font-size: 28px;
}

.tour-single__booking-card del {
  color: #8CB0A9;
  font-size: 9px;
}

.tour-single__booking-card .btn {
  width: 100%;
  background: #F47B20;
}

.tour-single__booking-card > p {
  margin: 13px 0 0;
  color: #B8D1CC;
  font-size: 9px;
  line-height: 1.55;
}

.tour-single__support h2 {
  margin: 0 0 13px;
  color: var(--navy);
  font-size: 16px;
}

.tour-single__support > a {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  padding: 11px 0;
  border-bottom: 1px solid #E8EDF0;
}

.tour-single__support > a:last-child {
  border-bottom: 0;
}

.tour-single__support > a > .fi {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 6px;
  background: #EAF6F3;
  color: var(--tour-green);
}

.tour-single__support span {
  display: grid;
}

.tour-single__support small {
  color: #73828E;
  font-size: 8px;
}

.tour-single__support strong {
  color: var(--navy);
  font-size: 11px;
}

.tour-single__mobile-bar {
  display: none;
}

@media (max-width: 1050px) {
  .service-catalog__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .service-detail__hero-grid,
  .service-detail__layout {
    gap: 38px;
  }

  .service-detail__hero-grid {
    grid-template-columns: minmax(0, 1fr) 500px;
  }

  .service-detail__gallery {
    grid-template-rows: repeat(2, 140px);
  }

  .tour-single__layout {
    grid-template-columns: minmax(0, 1fr) 310px;
    gap: 36px;
  }

  .tour-single__gallery {
    grid-template-rows: repeat(2, 165px);
  }
}

@media (max-width: 900px) {
  .service-catalog__benefits > .container,
  .service-detail__facts > .container {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .service-catalog__benefits .container > div:nth-child(2),
  .service-detail__facts .container > div:nth-child(2) {
    border-right: 0;
  }

  .service-catalog__benefits .container > div:nth-child(-n+2),
  .service-detail__facts .container > div:nth-child(-n+2) {
    border-bottom: 1px solid var(--line);
  }

  .service-detail__hero-grid,
  .service-detail__layout {
    grid-template-columns: 1fr;
  }

  .service-detail__price-card {
    max-width: 400px;
  }

  .service-detail__hero-aside {
    width: 100%;
    max-width: 720px;
  }

  .service-detail__hero--tour,
  .service-detail__hero--tour .service-detail__hero-inner {
    min-height: 0;
  }

  .service-detail__hero--tour .service-detail__hero-media {
    position: relative;
    width: 100%;
    height: 390px;
  }

  .service-detail__hero--tour .service-detail__hero-inner {
    display: block;
    padding-top: 25px;
    padding-bottom: 52px;
  }

  .service-detail__hero--tour .service-detail__hero-grid {
    display: flex;
    flex-direction: column-reverse;
    gap: 27px;
  }

  .service-detail__hero--tour .service-detail__hero-copy,
  .service-detail__hero--tour .service-detail__hero-aside {
    padding: 0;
  }

  .service-detail__hero--tour .service-detail__hero-copy {
    display: block;
  }

  .service-detail__hero--tour .service-detail__hero-aside {
    max-width: none;
  }

  .service-detail__hero--tour .service-detail__gallery {
    grid-template-rows: repeat(2, 145px);
  }

  .vehicle-single__heading h1 {
    font-size: 40px;
  }

  .vehicle-single__gallery {
    grid-template-rows: repeat(2, 180px);
  }

  .service-detail--vehicle .service-detail__layout {
    grid-template-columns: 1fr;
  }

  .service-detail--vehicle .service-detail__sidebar {
    position: static;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .service-detail__sidebar {
    position: static;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tour-single__facts > .container {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .tour-single__layout {
    grid-template-columns: 1fr;
  }

  .tour-single__sidebar {
    position: static;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tour-single__steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .service-catalog__hero,
  .service-catalog__hero-inner {
    min-height: 480px;
  }

  .service-catalog__hero h1 {
    font-size: 39px;
  }

  .service-catalog__hero-content > div:not(.service-catalog__hero-actions) {
    font-size: 14px;
  }

  .service-catalog__results,
  .service-detail__content-section,
  .service-related {
    padding-top: 60px;
    padding-bottom: 66px;
  }

  .service-catalog__heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
  }

  .service-catalog__heading h2 {
    font-size: 29px;
  }

  .service-catalog__advice > .container {
    align-items: flex-start;
    flex-direction: column;
  }

  .service-detail__hero,
  .service-detail__hero-inner {
    min-height: 760px;
  }

  .service-detail__hero--tour {
    min-height: 0;
  }

  .service-detail__hero .page-breadcrumb {
    margin-bottom: 30px;
  }

  .service-detail__hero-copy h1 {
    font-size: 37px;
  }

  .service-detail__policy,
  .service-related__grid {
    grid-template-columns: 1fr;
  }

  .service-detail__gallery {
    grid-template-rows: repeat(2, 120px);
  }

  .service-detail__hero-aside .service-detail__price-card ul {
    grid-template-columns: 1fr;
  }

  .service-detail__hero--tour .service-detail__hero-media {
    height: 300px;
  }

  .service-detail__hero--tour .service-detail__hero-copy h1 {
    font-size: 37px;
  }

  .service-detail__hero--tour .service-detail__price-card ul {
    grid-template-columns: 1fr;
  }

  .vehicle-single__head {
    padding: 27px 0 21px;
  }

  .vehicle-single__heading-row {
    display: block;
  }

  .vehicle-single__availability {
    margin-top: 16px;
  }

  .vehicle-single__heading h1 {
    font-size: 34px;
  }

  .vehicle-single__gallery-section {
    padding-top: 20px;
  }

  .vehicle-single__gallery {
    grid-template-rows: repeat(2, 130px);
  }

  .service-detail--vehicle .service-detail__facts {
    padding-top: 18px;
  }

  .service-detail--vehicle .service-detail__content-section {
    padding: 28px 0 96px;
  }

  .service-detail--vehicle .service-detail__article,
  .service-detail--vehicle .service-detail__notes {
    padding: 22px;
  }

  .service-detail--vehicle .service-detail__sidebar {
    grid-template-columns: 1fr;
  }

  .vehicle-single__mobile-bar {
    position: fixed;
    z-index: 40;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 10px 16px max(10px, env(safe-area-inset-bottom));
    border-top: 1px solid #DEE6EE;
    background: rgba(255, 255, 255, .98);
    box-shadow: 0 -8px 24px rgba(11, 39, 69, .11);
  }

  .vehicle-single__mobile-bar div {
    display: grid;
  }

  .vehicle-single__mobile-bar small {
    color: #7B8998;
    font-size: 8px;
  }

  .vehicle-single__mobile-bar strong {
    color: #D9601A;
    font-size: 18px;
  }

  .vehicle-single__mobile-bar button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 43px;
    padding: 0 18px;
    border: 0;
    border-radius: 6px;
    background: #EE762E;
    color: #fff;
    font-size: 10px;
    font-weight: 850;
  }

  .service-related__grid article:last-child {
    display: none;
  }

  .service-booking-form__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  .service-booking-field--full {
    grid-column: 1 / -1;
  }

  .service-booking-dialog form > footer {
    align-items: stretch;
    flex-direction: column;
    gap: 14px;
  }

  .tour-single__hero {
    min-height: 520px;
  }

  .tour-single__breadcrumb {
    top: 24px;
    left: 20px;
  }

  .tour-single__hero-inner {
    padding-bottom: 40px;
  }

  .tour-single__hero-content {
    padding-top: 105px;
  }

  .tour-single__hero h1 {
    font-size: 38px;
  }

  .tour-single__hero-content > p {
    font-size: 14px;
  }

  .tour-single__gallery-section {
    padding-top: 37px;
  }

  .tour-single__section-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
  }

  .tour-single__gallery {
    grid-template-columns: 1fr 130px;
    grid-template-rows: repeat(2, 120px);
  }

  .tour-single__gallery-item:nth-child(4),
  .tour-single__gallery-item:nth-child(5) {
    display: none;
  }

  .tour-single__gallery--count-1 {
    grid-template-columns: 1fr;
  }

  .tour-single__facts > .container {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tour-single__facts {
    margin-bottom: 34px;
  }

  .tour-single__layout {
    gap: 30px;
    padding-bottom: 92px;
  }

  .tour-single__anchor-nav {
    top: 0px;
  }

  .tour-single__section {
    padding: 35px 0;
  }

  .tour-single__policy-grid,
  .tour-single__notice-grid {
    grid-template-columns: 1fr;
  }

  .tour-single__sidebar {
    grid-template-columns: 1fr;
  }

}

@media (max-width: 540px) {
  .service-catalog__hero h1,
  .service-detail__hero-copy h1 {
    font-size: 32px;
  }

  .service-catalog__hero-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .service-catalog__hero-actions .btn {
    width: 100%;
  }

  .service-catalog__benefits > .container,
  .service-detail__facts > .container,
  .service-catalog__grid,
  .service-detail__sidebar {
    grid-template-columns: 1fr;
  }

  .service-catalog__benefits .container > div,
  .service-catalog__benefits .container > div:first-child,
  .service-detail__facts .container > div,
  .service-detail__facts .container > div:first-child {
    min-height: 90px;
    border-right: 0;
    border-bottom: 1px solid var(--line);
    border-left: 0;
  }

  .service-product-card__media,
  .service-product-card__media > img {
    height: 230px;
  }

  .service-catalog__advice h2 {
    font-size: 24px;
  }

  .service-catalog__advice .container > div:last-child {
    align-items: stretch;
    flex-direction: column;
    width: 100%;
  }

  .service-detail__hero-actions {
    display: grid;
  }

  .service-detail__hero-actions .btn {
    width: 100%;
  }

  .service-detail__gallery {
    grid-template-columns: 1fr 120px;
    grid-template-rows: repeat(2, 105px);
  }

  .service-detail__gallery .service-gallery-item:nth-of-type(4),
  .service-detail__gallery .service-gallery-item:nth-of-type(5) {
    display: none;
  }

  .service-detail__gallery--count-1 {
    grid-template-columns: 1fr;
  }

  .service-gallery-more {
    right: 12px;
    bottom: 12px;
    max-width: 94px;
  }

  .tour-single__hero h1 {
    font-size: 32px;
  }

  .tour-single__hero-meta span {
    width: 100%;
  }

  .tour-single__gallery {
    grid-template-columns: 1fr 105px;
    grid-template-rows: repeat(2, 100px);
  }

  .tour-single__facts > .container,
  .tour-single__steps {
    grid-template-columns: 1fr;
  }

  .tour-single__fact {
    min-height: 86px;
  }

  .tour-single__section-heading h2,
  .tour-single__section-title h2 {
    font-size: 26px;
  }

  .tour-single__timeline::before {
    left: 14px;
  }

  .tour-single__timeline article {
    grid-template-columns: 1fr;
    gap: 8px;
    padding-left: 32px;
  }

  .tour-single__timeline time {
    padding-top: 0;
    text-align: left;
  }

  .tour-single__timeline article > div::before {
    top: 17px;
    left: -24px;
  }

  .service-itinerary__item {
    grid-template-columns: 58px 36px minmax(0, 1fr);
  }

  .service-itinerary__marker {
    width: 34px;
    height: 34px;
    font-size: 12px;
  }

  .service-itinerary__item:not(:last-child) .service-itinerary__marker:after {
    top: 34px;
    bottom: -78px;
  }

  .service-itinerary__item > div {
    padding-left: 12px;
  }

  .service-itinerary__item h3 {
    font-size: 16px;
  }

  .service-itinerary__notice {
    margin-left: 94px;
  }

  .service-gallery-dialog__close,
  .service-gallery-dialog__nav {
    width: 38px;
    height: 38px;
  }

  .service-gallery-dialog__close {
    top: 10px;
    right: 10px;
  }

  .service-gallery-dialog__nav--prev {
    left: 8px;
  }

  .service-gallery-dialog__nav--next {
    right: 8px;
  }

  .service-detail__anchor-nav {
    overflow-x: auto;
  }

  .service-detail__anchor-nav a {
    flex: 0 0 auto;
  }

  .service-related__heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .service-booking-dialog {
    width: calc(100% - 16px);
    max-height: calc(100vh - 16px);
  }

  .service-booking-dialog__shell {
    max-height: calc(100vh - 16px);
  }

  .service-booking-dialog__shell > header,
  .service-booking-dialog form {
    padding: 18px;
  }

  .service-booking-dialog__shell > header h2 {
    font-size: 18px;
  }
}

/* Homepage self-drive offer and motorbike rental. */
.self-drive-offer {
  padding: 48px 0;
  color: #fff;
  background: var(--navy-deep);
}

.self-drive-offer__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);
  align-items: center;
  gap: 64px;
}

.self-drive-offer .section-kicker {
  color: #9ed3ff;
}

.self-drive-offer .section-kicker:before {
  background: var(--orange);
}

.self-drive-offer h2 {
  max-width: 650px;
  margin: 12px 0;
  color: #fff;
  font-size: 36px;
  font-weight: 900;
  line-height: 1.14;
}

.self-drive-offer h2 strong {
  color: #ffb16e;
  white-space: nowrap;
}

.self-drive-offer__copy > p {
  max-width: 640px;
  margin: 0;
  color: #d2dfec;
  font-size: 16px;
}

.self-drive-offer__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 18px;
  margin-top: 24px;
}

.self-drive-offer__call {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #fff;
  font-size: 15px;
  font-weight: 800;
}

.self-drive-offer__call .fi {
  color: #ffb16e;
  font-size: 18px;
}

.self-drive-offer__benefits {
  display: grid;
  gap: 1px;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .17);
  border-radius: 8px;
  list-style: none;
  background: rgba(255, 255, 255, .12);
}

.self-drive-offer__benefits li {
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: 84px;
  padding: 14px 18px;
  background: rgba(4, 30, 63, .65);
}

.self-drive-offer__benefits li > span {
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 8px;
  color: #092f5d;
  background: #ffb16e;
  font-size: 19px;
}

.self-drive-offer__benefits div {
  display: grid;
  gap: 2px;
}

.self-drive-offer__benefits strong {
  font-size: 14px;
  line-height: 1.25;
}

.self-drive-offer__benefits small {
  color: #b7c9db;
  font-size: 12px;
}

.motorbike-rental {
  padding-top: 60px;
  padding-bottom: 64px;
  background: #f6f9fc;
}

.motorbike-rental__heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 28px;
  margin-bottom: 28px;
}

.motorbike-rental__heading .section-desc {
  max-width: 810px;
}

.motorbike-rental__heading .btn {
  flex: 0 0 auto;
}

.motorbike-rental__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.motorbike-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 278px;
  padding: 24px;
  overflow: hidden;
  border: 1px solid #dbe5ee;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 26px rgba(8, 46, 93, .06);
}

.motorbike-card--featured {
  border-color: #ffbb80;
  background: #fffaf5;
}

.motorbike-card__media {
  aspect-ratio: 16 / 8;
  margin: -24px -24px 20px;
  overflow: hidden;
  background: #e7eef4;
}

.motorbike-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .3s ease;
}

.motorbike-card__tag {
  position: absolute;
  top: 18px;
  right: 18px;
  padding: 5px 9px;
  border-radius: 999px;
  color: #9e4908;
  background: #ffe1c7;
  font-size: 11px;
  font-weight: 800;
}

.motorbike-card__type {
  color: var(--blue);
  font-size: 12px;
  font-weight: 850;
  text-transform: uppercase;
}

.motorbike-card--featured .motorbike-card__type {
  color: #c65e0a;
}

.motorbike-card h3 {
  margin: 3px 0 6px;
  color: var(--navy);
  font-size: 22px;
  line-height: 1.2;
}

.motorbike-card p {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.55;
}

.motorbike-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: auto;
  padding-top: 18px;
  border-top: 1px solid #e5ebf0;
  color: var(--orange);
  font-size: 13px;
}

.motorbike-card__footer a {
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 8px;
  color: #fff;
  background: var(--navy);
  font-size: 15px;
}

.motorbike-rental__note {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 20px;
  color: #52677b;
  font-size: 14px;
}

.motorbike-rental__note .fi {
  color: var(--green);
  font-size: 17px;
}

@media (hover: hover) {
  .motorbike-card {
    transition: transform .2s ease, box-shadow .2s ease;
  }

  .motorbike-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 16px 34px rgba(8, 46, 93, .11);
  }

  .motorbike-card:hover .motorbike-card__media img {
    transform: scale(1.04);
  }

  .motorbike-card__footer a:hover {
    background: var(--blue);
  }
}

@media (max-width: 900px) {
  .self-drive-offer__inner {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .self-drive-offer__benefits {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .self-drive-offer__benefits li {
    align-items: flex-start;
    min-height: 126px;
    padding: 16px;
  }

  .motorbike-rental__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .self-drive-offer {
    padding: 38px 0;
  }

  .self-drive-offer h2 {
    font-size: 29px;
  }

  .self-drive-offer__copy > p {
    font-size: 14px;
  }

  .self-drive-offer__actions {
    gap: 14px;
    margin-top: 20px;
  }

  .self-drive-offer__benefits {
    grid-template-columns: 1fr;
  }

  .self-drive-offer__benefits li {
    align-items: center;
    min-height: 0;
    padding: 13px 14px;
  }

  .self-drive-offer__benefits li > span {
    width: 38px;
    height: 38px;
    font-size: 17px;
  }

  .motorbike-rental {
    padding-top: 38px;
    padding-bottom: 42px;
  }

  .motorbike-rental__heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 18px;
    margin-bottom: 20px;
  }

  .motorbike-rental__grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .motorbike-card {
    min-height: 0;
    padding: 20px;
  }

  .motorbike-card__media {
    margin: -20px -20px 17px;
  }

  .motorbike-rental__note {
    align-items: flex-start;
    font-size: 13px;
  }
}

/* Keep supporting copy readable across cards, detail pages and mobile layouts. */
small {
  font-size: var(--font-small);
}

.service-feature p,
.service-mini p,
.drive-info p,
.qnc-driver-desc,
.review-score p,
.review-card p,
.blog-card p,
.faq-aside p,
.footer-cta__copy p,
.footer-copy,
.about-capability-card p,
.about-process__grid p,
.contact-office > p,
.contact-area-grid p,
.contact-faq__list details p,
.support-step-grid p,
.support-service-grid p,
.support-confirmation__list p,
.support-final p,
.support-faq-aside > p,
.support-faq-list details p,
.page-sidebar__contact p,
.page-sidebar .widget p,
.airport-price-card__head p,
.airport-pricing__note,
.airport-benefit-list p,
.airport-process__grid p,
.airport-routes__panel p,
.airport-faq__list details p,
.airport-final p,
.content-archive__description p,
.archive-results__heading > p,
.archive-card__excerpt p,
.archive-sidebar__support p,
.single-content__body p,
.single-booking-box > p,
.service-catalog__hero-content > div p,
.service-catalog__heading p,
.service-product-card__excerpt p,
.service-catalog__advice p,
.service-detail__hero-copy > p,
.vehicle-single__heading > p,
.service-itinerary__item p,
.service-detail__policy p,
.tour-single__hero-content > p,
.tour-single__section-title > p,
.tour-single__timeline p,
.tour-single__steps p,
.tour-single__faq p {
  font-size: var(--font-copy-sm);
}

.section-desc,
.page-default__excerpt,
.single-content__lead,
.service-catalog__hero-content > div p,
.tour-single__hero-content > p {
  font-size: 16px;
}

.contact-form__submit p,
.contact-office__note p,
.footer-bottom p,
.airport-booking-form__footer p,
.service-itinerary__notice,
.service-detail__booking-box > p,
.service-booking-dialog form > footer p,
.tour-single__booking-card > p {
  font-size: var(--font-fine);
}

.price small,
.qnc-spec small,
.footer-cta__call small,
.footer-contact__list small,
.about-local__points small,
.contact-channel small,
.contact-office small,
.support-checklist small,
.support-faq-aside small,
.airport-facts__grid small,
.airport-final__actions small,
.archive-card__price small,
.single-specs__grid small,
.single-content__main .post-navigation small,
.single-booking-box__price small,
.single-booking-box__phone small,
.service-catalog__hero-actions small,
.service-catalog__benefits small,
.service-product-card__price small,
.service-detail__price-card > small {
  font-size: var(--font-small);
}

.service-detail__facts small,
.service-detail__booking-box > div small,
.service-detail__support small,
.tour-single__fact small,
.tour-single__booking-card > small,
.tour-single__support small,
.vehicle-single__mobile-bar small,
.tour-single__mobile-bar small {
  font-size: var(--font-small);
}

/* Contained detail heroes and readable supporting text. */
.tour-single__hero,
.service-detail__hero {
  width: min(calc(100% - 40px), var(--container));
  margin: 24px auto 0;
  border-radius: 8px;
}

.tour-single__hero-inner.container,
.service-detail__hero-inner.container {
  width: 100%;
  padding-right: 40px;
  padding-left: 40px;
}

.tour-single__breadcrumb {
  left: 40px;
}

.vehicle-single__head,
.vehicle-single__gallery-section {
  width: min(calc(100% - 40px), var(--container));
  margin-right: auto;
  margin-left: auto;
}

.vehicle-single__head {
  margin-top: 24px;
  border: 1px solid #E0E7EE;
  border-bottom: 0;
  border-radius: 8px 8px 0 0;
}

.vehicle-single__gallery-section {
  padding: 0 0 32px;
  border: 1px solid #E0E7EE;
  border-top: 0;
  border-radius: 0 0 8px 8px;
}

.vehicle-single__head > .container,
.vehicle-single__gallery-section > .container {
  width: 100%;
  padding-right: 32px;
  padding-left: 32px;
}

.service-detail__type,
.vehicle-single__tag,
.vehicle-single__availability,
.tour-single__eyebrow {
  font-size: 13px;
}

.vehicle-single__breadcrumb,
.service-detail__hero .page-breadcrumb,
.tour-single__breadcrumb {
  font-size: 13px;
}

.service-gallery-more,
.vehicle-single__gallery .service-gallery-more,
.tour-single__section-heading button {
  font-size: 13px;
}

.service-detail__hero-copy > p,
.vehicle-single__heading > p,
.tour-single__hero-content > p,
.service-detail__entry,
.tour-single__entry {
  font-size: 16px;
}

.service-detail__price-card > span,
.service-detail__price-card > small,
.service-detail__price-card li,
.service-detail__facts small,
.tour-single__fact small,
.tour-single__fact--price span,
.tour-single__section-heading span,
.tour-single__section-title > span {
  font-size: 13px;
}

.service-detail__facts strong,
.tour-single__fact strong {
  font-size: 16px;
}

.service-detail__anchor-nav a,
.tour-single__anchor-nav a {
  font-size: 14px;
}

.service-detail__section-title > span,
.service-detail__booking-box > span,
.tour-single__booking-card > span {
  font-size: 13px;
}

.service-detail__entry table,
.service-detail__notes li,
.service-detail__policy p,
.service-itinerary__notice,
.tour-single__entry figcaption,
.tour-single__timeline time,
.tour-single__timeline p,
.tour-single__policy li,
.tour-single__notice-grid li,
.tour-single__steps p,
.tour-single__faq p {
  font-size: 15px;
}

.service-itinerary__item p,
.tour-single__section-title > p {
  font-size: 16px;
}

.service-detail__booking-box > h2,
.service-detail__support h2,
.tour-single__booking-card h2,
.tour-single__support h2 {
  font-size: 21px;
}

.service-detail__booking-box > div small,
.service-detail__booking-box > p,
.service-detail__support small,
.tour-single__booking-card > small,
.tour-single__booking-card > p,
.tour-single__support small {
  font-size: 14px;
}

.service-detail__support strong,
.tour-single__support strong {
  font-size: 17px;
}

.service-related__heading > a,
.service-related__grid article > div > a {
  font-size: 14px;
}

.service-booking-dialog__shell > header span,
.service-booking-field label,
.service-booking-field input,
.service-booking-field select,
.service-booking-field textarea,
.service-booking-check,
.service-booking-dialog form > footer p,
.service-gallery-dialog figcaption {
  font-size: 14px;
}

.tour-single__hero-meta span {
  font-size: 14px;
}

.tour-single__timeline h3,
.tour-single__policy h3,
.tour-single__notice-grid h3,
.tour-single__steps strong,
.tour-single__faq summary {
  font-size: 17px;
}

@media (max-width: 760px) {
  .tour-single__hero,
  .service-detail__hero,
  .vehicle-single__head,
  .vehicle-single__gallery-section {
    width: 100%;
  }

  .tour-single__hero,
  .service-detail__hero,
  .vehicle-single__head {
    margin-top: 12px;
  }

  .tour-single__hero-inner.container,
  .service-detail__hero-inner.container,
  .vehicle-single__head > .container,
  .vehicle-single__gallery-section > .container {
    padding-right: 18px;
    padding-left: 18px;
  }

  .tour-single__breadcrumb {
    left: 18px;
  }

  .vehicle-single__gallery-section {
    padding-bottom: 18px;
  }

  .tour-single__mobile-bar {
    position: fixed;
    z-index: 1400;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 11px 16px max(11px, env(safe-area-inset-bottom));
    border-top: 1px solid #D9E3E8;
    background: #fff;
    box-shadow: 0 -10px 28px rgba(20, 45, 58, .12);
  }

  .tour-single__mobile-bar div {
    display: grid;
  }

  .tour-single__mobile-bar small {
    color: #73828E;
    font-size: 8px;
  }

  .tour-single__mobile-bar strong {
    color: var(--tour-orange);
    font-size: 18px;
  }

  .tour-single__mobile-bar button {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 0 18px;
    border: 0;
    border-radius: 6px;
    background: var(--tour-green);
    color: #fff;
    font-size: 11px;
    font-weight: 850;
  }
}

/* Mobile app-style service navigation. */
.mobile-service-nav,
.mobile-service-sheet {
  display: none;
}

@media (max-width: 760px) {
  :root {
    --mobile-service-nav-height: 68px;
  }

  body {
    padding-bottom: calc(var(--mobile-service-nav-height) + env(safe-area-inset-bottom));
  }

  body.mobile-service-sheet-open {
    overflow: hidden;
  }

  .mobile-service-nav {
    position: fixed;
    z-index: 1500;
    right: 0;
    bottom: 0;
    left: 0;
    height: calc(var(--mobile-service-nav-height) + env(safe-area-inset-bottom));
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    padding: 5px 4px env(safe-area-inset-bottom);
    border-top: 1px solid #DCE4EC;
    background: rgba(255, 255, 255, .98);
    box-shadow: 0 -8px 26px rgba(7, 31, 61, .12);
  }

  .mobile-service-nav__item {
    position: relative;
    min-width: 0;
    min-height: 58px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 2px;
    padding: 1px 2px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #617184;
    text-align: center;
  }

  .mobile-service-nav__item > .fi {
    width: 28px;
    height: 28px;
    font-size: 20px;
  }

  .mobile-service-nav__item > span {
    width: 100%;
    min-height: 23px;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    overflow-wrap: anywhere;
    font-size: 10px;
    font-weight: 750;
    line-height: 1.15;
  }

  .mobile-service-nav__item.is-active,
  .mobile-service-nav__item[aria-expanded="true"] {
    color: var(--blue);
  }

  .mobile-service-nav__item.is-active::before,
  .mobile-service-nav__item[aria-expanded="true"]::before {
    content: "";
    position: absolute;
    top: -5px;
    right: 22%;
    left: 22%;
    height: 3px;
    border-radius: 0 0 3px 3px;
    background: var(--orange);
  }

  .mobile-service-sheet {
    position: fixed;
    z-index: 1800;
    inset: 0;
    display: block;
    visibility: hidden;
    pointer-events: none;
  }

  .mobile-service-sheet.is-open {
    visibility: visible;
    pointer-events: auto;
  }

  .mobile-service-sheet__backdrop {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: rgba(4, 20, 39, .48);
    opacity: 0;
    transition: opacity .22s ease;
  }

  .mobile-service-sheet.is-open .mobile-service-sheet__backdrop {
    opacity: 1;
  }

  .mobile-service-sheet__panel {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    max-height: 78vh;
    max-height: min(78dvh, 680px);
    display: flex;
    flex-direction: column;
    padding: 0 14px calc(14px + env(safe-area-inset-bottom));
    border-radius: 8px 8px 0 0;
    background: #fff;
    box-shadow: 0 -18px 50px rgba(4, 30, 63, .2);
    outline: 0;
    transform: translateY(100%);
    transition: transform .25s ease;
  }

  .mobile-service-sheet.is-open .mobile-service-sheet__panel {
    transform: translateY(0);
  }

  .mobile-service-sheet__handle {
    width: 42px;
    height: 4px;
    flex: 0 0 auto;
    margin: 8px auto 4px;
    border-radius: 4px;
    background: #D7DFE7;
  }

  .mobile-service-sheet__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 10px 2px 14px;
    border-bottom: 1px solid #E4EAF0;
  }

  .mobile-service-sheet__header small,
  .mobile-service-sheet__header h2 {
    display: block;
  }

  .mobile-service-sheet__header small {
    margin-bottom: 1px;
    color: #718094;
    font-size: 11px;
    font-weight: 700;
  }

  .mobile-service-sheet__header h2 {
    margin: 0;
    color: var(--navy);
    font-size: 20px;
    line-height: 1.25;
  }

  .mobile-service-sheet__close {
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 1px solid #DEE6EE;
    border-radius: 50%;
    background: #F5F8FA;
    color: var(--navy);
    font-size: 20px;
  }

  .mobile-service-sheet__content {
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 8px 0;
  }

  .mobile-service-sheet__group {
    display: grid;
  }

  .mobile-service-sheet__group[hidden] {
    display: none;
  }

  .mobile-service-sheet__group > a {
    min-height: 66px;
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) 20px;
    align-items: center;
    gap: 11px;
    padding: 8px 4px;
    border-bottom: 1px solid #EDF1F5;
    color: var(--ink);
  }

  .mobile-service-sheet__group > a > span:nth-child(2) {
    min-width: 0;
    display: grid;
  }

  .mobile-service-sheet__group strong {
    display: -webkit-box;
    overflow: hidden;
    color: var(--navy);
    font-size: 14px;
    line-height: 1.35;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .mobile-service-sheet__group small {
    margin-top: 2px;
    color: #718094;
    font-size: 11px;
    line-height: 1.3;
  }

  .mobile-service-sheet__group > a > .fi {
    justify-self: end;
    color: #8A98A8;
    font-size: 16px;
  }

  .mobile-service-sheet__icon {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 8px;
    background: #EAF5FF;
    color: var(--blue);
    font-size: 18px;
  }

  .mobile-service-sheet__icon--tour {
    background: #EAF8F1;
    color: #11875B;
  }

  .mobile-service-sheet__support {
    min-height: 54px;
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-top: 4px;
    border-radius: 8px;
    background: var(--navy);
    color: #fff;
  }

  .mobile-service-sheet__support > .fi {
    color: #78C6FF;
    font-size: 20px;
  }

  .mobile-service-sheet__support span {
    display: grid;
  }

  .mobile-service-sheet__support small {
    color: #BFD6E9;
    font-size: 10px;
    line-height: 1.25;
  }

  .mobile-service-sheet__support strong {
    font-size: 14px;
    line-height: 1.3;
  }

  .floating-contact {
    bottom: calc(var(--mobile-service-nav-height) + 12px + env(safe-area-inset-bottom));
  }

  .vehicle-single__mobile-bar,
  .tour-single__mobile-bar {
    bottom: calc(var(--mobile-service-nav-height) + env(safe-area-inset-bottom));
    padding-bottom: 10px;
  }
}

@media (max-width: 380px) {
  .mobile-service-nav__item > span {
    font-size: 9px;
  }

  .mobile-service-sheet__panel {
    padding-right: 10px;
    padding-left: 10px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mobile-service-sheet__backdrop,
  .mobile-service-sheet__panel {
    transition: none;
  }
}

/* Keep post-content images at source resolution instead of stretching small files. */
body:not(.home) .entry-content img {
  width: auto;
  max-width: 100%;
  height: auto;
  margin-right: auto;
  margin-left: auto;
  filter: none !important;
  image-rendering: auto;
  opacity: 1 !important;
}

body:not(.home) .entry-content figure {
  max-width: 100%;
  margin-right: 0;
  margin-left: 0;
  text-align: center;
}

/* Public form captcha and asynchronous submission feedback. */
.form-captcha {
  max-width: 100%;
  margin-top: 16px;
  overflow: hidden;
}

.booking-form .form-captcha {
  grid-column: 1 / -1;
  margin-top: 4px;
}

.form-captcha iframe {
  max-width: 100%;
}

.form-submit-popup {
  width: min(420px, calc(100vw - 32px));
  max-width: none;
  margin: auto;
  padding: 0;
  overflow: visible;
  border: 0;
  background: transparent;
  color: var(--ink);
}

.form-submit-popup::backdrop {
  background: rgba(4, 30, 63, .64);
  backdrop-filter: blur(3px);
}

.form-submit-popup__panel {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-height: 280px;
  padding: 36px 30px 30px;
  border: 1px solid rgba(255, 255, 255, .7);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 28px 80px rgba(4, 30, 63, .3);
  text-align: center;
  opacity: 0;
  transform: translateY(12px) scale(.98);
  transition: opacity .18s ease, transform .18s ease;
}

.form-submit-popup.is-open .form-submit-popup__panel {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.form-submit-popup__icon {
  position: relative;
  width: 68px;
  height: 68px;
  margin-bottom: 22px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #E9F4FC;
  color: var(--blue);
  font-size: 31px;
}

.form-submit-popup__spinner {
  width: 42px;
  height: 42px;
  border: 4px solid #CBE3F5;
  border-top-color: var(--blue);
  border-radius: 50%;
  animation: form-submit-spin .8s linear infinite;
}

.form-submit-popup__icon > .fi {
  display: none;
  line-height: 1;
}

.form-submit-popup.is-success .form-submit-popup__icon {
  background: #E8F7EF;
  color: #148653;
}

.form-submit-popup.is-error .form-submit-popup__icon {
  background: #FFF0EE;
  color: #C83D32;
}

.form-submit-popup.is-success .form-submit-popup__spinner,
.form-submit-popup.is-error .form-submit-popup__spinner {
  display: none;
}

.form-submit-popup.is-success .form-submit-popup__icon .fi-rr-check,
.form-submit-popup.is-error .form-submit-popup__icon .fi-rr-cross-small {
  display: block;
}

.form-submit-popup h2 {
  margin: 0;
  color: var(--navy);
  font-size: 23px;
  line-height: 1.25;
}

.form-submit-popup p {
  max-width: 330px;
  margin: 10px 0 22px;
  color: #5C6C7E;
  font-size: 14px;
  line-height: 1.65;
}

.form-submit-popup .btn {
  min-width: 130px;
  min-height: 44px;
}

@keyframes form-submit-spin {
  to { transform: rotate(360deg); }
}

@media (max-width: 380px) {
  .form-captcha {
    transform: scale(.9);
    transform-origin: left top;
    width: 112%;
    margin-bottom: -8px;
  }

  .form-submit-popup__panel {
    min-height: 260px;
    padding: 30px 20px 24px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .form-submit-popup__panel {
    transition: none;
  }

  .form-submit-popup__spinner {
    animation-duration: 1.6s;
  }
}
