/* The Libra home palette, extended to service and editorial pages.
   Keep useful motion and form behaviour; remove only atmospheric backgrounds. */
body.site-page {
  --bg: #101418;
  --bg-raise: #191f26;
  --bg-sunk: #191f26;
  --paper: #101418;
  --paper-raise: #191f26;
  --paper-sunk: #191f26;
  --ink: #f1f4f8;
  --ink-deep: #101418;
  --ink-plate: #191f26;
  --text: #f1f4f8;
  --text-dim: #b8c0ca;
  --text-faint: #b8c0ca;
  --plate-text: #f1f4f8;
  --plate-dim: #b8c0ca;
  --plate-faint: #b8c0ca;
  --gold: #d3b478;
  --gold-deep: #d3b478;
  --gold-bright: #d3b478;
  --gold-faint: #d3b47818;
  --gold-line: #d3b47880;
  --foil: #d3b478;
  --foil-deep: #d3b478;
  --champ: #d3b478;
  --champ-bright: #d3b478;
  --line: #343c46;
  --line-strong: #6f7b8b;
  --plate-line: #343c46;
  --jet-ice: #a8cfe8;
  --gutter: clamp(20px, 5vw, 72px);
  --space-section: clamp(5rem, 10vw, 10rem);
  --space-block: clamp(3rem, 5vw, 5rem);
  --shadow-soft: none;
  --shadow-lift: 0 12px 32px -24px #0008;
  background: var(--bg);
  color: var(--text);
  font-size: 1.0625rem;
  line-height: 1.8;
  color-scheme: dark;
}
.site-page::after { content: none; }
.site-page main { background: var(--bg); }
.site-page :is(p, a, h1, h2, h3, li, dd) { overflow-wrap: anywhere; }
.site-page :is(h1, h2, h3) { font-family: var(--font-body); font-weight: 500; letter-spacing: -.035em; }
.site-page h1 { line-height: 1.14; }
.site-page :is(h2, h3) { line-height: 1.3; }
.site-page h1 em { font-family: var(--font-display); font-weight: 400; font-style: normal; background: none; color: var(--gold); }
.site-page :is(.jet-title, .house-title, .salon-title) em { background: none; color: var(--gold); }
.site-page :is(.jet-title, .house-title, .salon-title) .line { overflow: visible; }
.site-page :is(.lede, .jet-article p, .magazine-body p) { line-height: 1.85; }
.site-page .site-header,
.site-page .site-header.is-scrolled { padding: 1rem var(--gutter) 0; background: transparent; border-bottom: 0; backdrop-filter: none; -webkit-backdrop-filter: none; }
.site-page .site-header .nav,
.site-page .site-header.is-scrolled .nav {
  width: 100%; background: var(--bg); border-color: var(--line);
  border-style: solid; border-width: 1px; border-radius: 999px; padding-inline: 1.4rem .9rem;
  box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none;
  transition: border-color 160ms ease;
}
.site-page .site-header.menu-open .nav { background: transparent; border-color: transparent; }
.site-page .site-header .brand-name,
.site-page .site-header .nav-links a { color: var(--text-dim); }
.site-page .site-header .brand-mark { color: var(--ink); }
.site-page .site-header .nav-links a { min-height: 44px; letter-spacing: .04em; }
.site-page .site-header .nav-links a:hover { color: var(--ink); }
.site-page .site-header .nav-cta { color: var(--ink); border-color: var(--line-strong); }
/* Earlier light-theme headers use !important for this text colour. */
.site-page .site-header:not(.is-scrolled) .nav-cta:hover,
.site-page .site-header:not(.is-scrolled) .nav-cta:focus-visible,
.site-page .site-header.is-scrolled .nav-cta:hover,
.site-page .site-header.is-scrolled .nav-cta:focus-visible {
  color: var(--bg) !important; background: var(--gold); border-color: var(--gold);
}
.site-page .site-header .nav-submenu,
.site-page .site-header .language-menu { background: var(--bg-raise); }
.site-page .nav-toggle span,
.site-page .nav-toggle span::before,
.site-page .nav-toggle span::after { background: var(--ink); }

/* These are decoration only; the radar, emblem and product artwork stay alive. */
.site-page :is(.jet-sky, .jet-stars, .jet-contrails, .jet-routes, .ide-hero-bg,
  .ide-hero-grid, .salon-atmo, .salon-candle, .house-atmo, .band-atmo,
  .footer-watermark, .emblem-halo, .emblem-sheen, .arm-halo, .arm-pedestal,
  .page-hero-atmo) { display: none; }
.site-page :is(.jet-hero, .jet-service-hero, .ide-hero, .salon-hero,
  .house-hero, .weights-section, .register-band, .catalogue, .dossier-section, .heli-feature,
  .pull, .crt, .page-hero) { background: var(--bg); }
.site-page :is(.house-hero, .crt, .site-footer)::before,
.site-page :is(.house-hero, .crt)::after { content: none; }
.site-page :is(.emblem-stage, .plate-mono) { background: var(--bg); box-shadow: none; }
.site-page :is(.jet-scope, .jet-brief, .dossier, .enquiries-card, .plate,
  .magazine-card, .tour-card, .medical-notice, .flight-panel) {
  background: var(--bg-raise); border: 1px solid var(--line); border-radius: 1.25rem;
  box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none;
}
.site-page :is(.plate, .enquiries-card)::before { content: none; }
.site-page :is(.jet-scope, .jet-brief) { padding: clamp(1.5rem, 3vw, 2.5rem); }
.site-page .jet-scope { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
.site-page .scope-dial { background: var(--bg); justify-self: center; }
.site-page .flight-plan::before { background: var(--line); }
.site-page .scale-fill { background: var(--gold); }
.site-page .scope-data { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem 1.5rem; }
.site-page .scope-data > div { grid-template-columns: minmax(0, 1fr); gap: .2rem; align-content: start; padding-block: .65rem; }
.site-page .scope-data dt { font-size: .6875rem; letter-spacing: .08em; overflow-wrap: anywhere; }
.site-page .scope-data dd { font-size: .8125rem; line-height: 1.65; white-space: normal; overflow: visible; text-overflow: clip; }
.site-page .plate-mono { color: var(--gold); border-color: var(--gold-line); }
.site-page :is(.el--strong, .el--dim) { stroke: var(--gold); }

.site-page .btn:not(.medical-request .flight-launch) {
  min-height: 48px; padding: .85rem 1.5rem;
  font-size: .9375rem; line-height: 1.5; letter-spacing: 0; text-transform: none;
}
.site-page .btn { max-width: 100%; min-width: 0; border-radius: 999px; white-space: normal; text-align: start; }
.site-page .btn:not(.btn--solid) { color: var(--ink); border-color: var(--line-strong); }
.site-page .btn--solid { background: var(--gold); border-color: var(--gold); color: var(--bg); box-shadow: none; }
.site-page .btn--solid:hover, .site-page .btn--solid:focus-visible { background: var(--ink); border-color: var(--ink); color: var(--bg); }
.site-page .btn:not(.btn--solid):hover, .site-page .btn:not(.btn--solid):focus-visible { background: var(--gold); border-color: var(--gold); color: var(--bg); }
.site-page .link-line { min-height: 44px; align-items: center; letter-spacing: 0; text-transform: none; font-size: .9375rem; }
.site-page :is(a, button, summary, input, select, textarea):focus-visible { outline: 2px solid var(--gold); outline-offset: 4px; }
.site-page .reveal { filter: none; transition: opacity 420ms ease, transform 520ms var(--ease-out); }
.site-page .reveal.is-pending { transform: translateY(16px); filter: none; }
.site-page .reveal.is-visible { transform: none; }

/* Services: roomy copy and a compact animated instrument panel. */
.site-page .jet-hero { min-height: auto; padding-bottom: 3rem; }
.site-page .jet-hero-inner { padding-block: clamp(9rem, 13vw, 12rem) 3rem; gap: clamp(3rem, 7vw, 7rem); }
.site-page .jet-title { max-width: 16ch; font-size: clamp(2.5rem, 4.8vw, 4.75rem); }
.site-page .jet-title .line > span { animation-duration: 650ms; animation-delay: calc(80ms + var(--i, 0) * 60ms); }
.site-page :is(.jet-hero-copy .lede, .jet-hero-meta, .jet-hero-actions, .jet-scope) { animation-duration: 650ms; animation-delay: 160ms; }
.site-page .jet-service-hero { padding-block: clamp(9rem, 13vw, 12rem) clamp(4rem, 7vw, 7rem); }
.site-page .jet-service-hero h1 { margin-top: 0; max-width: 22ch; font-size: clamp(2.5rem, 4.6vw, 4.5rem); }
.site-page .jet-service-hero-grid { gap: clamp(3rem, 7vw, 7rem); align-items: center; }
.site-page .jet-subnav { background: var(--bg); }
.site-page .jet-service-hero .lede { margin-top: 2rem; }
.site-page .jet-article-layout { padding-block: clamp(4.5rem, 8vw, 8rem); }
.site-page .jet-article { min-width: 0; max-width: 68ch; }
.site-page .jet-contents a { padding-block: 1rem; }
.site-page .jet-table th, .site-page .jet-table td { padding: 1.25rem 1rem; }
.site-page .heli-feature { padding-block: clamp(4.5rem, 8vw, 8rem); }
.site-page .heli-feature-grid { padding: clamp(1.5rem, 4vw, 3.5rem); border: 1px solid var(--line); border-radius: 1.5rem; background: var(--bg-raise); }
.site-page .tour-grid { gap: 2rem; }
.site-page .tour-card { padding: clamp(1.75rem, 4vw, 3.5rem); }
.site-page .market-cards a { border-radius: 1.25rem; padding: clamp(1.75rem, 4vw, 3rem); }
.site-page .jet-enquiry { background: var(--bg); }
.site-page .jet-checklist li::before { content: none; }

/* Magazine: browsing cards and long-form reading each get their own rhythm. */
.site-page.magazine .jet-service-hero h1 { max-width: 24ch; }
.site-page main:has(.magazine-hub) .jet-service-hero { padding-bottom: 2.5rem; border-bottom: 0; }
.site-page .magazine-intro { max-width: 65ch; }
.site-page .magazine-intro .lede { margin-block: 2rem 1.5rem; }
.site-page .magazine-intro > p:last-child { color: var(--text-dim); }
.site-page main:has(.magazine-hub) > .flight-request { padding-top: 0; }
.site-page .magazine-hub > .magazine-categories:first-child { margin-top: 0; }
.site-page .magazine-hub { max-width: 78rem; padding-block: clamp(4.5rem, 8vw, 8rem); }
.site-page .magazine-hub > p { max-width: 65ch; }
.site-page .magazine-categories { margin-block: 3rem 6rem; padding-block: 2rem; border-block: 1px solid var(--line); }
.site-page .magazine-categories a { display: inline-flex; align-items: center; min-height: 44px; }
.site-page .magazine-grid { gap: 2rem; margin-block: 3rem 5rem; }
.site-page .magazine-card { padding: clamp(1.75rem, 4vw, 3rem); transition: border-color 180ms ease, transform 220ms var(--ease-out); }
.site-page .magazine-card:hover { border-color: var(--line-strong); transform: translateY(-3px); }
.site-page .magazine-card :is(h2, h3) { font-size: clamp(1.5rem, 2.2vw, 2rem); line-height: 1.35; margin-block: 0 1.5rem; }
.site-page .magazine-card p { line-height: 1.85; }
.site-page .magazine-card .magazine-meta { margin-block: 1.5rem 0; }
.site-page .magazine-cluster { margin-block: 7rem; }
.site-page .magazine-body { max-width: 68ch; font-size: 1.0625rem; padding-bottom: 2rem; }
.site-page .magazine-body > h2 { margin-top: 5rem; margin-bottom: 1.75rem; }
.site-page .magazine-body > h2:first-of-type { margin-top: 0; }
.site-page .magazine-body :is(p, ul, ol) { margin-block: 1.75rem; line-height: 1.9; }
.site-page .magazine-body li { margin-block: .8rem; }
.site-page .magazine-related .magazine-grid { gap: 1.5rem; }

/* Forms keep their existing disclosure, sticky launcher and validation states. */
.site-page .flight-panel { margin-top: 2rem; }
.site-page .flight-launch { gap: .75rem; }
.site-page .flight-launch > span { min-width: 0; overflow-wrap: anywhere; }
.site-page .tour-extra-options { min-width: 0; }
.site-page .tour-extra-options :is(legend, label) { max-width: 100%; min-width: 0; overflow-wrap: anywhere; }
.site-page .flight-field :is(input, select, textarea) { background: var(--bg); border-color: var(--line-strong); }
.site-page .flight-field [aria-invalid="true"] { border-color: #f5a6a0; }
.site-page .flight-suggestions { background: var(--bg-raise); border-color: var(--line-strong); }
.site-page .contact-form { border-radius: 1.25rem; }
.site-page .tour-enquiry .contact-form { border-radius: 0; }
.site-page .contact-field :is(input, select, textarea) { border-color: var(--line-strong); }
.site-page .contact-field [aria-invalid="true"] { border-color: #f5a6a0; }
.site-page .contact-status[data-state="error"] { border-left-color: #f5a6a0; }
.site-page .contact-status { border-left-color: #8ed0a4; }
.site-page .contact-privacy { line-height: 1.8; }
.site-page .contact-footer { background: var(--bg); }
.site-page .archelle-main { padding-top: 8rem; }
.site-page .archelle-body section { padding-block: 4rem; }
.site-page .archelle-main h1 { font-size: clamp(2.5rem, 4.8vw, 4.75rem); }
.site-page .site-footer { background: var(--bg); border-top: 1px solid var(--line); padding-top: 4rem; }
.site-page .site-footer::before { content: none; }
.site-page .footer-col a { display: inline-flex; align-items: center; min-height: 44px; }
.site-page .footer-col h4 { letter-spacing: .1em; }
.site-page .reg-domain { display: block; white-space: normal; overflow-wrap: anywhere; }

.site-page:lang(th) :is(h1, h2, h3),
.site-page:lang(ko) :is(h1, h2, h3),
.site-page:lang(ar) :is(h1, h2, h3) { font-family: var(--font-body); line-height: 1.45; letter-spacing: normal; }
.site-page:lang(th) h1 em, .site-page:lang(ko) h1 em, .site-page:lang(ar) h1 em { font-family: inherit; letter-spacing: normal; }

@media (max-width: 1000px) {
  .site-page .jet-hero-inner { grid-template-columns: 1fr; }
  .site-page .jet-scope { max-width: 36rem; }
  .site-page .magazine-related .magazine-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .site-page .site-header .nav { min-height: 68px; }
  .site-page .site-header .brand-mark { height: 34px; }
  .site-page .site-header .brand-name { display: none; }
  .site-page .nav-toggle { flex: 0 0 44px; width: 44px; height: 44px; padding: 10px; }
  .site-page .nav-links { background: var(--bg); }
  .site-page .site-header .nav-links.is-open a { color: var(--text-dim); }
  .site-page .site-header .nav-links.is-open a:hover { color: var(--ink); }
  .site-page .jet-service-hero { padding-block: 9rem 4.5rem; }
}
@media (max-width: 700px) {
  .site-page .scope-data { grid-template-columns: minmax(0, 1fr); }
  .site-page :is(.jet-title, .jet-service-hero h1) { font-size: clamp(2.25rem, 8vw, 3rem); }
  .site-page .jet-hero-inner { padding-top: 9rem; }
  .site-page .jet-article-layout { gap: 3rem; }
  .site-page .magazine-grid,
  .site-page .magazine-related .magazine-grid { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
  .site-page .magazine-cluster { margin-block: 5rem; }
  .site-page .magazine-categories { margin-bottom: 4rem; }
  .site-page .magazine-body > h2 { margin-top: 4rem; }
  .site-page .flight-modes { flex-wrap: wrap; }
  .site-page .flight-type { flex-basis: 7rem; }
  .site-page .tour-extra-options label { min-height: 44px; }
}
@media (prefers-reduced-motion: reduce) {
  .site-page .reveal, .site-page .reveal.is-pending { opacity: 1; transform: none; filter: none; transition: none; }
  .site-page .magazine-card:hover { transform: none; }
}
@media (prefers-contrast: more) {
  body.site-page { --text-dim: #f1f4f8; --line: #6f7b8b; --line-strong: #b8c0ca; }
}
@media (forced-colors: active) {
  .site-page :is(.btn, .magazine-card, .tour-card, .flight-panel, .jet-brief) { border: 1px solid ButtonText; }
}
