/* =====================================================================
   Clinic pages in the client-approved design (24/09/2026): The Lactation Clinic,
   Care of Newborn Course, Antenatal Class. The client's prototype stylesheet and
   our merge overrides, scoped under .proto-page (the <main>) so they never touch
   the site header or footer. Then the soft site chrome for these pages.
   ===================================================================== */
.proto-page{--plum: #5b405f;
  --plum-deep: #402f43;
  --lavender: #bca7c6;
  --lavender-mist: #d9cce1;
  --lilac-soft: #f4eff6;
  --ivory: #f8f4ee;
  --paper: #fffdfb;
  --ink: #332d34;
  --muted: #6f6670;
  --bronze: #8a5e3b; /* was #9a6a43: 4.0 to 4.3:1 on the cream and lavender bands; small caps text needs 4.5:1 (WCAG AA). #8a5e3b is 4.9:1 or better on every band */
  --bronze-soft: #d8b99c;
  --line: rgba(91, 64, 95, .14);
  --shadow: 0 22px 60px rgba(70, 52, 72, .11);
  --serif: "Playfair Display", Georgia, serif;
  --sans: "Quicksand", system-ui, -apple-system, "Segoe UI", sans-serif;}
.proto-page *{box-sizing: border-box;}
.proto-page{scroll-behavior: smooth;}
.proto-page{margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.75;}
.proto-page img{display: block; max-width: 100%;}
.proto-page a{color: inherit;}
.proto-page .brand{display: flex; align-items: center; gap: .72rem; min-width: 250px; text-decoration: none;}
.proto-page .brand-emblem{position: relative; width: 52px; height: 52px; overflow: hidden; flex: 0 0 auto; border-radius: 50%; background: #fff;}
.proto-page .brand-emblem img{position: absolute; width: 226px; max-width: none; left: -14px; top: -4px;}
.proto-page .brand-copy{display: grid; line-height: 1.08;}
.proto-page .brand-copy strong{color: #147b9b; font-family: var(--serif); font-size: 1.02rem; font-style: italic; font-weight: 500;}
.proto-page .brand-copy small{margin-top: .35rem; color: var(--plum); font-size: .61rem; font-weight: 700; letter-spacing: .17em;}
.proto-page .button{display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: .72rem 1.3rem;
  border: 1px solid var(--plum);
  border-radius: 8px;
  color: #fff;
  background: var(--plum);
  font-size: .9rem;
  font-weight: 700;
  letter-spacing: .01em;
  text-decoration: none;
  box-shadow: 0 8px 20px rgba(91, 64, 95, .12);
  transition: transform .2s ease, background .2s ease, box-shadow .2s ease;}
.proto-page .button:hover, .proto-page .button:focus-visible{transform: translateY(-1px); background: var(--plum-deep); box-shadow: 0 11px 24px rgba(91, 64, 95, .16);}
.proto-page .button-small{min-height: 40px; padding: .5rem .95rem; white-space: nowrap;}
.proto-page .text-link{color: var(--plum); font-size: .94rem; font-weight: 700; text-underline-offset: .3em; text-decoration-thickness: 1px;}
.proto-page .text-link:hover, .proto-page .text-link:focus-visible{color: var(--bronze);}
.proto-page .hero{position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.06fr) minmax(360px, .8fr);
  align-items: center;
  min-height: 680px;
  overflow: hidden;
  background: linear-gradient(118deg, #fffdfb 0%, #fbf8f4 54%, #f0e9f3 100%);}
.proto-page .hero::before{content: "";
  position: absolute;
  width: 390px;
  height: 390px;
  left: -185px;
  bottom: -245px;
  border: 1px solid rgba(154, 106, 67, .21);
  border-radius: 50%;
  box-shadow: 0 0 0 64px rgba(154, 106, 67, .025), 0 0 0 126px rgba(188, 167, 198, .035);}
.proto-page .hero-copy{position: relative; z-index: 2; max-width: 780px; padding: clamp(4.8rem, 8vw, 7.3rem) clamp(1.4rem, 6.8vw, 7rem); padding-right: clamp(2.3rem, 5vw, 5rem);}
.proto-page .eyebrow{margin: 0 0 1.15rem; color: var(--bronze); font-size: .73rem; font-weight: 750; letter-spacing: .19em; text-transform: uppercase;}
.proto-page h1, .proto-page h2, .proto-page h3{margin-top: 0; color: var(--plum-deep); font-family: var(--serif); font-weight: 400; line-height: 1.14;}
.proto-page h1{max-width: 690px; margin-bottom: 1.65rem; font-size: clamp(2.55rem, 4.45vw, 4.35rem); letter-spacing: -.035em;}
.proto-page h2{margin-bottom: 1.25rem; font-size: clamp(2.15rem, 3.3vw, 3.35rem); letter-spacing: -.026em;}
.proto-page h3{margin-bottom: .65rem; font-size: clamp(1.4rem, 1.75vw, 1.75rem);}
.proto-page .clinic-name{margin: -.55rem 0 .7rem; color: var(--plum); font-family: var(--serif); font-size: clamp(1.35rem, 1.8vw, 1.72rem); font-style: italic;}
.proto-page .hero-lead{max-width: 660px; color: #514852; font-size: clamp(1.04rem, 1.25vw, 1.18rem); line-height: 1.72;}
.proto-page .hero-copy > p:not(.eyebrow){max-width: 650px;}
.proto-page .hero-actions{display: flex; align-items: center; gap: 1.35rem; margin-top: 2rem;}
.proto-page .hero-actions.centered{justify-content: center;}
.proto-page .hero-portrait{position: relative; align-self: stretch; margin: 0; min-height: 680px; background: var(--lilac-soft);}
.proto-page .hero-portrait::after{content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(255,253,251,.16), transparent 28%), linear-gradient(0deg, rgba(64,47,67,.12), transparent 36%); pointer-events: none;}
.proto-page .hero-portrait img{width: 100%; height: 100%; object-fit: cover; object-position: 53% center;}
.proto-page .hero-portrait figcaption{position: absolute; z-index: 2; left: clamp(1.3rem, 3vw, 2.5rem); right: clamp(1.3rem, 3vw, 2.5rem); bottom: 1.8rem; display: grid; padding: 1rem 1.15rem; color: var(--plum-deep); background: rgba(255, 253, 251, .9); border: 1px solid rgba(255,255,255,.72); border-radius: 8px; box-shadow: 0 12px 34px rgba(50,40,51,.1); backdrop-filter: blur(10px);}
.proto-page .hero-portrait figcaption strong{font-family: var(--serif); font-size: 1.35rem; font-weight: 400;}
.proto-page .hero-portrait figcaption span{color: var(--muted); font-size: .86rem;}
.proto-page .trust-line{display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; padding: .7rem clamp(1.5rem, 6vw, 7rem); color: var(--ink); background: var(--ivory); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line);}
.proto-page .trust-line p{display: grid; gap: .2rem; margin: 0; padding: 1.25rem clamp(1rem, 2.6vw, 2.5rem); border-right: 1px solid var(--line);}
.proto-page .trust-line p:last-child{border-right: 0;}
.proto-page .trust-line strong{color: var(--plum); font-family: var(--serif); font-size: 1.08rem; font-weight: 400;}
.proto-page .trust-line span{color: var(--muted); font-size: .83rem;}
.proto-page .section{padding: clamp(5.5rem, 9vw, 8.5rem) clamp(1.5rem, 7vw, 8rem);}
.proto-page .section-intro{max-width: 740px;}
.proto-page .section-intro.narrow{max-width: 700px; margin: 0 auto 3.5rem; text-align: center;}
.proto-page .section-intro p:not(.eyebrow), .proto-page .expert-copy > p, .proto-page .learning-feature p{color: var(--muted);}
.proto-page .why-section{display: grid; grid-template-columns: minmax(0, .88fr) minmax(420px, 1fr); gap: clamp(3rem, 8vw, 8rem); align-items: start; background: var(--paper);}
.proto-page .concern-instruction{margin: 0 0 1rem; color: var(--muted); font-size: .88rem;}
.proto-page .concern-grid{display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem;}
.proto-page .concern-card{min-height: 154px; padding: 0; border: 0; border-radius: 14px; color: inherit; background: transparent; font: inherit; text-align: left; cursor: pointer; perspective: 1000px;}
.proto-page .concern-card-inner{position: relative; display: block; width: 100%; height: 100%; min-height: 154px; transition: transform .55s cubic-bezier(.2,.7,.2,1); transform-style: preserve-3d;}
.proto-page .concern-card.is-flipped .concern-card-inner{transform: rotateY(180deg);}
.proto-page .concern-front, .proto-page .concern-back{position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: center; padding: 1.25rem; border: 1px solid rgba(91,64,95,.11); border-radius: 14px; backface-visibility: hidden; -webkit-backface-visibility: hidden;}
.proto-page .concern-front{gap: .45rem; background: rgba(255,253,251,.92);}
.proto-page .concern-front strong{color: #6e6570; font-family: var(--serif); font-size: 1.28rem; font-weight: 400;}
.proto-page .concern-front span{color: var(--muted); font-size: .91rem; line-height: 1.52;}
.proto-page .concern-back{gap: .5rem; color: #fff; background: var(--plum); transform: rotateY(180deg);}
.proto-page .concern-back small{color: var(--bronze-soft); font-size: .68rem; font-weight: 750; letter-spacing: .14em; text-transform: uppercase;}
.proto-page .concern-back span{font-size: .88rem; line-height: 1.52;}
.proto-page .concern-card:hover .concern-front, .proto-page .concern-card:focus-visible .concern-front{border-color: rgba(154,106,67,.42); box-shadow: 0 12px 28px rgba(70,52,72,.09);}
.proto-page .concern-card:focus-visible{outline: 2px solid var(--bronze); outline-offset: 3px;}
.proto-page .profile-more summary{position: relative; padding: 1.22rem 3rem 1.22rem 0; color: var(--plum-deep); font-family: var(--serif); font-size: 1.11rem; cursor: pointer; list-style: none;}
.proto-page .profile-more summary::-webkit-details-marker{display: none;}
.proto-page .profile-more summary::after{content: "+"; position: absolute; right: .5rem; top: 1.02rem; color: var(--bronze); font-family: var(--sans); font-size: 1.25rem; font-weight: 400;}
.proto-page .profile-more[open] summary::after{content: "−";}
.proto-page .expert-section{display: grid; grid-template-columns: minmax(350px, .78fr) minmax(0, 1fr); gap: clamp(3rem, 8vw, 8rem); align-items: center; background: linear-gradient(135deg, #f7f2f8 0%, #f3edf5 48%, #fbf8f4 100%);}
.proto-page .expert-image-wrap{position: relative; max-width: 610px;}
.proto-page .expert-image-wrap img{width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; object-position: center; border-radius: 16px; box-shadow: var(--shadow);}
.proto-page .image-note{position: absolute; right: -1.2rem; bottom: 1.4rem; max-width: 240px; padding: .85rem 1.05rem; color: var(--plum-deep); background: rgba(255,253,251,.94); border-left: 2px solid var(--bronze); border-radius: 0 8px 8px 0; font-family: var(--serif); font-size: .98rem; line-height: 1.4; box-shadow: 0 10px 28px rgba(70,52,72,.08);}
.proto-page .expert-copy{max-width: 710px;}
.proto-page .role{color: var(--plum) !important; font-size: 1.03rem; font-weight: 700;}
.proto-page .profile-more{margin-top: 2rem; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line);}
.proto-page .credentials{display: grid; grid-template-columns: repeat(2, 1fr); gap: .65rem 2rem; padding: .2rem 0 1.2rem;}
.proto-page .credentials p{margin: .45rem 0; color: var(--muted); font-size: .9rem;}
.proto-page .credentials strong{color: var(--plum);}
/* Meet the specialists (client's updated prototype, 28/09/2026): Sister Yasa and Sister Kang, one profile each */
.proto-page .specialists-section{background: linear-gradient(135deg, #f7f2f8 0%, #f3edf5 48%, #fbf8f4 100%);}
.proto-page .specialists-section > .section-intro{margin-bottom: clamp(3.5rem, 6vw, 5.5rem);}
.proto-page .specialists-section .expert-section{background: transparent;}
.proto-page .expert-profile + .expert-profile{margin-top: clamp(4rem, 8vw, 7rem); padding-top: clamp(4rem, 8vw, 7rem); border-top: 1px solid var(--line);}
.proto-page .expert-copy h3{font-size: clamp(2rem, 3.4vw, 3.25rem);}
.proto-page .kang-section{grid-template-columns: minmax(0, 1fr) minmax(350px, .72fr);}
.proto-page .kang-section .expert-copy{margin-left: auto;}
.proto-page .kang-section .expert-image-wrap{margin-left: auto;}
.proto-page .kang-section .expert-image-wrap img{object-position: center 22%;}
.proto-page .care-section{background: var(--ivory);}
.proto-page .care-path{display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; max-width: 1160px; margin: 0 auto 6rem; padding: 0; list-style: none; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line);}
.proto-page .care-path li{display: grid; grid-template-columns: auto 1fr; gap: 1rem; padding: 2rem clamp(1rem, 2.2vw, 2rem); border-right: 1px solid var(--line);}
.proto-page .care-path li:last-child{border-right: 0;}
.proto-page .care-path span{color: var(--bronze); font-size: .71rem; font-weight: 750; letter-spacing: .14em;}
.proto-page .care-path h3{margin-bottom: .5rem; font-size: 1.28rem;}
.proto-page .care-path p{margin: 0; color: var(--muted); font-size: .9rem;}
.proto-page .learning-feature{display: grid; grid-template-columns: minmax(0, 1.18fr) minmax(340px, .82fr); gap: clamp(2.5rem, 6vw, 6rem); align-items: center; max-width: 1320px; margin: 0 auto;}
.proto-page .learning-feature img{width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 16px; box-shadow: var(--shadow);}
.proto-page .quote{padding: 1rem 0 1rem 1.2rem; border-left: 2px solid var(--bronze-soft); color: var(--plum) !important; font-family: var(--serif); font-size: 1.06rem; font-style: italic;}
.proto-page .class-links-section{max-width: 1320px; margin: clamp(5rem, 9vw, 8rem) auto; scroll-margin-top: 100px;}
.proto-page .class-links-section .section-intro{margin-bottom: 2.4rem;}
.proto-page .class-links-grid{display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.3rem, 2.5vw, 2rem);}
.proto-page .class-link-card{display: grid; grid-template-rows: auto 1fr; min-height: 100%; overflow: hidden; color: inherit; background: rgba(255,253,251,.94); border: 1px solid var(--line); border-radius: 17px; text-decoration: none; box-shadow: 0 16px 38px rgba(70,52,72,.07); transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;}
.proto-page .class-link-card:hover, .proto-page .class-link-card:focus-visible{transform: translateY(-3px); border-color: rgba(154,106,67,.4); box-shadow: 0 22px 46px rgba(70,52,72,.12);}
.proto-page .class-link-card > img{width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; object-position: center;}
.proto-page .class-link-copy{display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; padding: clamp(1.5rem, 3vw, 2.3rem);}
.proto-page .class-link-copy small{color: var(--bronze); font-size: .68rem; font-weight: 750; letter-spacing: .14em; text-transform: uppercase;}
.proto-page .class-link-copy strong{margin: .65rem 0 .8rem; color: var(--plum-deep); font-family: var(--serif); font-size: clamp(1.45rem, 2vw, 2rem); font-weight: 400; line-height: 1.15;}
.proto-page .class-link-copy > span{color: var(--muted); font-size: .91rem; line-height: 1.6;}
.proto-page .class-link-copy b{margin-top: auto; padding-top: 1.25rem; color: var(--plum); font-size: .88rem;}
.proto-page .colostrum-course-link{display: inline-block; margin-top: .35rem;}
.proto-page .colostrum-feature{max-width: 1320px; margin: clamp(5rem, 9vw, 8rem) auto 0; padding: clamp(2rem, 4vw, 3.5rem); border: 1px solid rgba(91,64,95,.12); border-radius: 18px; background: linear-gradient(135deg, rgba(255,253,251,.92), rgba(244,239,246,.82)); box-shadow: 0 18px 48px rgba(70,52,72,.07);}
.proto-page .colostrum-hero{display: grid; grid-template-columns: minmax(0, .84fr) minmax(420px, 1.16fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center;}
.proto-page .colostrum-intro h3{font-size: clamp(1.8rem, 2.6vw, 2.65rem);}
.proto-page .colostrum-intro > p:not(.eyebrow){color: var(--muted);}
.proto-page .colostrum-image{position: relative; margin: 0;}
.proto-page .colostrum-image img{display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 15px; box-shadow: var(--shadow);}
.proto-page .colostrum-image figcaption{position: absolute; right: 1rem; bottom: 1rem; max-width: 280px; padding: .72rem .9rem; color: var(--plum-deep); background: rgba(255,253,251,.93); border-left: 2px solid var(--bronze); border-radius: 0 7px 7px 0; font-family: var(--serif); font-size: .88rem; line-height: 1.38; box-shadow: 0 8px 22px rgba(70,52,72,.08);}
.proto-page .safety-note{padding: 1rem 1.1rem; border-left: 2px solid var(--bronze-soft); background: rgba(248,244,238,.72); font-size: .9rem;}
.proto-page .safety-note strong{color: var(--plum);}
.proto-page .colostrum-details{display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 2.4rem; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line);}
.proto-page .colostrum-followup{max-width: 1320px; margin: 0 auto; padding: clamp(2rem, 4vw, 3.5rem); border: 1px solid rgba(91,64,95,.12); border-radius: 18px; background: linear-gradient(135deg, rgba(255,253,251,.92), rgba(244,239,246,.82)); box-shadow: 0 18px 48px rgba(70,52,72,.07);}
.proto-page .colostrum-followup .colostrum-details{margin-top: 0;}
.proto-page .colostrum-details > div{padding: 1.7rem clamp(1rem, 2.2vw, 1.8rem); border-right: 1px solid var(--line);}
.proto-page .colostrum-details > div:last-child{border-right: 0;}
.proto-page .detail-number{color: var(--bronze); font-size: .7rem; font-weight: 750; letter-spacing: .14em;}
.proto-page .colostrum-details h4{margin: .55rem 0 .65rem; color: var(--plum-deep); font-family: var(--serif); font-size: 1.2rem; font-weight: 400; line-height: 1.35;}
.proto-page .colostrum-details p{margin: 0; color: var(--muted); font-size: .9rem;}
.proto-page .colostrum-booking{display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding-top: 1.8rem;}
.proto-page .colostrum-booking p{max-width: 610px; margin: 0; color: var(--muted);}
.proto-page .colostrum-booking p strong{color: var(--plum-deep);}
.proto-page .colostrum-booking > div{display: flex; align-items: center; gap: 1.2rem; flex: 0 0 auto;}
.proto-page .final-cta{max-width: 920px; margin: 0 auto; padding: clamp(5.5rem, 9vw, 8rem) 1.5rem; text-align: center;}
.proto-page .final-cta p:not(.eyebrow){max-width: 690px; margin-right: auto; margin-left: auto; color: var(--muted); font-size: 1.04rem;}
.proto-page footer{display: flex; justify-content: space-between; gap: 2rem; padding: 2.1rem clamp(1.5rem, 7vw, 8rem); color: #6b626c; background: #f2edf3; border-top: 1px solid var(--line); font-size: .82rem;}
.proto-page footer div{display: grid; gap: .25rem;}
.proto-page footer strong{color: var(--plum-deep);}
.proto-page footer a{text-underline-offset: .25em;}
.proto-page .course-hero{min-height: 700px;}
.proto-page .course-hero .hero-copy{max-width: 850px;}
.proto-page .course-quote{max-width: 670px; margin: 2rem 0 0; padding: 1rem 0 1rem 1.25rem; border-left: 2px solid var(--bronze-soft); color: #74517f !important; font-family: var(--serif); font-size: clamp(1.03rem, 1.3vw, 1.2rem); font-style: italic; line-height: 1.55;}
.proto-page .course-quote cite{display: grid; gap: .15rem; margin-top: .75rem; color: var(--muted); font-family: var(--sans); font-size: .76rem; font-style: normal; letter-spacing: .08em; text-transform: uppercase;}
.proto-page .course-quote cite strong{color: var(--plum-deep); font-size: .82rem;}
.proto-page .course-quote cite span{font-weight: 600;}
.proto-page .course-hero .hero-portrait{display: flex; align-items: center; padding: clamp(2rem, 4vw, 4.5rem); background: linear-gradient(145deg, #eee5f1, #faf7fb);}
.proto-page .course-hero .hero-portrait img{width: 100%; height: auto; max-height: none; aspect-ratio: 3 / 2; object-fit: contain; object-position: center; border-radius: 16px; box-shadow: var(--shadow);}
.proto-page .course-hero .hero-portrait figcaption{bottom: clamp(2.8rem, 5vw, 5.3rem);}
.proto-page .course-intro{display: grid; grid-template-columns: minmax(0, .78fr) minmax(420px, 1fr); gap: clamp(3rem, 8vw, 8rem); align-items: start; background: var(--paper);}
.proto-page .course-intro-copy p:not(.eyebrow){color: var(--muted);}
.proto-page .course-benefits{display: grid; grid-template-columns: repeat(3, 1fr); gap: .85rem;}
.proto-page .course-benefit{padding: 1.45rem; border: 1px solid var(--line); border-radius: 14px; background: rgba(255,253,251,.9);}
.proto-page .course-benefit span{color: var(--bronze); font-size: .7rem; font-weight: 750; letter-spacing: .14em;}
.proto-page .course-benefit h3{margin: .5rem 0 .55rem; font-size: 1.32rem;}
.proto-page .course-benefit p{margin: 0; color: var(--muted); font-size: .92rem;}
.proto-page .programme-section{display: grid; grid-template-columns: minmax(380px, .88fr) minmax(0, 1.12fr); gap: clamp(3rem, 7vw, 7rem); align-items: center; background: var(--ivory);}
.proto-page .programme-image{position: relative;}
.proto-page .programme-image img{width: 100%; height: auto; object-fit: contain; object-position: center; border-radius: 16px; box-shadow: var(--shadow);}
.proto-page .programme-image span{display: block; max-width: 520px; margin-top: 1rem; padding: .25rem 0 .25rem 1rem; color: var(--plum-deep); border-left: 2px solid var(--bronze); font-family: var(--serif); font-size: .96rem; line-height: 1.4;}
.proto-page .programme-copy{max-width: 760px;}
.proto-page .programme-lead{color: var(--muted);}
.proto-page .programme-modules{margin-top: 2rem; border-top: 1px solid var(--line);}
.proto-page .programme-modules article{display: grid; grid-template-columns: 6.5rem 1fr; column-gap: 1.25rem; padding: 1.35rem 0; border-bottom: 1px solid var(--line);}
.proto-page .programme-modules article > span{grid-row: 1 / 3; color: var(--bronze); font-size: .7rem; font-weight: 750; letter-spacing: .13em; text-transform: uppercase;}
.proto-page .programme-modules h3{margin-bottom: .45rem; font-size: 1.3rem;}
.proto-page .programme-modules p{margin: 0; color: var(--muted); font-size: .91rem; line-height: 1.62;}
.proto-page .course-format{background: linear-gradient(135deg, #f7f2f8 0%, #f3edf5 48%, #fbf8f4 100%);}
.proto-page .course-format-grid{display: grid; grid-template-columns: minmax(0, .9fr) minmax(420px, 1.1fr); gap: clamp(3rem, 7vw, 7rem); align-items: center; max-width: 1240px; margin: 0 auto;}
.proto-page .course-format-copy p:not(.eyebrow){color: var(--muted);}
.proto-page .course-details{border-top: 1px solid var(--line);}
.proto-page .course-detail{display: grid; grid-template-columns: 9rem 1fr; gap: 1rem; padding: 1.1rem 0; border-bottom: 1px solid var(--line);}
.proto-page .course-detail strong{color: var(--plum); font-family: var(--serif); font-weight: 400;}
.proto-page .course-detail span{color: var(--muted);}
.proto-page .course-schedule{line-height: 1.65;}
.proto-page .course-note{margin-top: 1.2rem; color: var(--muted); font-size: .88rem;}
.proto-page .course-note strong{color: var(--plum-deep);}
.proto-page .course-assurance{padding-top: 0; background: var(--ivory);}
.proto-page .course-assurance-inner{display: grid; grid-template-columns: repeat(3, 1fr); max-width: 1160px; margin: 0 auto; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line);}
.proto-page .course-assurance-inner div{padding: 2rem; border-right: 1px solid var(--line);}
.proto-page .course-assurance-inner div:last-child{border-right: 0;}
.proto-page .course-assurance h3{font-size: 1.28rem;}
.proto-page .course-assurance p{margin: 0; color: var(--muted); font-size: .9rem;}
.proto-page .course-faq{background: var(--paper);}
.proto-page .course-faq-list{max-width: 900px; margin: 0 auto; border-top: 1px solid var(--line);}
.proto-page .course-faq-list details{border-bottom: 1px solid var(--line);}
.proto-page .course-faq-list summary{position: relative; padding: 1.35rem 3rem 1.35rem 0; color: var(--plum-deep); font-family: var(--serif); font-size: 1.18rem; cursor: pointer; list-style: none;}
.proto-page .course-faq-list summary::-webkit-details-marker{display: none;}
.proto-page .course-faq-list summary::after{content: "+"; position: absolute; right: .5rem; color: var(--bronze); font-family: var(--sans); font-size: 1.2rem;}
.proto-page .course-faq-list details[open] summary::after{content: "−";}
.proto-page .course-faq-list p{max-width: 720px; margin: -.35rem 0 1.35rem; color: var(--muted);}
.proto-page .course-return{margin-top: 1.6rem !important;}
.proto-page .enrollment-line{margin: -.45rem 0 1.15rem; color: var(--plum); font-family: var(--serif); font-size: clamp(1.25rem, 1.7vw, 1.65rem); line-height: 1.25;}
.proto-page .registration-section{display: grid; grid-template-columns: minmax(300px, .7fr) minmax(520px, 1.3fr); gap: clamp(3rem, 7vw, 7rem); align-items: start; background: linear-gradient(135deg, #f7f2f8 0%, #f3edf5 48%, #fbf8f4 100%);}
.proto-page .registration-intro{position: sticky; top: 120px; max-width: 520px;}
.proto-page .registration-intro > p:not(.eyebrow){color: var(--muted);}
.proto-page .registration-contact{margin-top: 1.5rem; padding-top: 1.15rem; border-top: 1px solid var(--line); font-size: .9rem;}
.proto-page .registration-contact strong{color: var(--plum-deep);}
.proto-page .registration-question{margin-top: 1.35rem;}
.proto-page .registration-form{padding: clamp(1.5rem, 3.3vw, 2.5rem); border: 1px solid rgba(91,64,95,.14); border-radius: 18px; background: rgba(255,253,251,.92); box-shadow: 0 18px 48px rgba(70,52,72,.07);}
.proto-page .registration-form fieldset{min-width: 0; margin: 0; padding: 0; border: 0;}
.proto-page .registration-form legend, .proto-page .registration-form label{color: var(--plum-deep); font-size: .9rem; font-weight: 700; line-height: 1.45;}
.proto-page .date-choice{display: grid; grid-template-columns: repeat(3, 1fr); gap: .75rem; margin-bottom: 2rem !important;}
.proto-page .date-choice legend{grid-column: 1 / -1; margin-bottom: .7rem; font-family: var(--serif); font-size: 1.2rem; font-weight: 400;}
.proto-page .date-choice > label{display: flex; align-items: flex-start; gap: .7rem; padding: 1rem; border: 1px solid var(--line); border-radius: 10px; background: #fff; cursor: pointer;}
.proto-page .date-choice input{width: 1.05rem; height: 1.05rem; margin: .18rem 0 0; accent-color: var(--plum);}
.proto-page .date-choice label span{display: grid; gap: .15rem;}
.proto-page .date-choice small{color: var(--muted); font-size: .76rem; font-weight: 500;}
.proto-page .form-grid{display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.15rem;}
.proto-page .form-grid label{display: grid; gap: .42rem;}
.proto-page .field-label{display: inline-flex; align-items: baseline; gap: .28rem;}
.proto-page .field-label b{color: var(--plum);}
.proto-page .form-grid .full-field{grid-column: 1 / -1;}
.proto-page .attendance-choice{display: flex !important; flex-wrap: wrap; align-items: center; gap: .75rem 1.15rem; padding: 1rem 0 .1rem !important; border-top: 1px solid var(--line) !important;}
.proto-page .attendance-choice legend{width: 100%; margin: 0 0 .1rem;}
.proto-page .attendance-choice label{display: inline-flex !important; align-items: center; gap: .45rem; color: var(--muted) !important; font-weight: 500 !important;}
.proto-page .attendance-choice input{width: 1.05rem; height: 1.05rem; margin: 0; accent-color: var(--plum);}
.proto-page .attendance-choice .attendance-count{margin-left: auto; color: var(--plum-deep) !important; font-weight: 700 !important;}
.proto-page .attendance-count select{min-height: 38px; margin-left: .35rem; padding: .3rem .55rem; border: 1px solid rgba(91,64,95,.23); border-radius: 7px; color: var(--ink); background: #fff; font: inherit;}
.proto-page .registration-form input[type="text"], .proto-page .registration-form input[type="tel"], .proto-page .registration-form input[type="email"], .proto-page .registration-form input[type="date"], .proto-page .registration-form select, .proto-page .registration-form textarea{width: 100%; min-height: 48px; padding: .72rem .82rem; border: 1px solid rgba(91,64,95,.23); border-radius: 7px; color: var(--ink); background: #fff; font: inherit; font-size: 1rem;}
.proto-page .registration-form textarea{min-height: 112px; resize: vertical;}
.proto-page .registration-form input:focus, .proto-page .registration-form select:focus, .proto-page .registration-form textarea:focus{outline: 2px solid rgba(91,64,95,.28); outline-offset: 2px; border-color: var(--plum);}
.proto-page .consent-field{display: flex !important; align-items: flex-start; gap: .65rem; margin: 1.35rem 0; font-weight: 500 !important;}
.proto-page .consent-field input{width: 1.05rem; height: 1.05rem; margin-top: .2rem; accent-color: var(--plum);}
.proto-page .form-note{display: inline; margin-left: 1rem; color: var(--muted); font-size: .8rem;}
.proto-page .form-status{display: none; margin: 0 0 1rem; padding: .85rem 1rem; color: var(--plum-deep); background: var(--lilac-soft); border-left: 2px solid var(--bronze); font-size: .9rem;}
.proto-page .form-status.is-visible{display: block;}
.proto-page .form-honeypot{position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important;}
.proto-page .form-actions{display: flex; flex-wrap: wrap; align-items: center; gap: .8rem;}
.proto-page .button-secondary{color: var(--plum); background: transparent; box-shadow: none;}
.proto-page .button-secondary:hover, .proto-page .button-secondary:focus-visible{color: #fff;}
@media (max-width: 1060px){
.proto-page .hero{grid-template-columns: 1fr 42%; min-height: 630px;}
.proto-page .hero-copy{padding-left: 5vw; padding-right: 4vw;}
.proto-page .hero-portrait{min-height: 630px;}
.proto-page .why-section, .proto-page .expert-section{gap: 4rem;}
.proto-page .course-benefits{grid-template-columns: repeat(2, 1fr);}
.proto-page .class-links-grid{grid-template-columns: repeat(2, minmax(0, 1fr));}
}
@media (max-width: 760px){
.proto-page{padding-bottom: 68px;}
.proto-page .brand{min-width: 0;}
.proto-page .brand-emblem{width: 45px; height: 45px;}
.proto-page .brand-emblem img{width: 196px; left: -12px; top: -3px;}
.proto-page .brand-copy strong{font-size: .89rem;}
.proto-page .brand-copy small{font-size: .51rem;}
.proto-page .hero{grid-template-columns: 1fr;}
.proto-page .hero-copy{padding: 4.4rem 1.35rem 3.5rem;}
.proto-page h1{font-size: clamp(2.4rem, 10.8vw, 3.45rem);}
.proto-page h2{font-size: clamp(2rem, 8.4vw, 2.85rem);}
.proto-page .hero-actions{align-items: stretch; flex-direction: column; gap: 1rem;}
.proto-page .hero-actions .text-link{text-align: center;}
.proto-page .hero-portrait{min-height: 470px;}
.proto-page .trust-line{grid-template-columns: 1fr; padding: .55rem 1.35rem;}
.proto-page .trust-line p{padding: .95rem 0; border-right: 0; border-bottom: 1px solid var(--line);}
.proto-page .trust-line p:last-child{border-bottom: 0;}
.proto-page .section{padding: 5rem 1.35rem;}
.proto-page .why-section, .proto-page .expert-section, .proto-page .learning-feature, .proto-page .colostrum-hero, .proto-page .course-intro, .proto-page .course-format-grid, .proto-page .programme-section, .proto-page .registration-section, .proto-page .class-links-grid{grid-template-columns: 1fr;}
.proto-page .why-section{gap: 2.5rem;}
.proto-page .expert-image-wrap{max-width: 520px; margin: 0 auto;}
.proto-page .kang-section .expert-image-wrap{order: -1; margin: 0 auto;}
.proto-page .kang-section .expert-copy{margin-left: 0;}
.proto-page .image-note{right: .8rem; bottom: .8rem;}
.proto-page .credentials{grid-template-columns: 1fr;}
.proto-page .care-path{grid-template-columns: 1fr; margin-bottom: 4rem;}
.proto-page .care-path li{border-right: 0; border-bottom: 1px solid var(--line);}
.proto-page .care-path li:last-child{border-bottom: 0;}
.proto-page .learning-feature, .proto-page .colostrum-hero{gap: 2rem;}
.proto-page .class-link-card{grid-template-columns: 1fr;}
.proto-page .class-link-card > img{min-height: 0; aspect-ratio: 16 / 10;}
.proto-page .colostrum-details{grid-template-columns: 1fr;}
.proto-page .colostrum-details > div{border-right: 0; border-bottom: 1px solid var(--line);}
.proto-page .colostrum-details > div:last-child{border-bottom: 0;}
.proto-page .colostrum-booking{align-items: flex-start; flex-direction: column;}
.proto-page .colostrum-booking > div{align-items: stretch; flex-direction: column; width: 100%;}
.proto-page .colostrum-booking .text-link{text-align: center;}
.proto-page .course-benefits, .proto-page .course-assurance-inner{grid-template-columns: 1fr;}
.proto-page .course-assurance-inner div{border-right: 0; border-bottom: 1px solid var(--line);}
.proto-page .course-assurance-inner div:last-child{border-bottom: 0;}
.proto-page .course-detail{grid-template-columns: 1fr; gap: .2rem;}
.proto-page .course-hero .hero-portrait{min-height: 0; padding: 1.35rem 1.35rem 5.5rem;}
.proto-page .course-hero .hero-portrait figcaption{bottom: 1.35rem;}
.proto-page .programme-image{max-width: 520px; margin: 0 auto;}
.proto-page .programme-image span{margin-top: .9rem;}
.proto-page .programme-modules article{grid-template-columns: 1fr;}
.proto-page .programme-modules article > span{grid-row: auto; margin-bottom: .4rem;}
.proto-page .registration-intro{position: static;}
.proto-page .date-choice, .proto-page .form-grid{grid-template-columns: 1fr;}
.proto-page .form-grid .full-field{grid-column: auto;}
.proto-page .attendance-choice .attendance-count{width: 100%; margin-left: 0;}
.proto-page .form-note{display: block; margin: .8rem 0 0;}
.proto-page footer{flex-direction: column; padding: 2rem 1.35rem;}
}
@media (max-width: 520px){
.proto-page .concern-grid{grid-template-columns: 1fr;}
}
@media (prefers-reduced-motion: reduce){
.proto-page{scroll-behavior: auto;}
.proto-page *, .proto-page *::before, .proto-page *::after{transition-duration: .01ms !important;}
}

/* ---- merge overrides ---- */
/* type (ticket #112, 25/09/2026): the site's three fonts only. Quicksand body (was Inter/Aptos from the
   prototype, R91), Playfair Display headings (was Georgia) */
.proto-page{--sans:"Quicksand", system-ui, -apple-system, "Segoe UI", sans-serif;}
/* the site's body text is 500 (style.css); serif lines that inherit it stay at the design's regular 400 */
.proto-page :is(.quote, .course-quote, .clinic-name, .enrollment-line, .lc-about-lead, .image-note, .lc-hours-days, .lc-fee-price),
.proto-page .programme-image > span, .proto-page details > summary{font-weight:400;}
.proto-page, .proto-page{margin:0; background:var(--paper);}
.proto-page{font-family:var(--sans); -webkit-print-color-adjust:exact; print-color-adjust:exact;}
.proto-page .hero-display{max-width:690px; margin:0 0 1.65rem; color:var(--plum-deep); font-family:var(--serif); font-weight:400;
  line-height:1.14; letter-spacing:-.035em; font-size:clamp(2.55rem,4.45vw,4.35rem);}
.proto-page h1.clinic-name{max-width:none; margin:-.55rem 0 .7rem; color:var(--plum); font-family:var(--serif); font-weight:400;
  font-size:clamp(1.35rem,1.8vw,1.72rem); font-style:italic; letter-spacing:0; line-height:1.3;}
.proto-page .concern-card{min-height:0 !important; cursor:default;}
.proto-page .concern-card-inner{transform:none !important; min-height:0 !important; display:flex !important; flex-direction:column; transition:none !important;}
.proto-page .concern-front, .proto-page .concern-back{position:static !important; inset:auto !important; transform:none !important;
  backface-visibility:visible !important; -webkit-backface-visibility:visible !important; justify-content:flex-start !important;}
.proto-page .concern-front{border-bottom-left-radius:0 !important; border-bottom-right-radius:0 !important;}
.proto-page .concern-back{border-top-left-radius:0 !important; border-top-right-radius:0 !important; flex:1;}
.proto-page .colostrum-extra{display:grid; grid-template-columns:1fr 1fr; gap:.9rem; margin:1.3rem 0 1.4rem;}
.proto-page .colostrum-extra div{padding:1.05rem 1.15rem; border-radius:12px; background:var(--lilac-soft);}
.proto-page .colostrum-extra h4{margin:0 0 .35rem; color:var(--plum-deep); font-family:var(--serif); font-weight:400; font-size:1.1rem;}
.proto-page .colostrum-extra p{margin:0; font-size:.96rem; line-height:1.55;}
.proto-page .intro-sub{margin:2rem 0 .5rem; font-size:1.5rem;}
.proto-page .merge-section{padding:clamp(4.5rem,7vw,6.5rem) clamp(1.5rem,7vw,8rem); background:var(--paper);}
.proto-page .merge-section.tint{background:var(--ivory);}
.proto-page .merge-section .bmb-section-head{max-width:780px; margin:0 0 2.1rem;}
.proto-page .merge-section .bmb-section-head h2{margin:0 0 .9rem;}
.proto-page .merge-section .eyebrow{margin:0 0 .9rem;}
.proto-page .merge-section p{max-width:760px;}
.proto-page .merge-section .service-section-lead{font-size:1.1rem; color:var(--muted);}
.proto-page .merge-stack > .merge-section + .merge-section{padding-top:0;}
.proto-page .merge-stack > .merge-section:not(:last-child){padding-bottom:3rem;}
.proto-page .merge-stack > .merge-section:first-child .bmb-section-head{margin-bottom:1.2rem;}
.proto-page .offer-links{display:flex; flex-wrap:wrap; gap:.7rem;}
.proto-page .offer-pill{display:inline-flex; align-items:center; padding:.62rem 1.1rem; border:1px solid var(--line); border-radius:100px;
  background:var(--lilac-soft); color:var(--plum-deep); font-size:.95rem; font-weight:600; text-decoration:none;}
.proto-page .service-related-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:1.1rem; margin:0; padding:0; list-style:none;}
.proto-page .service-related-grid > li{display:flex; flex-direction:column; overflow:hidden; border:1px solid var(--line); border-radius:16px;
  background:var(--paper); box-shadow:0 14px 40px rgba(70,52,72,.07);}
.proto-page .merge-section:not(.tint) .service-related-grid > li{background:var(--lilac-soft); border-color:transparent; box-shadow:none;}
.proto-page .service-related-figure{margin:0; aspect-ratio:16/9; overflow:hidden;}
.proto-page .service-related-figure img{width:100%; height:100%; object-fit:cover; display:block;}
.proto-page .service-related-body{padding:1.5rem 1.55rem 1.5rem;}
.proto-page .service-related-body h3{margin:0 0 .5rem; font-size:1.32rem;}
.proto-page .service-related-body p{margin:0 0 .9rem;}
.proto-page .service-related-cta{color:var(--plum); font-weight:650; text-decoration:none; border-bottom:1px solid var(--bronze-soft);}
.proto-page .lc-extras{display:grid; grid-template-columns:repeat(3,1fr); gap:1.1rem; margin:0; padding:0; list-style:none;}
.proto-page .lc-extras > li{padding:1.5rem; border-radius:16px; background:var(--lilac-soft);}
.proto-page .lc-extras h3{margin:0 0 .45rem; font-size:1.24rem;}
.proto-page .lc-extras p{margin:0;}
.proto-page .merge-pair{display:grid; grid-template-columns:1fr 1fr; background:var(--ivory);}
.proto-page .merge-pair > .merge-section{background:transparent;}
.proto-page .merge-pair > .merge-section:first-child{padding-right:clamp(1.5rem,3vw,3rem);}
.proto-page .merge-pair > .merge-section:last-child{padding-left:clamp(1.5rem,3vw,3rem);}
.proto-page .merge-pair .service-related-grid{grid-template-columns:1fr;}
.proto-page .merge-pair .service-related-grid > li{box-shadow:none;}
.proto-page .lc-hours{margin:.9rem 0 0; padding:0; list-style:none; border-top:1px solid var(--line);}
.proto-page .lc-hours > li{display:grid; grid-template-columns:7.5rem 1fr; gap:.2rem 1rem; padding:.7rem 0; border-bottom:1px solid var(--line);}
.proto-page .lc-hours-days{color:var(--plum-deep); font-family:var(--serif);}
.proto-page .lc-hours-who{grid-column:2; color:var(--muted); font-size:.93rem;}
.proto-page .lc-fees{margin:0; padding:0; list-style:none; border-top:1px solid var(--line);}
.proto-page .lc-fees > li{display:grid; grid-template-columns:1fr auto; gap:.15rem 1.2rem; padding:1.05rem 0; border-bottom:1px solid var(--line);}
.proto-page .lc-fee-label{color:var(--ink); font-weight:600;}
.proto-page .lc-fee-price{grid-row:span 2; align-self:center; color:var(--plum-deep); font-family:var(--serif); font-size:1.7rem;}
.proto-page .lc-fee-note{color:var(--muted); font-size:.93rem;}
.proto-page .service-prep-grid{display:grid; grid-template-columns:1fr 1fr; gap:1.1rem;}
.proto-page .service-prep-card{padding:1.7rem 1.75rem; border:1px solid var(--line); border-radius:16px; background:var(--paper);}
.proto-page .service-prep-card h2{font-size:clamp(1.55rem,2.2vw,2rem);}
.proto-page .service-course-meta{display:grid; grid-template-columns:auto 1fr; gap:.55rem 1.2rem; margin:1rem 0 0;}
.proto-page .service-course-meta dt{color:var(--bronze); font-size:.74rem; font-weight:750; letter-spacing:.14em; text-transform:uppercase; padding-top:.18rem;}
.proto-page .service-course-meta dd{margin:0;}
.proto-page .service-prep-note{margin-top:1.2rem; color:var(--muted);}
.proto-page .service-prep-list, .proto-page .merge-section .service-faq-answer ul, .proto-page .merge-section .service-faq-answer ol{margin:.6rem 0 0; padding:0; list-style:none;}
.proto-page .service-prep-list > li, .proto-page .merge-section .service-faq-answer li{position:relative; padding:.62rem 0 .62rem 1.5rem; border-bottom:1px solid var(--line);}
.proto-page .service-prep-list > li::before, .proto-page .merge-section .service-faq-answer ul > li::before{content:""; position:absolute; left:.1rem; top:1.12rem;
  width:7px; height:7px; border-radius:50%; background:var(--bronze-soft);}
.proto-page .merge-section .service-faq-answer ol{counter-reset:tc;}
.proto-page .merge-section .service-faq-answer ol > li{counter-increment:tc;}
.proto-page .merge-section .service-faq-answer ol > li::before{content:counter(tc); position:absolute; left:0; top:.66rem;
  color:var(--bronze); font-size:.8rem; font-weight:750;}
.proto-page .service-faq-list{display:grid; grid-template-columns:1fr 1fr; gap:1.1rem; margin:0; padding:0; list-style:none;}
.proto-page .service-faq-list > li{padding:1.6rem 1.7rem; border:1px solid var(--line); border-radius:16px; background:var(--paper);}
.proto-page .service-faq-list summary{list-style:none; margin:0 0 .8rem; color:var(--plum-deep); font-family:var(--serif); font-size:1.42rem;}
.proto-page .service-faq-list summary::-webkit-details-marker{display:none;}
.proto-page .service-faq-answer p{margin:.55rem 0;}
.proto-page .service-intro-body--with-figure{display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(2rem,4vw,4rem); align-items:center;}
.proto-page .service-intro-figure{margin:0; border-radius:18px; overflow:hidden;}
.proto-page .service-intro-figure img{width:100%; display:block;}
.proto-page h1.clinic-name .h1-sub{display:block; margin-top:.35rem; color:var(--bronze); font-family:var(--sans); font-style:normal; font-weight:700;
  font-size:.62em; letter-spacing:.14em; text-transform:uppercase;}
.proto-page .vh{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap;}

/* ---- soft site chrome on the clinic pages: matches the homepage (softened purple, 24/09/2026) ---- */
html body.is-immersive-page{ --c-plum:#553f63; --c-plum-2:#7a6390; --c-lav:#f3edf7; --c-lav-2:#e7ddef; --c-lilac:#d4c5e3; --c-mist:#faf7fc; --c-body:#62576a; }
html body.is-immersive-page .site-header:not(.is-floating){ background:rgba(255,255,255,.97) !important; border-bottom:1px solid var(--c-lav-2) !important; box-shadow:none !important; }
html body.is-immersive-page .site-header .brand-logo-dark, html body.is-immersive-page .site-header .brand-logo-pill{ display:none !important; }
html body.is-immersive-page .site-header .brand-logo-light{ display:block !important; opacity:1 !important; }
html body.is-immersive-page .site-header.is-floating .brand-logo-light{ display:none !important; }
html body.is-immersive-page .site-header.is-floating .brand-logo-pill{ display:block !important; }
html body.is-immersive-page .site-header .primary-nav .nav-root > li > a,
html body.is-immersive-page .site-header.is-floating .primary-nav .nav-root > li > a{ color:var(--c-plum) !important; }
html body.is-immersive-page .site-header .primary-nav .nav-root > li > a:hover,
html body.is-immersive-page .site-header .primary-nav .nav-root > li > a:focus-visible{ color:var(--c-plum-2) !important; }
html body.is-immersive-page .site-header .primary-nav .nav-root > li > a.nav-cta,
html body.is-immersive-page .site-header.is-floating .primary-nav .nav-root > li > a.nav-cta{ color:#fff !important; background:var(--c-plum) !important; border-color:var(--c-plum) !important; }
html body.is-immersive-page .site-header svg, html body.is-immersive-page .site-header .nav-utility a,
html body.is-immersive-page .site-header .nav-utility button{ color:var(--c-plum) !important; }
html body.is-immersive-page .site-header .bmb-nav-toggle-bar,
html body.is-immersive-page .site-header.is-floating .bmb-nav-toggle-bar{ background:var(--c-plum) !important; }
/* phone menu drawer (24/09/2026): a light panel with plum labels, matching the white header bar.
   The plum link colour above sat on style.css's purple drawer and could not be read. Same colours as
   the site-wide soft theme's drawer. The Contact us pill keeps its own colours. */
@media (max-width:768px){
  html body.mobile-nav-open .site-header.site-header{ background:#fff !important; border-bottom:1px solid #e7ddef !important; }
  html body.mobile-nav-open .site-header .primary-nav{ background:#faf7fc !important; }
  html body .site-header .primary-nav .nav-root > li.has-submenu{ border-bottom-color:#e7ddef !important; }
  html body .site-header .primary-nav .nav-root > li > a:not(.nav-cta){ color:#553f63 !important; }
  html body .site-header .primary-nav .nav-root > li.has-submenu.is-expanded > a{ color:#7a6390 !important; }
  html body .site-header .primary-nav .submenu{ background:transparent !important; border-color:transparent !important; box-shadow:none !important; }
  html body .site-header .primary-nav .submenu a{ color:#3f3346 !important; background:transparent !important; }
  html body .site-header .primary-nav .submenu a:hover, html body .site-header .primary-nav .submenu a:focus-visible{ color:#7a6390 !important; background:transparent !important; }
  html body .site-header .primary-nav .nav-search-item .nav-search-btn{ background:#fff !important; border-color:#d4c5e3 !important; color:#62576a !important; }
  html body .site-header .primary-nav .nav-search-item .nav-search-label{ color:#62576a !important; }
  html body .site-header .primary-nav .nav-root > li.nav-account-item > a.nav-account,
  html body .site-header .primary-nav .nav-root > li.nav-cart-item > a.nav-cart{ background:#f3edf7 !important; border-color:#e7ddef !important; color:#553f63 !important; }
  html body .site-header .nav-account .nav-account-face, html body .site-header .nav-cart .nav-cart-face{ border-color:#a58bbb !important; }
  html body .site-header .nav-account.is-in .nav-account-face{ background:#553f63 !important; border-color:#553f63 !important; color:#fff !important; }
  html body .site-header .primary-nav .nav-root > li.nav-tel-item > a.nav-tel{ color:#62576a !important; }
  html body .site-header .primary-nav .nav-tel strong{ color:#553f63 !important; }
  html body.mobile-nav-open .site-header button.bmb-nav-toggle > span.bmb-nav-toggle-bar{ background:#553f63 !important; }
}
html body.is-immersive-page .site-footer{ background:var(--c-mist) !important; border-top:1px solid var(--c-lav-2) !important; }
html body.is-immersive-page .site-footer, html body.is-immersive-page .site-footer a, html body.is-immersive-page .site-footer p,
html body.is-immersive-page .site-footer li, html body.is-immersive-page .site-footer h2, html body.is-immersive-page .site-footer h3{ color:var(--c-body) !important; }
html body.is-immersive-page .site-footer .footer-col-head{ color:var(--c-plum) !important; }
html body.is-immersive-page .site-footer > *:last-child{ background:var(--c-plum) !important; margin:2rem calc(50% - 50vw) 0 !important; padding:1rem 22px !important; max-width:none !important; width:auto !important; }
html body.is-immersive-page .site-footer > *:last-child, html body.is-immersive-page .site-footer > *:last-child *{ color:rgba(255,255,255,.9) !important; }

/* ---- reset the site's generic main/section rules inside the approved design ---- */
html body main.proto-page{ max-width:none !important; width:100% !important; margin:0 !important; padding:0 !important; }
html body main.proto-page section{ margin-top:0; margin-bottom:0; }
html body main.proto-page .hero{ text-align:start; }
html body main.proto-page h1, html body main.proto-page h2, html body main.proto-page h3{ letter-spacing:normal; }
html body main.proto-page h1{ letter-spacing:-.035em; }
html body main.proto-page h2{ letter-spacing:-.026em; }

/* clinic logo at the top of the hero (client's prototypes show it in their header) */
html body main .clinic-logo{ display:block; width:auto; height:clamp(92px,9vw,128px); margin:0 0 1.4rem; }
html body main .clinic-logo--wide{ height:clamp(60px,5.6vw,84px); }
@media (max-width:640px){ html body main .clinic-logo{ height:84px; margin-bottom:1rem; } html body main .clinic-logo--wide{ height:54px; } }
