/* =========================================================
   ADAG PPC Landing — original design system
   ========================================================= */
:root{
  /* ADAG brand palette — red & blue from logo / main site */
  --ink:#172741;           /* ADAG deep brand blue old color #0F2D6B, new 172741 */
  --ink-2:#1B4AA0;         /* mid royal blue */
  --ink-soft:#4A6AA8;
  --sky:#3B82D9;           /* brighter accent blue */
  --cream:#F6F8FC;         /* cool off-white matching main site */
  --cream-2:#EAF0F9;
  --line:#DDE4F0;
  --step-line:#84A9D3;
  --line-2:#C7D2E6;
  --gold:#C8102E;          /* ADAG red — primary CTA */
  --gold-ink:#FFFFFF;
  --red:#c63c3c; /** #C8102E; **/
  --red-2:#A00C24;
  --ok:#1E8A5A;
  --slate:#445168;
  --slate-2:#6C7A95;
-------------------- steps --------------------
  --radius-s:8px;
  --radius:14px;
  --radius-lg:22px;
  --radius:12px;

  --shadow-card: 0 1px 0 rgba(11,37,68,.04), 0 12px 32px -12px rgba(11,37,68,.14);
  --shadow-float: 0 20px 60px -20px rgba(11,37,68,.35);

  --serif:"Merriweather", Georgia, "Times New Roman", serif;
  --sans:"Open Sans", system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  --mono:"Open Sans", ui-monospace, SFMono-Regular, Menlo, monospace;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:var(--sans);
  color:var(--ink);
  background:var(--cream);
  font-size:16px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
a{color:inherit}
img{max-width:100%;display:block}
button{font-family:inherit;cursor:pointer;border:0;background:none;color:inherit}
input,select,textarea{font-family:inherit;font-size:16px}

/* -------------------- top bar -------------------- */
.topbar{
  background:var(--ink);
  color:#F5E9D2;
  font-size:13px;
  letter-spacing:.02em;
}
.topbar-inner{
  max-width:1240px;margin:0 auto;padding:9px 24px;
  display:flex;align-items:center;justify-content:space-between;gap:16px;
}
.topbar .badge{display:inline-flex;align-items:center;gap:8px}
.topbar .dot{width:6px;height:6px;border-radius:50%;background:#6FCE99;box-shadow:0 0 0 4px rgba(111,206,153,.18)}
.topbar a{text-decoration:none;color:#fff;font-weight:500}

/* -------------------- header -------------------- */
.header{
  background:var(--cream);
  border-bottom:1px solid var(--line);
  position:sticky;top:0;z-index:40;
}
.header-inner{
  max-width:1240px;margin:0 auto;padding:14px 24px;
  display:flex;align-items:center;justify-content:space-between;gap:24px;
}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}
.brand-logo{max-height:100px;height:auto;width:auto;display:block}
@media (max-width: 520px){
  .brand-logo{height:44px}
}

.header-cta{display:flex;align-items:center;gap:14px}
.phone-pill{
  display:inline-flex;align-items:center;gap:10px;
  padding:10px 16px;border-radius:999px;background:#c63c3c;color:#fff;text-decoration:none;
  font-weight:600;font-size:15px;
}
.phone-pill svg{width:16px;height:16px}
.phone-pill .muted{font-size:11px;font-weight:400;letter-spacing:.12em;text-transform:uppercase;opacity:.7;margin-right:4px}

/* -------------------- hero -------------------- */
.hero{
  background:
    radial-gradient(1100px 500px at 85% -10%, rgba(59,130,217,.18), transparent 60%),
    radial-gradient(800px 400px at 10% 110%, rgba(200,16,46,.08), transparent 60%),
    linear-gradient(180deg, var(--cream) 0%, var(--cream-2) 100%);
  border-bottom:1px solid var(--line);
}
.hero-inner{
  max-width:1240px;margin:0 auto;padding:10px 24px 64px;
  display:grid;grid-template-columns: minmax(0,1.15fr) minmax(0,1fr);gap:56px;align-items:start;
}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);
  background:rgba(59,130,217,.14);border:1px solid rgba(59,130,217,.32);
  padding:6px 12px;border-radius:999px;font-weight:600;
}
.eyebrow .dotgold{width:6px;height:6px;border-radius:50%;background:var(--gold)}

h1.hero-title{
  font-family:var(--serif);
  font-weight:500;
  font-size: clamp(38px, 5vw, 60px);
  line-height:1.02;
  letter-spacing:-.01em;
  margin:20px 0 18px;
  color:var(--ink);
  text-wrap:balance;
}
h1.hero-title em{font-style:italic;color:var(--ink-2)}
h1.hero-title .gold{color:var(--red);background:linear-gradient(180deg, transparent 62%, rgba(200,16,46,.16) 62%);padding:0 2px}

.hero-sub{
  font-size:18px;line-height:1.55;color:var(--slate);max-width:52ch;
  text-wrap:pretty;
}

.hero-bullets{
  margin:26px 0 0;padding:0;list-style:none;
  display:grid;gap:10px;
}
.hero-bullets li{display:flex;gap:10px;align-items:flex-start;font-size:15.5px;color:var(--ink)}
.hero-bullets .chk{
  flex:0 0 22px;height:22px;border-radius:50%;background:var(--ink);color:#fff;
  display:grid;place-items:center;margin-top:1px;
}
.hero-bullets .chk svg{width:12px;height:12px}

.hero-proof{
  margin-top:36px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;
  padding:20px 22px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);
}
.hero-proof .stat{display:flex;flex-direction:column;gap:2px; text-align:center;}
.hero-proof .n{font-family:var(--serif);font-weight:600;font-size:28px;color:var(--ink);letter-spacing:-.01em}
.hero-proof .l{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--slate-2);font-weight:500}

/* -------------------- form card -------------------- */
.form-wrap{position:sticky;top:96px}
.form-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);
  box-shadow:var(--shadow-card);
  overflow:hidden;
}
.form-head{
  background:var(--ink);color:#fff;padding:14px 20px;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
}
.form-head .title{font-family:var(--serif);font-weight:500;font-size:22px;line-height:1.1}
.form-head .sub{font-size:12.5px;color:#B7C2D6;margin-top:4px;letter-spacing:.02em}
.form-head .free{
  background:#c63c3c;color:#fff;font-weight:700;font-size:11px;letter-spacing:.16em;
  padding:6px 10px;border-radius:999px;text-transform:uppercase;flex-shrink:0;
}
.form-body{padding:12px 20px 8px}
.steps{
  display:flex;align-items:center;gap:8px;margin-bottom:18px;
  font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--slate-2);
}
.steps .sp{flex:1;height:3px;border-radius:2px;background:var(--line)}
.steps .sp.on{background:var(--red)}
.steps .num{color:var(--ink);font-weight:600}

.field{display:block;margin-bottom:8px}
.field label{
  display:block;font-size:13px;font-weight:500;color:var(--ink);margin-bottom:4px;letter-spacing:.01em;
}
.field .req{color:var(--red);margin-left:2px}
/* Input validation styles - removed to prevent red borders on page load */

.field input, .field select{
  width:100%;padding:10px 12px;border-radius:10px;border:1px solid #d1d5db;
  background:#FDFBF7;color:var(--ink);transition:.15s;
  font-size:13px;
}
.field input:focus,.field select:focus{
  outline:none;border-color:var(--ink);background:#fff;box-shadow:0 0 0 3px rgba(11,37,68,.1);
}
.field input::placeholder{
  color:var(--slate-2);
  font-size:13px;
  font-weight:400;
}
.field textarea{
  width:100%;padding:10px 12px;border-radius:10px;border:1px solid #d1d5db;
  background:#FDFBF7;color:var(--ink);transition:.15s;
  font-size:13px;
  resize:vertical;
}
.field textarea:focus{
  outline:none;border-color:var(--ink);background:#fff;box-shadow:0 0 0 3px rgba(11,37,68,.1);
}
.field textarea::placeholder{
  color:var(--slate-2);
  font-size:13px;
  font-weight:400;
}

/* Small Yes/No toggle buttons */
.yesno-small{
  display:flex;
  gap:8px;
  align-items:center;
  flex-shrink:0;
}
.yesno-small button{
  padding:6px 10px;border-radius:6px;border:1px solid var(--line-2);background:#FDFBF7;
  color:var(--ink);font-weight:500;font-size:12px;transition:.15s;
  min-width:40px;
}
.yesno-small button:hover{border-color:var(--ink-soft)}
.yesno-small button.on{background:#c63c3c;color:#fff;border-color:#c63c3c}

/* Radio button questions */
.question-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:4px;
}
.question-text{
  font-size:13px;
  font-weight:500;
  color:var(--ink);
  letter-spacing:.01em;
  flex:1;
  line-height:1.4;
}
.radio-group{
  display:flex;
  gap:12px;
  align-items:center;
  flex-shrink:0;
}
.radio-option{
  display:flex;
  align-items:center;
  gap:4px;
  cursor:pointer;
  font-size:13px;
  font-weight:500;
  color:var(--ink);
  transition:.15s;
}
.radio-option input[type="radio"]{
  width:16px;
  height:16px;
  margin:0;
  accent-color:var(--red);
}
.radio-label{
  user-select:none;
}
.radio-option:hover{
  color:var(--red);
}
.radio-option input[type="radio"]:checked + .radio-label{
  color:var(--red);
  font-weight:600;
}

.yesno{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.yesno button{
  padding:12px 14px;border-radius:10px;border:1px solid var(--line-2);background:#FDFBF7;
  color:var(--ink);font-weight:500;font-size:14.5px;transition:.15s;
}
.yesno button:hover{border-color:var(--ink-soft)}
.yesno button.on{background:var(--ink);color:#fff;border-color:var(--ink)}

/* Keep yesno for backward compatibility but hide */
.yesno{display:none}

.form-foot{padding:10px 20px 16px;background:#FDFBF7;border-top:1px solid var(--line)}
.submit{
  width:100%;padding:12px 20px;border-radius:12px;
  background:linear-gradient(180deg, #c63c3c 0%, #a53535 100%);
  color:#fff;
  font-weight:700;font-size:16.5px;letter-spacing:.01em;
  display:flex;align-items:center;justify-content:center;gap:10px;
  box-shadow: 0 1px 0 rgba(255,255,255,.15) inset, 0 10px 24px -8px rgba(200,16,46,.55);
  transition:transform .1s;
}
.submit:hover{transform:translateY(-1px)}
.submit svg{width:18px;height:18px}
.submit[disabled]{opacity:.55;cursor:not-allowed;transform:none}
.back{
  display:inline-flex;align-items:center;gap:6px;margin-top:12px;font-size:13px;color:var(--slate);
}
.tcpa{font-size:11px;line-height:1.45;color:var(--slate-2);margin-top:14px}
.tcpa a{color:var(--ink);text-decoration:underline}

.secure-row{
  padding:8px 20px;display:flex;align-items:center;justify-content:center;gap:14px;
  font-size:12px;color:var(--slate-2);background:#fff;border-top:1px dashed var(--line);
}
.secure-row svg{width:14px;height:14px}
.secure-row .sep{width:3px;height:3px;border-radius:50%;background:var(--line-2)}

.success{padding:36px 28px;text-align:center;background:#fff}
.success .ring{
  width:64px;height:64px;border-radius:50%;background:rgba(47,125,82,.12);
  display:grid;place-items:center;margin:0 auto 14px;
}
.success .ring svg{width:28px;height:28px;color:var(--ok)}
.success h3{font-family:var(--serif);font-size:26px;margin:0 0 8px;color:var(--ink)}
.success p{color:var(--slate);margin:0 0 18px}
.success .cb{
  display:inline-flex;align-items:center;gap:8px;padding:12px 18px;border-radius:10px;
  background:var(--ink);color:#fff;font-weight:600;text-decoration:none;font-size:15px;
}

/* -------------------- section header -------------------- */
section{padding:88px 0;border-bottom:1px solid var(--line)}

/* Section background colors */
.why-us-section {
  background-color: #EAE3D2;
}

.why-us-section .section-title {
  color: var(--ink);
}

.why-us-section .section-lede {
  color: var(--slate);
}

.estimator {
  background-color: #182d4a !important;
}

.testimonial-section {
  background-color: #84A9D3;
}

.testimonial-section .section-title {
  color: #fff;
}

.testimonial-section .section-eyebrow {
  color: rgba(255, 255, 255, 0.8);
}
.section-inner{max-width:1240px;margin:0 auto;padding:0 24px}
.section-head{max-width:780px;margin:0 auto 48px;text-align:center}
.section-eyebrow{
  font-family:var(--mono);font-size:12px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--slate-2);margin-bottom:14px;
}
.section-title{
  font-family:var(--serif);font-weight:500;font-size:clamp(30px, 3.6vw, 44px);
  line-height:1.08;letter-spacing:-.01em;margin:0 0 14px;text-wrap:balance;
}
.section-lede{color:var(--slate);font-size:17px;line-height:1.55;text-wrap:pretty;margin:0}

/* -------------------- trust bar -------------------- */
.trustbar{
  padding:28px 0;background:var(--ink);color:#E6DDC8;border-bottom:0;
}
.trustbar-inner{
  max-width:1240px;margin:0 auto;padding:0 24px;
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;
  font-family:var(--mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;
}
.trustbar .item{display:flex;align-items:center;gap:10px}
.trustbar .item svg{width:16px;height:16px;color:#F2A5B0}

/* -------------------- why / 4-up -------------------- */
.why-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;
}
.why-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:28px;transition:.15s;
}
.why-card:hover{border-color:var(--ink-soft);transform:translateY(-2px)}
.why-card .k{
  font-family:var(--mono);font-size:12px;color:var(--red);letter-spacing:.12em;
  text-transform:uppercase;margin-bottom:14px;
}
.why-card h3{
  font-family:var(--serif);font-weight:500;font-size:24px;margin:0 0 10px;color:var(--ink);
  letter-spacing:-.005em;line-height:1.15;
}
.why-card p{color:var(--slate);font-size:15.5px;line-height:1.55;margin:0}

/* -------------------- steps -------------------- */
 .steps-wrap {
          position: relative;
          padding: 40px 0 16px;
          box-sizing: border-box
        }

        .steps-grid {
          display: grid;
          grid-template-columns: repeat(4, minmax(0, 1fr));
          gap: 25px;
          position: relative;
          align-items: stretch
        }

        .connector-line {
          position: absolute;
          top: calc(50% + 20px);
          left: calc(12.5% + 10px);
          width: calc(75% - 20px);
          height: 2px;
          background: var(--step-line);
          z-index: 0;
          pointer-events: none
        }

        .step {
          border: 2.5px solid var(--step-line);
          border-radius: var(--radius);
          padding: 22px;
          position: relative;
          z-index: 1;
          box-sizing: border-box;

          background: var(--cream);
          position: relative;
        }

        .step:last-child {
          background: #84A9D3;
          border-color: #84A9D3;
          padding-top: 22px
        }

        .step:last-child .n {
          color: var(--red)
        }

        .step:last-child h4 {
          color: var(--ink)
        }

        .step:last-child p {
          color: #2e4a62
        }

        .icon-wrap {
          position: absolute;
          top: 0;
          left: 50%;
          transform: translate(-50%, -50%);
          width: 100px;
          height: 100px;
          border-radius: 50%;
          display: flex;
          align-items: center;
          justify-content: center;
          z-index: 3;
          border: 3px solid transparent;
        }

        .step .n {
          font-family: var(--serif);
          font-size: 38px;
          line-height: 1;
          color: var(--red);
          font-weight: 700;
          letter-spacing: -.02em;
          margin-bottom: 10px
        }

        .step h4 {
          font-family: var(--serif);
          font-weight: 500;
          font-size: 20px;
          margin: 0 0 6px;
          color: var(--ink);
        }

        .step p {
          color: var(--slate);
          font-size: 14.5px;
          line-height: 1.5;
          margin: 0;
        }

        @media(max-width:680px) {
          .steps-grid {
            grid-template-columns: 1fr 1fr;
            gap: 32px 12px
          }

          .connector-line {
            display: none
          }

          .step:last-child {
            padding-top: 50px;
            margin-top: 30px;
          }
        }

        @media(max-width:420px) {
          .steps-grid {
            grid-template-columns: 1fr;
            gap: 32px
          }
        }

/* -------------------- estimator -------------------- */
.estimator{
  background:var(--ink);color:#fff;padding:0;
}
.estimator .section-inner{padding-top:84px;padding-bottom:84px}
.estimator .section-title{color:#fff}
.estimator .section-lede{color:#B7C2D6}
.est-card{
  max-width:780px;margin:40px auto 0;background:var(--ink-2);
  border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);padding:32px;
}
.est-row{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.est-row:last-child{border-bottom:0}
.est-row .l{font-size:14.5px;color:#B7C2D6}
.est-row .v{font-family:var(--serif);font-size:22px;color:#fff}
.est-row .v.gold{color:#FF7C8F}
.est-cta{display:flex;gap:12px;margin-top:20px;flex-wrap:wrap}
.est-cta .b{
  flex:1;min-width:200px;padding:14px 20px;border-radius:10px;text-align:center;font-weight:600;
  text-decoration:none;
}
.est-cta .b.primary{
  background:linear-gradient(180deg, var(--red) 0%, var(--red-2) 100%);
  color:#fff;
}
.est-cta .b.ghost{background:transparent;border:1px solid rgba(255,255,255,.25);color:#fff}
.est-disclaimer{margin-top:14px;color:#98A6BD;font-size:11.5px;line-height:1.5}

/* -------------------- testimonials -------------------- */
.t-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.t-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;
  display:flex;flex-direction:column;gap:14px;
}
.t-stars{color:var(--red);letter-spacing:2px;font-size:16px}
.t-quote{
  font-family:var(--serif);font-size:18px;line-height:1.4;color:var(--ink);flex:1;margin:0;
  text-wrap:pretty;
}
.t-name{font-size:13px;color:var(--slate);font-weight:500}
.t-name .loc{color:var(--slate-2);font-weight:400}

/* -------------------- faq -------------------- */
.faq-wrap{max-width:860px;margin:0 auto}
.faq-item{
  border-top:1px solid var(--line);
}
.faq-item:last-child{border-bottom:1px solid var(--line)}
.faq-q{
  width:100%;padding:22px 0;display:flex;justify-content:space-between;align-items:center;gap:16px;
  font-family:var(--serif);font-size:20px;font-weight:500;color:var(--ink);text-align:left;
}
.faq-q .ic{
  width:28px;height:28px;border-radius:50%;border:1px solid var(--line-2);display:grid;place-items:center;
  flex-shrink:0;transition:.2s;
}
.faq-item.open .faq-q .ic{background:var(--ink);border-color:var(--ink);color:#fff;transform:rotate(45deg)}
.faq-a{
  max-height:0;overflow:hidden;transition:max-height .3s ease;
  color:var(--slate);font-size:15.5px;line-height:1.6;
}
.faq-item.open .faq-a{max-height:420px}
.faq-a .inner{padding:0 0 22px;max-width:75ch}

/* -------------------- final CTA -------------------- */
.final{
  background:
    radial-gradient(900px 400px at 50% 0%, rgba(224,164,73,.14), transparent 60%),
    var(--cream);
  text-align:center;
}
.final .buttons{display:flex;justify-content:center;gap:14px;margin-top:28px;flex-wrap:wrap}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:16px 24px;border-radius:12px;font-weight:600;font-size:16px;text-decoration:none;transition:.15s;
}
.btn.primary{
  background:linear-gradient(180deg, var(--red) 0%, var(--red-2) 100%);
  color:#fff;
  box-shadow:0 10px 24px -8px rgba(200,16,46,.5);
}
.btn.primary:hover{transform:translateY(-1px)}
.btn.dark{background:var(--ink);color:#fff}
.btn svg{width:18px;height:18px}

/* -------------------- footer -------------------- */
footer{
  background:var(--ink);color:#B7C2D6;padding:40px 0 120px;font-size:13px;line-height:1.6;
}
footer .inner{max-width:1100px;margin:0 auto;padding:0 24px}
footer .row{display:grid;grid-template-columns:2fr 1fr 1fr;gap:32px;margin-bottom:32px}
footer h5{color:#fff;font-size:12px;letter-spacing:.16em;text-transform:uppercase;margin:0 0 12px;font-weight:600}
footer a{color:#B7C2D6;text-decoration:none}
footer a:hover{color:#fff}
footer .disc{border-top:1px solid rgba(255,255,255,.08);padding-top:22px;color:#8A97AE;font-size:11.5px}

/* -------------------- mobile sticky -------------------- */
.mobile-sticky{
  position:fixed;left:0;right:0;bottom:0;z-index:50;
  background:#fff;border-top:1px solid var(--line);
  padding:10px 14px calc(10px + env(safe-area-inset-bottom));
  display:none;gap:10px;box-shadow:0 -10px 30px -12px rgba(0,0,0,.15);
}
.mobile-sticky a{
  flex:1;padding:13px;border-radius:10px;text-align:center;font-weight:600;font-size:14px;text-decoration:none;
}
.mobile-sticky .call{background:var(--ink);color:#fff}
.mobile-sticky .get{background:var(--red);color:#fff}

/* subtle blue→red brand bar on form card */
.form-head{position:relative}
.form-head::before{
  content:"";position:absolute;left:0;right:0;top:0;height:3px;
  background:linear-gradient(90deg, var(--sky) 0%, var(--ink) 50%, var(--red) 100%);
}

/* -------------------- tweaks panel -------------------- */
.tweaks{
  position:fixed;right:20px;bottom:20px;z-index:999;
  background:#fff;border:1px solid var(--line);border-radius:14px;
  box-shadow:var(--shadow-float);padding:16px;width:280px;font-size:13px;
}
.tweaks h6{margin:0 0 10px;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--slate-2)}
.tweaks .row{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;gap:12px}
.tweaks select,.tweaks input[type=text]{padding:6px 8px;border-radius:6px;border:1px solid var(--line-2);background:#FDFBF7;font-size:13px;flex:1}

/* -------------------- responsive -------------------- */
@media (max-width: 960px){
  .hero-inner{grid-template-columns:1fr;gap:36px;padding:36px 20px 48px}
  .form-wrap{position:static}
  .hero-proof{grid-template-columns:1fr 1fr 1fr;gap:10px;padding:16px}
  .hero-proof .n{font-size:22px}
  section{padding:56px 0}
  .why-grid{grid-template-columns:1fr}
  .steps-grid{grid-template-columns:1fr 1fr}
  .t-grid{grid-template-columns:1fr}
  footer .row{grid-template-columns:1fr;gap:20px}
  .mobile-sticky{display:flex}
  body{padding-bottom:74px}
  .header-cta .phone-pill .muted{display:none}
  .topbar-inner{font-size:12px;padding:8px 16px}
  .topbar .hide-sm{display:none}
  .header-inner{padding:12px 16px}
  .section-inner{padding:0 20px}
  .hero-bullets li{font-size:15px}
}
@media (max-width: 520px){
  .steps-grid{grid-template-columns:1fr}
  .hero-proof{grid-template-columns:1fr;text-align:left}
  .hero-proof .stat{flex-direction:row;gap:10px;align-items:baseline}
  .hero-proof .n{font-size:20px}
  .logo-sub{display:none}
  .logo-name{font-size:16px}
  .phone-pill{padding:9px 12px;font-size:14px}
  .form-head{padding:18px 20px}
  .form-body{padding:18px 20px 10px}
  .form-foot{padding:14px 20px 18px}
  .secure-row{flex-wrap:wrap;padding:12px 16px;gap:8px}
  h1.hero-title{font-size:34px}
}

/* Theme variants */
.theme-bold{
  --ink:#062056;
  --ink-2:#0E3A87;
  --sky:#2B6EC8;
  --red:#B00020;
  --red-2:#8A0019;
}
.theme-calm{
  --red:#3B82D9;
  --red-2:#1B4AA0;
}

/* final-CTA bg tuned to brand */
.final{
  background:
    radial-gradient(900px 400px at 50% 0%, rgba(59,130,217,.14), transparent 60%),
    radial-gradient(700px 320px at 50% 100%, rgba(200,16,46,.08), transparent 60%),
    var(--cream);
}
