/* ════════════════════════════════════════════════════
   Florida Lady Bird Deed — v3 Redesign
   Light mode · Plus Jakarta Sans + Fraunces · Dense layout
════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,400;0,500;0,600;0,700;0,800;1,400;1,600&family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,600;0,9..144,700;1,9..144,400;1,9..144,600;1,9..144,700&display=swap');

/* ─── TOKENS ─────────────────────────────────────── */
:root {
  /* Palette — warm neutral, professional */
  --bg:         #fafaf8;
  --bg2:        #f4f3ef;
  --bg3:        #ede9e2;
  --white:      #ffffff;
  --ink:        #1a1814;
  --ink2:       #3d3a35;
  --muted:      #6b6560;
  --muted2:     #9b958e;
  --rule:       #e4e0d8;

  /* Brand */
  --teal:       #0d7a80;
  --teal-lt:    #e6f5f5;
  --teal-mid:   #0a6368;
  --gold:       #c9850a;
  --gold-lt:    #fef4e4;
  --green:      #1a7a4a;
  --green-lt:   #e7f5ee;
  --red:        #c0392b;
  --red-lt:     #fdecea;

  /* Typography */
  --serif: 'Fraunces', Georgia, serif;
  --sans:  'Plus Jakarta Sans', system-ui, sans-serif;

  /* Spacing */
  --nav-h: 60px;
  --max:   1160px;
  --gap:   clamp(1.25rem, 2.5vw, 2rem);
  --section-py: clamp(3rem, 6vw, 5rem);

  /* Radius */
  --r-sm: 8px;
  --r-md: 12px;
  --r-lg: 18px;
  --r-xl: 24px;
  --r-pill: 100px;

  /* Shadow */
  --sh-sm: 0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.05);
  --sh-md: 0 4px 16px rgba(0,0,0,.08), 0 2px 6px rgba(0,0,0,.05);
  --sh-lg: 0 8px 32px rgba(0,0,0,.1),  0 4px 12px rgba(0,0,0,.06);
}

/* ─── RESET ──────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  font-family: var(--sans);
  background: var(--bg);
  color: var(--ink);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
a { text-decoration: none; color: inherit; }
img { display: block; max-width: 100%; height: auto; }
button, input, select, textarea { font: inherit; }

/* ─── CONTAINER ──────────────────────────────────── */
.wrap {
  max-width: var(--max);
  margin: 0 auto;
  padding: 0 clamp(1rem, 4vw, 2.5rem);
}

/* ══════════════════════════════════════════════════
   ADMIN BAR FIX
══════════════════════════════════════════════════ */
.admin-bar nav { top: 32px !important; }
.admin-bar .announce { margin-top: calc(32px + var(--nav-h)) !important; }
.admin-bar #hero { scroll-margin-top: calc(32px + var(--nav-h)) !important; }
@media screen and (max-width: 782px) {
  .admin-bar nav { top: 46px !important; }
  .admin-bar .announce { margin-top: calc(46px + var(--nav-h)) !important; }
}

/* ══════════════════════════════════════════════════
   ANNOUNCE BAR
══════════════════════════════════════════════════ */
.announce {
  margin-top: var(--nav-h);
  background: var(--teal);
  color: rgba(255,255,255,.92);
  text-align: center;
  padding: .5rem 1rem;
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .03em;
}
.announce span { opacity: .5; margin: 0 .6rem; }

/* ══════════════════════════════════════════════════
   NAV
══════════════════════════════════════════════════ */
nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 400;
  height: var(--nav-h);
  background: rgba(255,255,255,.97);
  border-bottom: 1px solid var(--rule);
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 clamp(1rem, 4vw, 2.5rem);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

/* Text logo */
.nav-logo {
  display: flex; align-items: baseline; gap: 0;
  font-family: var(--serif);
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1;
  color: var(--ink);
  letter-spacing: -.02em;
}
.nl-florida  { color: var(--ink); font-style: normal; }
.nl-ladybird { color: var(--teal); font-style: italic; margin: 0 .12em; }
.nl-deed     { color: var(--ink2); font-style: italic; }

.nav-links { display: flex; align-items: center; gap: 1.5rem; list-style: none; }
.nav-links a {
  font-size: .84rem; font-weight: 600; color: var(--ink2);
  letter-spacing: .01em; transition: color .15s;
}
.nav-links a:hover { color: var(--teal); }

.btn-nav-cta {
  background: var(--teal); color: white !important;
  font-weight: 700 !important; font-size: .82rem !important;
  padding: .48rem 1.1rem; border-radius: var(--r-pill);
  transition: background .15s, transform .1s;
  box-shadow: var(--sh-sm);
  white-space: nowrap;
}
.btn-nav-cta:hover { background: var(--teal-mid) !important; transform: translateY(-1px); }

/* ══════════════════════════════════════════════════
   BUTTONS
══════════════════════════════════════════════════ */
.btn-primary {
  display: inline-flex; align-items: center; justify-content: center; gap: .45rem;
  background: var(--teal); color: white;
  font-family: var(--sans); font-weight: 700; font-size: .95rem;
  padding: .75rem 1.75rem; border-radius: var(--r-pill);
  border: none; cursor: pointer; white-space: nowrap;
  transition: background .15s, transform .1s, box-shadow .15s;
  box-shadow: var(--sh-sm);
}
.btn-primary:hover { background: var(--teal-mid); transform: translateY(-1px); box-shadow: var(--sh-md); }
.btn-primary.lg { font-size: 1rem; padding: .9rem 2rem; }
.btn-primary.gold { background: var(--gold); }
.btn-primary.gold:hover { background: #b5760a; }

.btn-outline {
  display: inline-flex; align-items: center; justify-content: center; gap: .45rem;
  background: transparent; color: var(--ink2);
  font-family: var(--sans); font-weight: 600; font-size: .95rem;
  padding: .74rem 1.5rem; border-radius: var(--r-pill);
  border: 1.5px solid var(--rule); cursor: pointer; white-space: nowrap;
  transition: border-color .15s, color .15s;
}
.btn-outline:hover { border-color: var(--teal); color: var(--teal); }

/* ══════════════════════════════════════════════════
   HERO  — Two-column: content left, form right
   No min-height:100vh — fills content naturally
══════════════════════════════════════════════════ */
#hero {
  padding: 3rem 0 3rem;
  background: var(--white);
  border-bottom: 1px solid var(--rule);
}

.hero-grid {
  max-width: var(--max);
  margin: 0 auto;
  padding: 0 clamp(1rem, 4vw, 2.5rem);
  display: grid;
  grid-template-columns: 1fr 400px;
  gap: 3rem;
  align-items: start;
}

.hero-left { padding-top: .75rem; }

.eyebrow {
  display: inline-flex; align-items: center; gap: .4rem;
  background: var(--teal-lt);
  color: var(--teal);
  font-size: .72rem; font-weight: 700; letter-spacing: .1em;
  text-transform: uppercase;
  padding: .28rem .75rem; border-radius: var(--r-pill);
  margin-bottom: 1rem;
}
.eyebrow .dot {
  width: 5px; height: 5px; border-radius: 50%;
  background: var(--teal);
  animation: pulse 2.2s ease infinite;
}
@keyframes pulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.3;transform:scale(.6)} }

/* H1 */
h1 {
  font-family: var(--serif);
  font-size: clamp(2.4rem, 4.5vw, 3.6rem);
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -.025em;
  color: var(--ink);
  margin-bottom: 1rem;
}
h1 .teal  { color: var(--teal); font-style: italic; }
h1 .light { color: var(--muted); font-style: italic; font-weight: 400; }

.hero-sub {
  font-size: 1.05rem; line-height: 1.65;
  color: var(--ink2); max-width: 480px;
  margin-bottom: 1.5rem;
}
.hero-sub strong { color: var(--ink); font-weight: 700; }

.hero-checks {
  list-style: none;
  display: flex; flex-direction: column; gap: .45rem;
  margin-bottom: 1.75rem;
}
.hero-checks li {
  display: flex; align-items: center; gap: .55rem;
  font-size: .9rem; color: var(--ink2); font-weight: 500;
}
.hero-checks .ck {
  width: 18px; height: 18px; border-radius: 50%;
  background: var(--green-lt);
  color: var(--green);
  display: flex; align-items: center; justify-content: center;
  font-size: .7rem; font-weight: 800; flex-shrink: 0;
}

.hero-cta-row { display: flex; gap: .75rem; flex-wrap: wrap; margin-bottom: 1.5rem; }

.hero-stats {
  display: flex; gap: 1.75rem; flex-wrap: wrap;
  padding-top: 1.25rem;
  border-top: 1px solid var(--rule);
}
.stat-pill .num {
  font-family: var(--serif);
  font-size: 1.6rem; font-weight: 700;
  color: var(--ink); line-height: 1;
  letter-spacing: -.02em;
}
.stat-pill .label {
  font-size: .7rem; color: var(--muted); font-weight: 600;
  letter-spacing: .06em; text-transform: uppercase; margin-top: .1rem;
}

/* ─── FORM CARD ──────────────────────────────────── */
.form-card {
  background: var(--white);
  border: 1.5px solid var(--rule);
  border-radius: var(--r-xl);
  overflow: hidden;
  box-shadow: var(--sh-lg);
  position: sticky;
  top: calc(var(--nav-h) + 1.25rem);
}
.admin-bar .form-card { top: calc(32px + var(--nav-h) + 1.25rem); }

.fc-header {
  background: var(--teal);
  padding: 1.1rem 1.5rem;
  color: white;
}
.fc-header-label {
  font-size: .68rem; font-weight: 700; letter-spacing: .12em;
  text-transform: uppercase; opacity: .75; margin-bottom: .2rem;
}
.fc-header h2 {
  font-family: var(--serif); font-style: italic;
  font-size: 1.3rem; font-weight: 700; line-height: 1.15; color: white;
}

.fc-price {
  display: flex; align-items: center; gap: .75rem;
  padding: .9rem 1.5rem;
  background: var(--gold-lt);
  border-bottom: 1px solid #f0dcba;
}
.fc-price-big {
  font-family: var(--serif);
  font-size: 2.4rem; font-weight: 700;
  color: var(--gold); line-height: 1; letter-spacing: -.03em;
}
.fc-price-big sup { font-size: .95rem; vertical-align: super; font-style: normal; }
.fc-price-note { font-size: .75rem; color: #7a2000+; line-height: 1.5; }
.fc-price-note b { display: block; font-size: .82rem; color: #5a3800; margin-bottom: .1rem; }

.fc-form {
  padding: 1rem 1.5rem 1.25rem;
  display: flex; flex-direction: column; gap: .45rem;
}
.fc-form input,
.fc-form select {
  width: 100%;
  padding: .65rem .9rem;
  background: var(--bg);
  border: 1.5px solid var(--rule);
  border-radius: var(--r-sm);
  color: var(--ink);
  font-size: .86rem; font-weight: 500;
  transition: border-color .15s, box-shadow .15s;
  appearance: none; -webkit-appearance: none;
}
.fc-form input::placeholder { color: var(--muted2); font-weight: 400; }
.fc-form select { color: var(--ink); cursor: pointer; }
.fc-form select option { color: var(--ink); background: white; }
.fc-form input:focus,
.fc-form select:focus {
  outline: none;
  border-color: var(--teal);
  background: white;
  box-shadow: 0 0 0 3px rgba(13,122,128,.1);
}
.fc-row { display: grid; grid-template-columns: 1fr 1fr; gap: .45rem; }

.fc-form .submit-btn {
  width: 100%; margin-top: .3rem;
  background: var(--teal); color: white;
  font-family: var(--sans); font-weight: 700; font-size: .95rem;
  padding: .85rem 1rem; border-radius: var(--r-pill);
  border: none; cursor: pointer;
  display: flex; align-items: center; justify-content: center; gap: .4rem;
  transition: background .15s, transform .1s, box-shadow .15s;
  box-shadow: var(--sh-sm);
}
.fc-form .submit-btn:hover { background: var(--teal-mid); transform: translateY(-1px); box-shadow: var(--sh-md); }
.fc-form .submit-btn:disabled { opacity: .6; cursor: not-allowed; transform: none; }

.form-msg { display: none; padding: .75rem; border-radius: var(--r-sm); font-size: .83rem; font-weight: 600; text-align: center; margin-top: .35rem; }
.form-msg.success { background: var(--green-lt); color: var(--green); border: 1px solid #b8dfc9; display: block; }
.form-msg.error   { background: var(--red-lt);   color: var(--red);   border: 1px solid #f5c4be; display: block; }

.fc-trust {
  display: flex; justify-content: center; gap: 1rem; flex-wrap: wrap;
  padding: 0 1.5rem .85rem;
}
.fc-trust span {
  font-size: .67rem; color: var(--muted); font-weight: 600;
  display: flex; align-items: center; gap: .28rem;
}

/* ══════════════════════════════════════════════════
   TRUST BAR — logos / stats after hero
══════════════════════════════════════════════════ */
.trust-bar {
  background: var(--bg2);
  border-bottom: 1px solid var(--rule);
  padding: .9rem 0;
}
.trust-bar .wrap {
  display: flex; justify-content: center; align-items: center;
  gap: clamp(1.25rem, 3vw, 2.5rem); flex-wrap: wrap;
}
.trust-item {
  display: flex; align-items: center; gap: .5rem;
  font-size: .8rem; font-weight: 600; color: var(--muted);
  white-space: nowrap;
}
.trust-item .ti-icon {
  font-size: 1rem; opacity: .7;
}

/* ══════════════════════════════════════════════════
   SECTION SHARED
══════════════════════════════════════════════════ */
section {
  padding: var(--section-py) 0;
}
section:nth-child(even) {
  background: var(--bg2);
}

.section-head { margin-bottom: 2.5rem; }
.section-tag {
  display: inline-block;
  font-size: .7rem; font-weight: 700;
  letter-spacing: .14em; text-transform: uppercase;
  color: var(--teal); margin-bottom: .4rem;
}
h2.sh {
  font-family: var(--serif);
  font-size: clamp(1.8rem, 3.5vw, 2.6rem);
  font-weight: 700; letter-spacing: -.025em; line-height: 1.1;
  color: var(--ink);
}
h2.sh em  { font-style: italic; color: var(--teal); }
h2.sh .dim { color: var(--muted); font-weight: 400; font-style: italic; }
.section-sub {
  font-size: .95rem; color: var(--ink2); line-height: 1.65;
  max-width: 560px; margin-top: .6rem;
}

/* ══════════════════════════════════════════════════
   FEATURES — 3-col grid, tight cards
══════════════════════════════════════════════════ */
#features { background: var(--white); }

.feat-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--rule);
  border: 1px solid var(--rule);
  border-radius: var(--r-lg);
  overflow: hidden;
}
.feat-card {
  background: var(--white);
  padding: 1.5rem 1.75rem;
  transition: background .15s;
}
.feat-card:hover { background: var(--bg); }
.feat-icon {
  font-size: 1.3rem; margin-bottom: .75rem;
  width: 36px; height: 36px;
  display: flex; align-items: center; justify-content: center;
}
.feat-card h3 {
  font-size: .95rem; font-weight: 700;
  color: var(--ink); margin-bottom: .35rem;
}
.feat-card p {
  font-size: .84rem; color: var(--muted); line-height: 1.6;
}

/* Wide comparison strip below grid */
.compare-strip {
  margin-top: 1.5rem;
  border: 1px solid var(--rule);
  border-radius: var(--r-lg);
  overflow: hidden;
}
.cs-head {
  background: var(--bg2);
  padding: .75rem 1.25rem;
  font-size: .78rem; font-weight: 700; color: var(--ink2);
  letter-spacing: .04em; text-transform: uppercase;
  border-bottom: 1px solid var(--rule);
}
.compare-table {
  width: 100%; border-collapse: collapse; font-size: .84rem;
}
.compare-table th {
  background: var(--bg2);
  padding: .6rem 1rem; text-align: center;
  font-size: .72rem; font-weight: 700; letter-spacing: .06em;
  text-transform: uppercase; color: var(--muted);
  border-bottom: 1px solid var(--rule);
}
.compare-table th:first-child { text-align: left; }
.compare-table td {
  padding: .55rem 1rem; text-align: center;
  border-bottom: 1px solid var(--bg2); color: var(--muted);
}
.compare-table td:first-child { text-align: left; color: var(--ink2); font-weight: 600; }
.compare-table tr:last-child td { border-bottom: none; }
.compare-table .hl { background: rgba(13,122,128,.04); }
.compare-table .hl td:first-child { color: var(--teal); font-weight: 700; }
.compare-table .yes { color: var(--green); font-weight: 700; }
.compare-table .no  { color: var(--red); }
.compare-table .maybe { color: var(--gold); font-weight: 600; }

/* ══════════════════════════════════════════════════
   HOW IT WORKS — horizontal steps, tight
══════════════════════════════════════════════════ */
#how-it-works { background: var(--bg2); }

.steps {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: .5rem;
  position: relative;
  margin-top: 2rem;
}
.steps::before {
  content: '';
  position: absolute;
  top: 20px; left: calc(10% + 10px); right: calc(10% + 10px);
  height: 1px;
  background: linear-gradient(90deg, var(--teal), var(--gold));
  z-index: 0;
}
.step {
  display: flex; flex-direction: column; align-items: center;
  text-align: center; padding: 0 .5rem;
  position: relative; z-index: 1;
}
.step-num {
  width: 40px; height: 40px; border-radius: 50%;
  background: white; border: 2px solid var(--teal);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--serif); font-weight: 700; font-style: italic;
  font-size: 1rem; color: var(--teal);
  margin-bottom: 1rem;
  box-shadow: 0 0 0 4px var(--bg2);
}
.step h4 { font-size: .85rem; font-weight: 700; color: var(--ink); margin-bottom: .3rem; }
.step p  { font-size: .76rem; color: var(--muted); line-height: 1.5; }

/* ══════════════════════════════════════════════════
   PRICING — side-by-side cards, compact
══════════════════════════════════════════════════ */
#pricing { background: var(--white); }

.pricing-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  margin-top: 2rem;
  align-items: start;
}
.price-card {
  background: var(--white);
  border: 1.5px solid var(--rule);
  border-radius: var(--r-xl);
  padding: 1.5rem;
  transition: border-color .2s, box-shadow .2s, transform .2s;
}
.price-card:hover {
  border-color: var(--teal);
  box-shadow: var(--sh-md);
  transform: translateY(-2px);
}
.price-card.featured {
  border-color: var(--teal);
  box-shadow: var(--sh-md);
}
.pc-badge {
  display: inline-block;
  background: var(--teal); color: white;
  font-size: .65rem; font-weight: 700; letter-spacing: .1em;
  text-transform: uppercase; padding: .22rem .65rem;
  border-radius: var(--r-pill); margin-bottom: .85rem;
}
.pc-title { font-size: .72rem; font-weight: 700; color: var(--muted); letter-spacing: .08em; text-transform: uppercase; margin-bottom: .35rem; }
.pc-price {
  font-family: var(--serif); font-weight: 700;
  font-size: 3rem; color: var(--ink); line-height: 1;
  letter-spacing: -.03em; margin-bottom: .15rem;
}
.pc-price sup { font-size: 1.1rem; vertical-align: super; font-style: normal; }
.pc-note { font-size: .76rem; color: var(--muted); margin-bottom: 1.25rem; }
.pc-divider { height: 1px; background: var(--rule); margin: 1rem 0; }
.pc-list { list-style: none; display: flex; flex-direction: column; gap: .4rem; }
.pc-list li {
  display: flex; align-items: flex-start; gap: .5rem;
  font-size: .84rem; color: var(--ink2);
}
.pc-list .ck {
  color: var(--green); font-size: .75rem; font-weight: 800;
  flex-shrink: 0; margin-top: .12rem;
}
.price-card .btn-primary { width: 100%; margin-top: 1.25rem; }
.price-card .btn-outline  { width: 100%; margin-top: 1.25rem; }

/* ══════════════════════════════════════════════════
   ELIGIBILITY — two-column, tight
══════════════════════════════════════════════════ */
#eligibility { background: var(--bg2); }

.elig-grid {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 2rem; align-items: start; margin-top: 2rem;
}
.elig-card {
  background: var(--white);
  border: 1.5px solid var(--rule);
  border-radius: var(--r-xl);
  overflow: hidden;
}
.elig-card-head {
  padding: .85rem 1.25rem;
  font-size: .78rem; font-weight: 700; letter-spacing: .06em;
  text-transform: uppercase;
  border-bottom: 1px solid var(--rule);
}
.elig-card-head.good { background: var(--green-lt); color: var(--green); }
.elig-card-head.bad  { background: var(--red-lt);   color: var(--red);   }
.elig-list { list-style: none; }
.elig-list li {
  display: flex; align-items: center; gap: .6rem;
  font-size: .87rem; color: var(--ink2);
  padding: .6rem 1.25rem;
  border-bottom: 1px solid var(--bg2);
}
.elig-list li:last-child { border-bottom: none; }
.eg::before { content: '✓'; color: var(--green); font-weight: 800; flex-shrink: 0; margin-right: .35rem; }
.eb::before { content: '✗'; color: var(--red);   font-weight: 800; flex-shrink: 0; margin-right: .35rem; }

.elig-note {
  margin-top: 2rem;
  background: var(--teal-lt);
  border: 1px solid rgba(13,122,128,.2);
  border-radius: var(--r-lg);
  padding: 1.25rem 1.5rem;
}
.elig-note strong { color: var(--teal); font-size: .9rem; display: block; margin-bottom: .3rem; }
.elig-note p { font-size: .84rem; color: var(--ink2); line-height: 1.6; }

/* ══════════════════════════════════════════════════
   FAQ
══════════════════════════════════════════════════ */
#faq { background: var(--white); }

.faq-col {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: .5rem; margin-top: 2rem; align-items: start;
}
details.fq {
  border: 1.5px solid var(--rule);
  border-radius: var(--r-md);
  overflow: hidden;
  transition: border-color .2s;
}
details.fq[open] { border-color: var(--teal); }
details.fq summary {
  padding: .9rem 1.1rem;
  cursor: pointer; list-style: none; user-select: none;
  display: flex; justify-content: space-between; align-items: center;
  font-size: .88rem; font-weight: 700; color: var(--ink);
  gap: .5rem;
}
details.fq summary::-webkit-details-marker { display: none; }
details.fq summary .arr {
  width: 20px; height: 20px; border-radius: 50%;
  background: var(--bg2); border: 1px solid var(--rule);
  display: flex; align-items: center; justify-content: center;
  font-size: .7rem; color: var(--teal); flex-shrink: 0;
  transition: transform .2s, background .2s;
}
details.fq[open] summary .arr { transform: rotate(45deg); background: var(--teal-lt); }
.fq-body {
  padding: .75rem 1.1rem .9rem;
  font-size: .85rem; line-height: 1.65; color: var(--ink2);
  border-top: 1px solid var(--rule);
}

/* ══════════════════════════════════════════════════
   COUNTIES
══════════════════════════════════════════════════ */
#counties { background: var(--bg2); padding: 2.5rem 0; }

.county-grid {
  display: flex; flex-wrap: wrap; gap: .4rem;
  margin-top: 1.5rem;
}
.cpill {
  background: var(--white);
  border: 1px solid var(--rule);
  color: var(--ink2);
  font-size: .75rem; font-weight: 600;
  padding: .3rem .75rem; border-radius: var(--r-pill);
  cursor: pointer; transition: all .15s;
}
.cpill:hover {
  background: var(--teal-lt);
  border-color: var(--teal);
  color: var(--teal);
}

/* ══════════════════════════════════════════════════
   BOTTOM CTA
══════════════════════════════════════════════════ */
#bottom-cta {
  background: var(--teal);
  padding: 3.5rem 0;
  text-align: center;
}
.cta-inner h2 {
  font-family: var(--serif); font-style: italic;
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 700; color: white;
  letter-spacing: -.025em; line-height: 1.1;
  margin-bottom: .6rem;
}
.cta-inner .sub {
  color: rgba(255,255,255,.75); font-size: .9rem;
  margin-bottom: 1.75rem;
}
.cta-btns { display: flex; justify-content: center; gap: .75rem; flex-wrap: wrap; }
.cta-btns .btn-primary { background: white; color: var(--teal); }
.cta-btns .btn-primary:hover { background: var(--bg); }
.cta-btns .btn-outline  { border-color: rgba(255,255,255,.4); color: white; }
.cta-btns .btn-outline:hover  { border-color: white; }
.cta-trust {
  display: flex; justify-content: center; gap: 2rem;
  margin-top: 1.5rem; flex-wrap: wrap;
}
.cta-trust span {
  font-size: .74rem; color: rgba(255,255,255,.55);
  font-weight: 600; display: flex; align-items: center; gap: .3rem;
}

/* ══════════════════════════════════════════════════
   FOOTER
══════════════════════════════════════════════════ */
footer {
  background: var(--ink);
  color: rgba(255,255,255,.6);
  padding: 2.5rem 0 1.75rem;
}
.footer-grid {
  display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr;
  gap: 2.5rem; margin-bottom: 2rem;
}
.footer-brand {
  font-family: var(--serif);
  font-size: 1.1rem; font-weight: 700;
  line-height: 1; margin-bottom: .5rem;
}
.fb-florida  { color: white; font-style: italic; }
.fb-ladybird { color: #5eead4; font-style: italic; margin: 0 .1em; }
.fb-deed     { color: rgba(255,255,255,.7); font-style: italic; }
footer p.tagline { font-size: .78rem; color: rgba(255,255,255,.4); line-height: 1.6; max-width: 220px; }
footer h5 { font-size: .67rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.35); margin-bottom: .7rem; }
footer ul { list-style: none; }
footer ul li { margin-bottom: .4rem; }
footer ul a { font-size: .81rem; color: rgba(255,255,255,.55); transition: color .15s; }
footer ul a:hover { color: white; }
.footer-bottom {
  border-top: 1px solid rgba(255,255,255,.1); padding-top: 1.25rem;
  font-size: .7rem; color: rgba(255,255,255,.3); line-height: 1.65;
}

/* ══════════════════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════════════════ */
@media (max-width: 1024px) {
  .hero-grid { grid-template-columns: 1fr; gap: 2rem; }
  .form-card { position: static; max-width: 480px; }
  .pricing-grid { grid-template-columns: 1fr 1fr; }
  .steps { grid-template-columns: repeat(3,1fr); gap: 1rem; }
  .steps::before { display: none; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 768px) {
  nav .nav-links { display: none; }
  .feat-grid { grid-template-columns: 1fr; }
  .faq-col { grid-template-columns: 1fr; }
  .elig-grid { grid-template-columns: 1fr; }
  .pricing-grid { grid-template-columns: 1fr; max-width: 380px; }
  h1 { font-size: clamp(2rem, 7vw, 2.8rem); }
  .hero-stats { gap: 1.25rem; }
  .fc-row { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
  .steps { grid-template-columns: 1fr 1fr; }
  .footer-grid { grid-template-columns: 1fr; gap: 1.75rem; }
}

/* ══════════════════════════════════════════════════
   BUGFIX — MISSING RULES
══════════════════════════════════════════════════ */

/* stat-pill: hero stats (num + label were unstyled, ran together) */
.stat-pill {
  display: flex;
  flex-direction: column;
  gap: .08rem;
}
.stat-pill .num {
  display: block;
  font-family: var(--serif);
  font-size: 1.6rem; font-weight: 700;
  color: var(--ink); line-height: 1;
  letter-spacing: -.02em;
}
.stat-pill .label {
  display: block;
  font-size: .7rem; color: var(--muted); font-weight: 600;
  letter-spacing: .06em; text-transform: uppercase;
  white-space: nowrap;
}

/* hero-right: form card column needs explicit min-width:0 */
.hero-right { min-width: 0; }

/* cta-inner: bottom CTA content wasn't centered */
.cta-inner {
  max-width: 720px;
  margin: 0 auto;
  text-align: center;
}

/* county pills: using <div> so must force inline display */
.cpill { display: inline-flex !important; }

/* ─── SCROLL ANIMATIONS ──────────────────────────── */
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}
.hero-left  { animation: fadeUp .7s ease both; }
.form-card  { animation: fadeUp .7s .12s ease both; }
.nav-toggle { display: none; }
@media (max-width: 900px) {
 .nav-toggle { display: flex !important; align-items: center; justify-content: center; background: var(--teal, #0d7a80); color: #fff; border: none; border-radius: 12px; padding: 10px 12px; font-size: 1.2rem; font-weight: 700; cursor: pointer; margin-left: auto; }
 .nav-links { display: none !important; position: absolute; top: 100%; right: 4vw; left: 4vw; z-index: 1000; background: #0f172a; border: 1px solid rgba(255,255,255,.08); border-radius: 18px; padding: 14px; box-shadow: 0 18px 50px rgba(0,0,0,.28); flex-direction: column; gap: 10px; }
 .nav-links.nav-open { display: flex !important; }
 .nav-links li { list-style: none; }
 .nav-links a { color: #fff; text-decoration: none; padding: 10px 14px; display: block; border-radius: 10px; }
 .nav-links a:hover { background: rgba(255,255,255,.08); }
}

/* ── Plan Picker Cards ── */
.lbd-plan-picker{margin-bottom:12px;}
.lbd-plan-cards{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:12px;}
@media(max-width:540px){.lbd-plan-cards{grid-template-columns:1fr;}}
.lbd-plan-card{position:relative;background:#fff;border:1.5px solid rgba(15,23,42,.1);border-radius:16px;padding:16px 14px 14px;text-align:center;cursor:pointer;transition:border-color .2s,background .2s,box-shadow .2s;}
.lbd-plan-card:hover{border-color:#0d7a80;box-shadow:0 2px 12px rgba(13,122,128,.1);}
.lbd-plan-card.selected{border:2px solid #0d7a80;background:#ecfeff;box-shadow:0 0 0 4px rgba(13,122,128,.1);}
.lbd-plan-card .lbd-plan-badge{display:none;position:absolute;top:-9px;left:50%;transform:translateX(-50%);background:#0d7a80;color:#fff;font-size:.7rem;font-weight:700;border-radius:999px;padding:2px 10px;white-space:nowrap;letter-spacing:.03em;}
.lbd-plan-card:first-child .lbd-plan-badge{display:inline-block;}
.lbd-plan-name{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#64748b;margin-bottom:4px;}
.lbd-plan-price{font-size:2rem;font-weight:800;color:#0d7a80;line-height:1.1;}
.lbd-plan-check{display:none;position:absolute;top:10px;right:10px;width:22px;height:22px;background:#0d7a80;color:#fff;border-radius:50%;font-size:.75rem;line-height:22px;text-align:center;}
.lbd-plan-card.selected .lbd-plan-check{display:block;}
.lbd-plan-summary{font-size:.88rem;color:#334155;text-align:center;line-height:1.5;}

/* ── Nav CTA Button ── */
.nav-cta-item a,.nav-cta-item a:visited{background:#0d7a80;color:#fff !important;border-radius:12px;padding:10px 18px;font-weight:700;transition:background .2s;}
.nav-cta-item a:hover{background:#0b686d;}

/* ─────────────────────────────────────────────
   Plan picker refresh — 2026-04-17
   - Uses .is-popular class (not :first-child)
   - Featured card lifted, gradient ring + ribbon
   - Matches new #pricing card aesthetic
   ───────────────────────────────────────────── */
.lbd-plan-picker{ margin-bottom:14px; }
.lbd-plan-label-row{
  display:flex; align-items:baseline; justify-content:space-between;
  gap:10px; margin:0 2px 12px; flex-wrap:wrap;
}
.lbd-plan-label{
  font-size:.72rem; font-weight:700; letter-spacing:.12em;
  text-transform:uppercase; color:#0d7a80;
}
.lbd-plan-hint{
  font-size:.7rem; color:#94a3b8; font-weight:500;
}

.lbd-plan-cards{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:12px;
  margin-bottom:12px;
  padding-top:14px; /* clearance for popular ribbon */
  align-items:stretch;
}
.lbd-plan-card{
  position:relative;
  background:#fff;
  border:1.5px solid rgba(15,23,42,.08);
  border-radius:14px;
  padding:18px 12px 14px;
  text-align:center;
  cursor:pointer;
  transition:border-color .2s, background .2s, box-shadow .25s, transform .2s;
  display:flex; flex-direction:column; justify-content:center;
}
.lbd-plan-card:hover{
  border-color:rgba(13,122,128,.45);
  box-shadow:0 6px 18px -8px rgba(13,122,128,.25);
  transform:translateY(-1px);
}
.lbd-plan-card.selected{
  border:2px solid #0d7a80;
  background:linear-gradient(180deg,#f5fdfd 0%,#ecfeff 100%);
  box-shadow:0 0 0 4px rgba(13,122,128,.1), 0 8px 22px -10px rgba(13,122,128,.35);
}

/* Popular tier — Individual (49), in the middle */
.lbd-plan-card.is-popular{
  background:linear-gradient(180deg,#ffffff 0%,#f5fdfd 100%);
  border-color:rgba(13,122,128,.4);
  box-shadow:
    0 14px 28px -14px rgba(13,122,128,.4),
    inset 0 0 0 1px rgba(13,122,128,.18);
  transform:translateY(-4px);
  z-index:2;
}
.lbd-plan-card.is-popular:hover{ transform:translateY(-6px); }
.lbd-plan-card.is-popular.selected{
  border:2px solid #0d7a80;
  box-shadow:
    0 0 0 4px rgba(13,122,128,.12),
    0 16px 32px -14px rgba(13,122,128,.45),
    inset 0 0 0 1px rgba(13,122,128,.18);
}
.lbd-plan-card.is-popular .lbd-plan-price{
  background:linear-gradient(135deg,#0d7a80 0%,#14b8a6 100%);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
}

/* Badge — only on .is-popular, NOT :first-child */
.lbd-plan-card .lbd-plan-badge{
  display:none;
  position:absolute; top:-11px; left:50%; transform:translateX(-50%);
  background:linear-gradient(135deg,#0d7a80 0%,#14b8a6 100%);
  color:#fff;
  font-size:.65rem; font-weight:800;
  letter-spacing:.12em; text-transform:uppercase;
  border-radius:999px;
  padding:3px 12px;
  white-space:nowrap;
  box-shadow:0 6px 14px -4px rgba(13,122,128,.5);
  z-index:3;
}
.lbd-plan-card.is-popular .lbd-plan-badge{ display:inline-block; }
.lbd-plan-card:first-child .lbd-plan-badge{ display:none; } /* override stale rule */

.lbd-plan-name{
  font-size:.78rem; font-weight:700;
  text-transform:uppercase; letter-spacing:.06em;
  color:#64748b; margin-bottom:6px;
}
.lbd-plan-price{
  font-family:'Fraunces',Georgia,serif;
  font-size:2rem; font-weight:700;
  color:#0d2733; line-height:1.1;
  letter-spacing:-.02em;
}
.lbd-plan-check{
  display:none;
  position:absolute; top:10px; right:10px;
  width:22px; height:22px;
  background:linear-gradient(135deg,#0d7a80,#14b8a6);
  color:#fff; border-radius:50%;
  font-size:.75rem; line-height:22px; text-align:center;
  box-shadow:0 4px 10px -2px rgba(13,122,128,.45);
}
.lbd-plan-card.selected .lbd-plan-check{ display:block; }

.lbd-plan-summary{
  font-size:.85rem; color:#334155;
  text-align:center; line-height:1.55;
  padding:.6rem .8rem; margin-top:2px;
  background:#f8fafc;
  border:1px solid rgba(15,23,42,.06);
  border-radius:10px;
}

@media(max-width:540px){
  .lbd-plan-cards{ grid-template-columns:1fr; padding-top:18px; }
  .lbd-plan-card.is-popular{ transform:none; }
  .lbd-plan-card.is-popular:hover{ transform:translateY(-2px); }
}

/* ===== A11y polish ===== */
.lbd-plan-card:focus-visible{
  outline:none;
  border-color:var(--teal,#0d7a80);
  box-shadow:0 0 0 3px rgb(13 122 128 / .25), 0 8px 18px -6px rgb(13 122 128 / .25);
}
.lbd-pc-cta:focus-visible,
.btn-primary:focus-visible,
.btn-outline:focus-visible,
.btn-nav-cta:focus-visible{
  outline:3px solid rgb(13 122 128 / .55);
  outline-offset:2px;
}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
    scroll-behavior:auto !important;
  }
  html{ scroll-behavior:auto; }
  .hero-left,.form-card{ animation:none !important; }
}

/* ===== Trust bar — one line on desktop ===== */
@media (min-width: 900px){
  .trust-bar .wrap{
    flex-wrap:nowrap;
    gap:clamp(1rem, 2.2vw, 2rem);
  }
  .trust-item{
    font-size:clamp(.72rem, 1.1vw, .8rem);
  }
  .trust-item .ti-icon{ font-size:.95rem; }
}

/* ===== Desktop dropdown menus (Resources) ===== */
@media (min-width: 901px){
  .nav-links{ position:relative; flex-wrap:nowrap; }
  .nav-links .menu-item-has-children{ position:relative; }
  .nav-links .menu-item-has-children > a{
    display:inline-flex; align-items:center; gap:.3rem;
  }
  .nav-links .menu-item-has-children > a::after{
    content:'';
    width:0; height:0;
    border-left:4px solid transparent;
    border-right:4px solid transparent;
    border-top:5px solid currentColor;
    opacity:.55;
    transition:transform .2s ease, opacity .2s ease;
    margin-left:.15rem;
  }
  .nav-links .menu-item-has-children:hover > a::after,
  .nav-links .menu-item-has-children:focus-within > a::after{
    transform:rotate(180deg);
    opacity:.9;
  }
  .nav-links .sub-menu{
    display:none;
    position:absolute;
    top:calc(100% + 6px); left:0;
    min-width:260px;
    margin:0; padding:.5rem;
    list-style:none;
    background:#ffffff;
    border:1px solid rgba(15,23,42,.08);
    border-radius:14px;
    box-shadow:0 22px 50px -22px rgba(15,23,42,.22), 0 6px 18px rgba(15,23,42,.06);
    z-index:60;
    flex-direction:column; gap:2px;
  }
  .nav-links .sub-menu::before{
    content:''; position:absolute;
    top:-8px; left:0; right:0; height:8px;
  }
  .nav-links .sub-menu li{ list-style:none; margin:0; }
  .nav-links .sub-menu a{
    display:block;
    padding:.6rem .85rem;
    border-radius:10px;
    font-size:.85rem; font-weight:500;
    color:#0d2733;
    transition:background .15s, color .15s;
    white-space:nowrap;
  }
  .nav-links .sub-menu a:hover{
    background:#ecfeff;
    color:#0d7a80;
  }
  .nav-links .menu-item-has-children:hover > .sub-menu,
  .nav-links .menu-item-has-children:focus-within > .sub-menu{
    display:flex;
  }
  .nav-links{ gap:1.05rem; }
  .nav-links a{ font-size:.8rem; }
}
@media (max-width: 900px){
  .nav-links .sub-menu{
    list-style:none;
    margin:6px 0 0;
    padding:6px 0 0 14px;
    border-left:2px solid rgba(255,255,255,.12);
    display:flex; flex-direction:column; gap:6px;
  }
  .nav-links .sub-menu li{ list-style:none; }
  .nav-links .menu-item-has-children > a::after{
    content:' ▾';
    opacity:.6;
    font-size:.85em;
  }
}

/* ===== Parcel toggle spacing ===== */
.lbd-parcel-toggle{ margin:0 0 .65rem !important; }
/* removed form 104 css */
