@font-face{font-family:"Nunito Sans";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/nunito-sans-400.woff2") format("woff2")}
@font-face{font-family:"Nunito Sans";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/nunito-sans-700.woff2") format("woff2")}
@font-face{font-family:"Nunito Sans";font-style:normal;font-weight:800;font-display:swap;src:url("../fonts/nunito-sans-800.woff2") format("woff2")}

:root{--blue:#06366a;--blue-dark:#06294f;--red:#c53525;--ink:#182b3e;--muted:#526171;--line:#d8e0e7;--tint:#f2f6f9;--white:#fff;--radius:5px;--container:1220px}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:130px}
body{margin:0;color:var(--ink);background:var(--white);font-family:"Nunito Sans",Arial,sans-serif;font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
body.lightbox-open{overflow:hidden}
button,input,textarea,select{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
img{display:block;max-width:100%;height:auto}
picture{display:block}
svg{display:block}
a{color:var(--blue);text-decoration-thickness:1px;text-underline-offset:4px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--red);outline-offset:5px}
main:focus{outline:none}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{color:var(--blue);font-weight:800;line-height:1.17;letter-spacing:-.025em}
h1{font-size:clamp(40px,4.3vw,62px);letter-spacing:-.04em}
h2{font-size:clamp(30px,3vw,40px)}
h3{font-size:23px;letter-spacing:-.02em}
p+p{margin-top:18px}
ul,ol{padding-left:1.3em}
strong{font-weight:800}
address{font-style:normal}
[hidden]{display:none!important}
.container{width:min(var(--container),calc(100% - 96px));margin-inline:auto}
.section{padding-block:88px}
.section-bottom{padding-bottom:88px}
.section-tint{background:var(--tint)}
.lead{font-size:21px;line-height:1.65;color:var(--muted)}
.icon{width:22px;height:22px;flex:none}
.skip-link{position:fixed;top:12px;left:12px;transform:translateY(-160%);z-index:100;background:white;color:var(--blue);padding:12px 20px;border:2px solid var(--blue);border-radius:var(--radius)}
.skip-link:focus{transform:translateY(0)}
.button{display:inline-flex;justify-content:center;align-items:center;gap:14px;min-height:52px;padding:12px 24px;border:1px solid transparent;border-radius:var(--radius);font-weight:800;font-size:16px;line-height:1.4;text-decoration:none;transition:background .18s,border-color .18s}
.button:hover{text-decoration:none}
.button .icon{width:20px;height:20px}
.button-red{background:var(--red);color:white}
.button-red:hover{background:#a92b1e}
.button-blue{background:var(--blue);color:white}
.button-blue:hover{background:var(--blue-dark)}
.button-outline{border-color:var(--blue);background:transparent;color:var(--blue)}
.button-outline:hover{background:var(--tint)}
.button-white{background:white;color:var(--blue)}
.button-white:hover{background:#eaf0f6}
.button-small{min-height:44px;padding:10px 17px;font-size:15px}
.text-link{display:inline-flex;align-items:center;gap:12px;font-size:16px;font-weight:800;line-height:1.5;text-decoration:none;padding-block:7px}
.text-link:hover{text-decoration:underline}
.text-link .icon{width:20px;height:20px}
.button-row{display:flex;align-items:center;flex-wrap:wrap;gap:24px}

/* Navigation stays in the same place on every page. */
.site-header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.98);border-bottom:1px solid #e5eaf0}
.header-inner{width:min(1352px,calc(100% - 64px));margin:auto;min-height:104px;display:flex;align-items:center;justify-content:space-between;gap:34px;padding-block:9px}
.brand{display:block;flex:none}
.brand img{width:184px;height:auto}
.main-nav{display:flex;align-items:center;gap:28px}
.nav-links{display:flex;align-items:center;gap:26px;list-style:none;margin:0;padding:0}
.nav-links a{position:relative;display:block;padding-block:12px;color:var(--ink);font-size:15px;font-weight:700;text-decoration:none;white-space:nowrap}
.nav-links a::after{content:"";position:absolute;bottom:3px;left:0;right:0;height:2px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .18s}
.nav-links a:hover::after,.nav-links a[aria-current="page"]::after{transform:scaleX(1)}
.nav-actions{display:flex;align-items:center;gap:10px}
.menu-toggle{display:none;align-items:center;gap:10px;color:var(--blue);border:1px solid var(--line);border-radius:var(--radius);background:white;min-height:44px;padding:8px 12px;font-weight:700;font-size:15px}
.menu-lines{position:relative;width:19px;height:14px;border-top:2px solid currentColor;border-bottom:2px solid currentColor}
.menu-lines::after{content:"";position:absolute;left:0;right:0;top:4px;border-top:2px solid currentColor}
.menu-toggle[aria-expanded="true"] .menu-lines{border:0}
.menu-toggle[aria-expanded="true"] .menu-lines::before,.menu-toggle[aria-expanded="true"] .menu-lines::after{content:"";position:absolute;top:6px;left:0;right:0;border-top:2px solid;transform:rotate(45deg)}
.menu-toggle[aria-expanded="true"] .menu-lines::after{transform:rotate(-45deg)}

/* Home */
.home-hero{display:grid;grid-template-columns:46% 54%;max-width:1440px;margin:0 auto;background:var(--blue-dark);overflow:hidden}
.hero-copy{padding:64px clamp(32px,4vw,64px);align-self:center}
.hero-copy h1{font-size:clamp(48px,4.8vw,70px);line-height:1.06;letter-spacing:-.045em;color:white;margin-bottom:26px}
.hero-copy h1 span{color:white}
.hero-copy>p{color:#e1eaf3;font-size:19px;line-height:1.65;max-width:450px}
.hero-copy .button{margin-top:30px}
.hero-copy .hero-note{margin-top:20px;font-size:15px;color:#e1eaf3}
.hero-photo{min-height:580px}
.hero-photo img{height:100%;width:100%;object-fit:cover;object-position:49% center}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:32px}
.section-heading p{margin-top:13px;color:var(--muted);max-width:700px}
.section-heading>.text-link{flex:none;margin-bottom:2px}
.experience-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.experience-card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:white;display:flex;flex-direction:column;scroll-margin-top:130px}
.card-photo{height:186px;background:var(--blue-dark)}
.card-photo img{width:100%;height:100%;object-fit:cover}
.card-content{padding:28px;display:flex;flex-direction:column;flex:1}
.card-price-line{display:flex;align-items:baseline;justify-content:space-between;gap:12px;color:var(--blue);font-weight:800;line-height:1.25;margin-bottom:20px}
.card-price-line>span{font-size:29px;color:var(--muted)}
.card-price-line .minutes-label{font-size:16px;font-weight:700}
.card-price-line strong{font-size:30px}
.card-content h3{font-size:23px;margin-bottom:13px;color:var(--ink)}
.card-content>p{font-size:16px;color:var(--muted);line-height:1.6}
.tick-list{margin:23px 0 27px;padding:0;list-style:none}
.tick-list li{display:flex;align-items:flex-start;gap:10px;margin-top:9px;font-size:14px;line-height:1.5}
.tick-list .icon{width:18px;height:18px;margin-top:2px;color:var(--red);stroke-width:2}
.card-content .button{margin-top:auto;width:100%;font-size:15px;min-height:48px}
.booking-banner{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:28px 32px;background:#eaf1f8;border-left:4px solid var(--red);border-radius:0 var(--radius) var(--radius) 0;margin-top:32px}
.booking-banner h2{font-size:23px;margin-bottom:6px}
.booking-banner p{font-size:16px;color:var(--muted)}
.booking-banner>.button{flex:none}
.split-layout{display:grid;grid-template-columns:1.08fr 1fr;gap:72px;align-items:center}
.feature-photo{border-radius:var(--radius);overflow:hidden;aspect-ratio:1.3}
.feature-photo img{width:100%;height:100%;object-fit:cover}
.split-copy h2{margin-bottom:22px}
.split-copy .lead{font-size:21px;line-height:1.5;color:var(--blue)}
.split-copy>p{color:var(--muted)}
.split-copy .text-link{margin-top:24px}
.split-copy .secondary-link{display:flex;margin-top:8px}
.home-gallery{display:grid;grid-template-columns:1.6fr 1fr;gap:24px}
.home-gallery a{border-radius:var(--radius);overflow:hidden;display:block}
.home-gallery picture{height:350px}
.home-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.home-gallery a:hover img{transform:scale(1.02)}
.faq-preview{display:grid;grid-template-columns:.9fr 1.4fr;gap:80px;align-items:start}
.faq-preview>div>p{margin-top:17px;color:var(--muted)}
.faq-preview>div>.text-link{margin-top:20px}
.faq-list{border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px 2px;cursor:pointer;color:var(--blue);font-weight:800;font-size:18px;line-height:1.5}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary .icon{width:20px;height:20px;color:var(--red);transition:transform .15s}
.faq-item[open] summary .icon{transform:rotate(45deg)}
.faq-answer{padding:0 30px 25px 2px;color:var(--muted);font-size:16px}
.faq-answer .text-link{margin-top:12px}
.contact-strip{background:var(--blue);color:white;padding:44px 0}
.contact-strip>.container{display:flex;align-items:center;justify-content:space-between;gap:30px}
.contact-strip h2{color:white;font-size:31px;margin-bottom:8px}
.contact-strip p{color:#e3edf8;font-size:17px}

/* Interior pages */
.page-intro{padding-top:68px;padding-bottom:52px}
.page-intro .lead{margin-top:23px;max-width:760px}
.narrow-intro .lead{max-width:800px}
.page-hero{padding-block:56px;display:grid;grid-template-columns:1fr 1.04fr;gap:72px;align-items:center}
.page-hero h1{margin-bottom:26px}
.page-hero .button{margin-top:28px}
.page-hero-photo{aspect-ratio:1.12;border-radius:var(--radius);overflow:hidden}
.page-hero-photo img{height:100%;width:100%;object-fit:cover}
.flight-overview{padding-top:30px}
.steps-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px;list-style:none;margin:0;padding:0}
.step-number{display:block;color:var(--red);font-size:17px;font-weight:800;padding-bottom:15px;border-bottom:1px solid var(--line);margin-bottom:24px}
.steps-grid h3{margin-bottom:15px}
.steps-grid p{color:var(--muted);font-size:16px}
.visit-details{display:grid;grid-template-columns:1fr 1.65fr;gap:80px}
.visit-details>div>p{color:var(--muted);margin-top:20px;max-width:340px}
.visit-details>div>.text-link{margin-top:20px}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:38px 40px}
.detail-grid h3{font-size:21px;margin-bottom:12px}
.detail-grid p{font-size:16px;color:var(--muted)}
.section-bottom>.booking-banner,.section>.booking-banner:only-child{margin-top:0}
.instructor-profile{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:72px;margin-bottom:88px}
.profile-photo{height:420px;overflow:hidden;border-radius:var(--radius)}
.profile-photo img{height:100%;width:100%;object-fit:cover}
.jonathan-photo img{object-position:61% center}
.harrison-photo img{object-position:51% center}
.profile-copy h2{font-size:37px;margin-bottom:12px}
.profile-copy .role{font-size:16px;color:var(--red);font-weight:800;margin-bottom:24px}
.profile-copy p{color:var(--muted);font-size:17px}
.profile-copy .role+p{margin-top:0}
.profile-reverse .profile-photo{order:2}
.voucher-intro{background:var(--blue-dark);overflow:hidden}
.voucher-intro>.container{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.voucher-intro>.container>div{padding-block:57px}
.voucher-intro h1{color:white;font-size:clamp(40px,4.1vw,60px);margin-bottom:24px}
.voucher-intro .lead{color:#e0eaf4;font-size:20px}
.voucher-photo{height:100%;min-height:380px;margin-right:calc((min(1220px,100vw - 96px) - 100vw)/2)}
.voucher-photo img{height:100%;width:100%;object-fit:cover}
.light-link{color:white;margin-top:26px;font-size:15px}
.voucher-delivery{display:grid;grid-template-columns:1fr 1.35fr;align-items:center;gap:40px;padding:34px 0 0;margin-top:38px;border-top:1px solid var(--line)}
.voucher-delivery h2{font-size:29px}
.voucher-delivery p{color:var(--muted)}
.faq-page{display:grid;grid-template-columns:290px 1fr;gap:80px;align-items:start}
.faq-nav{position:sticky;top:140px;border:1px solid var(--line);border-radius:var(--radius);padding:6px 22px}
.faq-nav a{display:flex;align-items:center;justify-content:space-between;gap:14px;font-weight:700;font-size:15px;padding-block:19px;text-decoration:none}
.faq-nav a:hover{text-decoration:underline}
.faq-nav a+a{border-top:1px solid var(--line)}
.faq-nav .icon{width:18px;height:18px;color:var(--red)}
.faq-group{scroll-margin-top:135px}
.faq-group+.faq-group{margin-top:55px}
.faq-group>h2{font-size:28px;margin-bottom:25px}

/* Gallery: links work without JavaScript; dialogs add an in-page viewer. */
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px}
.gallery-grid figure{min-width:0}
.gallery-link{display:block;position:relative;overflow:hidden;border-radius:var(--radius);background:var(--blue-dark)}
.gallery-link picture{aspect-ratio:1.34}
.gallery-link img{height:100%;width:100%;object-fit:cover;transition:transform .3s}
.gallery-link:hover img{transform:scale(1.03)}
.photo-expand{position:absolute;right:14px;bottom:14px;width:34px;height:34px;display:grid;place-items:center;background:white;color:var(--blue);border-radius:50%}
.photo-expand .icon{width:18px;height:18px}
.gallery-grid figcaption{padding-top:12px;font-size:14px;color:var(--muted)}
.video-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.video-player{position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:var(--radius);background:var(--blue-dark)}
.video-poster{height:100%;opacity:.7}
.video-poster img{height:100%;width:100%;object-fit:cover}
.video-play{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:white;text-decoration:none;gap:12px;font-weight:800}
.video-play>.icon{width:60px;height:60px;padding:15px;background:white;color:var(--blue);border-radius:50%;transition:transform .2s}
.video-play:hover>.icon{transform:scale(1.07)}
.video-player iframe{position:absolute;inset:0;border:0;width:100%;height:100%}
.video-block h3{font-size:20px;margin-top:16px}
.video-privacy{font-size:14px;color:var(--muted);margin-top:26px}
.lightbox{padding:54px 28px 24px;border:0;max-width:calc(100vw - 40px);width:1250px;max-height:calc(100svh - 40px);border-radius:var(--radius);background:#071c31;color:white}
.lightbox::backdrop{background:rgba(2,12,25,.92)}
.lightbox-body{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:20px}
.lightbox figure{min-width:0;text-align:center}
.lightbox-image{width:100%;height:min(68vh,760px);object-fit:contain}
.lightbox figcaption{font-size:16px;margin-top:16px}
.icon-button{width:44px;height:44px;border:1px solid #637486;color:white;background:transparent;border-radius:50%;display:grid;place-items:center}
.icon-button:hover{background:#284259}
.lightbox-prev .icon{transform:rotate(180deg)}
.lightbox-close{position:absolute;right:18px;top:12px;width:36px;height:36px}
.lightbox-counter{text-align:center;color:#c4d3e1;font-size:14px;margin-top:9px}

/* Contact */
.contact-layout{display:grid;grid-template-columns:.9fr 1.2fr;gap:104px;align-items:start}
.contact-method{margin-bottom:34px}
.contact-method h2{font-size:20px;margin-bottom:12px}
.contact-phone{font-size:30px;font-weight:800;letter-spacing:-.025em;text-decoration:none}
.contact-method>a:not(.contact-phone):not(.text-link){font-size:17px;overflow-wrap:anywhere}
.contact-method p{color:var(--muted);font-size:16px;margin-top:16px;max-width:330px}
.contact-method .text-link{margin-top:13px}
.contact-booking{border-top:1px solid var(--line);padding-top:26px;max-width:350px}
.contact-booking h2{font-size:21px;margin-bottom:12px}
.contact-booking p{font-size:16px;color:var(--muted)}
.contact-booking .text-link{margin-top:12px}
.form-panel{padding:36px;background:var(--tint);border:1px solid var(--line);border-radius:var(--radius)}
.form-panel>h2{font-size:28px;margin-bottom:10px}
.form-panel>.form-intro{font-size:16px;color:var(--muted);margin-bottom:26px}
.form-field{margin-bottom:21px}
.form-field label{display:block;margin-bottom:7px;font-weight:700;font-size:15px;color:var(--blue)}
.form-field input,.form-field textarea{width:100%;border:1px solid #9facb9;border-radius:4px;background:white;color:var(--ink);padding:11px 13px;font-size:17px;line-height:1.5}
.form-field input{min-height:48px}
.form-field textarea{resize:vertical;min-height:158px}
.form-field :is(input,textarea):focus{outline:2px solid var(--blue);outline-offset:2px;border-color:var(--blue)}
.form-field [aria-invalid="true"]{border:2px solid var(--red)}
.field-error{display:block;margin-top:6px;color:#a6281b;font-size:14px;font-weight:700}
.form-privacy{font-size:13px;color:var(--muted);line-height:1.65;margin:0 0 23px}
.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.error-summary{padding:20px;background:#fff3f1;border-left:3px solid var(--red);margin-bottom:28px;scroll-margin-top:135px}
.error-summary h3{font-size:18px;color:#8c251a}
.error-summary ul{font-size:15px;margin:12px 0 0}
.error-summary a{color:#8c251a}
.error-summary li+li{margin-top:6px}
.form-success{display:flex;align-items:flex-start;gap:15px;background:#e3f0ea;border-left:3px solid #30754f;padding:24px;scroll-margin-top:135px}
.form-success>.icon{margin-top:2px;color:#276342}
.form-success h3{font-size:21px;color:#205939;margin-bottom:15px}
.form-success p{font-size:16px}
.arrival-note{display:grid;grid-template-columns:1fr 1.4fr;column-gap:60px;align-items:start}
.arrival-note>p{color:var(--muted)}
.arrival-note>.text-link{grid-column:2;margin-top:20px;justify-self:start}
.prose{max-width:850px;margin-left:max(48px,calc((100vw - var(--container))/2))}
.prose h2{font-size:27px;margin:38px 0 15px}
.prose h2:first-child{margin-top:0}
.prose p{color:var(--muted)}
.prose a{overflow-wrap:anywhere}
.privacy-date{font-size:14px;margin-top:38px}
.not-found{padding-block:88px 110px;min-height:60vh}
.error-code{font-weight:800;color:var(--red);margin-bottom:20px}
.not-found h1{max-width:780px}
.not-found>p:not(.error-code){margin:24px 0 30px;font-size:20px;color:var(--muted)}

/* Footer */
.site-footer{background:white;border-top:1px solid var(--line)}
.footer-main{display:grid;grid-template-columns:1.2fr .9fr 1.1fr 1.3fr;gap:40px;padding-block:56px 40px}
.footer-brand img{width:182px}
.footer-brand p{font-size:14px;line-height:1.8;color:var(--muted);margin-top:20px}
.site-footer h2{font-size:16px;letter-spacing:0;margin:12px 0 20px}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li+li{margin-top:10px}
.site-footer li a,.footer-contact>a,.social-links a{color:var(--muted);font-size:14px;text-decoration:none}
.site-footer a:hover{text-decoration:underline;color:var(--blue)}
.footer-contact>a{display:block;overflow-wrap:anywhere;margin-bottom:12px}
.footer-contact .footer-phone{color:var(--blue);font-size:23px;font-weight:800;letter-spacing:-.02em;line-height:1.3}
.social-links{display:flex;gap:20px;margin-top:19px}
.footer-bottom{display:flex;justify-content:space-between;gap:24px;padding-block:22px 26px;border-top:1px solid var(--line);color:var(--muted);font-size:13px}
.footer-bottom a{color:var(--muted);text-decoration:none}

@media(min-width:1600px){.home-hero{margin-top:24px;border-radius:var(--radius)}}
@media(max-width:1200px){
    .header-inner{gap:22px;width:calc(100% - 48px)}
    .nav-links{gap:20px}.main-nav{gap:22px}.brand img{width:166px}
    .button-small{padding-inline:13px;font-size:14px}
    .hero-copy{padding:48px 40px}.hero-copy h1{font-size:57px}.hero-copy>p{font-size:18px}.hero-photo{min-height:540px}
    .card-content{padding:23px}.card-price-line>span{font-size:26px}.card-price-line strong{font-size:27px}
    .split-layout,.instructor-profile,.page-hero{gap:48px}
    .faq-preview,.faq-page,.visit-details{gap:48px}.contact-layout{gap:64px}
    .footer-main{gap:28px}.footer-contact>a{font-size:13px}
}
@media(max-width:1080px){
    .header-inner{flex-wrap:wrap;min-height:92px;padding-block:9px;gap:12px}.brand img{width:158px}
    .main-nav{width:100%;justify-content:space-between;flex-wrap:wrap;padding-bottom:10px}
    .js .menu-toggle{display:inline-flex}.js .header-inner{flex-wrap:nowrap}
    .js .main-nav{display:none;position:absolute;left:0;right:0;top:100%;width:100%;background:white;padding:20px 32px 28px;border-bottom:1px solid var(--line);box-shadow:0 10px 20px #061b3510;max-height:calc(100svh - 92px);overflow-y:auto;align-items:stretch;flex-direction:column;gap:20px}
    .js .main-nav.is-open{display:flex}.js .nav-links{flex-direction:column;align-items:stretch;gap:0}.js .nav-links a{font-size:17px;padding:12px 0}.js .nav-links a::after{display:none}.js .nav-links a[aria-current="page"]{color:var(--red)}
    .js .nav-actions{border-top:1px solid var(--line);padding-top:20px;gap:12px}.js .nav-actions .button{min-height:48px;font-size:16px}
    .container{width:calc(100% - 64px)}.section{padding-block:68px}.section-bottom{padding-bottom:68px}
    .home-hero{grid-template-columns:46% 54%}.hero-copy{padding:46px 32px}.hero-copy h1{font-size:clamp(45px,5.3vw,57px)}
    .experience-grid{gap:16px}.card-content{padding:20px}.card-photo{height:160px}.card-price-line{flex-wrap:wrap;gap:8px}.card-content h3{font-size:21px}.card-content>p{font-size:15px}.tick-list li{font-size:13px}
    .section-heading{align-items:flex-start}.section-heading>.text-link{margin-top:5px}
    .feature-photo{aspect-ratio:1.1}.split-layout{gap:36px}.split-copy .lead{font-size:19px}.home-gallery picture{height:310px}
    .profile-photo{height:400px}.profile-copy h2{font-size:31px}.profile-copy p{font-size:16px}
    .page-hero{gap:36px}.page-hero-photo{aspect-ratio:.95}.lead{font-size:19px}
    .steps-grid{gap:28px}.steps-grid h3{font-size:22px}.steps-grid p{font-size:15px}
    .visit-details{grid-template-columns:1fr 1.6fr;gap:36px}.detail-grid{gap:28px}.detail-grid h3{font-size:20px}
    .voucher-intro>.container{gap:40px}.voucher-photo{margin-right:-32px}
    .faq-page{grid-template-columns:240px 1fr;gap:36px}.faq-nav{padding-inline:18px}
    .contact-layout{gap:36px}.form-panel{padding:28px}.contact-phone{font-size:27px}
    .footer-main{grid-template-columns:1.1fr 1fr;gap:36px 60px}.footer-contact>a{font-size:15px}
    .prose{margin-left:32px;width:calc(100% - 64px)}
}
@media(max-width:800px){
    .hero-copy{padding-inline:28px}.hero-copy h1{font-size:44px}.hero-copy>p{font-size:17px}.hero-photo{min-height:530px}
    .section-heading{display:block}.section-heading>.text-link{margin-top:13px}
    .experience-grid{grid-template-columns:1fr}.experience-card{display:grid;grid-template-columns:.72fr 1fr}.card-photo{height:100%}.card-content{padding:28px}.card-price-line{flex-wrap:nowrap}.card-content h3{font-size:24px}.card-content>p{font-size:16px}.tick-list li{font-size:14px}
    .booking-banner{gap:24px;padding:26px}.booking-banner h2{font-size:21px}.booking-banner p{font-size:15px}.booking-banner>.button{font-size:14px;padding-inline:16px}
    .split-layout{gap:30px}.split-copy h2 br{display:none}.feature-photo{aspect-ratio:.85}
    .faq-preview{grid-template-columns:1fr;gap:28px}.faq-preview>div>p br{display:none}.faq-preview>div>.text-link{margin-top:12px}
    .page-hero{gap:30px}.page-hero-photo{aspect-ratio:.8}.page-hero h1{font-size:44px}
    .steps-grid{grid-template-columns:1fr;gap:32px}.step-number{margin-bottom:15px;padding-bottom:10px}.steps-grid h3{font-size:24px}.steps-grid p{font-size:17px}
    .visit-details{grid-template-columns:1fr;gap:36px}.visit-details>div>p{max-width:550px}.visit-details h2 br{display:none}
    .instructor-profile{gap:34px;grid-template-columns:.9fr 1fr}.profile-photo{height:420px}
    .voucher-intro>.container{gap:28px}.voucher-intro h1{font-size:43px}.voucher-intro .lead{font-size:18px}.light-link{font-size:14px}
    .voucher-delivery{grid-template-columns:1fr;gap:16px}.faq-page{grid-template-columns:1fr;gap:35px}.faq-nav{position:static;display:flex;justify-content:space-between;gap:14px;padding:10px 16px}.faq-nav a{font-size:14px;padding:6px 0;gap:8px}.faq-nav a+a{border:0}.faq-nav .icon{display:none}
    .gallery-grid{grid-template-columns:1fr 1fr}.contact-layout{grid-template-columns:1fr 1.2fr;gap:28px}.contact-method>a:not(.contact-phone):not(.text-link){font-size:15px}.contact-phone{font-size:25px}.form-panel{padding:25px}
    .arrival-note{grid-template-columns:1fr;gap:18px}.arrival-note>.text-link{grid-column:auto;margin-top:0}
}
@media(max-width:650px){
    html{scroll-padding-top:110px}body{font-size:16px}.container{width:calc(100% - 40px)}.section{padding-block:52px}.section-bottom{padding-bottom:52px}
    h1{font-size:42px}h2{font-size:31px}h3{font-size:22px}.lead{font-size:18px}
    .header-inner{width:calc(100% - 40px);min-height:84px;padding-block:8px}.brand img{width:145px}.menu-toggle{padding:8px 10px;gap:8px;font-size:14px}
    .js .main-nav{padding:14px 20px 24px;max-height:calc(100svh - 84px)}.js .nav-actions{display:grid;grid-template-columns:1fr 1fr}.js .nav-actions .button{font-size:14px;padding-inline:10px}
    .main-nav:not(.is-open) .nav-links{flex-wrap:wrap;gap:5px 18px}.main-nav .nav-actions{flex-wrap:wrap}
    .home-hero{display:flex;flex-direction:column}.hero-copy{padding:37px 24px 35px;align-self:stretch}.hero-copy h1{font-size:clamp(41px,9.4vw,58px);margin-bottom:20px;max-width:520px}.hero-copy>p{font-size:18px;max-width:510px}.hero-copy .button{margin-top:25px}.hero-copy .hero-note{font-size:14px;margin-top:16px}.hero-photo{height:auto;min-height:0;aspect-ratio:1.6}.hero-photo img{object-position:center}
    .section-heading{margin-bottom:26px}.section-heading p{margin-top:12px}.section-heading>.text-link{margin-top:14px}
    .experience-grid{gap:24px}.experience-card{display:flex}.card-photo{height:192px}.card-content{padding:25px}.card-price-line{margin-bottom:19px}.card-price-line>span{font-size:30px}.card-price-line strong{font-size:31px}.tick-list{margin:20px 0 25px}.card-content .button{min-height:49px}
    .booking-banner{display:block;padding:24px;margin-top:25px}.booking-banner h2{font-size:23px}.booking-banner p{font-size:16px}.booking-banner>.button{font-size:16px;margin-top:22px;padding-inline:22px}
    .split-layout{grid-template-columns:1fr;gap:29px}.feature-photo{aspect-ratio:1.35}.split-copy h2{margin-bottom:17px}.split-copy .lead{font-size:19px}.split-copy .text-link{margin-top:20px}
    .home-gallery{grid-template-columns:1fr;gap:18px}.home-gallery picture{height:auto;aspect-ratio:1.45}.home-gallery a:last-child picture{aspect-ratio:1.8}
    .faq-preview{gap:27px}.faq-item summary{padding:20px 0;font-size:17px;gap:18px}.faq-answer{padding:0 14px 23px 0}
    .contact-strip{padding-block:35px}.contact-strip>.container{display:block}.contact-strip h2{font-size:29px}.contact-strip p{font-size:16px}.contact-strip .button{margin-top:23px}
    .page-intro{padding-top:39px;padding-bottom:34px}.page-intro .lead{margin-top:18px}.page-intro .lead br{display:none}
    .page-hero{grid-template-columns:1fr;padding-top:38px;padding-bottom:38px;gap:32px}.page-hero h1{font-size:44px;margin-bottom:19px}.page-hero .button{margin-top:23px}.page-hero-photo{aspect-ratio:1.25}
    .flight-overview{padding-top:10px}.steps-grid{gap:27px}.steps-grid p{font-size:16px}.step-number{margin-bottom:17px}
    .detail-grid{grid-template-columns:1fr;gap:25px}.detail-grid h3{font-size:21px;margin-bottom:9px}.visit-details{gap:29px}
    .instructor-profile{grid-template-columns:1fr;gap:26px;margin-bottom:50px}.profile-photo{height:auto;aspect-ratio:1.3}.profile-reverse .profile-photo{order:0}.profile-copy h2{font-size:31px}.profile-copy .role{font-size:15px;margin-bottom:19px}.profile-copy p{font-size:16px}
    .voucher-intro>.container{width:100%;grid-template-columns:1fr;gap:0}.voucher-intro>.container>div{padding:39px 24px 32px}.voucher-intro h1{font-size:44px;margin-bottom:22px}.voucher-intro .lead{font-size:18px}.light-link{font-size:15px}.voucher-photo{height:auto;min-height:0;aspect-ratio:2.1;margin:0}.voucher-photo img{object-position:center 55%}
    .voucher-delivery{margin-top:28px;padding-top:27px}.voucher-delivery h2{font-size:26px}.faq-nav{display:block;padding:0 20px}.faq-nav a{font-size:15px;padding:14px 0}.faq-nav a+a{border-top:1px solid var(--line)}.faq-nav .icon{display:block}.faq-group>h2{font-size:25px}.faq-group+.faq-group{margin-top:40px}
    .gallery-grid{grid-template-columns:1fr;gap:24px}.gallery-grid figcaption{font-size:14px;padding-top:10px}.video-grid{grid-template-columns:1fr;gap:30px}.video-privacy{font-size:13px}.video-block h3{font-size:19px}
    .lightbox{max-width:calc(100vw - 16px);max-height:calc(100svh - 16px);padding:60px 12px 16px}.lightbox-body{grid-template-columns:1fr 1fr;gap:16px}.lightbox-body figure{grid-column:1/-1;grid-row:1}.lightbox-image{height:auto;max-height:65vh}.lightbox-prev{justify-self:end}.lightbox-next{justify-self:start}.lightbox figcaption{font-size:14px;margin-top:16px}.lightbox-counter{position:absolute;top:18px;left:16px;margin:0}
    .contact-layout{grid-template-columns:1fr;gap:34px}.contact-info{display:grid;grid-template-columns:1fr;gap:26px}.contact-method{margin-bottom:0}.contact-method h2{font-size:19px;margin-bottom:9px}.contact-phone{font-size:28px}.contact-method>a:not(.contact-phone):not(.text-link){font-size:16px}.contact-booking{max-width:100%}.form-panel{padding:25px 22px}.form-panel>h2{font-size:26px;margin-bottom:10px}.contact-form .button{width:100%}.form-privacy{font-size:13px}
    .prose{margin-left:20px;width:calc(100% - 40px)}.prose h2{font-size:25px;margin-top:30px}.prose p{font-size:16px}
    .not-found{padding-block:54px 70px}.not-found h1{font-size:42px}.not-found>p:not(.error-code){font-size:18px}
    .footer-main{grid-template-columns:1fr 1fr;gap:26px 24px;padding-top:38px;padding-bottom:32px}.footer-brand{grid-column:1/-1}.footer-brand img{width:162px}.footer-brand p{margin-top:15px}.footer-contact{grid-column:1/-1}.site-footer h2{margin:9px 0 16px}.site-footer li a{font-size:14px}.footer-contact>a{font-size:15px}.footer-contact .footer-phone{font-size:25px}.social-links{margin-top:17px}.footer-bottom{display:block;padding-block:20px;font-size:12px}.footer-bottom a{display:inline-block;margin-top:10px}
}
@media(max-width:360px){.hero-copy{padding-inline:20px}.hero-copy h1{font-size:39px}.hero-copy>p{font-size:17px}.card-content{padding:21px}.form-panel{padding:23px 18px}.card-price-line .minutes-label{font-size:15px}.contact-phone{font-size:26px}.contact-method>a:not(.contact-phone):not(.text-link){font-size:14px}.footer-contact>a{font-size:14px}.menu-toggle{font-size:13px;padding-inline:8px}.brand img{width:136px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
@media print{.site-header,.site-footer,.button,.booking-banner,.contact-strip,.menu-toggle,.video-grid,.lightbox{display:none!important}body{font-size:12pt;color:black}.container{width:100%;max-width:none}.section,.section-bottom{padding-block:20px}h1,h2,h3{color:black}.home-hero{display:block;background:white}.hero-copy h1,.hero-copy>p{color:black}.hero-photo{display:none}.experience-grid{grid-template-columns:repeat(3,1fr)}.card-photo{display:none}.section-tint{background:white}.faq-item .faq-answer{display:block}.faq-item{break-inside:avoid}.contact-layout{display:block}.form-panel{display:none}a{color:black}}
