/* ============================================================
   LeanScaper Accelerator Landing — HubSpot bundle
   Same token system as platform-landing.css
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Permanent+Marker&family=Readex+Pro:wght@300;400;500;600;700&display=swap');

/* =========================================================
   TOKENS
   ========================================================= */
:root {
  --ls-dark-blue:  #002B47;
  --ls-sky:        #009BF1;
  --ls-green:      #96BF37;
  --ls-orange:     #FBA91A;
  --ls-yellow:     #FDCC1D;
  --ls-white:      #FFFFFF;
  --ls-sky-50:     #E8F5FD;
  --ls-sky-700:    #0077BB;
  --ls-green-50:   #F1F6E0;
  --ls-green-700:  #6E8E28;
  --ls-orange-50:  #FEF1DB;
  --ls-orange-700: #C48000;
  --ls-ink:        #002B47;
  --ls-ink-10:     #E5EAEE;
  --ls-ink-05:     #F2F4F6;
  --ls-off-white:  #F7F9FB;
  --font-display:  "Readex Pro", sans-serif;
  --font-body:     "DM Sans", sans-serif;
  --font-accent:   "Permanent Marker", cursive;
  --shadow-sm: 0 2px 6px rgba(0,43,71,0.08);
  --shadow-md: 0 8px 20px rgba(0,43,71,0.10);
  --shadow-lg: 0 16px 40px rgba(0,43,71,0.14);
  --shadow-xl: 0 24px 60px rgba(0,43,71,0.18);
  --ease: cubic-bezier(.2,.8,.2,1);
  --dur: 200ms;
}

/* =========================================================
   RESET + BASE
   ========================================================= */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
html, body { overflow-x: hidden; }
body { font-family: var(--font-body); font-size: 16px; line-height: 1.55; color: var(--ls-dark-blue); background: #fff; -webkit-font-smoothing: antialiased; }
h1,h2,h3,h4 { font-family: var(--font-display); letter-spacing: -0.02em; color: var(--ls-dark-blue); text-wrap: balance; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
ul { list-style: none; padding: 0; }
::selection { background: var(--ls-sky); color: #fff; }

/* =========================================================
   LAYOUT
   ========================================================= */
.ls-section-inner { max-width: 1200px; margin: 0 auto; padding: 0 32px; }

/* =========================================================
   ENERGY BAR
   ========================================================= */
.ls-energy-bar {
  --eb-w: 77px;
  display: flex; align-items: stretch;
  gap: calc(var(--eb-w) * (17/313));
  width: var(--eb-w);
  height: calc(var(--eb-w) * (12/313));
  margin-bottom: 16px;
}
.ls-energy-bar i { display: block; height: 100%; border-radius: 999px; flex: 0 0 auto; }
.ls-energy-bar i:nth-child(1) { width: calc(var(--eb-w) * (57/313));  background: var(--ls-dark-blue); }
.ls-energy-bar i:nth-child(2) { width: calc(var(--eb-w) * (109/313)); background: var(--ls-sky); }
.ls-energy-bar i:nth-child(3) { width: calc(var(--eb-w) * (61/313));  background: var(--ls-green); }
.ls-energy-bar i:nth-child(4) { width: calc(var(--eb-w) * (37/313));  background: var(--ls-orange); }
.ls-energy-bar--lg { --eb-w: 102px; }

/* =========================================================
   TYPE HELPERS
   ========================================================= */
.ls-eyebrow { font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: var(--ls-sky); margin-bottom: 8px; display: block; }
.ls-h1 { font-family: var(--font-display); font-size: clamp(36px, 4.5vw, 58px); font-weight: 700; line-height: 1.05; letter-spacing: -0.02em; color: var(--ls-dark-blue); margin-bottom: 20px; }
.ls-h2 { font-family: var(--font-display); font-size: clamp(28px, 3.2vw, 42px); font-weight: 700; line-height: 1.1; letter-spacing: -0.02em; color: var(--ls-dark-blue); }
.ls-h3 { font-family: var(--font-display); font-size: clamp(17px, 1.8vw, 20px); font-weight: 600; line-height: 1.2; letter-spacing: -0.01em; color: var(--ls-dark-blue); margin-bottom: 10px; }
.ls-lede { font-size: 18px; line-height: 1.65; color: var(--ls-dark-blue); opacity: 0.75; max-width: 520px; margin-bottom: 28px; }

/* =========================================================
   BUTTONS
   ========================================================= */
.ls-btn {
  display: inline-flex; align-items: center; gap: 6px;
  font-family: var(--font-body); font-weight: 600;
  border-radius: 999px; cursor: pointer; border: none;
  text-decoration: none; white-space: nowrap; line-height: 1;
  transition: background var(--dur) var(--ease), color var(--dur) var(--ease), transform var(--dur) var(--ease);
}
.ls-btn:focus-visible { outline: none; box-shadow: 0 0 0 3px rgba(0,155,241,0.35), 0 0 0 1px var(--ls-dark-blue); }
.ls-btn--primary { background: var(--ls-sky); color: #fff; }
.ls-btn--primary:hover { background: var(--ls-dark-blue); color: #fff; }
.ls-btn--primary:active { transform: translateY(1px); }
.ls-btn--ghost { background: transparent; color: var(--ls-dark-blue); border: 1.5px solid var(--ls-dark-blue); }
.ls-btn--ghost:hover { background: rgba(0,155,241,0.06); border-color: var(--ls-sky); color: var(--ls-sky); }
.ls-btn--lg { font-size: 16px; padding: 16px 32px; }
.ls-btn--sm { font-size: 14px; padding: 10px 20px; }

/* =========================================================
   SECTION HEADER
   ========================================================= */
.ls-section-header { display: grid; grid-template-columns: 1fr 380px; gap: 48px; align-items: end; margin-bottom: 56px; }
.ls-section-header .ls-h2 { margin-top: 8px; }
.ls-section-sub { font-size: 17px; line-height: 1.65; color: var(--ls-dark-blue); opacity: 0.72; max-width: 62ch; }
.ls-section-header--center { grid-template-columns: 1fr; text-align: center; justify-items: center; }
.ls-section-sub--center { max-width: 56ch; margin: 12px auto 0; }

/* =========================================================
   NAV
   ========================================================= */
.ls-nav {
  position: fixed !important;
  top: 0;
  background: rgba(255,255,255,0.85);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--ls-ink-10);
  left: 0;
  right: 0;
  z-index: 100  !important;
}

.ls-nav-inner {
  max-width: 1200px; margin: 0 auto; padding: 10px 32px;
  width: 100%; display: flex; align-items: center;
  justify-content: space-between; gap: 24px;
}
.ls-nav-logo { display: flex; align-items: center; flex-shrink: 0; }
.ls-nav-logo-img { height: 28px; width: auto; display: block; }
.ls-nav-links { display: flex; gap: 32px; }
.ls-nav-links a { font-size: 14px; font-weight: 500; color: var(--ls-dark-blue); opacity: 0.65; transition: opacity var(--dur) var(--ease); }
.ls-nav-links a:hover { opacity: 1; }
.ls-nav-actions { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }

/* =========================================================
   HERO
   ========================================================= */
.ls-hero { padding: 96px 0 80px; background: var(--ls-off-white); overflow: hidden; }
.ls-hero-inner {
  max-width: 1200px; margin: 0 auto; padding: 0 32px;
  display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center;
}
.ls-hero-ctas { display: flex; gap: 12px; margin-bottom: 12px; flex-wrap: wrap; }
.ls-hero-text-link {
  display: inline-block; font-size: 14px; font-weight: 500;
  color: var(--ls-dark-blue); opacity: 0.55;
  text-decoration: underline; text-underline-offset: 3px;
  text-decoration-color: rgba(0,43,71,0.25);
  margin-bottom: 24px;
  transition: opacity var(--dur) var(--ease);
}
.ls-hero-text-link:hover { opacity: 1; }
.ls-hero-bullets { display: flex; flex-direction: column; gap: 10px; }
.ls-hero-bullets li { display: flex; align-items: center; gap: 10px; font-size: 15px; font-weight: 500; }
.ls-bullet-check {
  width: 20px; height: 20px; border-radius: 50%;
  background: var(--ls-dark-blue); display: flex;
  align-items: center; justify-content: center; flex-shrink: 0;
}

/* Program visual */
.ls-hero-visual { position: relative; }
.ls-program-visual {
  background: #fff; border-radius: 16px;
  box-shadow: var(--shadow-xl); border: 1px solid var(--ls-ink-10);
  overflow: hidden; position: relative;
}
.ls-program-header {
  background: var(--ls-dark-blue); padding: 14px 20px;
  display: flex; align-items: center; gap: 12px;
}
.ls-program-badge {
  background: var(--ls-sky); color: #fff;
  font-size: 10px; font-weight: 700; padding: 3px 10px;
  border-radius: 99px; text-transform: uppercase; letter-spacing: 0.06em;
}
.ls-program-title {
  font-family: var(--font-display); font-size: 13px;
  font-weight: 600; color: #fff; letter-spacing: -0.01em;
}
.ls-week-block {
  display: grid; grid-template-columns: 100px 1fr;
  gap: 0; border-bottom: 1px solid var(--ls-ink-10);
}
.ls-week-block--light { background: var(--ls-off-white); border-bottom: none; }
.ls-week-day {
  padding: 16px 14px; border-right: 1px solid var(--ls-ink-10);
  display: flex; flex-direction: column; justify-content: center; gap: 3px;
}
.ls-day-label { font-size: 12px; font-weight: 700; color: var(--ls-dark-blue); }
.ls-day-time { font-size: 10px; color: rgba(0,43,71,0.5); font-weight: 500; }
.ls-week-sessions { padding: 12px; display: flex; flex-direction: column; gap: 7px; }
.ls-session { padding: 10px 12px; border-radius: 8px; }
.ls-session--navy { background: var(--ls-dark-blue); }
.ls-session--sky { background: var(--ls-sky-50); border: 1px solid rgba(0,155,241,0.15); }
.ls-session--green { background: var(--ls-green-50); border: 1px solid rgba(150,191,55,0.2); }
.ls-session-label { font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: 3px; }
.ls-session--navy .ls-session-label { color: rgba(255,255,255,0.5); }
.ls-session--sky .ls-session-label { color: var(--ls-sky); }
.ls-session--green .ls-session-label { color: var(--ls-green-700); }
.ls-session-title { font-size: 13px; font-weight: 600; margin-bottom: 2px; }
.ls-session--navy .ls-session-title { color: #fff; }
.ls-session--sky .ls-session-title { color: var(--ls-dark-blue); }
.ls-session--green .ls-session-title { color: var(--ls-dark-blue); }
.ls-session-sub { font-size: 11px; line-height: 1.45; }
.ls-session--navy .ls-session-sub { color: rgba(255,255,255,0.65); }
.ls-session--sky .ls-session-sub { color: rgba(0,43,71,0.6); }
.ls-session--green .ls-session-sub { color: rgba(0,43,71,0.6); }
.ls-float-pill {
  position: absolute; bottom: -12px; right: 16px;
  background: #fff; border-radius: 99px; padding: 8px 14px;
  display: flex; align-items: center; gap: 7px;
  font-size: 12px; font-weight: 500; color: var(--ls-dark-blue);
  box-shadow: 0 4px 16px rgba(0,43,71,0.14); border: 1px solid var(--ls-ink-10);
}
.ls-float-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }

/* =========================================================
   PROBLEM
   ========================================================= */
.ls-problem { padding: 112px 0; background: #fff; }
.ls-pain-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.ls-pain-card {
  background: var(--ls-off-white); border: 1px solid var(--ls-ink-10);
  border-radius: 16px; padding: 28px 24px;
  transition: box-shadow var(--dur) var(--ease), transform var(--dur) var(--ease);
}
.ls-pain-card:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); }
.ls-pain-icon { width: 44px; height: 44px; border-radius: 12px; display: flex; align-items: center; justify-content: center; margin-bottom: 16px; }
.ls-pain-title { font-family: var(--font-display); font-size: 16px; font-weight: 600; letter-spacing: -0.01em; color: var(--ls-dark-blue); margin-bottom: 8px; }
.ls-pain-body { font-size: 14px; line-height: 1.6; color: var(--ls-dark-blue); opacity: 0.7; }

/* =========================================================
   HOW IT WORKS
   ========================================================= */
.ls-how { padding: 112px 0; background: var(--ls-dark-blue); }
.ls-how .ls-h2 { color: #fff; }
.ls-how .ls-section-sub--center { color: rgba(255,255,255,0.72); }
.ls-how .ls-energy-bar i:nth-child(1) { background: rgba(255,255,255,0.3); }

.ls-steps { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; gap: 0; align-items: start; margin-bottom: 32px; }
.ls-step {
  background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.1);
  border-radius: 16px; padding: 28px 24px;
}
.ls-step-num {
  width: 44px; height: 44px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-display); font-size: 18px; font-weight: 700;
  margin-bottom: 16px; flex-shrink: 0;
}
.ls-step-tag { font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.07em; margin-bottom: 6px; }
.ls-step-title { font-family: var(--font-display); font-size: 20px; font-weight: 700; color: #fff; margin-bottom: 10px; letter-spacing: -0.01em; }
.ls-step-desc { font-size: 14px; line-height: 1.65; color: rgba(255,255,255,0.7); }
.ls-step-arrow { font-size: 20px; color: rgba(255,255,255,0.2); display: flex; align-items: center; padding: 0 16px; margin-top: 60px; }

.ls-rhythm-bar {
  background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.1);
  border-radius: 12px; padding: 14px 24px;
  display: flex; align-items: center; gap: 0; flex-wrap: wrap;
}
.ls-rhythm-item { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 500; color: rgba(255,255,255,0.8); padding: 4px 0; }
.ls-rhythm-dot { width: 7px; height: 7px; border-radius: 50%; flex-shrink: 0; }
.ls-rhythm-divider { width: 1px; height: 20px; background: rgba(255,255,255,0.15); margin: 0 20px; }

/* =========================================================
   WHAT'S INCLUDED
   ========================================================= */
.ls-included { padding: 112px 0; background: var(--ls-off-white); }
.ls-included-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 24px; }
.ls-included-card {
  background: #fff; border: 1px solid var(--ls-ink-10);
  border-radius: 16px; padding: 28px 24px;
  transition: box-shadow var(--dur) var(--ease), transform var(--dur) var(--ease);
}
.ls-included-card:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); }
.ls-included-card--featured {
  background: var(--ls-dark-blue); border-color: var(--ls-dark-blue);
  box-shadow: var(--shadow-lg);
}
.ls-included-card--featured .ls-inc-title,
.ls-included-card--featured h3,
.ls-included-card--featured p { color: rgba(255,255,255,0.9); }
.ls-included-card--featured h3 { color: #fff; }
.ls-inc-num { font-family: var(--font-display); font-size: 13px; font-weight: 700; letter-spacing: 0.05em; margin-bottom: 6px; }
.ls-inc-bar { width: 36px; height: 4px; border-radius: 99px; margin-bottom: 12px; }
.ls-inc-title { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; color: rgba(0,43,71,0.5); margin-bottom: 8px; }
.ls-included-card--featured .ls-inc-title { color: rgba(255,255,255,0.45); }
.ls-included-card p { font-size: 14px; line-height: 1.65; color: var(--ls-dark-blue); opacity: 0.7; margin: 0; }
.ls-included-card--featured p { color: rgba(255,255,255,0.75); opacity: 1; }

.ls-build-strip {
  background: #fff; border: 1px solid var(--ls-ink-10);
  border-radius: 14px; padding: 18px 24px;
  display: flex; align-items: center; gap: 20px; flex-wrap: wrap;
}
.ls-build-label {
  font-size: 12px; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.08em; color: var(--ls-dark-blue); flex-shrink: 0;
}
.ls-build-pills { display: flex; flex-wrap: wrap; gap: 6px; }
.ls-build-pills span {
  font-size: 12px; font-weight: 500; padding: 5px 12px;
  border-radius: 99px; background: var(--ls-sky-50);
  color: var(--ls-dark-blue); border: 1px solid rgba(0,155,241,0.15);
}

  .ls-cta-form-header   { padding: 32px 40px 0px !important; }

/* =========================================================
   PROOF
   ========================================================= */
.ls-proof { padding: 112px 0; background: #fff; }
.ls-testimonials { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.ls-testimonial {
  background: var(--ls-off-white); border: 1px solid var(--ls-ink-10);
  border-radius: 16px; padding: 28px 24px;
  border-left: 3px solid var(--ls-sky);
}
.ls-quote { font-size: 16px; line-height: 1.65; color: var(--ls-dark-blue); font-style: italic; margin-bottom: 20px; }
.ls-testimonial-meta { display: flex; align-items: center; gap: 12px; }
.ls-testimonial-avatar {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
}

.ls-testimonial-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.ls-testimonial-name { font-size: 14px; font-weight: 600; color: var(--ls-dark-blue); }
.ls-testimonial-company { font-size: 12px; color: rgba(0,43,71,0.5); }

/* =========================================================
   PRICING
   ========================================================= */
.ls-pricing { padding: 112px 0; background: var(--ls-dark-blue); }
.ls-pricing-inner { display: grid; grid-template-columns: 1fr 1.4fr; gap: 64px; align-items: start; }
.ls-pricing .ls-h2 { color: #fff; margin-top: 8px; margin-bottom: 16px; }
.ls-pricing .ls-eyebrow { color: var(--ls-sky); }
.ls-pricing-sub { font-size: 16px; line-height: 1.65; color: rgba(255,255,255,0.72); margin-bottom: 20px; }
.ls-pricing-note { font-size: 13px; color: rgba(255,255,255,0.45); font-style: italic; margin-bottom: 28px; }
.ls-pricing-btns { display: flex; gap: 12px; flex-wrap: wrap; }
.ls-pricing .ls-btn--ghost { color: #fff; border-color: rgba(255,255,255,0.4); }
.ls-pricing .ls-btn--ghost:hover { background: rgba(255,255,255,0.1); border-color: #fff; color: #fff; }

.ls-pricing-right { display: flex; flex-direction: column; gap: 20px; }
.ls-pricing-who {
  background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.1);
  border-radius: 16px; padding: 24px;
}
.ls-pricing-who .ls-eyebrow { color: rgba(255,255,255,0.5); margin-bottom: 14px; }
.ls-who-list { display: flex; flex-direction: column; gap: 10px; }
.ls-who-item { display: flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 500; color: rgba(255,255,255,0.85); }
.ls-who-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--ls-sky); flex-shrink: 0; }

.ls-tiers { display: flex; flex-direction: column; gap: 6px; }
.ls-tier {
  background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.1);
  border-radius: 12px; padding: 14px 18px;
  display: flex; align-items: center; justify-content: space-between;
  position: relative; overflow: hidden;
}
.ls-tier--featured {
  background: rgba(0,155,241,0.15);
  border-color: rgba(0,155,241,0.4);
}
.ls-tier-badge {
  position: absolute; top: 0; right: 0;
  background: var(--ls-sky); color: #fff;
  font-size: 9px; font-weight: 700; padding: 3px 10px;
  border-radius: 0 0 0 8px; text-transform: uppercase; letter-spacing: 0.06em;
}
.ls-tier-name { font-size: 15px; font-weight: 600; color: #fff; margin-bottom: 2px; }
.ls-tier-range { font-size: 12px; color: rgba(255,255,255,0.5); }
.ls-tier-price { font-family: var(--font-display); font-size: 20px; font-weight: 700; color: #fff; letter-spacing: -0.01em; }
.ls-tier-price span { font-size: 13px; font-weight: 400; color: rgba(255,255,255,0.5); }

/* =========================================================
   FINAL CTA + FORM
   ========================================================= */
.ls-cta { padding: 112px 0; background: #fff; }
.ls-cta-card {
  display: grid; grid-template-columns: 1fr 1fr;
  background: var(--ls-dark-blue);
  border-radius: 24px; overflow: hidden;
  box-shadow: var(--shadow-xl); position: relative;
}
.ls-cta-card::before {
  content: ""; position: absolute; top: -120px; left: -120px;
  width: 400px; height: 400px; border-radius: 50%;
  background: radial-gradient(circle, rgba(0,155,241,0.12) 0%, transparent 70%);
  pointer-events: none;
}
.ls-cta-copy { padding: 64px 48px; position: relative; z-index: 1; }
.ls-cta-copy .ls-energy-bar { margin-bottom: 16px; }
.ls-cta-copy .ls-energy-bar i:nth-child(1) { background: rgba(255,255,255,0.3); }
.ls-cta-h2 { font-family: var(--font-display); font-size: clamp(26px, 3vw, 36px); font-weight: 700; letter-spacing: -0.02em; color: #fff; margin-bottom: 16px; text-wrap: balance; }
.ls-cta-body { font-size: 16px; line-height: 1.65; color: rgba(255,255,255,0.75); margin-bottom: 28px; }
.ls-cta-checks { display: flex; flex-direction: column; gap: 10px; }
.ls-cta-checks li { display: flex; align-items: center; gap: 9px; font-size: 15px; font-weight: 500; color: rgba(255,255,255,0.9); }
.ls-cta-check { width: 18px; height: 18px; border-radius: 50%; background: var(--ls-sky); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.ls-cta-fine { font-size: 12px; color: rgba(255,255,255,0.4); margin-top: 10px; }

.ls-cta-form { background: #fff; padding: 0px; }
.ls-form-title { font-family: var(--font-display); font-size: 20px; font-weight: 700; color: var(--ls-dark-blue); margin-bottom: 8px; letter-spacing: -0.01em; }
.ls-form-sub { font-size: 14px; line-height: 1.6; color: rgba(0,43,71,0.6); margin-bottom: 0px; }

/* HubSpot form scoping */
.ls-cta-form .hs-form-frame { width: 100%; }
.ls-cta-form .hs-form input,
.ls-cta-form .hs-form select,
.ls-cta-form .hs-form textarea {
  border: 1.5px solid var(--ls-ink-10) !important;
  border-radius: 10px !important;
  padding: 10px 14px !important;
  font-family: var(--font-body) !important;
  font-size: 14px !important;
  color: var(--ls-dark-blue) !important;
  background: #fff !important;
  width: 100% !important;
}
.ls-cta-form .hs-form input:focus,
.ls-cta-form .hs-form select:focus {
  outline: none !important;
  border-color: var(--ls-sky) !important;
  box-shadow: 0 0 0 3px rgba(0,155,241,0.15) !important;
}
.ls-cta-form .hs-form .hs-button {
  background: var(--ls-sky) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 999px !important;
  font-family: var(--font-body) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  padding: 14px 32px !important;
  cursor: pointer !important;
  width: 100% !important;
  transition: background var(--dur) var(--ease) !important;
}
.ls-cta-form .hs-form .hs-button:hover { background: var(--ls-dark-blue) !important; }
.ls-cta-form .hs-form label { font-size: 12px !important; font-weight: 600 !important; text-transform: uppercase !important; letter-spacing: 0.06em !important; color: rgba(0,43,71,0.6) !important; margin-bottom: 5px !important; display: block !important; }

/* =========================================================

/* =========================================================
   RESPONSIVE
   ========================================================= */

/* =========================================================
   HUBSPOT CTA — strip injected PNG globally
   ========================================================= */
.ls-nav-inner .hs-cta-wrapper img,
.ls-nav-inner .hs-cta-node img,
.ls-hero-ctas .hs-cta-wrapper img,
.ls-hero-ctas .hs-cta-node img,
.ls-pricing-btns .hs-cta-wrapper img,
.ls-pricing-btns .hs-cta-node img,
.ls-cta-copy .hs-cta-wrapper img,
.ls-cta-copy .hs-cta-node img {
  display: none !important;
}

/* =========================================================
   TABLET (≤ 1080px)
   ========================================================= */
@media (max-width: 1080px) {
  .ls-hero-inner        { grid-template-columns: 1fr; gap: 48px; }
  .ls-section-header    { grid-template-columns: 1fr; gap: 16px; }
  .ls-pain-grid         { grid-template-columns: repeat(2, 1fr); }
  .ls-steps             { grid-template-columns: 1fr; gap: 16px; }
  .ls-step-arrow        { display: none; }
  .ls-included-grid     { grid-template-columns: repeat(2, 1fr); }
  .ls-testimonials      { grid-template-columns: 1fr; gap: 12px; }
  .ls-pricing-inner     { grid-template-columns: 1fr; gap: 40px; }
  .ls-cta-card          { grid-template-columns: 1fr; }
  .ls-rhythm-bar        { gap: 12px; }
  .ls-rhythm-divider    { display: none; }
}

/* =========================================================
   MOBILE (≤ 720px) — single consolidated block
   ========================================================= */
@media (max-width: 720px) {

  html, body            { overflow-x: hidden; }
  .ls-section-inner     { padding: 0 20px; }
  .ls-cta .ls-section-inner     { padding: 0px; }

  /* Nav */
  .ls-nav               { height: auto; padding: 8px 0; }
  .ls-nav-inner         { padding: 10px 16px; flex-wrap: nowrap; align-items: center; gap: 12px; }
  .ls-nav-links         { display: none; }

  /* Nav HubSpot CTA — constrain and allow wrap */
  .ls-nav-inner .hs-cta-wrapper,
  .ls-nav-inner .hs-cta-node {
    display: block !important;
    max-width: 110px;
    flex-shrink: 0;
  }
  .ls-nav-inner .hs-cta-wrapper a,
  .ls-nav-inner .hs-cta-node a {
    white-space: normal !important;
    text-align: center !important;
    line-height: 1.35 !important;
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    font-size: 11px !important;
    padding: 7px 11px !important;
  }

  /* Hero */
  .ls-hero              { padding: 80px 0 48px; overflow: hidden; }
  .ls-hero-inner        { padding: 0 20px; gap: 36px; }
  .ls-h1                { font-size: clamp(30px, 8vw, 40px); }
  .ls-lede              { font-size: 16px; max-width: 100%; }
  .ls-hero-ctas         { flex-direction: column; align-items: stretch; gap: 10px; }
  .ls-hero-ctas .ls-btn {
    width: 100%; text-align: center;
    justify-content: center; box-sizing: border-box; display: flex !important;
  }

  /* Hero HubSpot CTA — full width */
  .ls-hero-ctas .hs-cta-wrapper,
  .ls-hero-ctas .hs-cta-node {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .ls-hero-ctas .hs-cta-wrapper a,
  .ls-hero-ctas .hs-cta-node a {
    width: 100% !important;
    display: flex !important;
    box-sizing: border-box !important;
    justify-content: center !important;
    white-space: normal !important;
  }

  /* Sections */
  .ls-problem           { padding: 72px 0; }
  .ls-pain-grid         { grid-template-columns: 1fr; }
  .ls-how               { padding: 72px 0; }
  .ls-included          { padding: 72px 0; }
  .ls-included-grid     { grid-template-columns: 1fr; }
  .ls-build-strip       { flex-direction: column; align-items: flex-start; gap: 12px; }
  .ls-proof             { padding: 72px 0; }

  /* Pricing */
  .ls-pricing           { padding: 72px 0; }
  .ls-pricing-btns      { flex-direction: column; align-items: stretch; gap: 10px; }
  .ls-pricing-btns .ls-btn {
    width: 100%; justify-content: center; box-sizing: border-box;
  }
  .ls-pricing-btns .hs-cta-wrapper,
  .ls-pricing-btns .hs-cta-node {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .ls-pricing-btns .hs-cta-wrapper a,
  .ls-pricing-btns .hs-cta-node a {
    width: 100% !important;
    display: flex !important;
    box-sizing: border-box !important;
    justify-content: center !important;
  }

  /* CTA + Form */
  .ls-cta               { padding: 72px 0; overflow: hidden; }
  .ls-cta-card          { border-radius: 16px; overflow: hidden; }
  .ls-cta-copy          { padding: 40px 24px; }
  .ls-cta-h2            { font-size: clamp(24px, 6.5vw, 32px); }
  .ls-cta-copy .ls-btn  { width: 100%; justify-content: center; box-sizing: border-box; }
  .ls-cta-copy .hs-cta-wrapper,
  .ls-cta-copy .hs-cta-node {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .ls-cta-copy .hs-cta-wrapper a,
  .ls-cta-copy .hs-cta-node a {
    width: 100% !important;
    display: flex !important;
    box-sizing: border-box !important;
    justify-content: center !important;
  }

  
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; animation: none !important; }
  html { scroll-behavior: auto; }
}