/* A full-width, continuously playing film leads straight into the services. */
:root body main > .section.home-feature {
  position: relative;
  isolation: isolate;
  padding: 0;
  overflow: clip;
  background: #08172b;
  border: 0;
  border-bottom: 1px solid var(--metal-line);
}
:root body .home-feature .travel-film {
  position: relative;
  width: 100%;
  margin: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: #08172b;
}
:root body .home-feature .travel-film-frame { width: 100%; aspect-ratio: 16 / 9; }
:root body .home-feature video {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 16 / 9;
  object-fit: contain;
  object-position: center;
}
:root body .home-feature .travel-film button {
  position: absolute;
  z-index: 1;
  right: clamp(12px, 2.5vw, 36px);
  bottom: clamp(12px, 2.5vw, 36px);
  min-width: 104px;
  min-height: 44px;
  padding: 9px 16px;
  border: 1px solid #d6c294;
  border-radius: 999px;
  background: #0b1c34ed;
  color: #fff3d5;
  font-size: .875rem;
  line-height: 1.5;
  box-shadow: 0 2px 12px #0003;
}
:root body .home-feature .travel-film button:hover { background: #172f4d; }
:root body .home-feature .travel-film button:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
:root body .home-feature .travel-film button[hidden] { display: none; }
/* Keep the accessible introduction without a visible caption or extra panel. */
:root body .home-feature .sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  min-height: 0;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Services are the next section, with a calm, readable preview surface. */
:root body .home-offerings-first { padding-block: 48px 36px; }
#home-services { scroll-margin-top: calc(var(--header-height, 100px) + 24px); }
:root body .home-services-heading { gap: 24px; margin-bottom: 28px; align-items: end; }
:root body .home-services-heading h2 { font-size: clamp(1.85rem, 3vw, 2.65rem); line-height: 1.2; letter-spacing: -.03em; margin: 0; }
:root body .home-services-heading p { max-width: 45ch; font-size: 1rem; line-height: 1.7; margin: 0; }
:root body .home-explorer .finance-links { gap: 12px; }
:root body .home-explorer .finance-links::before { display: none; }
:root body .home-explorer .finance-link { min-height: 108px; padding: 20px; border-radius: 12px; }
:root body .home-explorer .finance-link h2 { font-size: 1.125rem; line-height: 1.4; margin-bottom: 7px; }
:root body .home-explorer .finance-link p { font-size: .9375rem; line-height: 1.6; margin: 0; }
:root body .home-explorer .home-stage { box-shadow: 0 12px 30px var(--panel-shade); border: 1px solid var(--line); }
:root body .home-explorer .home-route-copy { padding: 28px; }
:root body .home-route-copy p { color: var(--ink); max-width: 58ch; }
:root body .home-personal-hero .home-trust-strip span { font-size: .875rem; line-height: 1.55; }
:root body .home-personal-hero .home-hero-links { font-size: .9375rem; }
:root body .home-personal-hero .home-hero-links a { min-height: 44px; }

@media (max-width: 760px) {
  :root body .home-offerings-first { padding-top: 36px; }
  :root body .home-services-heading { display: block; }
  :root body .home-services-heading p { margin-top: 14px; max-width: 58ch; }
  :root body .home-explorer .finance-link { min-height: 105px; padding: 17px 14px; }
  :root body .home-explorer .finance-link h2 { font-size: 1rem; }
  :root body .home-explorer .finance-link p { font-size: .875rem; }
  :root body .home-explorer .home-route-copy { padding: 22px; }
  :root body .home-personal-hero .home-trust-strip { grid-template-columns: minmax(0, 1fr); }
  :root body .home-personal-hero .home-trust-strip a { display: grid; grid-template-columns: 66px minmax(0, 1fr); align-items: center; gap: 12px; padding: 12px 14px; }
  :root body .home-personal-hero .home-trust-strip a + a { border-left: 0; border-top: 1px solid var(--line); }
  :root body .home-personal-hero .home-trust-strip span { margin-top: 0; }
}
@media print {
  :root body .home-feature .travel-film-frame { display: none; }
  :root body main > .section.home-feature { display: none; }
}
