/* Homepage — shared by both options. Option-specific blocks are prefixed .a- / .b-. */

/* ---------- Brand colour tweaks (internal, option pages only) ---------- */
[data-palette="rose"]{
  --coral:#E68A96; --coral-mid:#D66C7B; --coral-deep:#A93B50; --coral-ink:#832B3D;
  --coral-tint:#FBECEE; --coral-tile:#F7DEE2;
}
[data-palette="blush"]{
  --coral:#F2A199; --coral-mid:#E58076; --coral-deep:#B04A3E; --coral-ink:#8B382E;
  --coral-tint:#FDF0ED; --coral-tile:#FAE2DC;
}
[data-palette="plum"]{
  --coral:#EF8F99; --coral-mid:#DE6E82; --coral-deep:#8E3A58; --coral-ink:#6E2A43;
  --coral-tint:#FBEDF0; --coral-tile:#F6DFE4;
}
[data-theme="dark"][data-palette="rose"]{--coral:#EDA0AC; --coral-deep:#EFA6B2; --coral-ink:#F6C6CE; --coral-tint:#2C1F24; --coral-tile:#3A2930}
[data-theme="dark"][data-palette="blush"]{--coral:#F3AEA6; --coral-deep:#F3B2A9; --coral-ink:#F8CEC8; --coral-tint:#2C2120; --coral-tile:#3A2A27}
[data-theme="dark"][data-palette="plum"]{--coral:#EDA0B4; --coral-deep:#EFA8BC; --coral-ink:#F6C8D6; --coral-tint:#2B1F26; --coral-tile:#382733}

.tweaks{
  position:fixed; left:20px; bottom:20px; z-index:70;
  background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-lg);
  box-shadow:var(--shadow-md); padding:14px; width:212px;
}
.tweaks__label{font-size:11px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-3); display:block; margin-bottom:10px}
.tweaks__row{display:flex; gap:8px}
.tweaks button{
  flex:1; min-height:44px; border-radius:var(--radius-md); border:1.5px solid var(--border);
  background:var(--surface); cursor:pointer; display:grid; place-items:center; padding:0;
}
.tweaks button[aria-pressed="true"]{border-color:var(--coral-deep); box-shadow:var(--ring)}
.tweaks__dot{width:22px; height:22px; border-radius:50%}
.tweaks__note{font-size:11px; color:var(--ink-3); margin:10px 0 0; line-height:1.5}
@media (max-width:760px){ .tweaks{left:12px; right:auto; bottom:76px; width:170px; padding:10px} }

/* ---------- Trust strip ---------- */
.trust{display:flex; flex-wrap:wrap; align-items:center; gap:var(--sp-4) var(--sp-6); padding-block:var(--sp-4)}
.trust__stars{display:flex; gap:3px; color:var(--coral)}
.trust__item{display:flex; align-items:center; gap:10px; font-size:14px; color:var(--ink-2)}
.trust__item strong{color:var(--ink)}

/* ---------- Flag for outstanding content ---------- */
.flag{
  display:inline-flex; align-items:center; gap:7px;
  font-family:ui-monospace,Menlo,monospace; font-size:11px; letter-spacing:.03em; text-transform:uppercase;
  color:var(--amber); background:var(--amber-bg); border:1px dashed currentColor;
  border-radius:var(--radius-pill); padding:4px 10px;
}

/* ---------- Hero slideshow (full-bleed, three crossfading images) ---------- */
.hero{position:relative; overflow:hidden; background:var(--deep)}
.hero__media{position:absolute; inset:0}
.hero__img{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  opacity:0; transform:scale(1.04); transition:opacity 1.1s ease, transform 7s linear;
}
.hero__img.is-in{opacity:1; transform:scale(1)}
.hero__scrim{
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(42,33,38,.34) 0%, rgba(42,33,38,.10) 34%, rgba(42,33,38,.42) 100%);
}
.hero__inner{position:relative; display:flex; align-items:flex-end; min-height:clamp(624px,96vh,936px); padding-block:clamp(88px,12vw,120px) 0}
.hero__card{
  background:rgba(51,38,43,.78); backdrop-filter:blur(8px); color:var(--on-deep);
  border-radius:0 var(--radius-xl) 0 0; box-shadow:none;
  padding:clamp(24px,3.6vw,44px) clamp(24px,3.6vw,48px) clamp(28px,4vw,48px);
  max-width:880px;
}
[data-theme="dark"] .hero__card{background:rgba(21,15,18,.8)}
.hero__card h1, .hero__h{margin:0 0 14px; color:var(--on-deep); font-size:clamp(30px,3.4vw,46px); font-family:var(--font-head); font-weight:500; line-height:1.1; letter-spacing:-.01em; text-wrap:pretty}
/* Panels stack in one grid cell so the card height is the tallest panel, constant across slides */
.hero__panels{display:grid; transition:opacity .3s ease}
.hero__panels.is-fading{opacity:0}
.hero__panel{grid-area:1 / 1}
.hero__panel[hidden]{display:block; visibility:hidden; pointer-events:none}
.hero__card .lead{margin-bottom:0; color:var(--on-deep-2)}
.hero__card .eyebrow{color:var(--coral)}
.hero__cta{display:flex; flex-wrap:wrap; gap:12px; margin-top:26px}
.hero__dots{
  position:absolute; right:var(--gutter); bottom:clamp(20px,4vw,40px); z-index:2;
  display:flex; gap:10px;
}
.hero__dot{
  width:44px; height:44px; padding:0; border:0; background:none; cursor:pointer;
  display:grid; place-items:center;
}
.hero__dot span{
  display:block; width:11px; height:11px; border-radius:50%;
  background:rgba(255,255,255,.45); box-shadow:0 0 0 1px rgba(255,255,255,.5);
  transition:background .2s ease, transform .2s ease;
}
.hero__dot[aria-selected="true"] span{background:var(--coral); transform:scale(1.35)}
.hero__dot:focus-visible span{box-shadow:0 0 0 3px rgba(255,255,255,.7)}
@media (max-width:700px){ .hero__dots{left:var(--gutter); right:auto} }
@media (prefers-reduced-motion:reduce){ .hero__img{transition:opacity .001ms; transform:none} }

/* ---------- Reinvention band (full-bleed photo, copy on the flat left of the frame) ---------- */
.reinvent{position:relative; overflow:hidden; background:#575c5e; color:#fff}
.reinvent__img{
  position:absolute; inset:0 0 0 auto; height:100%; width:min(62%,1180px);
  object-fit:cover; object-position:78% 22%;
}
.reinvent__scrim{
  position:absolute; inset:0;
  background:linear-gradient(90deg,#575c5e 0%,#575c5e 50%,rgba(87,92,94,.84) 60%,rgba(87,92,94,.3) 70%,rgba(87,92,94,0) 80%);
}
.reinvent__inner{position:relative; display:flex; align-items:center; min-height:clamp(440px,54vw,660px); padding-block:clamp(56px,8vw,104px)}
.reinvent__copy{max-width:min(78ch,54%)}
.reinvent__h{margin:0 0 18px; color:#fff; font-family:var(--font-head); font-weight:400; font-size:clamp(28px,3.1vw,42px); line-height:1.14; letter-spacing:-.01em; text-wrap:pretty}
.reinvent__copy p{color:rgba(255,255,255,.9)}
.reinvent__copy p + p{margin-top:14px}
@media (max-width:860px){
  .reinvent__img{position:static; width:100%; height:clamp(280px,74vw,440px); object-position:52% 18%}  .reinvent__scrim{display:none}
  .reinvent__inner{min-height:0; padding-block:clamp(30px,7vw,48px)}
  .reinvent__copy{max-width:none}
}

/* ---------- Copy slot: flagged, awaiting client copy. Never ships. ---------- */
.slot{
  border:1px dashed var(--coral); border-radius:var(--radius-xl);
  background:var(--coral-tile); padding:clamp(20px,2.6vw,30px);
}
.slot__tag{
  display:inline-block; margin:0 0 8px; font-size:12px; font-weight:700;
  letter-spacing:.1em; text-transform:uppercase; color:var(--coral-deep);
}
.slot p{margin:0; color:var(--ink-2); font-style:italic}
.pathway__note{
  margin:18px 0 0; padding-top:14px; border-top:1px solid var(--border-light);
  font-size:15px; color:var(--ink-3);
}

/* ---------- Fees ---------- */
.feegrid{display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:clamp(16px,2vw,24px)}
.feecard{
  display:flex; flex-direction:column; gap:12px;
  background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-xl);
  padding:clamp(24px,3vw,34px);
}
.feecard__k{margin:0; font-family:var(--font-head); font-weight:400; font-size:clamp(21px,2.1vw,26px); line-height:1.2; letter-spacing:-.01em}
.feecard__v{
  margin:0; font-family:var(--font-head); font-size:clamp(38px,5vw,58px);
  line-height:1; letter-spacing:-.02em; color:var(--coral-deep);
}
.feecard p{margin:0; color:var(--ink-2)}
.feecard__note{margin:0; padding-top:12px; border-top:1px solid var(--border-light); font-size:15px; color:var(--ink-3)}
@media (max-width:900px){
  .feecard{position:static !important}
}
.insurers{
  display:grid; grid-template-columns:repeat(3,1fr); gap:10px 12px; margin:0; padding:0; list-style:none;
}
.insurers li{
  padding:12px 18px; min-height:52px; display:flex; align-items:center; justify-content:center; text-align:center;
  background:var(--surface); border:1px solid var(--border); border-radius:999px;
  font-weight:600; font-size:16px;
}

@media (max-width:520px){
  .insurers{grid-template-columns:repeat(2,1fr)}
}

/* ---------- Service page: sticky contents, prose, FAQs ---------- */
.svc__list{margin:18px 0; padding:0; list-style:none; display:grid; gap:10px}
.svc__list li{display:flex; gap:14px; align-items:flex-start; color:var(--ink-2); line-height:1.55}
.svc__list li::before{
  content:""; flex:0 0 auto; width:7px; height:7px; margin-top:9px;
  border-radius:50%; background:var(--coral);
}
.svc{display:grid; grid-template-columns:minmax(0,240px) minmax(0,1fr); gap:clamp(28px,5vw,72px); align-items:start}
.toc{position:sticky; top:100px}
.toc__h{margin:0 0 12px; font-size:13px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-3)}
.toc ol{margin:0; padding:0; list-style:none; display:grid; gap:2px; counter-reset:toc}
.toc a{
  display:block; padding:9px 0 9px 26px; position:relative; min-height:44px;
  color:var(--ink-2); text-decoration:none; font-size:16px; font-weight:500; line-height:1.35;
  border-top:1px solid var(--border-light);
}
.toc li:last-child a{border-bottom:1px solid var(--border-light)}
.toc a::before{
  counter-increment:toc; content:counter(toc);
  position:absolute; left:0; top:11px; font-size:13px; font-weight:700; color:var(--coral-deep);
}
.toc a:hover{color:var(--coral-deep)}
.svc__body{display:grid; gap:clamp(36px,5vw,64px); min-width:0}
.svc__sec h2{margin:0 0 14px}
.svc__h3{
  margin:26px 0 8px; font-family:var(--font-head); font-weight:400;
  font-size:clamp(19px,1.9vw,24px); line-height:1.25; letter-spacing:-.01em;
}
.svc__sec > p{margin:0 0 14px}
.svc__sec > p:last-child{margin-bottom:0}
.faq{border-top:1px solid var(--border-light)}
.faq details{border-bottom:1px solid var(--border-light)}
.faq summary{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:18px 0; min-height:44px; cursor:pointer; list-style:none;
  font-family:var(--font-head); font-size:clamp(18px,1.8vw,22px); line-height:1.3;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+"; font-family:var(--font-body); font-size:24px; color:var(--coral-deep); line-height:1}
.faq details[open] summary::after{content:"\2212"}
.faq details > p{margin:0 0 18px; color:var(--ink-2)}
@media (max-width:900px){
  .svc{grid-template-columns:1fr}
  .toc{position:static; padding-bottom:8px}
}

/* ---------- Conditions and treatments index ---------- */
.tgrid{display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:clamp(14px,1.6vw,20px); margin:0; padding:0; list-style:none}
.tgrid li{
  display:flex; align-items:center; gap:14px; min-height:64px;
  background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-lg);
  padding:16px 20px; font-weight:600; font-size:17px; line-height:1.3;
}
/* Linked cards: the link fills the card so the whole tile is the tap target. */
.tgrid li:has(> a){padding:0}
.tgrid li > a{flex:1; align-self:stretch; min-height:62px; padding:16px 20px}
.tgrid__n{
  flex:0 0 auto; width:8px; height:8px; border-radius:50%;
  background:var(--coral); display:inline-block;
}
.tgroup + .tgroup{margin-top:clamp(36px,4.5vw,60px)}
.tgroup__h{
  margin:0 0 clamp(16px,2vw,22px); font-family:var(--font-head); font-weight:400;
  font-size:clamp(23px,2.4vw,31px); line-height:1.2; letter-spacing:-.01em;
}

/* ---------- Patient leaflets ---------- */
.lf{display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:clamp(16px,2vw,24px)}
.lf__card{
  display:flex; flex-direction:column; gap:14px; text-decoration:none; color:inherit;
  background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-xl);
  padding:clamp(22px,2.6vw,30px); transition:border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.lf__card:hover{border-color:var(--coral); transform:translateY(-3px); box-shadow:var(--shadow-lg)}
.lf__card:focus-visible{outline:2px solid var(--coral-deep); outline-offset:3px}
.lf__icon{
  display:grid; place-items:center; width:44px; height:44px; flex:0 0 auto;
  border-radius:12px; background:var(--coral-tile); color:var(--coral-deep);
}
.lf__h{margin:0; font-family:var(--font-head); font-weight:400; font-size:clamp(20px,2vw,25px); line-height:1.2; letter-spacing:-.01em}
.lf__card p{margin:0; color:var(--ink-2); font-size:16px}
.lf__meta{
  display:flex; align-items:center; gap:8px; margin-top:auto; padding-top:6px;
  font-weight:600; font-size:14px; letter-spacing:.02em; color:var(--coral-deep);
}
.lf__card:hover .lf__meta svg{transform:translateY(2px)}
.lf__meta svg{transition:transform .2s ease}

/* ---------- Third-party embed (responsive frame) ---------- */
.embed{
  flex:1 1 460px; max-width:560px; min-width:0;
  background:var(--surface); border:1px solid var(--border-light);
  border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-sm);
}
.embed iframe{display:block; width:100%; aspect-ratio:504/399; border:0}
.embed--video{flex:none; max-width:none}
.embed--video iframe{aspect-ratio:16/9}

/* ---------- Journey band (deep band, copy left, image cards right) ---------- */
.jband{background:var(--deep); color:var(--on-deep); padding-block:var(--section-y) clamp(36px,6vw,72px)}
.jband--flush{padding-block:var(--section-y)}
.jband--flush .jband__grid{align-items:center}
.jband--flush .jcards{margin-bottom:0}
.jband h2{color:var(--on-deep)}
.jband p{color:var(--on-deep-2)}
.jband .eyebrow{color:var(--coral)}
.jband__grid{display:grid; gap:clamp(28px,5vw,64px); grid-template-columns:1fr; align-items:start}
@media (min-width:980px){ .jband__grid{grid-template-columns:.9fr 1.1fr} }
.jband__points{list-style:none; margin:0 0 28px; padding:0; display:grid; gap:18px}
.jband__points h4{color:var(--on-deep); margin:0 0 4px; font-size:17px}
.jband__points p{margin:0; font-size:15px}

.jcards{display:grid; grid-template-columns:repeat(2,1fr); gap:clamp(12px,1.6vw,20px)}
@media (max-width:520px){ .jcards{grid-template-columns:1fr} }
@media (min-width:980px){
  .jcards{margin-bottom:calc(-1 * clamp(40px,6vw,96px)); position:relative; z-index:1}
  .section--after-band{padding-top:calc(var(--section-y) + clamp(40px,6vw,96px))}
}
.jcard{
  position:relative; display:block; overflow:hidden; text-decoration:none;
  border-radius:var(--radius-lg); aspect-ratio:4/3; min-height:190px;
  background:var(--deep-2);
  transition:transform .2s ease, box-shadow .2s ease;
}
.jcard:hover{transform:translateY(-3px); box-shadow:var(--shadow-lg)}
.jcard img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover}
.jcard__ph{
  position:absolute; inset:0;
  background:repeating-linear-gradient(135deg, rgba(255,255,255,.06) 0 10px, transparent 10px 20px), var(--deep-2);
  display:grid; place-items:center; padding:16px;
}
.jcard__ph span{
  font-family:ui-monospace,Menlo,monospace; font-size:11px; letter-spacing:.04em; text-transform:uppercase;
  color:rgba(255,255,255,.5); text-align:center;
}
.jcard__scrim{position:absolute; inset:0; background:linear-gradient(180deg, rgba(20,14,17,.28) 0 30%, rgba(20,14,17,.72) 100%)}
.jcard__pill{
  position:absolute; top:14px; left:14px;
  font-size:12px; font-weight:700; color:#fff; background:rgba(20,14,17,.72);
  border-radius:var(--radius-pill); padding:6px 13px; backdrop-filter:blur(4px);
}
.jcard__title{
  position:absolute; left:16px; right:16px; bottom:14px; margin:0;
  font-family:var(--font-body); font-size:clamp(17px,1.6vw,21px); font-weight:700; line-height:1.25; color:#fff;
}

/* ---------- Option A: editorial hero ---------- */
.a-hero{padding-block:clamp(40px,7vw,88px) clamp(48px,8vw,104px)}
.a-hero__grid{display:grid; gap:clamp(28px,5vw,64px); align-items:center; grid-template-columns:1fr}
@media (min-width:900px){ .a-hero__grid{grid-template-columns:1.08fr .92fr} }
.a-hero h1{margin-bottom:22px}
.a-hero__cta{display:flex; flex-wrap:wrap; gap:12px; margin-top:28px}
.a-hero__media{border-radius:var(--radius-xl); overflow:hidden; aspect-ratio:4/5; min-height:340px}
.a-quote{
  background:var(--surface); border:1px solid var(--border-light); border-radius:var(--radius-xl);
  padding:clamp(22px,3vw,34px); box-shadow:var(--shadow-sm);
}

/* ---------- Option B: full-bleed hero ---------- */
.b-hero{position:relative; min-height:clamp(520px,72vh,720px); display:grid; align-items:end; overflow:hidden}
.b-hero__bg{position:absolute; inset:0; border-radius:0}
/* Service-page heroes. The supplied portraits are only 1000px wide and the hero box is
   much wider than it is tall, so cover always crops the height and object-position has no
   horizontal room to work with. Between roughly 700px and 1200px the card also covers the
   middle of the frame, which is where these subjects sit, so the image is widened just
   enough to push the subject past the card's right edge and no further. Above 1200px the
   card takes a smaller share of the width and no shift is needed, so none is applied. */
.b-hero__bg--shift{width:100%; max-width:none; object-position:50% 22%}
@media (min-width:700px) and (max-width:1199px){
  .b-hero__bg--shift{width:130%; right:auto; object-position:40% 24%}
}
.b-hero__inner{position:relative; padding-block:clamp(32px,6vw,72px)}
.b-hero__card{
  background:var(--surface); border-radius:var(--radius-xl); box-shadow:var(--shadow-lg);
  padding:clamp(24px,4vw,48px); max-width:660px;
}
.b-hero__card h1{margin-bottom:16px}
/* Matches the homepage hero card: dark translucent panel over the photo */
.b-hero__card--deep{
  background:rgba(51,38,43,.78); backdrop-filter:blur(8px); color:var(--on-deep);
  box-shadow:none; border-radius:0 var(--radius-xl) 0 0;
}
[data-theme="dark"] .b-hero__card--deep{background:rgba(21,15,18,.8)}
.b-hero__card--deep h1{color:var(--on-deep)}
.b-hero__card--deep .lead{color:var(--on-deep-2)}
.b-hero__card--deep .eyebrow{color:var(--coral)}
.b-hero__cta{display:flex; flex-wrap:wrap; gap:12px; margin-top:24px}

/* Four routes strip */
.routes{display:grid; gap:1px; background:var(--border-light); border:1px solid var(--border-light); border-radius:var(--radius-lg); overflow:hidden}
@media (min-width:640px){ .routes{grid-template-columns:repeat(2,1fr)} }
@media (min-width:1000px){ .routes{grid-template-columns:repeat(4,1fr)} }
.route{background:var(--surface); padding:var(--sp-5); text-decoration:none; color:inherit; display:flex; flex-direction:column; gap:8px; min-height:44px; transition:background .16s ease}
.route:hover{background:var(--coral-tint)}
.route__num{font-family:ui-monospace,Menlo,monospace; font-size:12px; color:var(--coral-deep); font-weight:700}
.route h4{margin:0}
.route p{font-size:14px; color:var(--ink-2); margin:0}

/* Conditions index */
.cond-index{display:grid; gap:0; border-top:1px solid var(--border)}
@media (min-width:760px){ .cond-index{grid-template-columns:repeat(2,1fr); column-gap:clamp(28px,5vw,72px)} }
.cond{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:18px 4px; border-bottom:1px solid var(--border);
  font-family:var(--font-head); font-size:clamp(19px,2.2vw,25px); color:var(--ink);
  text-decoration:none; min-height:44px;
}
.cond:hover{color:var(--coral-deep)}
.cond svg{color:var(--coral-deep); flex:none; opacity:0; transform:translateX(-6px); transition:opacity .18s ease, transform .18s ease}
.cond:hover svg{opacity:1; transform:none}

/* Sticky mobile action bar */
.actionbar{
  position:fixed; left:0; right:0; bottom:0; z-index:65;
  display:flex; gap:10px; padding:10px 14px calc(10px + env(safe-area-inset-bottom));
  background:color-mix(in oklab, var(--bg) 92%, transparent); backdrop-filter:blur(10px);
  border-top:1px solid var(--border-light);
}
.actionbar .btn{flex:1}
@media (min-width:1000px){ .actionbar{display:none} }
@media (max-width:999px){ .theme-toggle{bottom:84px} }

/* ---------- Shared homepage blocks ---------- */
.press{display:grid; gap:var(--sp-4); grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.press__card{
  display:flex; flex-direction:column; gap:8px; text-decoration:none; color:inherit;
  background:var(--surface); border:1px solid var(--border-light); border-radius:var(--radius-lg); padding:var(--sp-4);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.press__card:hover{transform:translateY(-3px); box-shadow:var(--shadow-md); border-color:var(--coral-40)}
.press__src{font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:var(--coral-deep)}
.press__card h5{margin:0; font-size:16px; line-height:1.4}
.press__card span.small{color:var(--ink-3)}

.expertise{display:flex; flex-wrap:wrap; gap:8px}
.expertise li{list-style:none}
.expertise span{
  display:inline-flex; align-items:center; min-height:38px; padding:6px 15px;
  background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-pill);
  font-size:15px; color:var(--ink-2);
}

.story{display:grid; gap:var(--sp-5); grid-template-columns:1fr}
@media (min-width:880px){ .story{grid-template-columns:repeat(2,1fr)} }

.cta-band{background:var(--deep); color:var(--on-deep); border-radius:var(--radius-xl); padding:clamp(30px,5vw,64px)}
.cta-band h2{color:var(--on-deep); margin-bottom:12px}
.cta-band p{color:var(--on-deep-2)}
.cta-band__row{display:flex; flex-wrap:wrap; gap:12px; margin-top:24px}

.figure{border-radius:var(--radius-xl); overflow:hidden}
.figure img{width:100%; height:100%; object-fit:cover}
.process-detail .measure{max-width:none}
.figure.ph{min-height:280px}
.stat{display:flex; flex-direction:column; gap:2px}
.stat__n{font-family:var(--font-head); font-size:clamp(30px,4vw,44px); line-height:1; color:var(--coral-deep)}
.stat__l{font-size:14px; color:var(--ink-2)}

@media (max-width:767px){
  .trust__item,.pathway__note,.feecard__note,.lf__meta,.jband__points p,.route p,.expertise span,.stat__l{font-size:16px}
}
