/* Homepage-only additions to the existing editorial and solar motion design. */
.frontier-cinema-path { position: absolute; inset-inline: 12%; top: 45%; display: flex; align-items: center; gap: 1rem; color: #fff; text-shadow: 0 2px 12px #142b53; font-size: .75rem; }
.frontier-cinema-path span { background: #182c485e; border: 1px solid #ffffff55; border-radius: 999px; padding: .65rem 1rem; backdrop-filter: blur(10px); white-space: nowrap; }
.frontier-cinema-path i { flex: 1; height: 1px; background: #ffffff55; position: relative; }
.frontier-cinema-path i::after { content: ''; position: absolute; top: -3px; inset-inline-start: 0; height: 7px; width: 7px; border-radius: 50%; background: #fff; box-shadow: 0 0 15px #fff; }
.meridian-motion-enabled .frontier-cinema.is-in-view .frontier-cinema-path i::after { animation: frontier-handoff 5s ease-in-out infinite; }
.frontier-cinema-path i:nth-of-type(2)::after { animation-delay: 1s !important; }
@keyframes frontier-handoff { 0%, 15% { inset-inline-start: 0; opacity: .4; } 75%, 100% { inset-inline-start: calc(100% - 7px); opacity: 1; } }
.frontier-vehicle-heading { margin-top: 2rem; }
.frontier-vehicle-heading > span { color: #c5cfdb; font-size: .65rem; }
.frontier-vehicle-heading h3 { font-size: clamp(1.4rem, 2.2vw, 2.3rem); font-weight: 500; letter-spacing: -.045em; margin-top: .6rem; }
.frontier-vehicle-heading p { color: #c5cfdb; font-size: .76rem; margin-top: .5rem; }
.frontier-vehicle-art { width: 100%; max-height: 150px; margin: 1.5rem auto; display: block; overflow: visible; }
.meridian-motion-enabled .frontier-perspective.is-in-view .frontier-car-outline { animation: perspective-draw 2.6s ease both; }
.frontier-progress { list-style: none; padding: 0; display: flex; justify-content: space-between; gap: .35rem; color: #c5cfdb; font-size: .6rem; }
.frontier-progress li { flex: 1; border-top: 2px solid #ffffff25; padding-top: .7rem; }
.frontier-progress .is-done { border-color: #96b9de; color: #fff; }
.frontier-progress .is-current { border-color: #ffd0b8; color: #ffd0b8; }
.frontier-next-task { margin-top: 1.8rem; border-inline-start: 2px solid #ffd0b8; padding-inline-start: 1rem; }
.frontier-next-task > span { font-size: .65rem; color: #c5cfdb; }
.frontier-next-task strong { font-size: 1.1rem; font-weight: 500; display: block; margin-top: .4rem; }
.frontier-next-task p { font-size: .72rem; color: #c5cfdb; margin-top: .5rem; }
.frontier-record-meta { display: flex; justify-content: space-between; gap: 1rem; border-top: 1px solid #ffffff20; margin-top: 1.7rem; padding-top: 1rem; font-size: .65rem; color: #c5cfdb; }
.frontier-record-meta strong { display: block; color: #fff; font-size: 1rem; font-weight: 500; margin-top: .3rem; }
.frontier-vehicle-picker { display: grid; gap: .7rem; margin-top: 1.8rem; }
.frontier-vehicle-picker button { cursor: pointer; text-align: start; font: inherit; border: 1px solid #e0e3e8; border-radius: 8px; padding: 1rem; background: #fff; color: #555; min-height: 72px; transition: background .2s, border-color .2s; }
.frontier-vehicle-picker strong { display: block; font-size: .78rem; font-weight: 550; }
.frontier-vehicle-picker span { display: block; font-size: .65rem; margin-top: .4rem; }
.frontier-vehicle-picker button[aria-pressed="true"] { background: #263951; border-color: #263951; color: #fff; }
.frontier-example-note, .frontier-demo-hint { font-size: .68rem; line-height: 1.7; color: #666; margin-top: 1.5rem; }
.frontier-handoff { margin-top: 2.5rem; padding: 1.5rem; border-radius: 10px; background: #f5f7fa; border-inline-start: 2px solid #7993b2; }
.frontier-handoff h4 { font-size: 1.45rem; font-weight: 500; letter-spacing: -.035em; margin-top: .7rem; }
.frontier-handoff > p { font-size: .85rem; line-height: 1.7; color: #555; margin-top: .75rem; }
.frontier-handoff-meta { display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; color: #666; font-size: .68rem; margin-top: 1.2rem; }
.frontier-demo-action { margin-top: 1.5rem; font: inherit; font-size: .8rem; cursor: pointer; }
.frontier-demo-action:disabled { background: #eee; color: #555; cursor: default; }
.frontier-demo-action[hidden] { display: none; }
.frontier-preview-link { margin-top: 1.3rem; }
.meridian-motion-paused .frontier-cinema-path i::after { animation-play-state: paused !important; }
.scale-product-grid-single { grid-template-columns: minmax(0, 1fr); max-width: 640px; margin-inline: auto; }
@media (max-width: 800px) {
  .frontier-cinema-path { inset-inline: 7%; gap: .6rem; }
  .frontier-workspace .scenario-sidebar { display: block; }
  .frontier-vehicle-picker { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .frontier-cinema-path { inset-inline: 1.4rem; top: 35%; flex-direction: column; align-items: start; gap: .6rem; }
  .frontier-cinema-path i { flex: none; width: 1px; height: 26px; margin-inline-start: 1rem; }
  .frontier-cinema-path i::after { display: none; }
  .frontier-cinema-path span { padding: .45rem .8rem; font-size: .65rem; }
  .frontier-vehicle-picker { grid-template-columns: 1fr; }
  .frontier-handoff { padding: 1.1rem; }
  .frontier-handoff h4 { font-size: 1.25rem; }
}
@media (prefers-reduced-motion: reduce) {
  .frontier-cinema-path i::after, .frontier-car-outline { animation: none !important; }
  .frontier-vehicle-picker button { transition: none; }
}
