   *,
   *::before,
   *::after {
       box-sizing: border-box;
       margin: 0;
       padding: 0;
   }

   html {
       font-size: 16px;
       scroll-behavior: smooth;
   }

   body {
       background: #0a0909;
       color: #fff;
       font-family: 'Montserrat', sans-serif;
       overflow-x: hidden;
   }

   a {
       color: #cc1a1a;
   }

   img {
       display: block;
       max-width: 100%;
   }

   button {
       cursor: pointer;
       border: none;
       background: none;
   }

   /* ── Scroll Reveal ── */
   .reveal {
       opacity: 0;
       transform: translateY(40px);
       transition: opacity 0.65s cubic-bezier(.25, .46, .45, .94), transform 0.65s cubic-bezier(.25, .46, .45, .94);
   }

   .reveal.from-left {
       transform: translateX(-50px);
   }

   .reveal.from-right {
       transform: translateX(50px);
   }

   .reveal.visible {
       opacity: 1;
       transform: translate(0, 0);
   }

   /* stagger children */
   .stagger .reveal:nth-child(1) {
       transition-delay: 0.10s;
   }

   .stagger .reveal:nth-child(2) {
       transition-delay: 0.25s;
   }

   .stagger .reveal:nth-child(3) {
       transition-delay: 0.40s;
   }

   .stagger .reveal:nth-child(4) {
       transition-delay: 0.55s;
   }

   .stagger .reveal:nth-child(5) {
       transition-delay: 0.70s;
   }

   /* ── Section helpers ── */
   .section-red-line {
       width: 24px;
       height: 2px;
       background: #cc1a1a;
       margin-bottom: 12px;
   }

   .section-title {
       font-family: 'Bebas Neue', sans-serif;
       font-size: clamp(40px, 5vw, 56px);
       color: #fff;
       text-transform: uppercase;
       line-height: 1.1;
       letter-spacing: 0.5px;
   }

   .section-title .accent {
       color: #cc1a1a;
   }

   /* ── Hero ── */
   #hero {
       position: relative;
       width: 100%;
       overflow: hidden;
       min-height: 620px;
       background: url(../images/bghero.png) no-repeat center center/cover;
   }

   @media (min-width: 768px) {
       #hero {
           height: 720px;
       }
   }

   #hero-bg img {
       position: absolute;
       height: 100%;
       max-width: none;
       top: 0;
       left: -14.86%;
       width: 142.22%;
   }

   .hero-overlay {
       position: absolute;
       inset: 0;
       background: linear-gradient(to right, rgba(0, 0, 0, 0.96) 0%, rgba(0, 0, 0, 0.92) 50%, rgba(0, 0, 0, 0.80) 100%);
   }

   .hero-overlay-lg {
       position: absolute;
       inset: 0;
       display: none;
       background: linear-gradient(to right, rgba(0, 0, 0, 0.92) 0%, rgba(0, 0, 0, 0.82) 38%, rgba(0, 0, 0, 0.50) 60%, rgba(0, 0, 0, 0.15) 100%);
   }

   @media (min-width: 1024px) {
       .hero-overlay-lg {
           display: block;
       }
   }

   .hero-stripes-tr {
       position: absolute;
       top: 0;
       right: 0;
       width: 60%;
       overflow: hidden;
       opacity: 0.3;
       pointer-events: none;
   }

   @media (min-width: 768px) {
       .hero-stripes-tr {
           width: 45%;
           opacity: 0.55;
       }
   }

   .hero-stripes-tr-inner {
       display: flex;
       gap: 8px;
       transform: rotate(-8deg) translateX(20px) translateY(-12px);
   }

   #hero-rider {
       position: absolute;
       pointer-events: none;
       display: none;
       left: calc(50% - 80px);
       top: 50%;
       margin-top: -390px;
       width: 845px;
       height: auto;
       opacity: 0;
       z-index: 998;
   }

   @media (min-width: 1024px) {
       #hero-rider {
           display: block;
       }
   }

   #hero-rider.loaded {
       opacity: 1;
   }

   @keyframes riderDrift {
       0% {
           transform: translate(0, 0);
       }

       25% {
           transform: translate(5px, -2px);
       }

       50% {
           transform: translate(2px, -1px);
       }

       75% {
           transform: translate(4px, -3px);
       }

       100% {
           transform: translate(0, 0);
       }
   }

   #hero-rider img {
       width: 100%;
       height: 100%;
       object-fit: contain;
   }

   .hero-content-wrapper {
       position: relative;
       z-index: 10;
       display: flex;
       align-items: center;
       justify-content: center;
       height: 100%;
       width: 100%;
       padding: 64px 24px;
   }

   @media (min-width: 640px) {
       .hero-content-wrapper {
           padding-left: 32px;
           padding-right: 32px;
       }
   }

   @media (min-width: 768px) {
       .hero-content-wrapper {
           padding-top: 0;
           padding-bottom: 0;
       }
   }

   .hero-content-inner {
       display: flex;
       flex-direction: column;
       align-items: flex-start;
       justify-content: center;
       width: 100%;
       max-width: 1280px;
   }

   .hero-content {
       display: flex;
       flex-direction: column;
       align-items: flex-start;
       max-width: 530px;
   }

   .hero-chevrons {
       margin-bottom: 20px;
   }

   @media (min-width: 768px) {
       .hero-chevrons {
           margin-bottom: 31px;
       }
   }

   .hero-logo-wrap {
       margin-bottom: 20px;
   }

   @media (min-width: 768px) {
       .hero-logo-wrap {
           margin-bottom: 24px;
       }
   }

   .hero-tagline {
       font-family: 'Montserrat', sans-serif;
       font-size: clamp(20px, 5.5vw, 32px);
       line-height: 1.25;
       min-height: 44px;
       margin-bottom: 28px;
   }

   @media (min-width: 768px) {
       .hero-tagline {
           margin-bottom: 48px;
       }
   }

   #typewriter-cursor {
       animation: blink 0.9s linear infinite;
       margin-left: 1px;
   }

   @keyframes blink {

       0%,
       45% {
           opacity: 1
       }

       50%,
       100% {
           opacity: 0
       }
   }

   .hero-desc {
       font-family: 'Montserrat', sans-serif;
       font-weight: 300;
       line-height: 1.4;
       font-size: clamp(14px, 3.8vw, 16px);
       color: #fff;
       margin-bottom: 32px;
   }

   @media (min-width: 768px) {
       .hero-desc {
           margin-bottom: 48px;
       }
   }

   .hero-desc strong {
       font-weight: 400;
   }

   .hero-cta {
       font-family: 'Bebas Neue', sans-serif;
       font-size: 22px;
       letter-spacing: 1px;
       height: 54px;
       padding: 0 24px;
       background: #cc1a1a;
       color: #fff;
       width: 100%;
       display: flex;
       align-items: center;
       justify-content: center;
       transition: background-color 0.2s, transform 0.15s;
   }

   @media (min-width: 640px) {
       .hero-cta {
           width: 265px;
       }
   }

   .hero-cta:hover {
       background: #e01e1e;
       transform: scale(1.04);
   }

   .hero-cta:active {
       transform: scale(0.97);
   }

   .hero-bottom-strip {
       position: absolute;
       bottom: 0;
       left: 0;
       right: 0;
       z-index: 10;
       overflow: hidden;
       height: 49px;
       display: flex;
   }

   /* Faixa/stripe pattern (replicated as SVG) */
   .faixa-item {
       flex-shrink: 0;
       height: 49px;
       width: 145px;
   }

   .faixa-sm {
       flex-shrink: 0;
       height: 24px;
       width: 55px;
   }

   /* ── Quote ── */
   #quote {
       background: #1c1c1c;
       border-top: 1px solid rgba(255, 255, 255, .05);
       border-bottom: 1px solid rgba(255, 255, 255, .05);
   }

   .quote-inner {
       display: flex;
       flex-direction: column;
       align-items: center;
       justify-content: center;
       padding: 48px 24px;
   }

   @media (min-width: 768px) {
       .quote-inner {
           padding: 80px 56px;
       }
   }

   .quote-tag {
       font-family: 'Montserrat', sans-serif;
       font-weight: 600;
       font-size: 14px;
       color: #cc1a1a;
       text-transform: uppercase;
       letter-spacing: 0.15em;
       margin-bottom: 24px;
       text-align: center;
   }

   .quote-text {
       font-family: 'Montserrat', sans-serif;
       font-style: italic;
       font-weight: 300;
       font-size: clamp(18px, 2.5vw, 28px);
       line-height: 1.55;
       color: #f8f8f8;
       text-align: center;
       max-width: 970px;
   }

   .quote-mark {
       color: #cc1a1a;
       font-weight: 600;
   }

   .quote-strong {
       font-weight: 600;
       color: #f8f8f8;
   }

   /* ── Eixos ── */
   #eixos {
       background: #0a0909;
       padding: 56px 24px;
   }

   @media (min-width: 768px) {
       #eixos {
           padding: 96px 56px;
       }
   }

   .eixos-inner {
       max-width: 1152px;
       margin: 0 auto;
   }

   .eixos-lead {
       text-align: center;
       color: #ececec;
       max-width: 630px;
       margin: 0 auto 16px;
       font-weight: 400;
       font-size: 16px;
       line-height: 1.4;
   }

   .eixos-grid {
       display: flex;
       flex-direction: column;
       gap: 20px;
       margin-top: 64px;
   }

   @media (min-width: 640px) {
       .eixos-grid {
           flex-direction: row;
           gap: 32px;
       }
   }

   .eixo-card {
       background: #121111;
       flex: 1;
       display: flex;
       flex-direction: column;
       align-items: center;
       gap: 20px;
       padding: 32px 20px;
       border-bottom: 2px solid #cc1a1a;
   }

   @media (min-width: 768px) {
       .eixo-card {
           gap: 24px;
           padding: 40px 24px;
       }
   }

   .eixo-badge {
       width: 56px;
       height: 56px;
       border-radius: 50%;
       background: #171616;
       border: 2px solid #262525;
       display: flex;
       align-items: center;
       justify-content: center;
   }

   .eixo-badge span {
       font-family: 'Montserrat', sans-serif;
       font-weight: 700;
       font-size: 24px;
       line-height: 1;
       color: #cc1a1a;
   }

   .eixo-tag {
       color: #cc1a1a;
       letter-spacing: 1.4px;
       font-size: 12px;
       text-transform: uppercase;
       text-align: center;
       font-weight: 700;
   }

   .eixo-title {
       color: #fff;
       letter-spacing: 0.5px;
       text-transform: uppercase;
       text-align: center;
       font-weight: 600;
       font-size: 20px;
       line-height: 1.1;
       font-family: 'Montserrat', sans-serif;
   }

   .eixo-desc {
       color: #949494;
       font-size: 16px;
       line-height: 1.4;
       text-align: center;
   }

   /* ── Professional / Expandable Cards ── */
   #profissional {
       background: #121111;
       padding: 56px 24px;
       border-top: 1px solid rgba(255, 255, 255, .05);
   }

   @media (min-width: 768px) {
       #profissional {
           padding: 96px 56px;
       }
   }

   .prof-inner {
       max-width: 1200px;
       margin: 0 auto;
   }

   .prof-lead {
       color: #ececec;
       max-width: 650px;
       margin: 0 auto;
       font-weight: 400;
       font-size: 16px;
       line-height: 1.5;
       text-align: center;
   }

   .prof-grid {
       display: grid;
       grid-template-columns: 1fr;
       gap: 24px;
       margin-top: 40px;
       grid-template-columns: repeat(4, 1fr);
   }

   @media (max-width: 1024px) {
       .prof-grid {
           grid-template-columns: repeat(2, 2fr);
       }
   }

   @media (max-width: 768px) {
       .prof-grid {
           grid-template-columns: repeat(1, 1fr);
       }
   }

   .exp-card {
       border-left: 4px solid #cc1a1a;
       padding: 24px;
       display: flex;
       flex-direction: column;
       background: #171616;
       overflow: hidden;
       position: relative;
       transition: background-color 0.3s;
       height: fit-content;
   }

   .exp-card-overlay {
       position: absolute;
       inset: 0;
       z-index: 20;
       display: flex;
       align-items: center;
       justify-content: center;
       opacity: 0;
       pointer-events: none;
       background: rgba(10, 9, 9, 0.72);
       backdrop-filter: blur(1px);
       transition: opacity 0.3s;
   }

   .exp-card:hover .exp-card-overlay {
       opacity: 1;
   }

   .lock-icon {
       color: #a0a0a0;
   }

   .tag-row {
       display: flex;
       align-items: center;
       gap: 8px;
       margin-bottom: 16px;
       flex-wrap: wrap;
   }

   .tag-soon {
       background: #2a0e0e;
       color: #cc1a1a;
       padding: 4px 12px;
       font-size: 12px;
       font-weight: 700;
       text-transform: uppercase;
       letter-spacing: 0.1em;
       border-radius: 4px;
       font-family: 'Montserrat', sans-serif;
   }

   .tag-free {
       background: #0d2e13;
       color: #2ecc71;
       padding: 4px 12px;
       font-size: 12px;
       font-weight: 700;
       text-transform: uppercase;
       letter-spacing: 0.1em;
       border-radius: 4px;
       font-family: 'Montserrat', sans-serif;
   }

   .exp-num {
       width: 40px;
       height: 40px;
       border-radius: 50%;
       background: #1c1c1c;
       border: 1px solid #333;
       display: flex;
       align-items: center;
       justify-content: center;
       margin-bottom: 24px;
       color: #cc1a1a;
       font-weight: 700;
       font-family: 'Montserrat', sans-serif;
   }

   .exp-title {
       color: #fff;
       text-transform: uppercase;
       margin-bottom: 12px;
       font-size: 22px;
       font-family: 'Bebas Neue', sans-serif;
       letter-spacing: 0.05em;
       line-height: 1.1;
   }

   .exp-summary {
       color: #949494;
       font-size: 14px;
       line-height: 1.6;
       font-family: 'Montserrat', sans-serif;
       margin-bottom: 24px;
   }

   .exp-toggle {
       display: flex;
       align-items: center;
       gap: 8px;
       color: #cc1a1a;
       font-family: 'Montserrat', sans-serif;
       font-size: 14px;
       font-weight: 600;
       transition: color 0.2s;
       cursor: pointer;
       background: none;
       border: none;
       padding: 0;
   }

   .exp-toggle:hover {
       color: #e01e1e;
   }

   .exp-toggle svg {
       transition: transform 0.3s ease;
   }

   .exp-toggle.open svg {
       transform: rotate(180deg);
   }

   .exp-body {
       overflow: hidden;
       max-height: 0;
       transition: max-height 0.4s ease, opacity 0.3s ease, margin-top 0.3s;
       opacity: 0;
       margin-top: 0;
   }

   .exp-body.open {
       max-height: 600px;
       opacity: 1;
       margin-top: 24px;
   }

   .exp-body-inner {
       padding-top: 24px;
       border-top: 1px solid #2a2a2a;
   }

   .exp-steps {
       display: flex;
       flex-direction: column;
       gap: 16px;
   }

   .exp-step {
       display: flex;
       align-items: flex-start;
       gap: 12px;
   }

   .step-icon {
       color: #cc1a1a;
       flex-shrink: 0;
       margin-top: 2px;
   }

   .step-text {
       color: #ececec;
       font-family: 'Montserrat', sans-serif;
       font-size: 13px;
       line-height: 1.6;
   }

   .exp-sub-title {
       color: #fff;
       font-weight: 600;
       margin-bottom: 16px;
       font-family: 'Montserrat', sans-serif;
       font-size: 13px;
   }

   .exp-sub-section {
       margin-bottom: 0;
   }

   .exp-sub-section+.exp-sub-section {
       margin-top: 24px;
       padding-top: 24px;
       border-top: 1px solid #2a2a2a;
   }

   /* ── Benefícios ── */
   #beneficios {
       background: #0a0909;
       padding: 56px 24px;
       border-top: 1px solid rgba(255, 255, 255, .05);
       border-bottom: 1px solid rgba(255, 255, 255, .05);
   }

   @media (min-width: 768px) {
       #beneficios {
           padding: 96px 56px;
       }
   }

   .beneficios-inner {
       max-width: 1152px;
       margin: 0 auto;
       display: flex;
       flex-direction: column;
       gap: 40px;
       align-items: flex-start;
   }

   @media (min-width: 1024px) {
       .beneficios-inner {
           flex-direction: row;
           gap: 80px;
           align-items: end;
       }
   }

   .beneficios-left {
       width: 100%;
       display: flex;
       flex-direction: column;
       gap: 20px;
   }

   @media (min-width: 1024px) {
       .beneficios-left {
           width: 45%;
       }
   }

   .beneficios-right {
       width: 100%;
       display: flex;
       flex-direction: column;
       gap: 20px;
   }

   @media (min-width: 1024px) {
       .beneficios-right {
           width: 55%;
       }
   }

   .savings-box {
       border: 2px solid #262525;
       padding: 24px;
       background: #121111;
       border-left: 4px solid #cc1a1a;
   }

   .savings-box h4 {
       color: #fff;
       text-transform: uppercase;
       letter-spacing: 1px;
       font-family: 'Bebas Neue', sans-serif;
       font-size: 24px;
       margin-bottom: 16px;
   }

   .savings-box p {
       color: #ececec;
       font-size: 14px;
       line-height: 1.4;
       margin-bottom: 24px;
   }

   .savings-row {
       display: flex;
       align-items: center;
       justify-content: space-between;
   }

   .savings-value {
       color: #cc1a1a;
       font-family: 'Bebas Neue', sans-serif;
       font-size: 40px;
       line-height: 1.1;
       text-decoration: line-through;
   }

   .savings-label {
       color: #ececec;
       text-transform: uppercase;
       letter-spacing: 1px;
       font-family: 'Montserrat', sans-serif;
       font-weight: 500;
       font-size: 16px;
   }

   .atencao-box {
       border-left: 4px solid #cc1a1a;
       padding-left: 24px;
   }

   .atencao-box p {
       color: #fff;
       font-size: 14px;
       line-height: 1.4;
   }

   .benefit-item {
       background: #171616;
       width: 100%;
       border-left: 4px solid #cc1a1a;
       transition: background-color 0.5s, transform 0.5s;
   }

   .benefit-item:hover {
       background: #1c1b1b;
       transform: translateX(4px);
   }

   .benefit-row {
       display: flex;
       align-items: center;
       justify-content: space-between;
       gap: 16px;
       padding: 20px 24px;
   }

   .benefit-label {
       font-family: 'Bebas Neue', sans-serif;
       font-size: 20px;
       color: #fff;
       text-transform: uppercase;
       letter-spacing: 1px;
       line-height: 1.1;
   }

   .benefit-sub {
       color: #ececec;
       font-size: 13px;
       line-height: 1.4;
       margin-top: 4px;
   }

   .benefit-prices {
       display: flex;
       flex-direction: column;
       align-items: flex-end;
       gap: 4px;
   }

   .original-price {
       color: #9b9b9b;
       text-decoration: line-through;
       font-family: 'Bebas Neue', sans-serif;
       font-size: 18px;
       letter-spacing: 1px;
   }

   .original-extra {
       color: #9b9b9b;
       font-family: 'Bebas Neue', sans-serif;
       font-size: 13px;
   }

   .free-price {
       color: #cc1a1a;
       font-family: 'Bebas Neue', sans-serif;
       font-size: 20px;
       text-transform: uppercase;
       white-space: nowrap;
       letter-spacing: 0.6px;
   }

   .zero-box {
       border: 2px solid #262525;
       padding: 24px;
       background: #121111;
       margin-top: 8px;
   }

   .zero-box h4 {
       font-family: 'Bebas Neue', sans-serif;
       font-size: 22px;
       color: #fff;
       text-transform: uppercase;
       letter-spacing: 1px;
       margin-bottom: 12px;
   }

   .zero-box p {
       color: #ececec;
       font-size: 14px;
       line-height: 1.5;
   }

   .zero-row {
       display: flex;
       align-items: center;
       justify-content: space-between;
       border-top: 1px solid rgba(255, 255, 255, .1);
       padding-top: 12px;
       margin-top: 12px;
   }

   .zero-value {
       color: #cc1a1a;
       font-family: 'Bebas Neue', sans-serif;
       font-size: 40px;
       line-height: 1.1;
   }

   .zero-label {
       color: #ececec;
       text-transform: uppercase;
       letter-spacing: 1px;
       font-weight: 500;
       font-size: 16px;
   }

   /* ── Transição ── */
   #transicao {
       background: #0a0909;
       padding: 56px 24px;
       border-top: 1px solid rgba(255, 255, 255, .05);
       border-bottom: 1px solid rgba(255, 255, 255, .05);
   }

   @media (min-width: 768px) {
       #transicao {
           padding: 96px 56px;
       }
   }

   .transicao-inner {
       max-width: 1152px;
       margin: 0 auto;
       display: flex;
       flex-direction: column;
       align-items: center;
       gap: 16px;
   }

   .transicao-lead {
       color: #ececec;
       font-size: 16px;
       line-height: 1.4;
       text-align: center;
       max-width: 580px;
   }

   .transicao-box {
       width: 100%;
       max-width: 896px;
       background: #121111;
       border: 1px solid rgba(255, 255, 255, .1);
       border-top: 4px solid #CC1A1A;
       padding: 24px;
       margin-top: 16px;
       box-shadow: 0 25px 50px -12px rgba(0, 0, 0, .25);
       font-family: Montserrat, sans-serif;
       font-weight: 700;
       font-size: 11px;
       color: #cc1a1a;


   }

   .transicao-tag {
       border-style: solid;
       border-width: 1px;
       border-color: color-mix(in oklab, #cc1a1a 30%, transparent);
       background-color: color-mix(in oklab, #cc1a1a 10%, transparent);
       padding: 6px 12px;
       gap: 8px;
       align-items: center;
       display: inline-flex;
       margin-bottom: 24px;
       outline-color: color-mix(in oklab, var(--ring) 50%, transparent);
       text-transform: uppercase;
   }

   @media (min-width: 640px) {
       .transicao-box {
           padding: 40px;
       }
   }

   @media (min-width: 768px) {
       .transicao-box {
           padding: 48px;
           margin-top: 32px;
       }
   }

   .transicao-p1 {
       color: #fff;
       font-weight: 300;
       line-height: 1.55;
       font-size: clamp(16px, 2vw, 20px);
       margin-bottom: 20px;

   }

   .transicao-p1 strong {
       font-weight: 700;
   }

   .transicao-alert {
       padding: 16px 24px;
       background-color: color-mix(in oklab, #cc1a1a 10%, transparent);
       border-left: 4px solid #cc1a1a;
       gap: 16px;
       align-items: flex-start;
       display: flex;
       color: #cc1a1a;
       font-weight: 700;
       font-size: clamp(14px, 1.8vw, 16px);
       line-height: 1.5;
       text-transform: uppercase;
       letter-spacing: 0.05em;

   }

   .transicao-red {
       color: #cc1a1a;
       font-weight: 700;
       text-transform: uppercase;
       letter-spacing: 0.6px;
   }

   .transicao-divider {
       border-top: 1px solid rgba(255, 255, 255, .1);
       margin: 32px 0 32px;
   }

   .transicao-p2 {
       color: #fff;
       font-weight: 300;
       line-height: 1.65;
       font-size: clamp(15px, 1.8vw, 18px);
   }

   /* ── Legislação ── */
   #legislacao {
       background: #121111;
       padding: 56px 24px;
       border-top: 1px solid #171616;
   }

   @media (min-width: 768px) {
       #legislacao {
           padding: 96px 56px;
       }
   }

   .legis-inner {
       max-width: 1152px;
       margin: 0 auto;
       display: flex;
       flex-direction: column;
       align-items: center;
       gap: 40px;
   }

   @media (min-width: 768px) {
       .legis-inner {
           gap: 64px;
       }
   }

   .legis-lead {
       color: #ececec;
       font-size: 16px;
       line-height: 1.6;
       font-weight: 300;
       text-align: center;
       max-width: 760px;
   }

   .legis-grid {
       display: flex;
       flex-direction: column;
       gap: 32px;
       width: 100%;
       margin-top: 32px;
   }

   @media (min-width: 768px) {
       .legis-grid {
           flex-direction: row;
           margin-top: 48px;
       }
   }

   .legal-card {
       flex: 1;
       display: flex;
       flex-direction: column;
       border-radius: 0 0 8px 8px;
       overflow: hidden;
       border: 1px solid #262525;
       background: #0d0c0c;
       transition: border-color 0.5s, transform 0.5s;
   }

   .legal-card:hover {
       border-color: rgba(204, 26, 26, 0.35);
       transform: translateY(-4px);
   }

   .legal-card-header {
       border-bottom: 1px solid rgba(255, 255, 255, .05);
       padding: 24px;
       display: flex;
       align-items: flex-start;
       justify-content: space-between;
       gap: 16px;
   }

   .legal-tag {
       font-family: 'Bebas Neue', sans-serif;
       font-size: 22px;
       color: #cc1a1a;
       text-transform: uppercase;
       letter-spacing: 0.6px;
   }

   .legal-title {
       font-family: 'Bebas Neue', sans-serif;
       font-size: 18px;
       color: #fff;
       text-transform: uppercase;
       letter-spacing: 0.6px;
       margin-top: 4px;
   }

   .legal-link {
       color: #fff;
       transition: color 0.2s;
       flex-shrink: 0;
   }

   .legal-link:hover {
       color: #cc1a1a;
       transform: scale(1.2);
   }

   .legal-content {
       padding: 24px;
       overflow-y: auto;
       flex: 1;
       max-height: 260px;
   }

   @media (min-width: 768px) {
       .legal-content {
           max-height: 380px;
       }
   }

   .legal-text {
       font-family: 'Montserrat', sans-serif;
       font-weight: 300;
       font-size: 14px;
       line-height: 20px;
       color: #fff;
       display: flex;
       flex-direction: column;
       gap: 12px;
   }

   .legal-text .semi {
       font-weight: 400;
   }

   .legal-text .dim {
       opacity: 0.7;
   }

   /* ── FAQ ── */
   #faq {
       background: #0a0909;
       padding: 56px 16px;
   }

   @media (min-width: 640px) {
       #faq {
           padding: 56px 32px;
       }
   }

   @media (min-width: 768px) {
       #faq {
           padding: 96px 56px;
       }
   }

   .faq-inner {
       max-width: 896px;
       margin: 0 auto;
   }

   .faq-list {
       display: flex;
       flex-direction: column;
       gap: 4px;
       margin-top: 48px;
   }

   .faq-item {
       border-bottom: 1px solid rgba(255, 255, 255, .1);
       overflow: hidden;
   }

   .faq-btn {
       width: 100%;
       display: flex;
       align-items: center;
       justify-content: space-between;
       gap: 12px;
       padding: 16px 16px;
       text-align: left;
       cursor: pointer;
       background: none;
       border: none;
   }

   @media (min-width: 640px) {
       .faq-btn {
           padding: 20px 24px;
       }
   }

   .faq-q {
       color: #fff;
       flex: 1;
       font-family: 'Montserrat', sans-serif;
       font-weight: 600;
       font-size: clamp(14px, 3.8vw, 16px);
       line-height: 1.3;
   }

   .faq-icon {
       flex-shrink: 0;
       transition: transform 0.3s cubic-bezier(.25, .46, .45, .94);
   }

   .faq-icon.open {
       transform: rotate(180deg);
   }

   .faq-body {
       overflow: hidden;
       max-height: 0;
       transition: max-height 0.35s cubic-bezier(.25, .46, .45, .94), opacity 0.3s;
       opacity: 0;
   }

   .faq-body.open {
       max-height: 2000px;
       opacity: 1;
   }

   .faq-answer {
       padding: 0 16px 20px;
       color: #ececec;
       font-family: 'Montserrat', sans-serif;
       font-weight: 400;
       font-size: 15px;
       line-height: 1.6;
       white-space: pre-wrap;
   }

   @media (min-width: 640px) {
       .faq-answer {
           padding: 0 24px 24px;
       }
   }

   /* ── Footer ── */
   footer {
       background: #0a0909;
       border-top: 1px solid #171616;
   }

   .footer-inner {
       background: #121111;
       display: flex;
       flex-direction: column;
       align-items: center;
       gap: 32px;
       padding: 48px 24px;
       text-align: center;
   }

   @media (min-width: 768px) {
       .footer-inner {
           padding: 72px 32px;
       }
   }

   .footer-copy {
       color: #fff;
       font-family: 'Open Sans', sans-serif;
       font-size: 14px;
       font-weight: 400;
   }

   /* ── Center helpers ── */
   .center {
       display: flex;
       flex-direction: column;
       align-items: center;
   }

   .text-center {
       text-align: center;
   }

   .gap-12 {
       gap: 12px;
   }