/* Halcolux — visual direction from client reference, homepage. */
.reference-home { background: var(--bg); color: var(--ink); }
.reference-home .wrap { max-width: 1380px; }
.reference-home .nav-inner { max-width: 1460px; height: 76px; }
.reference-home .brand img { width: 38px; height: 38px; object-fit: contain; }
.reference-home .brand-name { font-size: 1.08rem; letter-spacing: .32em; }
.reference-home .nav-links a { font-size: .75rem; letter-spacing: .045em; }
.reference-home .nav-cta .btn { background: #e8dfd0; color: #15201b; border: 0; text-transform: uppercase; font-size: .66rem; letter-spacing: .15em; padding: .86rem 1.5rem; }
.reference-home .nav-cta .btn:hover { background: #fffaf0; }
.reference-home .nav.scrolled .nav-cta .btn { background: var(--dark); color: var(--paper); }
.reference-home .nav.scrolled .nav-cta .btn:hover { background: #354237; }
.reference-home .nav.is-dark:not(.scrolled) .brand img { filter: brightness(0) invert(1); }
.reference-home .nav.scrolled { background: rgba(20,29,25,.97); color: #fff; box-shadow: 0 1px 0 rgba(247,245,239,.13); }
.reference-home .nav.scrolled .brand img { filter: none; }
.reference-home .nav.scrolled .brand-name { color: #fff; }
.reference-home .nav.scrolled .nav-links a { color: rgba(255,255,255,.78); }
.reference-home .nav.scrolled .nav-cta .btn { background: #e8dfd0; color: #15201b; }
.reference-home .menu-overlay { background: #141d19; }
.reference-home h1, .reference-home h2, .reference-home h3 { font-weight: 400; }
.reference-home em { font-weight: 400; }
.ref-kicker { display: block; margin: 0 0 1.25rem; font: 600 .66rem/1.35 var(--sans); text-transform: uppercase; letter-spacing: .24em; }
.ref-kicker.light { color: #d5c6ae; }
.ref-kicker.dark { color: #615e4f; }
.ref-text-link { display: inline-flex; align-items: center; gap: .7rem; border-bottom: 1px solid rgba(23,33,29,.55); padding-bottom: .55rem; color: var(--ink); font: 600 .7rem/1.3 var(--sans); letter-spacing: .14em; text-transform: uppercase; transition: gap .2s, border-color .2s; }
.ref-text-link:hover { gap: 1.05rem; border-color: currentColor; }
.ref-text-link.light { color: var(--paper); border-color: rgba(247,245,239,.55); }

/* The reference opens with a hotel arrival and generous negative space. */
.ref-hero { position: relative; min-height: min(790px, 86svh); background: #0d1413; color: #fff; display: flex; align-items: flex-end; isolation: isolate; overflow: hidden; }
.ref-hero-image { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: center 72%; }
.ref-hero-video { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: center; opacity: 0; transition: opacity .7s ease; }
.ref-hero-video.is-playing { opacity: 1; }
.ref-hero-video.is-finished { opacity: 0; }
.ref-hero::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg,rgba(5,10,10,.84) 0%,rgba(5,10,10,.64) 29%,rgba(5,10,10,.05) 73%),linear-gradient(0deg,rgba(5,10,10,.72),transparent 36%,rgba(5,10,10,.3)); }
.ref-hero-inner { width: 100%; padding-top: 150px; padding-bottom: 102px; }
.ref-hero-copy { max-width: 760px; margin-bottom: 2rem; }
.ref-hero .ref-kicker { color: rgba(255,255,255,.7); margin-bottom: 1.2rem; }
.ref-hero h1 { font-size: clamp(3.5rem,5.7vw,6rem); line-height: 1; letter-spacing: -.05em; max-width: 15ch; margin: 0 0 .23em; color: #fff; }
.ref-hero-line { color: #f0e6d7; font: 400 clamp(1.45rem,2.25vw,2.2rem)/1.18 var(--serif); letter-spacing: -.025em; margin: 0 0 .48rem; }
.ref-hero-description { color: rgba(255,255,255,.87); max-width: 35rem; font-size: clamp(.95rem,1.15vw,1.08rem); line-height: 1.52; margin: 0; }
.ref-hero-contact { display: flex; flex-wrap: wrap; gap: .7rem 2rem; margin: 0 0 2.35rem; }
.ref-hero-contact a { color: rgba(255,255,255,.9); font: 500 .69rem/1.45 var(--sans); letter-spacing: .04em; }
.ref-hero-contact a span { display: block; margin-bottom: .14rem; color: #c7b79c; font-size: .56rem; font-weight: 700; letter-spacing: .17em; text-transform: uppercase; }
.ref-hero-meta { border-top: 1px solid rgba(255,255,255,.36); padding-top: 1rem; }
.ref-hero-types { list-style: none; display: flex; flex-wrap: wrap; align-items: center; gap: .24rem 0; padding: 0; color: rgba(255,255,255,.77); font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; margin: 0; }
.ref-hero-types li { display: flex; align-items: center; white-space: nowrap; }
.ref-hero-types li:not(:first-child)::before { content: "·"; padding: 0 .5rem; color: #c7b79c; }

/* The planner transfers the brief to /contact/; it does not promise instant availability. */
.ref-planner { position: relative; z-index: 3; margin-top: -76px; }
.ref-planner-form { display: grid; grid-template-columns: 1.2fr repeat(5,minmax(0,1fr)); min-height: 152px; background: #f8f6f0; box-shadow: 0 12px 36px rgba(9,18,15,.16); border: 1px solid #e6e2d7; align-items: stretch; }
.ref-planner-title { grid-row: 1 / span 2; padding: 1.2rem 1.4rem; display: flex; flex-direction: column; justify-content: center; border-right: 1px solid #d8d5ca; }
.ref-planner-title > span { font: 600 .73rem/1.35 var(--sans); letter-spacing: .19em; text-transform: uppercase; color: var(--ink); }
.ref-plan-field { min-width: 0; min-height: 76px; padding: .9rem .85rem; display: flex; flex-direction: column; justify-content: center; gap: .42rem; border-right: 1px solid #d8d5ca; border-bottom: 1px solid #d8d5ca; }
.ref-plan-field:nth-child(n+7) { border-bottom: 0; }
.ref-plan-field > span { color: #72786d; font: 600 .58rem/1 var(--sans); letter-spacing: .17em; text-transform: uppercase; }
.ref-plan-field input, .ref-plan-field select { min-width: 0; width: 100%; padding: .15rem 0; border: 0; border-radius: 0; outline: none; background: transparent; color: var(--ink); font: 500 .8rem/1.35 var(--sans); box-shadow: none; appearance: auto; }
.ref-plan-field input::placeholder { color: #6c746d; opacity: 1; }
.ref-plan-field input:focus-visible, .ref-plan-field select:focus-visible { outline: 2px solid var(--gold-deep); outline-offset: 3px; }
.ref-luggage-counts { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; }
.ref-luggage-counts label { min-width: 0; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: .25rem; }
.ref-luggage-counts label > span { color: #596159; font: 500 .61rem/1.2 var(--sans); }
.ref-luggage-counts select { width: 2.9rem; }
.ref-plan-action { min-width: 0; min-height: 76px; display: grid; grid-template-rows: minmax(48px,1fr) auto; background: #172c25; }
.ref-plan-submit { border: 0; border-radius: 0; background: #172c25; color: #fff; cursor: pointer; padding: .55rem 1.05rem; display: flex; align-items: center; justify-content: space-between; gap: .65rem; font: 600 .58rem/1.25 var(--sans); white-space: nowrap; letter-spacing: .11em; text-transform: uppercase; transition: background .2s; }
.ref-plan-submit:hover { background: #31463c; }
.ref-plan-submit span { font-size: 1rem; font-weight: 400; }
.ref-plan-assistance { padding: .55rem .75rem .62rem; color: rgba(255,255,255,.72); border-top: 1px solid rgba(255,255,255,.14); font: 500 .7rem/1.4 var(--sans); text-align: center; }
.ref-plan-assistance:hover { color: #fff; }

/* Promise. */
.ref-promise { padding: clamp(5.5rem,8vw,8.8rem) 0 clamp(5rem,7.5vw,8rem); }
.ref-promise-grid { display: grid; grid-template-columns: 1fr .93fr; gap: clamp(3rem,6vw,7rem); align-items: center; }
.ref-promise-copy { max-width: 630px; }
.ref-promise h2 { font-size: clamp(2.8rem,4.1vw,4.4rem); letter-spacing: -.042em; line-height: 1.08; margin: 0 0 .48em; }
.ref-promise h2 em { font-style: italic; }
.ref-promise-copy > p:not(.ref-kicker):not(.ref-promise-signoff) { max-width: 40rem; font-size: 1rem; line-height: 1.75; color: #56615a; margin-bottom: 2rem; }
.ref-promise-signoff { font: 600 .62rem/1.4 var(--sans); letter-spacing: .17em; text-transform: uppercase; color: #7c8176; margin-top: 3.5rem; }
.ref-promise-image { height: min(36vw,515px); min-height: 400px; overflow: hidden; }
.ref-promise-image img { width: 100%; height: 100%; object-fit: cover; object-position: center center; }

/* Five journeys, one visual rhythm. */
.ref-journeys { padding: clamp(5.2rem,7vw,7.7rem) 0 clamp(5.7rem,7.5vw,8rem); background: #17221d; color: var(--paper); }
.ref-center-heading { text-align: center; margin-bottom: 3rem; }
.ref-center-heading .ref-kicker { margin-bottom: .9rem; }
.ref-center-heading h2 { color: var(--paper); font-size: clamp(2.8rem,4.2vw,4.45rem); margin: 0 0 .17em; }
.ref-center-heading > p:last-child { color: rgba(247,245,239,.66); font-size: .88rem; margin: 0; }
.ref-journey-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; background: rgba(247,245,239,.16); border: 1px solid rgba(247,245,239,.16); }
.ref-journey-card { min-width: 0; background: #202d25; display: flex; flex-direction: column; color: var(--paper); overflow: hidden; transition: background .25s; }
.ref-journey-card:hover { background: #2b3c32; }
.ref-journey-card img { width: 100%; height: clamp(210px,21vw,310px); object-fit: cover; filter: saturate(.68); transition: filter .25s, transform .5s; }
.ref-journey-card:hover img { filter: saturate(.9); transform: scale(1.025); }
.ref-journey-card:nth-child(1) img { object-position: center 58%; }
.ref-journey-card:nth-child(3) img { object-position: center 60%; }
.ref-journey-card:nth-child(4) img { object-position: center 67%; }
.ref-journey-card:nth-child(5) img { object-position: center 69%; }
.ref-journey-card > div { padding: 1.6rem 1.45rem 1.5rem; min-height: 240px; display: flex; flex-direction: column; }
.ref-journey-card > div > span { font: 600 .58rem/1.2 var(--sans); letter-spacing: .15em; text-transform: uppercase; color: #cbbba1; }
.ref-journey-card h3 { color: #fff; font-size: clamp(1.75rem,2.35vw,2.55rem); letter-spacing: -.035em; line-height: 1.03; margin: .75rem 0 .4rem; }
.ref-journey-card p { color: rgba(247,245,239,.7); font-size: .8rem; line-height: 1.55; margin: 0 0 1.5rem; }
.ref-journey-card b { margin-top: auto; font: 600 .6rem/1.2 var(--sans); letter-spacing: .16em; text-transform: uppercase; display: flex; justify-content: space-between; color: #e5ddcd; }
.ref-journey-card b span { font-size: .95rem; font-weight: 400; }

/* Fleet on paper rather than another dark catalogue. */
.ref-fleet { padding: clamp(5.7rem,8vw,8.8rem) 0 clamp(5.7rem,8vw,8.8rem); background: var(--bg); }
.ref-section-heading { display: flex; justify-content: space-between; gap: 3rem; align-items: end; margin-bottom: 2.6rem; }
.ref-section-heading h2 { font-size: clamp(2.75rem,4.15vw,4.5rem); line-height: 1.04; margin: 0; }
.ref-section-heading > p { max-width: 22rem; color: #58625c; font-size: .9rem; line-height: 1.65; margin: 0 0 .25rem; }
.ref-fleet-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: clamp(.7rem,1.5vw,1.35rem); }
.ref-fleet-card { background: #fffefa; border: 1px solid #dfddd2; display: flex; flex-direction: column; transition: border-color .2s, transform .25s; }
.ref-fleet-card:hover { transform: translateY(-3px); border-color: #a59e8d; }
.ref-fleet-media { position: relative; width: 100%; aspect-ratio: 1.28; overflow: hidden; background: #dadbd5; }
.ref-fleet-card img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.7); }
.ref-fleet-card:first-child .ref-fleet-media img:first-child { object-position: center 73%; }
.ref-fleet-card:first-child .ref-fleet-media img:last-child { object-position: center 52%; }
.ref-fleet-card:nth-child(3) .ref-fleet-media img:first-child { object-position: center 58%; }
.ref-fleet-card:nth-child(4) .ref-fleet-media img { object-position: center 54%; }
.ref-fleet-alternate img { position: absolute; inset: 0; }
.ref-fleet-alternate img:last-child { opacity: 0; animation: fleetCrossfade 12s ease-in-out infinite; }
@keyframes fleetCrossfade { 0%,42% { opacity: 0; } 50%,92% { opacity: 1; } 100% { opacity: 0; } }
.ref-fleet-card > .ref-fleet-body { padding: 1.3rem 1.1rem 1.25rem; display: flex; flex-direction: column; flex: 1; }
.ref-fleet-card h3 { font-size: clamp(1.35rem,1.7vw,1.8rem); line-height: 1.12; margin: 0 0 .45rem; }
.ref-fleet-card .ref-fleet-model { color: #38443d; font-size: .79rem; line-height: 1.45; margin: 0 0 .8rem; font-weight: 600; }
.ref-fleet-card .ref-fleet-capacity { color: #6a706a; font-size: .7rem; line-height: 1.5; margin: 0; padding-top: .78rem; border-top: 1px solid #dfddd2; }
.ref-fleet-card .ref-fleet-description { color: #58625c; font-size: .78rem; line-height: 1.55; margin: .8rem 0 0; }
.ref-fleet-more { display: flex; justify-content: center; padding-top: 2.4rem; }
.ref-fleet-more a { border-bottom: 1px solid var(--ink); padding-bottom: .55rem; font: 600 .67rem/1.2 var(--sans); letter-spacing: .16em; text-transform: uppercase; }
.ref-fleet-more a span { margin-left: 1.3rem; }

/* People and service standards. */
.ref-craft { display: grid; grid-template-columns: .8fr 1.05fr 1.55fr; background: #18251e; color: var(--paper); min-height: 680px; }
.ref-craft-image { min-width: 0; overflow: hidden; }
.ref-craft-image img { width: 100%; height: 100%; object-fit: cover; object-position: center 30%; filter: saturate(.7) brightness(.78); }
.ref-craft-story, .ref-craft-standard { padding: clamp(3rem,5vw,5.5rem) clamp(2rem,3.1vw,4rem); }
.ref-craft-story { background: #1b2821; display: flex; flex-direction: column; justify-content: center; }
.ref-craft-story h2, .ref-craft-standard h2 { color: #f7f5ef; font-size: clamp(2.1rem,3.15vw,3.45rem); line-height: 1.08; margin: 0 0 .7em; }
.ref-craft-story > p:not(.ref-kicker) { color: rgba(247,245,239,.69); font-size: .89rem; line-height: 1.7; margin-bottom: 1rem; }
.ref-craft-story .ref-text-link { align-self: flex-start; margin-top: 1.2rem; }
.ref-craft-standard { border-left: 1px solid rgba(247,245,239,.15); }
.ref-craft-standard h2 { font-size: clamp(2.2rem,3vw,3.15rem); }
.ref-craft-standard h2 em { font-style: italic; color: #e0d2b9; }
.ref-standard-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.4rem 1.8rem; margin-top: 2.5rem; }
.ref-standard-grid > div { border-top: 1px solid rgba(247,245,239,.22); padding-top: 1rem; }
.ref-standard-grid span { display: block; font: 500 1rem/1 var(--serif); color: #d6c8ae; margin-bottom: .6rem; }
.ref-standard-grid h3 { color: #f7f5ef; font: 600 .85rem/1.2 var(--sans); letter-spacing: .02em; margin: 0 0 .3rem; }
.ref-standard-grid p { color: rgba(247,245,239,.66); font-size: .73rem; line-height: 1.5; margin: 0; }

/* Client-confidence block replaces the previous arrival film without inventing quotes. */
.ref-client-experience { padding: clamp(5.2rem,7.5vw,7.5rem) 0; background: #e9e4d9; }
.ref-client-heading { max-width: 760px; margin-bottom: 3rem; }
.ref-client-heading h2 { font-size: clamp(2.8rem,4.2vw,4.5rem); line-height: 1.04; margin: 0 0 .35em; }
.ref-client-heading > p:last-child { max-width: 42rem; color: #58625c; line-height: 1.7; }
.ref-client-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid #bdb7aa; border-bottom: 1px solid #bdb7aa; }
.ref-client-grid article { padding: 2rem clamp(1.2rem,2.4vw,2.4rem) 2.2rem; border-right: 1px solid #bdb7aa; }
.ref-client-grid article:first-child { padding-left: 0; }
.ref-client-grid article:last-child { border-right: 0; padding-right: 0; }
.ref-client-grid span { color: #776e5d; font: 600 .61rem/1.3 var(--sans); letter-spacing: .16em; text-transform: uppercase; }
.ref-client-grid h3 { font-size: clamp(1.65rem,2.15vw,2.25rem); margin: .85rem 0 .45rem; }
.ref-client-grid p { color: #58625c; font-size: .86rem; line-height: 1.65; margin: 0; }

.ref-outline-button, .ref-light-button { display: inline-flex; align-items: center; justify-content: center; gap: 1.2rem; min-height: 46px; padding: .9rem 1.35rem; font: 600 .66rem/1.25 var(--sans); text-transform: uppercase; letter-spacing: .13em; transition: background .2s, color .2s, border-color .2s; }
.ref-outline-button { border: 1px solid rgba(247,245,239,.75); color: #fff; background: transparent; }
.ref-outline-button:hover { background: #f7f5ef; color: var(--ink); }
.ref-light-button { background: #e7dece; border: 1px solid #e7dece; color: var(--ink); }
.ref-light-button:hover { background: #fff; border-color: #fff; }

/* Editorial follow-through. */
.ref-editorial { padding: clamp(5.5rem,8vw,8.5rem) 0; background: var(--bg); }
.ref-editorial-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; background: #deddd3; border: 1px solid #deddd3; }
.ref-editorial-card { min-width: 0; display: flex; flex-direction: column; background: #fffefa; }
.ref-editorial-card > img { width: 100%; height: clamp(170px,17vw,250px); object-fit: cover; filter: saturate(.72); }
.ref-editorial-card > div { padding: 1.35rem 1.4rem 1.5rem; display: flex; flex-direction: column; flex: 1; }
.ref-editorial-card span { color: #6c715f; font: 600 .6rem/1.3 var(--sans); letter-spacing: .15em; text-transform: uppercase; }
.ref-editorial-card h3 { font-size: clamp(1.7rem,2.25vw,2.5rem); line-height: 1.08; margin: .75rem 0 .45rem; }
.ref-editorial-card p { color: #58625c; font-size: .85rem; line-height: 1.6; }
.ref-editorial-card b { display: flex; justify-content: space-between; border-top: 1px solid #dcdad0; padding-top: .8rem; margin-top: auto; font: 600 .6rem/1.2 var(--sans); text-transform: uppercase; letter-spacing: .13em; }
.ref-editorial-card b span { font-size: .95rem; }
.ref-editorial-dark { position: relative; background: #1b2722; color: var(--paper); isolation: isolate; }
.ref-editorial-dark > img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; filter: saturate(.75) brightness(.57); }
.ref-editorial-dark::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg,rgba(12,19,16,.92),rgba(12,19,16,.32)); }
.ref-editorial-dark > div { min-height: 485px; justify-content: flex-end; }
.ref-editorial-dark span, .ref-editorial-dark p { color: rgba(247,245,239,.77); }
.ref-editorial-dark b { border-color: rgba(247,245,239,.4); }

/* Private and corporate accounts. */
.ref-accounts { padding: clamp(5.5rem,8vw,8.5rem) 0; background: #17231d; color: var(--paper); }
.ref-accounts-layout { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: clamp(3rem,7vw,8rem); align-items: start; }
.ref-accounts-intro h2 { color: #fff; font-size: clamp(2.8rem,4.25vw,4.6rem); line-height: 1.04; margin: 0 0 .45em; }
.ref-accounts-intro > p:not(.ref-kicker) { max-width: 38rem; color: rgba(247,245,239,.72); font-size: .92rem; line-height: 1.75; }
.ref-accounts-intro .ref-light-button { margin-top: 1.4rem; }
.ref-accounts-grid { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid rgba(247,245,239,.18); border-left: 1px solid rgba(247,245,239,.18); }
.ref-accounts-grid > div { min-height: 185px; padding: 1.55rem 1.5rem; border-right: 1px solid rgba(247,245,239,.18); border-bottom: 1px solid rgba(247,245,239,.18); }
.ref-accounts-grid span { color: #d6c8ae; font: 600 .59rem/1.2 var(--sans); letter-spacing: .16em; }
.ref-accounts-grid h3 { color: #fff; font-size: clamp(1.4rem,1.8vw,1.8rem); margin: .85rem 0 .4rem; }
.ref-accounts-grid p { color: rgba(247,245,239,.66); font-size: .8rem; line-height: 1.6; margin: 0; }

/* Destination and invitation. */
.ref-final { position: relative; min-height: 500px; display: grid; place-items: center; text-align: center; background: #121a19; color: #fff; isolation: isolate; overflow: hidden; }
.ref-final > img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: center 58%; }
.ref-final::before { content: ''; position: absolute; inset: 0; z-index: -1; background: rgba(7,15,16,.62); }
.ref-final-content { padding: 5.8rem 1.5rem; }
.ref-final-content > img { display: block; width: 40px; height: 40px; object-fit: contain; filter: brightness(0) invert(1); margin: 0 auto .8rem; }
.ref-final .ref-kicker { margin-bottom: 1.2rem; }
.ref-final h2 { color: #fff; font-size: clamp(2.8rem,4.6vw,5rem); line-height: 1.04; margin: 0 0 .35em; }
.ref-final h2 em { font-style: italic; }
.ref-final-copy { max-width: 620px; color: rgba(255,255,255,.83); font-size: .95rem; line-height: 1.65; margin: 0 auto 1.8rem; }
.ref-final-content > div { display: flex; justify-content: center; flex-wrap: wrap; gap: .7rem; }
.ref-final-note { color: rgba(255,255,255,.68); font: 500 .68rem/1.4 var(--sans); letter-spacing: .08em; margin: 1.35rem 0 0; }

.reference-home footer.site-footer { background: #111a16; }
.reference-home footer.site-footer .footer-brand img { filter: brightness(0) invert(1); }
.reference-home footer.site-footer .footer-trust { display: none; }
.reference-home footer.site-footer .footer-grid { padding-bottom: 2.8rem; }
.reference-home footer.site-footer .footer-heading { color: #d6c8ae; }

@media (min-width: 1101px) {
  .ref-luggage-counts { gap: .45rem; }
  .ref-luggage-counts label { grid-template-columns: 1fr; align-items: start; gap: .08rem; }
  .ref-luggage-counts label > span { font-size: .52rem; white-space: nowrap; }
  .ref-luggage-counts select { width: 100%; padding-block: 0; }
}
@media (max-width: 1100px) {
  .ref-planner { margin-top: -52px; }
  .ref-planner-form { grid-template-columns: repeat(3,1fr); }
  .ref-planner-title { grid-column: 1 / -1; grid-row: auto; min-height: 82px; border-bottom: 1px solid #d8d5ca; }
  .ref-plan-field { border-bottom: 1px solid #d8d5ca; }
  .ref-plan-field.ref-pax { border-bottom: 1px solid #d8d5ca; }
  .ref-plan-action { grid-column: 1 / -1; min-height: 76px; }
  .ref-plan-submit { min-height: 50px; }
  .ref-journey-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .ref-craft { grid-template-columns: .8fr 1.2fr; }
  .ref-craft-standard { grid-column: 1 / -1; border-left: 0; border-top: 1px solid rgba(247,245,239,.15); }
  .ref-accounts-layout { grid-template-columns: 1fr; gap: 3.5rem; }
}
@media (max-width: 880px) {
  .reference-home .nav-cta .btn { display: none; }
  .ref-planner-form { grid-template-columns: 1fr 1fr; }
  .ref-plan-field:nth-child(odd) { border-right: 0; }
  .ref-luggage-field { grid-column: 1; grid-row: span 2; border-right: 1px solid #d8d5ca; border-bottom: 0; }
  .ref-luggage-counts { grid-template-columns: 1fr; gap: .65rem; }
  .ref-luggage-counts label { grid-template-columns: auto minmax(3rem,auto); justify-content: space-between; }
  .ref-luggage-counts label > span { white-space: nowrap; }
  .ref-luggage-counts select { width: 3.25rem; }
  .ref-plan-field.ref-flight { grid-column: 2; border-right: 0; border-bottom: 1px solid #d8d5ca; }
  .ref-plan-field.ref-vehicle { grid-column: 2; border-right: 0; border-bottom: 0; }
  .ref-hero { min-height: 720px; }
  .ref-hero-inner { padding-bottom: 96px; }
  .ref-hero-copy { margin-bottom: 3rem; }
  .ref-hero h1 { font-size: clamp(3.3rem,8vw,5rem); }
  .ref-promise-grid { grid-template-columns: 1fr; gap: 2.5rem; }
  .ref-promise-image { min-height: 0; height: auto; aspect-ratio: 1.45; }
  .ref-journey-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ref-fleet-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ref-section-heading { align-items: start; flex-direction: column; gap: 1rem; }
  .ref-craft { grid-template-columns: 1fr 1fr; }
  .ref-craft-image { min-height: 560px; }
  .ref-craft-story, .ref-craft-standard { padding: 3rem; }
  .ref-craft-standard { grid-column: 1 / -1; }
  .ref-client-grid { grid-template-columns: 1fr; }
  .ref-client-grid article { padding: 1.7rem 0; border-right: 0; border-bottom: 1px solid #bdb7aa; }
  .ref-client-grid article:last-child { border-bottom: 0; }
  .ref-editorial-grid { grid-template-columns: 1fr 1fr; }
  .ref-editorial-dark { grid-column: 1 / -1; }
  .ref-editorial-dark > div { min-height: 340px; }
}
@media (max-width: 600px) {
  .reference-home .nav-inner { height: 70px; }
  .ref-hero { min-height: 690px; min-height: 84svh; }
  .ref-hero-image { object-position: center 62%; }
  .ref-hero-video { object-position: 68% center; }
  .ref-hero::after { background: linear-gradient(90deg,rgba(5,10,10,.66),rgba(5,10,10,.1)),linear-gradient(0deg,rgba(5,10,10,.78),rgba(5,10,10,.25) 50%,rgba(5,10,10,.3)); }
  .ref-hero-inner { padding-top: 120px; padding-bottom: 75px; }
  .ref-hero-copy { margin-bottom: 2rem; }
  .ref-hero .ref-kicker { max-width: 31ch; font-size: .57rem; line-height: 1.55; }
  .ref-hero h1 { font-size: clamp(3rem,12.3vw,4.2rem); max-width: 12ch; }
  .ref-hero-line { font-size: 1.4rem; }
  .ref-hero-description { font-size: .94rem; max-width: 19rem; }
  .ref-hero-types { font-size: .6rem; line-height: 1.7; letter-spacing: .07em; }
  .ref-hero-types li:not(:first-child)::before { padding: 0 .25rem; }
  .ref-hero-contact { gap: .65rem 1.2rem; margin-bottom: 1.4rem; }
  .ref-hero-contact a { font-size: .62rem; }
  .ref-planner { margin-top: -27px; }
  .ref-planner-title { grid-column: 1 / -1; padding: .85rem 1rem; min-height: 0; }
  .ref-planner-title > span { font-size: .68rem; }
  .ref-planner-title > span br { display: none; }
  .ref-plan-field { min-height: 70px; padding: .85rem .95rem; }
  .ref-plan-field input, .ref-plan-field select { font-size: .73rem; }
  .ref-plan-field input::placeholder { font-size: .72rem; }
  .ref-luggage-counts label > span { font-size: .61rem; white-space: nowrap; }
  .ref-plan-action { grid-column: 1 / -1; }
  .ref-plan-submit { min-height: 52px; justify-content: space-between; padding: 0 1rem; }
  .ref-plan-assistance { font-size: .7rem; }
  .ref-promise { padding-block: 5rem; }
  .ref-promise h2 { font-size: clamp(2.55rem,10.3vw,3.3rem); }
  .ref-promise-signoff { margin-top: 2.2rem; }
  .ref-promise-image { aspect-ratio: 1.1; }
  .ref-journeys { padding-block: 4.8rem; }
  .ref-center-heading { margin-bottom: 2rem; }
  .ref-center-heading h2 { font-size: 2.75rem; }
  .ref-journey-grid { grid-template-columns: 1fr; }
  .ref-journey-card img { height: 220px; }
  .ref-journey-card > div { padding: 1.35rem 1.2rem; min-height: 230px; }
  .ref-journey-card h3 { font-size: 2rem; }
  .ref-journey-card p { font-size: .79rem; }
  .ref-fleet { padding-block: 5rem; }
  .ref-section-heading h2 { font-size: 2.8rem; }
  .ref-fleet-grid { grid-template-columns: 1fr; gap: .8rem; }
  .ref-fleet-media { aspect-ratio: 1.35; }
  .ref-fleet-card > .ref-fleet-body { padding: 1.25rem 1.1rem; }
  .ref-fleet-card h3 { font-size: 1.7rem; }
  .ref-craft { grid-template-columns: 1fr; }
  .ref-craft-image { grid-row: auto; min-height: 0; aspect-ratio: 1.2; }
  .ref-craft-story, .ref-craft-standard { padding: 3.7rem var(--gutter); }
  .ref-craft-standard { grid-column: auto; }
  .ref-craft-standard h2, .ref-craft-story h2 { font-size: 2.6rem; }
  .ref-standard-grid { grid-template-columns: 1fr; }
  .ref-client-heading h2 { font-size: 2.8rem; }
  .ref-editorial { padding-block: 5rem; }
  .ref-editorial-grid { grid-template-columns: 1fr; }
  .ref-editorial-card > img { height: 205px; }
  .ref-editorial-dark { grid-column: auto; }
  .ref-editorial-dark > div { min-height: 340px; }
  .ref-accounts { padding-block: 5rem; }
  .ref-accounts-intro h2 { font-size: 2.8rem; }
  .ref-accounts-grid { grid-template-columns: 1fr; }
  .ref-accounts-grid > div { min-height: 0; }
  .ref-final { min-height: 500px; }
  .ref-final h2 { font-size: 2.7rem; }
  .ref-final-content > div { flex-direction: column; align-items: stretch; }
}
@media (prefers-reduced-motion: reduce) {
  .ref-hero-video { display: none; }
  .ref-journey-card img, .ref-fleet-card { transition: none; }
  .ref-fleet-alternate img:last-child { animation: none; opacity: 0; }
}
