html { scroll-behavior: smooth; }
body { margin: 0; background: #F7F5F1; color: #14110F; -webkit-font-smoothing: antialiased; }
* { box-sizing: border-box; }
a { color: #14110F; text-decoration: none; }
a:hover { color: #B99A56; }
.group-logo-link { transition: outline-width 1s ease 0s; outline: 0px solid rgb(185, 154, 86); outline-offset: -1px; }
.group-logo-link img { transition: transform 0.25s ease 0s; will-change: transform; }
.group-logo-link:hover { outline-width: 4px; }
.group-logo-link:hover img { transform: scale(1.08); }
@keyframes statusPulse { 0%, 100% { transform: scale(1); opacity: 1; } 50% { transform: scale(1.9); opacity: 0; } }
@keyframes cueDrop { 0% { transform: translateY(-100%); } 55%, 100% { transform: translateY(100%); } }
@keyframes heroReveal { 0% { opacity: 0; transform: scale(1.14); } 100% { opacity: 1; transform: scale(1); } }
@keyframes heroVeil { 0% { opacity: 1; } 100% { opacity: 0.14; } }
@keyframes heroBar { 0% { height: 10px; } 26% { height: 22%; } 52% { height: 20%; } 100% { height: 0px; } }
@media (max-width: 900px) {
  [data-head-nav] { flex-direction: row !important; align-items: center !important; gap: 4px !important; }
  [data-head-nav] a { writing-mode: horizontal-tb !important; font-size: 10px !important; letter-spacing: 0.16em !important; padding: 10px 6px !important; }
  [data-sp-script] { grid-column: 2 !important; grid-row: 2 !important; justify-self: center !important; margin: 6px 0 0 !important; transform: rotate(-3deg) !important; transform-origin: center !important; }
  [data-sp-news] { grid-template-columns: 1fr 30px !important; gap: 6px 14px !important; align-items: start !important; }
  [data-sp-news] > span:nth-child(1) { grid-column: 1 / -1 !important; }
  [data-sp-news] > span:nth-child(3) { grid-row: 1 / span 2 !important; grid-column: 2 !important; align-self: center !important; }
  [data-sp-body] { grid-template-columns: 1fr !important; }
  [data-sp-body] > span:first-child { display: none !important; }
}
@media (max-width: 700px) {
  [data-sp-nobr] br { display: none !important; }
  [data-sp-nobr] { letter-spacing: 0.04em !important; line-height: 2 !important; }
  [data-sp-schedule] { grid-template-columns: 1fr !important; }
  [data-sp-status-head] { flex-direction: column !important; align-items: flex-start !important; }
}
@media (max-width: 560px) {
  [data-head-logo-wrap], [data-head-logo-wrap] img { height: 34px !important; }
  [data-head-nav] a { font-size: 9px !important; letter-spacing: 0.1em !important; padding: 10px 4px !important; }
}

@keyframes introLand {
  0% { opacity: 0; transform: scale(5.2); filter: blur(22px); }
  26% { opacity: 1; }
  100% { opacity: 1; transform: scale(1); filter: blur(0); }
}
@keyframes introGlow { 0% { opacity: 0; } 40% { opacity: 0.9; } 100% { opacity: 0; } }
@keyframes introSkipIn { 0% { opacity: 0; } 100% { opacity: 1; } }
@keyframes introOut { 0% { opacity: 1; } 100% { opacity: 0; } }
@keyframes introFade {
  0% { opacity: 0; }
  32% { opacity: 1; }
  70% { opacity: 1; }
  100% { opacity: 0; }
}
@keyframes introKB1 { 0% { transform: scale(1.02) translate3d(0, 0, 0); } 100% { transform: scale(1.13) translate3d(-1%, -0.8%, 0); } }
@keyframes introKB2 { 0% { transform: scale(1.17) translate3d(-1.2%, 0.6%, 0); } 100% { transform: scale(1.03) translate3d(1%, -0.4%, 0); } }
@keyframes introKB3 { 0% { transform: scale(1.12) translate3d(-2.8%, 0, 0); } 100% { transform: scale(1.12) translate3d(2.8%, 0, 0); } }
@keyframes introKB4 { 0% { transform: scale(1.04) translate3d(0.6%, 1.6%, 0); } 100% { transform: scale(1.15) translate3d(-0.6%, -1.6%, 0); } }
@keyframes introVigOpen {
  0% { opacity: 1; }
  20% { opacity: 1; }
  46% { opacity: 0.34; }
  80% { opacity: 0.5; }
  100% { opacity: 1; }
}
@keyframes introFlare {
  0% { transform: translate3d(-62vw, 0, 0); opacity: 0; }
  18% { opacity: 0.85; }
  74% { opacity: 0.85; }
  100% { transform: translate3d(62vw, 0, 0); opacity: 0; }
}
@keyframes introDefocus {
  0% { opacity: 1; }
  18% { opacity: 1; }
  44% { opacity: 0; }
  100% { opacity: 0; }
}
@keyframes introTextZ {
  0% { transform: translateZ(-620px); animation-timing-function: cubic-bezier(0.22,0.72,0.26,1); }
  38% { transform: translateZ(0); animation-timing-function: linear; }
  84% { transform: translateZ(0); animation-timing-function: cubic-bezier(0.5,0,0.86,0.2); }
  100% { transform: translateZ(190px); }
}
@keyframes introTextOpacity {
  0% { opacity: 0; animation-timing-function: cubic-bezier(0.42,0,0.66,1); }
  35% { opacity: 1; animation-timing-function: linear; }
  84% { opacity: 1; animation-timing-function: cubic-bezier(0.4,0,0.6,1); }
  100% { opacity: 0; }
}
@keyframes introGrainStep {
  0% { transform: translate3d(0, 0, 0); }
  25% { transform: translate3d(-2%, 1.5%, 0); }
  50% { transform: translate3d(1.5%, -2%, 0); }
  75% { transform: translate3d(-1%, -1%, 0); }
  100% { transform: translate3d(0, 0, 0); }
}
@keyframes introRise {
  0% { transform: translate3d(0, 116vh, 0) scale(0.96); opacity: 0; filter: blur(3px); }
  22% { opacity: 0.88; filter: blur(0px); }
  60% { opacity: 0.88; filter: blur(0px); }
  100% { transform: translate3d(0, -90vh, 0) scale(1.05); opacity: 0; filter: blur(6px); }
}
@keyframes introYearRoll {
  0% { transform: translate3d(0, 0, 0); }
  100% { transform: translate3d(0, -14.3em, 0); }
}
@keyframes introRollFade {
  0% { opacity: 0; }
  9% { opacity: 1; }
  90% { opacity: 1; }
  100% { opacity: 0; }
}
@keyframes introDraw {
  0% { stroke-dashoffset: var(--len); }
  100% { stroke-dashoffset: 0; }
}
@keyframes introDrawOut {
  0% { opacity: 1; }
  100% { opacity: 0; }
}

@media (min-width: 701px) {
  [data-era] > span:last-child { max-width: 36vw; }
}
@media (max-width: 700px) {
  [data-era] > span { white-space: nowrap !important; width: max-content !important; }
  [data-era] > span:last-child { font-size: 24px !important; line-height: 1.5 !important; }
  #vision { padding-bottom: 32px !important; }
  #segments { padding-top: 32px !important; }
  .history-card { height: 890px !important; }
  #history { padding-top: 40px !important; padding-bottom: 24px !important; }
  [data-history] { margin-top: 16px !important; padding-top: 16px !important; }
  .dc-video-frame { width: 100% !important; }
}
