body { --red: #ff1616; --red2: #d90000; background: #08090b; color: #fff; text-align: center; }
.page-bg, .page-tint { position: fixed; inset: 0; width: 100%; height: 100%; }
.page-bg { z-index: -3; object-fit: cover; }
.page-tint { z-index: -2; background: rgba(0,0,0,.65); }

.brand { width: clamp(215px,19vw,280px); padding: 6px 10px; border: 1px solid rgba(255,255,255,.18); border-radius: 8px; background: rgba(255,255,255,.1); box-shadow: 0 8px 22px rgba(0,0,0,.22); backdrop-filter: blur(5px); filter: none; }
.header-phone { padding: 4px 2px; border-bottom: 3px solid #ff1616; font-size: clamp(1.22rem,2vw,1.5rem); }

.hero { min-height: 760px; isolation: auto; background: transparent; }
.hero-grid { display: grid; width: min(1420px,calc(100% - 40px)); grid-template-columns: minmax(0,.78fr) minmax(0,1.32fr); gap: clamp(30px,3.5vw,54px); align-items: stretch; padding-top: 118px; }
.hero__content { display: flex; width: auto; flex-direction: column; justify-content: center; padding: 0; text-align: left; }
.hero h1 { max-width: 650px; font-size: clamp(2.55rem,4.7vw,5rem); line-height: .95; }
.hero .button { margin-top: 3px; }
.hero .slogan { width: 100%; max-width: 650px; margin: 14px 0 22px; font-size: clamp(.88rem,1.25vw,1.15rem); line-height: 1.25; text-align: center; white-space: nowrap; }
.hero-video { display: flex; align-self: center; margin: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.hero-video video { width: 100%; height: auto; aspect-ratio: 16/9; object-fit: contain; }

.section, .section--dark, .section--soft, .benefit-section, .final-cta { background: transparent; color: #fff; }
.benefit-section, .long-form, .faq, .final-cta { border-top: 1px solid rgba(255,255,255,.14); }
.benefit-section h2 { max-width: 1080px; margin-right: auto; margin-left: auto; text-wrap: balance; }
.benefit-section .section-kicker { margin-bottom: 26px; }
.benefit-grid div, .steps span, .closing-cta { border-color: rgba(255,255,255,.17); background: rgba(8,9,11,.78); color: #fff; box-shadow: 0 12px 30px rgba(0,0,0,.25); backdrop-filter: blur(6px); text-align: center; }
.benefit-grid div { padding-right: 10px; padding-left: 10px; font-size: clamp(.88rem,1.15vw,1.05rem); font-weight: 950; line-height: 1.25; white-space: nowrap; }
.steps span { font-weight: 900; }

.prose { max-width: 1120px; text-align: center; }
.prose > p, .closing-cta > p, .accordion details p { max-width: 49ch; margin-right: auto; margin-left: auto; text-align: center; text-wrap: balance; }
.prose > p:not(.pullquote) { font-size: 1.28rem; line-height: 1.62; }
.accordion details p { font-size: 1.13rem; line-height: 1.62; }
.prose > p:not(.pullquote) { margin-top: 0; margin-bottom: 18px; }
.accordion details p { margin-top: 0; margin-bottom: 6px; }
.closing-cta > p { margin-top: 0; margin-bottom: 24px; }
.prose h2, .prose h3, .faq h2, .faq .section-kicker { text-align: center; text-wrap: balance; }
.prose .natural-heading { max-width: none; text-wrap: normal; }
.prose h3 { color: #ff2020; text-shadow: 0 2px 14px rgba(255,0,0,.2), 0 3px 10px #000; }
.section-kicker, .eyebrow { color: #ff2020; }
.recap li { border-color: rgba(255,255,255,.2); font-weight: 850; text-align: center; white-space: nowrap; }
.recap li:before { color: #ff2020; font-size: 1.16em; text-shadow: 0 0 9px rgba(255,22,22,.72); }
.benefit-grid div { border-left-color: #ff1616; }
.steps span { border-top-color: #ff1616; }
.accordion summary:after, .accordion details a { color: #ff3030; }
.red-emphasis { color: #ff2020; text-shadow: 0 0 10px rgba(255,32,32,.28); }
.accordion summary, .accordion details div { text-align: center; }
.accordion summary { font-weight: 950; }
.accordion details div { margin-right: auto; margin-left: auto; padding-right: 24px; padding-left: 24px; }
.accordion details p { max-width: 52ch; text-wrap: balance; }

.pullquote { max-width: 850px !important; margin: 52px auto !important; padding: 18px 24px; border: 0; background: transparent; color: #fff; font-size: clamp(1.5rem,2.8vw,2.1rem); font-style: italic; line-height: 1.35; text-align: center; text-shadow: 0 3px 16px #000; text-wrap: balance; }
.pullquote--secondary { max-width: 920px !important; margin: 40px auto 54px !important; font-size: clamp(1.35rem,2.25vw,1.8rem); }
.button--outline-light { border-color: #fff; background: rgba(0,0,0,.25); color: #fff; }

.video-frame { position: relative; }
.video-frame video { cursor: pointer; }
.hero .eyebrow { width: 100%; max-width: 650px; align-self: flex-start; margin-right: 0; margin-left: 0; text-align: center; }
.video-play { position: absolute; top: 50%; left: 50%; display: flex; min-width: 220px; align-items: center; justify-content: center; gap: 10px; padding: 14px 20px; transform: translate(-50%,-50%); border: 2px solid rgba(255,255,255,.94); border-radius: 999px; background: rgba(201,0,0,.93); box-shadow: 0 12px 32px rgba(0,0,0,.5); color: #fff; cursor: pointer; transition: opacity .2s ease,transform .2s ease; }
.video-play:hover { transform: translate(-50%,-50%) scale(1.07); }
.video-play:focus-visible { outline: 3px solid #fff; outline-offset: 5px; }
.video-play .sound-icon { display: flex; width: 27px; height: 27px; flex: 0 0 27px; }
.video-play .sound-icon svg { width: 100%; height: 100%; fill: currentColor; }
.video-play .sound-label { font-size: .9rem; font-weight: 950; letter-spacing: .035em; line-height: 1.1; text-transform: uppercase; white-space: nowrap; }
.video-play.is-hidden { pointer-events: none; opacity: 0; }
.faq .wrap { text-align: center; }
.faq-cta { margin-top: 38px; }

footer { background: rgba(0,0,0,.22); }
.footer-grid img { width: min(235px,35%); padding: 6px 10px; border: 1px solid rgba(255,255,255,.18); border-radius: 8px; background: rgba(255,255,255,.1); box-shadow: 0 8px 22px rgba(0,0,0,.22); backdrop-filter: blur(5px); }
.footer-grid div { text-align: center; }
.footer-legal { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 24px; margin: 30px auto 0; }
.footer-legal a { color: #fff; font-size: .9rem; font-weight: 800; text-decoration: underline; text-decoration-color: #ff2020; text-underline-offset: 4px; }
.legal-page .site-header { position: relative; }
.legal-main { padding: 45px 0 90px; }
.legal-card { max-width: 960px; margin: 0 auto; padding: clamp(30px,6vw,68px); border: 1px solid rgba(255,255,255,.18); border-radius: 12px; background: rgba(8,9,11,.86); box-shadow: 0 22px 60px rgba(0,0,0,.34); backdrop-filter: blur(8px); text-align: left; }
.legal-card h1 { margin: 0 0 8px; color: #fff; font-size: clamp(2.4rem,6vw,4.8rem); font-style: italic; font-weight: 950; letter-spacing: -.045em; line-height: .95; text-align: center; text-transform: uppercase; }
.legal-card .effective { margin: 0 0 42px; color: #ff3030; font-weight: 900; text-align: center; }
.legal-card h2 { margin: 42px 0 14px; color: #ff3030; font-size: clamp(1.35rem,3vw,2rem); letter-spacing: -.02em; line-height: 1.1; text-align: left; }
.legal-card p, .legal-card li { font-size: 1.08rem; line-height: 1.7; }
.legal-card p { margin: 0 0 16px; }
.legal-card ul { margin: 0 0 20px; padding-left: 24px; }
.legal-card a { color: #ff4a4a; font-weight: 800; }
.legal-back { display: inline-block; margin-bottom: 32px; color: #fff !important; font-weight: 900; text-decoration: none; }
.legal-back span { color: #ff2020; }
.legal-contact { margin-top: 44px; padding: 24px; border-left: 5px solid #ff1616; background: rgba(255,255,255,.06); }

@media (max-width: 900px) {
  .hero { min-height: auto; padding: 150px 0 75px; }
  .hero-grid { grid-template-columns: 1fr; padding-top: 0; }
  .hero__content { text-align: center; }
  .hero h1 { margin-right: auto; margin-left: auto; }
  .hero .slogan { margin-right: auto; margin-left: auto; }
  .hero-video { width: min(760px,100%); aspect-ratio: 16/9; margin: 0 auto; }
}
@media (max-width: 760px) {
  .page-tint { background: rgba(0,0,0,.72); }
  .brand { width: min(255px,72vw); }
  .hero .slogan { font-size: .9rem; white-space: normal; }
  .benefit-grid div, .recap li { font-size: .94rem; white-space: normal; }
  .video-play { min-width: 190px; gap: 8px; padding: 12px 16px; }
  .video-play .sound-icon { width: 23px; height: 23px; flex-basis: 23px; }
  .video-play .sound-label { font-size: .78rem; }
  .footer-grid img { width: min(280px,90%); }
  .legal-main { padding-top: 25px; }
  .legal-card { padding: 28px 20px; }
  .legal-card p, .legal-card li { font-size: 1rem; }
}
@media (prefers-reduced-motion: reduce) {
  .page-bg { display: none; }
  .page-tint { background: rgba(0,0,0,.65) url('hero-poster.jpg') center/cover fixed no-repeat; }
  .video-play { transition: none; }
}
/* Center the complete hero message as one visual group */
.hero__content {
  align-items: center;
  text-align: center;
}

.hero h1 {
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}

.hero .eyebrow,
.hero .slogan {
  align-self: center;
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}

.hero .button {
  align-self: center;
}
