/* =====================================================================
   TCM Women's Health (/tcm-womens-health/), R3 29/09/2026. Loaded after clinic-proto.css.
   Trina's TCM prototype (bmb-tcm-womens-health) in the family of her clinic pages: the BMB site
   header and footer stay, a clinic sub-bar sits under the header (as on /lactation-clinic/), type
   is the site's Quicksand body with Playfair Display headings, and her sections run in her order:
   lavender hero, The Essentials, 01 Pregnancy, 02 Postpartum Recovery, Our Approach (plum band),
   Meet our specialist, Consultation (lavender band), then the clinic contact strip.
   Her deep plum (#54285e) is the site's softer plum here, per the "soften the purple" direction.
   Everything is scoped to main.tcm-page, so no other page changes.
   ===================================================================== */
html body main.tcm-page{
  --tcm-lavender:#efe9f3; --tcm-mist:#f5f1f5; --tcm-sand:#ede7df; --tcm-ivory:#fbf9f6;
  --tcm-band:#553f63; --tcm-band-ink:#f7f3f0; --tcm-band-quiet:#e0d4e6;
  --tcm-gutter:clamp(1.35rem,6.8vw,7rem);
  --sans:"Quicksand", system-ui, -apple-system, "Segoe UI", sans-serif; font-family:var(--sans);
  background:var(--tcm-ivory);
}

/* ---- skip link: hidden until it gets keyboard focus (as on the lactation page) ---- */
.skip-link{position:fixed; left:1rem; top:-5rem; z-index:200; padding:.7rem 1rem; border-radius:8px;
  color:#5b405f; background:#fff; box-shadow:0 8px 24px rgba(64,47,67,.18); font-weight:700; text-decoration:none;}
.skip-link:focus, .skip-link:focus-visible{top:1rem; outline:2px solid #5b405f; outline-offset:2px;}

/* ---- clinic sub-bar: same bar as /lactation-clinic/ (lockup, section links, Book now) ---- */
html body main.tcm-page .lc-subhead{position:relative; z-index:40; display:flex; align-items:center; gap:2rem; min-height:76px;
  padding:.4rem clamp(1rem,4vw,4.5rem); background:rgba(255,253,251,.92); border-bottom:1px solid var(--line);
  -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);}
html body main.tcm-page .lc-lockup{display:flex; align-items:center; gap:.85rem; min-width:0; color:inherit; text-decoration:none;}
html body main.tcm-page .lc-lockup-copy{display:grid; line-height:1.2;}
html body main.tcm-page .lc-lockup-copy strong{color:var(--plum); font-family:var(--serif); font-size:1.06rem; font-style:italic; font-weight:500; white-space:nowrap;}
html body main.tcm-page .lc-lockup-copy small{margin-top:.15rem; color:var(--bronze); font-size:.9rem; font-weight:700; letter-spacing:.02em; white-space:nowrap;}
html body main.tcm-page .lc-subnav{display:flex; justify-content:center; gap:clamp(1rem,2.4vw,2rem); margin-left:auto;}
html body main.tcm-page .lc-subnav a{color:#625963; font-size:.9rem; font-weight:600; line-height:1.3; text-decoration:none; white-space:nowrap;}
html body main.tcm-page .lc-subnav a:hover, html body main.tcm-page .lc-subnav a:focus-visible{color:var(--plum); text-decoration:underline; text-underline-offset:.3em;}
html body main.tcm-page .lc-subhead-cta{flex:0 0 auto;}
@media (min-width:761px){
  /* sticky under the BMB header from 761px up; --lc-sub-top is set by the page script */
  html body main.tcm-page .lc-subhead{position:sticky; top:var(--lc-sub-top,81px);}
}
@media (min-width:761px) and (max-width:1060px){
  html body main.tcm-page .lc-subhead{gap:1rem; min-height:58px; padding-top:.4rem; padding-bottom:.4rem;}
  html body main.tcm-page .lc-lockup-copy strong{font-size:1rem;}
}
html body main.tcm-page :is(#top, #pregnancy, #recovery, #approach, #specialist, #book){scroll-margin-top:160px;}
html body main.tcm-page [tabindex="-1"]:focus{outline:none;}

/* ---- shared details from her prototype: bronze eyebrows, uppercase arrow links with a bronze rule ---- */
html body main.tcm-page .eyebrow{margin:0 0 1.1rem; color:var(--bronze); font-size:.8rem; font-weight:700; letter-spacing:.17em; text-transform:uppercase;}
html body main.tcm-page h2{color:var(--plum); font-family:var(--serif); font-weight:400; line-height:1.08; letter-spacing:-.03em; margin:0;}
html body main.tcm-page .tcm-button{gap:.9rem; padding:.85rem 1.45rem; font-size:.95rem;}
html body main.tcm-page .tcm-button span{font-size:1.15rem; line-height:1;}
html body main.tcm-page .tcm-link{display:inline-flex; align-items:center; gap:.8rem; padding:.35rem 0 .4rem; color:var(--plum);
  font-size:.82rem; font-weight:700; letter-spacing:.12em; line-height:1.4; text-transform:uppercase; text-decoration:none;
  border-bottom:1px solid var(--bronze);}
html body main.tcm-page .tcm-link span{font-size:1.1rem; letter-spacing:0; line-height:1; transition:transform .2s ease;}
html body main.tcm-page .tcm-link:hover, html body main.tcm-page .tcm-link:focus-visible{color:var(--bronze);}
html body main.tcm-page .tcm-link:hover span, html body main.tcm-page .tcm-link:focus-visible span{transform:translateX(3px);}

/* ---- hero: copy on lavender, the consultation photo running to the right edge ---- */
html body main.tcm-page .tcm-hero{display:grid; grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr); min-height:640px;
  background:var(--tcm-lavender); overflow:hidden;}
html body main.tcm-page .tcm-hero-copy{align-self:center; max-width:700px;
  padding:clamp(4.5rem,7vw,6.5rem) clamp(2rem,4vw,4rem) clamp(4.5rem,7vw,6.5rem) var(--tcm-gutter);}
html body main.tcm-page h1.tcm-h1{margin:0 0 1.2rem; max-width:none; color:var(--bronze); font-family:var(--sans); font-size:.85rem; font-weight:700;
  font-style:normal; letter-spacing:.19em; line-height:1.4; text-transform:uppercase;}
html body main.tcm-page .tcm-hero .hero-display{max-width:620px; margin:0; color:var(--plum); font-size:clamp(2.7rem,5.1vw,5.2rem); line-height:1.06; letter-spacing:-.035em;}
html body main.tcm-page .tcm-lead{max-width:500px; margin:1.9rem 0 2.1rem; color:#4d444e; font-size:1.1rem; line-height:1.7;}
html body main.tcm-page .tcm-hero .hero-actions{margin-top:0;}
html body main.tcm-page .tcm-hero-media{position:relative; margin:0; min-height:520px; overflow:hidden; background:linear-gradient(145deg,#ddd2e6,#f9f5ef 72%);}
html body main.tcm-page .tcm-hero-media img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:74% 38%;
  mix-blend-mode:multiply; filter:saturate(.85) contrast(.97);}

/* ---- The Essentials ---- */
html body main.tcm-page .tcm-essentials{display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1fr); gap:clamp(3rem,8vw,7.5rem); align-items:start;
  padding:clamp(5rem,9vw,8.5rem) max(5vw, calc((100vw - 1104px) / 2));}
html body main.tcm-page .tcm-essentials h2{font-size:clamp(2.3rem,3.7vw,3.9rem);}
html body main.tcm-page .tcm-essentials-copy{margin:1.9rem 0 0; color:#3f3542; font-family:var(--serif); font-size:clamp(1.25rem,1.6vw,1.5rem); font-weight:400; line-height:1.5;}

/* ---- 01 Pregnancy / 02 Postpartum Recovery ---- */
html body main.tcm-page .tcm-care{display:grid; grid-template-columns:200px minmax(0,1fr); padding:clamp(4.5rem,7vw,6rem) max(5vw, calc((100vw - 1000px) / 2));
  background:var(--tcm-mist); border-top:1px solid rgba(91,64,95,.12);}
html body main.tcm-page .tcm-care--recovery{background:var(--tcm-ivory);}
html body main.tcm-page .tcm-marker{display:flex; gap:.9rem; padding-top:.2rem; color:var(--bronze); font-size:.8rem; font-weight:700; letter-spacing:.14em;}
html body main.tcm-page .tcm-marker span{width:44px; height:1px; margin-top:.62rem; background:var(--bronze);}
html body main.tcm-page .tcm-care-body{max-width:680px;}
html body main.tcm-page .tcm-care h2{font-size:clamp(2.3rem,4vw,4.2rem);}
html body main.tcm-page .tcm-care-body > p:not(.eyebrow){max-width:580px; margin:1.4rem 0 1.5rem; color:#4d444e; font-size:1.06rem; line-height:1.7;}

/* ---- Our Approach: the plum band ---- */
html body main.tcm-page .tcm-approach{display:grid; grid-template-columns:1fr 1fr; gap:clamp(3rem,8vw,7.5rem);
  padding:clamp(5rem,9vw,8.5rem) max(5vw, calc((100vw - 1120px) / 2)); background:var(--tcm-band); color:var(--tcm-band-ink);}
html body main.tcm-page .tcm-approach .eyebrow{color:#e2c7ab;}
html body main.tcm-page .tcm-approach h2{color:var(--tcm-band-ink); font-size:clamp(2.3rem,3.7vw,3.9rem);}
html body main.tcm-page .tcm-approach-copy{padding-top:1.2rem;}
html body main.tcm-page .tcm-approach-copy p{margin:0 0 1.8rem; color:var(--tcm-band-ink); font-size:1.08rem; line-height:1.7;}
html body main.tcm-page .tcm-approach-copy .tcm-quiet{margin:0; color:var(--tcm-band-quiet); font-family:var(--serif); font-size:clamp(1.2rem,1.5vw,1.4rem); font-weight:400; line-height:1.5;}

/* ---- Meet our specialist ---- */
html body main.tcm-page .tcm-specialist{display:grid; grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr); background:var(--tcm-sand);}
html body main.tcm-page .tcm-specialist-photo{position:relative; min-height:620px; overflow:hidden; background:#efebe5;}
html body main.tcm-page .tcm-specialist-photo img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 22%;
  mix-blend-mode:multiply; filter:saturate(.88);}
html body main.tcm-page .tcm-specialist-copy{align-self:center; max-width:720px; padding:clamp(4.5rem,7vw,6.5rem) clamp(1.35rem,7vw,7.5rem);}
html body main.tcm-page .tcm-specialist h2{color:var(--plum); font-family:var(--sans); font-size:clamp(2.3rem,3.6vw,3.5rem); font-weight:600; letter-spacing:-.025em; line-height:1.1;}
html body main.tcm-page .tcm-alt{margin:.55rem 0 0; color:#6f6670; font-size:1.05rem; font-weight:600; letter-spacing:.04em;}
html body main.tcm-page .tcm-subtitle{margin:1.5rem 0 1.2rem; color:var(--bronze); font-size:.8rem; font-weight:700; letter-spacing:.12em; line-height:1.65; text-transform:uppercase;}
html body main.tcm-page .tcm-intro{margin:0; color:#4d444e; font-size:1.02rem; line-height:1.7;}
html body main.tcm-page .tcm-credentials{margin:2.2rem 0 0; padding-top:1.2rem; border-top:1px solid #cdbfb1;}
html body main.tcm-page .tcm-credentials div{display:grid; grid-template-columns:170px minmax(0,1fr); gap:1.2rem; margin:.8rem 0;}
html body main.tcm-page .tcm-credentials dt{padding-top:.15rem; color:var(--bronze); font-size:.74rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase;}
html body main.tcm-page .tcm-credentials dd{margin:0; color:#3f3542; font-size:.98rem; line-height:1.65;}

/* ---- Consultation band + the packages-and-prices notice ---- */
html body main.tcm-page .tcm-consult{padding:clamp(5rem,9vw,8rem) 1.5rem clamp(4rem,7vw,6rem); background:var(--tcm-lavender); text-align:center;}
html body main.tcm-page .tcm-consult h2{max-width:900px; margin:0 auto; font-size:clamp(2.3rem,4.3vw,4.4rem);}
html body main.tcm-page .tcm-consult > p:not(.eyebrow){max-width:520px; margin:1.5rem auto 2.1rem; color:#4d444e; font-size:1.08rem; line-height:1.7;}
html body main.tcm-page .tcm-consult .hero-actions{gap:1.8rem; margin-top:0;}
html body main.tcm-page .tcm-consult > aside.bmb-promo-pause{margin-top:clamp(2.6rem,4vw,3.4rem) !important; margin-bottom:0 !important;}

/* ---- clinic contact strip, above the site footer (her prototype footer's address, hours and contacts) ---- */
html body main.tcm-page .lc-contact-strip{align-items:center; background:#f2edf3; border-top:1px solid var(--line); color:#6b626c;}
html body main.tcm-page .lc-contact-strip strong{font-size:.95rem;}
html body main.tcm-page .lc-contact-strip div:last-child{justify-items:end; text-align:right;}
html body main.tcm-page .lc-contact-strip a{color:#5f5660; text-decoration:underline; text-decoration-color:rgba(91,64,95,.35); text-underline-offset:.25em;}
html body main.tcm-page .lc-contact-strip a:hover, html body main.tcm-page .lc-contact-strip a:focus-visible{color:var(--plum);}

/* ---- phone booking bar (hidden on wider screens) ---- */
html body main.tcm-page .lc-mobile-book{display:none;}

@media (max-width:1060px){
  html body main.tcm-page .lc-subnav{display:none;}
  html body main.tcm-page .lc-subhead-cta{margin-left:auto;}
  html body main.tcm-page .tcm-hero{grid-template-columns:minmax(0,1fr) 44%; min-height:580px;}
  html body main.tcm-page .tcm-hero-copy{padding-left:5vw; padding-right:4vw;}
  html body main.tcm-page .tcm-care{grid-template-columns:150px minmax(0,1fr);}
  html body main.tcm-page .tcm-specialist-copy{padding-left:5vw; padding-right:5vw;}
  /* one left edge (5vw, as the hero copy) for every band from here down */
  html body main.tcm-page .lc-contact-strip{padding-left:5vw; padding-right:5vw;}
  html body main.tcm-page .tcm-credentials div{grid-template-columns:1fr; gap:.2rem;}
}
@media (max-width:900px){
  html body main.tcm-page .tcm-approach{grid-template-columns:1fr; gap:1.5rem;}
  html body main.tcm-page .tcm-approach-copy{padding-top:0;}
  html body main.tcm-page .tcm-specialist{grid-template-columns:1fr;}
  html body main.tcm-page .tcm-specialist-photo{min-height:0; aspect-ratio:1 / 1; max-height:560px;}
  html body main.tcm-page .tcm-specialist-copy{max-width:none;}
}
@media (max-width:760px){
  html body main.tcm-page .lc-subhead{gap:1rem; min-height:64px; padding:.5rem 1rem;}
  html body main.tcm-page .lc-lockup-copy strong{font-size:1rem;}
  html body main.tcm-page .lc-subhead-cta{display:none;}
  html body main.tcm-page :is(#top, #pregnancy, #recovery, #approach, #specialist, #book){scroll-margin-top:88px;}

  html body main.tcm-page .tcm-hero{grid-template-columns:1fr; min-height:0;}
  html body main.tcm-page .tcm-hero-copy{padding:3.6rem 1.35rem 3.2rem;}
  html body main.tcm-page .tcm-hero .hero-display{font-size:clamp(2.5rem,11vw,3.4rem);}
  html body main.tcm-page .tcm-hero .hero-actions{align-items:stretch;}
  html body main.tcm-page .tcm-hero-media{min-height:0; aspect-ratio:4 / 3.4;}
  html body main.tcm-page .tcm-essentials{grid-template-columns:1fr; gap:1.4rem; padding:4.5rem 1.35rem;}
  html body main.tcm-page .tcm-essentials-copy{margin:0;}
  html body main.tcm-page .tcm-care{grid-template-columns:1fr; gap:1.6rem; padding:4rem 1.35rem;}
  html body main.tcm-page .tcm-care h2, html body main.tcm-page .tcm-essentials h2, html body main.tcm-page .tcm-approach h2{font-size:clamp(2.1rem,9vw,2.8rem);}
  html body main.tcm-page .tcm-approach{padding:4.5rem 1.35rem;}
  html body main.tcm-page .tcm-specialist-copy{padding:3.8rem 1.35rem 4.2rem;}
  html body main.tcm-page .tcm-specialist h2{font-size:clamp(2.1rem,9.5vw,2.7rem);}
  html body main.tcm-page .tcm-consult{padding:4.5rem 1.35rem 3.5rem;}
  html body main.tcm-page .tcm-consult h2{font-size:clamp(2.1rem,9vw,2.8rem);}
  html body main.tcm-page .tcm-consult .hero-actions{flex-direction:column; align-items:center; gap:1rem;}
  /* phones: standalone text links and the strip's links get a 44px tap height */
  html body main.tcm-page .tcm-link{padding-top:.75rem; padding-bottom:.75rem;}

  html body main.tcm-page .lc-contact-strip{flex-direction:column; align-items:flex-start; gap:1rem;}
  html body main.tcm-page .lc-contact-strip div:last-child{justify-items:start; text-align:left;}
  html body main.tcm-page .lc-contact-strip a{display:inline-block; padding-top:.65rem; padding-bottom:.65rem;}

  /* fixed booking bar; it replaces the round WhatsApp button on this page */
  html body main.tcm-page .lc-mobile-book{position:fixed; z-index:40; left:.8rem; right:.8rem; bottom:calc(.8rem + env(safe-area-inset-bottom, 0px));
    display:grid; place-items:center; min-height:50px; padding:.5rem 1rem; color:#fff; background:var(--plum);
    border:1px solid rgba(255,255,255,.4); border-radius:8px; font-size:.95rem; font-weight:700; text-decoration:none;
    box-shadow:0 12px 32px rgba(64,47,67,.22);}
  html body main.tcm-page .lc-mobile-book:hover, html body main.tcm-page .lc-mobile-book:focus-visible{color:#fff; background:var(--plum-deep);}
  body.mobile-nav-open main.tcm-page .lc-mobile-book{display:none;}
  body:has(main.tcm-page .lc-mobile-book) .bmb-wa-fab{display:none !important;}
  /* keep the footer's last line clear of the bar */
  html body:has(main.tcm-page) .site-footer > p.copyright:last-child{padding-bottom:calc(1rem + 70px + env(safe-area-inset-bottom, 0px)) !important;}
}
@media (prefers-reduced-motion:reduce){
  html body main.tcm-page .tcm-link span{transition:none;}
}
