/* =====================================================================
   PJ Aviation — "Golden Hour Dossier" art direction.
   One layer that re-composes every section of the three pages.
   Content and behaviour come untouched from the original markup.
   ===================================================================== */
body.horizons {
  --gh-ink: #29261f;
  --gh-bronze: #75551e;
  --gh-bronze-deep: #5d4318;
  --gh-muted: #625b4b;
  --gh-paper: #faf7ee;
  --gh-gold: #eee8d9;
  --gh-bone: #fffdf7;
  --gh-line: #d8ccae;
  --gh-gild: linear-gradient(90deg, transparent, #b29a68 15%, #efdcae 50%, #b29a68 85%, transparent);
  --gh-metal: linear-gradient(135deg, #8a6a2e 0%, #d9bd7a 38%, #f6e7bf 50%, #b8955a 64%, #75551e 100%);
  --gh-lift: 0 30px 60px -38px rgb(73 57 30 / 60%);
  counter-reset: gh-chapter gh-brief gh-component gh-region gh-programme;
}

/* ---------- Shared typographic system ---------- */
body.horizons .gh-kicker,
body.horizons .chapter-title::before,
body.horizons :is(.av-section-heading, .av-type-archive-heading, .flight-films-heading, .career-film-heading, .history-heading, .travel-programmes-intro, .travel-field-heading, .travel-memories-heading, .trade-opportunities-heading, .journey-intro, .travel-bali-copy)::before {
  display: block;
  margin-bottom: 18px;
  color: var(--gh-bronze);
  font: 600 11px/1.2 "Hanken Grotesk", sans-serif;
  letter-spacing: .28em;
  text-transform: uppercase;
}
body.horizons .av-supplied-briefs > .av-section-heading::before { content: "Aircraft dossier"; }
body.horizons .av-type-archive-heading::before { content: "Types · Experience"; }
body.horizons .av-components .av-section-heading::before { content: "Product support"; }
body.horizons .av-business-brief .av-section-heading::before { content: "Business aviation"; }
body.horizons .flight-films-heading::before { content: "Screening · L410"; }
body.horizons .career-film-heading::before { content: "Archive film"; }
body.horizons .history-heading::before { content: "Personal archive"; }
body.horizons .journey-intro::before { content: "Travel with Patrik"; }
body.horizons .travel-bali-copy::before { content: "Indonesia · Bali"; }
body.horizons .travel-programmes-intro::before { content: "Programmes"; }
body.horizons .travel-field-heading::before { content: "Field notes · Vietnam"; }
body.horizons .travel-memories-heading::before { content: "Memories"; }
body.horizons .trade-opportunities-heading::before { content: "Trade · Import & export"; }

body.horizons main h2 { font-size: clamp(46px, 5.6vw, 88px); line-height: .98; letter-spacing: -.035em; }
body.horizons main h3 { letter-spacing: -.02em; }
body.horizons :is(.av-section-heading, .av-type-archive-heading, .history-heading, .travel-programmes-intro, .flight-films-heading, .career-film-heading) h3,
body.horizons :is(.flight-films-heading, .career-film-heading, .history-heading) h2 {
  font-size: clamp(42px, 4.6vw, 72px);
  line-height: 1;
  letter-spacing: -.03em;
}
@media (min-width: 801px) {
  body.horizons :is(.av-section-heading, .history-heading, .flight-films-heading, .career-film-heading, .travel-programmes-intro, .travel-field-heading, .trade-opportunities-heading) {
    display: grid !important;
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr) !important;
    align-items: end !important;
    gap: 24px 64px !important;
    padding-bottom: 34px;
    margin-bottom: 48px !important;
    border-bottom: 1px solid var(--gh-line);
  }
  body.horizons :is(.av-section-heading, .history-heading, .flight-films-heading, .career-film-heading, .travel-programmes-intro, .travel-field-heading, .trade-opportunities-heading)::before { grid-column: 1 / -1; margin: 0; }
  body.horizons :is(.av-section-heading, .history-heading, .flight-films-heading, .career-film-heading, .travel-programmes-intro, .travel-field-heading, .trade-opportunities-heading) > :last-child { padding-bottom: 6px; }
  body.horizons .history-heading h2 { max-width: 10ch; }
}

/* ---------- Chapter banners: full-bleed, numbered ---------- */
body.horizons .chapter:not(.chapter-aviation) { counter-increment: gh-chapter; }
body.horizons .chapter:not(.chapter-aviation) .chapter-title::before { content: "Chapter 0" counter(gh-chapter); color: #eee8d9; }
@media (min-width: 801px) {
  body.horizons .client-feedback .chapter:not(.chapter-aviation).shell {
    width: 100% !important; max-width: none !important; margin-inline: 0 !important;
    height: min(78vh, 760px) !important; margin-top: 120px !important;
  }
  body.horizons .chapter:not(.chapter-aviation) .chapter-title { left: max(56px, calc((100vw - 1320px) / 2)) !important; bottom: 64px !important; }
  body.horizons .chapter:not(.chapter-aviation) h2 { font-size: clamp(110px, 13vw, 210px) !important; line-height: .86 !important; letter-spacing: -.05em !important; }
  body.horizons .chapter:not(.chapter-aviation) .chapter-title p { font-size: 18px !important; letter-spacing: .06em; margin-top: 18px !important; }
}
body.horizons .chapter:not(.chapter-aviation)::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(0deg, rgb(36 32 27 / 62%) 0%, rgb(36 32 27 / 10%) 45%, transparent 70%);
}
body.horizons .chapter:not(.chapter-aviation) > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
body.horizons .chapter:not(.chapter-aviation) { position: relative; overflow: hidden; }
body.horizons .chapter:not(.chapter-aviation) .chapter-title { z-index: 2; }


/* ---------- Aircraft briefs: editorial dossier rows ---------- */
body.horizons .aviation-selection .av-brief-grid { display: block !important; border-top: 1px solid var(--gh-ink); }
body.horizons .aviation-selection .av-aircraft-brief {
  counter-increment: gh-brief;
  border-bottom: 1px solid var(--gh-line) !important;
  margin: 0 !important;
}
body.horizons .aviation-selection .av-brief-grid .av-aircraft-brief > summary {
  display: grid !important;
  grid-template-columns: 64px minmax(0, 1.15fr) minmax(0, 1fr);
  align-items: center;
  gap: 40px;
  padding: 36px 0 !important;
  list-style: none;
}
body.horizons .aviation-selection .av-brief-grid .av-aircraft-brief > summary::before {
  content: counter(gh-brief, decimal-leading-zero);
  align-self: start;
  padding-top: 6px;
  font: 400 15px/1 "Hedvig Letters Serif", serif;
  color: var(--gh-bronze);
  border-top: 1px solid var(--gh-bronze);
  padding-top: 12px;
}
body.horizons .aviation-selection .av-brief-grid .av-aircraft-brief:nth-child(even) > summary { grid-template-columns: 64px minmax(0, 1fr) minmax(0, 1.15fr); }
body.horizons .aviation-selection .av-brief-grid .av-aircraft-brief:nth-child(even) > summary > :is(figure, .av-intake-dossier) { order: 3; }
body.horizons .aviation-selection .av-brief-grid .av-aircraft-brief:nth-child(even) > summary > .av-brief-heading { order: 2; }
body.horizons .aviation-selection .av-aircraft-brief figure > img {
  aspect-ratio: 16 / 10 !important;
  object-fit: cover !important;
  transition: transform .8s cubic-bezier(.2,.7,.2,1);
}
body.horizons .aviation-selection .av-aircraft-brief figure { overflow: hidden; }
body.horizons .aviation-selection .av-aircraft-brief summary:hover figure > img { transform: scale(1.03); }
body.horizons .aviation-selection .av-intake-dossier { aspect-ratio: 16 / 10 !important; background: var(--gh-bone) !important; border: 1px solid var(--gh-line); box-shadow: inset 0 0 0 10px var(--gh-bone), inset 0 0 0 11px var(--gh-line); }
body.horizons .aviation-selection .av-brief-grid .av-brief-heading {
  display: flex !important; flex-direction: column; align-items: flex-start !important; gap: 22px !important; padding: 0 !important;
}
body.horizons .aviation-selection .av-brief-heading h4 { font-size: clamp(36px, 3.8vw, 60px) !important; line-height: 1 !important; letter-spacing: -.035em; }
body.horizons .aviation-selection .av-brief-heading p { font-size: 15px !important; color: var(--gh-muted); letter-spacing: .04em; }
body.horizons .aviation-selection .av-brief-expand {
  padding: 12px 18px; border: 1px solid var(--gh-bronze); color: var(--gh-bronze) !important;
  font-size: 12px !important; letter-spacing: .16em; text-transform: uppercase;
  transition: background .2s ease, color .2s ease;
}
body.horizons .aviation-selection .av-aircraft-brief summary:hover .av-brief-expand { background: var(--gh-bronze); color: var(--gh-bone) !important; }
body.horizons .aviation-selection .av-aircraft-brief[open] .av-brief-expand { background: var(--gh-ink); border-color: var(--gh-ink); color: var(--gh-paper) !important; }
body.horizons .aviation-selection .av-brief-body {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 56px;
  margin: 0 0 44px 104px; padding: 40px 44px 36px !important;
  background: var(--gh-bone); border: 1px solid var(--gh-line);
  box-shadow: var(--gh-lift);
}
body.horizons .aviation-selection .av-brief-body > * { grid-column: 1 / -1; }
body.horizons .aviation-selection .av-brief-body > p:not(.av-brief-note) { grid-column: 1; font-size: 17px !important; line-height: 1.7; }
body.horizons .aviation-selection .av-brief-body > .av-brief-note { grid-column: 2; margin-top: 0 !important; padding-left: 22px; border-left: 2px solid var(--gh-bronze); font-size: 14px !important; color: var(--gh-muted); align-self: start; }
/* Technical specification as an instrument strip */
body.horizons .av-brief-specs {
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)) !important;
  gap: 0 !important; padding: 0 !important; margin: 0 0 32px !important;
  border: 0 !important; border-top: 2px solid var(--gh-ink) !important;
}
body.horizons .av-brief-specs > div { padding: 18px 22px 20px 0; border-bottom: 1px solid var(--gh-line); }
body.horizons .av-brief-specs > div + div { padding-left: 22px; border-left: 1px solid var(--gh-line); }
body.horizons .av-brief-specs dt { font-size: 10.5px !important; letter-spacing: .2em !important; text-transform: uppercase; color: var(--gh-bronze) !important; }
body.horizons .av-brief-specs dd { margin-top: 10px !important; font-family: "Hedvig Letters Serif", serif; font-size: 23px !important; line-height: 1.2 !important; letter-spacing: -.01em; }
body.horizons .aviation-selection .av-intake-gallery { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; margin-top: 30px !important; }
body.horizons .aviation-selection .av-intake-gallery img { aspect-ratio: 1 !important; object-fit: cover !important; }
body.horizons .aviation-selection .av-brief-actions { margin-top: 30px !important; padding-top: 24px; border-top: 1px solid var(--gh-line); gap: 12px !important; }
body.horizons .aviation-selection .av-brief-actions > a {
  padding: 0 22px; border: 1px solid var(--gh-bronze); text-decoration: none !important;
  font-size: 12px !important; letter-spacing: .14em; text-transform: uppercase;
}
body.horizons .aviation-selection .av-brief-actions > a:hover { background: var(--gh-bronze); color: var(--gh-bone) !important; }
body.horizons .aviation-selection .av-brief-actions > .av-brief-document { background: var(--gh-bronze); color: var(--gh-bone) !important; }
body.horizons .aviation-selection .av-brief-actions > .av-brief-document:hover { background: var(--gh-bronze-deep); }

/* Gulfstream: a wide feature on a deep metallic plate */
body.horizons .aviation-selection .av-business-brief { margin-top: 110px !important; padding: 0 !important; border: 0 !important; }
body.horizons .aviation-selection .av-brief-business { border: 0 !important; background: var(--gh-ink); color: var(--gh-paper); padding: 0; box-shadow: var(--gh-lift); }
body.horizons .aviation-selection .av-brief-business > summary { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) !important; gap: 0 !important; padding: 0 !important; }
body.horizons .aviation-selection .av-brief-business figure > img { aspect-ratio: 16 / 9 !important; height: 100%; }
body.horizons .aviation-selection .av-brief-business figcaption { position: absolute; margin: 0 !important; padding: 6px 10px; background: var(--gh-bone); }
body.horizons .aviation-selection .av-brief-business figure { position: relative; }
body.horizons .aviation-selection .av-brief-business figcaption { bottom: 14px; left: 14px; }
body.horizons .aviation-selection .av-brief-business .av-brief-heading { flex-direction: column; align-items: flex-start !important; padding: 48px !important; gap: 26px !important; }
body.horizons .aviation-selection .av-brief-business :is(h4, p) { color: var(--gh-paper) !important; }
body.horizons .aviation-selection .av-brief-business .av-brief-heading h4 { font-size: clamp(40px, 4vw, 64px) !important; background: var(--gh-metal); -webkit-background-clip: text; background-clip: text; color: transparent !important; }
body.horizons .aviation-selection .av-brief-business .av-brief-expand { border-color: #d8ccae; color: #eee8d9 !important; }
body.horizons .aviation-selection .av-brief-business .av-brief-body { margin: 0 !important; max-width: none !important; background: #2e2922; border: 0; border-top: 1px solid #5c4a2a; box-shadow: none; color: var(--gh-paper); }
body.horizons .aviation-selection .av-brief-business .av-brief-body :is(p, dd) { color: var(--gh-paper) !important; }
body.horizons .aviation-selection .av-brief-business .av-brief-specs { border-top-color: #d8ccae !important; }
body.horizons .aviation-selection .av-brief-business .av-brief-specs dt { color: #eee8d9 !important; }
body.horizons .aviation-selection .av-brief-business .av-brief-specs > div { border-color: #5c4a2a; }
body.horizons .aviation-selection .av-brief-business .av-brief-actions { border-color: #5c4a2a; }
body.horizons .aviation-selection .av-brief-business .av-brief-actions > a { border-color: #d8ccae; color: #eee8d9 !important; }
body.horizons .aviation-selection .av-brief-business .av-brief-actions > .av-brief-document { background: #d8ccae; color: var(--gh-ink) !important; }

/* ---------- Aircraft types: tall poster cards ---------- */
@media (min-width: 801px) {
  body.horizons .av-models { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 18px !important; align-items: start; }
  body.horizons .av-model > summary { display: block !important; position: relative; overflow: hidden; background: var(--gh-ink); }
  body.horizons .av-model > summary figure img { aspect-ratio: 3 / 4 !important; height: auto !important; object-fit: cover !important; transition: transform .8s cubic-bezier(.2,.7,.2,1); }
  body.horizons .av-model > summary:hover figure img { transform: scale(1.04); }
  body.horizons .av-model > summary .av-model-heading {
    position: absolute; inset: auto 0 0 0; padding: 90px 26px 24px !important;
    background: linear-gradient(0deg, rgb(36 32 27 / 92%), transparent); color: var(--gh-bone);
  }
  body.horizons .av-model > summary .av-model-heading :is(h4, h3, p, span, small, div) { color: var(--gh-bone) !important; }
  body.horizons .av-model > summary .av-model-heading :is(h4, h3) { font-size: 52px !important; letter-spacing: -.035em; }
  body.horizons .av-model .av-model-body { padding: 26px 4px 10px !important; }
}

/* ---------- Components: numbered index tiles ---------- */
@media (min-width: 801px) {
  body.horizons .av-component-grid { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 0 !important; border-top: 1px solid var(--gh-ink); border-left: 1px solid var(--gh-line); }
  body.horizons .av-component { border: 0 !important; border-right: 1px solid var(--gh-line) !important; border-bottom: 1px solid var(--gh-line) !important; background: transparent; transition: background .25s ease; }
  body.horizons .av-component:hover, body.horizons .av-component[open] { background: var(--gh-bone); }
  body.horizons .av-component > summary { min-height: 190px; padding: 26px 28px !important; display: flex !important; flex-direction: column; justify-content: space-between; align-items: flex-start !important; position: relative; }
  body.horizons .av-component > summary > svg { position: absolute; top: 26px; right: 28px; }
  body.horizons .av-component-body { padding: 0 28px 28px !important; }
}
body.horizons .av-component { counter-increment: gh-component; }
body.horizons .av-component > summary::before {
  content: counter(gh-component, decimal-leading-zero);
  display: block; margin-bottom: 30px;
  font: 400 44px/1 "Hedvig Letters Serif", serif; color: var(--gh-line);
}
body.horizons .av-component > summary :is(h4, strong, span:first-of-type) { font-family: "Hedvig Letters Serif", serif; font-size: 26px; font-weight: 400; }

/* ---------- Films: gold screening band ---------- */
body.horizons .flight-films.shell {
  width: 100% !important; max-width: none !important; margin-inline: 0 !important;
  padding: 120px max(56px, calc((100vw - 1320px) / 2)) 110px !important;
  background: radial-gradient(120% 80% at 80% 0%, #fffdf7 0%, #eee8d9 55%, #eae2d0 100%);
  margin-top: 120px !important;
}
@media (min-width: 801px) {
  body.horizons .flight-films-grid { display: grid !important; grid-template-columns: 2fr 1fr !important; gap: 26px !important; align-items: start; }
  body.horizons .flight-film-landing { grid-column: 1 / -1; display: grid !important; grid-template-columns: 2fr 1fr; gap: 32px; align-items: end; }
}
body.horizons .flight-film video { width: 100%; box-shadow: 0 40px 70px -40px rgb(36 32 27 / 70%) !important; }
body.horizons .flight-film figcaption h3 { font-size: 30px !important; margin-top: 18px; }

/* ---------- Patrik: portrait, statement and timeline ---------- */
@media (min-width: 801px) {
  body.horizons .human.shell {
    display: grid !important; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr) !important;
    grid-template-rows: auto auto; gap: 40px 80px !important; padding-block: 140px 80px !important; align-items: start !important;
  }
  body.horizons .human-main { grid-row: 1 / span 2; position: sticky; top: 100px; }
  body.horizons .human-main img { aspect-ratio: 4 / 5 !important; height: auto !important; object-fit: cover; object-position: 30% 30%; box-shadow: var(--gh-lift); }
  body.horizons .human-main::before {
    content: ""; position: absolute; inset: 24px -24px -24px 24px; z-index: -1; border: 1px solid var(--gh-bronze);
  }
  body.horizons .human-main { position: sticky; isolation: isolate; }
  body.horizons .human-text h2 { font-size: clamp(52px, 5.4vw, 86px) !important; line-height: .98 !important; }
  body.horizons .archive-detail { grid-column: 2; max-width: 420px; justify-self: end; }
}
body.horizons .human-text::before { content: "About Patrik"; display: block; margin-bottom: 22px; color: var(--gh-bronze); font: 600 11px/1.2 "Hanken Grotesk", sans-serif; letter-spacing: .28em; text-transform: uppercase; }
body.horizons .human-text .name { font-family: "Hedvig Letters Serif", serif; font-size: 26px !important; margin-top: 26px !important; }
body.horizons .profile-career { position: relative; margin: 34px 0 !important; padding-left: 30px !important; border: 0 !important; }
body.horizons .profile-career::before { content: ""; position: absolute; left: 5px; top: 8px; bottom: 8px; width: 1px; background: var(--gh-bronze); }
body.horizons .profile-career > div { position: relative; display: block !important; padding: 0 0 26px !important; border: 0 !important; }
body.horizons .profile-career > div::before { content: ""; position: absolute; left: -30px; top: 5px; width: 11px; height: 11px; border-radius: 50%; background: var(--gh-paper); border: 2px solid var(--gh-bronze); }
body.horizons .profile-career dt { font-family: "Hedvig Letters Serif", serif; font-size: 28px !important; letter-spacing: -.01em !important; text-transform: none !important; color: var(--gh-bronze) !important; }
body.horizons .profile-career dd { margin: 6px 0 0 !important; font-size: 16px; }
body.horizons .human-text > p:not(.name):not(.experience-role) { font-size: 17px !important; line-height: 1.75 !important; color: var(--gh-ink) !important; }

/* Career film: wide, centred */
@media (min-width: 801px) {
  body.horizons .career-film.shell { padding-block: 60px 100px !important; }
  body.horizons .career-film-feature { max-width: 1100px; margin-inline: auto !important; }
}

/* ---------- Archive: three-column collection cards ---------- */
body.horizons .history-filters button { border: 1px solid var(--gh-line) !important; padding-inline: 20px !important; letter-spacing: .1em; text-transform: uppercase; font-size: 12px !important; border-radius: 999px !important; }
body.horizons .history-filters button[aria-pressed="true"] { border-color: var(--gh-bronze) !important; }
@media (min-width: 801px) {
  body.horizons .history-projects { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 44px 26px !important; }
  body.horizons .history-group[open] { grid-column: 1 / -1; background: var(--gh-bone); padding: 28px; border: 1px solid var(--gh-line) !important; }
  body.horizons .history-group[open] .history-summary { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr) !important; }
  body.horizons .history-summary { display: grid !important; grid-template-columns: 1fr !important; gap: 18px !important; min-height: 0 !important; }
  body.horizons .history-summary .history-cover { aspect-ratio: 4 / 3 !important; height: auto !important; max-height: none !important; min-height: 0 !important; filter: sepia(.18) saturate(.92); transition: filter .4s ease; }
  body.horizons .history-summary:hover .history-cover { filter: none; }
  body.horizons .history-summary-copy { min-height: 130px !important; }
}

/* ---------- Tourism ---------- */
@media (min-width: 801px) {
  body.horizons .journey-intro { display: grid !important; grid-template-columns: 6fr 5fr !important; gap: 24px 64px !important; padding-block: 100px 60px !important; }
  body.horizons .journey-intro::before { grid-column: 1 / -1; }
  body.horizons .journey-intro h3 { font-size: clamp(48px, 5vw, 80px) !important; line-height: .98; }
  body.horizons .travel-regions { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 0 !important; border-top: 1px solid var(--gh-ink); }
  body.horizons .travel-regions article + article { border-left: 1px solid var(--gh-line); }
  body.horizons .travel-regions article { padding: 40px 36px 44px !important; border-top: 0 !important; }
}
body.horizons .travel-regions article { counter-increment: gh-region; transition: background .25s ease; }
body.horizons .travel-regions article:hover { background: var(--gh-bone); }
body.horizons .travel-regions article::before { content: counter(gh-region, upper-roman); display: block; margin-bottom: 26px; font: 400 18px/1 "Hedvig Letters Serif", serif; color: var(--gh-bronze); }
body.horizons .travel-regions article h3 { font-size: clamp(40px, 3.6vw, 58px) !important; line-height: 1; }

/* Bali: overlapping cover and masonry gallery */
@media (min-width: 801px) {
  body.horizons .travel-bali { padding-top: 110px !important; }
  body.horizons .travel-bali-intro { display: grid !important; grid-template-columns: 5fr 7fr !important; gap: 0 !important; align-items: center !important; }
  body.horizons .travel-bali-copy { position: relative; z-index: 2; margin-right: -90px; padding: 54px 50px !important; background: var(--gh-bone); box-shadow: var(--gh-lift); }
  body.horizons .travel-bali-copy h3 { font-size: clamp(44px, 4.4vw, 68px) !important; line-height: 1; }
  body.horizons .travel-bali-cover img { aspect-ratio: 5 / 4 !important; height: auto !important; object-fit: cover; }
  body.horizons .travel-bali-preview { display: grid !important; grid-template-columns: 1fr 1.4fr 1fr !important; gap: 14px !important; margin-top: 18px !important; }
  body.horizons .travel-bali-preview img { aspect-ratio: 4 / 5 !important; height: auto !important; object-fit: cover; }
  body.horizons .travel-bali-preview figure:nth-child(2) { margin-top: 60px !important; }
  body.horizons .travel-bali-gallery-grid { display: block !important; columns: 4 240px; column-gap: 14px; }
  body.horizons .travel-bali-gallery-grid figure { break-inside: avoid; margin: 0 0 14px !important; }
  body.horizons .travel-bali-gallery-grid img { height: auto !important; aspect-ratio: auto !important; object-fit: contain !important; }
}
body.horizons .travel-bali-gallery > summary { padding: 26px 0 !important; font-family: "Hedvig Letters Serif", serif; font-size: 26px; }

/* Programmes: wide cinematic covers with a floating itinerary plate */
body.horizons .travel-programme { counter-increment: gh-programme; border: 0 !important; margin-bottom: 40px !important; }
@media (min-width: 801px) {
  body.horizons .travel-programme > summary { display: grid !important; grid-template-columns: repeat(12, minmax(0, 1fr)) !important; align-items: center !important; gap: 0 !important; padding: 0 !important; }
  body.horizons .travel-programme > summary > .travel-programme-cover { grid-column: 1 / span 8; grid-row: 1; width: 100%; aspect-ratio: 16 / 9 !important; height: auto !important; object-fit: cover; }
  body.horizons .travel-programme > summary > :not(.travel-programme-cover) { grid-column: 7 / span 6; grid-row: 1; position: relative; z-index: 2; padding: 50px 48px !important; background: var(--gh-bone); box-shadow: var(--gh-lift); }
  body.horizons .travel-programme:nth-of-type(even) > summary > .travel-programme-cover { grid-column: 5 / span 8; }
  body.horizons .travel-programme:nth-of-type(even) > summary > :not(.travel-programme-cover) { grid-column: 1 / span 6; }
  body.horizons .travel-programme > summary > :not(.travel-programme-cover)::before { content: "Programme 0" counter(gh-programme); display: block; margin-bottom: 18px; color: var(--gh-bronze); font: 600 11px/1.2 "Hanken Grotesk", sans-serif; letter-spacing: .28em; text-transform: uppercase; }
  body.horizons .travel-programme-content { margin-top: 26px; padding: 44px 48px !important; background: var(--gh-bone); border-top: 2px solid var(--gh-ink); }
}
body.horizons .travel-programme h3,
body.horizons .travel-programme summary :is(h4, strong) { font-size: clamp(34px, 3.4vw, 54px) !important; line-height: 1.02; }
body.horizons .travel-programme-route { counter-reset: gh-stop; }
body.horizons .travel-programme-route > li { position: relative; }

/* Vietnam field gallery: mosaic */
@media (min-width: 801px) {
  body.horizons .travel-field-gallery { display: grid !important; grid-template-columns: repeat(6, minmax(0, 1fr)) !important; grid-auto-rows: 180px; gap: 14px !important; }
  body.horizons .travel-field-gallery figure { margin: 0; display: flex; flex-direction: column; min-height: 0; }
  body.horizons .travel-field-gallery figure > a { flex: 1; min-height: 0; overflow: hidden; }
  body.horizons .travel-field-gallery figure img { width: 100%; height: 100% !important; aspect-ratio: auto !important; object-fit: cover; }
  body.horizons .travel-field-gallery figure:nth-child(1) { grid-column: span 4; grid-row: span 3; }
  body.horizons .travel-field-gallery figure:nth-child(2) { grid-column: span 2; grid-row: span 2; }
  body.horizons .travel-field-gallery figure:nth-child(3) { grid-column: span 2; grid-row: span 2; }
  body.horizons .travel-field-gallery figure:nth-child(4),
  body.horizons .travel-field-gallery figure:nth-child(5) { grid-column: span 2; grid-row: span 2; }
  body.horizons .travel-field-gallery figure:nth-child(4) { grid-column: 1 / span 2; }
  body.horizons .travel-field-gallery figcaption { padding-top: 8px; }
}

/* ---------- Trade ---------- */
@media (min-width: 801px) {
  body.horizons .trade-opportunities { padding-top: 100px !important; }
  body.horizons .trade-opportunities-grid { display: grid !important; grid-template-columns: 5fr 7fr !important; gap: 64px !important; align-items: start !important; }
  body.horizons .trade-opportunities-grid > figure img { aspect-ratio: 4 / 5 !important; height: auto !important; object-fit: cover; box-shadow: var(--gh-lift); }
  body.horizons .trade-topics dl { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 14px !important; margin: 0 0 30px !important; }
  body.horizons .trade-topics dl > div { padding: 30px 28px 34px !important; background: var(--gh-bone); border: 1px solid var(--gh-line) !important; border-top: 3px solid var(--gh-bronze) !important; min-height: 190px; }
}
body.horizons .trade-topics dt { font-family: "Hedvig Letters Serif", serif !important; font-size: 25px !important; letter-spacing: -.01em !important; text-transform: none !important; color: var(--gh-ink) !important; }
body.horizons .trade-topics dd { margin: 12px 0 0 !important; font-size: 15px !important; color: var(--gh-muted); }
body.horizons details.property { margin-top: 60px !important; border-block: 1px solid var(--gh-ink) !important; }
body.horizons details.property > summary { font-family: "Hedvig Letters Serif", serif; font-size: clamp(24px, 2.4vw, 34px) !important; padding-block: 28px !important; }

/* ---------- Contact: lit stage for the card ---------- */
body.horizons .contact.contact-business {
  background: radial-gradient(70% 90% at 75% 40%, #fffdf7 0%, #faf7ee 45%, #eee8d9 100%) !important;
  padding-block: 140px 70px !important;
}
@media (min-width: 801px) {
  body.horizons .contact-business-intro h2 { font-size: clamp(64px, 7vw, 120px) !important; line-height: .92 !important; letter-spacing: -.045em !important; }
}
body.horizons .contact-business-intro::before { content: "Contact"; display: block; margin-bottom: 22px; color: var(--gh-bronze); font: 600 11px/1.2 "Hanken Grotesk", sans-serif; letter-spacing: .28em; text-transform: uppercase; }

/* ---------- Mobile composition ---------- */
@media (max-width: 800px) {
  body.horizons main h2 { font-size: clamp(40px, 11vw, 56px); }
  body.horizons .chapter:not(.chapter-aviation) h2 { font-size: clamp(64px, 19vw, 92px) !important; line-height: .9 !important; }
  body.horizons .aviation-selection .av-brief-grid .av-aircraft-brief > summary,
  body.horizons .aviation-selection .av-brief-grid .av-aircraft-brief:nth-child(even) > summary { grid-template-columns: 1fr !important; gap: 18px; padding: 28px 0 !important; }
  body.horizons .aviation-selection .av-brief-grid .av-aircraft-brief > summary::before { padding-top: 10px; width: 48px; }
  body.horizons .aviation-selection .av-brief-grid .av-aircraft-brief:nth-child(even) > summary > * { order: 0 !important; }
  body.horizons .aviation-selection .av-brief-heading h4 { font-size: 36px !important; }
  body.horizons .aviation-selection .av-brief-body { display: block; margin: 0 0 28px; padding: 24px 20px !important; }
  body.horizons .aviation-selection .av-brief-body > .av-brief-note { margin-top: 18px !important; padding-left: 14px; }
  body.horizons .av-brief-specs { grid-template-columns: 1fr 1fr !important; }
  body.horizons .av-brief-specs > div, body.horizons .av-brief-specs > div + div { padding: 14px 10px 14px 0; border-left: 0; }
  body.horizons .av-brief-specs dd { font-size: 19px !important; }
  body.horizons .aviation-selection .av-brief-business .av-brief-heading { padding: 26px 22px !important; }
  body.horizons .aviation-selection .av-brief-business > summary { display: block !important; }
  body.horizons .flight-films.shell { padding: 80px 20px !important; }
  body.horizons .human-text .name { font-size: 22px !important; }
  body.horizons .travel-regions article { padding: 28px 0 !important; }
  body.horizons .travel-bali-gallery-grid { columns: 2; column-gap: 10px; display: block !important; }
  body.horizons .travel-bali-gallery-grid figure { break-inside: avoid; margin: 0 0 10px !important; }
  body.horizons .travel-programme-content { padding: 22px 0 !important; }
  body.horizons .contact.contact-business { padding-block: 90px 50px !important; }
}

/* ---------- Supplementary pages ---------- */
body:is(.consultation-catalog, .consultation-detail) :is(h1) {
  font-family: "Hedvig Letters Serif", serif; font-weight: 400;
  font-size: clamp(54px, 7.4vw, 120px) !important; line-height: .94 !important; letter-spacing: -.045em !important;
}
body:is(.consultation-catalog, .consultation-detail) :is(.catalog-intro, .opportunities-intro) {
  position: relative; padding-block: 110px 70px !important;
}
body:is(.consultation-catalog, .consultation-detail) :is(.catalog-intro, .opportunities-intro)::before {
  content: "Supplementary archive"; position: absolute; top: 64px; left: 0;
  color: #75551e; font: 600 11px/1.2 "Hanken Grotesk", sans-serif; letter-spacing: .28em; text-transform: uppercase;
}
body:is(.consultation-catalog, .consultation-detail) :is(.catalog-header, .offer-header) { border-bottom: 1px solid #d8ccae; }
body.consultation-catalog .catalog-summary { border-block: 2px solid #29261f !important; padding-block: 22px !important; }
body.consultation-catalog .model-card {
  background: #fffdf7 !important; border: 1px solid #d8ccae !important; border-top: 3px solid #75551e !important;
  transition: transform .3s ease, box-shadow .3s ease;
}
body.consultation-catalog .model-card:hover { transform: translateY(-4px); box-shadow: 0 30px 60px -38px rgb(73 57 30 / 60%); }
body.consultation-catalog .model-card :is(h3, h4) { font-family: "Hedvig Letters Serif", serif; font-size: 28px !important; font-weight: 400; }
body.consultation-catalog .catalog-sidebar { border-right: 1px solid #d8ccae; padding-right: 26px; }
body.consultation-catalog .offer-record { background: #fffdf7; border: 1px solid #d8ccae !important; padding: 34px !important; }
body.consultation-catalog .model-heading h2 { font-size: clamp(44px, 5vw, 76px) !important; line-height: 1; letter-spacing: -.035em; }
body.consultation-detail .section-navigation { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 0 !important; border-block: 2px solid #29261f; }
body.consultation-detail .section-navigation a { padding: 26px 24px !important; font-family: "Hedvig Letters Serif", serif; font-size: 24px; justify-content: space-between; display: flex !important; align-items: center; }
body.consultation-detail .section-navigation a + a { border-left: 1px solid #d8ccae; }
body.consultation-detail .section-navigation a:hover { background: #fffdf7; }
body.consultation-detail .section-intro h2 { font-size: clamp(44px, 5vw, 80px) !important; line-height: 1 !important; letter-spacing: -.035em; }
body.consultation-detail .finist-section { background: radial-gradient(90% 80% at 80% 0%, #fffdf7 0%, #eee8d9 70%) !important; padding-block: 100px !important; }
body.consultation-detail .finist-gallery img,
body.consultation-detail .engine-photos img { box-shadow: 0 30px 60px -38px rgb(73 57 30 / 60%); }
body.consultation-detail .enquiry-detail { border-left: 2px solid #75551e; padding-left: 24px !important; }
@media (max-width: 800px) {
  body.consultation-detail .section-navigation { grid-template-columns: 1fr !important; }
  body.consultation-detail .section-navigation a + a { border-left: 0; border-top: 1px solid #d8ccae; }
  body:is(.consultation-catalog, .consultation-detail) :is(.catalog-intro, .opportunities-intro) { padding-block: 80px 44px !important; }
  body:is(.consultation-catalog, .consultation-detail) :is(.catalog-intro, .opportunities-intro)::before { top: 40px; }
  body.consultation-catalog .catalog-sidebar { border-right: 0; padding-right: 0; }
}
@media (prefers-reduced-motion: reduce) {
  body :is(img, .av-component, .model-card) { transition: none !important; }
}
@media (min-width: 801px) { body.horizons .human-main { max-width: 470px; } }
@media (max-width: 800px) {
  body.horizons .aviation-selection .av-intake-dossier { aspect-ratio: auto !important; }
  body.horizons .aviation-selection .av-brief-grid .av-aircraft-brief > summary > * { min-width: 0; }
}
@media (max-width: 800px) {
  body.horizons :is(.av-section-heading, .av-type-archive-heading, .history-heading, .flight-films-heading, .career-film-heading, .travel-programmes-intro, .travel-field-heading, .travel-memories-heading, .trade-opportunities-heading, .journey-intro) { display: block !important; }
  body.horizons :is(.av-section-heading, .history-heading, .flight-films-heading, .career-film-heading, .travel-programmes-intro, .travel-field-heading, .trade-opportunities-heading, .journey-intro) > * + * { margin-top: 16px; }
}
