/* Generated from docs/frontend-prototype.html — the design of record.
   Regenerate with tools/build-assets.php after changing the prototype. */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500&display=swap');
:root{
  color-scheme:light;
  /* Apple's text ramp: #1d1d1f primary, #424245 secondary, #6e6e73 tertiary */
  --ink:#1D1D1F; --ink-2:#424245; --ink-3:#6E6E73;
  --paper:#FFFFFF; --cream:#F5F5F7; --cream-2:#EDEDF0;
  --card:#FFFFFF; --line:#D2D2D7; --line-2:#C7C7CC; --field:#6E6E73;
  --green:#0E7C48; --green-d:#0A5D36; --green-soft:#EAF4EE; --on-green:#FFFFFF;
  --gold:#F5B82E; --gold-edge:#A87300; --gold-soft:#FDF4DE; --gold-d:#7A5806;
  --red:#A02D1A; --red-soft:#FBEAE6;
  --shadow:0 1px 2px rgba(0,0,0,.04), 0 10px 30px -14px rgba(0,0,0,.16);
  --shadow-lift:0 4px 10px rgba(0,0,0,.06), 0 26px 60px -22px rgba(0,0,0,.28);
  --radius:18px; --pill:980px;
  /* SF on Apple devices, the closest system face everywhere else — exactly apple.com's stack */
  --sans:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Segoe UI",Roboto,
    "Helvetica Neue",Helvetica,Arial,sans-serif;
  --display:var(--sans);
  --mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;
}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);
  font-size:17px;line-height:1.47059;letter-spacing:-.022em}
h1,h2,h3,h4{font-family:var(--display);font-weight:600;margin:0;text-wrap:balance;
  letter-spacing:-.015em;line-height:1.0834}
p{margin:0}
button{font:inherit;color:inherit;cursor:pointer;border:none;background:none}
a{color:var(--green-d)}
:focus-visible{outline:2px solid var(--green);outline-offset:2px;border-radius:4px}
@media (prefers-reduced-motion: reduce){*{animation-duration:.001ms !important;transition-duration:.001ms !important}}

.eyebrow{font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3)}
.num{font-family:var(--mono);font-variant-numeric:tabular-nums}

/* ---------- app rail ---------- */
.rail{position:sticky;top:0;z-index:60;display:flex;align-items:center;gap:18px;padding:10px 22px;
  background:var(--card);border-bottom:1px solid var(--line)}
.logo{display:block;height:46px;width:auto}
.seal{display:flex;align-items:center}
.seal img{display:block;height:34px;width:auto}
.callus[hidden]{display:none}
.callus{display:flex;flex-direction:column;align-items:flex-end;gap:1px;text-decoration:none;margin-left:auto;
  padding:4px 12px;border-radius:12px;line-height:1.15}
.callus:hover{background:var(--cream)}
.callus .lbl{font-size:11.5px;color:var(--ink-3);letter-spacing:-.01em}
.callus .num{font-size:17px;font-weight:700;color:var(--green-d);letter-spacing:-.02em}
@media(max-width:760px){
  .callus .lbl{display:none}
  .callus{padding:4px 6px;flex:none}
  .callus .num{font-size:15px;white-space:nowrap}
}
.sitenav{display:flex;gap:2px;flex-wrap:nowrap;overflow-x:auto}
.sitenav a{display:block;padding:7px 12px;border-radius:8px;font-size:15px;font-weight:400;
  color:var(--ink-2);white-space:nowrap;letter-spacing:-.014em;text-decoration:none}
.sitenav a:hover{background:var(--cream)}
.sitenav a[aria-current="page"]{color:var(--green-d);background:var(--green-soft)}
@media(max-width:1080px){.sitenav{display:none}}
.crumb{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--ink-3);padding:16px 0 0}
.crumb a{color:var(--ink-3);text-decoration:none}
.crumb a:hover{text-decoration:underline}
.crumb span[aria-current]{color:var(--ink-2);font-weight:600}
.rail .brand{display:block;text-decoration:none;color:inherit;flex:none;line-height:0}
.seg{display:flex;gap:2px;background:var(--cream);border:1px solid var(--line);border-radius:var(--pill);padding:2px}
.seg button{padding:4px 14px;border-radius:var(--pill);font-size:13px;font-weight:600;color:var(--ink-3)}
.seg button[aria-pressed="true"]{background:var(--card);color:var(--ink);box-shadow:0 1px 3px rgba(17,17,17,.14)}
.rail .spacer{flex:1}
.railnote{font-family:var(--mono);font-size:11px;color:var(--ink-3)}
@media(max-width:560px){.railnote{display:none}.rail{padding:8px 14px}.rail .brand{font-size:15px}}

/* ---------- generic ---------- */
.chip{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;letter-spacing:.02em;
  padding:3px 9px;border-radius:var(--pill);background:var(--card);border:1px solid var(--line);color:var(--ink-2);white-space:nowrap}
.chip.pass{background:var(--green-soft);color:var(--green-d)}
.chip.fail{background:var(--red-soft);color:var(--red)}
.chip.warn{background:var(--gold-soft);color:var(--gold-d)}
.chip.info{background:var(--card);color:var(--ink-2);border:1px solid var(--line)}
.btn{display:inline-flex;text-decoration:none;align-items:center;justify-content:center;gap:8px;background:var(--green);color:var(--on-green);
  padding:12px 24px;border-radius:var(--pill);font-weight:400;font-size:17px;letter-spacing:-.022em;transition:opacity .15s}
.btn:hover{opacity:.85}
.btn[disabled]{background:var(--cream-2);color:var(--ink-3);cursor:not-allowed;opacity:1}
.btn[disabled]:hover{opacity:1}
.btn.gold{background:var(--gold);color:#3A2A05}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--field)}
.btn.sm{padding:8px 15px;font-size:13.5px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.stack{display:flex;flex-direction:column}
.row{display:flex;align-items:center}
.scroll-x{overflow-x:auto}

/* ---------- consumer ---------- */
.consumer{max-width:880px;margin:0 auto;padding:0 20px 80px}
.consumer.gate{max-width:1120px}
.lp-head{padding:12px 0 0}
.lp-head h1{font-size:clamp(28px,3.4vw,36px);margin-bottom:10px;max-width:26ch;letter-spacing:-.021em;line-height:1.1}
.lp-head .sub{color:var(--ink-2);font-size:19px;letter-spacing:-.022em;max-width:64ch;line-height:1.5}
.vertical-tabs{display:none;gap:6px;margin:13px 0 0;flex-wrap:wrap}
@media(max-width:1080px){.vertical-tabs{display:flex}}
@media(max-width:760px){.vertical-tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch}.vertical-tabs button{flex:none}}
.vertical-tabs button{border:1px solid var(--field);border-radius:var(--pill);padding:6px 14px;font-size:13.5px;font-weight:600;color:var(--ink-2);background:var(--card)}
.vertical-tabs button[aria-pressed="true"]{border-color:var(--green);color:var(--green-d);background:var(--green-soft)}

.field{display:flex;flex-direction:column;gap:7px;margin-bottom:16px}
.field label{font-size:13px;font-weight:600}
input[type=email],input[type=text],input[type=number],select,textarea{
  font:inherit;padding:12px 14px;border:1px solid var(--field);border-radius:10px;background:var(--paper);color:var(--ink);width:100%}
input::placeholder,textarea::placeholder{color:var(--ink-3)}
.opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:7px}
.opt{border:1px solid var(--field);background:var(--card);border-radius:10px;padding:10px 11px;font-size:13.5px;font-weight:600;text-align:center;color:var(--ink)}
.opt[aria-pressed="true"]{border-color:var(--green);background:var(--green-soft);color:var(--green-d);box-shadow:inset 0 0 0 1px var(--green)}
.legal{font-size:12.5px;color:var(--ink-2);line-height:1.5;margin-top:12px}

/* ---------- the lock: blurred page + centred opt-in card ---------- */
.behind{filter:blur(5px);opacity:1;pointer-events:none;user-select:none;-webkit-user-select:none;
  max-height:1750px;overflow:hidden;
  -webkit-mask-image:linear-gradient(to bottom,#000 80%,transparent);mask-image:linear-gradient(to bottom,#000 80%,transparent)}
.behind .offer{margin-bottom:14px}
.shelf{margin-top:14px}
.scrim{position:fixed;inset:0;z-index:61;background:rgba(18,18,20,.52)}
@keyframes nudgeC{0%,100%{transform:translate(-50%,-50%)}
  25%{transform:translate(calc(-50% - 9px),-50%)}75%{transform:translate(calc(-50% + 9px),-50%)}}
@keyframes nudgeM{0%,100%{transform:translate(-50%,0)}
  25%{transform:translate(calc(-50% - 9px),0)}75%{transform:translate(calc(-50% + 9px),0)}}
.unlock.nudge{animation:nudgeC .3s ease-in-out 2}
@media(prefers-reduced-motion:reduce){.unlock.nudge{animation:none}}
.unlock{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:70;
  width:min(480px,calc(100vw - 24px));max-height:calc(100vh - 28px);overflow:auto;
  padding:26px 28px 22px;border-radius:18px;background:var(--card);border:none;
  box-shadow:0 18px 40px rgba(0,0,0,.22), 0 60px 110px -30px rgba(0,0,0,.45)}
.unlock .count{display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  background:var(--green-soft);border:1px solid var(--green);border-radius:9px;
  padding:7px 11px;margin-bottom:12px;font-size:13.5px;font-weight:700;color:var(--green-d)}
.unlock .count .starwrap{font-size:15px}
.unlock .count .sep{color:var(--green);opacity:.55}
.unlock h2{font-size:24px;margin-bottom:16px;color:var(--ink);letter-spacing:-.019em;padding-right:40px}
.unlock .lede{font-size:15.5px;color:var(--ink-2);margin:-4px 0 16px;line-height:1.4}
.unlock .glabel{color:var(--green-d);font-size:15px;font-weight:700;margin:0 0 10px;letter-spacing:-.01em}
.qhead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}
.qnum{font-size:12px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--green-d)}
.qback{font-size:13.5px;font-weight:600;color:var(--ink-2);text-decoration:underline;text-underline-offset:3px}
.bands{display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:7px;margin-bottom:16px}
.bands label{display:block;cursor:pointer;min-width:0}
.bands input[type="radio"]{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.bands span{display:flex;align-items:center;justify-content:center;min-height:48px;border:1px solid var(--field);
  background:var(--card);border-radius:12px;padding:11px 8px;font-size:15px;font-weight:600;
  color:var(--ink);text-align:center;transition:all .15s;letter-spacing:-.015em}
.bands label:hover span{border-color:var(--green);background:var(--green-soft)}
.bands input[type="radio"]:focus-visible + span{outline:2px solid var(--green);outline-offset:2px}
.bands input[type="radio"]:checked + span{border-color:var(--green);background:var(--green);color:var(--on-green)}
.ansnote{display:block;font-size:13.5px;color:var(--ink-2);margin-top:6px}
.glabel.gap{margin-top:16px}
.bands.err span{border-color:var(--red)}
.bands.err input[type="radio"]:checked + span{border-color:var(--green)}
.linkish{font:inherit;color:var(--green-d);text-decoration:underline;text-underline-offset:3px;font-weight:600}
.pair{display:grid;grid-template-columns:1fr 96px;gap:8px;margin-bottom:14px}
.pair input,.pair select{padding:14px;font-size:17px;border-width:1px;letter-spacing:-.022em}
.consent{display:flex;gap:11px;align-items:flex-start;background:var(--card);border:1px solid var(--line);
  border-radius:12px;padding:13px 14px;margin-bottom:14px;cursor:pointer}
.consent:hover{border-color:var(--green)}
.consent input[type="checkbox"]{appearance:none;-webkit-appearance:none;width:21px;height:21px;flex:none;
  margin:1px 0 0;border:1.5px solid var(--ink);border-radius:5px;background:var(--card);cursor:pointer}
.consent input[type="checkbox"]:checked{border-color:var(--green);background-color:var(--green);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m3 8 3 3 7-7' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.consent.err{border-color:var(--red);border-width:1.5px;background:var(--card)}
.errline{margin:-6px 0 12px;font-size:13.5px;font-weight:600;color:var(--red);line-height:1.4}
.bands + .errline{margin:-8px 0 14px}
.consent .box{width:21px;height:21px;border-radius:5px;border:1.5px solid var(--ink);background:var(--card);flex:none;
  display:grid;place-items:center;color:var(--green-d);font-size:13px;font-weight:700;line-height:1;cursor:pointer;margin-top:1px}
.consent .box[aria-checked="true"]{background:var(--green);border-color:var(--green);color:var(--on-green)}
.consent p{font-size:14px;color:var(--ink);line-height:1.42;font-weight:400}
.consent b{font-size:15px;color:var(--ink);font-weight:600}
.unlock .btn{width:100%;padding:15px;font-size:17px;font-weight:500}
.xclose{position:absolute;top:12px;right:12px;width:38px;height:38px;border-radius:50%;
  display:grid;place-items:center;font-size:19px;line-height:1;color:var(--ink-2);
  border:1px solid var(--line);background:var(--card)}
.xclose:hover{background:var(--cream);color:var(--ink)}
.narrowbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  border:1px solid var(--line);border-radius:12px;padding:13px 16px;margin:0 0 16px}
.narrowbar p{font-size:15px;color:var(--ink);line-height:1.4}
.exitwrap{position:fixed;inset:0;z-index:80;background:rgba(16,16,18,.55);display:grid;place-items:center;padding:18px}
.exitcard{background:var(--card);border-radius:20px;padding:24px 24px 20px;width:min(400px,100%);
  box-shadow:0 18px 40px rgba(0,0,0,.22), 0 60px 110px -30px rgba(0,0,0,.45);position:relative}
.exitcard h3{font-size:21px;margin-bottom:6px;letter-spacing:-.018em}
.exitcard .sub{font-size:14.5px;color:var(--ink-2);line-height:1.45;margin-bottom:16px}
.exitcard .who{display:flex;align-items:center;gap:11px;margin-bottom:12px}
.exitcard .who b{font-size:18px}
.exitcard .btn{width:100%;padding:15px;font-size:17px}
.exitcard .no{display:block;width:100%;text-align:center;margin-top:11px;font-size:13.5px;
  color:var(--ink-2);text-decoration:underline;text-underline-offset:3px;background:none;border:none;cursor:pointer}
.exitcard .fine{font-size:12px;color:var(--ink-3);line-height:1.45;margin-top:12px}
.statesel{width:100%;padding:14px;font-size:17px;border:1px solid var(--field);border-radius:12px;
  background:var(--card);color:var(--ink);letter-spacing:-.022em}
input.wide{width:100%;padding:14px;font-size:16px;border:1px solid var(--field);border-radius:12px;
  background:var(--card);color:var(--ink);margin-bottom:14px;
  font-family:Inter,"Helvetica Neue",Arial,sans-serif;letter-spacing:-.006em}
input.wide::placeholder{color:#4E5459;opacity:1;font-family:Inter,"Helvetica Neue",Arial,sans-serif}
input.wide.err,.statesel.err{border-color:var(--red);border-width:1.5px}
input.wide.err:focus-visible,.consent.err:focus-within{outline-color:var(--red)}
.noticebar{border:1px solid var(--gold-edge);border-left-width:4px;border-radius:10px;
  padding:11px 14px;margin-bottom:14px;font-size:14.5px;color:var(--ink);line-height:1.45}
.okline{margin-top:10px;font-size:14px;font-weight:600;color:var(--green-d)}
.unlock .legal{margin-top:14px;font-size:13px;line-height:1.4;color:var(--ink-2)}
@media(max-width:760px){
  /* Phone: the results header stays crisp and above the scrim so it is the first thing read.
     Only the listing is blurred and scaled, because the count and the companies will change
     once they answer. */
  .consumer.gate{overflow-x:clip}
  .behind{max-height:none;width:auto;transform:none;filter:none}
  .behind .disc-top,
  .behind .results-head{display:none}
  .behind .lp-head{position:relative;z-index:62}
  .behind .shelf{width:760px;transform:scale(.513);transform-origin:top left;
    filter:blur(20px) saturate(.85);margin-top:0}
  .behind .lp-head{margin-bottom:0;padding-bottom:0}
  .behind .shelf{margin-top:-4px}
  /* narrower card, centred */
  /* centred on a normal phone; on a short one it stops where the header ends rather than
     riding up over it */
  .unlock{position:fixed;top:max(212px, calc(50vh - 190px));bottom:auto;left:50%;right:auto;
    transform:translate(-50%,0);width:min(318px,calc(100vw - 56px));
    max-height:calc(100vh - 228px);border-radius:20px;padding:16px 15px 14px}
  .unlock.nudge{animation-name:nudgeM}
  .unlock h2{display:block;font-size:19px;line-height:1.18;margin-bottom:11px;padding-right:40px}
  .unlock .lede{font-size:13px;line-height:1.35;margin:0 0 10px;padding-right:36px}
  .unlock .glabel{font-size:15.5px;margin-bottom:7px;line-height:1.25}
  .glabel.gap{margin-top:13px}
  .qhead{margin-bottom:6px}
  .statesel,input.wide{padding:12px;font-size:16.5px;border-radius:11px;
    border-color:var(--ink-3);color:var(--ink)}
  input.wide{margin-bottom:10px}
  .consent{padding:11px 12px;margin-bottom:11px;gap:9px}
  .consent p{font-size:13.5px;line-height:1.4;color:var(--ink)}
  .consent b{font-size:14px}
  .consent .box{width:20px;height:20px}
  .ansnote{font-size:12.5px;margin-top:4px}
  /* ranges go side by side on a phone: three rows become one */
  .bands{grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:9px}
  .bands span{padding:12px 3px;font-size:16px;font-weight:500;color:var(--ink);
    border-color:var(--ink-3);text-align:center;letter-spacing:-.01em;white-space:nowrap}
  .bands.compact{grid-template-columns:repeat(3,1fr)}
  .unlock .legal{margin-top:10px;font-size:12.5px}
  .unlock .btn{padding:14px;font-size:17px}
  .consent p{font-size:14px}
  /* smaller circle, but the tap target stays 44px via the invisible ::before */
  .xclose{top:10px;right:10px;width:32px;height:32px;font-size:17px;border-color:var(--line);color:var(--ink)}
  .xclose::before{content:"";position:absolute;inset:-6px;border-radius:50%}

  /* one flat, properly dark scrim: the white card has to win against it */
  .scrim{background:linear-gradient(to bottom,
    rgba(16,16,18,.44) 0%, rgba(16,16,18,.62) 26%, rgba(16,16,18,.62) 74%, rgba(16,16,18,.40) 100%)}
}
.srcnote{font-size:14px;color:var(--ink-2);line-height:1.45;margin-top:11px;max-width:62ch}

.srcnote b{color:var(--ink);font-weight:700}
.adv{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;
  color:var(--ink-2);border:1px solid var(--field);border-radius:100px;padding:2px 9px}
.addisc b{color:var(--ink)}
.disc-top{display:flex;justify-content:flex-end;padding-top:10px}
.disc-top .addisc{width:100%;max-width:none;margin-bottom:6px}
.disc-top .addisc summary{text-align:right}
.disc-top .discbody{max-width:82ch;margin-left:auto;text-align:left;padding-top:4px}

/* trust strip, curadebt-style */
.trust{display:grid;grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:10px;
  padding:15px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);margin:18px 0}
.trust div{text-align:center}
.trust .p{font-size:13px;font-weight:700;color:var(--ink-2);margin-bottom:3px}
.trust .s{font-size:14px;margin-bottom:3px}
.trust .n{font-family:var(--mono);font-size:15px;font-weight:500}
.trust .c{font-size:12.5px;color:var(--ink-3)}

.standard-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1px;background:var(--line);
  border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin:22px 0}
.standard-strip div{background:var(--card);padding:13px 15px}
.standard-strip .v{font-family:var(--display);font-size:23px;font-weight:600;line-height:1.05;margin-bottom:4px}
.standard-strip .k{font-size:13px;color:var(--ink-3);line-height:1.35}

/* matching */
.matching{padding:44px 24px;text-align:center}
.gated-footer{display:none}
.matching-page-stage{min-height:350px;margin:60px 0 108px;padding:58px 12%;display:flex;
  flex-direction:column;text-align:center}
.matching-page-stage .eyebrow{margin-bottom:24px;color:var(--ink-2)}
.matchline{font-family:var(--mono);font-size:13px;color:var(--ink-2);text-align:left;max-width:430px;margin:0 auto;
  display:flex;flex-direction:column;gap:8px}
.matchline span{opacity:0;animation:fade .35s forwards}
.matchline span:nth-child(2){animation-delay:.34s}
.matchline span:nth-child(3){animation-delay:.68s}
.matchline span:nth-child(4){animation-delay:1.02s}
@keyframes fade{to{opacity:1}}
.bar{height:5px;background:var(--cream-2);border-radius:99px;overflow:hidden;margin:24px auto 0;max-width:430px}
.bar i{display:block;height:100%;background:var(--green);width:0;animation:grow 1.9s ease-out forwards}
@keyframes grow{to{width:100%}}
.matching-page-stage .bar{margin-top:auto;width:100%;max-width:540px}
.is-matching-page .consumer{max-width:1090px;padding-top:0}
.is-matching-page .matching-footer .warnbox{display:none}
@media(max-width:640px){
  .matching-page-stage{min-height:310px;margin:28px 0 60px;padding:40px 24px}
}

/* offer rows */
.results-head{display:flex;align-items:center;justify-content:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:12px}
.sortbar{display:flex;gap:8px;align-items:center}
.sortbar select{width:auto;padding:7px 11px;font-size:13px;border-radius:var(--pill)}
.offer{position:relative;padding:22px 24px;margin-bottom:14px;display:block}
.offer .btn.wide{width:auto;margin:14px 0 0;padding:12px 22px;font-size:16px}
.morelink{display:inline-block;margin-top:14px;font-size:14.5px;font-weight:600;color:var(--green-d);
  text-decoration:underline;text-underline-offset:3px}
.srcline{font-size:11.5px;color:var(--ink-3);line-height:1.45;margin-top:5px}
.ast{color:var(--ink-3);font-weight:600}
.srcline .ast{margin-right:4px}
.bul{margin:14px 0 0;padding-left:20px;display:flex;flex-direction:column;gap:7px;font-size:17px;color:var(--ink-2)}
.bul li::marker{color:var(--green)}
.bullhead{font-size:16.5px;font-weight:700;color:var(--green-d);margin:16px 0 10px;letter-spacing:-.015em}
.bul2{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px 22px}
.bul2 li{display:grid;grid-template-columns:20px 1fr;gap:9px;font-size:15.5px;line-height:1.42;color:var(--ink)}
.bul2 .tick{width:18px;height:18px;border-radius:50%;border:1.5px solid var(--green);color:var(--green-d);
  display:grid;place-items:center;font-size:10px;font-weight:800;line-height:1;margin-top:2px}
@media(max-width:760px){.bul2{grid-template-columns:1fr}}
.pillbtn{font:inherit;font-size:14px;font-weight:600;color:var(--green-d);background:var(--card);
  border:1px solid var(--green);border-radius:var(--pill);padding:9px 18px;cursor:pointer}
.pillbtn:hover{background:var(--green-soft)}
.stars .dot{color:var(--ink-3);margin:0 2px}
.stars .nb{white-space:nowrap}
.offhead{display:flex;align-items:center;gap:12px;flex-wrap:nowrap;margin-bottom:7px}
.offhead h3{min-width:0}
.badgerow{margin:11px 0 0}
.plogo{width:42px;height:42px;border-radius:9px;flex:none;object-fit:contain;background:var(--paper);
  border:1px solid var(--line)}
.plogo.mono{display:grid;place-items:center;font-family:var(--display);font-size:17px;font-weight:600;
  letter-spacing:-.02em;border:none}
/* CSP forbids inline style attributes, so the per-partner hue is a class picked from this fixed
   12-step palette (bucketed from a hash of the partner name) rather than a computed custom property. */
.plogo.mono.h0{color:hsl(0 46% 26%);background:hsl(0 38% 93%)}
.plogo.mono.h1{color:hsl(30 46% 26%);background:hsl(30 38% 93%)}
.plogo.mono.h2{color:hsl(60 46% 26%);background:hsl(60 38% 93%)}
.plogo.mono.h3{color:hsl(90 46% 26%);background:hsl(90 38% 93%)}
.plogo.mono.h4{color:hsl(120 46% 26%);background:hsl(120 38% 93%)}
.plogo.mono.h5{color:hsl(150 46% 26%);background:hsl(150 38% 93%)}
.plogo.mono.h6{color:hsl(180 46% 26%);background:hsl(180 38% 93%)}
.plogo.mono.h7{color:hsl(210 46% 26%);background:hsl(210 38% 93%)}
.plogo.mono.h8{color:hsl(240 46% 26%);background:hsl(240 38% 93%)}
.plogo.mono.h9{color:hsl(270 46% 26%);background:hsl(270 38% 93%)}
.plogo.mono.h10{color:hsl(300 46% 26%);background:hsl(300 38% 93%)}
.plogo.mono.h11{color:hsl(330 46% 26%);background:hsl(330 38% 93%)}
.bestfor{display:inline-block;font-size:13px;font-weight:700;letter-spacing:.01em;color:var(--green-d);
  background:none;border:1.5px solid var(--green-d);border-radius:100px;padding:4px 12px;line-height:1.3}
.specs{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:1px;background:var(--line);
  border:1px solid var(--line);border-radius:10px;overflow:hidden;margin:13px 0 0}
.specs > div{background:var(--card);padding:9px 11px}
.specs dt{font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);margin-bottom:3px}
.specs dd{margin:0;font-size:17px;font-weight:500;color:var(--ink)}
.addisc{background:transparent;border:none;border-bottom:1px solid var(--line);border-radius:0;
  padding:0;margin-bottom:16px;max-width:80ch}
.addisc summary{cursor:pointer;padding:2px 0 10px;display:block;font-size:12.5px;color:var(--ink-2);
  line-height:1.5;list-style:none}
.addisc summary b{font-weight:700}
.addisc summary .disclink{font-weight:700;color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.addisc summary:hover .disclink{color:var(--green-d)}
.addisc summary::-webkit-details-marker{display:none}
.disclabel{font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);
  border:1.5px solid var(--ink);border-radius:4px;padding:2px 7px}
.discshort{font-weight:500}
.discbody{padding:0 0 14px;display:flex;flex-direction:column;gap:9px;font-size:13.5px;line-height:1.55;color:var(--ink)}
.unlock .addisc{margin:10px 0 0;font-size:12.5px;background:transparent;border:none;border-top:1px solid var(--line);border-radius:0}
.unlock .addisc summary{padding:9px 0 0}
.unlock .discbody{padding:8px 0 0}
.unlock .disclabel{font-size:10.5px;padding:2px 6px}
.recap{margin-top:26px;padding:20px 22px;background:var(--card);border:1px solid var(--line);
  border-radius:var(--radius);display:flex;gap:20px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.recap h3{font-size:19px;margin-bottom:5px}
.recap p{font-size:17px;color:var(--ink-2);max-width:52ch}
.warnbox{margin-top:16px;border-left:4px solid var(--gold-edge)}
.warnbox h3{font-size:18px;margin-bottom:9px}
.warnbox ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px;font-size:17px;line-height:1.47}
.warnbox li::marker{color:var(--gold-edge)}
.finenote{margin-top:26px;font-size:14px;color:var(--ink-3);line-height:1.45;max-width:76ch}
.addisc{background:transparent;border:none;border-bottom:1px solid var(--line);border-radius:0;
  padding:0 0 12px;margin-bottom:18px;font-size:14px;line-height:1.45;color:var(--ink-2);max-width:78ch}
.offer h3{font-size:21px;margin-bottom:8px;letter-spacing:-.019em}
.stars{display:flex;align-items:center;gap:8px;font-size:17px;color:var(--ink);flex-wrap:wrap;margin-top:2px}
.stars b.num{font-size:19px}
.starglyphs{font-size:15px}
.starwrap{position:relative;display:inline-block;white-space:nowrap;letter-spacing:2px;line-height:1}
.sback{color:#8A847C}
.sfill{position:absolute;left:0;top:0;overflow:hidden;color:var(--gold);letter-spacing:2px;
  -webkit-text-stroke:.6px var(--gold-edge);paint-order:stroke fill}
.gates{display:flex;flex-wrap:wrap;gap:6px;margin-top:11px}

@media(max-width:640px){.offer{padding:18px 16px}.offer .rank{font-size:22px;width:24px}.srcgrid{max-width:none}}
.offer .why{font-size:12.5px;color:var(--ink-3);text-align:center;line-height:1.35}
.reviewquote{border-left:3px solid var(--gold-edge);padding:8px 0 8px 13px;margin-top:13px;font-size:14.5px;color:var(--ink)}
.reviewquote b{color:var(--ink);font-weight:700}
.reviewquote .fresh{color:var(--green-d);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.excluded{opacity:.8;box-shadow:none}
.excluded-head{margin:30px 0 10px;display:flex;align-items:center;gap:10px}
.excluded-head h4{font-size:16px;font-family:var(--sans);font-weight:700}
.disclosure{margin-top:26px;padding:18px 20px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);font-size:14px;color:var(--ink);line-height:1.55}
.disclosure h4{font-family:var(--sans);font-size:13px;font-weight:700;margin-bottom:7px;color:var(--ink)}

/* clickout + review */
.panel{padding:30px 26px}
.panel h2{font-size:26px;margin-bottom:10px}
.starpick{display:flex;gap:7px;margin:16px 0}
.starpick button{width:46px;height:46px;border:1px solid var(--field);border-radius:10px;font-size:20px;color:var(--ink-3);background:var(--card)}
.starpick button[aria-pressed="true"]{border-color:var(--gold);background:var(--gold-soft);color:var(--gold)}
.timeline{display:flex;flex-direction:column;margin:18px 0}
.tl{display:grid;grid-template-columns:80px 1fr;gap:14px;padding:11px 0;border-top:1px solid var(--line)}
.tl .when{font-family:var(--mono);font-size:12.5px;color:var(--ink-3);padding-top:2px}
.tl .what{font-size:14px;color:var(--ink)}
.tl .what b{display:block;font-size:14px;margin-bottom:2px;color:var(--ink)}

/* ---------- admin ---------- */
.admin{display:grid;grid-template-columns:218px 1fr;min-height:calc(100vh - 47px)}
.nav{border-right:1px solid var(--line);background:var(--cream);padding:16px 10px;display:flex;flex-direction:column;gap:2px}
.nav .grp{padding:14px 10px 5px;font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3)}
.nav button{display:flex;justify-content:space-between;align-items:center;gap:8px;text-align:left;padding:9px 11px;border-radius:8px;font-size:14px;font-weight:500;color:var(--ink-2)}
.nav button[aria-pressed="true"]{background:var(--card);color:var(--green-d);font-weight:700;box-shadow:0 1px 2px rgba(17,17,17,.08)}
.nav .badge{font-family:var(--mono);font-size:10px;background:var(--red);color:#fff;border-radius:99px;padding:1px 6px}
.pane{padding:26px 28px 70px;max-width:1180px}
.pane-head{margin-bottom:20px}
.pane-head h2{font-size:27px;margin-bottom:6px}
.pane-head p{color:var(--ink);font-size:15px;max-width:72ch;line-height:1.5}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:12px;margin-bottom:22px}
.kpi{padding:15px 16px}
.kpi .k{font-size:13px;color:var(--ink-3);margin-bottom:6px;font-weight:500}
.kpi .v{font-family:var(--display);font-size:29px;font-weight:600;line-height:1;font-variant-numeric:tabular-nums}
.kpi .d{font-size:12px;margin-top:6px;font-family:var(--mono)}
.kpi .d.up{color:var(--green-d)} .kpi .d.dn{color:var(--red)}
.spark{margin-top:9px;display:block;width:100%;height:30px}
table{width:100%;border-collapse:collapse;font-size:14px}
th{text-align:left;font-size:11.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);
  padding:10px;border-bottom:1px solid var(--line);white-space:nowrap;background:var(--cream)}
td{padding:11px 10px;border-bottom:1px solid var(--line);vertical-align:middle}
tr:last-child td{border-bottom:none}
td.n{font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap}
.tbl{overflow:hidden}
.section{margin-bottom:26px}
.section > h3{font-size:18px;margin-bottom:5px}
.section > .lede{font-size:14.5px;color:var(--ink-2);font-weight:450;margin-bottom:12px;max-width:74ch}
.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
@media(max-width:900px){.two{grid-template-columns:1fr}.admin{grid-template-columns:1fr}.nav{flex-direction:row;overflow-x:auto;border-right:none;border-bottom:1px solid var(--line)}.nav .grp{display:none}}
.ctl{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}
.ctl:last-child{border-bottom:none}
.ctl .lab{font-size:13.5px;font-weight:600}
.ctl .sub{font-size:13px;color:var(--ink-3)}
input[type=range]{width:150px;accent-color:var(--green)}
.pad{padding:16px 18px}
.logline{font-family:var(--mono);font-size:12.5px;padding:6px 10px;border-bottom:1px solid var(--line);display:flex;gap:10px;white-space:nowrap}
.logline:last-child{border-bottom:none}
.logwrap{max-height:250px;overflow:auto}
.code{font-family:var(--mono);font-size:12.5px;background:var(--cream);border:1px solid var(--line);border-radius:10px;padding:12px 13px;
  overflow-x:auto;white-space:pre;color:var(--ink-2)}
.tag{font-family:var(--mono);font-size:12px;color:var(--green-d);background:var(--green-soft);padding:2px 7px;border-radius:var(--pill)}
.flow{display:flex;align-items:stretch;overflow-x:auto;padding-bottom:4px}
.flow .node{min-width:160px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--card);flex:none}
.flow .node .t{font-size:12.5px;font-weight:700;margin-bottom:3px}
.flow .node .d{font-size:12.5px;color:var(--ink-3);line-height:1.4}
.flow .arrow{flex:none;align-self:center;padding:0 9px;color:var(--ink-3);font-family:var(--mono)}
.seq{display:grid;grid-template-columns:66px 1fr auto;gap:14px;padding:14px 0;border-bottom:1px solid var(--line);align-items:start}
.seq:last-child{border-bottom:none}
.seq .day{font-family:var(--mono);font-size:12.5px;color:var(--ink-3);padding-top:3px}
.seq .subj{font-size:14.5px;font-weight:600;margin-bottom:2px}
.seq .body{font-size:13.5px;color:var(--ink-3)}
.seq .st{display:flex;gap:12px;font-family:var(--mono);font-size:11.5px;color:var(--ink-2);white-space:nowrap;padding-top:3px}
.modrow{display:grid;grid-template-columns:1fr auto;gap:14px;padding:13px 0;border-bottom:1px solid var(--line);align-items:start}
.modrow:last-child{border-bottom:none}
.tick{width:30px;height:30px;border-radius:7px;border:1.5px solid var(--field);background:var(--card);
  color:var(--on-green);font-size:15px;font-weight:700;line-height:1}
.tick[aria-pressed="true"]{background:var(--green);border-color:var(--green)}
.toggle{width:40px;height:23px;border-radius:99px;background:var(--field);position:relative;transition:background .15s;flex:none}
.toggle[aria-pressed="true"]{background:var(--green)}
.toggle i{position:absolute;top:2px;left:2px;width:19px;height:19px;border-radius:99px;background:#fff;transition:transform .15s}
.toggle[aria-pressed="true"] i{transform:translateX(17px)}
.note{font-size:13.5px;color:var(--ink);background:var(--cream-2);border-radius:10px;padding:11px 13px;margin-top:10px;line-height:1.5}
.note b{color:var(--ink)}
.drawer{position:fixed;inset:0;background:rgba(17,17,17,.42);z-index:80;display:flex;justify-content:flex-end}
.drawer .inner{width:min(520px,100%);background:var(--card);height:100%;overflow:auto;padding:24px;border-left:1px solid var(--line)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}

/* ---------- site footer ---------- */
.sitefoot{margin-top:88px;border-top:1px solid var(--line);padding:34px 0 60px}
.footnav{display:grid;grid-template-columns:repeat(4,1fr);gap:28px 24px;padding-bottom:28px;
  border-bottom:1px solid var(--line)}
.footnav h4{font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:var(--ink-3);margin:0 0 12px}
.footnav a{display:block;font-size:14.5px;color:var(--ink);text-decoration:none;
  margin-bottom:9px;line-height:1.35}
.footnav a:hover{text-decoration:underline;text-underline-offset:3px}
.footnav .addr{font-size:14.5px;color:var(--ink-2);line-height:1.5;margin-bottom:12px}
.footlegal{padding-top:24px;display:flex;flex-direction:column;gap:12px;max-width:96ch}
.footlegal p{font-size:13px;line-height:1.55;color:var(--ink-2)}
.footlegal b{color:var(--ink)}
.footlegal .lic{color:var(--ink-3)}
.footlegal .cright{color:var(--ink-3);padding-top:6px}
@media(max-width:760px){
  .sitefoot{margin-top:56px;padding:28px 0 48px}
  .footnav{grid-template-columns:1fr 1fr;gap:22px 18px}
  .footlegal p{font-size:12.5px}
}

/* ---------- phone: compress the results header so the first company is above the fold ---------- */
@media(max-width:760px){
  .consumer .crumb{margin-bottom:2px}
  .consumer .addisc summary{font-size:12px;padding:2px 0 8px;line-height:1.45}
  .consumer .addisc{margin-bottom:10px}
  .consumer .lp-head{padding:2px 0 0}
  .behind .lp-head{filter:blur(1.6px);opacity:.9}
  .behind .lp-head .sub{margin-bottom:0}
  .consumer .lp-head h1{font-size:25px;margin-bottom:4px;line-height:1.1}
  .consumer .lp-head .sub{font-size:15px;line-height:1.35}
  .consumer .results-head{flex-wrap:nowrap;justify-content:space-between;margin:10px 0 8px;gap:8px}
  .consumer .results-head .pillbtn{padding:8px 12px;font-size:13px;white-space:nowrap}
  .consumer .sortbar{gap:6px;flex:none}
  .consumer .sortbar .eyebrow{font-size:11px}
  .consumer .sortbar select{padding:6px 9px;font-size:12.5px}
  /* card, restacked for a phone: identity block, then sections split by hairlines */
  .consumer .offer{padding:20px 17px;margin-bottom:14px}
  .consumer .offhead{display:flex;align-items:center;gap:12px;flex-wrap:nowrap;margin-bottom:6px}
  .consumer .offhead .plogo{width:46px;height:46px;border-radius:10px;margin-bottom:0;flex:none}
  .consumer .offhead .plogo.mono{font-size:17px}
  .consumer .offer h3{font-size:21px;margin:0 0 8px;line-height:1.15;letter-spacing:-.02em}
  .consumer .offhead:not(:has(.plogo)){margin-bottom:7px}
  .consumer .stars{font-size:15.5px;gap:6px;padding-bottom:15px;border-bottom:1px solid var(--line)}
  .consumer .stars .starglyphs{font-size:14px}
  .consumer .bullhead{font-size:16px;margin:16px 0 10px}
  .consumer .bul2{gap:11px}
  .consumer .bul2 li{font-size:15px}
  /* specs lose their box: labels and values on open ground, one hairline above */
  .consumer .specs{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px;background:none;
    border:none;border-top:1px solid var(--line);border-radius:0;padding-top:15px;margin-top:15px}
  .consumer .specs > div{background:none;padding:0}
  .consumer .specs dd{font-size:16px}
  .consumer .srcnote{margin-top:14px;font-size:12.5px;max-width:none}
  .consumer .offer .btn.wide{margin-top:13px;padding:12px 20px;font-size:15.5px}
  .consumer .morelink{font-size:14px}

  /* ...but not inside the blurred preview, which stays in its desktop form */
  .consumer .behind .offer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;
    align-items:center;padding:20px 22px;margin-bottom:12px}
  .consumer .behind .offhead{display:flex;align-items:center;gap:11px;margin-bottom:7px}
  .consumer .behind .offhead .plogo{width:42px;height:42px;margin-bottom:0}
  .consumer .behind .offer h3{font-size:21px;margin:0}
  .consumer .behind .stars{border-bottom:none;padding-bottom:0;font-size:17px}
  .consumer .behind .bul2{grid-template-columns:1fr 1fr;gap:8px 22px}
  .consumer .behind .specs{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;
    background:var(--line);border:1px solid var(--line);border-radius:10px;padding-top:0;
    margin:13px 0 0;border-top:1px solid var(--line)}
  .consumer .behind .specs > div{background:var(--card);padding:9px 11px}

  .consumer .behind .results-head{flex-wrap:nowrap}
}
/* very narrow phones: keep the row on one line by hiding the visible sort label
   (still announced to screen readers) */
@media(max-width:380px){
  .consumer .sortbar .eyebrow{position:absolute;width:1px;height:1px;padding:0;margin:-1px;
    overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
  .consumer .results-head .pillbtn{padding:8px 10px;font-size:12.5px}
  .consumer .sortbar select{max-width:150px}
}
/* short phones: give the card the room it needs by trimming the header behind it */
@media(max-width:760px) and (max-height:700px){
  /* keep the title; buy the room from the header behind and from spacing instead */
  .unlock h2{font-size:17.5px;margin-bottom:8px}
  .consumer .behind .lp-head .sub{display:none}
  .consumer .behind .lp-head h1{font-size:22px}
  .unlock{top:172px !important;max-height:calc(100vh - 188px)}
  .unlock .glabel{font-size:14.5px;margin-bottom:5px}
  .glabel.gap{margin-top:9px}
  .bands span{padding:10px 3px;font-size:15.5px}
  .bands{margin-bottom:8px}
  .statesel,input.wide{padding:10px 12px}
  input.wide{margin-bottom:8px}
  .consent{padding:9px 10px;margin-bottom:8px}
  .consent p{font-size:12.5px}
  .unlock .btn{padding:12px;font-size:16.5px}
}
/* below ~340px let it wrap rather than overflow */
@media(max-width:340px){
  .consumer .results-head{flex-wrap:wrap;justify-content:flex-start}
}
/* the header carries a logo, nav, phone and the prototype switch — it wraps on any phone */
@media(max-width:760px){
  .rail{flex-wrap:wrap;gap:8px 10px;padding:8px 12px}
  .rail .logo{height:34px}
  .rail .spacer{display:none}
  .callus{margin-left:auto}
  .seg button{padding:6px 10px;font-size:12px}
  #railnote{display:none}
}
@media(max-width:380px){
  .callus .num{font-size:14px}
}

/* ---------- final mobile gate layout ---------- */
@media(max-width:760px){
  body.is-gated{overflow:hidden}
  .rail{flex-wrap:nowrap;min-height:58px;padding:7px 10px;gap:8px}
  .rail .brand{min-width:0}
  .rail .logo{height:38px;max-width:145px}
  .callus{min-width:0;padding:4px 2px}
  .callus .num{font-size:14px;white-space:nowrap}

  .consumer,.consumer.gate{padding-left:10px;padding-right:10px;padding-bottom:42px}
  .consumer .behind .lp-head{padding-top:20px}

  .unlock,
  .unlock.nudge{
    --gate-top:clamp(185px,26vh,215px);
    --gate-top:clamp(185px,26dvh,215px);
    top:var(--gate-top) !important;
    left:50%;
    bottom:auto;
    transform:translate(-50%,0);
    width:calc(100vw - 24px);
    max-width:420px;
    max-height:none;
    overflow:visible;
    padding:20px 18px 17px;
    border-radius:18px;
  }
  .unlock.nudge{animation-name:nudgeM}
  .unlock h2{font-size:20px;line-height:1.2;margin-bottom:12px;padding-right:38px}
  .unlock .glabel{font-size:15px;line-height:1.3;margin-bottom:7px}
  .glabel.gap{margin-top:12px}
  .statesel,input.wide{min-height:50px;padding:11px 12px;font-size:16px}
  input.wide{margin-bottom:10px}
  .consent{padding:11px 12px;gap:9px;margin-bottom:11px}
  .consent input[type="checkbox"]{width:21px;height:21px}
  .consent p{font-size:13.5px;line-height:1.38}
  .consent b{font-size:14px}
  .unlock .btn{min-height:52px;padding:12px 14px;font-size:16px}
  .xclose{top:10px;right:10px}
}

@media(max-width:420px){
  .bands{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:10px}
  .bands span{min-height:48px;padding:9px 4px;font-size:15px;line-height:1.2;white-space:nowrap}
}

@media(max-width:350px){
  .rail .logo{height:34px;max-width:125px}
  .callus .num{font-size:13px}
  .unlock,.unlock.nudge{width:calc(100vw - 20px);padding:16px 12px 13px}
  .bands{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bands span{white-space:normal}
}

@media(max-width:760px) and (max-height:700px){
  .unlock,.unlock.nudge{
    --gate-top:108px;
    width:calc(100vw - 20px);
    padding:15px 16px 13px;
  }
  .unlock h2{font-size:19px;margin-bottom:8px}
  .unlock .glabel{font-size:14.5px;margin-bottom:5px}
  .glabel.gap{margin-top:8px}
  .bands{gap:6px;margin-bottom:7px}
  .bands span{min-height:44px;padding-top:7px;padding-bottom:7px;font-size:14.5px}
  .statesel,input.wide{min-height:46px;padding:9px 11px;font-size:15.5px}
  input.wide{margin-bottom:7px}
  .consent{padding:9px 10px;margin-bottom:8px}
  .consent p{font-size:13px;line-height:1.35}
  .unlock .btn{min-height:48px;padding:10px 12px;font-size:15.5px}
}
