:root{
  --bg:#f6faf7;--surface:#fff;--ink:#101713;--muted:#5e6862;
  --green:#07833f;--green2:#00a94f;--green-dark:#045c2e;
  --line:#dfe7e2;--danger:#a12626;--shadow:0 12px 34px rgba(20,32,25,.09)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  background:linear-gradient(180deg,#fff 0,#f5faf7 70%,#eef6f1 100%);color:var(--ink)
}
button,input{font:inherit}
button{touch-action:manipulation}
.topbar{
  height:76px;background:linear-gradient(90deg,#073c29,#005c37);color:#fff;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 max(28px,calc((100vw - 980px)/2));position:sticky;top:0;z-index:10
}
.brand-logo{display:block;width:205px;height:58px;object-fit:contain;object-position:left center}
.secure{font-size:14px;opacity:.95}
main{max-width:980px;margin:auto;padding:30px 28px 28px;min-height:calc(100vh - 168px)}
.hero{text-align:center;margin:0 auto 24px}
.hero h1{font-size:clamp(30px,4.2vw,45px);line-height:1.08;margin:0 0 10px;font-weight:900}
.hero h1 span{color:var(--green)}
.lead{font-size:17px;color:#3e4943;margin:0;line-height:1.45}
.flow-shell{max-width:820px;margin:0 auto}
.card{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:var(--shadow)}
.green-frame{border:2px solid var(--green2)}
.form-card{max-width:650px;margin:0 auto}
.form-card h2{font-size:30px;margin:0 0 24px}
.eyebrow{font-size:12px;font-weight:800;letter-spacing:1.6px;color:var(--green);margin:0 0 8px}
.center{text-align:center}
label{display:block;font-weight:800;margin-bottom:9px;font-size:17px}
input{
  width:100%;height:54px;border:1.5px solid #b9c6bf;border-radius:11px;
  padding:0 16px;font-size:18px;font-weight:600;letter-spacing:.3px;outline:none;background:#fff
}
input:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(0,169,79,.1)}
.help{color:var(--muted);font-size:13px;line-height:1.45;margin:8px 0 0}
.error{color:var(--danger);font-size:13px;font-weight:700;margin:7px 0 0}
.second-label{margin-top:24px}
.primary{
  border:0;border-radius:11px;background:linear-gradient(90deg,#07883f,#00994b);
  color:#fff;font-weight:800;font-size:16px;padding:13px 18px;cursor:pointer;width:100%;
  min-height:52px
}
.primary:hover{background:var(--green-dark)}
.primary:disabled{opacity:.6;cursor:wait}
.next-button{margin-top:26px}
.progress{display:flex;align-items:center;justify-content:center;max-width:600px;margin:0 auto 26px;padding:0 10px}
.progress-item{display:flex;align-items:center;gap:8px;color:#87918b;white-space:nowrap}
.progress-item span{
  width:30px;height:30px;border-radius:50%;display:grid;place-items:center;
  background:#e7ece9;color:#66716b;font-weight:900;font-size:13px
}
.progress-item strong{font-size:13px}
.progress-item.active{color:var(--green-dark)}
.progress-item.active span{background:var(--green);color:#fff}
.progress-item.done span{background:#dff4e7;color:var(--green)}
.progress-line{height:2px;flex:1;max-width:72px;background:#dfe7e2;margin:0 12px}
.step2-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}
.back-button{
  border:0;background:transparent;color:var(--green);font-weight:800;padding:10px 0;cursor:pointer
}
.identity-chip{
  display:flex;align-items:center;gap:9px;background:#eaf7ef;border:1px solid #ccebd8;
  color:#164a2f;border-radius:999px;padding:8px 13px;font-size:13px
}
.identity-chip span{color:#5c6b62}
.offers-section h2{text-align:center;font-size:30px;margin:0 0 6px}
.offers-subtitle{text-align:center;color:var(--muted);margin:0 0 25px;font-size:14px}
.offers{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.offer{
  appearance:none;position:relative;background:#fff;border:2px solid var(--green2);
  border-radius:18px;padding:22px 16px 16px;text-align:center;box-shadow:var(--shadow);
  transition:.16s transform,.16s border-color,.16s box-shadow;cursor:pointer;color:var(--ink);width:100%
}
.offer:hover{transform:translateY(-2px);border-color:var(--green-dark)}
.offer.selected{border-color:var(--green-dark);box-shadow:0 0 0 3px rgba(0,169,79,.12),var(--shadow)}
.offer.featured{background:linear-gradient(180deg,#f5fff8,#eafff1)}
.offer-badge{
  position:absolute;top:-14px;left:50%;transform:translateX(-50%);
  background:linear-gradient(90deg,#087c39,#00a94f);color:#fff;border-radius:999px;
  padding:6px 15px;font-size:12px;font-weight:800;white-space:nowrap
}
.offer .count{font-size:40px;font-weight:900;line-height:1}
.offer .unit{font-size:14px;color:#39443e;margin:6px 0 15px}
.offer .price{font-size:22px;font-weight:900;margin-bottom:10px}
.saving{margin:0 auto 12px;background:#e0f8e9;border-radius:9px;padding:7px 5px;font-size:12px;line-height:1.3;color:#145c34}
.saving strong{display:block;color:#093d23}
.choose-label{
  border-radius:9px;background:var(--green);color:#fff;font-weight:900;
  padding:10px 12px;margin-top:4px
}
.offer.selected .choose-label{background:var(--green-dark);color:#fff}
.selection-bar{
  background:#fff;border:2px solid var(--green2);border-radius:18px;padding:18px;
  margin-top:20px;box-shadow:var(--shadow)
}
.selection-bar>div{display:flex;justify-content:space-between;gap:16px;margin-bottom:12px}
.selection-bar span{color:var(--muted);font-size:13px}
.selection-bar strong{text-align:right}
.pending-card{max-width:650px;margin:24px auto 0;text-align:center}
.pending-card h2{margin:0 0 8px}
.secondary{
  border:1.5px solid var(--green);border-radius:10px;background:#fff;color:var(--green);
  font-weight:800;font-size:15px;padding:13px 16px;cursor:pointer;width:100%;margin-top:10px
}
.notice{
  max-width:760px;margin:22px auto 0;padding:15px 18px;border-radius:16px;
  background:#dff4e7;color:#154c30;display:flex;gap:13px;align-items:flex-start
}
.notice-icon{
  flex:0 0 34px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;
  background:var(--green);color:#fff;font-size:21px;font-weight:900
}
.notice p{margin:4px 0 0;line-height:1.45;font-size:13px}
.success-card{max-width:650px;margin:0 auto 28px;text-align:center}
.success-card h2{margin:6px 0 12px}
.success-icon{
  width:64px;height:64px;margin:0 auto 14px;border-radius:50%;display:grid;place-items:center;
  background:#e1f4e9;color:var(--green);font-size:34px;font-weight:900
}
.success-card .primary{max-width:330px;margin-top:18px}
footer{background:#293139;color:#d9dddf}
.footer-inner{
  max-width:980px;min-height:92px;margin:auto;padding:14px 28px;display:flex;
  align-items:center;gap:20px;font-size:14px
}
.footer-brand{display:flex;align-items:center;gap:9px;color:#fff;font-size:20px}
.footer-brand img{width:64px;height:64px;object-fit:contain}
.year{font-size:30px;color:#aeb4b8}
.divider{width:1px;height:45px;background:#7a8287}
.footer-spacer{flex:1}
[hidden]{display:none!important}

@media(max-width:760px){
  .topbar{height:60px;padding:0 14px}
  .brand-logo{width:140px;height:46px}
  .secure{font-size:10px}
  main{padding:16px 14px 22px;min-height:calc(100vh - 130px)}
  .hero{margin-bottom:17px}
  .hero h1{font-size:25px;line-height:1.12}
  .lead{font-size:13px;line-height:1.4}
  .progress{margin-bottom:17px;padding:0}
  .progress-item{gap:5px}
  .progress-item span{width:26px;height:26px;font-size:12px}
  .progress-item strong{font-size:10px}
  .progress-line{margin:0 6px;max-width:32px}
  .card{border-radius:16px;padding:18px 15px}
  .form-card h2{font-size:24px;margin-bottom:20px}
  label{font-size:15px}
  input{height:52px;font-size:17px}
  .help{font-size:12px}
  .next-button{margin-top:22px}
  .step2-head{margin-bottom:14px}
  .identity-chip{padding:7px 10px;font-size:11px}
  .offers-section h2{font-size:24px}
  .offers-subtitle{font-size:12px;margin-bottom:18px}
  .offers{grid-template-columns:1fr;gap:12px}
  .offer{display:grid;grid-template-columns:56px 1fr auto;grid-template-areas:
    "count unit price"
    "count saving choose";align-items:center;text-align:left;padding:16px 13px;min-height:96px}
  .offer-badge{top:-10px;left:auto;right:10px;transform:none;font-size:10px;padding:4px 9px}
  .offer .count{grid-area:count;font-size:34px;text-align:center}
  .offer .unit{grid-area:unit;margin:0 8px;font-size:13px}
  .offer .price{grid-area:price;margin:0;font-size:17px;white-space:nowrap}
  .saving{grid-area:saving;margin:7px 8px 0 8px;padding:5px 7px;font-size:10px;text-align:left}
  .choose-label{grid-area:choose;margin:7px 0 0;padding:7px 10px;font-size:12px;white-space:nowrap}
  .selection-bar{position:sticky;bottom:8px;z-index:8;padding:13px;margin-top:15px;border-radius:15px}
  .selection-bar>div{margin-bottom:9px}
  .selection-bar .primary{min-height:48px}
  .notice{padding:11px 12px;font-size:12px;margin-top:16px}
  .notice-icon{flex-basis:29px;width:29px;height:29px;font-size:17px}
  .notice p{font-size:11px}
  .footer-inner{min-height:68px;padding:7px 12px;gap:8px;font-size:9px}
  .footer-brand{font-size:12px;gap:4px}
  .footer-brand img{width:36px;height:36px}
  .year{font-size:18px}
  .divider{height:30px}
  .footer-spacer{display:none}
}
@media(max-width:420px){
  .brand-logo{width:128px}
  .secure{font-size:9px}
  .hero h1{font-size:23px}
  .progress-item strong{display:none}
  .progress-line{max-width:55px}
  .step2-head{align-items:flex-start}
  .identity-chip{flex-direction:column;gap:1px;align-items:flex-end}
  .offer{grid-template-columns:50px 1fr auto;padding-left:10px;padding-right:10px}
  .offer .price{font-size:16px}
  .footer-inner>span:nth-last-child(1){display:none}
}

.back-button-visible{
  background:#fff;
  border:1.5px solid var(--green);
  border-radius:10px;
  color:var(--green);
  padding:10px 14px;
  min-height:44px;
}
.back-button-visible:hover{background:#eef8f2}
@media(max-width:760px){
  .step2-head{flex-wrap:wrap}
  .back-button-visible{width:100%;text-align:left;padding:11px 13px}
  .identity-chip{margin-left:auto}
}
