@import url('https://fonts.googleapis.com/css2?family=Syne:wght@400;500;600;700;800&family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap');

/* ═══════════════════════════════════════════════════════
   HITECHFIBRE — LIGHT / 3D / PREMIUM REDESIGN 2026
   Completely different aesthetic: white, bold, depth
   ═══════════════════════════════════════════════════════ */

:root {
  /* Palette */
  --bg:        #f4f7ff;
  --bg2:       #edf1fb;
  --white:     #ffffff;
  --blue:      #1a56db;
  --blue-dark: #0d3bb2;
  --blue-glow: rgba(26,86,219,.18);
  --orange:    #ff5e00;
  --orange-lt: rgba(255,94,0,.1);
  --text:      #0e1628;
  --text2:     #3d4f6e;
  --muted:     #7a8aaa;
  --border:    rgba(14,22,40,.09);
  --border2:   rgba(26,86,219,.18);
  --green:     #00b96b;
  --red:       #e53935;
  --amber:     #f59e0b;

  /* Depth shadows */
  --s1: 0 1px 3px rgba(0,0,0,.06), 0 4px 14px rgba(0,0,0,.05);
  --s2: 0 2px 8px rgba(0,0,0,.07), 0 12px 32px rgba(0,0,0,.08), 0 0 0 1px rgba(0,0,0,.04);
  --s3: 0 4px 12px rgba(0,0,0,.08), 0 20px 50px rgba(0,0,0,.12), 0 0 0 1px rgba(0,0,0,.04);
  --blue-shadow: 0 8px 24px rgba(26,86,219,.28), 0 2px 6px rgba(26,86,219,.2);

  --r:   14px;
  --max: 1280px;
  --ease: cubic-bezier(.22,.68,0,1.18);
}

*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body {
  font-family:'Inter',system-ui,sans-serif;
  background:var(--bg);
  color:var(--text);
  min-height:100vh;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
a { text-decoration:none; color:inherit; }
button,input,select,textarea { font:inherit; }
img { display:block; max-width:100%; }
.container { max-width:var(--max); margin:0 auto; padding:0 clamp(16px,4vw,32px); }

/* ─── 3D CANVAS BG ─────────────────────────── */
#bg3d {
  position:fixed; inset:0; z-index:-1; overflow:hidden;
  background:
    radial-gradient(ellipse 80% 55% at 0% 0%,   rgba(26,86,219,.07) 0%, transparent 60%),
    radial-gradient(ellipse 60% 50% at 100% 100%, rgba(255,94,0,.05)  0%, transparent 55%),
    radial-gradient(ellipse 100% 80% at 50% -10%, rgba(26,86,219,.05) 0%, transparent 50%),
    var(--bg);
}
#bg3d canvas { width:100%; height:100%; display:block; opacity:.45; }
#bg3d::after {
  content:""; position:absolute; inset:0; pointer-events:none;
  background-image:
    linear-gradient(rgba(26,86,219,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(26,86,219,.025) 1px, transparent 1px);
  background-size:72px 72px;
  mask-image:radial-gradient(ellipse 80% 80% at 50% 0%, black 30%, transparent 100%);
}

/* ─── ANNOUNCEMENT BAR ─────────────────────── */
.announcement-bar {
  background:var(--blue); overflow:hidden;
  position:relative;
}
.announcement-bar::before {
  content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.12),rgba(255,255,255,0));
  transform:translateX(-100%);
  animation:sweep 7s ease-in-out infinite;
}
@keyframes sweep { 0%,100%{transform:translateX(-100%)} 60%{transform:translateX(100%)} }
.announcement-marquee { overflow:hidden; white-space:nowrap; padding:8px 0; }
.announcement-track {
  display:inline-flex; gap:80px; min-width:max-content;
  animation:ticker var(--announcement-duration,24s) linear infinite;
  padding-left:100%;
}
.announcement-track span { font-size:11px; font-weight:600; letter-spacing:.1em; color:rgba(255,255,255,.85); text-transform:uppercase; }
@keyframes ticker { 0%{transform:translateX(0)} 100%{transform:translateX(-66.666%)} }

/* ─── TOPBAR ────────────────────────────────── */
.topbar {
  position:sticky; top:0; z-index:50;
  background:rgba(255,255,255,.95);
  border-bottom:1px solid var(--border);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  box-shadow:0 1px 0 rgba(0,0,0,.06), 0 4px 20px rgba(0,0,0,.04);
}
.topbar::after { display:none; }
.nav-shell { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px clamp(16px,4vw,32px); }
.brand--logo-only { display:flex; align-items:center; flex-shrink:0; }
.site-logo { max-height:46px; width:auto; object-fit:contain; transition:opacity .2s; }
.site-logo:hover { opacity:.8; }
.brand-fallback { display:flex; flex-direction:column; gap:1px; }
.brand-fallback strong { font-size:17px; font-weight:800; font-family:'Syne',sans-serif; color:var(--text); }
.brand-fallback span { font-size:10px; color:var(--muted); }
.nav-links { display:flex; gap:2px; }
.nav-links a {
  padding:8px 13px; border-radius:9px; font-size:14px; font-weight:500;
  color:var(--text2); transition:color .18s,background .18s;
}
.nav-links a:hover { color:var(--blue); background:rgba(26,86,219,.06); }
.nav-links a::after { display:none; }
.nav-actions { display:flex; align-items:center; gap:8px; }

/* ─── BUTTONS ───────────────────────────────── */
.primary-btn,.ghost-btn {
  display:inline-flex; align-items:center; justify-content:center;
  gap:7px; padding:10px 22px; border-radius:10px;
  font-size:14px; font-weight:600; cursor:pointer; border:2px solid transparent;
  transition:transform .18s var(--ease), box-shadow .2s, background .18s, color .18s;
  -webkit-tap-highlight-color:transparent; white-space:nowrap;
  letter-spacing:-.01em;
}
.primary-btn {
  background:var(--blue); color:#fff;
  box-shadow:var(--blue-shadow);
}
.primary-btn:hover {
  background:var(--blue-dark);
  box-shadow:0 12px 32px rgba(26,86,219,.38), 0 2px 6px rgba(26,86,219,.25);
  transform:translateY(-2px);
}
.primary-btn:active { transform:translateY(0) scale(.97); transition-duration:.07s; }
.primary-btn.large { padding:13px 28px; font-size:15px; border-radius:12px; }
.ghost-btn {
  background:transparent; border-color:var(--border);
  color:var(--text2); box-shadow:var(--s1);
}
.ghost-btn:hover { border-color:var(--blue); color:var(--blue); background:rgba(26,86,219,.04); transform:translateY(-1px); }
.ghost-btn.large { padding:13px 28px; font-size:15px; border-radius:12px; }

/* ─── PILL / TAG / CHIP ─────────────────────── */
.pill,.section-tag,.status-chip { display:inline-flex; align-items:center; font-weight:700; }
.pill {
  padding:5px 13px; font-size:11px; border-radius:999px;
  background:rgba(26,86,219,.08); border:1px solid var(--border2);
  color:var(--blue); letter-spacing:.02em;
}
.pill.small { padding:3px 9px; font-size:10px; }
.section-tag {
  padding:5px 12px; font-size:10px; letter-spacing:.14em; text-transform:uppercase;
  background:rgba(26,86,219,.07); border:1.5px solid var(--border2);
  color:var(--blue); border-radius:7px; margin-bottom:14px; font-weight:700;
}
.status-chip { padding:5px 12px; font-size:11px; border-radius:999px; letter-spacing:.03em; }
.status-chip.healthy { background:rgba(0,185,107,.1); border:1px solid rgba(0,185,107,.25); color:var(--green); }
.status-chip.warning { background:rgba(245,158,11,.1); border:1px solid rgba(245,158,11,.3); color:var(--amber); }

/* ─── GLASS CARD → now white card with depth ── */
.glass-card {
  background:var(--white);
  border:1px solid var(--border);
  border-radius:20px;
  padding:28px;
  box-shadow:var(--s2);
  position:relative; overflow:hidden;
}

/* ─── HAMBURGER ─────────────────────────────── */
.hamburger {
  display:none; flex-direction:column; justify-content:center; align-items:center;
  gap:5px; width:40px; height:40px; border-radius:10px;
  border:1.5px solid var(--border); background:var(--white);
  cursor:pointer; box-shadow:var(--s1);
  -webkit-tap-highlight-color:transparent;
}
.hamburger span { display:block; width:18px; height:2px; background:var(--text); border-radius:2px; transition:transform .25s,opacity .2s; }
.hamburger.open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.hamburger.open span:nth-child(2) { opacity:0; }
.hamburger.open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

/* ─── MOBILE NAV ────────────────────────────── */
.mobile-nav {
  display:none; flex-direction:column;
  position:fixed; top:0; left:0; right:0; bottom:0; z-index:49;
  background:rgba(255,255,255,.98); padding:88px 24px 32px;
  gap:4px; transform:translateX(-100%);
  transition:transform .3s cubic-bezier(.4,0,.2,1);
  backdrop-filter:blur(20px);
}
.mobile-nav.open { transform:translateX(0); }
.mobile-nav-link {
  padding:14px 18px; font-size:17px; font-weight:600;
  color:var(--text2); border-radius:12px;
  transition:all .18s;
}
.mobile-nav-link:hover { color:var(--blue); background:rgba(26,86,219,.06); }

/* ═══ HERO ══════════════════════════════════════════════════════════════ */
.hero-section {
  position:relative;
  padding:clamp(60px,9vw,110px) 0 clamp(40px,6vw,70px);
  overflow:hidden;
}
/* Big decorative blobs */
.hero-bg-grid { position:absolute; inset:0; pointer-events:none; }
.hero-glow {
  position:absolute; border-radius:50%; pointer-events:none;
  filter:blur(100px);
}
.hero-glow-1 { width:700px; height:700px; top:-200px; right:-80px;  background:rgba(26,86,219,.1);  }
.hero-glow-2 { width:500px; height:500px; bottom:-150px; left:-80px; background:rgba(255,94,0,.07); }
.hero-lines,.hero-particles { position:absolute; pointer-events:none; }
.hero-particles span {
  position:absolute; display:block; width:6px; height:6px; border-radius:50%;
  background:var(--blue); opacity:0;
  animation:float-dot 7s ease-in-out infinite;
}
.hero-particles span:nth-child(1){top:15%;left:8%;animation-delay:0s;}
.hero-particles span:nth-child(2){width:4px;height:4px;top:60%;left:5%;animation-delay:1.5s;background:var(--orange);}
.hero-particles span:nth-child(3){width:8px;height:8px;top:25%;right:12%;animation-delay:3s;}
.hero-particles span:nth-child(4){width:4px;height:4px;top:75%;right:8%;animation-delay:2s;background:var(--orange);}
.hero-particles span:nth-child(5){top:50%;left:45%;animation-delay:4s;}
.hero-particles span:nth-child(6){width:4px;height:4px;top:10%;right:35%;animation-delay:0.8s;}
@keyframes float-dot { 0%,100%{opacity:0;transform:translateY(0)} 20%,80%{opacity:.6} 50%{opacity:.3;transform:translateY(-20px)} }

.hero-grid {
  display:grid; grid-template-columns:1fr 1fr;
  gap:clamp(24px,4vw,56px); align-items:start;
}
.hero-copy { padding-top:clamp(8px,2vw,24px); }
.hero-copy h1 {
  font-family:'Syne',sans-serif;
  font-size:clamp(38px,5.5vw,72px);
  font-weight:800; line-height:1.0; letter-spacing:-.04em;
  margin:16px 0 20px; color:var(--text);
}
.hero-copy h1 span { display:block; }
.hero-copy h1 .accent {
  color:var(--blue);
  /* 3D text effect */
  text-shadow:
    3px  3px  0  rgba(26,86,219,.12),
    6px  6px  0  rgba(26,86,219,.07),
    9px  9px  0  rgba(26,86,219,.04);
}
.hero-copy p { color:var(--text2); font-size:clamp(14px,1.5vw,17px); line-height:1.78; max-width:480px; }
.hero-cta-row { display:flex; gap:10px; flex-wrap:wrap; margin-top:28px; align-items:center; }
.hero-mini-stats { display:flex; gap:10px; flex-wrap:wrap; margin-top:30px; }
.hero-mini-stats div {
  flex:1; min-width:100px; padding:14px 16px; border-radius:14px;
  background:var(--white); border:1px solid var(--border); box-shadow:var(--s1);
  /* 3D lift on hover */
  transition:transform .3s var(--ease), box-shadow .3s;
  transform:perspective(800px) translateZ(0);
}
.hero-mini-stats div:hover {
  transform:perspective(800px) translateZ(12px) translateY(-3px);
  box-shadow:var(--s3);
}
.hero-mini-stats strong { display:block; font-size:24px; font-weight:800; font-family:'Syne',sans-serif; color:var(--blue); line-height:1.1; }
.hero-mini-stats span { display:block; margin-top:3px; font-size:10px; color:var(--muted); letter-spacing:.05em; text-transform:uppercase; font-weight:600; }
.hero-side-stack { display:flex; flex-direction:column; gap:14px; }

/* ─── Status card ── */
.modern-status-card {
  background:var(--white); border:1px solid var(--border);
  border-radius:18px; padding:20px; box-shadow:var(--s2);
  position:relative; overflow:hidden;
  /* 3D tilt */
  transform:perspective(1200px) rotateX(1.5deg) rotateY(-1deg);
  transition:transform .35s var(--ease), box-shadow .3s;
}
.modern-status-card:hover {
  transform:perspective(1200px) rotateX(0) rotateY(0) translateZ(8px);
  box-shadow:var(--s3);
}
.modern-status-card::before {
  content:""; position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg, var(--blue), rgba(26,86,219,.3), var(--blue));
}
.status-card-header { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; margin-bottom:14px; flex-wrap:wrap; }
.status-overline { font-size:9px; text-transform:uppercase; letter-spacing:.14em; color:var(--muted); margin-bottom:4px; font-weight:600; }
.status-card-header h3 { font-size:15px; font-weight:700; font-family:'Syne',sans-serif; color:var(--text); margin:2px 0 4px; }
.status-card-header p { font-size:11px; color:var(--muted); margin:0; }
.status-preview-item { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; padding:12px 14px; border-radius:11px; background:var(--bg); border:1px solid var(--border); margin-bottom:10px; }
.status-preview-item.modern { align-items:flex-start; }
.status-preview-item strong { display:block; font-size:13px; font-weight:700; color:var(--text); margin-bottom:3px; }
.status-preview-item span { font-size:12px; color:var(--muted); line-height:1.55; }
.status-preview-item a { font-size:11px; color:var(--blue); white-space:nowrap; font-weight:600; }
.status-metrics-row { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.status-metric { padding:10px 12px; border-radius:9px; background:var(--bg); border:1px solid var(--border); }
.status-metric small { display:block; font-size:9px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); margin-bottom:3px; font-weight:600; }
.status-metric strong { font-size:12px; font-weight:700; }
.status-metric.healthy strong { color:var(--green); }
.status-metric.warning strong { color:var(--amber); }
.status-metric.neutral strong { color:var(--blue); }

/* ─── Search panel ── */
.hero-search-panel {
  border:2px solid var(--blue) !important;
  box-shadow:0 8px 32px rgba(26,86,219,.14), var(--s2) !important;
  transform:perspective(1200px) rotateX(-1deg) rotateY(.5deg);
  transition:transform .35s var(--ease), box-shadow .3s;
}
.hero-search-panel:hover {
  transform:perspective(1200px) rotateX(0) rotateY(0) translateZ(8px);
  box-shadow:0 16px 48px rgba(26,86,219,.2), var(--s3) !important;
}
.search-panel h2 { font-family:'Syne',sans-serif; font-size:clamp(18px,2vw,24px); font-weight:800; margin:0 0 8px; color:var(--text); letter-spacing:-.025em; line-height:1.1; }
.search-panel p { color:var(--muted); font-size:13px; line-height:1.7; margin-bottom:16px; }
.search-row { display:flex; gap:8px; }
.search-row input {
  flex:1; padding:12px 16px; background:var(--bg);
  border:1.5px solid var(--border); border-radius:11px;
  color:var(--text); font-size:14px; outline:none; min-width:0;
  transition:border-color .2s, box-shadow .2s;
}
.search-row input:focus { border-color:var(--blue); box-shadow:0 0 0 3px rgba(26,86,219,.1); }
.search-row input::placeholder { color:var(--muted); }
.search-status { margin-top:9px; font-size:12px; color:var(--muted); min-height:17px; transition:color .2s; font-weight:500; }
.search-status.loading { color:var(--blue); }
.search-status.success { color:var(--green); }
.search-status.warning { color:var(--amber); }
.hero-visual-row { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.hero-visual-card { display:flex; gap:10px; align-items:center; padding:12px 14px; border-radius:13px; background:var(--white); border:1px solid var(--border); box-shadow:var(--s1); transition:box-shadow .2s,transform .2s; }
.hero-visual-card:hover { box-shadow:var(--s2); transform:translateY(-2px); }
.hero-visual-card img { width:38px; height:38px; border-radius:9px; object-fit:cover; flex-shrink:0; }
.hero-visual-card strong { display:block; font-size:12px; font-weight:700; color:var(--text); }
.hero-visual-card span { display:block; font-size:11px; color:var(--muted); line-height:1.45; margin-top:2px; }

/* ═══ INFO STRIP ═════════════════════════════════════════════════════ */
.info-strip { padding:0 0 clamp(24px,4vw,48px); }
.info-strip-grid {
  display:grid; grid-template-columns:repeat(4,1fr); gap:0;
  background:var(--white); border-radius:18px;
  border:1px solid var(--border); box-shadow:var(--s2);
  overflow:hidden;
  /* 3D card effect */
  transform:perspective(1400px) rotateX(1deg);
  transition:transform .4s var(--ease);
}
.info-strip-grid:hover { transform:perspective(1400px) rotateX(0); }
.info-box {
  display:flex; flex-direction:column; gap:5px;
  padding:22px 24px; border-right:1px solid var(--border);
  transition:background .2s, transform .25s var(--ease);
  transform-style:preserve-3d;
  cursor:default;
}
.info-box:last-child { border-right:none; }
.info-box:hover {
  background:rgba(26,86,219,.04);
  transform:translateZ(6px);
  box-shadow:0 -4px 0 var(--blue) inset;
}
.info-box strong { font-size:14px; font-weight:700; color:var(--text); font-family:'Syne',sans-serif; }
.info-box span { font-size:12px; color:var(--muted); line-height:1.55; }

/* ═══ SECTIONS ════════════════════════════════════════════════════════ */
.coverage-launch,.packages-preview,.business-section,.contact-section {
  padding:clamp(32px,5vw,64px) 0;
}
.section-head { margin-bottom:32px; }
.section-head.split { display:flex; justify-content:space-between; align-items:flex-start; gap:24px; flex-wrap:wrap; }
.section-head h2,.how-it-works-card h2,.business-section h2,.contact-section h2 {
  font-family:'Syne',sans-serif;
  font-size:clamp(24px,3.5vw,42px);
  font-weight:800; letter-spacing:-.03em; line-height:1.08;
  color:var(--text); margin:0 0 10px;
}
.section-head p,.coverage-launch p,.business-section p,.contact-section p {
  color:var(--muted); font-size:14px; line-height:1.78;
}

/* How it works */
.coverage-launch-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; align-items:start; }
.how-it-works-card { padding:32px; }
.how-it-works-card::before { display:none; }
.how-it-works-card h2 { margin-bottom:10px; }
.how-it-works-card > p { margin-bottom:24px; }
.how-it-works-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.how-step-card {
  padding:16px 18px; border-radius:13px;
  background:var(--bg); border:1px solid var(--border);
  transition:all .3s var(--ease);
  transform:perspective(700px) translateZ(0);
  position:relative; overflow:hidden;
}
.how-step-card::before {
  content:""; position:absolute; left:0; top:0; bottom:0; width:3px;
  background:var(--blue); border-radius:3px 0 0 3px;
  opacity:0; transition:opacity .2s;
}
.how-step-card:hover { transform:perspective(700px) translateZ(8px) translateY(-3px); box-shadow:var(--s2); }
.how-step-card:hover::before { opacity:1; }
.how-step-card strong { display:block; font-size:13px; font-weight:700; color:var(--blue); margin-bottom:5px; font-family:'Syne',sans-serif; }
.how-step-card span { font-size:12px; color:var(--muted); line-height:1.55; }

/* Benefits */
.benefit-stack-card { display:flex; flex-direction:column; gap:0; padding:0; overflow:hidden; }
.benefit-stack-card::before { display:none; }
.benefit-item {
  display:flex; flex-direction:column; gap:5px;
  padding:22px 24px; border-bottom:1px solid var(--border);
  transition:background .2s,padding-left .2s;
  position:relative;
}
.benefit-item::before { content:""; position:absolute; left:0; top:20%; bottom:20%; width:0; background:var(--blue); transition:width .2s; border-radius:0 3px 3px 0; }
.benefit-item:last-child { border-bottom:none; }
.benefit-item:hover { background:rgba(26,86,219,.03); padding-left:28px; }
.benefit-item:hover::before { width:3px; }
.benefit-item strong { font-size:14px; font-weight:700; color:var(--text); }
.benefit-item span { font-size:12px; color:var(--muted); line-height:1.6; }
.compact-top { margin-top:0; }

/* ═══ PROVIDERS / PACKAGES ════════════════════════════════════════════ */
.provider-cards.preview-only { margin-top:20px; }
.provider-summary { color:var(--muted); font-size:13px; line-height:1.6; }
.provider-summary.empty { font-style:italic; }
.provider-summary-block { padding:12px 16px; border-radius:11px; background:var(--bg); border:1px solid var(--border); font-size:13px; color:var(--muted); margin-bottom:16px; }

/* Provider selector */
.provider-selector-wrap { display:flex; flex-direction:column; gap:12px; }
.provider-selector-featured-label {
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
  padding:9px 16px; background:rgba(26,86,219,.05);
  border-left:3px solid var(--blue); border-radius:0 10px 10px 0;
}
.provider-selector-featured-badge {
  display:inline-flex; align-items:center; gap:5px;
  background:var(--blue); color:#fff;
  font-weight:700; font-size:10px; padding:3px 11px; border-radius:999px;
  letter-spacing:.06em; text-transform:uppercase;
  box-shadow:0 3px 10px rgba(26,86,219,.3);
}
.provider-selector-featured-sub { font-size:11px; color:var(--muted); }
.provider-selector-row { display:grid; grid-template-columns:repeat(auto-fill,minmax(96px,1fr)); gap:9px; }
.provider-selector {
  display:flex; align-items:center; justify-content:center; flex-direction:column;
  gap:5px; min-height:80px; padding:10px 8px;
  border-radius:13px; background:var(--white);
  border:1.5px solid var(--border); cursor:pointer; position:relative; overflow:hidden;
  box-shadow:var(--s1);
  transition:transform .3s var(--ease), box-shadow .25s, border-color .2s;
  -webkit-tap-highlight-color:transparent;
}
.provider-selector:hover {
  transform:perspective(600px) translateZ(10px) translateY(-3px);
  box-shadow:var(--s3); border-color:var(--blue);
}
.provider-selector.active {
  background:rgba(26,86,219,.06);
  border-color:var(--blue);
  box-shadow:0 0 0 3px rgba(26,86,219,.12), var(--s2);
}
.provider-selector--featured {
  border:2px solid var(--blue) !important;
  background:rgba(26,86,219,.04) !important;
  box-shadow:0 4px 20px rgba(26,86,219,.15), var(--s2) !important;
  animation:feat-pulse 3s ease-in-out infinite;
}
@keyframes feat-pulse { 0%,100%{box-shadow:0 4px 20px rgba(26,86,219,.15),var(--s2)} 50%{box-shadow:0 8px 32px rgba(26,86,219,.25),var(--s3)} }
.provider-selector--featured.active { animation:none; }
.provider-selector__featured-star { position:absolute; top:5px; right:7px; font-size:11px; color:#f59e0b; line-height:1; }
.provider-selector__featured-label { font-size:8px; font-weight:800; color:var(--blue); letter-spacing:.08em; text-transform:uppercase; }
.provider-selector__logo-wrap { display:flex; align-items:center; justify-content:center; width:100%; height:48px; background:#f8faff; border:1px solid var(--border); border-radius:8px; padding:6px 8px; overflow:hidden; }
.provider-selector__logo-wrap--compact { height:38px; }
.provider-selector__logo-wrap img,.provider-pill img { display:block; max-width:100%; max-height:100%; width:auto!important; height:auto!important; object-fit:contain; }
.provider-selector-name { font-size:11px; font-weight:700; color:var(--text); text-align:center; line-height:1.2; }
.provider-selector-name.only { min-height:30px; display:flex!important; align-items:center; }

/* Package panel */
.provider-package-panel { border:1px solid var(--border); border-radius:16px; overflow:hidden; box-shadow:var(--s1); }
.provider-package-panel__head { display:flex; align-items:center; gap:12px; padding:14px 18px; background:var(--bg); border-bottom:1px solid var(--border); }
.provider-package-panel__head strong { color:var(--text); font-size:14px; font-weight:700; }
.muted-copy { font-size:11px; color:var(--muted); margin-top:2px; }
.package-slider-shell { padding:16px 18px; }
.package-slider-nav { display:flex; justify-content:space-between; align-items:center; margin-bottom:14px; }
.package-slider-nav h4 { font-size:13px; font-weight:700; color:var(--text); }
.package-slider-buttons { display:flex; gap:6px; }
.package-slider-btn {
  width:34px; height:34px; border-radius:9px;
  border:1.5px solid var(--border); background:var(--white);
  color:var(--text); font-size:18px; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  box-shadow:var(--s1); transition:all .18s;
  -webkit-tap-highlight-color:transparent;
}
.package-slider-btn:hover { border-color:var(--blue); color:var(--blue); box-shadow:var(--s2); }
.package-slider-track { display:flex; gap:12px; overflow-x:auto; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; padding-bottom:6px; scrollbar-width:none; }
.package-slider-track::-webkit-scrollbar { display:none; }
.package-slide {
  flex:0 0 220px; scroll-snap-align:start;
  background:var(--white); border:1.5px solid var(--border); border-radius:14px; padding:18px;
  display:flex; flex-direction:column; gap:10px;
  box-shadow:var(--s1);
  transition:all .3s var(--ease);
  transform:perspective(700px) translateZ(0);
}
.package-slide:hover {
  border-color:var(--blue);
  box-shadow:var(--s3);
  transform:perspective(700px) translateZ(12px) translateY(-4px);
}
.package-slide strong { font-size:14px; font-weight:700; color:var(--text); }
.package-slide .speed { font-size:11px; color:var(--blue); margin-top:2px; font-weight:600; }
.package-slide .install { font-size:10px; color:var(--muted); margin-top:1px; }
.package-slide .price { font-size:26px; font-weight:800; color:var(--blue); font-family:'Syne',sans-serif; margin-top:auto; }
.package-slide .price small { font-size:12px; font-weight:400; color:var(--muted); }

/* Provider cards (coverage results) */
.provider-card { border-radius:14px; overflow:hidden; border:1px solid var(--border); box-shadow:var(--s1); }
.provider-card__head { display:flex; align-items:center; justify-content:space-between; padding:14px 18px; }
.provider-card__head span { font-size:11px; color:rgba(255,255,255,.75); }
.provider-card__body { padding:12px 16px; background:var(--white); }
.plan-row { display:flex; align-items:center; gap:12px; padding:10px 0; border-bottom:1px solid var(--border); }
.plan-row:last-child { border-bottom:none; }
.plan-row > div:first-child { flex:1; }
.plan-row strong { font-size:13px; font-weight:700; color:var(--text); }
.plan-row small { display:block; font-size:11px; color:var(--muted); margin-top:2px; }
.plan-row .price { font-size:15px; font-weight:800; color:var(--blue); white-space:nowrap; font-family:'Syne',sans-serif; }
.provider-pill { display:flex; align-items:center; gap:8px; }
.provider-pill--text .provider-fallback-name { font-size:13px; font-weight:700; color:var(--text); }
.provider-fallback-name { font-size:12px; font-weight:700; }
.choose-plan {
  padding:7px 14px; border-radius:8px; font-size:12px; font-weight:700;
  background:var(--blue); border:none; color:#fff; cursor:pointer;
  transition:opacity .18s,transform .15s; white-space:nowrap;
  box-shadow:0 3px 8px rgba(26,86,219,.25);
  -webkit-tap-highlight-color:transparent;
}
.choose-plan:hover { opacity:.9; transform:scale(1.04); }

/* No coverage card */
.no-coverage-card {
  background:var(--white); border:1.5px solid var(--border);
  border-radius:18px; padding:32px; text-align:center;
  max-width:500px; margin:0 auto; box-shadow:var(--s2);
}
.no-coverage-icon { font-size:40px; margin-bottom:14px; }
.no-coverage-card h3 { font-size:20px; font-weight:800; margin-bottom:10px; font-family:'Syne',sans-serif; color:var(--text); }
.no-coverage-card p { color:var(--muted); font-size:13px; line-height:1.65; margin-bottom:20px; }
.no-coverage-form { text-align:left; }
.ncf-row { display:grid; grid-template-columns:1fr 1fr; gap:9px; margin-bottom:9px; }
.ncf-input {
  width:100%; padding:10px 14px; background:var(--bg);
  border:1.5px solid var(--border); border-radius:10px;
  color:var(--text); font-size:13px; outline:none;
  transition:border-color .2s, box-shadow .2s;
}
.ncf-input:focus { border-color:var(--blue); box-shadow:0 0 0 3px rgba(26,86,219,.1); }
.ncf-input::placeholder { color:var(--muted); }
.ncf-btn {
  width:100%; margin-top:10px; padding:12px;
  background:var(--blue); color:#fff; font-weight:700; font-size:14px;
  border:none; border-radius:10px; cursor:pointer;
  box-shadow:var(--blue-shadow);
  transition:opacity .2s, transform .15s;
}
.ncf-btn:hover { opacity:.92; transform:translateY(-1px); }
.ncf-btn:disabled { opacity:.5; cursor:not-allowed; transform:none; }
.ncf-note { font-size:11px; text-align:center; margin-top:7px; min-height:15px; }

/* ═══ BUSINESS ═══════════════════════════════════════════════════════ */
.business-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; align-items:start; }
.business-section .glass-card::before { display:none; }
.mini-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; padding:20px; }
.mini-card {
  padding:16px 18px; border-radius:13px; background:var(--bg);
  border:1px solid var(--border);
  transition:all .3s var(--ease);
  transform:perspective(700px) translateZ(0);
}
.mini-card:hover {
  transform:perspective(700px) translateZ(8px) translateY(-3px);
  box-shadow:var(--s2); background:var(--white);
  border-color:var(--blue);
}
.mini-card strong { display:block; font-size:13px; font-weight:700; color:var(--blue); margin-bottom:5px; font-family:'Syne',sans-serif; }
.mini-card span { font-size:12px; color:var(--muted); line-height:1.5; }

/* ═══ CONTACT ═════════════════════════════════════════════════════════ */
.contact-section { padding-bottom:clamp(48px,7vw,90px); }
.contact-card { display:flex; flex-direction:column; gap:26px; padding:clamp(24px,4vw,40px); }
.contact-card::before { display:none; }
.contact-stack { align-items:stretch!important; }
.contact-top { display:flex; justify-content:space-between; gap:20px; align-items:flex-start; flex-wrap:wrap; }
.contact-top h2 { margin:0 0 8px; }
.contact-pills { display:flex; flex-wrap:wrap; gap:8px; }
.contact-pills span {
  display:inline-flex; align-items:center; gap:7px;
  padding:9px 16px; border-radius:10px;
  background:var(--bg); border:1px solid var(--border);
  font-size:13px; font-weight:600; color:var(--text2);
  box-shadow:var(--s1);
}

/* ─── SUPPORT FORM ─── */
.htf-support-form-wrap {
  background:var(--white); border:1.5px solid var(--border);
  border-radius:20px; padding:clamp(20px,4vw,34px);
  box-shadow:var(--s2); position:relative; overflow:hidden;
}
.htf-support-form-wrap::before {
  content:""; position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg,var(--blue),rgba(26,86,219,.4),var(--blue));
}
.htf-form-header {
  display:flex; align-items:flex-start; justify-content:space-between;
  gap:18px; flex-wrap:wrap; padding-bottom:22px; margin-bottom:24px;
  border-bottom:1px solid var(--border);
}
.htf-form-header__left { display:flex; align-items:flex-start; gap:14px; flex:1; min-width:200px; }
.htf-form-header__icon { font-size:28px; line-height:1; flex-shrink:0; margin-top:2px; }
.htf-form-title { font-size:19px; font-weight:800; font-family:'Syne',sans-serif; color:var(--text); margin:4px 0 5px; line-height:1.1; }
.htf-form-subtitle { margin:0; font-size:13px; color:var(--muted); line-height:1.65; }
.htf-type-pills { display:flex; flex-wrap:wrap; gap:7px; align-items:center; }
.htf-type-pill {
  display:inline-flex; align-items:center; gap:5px; padding:7px 13px;
  background:var(--bg); border:1.5px solid var(--border);
  border-radius:999px; color:var(--muted); font-size:12px; font-weight:600;
  cursor:pointer; transition:all .18s; white-space:nowrap;
  -webkit-tap-highlight-color:transparent;
}
.htf-type-pill:hover { border-color:var(--blue); color:var(--blue); background:rgba(26,86,219,.04); }
.htf-type-pill.active { background:rgba(26,86,219,.08); border-color:var(--blue); color:var(--blue); box-shadow:0 2px 8px rgba(26,86,219,.15); }
.htf-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px 20px; }
.htf-field { display:flex; flex-direction:column; gap:6px; }
.htf-field--full { grid-column:1/-1; }
.htf-label { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:var(--blue); }
.htf-label span { color:var(--red); margin-left:1px; }
.htf-input {
  background:var(--bg); border:1.5px solid var(--border);
  border-radius:11px; padding:11px 15px; color:var(--text);
  font-size:14px; font-family:inherit; outline:none; width:100%;
  transition:border-color .18s, box-shadow .18s; -webkit-appearance:none;
}
.htf-input:focus { border-color:var(--blue); box-shadow:0 0 0 3px rgba(26,86,219,.1); background:var(--white); }
.htf-input::placeholder { color:var(--muted); }
.htf-input--error { border-color:var(--red)!important; animation:shake .35s ease; }
@keyframes shake { 0%,100%{transform:translateX(0)} 20%,60%{transform:translateX(-5px)} 40%,80%{transform:translateX(5px)} }
.htf-textarea { resize:vertical; min-height:108px; line-height:1.6; }
.htf-priority-row { gap:8px; }
.htf-priority-opts { display:flex; gap:8px; flex-wrap:wrap; }
.htf-prio {
  display:inline-flex; align-items:center; gap:6px; padding:8px 14px;
  border-radius:10px; border:1.5px solid var(--border);
  background:var(--bg); font-size:13px; font-weight:600;
  cursor:pointer; user-select:none; transition:all .18s;
  -webkit-tap-highlight-color:transparent;
}
.htf-prio input { display:none; }
.htf-prio--low:has(input:checked)  { background:rgba(0,185,107,.08);  border-color:var(--green);  color:var(--green);  }
.htf-prio--med:has(input:checked)  { background:rgba(245,158,11,.1);  border-color:var(--amber);  color:var(--amber);  }
.htf-prio--high:has(input:checked) { background:rgba(229,57,53,.08);  border-color:var(--red);    color:var(--red);    }
.htf-prio:hover { border-color:var(--blue); }
.htf-progress-track { height:3px; background:var(--bg2); border-radius:999px; overflow:hidden; margin-top:8px; flex:1; }
.htf-progress-fill { height:100%; width:0%; background:linear-gradient(90deg,var(--blue),#5b8df5); border-radius:999px; transition:width .35s ease; }
.htf-submit-row { display:flex; align-items:center; gap:16px; margin-top:24px; flex-wrap:wrap; }
.htf-submit-btn { display:inline-flex; align-items:center; gap:8px; flex-shrink:0; }
.htf-btn-text { display:inline; }
.htf-btn-spin { display:none; width:14px; height:14px; border:2px solid rgba(255,255,255,.3); border-top-color:#fff; border-radius:50%; animation:spin .65s linear infinite; }
@keyframes spin { to{transform:rotate(360deg)} }
.htf-submit-btn.loading .htf-btn-text { display:none; }
.htf-submit-btn.loading .htf-btn-spin { display:block; }
.htf-submit-note { font-size:12px; color:var(--muted); line-height:1.55; margin:0; }
.htf-form-status { display:none; margin-top:16px; padding:14px 18px; border-radius:12px; font-size:14px; line-height:1.5; }
.htf-form-status--ok  { display:block; background:rgba(0,185,107,.08); border:1.5px solid rgba(0,185,107,.3);  color:#00905b; font-weight:500; }
.htf-form-status--err { display:block; background:rgba(229,57,53,.07); border:1.5px solid rgba(229,57,53,.25); color:#c62828; font-weight:500; }

/* ═══ FLOW MODAL ══════════════════════════════════════════════════════ */
.flow-modal { position:fixed; inset:0; z-index:100; display:none; }
.flow-modal.open { display:flex; }
.flow-backdrop { position:absolute; inset:0; background:rgba(14,22,40,.65); backdrop-filter:blur(8px); }
.flow-dialog {
  position:relative; display:flex; width:100%; height:100%;
  background:var(--white); overflow:hidden;
}
.flow-close {
  position:absolute; top:16px; right:16px; z-index:10;
  width:38px; height:38px; border-radius:10px;
  border:1.5px solid var(--border); background:var(--white);
  color:var(--text); font-size:20px; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  box-shadow:var(--s1); transition:all .18s;
  -webkit-tap-highlight-color:transparent;
}
.flow-close:hover { border-color:var(--red); color:var(--red); box-shadow:var(--s2); }
.flow-side {
  width:290px; flex-shrink:0; padding:32px 26px;
  background:var(--bg); border-right:1px solid var(--border);
  display:flex; flex-direction:column; gap:14px; overflow-y:auto;
}
.flow-side h3 { font-size:16px; font-weight:800; font-family:'Syne',sans-serif; color:var(--text); line-height:1.3; }
.flow-steps-indicator { display:flex; flex-direction:column; gap:6px; margin-top:4px; }
.flow-step-item {
  display:flex; align-items:center; gap:10px; padding:10px 12px;
  border-radius:11px; border:1.5px solid transparent; transition:all .2s; color:var(--muted);
}
.flow-step-item.active { background:var(--white); border-color:var(--border); color:var(--text); box-shadow:var(--s1); }
.flow-step-item.done { opacity:.5; }
.flow-step-item span {
  width:28px; height:28px; border-radius:50%; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  font-size:11px; font-weight:700;
  background:var(--bg2); border:1.5px solid var(--border); color:var(--muted);
}
.flow-step-item.active span { background:var(--blue); border-color:var(--blue); color:#fff; box-shadow:0 3px 10px rgba(26,86,219,.3); }
.flow-step-item.done span { background:rgba(0,185,107,.1); border-color:rgba(0,185,107,.3); color:var(--green); }
.flow-step-item div strong { display:block; font-size:12px; font-weight:700; color:inherit; }
.flow-step-item div small { display:block; font-size:10px; color:var(--muted); margin-top:1px; }
.selected-plan-bar { padding:14px 16px; background:var(--white); border:1.5px solid var(--border); border-radius:12px; box-shadow:var(--s1); }
.selected-plan-bar .muted { display:block; font-size:10px; color:var(--muted); letter-spacing:.07em; text-transform:uppercase; margin-bottom:4px; font-weight:600; }
.selected-plan-bar strong { font-size:13px; font-weight:700; color:var(--text); }
.flow-main { flex:1; overflow-y:auto; padding:32px clamp(16px,3vw,36px); }
.flow-step { display:none; }
.flow-step.active { display:block; }
.flow-head { margin-bottom:22px; }
.flow-head h2 { font-family:'Syne',sans-serif; font-size:clamp(18px,2.5vw,26px); font-weight:800; color:var(--text); margin:0 0 8px; letter-spacing:-.025em; }
.flow-head p { font-size:13px; color:var(--muted); line-height:1.7; }
.modal-search { margin-bottom:14px; }
#map { height:280px; border-radius:14px; overflow:hidden; background:var(--bg); border:1.5px solid var(--border); box-shadow:var(--s1); }
.step-actions { display:flex; gap:10px; margin-top:20px; }
.step-actions.between { justify-content:space-between; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px 18px; margin-bottom:16px; }
.field { display:flex; flex-direction:column; gap:6px; }
.field label { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.09em; color:var(--blue); }
.field input,.field select,.field textarea {
  padding:11px 14px; background:var(--bg);
  border:1.5px solid var(--border); border-radius:11px;
  color:var(--text); font-size:14px; outline:none;
  transition:border-color .18s, box-shadow .18s; -webkit-appearance:none;
}
.field input:focus,.field select:focus { border-color:var(--blue); box-shadow:0 0 0 3px rgba(26,86,219,.1); background:var(--white); }
.field select option { background:var(--white); color:var(--text); }
.field input::placeholder { color:var(--muted); }
.conditional-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px 18px; margin-bottom:14px; }
.hidden-block { display:none; }
.billing-box { padding:16px 18px; border-radius:12px; background:rgba(26,86,219,.04); border:1.5px solid var(--border2); margin:14px 0; display:flex; justify-content:space-between; align-items:flex-start; gap:12px; flex-wrap:wrap; }
.billing-box strong { font-size:13px; font-weight:700; color:var(--text); display:block; margin-bottom:5px; }
.billing-box p { font-size:12px; color:var(--muted); line-height:1.65; }
.billing-badges { display:flex; gap:6px; flex-wrap:wrap; }
.billing-badges span { padding:5px 11px; border-radius:999px; background:var(--white); border:1px solid var(--border); font-size:11px; color:var(--blue); font-weight:600; box-shadow:var(--s1); }
.addons-grid { display:flex; flex-direction:column; gap:9px; margin:14px 0; }
.addon-item { display:flex; align-items:flex-start; gap:12px; padding:13px 16px; border-radius:12px; background:var(--bg); border:1.5px solid var(--border); cursor:pointer; transition:all .2s; }
.addon-item:hover { border-color:var(--blue); background:rgba(26,86,219,.03); box-shadow:var(--s1); }
.addon-checkbox { margin-top:2px; flex-shrink:0; accent-color:var(--blue); width:15px; height:15px; }
.addon-copy strong { display:block; font-size:13px; font-weight:700; color:var(--text); }
.addon-copy span { font-size:11px; color:var(--muted); line-height:1.5; }
.terms-row { display:flex; align-items:flex-start; gap:10px; padding:12px 0; font-size:13px; color:var(--muted); cursor:pointer; }
.terms-row input { accent-color:var(--blue); margin-top:2px; flex-shrink:0; }
.terms-row a { color:var(--blue); font-weight:600; }
.terms-row a:hover { text-decoration:underline; }
.submit-btn { width:100%; }

/* ═══ INLINE EDITOR ═══════════════════════════════════════════════════ */
.inline-editor-toolbar {
  position:fixed; bottom:16px; right:16px; z-index:200;
  background:var(--white); border:1.5px solid var(--border);
  border-radius:16px; padding:14px 20px;
  display:flex; align-items:center; gap:16px; flex-wrap:wrap;
  box-shadow:var(--s3);
}
.inline-editor-toolbar > div { display:flex; flex-direction:column; gap:2px; }
.inline-editor-toolbar strong { font-size:13px; color:var(--text); font-weight:700; }
.inline-editor-toolbar span { font-size:11px; color:var(--muted); }
.inline-editor-actions { display:flex; gap:8px; }
body.edit-mode [data-edit-key] { outline:2px dashed rgba(26,86,219,.4); outline-offset:2px; cursor:text; border-radius:4px; }
body.edit-mode [data-edit-key]:focus { outline-color:var(--blue); }

/* ═══ SEARCH BAR (modal) ══════════════════════════════════════════════ */
.provider-summary.empty { color:var(--muted); font-style:italic; font-size:13px; }

/* ═══ RESPONSIVE ══════════════════════════════════════════════════════ */
@media (max-width:1100px) {
  .hamburger { display:flex; }
  .mobile-nav { display:flex; }
  .nav-links,.nav-actions .ghost-btn { display:none; }
  .hero-grid { grid-template-columns:1fr; gap:32px; }
  .hero-copy p { max-width:100%; }
  .hero-side-stack { max-width:640px; }
  .info-strip-grid { grid-template-columns:1fr 1fr; transform:none; }
  .coverage-launch-grid,.business-grid { grid-template-columns:1fr; }
  .flow-side { width:250px; }
}
@media (max-width:768px) {
  .hero-visual-row { display:none; }
  .form-grid,.conditional-grid { grid-template-columns:1fr; }
  .provider-selector-row { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .how-it-works-grid { grid-template-columns:1fr; }
  .mini-grid { grid-template-columns:1fr; }
  .htf-form-grid { grid-template-columns:1fr; }
  .htf-form-header { flex-direction:column; }
  .contact-top { flex-direction:column; }
  .flow-dialog { flex-direction:column; }
  .flow-side { width:100%; border-right:none; border-bottom:1px solid var(--border); padding:16px 20px; }
  .flow-steps-indicator { flex-direction:row; overflow-x:auto; gap:4px; }
  .flow-step-item { flex-direction:column; text-align:center; min-width:80px; padding:8px 6px; }
  .modern-status-card { transform:none; }
  .hero-search-panel { transform:none; }
}
@media (max-width:560px) {
  .info-strip-grid { grid-template-columns:1fr; }
  .provider-selector-row { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .hero-cta-row { flex-direction:column; }
  .hero-cta-row .primary-btn,.hero-cta-row .ghost-btn { width:100%; justify-content:center; }
  .htf-submit-row { flex-direction:column; align-items:stretch; }
  .htf-submit-btn { width:100%; justify-content:center; }
  .ncf-row { grid-template-columns:1fr; }
  .step-actions { flex-wrap:wrap; }
  .billing-box { flex-direction:column; }
  .provider-selector-featured-sub { display:none; }
}

/* ═══════════════════════════════════════════════════════
   CONTENT REFINEMENTS — light theme polish
   ═══════════════════════════════════════════════════════ */

/* Info boxes — numbered accent */
.info-box strong::first-line { color:var(--blue); }
.info-box:hover strong { color:var(--blue); transition:color .2s; }

/* Hero pill animation */
.pill {
  animation:pill-breathe 4s ease-in-out infinite;
}
@keyframes pill-breathe {
  0%,100%{ box-shadow:0 0 0 0 rgba(26,86,219,0); }
  50%{     box-shadow:0 0 0 6px rgba(26,86,219,.07); }
}

/* Section entry animations */
@keyframes fade-up {
  from { opacity:0; transform:translateY(22px); }
  to   { opacity:1; transform:translateY(0); }
}
.hero-copy, .hero-side-stack {
  animation:fade-up .7s cubic-bezier(.22,.68,0,1.2) both;
}
.hero-side-stack { animation-delay:.12s; }

/* Accent colour on headings */
.contact-section .contact-top h2 span,
.business-section h2 em {
  color:var(--blue);
}

/* Business section left card — add top-border accent */
.business-section .glass-card:first-child::before {
  content:""; display:block;
  position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg, var(--blue), rgba(26,86,219,.3));
  border-radius:20px 20px 0 0;
}

/* Packages section background band */
.packages-preview {
  background:var(--bg2);
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
}

/* Contact section bottom stripe */
.contact-section {
  position:relative;
}
.contact-section::before {
  content:""; position:absolute; top:0; left:0; right:0; height:1px;
  background:linear-gradient(90deg, transparent, rgba(26,86,219,.2), transparent);
}

/* Status card — healthy line colour */
.modern-status-card.warning::before {
  background:linear-gradient(90deg, var(--amber), rgba(245,158,11,.3), var(--amber));
}

/* Smooth section transitions */
section { transition:background .3s; }

/* Search placeholder pulsing cursor */
.search-row input:focus::placeholder { color:transparent; }

/* Package slide — highlight cheapest */
.package-slide:first-child {
  border-color:rgba(26,86,219,.3);
}
.package-slide:first-child::before {
  content:"Most popular";
  display:inline-block;
  font-size:9px; font-weight:700;
  letter-spacing:.1em; text-transform:uppercase;
  color:var(--blue); background:rgba(26,86,219,.08);
  border:1px solid rgba(26,86,219,.2);
  padding:3px 9px; border-radius:999px;
  margin-bottom:4px;
}

/* Mobile: info boxes stack cleanly */
@media (max-width:640px) {
  .info-box { border-right:none; border-bottom:1px solid var(--border); }
  .info-box:last-child { border-bottom:none; }
  .how-step-card { padding:14px 15px; }
}


/* === FINAL MOBILE MENU + COVERAGE POPUP POLISH === */
html, body { max-width:100%; overflow-x:hidden!important; }
.topbar { left:0; right:0; width:100%; }
.topbar, .nav-shell { max-width:100vw; }
.nav-shell { min-width:0; }
.brand--logo-only { min-width:0; max-width:52vw; }
.site-logo { max-width:100%; }
.nav-actions { min-width:0; }

/* make address search stand out like the main conversion action */
.hero-search-panel {
  border:1px solid rgba(0,212,255,.36)!important;
  box-shadow:0 28px 90px rgba(0,212,255,.16), 0 0 0 1px rgba(255,255,255,.06) inset!important;
}
.search-row {
  background:linear-gradient(135deg,rgba(0,212,255,.10),rgba(26,86,219,.08));
  border:1px solid rgba(0,212,255,.24);
  border-radius:18px;
  padding:10px;
  box-shadow:0 18px 50px rgba(0,0,0,.10);
}
.search-row input {
  min-height:52px;
  font-size:16px;
  font-weight:650;
  background:#fff!important;
  border-color:rgba(26,86,219,.25)!important;
  box-shadow:0 10px 25px rgba(26,86,219,.08)!important;
}
.search-row input::placeholder { color:#6c7b95; }
.search-row .primary-btn { min-height:52px; border-radius:14px; }
html[data-theme="dark"] .search-row input, body:not(.light-theme) .search-row input {
  background:rgba(255,255,255,.96)!important;
  color:#061225!important;
  -webkit-text-fill-color:#061225!important;
}
html[data-theme="dark"] .modal-search, body:not(.light-theme) .modal-search {
  background:rgba(0,212,255,.10)!important;
}

/* popup must fit small mobile screens */
.flow-modal { z-index:9999!important; }
.flow-dialog { max-width:100vw; max-height:100dvh; }
.flow-main { min-width:0; }
#map { max-width:100%; }

@media (max-width:1100px){
  .topbar { z-index:9998; }
  .nav-shell { padding:10px 12px!important; gap:8px!important; }
  .brand--logo-only { max-width:54vw; }
  .site-logo { max-height:42px!important; padding:6px 8px!important; border-radius:12px!important; }
  .nav-actions { margin-left:auto; }
  .nav-actions .primary-btn { display:none!important; }
  .hamburger { display:flex!important; width:44px!important; height:44px!important; flex:0 0 44px; }
  .mobile-nav {
    display:flex!important;
    top:0!important; left:0!important; right:auto!important; bottom:0!important;
    width:100vw!important; max-width:100vw!important;
    padding:86px 16px 28px!important;
    transform:translateX(-105%)!important;
    overflow-y:auto!important; overflow-x:hidden!important;
    z-index:9997!important;
  }
  .mobile-nav.open { transform:translateX(0)!important; }
  .mobile-nav-link { width:100%; display:flex; align-items:center; min-height:48px; }
}
@media (max-width:560px){
  .container { padding-left:14px!important; padding-right:14px!important; }
  .hero-section { padding-top:36px!important; }
  .hero-grid, .coverage-launch-grid, .business-grid { width:100%; max-width:100%; }
  .hero-copy h1 { font-size:clamp(32px,10vw,46px)!important; line-height:1.04!important; }
  .hero-mini-stats { grid-template-columns:1fr!important; width:100%; }
  .search-panel, .glass-card { padding:20px!important; }
  .search-row, .modal-search { display:flex!important; flex-direction:column!important; gap:10px!important; padding:10px!important; }
  .search-row input, .search-row .primary-btn { width:100%!important; }
  .flow-dialog { flex-direction:column!important; height:100dvh!important; width:100vw!important; overflow:hidden!important; }
  .flow-side { width:100%!important; max-height:142px!important; padding:14px 52px 10px 14px!important; overflow:hidden!important; }
  .flow-side h3, .selected-plan-bar { display:none!important; }
  .flow-steps-indicator { display:flex!important; flex-direction:row!important; overflow-x:auto!important; gap:6px!important; padding-bottom:4px!important; }
  .flow-step-item { min-width:72px!important; padding:7px 6px!important; }
  .flow-step-item div strong { font-size:10px!important; }
  .flow-step-item div small { display:none!important; }
  .flow-main { padding:14px!important; overflow-y:auto!important; }
  .flow-close { top:12px!important; right:12px!important; }
  #map { height:240px!important; }
}

/* === FINAL MAP SEARCH + AUTOCOMPLETE FIX === */
.pac-container{
  z-index:10000000!important;
  border-radius:18px!important;
  margin-top:8px!important;
  overflow:hidden!important;
  border:1px solid rgba(0,212,255,.30)!important;
  box-shadow:0 24px 70px rgba(0,0,0,.24)!important;
  font-family:'Inter',Arial,sans-serif!important;
}
.pac-item{padding:12px 14px!important;font-size:14px!important;cursor:pointer!important;}
.pac-item:hover{background:#eef6ff!important;}
.pac-item-query{font-size:14px!important;font-weight:800!important;color:#0b1220!important;}

.hero-search-panel{
  position:relative!important;
  z-index:20!important;
  background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(239,247,255,.94))!important;
}
body:not(.light-theme) .hero-search-panel,
html[data-theme="dark"] .hero-search-panel{
  background:linear-gradient(135deg,rgba(8,18,38,.96),rgba(7,27,48,.90))!important;
}
.hero-search-panel:before{
  content:"";position:absolute;inset:-2px;border-radius:inherit;pointer-events:none;
  background:linear-gradient(135deg,rgba(0,212,255,.60),rgba(26,86,219,.25),rgba(34,211,238,.35));
  opacity:.32;filter:blur(12px);z-index:-1;
}
.search-row input#address{
  border:2px solid rgba(0,113,255,.38)!important;
  box-shadow:0 14px 38px rgba(0,113,255,.16)!important;
}
.search-row input#address:focus{
  border-color:#00c8ff!important;
  box-shadow:0 0 0 4px rgba(0,200,255,.18),0 18px 44px rgba(0,113,255,.22)!important;
}
#searchStatus{font-weight:800!important;}

@media(max-width:1100px){
  .topbar,.nav-shell{max-width:100vw!important;overflow:visible!important;}
  .nav-shell{display:flex!important;align-items:center!important;justify-content:space-between!important;}
  .mobile-nav{box-sizing:border-box!important;}
}
@media(max-width:560px){
  .hero-search-panel{margin-left:0!important;margin-right:0!important;width:100%!important;}
  .search-row{width:100%!important;box-sizing:border-box!important;}
  .search-row input#address{font-size:15px!important;min-width:0!important;box-sizing:border-box!important;}
  .pac-container{left:14px!important;right:14px!important;width:calc(100vw - 28px)!important;max-width:calc(100vw - 28px)!important;}
}


/* === FINAL ADDRESS SUGGESTIONS + POPUP FLOW FIX === */
/* Google Places dropdown must be readable on both themes and never hide behind panels */
.pac-container{
  z-index:2147483647!important;
  background:#ffffff!important;
  color:#0f172a!important;
  border:1px solid rgba(37,99,235,.35)!important;
  border-radius:16px!important;
  box-shadow:0 24px 70px rgba(2,8,23,.32)!important;
  overflow:hidden!important;
  min-width:280px!important;
}
.pac-item{
  background:#ffffff!important;
  color:#172033!important;
  border-top:1px solid rgba(15,23,42,.08)!important;
  padding:13px 16px!important;
  line-height:1.35!important;
  font-size:14px!important;
}
.pac-item:hover,
.pac-item-selected{
  background:#eaf4ff!important;
}
.pac-item-query{
  color:#071326!important;
  font-size:14px!important;
  font-weight:900!important;
}
.pac-matched{color:#0057ff!important;font-weight:900!important;}
.pac-icon{filter:none!important;opacity:.75!important;}
.pac-logo:after{background-color:#fff!important;padding:8px!important;}

/* Keep the coverage search as a strong CTA but make sure text stays readable */
.hero-search-panel .section-tag{color:#60a5fa!important;background:rgba(37,99,235,.12)!important;border-color:rgba(37,99,235,.28)!important;}
body:not(.light-theme) .hero-search-panel .section-tag,
html[data-theme="dark"] .hero-search-panel .section-tag{color:#7dd3fc!important;background:rgba(14,165,233,.12)!important;border-color:rgba(125,211,252,.25)!important;}
.hero-search-panel h2{color:var(--text)!important;text-shadow:none!important;}
.hero-search-panel p{color:var(--muted)!important;}
.search-row input#address,
.modal-search input#modalAddress{
  background:#fff!important;
  color:#071326!important;
  -webkit-text-fill-color:#071326!important;
}
.search-row input#address::placeholder,
.modal-search input#modalAddress::placeholder{color:#64748b!important;-webkit-text-fill-color:#64748b!important;}

/* Make popup behave like a real window on all screens */
.flow-modal.open{display:flex!important;align-items:center!important;justify-content:center!important;padding:18px!important;}
.flow-backdrop{position:fixed!important;inset:0!important;background:rgba(2,6,23,.72)!important;backdrop-filter:blur(12px)!important;}
.flow-dialog{position:relative!important;width:min(1180px,calc(100vw - 28px))!important;max-height:calc(100dvh - 28px)!important;border-radius:26px!important;overflow:hidden!important;box-shadow:0 35px 120px rgba(0,0,0,.55)!important;}
.flow-main{overflow:auto!important;}

/* Prevent inline coverage results from pushing mobile page out; popup is the main flow */
#providerCards{max-width:100%!important;overflow:hidden!important;}
.provider-card,.provider-cards,.provider-summary{max-width:100%!important;box-sizing:border-box!important;}

@media(max-width:640px){
  .pac-container{left:12px!important;right:12px!important;width:calc(100vw - 24px)!important;max-width:calc(100vw - 24px)!important;border-radius:14px!important;}
  .pac-item{padding:12px 13px!important;font-size:13px!important;white-space:normal!important;}
  .pac-item-query{font-size:13px!important;}
  .flow-modal.open{align-items:stretch!important;justify-content:stretch!important;padding:0!important;}
  .flow-dialog{width:100vw!important;height:100dvh!important;max-height:100dvh!important;border-radius:0!important;}
  .flow-main{height:calc(100dvh - 128px)!important;}
  .search-status{font-size:13px!important;line-height:1.4!important;word-break:normal!important;}
}

/* === FINAL POPUP POSITION + READABLE ADDRESS SUGGESTIONS FIX === */
html.flow-open, body.flow-open{overflow:hidden!important;height:100%!important;}
.flow-modal{position:fixed!important;inset:0!important;z-index:2147483000!important;width:100vw!important;height:100dvh!important;overflow:hidden!important;}
.flow-modal.open{display:flex!important;align-items:center!important;justify-content:center!important;padding:20px!important;box-sizing:border-box!important;}
.flow-backdrop{position:fixed!important;inset:0!important;background:rgba(2,6,23,.78)!important;backdrop-filter:blur(14px)!important;}
.flow-dialog{
  position:relative!important;
  width:min(1120px,calc(100vw - 40px))!important;
  height:auto!important;
  min-height:0!important;
  max-height:calc(100dvh - 40px)!important;
  display:flex!important;
  border-radius:28px!important;
  overflow:hidden!important;
  background:var(--surface,#fff)!important;
  border:1px solid rgba(125,211,252,.28)!important;
  box-shadow:0 40px 140px rgba(0,0,0,.62)!important;
  transform:none!important;
  margin:0!important;
}
.flow-main{max-height:calc(100dvh - 40px)!important;overflow:auto!important;scroll-behavior:smooth!important;}
.flow-step.active{display:block!important;margin:0!important;padding-top:0!important;}
.flow-head{margin-top:0!important;}
.flow-close{position:absolute!important;top:14px!important;right:14px!important;z-index:20!important;}

/* Google address suggestion dropdown: high contrast and visible in dark/light mode */
.pac-container{
  z-index:2147483647!important;
  background:#ffffff!important;
  color:#0f172a!important;
  border:1px solid rgba(0,173,255,.55)!important;
  border-radius:16px!important;
  box-shadow:0 24px 70px rgba(0,0,0,.38)!important;
  overflow:hidden!important;
  font-family:'Inter',Arial,sans-serif!important;
}
.pac-item{
  background:#ffffff!important;
  color:#0f172a!important;
  border-top:1px solid rgba(15,23,42,.08)!important;
  padding:14px 16px!important;
  line-height:1.35!important;
  font-size:14px!important;
  cursor:pointer!important;
}
.pac-item:hover,.pac-item-selected{background:#e8f7ff!important;color:#061327!important;}
.pac-item-query{color:#071326!important;font-size:14px!important;font-weight:900!important;}
.pac-matched{color:#0057ff!important;font-weight:900!important;}
.pac-icon{opacity:.85!important;filter:none!important;}
.pac-logo:after{background-color:#fff!important;padding:8px!important;}

@media(max-width:760px){
  .flow-modal.open{align-items:stretch!important;justify-content:stretch!important;padding:0!important;}
  .flow-dialog{width:100vw!important;height:100dvh!important;max-height:100dvh!important;border-radius:0!important;display:flex!important;flex-direction:column!important;}
  .flow-side{width:100%!important;max-height:116px!important;padding:12px 52px 10px 12px!important;overflow:auto!important;border-right:0!important;border-bottom:1px solid var(--border)!important;}
  .flow-main{height:calc(100dvh - 116px)!important;max-height:calc(100dvh - 116px)!important;padding:14px!important;overflow:auto!important;}
  .flow-close{top:10px!important;right:10px!important;}
  .pac-container{left:12px!important;right:12px!important;width:calc(100vw - 24px)!important;max-width:calc(100vw - 24px)!important;border-radius:14px!important;}
  .pac-item{padding:13px 13px!important;font-size:13px!important;white-space:normal!important;}
  .pac-item-query{font-size:13px!important;}
}


/* Final signup fee filter styling */
.addon-empty{padding:16px 18px;border:1.5px dashed rgba(37,99,235,.35);border-radius:14px;background:rgba(37,99,235,.055);color:var(--muted);font-size:13px;font-weight:700;}
.addon-item.provider-fee{background:rgba(37,99,235,.055);border-color:rgba(37,99,235,.22);}
.addon-item.provider-fee .addon-copy strong{color:var(--text);}
body[data-theme=dark] .addon-empty,html[data-theme=dark] .addon-empty{background:rgba(14,165,233,.12);border-color:rgba(34,211,238,.28);color:#c7d2fe;}
body[data-theme=dark] .addon-item.provider-fee,html[data-theme=dark] .addon-item.provider-fee{background:rgba(15,23,42,.78);border-color:rgba(34,211,238,.25);}
