/* ═══════════════════════════════════════════════════════════════════
   BREAKTHROUGH THERAPIES — DESIGN SYSTEM
   Palette is Dr. DeCunha's own specification, to the hex.
   Ivory and taupe are the PRIMARY BACKGROUNDS (her words).
   Sage and moss are ACCENTS ONLY, never backgrounds.
   Terracotta is the primary CTA colour site-wide; ochre is secondary.
   No em dashes or en dashes anywhere in client-facing copy.
   ═══════════════════════════════════════════════════════════════════ */
:root{
  --ivory:#FAF5E9; --white:#FFFFFF;
  --taupe-lightest:#F6F0E6; --taupe-lighter:#EFE7D8; --taupe:#E7DDCB; --taupe-dark:#C9BCA4;
  --sage-lightest:#F2F4EE; --sage-lighter:#DFE5D6; --sage-light:#B4C0A6;
  --sage:#8FA07E; --sage-dark:#74855F; --moss:#5B6B4C; --moss-dark:#3E4A34;
  --terra-lightest:#F8EFE9; --terra-lighter:#EDD8C9; --terra-light:#D89873;
  --terra:#C1653B; --terra-dark:#A8542F;
  --ochre:#D69A4E; --ochre-light:#E7C08A;
  --char:#3B332B; --char-2:#2E2822; --char-3:#221D18;
  --char-70:rgba(59,51,43,.72); --char-60:rgba(59,51,43,.62); --char-40:rgba(59,51,43,.42);
  --ivory-70:rgba(250,245,233,.72); --ivory-45:rgba(250,245,233,.46);

  --head:"Figtree",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --body:"Barlow",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;

  --r-s:15px; --r-m:24px; --r-l:30px; --r-xl:45px; --pill:100px;
  --shell:1300px; --gut:clamp(20px,4.6vw,64px);
  --ease:cubic-bezier(.2,.7,.3,1);
}

*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-padding-top:150px}
body{
  font-family:var(--body);font-size:17px;line-height:1.62;font-weight:400;color:var(--char);
  background-color:var(--taupe-lighter);
  background-image:
    radial-gradient(120% 70% at 88% 3%,  #EEF3E2 0%, rgba(238,243,226,0) 58%),
    radial-gradient(100% 60% at 6% 2%,   #EFE0CB 0%, rgba(239,224,203,0) 60%),
    radial-gradient(130% 55% at 50% 40%, #E9E6C8 0%, rgba(233,230,200,0) 70%),
    radial-gradient(120% 50% at 92% 64%, #EDF2E1 0%, rgba(237,242,225,0) 66%),
    radial-gradient(110% 45% at 4% 84%,  #EFE2CE 0%, rgba(239,226,206,0) 62%),
    linear-gradient(180deg,#EFE6D4 0%,#E9E6C9 38%,#EDEBD6 66%,#F5F1E3 100%);
  background-attachment:fixed;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
::selection{background:var(--sage);color:#fff}
:focus-visible{outline:2px solid var(--sage-dark);outline-offset:3px}
.skip{position:absolute;left:-9999px}
.skip:focus{left:1rem;top:1rem;z-index:200;background:var(--char);color:#fff;padding:.8rem 1.2rem;border-radius:var(--pill)}

.shell{max-width:var(--shell);margin:0 auto;padding:0 var(--gut)}
.narrow{max-width:820px;margin-left:auto;margin-right:auto}
.mid{max-width:1000px;margin-left:auto;margin-right:auto}

/* ── Type ─────────────────────────────────────────────────────── */
h1,h2,h3,h4,h5{font-family:var(--head);color:var(--char);text-wrap:balance}
h1{font-size:clamp(2.5rem,5.4vw,4rem);font-weight:800;line-height:1.04;letter-spacing:-.045rem}
h2{font-size:clamp(1.95rem,3.8vw,2.9rem);font-weight:800;line-height:1.14;letter-spacing:-.0325rem}
h3{font-size:clamp(1.38rem,2vw,1.72rem);font-weight:700;line-height:1.14;letter-spacing:-.0225rem}
h4{font-size:1.2rem;font-weight:700;line-height:1.26;letter-spacing:-.012rem}
h5{font-size:1.02rem;font-weight:700;line-height:1.3}
p{margin:0}
.figure{font-family:var(--body);font-size:clamp(2.3rem,4.2vw,3.3rem);font-weight:300;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.tag{font-family:var(--head);font-size:clamp(1rem,1.3vw,1.18rem);font-weight:600;color:var(--sage-dark);display:block}
.lede{font-size:clamp(1.02rem,1.2vw,1.125rem);line-height:1.68;color:var(--char-60)}
.small{font-size:.9rem;line-height:1.62;color:var(--char-60)}
.tiny{font-size:.8rem;line-height:1.55;color:var(--char-40)}
.disclaim{font-size:.9rem;font-style:italic;line-height:1.75;color:var(--char-60);text-align:center}
.prose p+p{margin-top:1.05rem}
.prose h3{margin:2.2rem 0 .8rem}
.prose ul{margin:1rem 0 1rem 1.1rem;display:grid;gap:.55rem}
.prose li{padding-left:.3rem}
.prose li::marker{color:var(--terra)}
.ctr{text-align:center}

/* ── Buttons ──────────────────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;gap:.7rem;font-family:var(--body);font-size:.95rem;font-weight:700;
  letter-spacing:.5px;text-transform:uppercase;padding:.75rem 1.6rem;border-radius:var(--pill);
  border:1px solid transparent;cursor:pointer;white-space:nowrap;
  transition:background .3s,color .3s,border-color .3s,transform .3s var(--ease)}
.btn:hover{transform:translateY(-1px)}
.btn svg{width:18px;height:18px;flex:none}
.btn-terra{background:var(--terra);color:#fff}
.btn-terra:hover{background:var(--terra-dark)}
.btn-sage{background:var(--sage);color:#fff}
.btn-sage:hover{background:var(--sage-dark)}
.btn-ochre{background:var(--ochre);color:var(--char)}
.btn-ochre:hover{background:#C68D42}
.btn-out{border-color:var(--char-40);color:var(--char)}
.btn-out:hover{border-color:var(--char);background:rgba(59,51,43,.05)}
.btn-white{background:#fff;color:var(--char);border-color:#fff}
.btn-white:hover{background:var(--ivory)}
.btn-light{border-color:rgba(255,255,255,.65);color:#fff}
.btn-light:hover{background:#fff;color:var(--char)}
.tlink{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;font-size:.86rem;letter-spacing:.5px;
  text-transform:uppercase;color:var(--terra);transition:gap .3s var(--ease)}
.tlink:hover{gap:.85rem}
.tlink svg{width:15px;height:15px}

/* ── The radiant disc. Derived from BTT's own logo mark. ─────── */
.blob{position:relative;width:66px;height:66px;flex:none;display:grid;place-items:center}
.blob svg.shape{position:absolute;inset:0;width:100%;height:100%}
.blob .ic{position:relative;width:26px;height:26px;stroke-width:1.6;fill:none}
.blob-sm{width:50px;height:50px}
.blob-sm .ic{width:20px;height:20px}

/* ── Slabs sit on the page gradient with rounded top corners ─── */
.slab{border-radius:var(--r-xl) var(--r-xl) 0 0;position:relative;z-index:1}
.slab-white{background:var(--white)}
.slab-ivory{background:var(--ivory)}
.slab-taupe{background:var(--taupe-lightest)}
.slab-char{background:var(--char);color:var(--ivory-70)}
.slab-char h2,.slab-char h3,.slab-char h4,.slab-char h5{color:var(--ivory)}
.slab-char .tag{color:var(--sage-light)}
.slab-char .lede,.slab-char .small{color:var(--ivory-70)}
.slab-char .tiny{color:var(--ivory-45)}
.pad{padding:clamp(3.4rem,6.6vw,6rem) 0}
.pad-lg{padding:clamp(4.2rem,8.5vw,7.5rem) 0}
.pad-sm{padding:clamp(2.4rem,4.4vw,3.6rem) 0}

/* ── Cards ────────────────────────────────────────────────────── */
.card{background:var(--white);border:1px solid var(--taupe);border-radius:var(--r-m);padding:1.8rem 1.6rem;
  transition:transform .4s var(--ease),border-color .4s,box-shadow .4s}
.card:hover{transform:translateY(-4px);border-color:var(--sage-light);box-shadow:0 16px 40px rgba(59,51,43,.08)}
.stat{background:var(--white);border:2px solid transparent;border-radius:var(--r-m);
  background-image:linear-gradient(var(--white),var(--white)),linear-gradient(var(--sage),var(--terra-light));
  background-origin:border-box;background-clip:padding-box,border-box;
  padding:2rem 1.5rem 2.2rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.85rem;
  transition:transform .4s var(--ease),box-shadow .4s}
.stat:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(59,51,43,.09)}
.stat .lbl{font-family:var(--head);font-weight:700;font-size:1rem;line-height:1.35;color:var(--char)}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.8rem,4vw,3.6rem);align-items:center}
.split-l{grid-template-columns:1.15fr 1fr}
.split-r{grid-template-columns:1fr 1.15fr}

/* ── Media ────────────────────────────────────────────────────── */
.tile{border-radius:var(--r-l);overflow:hidden;position:relative;background:var(--taupe-lighter)}
.tile img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.tile:hover img{transform:scale(1.035)}
.tile-s{border-radius:var(--r-m)}
.cap{margin-top:.85rem;display:flex;gap:1rem;align-items:baseline}
.cap b{color:var(--terra);font-family:var(--body);font-size:.74rem;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;flex:none}
.cap span{font-size:.85rem;color:var(--char-40)}

/* ── Page hero (inner pages) ──────────────────────────────────── */
.phero{position:relative;overflow:hidden;border-radius:0 0 var(--r-xl) var(--r-xl);background:var(--char)}
.phero-bg{position:absolute;inset:0}
.phero-bg img{width:100%;height:100%;object-fit:cover}
.phero-bg::after{content:"";position:absolute;inset:0;background:
  linear-gradient(to top,rgba(34,29,24,.88) 2%,rgba(34,29,24,.55) 46%,rgba(34,29,24,.30) 100%),
  linear-gradient(to right,rgba(34,29,24,.62),rgba(34,29,24,.05) 68%)}
.phero-in{position:relative;z-index:2;padding:clamp(4.4rem,11vw,8rem) 0 clamp(3rem,6vw,4.6rem)}
.phero h1{color:#fff;max-width:17ch}
.phero .tag{color:var(--ochre-light)}
.phero .lede{color:rgba(255,255,255,.86);max-width:52ch;margin-top:1.2rem}
.phero-cta{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:2rem}
/* light variant for calmer pages */
.phero-lite{background:transparent;border-radius:0}
.phero-lite .phero-in{padding:clamp(3.2rem,7vw,5.4rem) 0 clamp(2rem,4vw,3rem)}
.phero-lite h1{color:var(--char)}
.phero-lite .tag{color:var(--sage-dark)}
.phero-lite .lede{color:var(--char-60)}

/* ── Breadcrumb ───────────────────────────────────────────────── */
.crumb{font-size:.82rem;letter-spacing:.4px;color:var(--char-40);display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}
.crumb a:hover{color:var(--terra)}
.phero:not(.phero-lite) .crumb{color:rgba(255,255,255,.62)}
.phero:not(.phero-lite) .crumb a:hover{color:#fff}

/* ── Journey rail (custom to BTT) ─────────────────────────────── */
.rail{position:relative;margin-top:clamp(2.4rem,4.6vw,3.6rem)}
.rail-line{position:absolute;left:0;right:0;top:33px;height:2px;
  background:linear-gradient(90deg,var(--sage-lighter),var(--sage),var(--terra-light));border-radius:2px}
.rail-grid{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1rem,2.2vw,2rem)}
.leg{display:flex;flex-direction:column;align-items:flex-start;gap:.85rem}
.leg .node{width:68px;height:68px;border-radius:50%;background:var(--white);border:2px solid var(--sage-lighter);
  display:grid;place-items:center;transition:border-color .4s,transform .4s var(--ease)}
.leg:hover .node{border-color:var(--sage);transform:translateY(-3px)}
.leg .node span{font-family:var(--body);font-size:1.3rem;font-weight:300;color:var(--char);line-height:1}
.leg .ph{font-family:var(--body);font-size:.74rem;font-weight:700;letter-spacing:1.3px;text-transform:uppercase;color:var(--terra)}
.leg h4{margin:-.3rem 0 .1rem}
.leg p{font-size:.92rem;line-height:1.6;color:var(--char-60)}
.leg .hrs{font-size:.82rem;color:var(--sage-dark);font-weight:600}
.rail-sum{display:flex;flex-wrap:wrap;gap:2.2rem;justify-content:center;margin-top:clamp(2.2rem,4vw,3.2rem);
  padding-top:1.9rem;border-top:1px solid var(--taupe)}
.rail-sum div{text-align:center}
.rail-sum b{display:block;font-family:var(--body);font-size:1.95rem;font-weight:300;line-height:1;color:var(--char)}
.rail-sum span{font-size:.8rem;letter-spacing:.6px;text-transform:uppercase;color:var(--char-40);font-weight:600}

/* ── Accordion ────────────────────────────────────────────────── */
.acc{border-top:1px solid var(--taupe)}
.acc details{border-bottom:1px solid var(--taupe)}
.acc summary{list-style:none;cursor:pointer;padding:1.25rem .2rem;display:flex;gap:1.2rem;align-items:flex-start;
  font-family:var(--head);font-weight:700;font-size:1.06rem;line-height:1.4;color:var(--char);transition:color .3s}
.acc summary::-webkit-details-marker{display:none}
.acc summary:hover{color:var(--terra)}
.acc summary::after{content:"";margin-left:auto;flex:none;width:13px;height:13px;margin-top:.42rem;
  border-right:2px solid var(--terra);border-bottom:2px solid var(--terra);transform:rotate(45deg);transition:transform .35s var(--ease)}
.acc details[open] summary::after{transform:rotate(-135deg)}
.acc .ans{padding:0 .2rem 1.5rem;max-width:74ch}
.acc .ans p+p{margin-top:.9rem}

/* ── Pricing tiers ────────────────────────────────────────────── */
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem}
.tier{background:var(--white);border:1px solid var(--taupe);border-radius:var(--r-m);padding:1.9rem 1.6rem;
  display:flex;flex-direction:column;gap:.9rem}
.tier.best{border:2px solid var(--terra);position:relative}
.tier.best::before{content:"Best value";position:absolute;top:-11px;left:1.6rem;background:var(--terra);color:#fff;
  font-size:.68rem;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;padding:.28rem .7rem;border-radius:var(--pill)}
.tier .amt{font-family:var(--body);font-size:2.1rem;font-weight:300;line-height:1;color:var(--char)}
.tier .soon{opacity:.72}
.tier ul{list-style:none;display:grid;gap:.5rem;font-size:.92rem;color:var(--char-60)}
.tier li{padding-left:1.2rem;position:relative}
.tier li::before{content:"";position:absolute;left:0;top:.55em;width:6px;height:6px;border-radius:50%;background:var(--sage)}

/* ── Callout ──────────────────────────────────────────────────── */
.callout{background:var(--terra-lightest);border:1px solid var(--terra-lighter);border-radius:var(--r-m);padding:1.5rem 1.6rem}
.callout.sage{background:var(--sage-lightest);border-color:var(--sage-lighter)}
.callout h4{margin-bottom:.5rem}
.callout p{font-size:.95rem;line-height:1.62;color:var(--char-60)}

/* ── CTA card ─────────────────────────────────────────────────── */
.cta-card{position:relative;overflow:hidden;border-radius:var(--r-l);padding:clamp(2.8rem,5.6vw,5rem) clamp(1.5rem,4vw,3rem);text-align:center}
.cta-card .bg{position:absolute;inset:0}
.cta-card .bg img{width:100%;height:100%;object-fit:cover}
.cta-card .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(34,29,24,.74),rgba(34,29,24,.84))}
.cta-card .in{position:relative;z-index:2}
.cta-card h2{color:#fff}
.cta-card p{color:rgba(255,255,255,.86);font-size:1.08rem;margin-top:.85rem}
.cta-row{margin-top:1.9rem;display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}

/* ── Quote slab ───────────────────────────────────────────────── */
.quote{background:var(--char);border-radius:var(--r-l);overflow:hidden;display:grid;grid-template-columns:1.35fr 1fr;align-items:end}
.quote-in{padding:clamp(2rem,3.8vw,3.4rem)}
.quote blockquote{font-family:var(--head);font-weight:400;font-size:clamp(1.2rem,1.9vw,1.65rem);line-height:1.44;color:var(--ivory)}
.quote .who{margin-top:1.5rem}
.quote .who b{display:block;font-family:var(--head);font-weight:700;color:var(--ivory);font-size:1.02rem}
.quote .who span{font-size:.9rem;color:var(--ivory-45)}
.quote .pic{align-self:end;height:100%;min-height:320px}
.quote .pic img{width:100%;height:100%;object-fit:cover;object-position:center 22%}

/* ── Feature rows on dark ─────────────────────────────────────── */
.feat{display:flex;gap:1.1rem;align-items:flex-start;border:1px solid rgba(250,245,233,.22);border-radius:var(--r-s);padding:1.2rem 1.35rem}
.feat h4{font-size:1.06rem;margin-bottom:.28rem}
.feat p{font-size:.91rem;line-height:1.58;color:var(--ivory-45)}

/* ── Draft marker. Deleted before launch, never hidden. ───────── */
.todo{display:inline-block;font-family:var(--body);font-size:.72rem;font-weight:700;letter-spacing:1px;
  text-transform:uppercase;color:var(--terra);border:1px dashed var(--terra-light);border-radius:var(--pill);padding:.42rem .95rem}
.ph-img{background:repeating-linear-gradient(45deg,var(--taupe-lighter),var(--taupe-lighter) 12px,var(--taupe-lightest) 12px,var(--taupe-lightest) 24px);
  display:grid;place-items:center;color:var(--char-40);font-size:.76rem;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;text-align:center;padding:1.5rem}

/* ── Header ───────────────────────────────────────────────────── */
.util{background:var(--char);color:var(--ivory-70);font-size:.82rem}
.util .shell{display:flex;align-items:center;gap:1.6rem;min-height:44px}
.util a{display:inline-flex;align-items:center;gap:.45rem;min-height:44px;transition:color .3s}
.util a:hover{color:var(--ochre)}
.util svg{width:14px;height:14px}
.util .sp{margin-left:auto}
.head{position:sticky;top:0;z-index:70;background:rgba(250,245,233,.94);backdrop-filter:blur(16px);transition:box-shadow .4s}
.head.stuck{box-shadow:0 4px 26px rgba(59,51,43,.08)}
.head-in{display:flex;align-items:center;gap:clamp(.9rem,2vw,1.9rem);height:96px}
.brand{display:flex;align-items:center;flex:none}
.brand img{height:70px;width:auto}
.nav{display:flex;align-items:center;gap:clamp(.85rem,1.5vw,1.5rem);margin-left:auto}
.nav > a,.nav .has > a{font-family:var(--head);font-size:.9rem;font-weight:600;color:var(--char);white-space:nowrap;
  position:relative;padding:.4rem 0;transition:color .3s;display:inline-flex;align-items:center;gap:.32rem}
.nav a::after{content:"";position:absolute;left:0;right:100%;bottom:.1rem;height:2px;background:var(--sage);
  transition:right .4s var(--ease)}
.nav a:hover{color:var(--sage-dark)}
.nav a:hover::after{right:0}
.nav .has{position:relative}
.nav .has > a > svg{width:11px;height:11px;opacity:.6}
.nav .sub{position:absolute;top:100%;left:-1rem;min-width:250px;background:var(--white);border:1px solid var(--taupe);
  border-radius:var(--r-m);padding:.6rem;box-shadow:0 18px 44px rgba(59,51,43,.12);opacity:0;visibility:hidden;
  transform:translateY(8px);transition:opacity .28s,transform .28s var(--ease),visibility .28s;z-index:5}
.nav .has:hover .sub,.nav .has:focus-within .sub{opacity:1;visibility:visible;transform:none}
.nav .sub a{display:block;padding:.62rem .8rem;border-radius:var(--r-s);font-size:.9rem;font-weight:500;white-space:nowrap}
.nav .sub a::after{display:none}
.nav .sub a:hover{background:var(--sage-lightest);color:var(--sage-dark)}
.burger{display:none;margin-left:auto;background:none;border:0;cursor:pointer;padding:.7rem;min-width:44px;min-height:44px}
.burger i{display:block;width:24px;height:2px;background:var(--char);border-radius:2px;transition:transform .3s,opacity .3s}
.burger i+i{margin-top:6px}
.mnav{display:none;background:var(--white);border-top:1px solid var(--taupe);padding:1rem var(--gut) 1.6rem}
.mnav.open{display:block}
.mnav a{display:block;padding:.85rem .2rem;font-family:var(--head);font-weight:600;font-size:1.02rem;border-bottom:1px solid var(--taupe-lighter)}
.mnav a.sub{padding-left:1.2rem;font-weight:500;font-size:.95rem;color:var(--char-60)}
.mnav .btn{width:100%;justify-content:center;margin-top:1.1rem}

/* ── Crisis + footer ──────────────────────────────────────────── */
.crisis{background:var(--char-3);padding:1.5rem 0}
.crisis p{font-size:.88rem;line-height:1.6;color:var(--ivory-45);text-align:center;max-width:96ch;margin:0 auto}
.crisis b{color:var(--ivory);font-weight:600}
.foot{background:var(--char);color:var(--ivory-70);border-radius:var(--r-xl) var(--r-xl) 0 0;padding:clamp(3.2rem,6vw,4.8rem) 0 0;position:relative;z-index:1}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:2.3rem}
.foot .fwm{font-family:var(--head);font-weight:800;font-size:1.3rem;letter-spacing:-.02rem;color:var(--ivory)}
.foot h5{font-family:var(--body);font-size:.78rem;font-weight:700;letter-spacing:1.3px;text-transform:uppercase;color:var(--ivory-45);margin-bottom:1.05rem}
.foot ul{list-style:none;display:grid;gap:.65rem}
.foot ul a{font-size:.93rem;color:var(--ivory-70);transition:color .3s}
.foot ul a:hover{color:var(--ochre)}
.foot .addr{font-size:.93rem;line-height:1.75;color:var(--ivory-70)}
.foot .addr a:hover{color:var(--ochre)}
.land{margin-top:clamp(2.6rem,5vw,3.8rem);padding:1.85rem 0;border-top:1px solid rgba(250,245,233,.15);
  font-size:.84rem;line-height:1.72;color:var(--ivory-45);max-width:92ch}
.legal{border-top:1px solid rgba(250,245,233,.15);padding:1.3rem 0;display:flex;flex-wrap:wrap;gap:1.5rem;
  justify-content:space-between;font-size:.83rem;color:var(--ivory-45)}
.legal a:hover{color:var(--ivory-70)}

/* ── Reveal ───────────────────────────────────────────────────── */
.rv{opacity:0;transform:translateY(18px);transition:opacity .75s var(--ease),transform .75s var(--ease)}
.rv.in{opacity:1;transform:none}
.phero .rv{animation:heroIn .9s var(--ease) forwards;opacity:0}
.phero .rv:nth-child(1){animation-delay:.04s}.phero .rv:nth-child(2){animation-delay:.13s}
.phero .rv:nth-child(3){animation-delay:.22s}.phero .rv:nth-child(4){animation-delay:.31s}
@keyframes heroIn{to{opacity:1;transform:none}}

/* ── Responsive ───────────────────────────────────────────────── */
@media (max-width:1100px){
  .nav{display:none}
  .burger{display:block}
  .head-in > .btn{display:none}
  .grid-4{grid-template-columns:1fr 1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
  /* Touch targets. Below this width the mobile nav is active, so assume a
     thumb, not a mouse. 44px is the Apple and WCAG guideline. */
  .tlink,.crumb a,.foot ul a,.foot .addr a,.legal a,.acc summary,
  .prose a[href^="tel:"],.prose a[href^="mailto:"],p a[href^="tel:"]{min-height:44px;display:inline-flex;align-items:center}
  .acc summary{align-items:flex-start;padding-top:1.35rem;padding-bottom:1.35rem}
  .foot ul{gap:0}
  .legal{gap:.4rem 1.5rem}
}
@media (max-width:900px){
  .split,.split-l,.split-r{grid-template-columns:1fr}
  .grid-2,.grid-3,.tiers{grid-template-columns:1fr}
  .quote{grid-template-columns:1fr}
  .quote .pic{min-height:300px;order:-1}
  .phero h1{max-width:none}
  .phero .lede{max-width:none}
}
@media (max-width:760px){
  .rail-grid{grid-template-columns:1fr 1fr;row-gap:2.3rem}
  .rail-line{display:none}
}
@media (max-width:620px){
  body{font-size:16px}
  .grid-4,.rail-grid{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr}
  .util .shell{gap:1rem;font-size:.78rem}
  .util .u-hide{display:none}
  .rail-sum{gap:1.4rem 2rem}
  .phero-cta .btn,.cta-row .btn,.narrow .btn{width:100%;justify-content:center}
  .slab{border-radius:26px 26px 0 0}
  .foot{border-radius:26px 26px 0 0}
  .phero{border-radius:0 0 26px 26px}
  h1{font-size:clamp(2rem,8.2vw,2.6rem)}
  h2{font-size:clamp(1.68rem,6.4vw,2.15rem)}
}
@media (max-width:520px){
  .feat{flex-direction:column;gap:.8rem}
}
@media (max-width:400px){
  .util .shell{font-size:.76rem;gap:.8rem}
  .brand img{height:56px}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  .rv{opacity:1;transform:none}
}

/* ── Forms ────────────────────────────────────────────────────────
   Added for Contact Us and Refer to Us. No endpoint is wired yet:
   both forms carry a .todo marker for GoHighLevel routing.
   ─────────────────────────────────────────────────────────────── */
.form-card{background:var(--white);border:1px solid var(--taupe);border-radius:var(--r-m);
  padding:clamp(1.5rem,3vw,2.5rem)}
.form{display:grid;gap:1.3rem}
.form .two{display:grid;grid-template-columns:1fr 1fr;gap:1.3rem}
.field{display:grid;gap:.45rem;align-content:start}
.field > label{font-family:var(--head);font-size:.9rem;font-weight:700;color:var(--char)}
.field .hint{font-size:.83rem;line-height:1.5;color:var(--char-40)}
.req{color:var(--terra)}
.form input[type=text],.form input[type=email],.form input[type=tel],.form select,.form textarea{
  font-family:var(--body);font-size:1rem;line-height:1.5;color:var(--char);background:var(--white);
  border:1px solid var(--taupe-dark);border-radius:var(--r-s);padding:.82rem 1rem;width:100%;
  transition:border-color .3s,box-shadow .3s}
.form textarea{min-height:150px;resize:vertical}
.form select{appearance:none;padding-right:2.7rem;cursor:pointer;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233B332B' stroke-width='2'><path d='M6 9l6 6 6-6'/></svg>");
  background-repeat:no-repeat;background-position:right 1rem center;background-size:14px}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--sage);
  box-shadow:0 0 0 3px rgba(143,160,126,.24)}
.form input::placeholder,.form textarea::placeholder{color:var(--char-40)}
.form fieldset{border:0}
.form legend{font-family:var(--head);font-size:.9rem;font-weight:700;color:var(--char);margin-bottom:.6rem}
.opts{display:grid;gap:.6rem}
.opt{display:flex;gap:.85rem;align-items:flex-start;background:var(--white);border:1px solid var(--taupe);
  border-radius:var(--r-s);padding:.9rem 1.05rem;cursor:pointer;transition:border-color .3s,background .3s}
.opt:hover{border-color:var(--sage-light)}
.opt input{flex:none;margin-top:.3rem;width:17px;height:17px;accent-color:var(--terra);cursor:pointer}
.opt b{display:block;font-family:var(--head);font-size:.97rem;font-weight:700;color:var(--char)}
.opt i{display:block;font-style:normal;font-size:.87rem;line-height:1.5;color:var(--char-60);margin-top:.15rem}
.opt:has(input:checked){border-color:var(--terra);background:var(--terra-lightest)}
.form-foot{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}
.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}
.btn:disabled:hover,.btn[aria-disabled=true]:hover{transform:none}

/* ── Definition list, for practice details ────────────────────── */
.deets{display:grid;gap:1.15rem}
.deets dt{font-family:var(--body);font-size:.74rem;font-weight:700;letter-spacing:1.2px;
  text-transform:uppercase;color:var(--terra)}
.deets dd{font-size:1rem;line-height:1.65;color:var(--char);margin-top:.22rem}
.deets dd a:hover{color:var(--terra)}
.slab-char .deets dt{color:var(--ochre-light)}
.slab-char .deets dd{color:var(--ivory-70)}

/* ── Long document pages (privacy policy, terms) ──────────────── */
.toc{background:var(--sage-lightest);border:1px solid var(--sage-lighter);border-radius:var(--r-m);
  padding:clamp(1.3rem,2.6vw,1.9rem)}
.toc h2{font-size:1.02rem;font-family:var(--body);font-weight:700;letter-spacing:1.2px;
  text-transform:uppercase;color:var(--char-60);margin-bottom:1rem}
.toc ol{margin:0 0 0 1.2rem;display:grid;gap:.45rem;font-size:.95rem}
.toc li::marker{color:var(--sage-dark);font-weight:700}
.toc a:hover{color:var(--terra)}
.doc h2{font-size:clamp(1.25rem,2.1vw,1.55rem);margin:2.9rem 0 .9rem;padding-top:.4rem;
  border-top:1px solid var(--taupe);letter-spacing:-.02rem}
.doc h2:first-child{margin-top:0;border-top:0;padding-top:0}
.doc h3{font-size:1.1rem;margin:1.9rem 0 .7rem}
.inshort{border-left:2px solid var(--sage-light);padding:.1rem 0 .1rem 1.05rem;margin:.3rem 0 1.15rem;
  font-size:.94rem;line-height:1.65;font-style:italic;color:var(--char-60)}
.inshort b{font-style:normal;font-weight:700;color:var(--char)}
.updated{display:inline-block;font-family:var(--body);font-size:.76rem;font-weight:700;letter-spacing:1.2px;
  text-transform:uppercase;color:var(--char-40);border:1px solid var(--taupe-dark);
  border-radius:var(--pill);padding:.42rem .95rem}

@media (max-width:620px){
  .form .two{grid-template-columns:1fr}
}
