/*
Theme Name: Bespoke Holidays Luxury
Theme URI: https://bespokeholidays.com/
Author: Bespoke Holidays
Description: A fast, editorial WordPress theme for luxury tailor-made multi-centre, twin-centre and fully escorted holidays.
Version: 0.41.0
Requires at least: 6.5
Requires PHP: 8.0
Text Domain: bespoke-luxury
*/

:root {
  --bh-ink: #292821;
  --bh-cream: #f4efe5;
  --bh-paper: #fbf8f1;
  --bh-gold: #958046;
  --bh-gold-dark: #746133;
  --bh-sea: #315d5d;
  --bh-muted: #716b60;
  --bh-line: #d9d0bf;
  --bh-white: #ffffff;
  --bh-serif: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  --bh-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --bh-shadow: 0 18px 50px rgba(41, 40, 33, 0.12);
  --bh-radius: 18px;
  --bh-wrap: min(1180px, calc(100% - 40px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--bh-ink); background: var(--bh-paper); font-family: var(--bh-sans); line-height: 1.65; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.bh-wrap { width: var(--bh-wrap); margin-inline: auto; }

.bh-site-header { position: sticky; top: 0; z-index: 30; background: rgba(244,239,229,.96); border-bottom: 1px solid rgba(149,128,70,.25); backdrop-filter: blur(14px); }
.admin-bar .bh-site-header { top: 32px; }
.bh-header-inner { min-height: 84px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.bh-brand { display: inline-flex; flex-direction: column; text-decoration: none; color: var(--bh-ink); }
.bh-brand-main { font-family: var(--bh-serif); font-size: 28px; letter-spacing: .22em; line-height: 1; }
.bh-brand-sub { margin-top: 7px; color: var(--bh-gold-dark); font-size: 10px; letter-spacing: .42em; text-align: center; }
.bh-custom-logo { width: 220px; max-height: 64px; object-fit: contain; }
.bh-header-actions { display: flex; align-items: center; gap: 22px; }
.bh-menu { display: flex; align-items: center; gap: 25px; margin: 0; padding: 0; list-style: none; }
.bh-menu a { text-decoration: none; font-size: 14px; }
.bh-menu a:hover, .bh-menu a:focus-visible { color: var(--bh-gold-dark); }
.bh-menu-toggle { display: none; border: 0; background: transparent; color: var(--bh-ink); cursor: pointer; padding: 8px; }
.bh-button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 20px; border: 1px solid transparent; border-radius: 999px; background: var(--bh-gold); color: var(--bh-white); font-weight: 600; text-decoration: none; transition: transform .2s ease, background .2s ease; }
.bh-button:hover, .bh-button:focus-visible { background: var(--bh-gold-dark); transform: translateY(-1px); }
.bh-button--light { background: var(--bh-white); color: var(--bh-ink); }
.bh-button--ghost { background: transparent; border-color: currentColor; color: inherit; }

.bh-hero { position: relative; min-height: 690px; display: grid; place-items: center; isolation: isolate; background-position: center; background-size: cover; color: var(--bh-white); overflow: hidden; }
.bh-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(25,27,23,.72) 0%, rgba(25,27,23,.38) 48%, rgba(25,27,23,.03) 80%), linear-gradient(0deg, rgba(20,20,17,.17), transparent 42%); }
.bh-hero-inner { width: var(--bh-wrap); padding-block: 90px; }
.bh-hero-copy { max-width: 660px; }
.bh-eyebrow { margin: 0 0 16px; color: #ecd9a3; font-size: 12px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.bh-hero h1 { margin: 0; max-width: 780px; font-family: var(--bh-serif); font-size: clamp(46px, 7vw, 82px); font-weight: 400; line-height: 1.02; letter-spacing: -.025em; text-wrap: balance; }
.bh-hero h1,.bh-hero .bh-eyebrow,.bh-hero .bh-hero-lede,.bh-hero .bh-hero-note { text-shadow: 0 2px 18px rgba(0,0,0,.46); }
.bh-hero-lede { max-width: 610px; margin: 22px 0 28px; font-size: clamp(17px, 2vw, 21px); color: rgba(255,255,255,.9); }
.bh-button-row { display: flex; flex-wrap: wrap; gap: 12px; }
.bh-hero-note { margin-top: 26px; font-size: 13px; color: rgba(255,255,255,.78); }

.bh-trust-strip { background: var(--bh-ink); color: var(--bh-cream); }
.bh-trust-list { min-height: 70px; display: grid; grid-template-columns: repeat(3, 1fr); align-items: center; gap: 18px; margin: 0; padding: 0; list-style: none; text-align: center; font-size: 12px; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }

.bh-section { padding-block: 90px; }
.bh-section--cream { background: var(--bh-cream); }
.bh-section--ink { background: var(--bh-ink); color: var(--bh-cream); }
.bh-section-heading { max-width: 760px; margin-bottom: 34px; }
.bh-section-heading--split { max-width: none; display: flex; align-items: end; justify-content: space-between; gap: 30px; }
.bh-kicker { margin: 0 0 12px; color: var(--bh-gold-dark); font-size: 11px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.bh-section--ink .bh-kicker { color: #d9c486; }
.bh-section h2 { margin: 0; font-family: var(--bh-serif); font-size: clamp(36px, 5vw, 58px); font-weight: 400; line-height: 1.08; letter-spacing: -.02em; text-wrap: balance; }
.bh-section-intro { max-width: 680px; margin: 18px 0 0; color: var(--bh-muted); font-size: 18px; }
.bh-section--ink .bh-section-intro { color: #d8d0c1; }

.bh-journey-grid { display: grid; grid-template-columns: 1.2fr .8fr .8fr; gap: 18px; }
.bh-journey-card { position: relative; min-height: 410px; display: flex; align-items: end; overflow: hidden; border-radius: var(--bh-radius); color: var(--bh-white); text-decoration: none; background: var(--bh-sea); box-shadow: var(--bh-shadow); }
.bh-journey-card:first-child { min-height: 500px; }
.bh-journey-card::before { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(19,20,17,.8), rgba(19,20,17,.05) 66%); z-index: 1; }
.bh-journey-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.bh-journey-card:hover img { transform: scale(1.035); }
.bh-card-copy { position: relative; z-index: 2; padding: 28px; }
.bh-card-copy span { display: block; margin-bottom: 8px; font-size: 11px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; color: #ecd9a3; }
.bh-card-copy h3 { margin: 0; font-family: var(--bh-serif); font-size: 30px; font-weight: 400; line-height: 1.1; }
.bh-card-copy p { margin: 10px 0 0; color: rgba(255,255,255,.82); font-size: 14px; }

.bh-designer { display: grid; grid-template-columns: 1fr .9fr; gap: 50px; align-items: center; }
.bh-route { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 28px 0; }
.bh-route span { padding: 10px 14px; border: 1px solid rgba(236,217,163,.45); border-radius: 999px; font-size: 13px; }
.bh-route i { color: #d9c486; font-style: normal; }
.bh-designer-panel { padding: 34px; border: 1px solid rgba(236,217,163,.28); border-radius: var(--bh-radius); background: rgba(255,255,255,.045); }
.bh-designer-panel h3 { margin: 0 0 8px; font-family: var(--bh-serif); font-size: 34px; font-weight: 400; }
.bh-designer-panel > p { color: #d8d0c1; }
.bh-question { margin-top: 22px; }
.bh-question strong { display: block; margin-bottom: 10px; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; }
.bh-options { display: flex; flex-wrap: wrap; gap: 8px; }
.bh-option { padding: 9px 12px; border: 1px solid rgba(236,217,163,.4); border-radius: 999px; background: transparent; color: inherit; cursor: pointer; }
.bh-option[aria-pressed="true"] { background: #d9c486; color: var(--bh-ink); border-color: #d9c486; }
.bh-designer-result { min-height: 50px; margin-top: 22px; color: #e9e0cf; font-size: 14px; }

.bh-founder { display: grid; grid-template-columns: .8fr 1.2fr; gap: 58px; align-items: center; }
.bh-founder-media { overflow: hidden; min-height: 520px; border-radius: var(--bh-radius); background: #d8cfbf; }
.bh-founder-media img { width: 100%; height: 100%; min-height: 520px; object-fit: cover; }
.bh-founder-copy blockquote { margin: 28px 0; padding-left: 22px; border-left: 2px solid var(--bh-gold); font-family: var(--bh-serif); font-size: 24px; line-height: 1.4; }

.bh-journal-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.bh-article-card { border-top: 1px solid var(--bh-line); padding-top: 18px; }
.bh-article-card a { text-decoration: none; }
.bh-article-card h3 { margin: 8px 0; font-family: var(--bh-serif); font-size: 25px; font-weight: 400; line-height: 1.2; }
.bh-article-card p { margin: 0; color: var(--bh-muted); }
.bh-article-meta { color: var(--bh-gold-dark); font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.bh-home-journal-section .bh-section-heading--split { align-items: end; }
.bh-home-journal-section .bh-section-heading--split > div { max-width: 760px; }
.bh-home-journal-section .bh-section-heading--split > a { color: var(--bh-gold-dark); font-size: 11px; font-weight: 750; letter-spacing: .055em; text-decoration: none; text-transform: uppercase; }
.bh-home-journal-grid { display: grid; grid-template-columns: 1.18fr .82fr; grid-template-rows: repeat(2,minmax(280px,1fr)); gap: 18px; }
.bh-home-journal-card { position: relative; min-height: 280px; display: flex; align-items: end; isolation: isolate; overflow: hidden; color: var(--bh-white); text-decoration: none; }
.bh-home-journal-card--feature { grid-row: 1 / 3; min-height: 578px; }
.bh-home-journal-card::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg,rgba(17,20,18,.9),rgba(17,20,18,.12) 72%); }
.bh-home-journal-card img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.bh-home-journal-card:hover img { transform: scale(1.04); }
.bh-home-journal-card > div { width: 100%; padding: 30px; }
.bh-home-journal-card--feature > div { padding: 42px; }
.bh-home-journal-card .bh-kicker { color: #e6d7ad; }
.bh-home-journal-card h3 { max-width: 620px; margin: 7px 0 12px; font-family: var(--bh-serif); font-size: 31px; font-weight: 400; line-height: 1.06; }
.bh-home-journal-card--feature h3 { font-size: clamp(38px,4.3vw,57px); }
.bh-home-journal-card > div > p:not(.bh-kicker) { max-width: 570px; margin: 0 0 21px; color: #e7e1d6; font-size: 13px; }
.bh-home-journal-card span { display: inline-block; padding-top: 12px; border-top: 1px solid rgba(255,255,255,.5); font-size: 10px; font-weight: 750; letter-spacing: .07em; text-transform: uppercase; }
.bh-home-journal-card i { color: #e6d7ad; font-style: normal; }

.bh-cta-section { text-align: center; }
.bh-cta-section .bh-section-heading { margin-inline: auto; }
.bh-cta-section .bh-section-intro { margin-inline: auto; }
.bh-cta-section .bh-button-row { justify-content: center; }

.bh-site-footer { padding: 60px 0 26px; background: #211f1a; color: #e8e0d1; }
.bh-footer-grid { display: grid; grid-template-columns: 1.2fr .8fr .8fr; gap: 44px; }
.bh-footer-title { margin: 0 0 14px; font-family: var(--bh-serif); font-size: 28px; font-weight: 400; }
.bh-footer-copy, .bh-footer-links { color: #bfb6a7; font-size: 14px; }
.bh-footer-links { margin: 0; padding: 0; list-style: none; }
.bh-footer-links li + li { margin-top: 8px; }
.bh-footer-links a { text-decoration: none; }
.bh-footer-bottom { margin-top: 46px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.12); color: #9e9688; font-size: 12px; }

.bh-content-shell { width: min(900px, calc(100% - 40px)); margin: 0 auto; padding-block: 70px; }
.bh-content-shell h1 { font-family: var(--bh-serif); font-size: clamp(40px, 6vw, 68px); font-weight: 400; line-height: 1.05; }
.bh-content-shell h2, .bh-content-shell h3 { font-family: var(--bh-serif); font-weight: 400; }
.bh-content-shell .entry-content { font-size: 17px; }

/* Destination and itinerary pages */
.bh-breadcrumbs { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; min-height: 48px; color: var(--bh-muted); font-size: 12px; }
.bh-breadcrumbs a { text-decoration: none; }
.bh-breadcrumbs a:hover { color: var(--bh-gold-dark); }
.bh-destination-hero { position: relative; min-height: 650px; display: flex; align-items: end; isolation: isolate; overflow: hidden; background-position: center; background-size: cover; color: var(--bh-white); }
.bh-destination-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(23,24,20,.67), rgba(23,24,20,.25) 58%, rgba(23,24,20,.025)), linear-gradient(0deg, rgba(20,20,17,.37), transparent 58%); }
.bh-destination-hero__inner { padding-block: 100px 82px; }
.bh-destination-hero h1 { max-width: 850px; margin: 0; font-family: var(--bh-serif); font-size: clamp(52px, 7.5vw, 90px); font-weight: 400; line-height: .98; letter-spacing: -.03em; text-wrap: balance; }
.bh-destination-hero h1,.bh-destination-hero .bh-eyebrow,.bh-destination-hero .bh-hero-lede,.bh-destination-hero .bh-hero-facts { text-shadow: 0 2px 18px rgba(0,0,0,.48); }
.bh-itinerary-hero { min-height: 590px; }
.bh-itinerary-hero h1 { max-width: 760px; }
.bh-hero-facts { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 30px; }
.bh-hero-facts span { padding: 9px 14px; border: 1px solid rgba(255,255,255,.46); border-radius: 999px; background: rgba(27,28,24,.26); font-size: 12px; font-weight: 650; letter-spacing: .04em; backdrop-filter: blur(8px); }
.bh-hero-jump { display: inline-flex; align-items: center; gap: 9px; margin-top: 23px; padding-bottom: 5px; border-bottom: 1px solid rgba(255,255,255,.72); color: var(--bh-white); font-size: 11px; font-weight: 750; letter-spacing: .1em; text-decoration: none; text-shadow: 0 2px 14px rgba(0,0,0,.55); text-transform: uppercase; }
.bh-hero-jump:hover,.bh-hero-jump:focus-visible { border-color: #ecd9a3; color: #ecd9a3; }
.bh-hero-jump span { font-size: 15px; line-height: 1; }
.bh-editorial-split { display: grid; grid-template-columns: .9fr 1.1fr; gap: 80px; align-items: start; }
.bh-editorial-split h2 { max-width: 550px; }
.bh-editorial-split p { margin-top: 0; color: var(--bh-muted); font-size: 17px; }
.bh-editorial-split .bh-lead { color: var(--bh-ink); font-family: var(--bh-serif); font-size: 26px; line-height: 1.45; }
.bh-itinerary-card-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.bh-itinerary-card { overflow: hidden; border: 1px solid var(--bh-line); border-radius: var(--bh-radius); background: var(--bh-paper); box-shadow: 0 12px 35px rgba(41,40,33,.07); }
.bh-itinerary-card__image { position: relative; display: block; height: 310px; overflow: hidden; }
.bh-itinerary-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.bh-itinerary-card:hover .bh-itinerary-card__image img { transform: scale(1.035); }
.bh-itinerary-card__image span { position: absolute; left: 20px; bottom: 18px; padding: 8px 12px; border-radius: 999px; background: rgba(33,31,26,.84); color: var(--bh-white); font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; backdrop-filter: blur(7px); }
.bh-itinerary-card__copy { padding: 28px; }
.bh-itinerary-card__copy h3 { margin: 0 0 12px; font-family: var(--bh-serif); font-size: 34px; font-weight: 400; line-height: 1.12; }
.bh-itinerary-card__copy h3 a, .bh-text-link { text-decoration: none; }
.bh-itinerary-card__copy > p:not(.bh-kicker) { color: var(--bh-muted); }
.bh-card-route { margin: 18px 0; padding-top: 16px; border-top: 1px solid var(--bh-line); color: var(--bh-gold-dark); font-size: 12px; font-weight: 650; line-height: 1.7; }
.bh-text-link { font-size: 13px; font-weight: 700; }
.bh-image-story { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
.bh-image-story__media { min-height: 590px; overflow: hidden; border-radius: var(--bh-radius); }
.bh-image-story__media img { width: 100%; height: 590px; object-fit: cover; }
.bh-image-story blockquote { margin: 30px 0; padding-left: 22px; border-left: 2px solid var(--bh-gold); color: #f0e9da; font-family: var(--bh-serif); font-size: 24px; line-height: 1.45; }
.bh-experience-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.bh-experience-grid article { border-bottom: 1px solid var(--bh-line); padding-bottom: 24px; }
.bh-experience-grid img { width: 100%; height: 290px; object-fit: cover; border-radius: var(--bh-radius); }
.bh-experience-grid h3 { margin: 20px 0 8px; font-family: var(--bh-serif); font-size: 29px; font-weight: 400; }
.bh-experience-grid p { margin: 0; color: var(--bh-muted); }
.bh-faq-layout { display: grid; grid-template-columns: .75fr 1.25fr; gap: 70px; }
.bh-faq-list details { border-top: 1px solid var(--bh-line); padding: 20px 0; }
.bh-faq-list details:last-child { border-bottom: 1px solid var(--bh-line); }
.bh-faq-list summary { cursor: pointer; font-family: var(--bh-serif); font-size: 22px; }
.bh-faq-list details p { color: var(--bh-muted); }
.bh-itinerary-intro__grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: 70px; align-items: start; }
.bh-timeline .bh-section-heading[id] { scroll-margin-top: 130px; }
.bh-itinerary-intro__grid blockquote { margin: 0; padding-left: 26px; border-left: 2px solid var(--bh-gold); font-family: var(--bh-serif); font-size: clamp(23px, 3vw, 31px); line-height: 1.45; }
.bh-route--large { justify-content: center; margin-top: 48px; margin-bottom: 0; }
.bh-route--large span { border-color: var(--bh-line); background: rgba(255,255,255,.35); }
.bh-itinerary-layout { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(290px, .7fr); gap: 75px; align-items: start; }
.bh-timeline-day { display: grid; grid-template-columns: 90px 1fr; gap: 28px; padding: 30px 0; border-top: 1px solid var(--bh-line); }
.bh-timeline-day:last-child { border-bottom: 1px solid var(--bh-line); }
.bh-timeline-number { color: var(--bh-gold-dark); font-size: 11px; font-weight: 750; letter-spacing: .13em; text-transform: uppercase; }
.bh-timeline-day h3 { margin: -5px 0 8px; font-family: var(--bh-serif); font-size: 27px; font-weight: 400; }
.bh-timeline-day p { margin: 0; color: var(--bh-muted); font-size: 16px; }
.bh-timeline-editorial { margin: 32px 0 38px; }
.bh-timeline-editorial img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; background: var(--bh-cream); box-shadow: 0 16px 38px rgba(41,40,33,.12); }
.bh-timeline-editorial figcaption { margin-top: 10px; color: var(--bh-muted); font-size: 12px; line-height: 1.5; }
.bh-sticky-card { position: sticky; top: 112px; padding: 30px; border-radius: var(--bh-radius); background: var(--bh-cream); box-shadow: var(--bh-shadow); }
.bh-sticky-card hr { margin: 25px 0; border: 0; border-top: 1px solid var(--bh-line); }
.bh-sticky-card .bh-button { width: 100%; margin-top: 16px; }
.bh-check-list { margin: 0; padding: 0; list-style: none; }
.bh-check-list li { position: relative; padding: 8px 0 8px 22px; border-bottom: 1px solid rgba(149,128,70,.2); }
.bh-check-list li::before { content: "✓"; position: absolute; left: 0; color: var(--bh-gold-dark); }
.bh-small-print { color: var(--bh-muted); font-size: 12px; }
.bh-stay-list { display: grid; gap: 28px; }
.bh-stay-card { display: grid; grid-template-columns: .95fr 1.05fr; min-height: 390px; overflow: hidden; border: 1px solid var(--bh-line); border-radius: var(--bh-radius); background: var(--bh-paper); box-shadow: 0 12px 35px rgba(41,40,33,.07); }
.bh-stay-card:nth-child(even) .bh-stay-card__image { order: 2; }
.bh-stay-card__image { min-height: 390px; overflow: hidden; }
.bh-stay-card__image img { width: 100%; height: 100%; min-height: 390px; object-fit: cover; }
.bh-stay-card__copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(30px, 5vw, 58px); }
.bh-stay-card__copy h3 { margin: 0 0 15px; font-family: var(--bh-serif); font-size: clamp(36px, 4.5vw, 54px); font-weight: 400; line-height: 1.05; }
.bh-stay-card__copy > p:last-child { color: var(--bh-muted); font-size: 17px; }
.bh-stay-number { margin-bottom: 24px; color: var(--bh-gold-dark); font-size: 11px; font-weight: 750; letter-spacing: .16em; text-transform: uppercase; }
.bh-itinerary-layout--compact { grid-template-columns: 1.25fr .75fr; }
.bh-highlight-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 32px 0 0; padding: 0; list-style: none; }
.bh-highlight-grid li { padding: 18px; border: 1px solid var(--bh-line); border-radius: 12px; background: rgba(255,255,255,.36); font-size: 14px; }
.bh-featured-journey { display: grid; grid-template-columns: 1.05fr .95fr; overflow: hidden; border-radius: var(--bh-radius); background: var(--bh-paper); box-shadow: var(--bh-shadow); }
.bh-featured-journey__image { min-height: 600px; overflow: hidden; }
.bh-featured-journey__image img { width: 100%; height: 100%; min-height: 600px; object-fit: cover; }
.bh-featured-journey__copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(34px, 6vw, 70px); }
.bh-featured-journey__copy h2 { font-size: clamp(40px, 5vw, 62px); }

@media (max-width: 980px) {
  .bh-header-actions .bh-button { display: none; }
  .bh-menu-toggle { display: inline-flex; }
  .bh-nav { display: none; position: absolute; top: 84px; left: 0; right: 0; padding: 22px; background: var(--bh-cream); border-bottom: 1px solid var(--bh-line); }
  .bh-nav.is-open { display: block; }
  .bh-menu { align-items: stretch; flex-direction: column; }
  .bh-journey-grid { grid-template-columns: 1fr 1fr; }
  .bh-journey-card:first-child { grid-column: 1 / -1; }
  .bh-designer, .bh-founder { grid-template-columns: 1fr; }
  .bh-founder-media, .bh-founder-media img { min-height: 440px; }
  .bh-home-journal-grid { grid-template-columns: 1fr; grid-template-rows: auto; }
  .bh-home-journal-card,.bh-home-journal-card--feature { min-height: 430px; grid-row: auto; }
  .bh-editorial-split, .bh-image-story, .bh-faq-layout, .bh-itinerary-intro__grid { grid-template-columns: 1fr; gap: 34px; }
  .bh-itinerary-layout { grid-template-columns: 1fr; }
  .bh-sticky-card { position: static; }
  .bh-itinerary-layout--compact { grid-template-columns: 1fr; }
  .bh-featured-journey { grid-template-columns: 1fr; }
  .bh-featured-journey__image, .bh-featured-journey__image img { min-height: 460px; }
}

@media (max-width: 680px) {
  :root { --bh-wrap: min(100% - 28px, 1180px); }
  .admin-bar .bh-site-header { top: 46px; }
  .bh-header-inner { min-height: 72px; }
  .bh-brand-main { font-size: 21px; }
  .bh-nav { top: 72px; }
  .bh-hero { min-height: 640px; }
  .bh-hero-inner { padding-block: 70px; }
  .bh-trust-list { grid-template-columns: 1fr; gap: 8px; padding-block: 18px; }
  .bh-section { padding-block: 64px; }
  .bh-section-heading--split { display: block; }
  .bh-home-journal-section .bh-section-heading--split > a { display: inline-block; margin-top: 20px; }
  .bh-home-journal-card,.bh-home-journal-card--feature { min-height: 390px; }
  .bh-home-journal-card--feature > div { padding: 30px; }
  .bh-journey-grid, .bh-journal-grid, .bh-footer-grid { grid-template-columns: 1fr; }
  .bh-journey-card:first-child { grid-column: auto; min-height: 410px; }
  .bh-designer-panel { padding: 24px; }
  .bh-founder-media, .bh-founder-media img { min-height: 380px; }
  .bh-destination-hero { min-height: 590px; }
  .bh-destination-hero__inner { padding-block: 72px 58px; }
  .bh-itinerary-card-grid, .bh-experience-grid { grid-template-columns: 1fr; }
  .bh-itinerary-card__image { height: 260px; }
  .bh-image-story__media, .bh-image-story__media img { min-height: 410px; height: 410px; }
  .bh-timeline-day { grid-template-columns: 64px 1fr; gap: 15px; }
  .bh-stay-card { grid-template-columns: 1fr; }
  .bh-stay-card:nth-child(even) .bh-stay-card__image { order: 0; }
  .bh-stay-card, .bh-stay-card__image, .bh-stay-card__image img { min-height: 300px; }
  .bh-highlight-grid { grid-template-columns: 1fr; }
  .bh-featured-journey__image, .bh-featured-journey__image img { min-height: 330px; }
}

/* 0.5 global navigation and footer */
.bh-site-header { position: sticky; top: 0; z-index: 50; background: rgba(251,248,241,.97); border-bottom: 1px solid rgba(149,128,70,.26); box-shadow: 0 8px 28px rgba(41,40,33,.06); backdrop-filter: blur(16px); }
.bh-topbar { background: var(--bh-ink); color: #eee5d5; }
.bh-topbar__inner { min-height: 32px; display: flex; align-items: center; justify-content: space-between; gap: 24px; font-size: 10px; font-weight: 650; letter-spacing: .12em; text-transform: uppercase; }
.bh-topbar p { margin: 0; }
.bh-topbar__contact { display: flex; align-items: center; gap: 10px; }
.bh-topbar__contact a { text-decoration: none; }
.bh-topbar__contact a:hover, .bh-topbar__contact a:focus-visible { color: #e3cf94; }
.bh-topbar__hours { color: #bfb6a7; }
.bh-header-inner { min-height: 92px; display: flex; align-items: center; justify-content: space-between; gap: 26px; }
.bh-custom-logo { width: 205px; max-height: 68px; object-fit: contain; }
.bh-header-actions { display: flex; align-items: center; gap: 24px; }
.bh-menu { display: flex; align-items: center; gap: 4px; margin: 0; padding: 0; list-style: none; }
.bh-menu-item { position: relative; }
.bh-menu-item > a, .bh-submenu-toggle { min-height: 46px; display: inline-flex; align-items: center; gap: 6px; padding: 0 13px; border: 0; background: transparent; color: var(--bh-ink); font-size: 13px; font-weight: 650; letter-spacing: .025em; text-decoration: none; cursor: pointer; }
.bh-submenu-toggle span { color: var(--bh-gold-dark); font-size: 14px; transition: transform .2s ease; }
.bh-menu-item > a:hover, .bh-menu-item > a:focus-visible, .bh-submenu-toggle:hover, .bh-submenu-toggle:focus-visible, .bh-submenu-toggle[aria-expanded="true"] { color: var(--bh-gold-dark); }
.bh-submenu-toggle[aria-expanded="true"] span { transform: rotate(180deg); }
.bh-mega { position: absolute; top: calc(100% + 18px); right: 0; width: min(720px, calc(100vw - 48px)); padding: 28px; visibility: hidden; opacity: 0; transform: translateY(8px); border: 1px solid rgba(149,128,70,.27); background: var(--bh-paper); box-shadow: 0 24px 65px rgba(32,30,25,.18); transition: opacity .18s ease, transform .18s ease, visibility .18s; }
.bh-mega::before { content: ""; position: absolute; top: -20px; left: 0; right: 0; height: 20px; }
.bh-menu-item.is-open > .bh-mega { visibility: visible; opacity: 1; transform: translateY(0); }
.bh-mega--compact { width: 390px; padding: 22px; }
.bh-mega--compact > a { display: block; padding: 14px 12px; border-top: 1px solid var(--bh-line); text-decoration: none; }
.bh-mega--compact > a:hover { background: var(--bh-cream); }
.bh-mega__tour-group { border-top: 1px solid var(--bh-line); }
.bh-mega__tour-overview { display: block; padding: 14px 12px 11px; text-decoration: none; }
.bh-mega__tour-overview:hover, .bh-mega__tour-overview:focus-visible { background: var(--bh-cream); }
.bh-mega__tour-regions { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; padding: 4px 12px 14px; }
.bh-mega__tour-regions > span { grid-column: 1 / -1; margin-bottom: 1px; color: var(--bh-gold-dark); font-size: 8px; font-weight: 750; letter-spacing: .15em; text-transform: uppercase; }
.bh-mega__tour-regions > a { padding: 8px 9px; border: 1px solid var(--bh-line); background: rgba(255,255,255,.42); color: var(--bh-ink); font-size: 11px; font-weight: 650; line-height: 1.35; text-decoration: none; }
.bh-mega__tour-regions > a:hover, .bh-mega__tour-regions > a:focus-visible { border-color: var(--bh-gold-dark); color: var(--bh-gold-dark); }
.bh-mega strong, .bh-mega span { display: block; }
.bh-mega strong { font-family: var(--bh-serif); font-size: 20px; font-weight: 400; line-height: 1.2; }
.bh-mega span { margin-top: 4px; color: var(--bh-muted); font-size: 12px; line-height: 1.5; }
.bh-mega__eyebrow { margin: 0 0 10px; color: var(--bh-gold-dark); font-size: 9px; font-weight: 750; letter-spacing: .18em; text-transform: uppercase; }
.bh-mega--destinations { width: min(820px, calc(100vw - 48px)); display: grid; grid-template-columns: .58fr 1.42fr; gap: 28px; }
.bh-mega__intro { padding: 5px 24px 5px 4px; border-right: 1px solid var(--bh-line); }
.bh-mega__intro > strong { font-size: 27px; }
.bh-mega__intro > span { margin-top: 12px; font-size: 13px; }
.bh-mega__regions { display: grid; grid-template-columns: 1fr 1fr; gap: 0 26px; }
.bh-mega__region { min-width: 0; }
.bh-mega__region--wide { grid-column: 1 / -1; margin-top: 20px; }
.bh-mega__region--wide .bh-mega__countries { display: grid; grid-template-columns: 1fr 1fr; column-gap: 26px; }
.bh-mega__region-title { position: relative; display: block; padding: 3px 28px 13px 8px; border-bottom: 1px solid rgba(149,128,70,.44); text-decoration: none; }
.bh-mega__region-title > span { margin: 0 0 4px; color: var(--bh-gold-dark); font-size: 8px; font-weight: 750; letter-spacing: .17em; text-transform: uppercase; }
.bh-mega__region-title > strong { font-size: 21px; }
.bh-mega__region-title > i { position: absolute; right: 7px; bottom: 13px; color: var(--bh-gold-dark); font-family: var(--bh-serif); font-size: 18px; font-style: normal; }
.bh-mega__region-title:hover strong, .bh-mega__region-title:focus-visible strong { color: var(--bh-gold-dark); }
.bh-mega__countries a { display: block; padding: 10px 8px; border-bottom: 1px solid var(--bh-line); text-decoration: none; }
.bh-mega__countries a:hover strong, .bh-mega__countries a:focus-visible strong { color: var(--bh-gold-dark); }
.bh-mega__countries strong { font-size: 17px; }
.bh-mega__all { grid-column: 1 / -1; justify-self: end; color: var(--bh-gold-dark); font-size: 12px; font-weight: 700; text-decoration: none; }
.bh-mega__all span { display: inline; margin-left: 5px; color: inherit; }
.bh-header-cta { min-height: 47px; display: inline-flex; align-items: center; gap: 16px; padding: 0 18px; border: 1px solid var(--bh-gold); color: var(--bh-ink); font-size: 12px; font-weight: 700; letter-spacing: .055em; text-decoration: none; text-transform: uppercase; transition: color .2s ease, background .2s ease; }
.bh-header-cta i { color: var(--bh-gold-dark); font-family: var(--bh-serif); font-size: 19px; font-style: normal; }
.bh-header-cta:hover, .bh-header-cta:focus-visible { background: var(--bh-gold-dark); color: var(--bh-white); }
.bh-header-cta:hover i, .bh-header-cta:focus-visible i { color: inherit; }
.bh-menu-toggle { display: none; align-items: center; gap: 10px; border: 0; background: transparent; color: var(--bh-ink); cursor: pointer; padding: 8px; font-size: 11px; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.bh-menu-toggle__icon { width: 24px; display: grid; gap: 5px; }
.bh-menu-toggle__icon i { display: block; height: 1px; background: currentColor; transition: transform .2s ease, opacity .2s ease; }
.bh-menu-toggle[aria-expanded="true"] .bh-menu-toggle__icon i:first-child { transform: translateY(6px) rotate(45deg); }
.bh-menu-toggle[aria-expanded="true"] .bh-menu-toggle__icon i:nth-child(2) { opacity: 0; }
.bh-menu-toggle[aria-expanded="true"] .bh-menu-toggle__icon i:last-child { transform: translateY(-6px) rotate(-45deg); }
.bh-menu-item--mobile-only { display: none; }

.bh-site-footer { padding: 0 0 24px; background: #211f1a; color: #e8e0d1; }
.bh-footer-lead { min-height: 210px; display: flex; align-items: center; justify-content: space-between; gap: 50px; border-bottom: 1px solid rgba(255,255,255,.12); }
.bh-footer-kicker { margin: 0 0 10px; color: #d9c486; font-size: 10px; font-weight: 750; letter-spacing: .18em; text-transform: uppercase; }
.bh-footer-lead h2 { max-width: 720px; margin: 0; font-family: var(--bh-serif); font-size: clamp(34px,4.5vw,54px); font-weight: 400; line-height: 1.06; }
.bh-footer-cta { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 22px; padding: 16px 20px; border-bottom: 1px solid #d9c486; color: var(--bh-white); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.bh-footer-cta:hover, .bh-footer-cta:focus-visible { color: #d9c486; }
.bh-footer-grid { display: grid; grid-template-columns: 1.35fr .8fr .8fr .8fr; gap: 55px; padding-block: 65px 55px; }
.bh-footer-brand { display: inline-flex; flex-direction: column; color: var(--bh-white); font-family: var(--bh-serif); font-size: 30px; letter-spacing: .16em; line-height: 1; text-decoration: none; text-transform: uppercase; }
.bh-footer-brand span { margin-top: 7px; color: #d9c486; font-family: var(--bh-sans); font-size: 9px; font-weight: 700; letter-spacing: .43em; text-align: center; }
.bh-footer-about > p { max-width: 360px; margin: 22px 0; color: #bfb6a7; font-size: 13px; }
.bh-footer-contact { margin: 0; padding: 0; list-style: none; font-size: 13px; }
.bh-footer-contact li + li { margin-top: 5px; }
.bh-footer-contact a { color: #e8e0d1; text-decoration: none; }
.bh-footer-contact a:hover, .bh-footer-contact a:focus-visible { color: #d9c486; }
.bh-footer-title { margin: 0 0 18px; color: var(--bh-white); font-family: var(--bh-sans); font-size: 10px; font-weight: 750; letter-spacing: .14em; text-transform: uppercase; }
.bh-footer-links { margin: 0; padding: 0; color: #bfb6a7; font-size: 13px; list-style: none; }
.bh-footer-links li + li { margin-top: 9px; }
.bh-footer-links a { text-decoration: none; }
.bh-footer-links a:hover, .bh-footer-links a:focus-visible { color: #e3cf94; }
.bh-footer-trust { display: flex; justify-content: space-between; gap: 40px; padding: 22px 0; border-top: 1px solid rgba(255,255,255,.12); border-bottom: 1px solid rgba(255,255,255,.12); color: #a9a092; font-size: 11px; }
.bh-footer-trust p { max-width: 540px; margin: 0; }
.bh-footer-trust strong { color: #e8e0d1; }
.bh-footer-trust a { color: #d8c589; }
.bh-footer-bottom { display: flex; justify-content: space-between; gap: 20px; margin-top: 0; padding-top: 22px; border-top: 0; color: #8f877a; font-size: 11px; }
.bh-footer-social { display: flex; flex-wrap: wrap; gap: 10px; }
.bh-footer-social a { display: inline-flex; align-items: center; gap: 9px; padding: 8px 12px; border: 1px solid rgba(255,255,255,.18); color: #d7cfc2; text-decoration: none; transition: border-color .2s ease, color .2s ease, background .2s ease; }
.bh-footer-social svg { width: 17px; height: 17px; fill: currentColor; }
.bh-footer-social a:last-child svg { fill: none; stroke: currentColor; stroke-width: 1.7; }
.bh-footer-social a:hover, .bh-footer-social a:focus-visible { border-color: #d9c486; background: rgba(217,196,134,.08); color: #ead79d; }

@media (max-width: 1080px) {
  .bh-topbar__hours { display: none; }
  .bh-header-inner { min-height: 82px; }
  .bh-custom-logo { width: 180px; }
  .bh-header-actions { gap: 16px; }
  .bh-menu-toggle { display: inline-flex; order: 2; }
  .bh-header-cta { order: 1; }
  .bh-nav { display: none; position: absolute; top: 114px; left: 0; right: 0; max-height: calc(100vh - 114px); overflow-y: auto; padding: 18px max(24px, calc((100vw - 1180px) / 2)); background: var(--bh-paper); border-bottom: 1px solid var(--bh-line); box-shadow: 0 25px 45px rgba(41,40,33,.14); }
  .admin-bar .bh-nav { max-height: calc(100vh - 146px); }
  .bh-nav.is-open { display: block; }
  .bh-menu { display: block; }
  .bh-menu-item { border-bottom: 1px solid var(--bh-line); }
  .bh-menu-item > a, .bh-submenu-toggle { width: 100%; min-height: 54px; justify-content: space-between; padding: 0 4px; font-family: var(--bh-serif); font-size: 22px; font-weight: 400; }
  .bh-mega { position: static; width: 100%; display: none; padding: 0 0 18px; visibility: visible; opacity: 1; transform: none; border: 0; box-shadow: none; background: transparent; }
  .bh-menu-item.is-open > .bh-mega { display: block; }
  .bh-mega::before, .bh-mega__intro { display: none; }
  .bh-mega--destinations { grid-template-columns: 1fr; gap: 12px; }
  .bh-mega--compact > a { padding-inline: 8px; }
  .bh-mega__regions { grid-template-columns: 1fr 1fr; }
  .bh-mega__all { justify-self: start; padding: 12px 8px 0; }
  .bh-menu-item--mobile-only { display: block; }
  .bh-menu-open { overflow: hidden; }
  .bh-footer-grid { grid-template-columns: 1.25fr 1fr 1fr; }
  .bh-footer-grid > div:last-child { grid-column: 2; }
}

@media (max-width: 700px) {
  .bh-topbar__inner { min-height: 28px; justify-content: center; }
  .bh-topbar__inner > p, .bh-topbar__contact span, .bh-topbar__contact a:nth-of-type(2) { display: none; }
  .bh-topbar__contact { gap: 0; }
  .bh-header-inner { min-height: 72px; }
  .bh-custom-logo { width: 145px; max-height: 54px; }
  .bh-header-cta { display: none; }
  .bh-nav { top: 100px; max-height: calc(100vh - 100px); padding-inline: 20px; }
  .admin-bar .bh-nav { max-height: calc(100vh - 146px); }
  .bh-menu-toggle__label { display: none; }
  .bh-mega__regions { grid-template-columns: 1fr; gap: 22px; }
  .bh-mega__region--wide { grid-column: auto; margin-top: 0; }
  .bh-mega__region--wide .bh-mega__countries { grid-template-columns: 1fr; }
  .bh-mega__countries a { padding: 11px 8px; }
  .bh-footer-lead { min-height: 0; display: block; padding-block: 58px; }
  .bh-footer-cta { margin-top: 24px; padding-left: 0; }
  .bh-footer-grid { grid-template-columns: 1fr 1fr; gap: 42px 28px; padding-block: 52px; }
  .bh-footer-grid > div:first-child { grid-column: 1 / -1; }
  .bh-footer-grid > div:last-child { grid-column: auto; }
  .bh-footer-trust, .bh-footer-bottom { display: block; }
  .bh-footer-trust p + p { margin-top: 12px; }
  .bh-footer-social { margin-top: 10px; }
}

@media (max-width: 430px) {
  .bh-footer-grid { grid-template-columns: 1fr; }
  .bh-footer-grid > div:last-child { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* Main Multi Centre Holidays page */
.bh-mc-hero { min-height: 700px; background-position: center 58%; }
.bh-mc-hero::before { background: linear-gradient(90deg, rgba(22,24,20,.69), rgba(22,24,20,.29) 56%, rgba(22,24,20,.03)), linear-gradient(0deg, rgba(20,20,17,.34), transparent 58%); }
.bh-mc-hero h1 { max-width: 980px; font-size: clamp(48px,6.8vw,84px); }
.bh-mc-destination-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.bh-fe-hero { background-position: center 48%; }
.bh-fe-destination-grid { grid-template-columns: repeat(2,1fr); }
.bh-fe-destination-grid .bh-mc-destination { min-height: 520px; }
.bh-mc-destination { position: relative; min-height: 560px; display: flex; align-items: end; isolation: isolate; overflow: hidden; color: var(--bh-white); text-decoration: none; box-shadow: var(--bh-shadow); }
.bh-mc-destination::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(17,19,16,.9), rgba(17,19,16,.08) 68%); }
.bh-mc-destination img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.bh-mc-destination:hover img { transform: scale(1.04); }
.bh-mc-destination > div { width: 100%; padding: 34px; }
.bh-mc-destination p { margin: 0 0 10px; color: #e4d8c3; font-size: 10px; font-weight: 700; letter-spacing: .11em; line-height: 1.5; text-transform: uppercase; }
.bh-mc-destination h3 { margin: 0; font-family: var(--bh-serif); font-size: 42px; font-weight: 400; line-height: 1; }
.bh-mc-destination > div > span { display: block; margin-top: 20px; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.bh-mc-destination i { margin-left: 6px; color: #e1c984; font-style: normal; }
.bh-mc-destination__number { position: absolute; top: 20px; right: 22px; width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.55); border-radius: 50%; font-family: var(--bh-serif); font-size: 13px; }
.bh-mc-style-grid { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid rgba(236,217,163,.24); border-left: 1px solid rgba(236,217,163,.24); }
.bh-mc-style-grid article { min-height: 310px; padding: 30px 26px; border-right: 1px solid rgba(236,217,163,.24); border-bottom: 1px solid rgba(236,217,163,.24); }
.bh-mc-style-grid article > span { color: #d9c486; font-size: 10px; font-weight: 750; letter-spacing: .15em; text-transform: uppercase; }
.bh-mc-style-grid h3 { margin: 35px 0 15px; font-family: var(--bh-serif); font-size: 27px; font-weight: 400; line-height: 1.18; }
.bh-mc-style-grid p { margin: 0; color: #bfb6a7; font-size: 13px; }
.bh-mc-planning { align-items: center; }
.bh-mc-steps { margin: 28px 0 32px; padding: 0; list-style: none; }
.bh-mc-steps li { display: grid; grid-template-columns: 45px 1fr; gap: 16px; padding: 18px 0; border-top: 1px solid var(--bh-line); }
.bh-mc-steps li:last-child { border-bottom: 1px solid var(--bh-line); }
.bh-mc-steps li > span { color: var(--bh-gold-dark); font-family: var(--bh-serif); font-size: 15px; }
.bh-mc-steps strong { font-family: var(--bh-serif); font-size: 20px; font-weight: 400; }
.bh-mc-steps p { margin: 5px 0 0; color: var(--bh-muted); font-size: 13px; }
.bh-mc-more { display: grid; grid-template-columns: .8fr 1.2fr; gap: 80px; align-items: start; }
.bh-mc-more h2 { max-width: 450px; }
.bh-mc-region-links { border-top: 1px solid var(--bh-line); }
.bh-mc-region-links a { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-bottom: 1px solid var(--bh-line); font-family: var(--bh-serif); font-size: 28px; text-decoration: none; }
.bh-mc-region-links a:hover { color: var(--bh-gold-dark); }
.bh-mc-region-links i { color: var(--bh-gold-dark); font-style: normal; }

@media (max-width: 980px) {
  .bh-mc-destination-grid { grid-template-columns: 1fr 1fr; }
  .bh-mc-destination:last-child { grid-column: 1 / -1; }
  .bh-fe-destination-grid .bh-mc-destination:last-child { grid-column: auto; }
  .bh-mc-style-grid { grid-template-columns: 1fr 1fr; }
  .bh-mc-more { grid-template-columns: 1fr; gap: 35px; }
}

@media (max-width: 680px) {
  .bh-mc-hero { min-height: 640px; }
  .bh-mc-destination-grid { grid-template-columns: 1fr; }
  .bh-mc-destination, .bh-mc-destination:last-child { min-height: 470px; grid-column: auto; }
  .bh-fe-destination-grid { grid-template-columns: 1fr; }
  .bh-mc-destination > div { padding: 26px; }
  .bh-mc-style-grid { grid-template-columns: 1fr; }
  .bh-mc-style-grid article { min-height: 0; padding-block: 28px; }
  .bh-mc-style-grid h3 { margin-top: 22px; }
  .bh-mc-region-links a { min-height: 66px; font-size: 23px; }
}

/* Twin Centre Holidays page */
.bh-tc-hero { min-height: 690px; background-position: center 56%; }
.bh-tc-hero::before { background: linear-gradient(90deg, rgba(20,23,20,.64), rgba(20,23,20,.23) 58%, rgba(20,23,20,.02)), linear-gradient(0deg, rgba(20,20,17,.32), transparent 58%); }
.bh-tc-pair-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.bh-tc-pair { overflow: hidden; background: var(--bh-paper); box-shadow: var(--bh-shadow); }
.bh-tc-pair__image { display: block; height: 360px; overflow: hidden; }
.bh-tc-pair__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.bh-tc-pair__image:hover img { transform: scale(1.035); }
.bh-tc-pair__copy { padding: 34px; }
.bh-tc-pair__copy h3 { margin: 0 0 18px; font-family: var(--bh-serif); font-size: 39px; font-weight: 400; line-height: 1.05; }
.bh-tc-pair__copy > p:not(.bh-kicker) { color: var(--bh-muted); }
.bh-tc-pair__copy > a { display: inline-flex; gap: 8px; margin-top: 12px; color: var(--bh-gold-dark); font-size: 12px; font-weight: 750; letter-spacing: .06em; text-decoration: none; text-transform: uppercase; }
.bh-tc-route { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; margin-bottom: 18px; }
.bh-tc-route span { padding: 7px 11px; border: 1px solid var(--bh-line); border-radius: 99px; font-size: 12px; }
.bh-tc-route i { color: var(--bh-gold-dark); font-style: normal; }
.bh-tc-principles { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid rgba(236,217,163,.25); border-left: 1px solid rgba(236,217,163,.25); }
.bh-tc-principles article { min-height: 300px; padding: 34px; border-right: 1px solid rgba(236,217,163,.25); border-bottom: 1px solid rgba(236,217,163,.25); }
.bh-tc-principles article > span { color: #d9c486; font-family: var(--bh-serif); font-size: 15px; }
.bh-tc-principles h3 { margin: 50px 0 14px; font-family: var(--bh-serif); font-size: 30px; font-weight: 400; }
.bh-tc-principles p { margin: 0; color: #bfb6a7; font-size: 13px; }
.bh-tc-judgement blockquote { margin: 28px 0; padding-left: 22px; border-left: 2px solid var(--bh-gold); font-family: var(--bh-serif); font-size: 22px; line-height: 1.45; }

@media (max-width: 850px) {
  .bh-tc-pair-grid { grid-template-columns: 1fr; }
  .bh-tc-principles { grid-template-columns: 1fr; }
  .bh-tc-principles article { min-height: 0; }
  .bh-tc-principles h3 { margin-top: 26px; }
}

@media (max-width: 680px) {
  .bh-tc-hero { min-height: 640px; }
  .bh-tc-pair__image { height: 290px; }
  .bh-tc-pair__copy { padding: 26px; }
  .bh-tc-pair__copy h3 { font-size: 34px; }
  .bh-tc-principles article { padding: 28px; }
}

/* Luxury Escorted Tours page */
.bh-esc-hero { min-height: 700px; background-position: center 54%; }
.bh-esc-hero::before { background: linear-gradient(90deg,rgba(21,24,19,.72),rgba(21,24,19,.31) 57%,rgba(21,24,19,.035)),linear-gradient(0deg,rgba(20,20,17,.34),transparent 58%); }
.bh-esc-benefits { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid rgba(236,217,163,.25); border-left: 1px solid rgba(236,217,163,.25); }
.bh-esc-benefits article { min-height: 320px; padding: 34px; border-right: 1px solid rgba(236,217,163,.25); border-bottom: 1px solid rgba(236,217,163,.25); }
.bh-esc-benefits article > span { color: #d9c486; font-family: var(--bh-serif); font-size: 15px; }
.bh-esc-benefits h3 { margin: 54px 0 15px; font-family: var(--bh-serif); font-size: 30px; font-weight: 400; line-height: 1.12; }
.bh-esc-benefits p { margin: 0; color: #bfb6a7; font-size: 13px; }
.bh-esc-tour-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.bh-esc-tour { display: grid; grid-template-columns: .82fr 1.18fr; min-height: 350px; overflow: hidden; border: 1px solid var(--bh-line); background: var(--bh-paper); box-shadow: 0 12px 35px rgba(41,40,33,.07); }
.bh-esc-tour__image { min-height: 350px; overflow: hidden; }
.bh-esc-tour__image img { width: 100%; height: 100%; min-height: 350px; object-fit: cover; transition: transform .7s ease; }
.bh-esc-tour:hover .bh-esc-tour__image img { transform: scale(1.035); }
.bh-esc-tour__copy { display: flex; flex-direction: column; justify-content: center; padding: 30px; }
.bh-esc-tour__copy h3 { margin: 0 0 14px; font-family: var(--bh-serif); font-size: 31px; font-weight: 400; line-height: 1.08; }
.bh-esc-tour__copy h3 a { text-decoration: none; }
.bh-esc-tour__copy > p:not(.bh-kicker) { margin: 0 0 18px; color: var(--bh-muted); font-size: 14px; }
.bh-esc-tour__copy .bh-text-link { color: var(--bh-gold-dark); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; }
.bh-esc-all-link { margin: 30px 0 0; text-align: right; }
.bh-esc-all-link a { color: var(--bh-gold-dark); font-size: 12px; font-weight: 750; letter-spacing: .06em; text-decoration: none; text-transform: uppercase; }
.bh-esc-judgement blockquote { color: var(--bh-ink); }
.bh-esc-extension { display: grid; grid-template-columns: .9fr 1.1fr; gap: 70px; align-items: center; }
.bh-esc-extension__media { position: relative; min-height: 440px; overflow: hidden; }
.bh-esc-extension__media::after { content: ""; position: absolute; inset: 45% 0 0; background: linear-gradient(transparent,rgba(20,20,17,.75)); pointer-events: none; }
.bh-esc-extension__media img { width: 100%; height: 440px; object-fit: cover; }
.bh-esc-extension__media a { position: absolute; z-index: 1; right: 28px; bottom: 24px; left: 28px; display: flex; justify-content: space-between; gap: 20px; padding-top: 15px; border-top: 1px solid rgba(255,255,255,.5); color: var(--bh-white); font-size: 12px; font-weight: 700; letter-spacing: .06em; text-decoration: none; text-transform: uppercase; }

@media (max-width: 1050px) {
  .bh-esc-tour { grid-template-columns: 1fr; }
  .bh-esc-tour__image, .bh-esc-tour__image img { min-height: 300px; height: 300px; }
}

@media (max-width: 850px) {
  .bh-esc-benefits, .bh-esc-tour-grid, .bh-esc-extension { grid-template-columns: 1fr; }
  .bh-esc-benefits article { min-height: 0; }
  .bh-esc-benefits h3 { margin-top: 26px; }
  .bh-esc-extension { gap: 35px; }
}

@media (max-width: 680px) {
  .bh-esc-hero { min-height: 640px; }
  .bh-esc-benefits article, .bh-esc-tour__copy { padding: 27px; }
  .bh-esc-tour__image, .bh-esc-tour__image img { min-height: 270px; height: 270px; }
  .bh-esc-tour__copy h3 { font-size: 30px; }
  .bh-esc-extension__media, .bh-esc-extension__media img { min-height: 340px; height: 340px; }
  .bh-esc-all-link { text-align: left; }
}

/* Indian Ocean Multi Centre Holidays page */
.bh-io-hero { min-height: 710px; background-position: center 58%; }
.bh-io-hero::before { background: linear-gradient(90deg,rgba(18,24,23,.58),rgba(18,24,23,.18) 56%,rgba(18,24,23,.01)),linear-gradient(0deg,rgba(18,20,18,.24),transparent 58%); }
.bh-io-islands { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; }
.bh-region-nav { position: relative; z-index: 3; border-bottom: 1px solid var(--bh-line); background: var(--bh-paper); }
.bh-region-nav__inner { min-height: 72px; display: flex; align-items: center; justify-content: center; gap: 34px; }
.bh-region-nav__inner > span { color: var(--bh-gold-dark); font-size: 9px; font-weight: 750; letter-spacing: .17em; text-transform: uppercase; }
.bh-region-nav__inner a { position: relative; color: var(--bh-ink); font-size: 12px; font-weight: 650; letter-spacing: .035em; text-decoration: none; }
.bh-region-nav__inner a::after { content: ""; position: absolute; right: 0; bottom: -8px; left: 0; height: 1px; background: var(--bh-gold-dark); transform: scaleX(0); transform-origin: left; transition: transform .2s ease; }
.bh-region-nav__inner a:hover::after, .bh-region-nav__inner a:focus-visible::after { transform: scaleX(1); }
.bh-anchor-section { scroll-margin-top: 126px; }
.bh-io-island { overflow: hidden; border: 1px solid var(--bh-line); background: var(--bh-paper); box-shadow: var(--bh-shadow); }
.bh-io-island__media { position: relative; height: 430px; overflow: hidden; }
.bh-io-island__media::after { content: ""; position: absolute; inset: 50% 0 0; background: linear-gradient(transparent,rgba(18,21,19,.6)); }
.bh-io-island__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.bh-io-island:hover .bh-io-island__media img { transform: scale(1.035); }
.bh-io-island__media > span { position: absolute; z-index: 1; right: 28px; bottom: 20px; color: var(--bh-white); font-family: var(--bh-serif); font-size: 36px; }
.bh-io-island__copy { padding: 36px; }
.bh-io-island__copy h3 { margin: 0 0 15px; font-family: var(--bh-serif); font-size: 40px; font-weight: 400; line-height: 1.05; }
.bh-io-island__copy > p:not(.bh-kicker) { color: var(--bh-muted); }
.bh-io-island__copy ul { display: grid; gap: 8px; margin: 22px 0 25px; padding: 18px 0; border-top: 1px solid var(--bh-line); border-bottom: 1px solid var(--bh-line); color: var(--bh-muted); font-size: 13px; list-style: none; }
.bh-io-island__copy li::before { content: "·"; margin-right: 9px; color: var(--bh-gold-dark); }
.bh-io-island__copy .bh-text-link { color: var(--bh-gold-dark); font-size: 11px; letter-spacing: .07em; text-transform: uppercase; }
.bh-io-combinations { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid rgba(236,217,163,.25); border-left: 1px solid rgba(236,217,163,.25); }
.bh-io-combinations article { min-height: 355px; display: flex; flex-direction: column; padding: 34px; border-right: 1px solid rgba(236,217,163,.25); border-bottom: 1px solid rgba(236,217,163,.25); }
.bh-io-combinations article > span { color: #d9c486; font-family: var(--bh-serif); font-size: 15px; }
.bh-io-combinations h3 { margin: 50px 0 15px; font-family: var(--bh-serif); font-size: 30px; font-weight: 400; line-height: 1.1; }
.bh-io-combinations p { margin: 0 0 24px; color: #bfb6a7; font-size: 13px; }
.bh-io-combinations a { margin-top: auto; color: #d9c486; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-decoration: none; text-transform: uppercase; }
.bh-io-combinations i { font-style: normal; }
.bh-io-judgement blockquote { color: var(--bh-ink); }
.bh-io-detail { display: grid; grid-template-columns: .9fr 1.1fr; gap: 70px; align-items: center; }
.bh-io-detail__media { min-height: 610px; overflow: hidden; }
.bh-io-detail__media img { width: 100%; height: 610px; object-fit: cover; }
.bh-io-considerations { margin: 30px 0 0; padding: 0; border-top: 1px solid var(--bh-line); list-style: none; }
.bh-io-considerations li { display: grid; grid-template-columns: 105px 1fr; gap: 20px; padding: 18px 0; border-bottom: 1px solid var(--bh-line); }
.bh-io-considerations strong { font-family: var(--bh-serif); font-size: 19px; font-weight: 400; }
.bh-io-considerations span { color: var(--bh-muted); font-size: 13px; }
.bh-io-mauritius-story { display: grid; grid-template-columns: 1.08fr .92fr; gap: 70px; align-items: center; }
.bh-io-mauritius-story__media { display: grid; grid-template-columns: 1.25fr .75fr; gap: 14px; align-items: end; }
.bh-io-mauritius-story__media img { width: 100%; height: 520px; object-fit: cover; }
.bh-io-mauritius-story__media img:last-child { height: 390px; }
.bh-io-mauritius-story p:not(.bh-kicker) { color: var(--bh-muted); }

@media (max-width: 980px) {
  .bh-io-combinations { grid-template-columns: 1fr; }
  .bh-io-combinations article { min-height: 0; }
  .bh-io-combinations h3 { margin-top: 28px; }
  .bh-io-detail, .bh-io-mauritius-story { grid-template-columns: 1fr; gap: 40px; }
}

@media (max-width: 760px) {
  .bh-region-nav { overflow-x: auto; }
  .bh-region-nav__inner { width: max-content; min-width: 100%; min-height: 62px; justify-content: flex-start; gap: 25px; padding-inline: 20px; }
  .bh-region-nav__inner > span { position: sticky; left: 0; padding-right: 9px; background: var(--bh-paper); }
  .bh-io-islands { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
  .bh-io-hero { min-height: 650px; }
  .bh-io-island__media { height: 330px; }
  .bh-io-island__copy { padding: 27px; }
  .bh-io-combinations article { padding: 28px; }
  .bh-io-detail__media, .bh-io-detail__media img { min-height: 390px; height: 390px; }
  .bh-io-considerations li { grid-template-columns: 1fr; gap: 4px; }
  .bh-io-mauritius-story__media { grid-template-columns: 1fr 1fr; }
  .bh-io-mauritius-story__media img, .bh-io-mauritius-story__media img:last-child { height: 330px; }
}

/* Mauritius Multi Centre Holidays page */
.bh-mu-hero { min-height: 710px; background-position: center 55%; }
.bh-mu-hero::before { background: linear-gradient(90deg,rgba(17,23,22,.57),rgba(17,23,22,.17) 57%,rgba(17,23,22,.01)),linear-gradient(0deg,rgba(18,20,18,.22),transparent 58%); }
.bh-mu-featured { display: grid; grid-template-columns: 1.08fr .92fr; overflow: hidden; background: var(--bh-paper); box-shadow: var(--bh-shadow); }
.bh-mu-featured__media { position: relative; min-height: 620px; overflow: hidden; }
.bh-mu-featured__media::after { content: ""; position: absolute; inset: 58% 0 0; background: linear-gradient(transparent,rgba(18,21,19,.72)); }
.bh-mu-featured__media img { width: 100%; height: 100%; min-height: 620px; object-fit: cover; transition: transform .7s ease; }
.bh-mu-featured:hover .bh-mu-featured__media img { transform: scale(1.035); }
.bh-mu-featured__media span { position: absolute; z-index: 1; left: 28px; bottom: 24px; color: var(--bh-white); font-size: 10px; font-weight: 750; letter-spacing: .13em; text-transform: uppercase; }
.bh-mu-featured__copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(38px,6vw,72px); }
.bh-mu-featured__copy h2 { font-size: clamp(42px,5vw,62px); }
.bh-mu-featured__copy > p:not(.bh-kicker):not(.bh-section-intro) { color: var(--bh-muted); font-size: 14px; }
.bh-mu-route { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 28px 0; }
.bh-mu-route span { padding: 9px 13px; border: 1px solid var(--bh-line); border-radius: 999px; font-size: 12px; }
.bh-mu-route i { color: var(--bh-gold-dark); font-style: normal; }
.bh-mu-featured__copy .bh-button { align-self: flex-start; margin-top: 20px; }
.bh-mu-coasts { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid rgba(236,217,163,.25); border-left: 1px solid rgba(236,217,163,.25); }
.bh-mu-coasts article { min-height: 345px; padding: 34px; border-right: 1px solid rgba(236,217,163,.25); border-bottom: 1px solid rgba(236,217,163,.25); }
.bh-mu-coasts article > span { color: #d9c486; font-family: var(--bh-serif); font-size: 15px; }
.bh-mu-coasts h3 { margin: 52px 0 15px; font-family: var(--bh-serif); font-size: 32px; font-weight: 400; }
.bh-mu-coasts p { margin: 0; color: #bfb6a7; font-size: 13px; }
.bh-mu-coasts strong { color: #e8e0d1; font-weight: 650; }
.bh-mu-judgement blockquote { color: var(--bh-ink); }
.bh-mu-explore { display: grid; grid-template-columns: .72fr 1.28fr; gap: 60px; align-items: start; }
.bh-mu-explore__grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 15px; }
.bh-mu-explore__grid article { border-bottom: 1px solid var(--bh-line); padding-bottom: 18px; }
.bh-mu-explore__grid img { width: 100%; height: 270px; object-fit: cover; }
.bh-mu-explore__grid h3 { margin: 18px 0 7px; font-family: var(--bh-serif); font-size: 25px; font-weight: 400; }
.bh-mu-explore__grid p { margin: 0; color: var(--bh-muted); font-size: 13px; }
.bh-mu-two-stays { display: grid; grid-template-columns: 1.05fr .95fr; gap: 70px; align-items: center; }
.bh-mu-two-stays__media { min-height: 590px; overflow: hidden; }
.bh-mu-two-stays__media img { width: 100%; height: 590px; object-fit: cover; }
.bh-mu-split-list { margin: 30px 0; padding: 0; border-top: 1px solid var(--bh-line); list-style: none; }
.bh-mu-split-list li { padding: 17px 0; border-bottom: 1px solid var(--bh-line); }
.bh-mu-split-list strong, .bh-mu-split-list span { display: block; }
.bh-mu-split-list strong { font-family: var(--bh-serif); font-size: 20px; font-weight: 400; }
.bh-mu-split-list span { margin-top: 3px; color: var(--bh-muted); font-size: 13px; }

/* Maldives destination */
.bh-maldives-hero { min-height: 710px; background-position: center 58%; }
.bh-maldives-hero::before { background: linear-gradient(90deg,rgba(20,27,25,.52),rgba(20,27,25,.13) 58%,rgba(20,27,25,0)),linear-gradient(0deg,rgba(18,21,19,.18),transparent 58%); }
.bh-maldives-styles { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid rgba(236,217,163,.25); border-left: 1px solid rgba(236,217,163,.25); }
.bh-maldives-styles article { min-height: 330px; padding: 32px; border-right: 1px solid rgba(236,217,163,.25); border-bottom: 1px solid rgba(236,217,163,.25); }
.bh-maldives-styles article > span { color: #d9c486; font-family: var(--bh-serif); font-size: 15px; }
.bh-maldives-styles h3 { margin: 52px 0 15px; font-family: var(--bh-serif); font-size: 30px; font-weight: 400; line-height: 1.08; }
.bh-maldives-styles p { margin: 0; color: #bfb6a7; font-size: 13px; }
.bh-maldives-story blockquote { color: var(--bh-ink); }
.bh-maldives-water .bh-mu-explore__grid img { height: 300px; }

@media (max-width: 1050px) {
  .bh-mu-featured, .bh-mu-explore, .bh-mu-two-stays { grid-template-columns: 1fr; }
  .bh-mu-featured__media, .bh-mu-featured__media img { min-height: 480px; }
  .bh-mu-explore { gap: 35px; }
  .bh-maldives-styles { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 820px) {
  .bh-mu-coasts, .bh-mu-explore__grid { grid-template-columns: 1fr; }
  .bh-mu-coasts article { min-height: 0; }
  .bh-mu-coasts h3 { margin-top: 26px; }
  .bh-mu-explore__grid article { display: grid; grid-template-columns: .8fr 1.2fr; gap: 0 22px; align-items: center; }
  .bh-mu-explore__grid img { grid-row: 1 / 3; height: 220px; }
}

@media (max-width: 680px) {
  .bh-mu-hero { min-height: 650px; }
  .bh-maldives-hero { min-height: 650px; background-position: 56% center; }
  .bh-maldives-styles { grid-template-columns: 1fr; }
  .bh-maldives-styles article { min-height: 0; padding: 28px; }
  .bh-maldives-styles h3 { margin-top: 26px; }
  .bh-mu-featured__media, .bh-mu-featured__media img { min-height: 350px; }
  .bh-mu-featured__copy { padding: 30px 27px; }
  .bh-mu-coasts article { padding: 28px; }
  .bh-mu-explore__grid article { grid-template-columns: 1fr; gap: 0; }
  .bh-mu-explore__grid img { grid-row: auto; height: 270px; }
  .bh-mu-two-stays__media, .bh-mu-two-stays__media img { min-height: 390px; height: 390px; }
}

/* Plan your holiday / enquiry page */
.bh-enquiry-hero { padding: 72px 0 82px; overflow: hidden; background: var(--bh-ink); color: var(--bh-white); }
.bh-enquiry-hero__grid { display: grid; grid-template-columns: 1.03fr .97fr; gap: 72px; align-items: center; }
.bh-enquiry-hero__copy h1 { max-width: 710px; margin: 0; font-family: var(--bh-serif); font-size: clamp(52px,7vw,86px); font-weight: 400; line-height: .98; letter-spacing: -.03em; text-wrap: balance; }
.bh-enquiry-hero__copy .bh-hero-lede { color: #ded7ca; }
.bh-enquiry-assurances { display: grid; gap: 11px; margin: 30px 0 0; padding: 24px 0 0; border-top: 1px solid rgba(255,255,255,.2); color: #d9d0c1; list-style: none; font-size: 13px; }
.bh-enquiry-assurances li { position: relative; padding-left: 25px; }
.bh-enquiry-assurances li::before { content: "✓"; position: absolute; left: 0; color: #d9c486; }
.bh-enquiry-hero__media { position: relative; min-height: 590px; overflow: hidden; border-radius: 48% 48% 8px 8px; }
.bh-enquiry-hero__media::after { content: ""; position: absolute; inset: 48% 0 0; background: linear-gradient(transparent,rgba(18,21,19,.78)); }
.bh-enquiry-hero__media img { width: 100%; height: 590px; object-fit: cover; }
.bh-enquiry-hero__media p { position: absolute; z-index: 1; right: 34px; bottom: 28px; left: 34px; margin: 0; padding-top: 17px; border-top: 1px solid rgba(255,255,255,.5); color: #f5efe3; font-family: var(--bh-serif); font-size: 22px; line-height: 1.35; }
.bh-enquiry-layout { display: grid; grid-template-columns: .72fr 1.28fr; gap: 70px; align-items: start; }
.bh-enquiry-contact { position: sticky; top: 120px; }
.bh-enquiry-contact h2 { font-size: clamp(38px,4vw,50px); }
.bh-enquiry-contact > p:not(.bh-kicker):not(.bh-enquiry-contact__note) { color: var(--bh-muted); font-size: 16px; }
.bh-enquiry-contact__links { margin-top: 30px; border-top: 1px solid var(--bh-line); }
.bh-enquiry-contact__links a { display: block; padding: 17px 0; border-bottom: 1px solid var(--bh-line); text-decoration: none; }
.bh-enquiry-contact__links span,.bh-enquiry-contact__links strong { display: block; }
.bh-enquiry-contact__links span { color: var(--bh-gold-dark); font-size: 10px; font-weight: 750; letter-spacing: .14em; text-transform: uppercase; }
.bh-enquiry-contact__links strong { margin-top: 3px; font-family: var(--bh-serif); font-size: 22px; font-weight: 400; overflow-wrap: anywhere; }
.bh-enquiry-contact__note { margin-top: 25px; padding: 18px; border-left: 2px solid var(--bh-gold); background: rgba(255,255,255,.46); color: var(--bh-muted); font-size: 13px; }
.bh-enquiry-form-card { padding: clamp(30px,5vw,60px); border: 1px solid var(--bh-line); background: var(--bh-paper); box-shadow: var(--bh-shadow); }
.bh-enquiry-form-card > h2 { font-size: clamp(38px,4.7vw,56px); }
.bh-enquiry-form-intro { margin: 12px 0 36px; color: var(--bh-muted); }
.bh-enquiry-form fieldset { margin: 0 0 38px; padding: 0; border: 0; }
.bh-enquiry-form legend { width: 100%; margin-bottom: 22px; padding: 17px 0 10px; border-top: 1px solid var(--bh-line); color: var(--bh-ink); font-family: var(--bh-serif); font-size: 25px; }
.bh-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.bh-field { display: grid; gap: 8px; align-content: start; }
.bh-field--wide { grid-column: 1 / -1; }
.bh-field > span { font-size: 12px; font-weight: 750; letter-spacing: .045em; }
.bh-field b,.bh-form-consents b,.bh-form-required b { color: #8b3f35; }
.bh-field small { color: var(--bh-muted); font-size: 11px; font-weight: 400; letter-spacing: 0; }
.bh-field input,.bh-field select,.bh-field textarea { width: 100%; min-height: 50px; padding: 12px 14px; border: 1px solid #c9bfac; border-radius: 0; outline: none; background: #fffefa; color: var(--bh-ink); }
.bh-field textarea { resize: vertical; }
.bh-field input:focus,.bh-field select:focus,.bh-field textarea:focus { border-color: var(--bh-gold-dark); box-shadow: 0 0 0 3px rgba(149,128,70,.14); }
.bh-field--message { margin-top: 24px; }
.bh-field-help { margin: -14px 0 15px; color: var(--bh-muted); font-size: 12px; }
.bh-choice-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.bh-choice-grid label { position: relative; }
.bh-choice-grid input { position: absolute; opacity: 0; pointer-events: none; }
.bh-choice-grid span { min-height: 48px; display: flex; align-items: center; padding: 11px 14px; border: 1px solid var(--bh-line); background: #fffefa; cursor: pointer; font-size: 13px; }
.bh-choice-grid input:checked + span { border-color: var(--bh-gold-dark); background: rgba(149,128,70,.13); }
.bh-choice-grid input:focus-visible + span { outline: 3px solid rgba(149,128,70,.3); outline-offset: 2px; }
.bh-form-consents { display: grid; gap: 14px; margin-top: -8px; }
.bh-form-consents label { display: grid; grid-template-columns: 20px 1fr; gap: 10px; align-items: start; color: var(--bh-muted); font-size: 12px; }
.bh-form-consents input { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--bh-gold-dark); }
.bh-form-consents a { color: var(--bh-gold-dark); }
.bh-enquiry-submit { margin-top: 28px; border: 0; cursor: pointer; }
.bh-form-required { display: inline-block; margin: 0 0 0 13px; color: var(--bh-muted); font-size: 11px; }
.bh-form-message { margin: 0 0 30px; padding: 20px; border-left: 3px solid var(--bh-gold); background: var(--bh-cream); }
.bh-form-message strong { font-family: var(--bh-serif); font-size: 21px; font-weight: 400; }
.bh-form-message p { margin: 5px 0 0; color: var(--bh-muted); font-size: 13px; }
.bh-form-message--error { border-color: #8b3f35; background: #f6e9e5; }
.bh-form-message--journey { border-color: var(--bh-sea); background: rgba(49,93,93,.09); }
.bh-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

@media (max-width: 980px) {
  .bh-enquiry-hero__grid,.bh-enquiry-layout { grid-template-columns: 1fr; }
  .bh-enquiry-hero__media { min-height: 460px; }
  .bh-enquiry-hero__media img { height: 460px; }
  .bh-enquiry-layout { gap: 45px; }
  .bh-enquiry-contact { position: static; }
}

@media (max-width: 620px) {
  .bh-enquiry-hero { padding-block: 55px; }
  .bh-enquiry-hero__grid { gap: 42px; }
  .bh-enquiry-hero__media,.bh-enquiry-hero__media img { min-height: 370px; height: 370px; }
  .bh-enquiry-hero__media { border-radius: 45% 45% 6px 6px; }
  .bh-enquiry-form-card { padding: 28px 22px; }
  .bh-form-grid,.bh-choice-grid { grid-template-columns: 1fr; }
  .bh-field--wide { grid-column: auto; }
  .bh-enquiry-submit { width: 100%; }
  .bh-form-required { display: block; margin: 10px 0 0; text-align: center; }
}

/* About Bespoke Holidays page */
.bh-about-hero { padding: 70px 0 82px; overflow: hidden; background: var(--bh-ink); color: var(--bh-white); }
.bh-about-hero__grid { display: grid; grid-template-columns: 1.04fr .96fr; gap: 72px; align-items: center; }
.bh-about-hero__copy h1 { max-width: 730px; margin: 0; font-family: var(--bh-serif); font-size: clamp(54px,7vw,88px); font-weight: 400; line-height: .98; letter-spacing: -.035em; text-wrap: balance; }
.bh-about-hero__copy .bh-hero-lede { color: #ddd5c7; }
.bh-about-hero__copy .bh-button--ghost { border-color: rgba(255,255,255,.55); color: var(--bh-white); }
.bh-about-hero__media { position: relative; min-height: 590px; overflow: hidden; background: #2c2b26; }
.bh-about-hero__media::after { content: ""; position: absolute; inset: 54% 0 0; background: linear-gradient(transparent,rgba(20,21,18,.82)); }
.bh-about-hero__media img { width: 100%; height: 590px; object-fit: cover; object-position: center 32%; }
.bh-about-hero__media > div { position: absolute; z-index: 1; right: 30px; bottom: 27px; left: 30px; display: flex; align-items: end; justify-content: space-between; gap: 20px; padding-top: 15px; border-top: 1px solid rgba(255,255,255,.5); }
.bh-about-hero__media span { color: #e2d7c4; font-size: 10px; font-weight: 750; letter-spacing: .13em; text-transform: uppercase; }
.bh-about-hero__media strong { font-family: var(--bh-serif); font-size: 25px; font-weight: 400; }
.bh-about-story .bh-lead { font-size: 25px; }
.bh-about-principles { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid rgba(236,217,163,.25); border-left: 1px solid rgba(236,217,163,.25); }
.bh-about-principles article { min-height: 340px; padding: 34px; border-right: 1px solid rgba(236,217,163,.25); border-bottom: 1px solid rgba(236,217,163,.25); }
.bh-about-principles article > span { color: #d9c486; font-family: var(--bh-serif); font-size: 15px; }
.bh-about-principles h3 { margin: 54px 0 15px; font-family: var(--bh-serif); font-size: 30px; font-weight: 400; line-height: 1.12; }
.bh-about-principles p { margin: 0; color: #bfb6a7; font-size: 13px; }
.bh-about-founder { display: grid; grid-template-columns: .86fr 1.14fr; gap: 72px; align-items: center; }
.bh-about-founder__media { min-height: 620px; overflow: hidden; box-shadow: var(--bh-shadow); }
.bh-about-founder__media img { width: 100%; height: 620px; object-fit: cover; object-position: center 30%; }
.bh-about-founder > div:last-child > p:not(.bh-kicker):not(.bh-section-intro) { color: var(--bh-muted); }
.bh-about-founder blockquote { margin: 30px 0 0; padding-left: 24px; border-left: 2px solid var(--bh-gold); font-family: var(--bh-serif); font-size: 24px; line-height: 1.45; }
.bh-about-process-layout { display: grid; grid-template-columns: .78fr 1.22fr; gap: 75px; align-items: start; }
.bh-about-process { margin: 0; padding: 0; border-top: 1px solid var(--bh-line); list-style: none; }
.bh-about-process li { display: grid; grid-template-columns: 60px 1fr; gap: 20px; padding: 25px 0; border-bottom: 1px solid var(--bh-line); }
.bh-about-process li > span { color: var(--bh-gold-dark); font-family: var(--bh-serif); font-size: 15px; }
.bh-about-process strong { font-family: var(--bh-serif); font-size: 24px; font-weight: 400; }
.bh-about-process p { margin: 5px 0 0; color: var(--bh-muted); font-size: 14px; }
.bh-about-protection { display: grid; grid-template-columns: .78fr 1.22fr; gap: 70px; align-items: center; }
.bh-about-protection__cards { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.bh-about-protection__cards article { min-height: 300px; display: flex; flex-direction: column; justify-content: space-between; padding: 28px; border: 1px solid var(--bh-line); background: var(--bh-paper); }
.bh-about-protection__cards img { width: 100%; height: 170px; object-fit: contain; }
.bh-about-protection__cards strong,.bh-about-protection__cards span { display: block; }
.bh-about-protection__cards strong { margin-top: 20px; font-family: var(--bh-serif); font-size: 21px; font-weight: 400; }
.bh-about-protection__cards span { margin-top: 3px; color: var(--bh-muted); font-size: 12px; }

@media (max-width: 980px) {
  .bh-about-hero__grid,.bh-about-founder,.bh-about-process-layout,.bh-about-protection { grid-template-columns: 1fr; }
  .bh-about-hero__media,.bh-about-hero__media img { min-height: 500px; height: 500px; }
  .bh-about-founder,.bh-about-process-layout,.bh-about-protection { gap: 42px; }
}

@media (max-width: 760px) {
  .bh-about-principles,.bh-about-protection__cards { grid-template-columns: 1fr; }
  .bh-about-principles article { min-height: 0; }
  .bh-about-principles h3 { margin-top: 27px; }
}

@media (max-width: 620px) {
  .bh-about-hero { padding-block: 55px; }
  .bh-about-hero__grid { gap: 42px; }
  .bh-about-hero__media,.bh-about-hero__media img { min-height: 390px; height: 390px; }
  .bh-about-hero__media > div { right: 22px; bottom: 20px; left: 22px; align-items: start; flex-direction: column; gap: 3px; }
  .bh-about-founder__media,.bh-about-founder__media img { min-height: 430px; height: 430px; }
  .bh-about-process li { grid-template-columns: 42px 1fr; }
  .bh-about-protection__cards article { min-height: 260px; }
  .bh-about-protection__cards img { height: 145px; }
}

/* Travel journal page */
.bh-blog-hero { position: relative; min-height: 680px; display: flex; align-items: end; isolation: isolate; overflow: hidden; background-position: center 48%; background-size: cover; color: var(--bh-white); }
.bh-blog-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg,rgba(19,22,18,.68),rgba(19,22,18,.27) 58%,rgba(19,22,18,.025)),linear-gradient(0deg,rgba(20,20,17,.34),transparent 58%); }
.bh-blog-hero__inner { padding-block: 100px 82px; }
.bh-blog-hero h1 { max-width: 800px; margin: 0; font-family: var(--bh-serif); font-size: clamp(56px,8vw,94px); font-weight: 400; line-height: .96; letter-spacing: -.035em; text-wrap: balance; }
.bh-blog-hero h1,.bh-blog-hero .bh-eyebrow,.bh-blog-hero .bh-hero-lede { text-shadow: 0 2px 18px rgba(0,0,0,.48); }
.bh-blog-topic-strip { background: var(--bh-ink); color: #e1d7c5; }
.bh-blog-topic-strip .bh-wrap { min-height: 70px; display: grid; grid-template-columns: repeat(4,1fr); gap: 18px; align-items: center; text-align: center; font-size: 10px; font-weight: 750; letter-spacing: .13em; text-transform: uppercase; }
#journal-start { scroll-margin-top: 145px; }
.bh-blog-intro .bh-lead { font-size: 25px; }
.bh-blog-featured { display: grid; grid-template-columns: 1.08fr .92fr; overflow: hidden; background: var(--bh-paper); box-shadow: var(--bh-shadow); }
.bh-blog-featured__media { min-height: 560px; overflow: hidden; }
.bh-blog-featured__media img { width: 100%; height: 100%; min-height: 560px; object-fit: cover; transition: transform .7s ease; }
.bh-blog-featured:hover .bh-blog-featured__media img { transform: scale(1.035); }
.bh-blog-featured__copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(36px,6vw,68px); }
.bh-blog-featured__copy h2 { font-size: clamp(38px,4.8vw,56px); }
.bh-blog-featured__copy h2 a { text-decoration: none; }
.bh-blog-featured__copy > p:not(.bh-kicker) { color: var(--bh-muted); }
.bh-blog-featured__copy .bh-text-link { margin-top: 18px; color: var(--bh-gold-dark); }
.bh-blog-question-grid { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid rgba(236,217,163,.25); border-left: 1px solid rgba(236,217,163,.25); }
.bh-blog-question-grid > a { min-height: 370px; display: flex; flex-direction: column; padding: 34px; border-right: 1px solid rgba(236,217,163,.25); border-bottom: 1px solid rgba(236,217,163,.25); text-decoration: none; }
.bh-blog-question-grid span { color: #d9c486; font-family: var(--bh-serif); font-size: 15px; }
.bh-blog-question-grid h3 { margin: 52px 0 15px; font-family: var(--bh-serif); font-size: 31px; font-weight: 400; line-height: 1.1; }
.bh-blog-question-grid p { margin: 0 0 25px; color: #bfb6a7; font-size: 13px; }
.bh-blog-question-grid i { margin-top: auto; color: #d9c486; font-size: 11px; font-style: normal; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.bh-blog-destinations { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.bh-blog-destinations > a { position: relative; min-height: 500px; display: flex; align-items: end; isolation: isolate; overflow: hidden; color: var(--bh-white); text-decoration: none; }
.bh-blog-destinations > a::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg,rgba(18,20,17,.86),rgba(18,20,17,.08) 68%); }
.bh-blog-destinations img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.bh-blog-destinations > a:hover img { transform: scale(1.04); }
.bh-blog-destinations div { width: 100%; padding: 30px; }
.bh-blog-destinations span { color: #e3d8c5; font-size: 10px; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.bh-blog-destinations h3 { margin: 8px 0 20px; font-family: var(--bh-serif); font-size: 43px; font-weight: 400; line-height: 1; }
.bh-blog-destinations i { display: block; padding-top: 15px; border-top: 1px solid rgba(255,255,255,.48); font-size: 11px; font-style: normal; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.bh-blog-post-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 28px 22px; }
.bh-blog-post-grid article { padding-bottom: 25px; border-bottom: 1px solid var(--bh-line); }
.bh-blog-post-card__image { display: block; height: 285px; margin-bottom: 22px; overflow: hidden; }
.bh-blog-post-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.bh-blog-post-card__image:hover img { transform: scale(1.035); }
.bh-blog-post-grid h3 { margin: 0 0 11px; font-family: var(--bh-serif); font-size: 28px; font-weight: 400; line-height: 1.15; }
.bh-blog-post-grid h3 a,.bh-blog-post-grid .bh-text-link { text-decoration: none; }
.bh-blog-post-grid article > p:not(.bh-kicker) { color: var(--bh-muted); font-size: 14px; }
.bh-blog-post-grid .bh-text-link { color: var(--bh-gold-dark); font-size: 11px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.bh-blog-promise { display: grid; grid-template-columns: .85fr 1.15fr; gap: 75px; align-items: start; padding-top: 45px; border-top: 1px solid var(--bh-line); }
.bh-blog-promise .bh-text-link { display: inline-block; margin-top: 25px; color: var(--bh-gold-dark); font-size: 11px; font-weight: 700; letter-spacing: .05em; text-decoration: none; text-transform: uppercase; }

@media (max-width: 980px) {
  .bh-blog-featured,.bh-blog-promise { grid-template-columns: 1fr; }
  .bh-blog-featured__media,.bh-blog-featured__media img { min-height: 440px; }
  .bh-blog-question-grid { grid-template-columns: 1fr; }
  .bh-blog-question-grid > a { min-height: 0; }
  .bh-blog-question-grid h3 { margin-top: 28px; }
  .bh-blog-post-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 760px) {
  .bh-blog-topic-strip .bh-wrap { grid-template-columns: 1fr 1fr; padding-block: 18px; }
  .bh-blog-destinations { grid-template-columns: 1fr; }
  .bh-blog-destinations > a { min-height: 440px; }
}

@media (max-width: 620px) {
  .bh-blog-hero { min-height: 620px; }
  .bh-blog-featured__media,.bh-blog-featured__media img { min-height: 340px; }
  .bh-blog-featured__copy { padding: 30px 25px; }
  .bh-blog-question-grid > a { padding: 28px; }
  .bh-blog-post-grid { grid-template-columns: 1fr; }
}

/* Privacy policy */
.bh-policy-hero { padding: 72px 0 82px; background: var(--bh-ink); color: var(--bh-white); }
.bh-policy-hero__grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 70px; align-items: center; }
.bh-policy-hero__grid > div:first-child { padding-block: 35px; }
.bh-policy-hero h1 { max-width: 650px; margin: 0; font-family: var(--bh-serif); font-size: clamp(58px,7.8vw,96px); font-weight: 400; line-height: .94; letter-spacing: -.035em; }
.bh-policy-hero h1 + p { max-width: 570px; margin: 25px 0 34px; color: #d9d1c4; font-size: 18px; line-height: 1.65; }
.bh-policy-hero__media { position: relative; min-height: 540px; overflow: hidden; }
.bh-policy-hero__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg,rgba(19,22,18,.48),transparent 55%); }
.bh-policy-hero__media img { width: 100%; height: 540px; object-fit: cover; }
.bh-policy-hero__media span { position: absolute; right: 28px; bottom: 25px; left: 28px; z-index: 1; padding-top: 16px; border-top: 1px solid rgba(255,255,255,.6); color: var(--bh-white); font-family: var(--bh-serif); font-size: 23px; }
.bh-policy-section { background: var(--bh-cream); }
.bh-policy-layout { display: grid; grid-template-columns: 280px minmax(0,780px); gap: clamp(50px,8vw,105px); align-items: start; justify-content: center; }
.bh-policy-layout > * { min-width: 0; }
.bh-policy-aside { position: sticky; top: 150px; padding: 26px 25px; border: 1px solid var(--bh-line); background: var(--bh-paper); }
.bh-policy-aside nav { display: grid; }
.bh-policy-aside nav a { padding: 10px 0; border-bottom: 1px solid var(--bh-line); color: var(--bh-ink); font-size: 12px; font-weight: 650; text-decoration: none; }
.bh-policy-aside nav a:hover,.bh-policy-aside nav a:focus-visible { color: var(--bh-gold-dark); }
.bh-policy-aside__contact { display: grid; gap: 7px; margin: 26px -25px -26px; padding: 23px 25px; background: var(--bh-ink); color: var(--bh-white); }
.bh-policy-aside__contact strong { margin-bottom: 4px; font-family: var(--bh-serif); font-size: 20px; font-weight: 400; line-height: 1.2; }
.bh-policy-aside__contact a { color: #ddd2ba; font-size: 12px; overflow-wrap: anywhere; text-decoration: none; }
.bh-policy-content { color: #383832; font-family: var(--bh-sans); font-size: 13px; line-height: 1.65; }
.bh-policy-content__welcome { margin: 0 0 24px; color: var(--bh-gold-dark); font-size: 11px; font-weight: 750; letter-spacing: .16em; text-transform: uppercase; }
.bh-policy-content > p:first-of-type + p { margin-top: 0; font-family: inherit; font-size: inherit; line-height: inherit; }
.bh-policy-content h2 { margin: 28px 0 12px; padding-top: 10px; border-top: 1px solid var(--bh-line); font-family: var(--bh-serif); font-size: 22px; font-weight: 400; line-height: 1.2; scroll-margin-top: 140px; }
.bh-policy-content h2:first-of-type { margin-top: 28px; }
.bh-policy-content h2:first-child { margin-top: 0; }
.bh-policy-content h3 { margin: 20px 0 8px; font-family: var(--bh-serif); font-size: 18px; font-weight: 400; line-height: 1.3; }
.bh-policy-content p { margin: 0 0 12px; font-size: inherit; line-height: inherit; text-wrap: pretty; }
.bh-policy-content strong,.bh-policy-content b,.bh-policy-content p > strong:first-child,.bh-policy-content p > b:first-child { color: var(--bh-ink); font-family: inherit; font-size: inherit; line-height: inherit; font-weight: 700; }
.bh-policy-content ul { margin: 10px 0 18px; padding: 0; list-style: none; }
.bh-policy-content li { position: relative; margin-bottom: 6px; padding: 0 0 6px 24px; border-bottom: 1px solid rgba(149,128,70,.18); }
.bh-policy-content li::before { content: ""; position: absolute; top: .78em; left: 2px; width: 6px; height: 6px; border-radius: 50%; background: var(--bh-gold-dark); }
.bh-policy-content a { color: var(--bh-gold-dark); font-weight: 650; }
.bh-policy-table-wrap { max-width: 100%; margin: 26px 0 36px; overflow-x: auto; border: 1px solid var(--bh-line); border-radius: 3px; background: #fff; }
.bh-policy-content table { width: 100%; min-width: 760px; margin: 0; border-collapse: collapse; font-size: 13px; line-height: 1.55; }
.bh-policy-content th,.bh-policy-content td { padding: 14px 16px; border-right: 1px solid var(--bh-line); border-bottom: 1px solid var(--bh-line); text-align: left; vertical-align: top; }
.bh-policy-content th:last-child,.bh-policy-content td:last-child { border-right: 0; }
.bh-policy-content tr:last-child td { border-bottom: 0; }
.bh-policy-content th { background: var(--bh-ink); color: #fff; font-size: 11px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.bh-policy-content tbody tr:nth-child(even) { background: rgba(244,240,229,.55); }
.bh-policy-content code { color: var(--bh-ink); font-family: ui-monospace,SFMono-Regular,Consolas,monospace; font-size: .92em; }

/* Terms and conditions */
.bh-terms-hero .bh-policy-hero__media img { object-position: center 58%; }
.bh-terms-aside nav { max-height: 520px; padding-right: 8px; overflow-y: auto; scrollbar-color: var(--bh-gold-dark) transparent; scrollbar-width: thin; }
.bh-terms-aside nav a { font-size: 11.5px; line-height: 1.35; }
.bh-policy-content.bh-terms-content { font-family: var(--bh-sans); font-size: 13px; line-height: 1.65; }
.bh-policy-content.bh-terms-content h2 { margin: 28px 0 12px; padding-top: 10px; font-size: 22px; line-height: 1.2; }
.bh-terms-content h2:first-child { margin-top: 0; }
.bh-policy-content.bh-terms-content h2:first-child { margin-top: 0; }
.bh-policy-content.bh-terms-content h3 { margin: 20px 0 8px; font-size: 18px; line-height: 1.3; }
.bh-terms-content p { margin-bottom: 12px; font-size: inherit; line-height: inherit; text-wrap: pretty; }
.bh-policy-content.bh-terms-content > p:first-of-type + p { font-family: inherit; font-size: inherit; line-height: inherit; }
.bh-policy-content.bh-terms-content strong,.bh-policy-content.bh-terms-content b,.bh-policy-content.bh-terms-content p > strong:first-child,.bh-policy-content.bh-terms-content p > b:first-child { font-family: inherit; font-size: inherit; line-height: inherit; font-weight: 700; }
.bh-terms-content ul { margin: 10px 0 18px; }
.bh-terms-content li { margin-bottom: 6px; padding-bottom: 6px; }
.bh-terms-content table { min-width: 0; margin: 16px 0; }
.bh-terms-content th,.bh-terms-content td { padding: 10px 12px; overflow-wrap: anywhere; }
.bh-terms-content h2 + p { color: #30302b; }

@media (max-width: 980px) {
  .bh-policy-hero__grid { grid-template-columns: 1fr; gap: 40px; }
  .bh-policy-hero__media,.bh-policy-hero__media img { min-height: 440px; height: 440px; }
  .bh-policy-layout { grid-template-columns: minmax(0,1fr); }
  .bh-policy-aside { position: static; }
  .bh-policy-aside nav { grid-template-columns: 1fr 1fr; gap: 0 25px; }
}

@media (max-width: 620px) {
  .bh-policy-hero { padding-block: 52px 62px; }
  .bh-policy-hero__grid > div:first-child { padding-block: 15px; }
  .bh-policy-hero__media,.bh-policy-hero__media img { min-height: 340px; height: 340px; }
  .bh-policy-aside { padding: 22px 20px; }
  .bh-policy-aside nav { grid-template-columns: 1fr; }
  .bh-policy-aside__contact { margin: 22px -20px -22px; padding: 21px 20px; }
  .bh-policy-content h2 { margin-top: 52px; }
}

/* First-hand journey recommendations */
.bh-firsthand-note { display: grid; grid-template-columns: 230px 1fr; gap: 28px; align-items: center; margin-top: 42px; padding: 24px 28px; border: 1px solid var(--bh-line); background: rgba(255,255,255,.42); }
.bh-firsthand-note strong { color: var(--bh-gold-dark); font-size: 10px; letter-spacing: .13em; line-height: 1.5; text-transform: uppercase; }
.bh-firsthand-note span { color: var(--bh-muted); font-size: 14px; line-height: 1.7; }
.bh-journey-experiences { display: grid; grid-template-columns: .68fr 1.32fr; gap: 65px; align-items: start; }
.bh-journey-experiences__intro { position: sticky; top: 145px; }
.bh-journey-experiences__intro img { width: 100%; height: 340px; margin-top: 30px; object-fit: cover; }
.bh-journey-experiences__grid { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid rgba(236,217,163,.25); border-left: 1px solid rgba(236,217,163,.25); }
.bh-journey-experiences__grid article { min-height: 285px; padding: 30px; border-right: 1px solid rgba(236,217,163,.25); border-bottom: 1px solid rgba(236,217,163,.25); }
.bh-journey-experiences__grid article > span { color: #d9c486; font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.bh-journey-experiences__grid h3 { margin: 38px 0 13px; font-family: var(--bh-serif); font-size: 27px; font-weight: 400; line-height: 1.12; }
.bh-journey-experiences__grid p { margin: 0; color: #bfb6a7; font-size: 13px; }

@media (max-width: 980px) {
  .bh-journey-experiences { grid-template-columns: 1fr; gap: 42px; }
  .bh-journey-experiences__intro { position: static; }
  .bh-journey-experiences__intro img { height: 420px; }
}

@media (max-width: 620px) {
  .bh-firsthand-note { grid-template-columns: 1fr; gap: 8px; padding: 22px; }
  .bh-journey-experiences__grid { grid-template-columns: 1fr; }
  .bh-journey-experiences__grid article { min-height: 0; padding: 26px; }
  .bh-journey-experiences__grid h3 { margin-top: 24px; }
  .bh-journey-experiences__intro img { height: 300px; }
}
