*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --blue-deep:#007AFE;
  --blue-primary:#007AFE;
  --blue-secondary:#02CAFF;
  --blue-light:#31AAFE;
  --blue-pale:#e6f5ff;
  --orange:#F78220;
  --orange-dark:#d96910;
  --orange-pale:#fff1e6;
  --white:#fff;
  --off-white:#f4f7fc;
  --dark:#0d1b3e;
  --muted:#64748b;
  --border:#e2e8f0;
  --font:'Montserrat',sans-serif;
  --radius-sm:8px;
  --radius-md:14px;
  --radius-lg:20px;
  --shadow-sm:0 2px 8px rgba(0,35,110,.07);
  --shadow-md:0 8px 32px rgba(0,35,110,.10);
  --shadow-lg:0 24px 64px rgba(0,35,110,.13);
}
html{scroll-behavior:smooth}
body{font-family:var(--font);color:var(--dark);background:var(--off-white);overflow-x:hidden}

/* ===== NAV ===== */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:900;
  height:68px;
  display:flex;align-items:center;justify-content:space-between;
  background:rgba(0,28,88,0.96);
  backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(255,255,255,0.08);
  transition:all 0.3s;
}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.logo-mark{
  width:38px;height:38px;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
}
.logo-mark img{width:100%;height:100%;object-fit:contain;display:block}
.logo-text{color:#fff;font-family:var(--font);font-size:1.1rem;font-weight:800;letter-spacing:-0.4px;line-height:1}
.nav-links{display:flex;gap:2vw;list-style:none}
.nav-links a{position:relative;display:inline-block;padding-bottom:7px;color:rgba(255,255,255,0.8);text-decoration:none;font-size:.85rem;font-weight:500;font-family:var(--font);transition:color .2s}
.nav-links a:hover{color:#fff}
.nav-links a.active{color:rgba(255,255,255,0.96)}
.nav-links a.active::after{content:'';position:absolute;left:0;right:0;bottom:-4px;height:2px;background:var(--orange);border-radius:999px}
.nav-btn{
  background:var(--orange);color:#fff;
  padding:.70em 1.30em;border-radius:7px;
  font-family:var(--font);font-size:.75rem;font-weight:700;
  text-decoration:none;letter-spacing:.4px;
  transition:background .2s,transform .15s;
  border:none;cursor:pointer;
}
.nav-btn:hover{background:var(--orange-dark);transform:translateY(-1px)}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:6px;border:none;background:none}
.hamburger span{display:block;width:23px;height:2px;background:#fff;border-radius:2px;transition:all .3s}
.hamburger.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.hamburger.active span:nth-child(2){opacity:0}
.hamburger.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}
.mob-menu{
  display:none;position:fixed;top:68px;left:0;right:0;
  background:rgba(0,22,72,0.98);
  padding:1.5rem 1.25rem;flex-direction:column;gap:0;
  z-index:899;
}
.mob-menu.open{display:flex}
.mob-menu a{
  color:rgba(255,255,255,0.85);text-decoration:none;
  font-size:.95rem;font-weight:500;
  padding:.85rem 0;border-bottom:1px solid rgba(255,255,255,0.07);
  display:block;transition:color .2s;
}
.mob-menu a:hover{color:#fff}
.mob-menu .mob-cta{
  margin-top:1rem;text-align:center;border-bottom:none;
  background:var(--orange);color:#fff;
  border-radius:7px;padding:12px;font-weight:700;
}

/* ===== HERO ===== */
.hero--apply{
  margin-top:0;
  background:#0c225f url("../hero_bg/payment_form_bg.png") center/cover no-repeat;
  position:relative;overflow:hidden;
  text-align:center;
}
.hero--apply::before{
  content:'';position:absolute;inset:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60'%3E%3Cpath d='M0 30h60M30 0v60M10 10h10v10M40 10h10v10M10 40h10v10M40 40h10v10' stroke='rgba(255,255,255,0.04)' stroke-width='1' fill='none'/%3E%3C/svg%3E");
  background-size:60px 60px;
}
.hero--apply .hero__inner,
.hero--apply .hero__content{position:relative;z-index:1;text-align:center}
.hero--apply .hero__content{margin-inline:auto}
.hero--apply .breadcrumb{justify-content:center}
.hero--apply .hero__eyebrow{margin-bottom:.8rem}
.hero--apply .hero__eyebrow::before{content:none}
.hero--apply .hero__title{
  color:#fff;
  font-size:clamp(2rem,3.6vw,3.15rem);
  letter-spacing: 0;
}
.hero--apply .hero__description{
  color:rgba(255,255,255,.78);
  max-width:100%;
  margin-inline:auto;
}
.hero__glow--apply{
  display:none;
}

/* ===== LAYOUT ===== */
.apply-section{
  padding-block:2.5rem 5rem;
}
.apply-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 340px;
  gap:2rem;
  align-items:start;
}

/* ===== STEP INDICATOR ===== */
.steps-strip{
  background:#fff;border-radius:var(--radius-lg);
  padding:1.4rem 2rem;
  box-shadow:var(--shadow-sm);
  border:1px solid var(--border);
  margin-bottom:2rem;
  grid-column:1 / -1;
}
.steps-list{
  display:flex;align-items:center;
  justify-content:space-between;
  list-style:none;position:relative;
  gap:0;
}
/* .steps-list::before{
  content:'';position:absolute;left:0;right:0;top:18px;
  height:2px;background:var(--border);z-index:0;
} */
.step-item{
  display:flex;flex-direction:column;align-items:center;
  gap:8px;flex:1;position:relative;z-index:1;
}
.step-num{
  width:36px;height:36px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:.75rem;font-weight:800;
  background:#fff;border:2px solid var(--border);
  color:var(--muted);transition:all .3s;
  position:relative;z-index:1;
}
.step-item.active .step-num{
  background:var(--blue-primary);border-color:var(--blue-primary);
  color:#fff;box-shadow:0 0 0 4px rgba(0,70,176,.15);
}
.step-item.done .step-num{
  background:var(--blue-primary);border-color:var(--blue-primary);color:#fff;
}
.step-item.done .step-num::after{content:'✓';font-size:.85rem}
.step-item.done .step-num .n{display:none}
.step-label{
  font-size:.65rem;font-weight:700;letter-spacing:.4px;
  text-transform:uppercase;color:var(--muted);
  text-align:center;white-space:nowrap;
}
.step-item.active .step-label{color:var(--blue-primary)}
.step-item.done .step-label{color:var(--blue-primary)}
.step-connector{
  flex:1;height:2px;background:var(--border);
  position:relative;margin:0 -4px;
  transition:background .3s;
}
.step-connector.done{background:var(--blue-primary)}

/* ===== FORM CARD ===== */
.form-area{display:flex;flex-direction:column;gap:1.5rem}
.step-card{
  background:#fff;border-radius:var(--radius-lg);
  padding:2.4rem 2.2rem;
  box-shadow:var(--shadow-md);
  border:1px solid var(--border);
  animation:stepIn .35s ease both;
}
@keyframes stepIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.step-card-head{margin-bottom:2rem}
.step-card-head .step-num-badge{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--blue-pale);border-radius:6px;
  padding:5px 12px;
  font-size:.68rem;font-weight:800;letter-spacing:1.5px;
  text-transform:uppercase;color:var(--blue-primary);
  margin-bottom:.8rem;
}
.step-card-head .step-num-badge .badge-dot{
  width:6px;height:6px;border-radius:50%;background:var(--orange);
}
.step-card-head h2{
  font-size:1.25rem;font-weight:900;color:var(--dark);
  letter-spacing:-.5px;margin-bottom:.35rem;
}
.step-card-head p{font-size:.87rem;color:var(--muted);line-height:1.6}

/* ===== SERVICE CARDS ===== */
.service-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.svc-select-card{
  border:2px solid var(--border);border-radius:var(--radius-md);
  padding:1.8rem 1.5rem;cursor:pointer;
  transition:all .25s;background:#fff;
  position:relative;overflow:hidden;
  user-select:none;
}
.svc-select-card::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(0,70,176,.03) 0%,transparent 60%);
  opacity:0;transition:opacity .25s;
}
.svc-select-card:hover{border-color:var(--blue-light);transform:translateY(-3px);box-shadow:var(--shadow-md)}
.svc-select-card:hover::before{opacity:1}
.svc-select-card.selected{
  border-color:var(--orange);
  box-shadow:0 0 0 3px rgba(242,100,19,.12), var(--shadow-md);
  transform:translateY(-3px);
}
.svc-select-card.selected::before{opacity:1;background:linear-gradient(135deg,rgba(242,100,19,.05) 0%,transparent 60%)}
.svc-check{
  width:22px;height:22px;border-radius:50%;border:2px solid var(--border);
  display:flex;align-items:center;justify-content:center;
  margin-bottom:1.2rem;transition:all .25s;
  background:#fff;
}
.svc-select-card.selected .svc-check{background:var(--orange);border-color:var(--orange)}
.svc-check svg{width:12px;height:12px;fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;opacity:0;transition:opacity .25s}
.svc-select-card.selected .svc-check svg{opacity:1}
.svc-select-icon{
  width:52px;height:52px;border-radius:13px;
  display:flex;align-items:center;justify-content:center;
  margin-bottom:1rem;
  background:var(--blue-pale);
  transition:background .25s;
}
.svc-select-card.selected .svc-select-icon{background:var(--orange-pale)}
.svc-select-icon svg{width:26px;height:26px;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;stroke:var(--blue-primary);transition:stroke .25s}
.svc-select-card.selected .svc-select-icon svg{stroke:var(--orange)}
.svc-select-card h3{font-size:1rem;font-weight:800;color:var(--dark);margin-bottom:.4rem}
.svc-select-card p{font-size:.8rem;color:var(--muted);line-height:1.55}

/* Step one follows the compact two-option application pattern. */
.step-card--service{padding:clamp(1.75rem,3vw,2.5rem)}
.step-card--service .step-card-head{margin-bottom:var(--stack-lg)}
.step-card--service .service-cards{gap:var(--grid-gap)}
.step-card--service .svc-select-card{min-height:11.25rem;padding:1.35rem 1.15rem 1.2rem;border-color:#dce8f7;border-radius:var(--radius-md)}
.step-card--service .svc-select-card:hover{transform:none}
.step-card--service .svc-check{width:20px;height:20px;margin-bottom:1rem}
.step-card--service .svc-select-icon{width:2.75rem;height:2.75rem;margin-bottom:.8rem;border-radius:10px}
.step-card--service .svc-select-icon svg{width:1.4rem;height:1.4rem}
.step-card--service .svc-select-card h3{margin-bottom:.3rem;font-size:.95rem}
.step-card--service .svc-select-card p{max-width:42ch;font-size:.78rem;line-height:1.5}
.step-card--service .step-nav{display:flex;flex-direction:column;align-items:flex-end;gap:var(--stack-sm);margin-top:var(--stack-lg);padding-top:var(--stack-lg)}
.service-step-legal{order:2;max-width:100%;margin:0;color:var(--muted);font-size:.72rem;line-height:1.55;text-align:right}
.service-step-legal a{color:var(--blue-primary);font-weight:800}
.step-card--service .btn-next{min-width:8.5rem;min-height:48px;justify-self:end}
.step-nav--legal{position:relative;min-height:5.5rem;padding-bottom:2.4rem}
.step-nav--legal .service-step-legal{position:absolute;right:0;bottom:0;max-width:100%;text-align:right}

/* ===== PLAN SELECTION ===== */
.plan-group{margin-bottom:2rem}
.plan-group-label{
  font-size:.7rem;font-weight:800;letter-spacing:1.5px;
  text-transform:uppercase;color:var(--muted);
  margin-bottom:.9rem;display:block;
}
.toggle-group{
  display:flex;background:var(--off-white);
  border-radius:10px;padding:4px;gap:0;
  border:1px solid var(--border);
  width:fit-content;
}
.toggle-btn{
  padding:9px 22px;border-radius:7px;
  font-family:var(--font);font-size:.82rem;font-weight:700;
  border:none;cursor:pointer;background:transparent;color:var(--muted);
  transition:all .22s;letter-spacing:.2px;
}
.toggle-btn.active{
  background:#fff;color:var(--blue-primary);
  box-shadow:0 2px 8px rgba(0,0,0,.08);
}
.tech-toggle .toggle-btn.active{color:var(--blue-primary)}
.family-toggle .toggle-btn.active{
  background:var(--blue-primary);color:#fff;
}

.speed-cards{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(180px,1fr));
  gap:.85rem;margin-top:1rem;
}
.speed-card{
  border:2px solid var(--border);border-radius:var(--radius-md);
  padding:1.4rem 1.2rem;cursor:pointer;
  background:#fff;transition:all .22s;
  position:relative;overflow:hidden;
}
.speed-card:hover{border-color:var(--blue-light);transform:translateY(-2px);box-shadow:var(--shadow-sm)}
.speed-card.selected{
  border-color:var(--blue-primary);
  box-shadow:0 0 0 3px rgba(0,70,176,.12),var(--shadow-sm);
  transform:translateY(-2px);
}
.speed-card-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.8rem}
.speed-badge{
  font-size:.62rem;font-weight:700;letter-spacing:.8px;
  text-transform:uppercase;padding:3px 8px;border-radius:5px;
  background:var(--blue-pale);color:var(--blue-primary);
}
.speed-card.selected .speed-badge{background:rgba(0,70,176,.15);color:var(--blue-primary)}
.speed-select-dot{
  width:18px;height:18px;border-radius:50%;
  border:2px solid var(--border);
  transition:all .22s;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
}
.speed-card.selected .speed-select-dot{
  background:var(--blue-primary);border-color:var(--blue-primary);
}
.speed-select-dot::after{
  content:'';width:6px;height:6px;border-radius:50%;
  background:#fff;opacity:0;transition:opacity .22s;
}
.speed-card.selected .speed-select-dot::after{opacity:1}
.speed-val{font-size:1.5rem;font-weight:900;color:var(--dark);letter-spacing:-1px;line-height:1}
.speed-unit{font-size:.75rem;font-weight:700;color:var(--muted)}
.speed-tech{font-size:.75rem;color:var(--muted);margin-top:.3rem;margin-bottom:.7rem}
.speed-tv{
  font-size:.72rem;font-weight:700;color:var(--blue-primary);
  background:var(--blue-pale);border-radius:4px;
  padding:3px 8px;display:inline-block;margin-bottom:.8rem;
}
.speed-price{
  font-size:1.1rem;font-weight:900;color:var(--blue-primary);letter-spacing:-.5px;
}
.speed-price span{font-size:.72rem;font-weight:600;color:var(--muted)}

/* Cable TV plan cards */
.tv-plan-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.tv-plan-card{
  border:2px solid var(--border);border-radius:var(--radius-md);
  padding:1.6rem 1.3rem;cursor:pointer;background:#fff;
  transition:all .22s;position:relative;overflow:hidden;
}
.tv-plan-card:hover{border-color:var(--orange);transform:translateY(-2px);box-shadow:var(--shadow-sm)}
.tv-plan-card.selected{
  border-color:var(--orange);
  box-shadow:0 0 0 3px rgba(242,100,19,.12),var(--shadow-sm);
  transform:translateY(-2px);
}
.tv-plan-price-box{
  background:linear-gradient(135deg,var(--blue-deep),var(--blue-primary));
  border-radius:10px;padding:1rem;text-align:center;margin-bottom:1rem;
}
.tv-plan-card.selected .tv-plan-price-box{background:linear-gradient(135deg,var(--orange-dark),var(--orange))}
.tv-plan-price{font-size:1.3rem;font-weight:900;color:#fff;letter-spacing:-.5px}
.tv-plan-price span{font-size:.72rem;font-weight:600;color:rgba(255,255,255,.7)}
.tv-plan-name{font-size:.95rem;font-weight:800;color:var(--dark);margin-bottom:.5rem}
.tv-plan-channels{
  font-size:.82rem;color:var(--muted);
  display:flex;align-items:center;gap:6px;margin-bottom:.35rem;
}
.tv-plan-channels svg{width:14px;height:14px;fill:none;stroke:var(--orange);stroke-width:2;stroke-linecap:round;flex-shrink:0}
.tv-plan-area{font-size:.77rem;color:var(--muted);display:flex;align-items:center;gap:6px}
.tv-plan-area svg{width:14px;height:14px;fill:none;stroke:var(--muted);stroke-width:2;stroke-linecap:round;flex-shrink:0}

/* ===== FORM FIELDS ===== */
.form-grid{display:grid;gap:1.1rem}
.form-row-3{grid-template-columns:1fr 1fr 1fr}
.form-row-2{grid-template-columns:1fr 1fr}
.form-row-1{grid-template-columns:1fr}
.field{display:flex;flex-direction:column;gap:.45rem}
.field label{
  font-size:.72rem;font-weight:700;letter-spacing:.5px;
  text-transform:uppercase;color:var(--muted);
}
.field input,.field select{
  padding:12px 14px;border:2px solid var(--border);
  border-radius:var(--radius-sm);
  font-family:var(--font);font-size:.88rem;font-weight:500;
  color:var(--dark);background:#fff;
  transition:border-color .2s,box-shadow .2s;
  outline:none;
  -webkit-appearance:none;
  appearance:none;
}
.field input::placeholder{color:#b0bac7;font-weight:400}
.field input:focus,.field select:focus{
  border-color:var(--blue-primary);
  box-shadow:0 0 0 3px rgba(0,70,176,.1);
}
.field input.error{border-color:#e53e3e;box-shadow:0 0 0 3px rgba(229,62,62,.08)}
.field .error-msg{font-size:.72rem;color:#e53e3e;font-weight:600}
.select-wrap{position:relative}
.select-wrap::after{
  content:'';position:absolute;right:14px;top:50%;transform:translateY(-50%);
  width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;
  border-top:6px solid var(--muted);pointer-events:none;
}
.select-wrap select{width:100%;padding-right:36px;cursor:pointer}

/* Property segmented control */
.seg-label{
  font-size:.72rem;font-weight:700;letter-spacing:.5px;
  text-transform:uppercase;color:var(--muted);
  margin-bottom:.6rem;display:block;
}
.seg-ctrl{
  display:flex;background:var(--off-white);
  border-radius:10px;padding:4px;gap:0;
  border:1px solid var(--border);
  width:fit-content;
}
.seg-opt{
  padding:9px 28px;border-radius:7px;
  font-family:var(--font);font-size:.85rem;font-weight:700;
  border:none;cursor:pointer;background:transparent;
  color:var(--muted);transition:all .22s;
}
.seg-opt.active{background:var(--blue-primary);color:#fff;box-shadow:0 2px 8px rgba(0,70,176,.2)}

/* ===== REVIEW ===== */
.review-section{margin-bottom:1.5rem}
.application-attachments{display:grid;gap:var(--stack-md)}
.application-attachments .review-section-title,.application-attachments .application-note{margin:0}
.application-attachments .application-consent-list{margin-top:0}
.review-section-title{
  font-size:.7rem;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;
  color:var(--orange);margin-bottom:.8rem;display:block;
}
.review-grid{
  background:var(--off-white);border-radius:var(--radius-sm);
  border:1px solid var(--border);overflow:hidden;
}
.review-row{
  display:grid;grid-template-columns:1fr 1.6fr;
  padding:.8rem 1.1rem;font-size:.87rem;
  border-bottom:1px solid var(--border);
}
.review-row:last-child{border-bottom:none}
.review-key{font-weight:700;color:var(--muted);font-size:.8rem}
.review-val{font-weight:600;color:var(--dark)}
.review-val.highlight{color:var(--blue-primary)}
.review-edit{
  display:inline-flex;align-items:center;gap:5px;
  font-size:.72rem;font-weight:700;color:var(--blue-primary);
  cursor:pointer;border:none;background:none;padding:0;
  margin-top:.3rem;transition:color .2s;font-family:var(--font);
}
.review-edit:hover{color:var(--orange)}
.review-edit svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}

/* Submit CTA */
.submit-cta{display:grid;justify-items:center;gap:var(--stack-md);padding-top:var(--stack-sm);text-align:center}
.submit-cta p{margin:0;color:var(--muted);font-size:.8rem;line-height:1.6}
.btn-apply{
  display:inline-flex;align-items:center;gap:10px;
  background:var(--orange);color:#fff;
  padding:16px 48px;border-radius:9px;
  font-family:var(--font);font-weight:800;font-size:.95rem;
  letter-spacing:.4px;border:none;cursor:pointer;
  transition:background .2s,transform .15s,box-shadow .2s;
  box-shadow:0 4px 18px rgba(242,100,19,.3);
}
.btn-apply:hover{background:var(--orange-dark);transform:translateY(-2px);box-shadow:0 8px 28px rgba(242,100,19,.35)}
.btn-apply svg{width:18px;height:18px;fill:none;stroke:#fff;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}

/* ===== STEP NAV BUTTONS ===== */
.step-nav{
  display:flex;justify-content:space-between;
  align-items:center;padding-top:1.8rem;
  border-top:1px solid var(--border);margin-top:1.8rem;
}
.btn-prev{
  display:flex;align-items:center;gap:7px;
  background:transparent;border:2px solid var(--border);
  color:var(--muted);padding:11px 22px;border-radius:8px;
  font-family:var(--font);font-size:.84rem;font-weight:700;
  cursor:pointer;transition:all .2s;
}
.btn-prev:hover{border-color:var(--blue-light);color:var(--blue-primary)}
.btn-prev svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.btn-next{
  display:flex;align-items:center;gap:7px;
  background:var(--blue-primary);color:#fff;
  padding:11px 28px;border-radius:8px;
  font-family:var(--font);font-size:.84rem;font-weight:700;
  border:none;cursor:pointer;transition:all .2s;
  box-shadow:0 3px 12px rgba(0,70,176,.25);
}
.btn-next:hover{background:var(--blue-secondary);transform:translateY(-1px);box-shadow:0 6px 18px rgba(0,70,176,.3)}
.btn-next svg{width:15px;height:15px;fill:none;stroke:#fff;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.btn-next:disabled,.btn-next[disabled]{opacity:.45;pointer-events:none}

/* ===== SUMMARY SIDEBAR ===== */
.summary-sidebar{
  position:static;align-self:stretch;
  display:block;
}
.summary-card{position:sticky;top:88px;
  background:#fff;border-radius:var(--radius-lg);
  padding:1.6rem 1.5rem;
  box-shadow:var(--shadow-md);
  border:1px solid var(--border);
}
.summary-card h3{
  font-size:.7rem;font-weight:800;letter-spacing:1.5px;
  text-transform:uppercase;color:var(--muted);
  margin-bottom:1.2rem;
  padding-bottom:.8rem;border-bottom:1px solid var(--border);
}
.summary-item{
  display:flex;flex-direction:column;gap:2px;
  margin-bottom:.9rem;
}
.summary-item:last-child{margin-bottom:0}
.summary-item-label{
  font-size:.68rem;font-weight:700;letter-spacing:.5px;
  text-transform:uppercase;color:var(--muted);
}
.summary-item-val{
  font-size:.9rem;font-weight:700;color:var(--dark);
}
.summary-item-val.empty{color:#b0bac7;font-weight:400;font-style:italic;font-size:.82rem}
.summary-price-box{
  background:linear-gradient(135deg,var(--blue-deep),var(--blue-primary));
  border-radius:12px;padding:1.2rem;text-align:center;margin-top:1.2rem;
}
.summary-price-label{font-size:.65rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.6);margin-bottom:.3rem}
.summary-price-val{font-size:1.8rem;font-weight:900;color:#fff;letter-spacing:-1px}
.summary-price-period{font-size:.75rem;color:rgba(255,255,255,.6)}
.summary-divider{height:1px;background:var(--border);margin:.6rem 0}

/* Support chooser: compact help paths for application visitors. */
.help-card{position:relative;grid-column:1/-1;display:grid;gap:1rem;overflow:hidden;padding:clamp(1.15rem,2vw,1.55rem);border:1px solid #c8dcff;border-radius:var(--radius-lg);background:radial-gradient(circle at 95% 6%,rgba(118,181,255,.22),transparent 30%),linear-gradient(145deg,#f8fbff,#e9f3ff);box-shadow:0 12px 24px rgba(17,87,194,.12)}
.help-card::before{content:'';position:absolute;right:-2rem;bottom:-2.5rem;width:9rem;height:5rem;border-radius:50% 50% 0 0;background:rgba(119,180,255,.16);transform:rotate(-16deg);pointer-events:none}
.help-card__heading{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}
.help-card h4{margin:0;color:#063aa6;font-size:clamp(1.1rem,1.55vw,1.42rem);font-weight:900;letter-spacing:-.035em;line-height:1.12}
.help-card p{max-width:26ch;margin:.5rem 0 0;color:#466899;font-size:.8rem;line-height:1.55}
.help-card__headset{display:inline-grid;flex:0 0 auto;width:3.4rem;height:3.4rem;place-items:center;border-radius:50%;color:#8dc0ff;background:rgba(255,255,255,.62)}
.help-card__headset svg{width:78%;height:78%;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}
.help-card__actions{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}
.help-link{display:grid;grid-template-columns:3.1rem minmax(0,1fr) 1.25rem;align-items:center;gap:.7rem;min-width:0;padding:.75rem;border:1px solid #e1ecff;border-radius:14px;color:#063aa6;background:rgba(255,255,255,.94);box-shadow:0 5px 12px rgba(54,116,198,.08);text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.help-link:hover{border-color:#a7ccff;box-shadow:0 8px 16px rgba(54,116,198,.14);transform:translateY(-1px)}
.help-link:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
.help-link__icon{display:grid;width:3.1rem;height:3.1rem;place-items:center;border-radius:50%;color:#075cff;background:#eaf3ff}
.help-link__icon svg{width:54%;height:54%;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.1}
.help-link--services .help-link__icon{color:#075cff;background:#e8f3ff}
.help-link--faq .help-link__icon,
.help-link--chat .help-link__icon,
.help-link--contact .help-link__icon{color:#075cff;background:#e8f3ff}
.help-link__content{display:grid;gap:.18rem;min-width:0}
.help-link__content strong{color:#063aa6;font-size:.86rem;font-weight:800;line-height:1.22}
.help-link__content small{color:#607ca4;font-size:.68rem;font-weight:500;line-height:1.35}
.help-link__arrow{justify-self:end;width:1rem;height:1rem;margin-inline-start:0;color:#075cff}

/* ===== SUCCESS SCREEN ===== */
.success-screen{
  display:none;
  background:#fff;border-radius:var(--radius-lg);
  padding:4rem 2.5rem;text-align:center;
  box-shadow:var(--shadow-lg);border:1px solid var(--border);
  animation:stepIn .4s ease both;
}
.success-screen.show{display:block}
.success-icon{
  width:72px;height:72px;border-radius:50%;
  background:linear-gradient(135deg,var(--blue-primary),var(--blue-secondary));
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 1.5rem;
  box-shadow:0 8px 28px rgba(0,70,176,.25);
}
.success-icon svg{width:34px;height:34px;fill:none;stroke:#fff;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.success-screen h2{font-size:1.7rem;font-weight:900;color:var(--dark);letter-spacing:-.5px;margin-bottom:.6rem}
.success-screen p{font-size:.92rem;color:var(--muted);line-height:1.7;max-width:440px;margin:0 auto 2rem}
.success-ref{
  display:inline-block;background:var(--blue-pale);border-radius:8px;
  padding:10px 20px;font-size:.85rem;font-weight:700;color:var(--blue-primary);
  letter-spacing:1px;margin-bottom:2rem;
}

/* ===== PLAN INFO BANNERS ===== */
.plan-info-banner{
  background:var(--blue-pale);border-radius:10px;
  padding:.9rem 1.1rem;margin-bottom:1.4rem;
  display:flex;align-items:flex-start;gap:.7rem;
  border:1px solid rgba(0,70,176,.1);
}
.plan-info-banner svg{width:16px;height:16px;flex-shrink:0;fill:none;stroke:var(--blue-primary);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;margin-top:1px}
.plan-info-banner p{font-size:.8rem;color:var(--blue-primary);line-height:1.55;font-weight:500}

/* ===== HIDDEN / VISIBLE ===== */
.hidden{display:none!important}
.step-block{display:none}
.step-block.active-step{display:block}

/* ===== RESPONSIVE ===== */
@media(max-width:768px){
  .site-header{height:60px}
  .mob-menu{top:60px}
  .hero--apply{margin-top:0}
  .nav-links,.nav-btn{display:none}
  .hamburger{display:flex}
}
@media(max-width:1200px){
  .apply-layout{grid-template-columns:1fr 340px}
  .summary-sidebar{display:block}
}
@media(max-width:900px){
  .apply-layout{grid-template-columns:1fr}
  .summary-sidebar{position:static;order:-1;display:grid;grid-template-columns:1fr}
  .summary-card{position:static}
  .summary-card{padding:1rem 1.2rem}
  .summary-item{flex-direction:row;justify-content:space-between;align-items:center;margin-bottom:.5rem}
  .summary-item-label{font-size:.65rem}
  .summary-item-val{font-size:.82rem}
  .summary-price-box{margin-top:.8rem}
  .help-card{display:none}
  .steps-strip{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .steps-list{min-width:600px;padding:.2rem 0}
  .form-row-3{grid-template-columns:1fr 1fr}
  .tv-plan-cards{grid-template-columns:1fr 1fr}
  .speed-cards{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
}
@media(max-width:600px){
  .apply-section{padding-block:1.5rem 4rem}
  .service-cards{grid-template-columns:1fr}
  .form-row-3,.form-row-2{grid-template-columns:1fr}
  .tv-plan-cards{grid-template-columns:1fr}
  .step-card{padding:1.6rem 1.3rem}
  .step-card--service .step-nav{align-items:stretch}
  .service-step-legal{text-align:center}
  .step-card--service .btn-next{width:100%;justify-self:stretch}
  .step-nav--legal{min-height:0;flex-wrap:wrap;padding-bottom:0}
  .step-nav--legal .service-step-legal{position:static;order:3;width:100%;margin-top:var(--stack-sm);text-align:center}
  .speed-cards{grid-template-columns:1fr 1fr}
  .toggle-group{flex-direction:column;width:100%}
  .toggle-btn{text-align:center}
  .seg-ctrl{width:100%}
  .seg-opt{flex:1;text-align:center}
}
@media(max-width:380px){
  .speed-cards{grid-template-columns:1fr}
  .step-label{display:none}
  .steps-list::before{display:none}
}
/* ===== COVERAGE AREAS ===== */
.coverage-section {
  padding-block: var(--section-space-y);
  background: var(--off-white) url("../hero_bg/payment_coverage_bg.png") center / cover no-repeat;
  background-attachment: fixed;
}
.coverage-layout {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.5rem, 3vw, 2.5rem);
  align-items: start;
}
.coverage-head { max-width: none; margin: 0 0 var(--space-3); text-align: left; }
.coverage-head h2 { margin: 0; color: var(--dark); font-size: clamp(1.75rem, 3vw, 2.4rem); letter-spacing: -.8px; line-height: 1.18; }
.coverage-head p { max-width: 38rem; margin: var(--space-2) 0 0; color: var(--muted); line-height: 1.72; }
.coverage-tabs { display: flex; gap: .6rem; margin-bottom: 1.1rem; border-bottom: 1px solid rgba(0, 70, 176, .1); }
.coverage-tab { display: inline-flex; min-height: 44px; align-items: center; gap: .5rem; padding: 0 .2rem .7rem; border: 0; border-bottom: 2px solid transparent; color: var(--muted); background: transparent; font: 800 .82rem/1 var(--font); cursor: pointer; transition: color .2s, border-color .2s; }
.coverage-tab:hover, .coverage-tab.is-active { color: var(--dark); border-color: var(--orange); }
.coverage-tab.is-active[data-tab="fiberlink"] { border-color: var(--blue-primary); }
.coverage-tab-sub { font-size: .78rem; font-weight: 600; }
.coverage-tab-dot, .coverage-map-pill span { width: .62rem; height: .62rem; flex: 0 0 .62rem; border-radius: 50%; }
.iblaze { background: var(--orange); }
.fiberlink { background: var(--blue-primary); }
.coverage-items { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; margin-bottom: .65rem; }
.coverage-items[hidden], .coverage-item[hidden] { display: none; }
.coverage-item { display: flex; width: 100%; min-width: 0; align-items: center; gap: .75rem; padding: .75rem .9rem; border: 1px solid rgba(255, 255, 255, .78); border-radius: 12px; color: var(--dark); background: var(--off-white); box-shadow: 0 8px 22px rgba(0, 35, 110, .1); font: inherit; text-align: left; cursor: pointer; transition: transform .18s, border-color .2s, box-shadow .2s, background .2s; }
.coverage-item:hover { transform: translateY(-1px); border-color: rgba(0, 70, 176, .16); box-shadow: 0 10px 24px rgba(0, 70, 176, .08); }
.coverage-item.is-active { border-color: rgba(242, 100, 19, .35); background: var(--white); box-shadow: 0 14px 28px rgba(0, 70, 176, .12); }
.coverage-item-pin { display: grid; width: 2.125rem; height: 2.125rem; flex: 0 0 2.125rem; place-items: center; border-radius: 50%; color: var(--white); font-size: .7rem; }
.coverage-item-text { display: grid; min-width: 0; gap: .15rem; }
.coverage-item-name { font-size: .86rem; font-weight: 800; }
.coverage-item-meta { color: var(--muted); font-size: .74rem; line-height: 1.4; }
.coverage-item-chevron { margin-left: auto; color: var(--muted); font-size: 1.35rem; line-height: 1; transition: transform .18s, color .2s; }
.coverage-item:hover .coverage-item-chevron, .coverage-item.is-active .coverage-item-chevron { color: var(--orange); transform: translateX(2px); }
.coverage-view-all { display: inline-flex; min-height: 44px; align-items: center; gap: .5rem; margin-top: 1rem; padding: 0; border: 0; color: var(--blue-primary); background: transparent; font: 800 .84rem/1 var(--font); cursor: pointer; }
.coverage-map-shell { position: sticky; top: calc(var(--header-height) + var(--space-2)); min-height: 26.25rem; overflow: hidden; border: 1px solid rgba(0, 70, 176, .1); border-radius: 24px; background: #dbeafe; box-shadow: 0 24px 60px rgba(0, 35, 110, .12); }
.coverage-map-toolbar { position: absolute; z-index: 2; top: 1.125rem; right: 1.125rem; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .6rem; pointer-events: none; }
.coverage-map-pill { display: inline-flex; align-items: center; gap: .5rem; padding: .56rem .75rem; border-radius: var(--radius-pill); color: var(--blue-deep); background: rgba(255, 255, 255, .92); box-shadow: 0 10px 24px rgba(0, 35, 110, .08); font-size: .7rem; font-weight: 800; letter-spacing: .7px; text-transform: uppercase; }
.coverage-map { position: absolute; inset: 0; z-index: 1; }
.coverage-map-fallback { position: absolute; inset: 0; display: grid; place-items: center; padding: var(--space-4); color: var(--blue-deep); font-size: .85rem; font-weight: 700; text-align: center; }
.coverage-label-wrap { border: 0; background: transparent; }
.coverage-label { display: inline-flex; padding: .38rem .62rem; border: 1px solid rgba(0, 70, 176, .08); border-radius: var(--radius-pill); color: var(--dark); background: var(--white); box-shadow: 0 8px 22px rgba(0, 35, 110, .12); font: 800 .72rem/1.1 var(--font); white-space: nowrap; }
.coverage-label.iblaze { color: var(--orange-dark); border-color: rgba(242, 100, 19, .25); background: var(--white); }
.coverage-label.fiberlink { color: var(--blue-primary); border-color: rgba(0, 70, 176, .18); background: var(--white); }
.coverage-map-shell .leaflet-popup-content-wrapper { border-radius: var(--radius-md); }
.coverage-map-shell .leaflet-popup-content { margin: .75rem .875rem; font-family: var(--font); }
.coverage-map-shell .leaflet-popup-content strong { display: block; margin-bottom: .25rem; color: var(--dark); font-size: .86rem; }
.coverage-map-shell .leaflet-popup-content span { display: block; color: var(--muted); font-size: .76rem; line-height: 1.55; }

@media (max-width: 768px) {
  .coverage-layout { grid-template-columns: 1fr; }
  .coverage-map-shell { position: relative; top: auto; order: -1; min-height: 25rem; }
  .coverage-map-toolbar { flex-direction: column; align-items: flex-end; }
}

@media (max-width: 600px) {
  .coverage-section { padding-block: var(--section-space-y-mobile); }
  .coverage-tab-sub { display: none; }
  .coverage-items { grid-template-columns: 1fr; }
  .coverage-map-shell { min-height: 23rem; border-radius: var(--radius-lg); }
  .coverage-map-toolbar { top: .75rem; right: .75rem; }
  .coverage-map-pill { padding: .5rem .6rem; font-size: .63rem; }
}
