/* Client direction: champagne, gold and the complete sunset photograph. */
body:is(.altitude, .horizons) {
  --paper: #f4e3ba;
  --bone: #f4e3ba;
  --olive: #ecd39b;
  --forest: #ecd39b;
  --ink: #24201b;
  --copper: #75551e;
  --sage: #fff5de;
  --muted: #61543c;
  --rule: #c9ad75;
  --line: #c9ad75;
  --dark-rule: #b29156;
  --focus: #75551e;
  --menu-bg: #fff5de;
  --menu-ink: #24201b;
  --brand-gold: #f4e3ba;
  --brand-gold-hover: #49391e;
  --dark-muted: #61543c;
  background: var(--paper);
  color: var(--ink);
  color-scheme: light;
}
html:has(body:is(.altitude, .horizons)) { scrollbar-color: #75551e #f4e3ba; }
html:has(body:is(.altitude, .horizons))::-webkit-scrollbar-track { background: #f4e3ba; }
html:has(body:is(.altitude, .horizons))::-webkit-scrollbar-thumb {
  background: #75551e;
  border-color: #f4e3ba;
}
body:is(.altitude, .horizons) ::selection { background: #75551e; color: #fff5de; }
body:is(.altitude, .horizons) .skip-link { background: var(--sage); color: var(--ink); }
body:is(.altitude, .horizons) .brand { gap: 15px; }
body:is(.altitude, .horizons) .brand-crest {
  width: auto;
  height: 60px;
  flex: 0 0 auto;
  object-fit: contain;
}
body:is(.altitude, .horizons) .brand-wordmark {
  display: block;
  width: 200px;
  height: auto;
  max-height: 62px;
  object-fit: contain;
  flex: 0 0 auto;
}
body:is(.altitude, .horizons) .brand-roundel {
  display: block;
  width: 120px;
  height: 120px;
  object-fit: contain;
}

/* Personal Altitude keeps its large title and the two companion portals. */
.altitude .hero-stage { height: auto; }
.altitude .hero-lettering {
  position: relative;
  display: block;
  top: auto;
  left: auto;
  transform: none;
  text-align: center;
  font-size: clamp(104px, 11.5vw, 162px);
  margin-bottom: 18px;
}
.altitude .hero-aircraft {
  position: relative;
  top: auto;
  left: auto;
  width: 100%;
  transform: none;
}
.altitude .hero-aircraft img {
  width: 100%;
  height: auto;
  transform: none;
  mask-image: none;
}
.altitude .hero-aircraft figcaption {
  position: static;
  text-align: right;
  padding-top: 8px;
  font-size: 12px;
  line-height: 1.4;
}
.altitude .hero-copy { padding-top: 20px; }
.altitude .button-dark,
.altitude .button-light,
.horizons .button,
.horizons .button.light {
  background: var(--ink);
  color: var(--brand-gold);
}
.altitude .button-dark:hover,
.altitude .button-light:hover,
.horizons .button:hover,
.horizons .button.light:hover { background: var(--brand-gold-hover); }
.altitude .tourism-section,
.altitude .contact-section {
  background: var(--olive);
  color: var(--ink);
  color-scheme: light;
}
.altitude :is(.tourism-section, .contact-section) :focus-visible { outline-color: var(--focus); }
.altitude .text-link-light { border-bottom-color: var(--copper); }
.altitude .text-link-light:hover { color: var(--copper); }
.altitude .tourism-intro > div > p,
.altitude .tourism-section figcaption,
.altitude .travel-feature-copy p,
.altitude .travel-services p,
.altitude .golf-note p span,
.altitude .contact-intro > p,
.altitude .field label,
.altitude .form-hint { color: var(--muted); }
.altitude .field input,
.altitude .field select,
.altitude .field textarea {
  border-color: #90713c;
  background: var(--sage);
  color: var(--ink);
  caret-color: var(--ink);
}
.altitude .field input::placeholder,
.altitude .field textarea::placeholder { color: var(--muted); }
.altitude .field input:hover,
.altitude .field select:hover,
.altitude .field textarea:hover { border-color: var(--copper); }
.altitude .contact-email:hover,
.altitude .contact-phone:hover { color: var(--copper); }

/* Across Horizons: one sunset scene, light veil and dark, readable copy. */
.horizons .flight-world { background: var(--paper); color: var(--ink); --focus: #75551e; }
.horizons .header-world {
  position: absolute;
  inset: 0 0 auto;
  z-index: 30;
  background: rgb(244 227 186 / 94%);
}
.horizons .site-header { border-color: #c9ad75; }
.horizons .site-nav .nav-contact { color: var(--ink); }
.horizons .site-nav a:hover { color: var(--copper); }
.horizons .menu-toggle { border-color: #90713c; color: var(--ink); }
.horizons .hero.shell {
  width: 100%;
  min-height: 600px;
  margin: 0;
  padding: 145px max(56px, calc((100vw - 1320px) / 2)) 50px;
  isolation: isolate;
}
.horizons .hero-copy { max-width: 520px; }
.horizons .hero h1 {
  font-family: "Hedvig Letters Serif", serif;
  font-size: clamp(58px, 5.9vw, 86px);
  font-weight: 400;
  letter-spacing: -.035em;
  line-height: 1.01;
}
.horizons .hero h1 em { color: var(--copper); font-size: inherit; line-height: inherit; }
.horizons .hero-copy > p { color: var(--ink); }
/* Selected from opening study D; the larger three image portals stay below. */
.horizons .hero-copy .button {
  min-height: 52px;
  margin-top: 26px;
  padding: 13px 21px;
  gap: 36px;
  border-radius: 0;
  background: var(--copper);
  color: var(--sage);
}
.horizons .hero-copy .button:hover { background: #88672b; }
.horizons .plane-stage {
  position: absolute;
  z-index: -1;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  transform: none;
  will-change: auto;
}
.horizons .plane-stage::after {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(90deg, rgb(244 227 186 / 98%) 0%, rgb(244 227 186 / 96%) 24%, rgb(244 227 186 / 84%) 39%, rgb(244 227 186 / 35%) 53%, rgb(244 227 186 / 0%) 67%);
  pointer-events: none;
}
.horizons .plane-stage img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 60% 50%;
  mask-image: none;
}
.horizons .plane-stage figcaption {
  position: absolute;
  z-index: 1;
  bottom: 16px;
  right: max(26px, calc((100vw - 1320px) / 2));
  width: auto;
  margin: 0;
  padding: 5px 9px;
  background: var(--sage);
  color: var(--ink);
  font-size: 12px;
}
.horizons .worlds .world-portal { background: var(--sage); }
.horizons .travel-services li { border-color: var(--rule); }
.horizons .contact {
  background: var(--forest);
  color: var(--ink);
  --focus: #75551e;
  color-scheme: light;
}
.horizons .contact-grid > div > p,
.horizons .email-hint,
.horizons .footer { color: var(--muted); }
.horizons .footer { border-color: var(--dark-rule); }
.horizons .footer-brand { color: var(--ink); }
.horizons .form-status { color: var(--copper); }
.horizons .contact-form input,
.horizons .contact-form select,
.horizons .contact-form textarea {
  border-color: #90713c;
  background: var(--sage);
  color: var(--ink);
  caret-color: var(--ink);
  padding-inline: 12px;
}
.horizons .contact-form select option { background: var(--sage); color: var(--ink); }
.horizons .contact-form input::placeholder,
.horizons .contact-form textarea::placeholder { color: var(--muted); }
.horizons .review-links { background: var(--paper); color: var(--ink); }

/* Original offers and documentary photographs retain their factual content. */
.altitude .hero-lettering { color: #75551e; opacity: 1; }
body:is(.altitude, .horizons) .new-materials {
  --material-paper: #f4e3ba;
  --material-ink: #24201b;
  --material-olive: #ecd39b;
  --material-muted: #61543c;
  --material-rule: #c9ad75;
  --material-copper: #75551e;
}
body:is(.altitude, .horizons) .fresh-feature-images a,
body:is(.altitude, .horizons) .fresh-feature-images a:last-child { background: var(--sage); }
body:is(.altitude, .horizons) .fresh-actions .fresh-primary {
  background: var(--ink);
  color: var(--brand-gold);
}
body:is(.altitude, .horizons) .fresh-actions .fresh-primary:hover { background: var(--brand-gold-hover); }

@media (min-width: 801px) and (max-height: 800px) {
  .altitude .hero-lettering { font-size: clamp(104px, 10.9vw, 150px); }
  .horizons .hero.shell { min-height: 535px; padding-top: 122px; padding-bottom: 38px; }
}
@media (min-width: 801px) and (max-width: 1120px) {
  body:is(.altitude, .horizons) .brand-wordmark { width: 165px; }
  .horizons .hero.shell { padding-inline: 36px; }
  .horizons .hero-copy { max-width: 430px; }
  .horizons .plane-stage::after { background: linear-gradient(90deg, rgb(244 227 186 / 98%) 0%, rgb(244 227 186 / 96%) 30%, rgb(244 227 186 / 82%) 44%, rgb(244 227 186 / 0%) 72%); }
}
@media (max-width: 800px) {
  body:is(.altitude, .horizons) .brand { gap: 11px; }
  body:is(.altitude, .horizons) .brand-crest { height: 54px; }
  body:is(.altitude, .horizons) .brand-wordmark { width: 180px; max-height: 54px; }
  .altitude .hero-lettering { font-size: clamp(118px, 21vw, 170px); margin-bottom: 18px; }
  .altitude .hero-copy { padding-top: 14px; }
  .horizons .header-world { position: relative; background: var(--paper); }
  .horizons .hero.shell { min-height: 0; padding: 25px 0 0; }
  .horizons .hero-copy { padding-inline: 20px; max-width: none; }
  .horizons .hero h1 { font-size: 47px; line-height: 1.03; letter-spacing: -.03em; }
  .horizons .hero h1 > br:first-of-type { display: block; }
  .horizons .hero h1 em { display: inline; }
  .horizons .hero-copy .button { margin-top: 20px; padding: 11px 17px; gap: 24px; }
  .horizons .plane-stage {
    position: relative;
    z-index: 0;
    inset: auto;
    width: 100%;
    height: auto;
    margin-top: 26px;
  }
  .horizons .plane-stage::after { display: none; }
  .horizons .plane-stage img { width: 100%; height: auto; object-fit: contain; }
  .horizons .plane-stage figcaption {
    position: static;
    width: auto;
    padding: 8px 20px 0;
    background: var(--paper);
    font-size: 11px;
    text-align: right;
  }
  .horizons .footer .footer-brand { flex-basis: 100%; }
}
@media (max-width: 600px) {
  .altitude .hero-lettering { font-size: 21vw; margin-bottom: 16px; }
  .altitude .hero-copy { padding-top: 15px; }
}
@media (max-width: 400px) {
  body:is(.altitude, .horizons) .brand-wordmark { width: 150px; }
  body:is(.altitude, .horizons) .brand-crest { height: 50px; }
}
@media (max-width: 370px) {
  .horizons .hero h1 { font-size: 43px; }
}
