/* ============================================================
   Maison Prestance — design system v2 (night build)
   Warm editorial, muted, premium. Fraunces + Hanken Grotesk.
   ============================================================ */

:root{
  /* ground + surfaces */
  --linen:#F4EFE6;      /* dominant warm cream */
  --paper:#FBF8F1;      /* lighter card */
  --stone:#EBE3D5;      /* warm stone, alt section */
  --sand:#E2D7C4;       /* deeper warm neutral */
  --char:#292420;       /* soft charcoal, dark sections (not orange-brown) */
  --char-2:#1F1B17;     /* deepest */
  --ink:#26201A;        /* body text */
  --muted:#6A5E4E;      /* secondary text (AA on linen/stone) */
  --muted-2:#9A8D79;    /* faint */
  /* accents (restrained) */
  --terra:#5E2A2A;      /* oxblood — accent ONLY */
  --clay:#B79A73;       /* warm champagne accent */
  --cacao:#43332B;      /* warm brown — top rail + brown blocks */
  --olive:#3E4636;      /* deep olive — alt dark sections */
  --cream-on-dark:#F1E9DB;
  --muted-on-dark:#B7AB97;
  /* lines + shadow */
  --line:rgba(41,36,32,.12);
  --line-2:rgba(41,36,32,.20);
  --line-dark:rgba(241,233,219,.16);
  --shadow:none;
  --shadow-sm:none;
  /* geometry — squared, editorial (anti AI-slop) */
  --r-sm:2px; --r:3px; --r-lg:3px; --r-xl:4px;
  --pad:20px;
  --maxw:480px;
}

*{margin:0;padding:0;box-sizing:border-box}
html,body{max-width:100%;overflow-x:hidden}
html{-webkit-text-size-adjust:100%}
body{
  background:var(--linen);
  color:var(--ink);
  font-family:"Hanken Grotesk",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:12px;top:-48px;z-index:999;background:var(--ink,#221a12);color:#fff;padding:10px 16px;border-radius:8px;font:600 13px/1 "Hanken Grotesk",sans-serif;letter-spacing:.04em;transition:top .18s}
.skip-link:focus{top:12px;outline:2px solid #fff;outline-offset:2px}

.serif{font-family:"Fraunces",Georgia,serif}
h1,h2,h3{font-family:"Fraunces",Georgia,serif;font-weight:500;line-height:1.05;letter-spacing:-.005em;color:var(--ink)}

/* shell */
.shell{width:100%;max-width:var(--maxw);margin:0 auto;position:relative}
section{padding:40px var(--pad)}
.eyebrow{
  font-size:11px;letter-spacing:.26em;text-transform:uppercase;
  font-weight:600;color:var(--muted);
}
.eyebrow .dot{color:var(--terra)}
.lead{font-size:16px;line-height:1.62;color:var(--muted)}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-family:"Hanken Grotesk",sans-serif;font-size:14px;font-weight:600;letter-spacing:.01em;
  padding:15px 26px;border-radius:2px;border:1px solid transparent;
  background:var(--char);color:var(--cream-on-dark);
  transition:transform .2s ease,background .2s ease;
}
.btn:active{transform:translateY(1px)}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line-2)}
.btn.on-dark{background:var(--cream-on-dark);color:var(--char)}
.btn.ghost.on-dark{background:transparent;color:var(--cream-on-dark);border-color:var(--line-dark)}
.btn.sm{padding:11px 18px;font-size:12.5px}
.textlink{
  display:inline-flex;align-items:center;gap:7px;font-size:13.5px;font-weight:600;
  letter-spacing:.02em;color:var(--ink);border-bottom:1px solid var(--terra);padding-bottom:3px;
}
.textlink svg{width:13px;height:13px}

/* ---------- header ---------- */
.nav-cb{position:absolute;opacity:0;pointer-events:none;width:0;height:0}
.site-head{
  position:sticky;top:0;z-index:50;background:rgba(244,239,230,.9);
  backdrop-filter:saturate(120%) blur(10px);
  border-bottom:1px solid var(--line);
}
.head-row{
  max-width:var(--maxw);margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;
  padding:15px var(--pad);
}
.wordmark{display:flex;flex-direction:column;line-height:1}
.wordmark .wm{font-family:"Fraunces",serif;font-weight:600;font-size:19px;letter-spacing:.04em;color:var(--ink)}
.wordmark .wm-sub{font-size:8.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);margin-top:4px;font-weight:600}
.wordmark .wm-city{font-size:8px;letter-spacing:.26em;text-transform:uppercase;color:var(--muted);margin-top:4px;font-weight:600}
.head-actions{display:flex;align-items:center;gap:12px}
.nav-links{display:none}
.burger{display:flex;flex-direction:column;gap:4.5px;padding:8px 4px;background:none;border:0}
.burger span{width:23px;height:1.5px;background:var(--ink);display:block;transition:transform .3s,opacity .3s}
.nav-cb:checked ~ .site-head .burger span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.nav-cb:checked ~ .site-head .burger span:nth-child(2){opacity:0}
.nav-cb:checked ~ .site-head .burger span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

/* mobile panel (at body level) */
.mobile-panel{
  position:fixed;left:0;right:0;top:var(--mobile-header-h,108px);bottom:0;z-index:45;
  background:rgba(255,253,248,.98);color:var(--ink);
  padding:12px 30px calc(28px + env(safe-area-inset-bottom));display:flex;flex-direction:column;
  opacity:0;visibility:hidden;transform:translateY(-8px);
  transition:opacity .3s ease,transform .3s ease,visibility .3s;
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  border-top:1px solid var(--line);
}
.nav-cb:checked ~ .mobile-panel{opacity:1;visibility:visible;transform:none}
.mobile-panel ul{list-style:none}
.mobile-panel li a{
  display:block;font-family:"Fraunces",serif;font-size:21px;font-weight:500;
  padding:8.5px 0;border-bottom:1px solid var(--line);color:var(--ink);
}
.mobile-panel .mp-cta{margin-top:auto;padding-top:16px}
.mobile-panel .mp-cta .btn{width:100%}
.mobile-panel .mp-phone{margin-top:10px;text-align:center;font-size:12.5px;letter-spacing:.04em;color:var(--muted)}
@media (max-width:819.98px){
  body.nav-open{
    overflow:hidden;
  }
}

/* ---------- reassurance band (thin, slow marquee) ---------- */
.band{
  background:var(--char);color:var(--cream-on-dark);
  overflow:hidden;padding:11px 0;border-block:1px solid var(--char-2);
}
.band-track{display:inline-flex;white-space:nowrap;animation:band 46s linear infinite;will-change:transform}
.band-track span{
  font-size:10.5px;letter-spacing:.28em;text-transform:uppercase;font-weight:600;
  padding:0 20px;color:var(--muted-on-dark);
}
.band-track span b{color:var(--cream-on-dark);font-weight:600}
.band-track .sep{color:var(--terra);padding:0}
@keyframes band{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.band-track{animation:none}}

/* ---------- v63: morning/evening availability rail ---------- */
.site-head .head-rail{
  position:relative;
  display:grid;
  grid-template-columns:1fr 1fr;
  min-height:28px;
  overflow:hidden;
  border-bottom:1px solid rgba(0,0,0,.22);
  background:var(--cacao);
}
.site-head .head-rail::before{content:none}
.site-head .head-rail::after{content:none}
.site-head .head-rail a+a{border-left:1px solid rgba(241,233,219,.14)}
.site-head .head-rail a{
  position:relative;
  z-index:1;
  min-width:0;
  display:flex;
  align-items:center;
  gap:7px;
  padding:5px var(--pad);
  color:var(--cream-on-dark);
  font-size:11px;
  line-height:1.15;
  font-weight:600;
  letter-spacing:.015em;
  white-space:nowrap;
}
.site-head .head-rail a:nth-child(1){
  justify-content:center;
}
.site-head .head-rail a:nth-child(2){
  justify-content:center;
  color:var(--cream-on-dark);
}
.site-head .rail-mark{display:none}
.site-head .head-rail b{
  font-weight:600;
  color:var(--cream-on-dark);
}
.site-head .head-rail a:nth-child(2) b{
  color:var(--cream-on-dark);
}
.site-head .rail-mark{
  position:relative;
  flex:0 0 auto;
  width:13px;
  height:13px;
  border-radius:50%;
}
.site-head .rail-mark.sun{
  border:1px solid rgba(241,233,219,.55);
}
.site-head .rail-mark.sun::before{
  content:"";
  position:absolute;
  inset:4px;
  border-radius:50%;
  background:var(--cream-on-dark);
}
.site-head .rail-mark.moon{
  background:rgba(241,233,219,.4);
}
.site-head .rail-mark.moon::before{
  content:"";
  position:absolute;
  width:10px;
  height:10px;
  right:-1px;
  top:-1px;
  border-radius:50%;
  background:#ead7c2;
}
.site-head .rail-short{
  display:none;
}
@media(max-width:819.98px){
  .site-head .head-rail{
    min-height:24px;
  }
  .site-head .head-rail a{
    gap:5px;
    padding:5px 12px;
    font-size:9.5px;
    letter-spacing:0;
  }
  .site-head .rail-long{
    display:none;
  }
  .site-head .rail-short{
    display:inline;
  }
  .site-head .rail-mark{
    width:11px;
    height:11px;
  }
}

/* ---------- hero ---------- */
.hero{position:relative;background:var(--char)}
.hero-grid{display:grid;grid-template-columns:44% 56%;min-height:440px}
.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:34px 20px;position:relative;z-index:2}
.hero-copy .kicker{font-size:11px;letter-spacing:.24em;text-transform:uppercase;font-weight:600;color:var(--clay);margin-bottom:16px}
.hero-copy h1{font-size:33px;line-height:1.04;color:var(--cream-on-dark);font-weight:500}
.hero-copy h1 em{font-style:italic}
.hero-copy .hsub{font-size:13.5px;line-height:1.55;color:var(--muted-on-dark);margin-top:16px}
.hero-copy .hcta{display:flex;flex-direction:column;gap:10px;margin-top:24px;align-items:flex-start}
.hero-copy .hcta .btn{width:100%}
.hero-pic{position:relative;overflow:hidden}
.hero-pic img{width:100%;height:100%;object-fit:cover;object-position:50% 28%;filter:brightness(.92) saturate(.92)}
.hero-pic::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,var(--char) 0%,rgba(41,36,32,0) 34%)}

/* ---------- section head ---------- */
.sec-head{margin-bottom:20px}
.sec-head .eyebrow{margin-bottom:13px}
.sec-head h2{font-size:31px}
.sec-head p{margin-top:13px}
.sec-head.center{text-align:center}

/* ---------- service cards ---------- */
.svc-stack{display:flex;flex-direction:column;gap:18px}
.svc-card{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);
  overflow:hidden;box-shadow:var(--shadow-sm);
}
.svc-card .svc-img{height:196px;overflow:hidden}
.svc-card .svc-img img{width:100%;height:100%;object-fit:cover}
.svc-card .svc-body{padding:24px 22px 26px}
.svc-card h3{font-size:26px}
.svc-card .fr{font-family:"Fraunces",serif;font-style:italic;font-size:14px;color:var(--terra);margin-top:1px}
.svc-card .svc-desc{font-size:14.5px;color:var(--muted);margin-top:12px;line-height:1.55}
.svc-card .svc-foot{margin-top:18px;padding-top:16px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}
.svc-card .from{font-size:13px;color:var(--muted)}
.svc-card .from b{font-family:"Fraunces",serif;font-size:20px;color:var(--ink);font-weight:600}

/* ---------- who this is for ---------- */
.who{background:var(--stone)}
.who-list{display:flex;flex-direction:column;gap:0;margin-top:6px}
.who-item{padding:22px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:26px 1fr;gap:14px}
.who-item:last-child{border-bottom:1px solid var(--line)}
.who-item .n{font-family:"Fraunces",serif;font-style:italic;font-size:16px;color:var(--terra);padding-top:5px}
.who-item h3{font-size:21px;line-height:1.15}
.who-item p{font-size:14px;color:var(--muted);margin-top:6px}

/* ---------- architecture (3 principles) ---------- */
.arch{background:var(--char);color:var(--cream-on-dark)}
.arch .sec-head h2{color:var(--cream-on-dark)}
.arch .sec-head .eyebrow{color:var(--clay)}
.arch .sec-head p{color:var(--muted-on-dark)}
.arch-list{display:flex;flex-direction:column;gap:0;margin-top:8px}
.arch-item{padding:24px 0;border-top:1px solid var(--line-dark)}
.arch-item:last-child{border-bottom:1px solid var(--line-dark)}
.arch-item .k{font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--clay);font-weight:600}
.arch-item h3{font-size:24px;color:var(--cream-on-dark);margin-top:10px}
.arch-item p{font-size:14px;color:var(--muted-on-dark);margin-top:9px;line-height:1.55}

/* ---------- rhythm statement (big pull line) ---------- */
.rhythm{background:var(--sand);text-align:center}
.rhythm .quote{font-family:"Fraunces",serif;font-size:32px;line-height:1.16;font-weight:500;color:var(--ink)}
.rhythm .quote em{font-style:italic;color:var(--terra)}
.rhythm .attr{margin-top:18px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink)}

/* ---------- feature (why in-home / person at door) split ---------- */
.feature .f-pic{border-radius:var(--r-lg);overflow:hidden;height:300px;box-shadow:var(--shadow-sm)}
.feature .f-pic img{width:100%;height:100%;object-fit:cover}
.feature .f-body{margin-top:20px}
.feature .f-body h2{font-size:29px}
.feature .f-body p{margin-top:14px;color:var(--muted);font-size:15px}
.feature .flist{margin-top:20px;display:flex;flex-direction:column;gap:14px}
.feature .flist .fi{display:grid;grid-template-columns:22px 1fr;gap:12px;align-items:start}
.feature .flist .fi .ic{width:18px;height:18px;color:var(--terra);margin-top:3px}
.feature .flist .fi b{font-family:"Hanken Grotesk";font-weight:600;font-size:14.5px;color:var(--ink)}
.feature .flist .fi span{display:block;font-size:13.5px;color:var(--muted);margin-top:2px}

/* ---------- membership highlight (flagship, dark) ---------- */
.memb{background:var(--char);color:var(--cream-on-dark);border-radius:0}
.memb .m-pic{position:relative;border-radius:var(--r-lg);overflow:hidden;height:220px;margin-bottom:20px}
.memb .m-pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.94)}
.memb .eyebrow{color:var(--clay)}
.memb h2{color:var(--cream-on-dark);font-size:30px;margin-top:12px}
.memb .m-lead{color:var(--muted-on-dark);font-size:15px;margin-top:14px;line-height:1.55}
.memb .m-benefits{margin-top:20px;display:flex;flex-direction:column}
.memb .m-benefits .b{font-size:14px;color:var(--cream-on-dark);padding:11px 0;border-top:1px solid var(--line-dark)}
.memb .m-benefits .b .ic{color:var(--clay);width:15px;height:15px;margin-top:4px}
.memb .m-rate{margin-top:22px;padding-top:18px;border-top:1px solid var(--line-dark);display:flex;align-items:baseline;gap:8px}
.memb .m-rate .amt{font-family:"Fraunces",serif;font-size:34px;font-weight:600;color:var(--cream-on-dark)}
.memb .m-rate .per{font-size:13px;color:var(--muted-on-dark)}
.memb .m-cta{margin-top:22px;display:flex;flex-direction:column;gap:10px}
.memb .m-cta .btn{width:100%}

/* ---------- pricing preview ---------- */
.pprev .p-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:16px 0;border-top:1px solid var(--line)}
.pprev .p-row:last-of-type{border-bottom:1px solid var(--line)}
.pprev .p-row .pn{font-family:"Fraunces",serif;font-size:21px;color:var(--ink)}
.pprev .p-row .pn small{display:block;font-family:"Hanken Grotesk";font-size:12px;color:var(--muted);letter-spacing:.02em;margin-top:2px}
.pprev .p-row .pv{font-size:14px;color:var(--muted);white-space:nowrap}
.pprev .p-row .pv b{font-family:"Fraunces",serif;font-size:19px;color:var(--ink);font-weight:600}
.pprev .p-note{margin-top:18px;font-size:13px;color:var(--muted)}

@media (max-width:819px){
  section .shell{
    max-width:calc(100vw - (var(--pad) * 2));
  }
  .pprev .shell{
    max-width:calc(100vw - 40px);
    margin-left:auto;
    margin-right:auto;
  }
  .pprev .p-row{
    display:flex;
    justify-content:space-between;
    align-items:baseline;
    gap:14px;
  }
  .pprev .p-row .pn{
    min-width:0;
    padding-right:0;
  }
  .pprev .p-row .pv{
    flex:none;
    max-width:none;
    margin-top:0;
    text-align:right;
    white-space:nowrap;
  }
  .pprev .lead,
  .pprev p{
    max-width:100%;
    overflow-wrap:anywhere;
  }
  .pprev .sec-head h1,
  .pprev .sec-head h2{
    overflow-wrap:normal;
    word-break:normal;
  }
}

@media (max-width:480px){
  section .shell{
    max-width:320px;
  }
}

/* ---------- areas preview ---------- */
.areas .a-map{border-radius:var(--r-lg);overflow:hidden;height:200px;margin-bottom:22px;box-shadow:var(--shadow-sm)}
.areas .a-map img{width:100%;height:100%;object-fit:cover}
.areas .a-cols{columns:2;column-gap:16px}
.areas .a-cols span{display:block;font-family:"Fraunces",serif;font-size:18px;line-height:1.9;color:var(--ink);break-inside:avoid}

/* ---------- FAQ preview ---------- */
.faqp .q{border-top:1px solid var(--line);padding:18px 0;display:flex;justify-content:space-between;align-items:center;gap:14px}
.faqp .q:last-of-type{border-bottom:1px solid var(--line)}
.faqp .q .qt{font-family:"Fraunces",serif;font-size:19px;color:var(--ink)}
.faqp .q .pl{color:var(--terra);font-size:18px;flex:none}

/* ---------- final CTA ---------- */
.finale{background:var(--char);color:var(--cream-on-dark);text-align:center}
.finale .eyebrow{color:var(--clay)}
.finale h1,.finale h2{color:var(--cream-on-dark);font-size:34px;margin-top:12px}
.finale p{color:var(--muted-on-dark);margin-top:14px;font-size:15px}
.finale .f-cta{margin-top:26px;display:flex;flex-direction:column;gap:11px}
.finale .f-cta .btn{width:100%}
.finale .f-phone{margin-top:22px;font-size:13px;letter-spacing:.04em;color:var(--muted-on-dark)}
.finale .f-phone a{color:var(--cream-on-dark);border-bottom:1px solid var(--terra);padding-bottom:2px}

/* ---------- footer ---------- */
.site-foot{background:var(--stone);color:var(--muted);padding:44px var(--pad) 40px;border-top:1px solid var(--line)}
.site-foot .f-in{max-width:var(--maxw);margin:0 auto}
.site-foot .fmark{font-family:"Fraunces",serif;font-size:24px;color:var(--ink);font-weight:600}
.site-foot .fline{font-size:13px;margin-top:8px}
.site-foot .fcontact{display:flex;gap:16px;margin-top:16px}
.site-foot .fcontact a{color:var(--ink);font-size:13.5px;border-bottom:1px solid var(--terra);padding-bottom:3px}
.site-foot .fcols{display:grid;grid-template-columns:1fr 1fr;gap:26px 16px;margin-top:32px}
.site-foot .fcol h3{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--terra);font-weight:600;font-family:"Hanken Grotesk"}
.site-foot .fcol ul{list-style:none;margin-top:12px}
.site-foot .fcol li{margin-bottom:9px}
.site-foot .fcol a{font-size:13.5px;color:var(--muted)}
.site-foot .fmeta{margin-top:34px;padding-top:20px;border-top:1px solid var(--line);font-size:12px;line-height:1.7;color:var(--muted)}

/* ---------- sticky mobile CTA bar ---------- */
.sticky-cta{
  position:fixed;left:0;right:0;bottom:0;z-index:40;
  background:rgba(41,36,32,.96);backdrop-filter:blur(8px);
  display:flex;gap:10px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));
  border-top:1px solid var(--char-2);
}
.sticky-cta .btn{flex:1}
.sticky-cta .btn.call{flex:0 0 auto;padding-inline:18px}
@media (max-width:819.98px){
  html:has(.sticky-cta){scroll-padding-bottom:calc(84px + env(safe-area-inset-bottom))}
  body:has(.sticky-cta) .site-foot{padding-bottom:calc(120px + env(safe-area-inset-bottom))}
}


/* ---------- desktop ---------- */
@media (min-width:820px){
  :root{--maxw:1180px;--pad:40px}
  section{padding:60px 40px}
  .nav-links{display:flex;gap:26px;list-style:none;align-items:center}
  .nav-links a:not(.btn){font-size:14px;color:var(--ink);font-weight:500}
  .nav-links a.btn{color:var(--cream-on-dark)}
  .burger,.mobile-panel{display:none}
  .sticky-cta{display:none}
  .wordmark .wm{font-size:22px}
  .hero-grid{min-height:540px}
  .hero-copy{padding:60px}
  .hero-copy h1{font-size:52px}
  .hero-copy .hsub{font-size:16px;max-width:34ch}
  .hero-copy .hcta{flex-direction:row}
  .hero-copy .hcta .btn{width:auto}
  .sec-head h2{font-size:44px}
  .sec-head{max-width:34ch}
  .svc-stack{flex-direction:row}
  .svc-card{flex:1}
  .who-list{max-width:none}
  .arch-list{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0 32px}
  .arch-item{border-top:0;border-bottom:0}
  .feature .f-flex{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center}
  .feature .f-pic{height:360px}
  .feature .f-body{margin-top:0}
  .rhythm .quote{font-size:48px;max-width:22ch;margin:0 auto}
  .memb .m-flex{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:stretch}
  .memb .m-pic{height:100%;min-height:340px;margin-bottom:0}
  .pprev .p-wrap{max-width:720px;margin:0 auto}
  .areas .a-flex{display:grid;grid-template-columns:1.2fr 1fr;gap:36px;align-items:center}
  .areas .a-map{height:300px;margin-bottom:0}
  .faqp .f-wrap{max-width:760px;margin:0 auto}
  .finale h1,.finale h2{font-size:52px}
  .finale .f-cta{flex-direction:row;justify-content:center}
  .finale .f-cta .btn{width:auto}
  .site-foot{padding:48px 40px}
  .site-foot .f-top{display:grid;grid-template-columns:1fr 1.4fr;gap:40px}
  .site-foot .fcols{grid-template-columns:1fr 1fr 1fr;margin-top:0}
}

/* ============================================================
   v3 — centered minimal home (smoke hero) + eyebrow kill
   (Farid: less text, centered, charm, no micro-labels)
   ============================================================ */

/* kill the small uppercase micro-labels everywhere */
.eyebrow,.kicker{display:none !important}

/* smoke hero — atmospheric, centered, minimal */
.smoke-hero{position:relative;overflow:hidden;background:var(--char-2);
  min-height:clamp(440px,68vh,580px);display:flex;align-items:center;justify-content:center;
  text-align:center;padding:76px 24px 52px}
.smoke-hero .sh-media{position:absolute;inset:0;z-index:0;overflow:hidden;background:#17130e}
.smoke-hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  filter:sepia(.5) saturate(1.2) brightness(.72) contrast(1.16);transform:scale(1.45)}
.smoke-hero .sh-veil{position:absolute;inset:0;background:
  radial-gradient(62% 60% at 50% 44%,rgba(23,19,14,.16),rgba(23,19,14,.5) 100%),
  linear-gradient(180deg,rgba(23,19,14,.58),rgba(23,19,14,.12) 36%,rgba(23,19,14,.74))}
.smoke-hero .sh-in{position:relative;z-index:1;max-width:17ch;margin:0 auto}
.smoke-hero h1{font-size:clamp(2.9rem,13.5vw,3.7rem);line-height:.96;letter-spacing:-.02em;
  font-weight:400;color:var(--cream-on-dark);text-shadow:0 18px 46px rgba(0,0,0,.32)}
.smoke-hero h1 em{font-style:italic;color:var(--clay);display:block}
.smoke-hero .sh-line{margin:20px auto 0;color:var(--cream-on-dark);opacity:.86;
  font-family:"Fraunces",serif;font-style:italic;font-size:20px;font-weight:400;
  letter-spacing:.01em;max-width:26ch;line-height:1.4}
.smoke-hero .sh-cta{margin-top:32px;display:flex;flex-direction:column;gap:11px;align-items:center}
.smoke-hero .sh-cta .btn{min-width:236px}

/* centered minimal section rhythm */
.mini{text-align:center}
.mini .sec-head{margin:0 auto 20px;max-width:34ch}
.mini .sec-head h2{font-size:32px}
.mini .mlead{max-width:32ch;margin:14px auto 0;color:var(--muted);font-size:15px;line-height:1.6}
.mini .mlead.on-dark{color:var(--muted-on-dark)}
.mini .m-actions{margin-top:20px;display:flex;justify-content:center;gap:14px;flex-wrap:wrap}
.mini .textlink{justify-content:center}

/* simple centered membership band (lighter than .memb) */
.cercle-min{background:var(--char);color:var(--cream-on-dark);text-align:center}
.cercle-min h2{color:var(--cream-on-dark);font-size:32px}
.cercle-min .price{font-family:"Fraunces",serif;font-size:40px;font-weight:600;color:var(--cream-on-dark);margin-top:14px}
.cercle-min .price small{font-size:14px;color:var(--muted-on-dark);font-family:"Hanken Grotesk"}

/* centered practitioner portrait */
.person{text-align:center}
.person .p-portrait{width:200px;height:240px;margin:0 auto 20px;border-radius:200px 200px 22px 22px;overflow:hidden;box-shadow:var(--shadow)}
.person .p-portrait img{width:100%;height:100%;object-fit:cover}

/* centered areas */
.areas-min{text-align:center;background:var(--stone)}
.areas-min .suburbs{margin:22px auto 0;max-width:30ch;font-family:"Fraunces",serif;font-size:21px;line-height:1.9;color:var(--ink)}
.areas-min .suburbs .sep{color:var(--terra);padding:0 6px}

/* on desktop keep centered but roomier */
@media (min-width:820px){
  .smoke-hero h1{font-size:clamp(4rem,8vw,6.4rem)}
  .smoke-hero .sh-in{max-width:20ch}
  .smoke-hero .sh-cta{flex-direction:row;justify-content:center}
  .mini .sec-head h2{font-size:46px}
  .svc-stack{gap:22px}
}

/* real photo hero (Saint Haven style: full-bleed warm image + centered serif) */
.smoke-hero img.sh-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  filter:brightness(.74) saturate(1.04) contrast(1.03)}
.smoke-hero.photo .sh-veil{background:
  radial-gradient(58% 52% at 50% 52%,rgba(23,19,14,.22),rgba(23,19,14,.52) 100%),
  linear-gradient(180deg,rgba(23,19,14,.5),rgba(23,19,14,.22) 40%,rgba(23,19,14,.7))}

/* service-area map (replaces the text suburb list) */
.map-frame{position:relative;margin:16px auto 0;max-width:520px;border-radius:var(--r-lg);
  overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--line-2)}
.map-frame iframe{display:block;width:100%;height:300px;border:0;
  filter:sepia(.22) saturate(.82) contrast(.94) brightness(1.02)}
.map-frame::after{content:"";position:absolute;inset:0;pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(41,36,32,.06);border-radius:var(--r-lg)}
@media (min-width:820px){ .map-frame iframe{height:380px} }

/* ---------- premium motion: reveal on scroll + cinematic hero + refined hover ---------- */
.rev{opacity:0;transform:translateY(12px);transition:opacity .32s cubic-bezier(.2,.6,.2,1),transform .32s cubic-bezier(.2,.6,.2,1)}
.rev.rin{opacity:1;transform:none}
.smoke-hero.photo img.sh-photo{animation:kenburns 24s ease-in-out infinite alternate;will-change:transform}
@keyframes kenburns{from{transform:scale(1.04)}to{transform:scale(1.13)}}
.f-pic img,.svc-card .svc-img img,.faq-pic img,.memb .m-pic img,.hero-pic img{transition:transform 1.1s cubic-bezier(.2,.6,.2,1)}
.f-pic:hover img,.svc-card:hover .svc-img img,.faq-pic:hover img,.memb:hover .m-pic img{transform:scale(1.045)}
.svc-card{transition:transform .5s cubic-bezier(.2,.6,.2,1),box-shadow .5s ease}
.svc-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.btn{transition:transform .4s cubic-bezier(.2,.6,.2,1),background .3s ease,color .3s ease,border-color .3s ease}
.btn:hover{transform:translateY(-2px)}
@media (prefers-reduced-motion:reduce){.rev{opacity:1;transform:none;transition:none}.smoke-hero.photo img.sh-photo{animation:none}.f-pic img,.svc-card .svc-img img,.faq-pic img,.memb .m-pic img,.hero-pic img,.svc-card,.btn{transition:none}}

/* home hero: wider variant + micro trust line */
.smoke-hero .sh-in.wide{max-width:23ch}
.smoke-hero .sh-trust{margin-top:18px;color:var(--cream-on-dark);opacity:.68;font-size:12.5px;letter-spacing:.02em;line-height:1.5}
@media(min-width:820px){.smoke-hero .sh-in.wide{max-width:33ch}.smoke-hero .sh-in.wide h1{font-size:clamp(3.2rem,6vw,5rem)}}

/* trust strip - editorial hairline rows, no boxes */
.trust{background:var(--paper);text-align:center}
.trust .sec-head.center{text-align:center;margin-bottom:34px;max-width:none}
.trust .sec-head.center h2{font-size:29px}
.trust-list{display:grid;grid-template-columns:1fr;max-width:620px;margin:0 auto;text-align:left}
.trust-item{display:flex;align-items:baseline;gap:16px;padding:17px 2px;border-top:1px solid var(--line-2)}
.trust-item:first-child{border-top:0}
.trust-item .tn{font-family:"Fraunces",Georgia,serif;font-style:italic;font-size:20px;color:var(--clay);min-width:24px;line-height:1}
.trust-item p{font-size:15px;color:var(--ink);line-height:1.5;letter-spacing:.003em}
@media(min-width:820px){
  .trust .sec-head.center{margin-bottom:46px}
  .trust .sec-head.center h2{font-size:38px}
  .trust-list{grid-template-columns:1fr 1fr;column-gap:64px;max-width:960px}
  .trust-item{padding:20px 2px}
  .trust-item:nth-child(2){border-top:0}
}

/* mobility map (stretch differentiator) */
.mmap{background:var(--char)}
.mmap-card{max-width:660px;margin:0 auto;background:var(--char-2);border:1px solid var(--line-dark);border-radius:var(--r-lg);padding:32px 26px;color:var(--cream-on-dark);box-shadow:var(--shadow)}
.mmap-card .mmap-tag{font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--clay);margin-bottom:14px;font-weight:600}
.mmap-card h2{color:var(--cream-on-dark);font-size:30px}
.mmap-card p{color:var(--muted-on-dark);font-size:15px;line-height:1.7;margin-top:12px}
@media(min-width:820px){.mmap-card{padding:46px 44px}.mmap-card h2{font-size:38px}}

/* hero video (photo-style, overrides vestigial smoke video filter) */
.smoke-hero video.sh-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 45%;filter:brightness(.84) saturate(1.02) contrast(1.02);transform:none;animation:none}

/* hero-pic video (service pages split hero) */
.hero-pic video.hero-vid{width:100%;height:100%;object-fit:cover;object-position:50% 40%;filter:brightness(.92) saturate(.96)}

/* service full-width hero (longer titles + factual subline) */
.smoke-hero.svc h1{font-size:clamp(2.3rem,8.5vw,3rem)}
.smoke-hero.svc .sh-line{font-family:"Hanken Grotesk",sans-serif;font-style:normal;font-size:15px;max-width:36ch;opacity:.92}
@media(min-width:820px){.smoke-hero.svc h1{font-size:clamp(3rem,5vw,4.2rem)}.smoke-hero.svc .sh-in.wide{max-width:38ch}}

/* ---------- homepage editorial (v14) ---------- */
.feature .f-pic.tall{height:380px}
.home .svc-desc,.services .svc-desc{margin-top:4px}
.steps{list-style:none}
.steps li{padding:15px 0;border-top:1px solid var(--line-2);font-size:14.5px;color:var(--muted);line-height:1.55}
.steps li:first-child{border-top:0;padding-top:0}
.steps li b{display:block;color:var(--ink);font-family:"Fraunces",Georgia,serif;font-style:italic;font-weight:500;font-size:19px;margin-bottom:3px}
.home-map{margin:0 auto;max-width:480px}
.home-map img{width:100%;height:auto;border-radius:var(--r-lg);box-shadow:var(--shadow);border:1px solid var(--line-2);background:var(--paper)}
@media(min-width:820px){
  .feature .f-pic.tall{height:540px}
  .feature.reversed .f-pic{order:2}
  .feature.reversed .f-body{order:1}
  .home-map{max-width:560px}
}

/* compact trust chips (folded into first-session) */
.trust-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.trust-chips span{font-size:11.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);background:var(--paper);border:1px solid var(--line-2);border-radius:2px;padding:7px 13px;white-space:nowrap}

/* ============================================================
   v17 - Zera reference pass, home only
   Cinematic, mobile-first, no heavy preloader, no medical cues.
   ============================================================ */

.home-page{
  background:#050403;
}

.home-page .site-head{
  position:absolute;
  inset:0 0 auto 0;
  z-index:80;
  background:transparent;
  border-bottom:0;
  color:#fff;
  backdrop-filter:none;
}

.home-page .head-row{
  max-width:none;
  padding:22px 16px 0;
}

.home-page .head-row::after{
  content:"";
  width:34px;
  height:1px;
}

.home-page .wordmark{
  color:#fff;
  text-align:center;
}

.home-page .wordmark .wm{
  color:#fff;
  font-size:14px;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-weight:600;
  text-shadow:0 2px 18px rgba(0,0,0,.36);
}

.home-page .wordmark .wm-sub{
  color:rgba(255,255,255,.72);
  font-size:6px;
  letter-spacing:.34em;
}

.home-page .burger{
  order:-1;
  padding:8px 0;
}

.home-page .burger span{
  width:34px;
  height:1.5px;
  background:#fff;
  box-shadow:0 1px 12px rgba(0,0,0,.35);
}

.home-page .burger span:nth-child(2){
  display:none;
}

.home-page .nav-cb:checked ~ .site-head .burger span:nth-child(1){
  transform:translateY(3px) rotate(45deg);
}

.home-page .nav-cb:checked ~ .site-head .burger span:nth-child(3){
  transform:translateY(-3px) rotate(-45deg);
}

.home-page .sticky-cta{
  display:none;
}

.cinema-hero{
  position:relative;
  isolation:isolate;
  min-height:100svh;
  width:100%;
  overflow:hidden;
  background:#050403;
  padding:0;
}

.cinema-media,
.cinema-scrim{
  position:absolute;
  inset:0;
}

.cinema-media{
  z-index:-3;
  background:#050403;
}

.cinema-media img{
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  object-position:48% 47%;
  filter:brightness(.75) saturate(.97) contrast(1.04);
  transform:scale(1.12);
  animation:cinemaBreath 24s ease-in-out infinite alternate;
}

.cinema-scrim{
  z-index:-2;
  background:
    radial-gradient(circle at 62% 36%,rgba(255,214,168,.12),transparent 28%),
    linear-gradient(90deg,rgba(0,0,0,.94) 0%,rgba(0,0,0,.58) 36%,rgba(0,0,0,.22) 64%,rgba(0,0,0,.72) 100%),
    linear-gradient(180deg,rgba(0,0,0,.08) 0%,rgba(0,0,0,.04) 38%,rgba(0,0,0,.78) 100%);
}

.cinema-stage{
  position:absolute;
  inset:0;
  z-index:2;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  padding-bottom:7svh;
  padding-left:16px;
  padding-right:16px;
  pointer-events:none;
}

.cinema-word{
  font-family:"Fraunces",Georgia,serif;
  font-size:clamp(3.4rem,19.5vw,8.15rem);
  font-weight:600;
  line-height:.72;
  letter-spacing:-.075em;
  text-transform:uppercase;
  transform:scaleX(.9);
  transform-origin:center;
  width:max-content;
  margin-left:0;
  background:
    linear-gradient(180deg,#fff 0%,#fff9ee 18%,#cfb187 48%,#f7ead7 72%,#fff 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  -webkit-text-fill-color:transparent;
  -webkit-text-stroke:.45px rgba(255,255,255,.38);
  text-shadow:0 26px 58px rgba(0,0,0,.42);
  white-space:nowrap;
  animation:cwRise 1.35s cubic-bezier(.16,.72,.2,1) .18s both;
}

.cinema-sub{
  align-self:center;
  width:min(32ch,calc(100vw - 44px));
  margin-top:30px;
  color:#F1E9DB;
  font-size:15px;
  line-height:1.55;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:600;
  text-shadow:0 12px 28px rgba(0,0,0,.55);
  animation:cFade 1.1s ease .72s both;
}

.cinema-cta{
  align-self:center;
  margin-top:26px;
  pointer-events:auto;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:14px 26px;
  border-radius:2px;
  background:#F1E9DB;
  border:1px solid #F1E9DB;
  color:#26201A;
  font:600 12.5px/1 "Hanken Grotesk",sans-serif;
  letter-spacing:.2em;
  text-transform:uppercase;
  box-shadow:0 14px 34px -18px rgba(0,0,0,.7);
  transition:background .3s ease,border-color .3s ease,color .3s ease,transform .2s ease;
  animation:cFade 1.2s ease .92s both;
}
.cinema-cta:hover{background:#5E2A2A;border-color:#5E2A2A;color:#fff8ee}
.cinema-cta:active{transform:translateY(1px)}
.cinema-cta:focus-visible{outline:2px solid #fff8ee;outline-offset:3px}

.cinema-brandline{
  position:absolute;
  left:50%;
  top:92px;
  z-index:2;
  transform:translateX(-50%);
  width:max-content;
  max-width:86vw;
  color:rgba(255,248,236,.66);
  font-size:9px;
  line-height:1.15;
  letter-spacing:.28em;
  text-transform:uppercase;
  font-weight:700;
  animation:cFade 1.2s ease .1s both;
}

.cinema-scroll{
  position:absolute;
  left:50%;
  bottom:26px;
  z-index:3;
  transform:translateX(-50%);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
  color:#fff;
  text-align:center;
  animation:cFade 1.2s ease 1s both;
}

.cinema-scroll span{
  font-size:9px;
  letter-spacing:.42em;
  line-height:1;
  text-transform:uppercase;
  font-weight:700;
  white-space:nowrap;
}

.cinema-scroll i{
  position:relative;
  width:1px;
  height:42px;
  background:linear-gradient(180deg,#fff,rgba(255,255,255,0));
  opacity:.86;
}

.cinema-scroll i::after{
  content:"";
  position:absolute;
  left:50%;
  top:8px;
  width:9px;
  height:9px;
  border-right:1px solid #fff;
  border-bottom:1px solid #fff;
  transform:translateX(-50%) rotate(45deg);
}

/* hero intro (Zera-style): masked upward reveal of the wordmark + staggered fades */
@keyframes cwRise{
  from{opacity:0;transform:scaleX(.9) translateY(28px);clip-path:inset(100% 0 -34% 0)}
  to{opacity:1;transform:scaleX(.9) translateY(0);clip-path:inset(0 0 -34% 0)}
}
@keyframes cFade{
  from{opacity:0}
  to{opacity:1}
}
@media (prefers-reduced-motion:reduce){
  .cinema-word{animation:none;clip-path:none}
  .cinema-sub,.cinema-brandline,.cinema-scroll{animation:none}
}

.home-services{
  position:relative;
  background:#050403;
  color:var(--cream-on-dark);
  padding-top:66px;
  padding-bottom:74px;
}

.home-services::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 50% 0%,rgba(255,255,255,.06),transparent 42%),
    linear-gradient(180deg,#050403 0%,#17120d 100%);
}

.home-services .shell{
  position:relative;
  z-index:1;
}

.home-services .sec-head h2{
  color:var(--cream-on-dark);
  font-size:clamp(3.35rem,19vw,5.55rem);
  line-height:.83;
  letter-spacing:-.055em;
  text-transform:uppercase;
}

.home-services .svc-stack{
  gap:14px;
}

.home-services .svc-card{
  position:relative;
  min-height:440px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  border:1px solid rgba(255,255,255,.14);
  border-radius:3px;
  overflow:hidden;
  background:#130f0c;
  box-shadow:0 28px 70px -34px rgba(0,0,0,.82);
}

.home-services .svc-card .svc-img{
  position:absolute;
  inset:0;
  height:auto;
}

.home-services .svc-card .svc-img img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:brightness(.8) saturate(.92) contrast(1.02);
  transform:scale(1.035);
}

.home-services .svc-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.05) 0%,rgba(0,0,0,.28) 38%,rgba(0,0,0,.82) 100%);
}

.home-services .svc-body{
  position:relative;
  z-index:1;
  padding:28px 24px 26px;
  text-align:left;
}

.home-services .svc-card h3{
  color:#fff7ea;
  font-size:34px;
  line-height:.95;
  letter-spacing:-.025em;
}

.home-services .svc-desc{
  color:rgba(255,248,236,.76);
  margin-top:10px;
  max-width:22ch;
}

.home-services .svc-foot{
  border-color:rgba(255,255,255,.18);
}

.home-services .from,
.home-services .textlink{
  color:rgba(255,248,236,.72);
}

.home-services .from b,
.home-services .textlink svg{
  color:#fff7ea;
}

.home-services .textlink{
  border-color:rgba(183,154,115,.9);
}

.rhythm-split{
  position:relative;
  overflow:hidden;
  background:#f2eadc;
  padding:74px 20px;
}

.rhythm-split::before{
  content:"RHYTHM";
  position:absolute;
  left:50%;
  top:8px;
  transform:translateX(-50%) scaleX(.9);
  font-family:"Fraunces",Georgia,serif;
  font-size:28vw;
  line-height:.72;
  letter-spacing:-.08em;
  color:rgba(41,36,32,.045);
  pointer-events:none;
  white-space:nowrap;
}

.rhythm-copy{
  position:relative;
  text-align:center;
  max-width:680px;
  margin:0 auto 28px;
}

.rhythm-copy h2{
  font-size:clamp(3.1rem,15vw,5.2rem);
  line-height:.85;
  letter-spacing:-.055em;
}

.rhythm-copy p{
  max-width:34ch;
  margin:22px auto 0;
  color:var(--muted);
  font-size:15px;
  line-height:1.58;
}

.rhythm-panels{
  position:relative;
  display:grid;
  gap:12px;
}

.rhythm-panel{
  display:flex;
  min-height:310px;
  flex-direction:column;
  justify-content:flex-end;
  border:1px solid rgba(41,36,32,.14);
  border-radius:3px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.04)),
    #211812;
  color:#fff6e8;
  padding:26px 22px;
  box-shadow:0 28px 70px -42px rgba(35,22,12,.55);
}

.rhythm-panel:nth-child(2){
  background:
    linear-gradient(180deg,rgba(255,255,255,.13),rgba(255,255,255,.03)),
    #130f0c;
}

.rhythm-panel .rp-k{
  font-size:10px;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:rgba(255,246,232,.58);
  font-weight:700;
}

.rhythm-panel h3{
  margin-top:14px;
  max-width:9ch;
  color:#fff6e8;
  font-size:42px;
  line-height:.9;
  letter-spacing:-.04em;
}

.rhythm-panel p{
  max-width:27ch;
  margin-top:16px;
  color:rgba(255,246,232,.72);
  font-size:14.5px;
  line-height:1.54;
}

.rhythm-panel strong{
  display:block;
  margin-top:22px;
  padding-top:16px;
  border-top:1px solid rgba(255,246,232,.16);
  color:#fff6e8;
  font-family:"Fraunces",Georgia,serif;
  font-size:26px;
  font-weight:600;
}

@keyframes cinemaBreath{
  from{transform:scale(1.08)}
  to{transform:scale(1.16)}
}

@media (min-width:820px){
  .home-page .head-row{
    padding:38px 80px 0;
  }

  .home-page .head-row::after{
    display:none;
  }

  .home-page .site-head .wordmark{
    min-width:170px;
    text-align:left;
  }

  .home-page .wordmark .wm{
    font-size:15px;
  }

  .home-page .nav-links{
    display:flex;
    align-items:center;
    gap:44px;
  }

  .home-page .nav-links a:not(.btn){
    color:rgba(255,255,255,.74);
    font-size:12px;
    letter-spacing:.08em;
    text-transform:uppercase;
    text-shadow:0 2px 18px rgba(0,0,0,.36);
  }

  .home-page .nav-links a:not(.btn):hover{
    color:#fff;
  }

  .home-page .nav-links .btn{
    min-width:142px;
    height:46px;
    border-radius:2px;
    background:#fff8ee;
    color:#17120d;
    box-shadow:0 18px 40px -24px rgba(0,0,0,.75);
  }

  .cinema-media img{
    object-position:50% 52%;
    transform:scale(1.08);
  }

  .cinema-stage{
    inset:auto 0 16.5svh;
    align-items:center;
  }

  .cinema-word{
    margin-left:0;
    font-size:clamp(9.8rem,16.6vw,18rem);
    letter-spacing:-.085em;
    transform:scaleX(.92);
    line-height:.7;
  }

  .cinema-sub{
    margin-top:26px;
    font-size:11px;
    width:auto;
    max-width:56ch;
    letter-spacing:.2em;
  }

  .cinema-brandline{
    top:auto;
    left:80px;
    bottom:68px;
    transform:none;
  }

  .cinema-scroll{
    bottom:42px;
  }

  .home-services{
    padding-top:104px;
    padding-bottom:112px;
  }

  .home-services .sec-head{
    max-width:none;
    margin-bottom:48px;
  }

  .home-services .sec-head h2{
    font-size:clamp(5.6rem,9vw,9rem);
    line-height:.78;
    transform:scaleX(.92);
  }

  .home-services .svc-stack{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px;
  }

  .home-services .svc-card{
    min-height:560px;
  }

  .home-services .svc-card h3{
    font-size:42px;
  }

  .rhythm-split{
    padding:120px 40px;
  }

  .rhythm-split::before{
    top:-18px;
    font-size:15vw;
  }

  .rhythm-copy{
    margin-bottom:58px;
  }

  .rhythm-copy h2{
    font-size:clamp(5.3rem,8.2vw,8.2rem);
  }

  .rhythm-panels{
    grid-template-columns:1fr 1fr;
    gap:22px;
  }

  .rhythm-panel{
    min-height:520px;
    padding:38px;
  }

  .rhythm-panel h3{
    font-size:56px;
  }
}

@media (prefers-reduced-motion:reduce){
  .cinema-media img{animation:none}
}

/* ============================================================
   v29 - pricing index redesign (compact, scannable, one policy)
   ============================================================ */
.price-index .p-wrap{max-width:920px;margin:0 auto}

.price-note{margin-top:22px;padding:18px 0;border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2);display:flex;flex-direction:column;gap:8px}
.price-note p{margin:0;font-size:14px;line-height:1.55;color:var(--muted)}
.price-note a{color:var(--ink);border-bottom:1px solid var(--terra);padding-bottom:1px}

.price-grid{margin-top:28px;display:grid;grid-template-columns:1fr;gap:16px}
.price-card{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:24px 22px;box-shadow:var(--shadow-sm)}
.price-card h2{font-size:25px;color:var(--ink)}
.price-card .pc-desc{margin-top:9px;font-size:14px;line-height:1.5;color:var(--muted);max-width:36ch}
.price-card .pc-rows{list-style:none;margin:18px 0 0}
.price-card .pc-rows li{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:11px 0;border-top:1px solid var(--line)}
.price-card .pc-rows li:first-child{border-top:0}
.price-card .pc-rows .d{font-family:"Fraunces",Georgia,serif;font-size:20px;color:var(--ink)}
.price-card .pc-rows .d .tag{display:inline-block;margin-left:9px;font-family:"Hanken Grotesk",sans-serif;font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--terra);vertical-align:middle}
.price-card .pc-rows .v{font-family:"Fraunces",Georgia,serif;font-size:21px;font-weight:600;color:var(--ink);white-space:nowrap}
.price-card .pc-link{margin-top:20px;align-self:flex-start}

/* memberships as two clear options */
.memb-index{background:var(--stone)}
.memb-index .m-head{max-width:38ch;margin:0 auto 30px;text-align:center}
.memb-index .m-head h2{font-size:31px;color:var(--ink)}
.memb-index .m-head p{margin-top:12px;font-size:15px;line-height:1.55;color:var(--muted)}
.memb-grid{display:grid;grid-template-columns:1fr;gap:16px;max-width:840px;margin:0 auto}
.memb-card{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:26px 24px;box-shadow:var(--shadow-sm)}
.memb-card.lead-card{border-color:var(--terra);box-shadow:var(--shadow)}
.memb-card .mc-tag{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--terra)}
.memb-card h3{margin-top:9px;font-size:27px;color:var(--ink)}
.memb-card .mc-rate{margin-top:12px;display:flex;align-items:baseline;gap:7px}
.memb-card .mc-rate .amt{font-family:"Fraunces",Georgia,serif;font-size:40px;font-weight:600;color:var(--ink);line-height:1}
.memb-card .mc-rate .per{font-size:13px;color:var(--muted)}
.memb-card .mc-desc{margin-top:13px;font-size:14px;line-height:1.55;color:var(--muted)}
.memb-card .mc-list{list-style:none;margin-top:16px;display:flex;flex-direction:column;gap:10px}
.memb-card .mc-list li{display:grid;grid-template-columns:18px 1fr;gap:10px;font-size:13.5px;line-height:1.45;color:var(--ink)}
.memb-card .mc-list .ic{width:15px;height:15px;color:var(--terra);margin-top:3px}
.memb-card .mc-two{margin-top:16px;display:flex;gap:12px}
.memb-card .mc-two .pill{flex:1;text-align:center;border:1px solid var(--line-2);border-radius:var(--r-sm);padding:14px 10px}
.memb-card .mc-two .pill b{display:block;font-family:"Fraunces",Georgia,serif;font-size:26px;font-weight:600;color:var(--ink);line-height:1}
.memb-card .mc-two .pill span{display:block;margin-top:5px;font-size:12px;color:var(--muted)}
.memb-card .mc-cta{margin-top:auto;padding-top:20px}

@media (min-width:820px){
  .price-index .p-wrap{max-width:1080px}
  .price-grid{grid-template-columns:repeat(3,1fr);gap:22px}
  .memb-grid{grid-template-columns:1.15fr 1fr;gap:22px;align-items:start}
}
/* ---------- consistent card alignment across siblings ---------- */
@media (min-width:820px){
  @supports (grid-template-rows: subgrid){
    .rhythm-panels{grid-template-rows:repeat(4,auto)}
    .rhythm-panel{display:grid;grid-template-rows:subgrid;grid-row:span 4;align-content:end;justify-content:start;justify-items:start;text-align:left}
  }
}
.svc-card{display:flex;flex-direction:column}
.svc-card .svc-body{display:flex;flex-direction:column;flex:1}
.svc-card .svc-foot{margin-top:auto;padding-top:16px}
.price-card .pc-desc{min-height:3em}
.price-card .pc-link{margin-top:auto;padding-top:20px}

/* ---------- two-column technique comparison (stretch: PNF | classic) ---------- */
.duo{display:grid;gap:12px;margin-top:6px}
.duo-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:22px 20px}
.duo-card .k{font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--terra);font-weight:600}
.duo-card h3{font-size:22px;margin-top:8px}
.duo-card p{font-size:14.5px;line-height:1.6;color:var(--muted);margin-top:10px}
@media (min-width:820px){.duo{grid-template-columns:1fr 1fr;gap:22px}}

/* ================================================================
   APPEND v34 — composition system + home recomposition (2026-07-12)
   ================================================================ */

/* -- tokens: fluid type scale (opt-in via classes below) -- */
:root{
  --fs-display:clamp(2.4rem,9vw,4.6rem);
  --fs-h1:clamp(2.05rem,6.4vw,3.1rem);
  --fs-h2:clamp(1.6rem,4.6vw,2.5rem);
  --fs-h2-minor:clamp(1.35rem,3.6vw,1.9rem);
  --fs-h3:clamp(1.15rem,3vw,1.5rem);
  --fs-lead:clamp(1.02rem,2.4vw,1.2rem);
}

/* GT-1: balanced heading rag everywhere (safe, rendering-only) */
h1,h2,h3{text-wrap:balance}

/* GT-2: restore narrative > utility scale on desktop
   (fixes .feature .f-body h2 locked at 29px beating 44px sec-heads) */
@media(min-width:820px){.feature .f-body h2{font-size:clamp(34px,3.2vw,40px)}}

/* GT-3: desktop-only section breathing (mobile untouched for
   sticky-CTA clearance tests) */
@media(min-width:820px){section{padding-block:clamp(48px,7vw,84px)}}

/* -- alignment utilities -- */
.editorial{text-align:left}
.editorial p,.editorial .lead{max-width:62ch;margin-inline:0}
.editorial .sec-head h2{font-size:var(--fs-h2)}
.sec-head.minor h2{font-size:var(--fs-h2-minor)}

/* asymmetric split (text + media). NEVER name a flip variant .rev */
.split{display:flex;flex-direction:column;gap:26px}
@media(min-width:820px){
  .split{flex-direction:row;align-items:flex-start;gap:56px}
  .split .media{flex:0 0 42%}
  .split .body{flex:1;max-width:62ch}
  .split.flip .media{order:2}
}
.feature.flip .f-pic{order:0}
@media(min-width:820px){.feature.flip .f-pic{order:2}}

/* horizontal practical band (facts, credentials, notes) */
.band-info{border-block:1px solid var(--line);padding:16px 0;display:flex;flex-wrap:wrap;gap:8px 22px;align-items:baseline;font-size:13.5px;letter-spacing:.02em;color:var(--muted)}
.band-info b{color:var(--ink);font-weight:600}

/* isolated short centred line (single centred moment per page) */
.statement{text-align:center;padding-block:clamp(34px,7vw,64px)}
.statement p{font-family:"Fraunces",Georgia,serif;font-style:italic;font-size:clamp(1.5rem,4.5vw,2.2rem);line-height:1.25;max-width:24ch;margin-inline:auto;color:var(--ink)}

/* numbered hairline rows (who-item DNA, generic reuse) */
.rows-num{list-style:none;margin:0;padding:0}
.rows-num li{border-top:1px solid var(--line);padding:18px 0;display:flex;gap:18px;align-items:baseline}
.rows-num li:last-child{border-bottom:1px solid var(--line)}
.rows-num .n{font-family:"Fraunces",Georgia,serif;font-style:italic;font-size:22px;color:var(--terra);min-width:34px}

/* refined card rules */
.card-flat{border:0;border-radius:0;box-shadow:none;background:transparent}
.media-row{display:flex;gap:16px;align-items:center}
.media-row .thumb{flex:0 0 96px;height:96px;border-radius:var(--r-sm);overflow:hidden}
.media-row .thumb img{width:100%;height:100%;object-fit:cover}

/* -- cross-page bug fixes (active immediately, no markup needed) -- */
/* membership: h1 was invisible ink-on-charcoal */
.memb h1{color:var(--cream-on-dark);font-size:30px;margin-top:12px}
@media(min-width:820px){.memb h1{font-size:44px}}
/* about: hero-grid was a broken 44/56 split at 390px */
@media(max-width:819.98px){
  .hero-grid{grid-template-columns:1fr}
  .hero-grid .hero-pic{height:clamp(320px,52vh,420px);order:2}
}
/* faq + pricing inline-style externalization targets */
.faqp .q p{font-size:14.5px;color:var(--muted);padding:14px 0 4px;line-height:1.6}
.pc-note{font-size:12.5px;color:var(--muted);line-height:1.5;margin-top:10px}
@media(max-width:819.98px){.pc-rows .d .tag{display:block;margin:3px 0 0}}
/* about trust section: light-skin variant (inert until class applied) */
.arch.light h2,.arch.light h3{color:var(--ink)}
.arch.light p{color:var(--muted)}
.arch.light .k{color:var(--terra)}
.arch.light .arch-item{border-color:var(--line)}

/* -- HOME recomposition (scoped .home-page or home-only selectors) -- */
@media(max-width:819.98px){
  .home-services .sec-head h2{font-size:clamp(2.6rem,13vw,4rem)}
  .rhythm-copy h2{font-size:clamp(2.2rem,11vw,3.4rem)}
  .home-services .svc-card:nth-child(n+2){min-height:340px}
  .home-page .feature.reversed .f-pic.tall{height:240px}
  .rhythm-split{
    padding:48px 20px 56px;
    border-top:0;
  }
  .rhythm-split::before{
    display:none;
  }
  .rhythm-copy{
    text-align:center;
    margin:0 auto 24px;
  }
  .rhythm-copy h2{
    font-size:clamp(2.45rem,11vw,3.4rem);
    line-height:.92;
    max-width:9ch;
    margin:0 auto;
  }
  .rhythm-copy p{
    margin-top:15px;
    max-width:31ch;
    font-size:14px;
    line-height:1.55;
  }
  .rhythm-panels.diptych{
    display:grid;
    gap:22px;
    overflow:visible;
    border-radius:0;
  }
  .rhythm-panels.diptych .rhythm-panel{
    min-height:0;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    color:var(--ink);
    justify-content:start;
  }
  .rhythm-panels.diptych .rhythm-panel+.rhythm-panel{
    border-top:0;
  }
  .rhythm-panel .rp-k{
    color:var(--muted);
    font-size:9.5px;
    letter-spacing:.18em;
  }
  .rhythm-panel h3{
    max-width:none;
    margin-top:7px;
    color:var(--ink);
    font-size:31px;
    line-height:1;
    letter-spacing:-.015em;
  }
  .rhythm-panel p{
    max-width:32ch;
    margin-top:8px;
    color:var(--muted);
    font-size:13.5px;
    line-height:1.52;
  }
  .rhythm-panel strong{
    margin-top:9px;
    padding-top:0;
    border-top:0;
    color:var(--ink);
    font-size:20px;
    line-height:1.08;
  }
}
.rhythm-split{border-top:1px solid rgba(41,36,32,.14)}
.rhythm-copy{text-align:left}
.rhythm-panel h3{max-width:14ch}
.rhythm-panels.diptych{gap:0;border-radius:var(--r-lg);overflow:hidden}
.rhythm-panels.diptych .rhythm-panel{border-radius:0;box-shadow:none}
.rhythm-panels.diptych .rhythm-panel+.rhythm-panel{border-top:1px solid var(--line-dark)}
@media(min-width:820px){
  .rhythm-panels.diptych .rhythm-panel{min-height:420px;justify-content:space-between}
  .rhythm-panels.diptych .rhythm-panel+.rhythm-panel{border-top:0;border-left:1px solid var(--line-dark)}
}
.home-services .svc-card:nth-child(2) .svc-img img{object-position:50% 38%}
.home-services .svc-card:nth-child(3) .svc-img img{object-position:50% 30%}
.home-page .feature .f-pic.tall img{object-position:50% 22%}
@media(max-width:480px){.finale .m-actions .btn{width:100%}}

/* ---------- v35 post-QA fixes (contrast, readability) ---------- */
@media (min-width:820px){.cinema-sub{font-size:16.5px;letter-spacing:.13em;max-width:46ch}}
.home-services .svc-desc{font-size:14px}
.home-services .svc-card .from{font-size:14px}

@media(max-width:819.98px){
  .rhythm-split{
    padding:42px 24px 50px;
    text-align:center;
  }
  .rhythm-copy{
    text-align:center;
    margin-bottom:26px;
  }
  .rhythm-copy h2{
    max-width:8.5ch;
    margin-left:auto;
    margin-right:auto;
  }
  .rhythm-copy p{
    margin-left:auto;
    margin-right:auto;
  }
  .rhythm-panels.diptych{
    max-width:330px;
    margin:0 auto;
    gap:22px;
  }
  .rhythm-panels.diptych .rhythm-panel{
    text-align:center;
    align-items:center;
  }
  .rhythm-panel h3,
  .rhythm-panel p{
    margin-left:auto;
    margin-right:auto;
  }
  .rhythm-panel strong{
    font-size:19px;
  }
}

/* ---------- v37: fix feature contrast, premium dark process block ---------- */
/* cream text ONLY on a genuinely dark feature, scoped by .feat-dark (the old
   blanket body.home-page .feature rules put cream text on cream grounds) */
.feature.feat-dark{background:var(--char);color:var(--cream-on-dark)}
.feature.feat-dark h2{color:var(--cream-on-dark)}
.feature.feat-dark p{color:var(--muted-on-dark)}
.feature.feat-dark .textlink{color:var(--cream-on-dark);border-bottom-color:var(--terra)}
/* premium numbered process rows */
.proc{list-style:none;margin-top:22px}
.proc-step{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:baseline;padding:18px 0;border-top:1px solid var(--line-2)}
.proc-step:first-child{border-top:0}
.proc-step .pn{font-family:"Fraunces",Georgia,serif;font-style:italic;font-size:22px;color:var(--terra);line-height:1}
.proc-step b{display:block;font-family:"Fraunces",Georgia,serif;font-weight:500;font-size:20px;color:var(--ink);margin-bottom:4px}
.proc-step span{font-size:14.5px;line-height:1.55;color:var(--muted)}
.feature.feat-dark .proc-step{border-top-color:var(--line-dark)}
.feature.feat-dark .proc-step .pn{color:var(--clay)}
.feature.feat-dark .proc-step b{color:var(--cream-on-dark)}
.feature.feat-dark .proc-step span{color:var(--muted-on-dark)}
.feature.feat-dark .trust-chips span{background:transparent;border-color:var(--line-dark);color:var(--muted-on-dark)}

/* ---------- v36 QA fix: slim section when its only content is an info band ---------- */
.band-sec{padding-block:0}
@media(min-width:820px){.band-sec{padding-block:0}}
.band-sec .band-info{border-top:0}

/* ---------- v38: person-at-door = warm readable block on the dark home body ---------- */
.feature.warm-block{background:var(--linen)}
.feature.warm-block .eyebrow{color:var(--terra)}

/* ---------- v39: stretching page mobile-first decision mockup ---------- */
body.stretch-page main>section:not(.stretch-new){display:none}

.stretch-new{
  padding:42px 22px;
  background:var(--paper);
}
.stretch-new .shell{
  max-width:1040px;
  min-width:0;
}
.stretch-kicker{
  margin:0 0 14px;
  font-size:10px;
  letter-spacing:.2em;
  text-transform:uppercase;
  font-weight:600;
  color:var(--terra);
}
.stretch-diagnosis{
  min-height:calc(100svh - 72px);
  display:flex;
  align-items:center;
  padding-top:62px;
  padding-bottom:34px;
  background:var(--linen);
}
.stretch-diagnosis .shell{
  text-align:center;
}
.stretch-diagnosis h1{
  max-width:9ch;
  margin:0 auto;
  font-size:clamp(3rem,14.5vw,5.6rem);
  line-height:.88;
  letter-spacing:0;
  font-weight:500;
  color:var(--ink);
}
.stretch-lead{
  max-width:31ch;
  margin:18px auto 0;
  font-size:16px;
  line-height:1.5;
  color:var(--muted);
}
.stretch-symptoms{
  display:grid;
  gap:0;
  max-width:360px;
  margin:34px auto 0;
  text-align:left;
  border-top:1px solid var(--line);
}
.stretch-symptoms div{
  display:grid;
  grid-template-columns:34px 1fr;
  gap:8px 12px;
  padding:17px 0;
  border-bottom:1px solid var(--line);
}
.stretch-symptoms span{
  grid-row:span 2;
  font-family:"Fraunces",Georgia,serif;
  font-style:italic;
  font-size:21px;
  color:var(--terra);
  line-height:1;
  padding-top:2px;
}
.stretch-symptoms b{
  font-family:"Fraunces",Georgia,serif;
  font-size:22px;
  font-weight:500;
  color:var(--ink);
  line-height:1;
}
.stretch-symptoms p{
  margin:0;
  font-size:13.5px;
  line-height:1.45;
  color:var(--muted);
}

.stretch-solution{
  padding-top:0;
  background:var(--paper);
}
.stretch-split{
  display:grid;
  gap:28px;
}
.stretch-photo{
  margin-inline:-22px;
  height:245px;
  overflow:hidden;
  background:var(--stone);
}
.stretch-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% 48%;
  filter:saturate(.88) contrast(.98);
}
.stretch-copy{
  max-width:36ch;
  margin:0 auto;
  text-align:center;
  min-width:0;
}
.stretch-copy h2,
.stretch-center h2,
.stretch-start-card h2,
.stretch-final h2{
  font-size:clamp(2.2rem,10vw,4rem);
  line-height:.94;
  font-weight:500;
  letter-spacing:0;
  color:var(--ink);
}
.stretch-copy p{
  margin-top:15px;
  font-size:15px;
  line-height:1.55;
  color:var(--muted);
}
.stretch-copy .btn{
  margin-top:22px;
  width:100%;
}

.stretch-choice{
  background:var(--stone);
}
.stretch-center{
  max-width:34ch;
  margin:0 auto 26px;
  text-align:center;
  min-width:0;
}
.stretch-options{
  display:grid;
  gap:14px;
  max-width:760px;
  margin:0 auto;
}
.stretch-options article{
  padding:24px 0 22px;
  border-top:1px solid var(--line);
}
.stretch-options article:last-child{
  border-bottom:1px solid var(--line);
}
.stretch-options span{
  display:block;
  margin-bottom:8px;
  font-size:10px;
  letter-spacing:.2em;
  text-transform:uppercase;
  font-weight:600;
  color:var(--terra);
}
.stretch-options h3{
  font-size:29px;
  line-height:1;
  font-weight:500;
}
.stretch-options p{
  margin-top:10px;
  font-size:14.5px;
  line-height:1.55;
  color:var(--muted);
}

.stretch-start{
  background:var(--paper);
}
.stretch-start-card{
  max-width:620px;
  margin:0 auto;
  text-align:center;
  min-width:0;
}
.stretch-start-card>p:not(.stretch-kicker){
  max-width:35ch;
  margin:16px auto 0;
  font-size:14.5px;
  line-height:1.55;
  color:var(--muted);
}
.stretch-prices{
  margin-top:26px;
  border-top:1px solid var(--line);
  text-align:left;
}
.stretch-prices a{
  display:grid;
  grid-template-columns:1fr auto;
  gap:4px 16px;
  align-items:baseline;
  padding:16px 0;
  border-bottom:1px solid var(--line);
  color:var(--ink);
}
.stretch-prices span{
  font-family:"Fraunces",Georgia,serif;
  font-size:22px;
  line-height:1;
}
.stretch-prices small{
  grid-column:1;
  font-size:12.5px;
  line-height:1.4;
  color:var(--muted);
}
.stretch-prices b{
  grid-column:2;
  grid-row:1 / span 2;
  font-family:"Fraunces",Georgia,serif;
  font-size:20px;
  font-weight:600;
  white-space:nowrap;
}

.stretch-final{
  background:var(--char);
  color:var(--cream-on-dark);
  text-align:center;
  padding-bottom:92px;
}
.stretch-final h2{
  max-width:10ch;
  margin:0 auto;
  color:var(--cream-on-dark);
}
.stretch-actions{
  display:flex;
  flex-direction:column;
  gap:10px;
  max-width:340px;
  margin:26px auto 0;
}
.stretch-actions .btn{
  width:100%;
}

@media(min-width:820px){
  .stretch-new{
    padding:74px 40px;
  }
  .stretch-diagnosis{
    min-height:720px;
  }
  .stretch-diagnosis h1{
    max-width:12ch;
    font-size:clamp(4.8rem,8vw,7.2rem);
  }
  .stretch-lead{
    max-width:42ch;
    font-size:18px;
  }
  .stretch-symptoms{
    grid-template-columns:repeat(3,1fr);
    max-width:920px;
    border-bottom:1px solid var(--line);
  }
  .stretch-symptoms div{
    border-bottom:0;
    padding:22px 22px 22px 0;
  }
  .stretch-symptoms div+div{
    border-left:1px solid var(--line);
    padding-left:22px;
  }
  .stretch-split{
    grid-template-columns:.92fr 1fr;
    align-items:center;
    gap:56px;
  }
  .stretch-photo{
    margin-inline:0;
    height:500px;
    border-radius:var(--r);
  }
  .stretch-copy{
    margin:0;
    text-align:left;
  }
  .stretch-copy .btn{
    width:auto;
  }
  .stretch-options{
    grid-template-columns:1fr 1fr;
    gap:38px;
  }
  .stretch-options article{
    border-bottom:1px solid var(--line);
  }
  .stretch-final{
    padding-bottom:74px;
  }
  .stretch-actions{
    flex-direction:row;
    justify-content:center;
    max-width:none;
  }
  .stretch-actions .btn{
    width:auto;
  }
}

@media(max-width:390px){
  .stretch-prices a{
    grid-template-columns:1fr;
  }
  .stretch-prices b{
    grid-column:1;
    grid-row:auto;
    margin-top:3px;
  }
}

@media(max-width:819.98px){
  body{
    overflow-x:hidden;
    --mobile-header-h:101px;
  }
  .site-head,
  .home-page .site-head{
    position:fixed;
    top:0;
    left:0;
    right:0;
    background:rgba(244,239,230,.9);
    backdrop-filter:saturate(120%) blur(10px);
    border-bottom:1px solid var(--line);
    color:var(--ink);
  }
  main{
    padding-top:var(--mobile-header-h);
  }
  .head-row,
  .home-page .head-row{
    justify-content:center;
    min-height:76px;
    padding:15px var(--pad);
  }
  .head-row::after,
  .home-page .head-row::after{
    display:none;
  }
  .wordmark,
  .home-page .wordmark{
    align-items:center;
    text-align:center;
    color:var(--ink);
  }
  .wordmark .wm,
  .home-page .wordmark .wm{
    font-family:"Fraunces",serif;
    font-size:19px;
    letter-spacing:.04em;
    color:var(--ink);
    text-transform:none;
    text-shadow:none;
  }
  .wordmark .wm-sub,
  .home-page .wordmark .wm-sub{
    font-size:8.5px;
    letter-spacing:.34em;
    color:var(--muted);
  }
  .wordmark .wm-city,
  .home-page .wordmark .wm-city{
    margin-top:5px;
    font-size:8px;
    letter-spacing:.3em;
    color:var(--muted);
  }
  .burger,
  .home-page .burger{
    position:absolute;
    left:20px;
    order:initial;
    padding:8px 4px;
  }
  .burger span,
  .home-page .burger span{
    width:23px;
    height:1.5px;
    background:var(--ink);
    box-shadow:none;
  }
  .burger span:nth-child(2),
  .home-page .burger span:nth-child(2){
    display:block;
  }
  .nav-cb:checked ~ .site-head .burger span:nth-child(1),
  .home-page .nav-cb:checked ~ .site-head .burger span:nth-child(1){
    transform:translateY(6px) rotate(45deg);
  }
  .nav-cb:checked ~ .site-head .burger span:nth-child(3),
  .home-page .nav-cb:checked ~ .site-head .burger span:nth-child(3){
    transform:translateY(-6px) rotate(-45deg);
  }
  .stretch-diagnosis{
    min-height:auto;
    align-items:flex-start;
    padding-top:82px;
    padding-bottom:48px;
  }
  .stretch-new .shell,
  .stretch-copy,
  .stretch-center,
  .stretch-start-card{
    width:100%;
  }
  .stretch-new .shell{
    width:calc(100vw - 44px);
    max-width:calc(100vw - 44px);
  }
  .stretch-diagnosis h1{
    max-width:8.2ch;
    font-size:clamp(2.7rem,12vw,3.25rem);
  }
  .stretch-copy h2,
  .stretch-center h2,
  .stretch-start-card h2,
  .stretch-final h2{
    font-size:clamp(2.05rem,8.8vw,2.95rem);
  }
  .stretch-lead,
  .stretch-copy p,
  .stretch-start-card>p:not(.stretch-kicker){
    max-width:min(100%,28ch);
    overflow-wrap:break-word;
  }
  .stretch-symptoms{
    max-width:100%;
  }
  .stretch-symptoms div{
    grid-template-columns:28px minmax(0,1fr);
    gap:7px 10px;
    min-width:0;
  }
  .stretch-symptoms b,
  .stretch-symptoms p{
    min-width:0;
  }
  .stretch-photo{
    width:calc(100% + 44px);
  }
}

/* ---------- v40: stretch page, less generated, more maison/product ---------- */
.stretch-diagnosis{
  display:block;
  min-height:0;
  padding:0;
  background:var(--paper);
}
.stretch-hero-photo{
  height:clamp(430px,70svh,620px);
  overflow:hidden;
  background:#d8d1c5;
}
.stretch-hero-photo img,
.stretch-hero-photo video{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% 45%;
  filter:saturate(.82) contrast(.96) brightness(.94);
}
.stretch-diagnosis .shell{
  padding:38px 0 30px;
  text-align:center;
}
.stretch-diagnosis h1{
  max-width:10ch;
  font-size:clamp(3rem,12.4vw,5.6rem);
  line-height:.9;
}
.stretch-lead{
  max-width:29ch;
  font-size:15px;
  line-height:1.55;
}
.stretch-band{
  display:flex;
  gap:28px;
  overflow:hidden;
  white-space:nowrap;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  padding:18px 24px;
  color:var(--muted);
  background:#fffdf8;
}
.stretch-band span{
  flex:0 0 auto;
  font-size:10.5px;
  letter-spacing:.28em;
  text-transform:uppercase;
  font-weight:600;
}
.stretch-band span+span::before{
  content:"";
  display:inline-block;
  width:5px;
  height:5px;
  margin:0 28px 1px 0;
  border-radius:50%;
  background:rgba(94,42,42,.34);
}

.stretch-catalog{
  padding-top:44px;
  padding-bottom:38px;
  background:#fffdf8;
}
.stretch-catalog-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:22px;
  margin-bottom:22px;
}
.stretch-catalog-head h2{
  max-width:12ch;
  font-size:clamp(2.05rem,9vw,3.6rem);
  line-height:.92;
  font-weight:500;
}
.stretch-products{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.stretch-product{
  min-height:210px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:18px 16px;
  background:var(--linen);
  color:var(--ink);
}
.stretch-product.hero-product{
  grid-column:1 / -1;
  min-height:230px;
  background:var(--char);
  color:var(--cream-on-dark);
}
.stretch-product .sp-tag{
  margin-bottom:auto;
  font-size:9.5px;
  letter-spacing:.24em;
  text-transform:uppercase;
  font-weight:600;
  color:var(--terra);
}
.stretch-product.hero-product .sp-tag{
  color:var(--clay);
}
.stretch-product h3{
  max-width:9ch;
  margin-top:28px;
  font-size:26px;
  line-height:.96;
  color:inherit;
}
.stretch-product p{
  min-height:4.4em;
  margin-top:10px;
  font-size:12.5px;
  line-height:1.45;
  color:var(--muted);
}
.stretch-product.hero-product p{
  max-width:28ch;
  min-height:0;
  color:var(--muted-on-dark);
}
.stretch-product b{
  display:block;
  margin-top:18px;
  font-family:"Fraunces",Georgia,serif;
  font-size:32px;
  line-height:1;
  font-weight:600;
  color:inherit;
}
.stretch-product small{
  margin-top:4px;
  font-size:10.5px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--muted);
}
.stretch-product.hero-product small{
  color:var(--muted-on-dark);
}

.stretch-solution{
  padding-top:0;
  background:var(--paper);
}
.stretch-copy{
  padding:8px 0 0;
}
.stretch-choice{
  background:#fffdf8;
}
.stretch-options{
  gap:0;
  border-top:1px solid var(--line);
}
.stretch-options article{
  padding:24px 0;
}
.stretch-options h3{
  font-size:30px;
}
.stretch-options p{
  max-width:30ch;
}
.stretch-start{
  background:var(--linen);
}
.stretch-start-card{
  text-align:left;
}
.stretch-start-card h2{
  max-width:9ch;
}
.stretch-start-card>p:not(.stretch-kicker){
  margin-left:0;
  margin-right:0;
}
.stretch-prices{
  margin-top:30px;
}
.stretch-final h2{
  max-width:8ch;
}

@media(max-width:819.98px){
  .stretch-new{
    padding-left:22px;
    padding-right:22px;
  }
  .stretch-diagnosis{
    padding-left:0;
    padding-right:0;
  }
  .stretch-diagnosis .shell{
    width:calc(100vw - 44px);
    max-width:calc(100vw - 44px);
  }
  .stretch-diagnosis h1{
    max-width:9ch;
    font-size:clamp(3.15rem,13vw,3.9rem);
  }
  .stretch-lead{
    max-width:28ch;
  }
  .stretch-catalog-head{
    display:block;
  }
  .stretch-catalog-head h2{
    margin-top:8px;
  }
  .stretch-photo{
    margin-top:0;
  }
  .stretch-copy{
    text-align:left;
    margin:0;
  }
  .stretch-copy h2,
  .stretch-center h2,
  .stretch-start-card h2,
  .stretch-final h2{
    font-size:clamp(2.25rem,10vw,3.15rem);
  }
  .stretch-copy p{
    margin-left:0;
    margin-right:0;
  }
}

@media(min-width:820px){
  .stretch-diagnosis{
    display:grid;
    grid-template-columns:1.05fr .95fr;
    align-items:stretch;
  }
  .stretch-hero-photo{
    height:720px;
  }
  .stretch-diagnosis .shell{
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:80px 40px;
    text-align:left;
  }
  .stretch-diagnosis h1,
  .stretch-lead{
    margin-left:0;
  }
  .stretch-band{
    grid-column:1 / -1;
  }
  .stretch-catalog{
    padding-top:76px;
    padding-bottom:70px;
  }
  .stretch-products{
    grid-template-columns:1.2fr 1fr 1fr;
    gap:18px;
  }
  .stretch-product.hero-product{
    grid-column:auto;
  }
  .stretch-product{
    min-height:330px;
    padding:28px 26px;
  }
}

/* ---------- v41: stretch page follows direct prompt flow ---------- */
.stretch-question{
  padding-top:46px;
  padding-bottom:40px;
  background:#fffdf8;
}
.stretch-question h2{
  max-width:8.5ch;
  font-size:clamp(2.7rem,12vw,5.2rem);
  line-height:.9;
  font-weight:500;
}
.stretch-question-grid{
  display:grid;
  gap:18px;
  margin-top:28px;
  border-top:1px solid var(--line);
}
.stretch-question-grid p{
  margin:0;
  padding-top:18px;
  max-width:30ch;
  font-size:16px;
  line-height:1.45;
  color:var(--muted);
}
.stretch-question-grid p+p{
  border-top:1px solid var(--line);
}
.stretch-choice{
  padding-top:42px;
  padding-bottom:42px;
  background:var(--linen);
}
.stretch-center{
  margin-left:0;
  margin-right:0;
  text-align:left;
}
.stretch-center h2{
  max-width:9ch;
}
.stretch-options article{
  display:grid;
  grid-template-columns:1fr;
  gap:0;
}
.stretch-options span{
  color:var(--terra);
}
.stretch-options h3{
  max-width:10ch;
}
.stretch-foundation{
  padding-top:44px;
  padding-bottom:44px;
  background:var(--char);
  color:var(--cream-on-dark);
}
.stretch-foundation-card{
  max-width:620px;
}
.stretch-foundation .stretch-kicker{
  color:var(--clay);
}
.stretch-foundation h2{
  max-width:8ch;
  font-size:clamp(2.55rem,11vw,4.8rem);
  line-height:.9;
  color:var(--cream-on-dark);
}
.stretch-foundation p{
  max-width:34ch;
  margin-top:18px;
  font-size:15.5px;
  line-height:1.55;
  color:var(--muted-on-dark);
}
.stretch-foundation small{
  display:block;
  max-width:32ch;
  margin-top:18px;
  font-size:11px;
  letter-spacing:.12em;
  line-height:1.5;
  text-transform:uppercase;
  color:var(--clay);
}
.stretch-start{
  padding-top:0;
  padding-bottom:100px;
  background:#fffdf8;
}
.stretch-start-card{
  max-width:760px;
}
.stretch-prices{
  margin-top:0;
  border-top:0;
}
.stretch-prices a{
  min-height:92px;
  padding:20px 0;
}
.stretch-prices span{
  font-size:24px;
}
.stretch-prices b{
  font-size:23px;
}

@media(min-width:820px){
  .stretch-question,
  .stretch-choice,
  .stretch-foundation{
    padding-top:78px;
    padding-bottom:78px;
  }
  .stretch-question .shell,
  .stretch-foundation .shell{
    max-width:920px;
  }
  .stretch-question-grid{
    grid-template-columns:1fr 1fr;
    gap:36px;
  }
  .stretch-question-grid p+p{
    border-top:0;
    border-left:1px solid var(--line);
    padding-left:36px;
  }
}

/* ---------- v42: direct stretch flow, framed premium text design ---------- */
.stretch-diagnosis .shell{
  padding:48px 0 50px;
}
.stretch-diagnosis h1{
  max-width:8.5ch;
  margin-inline:auto;
  text-align:center;
  font-size:clamp(3.35rem,14vw,6.2rem);
  line-height:.88;
}
.stretch-diagnosis .stretch-lead{
  max-width:31ch;
  margin:22px auto 0;
  text-align:center;
  font-size:16px;
  line-height:1.5;
}
.stretch-choice{
  padding-top:48px;
  padding-bottom:48px;
  background:#fffdf8;
}
.stretch-center{
  max-width:33ch;
  margin:0 auto 24px;
  text-align:center;
}
.stretch-center h2{
  max-width:10ch;
  margin:0 auto;
}
.stretch-center p:not(.stretch-kicker){
  max-width:28ch;
  margin:14px auto 0;
  font-size:14px;
  line-height:1.5;
  color:var(--muted);
}
.stretch-options{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  border-top:0;
  max-width:760px;
}
.stretch-options article{
  min-width:0;
  min-height:230px;
  display:grid;
  grid-template-rows:auto minmax(3.7em,auto) minmax(7.2em,auto);
  align-content:center;
  align-items:center;
  text-align:center;
  padding:18px 14px;
  border:1px solid var(--line);
  background:var(--linen);
}
.stretch-options article:last-child{
  border-bottom:1px solid var(--line);
}
.stretch-options span{
  align-self:end;
  margin-bottom:16px;
  font-size:9.5px;
  letter-spacing:.18em;
}
.stretch-options h3{
  align-self:start;
  max-width:7.2ch;
  margin-left:auto;
  margin-right:auto;
  font-size:clamp(1.45rem,7vw,2rem);
  line-height:.92;
}
.stretch-options p{
  align-self:start;
  max-width:18ch;
  margin-left:auto;
  margin-right:auto;
  margin-top:12px;
  font-size:12.5px;
  line-height:1.42;
}
.stretch-foundation{
  padding-top:42px;
  padding-bottom:42px;
  background:#fffdf8;
  color:var(--ink);
}
.stretch-foundation .shell>h2{
  max-width:none;
  margin:0 auto;
  text-align:center;
  font-family:"Fraunces",Georgia,serif;
  font-size:clamp(2rem,7.5vw,3.2rem);
  line-height:1;
  letter-spacing:.05em;
  font-weight:500;
  padding:22px 16px;
  border:1px solid var(--line-dark);
  background:var(--char);
  color:var(--cream-on-dark);
}
.stretch-foundation-card{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  padding:0;
  border:1px solid var(--line-2);
  border-top:0;
  background:var(--paper);
  color:var(--ink);
}
.foundation-mini{
  min-height:150px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  text-align:center;
  padding:22px 12px;
  border:0;
  background:var(--linen);
}
.foundation-mini+.foundation-mini{
  border-left:1px solid var(--line);
}
.foundation-mini span{
  width:min(16ch,100%);
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:"Fraunces",Georgia,serif;
  font-size:25px;
  line-height:1.05;
  color:var(--ink);
}
.foundation-mini b{
  display:block;
  margin-top:auto;
  padding-top:14px;
  font-size:10.5px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--terra);
}
.foundation-price{
  grid-column:1 / -1;
  min-height:132px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  padding:18px 14px;
  border:0;
  border-top:1px solid var(--line-2);
  background:var(--char);
  color:var(--cream-on-dark);
  transition:background .25s ease,transform .25s ease;
}
.foundation-price::after{
  content:"→";
  width:36px;
  height:36px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:16px auto 0;
  border:1px solid var(--line-dark);
  border-radius:50%;
  font-size:18px;
  line-height:1;
  text-align:center;
}
.foundation-price:hover{
  background:var(--ink);
  transform:translateY(-1px);
}
.foundation-price b{
  margin-top:0;
  font-family:"Fraunces",Georgia,serif;
  font-size:56px;
  line-height:1;
  color:inherit;
}
.foundation-price small{
  margin-top:10px;
  font-size:10.5px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--muted-on-dark);
}
.stretch-start{
  padding-top:18px;
  padding-bottom:104px;
  background:#fffdf8;
}
.stretch-booking-grid{
  display:grid;
  gap:16px;
}
.stretch-booking-grid .price-card{
  border-radius:0;
  box-shadow:none;
}
.stretch-booking-grid .price-card.lead-card{
  border-color:var(--line-2);
}
.stretch-booking-grid .pc-rows li{
  display:block;
}
.stretch-booking-grid .pc-rows a{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center;
  gap:12px;
  margin-inline:-10px;
  padding:12px 10px;
  color:inherit;
  transition:background .2s ease,transform .2s ease;
}
.stretch-booking-grid .pc-rows a:hover{
  background:rgba(41,36,32,.045);
  transform:translateX(2px);
}
.stretch-booking-grid .pc-rows .go{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border:1px solid var(--line-2);
  border-radius:50%;
  overflow:hidden;
  color:transparent;
  font-size:0;
  text-indent:0;
}
.stretch-booking-grid .pc-rows .go::after{
  content:"→";
  text-indent:0;
  font-size:16px;
  font-family:"Hanken Grotesk",sans-serif;
  color:var(--terra);
}

/* ---------- v54: softer handoff between stretch question and choice ---------- */
.stretch-diagnosis,
.stretch-choice{
  background:#fbf8f1;
}
.stretch-diagnosis .shell{
  padding-bottom:28px;
}
.stretch-choice{
  padding-top:14px;
}
.stretch-center{
  margin-bottom:30px;
}
.stretch-center h2{
  max-width:11ch;
  font-size:clamp(2.45rem,8.8vw,3.45rem);
  line-height:.98;
}
.stretch-center p:not(.stretch-kicker){
  margin-top:16px;
}
@media(max-width:480px){
  .stretch-diagnosis .shell{
    padding-bottom:22px;
  }
  .stretch-choice{
    padding-top:8px;
  }
  .stretch-center h2{
    max-width:12ch;
    font-size:clamp(2.35rem,10.2vw,3.05rem);
  }
}
.stretch-membership{
  padding-top:0;
  padding-bottom:108px;
  background:#fffdf8;
}
.stretch-membership .shell{
  max-width:760px;
}
.stretch-memb-card{
  min-height:0;
  padding:30px 24px 26px;
}
.stretch-memb-card .mc-tag,
.stretch-memb-card h3,
.stretch-memb-card .mc-rate,
.stretch-memb-card .mc-desc{
  text-align:center;
}
.stretch-memb-card .mc-rate{
  justify-content:center;
}
.stretch-memb-card .mc-desc{
  max-width:35ch;
  margin-left:auto;
  margin-right:auto;
}
.stretch-memb-card .mc-two{
  margin-top:22px;
  flex-direction:column;
}
.stretch-memb-card .mc-two .pill{
  position:relative;
  display:flex;
  min-height:142px;
  flex-direction:column;
  justify-content:center;
  color:inherit;
  text-decoration:none;
  transition:border-color .2s ease,background .2s ease,transform .2s ease;
}
.stretch-memb-card .mc-two .pill:hover{
  border-color:var(--terra);
  background:rgba(151,96,64,.055);
  transform:translateY(-1px);
}
.stretch-memb-card .mc-two .pill::after{
  content:"→";
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  margin:13px auto 0;
  border:1px solid var(--line-2);
  border-radius:50%;
  color:var(--terra);
  font-size:15px;
  line-height:1;
}
.stretch-memb-card .mc-two .pill em{
  display:block;
  margin-bottom:12px;
  font-family:"Hanken Grotesk",sans-serif;
  font-size:10.5px;
  font-style:normal;
  font-weight:600;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--terra);
}
.stretch-memb-card .mc-cta{
  text-align:center;
}
.stretch-prices{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  border-top:0;
}
.stretch-prices a{
  min-height:156px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  align-items:flex-start;
  gap:0;
  padding:16px 14px;
  border:1px solid var(--line);
  background:var(--paper);
}
.stretch-prices a:last-child{grid-column:1 / -1}
.stretch-prices span{
  max-width:8ch;
  font-size:clamp(1.45rem,6.8vw,2rem);
  line-height:.96;
}
.stretch-prices small{
  grid-column:auto;
  margin-top:8px;
  font-size:10.5px;
  letter-spacing:.11em;
  line-height:1.35;
  text-transform:uppercase;
}
.stretch-prices b{
  grid-column:auto;
  grid-row:auto;
  margin-top:18px;
  font-size:clamp(1.55rem,7vw,2.2rem);
  line-height:1;
}

@media(max-width:360px){
  .stretch-options,
  .stretch-prices{
    gap:8px;
  }
  .stretch-options article,
  .stretch-prices a{
    padding-left:12px;
    padding-right:12px;
  }
  .stretch-options p{
    font-size:12px;
  }
}

@media(max-width:480px){
  .stretch-memb-card .mc-two .pill{
    min-height:122px;
  }
}

@media(min-width:820px){
  .stretch-diagnosis .shell{
    padding:88px 40px;
  }
  .stretch-options,
  .stretch-prices{
    gap:16px;
  }
  .stretch-options article{
    min-height:300px;
    padding:28px;
  }
  .stretch-foundation-card{
    grid-template-columns:1fr 1fr;
  }
  .foundation-price{
    grid-column:1 / -1;
  }
  .foundation-mini{
    min-height:190px;
  }
  .stretch-prices{
    grid-template-columns:repeat(3,1fr);
  }
  .stretch-booking-grid{
    grid-template-columns:minmax(0,680px);
    align-items:stretch;
    justify-content:center;
  }
  .stretch-memb-card .mc-two{
    flex-direction:row;
  }
  .stretch-prices a:last-child{grid-column:auto}
  .stretch-prices a{
    min-height:260px;
    padding:24px;
  }
}

/* ---------- v56: stretch choice intro belongs inside the same frame ---------- */
.stretch-options{
  gap:0;
  margin-left:auto;
  margin-right:auto;
  border:1px solid var(--line);
  border-radius:3px 3px 0 0;
  overflow:hidden;
  background:transparent;
}
.stretch-options .stretch-center{
  grid-column:1 / -1;
  max-width:none;
  margin:0;
  padding:26px 18px 24px;
  border-bottom:1px solid var(--line);
  background:transparent;
}
.stretch-options .stretch-center h2{
  max-width:12ch;
  margin:0 auto;
  font-size:clamp(2.25rem,8.5vw,3.45rem);
  line-height:.98;
}
.stretch-options .stretch-center p:not(.stretch-kicker){
  max-width:30ch;
  margin:14px auto 0;
  font-size:14px;
  line-height:1.5;
  color:var(--muted);
}
.stretch-options article{
  border:0;
}
.stretch-options article+article{
  border-left:1px solid var(--line);
}
@media(min-width:820px){
  .stretch-options{
    gap:0;
  }
}
@media(max-width:360px){
  .stretch-options{
    gap:0;
  }
}

/* ---------- v57: minimal service pages aligned with Stretching ---------- */
.service-minimal main>section:not(.service-new){
  display:none;
}
.service-hero-min{
  min-height:0;
  display:block;
  padding:0;
  background:var(--paper);
  text-align:center;
}
.service-hero-photo{
  height:clamp(430px,70svh,640px);
  overflow:hidden;
  background:#d8d1c5;
}
.service-hero-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% 48%;
  filter:saturate(.84) contrast(.96) brightness(.94);
}
.massage-minimal .service-hero-photo img{
  object-position:50% 63%;
}
.recovery-minimal .service-hero-photo img{
  object-position:50% 45%;
}
.service-hero-min .shell{
  max-width:900px;
  padding:42px 0 34px;
}
.service-hero-min h1{
  max-width:100%;
  margin:0 auto;
  color:var(--ink);
  font-size:clamp(2.65rem,9vw,7.2rem);
  line-height:.88;
  font-weight:500;
}
.service-hero-min h1 em{
  display:block;
  font-style:italic;
}
.service-hero-min h1 span{
  display:block;
}
.service-hero-min .service-lead{
  max-width:34ch;
  margin:22px auto 0;
  color:var(--muted);
  font-size:16px;
  line-height:1.5;
}
.service-choice{
  padding-top:24px;
  padding-bottom:48px;
  background:#fbf8f1;
}
.service-pricing{
  padding-top:42px;
  padding-bottom:104px;
  background:#fffdf8;
}
.service-pricing .stretch-start-card{
  width:min(100%,350px);
  max-width:350px;
  margin-left:auto;
  margin-right:auto;
}
.service-pricing .price-card{
  border-radius:0;
  box-shadow:none;
  text-align:center;
}
.service-pricing .price-card h2{
  max-width:11ch;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
  font-size:clamp(2.35rem,9vw,3.55rem);
  line-height:.95;
  font-weight:500;
}
.service-pricing .price-card .pc-desc{
  min-height:0;
  max-width:24ch;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
.service-pricing .pc-rows{
  text-align:left;
}
.service-pricing .pc-rows li{
  display:block;
}
.service-pricing .pc-rows a{
  display:flex;
  align-items:center;
  gap:12px;
  margin-inline:0;
  padding:12px 10px;
  color:inherit;
  transition:background .2s ease,transform .2s ease;
}
.service-pricing .pc-rows a:hover{
  background:rgba(41,36,32,.045);
  transform:translateX(2px);
}
.service-pricing .pc-rows .go{
  flex:none;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border:1px solid var(--line-2);
  border-radius:50%;
  overflow:hidden;
  color:transparent;
  font-size:0;
}
.service-pricing .pc-rows .v{
  flex:none;
  margin-left:auto;
  margin-right:0;
}
.service-pricing .pc-rows .go::after{
  content:"→";
  color:var(--terra);
  font-size:17px;
  line-height:1;
}
.service-pricing .pc-rows .d,
.service-pricing .pc-rows .v{
  white-space:nowrap;
}
@media(max-width:480px){
  .service-hero-min{
    min-height:0;
    padding:0;
  }
  .service-hero-photo{
    height:clamp(410px,66svh,560px);
  }
  .service-hero-min h1{
    max-width:100%;
    font-size:clamp(2.65rem,10.5vw,3.45rem);
    overflow-wrap:normal;
  }
  .service-pricing .pc-rows a{
    margin-inline:0;
    padding-left:0;
    padding-right:0;
  }
}
@media(min-width:820px){
  .service-hero-min{
    min-height:0;
    padding:0;
  }
  .service-hero-photo{
    height:clamp(540px,68svh,720px);
  }
  .service-hero-min .shell{
    padding:54px 0 46px;
  }
  .service-choice{
    padding-top:28px;
    padding-bottom:74px;
  }
  .service-pricing{
    padding-top:64px;
  }
  .service-pricing .stretch-start-card{
    width:min(100%,680px);
    max-width:680px;
  }
}

/* ---------- v58: home aligned with minimal service pages ---------- */
.home-page{
  background:#fffdf8;
}
.home-page .site-head{
  position:sticky;
  top:0;
  background:rgba(244,239,230,.9);
  border-bottom:1px solid var(--line);
  color:var(--ink);
  backdrop-filter:saturate(120%) blur(10px);
}
.home-page .head-row{
  max-width:var(--maxw);
  padding:13px var(--pad);
}
.home-page .head-row::after{
  display:none;
}
.home-page .wordmark{
  color:var(--ink);
  text-align:left;
}
.home-page .wordmark .wm{
  color:var(--ink);
  font-size:19px;
  letter-spacing:.04em;
  text-transform:none;
  text-shadow:none;
}
.home-page .wordmark .wm-sub{
  color:var(--muted);
  font-size:8.5px;
  letter-spacing:.3em;
}
.home-page .burger{
  order:0;
}
.home-page .burger span{
  background:var(--ink);
  box-shadow:none;
}
.home-page .burger span:nth-child(2){
  display:block;
}
.home-page main,
.home-new{
  overflow-x:hidden;
}
.home-min-hero{
  min-height:0;
  display:block;
  padding:0;
  background:var(--paper);
  text-align:center;
}
.home-hero-photo{
  height:clamp(430px,72svh,660px);
  overflow:hidden;
  background:#d8d1c5;
}
.home-hero-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% 20%;
  filter:saturate(.86) contrast(.96) brightness(.94);
}
.home-min-hero .shell{
  padding:44px 0 58px;
}
.home-min-hero h1{
  margin:0 auto;
  max-width:min(100%,10.5ch);
  color:var(--ink);
  font-size:clamp(2.22rem,9.5vw,3.05rem);
  line-height:.88;
  font-weight:500;
}
.home-min-hero h1 span,
.home-min-hero h1 em{
  display:block;
}
.home-min-hero h1 em{
  font-style:italic;
}
.home-min-hero p{
  max-width:31ch;
  margin:24px auto 0;
  color:var(--muted);
  font-size:15.5px;
  line-height:1.52;
}
.home-min-services{
  padding:40px 22px 66px;
  background:#fffdf8;
}
.home-min-services .shell,
.home-min-rhythm .shell,
.home-min-farid .shell,
.home-min-final .shell{
  width:100%;
  max-width:min(1040px,calc(100vw - 44px));
}
.home-min-head{
  max-width:520px;
  margin:0 auto 40px;
  text-align:center;
}
.home-min-head h2,
.home-min-rhythm h2,
.home-min-final h2{
  margin:0 auto;
  color:var(--ink);
  font-size:clamp(2.25rem,9vw,4.8rem);
  line-height:.92;
  font-weight:500;
}
.home-min-head h2 span{
  display:block;
}
.home-min-head p{
  max-width:32ch;
  margin:14px auto 0;
  color:var(--muted);
  font-size:14.5px;
  line-height:1.55;
}
.home-min-grid{
  display:grid;
  gap:16px;
}
.home-min-card{
  display:grid;
  grid-template-columns:104px 1fr;
  width:100%;
  max-width:100%;
  min-width:0;
  overflow:hidden;
  border:1px solid var(--line-2);
  background:var(--paper);
  color:inherit;
}
.home-min-img{
  min-height:174px;
  overflow:hidden;
  background:var(--linen);
}
.home-min-img img,
.home-min-img video{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.home-stretch-card .home-min-img{
  background:#f3eee5;
}
.home-stretch-card .home-min-img img{
  object-fit:contain;
  object-position:50% 50%;
  transform:scale(.94);
}
.home-min-body{
  min-width:0;
  max-width:100%;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:18px 16px;
  text-align:left;
}
.home-min-body span,
.home-rhythm-grid span{
  color:var(--terra);
  font-size:10px;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-weight:700;
}
.home-min-body h3,
.home-rhythm-grid h3,
.home-farid-copy h2{
  margin:8px 0 0;
  color:var(--ink);
  font-size:clamp(1.75rem,7.6vw,2.55rem);
  line-height:.94;
  font-weight:500;
  overflow-wrap:anywhere;
}
.home-min-body p,
.home-rhythm-grid p,
.home-farid-copy p{
  margin:10px 0 0;
  color:var(--muted);
  font-size:13.5px;
  line-height:1.5;
}
.home-min-body div{
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:16px;
}
.home-min-body b,
.home-rhythm-grid b{
  color:var(--ink);
  font-family:"Fraunces",Georgia,serif;
  font-size:22px;
  font-weight:600;
}
.home-min-body i,
.home-rhythm-grid i{
  flex:none;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  margin-left:auto;
  border:1px solid var(--line-2);
  border-radius:50%;
  color:var(--ink);
  font-style:normal;
  line-height:1;
}
.home-min-rhythm{
  padding:54px 22px 62px;
  background:#fbf8f1;
  text-align:center;
}
.home-min-rhythm h2{
  max-width:10ch;
}
.home-rhythm-grid{
  display:grid;
  gap:0;
  width:100%;
  max-width:720px;
  margin:28px auto 0;
  border:1px solid var(--line-2);
  background:var(--paper);
  overflow:hidden;
}
.home-rhythm-grid a{
  position:relative;
  display:block;
  padding:26px 20px;
  color:inherit;
}
.home-rhythm-grid a+a{
  border-top:1px solid var(--line);
}
.home-rhythm-grid p{
  max-width:30ch;
  margin-left:auto;
  margin-right:auto;
}
.home-rhythm-grid b{
  display:block;
  margin-top:16px;
}
.home-rhythm-grid i{
  margin:18px auto 0;
}
.home-min-farid{
  padding:62px 22px;
  background:#fff;
}
.home-farid-grid{
  display:grid;
  gap:24px;
  align-items:center;
}
.home-farid-photo{
  height:clamp(360px,64vh,620px);
  overflow:hidden;
  background:var(--char);
}
.home-farid-photo img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:58% 42%;
}
.home-farid-copy{
  max-width:520px;
  margin:0 auto;
  padding:26px 20px;
  border:1px solid var(--line-2);
  background:var(--paper);
  text-align:center;
  overflow:hidden;
}
.home-farid-copy h2{
  font-size:clamp(2.35rem,10vw,4.2rem);
}
.home-farid-copy p{
  max-width:32ch;
  margin-left:auto;
  margin-right:auto;
  font-size:14.5px;
}
.home-farid-links{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:12px 18px;
  margin-top:20px;
}
.home-farid-links a{
  color:var(--ink);
  border-bottom:1px solid var(--terra);
  padding-bottom:2px;
  font-size:13.5px;
  font-weight:600;
}
.home-min-final{
  padding:68px 22px 88px;
  background:var(--cacao);
  color:var(--cream-on-dark);
  text-align:center;
}
.home-min-final h2{
  max-width:11ch;
  color:var(--cream-on-dark);
}
.home-min-final p{
  margin:16px auto 0;
  color:var(--muted-on-dark);
}
.home-final-actions{
  display:flex;
  flex-direction:column;
  gap:10px;
  max-width:340px;
  margin:26px auto 0;
}
.home-final-actions .btn{
  width:100%;
}
@media(max-width:819.98px){
  .home-min-services .shell,
  .home-min-rhythm .shell,
  .home-min-farid .shell,
  .home-min-final .shell{
    max-width:350px;
  }
  .home-min-card{
    grid-template-columns:1fr;
  }
  .home-min-img{
    height:220px;
    min-height:0;
  }
  .home-min-body{
    text-align:center;
  }
  .home-min-body div{
    justify-content:center;
  }
  .home-min-body i{
    margin-left:0;
  }
}
@media(min-width:820px){
  .home-page .head-row{
    max-width:var(--maxw);
    padding:17px var(--pad);
  }
  .home-page .wordmark .wm{
    font-size:22px;
  }
  .home-page .wordmark .wm-city{
    font-size:8px;
    letter-spacing:.3em;
  }
  .home-page .nav-links{
    display:flex;
    align-items:center;
    gap:22px;
  }
  .home-page .nav-links a:not(.btn){
    color:var(--ink);
    font-size:14px;
    letter-spacing:0;
    text-transform:none;
    text-shadow:none;
  }
  .home-page .nav-links a:not(.btn):hover{
    color:var(--terra);
  }
  .home-page .nav-links .btn{
    min-width:0;
    height:auto;
    border-radius:2px;
    background:var(--char);
    color:var(--cream-on-dark);
    box-shadow:none;
  }
  .home-min-hero{
    min-height:0;
    padding:0;
  }
  .home-hero-photo{
    height:clamp(560px,70svh,760px);
  }
  .home-min-hero .shell{
    padding:56px 0 72px;
  }
  .home-min-hero h1{
    max-width:920px;
    font-size:clamp(4.8rem,8vw,7.3rem);
  }
  .home-min-hero h1 span:nth-child(2),
  .home-min-hero h1 span:nth-child(3){
    display:inline;
  }
  .home-min-hero h1 span:nth-child(2)::after{
    content:" ";
  }
  .home-min-head h2 span{
    display:inline;
  }
  .home-min-head h2 span+span::before{
    content:" ";
  }
  .home-min-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    align-items:stretch;
  }
  .home-min-card{
    grid-template-columns:1fr;
  }
  .home-min-img{
    height:300px;
  }
  .home-min-body{
    min-height:260px;
    padding:28px 24px;
    text-align:center;
  }
  .home-min-body div{
    justify-content:center;
  }
  .home-min-body i{
    margin-left:0;
  }
  .home-rhythm-grid{
    grid-template-columns:1fr 1fr;
  }
  .home-rhythm-grid a+a{
    border-top:0;
    border-left:1px solid var(--line);
  }
  .home-farid-grid{
    grid-template-columns:minmax(360px,45%) 1fr;
    gap:64px;
  }
  .home-farid-copy{
    margin:0;
    padding:38px 42px;
  }
  .home-final-actions{
    flex-direction:row;
    justify-content:center;
    max-width:none;
  }
  .home-final-actions .btn{
    width:auto;
    min-width:170px;
  }
}

/* ---------- v64: Le Cercle shortened like the Stretching page ---------- */
.membership-page main>section:not(.memb):not(.membership-new){
  display:none;
}
.membership-new{
  background:#fffdf8;
  color:var(--ink);
}
.cercle-short{
  padding:42px 22px 44px;
}
.cercle-options{
  max-width:760px;
}
.cercle-options article{
  background:var(--linen);
}
.cercle-options h3{
  max-width:11ch;
}
.cercle-book{
  padding:0 22px 58px;
}
.cercle-book .shell{
  max-width:760px;
}
.cercle-book-card{
  border-radius:3px;
}
.cercle-book-card .mc-desc{
  max-width:30ch;
}
.cercle-terms{
  padding:54px 22px 84px;
  background:var(--char);
  color:var(--cream-on-dark);
  text-align:center;
}
.cercle-terms .shell{
  max-width:760px;
}
.cercle-terms h2{
  color:var(--cream-on-dark);
  font-size:clamp(2.35rem,9vw,4.2rem);
}
.cercle-term-grid{
  display:grid;
  gap:0;
  margin:28px auto 26px;
  border:1px solid var(--line-dark);
  background:rgba(255,253,248,.035);
}
.cercle-term-grid div{
  min-height:118px;
  display:grid;
  align-content:center;
  justify-items:center;
  padding:22px 18px;
}
.cercle-term-grid div+div{
  border-top:1px solid var(--line-dark);
}
.cercle-term-grid b{
  font-family:"Fraunces",Georgia,serif;
  font-size:28px;
  line-height:1;
  color:var(--cream-on-dark);
  font-weight:500;
}
.cercle-term-grid span{
  max-width:22ch;
  margin-top:10px;
  color:var(--muted-on-dark);
  font-size:13.5px;
  line-height:1.45;
}
@media(max-width:480px){
  .cercle-short{
    padding-top:34px;
  }
  .cercle-options article{
    min-height:220px;
    padding-left:12px;
    padding-right:12px;
  }
}
@media(min-width:820px){
  .cercle-term-grid{
    grid-template-columns:repeat(3,1fr);
  }
  .cercle-term-grid div+div{
    border-top:0;
    border-left:1px solid var(--line-dark);
  }
}

/* ---------- v65: service pages use the Le Cercle flagship architecture ---------- */
.service-flag{
  padding-top:42px;
  padding-bottom:42px;
}
.service-flag h1{
  max-width:12ch;
}
.service-flag .m-pic img{
  filter:brightness(.9) saturate(.92);
}
.massage-flag .m-pic img{
  object-position:50% 62%;
}
.recovery-flag .m-pic img{
  object-position:50% 50%;
}
.service-flag .m-rate .amt{
  font-size:clamp(2rem,8vw,2.55rem);
}
@media(min-width:820px){
  .service-flag{
    padding-top:84px;
    padding-bottom:84px;
  }
  .service-flag h1{
    max-width:13ch;
  }
}

/* ---------- v67: Massage and Recovery follow the Stretching protocol ---------- */
.massage-diagnosis .stretch-hero-photo,
.recovery-diagnosis .stretch-hero-photo{
  height:auto;
  aspect-ratio:16 / 9;
  max-height:420px;
}
.massage-diagnosis .stretch-hero-photo img,
.massage-diagnosis .stretch-hero-photo video{
  object-position:50% 72%;
}
.massage-diagnosis h1{
  max-width:10ch;
}
.massage-diagnosis .stretch-lead{
  max-width:31ch;
}
.recovery-diagnosis .stretch-hero-photo img,
.recovery-diagnosis .stretch-hero-photo video{
  object-position:50% 48%;
}
.recovery-diagnosis h1{
  max-width:9ch;
}
.recovery-diagnosis .stretch-lead{
  max-width:32ch;
}
.massage-minimal .service-pricing .price-card,
.recovery-minimal .service-pricing .price-card{
  border-radius:3px 3px 0 0;
  overflow:hidden;
}
@media(min-width:820px){
  .massage-diagnosis,
  .recovery-diagnosis{
    display:block;
  }
  .massage-diagnosis .stretch-hero-photo,
  .recovery-diagnosis .stretch-hero-photo{
    height:min(44vw,520px);
    aspect-ratio:auto;
    max-height:none;
  }
  .massage-diagnosis .shell,
  .recovery-diagnosis .shell{
    display:block;
    padding:46px 0 38px;
    text-align:center;
  }
  .massage-diagnosis h1,
  .massage-diagnosis .stretch-lead,
  .recovery-diagnosis h1,
  .recovery-diagnosis .stretch-lead{
    margin-left:auto;
    margin-right:auto;
  }
}
.massage-minimal .service-choice,
.recovery-minimal .service-choice{
  padding-top:8px;
  background:#fbf8f1;
}
.massage-minimal .service-pricing,
.recovery-minimal .service-pricing{
  padding-top:18px;
}
@media(min-width:820px){
  .massage-minimal .service-choice,
  .recovery-minimal .service-choice{
    padding-top:14px;
  }
  .massage-minimal .service-pricing,
  .recovery-minimal .service-pricing{
    padding-top:42px;
  }
}

/* ---------- v78: reliable mobile header and menu scroll ---------- */
@media(max-width:819.98px){
  body{
    --mobile-header-h:101px;
  }
  .site-head,
  .home-page .site-head{
    position:fixed;
    top:0;
    right:0;
    left:0;
  }
  main{
    padding-top:var(--mobile-header-h);
  }
  .mobile-panel{
    top:var(--mobile-header-h);
  }
}

/* ---------- v80: Stretching price comparison, single vs weekly ---------- */
.stretch-value{
  padding-top:18px;
  padding-bottom:104px;
  background:#fffdf8;
}
.stretch-value .shell{
  max-width:920px;
}
.stretch-value-card{
  overflow:hidden;
  border:1px solid var(--line-2);
  border-radius:3px 3px 0 0;
  background:var(--paper);
}
.stretch-value-head{
  padding:30px 18px 24px;
  text-align:center;
  border-bottom:1px solid var(--line);
  background:#fbf8f1;
}
.stretch-value-head h2{
  max-width:10ch;
  margin:0 auto;
  color:var(--ink);
  font-family:"Fraunces",Georgia,serif;
  font-size:clamp(2.55rem,11vw,4.5rem);
  font-weight:500;
  line-height:.9;
}
.stretch-value-head p{
  max-width:31ch;
  margin:16px auto 0;
  color:var(--muted);
  font-size:14.5px;
  line-height:1.5;
}
.stretch-price-compare{
  display:grid;
  gap:10px;
  padding:12px;
}
.compare-header,
.compare-row{
  display:grid;
  grid-template-columns:54px minmax(0,1fr) minmax(0,1fr);
  gap:6px;
  align-items:stretch;
}
.compare-header{
  padding:0 2px 2px;
  color:var(--terra);
  font-size:8.5px;
  font-weight:600;
  letter-spacing:.16em;
  line-height:1.2;
  text-align:center;
  text-transform:uppercase;
}
.compare-header span{
  min-width:0;
}
.compare-time,
.compare-cell{
  min-width:0;
  min-height:136px;
}
.compare-time{
  display:grid;
  align-content:center;
  justify-items:center;
  border:1px solid var(--line);
  background:var(--linen);
  text-align:center;
}
.compare-time b{
  color:var(--ink);
  font-family:"Fraunces",Georgia,serif;
  font-size:clamp(2.25rem,10vw,3.1rem);
  font-weight:500;
  line-height:1;
}
.compare-time span{
  margin-top:8px;
  color:var(--muted);
  font-size:9px;
  font-weight:600;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.compare-cell{
  display:grid;
  grid-template-rows:2.7em 1fr auto 32px;
  align-items:center;
  justify-items:center;
  padding:12px 7px 10px;
  border:1px solid var(--line);
  background:#fffdf8;
  color:var(--ink);
  text-align:center;
  transition:background .2s ease,border-color .2s ease,transform .2s ease;
}
.compare-cell:hover{
  border-color:var(--terra);
  background:rgba(151,96,64,.055);
  transform:translateY(-1px);
}
.compare-cell .label{
  display:flex;
  min-width:0;
  align-items:flex-start;
  justify-content:center;
  color:var(--terra);
  font-size:8.7px;
  font-weight:600;
  letter-spacing:.13em;
  line-height:1.3;
  text-transform:uppercase;
}
.compare-cell strong{
  align-self:end;
  color:inherit;
  font-family:"Fraunces",Georgia,serif;
  font-size:clamp(2.2rem,10.5vw,3.2rem);
  font-weight:600;
  line-height:1;
}
.compare-cell .meta{
  margin-top:8px;
  color:var(--muted);
  font-size:10.5px;
  line-height:1;
}
.compare-cell .cell-foot{
  display:flex;
  width:100%;
  min-width:0;
  align-items:center;
  justify-content:center;
  gap:5px;
  align-self:end;
  margin-top:10px;
}
.compare-cell .cell-foot span{
  min-width:0;
  color:var(--muted);
  font-size:8.4px;
  font-weight:600;
  letter-spacing:.11em;
  line-height:1;
  text-transform:uppercase;
  white-space:nowrap;
}
.compare-cell .cell-foot i{
  flex:0 0 auto;
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  border:1px solid var(--line-2);
  border-radius:50%;
  color:var(--terra);
  font-size:13px;
  font-style:normal;
  line-height:1;
}
.compare-cell.member{
  border-color:var(--char);
  background:var(--char);
  color:var(--cream-on-dark);
}
.compare-cell.member:hover{
  background:var(--ink);
}
.compare-cell.member .label,
.compare-cell.member .cell-foot span{
  color:var(--clay);
}
.compare-cell.member .meta{
  color:var(--muted-on-dark);
}
.compare-cell.member .cell-foot i{
  border-color:var(--line-dark);
  color:var(--clay);
}
.stretch-value-note{
  max-width:37ch;
  margin:0 auto;
  padding:0 18px 28px;
  color:var(--muted);
  font-size:13.5px;
  line-height:1.5;
  text-align:center;
}
@media(max-width:360px){
  .stretch-price-compare{
    padding:10px;
  }
  .compare-header,
  .compare-row{
    grid-template-columns:50px minmax(0,1fr) minmax(0,1fr);
    gap:5px;
  }
  .compare-cell{
    padding-left:6px;
    padding-right:6px;
  }
  .compare-cell .label{
    font-size:8px;
    letter-spacing:.1em;
  }
  .compare-cell .cell-foot{
    gap:4px;
  }
  .compare-cell .cell-foot i{
    width:22px;
    height:22px;
  }
}
@media(min-width:820px){
  .stretch-value{
    padding-top:24px;
    padding-bottom:118px;
  }
  .stretch-value-head{
    padding:38px 32px 30px;
  }
  .stretch-value-head h2{
    max-width:none;
  }
  .stretch-price-compare{
    grid-template-columns:1fr 1fr;
    gap:14px;
    padding:18px;
  }
  .compare-header{
    display:none;
  }
  .compare-row{
    grid-template-columns:88px minmax(0,1fr) minmax(0,1fr);
    gap:14px;
  }
  .compare-time,
  .compare-cell{
    min-height:166px;
  }
  .compare-cell{
    grid-template-rows:2.8em 1fr auto 34px;
    padding:16px 13px 14px;
  }
  .compare-cell .label{
    font-size:9.5px;
    letter-spacing:.15em;
  }
  .compare-cell .cell-foot{
    gap:8px;
  }
  .compare-cell .cell-foot i{
    width:28px;
    height:28px;
    font-size:15px;
  }
}

/* ---------- v81: home hero video with text on image ---------- */
.home-min-hero{
  position:relative;
  min-height:clamp(510px,calc(86svh - var(--mobile-header-h,0px)),630px);
  display:grid;
  align-items:center;
  overflow:hidden;
  background:var(--char);
  color:var(--cream-on-dark);
  text-align:center;
}
.home-min-hero .home-hero-photo{
  position:absolute;
  inset:0;
  height:100%;
  background:var(--char);
}
.home-hero-photo video,
.home-hero-video{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:50% 50%;
  filter:saturate(.86) contrast(.98) brightness(.88);
}
.home-hero-veil{
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(31,25,21,.34) 0%,rgba(31,25,21,.30) 34%,rgba(31,25,21,.34) 62%,rgba(31,25,21,.55) 100%),
    linear-gradient(90deg,rgba(31,25,21,.30) 0%,rgba(31,25,21,.10) 50%,rgba(31,25,21,.26) 100%);
}
.home-min-hero .home-hero-copy{
  position:relative;
  z-index:1;
  width:100%;
  max-width:min(920px,calc(100vw - 44px));
  padding:0 0 clamp(2px,1.5svh,16px);
}
.home-min-hero h1{
  max-width:min(100%,10.5ch);
  color:var(--cream-on-dark);
  text-shadow:0 2px 22px rgba(0,0,0,.26);
}
.home-min-hero h1 span,
.home-min-hero h1 em{
  display:block;
}
.home-min-hero p{
  max-width:31ch;
  margin:22px auto 0;
  color:rgba(255,253,248,.84);
  text-shadow:0 1px 12px rgba(0,0,0,.25);
}
@media(max-width:480px){
  .home-min-hero{
    min-height:clamp(430px,calc(80svh - var(--mobile-header-h,108px)),540px);
  }
  .home-hero-photo video,
  .home-hero-video{
    object-position:50% 50%;
  }
  .home-min-hero .home-hero-copy{
    padding-bottom:6px;
  }
}
@media(min-width:820px){
  .home-min-hero{
    min-height:clamp(560px,64svh,700px);
  }
  .home-min-hero .home-hero-copy{
    padding:0 0 clamp(36px,7vh,72px);
  }
  .home-min-hero h1{
    max-width:920px;
    font-size:clamp(4.4rem,7.3vw,7rem);
  }
  .home-min-hero h1 span:nth-child(1),
  .home-min-hero h1 span:nth-child(2){
    display:inline;
  }
  .home-min-hero h1 span:nth-child(1)::after,
  .home-min-hero h1 span:nth-child(2)::after{
    content:" ";
  }
  .home-min-hero h1 span:nth-child(3){
    display:block;
  }
  .home-min-hero p{
    max-width:42ch;
  }
}

/* ---------- v82: stronger home membership offer ---------- */
.home-min-rhythm{
  padding:64px 22px 78px;
  background:#fffdf8;
}
.home-rhythm-kicker{
  display:block;
  color:var(--terra);
  font-size:10px;
  font-weight:700;
  letter-spacing:.2em;
  text-transform:uppercase;
}
.home-min-rhythm h2{
  max-width:9.5ch;
  margin-top:12px;
}
.home-rhythm-lead{
  max-width:31ch;
  margin:16px auto 0;
  color:var(--muted);
  font-size:14.5px;
  line-height:1.55;
}
.home-rhythm-grid{
  max-width:820px;
  margin-top:32px;
  border:0;
  gap:12px;
  background:transparent;
}
.home-rhythm-grid a{
  min-height:310px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:32px 24px;
  border:1px solid var(--line-2);
  background:var(--paper);
}
.home-rhythm-grid a:first-child{
  background:#fbf8f1;
}
.home-rhythm-grid a:nth-child(2){
  border-color:var(--char);
  background:var(--char);
  color:var(--cream-on-dark);
}
.home-rhythm-grid a+a{
  border-top:1px solid var(--char);
}
.home-rhythm-grid h3{
  font-size:clamp(2.45rem,10vw,4.2rem);
}
.home-rhythm-grid p{
  max-width:25ch;
}
.home-rhythm-grid a:nth-child(2) h3,
.home-rhythm-grid a:nth-child(2) b{
  color:var(--cream-on-dark);
}
.home-rhythm-grid a:nth-child(2) p{
  color:var(--muted-on-dark);
}
.home-rhythm-grid a:nth-child(2) span,
.home-rhythm-grid a:nth-child(2) i{
  color:var(--clay);
}
.home-rhythm-grid b{
  margin-top:24px;
  font-size:clamp(1.55rem,6.2vw,3rem);
}
.home-rhythm-grid i{
  width:auto;
  height:auto;
  margin:20px auto 0;
  padding:10px 18px;
  border-radius:2px;
  font-size:10px;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.home-rhythm-grid a:nth-child(2) i{
  border-color:var(--line-dark);
}
@media(min-width:820px){
  .home-min-rhythm{
    padding:82px 22px 96px;
  }
  .home-rhythm-grid{
    grid-template-columns:1fr 1fr;
    gap:18px;
  }
  .home-rhythm-grid a+a{
    border-left:1px solid var(--char);
  }
}

/* ---------- v84: Farid "at your door" — arch photo fused with framed copy ---------- */
.home-min-farid .home-farid-grid{
  display:block;
  max-width:min(348px,84vw);
  margin:0 auto;
  gap:0;
}
.home-min-farid .home-farid-photo{
  height:auto;
  aspect-ratio:4/5;
  border:1px solid var(--line-2);
  border-bottom:none;
  border-radius:50% 50% 0 0 / 32% 32% 0 0;
  overflow:hidden;
  background:var(--char);
}
.home-min-farid .home-farid-photo img{
  object-position:50% 30%;
}
.home-min-farid .home-farid-copy{
  max-width:none;
  margin:0;
  padding:24px 22px 28px;
  border:1px solid var(--line-2);
  border-top:none;
  border-radius:0 0 3px 3px;
  background:var(--paper);
  text-align:center;
}
.home-min-farid .home-farid-copy h2{
  font-size:clamp(2rem,7.4vw,2.7rem);
}

/* ---------- v84: services -> membership transition (warm demarcation + tightened gap) ---------- */
.home-min-rhythm{
  background:var(--linen);
  border-top:1px solid var(--line);
}
@media(max-width:819px){
  .home-min-services{
    padding-bottom:30px;
  }
  .home-min-rhythm{
    padding-top:42px;
  }
}

/* ---------- v84: recovery before/during/after sequence ---------- */
.recovery-first{
  padding:34px 22px 32px;
  background:var(--linen);
  border-bottom:1px solid var(--line);
  text-align:center;
}
.recovery-first .stretch-center{
  max-width:35ch;
  margin:0 auto;
}
.recovery-first .stretch-center h2{
  font-size:clamp(1.9rem,7vw,2.6rem);
  line-height:1.02;
}
.recovery-first .stretch-center p{
  margin-top:14px;
  color:var(--muted);
  font-size:15px;
  line-height:1.55;
}
.recovery-seq{
  margin:24px auto 0;
  max-width:460px;
  display:grid;
  gap:0;
}
.rseq{
  display:grid;
  grid-template-columns:86px 1fr;
  gap:16px;
  align-items:baseline;
  padding:13px 0;
  border-top:1px solid var(--line);
}
.rseq:last-child{
  border-bottom:1px solid var(--line);
}
.rseq span{
  font-size:10.5px;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-weight:700;
  color:var(--terra);
}
.rseq b{
  font-weight:500;
  font-size:15px;
  line-height:1.42;
  color:var(--ink);
}

/* ---------- v84: desktop alignment / centering fixes ---------- */
@media(min-width:820px){
  .stretch-foundation-card{margin-inline:auto}
  .stretch-foundation .shell>h2{max-width:620px;margin-inline:auto}
  .home-min-hero h1{line-height:.96}
  .home-min-body{justify-content:flex-start}
  .home-min-body h3{
    min-height:1.9em;
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .home-min-body p{min-height:2.9em}
  .home-min-body div{margin-top:auto}
}

/* ---------- v85: same hamburger menu on desktop ---------- */
@media(min-width:820px){
  :root{--mobile-header-h:109px}
  .nav-links{display:none !important}
  .burger{display:flex !important}
  .mobile-panel{display:flex}
  .foundation-mini{justify-content:center}
  .foundation-mini b{margin-top:16px}
  .stretch-price-compare{grid-template-columns:1fr;max-width:560px;margin-inline:auto}
  .recovery-seq{max-width:540px}
  .rseq{grid-template-columns:auto auto;justify-content:center;gap:20px}
  .head-row,.home-page .head-row{position:relative;justify-content:center}
  .wordmark,.home-page .wordmark{text-align:center;align-items:center}
  .burger{position:absolute;left:var(--pad);right:auto;top:50%;transform:translateY(-50%)}
}

/* ---------- v87: service card availability badge ---------- */
.home-min-img{position:relative}
.stretch-avail{
  display:inline-flex;align-items:center;gap:9px;margin-top:22px;
  padding:9px 17px;border-radius:2px;
  background:var(--terra);color:#fff;
  font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;
}
.stretch-avail .av-dot{
  width:8px;height:8px;border-radius:50%;background:#fff;flex:none;
}

/* ---------- v90: anti AI-slop — remove decorative ordinals + italic-terra accents ---------- */
.who-item{grid-template-columns:1fr}
.who-item .n{display:none}
.rows-num li{gap:0}
.rows-num .n{display:none}
/* italic accent words in accent colour → upright/neutral (kill the "serif italic terracotta" tell) */
.rhythm .quote em{font-style:normal;color:inherit}
.svc-card .fr{font-style:normal}

/* ---------- v91: Duo at home block (brown) ---------- */
.home-duo{
  padding:clamp(40px,8vw,64px) 22px clamp(56px,10vw,94px);
  background:var(--cacao);
  color:var(--cream-on-dark);
}
.home-duo .shell{max-width:720px;margin:0 auto}
.duo-head{text-align:center}
.duo-eyebrow{color:var(--clay);font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;margin-bottom:14px}
.home-duo h2{color:var(--cream-on-dark);font-size:clamp(2.5rem,9vw,4.2rem);line-height:1;font-weight:500;letter-spacing:-.01em}
.duo-lead{max-width:42ch;margin:18px auto 0;color:var(--muted-on-dark);font-size:15px;line-height:1.6}
.duo-rows{margin:34px auto 0;max-width:520px}
.duo-row{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:baseline;padding:15px 0;border-top:1px solid rgba(241,233,219,.16)}
.duo-row:last-child{border-bottom:1px solid rgba(241,233,219,.16)}
.duo-row span{color:var(--muted-on-dark);font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;white-space:nowrap}
.duo-row b{color:var(--cream-on-dark);font-weight:500;font-size:15px;line-height:1.42;text-align:right}
.duo-actions{margin:30px auto 0;text-align:center}
.duo-actions .btn{min-width:220px}
.duo-note{max-width:44ch;margin:16px auto 0;text-align:center;color:var(--muted-on-dark);font-size:12px;line-height:1.55;opacity:.85}
@media(min-width:820px){
  .duo-row{grid-template-columns:190px 1fr;gap:34px}
}

/* ---------- Duo at Home: 3-up pairing grid + hero fine print ---------- */
.m-fine{margin-top:14px;font-size:11.5px;line-height:1.5;color:var(--muted-on-dark)}
.duo-options{border:0}
@media(max-width:819px){.duo-options{grid-template-columns:1fr}}
.duo-options .stretch-center{grid-column:1/-1}
@media(min-width:820px){
  .duo-options{grid-template-columns:repeat(3,1fr);gap:20px;max-width:940px;align-items:stretch}
  .duo-options article{border-top:0;border-bottom:0;padding:26px 22px;border-radius:var(--r-lg)}
}

/* ---------- Top rail as scrolling marquee (scoped test on home) ---------- */
.site-head .head-rail.rail-marquee{display:block;grid-template-columns:none;overflow:hidden;min-height:31px;background:var(--terra)}
.rail-marquee .rail-track{display:flex;width:max-content;align-items:center;animation:rail-scroll 34s linear infinite}
.rail-marquee .rail-track span{display:inline-flex;align-items:center;white-space:nowrap;padding:8px 0;margin:0;font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--cream-on-dark)}
.rail-marquee .rail-track span::after{content:"";display:inline-block;width:5px;height:5px;margin:0 34px;background:var(--clay);transform:rotate(45deg);opacity:.95;flex:0 0 auto}
@keyframes rail-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.rail-marquee .rail-track{animation:none;justify-content:center;width:100%}}

/* ---------- Duo "Good to know" as a light section (page breathes) ---------- */
.cercle-terms.duo-know{background:var(--paper);color:var(--ink)}
.duo-know h2{color:var(--ink)}
.duo-know .cercle-term-grid{border-color:var(--line)}
.duo-know .cercle-term-grid div+div{border-color:var(--line)}
.duo-know .cercle-term-grid b{color:var(--ink)}
.duo-know .cercle-term-grid span{color:var(--muted)}

/* Duo hands photo: gentle warm tone to match the palette */
.memb .m-pic img.duo-hands{filter:sepia(.14) saturate(1.06) brightness(.96)}

/* ---------- Farid tweaks 2026-07-14 : qualif labels, Duo good-to-know CTA, header phone icon ---------- */
.qual-item b{color:var(--terra)}
.duo-know .btn{background:var(--terra);border-color:var(--terra);color:var(--cream-on-dark)}
.duo-know .btn:hover{background:var(--char);border-color:var(--char)}
.site-head .head-row{position:relative}
.head-phone{position:absolute;right:var(--pad);top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;color:rgba(94,42,42,.6);padding:6px;line-height:0;z-index:4}
.head-phone svg{width:20px;height:20px;display:block;stroke-width:1.35}
.head-phone:hover{color:var(--terra)}

/* ---- Farid portrait framing : practitioner.png (about/faq) = face in the upper third ---- */
.faq-pic img{object-position:50% 18%}
.about-portrait-frame img{object-position:50% 20%}
/* ---- home army block: photo shown WHOLE (no crop) and large ---- */
/* container ratio == photo ratio (1170x1539) so object-fit:cover crops nothing */
.home-min-farid .home-farid-photo{aspect-ratio:1122/1402}
.home-min-farid .home-farid-photo img{object-position:50% 28%}
.home-min-farid .home-farid-grid{max-width:min(430px,92vw)}
@media (min-width:820px){
  .home-min-farid .shell{max-width:min(1040px,calc(100vw - 44px))}
  .home-min-farid .home-farid-grid{
    display:grid;
    grid-template-columns:minmax(300px,40%) 1fr;
    gap:54px;
    max-width:none;
    align-items:center;
  }
  .home-min-farid .home-farid-photo{border-bottom:1px solid var(--line-2);border-radius:50% 50% 3px 3px / 30% 30% 2% 2%}
  /* editorial on desktop: plain text beside the photo, no floating framed card */
  .home-min-farid .home-farid-copy{border:0;background:transparent;border-radius:0;text-align:left;padding:0}
  .home-min-farid .home-farid-copy h2{margin-left:0}
  .home-min-farid .home-farid-copy p{margin-left:0;margin-right:0;max-width:42ch}
  .home-min-farid .home-farid-links{justify-content:flex-start}
}

/* ---- marquee: keep scrolling even when the OS asks to reduce motion ----
   CEO call (Farid, 2026-07-15): his PC has Windows "animation effects" off, so the
   rail read as broken/static. The rail is decorative (aria-hidden), the motion is
   slow (34s) and horizontal-only, so we override the reduced-motion stop here ONLY.
   Every other reduced-motion rule (reveals, hero video, hovers) stays respected. */
@media (prefers-reduced-motion:reduce){
  .rail-marquee .rail-track{
    animation:rail-scroll 34s linear infinite;
    justify-content:flex-start;
    width:max-content;
  }
}

/* ---- home army block: "Meet me" / "Where I travel" as oxblood-framed links ---- */
.home-min-farid .home-farid-links a{
  border:1px solid var(--terra);
  border-radius:2px;
  padding:9px 16px;
  color:var(--terra);
  background:transparent;
  transition:background .3s ease,color .3s ease;
}
.home-min-farid .home-farid-links a:hover{background:var(--terra);color:var(--cream-on-dark)}

/* ---- stretch hero "Available from 5am" badge ----
   The hero .shell is a flex column, so the badge (a flex item) stretched to the
   full column width (597px) and its text read as left-aligned. align-self stops
   the stretch so the badge hugs its own text and sits centred. */
.stretch-avail{align-self:center;padding:7px 15px}

/* ---- price rows: filled oxblood circle + cream arrow ----
   The "→" glyph sits low inside its own line box (font metric), so text centring
   is never truly centred. Use an SVG background instead: background-position
   centres it geometrically on both axes. */
.service-pricing .pc-rows .go,
.stretch-booking-grid .pc-rows .go{
  background-color:var(--terra);
  border-color:var(--terra);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F1E9DB' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h15M13 6l6 6-6 6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:50% 50%;
  background-size:15px 15px;
}
.service-pricing .pc-rows .go::after,
.stretch-booking-grid .pc-rows .go::after{content:none}
.service-pricing .pc-rows .go:hover,
.stretch-booking-grid .pc-rows .go:hover{background-color:var(--char);border-color:var(--char)}

/* ---- "Keep the work moving." forced onto 2 lines (like "Choose the work.") ---- */
.home-min-rhythm h2{max-width:none}
.home-min-rhythm h2 span{display:block}

/* ---- closer "Any question?": small oxblood frame hugging the words, white all around ---- */
.home-min-final{background:var(--paper);color:var(--ink);padding:54px 22px 58px}
.home-min-final .shell{
  max-width:min(520px,100%);
  margin-inline:auto;
  background:var(--terra);
  color:var(--cream-on-dark);
  padding:34px 26px 36px;
  border-radius:3px;
}
.home-min-final h2{color:var(--cream-on-dark);margin-inline:auto}
.home-min-final p{margin-top:12px;color:rgba(241,233,219,.78)}
.home-final-actions{max-width:none;align-items:center;margin-top:20px}
.home-final-actions .btn{
  width:auto;
  padding:12px 22px;
  background:var(--cream-on-dark);
  border-color:var(--cream-on-dark);
  color:var(--terra);
}
.home-final-actions .btn:hover{background:transparent;border-color:var(--cream-on-dark);color:var(--cream-on-dark)}

/* ---- /areas suburb zone lists as chips (v96) ---- */
.area-lists{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:26px}
.area-list h3{font-family:"Fraunces",Georgia,serif;font-size:clamp(16px,3.2vw,19px);font-weight:500;color:var(--ink);margin:0 0 13px;display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}
.area-list h3 span{font-family:"Hanken Grotesk",system-ui,sans-serif;font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--terra);font-weight:600}
.area-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:7px}
.area-chips li{font-family:"Hanken Grotesk",system-ui,sans-serif;font-size:12.5px;line-height:1;color:var(--muted);background:var(--paper);border:1px solid var(--line-2);border-radius:2px;padding:7px 11px;white-space:nowrap}
.area-list .area-note{margin:14px 0 0;font-size:12px;color:var(--muted);line-height:1.55;max-width:36ch}
@media (max-width:719px){.area-lists{grid-template-columns:1fr;gap:22px}}

/* ---- mini-titles (eyebrow / kicker): one rule ----
   Light background -> oxblood var(--terra): echoes the oxblood top marquee and lifts
   the 3 unreadable ones (clay on linen/paper measured at 2.3-2.6 contrast = WCAG fail).
   Dark background -> clay stays: oxblood on --char would be ~1.5 contrast (invisible).
   .arch is a LIGHT section, so it moves to oxblood; .memb/.finale are dark and keep clay. */
.eyebrow,.kicker,.duo-eyebrow{color:var(--terra)}
.arch .sec-head .eyebrow{color:var(--terra)}

/* ---- burger A: grouped by intent, on a WHITE panel ----
   Farid's call: white background so the oxblood group labels actually read
   (on the old dark panel, oxblood on --char was ~1.5 contrast = invisible). */
.mobile-panel{background:var(--paper);color:var(--ink)}
.mobile-panel ul li a{color:var(--ink);border-color:var(--line)}
.mobile-panel ul li a:hover{color:var(--terra)}
.mobile-panel .mp-grp{
  list-style:none;
  margin:22px 0 8px;
  font-family:"Hanken Grotesk",system-ui,sans-serif;
  font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;
  color:var(--terra);
  border:0;
}
.mobile-panel ul li.mp-grp:first-child{margin-top:0}
.mobile-panel .mp-cta .btn{background:var(--terra);border-color:var(--terra);color:var(--cream-on-dark)}
/* burger group labels: the marquee diamond as a bullet (same 5px / 45deg signature),
   in oxblood because the panel is white — clay would go dull here. Front only:
   a trailing one would frame the word = ornamental, the AI-slop tic we removed. */
.mobile-panel .mp-grp{display:flex;align-items:center;gap:9px}
.mobile-panel .mp-grp::before{content:"";width:5px;height:5px;flex:0 0 auto;background:var(--terra);transform:rotate(45deg)}

/* ---- home hero: it read as a compact block because of line-height .88 (lines touching),
   not because of the size. Air first, then one size down, then let it stretch wider. ---- */
.home-min-hero h1{line-height:1}
@media (max-width:819px){
  .home-min-hero h1{font-size:clamp(1.9rem,8.7vw,2.5rem);max-width:min(100%,300px)}
}

/* ---- booking: oxblood frame on the form heading + oxblood WhatsApp button ----
   Aligns /booking with /areas, where the same WhatsApp button is already oxblood. */
#rf-form-title{
  display:inline-block;
  border:1px solid var(--terra);
  border-radius:2px;
  padding:8px 16px;
  color:var(--terra);
}
#f-send{background:var(--terra);border-color:var(--terra);color:var(--cream-on-dark)}
#f-send:hover{background:var(--char);border-color:var(--char)}

/* booking heading: FILLED oxblood block, centred (was an outline only) */
#rf-form-title{
  display:block;
  width:fit-content;
  margin-inline:auto;
  background:var(--terra);
  border-color:var(--terra);
  color:var(--cream-on-dark);
  text-align:center;
  padding:9px 18px;
}

/* Duo: legible eyebrow + a big animated down-arrow that draws the eye in (2026-07-24). */
.home-duo .duo-eyebrow{color:var(--clay)}
.duo-cue{text-align:center;color:var(--clay);margin-bottom:16px;line-height:0}
.duo-cue svg{animation:duoBob 1.7s ease-in-out infinite}
@keyframes duoBob{0%,100%{transform:translateY(0)}50%{transform:translateY(7px)}}
@media(prefers-reduced-motion:reduce){.duo-cue svg{animation:none}}

/* Duo CTA: clear, visible arrow that nudges on hover (2026-07-24). */
.duo-cta{display:inline-flex;align-items:center;gap:9px}
.duo-cta svg{transition:transform .25s ease}
.duo-cta:hover svg{transform:translateX(4px)}

/* Membership cards: pin price + CTA to the bottom so both cards align regardless
   of paragraph length (2026-07-24). Card is flex-column; auto margin absorbs the gap. */
.home-rhythm-grid a b{margin-top:auto}
.home-rhythm-grid a i{margin-top:16px}

/* Membership price lockup (2026-07-29): "from" + amount + unit on one baseline.
   Fixes the old clamp(...,3rem) that hit 48px on desktop and wrapped "$200 /"
   onto a second line inside the fixed 401px card. */
.home-rhythm-grid b.rprice{
  margin-top:auto;
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  justify-content:center;
  column-gap:.36em;
  row-gap:2px;
  line-height:1;
}
.home-rhythm-grid b.rprice span{
  font-size:inherit;
  letter-spacing:normal;
  text-transform:none;
  font-weight:400;
  margin:0;
}
.home-rhythm-grid b.rprice .rp-lead{
  font-family:"Hanken Grotesk",system-ui,sans-serif;
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--muted);
}
.home-rhythm-grid b.rprice .rp-amt{
  font-family:"Fraunces",Georgia,serif;
  font-size:clamp(1.75rem,5.4vw,2.3rem);
  font-weight:500;
  color:var(--ink);
}
.home-rhythm-grid b.rprice .rp-unit{
  font-family:"Hanken Grotesk",system-ui,sans-serif;
  font-size:13px;
  color:var(--muted);
}
.home-rhythm-grid a:nth-child(2) b.rprice .rp-amt{color:var(--cream-on-dark)}
.home-rhythm-grid a:nth-child(2) b.rprice .rp-lead,
.home-rhythm-grid a:nth-child(2) b.rprice .rp-unit{color:var(--muted-on-dark)}

/* Le Cercle rate ladder (2026-07-24). Self-contained: the .p-row primitives are
   scoped to .pprev (now hidden by the v64 rule), so restyle them here. */
.cercle-rates{padding:40px 22px 46px}
.cercle-rates .p-wrap{max-width:560px;margin-inline:auto}
.cercle-rates .sec-head{margin-bottom:10px;text-align:center}
.cercle-rates .lad-head{
  font-family:"Hanken Grotesk",sans-serif;
  font-size:12.5px;
  letter-spacing:.14em;
  text-transform:uppercase;
  opacity:.5;
  margin:26px 0 2px;
}
.cercle-rates .lad-head:first-of-type{margin-top:10px}
.cercle-rates .p-row{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:14px 0;border-top:1px solid var(--line)}
.cercle-rates .p-row:last-of-type{border-bottom:1px solid var(--line)}
.cercle-rates .p-row .pn{font-family:"Fraunces",serif;font-size:19px;color:var(--ink)}
.cercle-rates .p-row .pn small{display:block;font-family:"Hanken Grotesk";font-size:12px;color:var(--muted);letter-spacing:.02em;margin-top:3px}
.cercle-rates .p-row .pv{white-space:nowrap}
.cercle-rates .p-row .pv b{font-family:"Fraunces",serif;font-size:19px;color:var(--ink);font-weight:600}
.cercle-rates .p-row.is-single{opacity:.6}
.cercle-rates .p-note{margin-top:20px;font-size:13.5px;color:var(--muted);line-height:1.55}
