/* ============================================================================
   Landing-page design system — irmaa-brackets, business-owners.
   Loaded INSTEAD OF styles.css, not alongside it.

   These are purpose-built paid-traffic pages and they deliberately break from
   the editorial house style used on philosophy/services/journal. The brand
   marks are kept — navy, gold, the W monogram — but the typographic and spatial
   language is different, because the jobs are different: the marketing site is
   read, a landing page is scanned and acted on in about fifteen seconds.

   WHAT CHANGED AND WHY
   - Headlines are heavy Inter, not Cormorant. The serif reads considered; on a
     landing page it reads slow. The serif survives only where a number needs to
     feel like a figure rather than a label.
   - Vertical rhythm is roughly a third tighter. The house style's generosity
     pushed every conversion point below the fold.
   - Higher contrast throughout. The audience is 63-75; the old --silver-ghost
     body text measured about 2.5:1 and was genuinely hard to read.
   - Surfaces are layered (bg -> panel -> raised) so cards read as objects
     rather than as bordered rectangles.
   ============================================================================ */

:root {
  --navy-deep:#060c18; --navy:#0a1424; --panel:#101d33; --panel-2:#16263f;
  --line:rgba(196,205,222,.13); --line-2:rgba(196,205,222,.24);
  --ink:#f2f5fa; --ink-2:#c3ccdb; --ink-3:#94a1b5;
  --gold:#c9a86c; --gold-hi:#e0c48d; --gold-deep:#8f7449;
  --warn:#e8918e; --warn-bg:rgba(232,145,142,.09);
  --ok:#7fc4a3;
  --r:10px; --r-sm:6px;
  --ease:cubic-bezier(.2,.8,.2,1);
  --shadow:0 24px 60px -32px rgba(0,0,0,.85);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--navy-deep); color:var(--ink-2);
  font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  font-size:17px; line-height:1.6; -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:var(--gold)}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Skip link — offscreen until focused, never display:none (that removes it from tab order). */
.skip-link{position:absolute;left:-9999px;top:0;z-index:100;padding:.8rem 1.3rem;background:var(--gold);color:var(--navy-deep);font-weight:600;text-decoration:none;border-radius:0 0 var(--r-sm) 0}
.skip-link:focus,.skip-link:focus-visible{left:0;outline:2px solid var(--ink);outline-offset:-2px}

.wrap{max-width:1140px;margin:0 auto;padding:0 clamp(1.1rem,4vw,2.2rem)}

/* ---------------------------------------------------------------- header */
.lph{position:sticky;top:0;z-index:30;background:rgba(6,12,24,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.lph-in{max-width:1140px;margin:0 auto;padding:.7rem clamp(1.1rem,4vw,2.2rem);display:flex;align-items:center;justify-content:space-between;gap:1rem}
.lph-brand{display:flex;align-items:center;gap:.65rem;text-decoration:none;min-width:0}
.lph-mark{flex:none;width:34px;height:34px;border:1px solid var(--gold-deep);border-radius:5px;display:grid;place-items:center;font-family:Georgia,serif;font-size:1.05rem;color:var(--gold);}
.lph-name{font-size:.95rem;font-weight:600;color:var(--ink);letter-spacing:-.01em;white-space:nowrap}
.lph-sub{display:block;font-size:.68rem;font-weight:400;color:var(--ink-3);letter-spacing:.04em;white-space:nowrap}
/* The mark is now a production SVG that carries its own hairline frame, so the bordered box
   that framed the old typed W has to come off or the mark renders inside two frames. */
img.lph-mark{border:0;background:none;padding:0;object-fit:contain}

/* Tap-to-call. Two thirds of paid traffic here is iPhone and the audience is 63-75; for a good
   share of them a phone call is the only conversion they will ever complete, and a call is a
   far warmer lead than an address typed on a phone keyboard. Shown only where thumbs are. */
.callbar{display:none}
@media (max-width:940px){
  .callbar{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin:1rem 0 0}
  .callbar a{display:flex;align-items:center;justify-content:center;gap:.45rem;min-height:52px;
    border-radius:var(--r-sm);font-weight:700;font-size:.95rem;text-decoration:none}
  .callbar .c-call{background:var(--gold);color:var(--navy-deep)}
  .callbar .c-book{background:transparent;color:var(--ink);border:1px solid var(--line-2)}
  .callbar svg{width:17px;height:17px;flex:none}
}

.lph-cta{flex:none;padding:.6rem 1.15rem;background:var(--gold);color:var(--navy-deep);border-radius:var(--r-sm);text-decoration:none;font-size:.87rem;font-weight:650;white-space:nowrap}
.lph-cta:hover{background:var(--gold-hi)}
@media (max-width:560px){ .lph-sub{display:none} .lph-cta{padding:.55rem .9rem;font-size:.82rem} }

/* ---------------------------------------------------------------- hero */
.hero{padding:clamp(1.8rem,4vw,3.2rem) 0 clamp(1.6rem,3vw,2.4rem)}
/* TWO grid items on desktop, THREE on mobile — via display:contents.
   The previous version gave copy and proof their own grid rows with the card spanning both.
   Grid sizes rows to fit a spanning item, so the card (1114px) forced the two rows to
   610px + 459px while their actual content was 349px and 198px — injecting ~260px of dead
   space BETWEEN the headline and the trust chips. Wrapping the left side fixes that, and
   `display:contents` dissolves the wrapper on mobile so the three blocks can still be ordered
   copy -> card -> proof (the instrument must beat the proof to the fold on a phone). */
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,460px);
  gap:clamp(1.4rem,3.5vw,3rem);align-items:start}
.hero-left{display:flex;flex-direction:column;gap:clamp(1.2rem,2.5vw,1.7rem)}
@media (max-width:940px){
  .hero-grid{grid-template-columns:1fr;gap:1.4rem}
  .hero-left{display:contents}
  .hero-copy{order:1}
  .hero-card{order:2}
  .hero-proof{order:3}
}

.eyebrow{display:inline-block;font-size:.7rem;font-weight:650;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin:0 0 .8rem;padding:.3rem .6rem;background:rgba(201,168,108,.1);border:1px solid rgba(201,168,108,.25);border-radius:100px}
h1{font-size:clamp(2rem,4.6vw,3.05rem);line-height:1.06;letter-spacing:-.025em;font-weight:700;color:var(--ink);margin:0 0 .85rem}
.lede{font-size:clamp(1rem,1.6vw,1.12rem);line-height:1.62;color:var(--ink-2);margin:0 0 1.3rem;max-width:38rem}
.lede b,.lede strong{color:var(--ink);font-weight:650}

/* trust chips */
.chips{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1.3rem;padding:0}
.chips li{display:flex;align-items:center;gap:.4rem;font-size:.79rem;color:var(--ink-2);background:var(--panel);border:1px solid var(--line);border-radius:100px;padding:.36rem .75rem}
.chips svg{width:13px;height:13px;flex:none;fill:none;stroke:var(--gold);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}

/* ---------------------------------------------------------------- cards */
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow)}
.card-hd{padding:1.05rem 1.25rem .85rem;border-bottom:1px solid var(--line)}
.card-hd h2,.card-hd h3{margin:0;font-size:1rem;font-weight:650;color:var(--ink);letter-spacing:-.01em}
.card-hd p{margin:.3rem 0 0;font-size:.83rem;color:var(--ink-3);line-height:1.5}
.card-bd{padding:1.25rem}

/* ---------------------------------------------------------------- forms */
.f{margin-bottom:.85rem}
.f:last-child{margin-bottom:0}
.f label{display:block;font-size:.78rem;font-weight:550;color:var(--ink-3);margin-bottom:.32rem}
.f input,.f select{
  width:100%;padding:.72rem .85rem;background:var(--navy-deep);color:var(--ink);
  border:1px solid var(--line-2);border-radius:var(--r-sm);
  font-family:inherit;font-size:1rem;font-variant-numeric:tabular-nums;
  transition:border-color .15s var(--ease),box-shadow .15s var(--ease);
}
.f input:focus,.f select:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,168,108,.18)}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
@media (max-width:420px){ .f-row{grid-template-columns:1fr} }
.f-hint{font-size:.73rem;color:var(--ink-3);margin:.3rem 0 0;line-height:1.5}


/* Safety net. A JS-injected <button> that forgets its class previously rendered as the browser
   default — a white slab in the middle of a dark card, on the single most important control on
   the page. Inheriting the font and colour means the worst case is now "plain", not "broken". */
button{font-family:inherit;font-size:inherit;color:inherit;background:transparent;border:0}

.btn{
  display:inline-block;width:100%;padding:.92rem 1.4rem;background:var(--gold);color:var(--navy-deep);
  border:0;border-radius:var(--r-sm);font-family:inherit;font-size:1rem;font-weight:700;
  letter-spacing:-.005em;cursor:pointer;text-align:center;text-decoration:none;
  transition:background .15s var(--ease),transform .08s var(--ease);
}
.btn:hover{background:var(--gold-hi)}
.btn:active{transform:translateY(1px)}
.btn[disabled]{opacity:.5;cursor:default}
.btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--line-2)}
.btn-ghost:hover{background:var(--panel-2);border-color:var(--gold-deep)}

/* ---------------------------------------------------------------- result */
.res{border-top:1px solid var(--line);margin-top:1.1rem;padding-top:1.1rem}
.res-lab{font-size:.7rem;font-weight:650;letter-spacing:.13em;text-transform:uppercase;color:var(--gold);margin:0 0 .45rem}
/* FIGURES IN INTER, NOT CORMORANT.
   Cormorant Garamond ships old-style (text) figures: the 1 reads as a capital I and the 0 sits
   at x-height, so "$1,253,500" and "10.9%" were genuinely ambiguous. Setting
   font-variant-numeric:lining-nums had no effect — the loaded subset carries no lnum table.
   On a page whose entire value is a number, read by 63-75 year olds, the elegant serif was
   costing comprehension. Inter at 700 with tabular lining figures is unambiguous, and dropping
   Cormorant removes a webfont request from both pages entirely. */
.res-fig{
  font-size:clamp(2rem,5.2vw,2.75rem);line-height:1.02;font-weight:700;color:var(--ink);
  margin:0 0 .55rem;font-variant-numeric:tabular-nums lining-nums;letter-spacing:-.03em;
}
.res-fig.is-warn{color:var(--warn)}
/* Part B + Part D arithmetic, stated under the headline figure. Session replay showed people
   tapping the big number itself — a bold figure reads as a control on a phone. Answering the
   question the tap was asking is cheaper than training the tap out of them. */
.res-break{margin:0 0 .55rem;font-size:.82rem;line-height:1.5;color:var(--ink-3);
  font-variant-numeric:tabular-nums lining-nums}
.res-break b{color:var(--ink-2);font-weight:600}
/* Shown only while the input still holds the seeded example, so nobody mistakes a demonstration
   figure for their own number. Clears permanently the moment they type. */
.res-eg{margin:0 0 .55rem;font-size:.79rem;line-height:1.5;color:var(--gold);
  border-left:2px solid var(--gold-deep);padding-left:.6rem}
.res-more{margin-top:1.1rem;padding-top:1.1rem;border-top:1px solid var(--line)}
.res-say{font-size:.93rem;line-height:1.65;color:var(--ink-2);margin:0}
.res-say strong{color:var(--ink);font-weight:650}
.res-warn{display:block;margin-top:.75rem;padding:.7rem .85rem;background:var(--warn-bg);border-left:2px solid var(--warn);border-radius:0 var(--r-sm) var(--r-sm) 0;color:#f0b8b6;font-size:.9rem;line-height:1.6}
.res-warn strong{color:#fff}
.res-note{display:block;margin-top:.7rem;font-size:.79rem;color:var(--ink-3);line-height:1.55}

/* inline capture */
.cap{margin-top:1.1rem;padding-top:1.1rem;border-top:1px solid var(--line)}
.cap h3{margin:0 0 .35rem;font-size:1.02rem;font-weight:650;color:var(--ink);letter-spacing:-.01em}
.cap p{margin:0 0 .85rem;font-size:.87rem;color:var(--ink-2);line-height:1.55}
.cap form{display:grid;gap:.55rem}
.cap input[type=email]{width:100%;padding:.82rem .9rem;background:var(--navy-deep);color:var(--ink);border:1px solid var(--line-2);border-radius:var(--r-sm);font-family:inherit;font-size:1rem}
.cap input[type=email]:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,168,108,.18)}
.cap .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.cap .fine{margin:.7rem 0 0;font-size:.77rem;color:var(--ink-3);line-height:1.55}
.cap .err{margin:.55rem 0 0;font-size:.85rem;color:var(--warn)}

/* ---------------------------------------------------------------- sections */
section.sec{padding:clamp(2rem,4vw,3rem) 0}
section.sec.alt{background:var(--navy);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sec-hd{max-width:44rem;margin:0 0 1.5rem}
.sec-hd h2{font-size:clamp(1.45rem,3vw,2rem);line-height:1.15;letter-spacing:-.022em;font-weight:700;color:var(--ink);margin:0 0 .5rem}
.sec-hd p{margin:0;font-size:1rem;line-height:1.62;color:var(--ink-2)}

.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:.9rem}
.tile{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:1.15rem 1.2rem}
.tile .tag{display:block;font-size:.65rem;font-weight:650;letter-spacing:.13em;text-transform:uppercase;color:var(--gold);margin-bottom:.5rem}
.tile h3{margin:0 0 .45rem;font-size:1.02rem;font-weight:650;color:var(--ink);letter-spacing:-.01em}
.tile p{margin:0;font-size:.88rem;line-height:1.6;color:var(--ink-2)}

/* ---------------------------------------------------------------- trust block */
.trust{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(1rem,3vw,1.8rem);align-items:start;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:clamp(1.2rem,3vw,1.8rem)}
@media (max-width:620px){ .trust{grid-template-columns:1fr} }
.trust-face{width:96px;height:96px;border-radius:var(--r);object-fit:cover;border:1px solid var(--line-2)}
.trust-mono{width:96px;height:96px;border-radius:var(--r);border:1px solid var(--gold-deep);display:grid;place-items:center;font-family:Georgia,serif;font-size:2rem;color:var(--gold);background:var(--navy-deep)}
.trust h3{margin:0 0 .2rem;font-size:1.1rem;font-weight:650;color:var(--ink)}
.trust .role{margin:0 0 .7rem;font-size:.85rem;color:var(--ink-3)}
.trust p{margin:0 0 .7rem;font-size:.92rem;line-height:1.65;color:var(--ink-2)}
.trust ul{list-style:none;margin:.6rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem}
.trust ul li{font-size:.76rem;color:var(--ink-2);background:var(--navy-deep);border:1px solid var(--line);border-radius:100px;padding:.3rem .7rem}

/* ---------------------------------------------------------------- faq */
.faq details{border-bottom:1px solid var(--line)}
.faq details:first-of-type{border-top:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:1rem;padding:.95rem 0;font-size:.97rem;font-weight:550;color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';color:var(--gold);font-weight:400;flex:none}
.faq details[open] summary::after{content:'\2013'}
.faq .a{margin:0 0 1rem;font-size:.92rem;line-height:1.7;color:var(--ink-2);max-width:46rem}

/* ---------------------------------------------------------------- sticky */
.sticky{position:fixed;left:0;right:0;bottom:0;z-index:40;padding:.65rem clamp(1rem,4vw,1.4rem) calc(.65rem + env(safe-area-inset-bottom));background:rgba(6,12,24,.96);backdrop-filter:blur(12px);border-top:1px solid var(--line-2);transform:translateY(115%);transition:transform .25s var(--ease)}
.sticky.is-in{transform:translateY(0)}
.sticky .note{margin:0 0 .45rem;font-size:.79rem;line-height:1.4;color:var(--ink-2);text-align:center}
.sticky .note b{color:var(--warn);font-weight:700}
@media (min-width:941px){ .sticky{display:none} }

/* ---------------------------------------------------------------- footer */
.lpf{border-top:1px solid var(--line);padding:2rem 0 3rem;background:var(--navy)}
.lpf p{margin:0 0 .8rem;font-size:.79rem;line-height:1.7;color:var(--ink-3);max-width:62rem}
.lpf a{color:var(--ink-2)}
@media (max-width:940px){ .lpf{padding-bottom:8.5rem} }

/* ---------------------------------------------------------------- disclosure */
tool-disclosure{display:block;margin:1.6rem 0 0;border:1px solid var(--line);border-left:2px solid var(--gold-deep);border-radius:var(--r-sm);background:rgba(201,168,108,.03)}
tool-disclosure .td-title{font-size:.87rem;font-weight:600;color:var(--ink);margin:0;padding:.9rem 1.1rem}
tool-disclosure .td-toggle{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;padding:.9rem 1.1rem;background:none;border:0;cursor:pointer;text-align:left;font-family:inherit;font-size:.87rem;font-weight:600;color:var(--ink)}
tool-disclosure .td-toggle:hover{color:var(--gold-hi)}
tool-disclosure .td-chevron{flex:none;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translate(-2px,-2px);transition:transform .25s var(--ease)}
tool-disclosure.is-open .td-chevron{transform:rotate(-135deg) translate(-2px,-2px)}
/* COLLAPSE FIX. `grid-template-rows: 0fr` sizes only the rows it names — with four .td-section
   children the remaining three fell back to `auto`, so a "collapsed" disclosure still occupied
   roughly 470px of invisible page. grid-auto-rows covers the implicit rows, and min-height:0
   lets the children actually shrink inside them. */
tool-disclosure .td-body{display:grid;grid-template-rows:1fr;grid-auto-rows:1fr;transition:grid-template-rows .3s var(--ease),grid-auto-rows .3s var(--ease)}
tool-disclosure.is-collapsed .td-body{grid-template-rows:0fr;grid-auto-rows:0fr;visibility:hidden}
tool-disclosure.is-open .td-body{visibility:visible}
tool-disclosure .td-body>*{overflow:hidden;min-height:0}
tool-disclosure .td-section{padding:0 1.1rem 1rem}
/* Padding survives a 0fr row — overflow:hidden clips content but the box keeps its own padding,
   which left ~79px of collapsed disclosure. Zero it while closed. */
tool-disclosure.is-collapsed .td-section{padding-top:0;padding-bottom:0}
tool-disclosure .td-section h4{font-size:.66rem;text-transform:uppercase;letter-spacing:.13em;color:var(--gold);margin:0 0 .5rem;font-weight:650}
tool-disclosure .td-section ul{margin:0;padding-left:1.05rem}
tool-disclosure .td-section li{font-size:.82rem;line-height:1.65;color:var(--ink-3);margin-bottom:.45rem}
tool-disclosure .td-section li strong{color:var(--ink-2)}
tool-disclosure .td-always{border-top:1px solid var(--line);padding-top:.9rem}
tool-disclosure .td-warn{margin:0;padding:.7rem 1.1rem;background:#7f1d1d;color:#fff;font-size:.8rem}
@media print{ tool-disclosure .td-body{grid-template-rows:1fr!important;visibility:visible!important} }

/* ---------------------------------------------------------------- booking widget
   booking.js is shared with the marketing site, where its styles live in
   styles.css. These pages load lp.css INSTEAD of styles.css, so the widget's
   styles are restated here in the landing-page language. Without this the
   booking form renders unstyled — the single most expensive element on the page
   to get wrong. */
.bk{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:clamp(1.2rem,3vw,1.6rem);box-shadow:var(--shadow)}
.bk-title{margin:0 0 .35rem;font-size:1.15rem;font-weight:650;color:var(--ink);letter-spacing:-.01em}
.bk-blurb{margin:0 0 1.1rem;font-size:.9rem;line-height:1.6;color:var(--ink-2);max-width:38rem}
.bk-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.bk-when{border:0;margin:0 0 1rem;padding:0}
.bk-when legend{font-size:.68rem;font-weight:650;letter-spacing:.13em;text-transform:uppercase;color:var(--gold);padding:0 0 .6rem}
.bk-windows{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.5rem}
.bk-slot{position:relative;display:block}
.bk-slot input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.bk-slot span{display:flex;flex-direction:column;align-items:center;gap:.12rem;padding:.75rem .5rem;border:1px solid var(--line-2);border-radius:var(--r-sm);font-size:.87rem;color:var(--ink-2);text-align:center;transition:all .15s var(--ease)}
.bk-slot span em{font-style:normal;font-size:.74rem;color:var(--ink-3)}
.bk-slot input:hover+span{border-color:var(--gold-deep)}
.bk-slot input:focus-visible+span{outline:2px solid var(--gold);outline-offset:1px}
.bk-slot input:checked+span{background:var(--gold);border-color:var(--gold);color:var(--navy-deep);font-weight:650}
.bk-slot input:checked+span em{color:var(--navy-deep);opacity:.8}
.bk-fields{display:grid;gap:.55rem;margin-bottom:1rem}
.bk-fields input{width:100%;padding:.78rem .9rem;background:var(--navy-deep);color:var(--ink);border:1px solid var(--line-2);border-radius:var(--r-sm);font-family:inherit;font-size:1rem}
.bk-fields input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,168,108,.18)}
.bk-submit{display:block;width:100%;padding:.92rem 1.4rem;background:var(--gold);color:var(--navy-deep);border:0;border-radius:var(--r-sm);font-family:inherit;font-size:1rem;font-weight:700;cursor:pointer;text-align:center;text-decoration:none}
.bk-submit:hover{background:var(--gold-hi)}
.bk-submit[disabled]{opacity:.5;cursor:default}
.bk-msg{margin:.7rem 0 0;font-size:.86rem;line-height:1.55}
.bk-msg.is-err{color:var(--warn)}
.bk-fine{margin:.8rem 0 0;font-size:.79rem;color:var(--ink-3);line-height:1.6;max-width:34rem}

/* Hero stat callout — shared by both landing pages. */
.hero-stat{display:flex;gap:1rem;align-items:flex-start;padding:1.1rem 1.2rem;background:var(--warn-bg);border:1px solid rgba(232,145,142,.22);border-left:2px solid var(--warn);border-radius:0 var(--r) var(--r) 0;max-width:34rem}
.hero-stat-n{flex:none;font-size:clamp(1.7rem,3.6vw,2.15rem);font-weight:700;line-height:1.05;color:var(--warn);font-variant-numeric:tabular-nums lining-nums;letter-spacing:-.03em}
.hero-stat-l{font-size:.87rem;line-height:1.55;color:var(--ink-2)}
.hero-stat-l strong{color:#fff;font-weight:650}
@media (max-width:520px){ .hero-stat{flex-direction:column;gap:.5rem} }
@media (max-width:880px){ .talk-grid{grid-template-columns:1fr!important} }

/* "What to expect" list in booking link mode. */
.bk-expect{list-style:none;margin:0 0 1.1rem;padding:0;display:grid;gap:.5rem}
.bk-expect li{display:flex;align-items:flex-start;gap:.55rem;font-size:.88rem;line-height:1.5;color:var(--ink-2)}
.bk-expect svg{width:14px;height:14px;flex:none;margin-top:.22rem;fill:none;stroke:var(--gold);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
