/* Beauty & Wellness Clinic — K-beauty design system (extracted from the homepage world, 2026-08-20).
   Grand Cayman copy: the Toronto kb.css unchanged in tokens and grammar, plus a "Grand Cayman layer"
   at the end of the file (2-panel gateway, location line, booking form, treatment cards).
   Fonts are self-hosted (Latin subset of Pretendard Variable) and icons are an SVG sprite. */
@font-face{
  font-family:"Pretendard Variable";font-weight:45 920;font-style:normal;font-display:swap;
  src:url("/assets/fonts/pretendard-var-latin.woff2") format("woff2-variations"),
      url("/assets/fonts/pretendard-var-latin.woff2") format("woff2");
}
:root{
    --peach-0:#FFF5F0; --peach-1:#FFEEEA; --peach-2:#FFE4DD; --peach-3:#FFDDD4;
    --ink:#2A2A2A; --ink-55:#7C7375;
    --red:#D3161A; --coral:#FF7A7A; --rose:#E9918E; --lilac:#C9A8E8;
    --w:#FFFFFF; --w-70:rgba(255,255,255,.72); --w-40:rgba(255,255,255,.42);
    --tick:34px; --head:78px; --bar:64px;
    --safe:env(safe-area-inset-bottom, 0px);
    --ease:cubic-bezier(.16,1,.3,1);
    --slow:cubic-bezier(.22,.61,.36,1);
  }
  *,*::before,*::after{box-sizing:border-box}
  html,body{margin:0}
  body{
    background:linear-gradient(var(--peach-1) 0%, var(--peach-3) 100%);
    color:var(--ink);
    font-family:"Pretendard Variable",Pretendard,system-ui,sans-serif;
    -webkit-font-smoothing:antialiased;
  }
  .vh{
    position:absolute!important;width:1px;height:1px;overflow:hidden;
    clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;
  }
  .skip{
    position:absolute;left:8px;top:-60px;z-index:60;
    background:var(--ink);color:#fff;padding:10px 18px;border-radius:50px;
    font-size:13px;font-weight:600;text-decoration:none;transition:top .2s var(--ease);
  }
  .skip:focus{top:8px}

  /* ---------- ticker ---------- */
  .tick{
    height:var(--tick);background:#0C0B0B;overflow:hidden;white-space:nowrap;
    display:flex;align-items:center;position:relative;
  }
  .tick-run{display:inline-flex;flex:none;will-change:transform}
  .tick-run span{
    padding:0 34px;font-size:11.5px;font-weight:600;letter-spacing:.34em;text-transform:uppercase;
    color:var(--rose);
  }
  .tick-run span b{color:#FFF;font-weight:700}
  @media (prefers-reduced-motion:no-preference){
    .tick-run{animation:run 38s linear infinite}
    .tick:hover .tick-run{animation-play-state:paused}
    .tick[data-paused] .tick-run{animation-play-state:paused}
    @keyframes run{from{transform:translateX(0)}to{transform:translateX(-50%)}}
  }
  @media (prefers-reduced-motion:reduce){ .tick{overflow-x:auto} .tickbtn{display:none} }
  .tickbtn{
    position:absolute;right:0;top:0;bottom:0;width:40px;z-index:2;
    display:flex;align-items:center;justify-content:center;cursor:pointer;
    background:linear-gradient(90deg, rgba(12,11,11,0), #0C0B0B 42%);
    border:0;color:var(--w-70);font-size:10px;line-height:1;
  }
  .tickbtn:hover{color:#fff}
  .tickbtn:focus-visible{outline:2px solid var(--rose);outline-offset:-3px}
  .odot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#59C96A;margin-right:8px;vertical-align:1px}
  .odot.off{background:#8F8A87}

  /* ---------- header ---------- */
  .head{
    min-height:var(--head);display:flex;align-items:center;gap:clamp(9px,1.2vw,18px);
    padding:0 clamp(14px,2vw,26px);
    background:linear-gradient(var(--peach-0) 0%, var(--peach-1) 62%, var(--peach-2) 100%);
    border-bottom:1px solid rgba(42,42,42,.07);
  }
  .brand{display:flex;flex-direction:column;gap:2px;margin-right:4px;flex:none;min-width:0;max-width:38vw}
  .brand > a{text-decoration:none}
  .logo{
    font-size:clamp(16px,1.7vw,22px);font-weight:800;letter-spacing:-.02em;white-space:nowrap;
    background:linear-gradient(96deg,var(--rose) 0%,#D98FA6 45%,var(--lilac) 100%);
    -webkit-background-clip:text;background-clip:text;color:transparent;
  }
  .logo .lg-x{height:.82em;width:auto;vertical-align:-.08em;margin:0 4px;isolation:isolate}
  .strap{
    margin:0;font-size:11px;font-weight:600;letter-spacing:.03em;color:var(--ink-55);
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  }
  @media (max-width:1400px){
    .strap{
      position:absolute!important;width:1px;height:1px;overflow:hidden;
      clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;
    }
  }

  .pill{
    display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 18px;
    border-radius:50px;background:var(--w);border:1px solid rgba(42,42,42,.07);
    color:var(--ink);text-decoration:none;
    font-size:13.5px;font-weight:600;white-space:nowrap;
    box-shadow:0 2px 8px rgba(180,120,110,.10);
    transition:transform .22s var(--ease),box-shadow .22s var(--ease);
  }
  .pill i{font-size:17px;color:var(--ink-55)}
  .pill:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(180,120,110,.18)}
  .pill:active{transform:translateY(0)}
  .pill.book{background:var(--ink);color:var(--w);border-color:var(--ink)}
  .pill.book i{color:var(--w)}

  .head .right{display:flex;align-items:center;gap:clamp(9px,1.3vw,17px);margin-left:auto}
  .stars{display:flex;align-items:center;gap:7px;text-decoration:none;color:var(--ink);white-space:nowrap}
  .stars .g{color:#F0A83C;font-size:12px;letter-spacing:.05em}
  .stars b{font-size:14px;font-weight:800}
  .stars span{font-size:12.5px;color:var(--ink-55)}
  .stars:hover span{color:var(--red)}
  .tel{color:var(--ink);text-decoration:none;font-size:15px;font-weight:800;letter-spacing:-.01em;white-space:nowrap}
  .tel:hover{color:var(--red)}
  .pill:focus-visible,.stars:focus-visible,.tel:focus-visible{outline:3px solid rgba(233,145,142,.55);outline-offset:2px}

  @media (max-width:1180px){ .tel{display:none} }
  @media (max-width:900px){ .stars span:last-child{display:none} }
  @media (max-width:880px){ .pill span{display:none} .pill{padding:0 14px} .brand{max-width:none} }
  @media (max-width:470px){
    .pill.prices{display:none}
    .logo{font-size:15px}
    .stars b{font-size:13px}
    .stars .g{font-size:10.5px}
    .head{gap:8px;padding:0 12px}
  }
  @media (max-width:410px){
    .logo{font-size:14px}
    .stars .g{font-size:0}
    .stars::before{content:"\2605";color:#F0A83C;font-size:12.5px;line-height:1}
    .stars{gap:5px}
    .head{gap:7px;padding:0 10px}
  }
  @media (max-width:345px){
    .head .right{display:none}
    .logo{font-size:13.5px}
  }

  /* ---------- hero: one panel, the treatment's own stage ---------- */
  .hero{
    position:relative;overflow:hidden;color:var(--w);
    min-height:min(680px, calc(92dvh - var(--tick) - var(--head)));
    display:flex;align-items:center;justify-content:center;
  }
  .hero img.bg,.hero video{
    position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 28%;
  }
  .hero video{opacity:1;pointer-events:none;transition:opacity .8s var(--ease)}
  .hero video.off{opacity:0}
  .hero::after{
    content:"";position:absolute;inset:0;pointer-events:none;
    background:
      linear-gradient(to bottom, rgba(38,20,18,.2) 0%, rgba(38,20,18,0) 34%),
      linear-gradient(to top,    rgba(38,20,18,.4) 0%, rgba(38,20,18,0) 60%);
  }
  .hero::before{
    content:"";position:absolute;top:0;left:0;right:0;height:2px;z-index:4;
    background:linear-gradient(90deg,var(--rose),var(--lilac));
  }
  .hero-inner{
    position:relative;z-index:2;text-align:center;width:100%;max-width:880px;
    padding:clamp(48px,8vw,90px) 22px;
  }
  .hero-inner::before{
    content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
    width:190%;height:150%;z-index:-1;pointer-events:none;border-radius:50%;
    background:radial-gradient(closest-side,
      rgba(26,13,12,.9) 0%, rgba(26,13,12,.74) 46%, rgba(26,13,12,.4) 74%, rgba(26,13,12,0) 100%);
  }
  .crumb{margin:0 0 14px;font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--w-70)}
  .crumb a{color:var(--w-70);text-decoration:none}
  .crumb a:hover{color:#fff}
  .crumb i{font-style:normal;padding:0 7px;color:var(--w-40)}
  .hero h1{
    margin:0;font-size:clamp(1.55rem,4.2vw,2.9rem);font-weight:800;
    letter-spacing:-.03em;line-height:1.18;text-wrap:balance;
  }
  .hero h1 em{font-style:normal;color:#FFC9C0}
  .hero .method{
    margin:14px 0 0;font-size:12px;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--rose);
  }
  .hero .price{
    margin:18px 0 0;line-height:1;color:var(--w);
    font-size:clamp(26px,3vw,36px);font-weight:700;letter-spacing:-.02em;
  }
  .hero .price small{
    display:block;font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
    color:var(--w-70);margin-top:9px;
  }
  .spec{margin:16px 0 0;padding:0;list-style:none;display:flex;gap:6px;justify-content:center;flex-wrap:wrap}
  .spec li{
    font-size:9.5px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;
    color:var(--w-70);border:1px solid rgba(255,255,255,.3);border-radius:50px;padding:5px 11px;
    white-space:nowrap;
  }
  .hero .acts{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:22px}
  .bookpill{
    position:relative;z-index:3;
    display:inline-flex;align-items:center;gap:8px;height:48px;padding:0 26px;
    border-radius:50px;background:var(--w);color:var(--ink);text-decoration:none;
    font-size:13.5px;font-weight:700;letter-spacing:.01em;
    box-shadow:0 6px 20px rgba(0,0,0,.3);
    transition:transform .2s var(--ease),background .2s var(--ease);
  }
  .bookpill i{font-size:15px;color:var(--red)}
  .bookpill:hover{transform:translateY(-2px)}
  .bookpill:focus-visible{outline:3px solid var(--rose);outline-offset:3px}
  .bookpill.ghosted{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.4);box-shadow:none}
  .bookpill.ghosted i{color:#fff}
  .hero .disc{margin:18px 0 0;font-size:10.5px;line-height:1.6;color:rgba(255,255,255,.58)}

  /* ---------- portrait hero ----------
     The hero art (and all four Veo clips) is 9:16 — it was shot for the homepage's tall
     gateway panels. Poured full-bleed into a 2.1:1 banner, object-fit:cover shows only ~27%
     of the frame: a band across a forehead instead of the portrait. On wide screens the
     media therefore becomes a framed column BESIDE the copy, at its own aspect ratio, so
     the whole shot reads. Below 860px the banner is close enough to portrait that
     full-bleed still works, and that path is left untouched. */
  @media (min-width:860px){
    .hero.portrait{
      display:flex;align-items:center;justify-content:flex-start;
      gap:clamp(28px,4vw,64px);
      padding:clamp(44px,5vw,72px) clamp(28px,5vw,72px);
      min-height:clamp(580px,76vh,720px);
      background:linear-gradient(115deg,#2A1E1C 0%,#3C2A26 52%,#2A1E1C 100%);
    }
    /* the full-bleed scrim and the text halo both exist to rescue text sitting ON the
       photo; over the solid band they only muddy it */
    .hero.portrait::after{display:none}
    .hero.portrait .hero-inner::before{display:none}

    .hero.portrait img.bg,.hero.portrait video{
      position:absolute;inset:auto;left:auto;
      right:clamp(28px,5vw,72px);top:50%;transform:translateY(-50%);
      height:min(64vh,540px);width:auto;max-width:min(40vw,440px);
      object-fit:cover;object-position:50% 40%;
      border-radius:26px;
      box-shadow:0 30px 70px rgba(0,0,0,.45);
    }
    .hero.portrait .hero-inner{
      text-align:left;margin:0;padding:0;width:auto;
      max-width:min(56%,600px);
    }
    .hero.portrait .spec,.hero.portrait .acts{justify-content:flex-start}
    .hero.portrait .price small{letter-spacing:.14em}
    /* several pages centre their hero lead with margin-inline:auto, which in a left-aligned
       column shows up as one paragraph indented ~46px past the headline */
    .hero.portrait .hero-inner > p{margin-left:0;margin-right:0}
  }
  @media (max-width:700px){
    .hero{min-height:calc(88dvh - var(--tick) - var(--head) - var(--bar))}
    .hero-inner{padding:40px 18px}
  }
  @media (prefers-reduced-motion:no-preference){
    .hero{clip-path:inset(100% 0 0 0);animation:wipe 1s var(--slow) .06s forwards}
    @keyframes wipe{to{clip-path:inset(0 0 0 0)}}
  }
  @media (prefers-reduced-motion:reduce){
    .hero{clip-path:none}
    .hero video{display:none}
  }

  /* ---------- contact rail ---------- */
  .rail{
    position:fixed;right:clamp(10px,1.4vw,20px);top:50%;transform:translateY(-50%);z-index:12;
    display:grid;gap:9px;
  }
  .rail a{
    display:flex;align-items:center;gap:10px;height:44px;width:44px;padding:0 0 0 13px;
    overflow:hidden;justify-self:end;
    border-radius:50px;background:var(--w);color:var(--ink);text-decoration:none;
    font-size:13px;font-weight:600;white-space:nowrap;
    box-shadow:0 4px 16px rgba(120,60,55,.2);
    transition:width .34s var(--ease),box-shadow .22s var(--ease),padding .34s var(--ease);
  }
  .rail a:hover,.rail a:focus-visible{width:142px;padding-right:20px;box-shadow:0 8px 22px rgba(120,60,55,.3)}
  .rail a span{opacity:0;transition:opacity .26s var(--ease) .06s}
  .rail a:hover span,.rail a:focus-visible span{opacity:1}
  .rail a:focus-visible{outline:3px solid var(--rose);outline-offset:3px}
  .rail i{font-size:17px;flex:none}
  .rail .g-ico{color:#F0A83C}.rail .w-ico{color:#25D366}
  .rail .m-ico{color:#2A7DE1}.rail .p-ico{color:var(--red)}.rail .b-ico{color:var(--red)}
  @media (max-width:1000px){
    .rail{
      right:0;left:0;top:auto;bottom:0;transform:none;
      display:grid;grid-auto-flow:column;grid-auto-columns:1fr;
      gap:0;background:var(--w);
      padding-bottom:var(--safe);
      border-top:1px solid rgba(42,42,42,.08);
      box-shadow:0 -2px 18px rgba(120,60,55,.14);
    }
    .rail a{
      height:var(--bar);width:auto;min-width:0;border-radius:0;padding:0 4px;box-shadow:none;
      display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
      font-size:10.5px;font-weight:600;overflow:hidden;justify-self:stretch;
    }
    .rail a:hover,.rail a:focus-visible{width:auto;padding:0 4px;box-shadow:none}
    .rail a:active{background:var(--peach-0)}
    .rail a span{opacity:1;line-height:1;max-width:100%;overflow:hidden;text-overflow:ellipsis}
    .rail i{font-size:19px;line-height:1}
    .rail a:focus-visible{outline:3px solid var(--rose);outline-offset:-3px}
  }
  @media (max-width:300px){
    .rail a span{display:none}
    .rail a{gap:0}
  }

  /* ---------- sticky sub-nav with scroll-spy ---------- */
  .subnav{
    position:sticky;top:0;z-index:9;
    background:rgba(255,253,252,.55);
    backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);
    box-shadow:
      0 14px 40px -18px rgba(140,60,50,.28),
      inset 0 2px 3px -1px rgba(255,255,255,.9),
      inset 0 -2px 4px -1px rgba(255,190,180,.35),
      inset 0 0 0 1px rgba(255,255,255,.5);
  }
  .subnav::before{
    content:"";position:absolute;top:1px;left:1px;right:1px;height:46%;
    border-radius:0 0 18px 18px;
    background:linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,255,255,0));
    pointer-events:none;
  }
  @media (prefers-reduced-transparency:reduce){ .subnav{background:#FFFDFC;backdrop-filter:none} }
  .subnav ul{
    display:flex;gap:7px;list-style:none;margin:0 auto;padding:11px clamp(12px,3vw,26px);
    max-width:1240px;overflow-x:auto;scrollbar-width:none;position:relative;
  }
  .subnav ul::-webkit-scrollbar{display:none}
  .nav-pill{
    position:absolute;top:11px;left:0;height:38px;width:0;border-radius:50px;
    background:var(--ink);box-shadow:0 4px 12px rgba(20,10,10,.22), inset 0 1px 1px rgba(255,255,255,.18);
    transition:transform .5s cubic-bezier(.34,1.2,.64,1), width .5s cubic-bezier(.34,1.2,.64,1);
    pointer-events:none;
  }
  @media (prefers-reduced-motion:reduce){ .nav-pill{transition:none} }
  .subnav a{
    position:relative;z-index:1;
    display:inline-flex;align-items:center;height:38px;padding:0 17px;border-radius:50px;
    color:var(--ink-55);text-decoration:none;font-size:13px;font-weight:700;white-space:nowrap;
    transition:color .3s var(--ease),transform .15s var(--ease);
  }
  .subnav a:active{transform:scale(.94)}
  .subnav a:hover{color:var(--ink)}
  .subnav a[aria-current="true"]{color:#fff}
  .subnav a:focus-visible{outline:3px solid rgba(233,145,142,.55);outline-offset:2px}
  html{scroll-behavior:smooth}
  @media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto} }
  section[id]{scroll-margin-top:76px}

  /* ---------- reveal system ---------- */
  .rv{opacity:0;transform:translateY(26px);transition:opacity 1.15s var(--slow),transform 1.15s var(--slow)}
  .rv.in{opacity:1;transform:none}
  .rv[style*="--i"]{transition-delay:calc(var(--i) * 100ms)}
  @media (prefers-reduced-motion:reduce){ .rv{opacity:1;transform:none;transition:none} }
  @media (prefers-reduced-motion:no-preference){
    .rv.in .photo,.rv.in figure,figure.rv.in{
      animation:mediawipe .9s var(--slow) .12s backwards;
    }
    @keyframes mediawipe{from{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0 0 0 0)}}
  }

  /* ---------- section grammar ---------- */
  .sec{position:relative;overflow:clip;padding:clamp(56px,8vw,110px) clamp(18px,4vw,56px)}
  .sec.peach{background:linear-gradient(var(--peach-0) 0%, var(--peach-2) 55%, var(--peach-3) 100%)}
  .sec.white{background:#FFFDFC}
  .wrap{max-width:1240px;margin:0 auto}

  .shead{text-align:center;margin-bottom:clamp(30px,4vw,54px)}
  .shead .kicker{
    display:inline-block;margin:0 0 16px;padding:7px 16px;border-radius:50px;
    background:var(--peach-2);color:#A85E63;
    font-size:11px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;
  }
  .sec.white .shead .kicker{background:var(--peach-1)}
  .shead h2{
    margin:0;font-size:clamp(1.6rem,3.2vw,2.5rem);font-weight:800;letter-spacing:-.035em;line-height:1.22;
  }
  .shead h2 em{font-style:normal;color:var(--coral)}
  .shead p{margin:14px auto 0;max-width:58ch;font-size:15px;line-height:1.8;color:var(--ink-55)}
  .shead.xl h2{font-size:clamp(2.1rem,5.2vw,4rem);line-height:1.08}

  .shead h2 em{
    background:linear-gradient(90deg,var(--coral),var(--rose),var(--lilac),var(--coral));
    background-size:300% 100%;
    -webkit-background-clip:text;background-clip:text;
    color:transparent;-webkit-text-fill-color:transparent;
  }
  @media (prefers-reduced-motion:no-preference) and (hover:hover) and (pointer:fine){
    .shead h2 em{animation:huecycle 9s linear infinite}
  }
  @keyframes huecycle{to{background-position:300% 0}}
  @media (hover:none){
    .shead h2 em{
      background:none;color:var(--rose);
      -webkit-text-fill-color:var(--rose);
      animation:none;
    }
  }

  /* headline word choreography */
  .shead h2 .w{display:inline-block;white-space:pre}
  @media (prefers-reduced-motion:no-preference){
    .shead h2{overflow:hidden}
    .shead h2 .w{
      transform:translateY(1.15em) rotate(3deg);opacity:0;
      transition:transform .8s cubic-bezier(.22,.61,.36,1),opacity .5s ease;
      transition-delay:calc(var(--wi) * 70ms);
    }
    .shead[data-fx="clip"] h2 .w{transform:translateY(0) scale(1.3);filter:blur(6px)}
    .shead[data-fx="scale"] h2 .w{transform:translateY(0) scale(.6) rotate(-4deg)}
    .shead.rv.in h2 .w{transform:none;opacity:1;filter:none}
  }

  .shine{position:relative;overflow:hidden;isolation:isolate}
  .shine::after{
    content:"";position:absolute;top:-60%;bottom:-60%;width:38%;left:-60%;z-index:2;
    background:linear-gradient(100deg,transparent,rgba(255,255,255,.72),transparent);
    transform:skewX(-18deg);pointer-events:none;
  }
  @media (prefers-reduced-motion:no-preference){
    .shine::after{animation:shine 4.4s ease-in-out infinite}
    @keyframes shine{0%,72%{left:-60%}92%,100%{left:118%}}
  }

  /* ---------- benefits strip (the method's five pillars) ---------- */
  .pillars{
    display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--peach-2);
    border:1px solid var(--peach-2);border-radius:20px;overflow:hidden;
  }
  .pillars div{background:#FFFDFC;padding:24px 18px;text-align:center}
  .pillars img{width:38px;height:38px;margin-bottom:12px}
  .pillars h3{margin:0;font-size:12.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
  .pillars p{margin:8px 0 0;font-size:13px;line-height:1.65;color:var(--ink-55)}
  @media (max-width:1000px){ .pillars{grid-template-columns:repeat(2,1fr)} .pillars div:last-child{grid-column:span 2} }
  @media (max-width:480px){ .pillars{grid-template-columns:1fr} .pillars div:last-child{grid-column:auto} }

  /* ---------- brand statement ---------- */
  .statement{
    position:relative;min-height:clamp(420px,62vh,640px);
    display:flex;align-items:center;justify-content:center;text-align:center;
    padding:clamp(48px,7vw,90px) clamp(18px,4vw,56px);overflow:hidden;
  }
  .statement img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
  .statement::after{
    content:"";position:absolute;inset:0;z-index:1;
    background:linear-gradient(rgba(28,16,16,.56),rgba(28,16,16,.7));
  }
  /* contrast floor: a local halo that travels with the text, so legibility
     stops depending on how bright the photograph is behind it */
  .statement .in-st::before{
    content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
    width:170%;height:150%;z-index:-1;pointer-events:none;border-radius:50%;
    background:radial-gradient(closest-side,
      rgba(26,13,12,.66) 0%, rgba(26,13,12,.44) 55%, rgba(26,13,12,0) 100%);
  }
  .statement .ghost{
    position:absolute;left:2%;top:6%;z-index:1;
    font-size:clamp(3.4rem,9vw,8rem);font-weight:900;letter-spacing:-.05em;line-height:1;
    color:rgba(255,255,255,.07);white-space:nowrap;pointer-events:none;user-select:none;
  }
  .statement .in-st{position:relative;z-index:2;max-width:640px}
  .statement p{
    margin:0;color:#fff;font-size:clamp(1.35rem,2.7vw,2.15rem);font-weight:700;
    letter-spacing:-.035em;line-height:1.42;
  }
  .statement p span{display:block}
  .statement em{font-style:normal;color:var(--coral)}
  .statement .sig{
    margin:22px 0 0;font-size:11px;font-weight:800;letter-spacing:.28em;text-transform:uppercase;
    color:var(--rose);
  }
  @media (max-width:760px){
    .statement{min-height:clamp(300px,46vh,420px);padding:clamp(36px,6vw,60px) 20px}
    .statement img{object-position:60% 30%}
    .statement .ghost{font-size:clamp(2.4rem,13vw,4rem);top:4%}
  }
  @media (prefers-reduced-motion:no-preference){
    .statement p span{
      clip-path:inset(0 0 110% 0);transform:translateY(.4em);
      transition:clip-path .9s cubic-bezier(.22,.61,.36,1),transform .9s cubic-bezier(.22,.61,.36,1);
    }
    .statement p span:nth-child(2){transition-delay:.15s}
    .statement p span:nth-child(3){transition-delay:.3s}
    .statement .in-st.rv.in p span{clip-path:inset(0 0 -20% 0);transform:none}
  }

  /* ---------- overview: running copy with a sticky photo ---------- */
  .over-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(24px,4vw,60px);align-items:start}
  .over-copy h3{margin:34px 0 0;font-size:clamp(1.1rem,1.7vw,1.35rem);font-weight:800;letter-spacing:-.025em}
  .over-copy p{margin:13px 0 0;font-size:15px;line-height:1.85;color:#4E4548;max-width:66ch}
  .over-copy p:first-child{margin-top:0}
  .over-photo{position:sticky;top:96px;margin:0;border-radius:22px;overflow:hidden;
    box-shadow:0 14px 40px rgba(140,90,80,.2)}
  /* the source photo carries a baked-in dark mat; the slight zoom crops it out
     so the card is the only frame */
  .over-photo .ph{display:block;overflow:hidden}
  .over-photo img{width:100%;height:auto;display:block;transform:scale(1.12)}
  .over-photo figcaption{
    padding:12px 16px;background:#FFFDFC;border-top:1px solid var(--peach-2);
    font-size:12.5px;color:var(--ink-55);
  }
  @media (max-width:900px){
    .over-grid{grid-template-columns:1fr}
    .over-photo{position:static;order:-1;max-width:560px}
  }

  /* ---------- cards / grids ---------- */
  .pcard{
    position:relative;background:#FFFDFC;border:1px solid var(--peach-2);border-radius:18px;
    padding:22px;overflow:hidden;
    transition:transform .3s var(--ease),box-shadow .3s var(--ease);
  }
  .pcard::before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:var(--bartint,linear-gradient(90deg,#E9918E,#C9A8E8))}
  .pcard:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(140,90,80,.16)}
  .pcard h3{margin:6px 0 0;font-size:1.2rem;font-weight:900;letter-spacing:-.02em}
  .pcard > p{margin:10px 0 0;font-size:14px;line-height:1.75;color:var(--ink-55)}
  .tools{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,1.6vw,20px)}
  @media (max-width:900px){ .tools{grid-template-columns:1fr} }

  /* science blocks */
  .sci{margin:0 0 clamp(36px,5vw,56px)}
  .sci:last-child{margin-bottom:0}
  .sci-h{margin:0 0 20px;font-size:clamp(1.15rem,1.8vw,1.45rem);font-weight:800;letter-spacing:-.025em}
  .sci-top{display:grid;grid-template-columns:1fr;gap:clamp(16px,2.4vw,36px);align-items:center;margin-bottom:26px}
  .sci-anatomy{margin:0;background:#fff;border:1px solid var(--peach-2);border-radius:20px;overflow:hidden}
  .sci-anatomy img{width:100%;height:auto;display:block;background:var(--peach-0)}
  .sci-anatomy figcaption{
    font-size:12.5px;color:#A85E63;font-weight:600;text-align:center;padding:10px 14px;
    background:var(--peach-1);
  }
  .sci-intro p{font-size:15px;line-height:1.8;color:#4E4548;margin:0 0 16px}
  .sci-label{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);margin:2px 0 12px}
  .sci-tag{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#A85E63;margin-bottom:10px}
  .sci-causes{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .sci-cause{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--peach-2);border-radius:14px;padding:8px 12px}
  .sci-cause img{width:42px;height:42px;flex:none;border-radius:10px;object-fit:cover}
  .sci-cause span{font-size:13.5px;font-weight:700;line-height:1.2}
  .sci-panel{background:#fff;border:1px solid var(--peach-2);border-radius:20px;padding:22px}
  .sci-panel > p{font-size:15px;line-height:1.8;color:#4E4548;margin:0 0 18px}
  .sci-cards{display:grid;grid-template-columns:1fr;gap:14px}
  .sci-card{margin:0;display:flex;align-items:stretch;min-height:118px;background:var(--peach-0);border:1px solid var(--peach-2);border-radius:16px;overflow:hidden}
  .sci-card img{width:132px;flex:none;object-fit:cover;object-position:50% 36%;display:block}
  .sci-cap{display:flex;flex-direction:column;justify-content:center;gap:4px;padding:14px 16px}
  .sci-cap strong{font-size:14.5px}
  .sci-cap span{font-size:13px;color:var(--ink-55);line-height:1.55}
  .sci-syms{display:grid;grid-template-columns:1fr;gap:14px;margin-bottom:26px}
  .sci-sym{margin:0;background:#fff;border:1px solid var(--peach-2);border-radius:16px;overflow:hidden}
  .sci-sym img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block}
  .sci-sym figcaption{font-size:13.5px;font-weight:700;text-align:center;padding:12px 10px}
  .sci-duo{display:grid;grid-template-columns:1fr;background:var(--peach-0);border:1px solid var(--peach-2);border-radius:20px;overflow:hidden}
  .sci-duo-img{margin:0}
  .sci-duo-img img{width:100%;height:100%;min-height:210px;object-fit:cover;object-position:50% 38%;display:block}
  .sci-duo-body{padding:22px}
  .sci-duo-body p{font-size:15px;line-height:1.8;color:#4E4548;margin:0}
  @media (min-width:760px){
    .sci-top{grid-template-columns:.82fr 1.18fr;margin-bottom:32px}
    .sci-top.rev{grid-template-columns:1.18fr .82fr}
    .sci-top.rev .sci-intro{order:1}
    .sci-top.rev .sci-anatomy{order:2}
    .sci-cards{grid-template-columns:1fr 1fr;gap:16px}
    .sci-syms{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:30px}
    .sci-duo{grid-template-columns:.82fr 1.18fr;align-items:stretch}
  }

  .pullq{
    margin:clamp(24px,3vw,38px) auto;max-width:70ch;text-align:center;
    padding:clamp(22px,3vw,34px);background:#FFFDFC;border:1px solid var(--peach-2);border-radius:20px;
  }
  .pullq p{margin:0;font-size:clamp(1.02rem,1.5vw,1.25rem);line-height:1.7;font-weight:500}

  /* ---------- steps ---------- */
  .steps{list-style:none;margin:0;padding:0;counter-reset:s}
  .steps li{
    display:grid;grid-template-columns:64px 220px 1fr;gap:clamp(16px,2.4vw,32px);align-items:center;
    padding:clamp(16px,2vw,24px) 0;border-bottom:1px dashed var(--peach-3);
  }
  .steps li:first-child{border-top:1px dashed var(--peach-3)}
  .steps .n{
    font-size:clamp(1.2rem,2vw,1.7rem);font-weight:900;letter-spacing:-.04em;color:var(--rose);
  }
  .steps figure{margin:0;border-radius:14px;overflow:hidden;aspect-ratio:4/3;background:var(--peach-1)}
  .steps figure img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s var(--slow)}
  .steps li:hover figure img{transform:scale(1.06)}
  .steps h3{margin:0;font-size:clamp(1.02rem,1.5vw,1.25rem);font-weight:800;letter-spacing:-.025em}
  .steps p{margin:7px 0 0;font-size:14.5px;line-height:1.75;color:var(--ink-55);max-width:60ch}
  .steps ul{margin:10px 0 0;padding:0;list-style:none}
  .steps ul li{
    display:block;grid-template-columns:none;border:0;padding:4px 0 4px 22px;position:relative;
    font-size:13.5px;line-height:1.7;color:var(--ink-55);
  }
  .steps ul li::before{
    content:"\2713";position:absolute;left:0;top:4px;color:#2E9E6B;font-weight:700;
  }
  .steps ul li strong{color:var(--ink);font-weight:700}
  @media (max-width:860px){
    .steps li{grid-template-columns:44px 1fr;grid-template-areas:"n tx" "fig fig";gap:10px 14px}
    .steps .n{grid-area:n;align-self:start}
    .steps .tx{grid-area:tx}
    .steps figure{grid-area:fig;aspect-ratio:16/9;margin-top:4px}
  }

  /* ---------- candidates ---------- */
  .cands{display:grid;grid-template-columns:1fr 1fr;gap:clamp(12px,1.6vw,18px)}
  .cand{background:#FFFDFC;border:1px solid var(--peach-2);border-radius:18px;padding:24px 26px}
  .cand h3{margin:0 0 14px;font-size:1.05rem;font-weight:900;letter-spacing:-.02em;display:flex;align-items:center;gap:9px}
  .cand h3 i{font-size:19px}
  .cand.yes h3 i{color:#2E9E6B}
  .cand.no h3 i{color:var(--red)}
  .cand ul{margin:0;padding:0;list-style:none}
  .cand li{
    position:relative;padding:7px 0 7px 26px;font-size:14px;line-height:1.65;color:#4E4548;
    border-bottom:1px dashed var(--peach-2);
  }
  .cand li:last-child{border-bottom:0}
  .cand.yes li::before{content:"\2713";position:absolute;left:2px;top:7px;color:#2E9E6B;font-weight:700}
  .cand.no li::before{content:"\00d7";position:absolute;left:3px;top:6px;color:var(--red);font-weight:700}
  @media (max-width:760px){ .cands{grid-template-columns:1fr} }

  /* ---------- aftercare ---------- */
  .phases{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(12px,1.6vw,18px)}
  .phase{
    background:#FFFDFC;border:1px solid var(--peach-2);border-radius:18px;padding:22px;
    transition:transform .3s var(--ease),box-shadow .3s var(--ease);
  }
  .phase:hover{transform:translateY(-4px);box-shadow:0 14px 32px rgba(140,90,80,.14)}
  .phase .when{
    display:inline-block;background:var(--peach-1);color:#A85E63;border-radius:50px;
    padding:5px 12px;font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  }
  .phase h3{margin:12px 0 0;font-size:1rem;font-weight:800;letter-spacing:-.02em}
  .phase p{margin:9px 0 0;font-size:13.5px;line-height:1.75;color:var(--ink-55)}
  @media (max-width:1000px){ .phases{grid-template-columns:1fr 1fr} }
  @media (max-width:560px){ .phases{grid-template-columns:1fr} }
  .products{margin-top:clamp(26px,3.4vw,40px)}
  .products h3{margin:0 0 16px;text-align:center;font-size:1.05rem;font-weight:800;letter-spacing:-.02em}
  .prodrow{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--peach-2);
    border:1px solid var(--peach-2);border-radius:18px;overflow:hidden}
  .prodrow div{background:#FFFDFC;padding:20px 22px}
  .prodrow h4{margin:0;font-size:14.5px;font-weight:800}
  .prodrow p{margin:7px 0 0;font-size:13px;line-height:1.7;color:var(--ink-55)}
  @media (max-width:760px){ .prodrow{grid-template-columns:1fr} }

  /* ---------- benefits (why) ---------- */
  .probs{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(12px,1.6vw,18px)}
  .prob{
    display:flex;flex-direction:column;background:#FFFDFC;border:1px solid var(--peach-2);
    border-radius:18px;padding:22px;
    transition:transform .34s var(--ease),box-shadow .34s var(--ease);
  }
  .prob:hover{transform:translateY(-5px);box-shadow:0 16px 36px rgba(140,90,80,.16)}
  .prob i{
    width:46px;height:46px;border-radius:14px;background:var(--peach-1);color:var(--red);
    display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:14px;
  }
  .prob h3{margin:0;font-size:1rem;font-weight:800;letter-spacing:-.025em;line-height:1.35}
  .prob p{margin:9px 0 0;font-size:13.5px;line-height:1.7;color:var(--ink-55);flex:1}
  @media (max-width:1100px){ .probs{grid-template-columns:1fr 1fr} }
  @media (max-width:560px){ .probs{grid-template-columns:1fr} }

  /* ---------- reviews ---------- */
  .seal{
    width:96px;height:96px;border-radius:50%;margin:0 auto 20px;
    background:#fff;border:2px solid var(--peach-3);
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    box-shadow:0 6px 22px rgba(140,90,80,.14);
  }
  .seal .g{color:#F0A83C;font-size:11px;letter-spacing:.04em}
  .seal .n{font-size:1.6rem;font-weight:800;letter-spacing:-.04em;line-height:1;margin-top:2px}
  .seal .l{font-size:8.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-55);margin-top:3px}
  .stats{
    display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--peach-2);
    border:1px solid var(--peach-2);border-radius:20px;overflow:hidden;
  }
  .stats div{background:#FFFDFC;padding:26px 18px;text-align:center;transition:transform .34s var(--ease),box-shadow .34s var(--ease)}
  .stats b{display:block;font-size:clamp(1.8rem,3.4vw,2.6rem);font-weight:900;letter-spacing:-.045em;line-height:1;color:var(--ink)}
  .stats span{display:block;margin-top:8px;font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-55)}
  @media (max-width:700px){ .stats{grid-template-columns:1fr 1fr} }
  .quotes{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(12px,1.6vw,18px)}
  .quotes blockquote{
    margin:0;background:#FFFDFC;border:1px solid var(--peach-2);border-radius:18px;
    padding:30px 26px 24px;position:relative;
    transition:transform .34s var(--ease),box-shadow .34s var(--ease);
  }
  .quotes blockquote::after{
    content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.9), inset 0 -1px 0 rgba(140,90,80,.16);
  }
  .quotes blockquote:nth-child(even){background:var(--peach-0)}
  .quotes blockquote::before{
    content:"C";position:absolute;top:-6px;left:20px;
    font-size:64px;font-weight:900;line-height:1;color:var(--rose);opacity:.3;pointer-events:none;
  }
  .quotes .qs{display:flex;gap:2px;margin-bottom:11px}
  .quotes .qs i{color:#F0A83C;font-size:12px}
  .quotes p{margin:0;font-size:15px;line-height:1.75}
  .quotes footer{margin-top:13px;font-size:13px;font-weight:700;color:var(--ink)}
  .quotes footer span{font-weight:500;color:var(--ink-55)}
  @media (max-width:760px){ .quotes{grid-template-columns:1fr} }

  .seemore{display:flex;justify-content:center;margin-top:30px}
  .btn-pill{
    display:inline-flex;align-items:center;gap:9px;height:52px;padding:0 30px;border-radius:50px;
    background:var(--ink);color:#fff;text-decoration:none;font-size:14.5px;font-weight:700;
    transition:transform .2s var(--ease),background .2s var(--ease);
  }
  .btn-pill:hover{transform:translateY(-2px)}
  .btn-pill.ghost{background:#fff;color:var(--ink);border:1px solid var(--peach-3)}
  .btn-pill.ghost:hover{background:var(--peach-0)}
  .btn-pill.coral{background:var(--red)}
  .btn-pill:focus-visible{outline:3px solid rgba(233,145,142,.55);outline-offset:3px}

  /* ---------- pricing ---------- */
  .pricemenu{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,1.6vw,20px)}
  .prow{display:flex;align-items:baseline;gap:8px;padding:10px 0}
  .pn{font-size:14px;font-weight:600;min-width:0;order:1}
  .pn small{display:block;font-size:11.5px;font-weight:400;color:var(--ink-55)}
  .prow::before{content:"";order:2;flex:1;border-bottom:2px dotted var(--peach-3);transform:translateY(-4px);min-width:14px}
  .pv{order:3;font-size:1.15rem;font-weight:900;letter-spacing:-.02em;color:var(--red);white-space:nowrap}
  .pv i{font-style:normal;font-size:10px;font-weight:700;color:var(--ink-55);margin-left:3px;text-transform:uppercase;letter-spacing:.06em}
  .pnote{margin:5px 0 12px;font-size:12px;color:var(--ink-55)}
  .pnote b{color:#A85E63}
  .incl{margin:0;padding:0;list-style:none}
  .incl li{display:grid;grid-template-columns:44px 1fr;gap:14px;padding:11px 0;border-bottom:1px dashed var(--peach-2);align-items:center}
  .incl li:last-child{border-bottom:0}
  .incl img{width:40px;height:40px}
  .incl strong{display:block;font-size:14px;font-weight:700}
  .incl span{font-size:12.5px;color:var(--ink-55)}
  @media (max-width:900px){ .pricemenu{grid-template-columns:1fr} }

  /* consultation ticket */
  .tkt-wrap{
    grid-column:1 / -1;display:block;width:min(560px,100%);margin:10px auto 0;
    text-decoration:none;color:var(--ink);position:relative;isolation:isolate;
    --start:120;
  }
  .tkt{
    display:flex;gap:0;
    transform:translate(var(--magx,0px),var(--magy,0px));
    filter:drop-shadow(0 22px 40px rgba(140,60,50,.2)) drop-shadow(0 4px 10px rgba(140,60,50,.08));
    transition:gap .55s cubic-bezier(.34,1.56,.64,1),transform .35s var(--ease);
  }
  .tkt-wrap:hover .tkt{gap:20px;transform:translate(var(--magx,0px),var(--magy,0px)) translateY(-5px) rotate(-.6deg)}
  .tkt-wrap[data-leaving] .tkt{transition:gap .55s cubic-bezier(.34,1.56,.64,1),transform .7s cubic-bezier(.2,1.8,.4,1)}
  .tkt-wrap:focus-visible{outline:3px solid var(--rose);outline-offset:6px;border-radius:24px}
  .tkt-main{
    position:relative;flex:1;min-width:0;background:#FFFDF9;
    padding:clamp(18px,3vw,26px);border-radius:20px 26px 26px 20px;
  }
  .tkt-head{
    display:flex;justify-content:space-between;gap:10px;
    font-size:10px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:#A89A94;
  }
  .tkt-serial{color:var(--red)}
  .tkt-body h3{
    margin:14px 0 6px;font-size:clamp(1.6rem,3.4vw,2.3rem);font-weight:900;
    letter-spacing:-.03em;line-height:.98;
  }
  .tkt-body p{margin:0;font-size:12.5px;letter-spacing:.06em;color:var(--ink-55)}
  .tkt-foot{
    display:flex;gap:clamp(18px,3.5vw,38px);margin-top:16px;padding-top:13px;
    border-top:1px solid rgba(42,42,42,.1);
  }
  .tkt-foot div{display:flex;flex-direction:column;gap:3px}
  .tkt-foot .k{font-size:9px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#A89A94}
  .tkt-foot .v{font-size:13.5px;font-weight:800}
  .tkt-perf{
    position:absolute;right:-2px;top:32px;bottom:32px;width:4px;
    background-image:linear-gradient(to bottom,transparent 50%,rgba(42,42,42,.22) 50%);
    background-size:100% 12px;transition:opacity .3s var(--ease);
  }
  .tkt-wrap:hover .tkt-perf{opacity:0}
  .tkt-stub{
    width:clamp(96px,22vw,132px);flex:none;background:#FFFDF9;
    border-radius:26px 20px 20px 26px;
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;
    padding:20px 0;
  }
  .tkt-seal{
    width:44px;height:44px;border-radius:50%;
    background:linear-gradient(135deg,#F6C3CB,#FFF3F0 35%,#C9A8E8 60%,#F6C3CB);
    background-size:220% 220%;box-shadow:0 4px 12px rgba(140,60,50,.2);
  }
  @media (prefers-reduced-motion:no-preference){
    .tkt-seal{animation:seal-sheen 3.2s linear infinite}
    @keyframes seal-sheen{from{background-position:200% 0}to{background-position:-120% 0}}
  }
  .tkt-code{
    width:36px;height:78px;opacity:.85;
    background:repeating-linear-gradient(90deg,var(--ink),var(--ink) 2px,transparent 2px,transparent 4px,var(--ink) 4px,var(--ink) 5px,transparent 5px,transparent 8px);
  }
  .tkt-vip{
    font-size:10.5px;font-weight:800;letter-spacing:.3em;color:var(--red);
    writing-mode:vertical-rl;transform:rotate(180deg);
  }
  @media (hover:hover) and (prefers-reduced-motion:no-preference){
    .tkt-wrap::after{
      content:"";position:absolute;inset:-10px;z-index:-1;border-radius:30px;pointer-events:none;
      background:conic-gradient(from calc(var(--start) * 1deg),
        rgba(255,122,122,.0), rgba(255,122,122,.55), rgba(201,168,232,.55), rgba(255,181,32,.4), rgba(255,122,122,.0) 40%);
      filter:blur(18px);opacity:0;transition:opacity .4s var(--ease);
    }
    .tkt-wrap:hover::after{opacity:1}
  }
  @media (hover:none){
    .tkt-main,.tkt-stub{transition:transform .65s cubic-bezier(.34,1.56,.64,1)}
    .tkt-wrap[data-torn] .tkt-main{transform:rotate(-1.1deg) translateY(-2px)}
    .tkt-wrap[data-torn] .tkt-stub{transform:translateX(16px) translateY(4px) rotate(4deg)}
    .tkt-wrap[data-torn] .tkt-perf{opacity:0}
  }
  @media (max-width:480px){
    .tkt-foot{gap:14px}
    .tkt-body h3{font-size:1.45rem}
  }

  /* ---------- faq ---------- */
  .faq{max-width:880px;margin:0 auto}
  .faq details{
    background:#fff;border:1px solid var(--peach-2);border-radius:16px;margin-bottom:10px;
    overflow:hidden;
    transition:transform .34s var(--ease),box-shadow .34s var(--ease);
  }
  .faq details[open]{border-color:var(--peach-3);box-shadow:0 6px 20px rgba(140,90,80,.1)}
  .faq summary{
    list-style:none;cursor:pointer;padding:19px 22px;
    display:flex;align-items:center;justify-content:space-between;gap:18px;
    font-size:15.5px;font-weight:700;letter-spacing:-.01em;
  }
  .faq summary::-webkit-details-marker{display:none}
  .faq summary::after{
    content:"+";flex:none;width:28px;height:28px;border-radius:50%;background:var(--peach-1);
    color:var(--red);display:flex;align-items:center;justify-content:center;
    font-size:17px;font-weight:700;transition:transform .3s var(--ease),background .3s var(--ease);
  }
  .faq details[open] summary::after{transform:rotate(45deg);background:var(--red);color:#fff}
  .faq summary:focus-visible{outline:3px solid rgba(233,145,142,.55);outline-offset:-3px}
  .faq .ans{padding:0 22px 20px;font-size:14.5px;line-height:1.8;color:var(--ink-55)}
  .faq .ans b{color:var(--ink)}

  /* ---------- posts (related) ---------- */
  .posts{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,1.6vw,20px)}
  .post{
    display:flex;flex-direction:column;background:#FFFDFC;border:1px solid var(--peach-2);
    border-radius:18px;overflow:hidden;text-decoration:none;color:inherit;
    transition:transform .34s var(--ease),box-shadow .34s var(--ease);
  }
  .post:hover{transform:translateY(-5px);box-shadow:0 16px 36px rgba(140,90,80,.16)}
  .post:focus-visible{outline:3px solid var(--rose);outline-offset:3px}
  .post img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}
  .post .b{padding:18px 20px 20px;display:flex;flex-direction:column;flex:1}
  .post .tag{
    align-self:flex-start;background:var(--peach-1);color:#A85E63;border-radius:50px;
    padding:4px 11px;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  }
  .post h3{margin:11px 0 0;font-size:1.02rem;font-weight:800;letter-spacing:-.025em;line-height:1.35}
  .post p{margin:8px 0 0;font-size:13.5px;line-height:1.65;color:var(--ink-55);flex:1}
  .post .go{margin-top:14px;font-size:12.5px;font-weight:800;color:var(--red)}
  @media (max-width:860px){ .posts{grid-template-columns:1fr 1fr} }
  @media (max-width:520px){ .posts{grid-template-columns:1fr} }
  .readlist{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:clamp(22px,3vw,32px)}

  /* ---------- visit / aurora finale ---------- */
  .sec.aurora{position:relative;overflow:clip}
  .sec.aurora::before,.sec.aurora::after{
    content:"";position:absolute;inset:-30%;z-index:0;filter:blur(60px);pointer-events:none;
  }
  .sec.aurora::before{
    background:
      radial-gradient(38% 34% at 24% 32%, rgba(255,122,122,.4) 0%, transparent 70%),
      radial-gradient(34% 32% at 78% 24%, rgba(201,168,232,.42) 0%, transparent 70%);
  }
  .sec.aurora::after{
    background:
      radial-gradient(36% 30% at 68% 74%, rgba(255,181,32,.26) 0%, transparent 70%),
      radial-gradient(30% 28% at 22% 78%, rgba(233,145,142,.35) 0%, transparent 70%);
  }
  @media (prefers-reduced-motion:no-preference){
    .sec.aurora::before{animation:aur1 16s ease-in-out infinite alternate}
    .sec.aurora::after{animation:aur2 19s ease-in-out infinite alternate}
    @keyframes aur1{from{transform:translate(0,0) rotate(0)}to{transform:translate(6%,4%) rotate(8deg)}}
    @keyframes aur2{from{transform:translate(0,0) rotate(0)}to{transform:translate(-5%,-4%) rotate(-9deg)}}
  }
  .sec.aurora .wrap{position:relative;z-index:1}
  .visit{display:grid;grid-template-columns:1.12fr .88fr;gap:clamp(22px,3.4vw,50px);align-items:center;
    background:rgba(255,253,252,.82);border:1px solid rgba(255,255,255,.9);
    border-radius:24px;padding:clamp(20px,3vw,36px);
    backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
  @media (prefers-reduced-transparency:reduce){ .visit{background:#FFFDFC;backdrop-filter:none} }
  .trio{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--peach-2);
    border:1px solid var(--peach-2);border-radius:20px;overflow:hidden}
  .trio > div{background:#FFFDFC;padding:clamp(22px,3vw,34px);transition:transform .34s var(--ease),box-shadow .34s var(--ease)}
  .trio h3{
    margin:0 0 14px;font-size:11.5px;font-weight:800;letter-spacing:.24em;text-transform:uppercase;
    color:var(--rose);
  }
  .trio p{margin:0;font-size:15.5px;font-weight:600;line-height:1.65}
  .trio p + p{margin-top:8px}
  .trio small{display:block;font-size:13px;font-weight:400;color:var(--ink-55);margin-top:5px;line-height:1.6}
  .trio a{color:var(--ink);text-decoration:none}
  .trio a:hover{color:var(--red)}
  .trio .big{font-size:clamp(1.2rem,2vw,1.55rem);font-weight:900;letter-spacing:-.03em}
  /* Inside .visit the trio is three columns of a half-width container, which squeezed the
     phone number onto three lines (it breaks at the space AND after the hyphen). Give the
     content column more room, trim the cell padding, and keep the number on one line. */
  .visit .trio > div{padding:clamp(16px,1.7vw,24px)}
  .visit .trio .big{font-size:clamp(1.05rem,1.45vw,1.35rem)}
  .trio .big a,.trio .big{white-space:nowrap}
  @media (max-width:820px){ .trio{grid-template-columns:1fr} }
  .visit .acts{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
  .visit .photo{border-radius:20px;overflow:hidden;box-shadow:0 10px 34px rgba(140,90,80,.16);aspect-ratio:4/3}
  .visit .photo img{width:100%;height:100%;object-fit:cover;display:block}
  @media (max-width:860px){ .visit{grid-template-columns:1fr} .visit .photo{order:-1} }

  /* ---------- footer ---------- */
  .foot{background:#151113;color:rgba(255,255,255,.72);padding:clamp(40px,5vw,64px) clamp(18px,4vw,56px) calc(clamp(28px,3vw,40px) + var(--safe))}
  .foot .wrap{display:flex;flex-wrap:wrap;gap:28px;justify-content:space-between;align-items:flex-start}
  .foot .logo{font-size:19px}
  .foot p{margin:12px 0 0;font-size:13px;line-height:1.8;max-width:38ch}
  .foot nav{display:flex;flex-wrap:wrap;gap:10px 26px}
  .foot nav a{color:rgba(255,255,255,.72);text-decoration:none;font-size:13.5px}
  .foot nav a:hover{color:#fff}
  .foot .sitelinks{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:14px}
  .foot .sitelinks a{font-size:12.5px;color:var(--ink-55);text-decoration:none}
  .foot .sitelinks a{color:rgba(255,255,255,.6)}
  .foot .sitelinks a:hover{color:#fff}
  .foot .legal{
    margin-top:30px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);
    font-size:11.5px;line-height:1.8;color:rgba(255,255,255,.5);max-width:80ch;
  }
  @media (max-width:1000px){ .foot{padding-bottom:calc(var(--bar) + var(--safe) + 28px)} }

  /* ---------- hover lifts + CTA squish + badge wipe ---------- */
  .quotes blockquote,.faq details,.stats div,.trio > div,.phase,.prob,.post,.pcard,.cand{
    transition:transform .34s var(--ease),box-shadow .34s var(--ease);
  }
  @media (hover:hover){
    .quotes blockquote:hover,.faq details:hover,.stats div:hover{
      transform:translateY(-4px);box-shadow:0 14px 32px rgba(140,90,80,.16);
    }
  }
  @media (hover:hover) and (prefers-reduced-motion:no-preference){
    .btn-pill:hover,.pill.book:hover,.bookpill:hover{
      animation:sqz .3s cubic-bezier(.68,-.55,.27,1.55) both;
    }
    @keyframes sqz{
      0%{transform:scale(1.06,.9) translateY(-1px)}
      60%{transform:scale(.97,1.03) translateY(-2px)}
      100%{transform:scale(1) translateY(-2px)}
    }
    .btn-pill:active,.pill.book:active{animation:none;transform:scale(.95,.92)}
  }
  .btn-pill:not(.ghost),.bookpill:not(.ghosted),.pill.book{position:relative;overflow:hidden;isolation:isolate}
  .btn-pill:not(.ghost)::before,.bookpill:not(.ghosted)::before,.pill.book::before{
    content:"";position:absolute;z-index:-1;border-radius:50px;
    transition:
      width 1.1s linear(0,.029 .8%,.13 1.8%,.908 7.2%,1.051 9.1%,1.112 11.2%,1.116 12.2%,1.106 13.4%,1.007 19.5%,.987 23.1%,1.001 35%,1),
      height .3s var(--ease),left .3s var(--ease),top .3s var(--ease);
  }
  .btn-pill:not(.ghost)::before{width:38px;height:38px;top:7px;left:18px;background:var(--red)}
  .btn-pill.coral::before{background:var(--ink)}
  .bookpill:not(.ghosted)::before{width:32px;height:32px;top:8px;left:15px;background:var(--peach-2)}
  .pill.book::before{width:30px;height:30px;top:6px;left:10px;background:var(--red)}
  @media (hover:hover){
    .btn-pill:not(.ghost):hover::before,.bookpill:not(.ghosted):hover::before,.pill.book:hover::before{
      width:100%;height:100%;top:0;left:0;
    }
  }
  @media (prefers-reduced-motion:reduce){
    .btn-pill:not(.ghost)::before,.bookpill:not(.ghosted)::before,.pill.book::before{transition:none}
  }
  @media (prefers-reduced-motion:no-preference){
    .pill.book{animation:bookbeat 5s ease-out infinite}
    @keyframes bookbeat{
      0%,72%{box-shadow:0 0 0 0 rgba(211,22,26,0)}
      78%{box-shadow:0 0 0 0 rgba(211,22,26,.38)}
      100%{box-shadow:0 0 0 13px rgba(211,22,26,0)}
    }
    @media (hover:none){
      .btn-pill:active,.bookpill:active,.pill.book:active{
        transform:scale(.96);transition:transform .12s var(--ease);
      }
    }
  }

/* ---------- prose (legal pages, long-form reading) ---------- */
.prose{max-width:72ch;margin:0 auto}
.prose h2{font-size:clamp(1.3rem,2.2vw,1.7rem);font-weight:800;letter-spacing:-.025em;margin:38px 0 0}
.prose h3{font-size:1.1rem;font-weight:800;letter-spacing:-.02em;margin:26px 0 0}
.prose p,.prose li{font-size:15px;line-height:1.85;color:#4E4548}
.prose p{margin:13px 0 0}
.prose ul,.prose ol{margin:12px 0 0;padding-left:22px}
.prose li{margin:6px 0 0}
.prose a{color:var(--red);text-decoration:none}
.prose a:hover{text-decoration:underline}
.prose strong{color:var(--ink)}

/* =====================================================================================
   GRAND CAYMAN LAYER
   Everything below is new for cayman.bwclinic.ca. Same tokens, same grammar as above.
   ===================================================================================== */

/* ---------- icons: Phosphor paths in one SVG sprite, sized by font-size like the icon font was ---------- */
i.ic{display:inline-flex;align-items:center;justify-content:center;width:1em;height:1em;flex:none;line-height:1;font-style:normal}
i.ic svg{width:100%;height:100%;fill:currentColor;display:block}

/* ---------- header: wordmark + the location line ---------- */
.head{position:relative}
.brand{max-width:none}
.loc{
  margin:0;display:flex;align-items:center;gap:7px;white-space:nowrap;
  font-size:10px;font-weight:800;letter-spacing:.26em;text-transform:uppercase;color:#A85E63;
}
.loc i{width:14px;height:1px;background:currentColor;opacity:.5;display:inline-block}
.head .right{gap:12px}
.where{
  display:flex;align-items:center;gap:7px;white-space:nowrap;
  font-size:12.5px;font-weight:600;color:var(--ink-55);text-decoration:none;
}
.where i.ic{font-size:16px;color:var(--red)}
.where:hover{color:var(--ink)}
.pill.book span{display:inline!important}
.pill[aria-current="page"]{border-color:var(--rose);box-shadow:0 0 0 2px rgba(233,145,142,.35)}
@media (max-width:1180px){ .where span{display:none} .where{width:42px;height:42px;justify-content:center;border-radius:50%;background:var(--w);border:1px solid rgba(42,42,42,.07)} }
@media (max-width:700px){ .pill.tr{display:none} .head .right{display:none} }
@media (max-width:470px){ .loc{font-size:9px;letter-spacing:.2em} .pill.book{padding:0 16px} }
@media (max-width:345px){ .pill.book span{display:none!important} }

/* ---------- ticker: no hours here, just the facts that are settled ---------- */
.tick-run span i.ic{font-size:12px;vertical-align:-1px;margin-right:6px;color:#fff}

/* ---------- home: intro band above the gateway ---------- */
.intro{
  text-align:center;padding:clamp(26px,4vw,48px) clamp(18px,4vw,56px) clamp(22px,3vw,36px);
  background:linear-gradient(var(--peach-1),var(--peach-0));
}
.intro .kicker{
  display:inline-flex;align-items:center;gap:8px;margin:0 0 14px;padding:7px 16px;border-radius:50px;
  background:#fff;color:#A85E63;border:1px solid var(--peach-2);
  font-size:10.5px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;
}
.intro .kicker i.ic{font-size:14px;color:var(--red)}
.intro h1{
  margin:0 auto;max-width:21ch;font-size:clamp(1.75rem,4.6vw,3.5rem);font-weight:800;
  letter-spacing:-.04em;line-height:1.1;text-wrap:balance;
}
.intro h1 em{
  font-style:normal;
  background:linear-gradient(96deg,var(--red) 0%,var(--rose) 50%,#B57BD6 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.intro .sub{margin:14px auto 0;max-width:56ch;font-size:clamp(14px,1.3vw,16px);line-height:1.7;color:var(--ink-55)}
.intro .sub b{color:var(--ink);font-weight:700}
.intro .acts{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:20px}
@media (max-width:700px){
  .intro{padding:18px 18px 16px}
  .intro .kicker{margin-bottom:10px;padding:6px 13px;font-size:10px}
  .intro h1{font-size:clamp(1.6rem,7.4vw,2.2rem)}
  .intro .sub{margin-top:9px;font-size:14px;line-height:1.55}
  .intro .sub .long{display:none}
  .intro .sub .cap{text-transform:capitalize}
  .intro .acts{display:none}
}

/* ---------- home: the two-panel gateway (Toronto's four-panel gate, cut to this location's two) ---------- */
.gate{display:flex}
/* the home hero: intro beside two portrait panels on desktop (the 9:16 art stays whole),
   intro above two side-by-side cards on phones, sized to end exactly at the bottom bar */
.home-hero{background:linear-gradient(var(--peach-1),var(--peach-0))}
@media (min-width:1001px){
  .home-hero{
    display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);align-items:center;
    gap:clamp(28px,3.4vw,60px);
    height:clamp(620px,calc(100dvh - var(--tick) - var(--head)),880px);
    padding:clamp(22px,2.6vw,40px) clamp(28px,4.4vw,72px) clamp(22px,2.6vw,40px) clamp(28px,5vw,88px);
  }
  .home-hero .intro{text-align:left;padding:0;background:none}
  .home-hero .intro h1{margin:0;max-width:13ch;font-size:clamp(2.4rem,3.9vw,4rem)}
  .home-hero .intro .sub{margin-left:0;max-width:44ch}
  .home-hero .intro .acts{justify-content:flex-start;margin-top:26px}
  .home-hero .gate{height:100%;gap:14px}
  .home-hero .gate .panel{border-radius:26px;box-shadow:0 22px 50px rgba(120,60,55,.22)}
  .home-hero .gate .panel + .panel{box-shadow:0 22px 50px rgba(120,60,55,.22)}
  .home-hero .gate .panel{justify-content:flex-end}
  .home-hero .gate .inner{padding:22px 18px 26px}
  .home-hero .gate .inner::before{
    width:160%;height:240%;top:auto;bottom:-20px;transform:translateX(-50%);border-radius:0;
    background:linear-gradient(to top, rgba(26,13,12,.86) 0%, rgba(26,13,12,.55) 50%, rgba(26,13,12,0) 100%);
  }
}
.gate .panel{
  position:relative;overflow:hidden;color:var(--w);flex:1 1 0;min-width:0;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  transition:flex-grow .6s var(--slow), opacity .4s var(--ease);
}
.gate .panel + .panel{box-shadow:-1px 0 0 rgba(255,255,255,.14)}
.gate .panel img,.gate .panel video{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 30%;
  transform:scale(1.06);
  transition:filter .6s var(--slow), transform 1.1s var(--slow), opacity .8s var(--ease);
}
.gate .panel video{opacity:1;pointer-events:none}
.gate .panel video.off{opacity:0}
.gate .panel::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(to bottom, rgba(38,20,18,.14) 0%, rgba(38,20,18,0) 34%),
    linear-gradient(to top,    rgba(38,20,18,.4) 0%, rgba(38,20,18,0) 56%);
}
.gate .panel::before{
  content:"";position:absolute;top:0;left:0;right:0;height:2px;z-index:4;
  background:linear-gradient(90deg,var(--rose),var(--lilac));
  transform:scaleX(0);transform-origin:left;transition:transform .7s var(--slow);
}
.gate .inner{position:relative;z-index:2;text-align:center;padding:20px;width:100%;max-width:520px;transition:opacity .5s var(--slow)}
.gate .inner::before{
  content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:170%;height:170%;z-index:-1;pointer-events:none;border-radius:50%;
  background:radial-gradient(closest-side,
    rgba(26,13,12,.9) 0%, rgba(26,13,12,.74) 46%, rgba(26,13,12,.4) 74%, rgba(26,13,12,0) 100%);
}
.gate .no{font-size:10px;font-weight:600;letter-spacing:.34em;color:var(--w-40)}
.gate .rule{display:block;width:22px;height:1px;background:var(--w-40);margin:11px auto}
.gate h2{margin:0;font-size:clamp(17px,1.6vw,22px);font-weight:800;letter-spacing:.12em;text-transform:uppercase;line-height:1.4}
.gate h2 a{color:var(--w);text-decoration:none;outline-offset:6px}
.gate h2 a::after{content:"";position:absolute;inset:0;z-index:1}
.gate h2 a:focus-visible{outline:3px solid var(--rose)}
.gate .tagline{margin:10px 0 0;font-size:clamp(15px,1.4vw,19px);font-weight:600;letter-spacing:-.01em;color:#FFE1DA}
.gate .spec{margin:14px 0 0;padding:0;list-style:none;display:flex;gap:5px;justify-content:center;flex-wrap:wrap}
.gate .spec li{
  font-size:9.5px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;
  color:var(--w-70);border:1px solid rgba(255,255,255,.3);border-radius:50px;padding:5px 10px;white-space:nowrap;
}
.gate .reveal{max-height:0;opacity:0;overflow:hidden;transition:max-height .6s var(--slow), opacity .45s var(--ease), margin .6s var(--slow)}
.gate .note{margin:0 auto;max-width:34ch;font-size:13px;line-height:1.7;color:rgba(255,255,255,.86)}
.gate .disc{margin:12px 0 0;font-size:10.5px;line-height:1.5;color:rgba(255,255,255,.6)}
.gate .bookpill{margin-top:16px}
.gate .go{display:none}
@media (hover:hover) and (min-width:1001px){
  .gate .panel:hover,.gate .panel:focus-within{flex-grow:1.5}
  .gate:has(.panel:hover) .panel:not(:hover) img,
  .gate:has(.panel:hover) .panel:not(:hover) video{filter:brightness(.75) saturate(.85)}
  .gate:has(.panel:hover) .panel:not(:hover) .inner{opacity:.55}
}
.gate .panel:hover img,.gate .panel:focus-within img,
.gate .panel:hover video,.gate .panel:focus-within video{transform:scale(1)}
.gate .panel:hover::before,.gate .panel:focus-within::before{transform:scaleX(1)}
.gate .panel:hover .reveal,.gate .panel:focus-within .reveal{max-height:320px;opacity:1;margin-top:16px}
/* without hover (touch tablets, keyboard-less laptops) the details simply show */
@media (hover:none) and (min-width:1001px){ .gate .reveal{max-height:none;opacity:1;margin-top:16px} }
@media (max-width:1000px){
  .home-hero{
    display:flex;flex-direction:column;
    height:calc(100svh - var(--tick) - var(--head) - var(--bar) - var(--safe));
    min-height:540px;max-height:960px;
  }
  .gate{
    flex:1 1 auto;min-height:290px;
    display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 8px 8px;
  }
  .gate .panel{border-radius:16px;justify-content:flex-end;box-shadow:0 5px 16px rgba(120,60,55,.15)}
  .gate .panel + .panel{box-shadow:0 5px 16px rgba(120,60,55,.15)}
  .gate .panel img,.gate .panel video{transform:none}
  .gate .panel::before{transform:scaleX(1)}
  .gate .inner{padding:12px 10px 14px}
  .gate .inner::before{
    width:150%;height:210%;top:auto;bottom:-14px;transform:translateX(-50%);border-radius:0;
    background:linear-gradient(to top, rgba(26,13,12,.82) 0%, rgba(26,13,12,.46) 55%, rgba(26,13,12,0) 100%);
  }
  .gate .no,.gate .rule,.gate .spec,.gate .reveal{display:none}
  .gate h2{font-size:13px;letter-spacing:.08em;line-height:1.3}
  .gate .tagline{font-size:12.5px;margin-top:5px;line-height:1.35}
  .gate .go{
    display:inline-flex;align-items:center;gap:5px;margin-top:9px;
    font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#fff;
    border:1px solid rgba(255,255,255,.45);border-radius:50px;padding:6px 11px;
  }
}
@media (prefers-reduced-motion:no-preference){
  .gate .panel{clip-path:inset(100% 0 0 0);animation:wipe 1s var(--slow) forwards}
  .gate .panel:nth-child(1){animation-delay:.06s}.gate .panel:nth-child(2){animation-delay:.16s}
}
@media (prefers-reduced-motion:reduce){
  .gate .panel,.gate .panel img,.gate .reveal,.gate .inner{transition:none;animation:none;clip-path:none}
  .gate .panel video{display:none}
}

/* ---------- treatment cards (home) ---------- */
.tcards{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,2vw,26px)}
.tcard{
  display:grid;grid-template-rows:auto 1fr;background:#FFFDFC;border:1px solid var(--peach-2);
  border-radius:24px;overflow:hidden;transition:transform .34s var(--ease),box-shadow .34s var(--ease);
}
.tcard:hover{transform:translateY(-4px);box-shadow:0 18px 44px rgba(140,90,80,.16)}
.tcard figure{margin:0;aspect-ratio:16/10;overflow:hidden;background:var(--peach-1)}
.tcard figure img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s var(--slow)}
.tcard:hover figure img{transform:scale(1.04)}
.tcard .b{padding:clamp(20px,2.6vw,32px);display:flex;flex-direction:column}
.tcard .tag{
  align-self:flex-start;background:var(--peach-1);color:#A85E63;border-radius:50px;
  padding:5px 12px;font-size:10.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
}
.tcard h3{margin:12px 0 0;font-size:clamp(1.35rem,2.2vw,1.8rem);font-weight:900;letter-spacing:-.03em;line-height:1.15}
.tcard h3 a{color:inherit;text-decoration:none}
.tcard h3 a:hover{color:var(--red)}
.tcard p{margin:10px 0 0;font-size:14.5px;line-height:1.75;color:#4E4548}
.tcard ul{margin:14px 0 0;padding:0;list-style:none}
.tcard li{position:relative;padding:6px 0 6px 24px;font-size:14px;line-height:1.6;color:#4E4548;border-bottom:1px dashed var(--peach-2)}
.tcard li:last-child{border-bottom:0}
.tcard li::before{content:"\2713";position:absolute;left:2px;top:6px;color:#2E9E6B;font-weight:700}
.tcard .meta{margin-top:16px;display:flex;flex-wrap:wrap;gap:6px}
.tcard .meta span{
  font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--ink-55);
  background:var(--peach-0);border:1px solid var(--peach-2);border-radius:50px;padding:6px 11px;
}
.tcard .acts{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto;padding-top:22px}
.tcard .btn-pill{height:48px;padding:0 24px;font-size:14px}
@media (max-width:860px){ .tcards{grid-template-columns:1fr} }
.soon{
  margin:clamp(18px,2.4vw,28px) auto 0;max-width:640px;text-align:center;
  font-size:13.5px;line-height:1.7;color:var(--ink-55);
}
.soon b{color:var(--ink)}

/* ---------- before / after labels ---------- */
#results .posts{grid-template-columns:repeat(3,1fr)}
#results .post img{aspect-ratio:1/1;object-fit:contain;background:#f4efe9}
@media (max-width:860px){ #results .posts{grid-template-columns:1fr 1fr} }
@media (max-width:520px){ #results .posts{grid-template-columns:1fr} }
.ba-note{
  display:flex;align-items:flex-start;gap:10px;margin:22px auto 0;max-width:720px;
  padding:14px 18px;background:#FFFDFC;border:1px solid var(--peach-2);border-radius:16px;
  font-size:13.5px;line-height:1.7;color:var(--ink-55);
}
.ba-note i.ic{font-size:18px;color:#A85E63;margin-top:2px}
.ba-note b{color:var(--ink)}

/* ---------- about grid (from the homepage) ---------- */
.about-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(22px,3.4vw,52px);align-items:center}
.about-grid .photo{margin:0;border-radius:22px;overflow:hidden;box-shadow:0 14px 40px rgba(140,90,80,.2);background:var(--peach-1)}
.about-grid .photo img{width:100%;height:auto;display:block}
.about-grid .photo figcaption{padding:12px 16px;background:#FFFDFC;border-top:1px solid var(--peach-2);font-size:12.5px;color:var(--ink-55)}
.about-grid .shead{text-align:left;margin-bottom:clamp(16px,2vw,24px)}
.about-grid .over-copy p{margin:13px 0 0;font-size:15px;line-height:1.85;color:#4E4548;max-width:62ch}
.creds{margin:20px 0 0;padding:0;list-style:none;display:grid;gap:10px}
.creds li{
  display:flex;align-items:center;gap:12px;background:#FFFDFC;border:1px solid var(--peach-2);
  border-radius:14px;padding:12px 16px;font-size:14px;font-weight:600;line-height:1.45;
}
.creds li i.ic{font-size:20px;color:var(--red)}
.creds li small{display:block;font-size:12.5px;font-weight:400;color:var(--ink-55)}
@media (max-width:860px){
  .about-grid{grid-template-columns:1fr}
  .about-grid .photo{order:-1}
  .about-grid .shead{text-align:center}
}

/* ---------- testimonial: verbatim, labelled, no stars ---------- */
.quotes.one{grid-template-columns:1fr;max-width:760px;margin:24px auto 0}
.quotes blockquote::before{content:"\201C";top:-4px;font-family:Georgia,serif}
.quotes footer .lbl{display:inline-block;margin-left:6px;font-weight:600;color:#A85E63}
.about-grid .quotes.one{margin:22px 0 0}

/* ---------- appointment line in service heroes (replaces the Toronto price) ---------- */
.hero .appt{margin:18px 0 0;line-height:1;color:var(--w);font-size:clamp(22px,2.6vw,30px);font-weight:700;letter-spacing:-.02em}
.hero .appt small{display:block;font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--w-70);margin-top:9px}
.hero .lead{margin:16px auto 0;max-width:52ch;font-size:15px;line-height:1.75;color:var(--w-70)}
.hero.mini{min-height:auto}
.hero.mini .hero-inner{padding:clamp(52px,7vw,88px) 22px}

/* ---------- section helpers ---------- */
.pricefoot{text-align:center;margin:18px auto 0;max-width:70ch;font-size:13.5px;line-height:1.7;color:var(--ink-55)}
.steps.text li{grid-template-columns:64px 1fr}
@media (max-width:860px){ .steps.text li{grid-template-columns:44px 1fr;grid-template-areas:"n tx"} }
.cand p{margin:0 0 12px;font-size:14px;line-height:1.7;color:var(--ink-55)}
.cand ul + p{margin:14px 0 0}
.sci-panel h3,.sci-panel h4{margin:0 0 10px;font-size:1rem;font-weight:800;letter-spacing:-.02em}
.over-copy .sci-panel{margin-top:22px}
.over-copy .sci-panel p{margin:0;font-size:14.5px}
.sci-sum{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:12px}
.sci-sum li{background:var(--peach-0);border:1px solid var(--peach-2);border-radius:16px;padding:14px 16px;display:grid;gap:4px}
.sci-sum b{font-size:15px}.sci-sum span{font-size:14.5px;line-height:1.6;color:#4E4548}
@media (min-width:900px){ .sci-sum{grid-template-columns:repeat(3,1fr)} }
.sci-more>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:15px;padding:12px 20px;border:1px solid var(--peach-2);border-radius:999px;background:#fff;margin-bottom:22px}
.sci-more>summary::-webkit-details-marker{display:none}
.sci-more .close-l,.sci-more[open] .open-l{display:none}
.sci-more[open] .close-l{display:inline}
.sci-more>summary i.ic{transition:transform .3s var(--ease)}
.sci-more[open]>summary i.ic{transform:rotate(180deg)}
.sci-more>summary:focus-visible{outline:3px solid rgba(233,145,142,.55);outline-offset:2px}
.prob i.ic{
  width:46px;height:46px;border-radius:14px;background:var(--peach-1);color:var(--red);
  padding:12px;margin-bottom:14px;
}
.probs.three{grid-template-columns:repeat(3,1fr)}
@media (max-width:1100px){ .probs.three{grid-template-columns:1fr 1fr} }
@media (max-width:560px){ .probs.three{grid-template-columns:1fr} }
.probs.six{grid-template-columns:repeat(3,1fr)}
@media (max-width:1100px){ .probs.six{grid-template-columns:1fr 1fr} }
@media (max-width:560px){ .probs.six{grid-template-columns:1fr} }
.cand h3 i.ic{font-size:20px}
.cand.yes h3 i.ic{color:#2E9E6B}
.cand.no h3 i.ic{color:var(--red)}
.over-photo.plain img{transform:none}
.pillars img{display:inline-block}

/* ---------- booking form ---------- */
.formcard{
  max-width:780px;margin:0 auto;background:#FFFDFC;border:1px solid var(--peach-2);
  border-radius:24px;padding:clamp(20px,3.4vw,40px);
  box-shadow:0 14px 40px rgba(140,90,80,.12);
}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.form-grid .full{grid-column:1 / -1}
@media (max-width:640px){ .form-grid{grid-template-columns:1fr} }
.form-group{margin:0 0 16px;min-width:0}
.form-group label{display:block;margin:0 0 7px;font-size:12.5px;font-weight:800;letter-spacing:.03em;color:var(--ink)}
.form-group label .opt{font-weight:500;color:var(--ink-55);letter-spacing:0}
.form-group input,.form-group select,.form-group textarea{
  width:100%;max-width:100%;background:#fff;border:1px solid var(--peach-3);border-radius:13px;
  padding:13px 15px;font:inherit;font-size:16px;color:var(--ink);
  transition:border-color .2s var(--ease),box-shadow .2s var(--ease);
  -webkit-appearance:none;appearance:none;
}
.form-group select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath fill='%237C7375' d='M213.66 101.66l-80 80a8 8 0 0 1-11.32 0l-80-80a8 8 0 0 1 11.32-11.32L128 164.69l74.34-74.35a8 8 0 0 1 11.32 11.32Z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;background-size:16px;padding-right:40px;
}
.form-group textarea{min-height:120px;resize:vertical}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{
  outline:none;border-color:var(--rose);box-shadow:0 0 0 3px rgba(233,145,142,.4);
}
.form-group input[aria-invalid="true"],.form-group select[aria-invalid="true"]{border-color:var(--red)}
.form-group .hint{margin:6px 0 0;font-size:12px;color:var(--ink-55)}
.form-group .err{display:none;margin:6px 0 0;font-size:12.5px;font-weight:600;color:var(--red)}
.form-group [aria-invalid="true"] ~ .err{display:block}
.treat-pick{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;border:0;margin:0 0 16px;padding:0;min-width:0}
.treat-pick legend{padding:0;margin:0 0 7px;font-size:12.5px;font-weight:800;letter-spacing:.03em}
.treat-pick label{position:relative;display:block;cursor:pointer}
.treat-pick input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.treat-pick span{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;
  min-height:64px;height:100%;padding:10px 8px;border:1px solid var(--peach-3);border-radius:14px;background:#fff;
  font-size:13.5px;font-weight:700;line-height:1.25;transition:all .2s var(--ease);
}
.treat-pick span small{font-size:11px;font-weight:500;color:var(--ink-55)}
.treat-pick input:checked + span{border-color:var(--red);background:var(--peach-0);box-shadow:0 0 0 2px rgba(211,22,26,.18)}
.treat-pick input:focus-visible + span{outline:3px solid rgba(233,145,142,.55);outline-offset:2px}
@media (max-width:420px){ .treat-pick{grid-template-columns:1fr} .treat-pick span{min-height:52px;flex-direction:row;justify-content:space-between;text-align:left;padding:10px 14px} }
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.form-actions{display:grid;gap:10px;margin-top:6px}
.btn-submit{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;height:54px;width:100%;
  padding:0 30px;border:0;border-radius:50px;background:var(--red);color:#fff;cursor:pointer;
  font:inherit;font-size:15px;font-weight:700;transition:transform .2s var(--ease),opacity .2s var(--ease);
}
.btn-submit:hover{transform:translateY(-2px)}
.btn-submit:disabled{opacity:.55;cursor:default;transform:none}
.btn-submit:focus-visible{outline:3px solid rgba(233,145,142,.55);outline-offset:3px}
.btn-wa{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;height:52px;width:100%;
  border:1px solid var(--peach-3);border-radius:50px;background:#fff;color:var(--ink);text-decoration:none;
  font-size:14.5px;font-weight:700;transition:background .2s var(--ease),transform .2s var(--ease);
}
.btn-wa i.ic{font-size:19px;color:#25D366}
.btn-wa:hover{background:var(--peach-0);transform:translateY(-2px)}
.form-fine{margin:14px 0 0;font-size:12px;line-height:1.7;color:var(--ink-55);text-align:center}
.form-fine a{color:var(--ink)}
.form-error{display:none;margin-top:14px;padding:14px 16px;border:1px solid var(--rose);border-radius:14px;background:var(--peach-1);font-size:14px;line-height:1.7}
.form-error.visible{display:block}
.form-success{display:none;text-align:center;padding:30px 8px}
.form-success.visible,.form-success:target{display:block}
.formcard:has(.form-success:target) form{display:none}
.fs-icon{
  width:60px;height:60px;border-radius:50%;background:var(--peach-1);color:#2E9E6B;
  display:flex;align-items:center;justify-content:center;margin:0 auto 16px;font-size:28px;
}
.form-success h3{margin:0;font-size:1.4rem;font-weight:800;letter-spacing:-.02em}
.form-success p{margin:10px auto 0;max-width:46ch;font-size:14.5px;line-height:1.75;color:var(--ink-55)}
.book-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(18px,3vw,40px);align-items:start}
.book-grid .formcard{max-width:none;margin:0}
.book-side{display:grid;gap:14px}
.book-side .card{background:#FFFDFC;border:1px solid var(--peach-2);border-radius:20px;padding:22px}
.book-side h3{margin:0 0 10px;font-size:11.5px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(--rose)}
.book-side p{margin:0;font-size:14.5px;line-height:1.7;color:#4E4548}
.book-side p + p{margin-top:8px}
.book-side ol{margin:0;padding:0;list-style:none;counter-reset:b}
.book-side ol li{counter-increment:b;position:relative;padding:8px 0 8px 36px;font-size:14px;line-height:1.6;color:#4E4548}
.book-side ol li::before{
  content:counter(b);position:absolute;left:0;top:8px;width:24px;height:24px;border-radius:50%;
  background:var(--peach-1);color:var(--red);font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center;
}
.book-side a{color:var(--red);text-decoration:none;font-weight:700}
@media (max-width:900px){ .book-grid{grid-template-columns:1fr} }

/* ---------- visit block: address-led ---------- */
.trio .addr{font-size:15px;font-weight:700;line-height:1.55;white-space:normal}
.trio .lnk{display:inline-flex;align-items:center;gap:6px;margin-top:10px;font-size:13.5px;font-weight:700;color:var(--red)!important}
.trio .lnk i.ic{font-size:16px}
.visit .photo{position:relative}
.visit .photo figcaption{
  position:absolute;left:0;right:0;bottom:0;padding:26px 16px 12px;color:#fff;font-size:12px;font-weight:600;
  background:linear-gradient(to top,rgba(20,12,12,.72),rgba(20,12,12,0));
}
.visit .photo{margin:0}
.tkt-wrap.solo{margin-top:clamp(26px,3.4vw,40px)}

/* ---------- footer ---------- */
.foot .addr{margin-top:12px;font-size:13px;line-height:1.75;color:rgba(255,255,255,.72)}
.foot .loc{color:var(--rose);margin-top:6px}
.foot .also{
  display:inline-flex;align-items:center;gap:8px;margin-top:16px;padding:9px 16px;border-radius:50px;
  border:1px solid rgba(255,255,255,.2);color:#fff;text-decoration:none;font-size:13px;font-weight:600;
}
.foot .also:hover{background:rgba(255,255,255,.08)}
.foot .also i.ic{font-size:15px;color:var(--rose)}
.foot h2{margin:0 0 12px;font-size:11px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.45)}
.foot nav{flex-direction:column;gap:9px}
.foot .cols{display:flex;flex-wrap:wrap;gap:clamp(28px,5vw,72px)}

/* ---------- 404 ---------- */
.nf{text-align:center;max-width:640px;margin:0 auto;padding:clamp(40px,7vw,90px) 0}
.nf .kicker{
  display:inline-block;margin:0;padding:7px 16px;border-radius:50px;background:var(--peach-1);color:#A85E63;
  font-size:11px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;
}
.nf h1{margin:14px 0 0;font-size:clamp(2.2rem,5.4vw,3.6rem);font-weight:900;letter-spacing:-.04em;line-height:1.08}
.nf h1 em{font-style:normal;color:var(--coral)}
.nf p{margin:16px 0 0;font-size:15.5px;line-height:1.8;color:var(--ink-55)}
.nf .pills{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:28px}

/* ---------- legal pages ---------- */
.legal-hero{padding:clamp(40px,6vw,72px) clamp(18px,4vw,56px) 0;background:#FFFDFC;text-align:center}
.legal-hero h1{margin:10px 0 0;font-size:clamp(1.9rem,4.4vw,3rem);font-weight:900;letter-spacing:-.04em}
.legal-hero .crumb a,.legal-hero .crumb{color:var(--ink-55)}
.legal-hero .crumb i{color:var(--peach-3)}
.legal-hero .upd{margin:10px 0 0;font-size:13px;color:var(--ink-55)}

/* images carry width/height attributes (no layout shift); make sure CSS sizing wins over them */
.post img,.sci-sym img,.sci-anatomy img,.sci-duo-img img{height:auto}
.sci-card img{height:auto;align-self:stretch}
@media (max-width:700px){ #overview .posts .post:nth-child(n+2){display:none} }

/* contrast (WCAG AA): the rose accent is 2.3:1 on white, so small rose labels and the touch-screen
   accent words use the deeper rose instead */
.trio h3,.book-side h3{color:#A85E63}
@media (hover:none){ .shead h2 em{color:#C4504C;-webkit-text-fill-color:#C4504C} }
.treat-pick span small{font-size:12px}

/* phone: the right-hand block is hidden, so the Book pill takes the right edge itself */
@media (max-width:700px){ .head .pill.book{margin-left:auto} }
/* =====================================================================================
   UX PASS (Nov 2026): tighter rhythm, swipe rows, quick facts, comparison, CTA band
   ===================================================================================== */

/* ---------- rhythm: less dead space between sections ---------- */
.sec{padding:clamp(40px,5.4vw,78px) clamp(16px,4vw,56px)}
.shead{margin-bottom:clamp(20px,2.8vw,36px)}
.shead .kicker{margin-bottom:12px}
.shead p{margin-top:10px;line-height:1.7}
.seemore{margin-top:22px}
.statement{min-height:clamp(240px,38vh,400px);padding:clamp(36px,5vw,64px) clamp(18px,4vw,56px)}
@media (max-width:760px){
  .statement{min-height:auto;padding:52px 20px}
  .sec{padding:38px 16px}
  .shead h2{font-size:clamp(1.45rem,6.4vw,1.8rem)}
  .shead .kicker{margin-bottom:10px;padding:6px 13px;font-size:10px}
}
.stats div{padding:20px 14px}

/* ---------- service heroes: align to the content width instead of the window edges ---------- */
@media (min-width:860px){
  .hero.portrait{
    padding-inline:max(clamp(28px,5vw,72px), calc((100vw - 1240px) / 2));
    min-height:clamp(520px,68vh,640px);
  }
  .hero.portrait img.bg,.hero.portrait video{right:max(clamp(28px,5vw,72px), calc((100vw - 1240px) / 2))}
}

/* ---------- swipe rows: before/afters scroll sideways instead of stacking ---------- */
.scroller{position:relative}
.scroller .track{
  display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 2 * var(--gap)) / 3);gap:var(--gap);
  --gap:clamp(12px,1.6vw,20px);
  overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:2px;
  padding:2px 2px 14px;scrollbar-width:thin;scrollbar-color:var(--peach-3) transparent;
  overscroll-behavior-x:contain;
}
.scroller .track > *{scroll-snap-align:start;min-width:0}
.scroller .track .post:hover{transform:none}
.scroller .nav{display:flex;justify-content:flex-end;gap:8px;margin:0 0 12px}
.scroller .nav button{
  width:42px;height:42px;border-radius:50%;border:1px solid var(--peach-3);background:#fff;color:var(--ink);
  display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:18px;
  transition:background .2s var(--ease),opacity .2s var(--ease);
}
.scroller .nav button:hover{background:var(--peach-0)}
.scroller .nav button:disabled{opacity:.35;cursor:default}
.scroller .nav button:focus-visible{outline:3px solid rgba(233,145,142,.55);outline-offset:2px}
.scroller .hint{display:none}
.scroller .post .b{padding:14px 16px 16px}
.scroller .post h3{margin-top:8px;font-size:.98rem}
.scroller .post p{font-size:13px;margin-top:5px}
@media (max-width:860px){
  .scroller .track{grid-auto-columns:78%;margin-inline:-16px;padding-inline:16px;scroll-padding-inline:16px}
  .scroller .nav{display:none}
  .scroller .hint{
    display:flex;align-items:center;justify-content:center;gap:6px;margin:4px 0 0;
    font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-55);
  }
}
#results .scroller .track{display:grid}
#results .post img{aspect-ratio:1/1;object-fit:contain;background:#f4efe9}

/* ---------- compact steps on phones: thumbnail beside the text ---------- */
@media (max-width:860px){
  .steps li{
    grid-template-columns:84px 1fr;grid-template-areas:"fig n" "fig tx";
    gap:2px 14px;align-items:start;padding:16px 0;
  }
  .steps .n{grid-area:n;font-size:.9rem;letter-spacing:.06em}
  .steps figure{grid-area:fig;aspect-ratio:1/1;margin:0;border-radius:14px;width:84px}
  .steps .tx{grid-area:tx}
  .steps h3{font-size:1rem}
  .steps p{font-size:14px;margin-top:4px}
  .steps.text li{grid-template-columns:40px 1fr;grid-template-areas:"n tx";gap:10px}
  .steps.text .n{font-size:1.2rem}
}

/* ---------- quick facts (service pages) ---------- */
.facts{
  display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--peach-2);
  border:1px solid var(--peach-2);border-radius:20px;overflow:hidden;margin:0;
}
.facts > div{background:#FFFDFC;padding:18px 18px 16px;display:flex;flex-direction:column;gap:5px}
.facts dt{display:flex;align-items:center;gap:7px;font-size:10.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#A85E63}
.facts dt i.ic{font-size:15px;color:var(--red)}
.facts dd{margin:0;font-size:15px;font-weight:700;line-height:1.35;letter-spacing:-.01em}
.facts dd small{display:block;margin-top:3px;font-size:12.5px;font-weight:500;color:var(--ink-55);letter-spacing:0;line-height:1.45}
@media (max-width:1000px){ .facts{grid-template-columns:repeat(2,1fr)} .facts > div:last-child{grid-column:span 2} }
@media (max-width:760px){ .facts > div{padding:14px} .facts dd{font-size:14px} }

/* ---------- comparison table (home) ---------- */
.compare{margin-top:clamp(20px,2.6vw,32px);background:#FFFDFC;border:1px solid var(--peach-2);border-radius:22px;overflow:hidden}
.compare h3{margin:0;padding:18px 22px;font-size:1.05rem;font-weight:800;letter-spacing:-.02em;border-bottom:1px solid var(--peach-2);background:var(--peach-0)}
.compare table{width:100%;border-collapse:collapse;table-layout:fixed}
.compare th,.compare td{padding:13px 18px;text-align:left;vertical-align:top;font-size:14px;line-height:1.55;border-bottom:1px dashed var(--peach-2)}
.compare tr:last-child th,.compare tr:last-child td{border-bottom:0}
.compare thead th{font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#A85E63;background:#FFFDFC;border-bottom:1px solid var(--peach-2)}
.compare thead th a{color:inherit;text-decoration:none}
.compare thead th a:hover{color:var(--red)}
.compare tbody th{width:22%;font-size:12.5px;font-weight:800;color:var(--ink)}
.compare td{color:#4E4548}
.compare .foot-row td{padding-top:16px;padding-bottom:18px}
.compare .foot-row .btn-pill{height:44px;padding:0 20px;font-size:13.5px}
@media (max-width:640px){
  .compare th,.compare td{padding:11px 10px;font-size:13px}
  .compare tbody th{width:28%;font-size:11.5px}
  .compare thead th{font-size:10.5px;letter-spacing:.1em}
  .compare .foot-row .btn-pill{height:40px;padding:0 14px;font-size:12.5px;width:100%;justify-content:center}
}

/* ---------- CTA band ---------- */
.cta-band{
  display:flex;align-items:center;justify-content:space-between;gap:18px 28px;flex-wrap:wrap;
  margin-top:clamp(24px,3vw,36px);padding:clamp(20px,2.6vw,28px) clamp(20px,3vw,36px);
  border-radius:22px;background:linear-gradient(110deg,#2A1E1C,#3C2A26 60%,#4A2F2C);color:#fff;
  box-shadow:0 18px 40px rgba(60,30,28,.22);
}
.cta-band p{margin:0;font-size:clamp(1.05rem,1.8vw,1.35rem);font-weight:800;letter-spacing:-.02em;line-height:1.3}
.cta-band p small{display:block;margin-top:5px;font-size:13.5px;font-weight:500;letter-spacing:0;color:var(--w-70)}
.cta-band .acts{display:flex;gap:10px;flex-wrap:wrap}
.cta-band .btn-pill.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.35)}
.cta-band .btn-pill.ghost:hover{background:rgba(255,255,255,.08)}
@media (max-width:640px){ .cta-band .acts,.cta-band .btn-pill{width:100%;justify-content:center} }

/* ---------- treatment cards: tighter on phones; horizontal "related" card ---------- */
@media (max-width:860px){
  .tcard figure{aspect-ratio:16/9}
  .tcard .b{padding:18px}
  .tcard li{padding:5px 0 5px 22px;font-size:13.5px}
  .tcard .acts{padding-top:16px}
}
.tcard.h{grid-template-rows:none;grid-template-columns:.9fr 1.1fr;max-width:980px;margin:0 auto}
.tcard.h figure{aspect-ratio:auto;height:100%;min-height:260px}
@media (max-width:700px){ .tcard.h{grid-template-columns:1fr} .tcard.h figure{aspect-ratio:16/9;min-height:0} }

/* ---------- Face Up pillars: two columns on phones ---------- */
@media (max-width:760px){
  .pillars{grid-template-columns:1fr 1fr}
  .pillars div{padding:16px 12px}
  .pillars div:last-child{grid-column:span 2}
  .pillars img{width:30px;height:30px;margin-bottom:8px}
  .pillars h3{font-size:11px}
  .pillars p{font-size:12.5px;line-height:1.55}
}

/* ---------- location + photo: the photo is decoration, skip it on phones ---------- */
@media (max-width:860px){ #location .visit .photo{display:none} }
.visit{padding:clamp(16px,2.4vw,30px)}
/* comparison on phones: each row becomes a label line over two side-by-side answers */
@media (max-width:640px){
  .compare table,.compare thead,.compare tbody{display:block}
  .compare tr{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px dashed var(--peach-2)}
  .compare tr:last-child{border-bottom:0}
  .compare th,.compare td{border-bottom:0;padding:10px 14px;font-size:13.5px}
  .compare thead th:first-child{display:none}
  .compare thead tr{background:var(--peach-0)}
  .compare tbody th{grid-column:1 / -1;width:auto;padding:12px 14px 0;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:#A85E63}
  .compare td + td{border-left:1px solid var(--peach-2)}
  .compare .foot-row th{display:none}
  .compare .foot-row td{padding:14px}
}
/* full-width buttons: no stranded badge circle */
.cta-band .btn-pill::before,.compare .btn-pill::before{display:none}
.compare .btn-pill{justify-content:center}
@media (max-width:860px){ .visit .trio > div{padding:14px 16px} .visit .trio h3{margin-bottom:8px} }
.shead h2 .pt{color:var(--ink);-webkit-text-fill-color:var(--ink);background:none}
@media (max-width:860px){ .tcard .acts{flex-wrap:nowrap} .tcard .acts .btn-pill{padding:0 18px;font-size:13.5px} }
/* related card: the photo fills the card's height instead of setting it */
.tcard.h figure{position:relative;height:auto;min-height:280px}
.tcard.h figure img{position:absolute;inset:0;width:100%;height:100%}
@media (max-width:700px){ .tcard.h figure{min-height:0} .tcard.h figure img{position:static} }
/* booking ticket sits beside the address card, not on a row of its own */
.visit .tkt-wrap{grid-column:auto;margin:0 auto;width:min(480px,100%)}
/* text-only steps: a row of five cards on desktop instead of five near-empty full-width lines */
@media (min-width:861px){
  .steps.text{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
  .steps.text li,.steps.text li:first-child{
    display:block;border:1px solid var(--peach-2);border-radius:18px;background:#FFFDFC;padding:20px 18px;
  }
  .steps.text .n{display:block;margin-bottom:10px}
  .steps.text h3{font-size:1.02rem}
  .steps.text p{font-size:13.5px}
}
@media (max-width:760px){ .shead.xl h2{font-size:clamp(1.6rem,7.2vw,2.05rem);line-height:1.15} }
/* thumb-sized tap areas for small links (WCAG 2.5.8 and comfort), without changing the look */
.foot nav a{padding:5px 0}
.brand > a{display:inline-block;padding:4px 0}
.trio .lnk,.book-side a{padding-block:6px}
.crumb a{display:inline-block;padding:8px 2px}
.compare thead th a{display:inline-block;padding:6px 0}
