/* Locked Hero 4. Approved photo/layout retained. Header polish is gated to this Dev homepage. */
.dynamic-hero--locked-4 {
  --hero-navy:#0b2435;
  --hero-paper:#f4f7f5;
  --hero-accent:#a8e2e5;
  --hero-border:rgba(168,226,229,.23);
  /* A future photograph only needs a source swap and these crop positions. */
  --hero-photo-position:50% 58%;
  --hero-photo-position-tablet:50% 61%;
  --hero-photo-position-mobile:50% 68%;
  position:relative;
  isolation:isolate;
  width:var(--dynamic-hero-viewport-width,100%);
  max-width:none;
  margin-left:calc((100% - var(--dynamic-hero-viewport-width,100%))/2);
  overflow:hidden;
  background:var(--hero-navy);
  color:var(--hero-paper);
  font-family:var(--dt-v-font,Inter,Arial,sans-serif);
}
.dynamic-hero--locked-4 * {box-sizing:border-box;}
.dynamic-hero--locked-4 :is(p,h1,figure,ul) {margin:0;}
.dynamic-hero--locked-4 .dynamic-hero__stage {position:relative;min-height:650px;}
.dynamic-hero--locked-4 .dynamic-hero__inner,
.dynamic-hero--locked-4 .dynamic-hero__base {width:min(1740px,calc(100% - 112px));margin-inline:auto;}
.dynamic-hero--locked-4 .dynamic-hero__photograph {
  position:absolute;inset:0 0 0 auto;width:66%;overflow:hidden;background:#08141d;
}
.dynamic-hero--locked-4 .dynamic-hero__photo {
  display:block;width:100%;height:100%;max-width:none;object-fit:cover;
  object-position:var(--hero-photo-position);
}
.dynamic-hero--locked-4 .dynamic-hero__photograph::after {
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,#0b2435 0%,rgba(11,36,53,.91) 8%,rgba(11,36,53,.25) 30%,transparent 48%),linear-gradient(0deg,rgba(6,23,40,.78),transparent 24%);
}
.dynamic-hero--locked-4 figcaption {
  position:absolute;right:40px;bottom:24px;z-index:1;display:flex;gap:12px;
  color:#c5d3d9;font-size:11px;line-height:1.5;letter-spacing:.035em;
}
.dynamic-hero--locked-4 figcaption span {color:var(--hero-accent);}
.dynamic-hero--locked-4 .dynamic-hero__copy {
  position:relative;z-index:2;width:53%;padding:78px 0 90px;
}
.dynamic-hero--locked-4 .dynamic-hero__eyebrow {
  display:flex;align-items:center;gap:14px;color:var(--hero-accent);
}
.dynamic-hero--locked-4 .dynamic-hero__eyebrow::before {content:"";width:28px;height:1px;background:var(--hero-accent);flex:none;}
.dynamic-hero--polished .dynamic-hero__eyebrow::before {display:none;}
html body.page-id-5277 main .dynamic-hero--locked-4 h1 {
  margin:30px 0 28px;max-width:none;
  font-size:clamp(96px,9.2vw,172px)!important;
  font-weight:700!important;line-height:.91!important;letter-spacing:-.065em!important;
  color:var(--hero-paper);text-transform:uppercase!important;text-wrap:initial;
}
.dynamic-hero--locked-4 h1>span {display:block;white-space:nowrap;}
.dynamic-hero--locked-4 .dynamic-hero__period {color:var(--hero-accent);}
.dynamic-hero--polished h1 .dynamic-hero__headline-lead {font-size:.62em;line-height:1.12;letter-spacing:-.055em;margin-bottom:.07em;}
html body.page-id-5277 main .dynamic-hero--locked-4 .dynamic-hero__description {
  max-width:465px;color:#dce5e9;font-size:19px!important;line-height:1.6!important;
}
.dynamic-hero--locked-4 .dynamic-hero__actions {display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:32px;}
.dynamic-hero--locked-4 .dynamic-hero__button {display:inline-flex;align-items:center;justify-content:center;gap:25px;text-decoration:none;white-space:nowrap;}
.dynamic-hero--locked-4 .dynamic-hero__button--primary {background:var(--hero-accent);color:var(--hero-navy);border:1px solid var(--hero-accent);}
.dynamic-hero--locked-4 .dynamic-hero__button--ghost {background:transparent;color:var(--hero-paper);border:1px solid #48616e;}
.dynamic-hero--locked-4 .dynamic-hero__button:focus-visible {outline:2px solid #d6ae72;outline-offset:4px;}
.dynamic-hero--locked-4 .dynamic-hero__base {position:relative;}
.dynamic-hero--locked-4::after {content:"";position:absolute;z-index:-1;bottom:0;left:0;right:0;height:200px;background:linear-gradient(#0b2435,#061728);}
.dynamic-hero--locked-4 .dynamic-hero__category-rail {
  list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:32px;border:0;
}
.dynamic-hero--locked-4 .dynamic-hero__category-rail li {
  padding:0;min-width:0;border-top:1px solid var(--hero-border);
}
.dynamic-hero--locked-4 .dynamic-hero__category-rail a {
  display:flex;align-items:baseline;gap:15px;min-height:72px;padding:23px 0;
  color:#e0e8eb;font-size:15px;font-weight:600;line-height:1.5;letter-spacing:-.015em;
  text-decoration:none;transition:color .16s ease;
}
.dynamic-hero--locked-4 .dynamic-hero__category-rail a:hover {color:var(--hero-accent);}
.dynamic-hero--locked-4 .dynamic-hero__category-rail li:has(a:hover),
.dynamic-hero--locked-4 .dynamic-hero__category-rail li:focus-within {border-top-color:#86b7c2;}
.dynamic-hero--locked-4 .dynamic-hero__rail-arrow {margin-left:auto;color:#8db9c4;font-size:15px;opacity:.6;}
.dynamic-hero--locked-4 .dynamic-hero__category-rail a:is(:hover,:focus-visible) .dynamic-hero__rail-arrow {opacity:1;}
.dynamic-hero--locked-4 .dynamic-hero__rail-number {font-size:11px;font-weight:400;color:#85a9b8;font-variant-numeric:tabular-nums;}
.dynamic-hero--locked-4 .dynamic-hero__route-bridge {position:relative;padding:28px 0 45px;border-top:1px solid rgba(168,226,229,.13);}
.dynamic-hero--locked-4 .dynamic-hero__handoffs {display:flex;align-items:center;list-style:none;margin:0;padding:0;gap:28px;}
.dynamic-hero--locked-4 .dynamic-hero__handoffs li {display:flex;align-items:center;justify-content:space-between;gap:28px;flex:1;color:#b6cbd5;font-size:11px;font-weight:500;line-height:1.5;letter-spacing:.07em;text-transform:uppercase;}
.dynamic-hero--locked-4 .dynamic-hero__handoffs li:last-child {flex:0 0 auto;color:#dce9ed;}
.dynamic-hero--locked-4 .dynamic-hero__handoffs li span:last-child:not(:first-child) {font-size:18px;font-weight:400;line-height:1;color:#75a5b4;}
.dynamic-hero--locked-4 .dynamic-hero__route-bridge::after {content:"";position:absolute;bottom:0;left:50%;width:1px;height:26px;background:linear-gradient(#345361,transparent);}

/* Only the homepage containing this polished Hero receives these header refinements.
   The header markup, destinations, mobile menu logic and shared visual-system file stay intact. */
html body.page-id-5277:has(.dynamic-hero--polished) .dtg-header {background:#0b2435!important;}
html body.page-id-5277:has(.dynamic-hero--polished) .dtg-header__inner {width:min(1512px,calc(100% - 72px))!important;height:100px!important;gap:30px!important;}
html body.page-id-5277:has(.dynamic-hero--polished) .dtg-brand img {width:252px!important;max-height:70px!important;}
html body.page-id-5277:has(.dynamic-hero--polished) .dtg-nav {gap:30px!important;}
html body.page-id-5277:has(.dynamic-hero--polished) .dtg-nav a {font-size:16px!important;color:#e7eff2!important;letter-spacing:0!important;text-underline-offset:7px;text-decoration-thickness:1px;}
html body.page-id-5277:has(.dynamic-hero--polished) .dtg-nav a:is(:hover,:focus-visible) {color:#a8e2e5!important;text-decoration:underline!important;}
html body.page-id-5277:has(.dynamic-hero--polished) .dtg-header .dtg-header__actions .dtg-quote {background:#173c4d!important;border:1px solid #618d9e!important;color:#f4f7f5!important;}
html body.page-id-5277:has(.dynamic-hero--polished) .dtg-header .dtg-header__actions .dtg-quote:hover {background:#225367!important;border-color:#a8e2e5!important;color:#fff!important;}
@media(min-width:1700px) {
  .dynamic-hero--locked-4 .dynamic-hero__stage {min-height:740px;}
  .dynamic-hero--locked-4 .dynamic-hero__copy {padding-top:96px;padding-bottom:108px;}
}
@media(min-width:901px) and (max-width:1200px) {
  .dynamic-hero--locked-4 .dynamic-hero__inner,.dynamic-hero--locked-4 .dynamic-hero__base {width:calc(100% - 64px);}
  .dynamic-hero--locked-4 .dynamic-hero__stage {min-height:610px;}
  .dynamic-hero--locked-4 .dynamic-hero__copy {width:58%;padding-top:76px;}
  html body.page-id-5277 main .dynamic-hero--locked-4 h1 {font-size:clamp(90px,9.3vw,112px)!important;}
  .dynamic-hero--locked-4 .dynamic-hero__category-rail {gap:22px;}
  .dynamic-hero--locked-4 .dynamic-hero__category-rail a {gap:10px;font-size:13px;}
}
@media(min-width:821px) and (max-width:1200px) {
  html body.page-id-5277:has(.dynamic-hero--polished) .dtg-header__inner {width:calc(100% - 48px)!important;gap:22px!important;}
  html body.page-id-5277:has(.dynamic-hero--polished) .dtg-brand img {width:216px!important;}
  html body.page-id-5277:has(.dynamic-hero--polished) .dtg-nav {gap:22px!important;}
}
@media(max-width:900px) {
  .dynamic-hero--locked-4 .dynamic-hero__inner,.dynamic-hero--locked-4 .dynamic-hero__base {width:calc(100% - 48px);}
  .dynamic-hero--locked-4 .dynamic-hero__stage {min-height:0;display:flex;flex-direction:column;}
  .dynamic-hero--locked-4 .dynamic-hero__inner {order:1;}
  .dynamic-hero--locked-4 .dynamic-hero__copy {width:100%;padding:46px 0 38px;}
  html body.page-id-5277 main .dynamic-hero--locked-4 h1 {font-size:112px!important;margin:25px 0;}
  html body.page-id-5277 main .dynamic-hero--locked-4 .dynamic-hero__description {max-width:540px;font-size:18px!important;}
  .dynamic-hero--locked-4 .dynamic-hero__photograph {position:relative;inset:auto;order:2;width:calc(100% - 24px);margin-left:24px;height:440px;}
  .dynamic-hero--locked-4 .dynamic-hero__photo {object-position:var(--hero-photo-position-tablet);}
  .dynamic-hero--locked-4 .dynamic-hero__photograph::after {background:linear-gradient(0deg,rgba(6,23,40,.75),transparent 23%);}
  .dynamic-hero--locked-4 figcaption {right:24px;bottom:18px;}
  .dynamic-hero--locked-4 .dynamic-hero__category-rail {grid-template-columns:repeat(2,minmax(0,1fr));}
  .dynamic-hero--locked-4 .dynamic-hero__category-rail {gap:0 30px;}
  .dynamic-hero--locked-4 .dynamic-hero__category-rail a {min-height:66px;padding:20px 0;}
  .dynamic-hero--locked-4 .dynamic-hero__handoffs {gap:20px;}
  .dynamic-hero--locked-4 .dynamic-hero__handoffs li {gap:20px;font-size:10px;letter-spacing:.045em;}
}
@media(max-width:820px) {
  html body.page-id-5277:has(.dynamic-hero--polished) .dtg-header__inner {width:calc(100% - 40px)!important;height:82px!important;gap:12px!important;}
  html body.page-id-5277:has(.dynamic-hero--polished) .dtg-brand img {width:214px!important;max-height:60px!important;}
  html body.page-id-5277:has(.dynamic-hero--polished) .dtg-nav {gap:0!important;}
  html body.page-id-5277:has(.dynamic-hero--polished) .dtg-nav a {font-size:17px!important;}
}
@media(max-width:520px) {
  .dynamic-hero--locked-4 .dynamic-hero__inner,.dynamic-hero--locked-4 .dynamic-hero__base {width:calc(100% - 40px);}
  .dynamic-hero--locked-4 .dynamic-hero__copy {padding:36px 0 30px;}
  html body.page-id-5277 main .dynamic-hero--locked-4 .dynamic-hero__eyebrow {font-size:11px!important;letter-spacing:.075em!important;gap:10px;}
  .dynamic-hero--locked-4 .dynamic-hero__eyebrow::before {width:20px;}
  html body.page-id-5277 main .dynamic-hero--locked-4 h1 {font-size:clamp(52px,18.2vw,88px)!important;margin:24px 0 23px;letter-spacing:-.06em!important;}
  .dynamic-hero--polished h1 .dynamic-hero__headline-lead {font-size:.52em;line-height:1.2;margin-bottom:.13em;letter-spacing:-.04em;}
  html body.page-id-5277 main .dynamic-hero--locked-4 .dynamic-hero__description {max-width:340px;font-size:16px!important;line-height:1.6!important;}
  .dynamic-hero--locked-4 .dynamic-hero__actions {display:grid;grid-template-columns:1fr;gap:10px;margin-top:25px;}
  .dynamic-hero--locked-4 .dynamic-hero__button {width:100%;}
  .dynamic-hero--locked-4 .dynamic-hero__photograph {width:calc(100% - 20px);height:310px;margin-left:20px;}
  .dynamic-hero--locked-4 .dynamic-hero__photo {object-position:var(--hero-photo-position-mobile);}
  .dynamic-hero--locked-4 figcaption {font-size:10px;gap:9px;right:18px;bottom:15px;}
  .dynamic-hero--locked-4 .dynamic-hero__category-rail {gap:0 20px;}
  .dynamic-hero--locked-4 .dynamic-hero__category-rail a {gap:8px;min-height:64px;padding:17px 0;font-size:12px;}
  .dynamic-hero--locked-4 .dynamic-hero__rail-arrow {font-size:12px;}
  .dynamic-hero--locked-4 .dynamic-hero__rail-number {font-size:10px;}
  .dynamic-hero--locked-4 .dynamic-hero__route-bridge {padding:24px 0 35px;}
  .dynamic-hero--locked-4 .dynamic-hero__handoffs {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:14px;}
  .dynamic-hero--locked-4 .dynamic-hero__handoffs li {display:block;position:relative;font-size:10.5px;line-height:1.5;letter-spacing:.02em;}
  .dynamic-hero--locked-4 .dynamic-hero__handoffs li>span:last-child:not(:first-child) {position:absolute;right:-12px;top:6px;font-size:12px;}
  html body.page-id-5277:has(.dynamic-hero--polished) .dtg-header__inner {width:calc(100% - 32px)!important;height:78px!important;gap:8px!important;}
  html body.page-id-5277:has(.dynamic-hero--polished) .dtg-brand img {width:158px!important;max-height:58px!important;}
  html body.page-id-5277:has(.dynamic-hero--polished) .dtg-quote {padding:12px!important;}
}
@media(max-width:374px) {
  html body.page-id-5277:has(.dynamic-hero--polished) .dtg-brand img {width:140px!important;}
  html body.page-id-5277:has(.dynamic-hero--polished) .dtg-quote {font-size:12px!important;padding:11px 10px!important;}
}
@media(prefers-reduced-motion:reduce) {
  .dynamic-hero--locked-4,.dynamic-hero--locked-4 * {animation:none!important;transition:none!important;scroll-behavior:auto!important;}
}
