.dtpcnt{opacity: 0;}

  * { margin: 0; padding: 0; box-sizing: border-box; }
  body { background: #ffffff; color: #1d1d1d; -webkit-text-size-adjust: 100%; }
  a { text-decoration: none; }
  .wrap { max-width: 620px; margin: 0 auto; padding: 0 14px; }
  img { max-width: 100%; height: auto; }

  /* ---------- shared red retro CTA buttons ---------- */
  .rbtn {
    display: block; width: 100%; text-align: center;
    background: #d92b21; background: linear-gradient(#e3382e, #c9241a);
    border: 1px solid #9e150d; border-bottom: 4px solid #8f120b; border-radius: 6px;
    color: #fff !important; font-weight: 700; cursor: pointer;
    padding: 14px 10px; margin: 0 0 10px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.25);
  }
  .rbtn:hover { background: linear-gradient(#c9241a, #b01c13); color: #fff !important; }
  .rbtn:active { border-bottom-width: 1px; margin-top: 3px; }

  /* ================= vc5 fixed control ================= */
  #vc5 { font-family: Verdana, Geneva, sans-serif; }
  .top-rule { height: 5px; background: #14202e; }
  #vc5 h1 {
    font-family: 'Trebuchet MS', 'Arial Black', Verdana, sans-serif; font-weight: 800;
    font-size: clamp(25px, 6.8vw, 36px); line-height: 1.15; text-align: center;
    color: #111; padding: 20px 0 10px;
  }
  .subhead {
    font-family: 'Trebuchet MS', Verdana, sans-serif; font-style: italic; text-align: center;
    font-size: clamp(16px, 4.4vw, 20px); line-height: 1.35; color: #444; padding-bottom: 14px;
  }
  .heroimg { display: block; border: 3px solid #14202e; border-radius: 4px; margin: 0 auto 14px; }
  .tapline { text-align: center; font-size: 15.5px; font-weight: 700; color: #14202e; padding-bottom: 12px; }
  .tapline .arrow { display: block; font-size: 20px; padding-top: 2px; }
  .agebox { border: 2px solid #14202e; border-radius: 8px; background: #f7f6f1;
    box-shadow: 4px 4px 0 #d8d4c8; padding: 16px 14px 8px; margin-bottom: 20px; }
  .agebox h2 { font-family: 'Trebuchet MS', Verdana, sans-serif; text-align: center; font-size: 20px; color: #111; padding-bottom: 10px; }
  .progress { background: #e2ded1; border: 1px solid #c9c4b2; border-radius: 6px; height: 14px; margin-bottom: 4px; overflow: hidden; }
  .progress-fill { width: 50%; height: 100%; border-radius: 5px 0 0 5px;
    background: repeating-linear-gradient(45deg, #2f9e44, #2f9e44 8px, #37b24d 8px, #37b24d 16px);
    transition: width .35s ease; }
  .progress-label { text-align: center; font-size: 11px; color: #8a8574; padding-bottom: 12px; }
  .agegrid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding-bottom: 10px; }
  .agegrid .rbtn { margin: 0; font-size: 17px; padding: 15px 8px; }
  .qfoot { text-align: center; font-size: 11.5px; color: #8a8574; padding: 2px 0 8px; font-style: italic; }
  .secure { text-align: center; font-size: 12px; color: #6f7a86; padding-bottom: 26px; }
  @media (min-width: 480px) { .agegrid { grid-template-columns: 1fr 1fr 1fr; } }

  /* ---------- shared footer ---------- */
  .lp-footer { border-top: 3px solid #14202e; background: #f4f3ee; margin-top: 8px;
    font-family: Verdana, Geneva, sans-serif; }
  .lp-footer .inner { max-width: 620px; margin: 0 auto; padding: 22px 16px 30px; }
  .lp-footer .links { text-align: center; font-size: 13px; padding-bottom: 14px; }
  .lp-footer .links a { color: #37536e; text-decoration: underline; padding: 0 7px; }
  .lp-footer p { font-size: 11px; line-height: 1.6; color: #6d6d66; padding-bottom: 10px; }
  .lp-footer .contact, .lp-footer .copyright { text-align: center; font-size: 11.5px; color: #555550; padding-bottom: 8px; }


[hidden]{display:none!important} button{font-family:inherit} .agegrid button{line-height:1.2}
.agebox{scroll-margin-top:24px}.agebox h2{line-height:1.25}.progress-fill{transition:width .45s ease}
.step-check{width:44px;height:44px;border-radius:50%;background:#e0efdf;color:#287f38;font:700 28px/44px Verdana;text-align:center;margin:2px auto 12px}
#continue-heading{font-size:25px;outline:none}.next-copy{text-align:center;font-size:16px;line-height:1.55;max-width:440px;margin:0 auto 16px;color:#333}
.selected-age{text-align:center;font-size:13px;margin-bottom:18px;color:#555}.selected-age button{border:0;background:transparent;color:#37536e;text-decoration:underline;padding:4px 8px;cursor:pointer}
.next-button{font-size:21px;padding:17px 12px;margin-bottom:12px}.next-note{text-align:center;max-width:440px;margin:0 auto 10px;font-size:12px;line-height:1.6;color:#69685f}
button:focus-visible,a:focus-visible{outline:3px solid #155fa0;outline-offset:3px}.agegrid button.rbtn:active{margin-top:0;border-bottom-width:4px}
@media(prefers-reduced-motion:reduce){.progress-fill{transition:none}}

/* Functional state only; original presentation above is preserved verbatim. */
#continue-step,.complete-progress{display:none}
.agebox:has(input:checked) #age-heading,.agebox:has(input:checked) #age-step,.agebox:has(input:checked) .initial-progress{display:none}
.agebox:has(input:checked) #continue-step{display:block}
.agebox:has(input:checked) .complete-progress{display:inline}
.agebox:has(input:checked) .progress-fill{width:100%}
.agegrid label{position:relative}
.agegrid input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
.agegrid label:has(input:focus-visible){outline:3px solid #155fa0;outline-offset:3px}
.agegrid label.rbtn:active{margin-top:0;border-bottom-width:4px}
#offer-link[aria-disabled="true"]{opacity:.55;cursor:wait}
#connection-fallback,.connection,.fine{text-align:center;max-width:440px;margin:0 auto 10px;font-size:12px;line-height:1.6;color:#69685f}
#connection-fallback a,.fine a{color:#37536e;text-decoration:underline}
.connection:empty{display:none}
