/* Editorial composition and motion, November preview refinement. */
@font-face{font-family:Instrument Serif;src:url('/assets/instrument-serif.woff2') format('woff2');font-display:swap}
html{scroll-padding-top:110px}
.site-header.wrap{position:sticky;top:0;z-index:50;width:100%;max-width:none;padding-inline:max(32px,calc((100vw - 1328px)/2));height:88px;background:rgba(245,244,239,.97);backdrop-filter:blur(16px)}
.skip{z-index:100}
.route-wordmark{display:block;width:100%;aspect-ratio:4/1}
.route-wordmark img{display:block;width:100%;height:100%;object-fit:cover}
.site-header .brand{width:300px;min-width:0;flex:0 1 300px}
.desktop-nav a{position:relative;border:0}
.desktop-nav a:after{content:'';position:absolute;left:0;bottom:6px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s}
.desktop-nav a:hover:after,.desktop-nav a[aria-current]:after{transform:scaleX(1)}
.header-cta{background:var(--ink);color:white;border-radius:0;padding:15px 20px}
.cinematic.home-hero{position:relative;isolation:isolate;width:100%;max-width:none;min-height:600px;height:min(760px,78vh);display:grid;grid-template-columns:1fr;padding:60px 0 120px;gap:0;background:var(--ink);color:#fff}
.cinematic .hero-copy{width:calc(100% - 112px);max-width:1328px;margin:auto;padding:0;align-self:center}
.cinematic .hero-copy h1{font-size:clamp(4.4rem,7.7vw,7.8rem);line-height:.99;letter-spacing:-.065em;margin:28px 0;max-width:900px}
.hero-copy h1>span{display:block}
.cinematic .hero-copy em{color:#d9e9e6;font-family:var(--font-display);font-weight:400;letter-spacing:-.035em}
.cinematic .hero-copy>.eyebrow{color:#e2eeec;font-size:.67rem;letter-spacing:.19em}
.cinematic .status-dot{background:#a6d6d7}
.cinematic .hero-copy>p:not(.eyebrow){max-width:410px;color:#edf1ef;font-size:1rem;line-height:1.75}
.cinematic .text-link{color:#fff;border-color:#a7b9ba;margin-top:5px;padding-bottom:14px;gap:65px}
.cinematic .hero-image{position:absolute;inset:0;height:100%;width:100%;z-index:-2;border-radius:0;margin:0;background:var(--ink)}
.cinematic .hero-image img{object-position:50% 57%}
.cinematic .hero-image:after{inset:0;background:linear-gradient(90deg,rgba(7,26,33,.84) 0%,rgba(7,26,33,.62) 38%,rgba(7,26,33,.08) 76%),linear-gradient(0deg,rgba(7,26,33,.35),transparent 45%)}
.cinematic .hero-image figcaption{inset:auto 40px 90px auto;display:block}
.cinematic .hero-image figcaption>span{display:none}
.quick-enquiry.wrap{margin-top:-65px;position:relative;z-index:2;border-radius:0;border:0;box-shadow:0 25px 65px #01323a13;padding:30px 36px 24px}
.quick-title h2{font-size:1.55rem}.quick-title>span{text-transform:uppercase;font-size:.6rem;letter-spacing:.14em}
.quick-enquiry input{border-radius:0;background:#fcfcf9}
.button{border-radius:0;position:relative;overflow:hidden;transition:background .3s,box-shadow .3s}
.button:hover{transform:none;box-shadow:0 7px 20px #01323a20}
.button span,.text-link span,.header-cta span{display:inline-block;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.button:hover span,.text-link:hover span,.header-cta:hover span{transform:translate(3px,-3px)}
.section-heading h2{font-size:clamp(2.5rem,4vw,4rem)}
.service-list{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;border:0}
.service-list>a{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:20px;padding:30px 28px 36px;min-height:350px;border:1px solid #c8d4d1;background:#e9efea;overflow:hidden;transition:background .4s,border-color .4s}
.service-list>a:nth-child(2){background:#e2ebed}.service-list>a:nth-child(3){background:#ebe9e1}
.service-title{display:flex;flex-direction:column;align-items:flex-start;gap:45px;font-size:1.7rem;line-height:1.15;position:relative;z-index:1}

.service-list a>span:nth-child(2){font-size:.9rem;line-height:1.7;position:relative;z-index:1;padding-right:30px}
.service-list i{margin-top:auto;width:44px;height:44px;border-color:#819b9e;position:relative;z-index:1;transition:transform .4s,background .4s,color .4s}
.service-list>a:before,.service-list>a:after{content:'';position:absolute;width:260px;height:260px;border:1px solid #01323a14;border-radius:50%;top:-145px;right:-115px;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.service-list>a:after{width:340px;height:340px;right:-155px;top:-185px}
.service-list>a:hover,.service-list>a:focus-visible{background:#d5e5e3;border-color:#6b9299}
.service-list>a:hover:before,.service-list>a:hover:after{transform:translate(-25px,35px) scale(1.12)}
.service-list>a:hover i{transform:rotate(45deg);background:var(--ink);color:#fff}
.business-feature{border-radius:0;background:#e4eae5}.route-art{min-height:470px;padding:40px;background:var(--ink)}
.journey-map{width:100%;margin:10px 0;color:#d1e5e3;overflow:visible}
.map-guide{stroke:#c6e3e3;stroke-opacity:.08;stroke-width:1}
.map-route{stroke:#86c6d0;stroke-width:3;stroke-linecap:round;stroke-dasharray:1}
.journey-map text{fill:#eef3ec;font-size:48px;font-weight:400;font-family:var(--font-display)}
.business-feature.arrived .map-route{animation:draw-route 1.8s cubic-bezier(.2,.7,.2,1) both}
@keyframes draw-route{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.feature-copy h2{font-size:clamp(2.5rem,4vw,4rem)}
.process{gap:0}.process article{padding:30px 36px 30px 0;margin-right:35px}.process article:last-child{margin-right:0}.step{font-family:var(--font-display);font-size:3rem;font-weight:400;margin-bottom:22px;line-height:1}
.callout{padding-block:70px 95px}.callout h2{font-family:var(--font-display);font-size:clamp(3rem,5vw,5rem);font-weight:400}
.intro{padding-block:80px 65px}.intro h1{font-size:clamp(3.4rem,6.6vw,6.5rem);max-width:1050px}
.travel-photo{overflow:hidden}.travel-photo img{border-radius:0;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
@media(hover:hover){.travel-photo:hover img{transform:scale(1.035)}}
.site-footer{padding-top:75px}.footer-top>div:first-child>p{font-family:var(--font-display);font-size:2.3rem;line-height:1.15}.site-footer .original-badge{width:82px;height:82px}
.airport-route,.enquiry-aside,.journey-form{border-radius:0}
@view-transition{navigation:auto}
::view-transition-old(root){animation:fade-out .18s ease both}::view-transition-new(root){animation:fade-in .35s ease both}
@keyframes fade-out{to{opacity:0}}@keyframes fade-in{from{opacity:0}}
@media(max-width:1150px){.cinematic .hero-copy{width:calc(100% - 64px)}.service-list>a{padding:25px 22px}.service-title{font-size:1.45rem}.feature-copy{padding:35px}}
@media(max-width:850px){.site-header.wrap{padding-inline:24px;height:80px}.mobile-menu nav{top:79px;border-radius:0}.cinematic.home-hero{height:650px;min-height:0;padding-block:60px 100px}.cinematic .hero-copy{width:calc(100% - 48px)}.cinematic .hero-copy h1{font-size:5rem}.cinematic .hero-image img{object-position:62% center}.cinematic .hero-image:after{background:linear-gradient(90deg,#071a21d9,#071a217a 65%,#071a2133)}.quick-enquiry.wrap{padding:26px}.service-list{gap:12px}.service-title{font-size:1.3rem;gap:35px}.service-list>a{padding:22px 18px;min-height:350px}.service-list a>span:nth-child(2){padding:0;font-size:.83rem}.route-art{min-height:420px;padding:28px}.process article{margin-right:20px;padding-right:10px}.intro h1{font-size:4.5rem}.process .step{font-size:2.5rem}}
@media(max-width:600px){.site-header.wrap{height:76px;padding-inline:20px}.original-badge{width:56px;height:56px}.mobile-menu nav{top:75px}.cinematic.home-hero{display:grid;height:575px;padding:48px 0 105px}.cinematic .hero-copy{width:calc(100% - 40px);align-self:start}.cinematic .hero-copy h1{font-size:clamp(3.05rem,12.7vw,4.6rem);margin:24px 0;letter-spacing:-.055em}.cinematic .hero-copy>.eyebrow{font-size:.58rem;letter-spacing:.12em}.cinematic .hero-copy>p:not(.eyebrow){font-size:.94rem;max-width:320px;line-height:1.7}.cinematic .text-link{margin-top:15px}.cinematic .hero-image{order:0}.cinematic .hero-image img{object-position:64% center}.cinematic .hero-image:after{background:linear-gradient(90deg,#071a21dc,#071a2180),linear-gradient(0deg,#071a2166,transparent)}.cinematic .hero-image figcaption{inset:auto 20px 82px auto}.quick-enquiry.wrap{margin-top:-58px;padding:25px 20px 22px}.quick-title h2{font-size:1.45rem}.quick-enquiry form{gap:17px}.section{padding-block:65px}.section-heading h2{font-size:2.5rem}.service-list{grid-template-columns:1fr;gap:16px}.service-list>a{padding:27px;min-height:285px;gap:20px}.service-title{font-size:1.9rem;gap:30px;display:flex;grid-column:auto}.service-list a>span:nth-child(2){font-size:.94rem;padding-right:20px}.service-list i{width:44px;height:44px;grid-column:auto;grid-row:auto}.service-list>a:before{right:-40px}.service-list>a:after{right:-80px}.route-art{min-height:350px}.journey-map{margin-block:0}.feature-copy{padding:35px 28px 42px}.feature-copy h2{font-size:3rem}.process{gap:12px}.process article{margin:0;padding:24px 0;grid-template-columns:50px 1fr}.process .step{margin:0;font-size:2.6rem}.callout{padding-block:45px 65px}.callout h2{font-size:3rem}.intro{padding-block:45px 40px}.intro h1{font-size:clamp(2.75rem,11.5vw,4rem)}.footer-top>div:first-child>p{font-size:2rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}

:root {
  --font-display: 'Instrument Serif', serif;
}
.intro h1, .booking-copy h1 {
  font-family: var(--font-display);
  font-weight: 400;
  letter-spacing: -.025em;
}
.airport-route > span:last-child {
  text-align: right;
}
.airport-route > .flight-line {
  display: flex;
  width: 100%;
  gap: clamp(4px, 1.5vw, 18px);
}
.flight-line::before,
.flight-line::after {
  content: '';
  flex: 1;
  height: 1px;
  background: #8ea9a7;
}
.flight-line svg {
  flex: none;
  width: clamp(26px, 5vw, 48px);
  height: auto;
  padding: clamp(4px, .9vw, 9px);
  border-radius: 5px;
  background: #eef2ed;
  color: var(--ink);
}
.contact-methods {
  display: grid;
  gap: 12px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.contact-methods a {
  display: inline-block;
  padding-block: 6px;
}
.footer-top > div { min-width: 0; }
.site-footer .brand { width: min(100%, 320px); }
.site-footer .route-wordmark img { filter: brightness(0) invert(1); }
@media (max-width: 1150px) {
  .site-header .desktop-nav { display: none; }
  .site-header .brand { flex-basis: 280px; margin-right: auto; }
  .mobile-menu { display: block; }
  .mobile-menu summary {
    list-style: none;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 12px 0 12px 16px;
    font-size: .82rem;
    font-weight: 600;
  }
  .mobile-menu summary::-webkit-details-marker { display: none; }
  .mobile-menu summary span { font-size: 1.2rem; font-weight: 400; }
  .mobile-menu nav {
    position: absolute;
    inset: 100% 0 auto;
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 20px 24px;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 0;
    box-shadow: 0 20px 30px #01323a12;
  }
  .mobile-menu nav a { padding: 12px 0; text-decoration: none; font-size: .95rem; }
  .mobile-menu nav a:last-child { border-top: 1px solid var(--line); margin-top: 10px; font-weight: 600; }
  .site-header .header-cta {
    display: inline-flex;
    align-items: center;
  }
}
@media (max-width: 850px) {
  .site-header.wrap { gap: 10px; }
  .site-header .header-cta { padding: 10px 13px; margin-left: auto; }
  .site-header .header-cta span { margin-left: 7px; }
}
@media (max-width: 600px) {
  .site-header.wrap { padding-inline: 16px; gap: 8px; }
  .site-header .brand { flex: 1 1 200px; max-width: 220px; }
  .site-header .header-cta { flex: none; min-height: 44px; padding: 10px; }
  .site-header .header-cta span { display: none; }
  .mobile-menu { flex: none; }
  .mobile-menu summary { width: 44px; min-height: 44px; justify-content: center; padding: 0; gap: 0; font-size: 0; }
  .airport-route {
    grid-template-columns: auto minmax(36px, 1fr) auto;
    gap: 12px;
    padding: 28px 18px;
  }
  .airport-route > span { font-size: clamp(1.12rem, 4.5vw, 2rem); }
}
