/* TWG CarBuyers demo. Paper, ink, one hi-vis accent. */
:root{
  --paper:#f4f1ea; --paper-2:#ebe6db; --ink:#15171b; --ink-2:#4a4e57; --line:#d9d3c6;
  --yellow:#ffd100; --yellow-d:#e6bb00; --green:#177245; --red:#b3261e; --white:#fff;
  --font:"Archivo","Helvetica Neue",Arial,sans-serif;
  --wrap:1180px; --r:6px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:17px;line-height:1.5;font-variation-settings:"wdth" 100}
img{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3{margin:0;font-variation-settings:"wdth" 108;letter-spacing:-.02em;line-height:1.02}
h1{font-size:clamp(40px,6.2vw,76px);font-weight:800}
h2{font-size:clamp(30px,3.8vw,46px);font-weight:800}
h3{font-size:20px;font-weight:700;letter-spacing:-.01em}
p{margin:0}
.wrap{width:min(var(--wrap),calc(100% - 32px));margin:0 auto}
.eyebrow{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-2);margin-bottom:12px}
.sub{max-width:62ch;color:var(--ink-2);margin-top:14px;font-size:18px}
.sec-head{margin-bottom:36px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:2px solid var(--ink);border-radius:var(--r);padding:14px 22px;font:inherit;font-weight:700;font-size:17px;cursor:pointer;text-decoration:none;line-height:1.1;transition:transform .06s ease,background .15s;width:100%}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--yellow);color:var(--ink)}
.btn-primary:hover{background:var(--yellow-d)}
.btn-ghost{background:transparent;color:var(--ink)}
.btn-ghost:hover{background:var(--paper-2)}
.btn-big{padding:18px 26px;font-size:19px}
.btn[disabled]{opacity:.6;cursor:wait}
.btn .btn-busy{display:none}
.btn.is-busy .btn-txt{display:none}
.btn.is-busy .btn-busy{display:inline}
.linkbtn{background:none;border:0;padding:0;font:inherit;color:var(--ink);text-decoration:underline;text-underline-offset:3px;cursor:pointer}

/* header */
.top{background:var(--ink);color:var(--paper);position:sticky;top:0;z-index:20}
.top-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;height:64px}
.brand{display:inline-flex;align-items:baseline;gap:6px;text-decoration:none;font-weight:800;font-size:22px;letter-spacing:-.02em;font-variation-settings:"wdth" 112}
.brand-mark{background:var(--yellow);color:var(--ink);padding:2px 7px;border-radius:3px;font-size:16px;letter-spacing:.04em;align-self:center}
.top-nav{display:flex;gap:26px;font-size:15px;font-weight:600}
.top-nav a{text-decoration:none;opacity:.85}
.top-nav a:hover{opacity:1;text-decoration:underline;text-underline-offset:4px}
.top-right{display:flex;align-items:center;gap:20px;font-size:15px}
.open-now{display:inline-flex;align-items:center;gap:8px;opacity:.85}
.open-now i{width:8px;height:8px;border-radius:50%;background:#3ddc84;box-shadow:0 0 0 3px rgba(61,220,132,.25)}
.phone{font-weight:800;text-decoration:none;font-size:18px;letter-spacing:-.01em;white-space:nowrap}

/* hero */
.hero{position:relative;color:var(--paper);overflow:hidden;background:#1d2126}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 0%}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,17,20,.92) 0%,rgba(15,17,20,.78) 38%,rgba(15,17,20,.35) 70%,rgba(15,17,20,.15) 100%)}
.hero-inner{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;padding:72px 0 80px}
.hero-copy .eyebrow{color:var(--yellow)}
.lede{font-size:20px;max-width:46ch;margin-top:22px;color:rgba(244,241,234,.9)}
.hero-ticks{list-style:none;margin:28px 0 0;padding:0;display:flex;flex-direction:column;gap:10px;font-weight:600}
.hero-ticks li{padding-left:30px;position:relative}
.hero-ticks li::before{content:"";position:absolute;left:0;top:3px;width:18px;height:18px;border-radius:50%;background:var(--yellow);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2315171b' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7'/%3E%3C/svg%3E");background-size:12px;background-position:center;background-repeat:no-repeat}

/* the card */
.card{background:var(--white);color:var(--ink);border-radius:10px;padding:26px 26px 22px;box-shadow:0 30px 60px -20px rgba(0,0,0,.55);max-width:460px;justify-self:end;width:100%}
.card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}
.card-kicker{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);margin-bottom:4px}
.card h2{font-size:26px}
.steps{display:flex;gap:5px;margin-top:6px}
.steps b{width:22px;height:5px;border-radius:3px;background:var(--line)}
.steps b.on{background:var(--yellow)}
.steps b.done{background:var(--ink)}
.step{display:none;flex-direction:column;gap:14px}
.step.is-on{display:flex}
label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:700}
label .opt{font-weight:400;color:var(--ink-2)}
input[type=text],input[type=tel],select{font:inherit;font-size:17px;font-weight:500;padding:12px 14px;border:2px solid var(--line);border-radius:var(--r);background:var(--white);color:var(--ink);width:100%;outline:none}
input:focus,select:focus{border-color:var(--ink)}
input.is-bad{border-color:var(--red)}
input.rego{font-size:24px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;font-variation-settings:"wdth" 110}
select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2315171b' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px;padding-right:36px}
.rego-row{display:grid;grid-template-columns:1fr 110px;gap:10px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.err{color:var(--red);font-size:14px;font-weight:600;min-height:0;display:none}
.err.is-on{display:block}
.fine{font-size:13px;color:var(--ink-2);line-height:1.45}
.chips{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}
.chips legend{font-size:14px;font-weight:700;margin-bottom:8px;padding:0}
.chips label{flex-direction:row;cursor:pointer}
.chips input{position:absolute;opacity:0;pointer-events:none}
.chips span{display:inline-block;padding:9px 14px;border:2px solid var(--line);border-radius:999px;font-size:15px;font-weight:600}
.chips input:checked+span{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.chips input:focus-visible+span{outline:2px solid var(--yellow);outline-offset:2px}

.vehicle{background:var(--paper);border-radius:8px;padding:16px 18px;display:grid;gap:4px}
.vehicle-plate{display:inline-block;justify-self:start;background:var(--white);border:2px solid var(--ink);border-radius:4px;padding:2px 10px;font-weight:800;letter-spacing:.14em;font-size:15px;margin-bottom:6px}
.vehicle-name{font-size:20px;font-weight:800;letter-spacing:-.01em}
.vehicle-meta{color:var(--ink-2);font-size:14px}
.vehicle .linkbtn{justify-self:start;font-size:13px;margin-top:6px}

.offer-for{font-size:15px;color:var(--ink-2);font-weight:600}
.offer-amount{font-weight:900;font-size:66px;letter-spacing:-.04em;line-height:1;font-variation-settings:"wdth" 110;display:flex;align-items:flex-start;gap:4px;margin:-4px 0 4px}
.offer-amount .cur{font-size:30px;margin-top:8px;font-weight:700}
.offer-terms{font-size:15px;color:var(--ink-2)}

.sent-head{display:flex;gap:14px;align-items:flex-start}
.sent-head h3{font-size:19px}
.sent-head p{font-size:15px;color:var(--ink-2);margin-top:4px}
.tick{flex:none;width:34px;height:34px;border-radius:50%;background:var(--green);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7'/%3E%3C/svg%3E");background-size:18px;background-position:center;background-repeat:no-repeat}
.sms{background:var(--paper);border-radius:12px;padding:12px 14px;display:grid;gap:4px}
.sms-from{font-size:12px;font-weight:700;color:var(--ink-2)}
.sms-bubble{background:#e9e9eb;color:#111;border-radius:16px;border-bottom-left-radius:4px;padding:10px 12px;font-size:14px;line-height:1.4;word-break:break-word;font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif}
.sms-time{font-size:11px;color:var(--ink-2)}
.next{margin:4px 0 0;padding-left:20px;display:grid;gap:8px;font-size:14px;color:var(--ink-2)}
.next b{color:var(--ink);display:block}

/* proof bar */
.proof{background:var(--yellow);color:var(--ink)}
.proof-inner{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:22px 0}
.proof div{display:flex;flex-direction:column;line-height:1.15}
.proof b{font-size:26px;font-weight:900;letter-spacing:-.02em;font-variation-settings:"wdth" 110}
.proof span{font-size:14px;font-weight:600;opacity:.85}

/* how */
.how{padding:90px 0}
.timeline{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,1fr);gap:0;border-top:3px solid var(--ink)}
.timeline li{padding:26px 22px 0 0;position:relative}
.timeline li::before{content:"";position:absolute;left:0;top:-3px;width:14px;height:14px;background:var(--ink);border-radius:50%;transform:translateY(-50%)}
.timeline li:nth-child(4)::before,.timeline li:nth-child(5)::before{background:var(--green)}
.timeline li.then{border-left:2px dashed var(--line);padding-left:22px}
.timeline li.then::before{left:22px;background:var(--yellow);border:3px solid var(--ink);width:10px;height:10px}
.timeline li.then .t{font-size:22px;text-transform:uppercase;letter-spacing:.06em;font-variation-settings:"wdth" 100;margin-top:4px}
.timeline .t{display:inline-block;font-weight:900;font-size:28px;letter-spacing:-.03em;font-variation-settings:"wdth" 112;margin-bottom:10px}
.timeline h3{font-size:18px;margin-bottom:8px}
.timeline p{color:var(--ink-2);font-size:15px}
.how-cta{margin-top:48px;display:flex;align-items:center;gap:18px;font-weight:600;color:var(--ink-2)}
.how-cta .btn{width:auto;min-width:220px}

/* trust */
.trust{background:var(--ink);color:var(--paper);padding:90px 0}
.trust .eyebrow{color:var(--yellow)}
.trust-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:64px;align-items:start}
.trust-copy>p{color:rgba(244,241,234,.85);font-size:18px;margin-top:16px;max-width:52ch}
.trust-list{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:14px;font-size:16.5px}
.trust-list li{padding-left:34px;position:relative;color:rgba(244,241,234,.85)}
.trust-list b{color:var(--paper)}
.trust-list li::before{content:"";position:absolute;left:0;top:2px;width:22px;height:22px;border-radius:50%;background:var(--yellow);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2315171b' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7'/%3E%3C/svg%3E");background-size:14px;background-position:center;background-repeat:no-repeat}
.trust-photos{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.trust-photos figure{margin:0}
.trust-photos img{aspect-ratio:16/10;object-fit:cover;width:100%;border-radius:6px}
.trust-photos figcaption{font-size:13px;font-weight:600;margin-top:8px;color:rgba(244,241,234,.75)}

/* reviews */
.reviews{padding:90px 0;background:var(--paper-2)}
.review-row{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
blockquote{margin:0;background:var(--white);border-radius:8px;padding:26px 26px 22px;display:flex;flex-direction:column;justify-content:space-between;gap:18px;border-left:5px solid var(--yellow)}
blockquote p{font-size:18px;line-height:1.45;font-weight:500;letter-spacing:-.005em}
blockquote footer{font-size:14px;font-weight:700;color:var(--ink-2)}
.review-note{margin-top:22px;font-size:14px;color:var(--ink-2)}

/* faq */
.faq{padding:90px 0}
.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:start}
.faq-list{border-top:2px solid var(--ink)}
details{border-bottom:1px solid var(--line)}
summary{cursor:pointer;list-style:none;padding:20px 40px 20px 0;font-weight:700;font-size:18px;position:relative;letter-spacing:-.01em}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";position:absolute;right:4px;top:14px;font-size:28px;font-weight:400;color:var(--ink-2)}
details[open] summary::after{content:"–"}
details p{padding:0 0 22px;color:var(--ink-2);max-width:66ch;font-size:16.5px}

/* closer */
.closer{background:var(--yellow);padding:64px 0}
.closer-inner{display:flex;justify-content:space-between;align-items:center;gap:32px}
.closer h2{font-size:clamp(28px,3.4vw,40px)}
.closer p{font-size:19px;font-weight:600;margin-top:8px;opacity:.85}
.closer .btn{width:auto;min-width:240px;background:var(--ink);color:var(--paper);border-color:var(--ink)}
.closer .btn:hover{background:#000}

/* footer */
.foot{background:var(--ink);color:rgba(244,241,234,.8);padding:48px 0 36px;font-size:14px}
.foot-inner{display:grid;grid-template-columns:1fr auto;gap:32px;align-items:start}
.foot .brand{color:var(--paper);margin-bottom:12px}
.foot p{line-height:1.7}
.foot-links{display:flex;flex-wrap:wrap;gap:20px;font-weight:600}
.foot-links a{text-decoration:none;opacity:.85}
.foot-links a:hover{text-decoration:underline;opacity:1}
.foot-note{grid-column:1/-1;border-top:1px solid rgba(244,241,234,.15);padding-top:18px;margin-top:8px;font-size:12px;opacity:.6}

.sticky-cta{display:none}

/* responsive */
@media (max-width:1000px){
  .hero-inner{grid-template-columns:1fr;gap:36px;padding:56px 0 64px}
  .hero-shade{background:linear-gradient(180deg,rgba(15,17,20,.9) 0%,rgba(15,17,20,.8) 60%,rgba(15,17,20,.85) 100%)}
  .card{justify-self:stretch;max-width:none}
  .timeline{grid-template-columns:1fr 1fr;gap:28px 24px;border-top:0}
  .timeline li{border-top:3px solid var(--ink)}
  .timeline li.then{border-left:0;padding-left:0}
  .timeline li.then::before{left:0}
  .trust-grid,.faq-grid{grid-template-columns:1fr;gap:40px}
  .review-row{grid-template-columns:1fr}
  .top-nav{display:none}
}
@media (max-width:640px){
  body{font-size:16px}
  .top-inner{height:58px}
  .phone{font-size:16px}
  .brand{font-size:20px}
  .open-now{display:none}
  .hero-inner{padding:40px 0 48px}
  .lede{font-size:18px}
  .card{padding:20px 18px 18px}
  .proof-inner{grid-template-columns:1fr 1fr;gap:16px;padding:18px 0}
  .proof b{font-size:22px}
  .how,.trust,.reviews,.faq{padding:64px 0}
  .timeline{grid-template-columns:1fr}
  .trust-photos{grid-template-columns:1fr 1fr;gap:10px}
  .closer-inner{flex-direction:column;align-items:flex-start}
  .closer .btn{width:100%}
  .foot-inner{grid-template-columns:1fr}
  .offer-amount{font-size:56px}
  .how-cta{flex-direction:column;align-items:flex-start}
  .how-cta .btn{width:100%}
  .sticky-cta{display:block;position:fixed;left:0;right:0;bottom:0;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:rgba(21,23,27,.92);backdrop-filter:blur(8px);z-index:30}
  .sticky-cta.is-hidden{display:none}
  main{padding-bottom:70px}
}
