/* ============ SECTION BASICS ============ */
.sec{padding:clamp(70px,9vw,130px) clamp(20px,4.5vw,56px)}
.sec-inner{max-width:1500px;margin:0 auto}
.kicker{font-family:var(--mono);font-size:13px;letter-spacing:.26em;text-transform:uppercase;display:inline-block;border:2px solid currentColor;padding:6px 12px;margin-bottom:22px}
h2{font-family:var(--display);font-weight:800;text-transform:uppercase;line-height:.9;letter-spacing:.005em;font-size:clamp(48px,7vw,108px)}
.sub{font-size:19px;line-height:1.5;max-width:480px;margin-top:20px}

/* scroll reveal: hard + fast */
.rv{opacity:0;transform:translateY(26px)}
.rv.in{animation:rvIn .32s cubic-bezier(.22,1,.36,1) forwards;animation-delay:var(--rd,0ms)}
@keyframes rvIn{to{opacity:1;transform:translateY(0)}}

/* ============ PAY + RECEIPT PRINTER ============ */
.pay-sec{background:var(--white);border-bottom:4px solid var(--ink)}
.pay-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,80px);align-items:start;margin-top:56px}
.demo-phone-wrap{display:flex;justify-content:center}
.demo-phone-wrap .phone{box-shadow:12px 12px 0 var(--green);animation:none;opacity:1}

.printer-col{display:flex;flex-direction:column;align-items:center}
.printer{
  width:min(360px,90vw);background:var(--ink);border:4px solid var(--ink);
  padding:18px 18px 0;position:relative;box-shadow:12px 12px 0 var(--green);
}
.printer-light{position:absolute;right:18px;top:17px;width:12px;height:12px;border-radius:50%;background:var(--stamp)}
.printer-light.on{background:var(--green);animation:blinkLight .3s step-end infinite}
@keyframes blinkLight{50%{opacity:.3}}
.printer-slot{height:10px;background:var(--white);border:2px solid var(--ink);margin:22px -2px 0}
.paper-out{height:480px;overflow:hidden;display:flex;justify-content:center;background:transparent;margin:0 14px}
.receipt{
  width:280px;background:var(--white);font-family:var(--mono);font-size:13.5px;
  padding:20px 20px 8px;color:var(--ink);transform:translateY(-104%);position:relative;
  border-left:2px solid var(--ink);border-right:2px solid var(--ink);
}
.receipt.printing{animation:feed .75s steps(14) forwards}
.receipt.done{transform:translateY(0)}
@keyframes feed{to{transform:translateY(0)}}
.receipt .rc{text-align:center}
.receipt .receipt-disclaimer{margin-top:8px;font-size:11px;letter-spacing:.16em}
.receipt .r-logo{font-family:var(--display);font-weight:800;font-size:30px;text-transform:uppercase;letter-spacing:.04em}
.receipt .r-sub{font-size:11px;letter-spacing:.18em;margin-top:2px}
.receipt hr{border:none;border-top:2px dashed var(--ink);margin:12px 0}
.receipt .row{display:flex;justify-content:space-between;letter-spacing:.02em;padding:2.5px 0}
.receipt .row.big{font-weight:700;font-size:16px}
.receipt .barcode{height:42px;margin:14px 0 6px;background:repeating-linear-gradient(90deg,var(--ink) 0 2px,transparent 2px 4px,var(--ink) 4px 9px,transparent 9px 11px,var(--ink) 11px 12px,transparent 12px 16px)}
.receipt .serial{font-size:10.5px;text-align:center;letter-spacing:.14em}
.r-tear{width:280px;height:12px;background:conic-gradient(from -45deg at 50% 100%,var(--white) 90deg,transparent 0) 0 0/16px 12px;flex-shrink:0}
.stamp{
  position:absolute;top:42%;left:50%;font-family:var(--display);font-weight:800;font-size:44px;
  color:var(--stamp);border:5px solid var(--stamp);padding:2px 16px;text-transform:uppercase;
  letter-spacing:.08em;opacity:0;transform:translate(-50%,-50%) rotate(-12deg) scale(2.4);
  mix-blend-mode:multiply;pointer-events:none;
}
.receipt.stamped .stamp{animation:slam .2s cubic-bezier(.34,1.4,.64,1) forwards}
@keyframes slam{to{opacity:.9;transform:translate(-50%,-50%) rotate(-12deg) scale(1)}}

/* ============ STATS STRIP (odometers) ============ */
.stats{background:var(--green);border-bottom:4px solid var(--ink);padding:clamp(40px,5vw,64px) clamp(20px,4.5vw,56px)}
.stats-inner{max-width:1500px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;text-align:center}
.stat .num{font-family:var(--display);font-weight:800;font-size:clamp(58px,7vw,104px);line-height:1;display:flex;justify-content:center;align-items:baseline}
.stat .lbl{font-family:var(--mono);font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;margin-top:10px}
.od-col{display:inline-block;height:1em;overflow:hidden;vertical-align:bottom}
.od-strip{display:flex;flex-direction:column;transition:transform .75s cubic-bezier(.22,1,.36,1);transition-delay:var(--od,0ms)}
.od-strip span{height:1em;line-height:1}
.stat .unit{color:var(--ink)}
.stat .unit.word{font-size:.58em;margin-left:.1em}

/* ============ CUSTOMER REVIEW WALL ============ */
.reviews-sec{background:var(--white);border-bottom:4px solid var(--ink)}
.reviews-head{display:flex;align-items:end;justify-content:space-between;gap:28px;flex-wrap:wrap}
.reviews-head h2{max-width:820px}
.reviews-head p{max-width:500px;font-size:18px;line-height:1.5}
.reviews-wall{columns:3 280px;column-gap:18px;margin-top:48px}
.review-card{break-inside:avoid;margin:0 0 18px;border:3px solid var(--ink);box-shadow:6px 6px 0 var(--ink);padding:24px;background:var(--white)}
.review-card:nth-child(3n+2){background:var(--green)}
.review-card:nth-child(3n){background:#f3f3f3}
.review-tag{display:inline-block;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;border:2px solid var(--ink);padding:6px 9px}
.review-card blockquote{font-family:var(--display);font-weight:800;font-size:clamp(25px,2.6vw,36px);line-height:1.05;text-transform:uppercase;margin-top:22px}
.review-meta{border-top:2px solid var(--ink);margin-top:24px;padding-top:14px;display:flex;justify-content:space-between;gap:14px;font-size:14px}
.review-meta strong{font-family:var(--display);font-size:17px;text-transform:uppercase}
.review-placeholder{opacity:1}

/* ============ LOAN TYPE SELECTOR ============ */
.loan-options-sec{background:var(--ink);color:var(--white);border-bottom:4px solid var(--ink)}
.loan-options-sec .kicker{color:var(--green);border-color:var(--green)}
.loan-options-intro{max-width:650px;font-size:19px;line-height:1.5;margin-top:20px}
.loan-selector-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr);gap:clamp(30px,5vw,76px);align-items:start;margin-top:54px}
.loan-type-list{display:flex;flex-direction:column;gap:8px}
.loan-type-button{width:100%;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;text-align:left;border:2px solid #5b5b5b;background:transparent;color:var(--white);padding:12px 14px;transition:transform .15s}
.loan-type-button:hover{border-color:var(--green);transform:translateX(3px)}
.loan-type-button.active{background:var(--green);border-color:var(--green);color:var(--ink)}
.loan-type-name{font-family:var(--display);font-weight:800;font-size:20px;text-transform:uppercase;line-height:1}
.loan-type-arrow{font-family:var(--display);font-weight:800;font-size:22px}
.loan-type-detail{background:var(--white);color:var(--ink);border:4px solid var(--white);box-shadow:12px 12px 0 var(--green);padding:clamp(26px,4vw,48px);min-height:520px;display:flex;flex-direction:column}
.loan-type-detail .detail-kicker{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;border-bottom:2px solid var(--ink);padding-bottom:12px}
.loan-type-detail h3{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:clamp(42px,5vw,74px);line-height:.9;margin-top:28px}
.loan-type-detail .detail-summary{font-size:18px;line-height:1.5;margin-top:22px}
.loan-type-detail h4{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:20px;margin-top:28px}
.loan-type-detail ul{list-style:none;margin:12px 0 28px;display:grid;gap:9px}
.loan-type-detail li{font-size:16px;line-height:1.35;padding-left:24px;position:relative}
.loan-type-detail li::before{content:'✓';position:absolute;left:0;font-weight:800;color:var(--green);-webkit-text-stroke:1px var(--ink)}
.loan-type-detail .btn{align-self:flex-start;margin-top:auto;background:var(--green);color:var(--ink)}
.loan-guide-links{display:flex;flex-wrap:wrap;gap:10px 20px;margin-top:42px;padding-top:22px;border-top:2px solid #454545}
.loan-guide-links strong{flex-basis:100%;font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--green)}
.loan-guide-links a{font-family:var(--display);font-weight:800;text-transform:uppercase;border-bottom:2px solid var(--green);padding-bottom:2px}
.loan-guide-links a:hover{color:var(--green)}

/* ============ $TAG PLATE ============ */
.tag-sec{background:var(--green);border-bottom:4px solid var(--ink);text-align:center}
.plate{
  display:inline-block;background:var(--white);border:4px solid var(--ink);box-shadow:10px 10px 0 var(--ink);
  padding:26px 46px 30px;margin-top:46px;transform:rotate(-1deg);
}
.plate .p-serial{font-family:var(--mono);font-size:12px;letter-spacing:.3em;border-bottom:2px solid var(--ink);padding-bottom:8px;margin-bottom:10px}
.plate .p-tag{font-family:var(--display);font-weight:800;font-size:clamp(40px,6.5vw,76px);display:flex;align-items:center;justify-content:center}
.plate .dollar{color:#008a31;-webkit-text-stroke:3px var(--ink)}
.tag-sec .sub{margin-left:auto;margin-right:auto}
.type-cursor{width:5px;height:.85em;background:var(--ink);margin-left:6px;animation:blink 1s step-end infinite}
@keyframes blink{50%{opacity:0}}

.marquee-track,.type-cursor{animation-play-state:paused}
.marquee.is-visible .marquee-track,.tag-sec.is-visible .type-cursor{animation-play-state:running}

/* ============ FINE PRINT / SECURITY ============ */
.fine-sec{background:var(--white);border-bottom:4px solid var(--ink)}
.engrave{height:10px;background:repeating-linear-gradient(90deg,var(--ink) 0 1px,transparent 1px 4px);margin:0 0 8px}
.engrave.b{margin:8px 0 0}
.fine-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:56px;border:3px solid var(--ink)}
.fine{padding:34px 28px;border-right:3px solid var(--ink)}
.fine:last-child{border-right:none}
.fine .f-no{font-family:var(--mono);font-size:12px;letter-spacing:.2em;display:block;margin-bottom:14px}
.fine h3{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:26px;letter-spacing:.02em;margin-bottom:10px}
.fine p{font-size:15.5px;line-height:1.5}
.fine:hover{background:var(--green);transition:background .15s}

/* ============ CTA ============ */
.cta{background:var(--ink);color:var(--white);text-align:center}
.cta h2{font-size:clamp(64px,9vw,144px)}
.cta h2 .fill{color:var(--green);-webkit-text-stroke:0}
.cta h2 .fill.in-fill{color:var(--green)}
.cta .mono-line{font-family:var(--mono);font-size:13px;letter-spacing:.24em;text-transform:uppercase;margin-top:26px;color:var(--green)}
.cta .btn{margin-top:38px;font-size:21px;padding:20px 52px}

footer{background:var(--white);color:var(--ink);border-top:4px solid var(--ink);padding:26px clamp(20px,4.5vw,56px);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:18px}
.footer-logo{display:flex;align-items:center}
.footer-logo img{display:block;width:clamp(180px,20vw,220px);height:auto}
footer .f-note{font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase}
footer .footer-links{display:flex;gap:16px;flex-wrap:wrap;font-family:var(--display);font-weight:800;text-transform:uppercase}
footer .footer-links a:hover{color:var(--green)}
footer .legal-note{flex-basis:100%;font-size:12px;line-height:1.5;max-width:1050px;border-top:2px solid var(--ink);padding-top:16px}

@media (max-width:980px){
  .pay-grid,.loan-selector-grid{grid-template-columns:minmax(0,1fr)}
  .pay-grid>*,.loan-selector-grid>*{min-width:0}
  .stats-inner,.fine-grid{grid-template-columns:1fr}
  .fine{border-right:none;border-bottom:3px solid var(--ink)}
  .fine:last-child{border-bottom:none}
}

@media (max-width:700px){
  .sec{padding:56px 20px 62px}
  .sec-inner{min-width:0}
  section[id],h2{scroll-margin-top:0}
  h2{font-size:clamp(44px,13.5vw,56px);line-height:.92;text-wrap:balance;overflow-wrap:normal}
  .sub{font-size:16px;line-height:1.48;margin-top:18px}

  .rv.in{animation-duration:.28s}
  .pay-grid{gap:46px;margin-top:34px}
  .demo-phone-wrap{width:100%;min-width:0}
  .demo-phone-wrap .phone{width:min(292px,calc(100vw - 54px));border-radius:36px;box-shadow:8px 8px 0 var(--green);padding:9px}
  .demo-phone-wrap .screen{border-radius:26px}
  .printer{width:min(330px,calc(100vw - 40px));padding:15px 14px 0;box-shadow:8px 8px 0 var(--green)}
  .paper-out{height:410px;margin:0 8px}
  .receipt{width:250px;font-size:11.5px;padding:16px 16px 7px}
  .receipt.printing{animation-duration:.7s;animation-timing-function:steps(12)}
  .receipt .r-logo{font-size:25px}
  .receipt .r-sub{font-size:9.5px}
  .receipt .row.big{font-size:14px}
  .receipt .serial{font-size:9px}
  .r-tear{width:250px}
  .stamp{font-size:34px;border-width:4px;padding:2px 11px}

  .stats{padding:38px 20px 32px}
  .stats-inner{gap:0}
  .stat{padding:18px 0 26px;border-bottom:2px solid var(--ink)}
  .stat:last-child{border-bottom:none}
  .stat .num{font-size:68px}
  .stat .lbl{font-size:11px;line-height:1.4;margin-top:8px}
  .od-strip{transition-duration:.62s}

  .reviews-head{display:block}
  .reviews-head p{font-size:16px;line-height:1.48;margin-top:18px}
  .reviews-wall{columns:1;margin-top:32px}
  .review-card{padding:20px;box-shadow:5px 5px 0 var(--ink)}
  .review-card blockquote{font-size:29px;margin-top:18px}
  .review-meta{align-items:flex-end;font-size:13px}

  .loan-options-intro{font-size:16px;line-height:1.5;margin-top:18px}
  .loan-selector-grid{gap:0;margin-top:34px}
  .loan-type-list{gap:7px}
  .loan-type-button{padding:13px 14px;min-height:56px}
  .loan-type-name{font-size:18px;line-height:1.05}
  .loan-type-detail{min-height:0;margin-top:24px;padding:24px 20px 26px;box-shadow:7px 7px 0 var(--green);scroll-margin-top:76px}
  .loan-type-detail h3{font-size:42px;line-height:.92;margin-top:18px}
  .loan-type-detail .detail-summary{font-size:16px;line-height:1.45;margin-top:18px}
  .loan-type-detail h4{margin-top:22px}
  .loan-type-detail li{font-size:15px}
  .loan-type-detail .btn{width:100%;padding:15px 14px;text-align:center;font-size:16px}
  .loan-guide-links{gap:12px 16px;margin-top:32px;padding-top:18px}
  .loan-guide-links a{display:inline-flex;align-items:center;min-height:44px;font-size:16px}

  .plate{display:block;width:calc(100% - 8px);margin:34px auto 0;padding:24px 14px 26px;box-shadow:7px 7px 0 var(--ink)}
  .plate .p-tag{font-size:clamp(48px,16vw,64px);white-space:nowrap}

  .fine-grid{margin-top:34px}
  .fine{padding:25px 20px}
  .fine h3{font-size:25px}
  .fine p{font-size:15px}

  .cta h2{font-size:clamp(48px,14vw,58px);line-height:.92}
  .cta .btn{width:min(100%,320px);padding:17px 18px;font-size:18px;margin-top:30px}

  footer{justify-content:center;text-align:center;padding:28px 20px;gap:20px}
  .footer-logo{justify-content:center;flex-basis:100%;min-height:44px}
  footer .footer-links{justify-content:center;gap:14px 20px;flex-basis:100%}
  footer .footer-links a{display:inline-flex;align-items:center;min-height:44px;padding:0 2px}
  footer .f-note{flex-basis:100%;font-size:10.5px;letter-spacing:.12em}
  footer .legal-note{font-size:11.5px;text-align:left}
}
