/* Sal’s Home review — scoped so unpublished pages retain their presentation. */

    .home-page .hiw-card { min-width: 0; }
    .home-page .hiw-card .hiw-copy { padding: 16px 18px 20px; flex: 0 0 auto; overflow-wrap: anywhere; }
    .home-page .offer-plans { padding: 36px 20px; }
    .home-page .offer-plan-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
    .home-page .offer-plan-grid article { background: #161616; border: 1px solid #333; border-radius: 14px; padding: 24px; }
    .home-page .offer-plan-grid h2 { font-family: "Arial Black", Arial, sans-serif; font-size: 22px; line-height: 1.2; }
    .home-page .offer-plan-grid p { line-height: 1.6; }
    .home-page .home-hero-visual { flex-direction: column; align-items: center; }
    .home-page .home-hero-badge { color: #10F898; border-color: rgba(16, 248, 152, 0.4); background: rgba(16, 248, 152, 0.08); }

    @media (max-width: 700px) { .home-page .offer-plan-grid { grid-template-columns: 1fr; } }

.home-page { --text: #FFFFFF; --body: #F2F2F2; --muted: #F2F2F2; background: #111111; color: #F2F2F2; }
.home-page p { line-height: 1.5; }
.home-page .score-nowrap { white-space: nowrap; }
.home-page .hero-signin-note { margin-top: 14px; font-size: 14px; color: #F2F2F2; }
.home-page .home-hero-badge { font-size: 14px; }
.home-page .home-hero-inner { padding-block: 80px; }
.home-page .home-hero-visual { padding-top: 25.5px; padding-bottom: 30px; }
.home-page .home-hero-visual .phone-screen > img { aspect-ratio: 808 / 1314; object-fit: contain; }
.home-page .win-chip { top: auto; right: 4%; bottom: 0; font-size: 14px; }
.home-page .phone-head, .home-page .phone-foot { font-size: 14px; color: #F2F2F2; }

/* Compact live-site band; the explicit readability rules raise body/small print only. */
.home-page .charter-band .eyebrow { font-size: 14px; text-wrap: balance; }
.home-page .charter-band-sub { font-size: 17px; color: #F2F2F2; }
.home-page .founding-counter { color: #FFFFFF; font-size: 14px; text-wrap: balance; }
.home-page .founding-counter b { color: #10F898; }
.home-page .charter-band-limit { color: #FFFFFF; font-size: 14px; }
.home-page .charter-band-cta .btn { white-space: nowrap; }

/* Consistent rhythm: the compact announcement and preserved hero are deliberate exceptions. */
.home-page :is(.pain,.vsx,.fmts,.cm,.closer) > .hwrap,
.home-page .players-inner,
.home-page .game-day > .hwrap { padding-block: 80px; }
.home-page .hiw { max-width: none; padding: 80px 0; }
.home-page .offer-plans { padding-block: 80px; }
.home-page :is(.pain,.vsx,.cm) { background: #111111; }
.home-page .hiw > .hwrap { text-align: center; }
.home-page .hiw-head::after, .home-page .hiw > .hwrap > .eyebrow::after { margin-inline: auto; }
.home-page .hiw-sub { max-width: 36rem; margin: 0 auto 24px; text-align: center; }

.home-page .eyebrow { font-size: 14px; }
.home-page :is(.offer-plan-grid p:not(.eyebrow),.pain-card p,.vsx-cell,.hiw-sub,.hiw-copy,.cm-step p,.cm-banner p,.players-big,.closer p) { font-size: 17px; line-height: 1.5; color: #F2F2F2; }
.home-page .hiw :is(.hiw-sub,.hiw-copy) { color: #F2F2F2 !important; }
.home-page .vsx-row.head .old { color: #FFFFFF; }
.home-page :is(.sample-label,.fmts-caption,.sms-meta,.sitefooter,.sitefooter .fineprint,.players-small,.cm-step-n) { color: #F2F2F2; font-size: 14px; line-height: 1.5; }
.home-page .sitefooter :is(a,p,span) { color: #F2F2F2; }
.home-page .sitefooter-tag { font-size: 14px; }
.home-page .sms-demo .bubble { font-size: 17px; line-height: 1.5; }
.home-page .sms-demo .bubble.them { color: #F2F2F2; }
.home-page .sample-label { display: block; padding: 8px 18px 0; }

/* Fresh captures are complete components: no overlays, masks, or status-bar crops. */
.home-page .hiw-shot { aspect-ratio: auto; background: #111111; flex: 1; }
.home-page .hiw-shot .hiw-zoom { display: block; padding: 0; width: 100%; height: auto; position: static; }
.home-page .hiw-shot img { width: 100%; height: auto; object-fit: contain; }
.home-page .board-pair { display: flex; flex-direction: column; justify-content: flex-start; gap: 12px; padding: 12px 8px; }
.home-page .current-capture { align-items: flex-start; }
.home-page .hiw-card .hiw-copy { margin-top: auto; }
.home-page .hiw-grid { align-items: stretch; }

.home-page .home-my-boxes .btn { margin-top: 24px; }
@media (max-width: 760px) {
  .home-page .home-hero-inner,
  .home-page :is(.pain,.vsx,.fmts,.cm,.closer) > .hwrap,
  .home-page .players-inner,
  .home-page .game-day > .hwrap,
  .home-page .offer-plans { padding-block: 56px; }
  .home-page .hiw { padding-block: 56px; }
  .home-page :is(.offer-plan-grid p:not(.eyebrow),.pain-card p,.vsx-cell,.hiw-sub,.hiw-copy,.cm-step p,.cm-banner p,.players-big,.closer p,.charter-band-sub,.sms-demo .bubble) { font-size: 16px; }
  .home-page .charter-band-h { text-wrap: balance; }
  .home-page .charter-band .eyebrow { letter-spacing: .06em; }
  .home-page .charter-band-cta { text-align: center; }
  .home-page .charter-band-cta .btn { padding-inline: 12px; }
  .home-page .hiw-grid { max-width: none; }
}
.home-page :is(.tile,.cm-banner-k) { font-size: 14px; }
.home-page .feed-tag { color: #F2F2F2; }
.home-page .format-suggest-note { color: #F2F2F2; font-size: 14px; font-family: -apple-system, BlinkMacSystemFont, Arial, sans-serif; font-weight: 400; letter-spacing: 0; text-transform: none; }
.home-page .btn-primary, .home-page .bubble.me { color: #0F1216; }
@media (max-width: 760px) {
  .home-page .feed-top { flex-wrap: wrap; }
}

/* Round 2: restore the earlier scoring section's geometry and typography. */
.home-page .livewin p { line-height: 1.65; }
.home-page .livewin .livewin-note { line-height: 1.55; }
.home-page .hiw-shot.portrait-capture { display: block; aspect-ratio: 721 / 1468; flex: 0 0 auto; }
.home-page .portrait-capture .hiw-zoom { position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; }
.home-page .portrait-capture .hiw-zoom img { position: absolute; top: 0; left: 0; width: 100%; height: auto; transform: translateY(-6.377551%); }
.home-page .lightbox img.status-bar-crop { clip-path: inset(6.377551% 0 0); }
.home-page .hiw-title, .home-page .hiw-copy, .home-page .sample-label { text-align: left; }
.home-page .my-boxes-eyebrow { display: flex; align-items: center; gap: 12px; }
.home-page .new-badge { display: inline-block; padding: 8px 14px; border-radius: 999px; background: #10F898; color: #111111; font-size: 14px; font-weight: 900; letter-spacing: .06em; line-height: 1; }
.home-page .my-boxes-phone { transform: none; width: 300px; justify-self: center; }
.home-page .my-boxes-media { position: relative; aspect-ratio: 1206 / 2622; }
.home-page .my-boxes-poster { display: block; width: 100%; height: 100%; object-fit: contain; }
.home-page .my-boxes-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; opacity: 0; }
.home-page .my-boxes-media.is-playing .my-boxes-video { opacity: 1; }
@media (max-width: 760px) {
  .home-page .my-boxes-phone { width: min(80vw, calc(70svh * 1206 / 2622)); max-height: 70svh; padding: 8px; border-radius: 32px; }
  .home-page .my-boxes-phone .phone-screen { border-radius: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  .home-page .my-boxes-media .my-boxes-video { display: none; }
}

/* Round 3: captions share one row, so their first lines align regardless of wrapping. */
@media (min-width: 761px) {
  .home-page .hiw-grid { grid-template-rows: auto auto auto; }
  .home-page .hiw-card { display: grid; grid-template-rows: subgrid; grid-row: span 3; row-gap: 0; }
  .home-page .hiw-shot { align-self: start; }
  .home-page .hiw-card .hiw-copy { margin-top: 0; }
}

/* Approved Option A: fit both complete boards into the existing portrait height. */
@media (min-width: 761px) {
  .home-page .board-pair { aspect-ratio: 721 / 1468; align-self: start; box-sizing: border-box; }
  .home-page .board-pair .hiw-zoom { flex: 1; min-height: 0; height: 0; }
  .home-page .board-pair img { height: 100%; object-fit: contain; }
}
