/* Scroll fade-up reveal — replaces the AOS library (aos.js, removed from the
   JS bundle). Markup keeps its data-aos="fade-up" attributes; a tiny
   IntersectionObserver in main.js adds .aos-animate when an element scrolls
   into view.

   Two guards prevent content from ever being stuck invisible or shifting on
   slow loads:
   - html.js is set by an inline <script> in the <head> (header.php), so
     elements are only hidden when JS is definitely running. No-JS visitors
     and bots see everything.
   - Desktop-only (min-width: 769px), matching the old AOS.init
     disable-below-768 behaviour — mobile now never hides content at all.
   Offset trimmed from AOS's 100px to 40px so the reveal reads as a fade,
   not a jump. */
@media (min-width: 769px) {
  html.js [data-aos] {
    opacity: 0;
    transform: translate3d(0, 40px, 0);
    transition: opacity .7s ease, transform .7s ease;
  }
  html.js [data-aos].aos-animate {
    opacity: 1;
    transform: translateZ(0);
  }
}
@media (prefers-reduced-motion: reduce) {
  html.js [data-aos] {
    opacity: 1;
    transform: none;
    transition: none;
  }
}
/* Swiper 11.1.9 — core + navigation module only (the site uses nav arrows and
   nothing else: no pagination, scrollbar, zoom, or effects). Sourced from the
   official modular builds (swiper.min.css + modules/navigation.min.css).
   If another Swiper feature is enabled in main.js, fetch its module CSS from
   cdn.jsdelivr.net/npm/swiper@11.1.9/modules/ and append it here. */
/**
 * Swiper 11.1.9
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2024 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: July 31, 2024
 */

@font-face{font-family:swiper-icons;src:url('data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA');font-weight:400;font-style:normal}:root{--swiper-theme-color:#007aff}:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);box-sizing:content-box}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translate3d(0px,0,0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper::before{content:'';flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper::before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper::before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:rgba(0,0,0,.15)}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}
:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{position:absolute;top:var(--swiper-navigation-top-offset,50%);width:calc(var(--swiper-navigation-size)/ 44 * 27);height:var(--swiper-navigation-size);margin-top:calc(0px - (var(--swiper-navigation-size)/ 2));z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color,var(--swiper-theme-color))}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-next.swiper-button-hidden,.swiper-button-prev.swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled .swiper-button-next,.swiper-navigation-disabled .swiper-button-prev{display:none!important}.swiper-button-next svg,.swiper-button-prev svg{width:100%;height:100%;object-fit:contain;transform-origin:center}.swiper-rtl .swiper-button-next svg,.swiper-rtl .swiper-button-prev svg{transform:rotate(180deg)}.swiper-button-prev,.swiper-rtl .swiper-button-next{left:var(--swiper-navigation-sides-offset,10px);right:auto}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:var(--swiper-navigation-sides-offset,10px);left:auto}.swiper-button-lock{display:none}.swiper-button-next:after,.swiper-button-prev:after{font-family:swiper-icons;font-size:var(--swiper-navigation-size);text-transform:none!important;letter-spacing:0;font-variant:initial;line-height:1}.swiper-button-prev:after,.swiper-rtl .swiper-button-next:after{content:'prev'}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:var(--swiper-navigation-sides-offset,10px);left:auto}.swiper-button-next:after,.swiper-rtl .swiper-button-prev:after{content:'next'}/* ============================================================
   Design tokens — single source of truth for the palette.
   Change a colour here, run deploy.sh (rebuilds bundle.css).
   ============================================================ */
:root {
  --brand:         #ff6100;  /* CTA orange */
  --text-bright:   #f9f9f9;  /* primary text on dark */
  --text-soft:     #ececec;  /* secondary text */
  --surface-card:  #161616;  /* cards, slides, package boxes */
  --surface-input: #333131;  /* form fields */
  --edge:          #2b2b2b;  /* borders on dark surfaces */
  --edge-light:    #dedede;  /* borders on light surfaces */
  --text-muted:    #979797;  /* de-emphasised text */
  --radius:        10px;     /* house corner radius (cards, images, buttons) */
  --radius-pill:   50px;     /* fully-rounded pills */
}

*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

@media (prefers-reduced-motion: no-preference) {
  :root {
    scroll-behavior: smooth;
  }
}


@font-face {
  font-family: "Gilroy";
  src: url("../fonts/GcFamily-Semibold_bkdiho.woff2") format('woff2');
  font-display: swap;
  font-weight: 600;
}


@font-face {
  font-family: "Gilroy";
  src: url("../fonts/GcFamily-Regular_e2yejt.woff2") format('woff2');
  font-display: swap;
  font-weight: 400;
}

@font-face {
  font-family: "Gilroy";
  src: url("../fonts/GcFamily-Black_mflcgm.woff2") format('woff2');
  font-display: swap;
  font-weight: 900;
}

@font-face {
  font-family: "Gilroy";
  src: url("../fonts/GcFamily-Bold_sr9vnr.woff2") format('woff2');
  font-display: swap;
  font-weight: 700;
}

@font-face {
  font-family: "Gilroy";
  src: url("../fonts/GcFamily-Medium_qmvmue.woff2") format('woff2');
  font-display: swap;
  font-weight: 500;
}


body {
  margin: 0;
  -webkit-text-size-adjust: 100%;
  font-size: 16px;
  overflow-x: hidden;
  font-family: 'Gilroy', sans-serif;
  font-weight: normal;
  color: #fff;
  letter-spacing: normal;
  background:#000;
}
body, html{overflow-x: hidden;}

hr {
  margin: 1rem 0;
  color: inherit;
  background-color: currentColor;
  border: 0;
  opacity: 0.25;
}

hr:not([size]) {
  height: 1px;
}
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
  margin-top: 0;
  margin-bottom: 0.5rem; line-height: 1.2;
  font-family: "Gilroy", sans-serif;
}
.h1, h1 { 
  font-size: 42px;
}
.h2, h2 {
  font-size: 36px; 
}
.h3, h3 {
  font-size: 30px;
}
.h4, h4 {
  font-size: 20px;
}
.h5, h5 {
  font-size: 18px;
}
.h6, h6 {
  font-size: 16px;
}
sup {
    font-size: 20px;
}
.privacy-policy-content a{color:#fff;}
a{-webkit-transition: 0.5s ease all;-o-transition: 0.5s ease all;transition: 0.5s ease all; text-decoration: none;}
p{margin-top: 0; font-size: 16px;  line-height: 1.5;  }
/* Images carry intrinsic width/height attributes so the browser reserves
   space before load (no layout shift). height:auto keeps the aspect ratio
   when CSS sets only a width; any rule that sets an explicit height wins. */
img{height: auto;}
.img-fluid{max-width: 100%; height: auto;}
.container{max-width: 1340px; width: 100%; margin-left: auto; margin-right: auto; padding-left: 20px; padding-right: 20px;}
.btn{display: inline-block;   -webkit-appearance:none; -moz-appearance:none; appearance:none; background: transparent; border: 1px solid transparent; position: relative;  font-family: "Gilroy"; -webkit-transition: 0.5s ease all; -o-transition: 0.5s ease all; transition: 0.5s ease all;  letter-spacing: 0px;  border-radius: 5px;  padding: 13.5px 15px;    font-size: 15px;line-height: 1; font-weight: 700;   text-align: center;   text-decoration: inherit; cursor: pointer;}

.btn-primary{background: var(--brand) ; color: #fff; border-color:var(--brand) ;}

.btn-primary:hover{background: transparent; color: #fff; border-color:#fff;}

.btn-primary-outline{background:transparent; border-color:#fff ; color: #fff;}
.btn-primary-outline:hover{background: var(--brand);color: #fff; border-color:transparent;}


.btn:focus{outline: none; }
sup {font-size: 10px;font-weight: bold;}

#header_wrap_wrapper{position: fixed; top:0; left:0; right:0; width:100%; z-index: 99 !important;}
.text-center{text-align: center;}
.mobile-show{display: none !important; }


.mobile-sticky-btn{display: none; position: fixed; opacity: 0; visibility:hidden; -webkit-transition: 0.5s ease all; -o-transition: 0.5s ease all; transition: 0.5s ease all; width: 100%; bottom: 0; left: 0; z-index: 20;}
.mobile-button{ display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between;}
.mobile-button .btn{width: 50%; font-size: 18px; padding: 17px 5px; border-radius: 0; font-weight: 700; gap: 0.5rem; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center;}
.mobile-button .btn-book{color: #fff;background: var(--brand); border-color:var(--brand);}
.mobile-button .btn-call{color: #fff; background: #000; border-color:#fff;}
.togle-only{display: none;}

.header__nav-button { background: transparent;width: 33px;height: 20px; border: none;-webkit-appearance: none;-moz-appearance: none;appearance: none; display: block;   -webkit-transform: rotate(0deg);   -ms-transform: rotate(0deg);   transform: rotate(0deg); }

.header__nav-button:hover, .header__nav-button:focus { outline: none; }
.header__nav-button > span {background:var(--text-bright);display: block;position: absolute;height: 2px;width: 100%; left: 0;-webkit-transform: rotate(0deg);-ms-transform: rotate(0deg);transform: rotate(0deg);-webkit-transition: 0.3s ease-in-out,; background: var(--text-bright);-webkit-transition: 0.3s ease-in-out;-o-transition: 0.3s ease-in-out;transition: 0.3s ease-in-out }
.header__nav-button > span:nth-child(1) { top: 0px; }
.header__nav-button > span:nth-child(2) {top: 50%; }
.header__nav-button > span:nth-child(3) {top: 100%; }
.open-menu .header__nav-button > span:nth-child(1) {top: 8px;-webkit-transform: rotate(135deg);-ms-transform: rotate(135deg);transform: rotate(135deg); }
.open-menu .header__nav-button > span:nth-child(2) {opacity: 0;left: -60px; }
.open-menu .header__nav-button > span:nth-child(3) {top: 8px; -webkit-transform: rotate(-135deg); -ms-transform: rotate(-135deg); transform: rotate(-135deg); }

.header-item.mobile-collapse .talk_row{display:none;}
.mobile-book-btn{display:none;}


.logo.header-item img{max-width:125px;}

/* Reset CSS ends */


.header_wrap{padding: 17px 0;  background:#000; 0.5s ease all; width: 100%; left: 0; top: 0; z-index: 99 !important;}
.header_row { display: -webkit-box; display: -ms-flexbox; display: flex;-webkit-box-pack: justify;-ms-flex-pack: justify;justify-content: space-between;-webkit-box-align: center;-ms-flex-align: center;align-items: center;}
.menu-btn {display: none;}
.header-item {display: -webkit-box;display: -ms-flexbox;display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center;}
.header_row .header-item:last-child{-webkit-box-pack: end;-ms-flex-pack: end;justify-content: flex-end; gap: 35px;}
.menu ul {
  padding: 0;
  margin: 0;
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 35px;
}
.menu li{font-size: 18px; font-weight: 600; position: relative;}

.menu li>a{color: var(--text-soft); text-decoration: none; padding: .5rem;}
.menu li>a:hover{font-weight:700;}
.nav-booknow { font-size: 18px;background: transparent;padding: 12.5px; min-width: 133px;}
a.call-head.text-end { font-size: 22px; text-align: end;line-height: 1.2;color: var(--text-bright); font-weight: 700; display: block;-webkit-box-align: center;-ms-flex-align: center;align-items: center;}
.hide-desk{display: none;}
a.call-head.text-end .fw-400.font-16 { font-size: 16px;font-weight: 400;}

a.call-head.text-end img { vertical-align: middle;}

.lang-switcher { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; max-width: 96px; }
.lang-switcher__item { font-size: 20px; text-decoration: none; padding: 4px; border-radius: 4px; transition: background 0.2s, opacity 0.2s; line-height: 1; opacity: 0.5; }
.lang-switcher__item:hover { opacity: 1; }
.lang-switcher__item.active { background: rgba(255,255,255,0.15); opacity: 1; }

 .scroll-to-fixed-fixed {
  -webkit-transition: 0.5s ease all;  width: 100%; left: 0; top: 0;
  -o-transition: 0.5s ease all;
  transition: 0.5s ease all;
  -webkit-backface-visibility: hidden;
  -webkit-box-shadow: 0px 4px 13px 0px rgba(0, 0, 0, 0.2);
  box-shadow: 0px 4px 13px 0px rgba(0, 0, 0, 0.2);
}

.review-container {display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-align: start;-ms-flex-align: start;align-items: flex-start;gap: 10px; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; margin-top: 16px;}
.rating { font-size: 33px; font-weight: 500; color: var(--text-bright); font-family: 'Gilroy';}
.review-text { font-size: 16px; color:var(--text-soft); font-weight: 600; font-family: 'Gilroy';}
.star-review { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: baseline; -ms-flex-align: baseline; align-items: baseline;  gap: 8px; margin-top: 4px;}
.review-count { font-size: 16px;color:var(--text-soft); font-weight: 600; font-family: 'Gilroy';}

.hero-banner {min-height:750px; display: -webkit-box;display: -ms-flexbox;display: flex; margin-bottom: 1rem; padding-top:105px;}
.hero-banner-row {display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-align: center;-ms-flex-align: center;align-items: center;-webkit-box-pack: justify;-ms-flex-pack: justify;justify-content: space-between;}
.hero-banner-content {width: 41.666667%; text-align: center; }
.hero-banner-img { width: 58.333333%;}
.hero-banner-img img { max-width: 100%; display: block; margin: 0 auto; border-radius: var(--radius);}
.hero-banner-content h1{ color: var(--text-bright);font-size: 52px ;letter-spacing: -1px; font-weight: 500;     margin-bottom: .5rem;}
.hero-banner-content p{    font-size: 24px;letter-spacing: -0.3px; color: var(--text-soft); margin: 0.5rem 0;}
.hero-banner-content .btn{margin-top: 25px; padding: 15px; font-size: 18px; min-width: 204px;}
.icon-text-wrap{display: -webkit-box;display: -ms-flexbox;display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -ms-flex-pack: distribute; justify-content: space-around; padding: 1.5rem;}
.icon-text-wrap>div{width: 50%; text-align: center;padding: 1rem;}
.icon-text-wrap>div .icon{margin-bottom: 16px; min-height: 67px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center;}
.hero-banner-content .icon-text-wrap p{color: var(--text-soft); margin: 0; font-size: 20px; line-height: 23px; font-weight: 500;}
.hero-banner .review-container{-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center; text-align: left;}
/* NY theme: the two hero icons are in the opposite order to LV (hero-icon2 first). */
.icon-text-wrap div:nth-child(1){display: flex; flex-wrap: wrap; justify-content: center; align-items: end;}
.icon-text-wrap div:nth-child(1) .icon img{margin-top: 25px;}
.icon-text-wrap div:nth-child(2) .icon img{max-width: 100px;}


.experience_wrap{padding-top: 27px; padding-bottom: 1.5rem;}
.experience_wrap h2{text-align: center; color: var(--text-bright) ; font-size: 42px; margin-bottom: 68px; letter-spacing: -0.3px; font-weight: 500;}
.video-wrap video { width: 100%; border-radius: var(--radius); height: auto;display: block;}
.video-wrap { position: relative; max-width:1022px; margin:auto;}
.experience_wrap .icon-text-wrap {
  display: none;
}

.package_wrap h2{text-align: center; margin-bottom: 3.5rem; font-weight: 500; color: var(--text-bright) ; font-size: 42px;}
.package_wrap .container { padding-top: 2.5rem; } /* was <br><br> in markup */
.package_row { max-width: 1024px; margin: 0 auto; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; flex-direction: column; align-items: center;} /* NY: one centred package */

.goJump-family-wrap{padding-bottom:75px;}

.single_package { border-radius: var(--radius); background: var(--surface-card); width: 80%;position: relative;}
.single_package_image img{width: 100%; height: auto; border-radius: var(--radius) var(--radius) 0 0; display: block;}
.single_package .popular-tag {left: -9px; position: absolute; top: -6px;}
.single_package_content{padding: 1.5rem; text-align: center;}
.single_package_content span.fit { border: 1px solid var(--edge-light);border-radius: 30px; width: -webkit-fit-content; width: -moz-fit-content; width: fit-content; padding: 8px 27px; font-size: 24px;font-weight: 500;display: inline-block;color: var(--text-bright); margin-bottom: 0;}
.single_package_content h4 { font-size: 30px; color: var(--text-bright); font-weight: 700; margin: 1rem 0px 12px 0px;}
.single_package_content h6 {letter-spacing: 0.5px;color: var(--text-soft);font-weight: 400;margin: 0.5rem;}
.single_package_content h6 small{font-size: 14px; font-weight: 500;}
.single_package_content .list-tick{margin: 1.5rem 0; list-style: none; padding: 0; display: flex; flex-wrap: wrap;}
.single_package_content .list-tick li {text-align: start;max-width: 320px; margin: 0 auto; font-size: 18px; color: var(--text-soft) ; letter-spacing: 0px; margin-bottom: 1rem; position: relative;padding-left: 30px; width: 50%;}
.single_package_content .list-tick li:before { content: "";background: url(../img/list-check.svg);width: 18px;height: 13px;background-position: center;background-size: cover; position: absolute;left: -1px;top: 35%;}
.single_package_content p{font-weight: 500; letter-spacing: 0.5px; color: var(--text-soft) ; margin-bottom: 0;}
.package-btn{display: none;}
.package-btn-bottom{margin: 4rem auto 1rem;max-width: 335px; width: 100%;}
.btn-group-bpc .btn{width: 100%;font-size: 20px; padding: 13px;}
.btn-group-bpc .btn-group{margin-top: 16px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between ;}
.btn-group-bpc .btn-group .btn{width: 48%;}

.unmatched-views {padding: 90px 0 150px;}
.unmatched-views-row { display: -webkit-box; display: -ms-flexbox; display: flex;-webkit-box-pack: justify;-ms-flex-pack: justify;justify-content: space-between;-webkit-box-align: center;-ms-flex-align: center;align-items: center;}
.unmatched-views-content {width: 40%;}
.unmatched-views-img { width: 60%;}
.unmatched-views-img img {border-radius: var(--radius);}
.unmatched-views-content h2 {font-size: 42px;font-weight: 500;color: var(--text-bright);margin-bottom: 2rem;} /* 2rem absorbs the <br> that followed it in markup */
.unmatched-views-content p{color: var(--text-soft); font-size: 20px; margin-bottom: 1rem;    max-width: 415px;line-height: 30px;}
.unmatched-views-content p:last-child{margin-bottom: 0;}

.returnshuttle {padding: 3rem 0;}
.returnshuttle h2 {color: var(--text-bright);font-size: 42px;font-weight: 500;text-align: center;margin: 0}
.returnshuttle-tagline {font-weight: 500;text-align: center;padding: 20px 15px 0;}
.returnshuttle-inner {background-image: url(../img/return-shuttle-bg.webp); background-repeat: no-repeat;background-size: cover;margin-top: 60px;background-position: center; padding: 260px 0px 60px 0px; margin-top: 3rem; border-radius: var(--radius);}
.shuttles-box {
  max-width: 344px;
border: 1px solid var(--text-bright);
border-radius: 15px;
background: #000;
}
.shuttles-box h4{
  border-bottom:1px solid #fff;
    font-size: 42px;
    font-weight: 500; text-align: center;
    letter-spacing: -0.3px;
    border-radius: 14px 14px 0px 0px;
    color: #fff; padding: 0.25rem;}

    .shuttles-box  ul {
      margin: 27px 50px; list-style: none; padding: 0;
   
  }
  .shuttles-box  ul li{font-size: 18px; font-weight: 500; position: relative; margin-bottom: 1rem; color:var(--text-bright);}
  .shuttles-box ul li:before {
    content: "";
    background: url(../img/location-icon.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: 17px;
    height: 21px;
    position: absolute;
    left: -30px;
    top: 5px;
}
@media (min-width: 1500px) {
  .returnshuttle-inner {
      background-size: contain;
  }
}
@media (min-width: 400px) {
  .returnshuttle-inner {
      background-position-y: 100%;
  }
}


.meet_our_team{padding: 10px 0 80px 0;}
.meet_our_team_head {text-align: center; padding-bottom: 1.5rem;}
.meet_our_team_head h2 {color: var(--text-bright);font-size: 42px;font-weight: 500;letter-spacing: -0.3px;}
.meet_our_team_head p{max-width: 880px; margin: 1rem auto;     color: var(--text-soft);font-size: 18px;font-weight: 500;}
.team-images + p{max-width: 880px; margin: 2rem auto 1rem auto;     color: var(--text-soft);font-size: 18px;font-weight: 500;}

.team-images{display: -webkit-box;display: -ms-flexbox;display: flex; gap:25px; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center;}
.team-images img{border-radius: var(--radius); width: 22%;}
.team-images img:first-child{width: 51%;}


.faq_wrap{padding-bottom: 48px; }
.faq_head{text-align: center;}
.faq_head h2{ color: var(--text-bright); margin-bottom: 0.5rem; font-size: 42px; font-weight: 500; letter-spacing: -0.3px;}
.faq_head p{color: var(--text-soft);font-size: 18px;font-weight: 500; letter-spacing: 0.05px;}
#accordion{margin: 48px auto; max-width: 979px;}
#accordion h3{ color: var(--text-soft); font-size: 20px; font-weight: 500; padding: 20px 0px; border-bottom: 1px solid var(--edge-light); border-radius: 0px; padding-right: 8%; }
#accordion p{ color: var(--text-soft); font-size: 16px; font-weight: 500;  line-height: 28px;  max-width: 863px; }
.faq h3{position: relative;cursor: pointer;}
.faq h3:after { content: "";background: url(../img/faqplus.svg) no-repeat;background-size: contain; width: 33px; height: 33px;  position: absolute; top: 15px; right: 4%;}
.faq h3.active:after {background: url(../img/faq-minus.svg) no-repeat; background-size: contain;}
.faq .content { padding: 10px; display: none;}

.gojump-family-head { display: -webkit-box; display: -ms-flexbox; display: flex;-webkit-box-pack: justify;-ms-flex-pack: justify;justify-content: space-between;margin-bottom: 3rem;}
.gojump-family-head .heading h3{    color: var(--text-bright); font-size: 42px;font-weight: 500; letter-spacing: -0.3px; margin-bottom: 0.5rem;}
.gojump-family-head .heading p{ color: var(--text-soft); font-size: 18px;font-weight: 500; margin: 0.5rem 0;}
.social-connect h5{ color: var(--text-soft); font-size: 20px; text-align: right; font-weight: 500; margin: 0 0 0.5rem 0;}
.social-connect ul{margin-bottom: 1rem; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; list-style: none; padding: 0; gap: 1.5rem;}
.gojump-family-row {display: -webkit-box;display: -ms-flexbox;display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap;-webkit-box-pack: justify;-ms-flex-pack: justify;justify-content: space-between; margin:0 -7.5px;}
.family-img {display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-orient: vertical;-webkit-box-direction: normal; row-gap:15px; flex-wrap: wrap;}
.family-img img{width:100%; border-radius: var(--radius);}
.f-img{width:33.33%; padding:0px 7.5px;}
/* .family-img img.h-100{height: 100%;}
.family-img img {width: 100%;display: block;} */

.gojump_experience_wrap {padding: 75px 0;}
.gojump_experience_head{text-align: center; margin-bottom: 3rem; }
.gojump_experience_head h2{ color: var(--text-bright);font-size: 42px; line-height: 1.2; font-weight: 500;letter-spacing: -0.3px; margin-bottom: 1rem;}
.gojump_experience_head p{color: var(--text-soft);font-size: 18px;font-weight: 500;}

.gojump_experience_review_row {max-width: 960px; border-radius: 12px;margin: 0 auto;display: -webkit-box;display: -ms-flexbox;display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-direction: row; flex-direction: row; -webkit-box-align: center; -ms-flex-align: center; align-items: center; background: var(--surface-card);border-radius: var(--radius);}
.gojump_experience_review_wrap {display: -webkit-box;display: -ms-flexbox;display: flex;-ms-flex-wrap: wrap;flex-wrap: wrap;gap: 75px;}
.gojump_experience_review_image {width: 45%;}
.gojump_experience_review_image img { width: 100%; height: 100%; border-radius: var(--radius);}
.gojump_experience_review_content { width: 55%; padding: 0px 35px 0px 50px;}
.gojump_experience_review_content .review-container {-webkit-box-pack: start;-ms-flex-pack: start;justify-content: flex-start; margin-bottom: 1rem;}
.gojump_experience_review_content h3 {font-size: 26px;font-weight: 500; color: var(--text-bright); margin-bottom: 0.5rem;}
.gojump_experience_review_content p { color: var(--text-soft); font-size: 18px; font-weight: 500;letter-spacing: 0.1px;}
/* ™ reads as oversized at heading sizes. Half size, nudged up so it does not
   drop toward the baseline as it shrinks. Wrapped by tm() in
   includes/format.php, not stored in the translation strings. */
.tm { font-size: 50%; vertical-align: 0.55em; line-height: 0; }
/* Only the GoSky row carries a button (it is the one entry with its own
   site). The section sits on a dark panel, so btn-primary-outline — white
   border, orange on hover — is the variant that belongs here. */
.gojump_experience_review_content .btn { margin-top: 1.25rem; }

.skilled_head {text-align: center; margin-bottom: 6.5rem;}
.skilled_head h2{color: var(--text-bright);font-size: 42px;font-weight: 500; letter-spacing: -0.3px; margin-bottom: 0.5rem; line-height: 1.2;}
.skilled_head p{max-width: 976px; color: var(--text-soft); margin: 0 auto 1rem; letter-spacing: 0.05px;}
.skilled_row {display: -webkit-box;display: -ms-flexbox;display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; margin-bottom: 54px; padding: .5rem; position: relative;}
.skilled_row:before {content: ""; width: 66%;height: 4px;background: var(--text-bright);position: absolute; right: 0; left: 0; margin: auto; top: -32px;}

.skillied_icon_text {width: 33.33%;display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-align: center;-ms-flex-align: center;align-items: center; padding: 0 15px;gap: 22px;-webkit-box-flex: 0;position: relative;}
.skillied_icon_text .text h6 {color: var(--text-bright);font-size: 26px;font-weight: 500;}

.skillied_icon_text .text p {font-size: 20px;color: var(--text-soft); font-weight: 500;margin: 0;}
.skillied_icon_text::before {content: "";width: 18px;height: 18px;border-radius: var(--radius-pill);position: absolute;top: -47px; background:var(--edge-light);left: 0px;right: 0; margin: auto;}
.skillied_icon_text .icon { width: 69px; min-width: 69px;}
.skillied_icon_text .text {width: 100%;}

.skilled_images {display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-pack: justify;-ms-flex-pack: justify;justify-content: space-between;gap: 25px;overflow-x: auto;margin-bottom: 3rem;}

.skilled_images img {
  border-radius: var(--radius);
  /* Explicit 3-across sizing: the flex row must not depend on the images'
     intrinsic width (min-width:auto would stop them shrinking and trigger
     the overflow-x scrollbar once larger sources are served). */
  width: calc((100% - 50px) / 3);
  min-width: 0;
  max-width: 416px;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
}


/* Footer css*/
.footer_wrap {padding: 30px 0 27px; text-align: center;}
.footer-logo img{max-width:150px;}
/* NY theme: extra space above the footer on the pricing page (live body class page-id-263). */
.page-id-263 .footer_wrap{padding-top:80px;}
.footer-logo h6{margin: 20px 0; font-size: 24px; font-weight: 600; color: var(--text-bright);}
.footer-logo img{margin: 0 auto;}
.footer-link-btn{max-width: 335px; margin: 60px auto 0;}
.footer-link-btn .btn{width: 100%;font-size: 20px; padding: 13px;}
.footer-link-btn .btn-group{margin-top: 16px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between ;}
.footer-link-btn .btn-group .btn{width: 48%;}
.footer-bottom {margin-top: 90px;}
.footer-bottom ul{display: -webkit-box;display: -ms-flexbox;display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; padding: 0; list-style: none; gap: 30px; margin: 0;}
.footer-bottom ul li{font-size: 14px;}
.footer-bottom ul li a{color: var(--text-soft);}
.footer-bottom-row { display: -webkit-box; display: -ms-flexbox; display: flex;-webkit-box-pack: justify;-ms-flex-pack: justify;justify-content: space-between; }
.footer-bottom-row p{font-size: 16px;color: var(--text-soft); margin: 0;}
.footer-bottom-row p b{font-weight: 600;}


/* Pricing page css*/
.pricing_banner {background: #000; padding-top: 100px;}
.pricing_banner_row { display: -webkit-box; display: -ms-flexbox; display: flex;-webkit-box-pack: justify;-ms-flex-pack: justify;justify-content: space-between;-webkit-box-align: center;-ms-flex-align: center;align-items: center;}
.pricing_banner_img {width: 50%;}
.pricing_banner_img img {border-radius: var(--radius); width: 100%;}
.pricing_banner_content {width: 50%;padding: 10px 15px 1.5rem; text-align: center;}
.pricing_banner_content h1 { color: var(--text-bright);font-size: 52px; letter-spacing: -1px; font-weight: 500;}
.pricing_banner_content p {color: var(--text-soft); font-size: 24px; font-weight: 500; margin-bottom: 1.5rem;}
.pricing_banner_content .btn {font-size: 18px;padding: 16px 60px;}

.pricehero { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: center; margin-bottom: 1.5rem; margin-top: 1.5rem;}
.price_box {width: 55%; border: 1px solid var(--edge); border-radius: 15px;padding: 1.5rem 1rem 1rem;}
.price_box h4 {font-size: 26px;color: var(--text-soft);font-weight: 500;margin-bottom: 1rem;}

.price_box_inner>div { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: center; border-bottom: 1px solid var(--edge-light); -webkit-box-align: center; -ms-flex-align: center; align-items: center; margin-bottom: 0.5rem;}

.pricing_banner_content .price_box_inner>div p {font-size: 20px; text-align: left; margin: 0 0 0.5rem 0;}

.pricing_banner_content .price_box_inner>div p span {color: var(--text-bright);font-weight: 700;}

.pricing_banner_content .price_box_inner>div p small {font-size: 16px; padding-left: 1px; font-weight: 400;}

.price_box_inner>div:last-child { border: none;margin: 0;}

.price_box_inner .big_price { font-size: 42px;font-weight: 400; color: #fff;}


.featured_wrap{padding-top: 3rem;}
.featured_wrap .container{display: -webkit-box;display: -ms-flexbox;display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; gap: 3rem;}
.featured_row { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
.featured_img { width: 60.5%;}
.featured_content { width: 57.5%; padding-left: 3%}
.featured_img video {height: 100%;min-height: 486px;-o-object-fit: cover;object-fit: cover; width: 100%; border-radius: var(--radius);}
.featured_content h3 { color: var(--text-bright); font-size: 30px; font-weight: 400;}

.featured_content p {color: var(--text-soft);font-size: 20px;font-weight: 400;margin-bottom: 1rem;}

.featured_content ul { margin: 0; padding: 0; list-style: none; margin-bottom: 1rem;}

.featured_content ul li {padding-left: 1rem;font-size: 20px;color: var(--text-soft);margin-bottom: 0.5rem;position: relative;}
.featured_content ul li:before {content: "";width: 8px;height: 8px;background: var(--text-bright); border-radius: var(--radius-pill); position: absolute; left: 0; top: 7px;}
.feat_price { max-width: 420px;}
.feat_price>div {width: 100%;display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-pack: justify;-ms-flex-pack: justify;justify-content: space-between;border-bottom: 1px solid var(--edge-light);margin-bottom: 0.5rem; -webkit-box-align: center; -ms-flex-align: center; align-items: center;}
.feat_price>div:last-child {border: none;}
.feat_price>div h6 {font-size: 24px; font-weight: 600; color: var(--text-soft); margin: 0;}
.feat_price>div h5 { font-size: 42px; color:#fff;font-weight: 500;}

/* "Experience together" (pricing page, LV only — neither gojump-hawaii nor
   gojump-oceanside renders this section). The stylesheet inherited from
   gojump-hawaii carries only the max-width:767px overrides for it, so the
   cards had a width but no row to sit in and fell into a narrow left-aligned
   column with no card chrome. Built here on the parent's two-up card idiom
   (.package_row / .single_package) and tokens, not the old WordPress
   theme's values. */
.experience_together_wrap{padding-top: 3rem; padding-bottom: 3rem;}
.experience_together_wrap h2{text-align: center; color: var(--text-bright); font-size: 42px; font-weight: 500; letter-spacing: -0.3px;}
.experience_together_row{max-width: 841px; margin: 3rem auto 0; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between;}
.experience_card{width: 47.4%; background: var(--surface-card); border: 1px solid var(--edge); border-radius: var(--radius); padding: 1.5rem 0;}
.experience_card img{display: block; margin: 0 auto;}
.experience_card h6{font-size: 30px; font-weight: 500; color: var(--text-bright); text-align: center; margin: 1rem 0;}
.experience_card p{font-size: 18px; color: var(--text-soft); text-align: start; border-bottom: 1px solid var(--edge); padding: 0 1.5rem 10px; margin-bottom: 10px;}
.experience_card p:last-child{border: none;}


.talk_row {max-width: 464px;margin: 0 auto;display: -webkit-box;display: -ms-flexbox;display: flex;gap: 40px;}
.talk_box {width: 50%; border: 1px solid rgba(192, 192, 192, 0.45); border-radius: 0.25rem; text-align: center; padding:15px 10px;}

.talk_box h6 { color: var(--text-soft); font-size: 20px; font-weight: 400; margin-top: 1rem;}
.talk_box:hover{text-decoration: none;}


.contact_banner {
   padding-top: 100px;
}

.contact_banner_row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}

.contact_banner_img {
  width: 50%;
}
.contact_banner_img img {border-radius: var(--radius);}

.contact_banner_content {
  width: 50%;
  padding: 1.5rem 1rem 1.5rem 0;
  text-align: center;
}

.contact_banner_content h1 {
  font-size: 52px;
  color: var(--text-bright);
  font-weight: 500;
  letter-spacing: -1px;
  /* Desktop only: drop the heading a line so it is not jammed under the
     sticky header. The <=767px block below resets padding wholesale, so
     mobile keeps its own spacing and is unaffected by this. */
  padding-top: 3.5rem;
}

.contact_banner_content p {color: var(--text-soft);
  font-size: 24px;
  font-weight: 500;
  letter-spacing: 0px;
}

.contact_banner_content .talk_row {
  max-width: 100%;
  gap: 25px; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center;
  margin-top: 3rem;
}

.contact_banner_content .talk_row .talk_box {
  width: 100%; position: relative;
  padding: 1rem 0.25rem;
  background-color:transparent;
}
.contact_banner_content .email-popup p {
  margin: 0;
  font-size: 14px;
}
.email-popup button {
  margin-top: 10px;
  padding: 5px 10px;
  background-color:#000;
  color: white;
  border: none;
  border-radius: 3px;
  cursor: pointer;
}
.email-popup::after {
  content: "";
  position: absolute;
  bottom: -10px;
  left: 50%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-top: 10px solid var(--text-bright);
}
.contact_banner_content .talk_row .talk_box h6 {
  margin-bottom: 1rem;
}
.email-popup {
  display: none;
  position: absolute;
  top: -120%;
  left: 0;
  padding: 10px;
  background-color:var(--surface-card);
  border: 1px solid var(--edge);
  border-radius: 5px;
  -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
          box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  z-index: 1000;
}

.contact-wrap{padding-top: 3rem; padding-bottom: 3rem;}
.contact-row {display: -webkit-box;display: -ms-flexbox;display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between}
.contact-form-section-left { width: 50%;}

.contact-form-section-left h4{color: var(--text-bright); font-size: 42px; font-weight: 500;  letter-spacing: -0.3px;}

.contact-form-section-right {width: 50%; padding: 0 15px;}
.contact-form .form-outline {
  margin-bottom: 1.5rem;
}

/* Cloudflare Turnstile: flexible mode spans the form width; round the
   iframe to match .form-control so the widget reads as another form field.
   The iframe interior is Cloudflare's — only size/spacing are ours. */
.cf-turnstile { margin-bottom: 1rem; }
.cf-turnstile iframe { border-radius: .25rem; }

.form-control {
  display: block;
  width: 100%;
  padding: .375rem .75rem;
  font-size: 1rem;
  line-height: 1.5;
  color: #fff;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid var(--edge-light);
  border-radius: .25rem;
  -webkit-transition: border-color .15s ease-in-out, -webkit-box-shadow .15s ease-in-out;
  transition: border-color .15s ease-in-out, -webkit-box-shadow .15s ease-in-out;
  -o-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
  transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
  transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out, -webkit-box-shadow .15s ease-in-out;
}
.contact-form input {
  border-radius: var(--radius-pill);
  padding: 13px;
  background:var(--surface-input);
  border: 1px solid transparent;
  width: 100%;
}

.contact-form form p{
  text-align: center;
}

.contact-form input::placeholder{
  color:#fff;
}

/* .contact-form input[type='submit']{
  background: var(--brand);
    color: #fff;
    border-color: var(--brand);
}

.contact-form input[type='submit']:hover{
  background:transparent;
  border-color:#fff;
} */
/* .contact-form input::placeholder{color:var(--text-soft);} */
.contact-form textarea {
  border-radius: 14px;
  padding: 13px;
  background:var(--surface-input);
  border: none;
  resize: vertical;
  height:135px;
  font-family: 'Gilroy', sans-serif;
  width: 100%;
}
.contact-form textarea::placeholder{
  font-size: 1rem;
  font-weight: 400;
  color: #fff;
}
.contact-form .form-control:focus {
  -webkit-box-shadow: none;
          box-shadow: none; outline: none;
  outline: none;

}
.contact-form button , .contact-form .btn  {
  font-size: 18px ;
  font-weight: 700;
  width: 100%;
  padding: 18px 12px;
  border-radius: var(--radius);
}

.contact-form .btn:not(.btn-primary) {
  background: transparent;
  border-color: #fff;
}

/* The submit is <input type="submit" class="btn btn-primary">, so
   `.contact-form input` (0,1,1) above outranks the global `.btn-primary`
   (0,1,0) and the button rendered as a grey block identical to the text
   fields. The `:not(.btn-primary)` rule above can never match it either.
   Restate the brand fill at a specificity that actually wins. */
.contact-form .btn.btn-primary {
  background: var(--brand);
  border-color: var(--brand);
  color: #fff;
}
.contact-form .btn.btn-primary:hover {
  background: transparent;
  border-color: #fff;
}


.contact-form button:hover ,  .contact-form .btn:hover{
  background: var(--brand);
  border-color: var(--brand);
}

.email-popup button svg {
  width: 12px;
}

.email-popup button svg path {
  fill: #fff;
}

.contact-form-section-right h4 {
  color: var(--text-bright);
  font-size: 42px;
  font-weight: 500;
  letter-spacing: -0.3px;
  text-align: center;
}
.contact-form-section-right>div{max-width: 540px; margin: 0 auto;}
.contact_box {
  max-width: 100%;
  margin: 0 auto;
  border: 1px solid var(--edge);
  padding: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  border-radius: var(--radius);
  margin-top: 1.5rem;
}
.contact_box h6 {
  font-size: 18px;
  font-weight: 600;
  color: var(--text-soft);
  margin-bottom: 0.25rem;
}
.contact_box p {
  font-size: 18px;
  font-weight: 500;
  color: var(--text-soft);
  margin-bottom: 0.25rem;
}
.contact_box p.f16{font-size: 16px;}
.contact_box  .link {
  font-size: 16px;
  display: inline-block;
  font-weight: 700;
  color: var(--text-bright);
  margin-top: 1rem;
}

.privacy-policy-content-wrap {
  padding: 100px 0px 70px 0px;
}
.privacy-policy-content h1 {
  font-size: 52px;
}

.privacy-policy-content h3{
  font-size:22px;
  font-weight:700;
  margin-bottom:15px;
}

.privacy-policy-content h4{
  font-size:20px;
  font-weight:600;
}

.privacy-policy-content p{
  color: var(--text-soft);
  font-weight:500;
  font-size:18px;
}

.privacy-policy-content ul{
  padding-left: 20px;
}

.privacy-policy-content ul li{
  list-style: disc;
    margin-bottom: 15px;
    color: var(--text-soft);
    font-weight:500;
    font-size:18px;
}

@-webkit-keyframes pulse_animation {
  0% {
    -webkit-box-shadow: 0 0 rgb(0 152 51 / 59%);
            box-shadow: 0 0 rgb(0 152 51 / 59%);
  }
  100% {
    -webkit-box-shadow: 0 0 0 4px rgb(0 152 51 / 25%);
            box-shadow: 0 0 0 4px rgb(0 152 51 / 25%);
  }
}

@keyframes pulse_animation {
  0% {
    -webkit-box-shadow: 0 0 rgb(0 152 51 / 59%);
            box-shadow: 0 0 rgb(0 152 51 / 59%);
  }
  100% {
    -webkit-box-shadow: 0 0 0 4px rgb(0 152 51 / 25%);
            box-shadow: 0 0 0 4px rgb(0 152 51 / 25%);
  }
}
/* Reserve the Cloudflare Turnstile widget's height (65px iframe) before its
   async script injects it, so the Send button below doesn't jump down. The
   div only exists in production (TURNSTILE_SITEKEY set). */
.cf-turnstile{min-height:65px;}
.contact-online-btn {
  font-size: 12px;
  color: #fff;
  padding: 6px 28px;
  border: 1px solid #fff;
  border-radius: var(--radius-pill);
  gap: 10px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content; margin-top: 1.5rem; display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center;
}
.contact-online-btn span {
  width: 6px;
  height: 6px;
  border-radius: 100%;
  background: #fff;
  display: block;
  -webkit-animation: pulse_animation 1.3s infinite;
          animation: pulse_animation 1.3s infinite;
}


@media (max-width: 1255px) {
.header_row .header-item:last-child{gap:10px;}

.pricehero{-ms-flex-wrap: wrap;flex-wrap: wrap; gap: 15px;}
.price_box{width: 100%;}

}
@media (max-width: 1035px) {
.header_row .header-item:last-child{-webkit-box-pack: end;-ms-flex-pack: end;justify-content: flex-end; gap: 20px;}
.menu ul{gap:20px}
}
@media (max-width: 1024px) {
.hero-banner-content h1{font-size: 40px;}
.hero-banner-content p{font-size: 18px;}
.hero-banner-content .icon-text-wrap p{font-size: 16px;}

}
@media (max-width: 1100px) {
  .menu li::before{
    content: url('/assets/img/menu-arrow.png');
    margin-right: 10px;
    display: inline-block;
    position: absolute;
    right:10px;
    top: 0px;
    top: 50%;
    transform: translateY(-50%);
    }
.header-item.mobile-collapse .talk_row .talk_box{width:40%;  padding: 13px 5px; position: relative;} 
.header-item.mobile-collapse .talk_row {flex-wrap:wrap; justify-content: center; gap:20px; margin-top:25px; margin-bottom:25px;}
.header-item.mobile-collapse .talk_row .talk_box h6{margin-top:10px; margin-bottom:0px; font-size:16px;}
.header-item.mobile-collapse .talk_row .talk_box .email-popup p{color: var(--text-soft);font-size: 14px;margin: 0;}

.header-item.mobile-collapse .talk_row{display:flex;}
.mobile-book-btn{display:block;}

  .header_row{-ms-flex-wrap: wrap;flex-wrap: wrap;}
  .header_wrap{padding: 10px 0; position: relative;}
  .open-menu header.header_wrap.scroll-to-fixed-fixed {
    -webkit-box-shadow: none;
            box-shadow: none;
            background-color:rgba(22, 22, 22, 1);
    }
.mobile-book-btn{ display: flex; flex-direction: column; align-items: center; gap: 14px; padding: 10px 0 4px; }
.mobile-book-btn .btn{ min-width: 212px; padding: 17.5px 15px; }

.header_wrap:has(.header-item.open) {
  background-color: rgba(22, 22, 22, 1); 
}

.togle-only{display: block;}
.menu-btn{display: -webkit-box;display: -ms-flexbox;display: flex; -webkit-box-flex: 1; -ms-flex: 1 0 0px; flex: 1 0 0;}
.nav-booknow, a.call-head.text-end{display: none;}
.header_row .header-item:last-child{-webkit-box-flex: 1;-ms-flex: 1 0 0px;flex: 1 0 0; -webkit-box-align: center; -ms-flex-align: center; align-items: center;}
.hide-desk{display: -webkit-box;display: -ms-flexbox;display: flex;     -webkit-box-flex: 1;     -ms-flex: 1 0 0px;     flex: 1 0 0; -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end;}
.header-item.mobile-collapse {display: block;pointer-events: none; opacity: 0; visibility: hidden; -webkit-transform: translateY(-100%); -ms-transform: translateY(-100%); transform: translateY(-100%); width: 100%; -webkit-box-shadow: 0px 12px 13px 0px rgba(0, 0, 0, 0.2); box-shadow: 0px 12px 13px 0px rgba(0, 0, 0, 0.2); background: var(--text-bright); -webkit-transition: 0.5s ease all; -o-transition: 0.5s ease all; transition: 0.5s ease all; width: 100%; position: absolute;left: 0; padding: 0 20px 48px 20px; top: 100%; max-height: calc(100vh - 70px); max-height: calc(100dvh - 70px); overflow-y: auto; -webkit-overflow-scrolling: touch; }
.header-item.mobile-collapse.open{-webkit-transform: none;-ms-transform: none;transform: none; opacity: 1; visibility: visible; pointer-events: inherit; background-color:rgba(22, 22, 22, 1);}
.header-item.mobile-collapse .lang-switcher { max-width: none; justify-content: center; gap: 16px; padding: 20px 0 8px; border-top: 1px solid rgba(255,255,255,0.1); margin-top: 16px; }
.header-item.mobile-collapse .lang-switcher__item { font-size: 26px; padding: 6px; }
.menu ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-direction: column;
  gap: 0;
}
.menu li {
  width: 100%;
  padding: 0 20px;
  border-left: 2px solid transparent;
  position: relative;
  background: rgba(134, 134, 134, 0.1);
  border: 1px solid rgba(134, 134, 134, 0.1);
}

.menu li:hover {
  border-left-color: var(--text-bright);
}

.navbar-nav .menu li::before {
  content: url(../img/nav-arrow.png);
  position: absolute;
  right: 20px;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
}
.menu li>a {
  color: var(--text-bright) ; display: block;
  padding: 19px 0px;
 
}
.m-center-icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  text-align: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center;
  width: 100%; -webkit-box-align: center; -ms-flex-align: center; align-items: center;
  padding: 10px 20px; gap:1rem;
}
.m-center-icon a{padding: 1rem 0 0;}
.m-center-icon img {
  display: block;
}
.pricing_banner_row{-webkit-box-orient: vertical;-webkit-box-direction: reverse;-ms-flex-direction: column-reverse;flex-direction: column-reverse;}
.pricing_banner_img{width: 100%;}
.pricing_banner_content{padding: 1.5rem 0; width: 100%;}

.price_box {
  width: calc(50% - 10px);
}

.contact_banner_img{width: 100%;}
.contact_banner_content{width: 100%;}
.contact_banner_row{-webkit-box-orient: vertical;-webkit-box-direction: reverse;-ms-flex-direction: column-reverse;flex-direction: column-reverse;}

}
@media (max-width: 767px) {
  .footer-logo img{max-width:200px;} /* NY theme */
    .announcement-bar p b{display: block;}
    .skilled_wrap{padding-bottom:20px;}
  .goJump-family-wrap{padding-bottom:0px;}
  .hero-banner{padding-top:82px;}
  .contact_banner{padding-top:80px;}
  .pricing_banner{padding-top:80px;}
  .logo.header-item img {
max-width: 110px;}
  .top-logo img{max-width: 140px;}
  .top-header-wrap .btn{padding: 13.5px 12px;}
  .hero-banner{min-height: auto;}
  .hero-banner .container{padding: 0;}
  .hero-banner-row{-ms-flex-wrap: wrap;flex-wrap: wrap; -webkit-box-orient: vertical; -webkit-box-direction: reverse; -ms-flex-direction: column-reverse; flex-direction: column-reverse;}
  .hero-banner-img{width: 100%; position: relative; overflow: hidden; border-radius: var(--radius);}
  .hero-banner-img img {position: absolute;top: 0; left: 0;height: 100%;-o-object-fit: cover;object-fit: cover;-o-object-position: center;object-position: center; width: 100%; border-radius: var(--radius);}
  .hero-banner .icon-text-wrap{display: none;}
  .hero-banner  .review-container{display: none;}
  .hero-banner-content{width: 100%; padding: 1.5rem;}
  .hero-banner-content h1{font-size: 32px; margin-bottom: 14px;}
  .hero-banner-content p{display: none;}
  .hero-banner-content .btn{margin-top: 0; font-size: 16px;min-width: 160px; padding: 11px;}

  .experience_wrap h2{font-size: 26px; margin-bottom: 16px;}
  .experience_wrap .icon-text-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; padding: 0.5rem 0; margin-top: 1rem;
}
.experience_wrap .icon-text-wrap p{margin-bottom: 0;}
.icon-text-wrap>div{padding: 0.5rem;}

  .package_wrap h2{font-size: 26px; margin-bottom: 1.5rem;}
  .package-btn-bottom{display: none;}
  .package-btn{display: block; max-width: 240px; margin: 1.5rem auto 0;}
  .package_row{gap: 30px;}
  .single_package{width: 100%;}
  .single_package_content{padding: 30px 10px;}
  .btn-group-bpc .btn{font-size: 18px;}
  .single_package_content .list-tick li{font-size: 16px; width: 100%;}
  .single_package~.single_package   .single_package_content  p{padding: 0 3rem;}

  .faq_wrap{padding-bottom: 1.5rem;}
  .faq_head h2{font-size: 26px;}
  .faq_head p{font-size: 16px; line-height: 28px;}
  #accordion{margin-top: 0.5rem; margin-bottom: 0.5rem;}
  #accordion h3{font-size: 18px; line-height: 137%; padding-right: 54px;}
  #accordion p{font-size: 14px; line-height: 22px;}
  #accordion h3:nth-last-child(2) {
    border-bottom: 0px !important;
}
  .mobile-show{display: block !important;}
  .desk-show{display: none !important;}
  .footer_wrap {padding-bottom: 80px;}
  .footer-link-btn{margin-top: 20px; max-width: 240px;}
  .footer-bottom{margin-top: 50px;}
  .footer-bottom-row{-ms-flex-wrap: wrap;flex-wrap: wrap; justify-content: center;}
  .footer-bottom ul{width: 100%;-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center; margin-bottom: 20px;}
  .footer-bottom-row p{text-align: center; width: 100%;}
  .footer-link-btn .btn{font-size: 18px;}
  .mobile-sticky-btn{display:block ;}
  .mobile-sticky-btn.show{ opacity: 1; visibility: visible;}

  .meet_our_team{padding: 30px 0 50px 0;}
  .meet_our_team_head h2{font-size: 26px; margin-bottom: 0.5rem;}
  .meet_our_team_head p{font-size: 16px;}
  .team-images{-ms-flex-wrap: wrap;flex-wrap: wrap; gap: 0; row-gap: 10px; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between;}
  .team-images img:first-child {width: 100%;}
  .team-images img { border-radius: var(--radius); width: 48.5%;}
  .unmatched-views-row{-ms-flex-wrap: wrap;flex-wrap: wrap;}
  .unmatched-views-content{width: 100%;}
  .unmatched-views-content h2{font-size: 26px; text-align: center}
  .unmatched-views-content p{font-size: 16px;}
  .unmatched-views-img{width: 100%; margin-top: 1.4rem;}

  .shuttles-box h4{font-size: 26px; padding: 0.5rem; margin-bottom: 0.5rem;}
  .shuttles-box ul{margin: 15px 40px;}
  .shuttles-box ul li{font-size: 16px; margin-bottom: 0.5rem;}
  .shuttles-box ul li:before{width: 13px;  height: 15px;left: -27px; top: 3px;}
  .returnshuttle-inner{margin-top: 1.5rem;}
  .returnshuttle h2{font-size: 26px; padding:0 5px;}
.gojump-family-head{margin-bottom: 1.5rem;}
  .gojump-family-head .heading { width: 100%;text-align: center; margin-bottom: 0;}
.gojump-family-head .heading h3{font-size: 26px;}
.gojump-family-head .heading p{font-size: 16px;}
.gojump-family-row {-webkit-box-orient: vertical;-webkit-box-direction: normal;-ms-flex-direction: column;flex-direction: column; gap: 7px;}
/* .family-img {width: 100%; gap: 7px; display: -ms-grid; display: grid; -ms-grid-columns: 1fr 7px 1fr; grid-template-columns: repeat(2, 1fr);} */
.family-img img{-o-object-fit: cover;object-fit: cover; -o-object-position: center; object-position: center;}
.f-img{width:50%;}
.gojump-family-row .family-img:nth-child(2){width: 100%; display: block; -webkit-box-ordinal-group: 4; -ms-flex-order: 3; order: 3;}
.social-connect {margin: 1.5rem 0 3rem;}
.social-connect h5{text-align: center; margin-bottom: 1rem;}
.social-connect ul{-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center;}
.gojump_experience_wrap{padding: 0  0 50px;}
.gojump_experience_head{margin-bottom: 1.5rem;}
.gojump_experience_head h2{margin-bottom: 0.5rem;}
.gojump_experience_head p{font-size: 16px;}
.gojump_experience_review_wrap{gap: 30px;}
.gojump_experience_review_row{border: none; -ms-flex-wrap: wrap; flex-wrap: wrap;}
.gojump_experience_review_image{width: 100%;}
/* .gojump_experience_review_image img{border-radius: var(--radius) var(--radius) 0 0;} */
.gojump_experience_review_content {width: 100%; padding: 25px 20px 10px 20px;}
.gojump_experience_review_content .review-container {
  margin: 0 0 1rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.gojump_experience_review_content h3{text-align: center;}
.gojump_experience_review_content p{font-size: 16px; line-height: 26px;}
/* The rating row and h3 are centred at this width, so the button follows
   them rather than sitting left under a left-aligned paragraph. */
.gojump_experience_review_content .btn { display: block; width: -webkit-fit-content; width: fit-content; margin: 1.25rem auto 0; }
.skilled_head p{padding: 0 0.5rem;}
.skilled_head{margin-bottom: 2rem;}
.skilled_row { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column;gap: 20px;margin-bottom: 30px;}
.skillied_icon_text {
  width: 100%;
}
.skillied_icon_text .icon {
  width: 45px;
  min-width: 45px;
}
.skillied_icon_text .text h6{font-size: 20px;}
.skillied_icon_text .text p{font-size: 16px;}

.skilled_images { gap: 10px; overflow: hidden;overflow-x: scroll;margin-left: -15px;margin-right: -15px; margin-bottom: 1.5rem;}
.skilled_images img { width: 49%; max-width: 49%; min-height: 224px; -o-object-fit: cover; object-fit: cover;}
.skilled_row:before { top: 25px; width: 3px;height: 67%;left: 0;margin: 0;}
.skillied_icon_text::before { margin: 0; top: 15px; left: -15px;}
.skilled_wrap .package-btn-bottom.btn-group-bpc {display: block; margin: 2rem auto 3rem auto;}

.pricing_banner{padding-bottom: 1rem;}
.pricing_banner_row{-webkit-box-orient: vertical;-webkit-box-direction: normal;-ms-flex-direction: column;flex-direction: column;}
.pricing_banner_content{padding-top: 0.5rem; padding-bottom: 0;}
.pricing_banner_content h1{font-size: 32px;}
.pricing_banner_content p{font-size: 16px; margin-bottom: 1rem;}
.pricehero{margin: 0 -15px; padding: 0 15px; gap:0; padding-top: 1rem; margin-top: 1rem; margin-bottom: 1rem;}
.price_box{width: 100%; padding: 0; border-radius: 0; margin: 0; border: none;}
.price_box h4{font-size: 20px;}
.price_box_inner>div {
  -ms-flex-pack: distribute;
      justify-content: space-around;
}
.pricing_banner_content .price_box_inner>div p{font-size: 16px;}
.pricing_banner_content .price_box_inner>div p span{font-size: 16px;}
.pricing_banner_content .price_box_inner>div p small{font-size: 16px;}
.price_box_inner .big_price{font-size: 30px;}
.pricehero .price_box~.price_box{border-top: 1px solid var(--edge-light); padding-top: 0.5rem;}
.price_iconText_wrap{padding: 1rem 0; margin-top: 0.5rem;}
.price_iconText_row .item p{font-size: 14px;}
.featured_wrap {
  padding-top: 0;
}
.featured_row{-ms-flex-wrap: wrap;flex-wrap: wrap; margin-top: 15px;}
.featured_wrap .container{gap: 1rem;}
.featured_img{width: 100%;}
.featured_content{width: 100%; padding: 0; margin-top: 1rem;}
.featured_content h3{font-size: 26px;}
.featured_content p{font-size: 16px;}
.featured_content ul li{font-size: 16px;}
.featured_content ul li:before{top: 8px;}
.feat_price>div h6{font-size: 18px;}
.feat_price>div h5{font-size: 30px;}
.featured_img video {min-height: auto;}


.experience_together_wrap{padding-top: 1.5rem;}
.experience_together_row{margin-top: 1.5rem; gap: 30px;}
.experience_card{width: 100%;}   /* parent stacks cards full-width below 767px */
.experience_card h6{font-size: 26px;}
.experience_card p{font-size: 16px;}
.experience_card p:last-child{margin: 0; padding-bottom: 0;}
.tips_wrap {margin-top: 1rem;-webkit-box-orient: vertical;-webkit-box-direction: normal;-ms-flex-direction: column;flex-direction: column;}
.tips_wrap .content { width: 100%;text-align: center;}
.tips_wrap .content p{font-size: 16px;}
.experience_together_wrap .package-btn-bottom.btn-group-bpc{max-width: 240px; margin: 1rem auto 3rem;}

.talk_head p{font-size: 16px;}
.talk_row{max-width: 425px;}
.talk_box{padding: 1rem;}
.talk_box a h6{font-size: 16px;}
.talk_wrap{margin-bottom: 3rem;}

.contact-wrap{padding: 1.5rem 0;}
.contact-row{-ms-flex-wrap: wrap;flex-wrap: wrap;}
.contact-form-section-left{width: 100%;}
.contact-form-section-left h4{font-size: 26px; text-align: center;}
.contact-form-section-right{width: 100%; padding: 0;}
.contact-form-section-right h4{font-size: 26px;}

.contact_banner_row{-webkit-box-orient: vertical;-webkit-box-direction: normal;-ms-flex-direction: column;flex-direction: column;}
.contact_banner_content{padding: 1rem 0 0;}
.contact_banner .container{padding: 0;}
.contact_banner_content h1{font-size: 32px; padding: 0 1rem;}
.contact_banner_content p{font-size: 16px; padding: 0 1rem;}
.contact_banner_content .talk_row{margin-top: 1rem;}
.contact_banner_content .bg-white{padding: 0.5rem 1rem 0;}

}
@media (max-width: 640px) {
  .returnshuttle-inner {
    padding: 30px 15px 520px 15px;
    background: url(../img/return-mobilebg.webp) no-repeat;
    background-size: cover;
    background-position: 100% 70%;
}
.shuttles-box{margin: 0 auto;}
.team-images{overflow-x: scroll; overflow-y: hidden;}
.contact_banner_content .talk_row{gap: 15px; -ms-flex-wrap: wrap; flex-wrap: wrap;}
.contact_banner_content .talk_row .talk_box {
  max-width: 140px;
}

}


@media only screen 
  and (min-device-width: 320px) 
  and (max-device-width: 767px)
  and (-webkit-min-device-pixel-ratio: 2) 
  and (orientation: portrait) {
    /* Your iPhone-specific styles */
    .hero-banner-img {
    
      padding-top: calc(100vh - 300px);
      height: auto;
  }
}

@media only screen 
  and (min-device-width: 375px) 
  and (max-device-width: 896px)
  and (-webkit-min-device-pixel-ratio: 3) 
  and (orientation: portrait) {
    /* Your iPhone X+ specific styles */
    .hero-banner-img {
    
      padding-top: calc(100vh - 300px);
      height: auto;
  }
}

@media only screen 
  and (min-device-width: 375px) 
  and (max-device-width: 667px)
  and (-webkit-min-device-pixel-ratio: 2) 
  and (orientation: portrait) {
    .hero-banner-img{
    
      padding-top: calc(100vh - 300px);
      height: auto;
      overflow: hidden;
  }
}
@media only screen 
  and (min-device-width: 320px) 
  and (max-device-width: 568px)
  and (-webkit-min-device-pixel-ratio: 2) 
  and (orientation: portrait) {
   
    .hero-banner-img {
    
      padding-top: calc(100vh - 300px);
      height: auto;
      overflow: hidden;
  }
}

@media (min-device-width:320px) and (max-device-width:768px) {
  .hero-banner-img {
    
    padding-top: calc(100vh - 300px);
    height: auto;
    overflow: hidden;
}
}


h2,h6,p{margin-top:0;}
p{margin-bottom:1rem;}
*,::after,::before{-webkit-box-sizing:border-box;box-sizing:border-box;}
img{vertical-align:middle;}
img{border-style:none;}
h2,h6{margin-bottom:.5rem;font-family:inherit;font-weight:500;line-height:1.2;color:inherit;}
h2{font-size:2rem;}
h6{font-size:1rem;}
.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto;}
.rounded-circle{border-radius:50%!important;}
.d-flex{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;}
.w-100{width:100%!important;}
.h-100{height:100%!important;}
.m-0{margin:0!important;}
.mt-3{margin-top:1rem!important;}
.pb-5{padding-bottom:3rem!important;}
.mx-auto{margin-right:auto!important;}
.mx-auto{margin-left:auto!important;}


*{margin:0px;padding:0px;-webkit-box-sizing:border-box;box-sizing:border-box;}
.purple-text{color:var(--text-bright);}

.fw-500{font-weight:500;}
h2{font-size:42px;}
/* .star-review{display:flex;align-items:baseline;gap:8px;margin-top:4px;}
.review-container{display:flex;align-items:flex-start;gap:10px;}
.rating{font-size:33px;font-weight:500;color:var(--text-bright);font-family:'Gilroy';}
.review-text{font-size:16px;color:rgb(92, 92, 92);font-weight:600;font-family:'Gilroy';}
.stars span i{color:var(--brand);font-size:10px;}
.review-count{font-size:16px;color:rgb(127, 127, 127);font-weight:600;font-family:'Gilroy';} */
.globle-subheading{color:var(--text-soft);font-size:18px;font-weight:500;letter-spacing:0px;}
/* Slides are a flex column all the way down so the review photo bottom-aligns
   in every card regardless of how many lines the review text runs. The old
   height:inherit → 100% → calc(100% - 78px) chain never resolved, so shorter
   reviews left their photo floating with a gap under it. */
.swiper-slide{border-radius: var(--radius); padding:30px 20px; background:var(--surface-card); height:auto; display:flex; flex-direction:column;}
.swiper-contact{flex:1; display:flex; flex-direction:column;}
.swiper-top{gap:15px;}
.swiper-top img{width:55px;height:55px;}
.swiper-top h6{font-size:21px;font-weight:700;line-height:28px;color:var(--text-bright);}
.swiper-bottom p{font-size:18px;font-weight:400;margin-bottom:27px;line-height:32px;font-family:"Gilroy", sans-serif;color:var(--text-soft);}
.swiper{padding:10px 0px;margin-left:auto;margin-right:auto;}
.swiper-top h6 img{max-width:110px;max-width:110px;width:100%;display:block;margin:5px 0px;height:auto;}
.hawai-slider{padding:0px 10px 100px 10px!important;}
/* Pre-init slide sizing so the reviews carousel occupies its final layout
   before Swiper's JS runs (footer bundle) — mirrors the breakpoints passed
   to new Swiper(): 1-up, ≥767px 2-up, ≥1024px 3-up, 30px spaceBetween. */
.hawai-slider:not(.swiper-initialized) .swiper-wrapper{overflow:hidden;}
.hawai-slider:not(.swiper-initialized) .swiper-slide{flex-shrink:0;width:100%;margin-right:30px;}
@media (min-width: 767px){
  .hawai-slider:not(.swiper-initialized) .swiper-slide{width:calc((100% - 30px) / 2);}
}
@media (min-width: 1024px){
  .hawai-slider:not(.swiper-initialized) .swiper-slide{width:calc((100% - 60px) / 3);}
}
.hawai-slider .swiper-button-next,.hawai-slider .swiper-button-prev{width:62px;height:62px;top:93%;}
.hawai-slider .swiper-button-prev{left:44%;}
.hawai-slider .swiper-button-next{right:44%;}
.hawai-slider .swiper-button-next{-webkit-transform:scaleX(-1);-ms-transform:scaleX(-1);transform:scaleX(-1);}
.hawai-slider .swiper-button-prev:after,.hawai-slider .swiper-button-next:after{content:"";background:url(../img/review-sliderarrow.svg);background-repeat:no-repeat;background-position:center;background-size:cover;width:62px;height:62px;}
/* Section spacing/layout that used to live in the markup as <br><br> spacers
   and Bootstrap utility classes (pt-0 pb-3 px-0, position-relative pb-5, …). */
.review-section{padding: 2.5rem 0 1rem;}
.review-section-inner{position: relative;padding-bottom: 3rem;}
.review-section-inner h2{color: var(--text-bright);font-weight: 500;text-align: center;margin: 0;}
.review-section-inner p.globle-subheading{text-align: center;padding-top: .5rem;margin: 0 auto;}
.form-alert{margin: 0 0 20px;}
.form-alert--ok{border-color: #398f14;color: #398f14;}
.form-alert--err{border-color: #dc3232;color: #dc3232;}
.review-section .container{padding:0px;}
.review-container.review-slider-c {position: absolute;right: 20px;top: 20px;}
.swiper-bottom {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.birthday_deals_row{display: flex; justify-content: space-between; background:var(--surface-card); align-items: center; padding: 40px 80px; border: 1px solid var(--edge); border-radius: var(--radius); gap:30px;}
.b_deals_details{display: flex; gap: 30px; align-items:center;}
.deals_details h3{font-size: 35px; font-weight: 400; margin-bottom:8px;}
.deals_details p{margin-bottom:0px; font-size:20px; color:var(--text-muted);}
.birthday_deals_row .btn{min-width: 200px; padding: 18px 15px; border-width: 2px; font-size: 16px;}
.birthday_deals_wrap{margin-top:48px;}
.birth_icon img{max-width:50px;}
/* GoSky cross-link on pricing: featured_row layout, but with the 45/55
   image-to-text split of the home family cards — full video width read as
   too dominant. Image height matches the videos (486px). */



@media (max-width: 1024px){
.hawai-slider .swiper-button-next{right:40%;}
.hawai-slider .swiper-button-prev{left:40%;}
}
@media (max-width: 991px){
.review-slider-c{position:static!important;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin-top:10px;}
.birthday_deals_row{padding:40px;}
.deals_details h3{font-size:32px;}

}
@media (max-width: 767px){
  .swiper-bottom img{width:100%;}
.review-container{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;}
.globle-subheading{font-size:16px;}
h2{font-size:26px!important;}
.review-section-inner p{max-width:-webkit-fit-content;max-width:-moz-fit-content;max-width:fit-content;border-bottom:1px solid var(--surface-card);padding-bottom:15px!important;}
.swiper-bottom p{font-size:16px;line-height:28px;}
.hawai-slider .swiper-button-next,.hawai-slider .swiper-button-prev{top:94%;}
.birthday_deals_row{flex-direction: column;}
.b_deals_details{flex-direction: column;}
.deals_details{text-align: center;}
.deals_details h3{font-size:28px;}
.deals_details p{font-size: 18px;}
.birthday_deals_row .btn{padding: 14px 15px;}
}

@media (max-width: 640px){
.hawai-slider .swiper-button-next{right:31%;}
.hawai-slider .swiper-button-prev{left:31%;}
}


@media (max-width: 767px){
  .sunset_price_row{flex-direction: column;}
  .sunset_price_img{width:100%;}
  .sunset_price_content{width:100%;}
  .sunset_price_row{border-radius: var(--radius);}
  .sunset_price_content_h{justify-content: center;
    flex-direction:column-reverse;
    gap: 0;}
  .sunset_price_content{padding:30px 20px;}
  .sunset_price_content .list-tick{margin-top:0px;}
  .sunset_price_img img{border-radius: var(--radius) var(--radius) 0 0;}

}

/* ===== Contact language hints ========================================
   Markup: includes/contact-channels.php, used by pages/contact.php. The
   flags are a hint about which languages get an answer — not a switcher,
   nothing here is clickable on its own. They live in the page content only:
   the header deliberately carries none. */

.chan-langs {
  display: -webkit-box; display: -ms-flexbox; display: flex;
  -ms-flex-wrap: wrap; flex-wrap: wrap;
  -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center;
  gap: 3px;
  margin-top: 8px;
  line-height: 1;
}

/* Sized a little under the label it sits beneath. On Windows these render as
   country letter-pairs rather than flags, which is why they stay small and
   quiet either way. */
.chan-langs__flag { font-size: 15px; }

/* The contact hero row carries four tiles now (call, SMS, mail, WhatsApp),
   so it wraps instead of squeezing them onto one line. */
.contact_banner_content .talk_row {
  -ms-flex-wrap: wrap; flex-wrap: wrap;
  -webkit-box-align: stretch; -ms-flex-align: stretch; align-items: stretch;
}
.contact_banner_content .talk_row .talk_box {
  -webkit-box-flex: 1; -ms-flex: 1 1 130px; flex: 1 1 130px;
  max-width: 190px;
  min-width: 0;
}

/* One quiet line under the contact tiles: which languages answer on which
   channel. The tiles themselves stay exactly as they were. */
.chan-note {
  display: -webkit-box; display: -ms-flexbox; display: flex;
  -ms-flex-wrap: wrap; flex-wrap: wrap;
  -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center;
  -webkit-box-align: center; -ms-flex-align: center; align-items: center;
  gap: 6px 10px;
  margin: 18px 0 0;
  font-size: 14px;
  color: var(--text-soft);
}
.chan-note__part {
  display: -webkit-box; display: -ms-flexbox; display: flex;
  -webkit-box-align: center; -ms-flex-align: center; align-items: center;
  gap: 7px;
  white-space: nowrap;
}
.chan-note__sep { opacity: 0.4; }
.chan-note .chan-langs { margin: 0; gap: 4px; }
.chan-note .chan-langs__flag { font-size: 15px; }

/* ===== Contact status pill, staffed hours ===========================
   The pill itself still appears across PHONE_HOURS with its white dot. In
   the staffed window (STAFFED_HOUR_START..END in config.php) contact.php
   adds .is-staffed and it turns green — a person is at the desk right now.
   The dot keeps the pulse it already had; only the colour and weight change. */

.contact-online-btn.is-staffed {
  font-size: 13px;
  font-weight: 600;
  color: #7ee787;
  border-color: rgba(126, 231, 135, 0.55);
  background: rgba(126, 231, 135, 0.08);
  padding: 7px 28px;
}

.contact-online-btn.is-staffed span {
  width: 8px;
  height: 8px;
  background: #3fb950;
  -webkit-box-shadow: 0 0 0 3px rgba(63, 185, 80, 0.22);
          box-shadow: 0 0 0 3px rgba(63, 185, 80, 0.22);
}

/* The pulse is decorative; anyone who asks for less motion keeps a plain
   green dot. */
@media (prefers-reduced-motion: reduce) {
  .contact-online-btn span { -webkit-animation: none; animation: none; }
}

/* Contact tiles: icons on one line, labels on one line.

   Two things pulled them out of true. The mail tile wraps its icon and
   label in .contact-hero-boxes, so where the other tiles hand the column
   two flex items it handed over one — display:contents dissolves the
   wrapper without touching the popup, which is positioned against
   .talk_box, not against it. And the four icons have different intrinsic
   heights (30, 27, 22, 30), so each label started at a different point.
   A fixed 32px slot with object-fit:contain gives every icon the same
   vertical space while leaving its own size and aspect alone. */
.contact_banner_content .talk_row .contact-hero-boxes { display: contents; }

.contact_banner_content .talk_row .talk_box img {
  -webkit-box-flex: 0; -ms-flex: 0 0 32px; flex: 0 0 32px;
  -ms-flex-item-align: center; align-self: center;
  width: auto;
  -o-object-fit: contain;
     object-fit: contain;
}

/* Contact hero: clear the fixed header on desktop.

   #header_wrap_wrapper is position:fixed and the header is roughly 120px
   tall at this width (17px padding either side of an 86px logo), while
   .contact_banner only reserved 100px — so the hero started underneath it
   and read as squashed against the nav. 160px clears the header and leaves
   about 40px of air under it.

   Scoped above 1100px on purpose: at or below that the header becomes
   position:relative and sits in the flow, where the existing 100px (and
   80px under 767px) are already breathing room rather than clearance. */
@media (min-width: 1101px) {
  .contact_banner { padding-top: 160px; }
  /* Same clearance for the other two heroes, which reserved 105px and 100px
     against the same fixed header. The home hero hid it better because it is
     min-height:750px with vertically centred content, but it was overlapping
     just the same. */
  .hero-banner    { padding-top: 160px; }
  .pricing_banner { padding-top: 160px; }
}

/* Reviews carousel: room for the hover lift inside the clipped viewport.

   .swiper is overflow:hidden, and .swiper-slide:hover lifts the card
   translateY(-4px) — straight out of the top of that clip box, so the card's
   top edge and its orange hover ring were sliced off while the left and
   right edges stayed. The drop shadow under the card (--lift, 0 18px 44px)
   was being clipped at the bottom for the same reason.

   Padding opens the clip box; the matching negative margin cancels it, so
   nothing on the page moves. */
.hawai-slider {
  padding-top: 8px;
  margin-top: -8px;
  padding-bottom: 30px;
  margin-bottom: -30px;
}
