/* ============================================================
   InstateMe — main site (instateme.com)
   Brand: burnt orange · cream · forest green · ink
   Type:  Playfair Display (serif) / Inter (sans)
   ============================================================ */

:root{
  --orange:#C85A29;
  --orange-bright:#DD6B1E;
  --orange-soft:#F3E0D2;
  --green:#2F4A3A;
  --green-soft:#E3EAE4;
  --ink:#1A1613;
  --ink-2:#221D18;
  --cream:#F7F3EC;
  --cream-2:#F1EADD;
  --paper:#FBF9F4;
  --line:#E5DCCD;
  --line-dark:rgba(255,255,255,.14);
  --text:#23201C;
  --muted:#736A5E;
  --muted-light:#B6ABA0;
  --maxw:1180px;
  --serif:"Playfair Display",Georgia,serif;
  --sans:"Inter",system-ui,-apple-system,sans-serif;
  --r:6px;
  --shadow:0 18px 50px -22px rgba(26,22,19,.28);
  --ease:cubic-bezier(.22,.61,.36,1);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:hidden;overflow-x:clip}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  font-family:var(--sans);
  color:var(--text);
  background:var(--paper);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  overflow-x:clip;
}
img{max-width:100%;display:block;height:auto}
a{color:inherit;text-decoration:none}
em{font-style:italic}
strong{font-weight:600}

.container{max-width:var(--maxw);margin:0 auto;padding:0 clamp(20px,5vw,48px)}
.section{padding:clamp(64px,9vw,110px) 0;scroll-margin-top:76px}
.section--cream{background:var(--cream)}
.section--dark{background:var(--ink);color:var(--cream)}
.section--dark .lede{color:var(--muted-light)}
.section--tight{padding:clamp(44px,6vw,70px) 0}

.skip-link{position:absolute;left:-9999px;top:0;background:var(--ink);color:var(--cream);padding:.6em 1em;z-index:200;border-radius:0 0 var(--r) 0}
.skip-link:focus{left:0}

/* ---------- Type ---------- */
.eyebrow{
  text-transform:uppercase;letter-spacing:.22em;font-size:.72rem;font-weight:600;
  color:var(--orange);margin-bottom:1.2rem;
}
.eyebrow--muted{color:var(--muted)}
.eyebrow a{display:inline-block;padding:6px 0;margin:-6px 0}
.display{
  font-family:var(--serif);font-weight:500;
  font-size:clamp(2.1rem,5.4vw,3.6rem);
  line-height:1.06;letter-spacing:-.01em;max-width:20ch;margin-bottom:.45em;
}
.display em{color:var(--orange);font-weight:600}
.display em.g{color:var(--green)}
.section--dark .display em{color:var(--orange-bright)}
h2.display{font-size:clamp(1.8rem,4.2vw,2.7rem)}
.lede{font-size:clamp(1.02rem,1.6vw,1.2rem);color:var(--muted);max-width:52ch}
.center{text-align:center}
.center .display,.center .lede{margin-left:auto;margin-right:auto}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  font-weight:600;font-size:.95rem;padding:.8em 1.5em;
  border-radius:999px;border:1.5px solid transparent;
  cursor:pointer;transition:transform .18s var(--ease),background .18s,color .18s,border-color .18s;
  white-space:nowrap;
}
.btn:hover{transform:translateY(-1px)}
.btn--primary{background:var(--orange);color:#fff}
.btn--primary:hover{background:var(--orange-bright)}
.btn--ghost{border-color:var(--line);color:var(--text);background:transparent}
.btn--ghost:hover{border-color:var(--orange);color:var(--orange)}
.section--dark .btn--ghost{border-color:var(--line-dark);color:var(--cream)}
.section--dark .btn--ghost:hover{border-color:var(--orange-bright);color:var(--orange-bright)}
.btn--lg{font-size:1.02rem;padding:.95em 1.9em}
.btn-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:1.8rem}
.btn-note{margin-top:.8rem;font-size:.85rem;color:var(--muted)}

/* ---------- Nav ---------- */
.nav{
  position:sticky;top:0;z-index:100;
  background:rgba(251,249,244,.86);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid transparent;transition:border-color .25s;
}
.nav.is-scrolled{border-bottom-color:var(--line)}
.nav__inner{
  max-width:var(--maxw);margin:0 auto;padding:14px clamp(20px,5vw,48px);
  display:flex;align-items:center;gap:28px;
}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:1.08rem;letter-spacing:-.01em;padding:7px 0}
.brand img{width:30px;height:30px}
.nav__links{display:flex;gap:26px;margin-left:auto;align-items:center;list-style:none}
.nav__links a{font-size:.92rem;font-weight:500;color:var(--muted);transition:color .15s}
.nav__links a:hover,.nav__links a[aria-current="page"]{color:var(--text)}
.nav__links a.btn--primary,.nav__links a.btn--primary:hover{color:#fff}
.nav__cta{margin-left:8px}
.nav__book{display:none}
.nav__toggle{
  display:none;margin-left:auto;background:none;border:0;cursor:pointer;padding:8px;
}
.nav__toggle span{display:block;width:22px;height:2px;background:var(--ink);margin:5px 0;transition:transform .25s var(--ease),opacity .2s}
.nav__toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav__toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav__toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media (max-width:880px){
  .nav__book{display:inline-flex;margin-left:auto;font-size:.85rem;padding:.6em 1.1em}
  .nav__toggle{display:block;margin-left:0}
  .nav__links{
    position:absolute;top:100%;left:0;right:0;
    flex-direction:column;align-items:flex-start;gap:0;
    background:var(--paper);border-bottom:1px solid var(--line);
    padding:8px clamp(20px,5vw,48px) 20px;display:none;
  }
  .nav__links.is-open{display:flex}
  .nav__links li{width:100%}
  .nav__links a{display:block;padding:12px 0;font-size:1.05rem}
  .nav__cta{margin:10px 0 0}
}

/* ---------- Hero ---------- */
.hero{padding:clamp(48px,7vw,96px) 0 clamp(56px,8vw,100px);position:relative;overflow:hidden}
.hero__grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(32px,6vw,72px);align-items:center}
@media (max-width:880px){.hero__grid{grid-template-columns:1fr}}
.hero .display{max-width:16ch}
.hero__proof{display:flex;align-items:center;gap:12px;margin-top:2rem;color:var(--muted);font-size:.9rem}
.hero__proof img{width:118px;border-radius:8px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,64px);align-items:center}
@media (max-width:820px){.split{grid-template-columns:1fr}}

/* ---------- Stat band ---------- */
.stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--cream)}
.stats__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line)}
.stats__cell{background:var(--cream);padding:26px 18px;text-align:center}
.stats__num{font-family:var(--serif);font-size:clamp(1.5rem,3vw,2.1rem);font-weight:600;color:var(--green)}
.stats__label{font-size:.82rem;color:var(--muted);margin-top:2px}
.stats__grid--3{grid-template-columns:repeat(3,1fr)}
.stats__grid--2{grid-template-columns:repeat(2,1fr)}
@media (max-width:720px){.stats__grid,.stats__grid--3{grid-template-columns:repeat(2,1fr)}.stats__grid--2{grid-template-columns:repeat(2,1fr)}}

/* ---------- Press ---------- */
.press{padding:38px 0}
.press__row{display:flex;gap:clamp(20px,4vw,48px);align-items:center;justify-content:center;flex-wrap:wrap}
.press__label{font-size:.72rem;text-transform:uppercase;letter-spacing:.2em;color:var(--muted);width:100%;text-align:center;margin-bottom:16px}
.press__row a{
  font-family:var(--serif);font-weight:600;font-size:1.05rem;color:var(--muted);
  transition:color .15s;letter-spacing:.01em;display:flex;align-items:center;
}
.press__row a:hover{color:var(--text)}
.press__row img{
  height:32px;width:auto;filter:grayscale(1);opacity:.6;
  transition:filter .2s,opacity .2s;
}
.press__row img[height="44"]{height:44px}
.press__row img[height="34"]{height:34px}
.press__row img[height="30"]{height:30px}
.press__row a:hover img{filter:none;opacity:1}
@media (max-width:640px){.press__row img{height:24px}.press__row img[height="44"]{height:34px}}

/* ---------- Hero calculator card ---------- */
.calcard{
  background:#fff;border:1px solid var(--line);border-radius:18px;
  padding:clamp(22px,3vw,32px);box-shadow:var(--shadow);
  max-width:440px;width:100%;margin:0 auto;
  display:flex;flex-direction:column;gap:14px;scroll-margin-top:86px;
}
.calcard__title{font-family:var(--serif);font-weight:600;font-size:1.35rem;letter-spacing:-.01em}
.calcard__field label{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.16em;font-weight:600;color:var(--muted);margin-bottom:.35rem}
.calcard select{
  width:100%;font:inherit;font-weight:600;color:var(--text);background:var(--paper);
  border:1px solid var(--line);border-radius:var(--r);padding:.65em .85em;cursor:pointer;
  appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23736A5E' stroke-width='2' fill='none'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;
}
.calcard select:focus{outline:2px solid var(--orange);outline-offset:1px}
.calcard__rates{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.calcard__rates>div{
  background:var(--cream);border:1px solid var(--line);border-radius:10px;
  padding:12px 14px;display:flex;flex-direction:column;line-height:1.4;
}
.calcard__rates small{font-size:.7rem;color:var(--muted)}
.calcard__rates strong{font-family:var(--serif);font-size:1.35rem;font-weight:600;color:var(--text)}
.calcard__rates strong.res{color:var(--green)}
.calcard__row{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--line);padding-top:12px}
.calcard__row span:first-child{color:var(--muted);font-size:.88rem}
.calcard__row strong{font-family:var(--serif);font-size:1.25rem;font-weight:600;color:var(--green)}
.calcard__row--total strong{font-size:clamp(1.8rem,3vw,2.3rem);color:var(--orange)}
.calcard__years{font-size:.78rem}
.calcard__note{font-size:.74rem;color:var(--muted);line-height:1.5}
/* ---------- Jake booking bar (hero) ---------- */
.jakebar-wrap{max-width:520px;margin-top:1.8rem}
.jakebar{
  display:flex;align-items:center;gap:14px;
  background:var(--orange);border-radius:999px;padding:10px 12px 10px 12px;
  box-shadow:0 14px 34px -16px rgba(200,90,41,.55);
}
.jakebar__avatar{position:relative;flex-shrink:0;display:block}
.jakebar__avatar img{width:48px;height:48px;border-radius:50%;object-fit:cover;display:block;background:#fff}
.jakebar__dot{
  position:absolute;top:-1px;right:-1px;width:13px;height:13px;border-radius:50%;
  background:#3BA55D;border:2px solid var(--orange);
}
.jakebar__text{flex:1;min-width:0;color:#fff;line-height:1.25}
.jakebar__text strong{display:block;font-size:1.02rem}
.jakebar__text small{color:rgba(255,255,255,.75);font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
.jakebar__btn{
  background:#fff;color:var(--ink);font-weight:700;font-size:.95rem;
  border-radius:999px;padding:.7em 1.25em;white-space:nowrap;flex-shrink:0;
  transition:transform .15s var(--ease);cursor:pointer;
}
.jakebar__btn:hover{transform:translateY(-1px)}
.jakebar__meta{display:flex;justify-content:space-between;gap:12px;margin-top:12px;font-size:.92rem;color:var(--text)}
.jakebar__bar{height:8px;background:var(--cream-2);border:1px solid var(--line);border-radius:999px;margin-top:7px;overflow:hidden}
.jakebar__bar span{display:block;height:100%;background:#CC8A62;border-radius:999px;transition:width .6s var(--ease)}
@media (max-width:480px){
  .jakebar{gap:10px;padding:8px 10px}
  .jakebar__avatar img{width:42px;height:42px}
  .jakebar__text strong{font-size:.92rem}
  .jakebar__text small{font-size:.76rem}
  .jakebar__btn{font-size:.82rem;padding:.65em 1em}
}
.stars{color:var(--orange);letter-spacing:2px;font-size:.95rem}

/* ---------- Cards / grids ---------- */
.grid{display:grid;gap:22px;margin-top:2.6rem}
.grid--3{grid-template-columns:repeat(3,1fr)}
.grid--2{grid-template-columns:repeat(2,1fr)}
.grid--4{grid-template-columns:repeat(4,1fr)}
@media (max-width:960px){.grid--3,.grid--4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.grid--3,.grid--2,.grid--4{grid-template-columns:1fr}}
.card{
  background:#fff;border:1px solid var(--line);border-radius:14px;padding:26px;
  transition:transform .2s var(--ease),box-shadow .2s;
}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.card h3{font-family:var(--serif);font-size:1.22rem;font-weight:600;margin-bottom:.4em}
.card p{font-size:.93rem;color:var(--muted)}
.card__ic{
  width:42px;height:42px;border-radius:10px;background:var(--orange-soft);color:var(--orange);
  display:flex;align-items:center;justify-content:center;font-size:1.2rem;margin-bottom:16px;font-weight:700;
}
.card--link{display:block}
.card__more{display:inline-block;margin-top:14px;font-weight:600;font-size:.88rem;color:var(--orange)}
.card--state .card__ic{background:var(--green-soft);color:var(--green)}

/* ---------- Steps ---------- */
.steps{counter-reset:step;display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:2.6rem}
.steps--3{grid-template-columns:repeat(3,1fr)}
@media (max-width:960px){.steps,.steps--3{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.steps,.steps--3{grid-template-columns:1fr}}
.step{position:relative;padding:26px;background:var(--cream);border:1px solid var(--line);border-radius:14px}
.step::before{
  counter-increment:step;content:"0" counter(step);
  font-family:var(--serif);font-size:2rem;font-weight:600;color:var(--orange);
  display:block;margin-bottom:10px;
}
.step h3{font-size:1.05rem;font-weight:600;margin-bottom:.35em}
.step p{font-size:.9rem;color:var(--muted)}

/* ---------- Founder ---------- */
.founder{display:grid;grid-template-columns:auto 1fr;gap:clamp(24px,4vw,48px);align-items:start;max-width:860px;margin:0 auto}
@media (max-width:640px){.founder{grid-template-columns:1fr}}
.founder__photo{width:132px;height:132px;border-radius:50%;object-fit:cover;border:3px solid var(--line)}
.founder blockquote{font-size:clamp(1.02rem,1.5vw,1.15rem);color:var(--text)}
.founder blockquote p{margin-bottom:1em}
.founder cite{font-style:normal;font-weight:600;display:block;margin-top:1.2rem}
.founder cite small{display:block;font-weight:400;color:var(--muted)}
.founder__links{margin-top:.6rem;font-size:.88rem}
.founder__links a{color:var(--orange);font-weight:600}

/* ---------- FAQ ---------- */
.faq-list{max-width:820px;margin:2.4rem auto 0}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item summary{
  cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;
  padding:20px 4px;font-weight:600;font-size:1.02rem;
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";font-family:var(--serif);font-size:1.5rem;color:var(--orange);transition:transform .2s;flex-shrink:0}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-item .faq-a{padding:0 4px 22px;color:var(--muted);font-size:.96rem;max-width:65ch}
.faq-item .faq-a p{margin-bottom:.8em}
.faq-item .faq-a p:last-child{margin-bottom:0}

/* ---------- Reviews embed ---------- */
.reviews-embed{margin-top:2.4rem;background:transparent}
.reviews-embed iframe{width:100%;border:0;min-height:560px}

/* ---------- Banner CTA ---------- */
.banner{background:var(--green);color:var(--cream);text-align:center}
.banner .display{margin-left:auto;margin-right:auto;color:var(--cream)}
.banner .lede{color:rgba(247,243,236,.75);margin-left:auto;margin-right:auto}
.banner .btn--primary{background:var(--orange);}
.banner .btn--ghost{border-color:rgba(247,243,236,.4);color:var(--cream)}
.banner .btn--ghost:hover{border-color:var(--cream);color:var(--cream)}
.banner .btn-row{justify-content:center}

/* ---------- Page hero (interior pages) ---------- */
.page-hero{padding:clamp(48px,7vw,84px) 0 clamp(28px,4vw,48px)}
.page-hero .lede{margin-top:.2em}

/* ---------- Article / prose ---------- */
.prose{max-width:760px;margin:0 auto;font-size:1.02rem}
.prose>*+*{margin-top:1.1em}
.prose h2{font-family:var(--serif);font-size:1.7rem;font-weight:600;margin-top:2em;line-height:1.2}
.prose h3{font-size:1.15rem;font-weight:600;margin-top:1.6em}
.prose ul,.prose ol{padding-left:1.3em}
.prose li{margin-top:.45em}
.prose a{color:var(--orange);font-weight:500;text-decoration:underline;text-underline-offset:3px}
.prose blockquote{border-left:3px solid var(--orange);padding-left:1.2em;color:var(--muted);font-style:italic}
.prose .article-meta{font-size:.85rem;color:var(--muted);display:flex;gap:14px;flex-wrap:wrap}
.prose table{width:100%;border-collapse:collapse;font-size:.92rem}
.prose th,.prose td{border:1px solid var(--line);padding:.6em .8em;text-align:left}
.prose th{background:var(--cream);font-weight:600}
.table-scroll{overflow-x:auto}
.prose .callout{
  background:var(--cream);border:1px solid var(--line);border-radius:12px;padding:22px 24px;font-size:.96rem;
}
.prose .callout strong{color:var(--green)}

/* ---------- Post content (1:1 Wix imports) ---------- */
.prose .post-img{margin:1.6em auto;text-align:center}
.prose .post-img img{margin:0 auto;border-radius:10px;width:auto}
.prose .post-img figcaption{font-size:.82rem;color:var(--muted);margin-top:.6em}
.prose ol ol,.prose ul ul,.prose ol ul,.prose ul ol{margin-top:.45em}
.prose ol ol{list-style:lower-alpha}
.prose ol ol ol{list-style:lower-roman}
.prose hr{border:0;border-top:1px solid var(--line);margin:2.2em 0}
.file-card{
  display:flex;align-items:center;gap:14px;margin:1.2em 0;
  background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 18px;
  text-decoration:none !important;transition:border-color .15s,transform .15s;
}
.file-card:hover{border-color:var(--orange);transform:translateY(-1px)}
.file-card__icon{
  width:40px;height:40px;border-radius:9px;background:var(--orange-soft);color:var(--orange);
  display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0;
}
.file-card strong{display:block;color:var(--text)}
.file-card small{color:var(--muted);font-size:.8rem}
.post-embed{position:relative;margin:1.6em 0}
.post-embed iframe{border-radius:12px}
.prose .faq-list .faq-a{max-width:none}

/* ---------- Tier cards (referral) ---------- */
.tier{position:relative;text-align:center;padding:34px 26px}
.tier .tier__name{font-size:.78rem;text-transform:uppercase;letter-spacing:.18em;color:var(--muted);font-weight:600}
.tier .tier__pct{font-family:var(--serif);font-size:2.6rem;font-weight:600;color:var(--orange);margin:.15em 0}
.tier .tier__req{font-weight:600;font-size:.95rem;margin-bottom:.4em;color:var(--green)}
.tier--featured{border-color:var(--orange)}

/* ---------- Interactive US map (state rules) ---------- */
.usmap-wrap{position:relative;max-width:900px;margin:0 auto}
.usmap{width:100%;height:auto;display:block}
.usmap path{fill:var(--cream-2);stroke:#fff;stroke-width:1;transition:fill .15s}
.usmap path[fill="none"]{fill:none}
.usmap .map-live path{fill:#4E8A5E;cursor:pointer}
.usmap .map-live:hover path,.usmap .map-live:focus path{fill:var(--orange)}
.usmap .map-live:focus{outline:none}
.usmap-tip{
  position:absolute;z-index:5;pointer-events:none;max-width:290px;
  background:var(--ink);color:var(--cream);border-radius:10px;padding:12px 14px;
  font-size:.85rem;line-height:1.5;box-shadow:var(--shadow);
}
.usmap-tip strong{display:block;color:#fff;margin-bottom:2px}
.usmap-legend{margin-top:14px;text-align:center;font-size:.85rem;color:var(--muted)}
.usmap-key{display:inline-block;width:12px;height:12px;border-radius:3px;background:var(--cream-2);border:1px solid var(--line);vertical-align:-1px;margin-right:6px}
.usmap-key--live{background:#4E8A5E;border-color:#4E8A5E}

/* ---------- Cal inline embed ---------- */
.cal-inline{margin-top:2rem;min-height:640px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}

/* ---------- Footer ---------- */
.footer{background:var(--ink);color:var(--muted-light);padding:clamp(48px,7vw,80px) 0 36px;font-size:.9rem}
.footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px}
@media (max-width:880px){.footer__grid{grid-template-columns:1fr 1fr}}
@media (max-width:540px){.footer__grid{grid-template-columns:1fr}}
.footer .brand{color:var(--cream);margin-bottom:14px}
.footer__tag{max-width:26ch}
.footer h4{color:var(--cream);font-size:.78rem;text-transform:uppercase;letter-spacing:.16em;margin-bottom:14px}
.footer ul{list-style:none}
.footer li{margin-bottom:2px}
.footer li a{display:inline-block;padding:7px 0}
.footer a{transition:color .15s}
.footer__bottom a{display:inline-block;padding:7px 0}
.footer__social a{padding:7px 4px}
.footer a:hover{color:var(--cream)}
.footer__bottom{
  border-top:1px solid var(--line-dark);margin-top:44px;padding-top:24px;
  display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.8rem;
}
.footer__social{display:flex;gap:16px}
.footer__disclaimer{width:100%;margin-top:10px;color:var(--muted);font-size:.76rem}

/* ---------- Reveal (only animates when JS is running: html.js) ---------- */
.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.js .reveal.is-visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js .reveal{opacity:1;transform:none;transition:none}}

/* ---------- Utility ---------- */
.mt-0{margin-top:0}.mt-2{margin-top:2rem}.mt-3{margin-top:3rem}
.badge{
  display:inline-flex;align-items:center;gap:.5em;background:var(--green-soft);color:var(--green);
  font-size:.8rem;font-weight:600;border-radius:999px;padding:.4em 1em;margin-bottom:1.4rem;
}
.badge .dot{width:7px;height:7px;border-radius:50%;background:var(--green);animation:pulse 2s infinite;flex-shrink:0}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}

/* ---------- Mobile refinements ---------- */
@media (max-width:640px){
  .section{padding:52px 0}
  .section--tight{padding:36px 0}
  .page-hero{padding:36px 0 20px}
  .hero{padding:28px 0 48px}
  .hero__grid{gap:36px}
  .btn-row{gap:10px}
  .btn-row .btn--lg{width:100%}
  .btn-note{text-align:center}
  .hero__jake{margin-top:1.2rem}
  .stats__cell{padding:18px 10px}
  .press{padding:28px 0}
  .press__row{gap:12px 22px}
  .press__row a{font-size:.92rem}
  .steps{gap:14px}
  .step{padding:20px}
  .step::before{font-size:1.5rem;margin-bottom:6px}
  .grid{gap:14px}
  .card{padding:20px}
  .calcard{max-width:none}
  .founder__photo{width:96px;height:96px}
  .banner .btn-row .btn--lg{width:100%}
}
@media (max-width:360px){
  .calcard__rates{grid-template-columns:1fr}
}
