/* Formula Build only. Studio and every other game retain their own identity. */
.fb-logo-frame { display:block; position:relative; overflow:hidden; width:min(100%,360px); aspect-ratio:589/270; background:#000; }
.fb-logo-frame img { display:block; position:absolute; width:100%; height:auto; max-width:none; top:-185.185%; left:0; }
.formula-showcase h2 { margin:16px 0; }
.formula-showcase .game-status { color:#e4e4e9; border-color:#72757e; }
.formula-showcase .game-category { color:#f2a9ae; }
.formula-showcase a:focus-visible { outline-color:#fff; }
.formula-page { background:#0c0d0f; color:#f5f5f6; font:400 1rem/1.5 var(--studio-font); }
.formula-page .formula-nav { background:#16171a; border-color:#383b42; }
.formula-page .formula-nav a { color:#f5f5f6; }
.formula-page .detail-play { color:#ff9299; }
.formula-page .hero { display:grid; grid-template-columns:minmax(280px,.85fr) minmax(0,1.3fr); gap:40px 5%; padding:clamp(30px,6vw,80px) 5% 20px; max-width:1600px; margin:auto; }
.formula-page h1 { margin:20px 0; }.formula-page .fb-logo-frame { width:min(100%,390px); }
.formula-page .eyebrow,.formula-page .visual-topline,.formula-page .caption-label,.formula-page .play-note { font:600 .72rem/1.5 var(--studio-font); letter-spacing:.13em; text-transform:uppercase; color:#b8bac2; }
.formula-page .eyebrow { color:#ff9299; }
.formula-page .hero-tagline { font:750 clamp(2rem,3.6vw,3.8rem)/1.05 var(--studio-display); letter-spacing:-.04em; margin:24px 0; }
.formula-page .hero-description { font-size:1.05rem; line-height:1.7; color:#c3c5cc; }
.formula-page .hero-actions { display:flex; gap:22px; align-items:center; flex-wrap:wrap; margin:28px 0 18px; }
.formula-page .button { display:inline-flex; align-items:center; justify-content:center; gap:20px; padding:17px 22px; min-height:48px; background:#bd2032; color:#fff; border-radius:5px; text-decoration:none; font-weight:700; }
.formula-page .button:hover { background:#a51a2b; }.formula-page .text-link { color:#f5f5f6; padding-block:12px; text-underline-offset:6px; }
.formula-page a:focus-visible,.formula-page button:focus-visible { outline:3px solid #fff; outline-offset:4px; }
.formula-page .hero-visual { min-width:0; align-self:center; }
.formula-page .visual-topline,.formula-page .hero-caption,.formula-page .hero-bottom { display:flex; justify-content:space-between; gap:14px; flex-wrap:wrap; }
.formula-page .visual-topline { padding:12px 0; }
.formula-page [data-lightbox] { display:block; position:relative; border:1px solid #4c4f58; overflow:hidden; border-radius:7px; }
.formula-page [data-lightbox] img { display:block; width:100%; height:auto; }
.formula-page .image-enlarge { position:absolute; right:10px; bottom:10px; background:#0c0d0fdd; color:#fff; padding:8px; border-radius:4px; }
.formula-page .hero-caption { padding-block:12px; font-size:.75rem; color:#b8bac2; }
.formula-page .visual-statement { font:750 clamp(1.5rem,2.8vw,2.8rem)/1.1 var(--studio-display); letter-spacing:-.03em; margin:18px 0; }
.formula-page .visual-statement em { color:#ff777e; font-style:normal; }
.formula-page .hero-bottom { grid-column:1/-1; padding-top:24px; margin-top:18px; border-top:1px solid #383b42; font:600 .7rem/1.5 var(--studio-font); letter-spacing:.06em; color:#b8bac2; }
.formula-page .hero-bottom a { color:inherit; }
.formula-page .race-strip { display:flex; justify-content:center; gap:18px 5%; flex-wrap:wrap; margin:30px 0 0; padding:24px 5%; border-block:1px solid #383b42; background:#191b1f; font-weight:750; letter-spacing:.04em; }
.formula-page .section-wrap { max-width:1440px; padding:70px 5%; margin:auto; }
.formula-page .section-heading { display:grid; grid-template-columns:1fr 1fr; gap:12px 8%; align-items:end; margin-bottom:34px; }
.formula-page .section-heading .eyebrow { grid-column:1/-1; margin:0; }
.formula-page h2 { font:750 clamp(2rem,4vw,3.8rem)/1.05 var(--studio-display); letter-spacing:-.04em; margin:0; }
.formula-page .section-heading>p:last-child { color:#c3c5cc; line-height:1.7; margin:0; }
.formula-page .outline-text { color:#b8bac2; }.formula-page .red-text { color:#ff777e; }
.formula-page .game-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:40px; align-items:start; }
.formula-page .game-detail-shot>p,.formula-page figcaption { color:#c0c2c9; font-size:.85rem; line-height:1.6; margin-top:12px; }
.formula-page .game-steps { list-style:none; margin:0; padding:0; }
.formula-page .game-steps li { display:flex; gap:20px; padding:0 0 22px; margin-bottom:20px; border-bottom:1px solid #383b42; }
.formula-page .step-number { color:#ff777e; font:700 1.5rem/1.2 var(--studio-display); }
.formula-page h3 { margin:0 0 8px; font-size:1.25rem; }.formula-page .game-steps p { margin:0; color:#c3c5cc; font-size:.96rem; line-height:1.65; }
.formula-page .kit-section { border-top:1px solid #383b42; }.formula-page .media-pair { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.formula-page figure { margin:0; }.formula-page .section-note { color:#b8bac2; line-height:1.6; max-width:80ch; margin-top:28px; }
.formula-page .circuits-section { background:#151619; border-block:1px solid #383b42; }
.formula-page .poster-feature figcaption { display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.formula-page .track-layout { display:grid; grid-template-columns:1fr 1.6fr; gap:6%; margin-top:48px; }
.formula-page .giant-seven { display:block; font:800 6rem/.9 var(--studio-display); color:#ff777e; }.formula-page .track-intro p { line-height:1.6; color:#c3c5cc; }
.formula-page .track-row { display:flex; align-items:center; gap:20px; padding:18px 0; border-bottom:1px solid #383b42; }.formula-page .track-index { color:#ff9299; font-weight:700; }
.formula-page .track-row p { margin:0; color:#b8bac2; font-size:.9rem; }.formula-page .track-character { margin-left:auto; font-size:.65rem; letter-spacing:.08em; color:#c3c5cc; text-align:right; }
.formula-page .rivalry { text-align:center; }.formula-page .rivalry h2 { margin:18px 0; }.formula-page .rivalry h2 span { color:#ff777e; }.formula-page .rivalry>p { line-height:1.8; color:#c3c5cc; }.formula-page .rivalry .button { margin:18px 0; }
@media(max-width:800px) {
  .formula-page .hero,.formula-page .game-layout,.formula-page .section-heading,.formula-page .media-pair,.formula-page .track-layout { grid-template-columns:1fr; }
  .formula-page .hero { gap:28px; }.formula-page .hero-copy { max-width:600px; }.formula-page .hero-bottom>span:nth-child(2) { display:none; }
  .formula-page .section-wrap { padding-block:42px; }.formula-page .section-heading { gap:18px; }.formula-page .race-strip { justify-content:flex-start; font-size:.8rem; }
  .formula-page .track-layout { gap:26px; }.formula-page .track-intro .giant-seven { display:none; }.formula-page .track-character { max-width:95px; line-height:1.5; }
  .formula-page .hero-bottom { margin:0; }.formula-page .hero-tagline { font-size:2.6rem; }
}
@media(prefers-reduced-motion:reduce) { .formula-page { scroll-behavior:auto; } }
