@font-face{font-family:'Oswald';src:url(/assets/fonts/oswald-var.woff2) format('woff2');font-weight:500 700;font-display:swap}
@font-face{font-family:'Libre Franklin';src:url(/assets/fonts/librefranklin-var.woff2) format('woff2');font-weight:400 800;font-display:swap}
@font-face{font-family:'Libre Franklin';font-style:italic;src:url(/assets/fonts/librefranklin-italic-var.woff2) format('woff2');font-weight:400 600;font-display:swap}

:root{
  --ink:#111111;--ink-2:#262626;--muted:#4a4a4a;
  --paper:#F3F0E8;--white:#ffffff;
  --yellow:#FFC425;--yellow-2:#F2B400;--yellow-soft:#FFF3CC;
  --red:#B8161C;
  --display:'Oswald','Arial Narrow',Arial,sans-serif;
  --text:'Libre Franklin',Arial,Helvetica,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--text);font-size:17.5px;line-height:1.55}
img{max-width:100%;height:auto;display:block}
p,li{text-wrap:pretty}
h1,h2,h3{text-wrap:balance}
legend{text-wrap:pretty}
a{color:var(--ink);text-decoration-thickness:2px;text-underline-offset:3px}
.wrap{max-width:1160px;margin:0 auto;padding:0 24px}
.narrow>*{max-width:740px}

/* masthead: black bar under a yellow rule, like the spot's end card */
.masthead{background:var(--ink);border-top:6px solid var(--yellow)}
.masthead-row{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:66px}
.brand{display:block;flex:0 1 auto;min-width:0}
.brand img{height:34px;width:auto;max-width:100%}
.tel{flex:0 0 auto;background:var(--yellow);color:var(--ink);font:600 19px/1 var(--display);letter-spacing:.02em;padding:10px 14px;border-radius:3px;text-decoration:none;white-space:nowrap}

/* hero */
.hero{padding:40px 0 56px}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 450px;grid-template-areas:"copy form" "more form";column-gap:60px;align-items:start}
.hero-copy{grid-area:copy}
.form-col{grid-area:form;position:sticky;top:20px}
.hero-more{grid-area:more}
h1{font:700 clamp(36px,5vw,62px)/1.05 var(--display);text-transform:uppercase;letter-spacing:.004em;margin:6px 0 20px}
h1 mark{color:var(--ink);background:linear-gradient(to bottom,transparent 19%,var(--yellow) 19%,var(--yellow) 85%,transparent 85%);-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:0 .08em;margin:0 -.02em}
.lead{font-size:19.5px;line-height:1.5;color:var(--ink-2);max-width:33em;margin:0}
.checks{list-style:none;padding:0;margin:30px 0 30px}
.checks li{position:relative;padding-left:34px;margin:0 0 12px;font-weight:700;font-size:18px;line-height:1.35}
.checks li::before{content:'';position:absolute;left:6px;top:.02em;width:8px;height:16px;border:solid var(--ink);border-width:0 4px 4px 0;transform:rotate(45deg)}
.photo{margin:0;max-width:560px}
.photo img{border:3px solid var(--ink)}
.photo figcaption{font-size:13px;color:#3d3d3d;margin-top:6px}

/* form card: black head + red step tab (the spot's lower third), white body, hard edges */
.card{background:var(--white);border:3px solid var(--ink);position:relative}
.card-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;background:var(--ink);padding:13px 18px 12px}
.card-title{margin:0;color:var(--yellow);font:700 23px/1 var(--display);text-transform:uppercase;letter-spacing:.03em}
.card-step{margin:0;color:#fff;font:500 17px/1 var(--display);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}
.progress{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:16px 20px 0}
.progress span{height:7px;background:#D6D0C2}
.progress span.on{background:var(--yellow)}
.step{border:0;margin:0;padding:20px 20px 22px;min-width:0}
.step[hidden]{display:none}
legend{float:left;width:100%;padding:0;margin:0 0 4px;font:800 21px/1.25 var(--text)}
legend+*{clear:both}
.hint{font-size:15px;line-height:1.45;color:var(--muted);margin:4px 0 14px}
.hint.note{color:var(--ink);background:var(--yellow-soft);padding:8px 10px;margin:8px 0 0}
.tiles{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:1fr;gap:8px}
.tile,.seg label{position:relative;display:block;cursor:pointer}
.tile input,.seg input{position:absolute;opacity:0;width:1px;height:1px}
.tile span{position:relative;display:flex;align-items:center;height:100%;min-height:60px;padding:10px 10px 10px 44px;border:2px solid var(--ink);background:#fff;font-weight:700;font-size:16px;line-height:1.2}
.tile span::before{content:'';position:absolute;left:13px;top:50%;width:18px;height:18px;margin-top:-9px;border:2px solid var(--ink);border-radius:50%;background:#fff}
.tile:hover span,.seg label:hover span{background:var(--yellow-soft)}
.tile input:checked+span,.seg input:checked+span{background:var(--yellow)}
.tile input:checked+span::before{background:var(--ink);box-shadow:inset 0 0 0 3px #fff}
.tile input:focus-visible+span,.seg input:focus-visible+span{outline:3px solid var(--red);outline-offset:2px}
.q{margin:16px 0 0}
.q-label{margin:0 0 6px;font-weight:700;font-size:16px;line-height:1.3}
.seg{display:flex;gap:6px}
.seg label{flex:1 1 0;min-width:0}
.seg span{display:flex;align-items:center;justify-content:center;min-height:46px;padding:6px;text-align:center;border:2px solid var(--ink);background:#fff;font-weight:700;font-size:15.5px;line-height:1.15}
.field{margin:14px 0 0}
.step .field:first-of-type{margin-top:8px}
.field label{display:block;margin:0 0 5px;font-weight:700;font-size:15.5px}
input:not([type=radio]):not([type=checkbox]),select,textarea{width:100%;font:inherit;font-size:17px;line-height:1.3;padding:12px;border:2px solid var(--ink);border-radius:0;background:#fff;color:var(--ink);-webkit-appearance:none;appearance:none}
input[type=date]{min-height:50px}
select{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%23111' stroke-width='2.5'/%3E%3C/svg%3E") no-repeat right 12px center;padding-right:36px}
textarea{resize:vertical;min-height:84px}
input:focus,select:focus,textarea:focus{outline:3px solid var(--yellow);outline-offset:0}
.invalid,.q.invalid .seg span,.tiles.invalid .tile span{border-color:var(--red)!important}
input.invalid,select.invalid,textarea.invalid{background:#FFF6F6}
.err{color:var(--red);font-size:14px;font-weight:700;margin:5px 0 0}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.step .pair .field{margin-top:0}
.nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px}
.step[data-step="1"] .nav .btn{width:100%}
.nav .btn{flex:1}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 22px;background:var(--yellow);color:var(--ink);border:2px solid var(--ink);border-radius:0;font:700 21px/1 var(--display);text-transform:uppercase;letter-spacing:.03em;text-decoration:none;cursor:pointer}
.btn:hover{background:var(--yellow-2)}
.btn:active{transform:translateY(1px)}
.btn[disabled]{opacity:.65;cursor:progress}
.link{background:none;border:0;padding:12px 6px;font:700 15.5px var(--text);color:var(--ink);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.consent{display:grid;grid-template-columns:24px 1fr;gap:10px;align-items:start;margin:18px 0 6px;font-size:14.5px;line-height:1.5;color:var(--ink-2);cursor:pointer}
.consent input{width:22px;height:22px;margin:1px 0 0;accent-color:var(--ink)}
.consent.invalid span{color:var(--red)}
.fine{font-size:14px;color:var(--muted);margin:6px 0 0}
.hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.form-error{margin:0 20px 20px;color:var(--red);font-weight:700;font-size:15px}
.done{padding:24px 20px 26px}
.done:focus{outline:none}
.done-title{margin:0 0 10px;font:700 27px/1.1 var(--display);text-transform:uppercase}
.done p{margin:0 0 14px}
.done .btn{width:100%;margin-top:4px}

/* story */
.story{background:var(--paper);border-top:3px solid var(--ink);padding:52px 0 44px}
h2{font:700 clamp(27px,3.3vw,36px)/1.08 var(--display);text-transform:uppercase;letter-spacing:.005em;margin:44px 0 12px}
.story h2:first-child,.faq h2:first-child{margin-top:0}
.story p{margin:0 0 14px}
.verdict{background:var(--ink);color:#fff;padding:22px 24px 18px;margin:20px 0 10px}
.verdict p{margin:0 0 8px;color:#fff}
.verdict-numbers{font:700 clamp(27px,4vw,40px)/1.1 var(--display);text-transform:uppercase}
.verdict-numbers span{display:block}
.verdict-numbers s{text-decoration-color:var(--red);text-decoration-thickness:5px}
.verdict-numbers strong{color:var(--yellow)}
.verdict .src{font-size:14px;line-height:1.45}
.next-steps{list-style:none;counter-reset:s;padding:0;margin:18px 0 18px}
.next-steps li{counter-increment:s;position:relative;padding-left:48px;margin:0 0 16px}
.next-steps li::before{content:counter(s);position:absolute;left:0;top:-3px;width:34px;height:34px;background:var(--yellow);border:2px solid var(--ink);font:700 19px/30px var(--display);text-align:center}
.bottom-line{font-size:19px;margin-top:26px!important}
.again{margin:20px 0 0}
.again .btn{min-width:300px}

/* faq */
.faq{background:#fff;border-top:3px solid var(--ink);padding:52px 0 60px}
.faq h3{font:800 19px/1.3 var(--text);margin:24px 0 6px;padding-top:22px;border-top:1px solid #DDD8CC}
.faq h2+h3{border-top:0;padding-top:0}
.faq p{margin:0}

/* footer */
.foot{background:var(--ink);color:#fff;border-top:6px solid var(--yellow);padding:36px 0 46px;font-size:13.5px;line-height:1.6}
.foot p{margin:0 0 12px;max-width:62em}
.foot a{color:#fff}
.foot-logo{height:26px;width:auto;margin-bottom:16px}
.foot-links{font-size:15px}
.foot-links a{margin-right:18px}
.foot-links span{white-space:nowrap}

@media (max-width:979px){
  .hero{padding:24px 0 40px}
  .hero-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"copy" "form" "more";column-gap:0}
  .form-col{margin-top:22px;max-width:560px;position:static}
  .hero-more{margin-top:8px}
}
@media (max-width:560px){
  body{font-size:17px}
  .wrap{padding:0 16px}
  .masthead-row{min-height:56px}
  .brand img{height:28px}
  .tel{font-size:17px;padding:9px 11px}
  h1{font-size:clamp(31px,9.4vw,40px);line-height:1.07;margin:2px 0 16px}
  .lead{font-size:17.5px}
  .form-col{margin:20px -16px 0}
  .card{border-left:0;border-right:0}
  .step{padding:18px 16px 20px}
  .progress{padding:14px 16px 0}
  .card-head{padding:12px 16px 11px}
  .card-title{font-size:21px}
  .card-step{font-size:16px}
  legend{font-size:19.5px}
  .tile span{font-size:15.5px;padding-left:40px;min-height:56px}
  .tile span::before{left:11px}
  .seg span{font-size:15px}
  .checks{margin:26px 0 24px}
  .checks li{font-size:17px}
  .again .btn{width:100%;min-width:0}
  .story,.faq{padding:40px 0 44px}
}
@media (max-width:360px){
  .tiles{grid-template-columns:1fr}
  .pair{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* legal pages */
.legal h1{font-size:clamp(32px,4vw,46px);margin:0 0 6px}
.legal .updated{color:var(--muted);font-size:14px;margin:0 0 28px}
.legal h2{font-size:clamp(22px,2.6vw,27px);margin:34px 0 10px}
