/* The Sleep Training Clinic pages in the client-approved design (24/09/2026): the client's prototype
   stylesheet and our merge rules, scoped under main.proto-sleep, then the soft site chrome. */
main.proto-sleep{--plum-deep:var(--deep);--bronze:var(--rose);--bronze-soft:var(--blush);--lilac-soft:#f7eef0;--ivory:var(--cream)}
main.proto-sleep{--plum:#563450;--deep:#362132;--rose:#c86e85;--blush:#f4d4d1;--paper:#fffcfa;--cream:#f8f3f2;--ink:#382f35;--muted:#70666c;--line:#e6dadd;--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}
main.proto-sleep *{box-sizing:border-box}
main.proto-sleep{scroll-behavior:smooth}
main.proto-sleep{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans)}
main.proto-sleep a{color:inherit}
main.proto-sleep .text-link:hover{color:var(--rose)}
main.proto-sleep .button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:.72rem 1.15rem;border:0;border-radius:7px;background:var(--plum);color:#fff;font:700 .85rem var(--sans);text-decoration:none;cursor:pointer;box-shadow:0 9px 22px rgba(86,52,80,.17)}
main.proto-sleep .button:hover{background:var(--rose)}
main.proto-sleep .small{min-height:40px;padding:.55rem .9rem;font-size:.76rem}
main.proto-sleep .hero{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(370px,.88fr);min-height:640px;background:linear-gradient(118deg,#fbf6f5,#f5e7e6)}
main.proto-sleep .hero-copy{align-self:center;max-width:780px;padding:clamp(4rem,8vw,8rem) clamp(1.5rem,7vw,8rem)}
main.proto-sleep .eyebrow{margin:0 0 .75rem;color:var(--rose);font-size:.69rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
main.proto-sleep h1, main.proto-sleep h2, main.proto-sleep h3{font-family:var(--serif);font-weight:500;line-height:1.12}
main.proto-sleep h1{max-width:760px;margin:0;color:var(--deep);font-size:clamp(2.7rem,5.1vw,5.2rem)}
main.proto-sleep h2{margin:.2rem 0 1.2rem;color:var(--deep);font-size:clamp(2.1rem,3.6vw,3.7rem)}
main.proto-sleep h3{margin:.35rem 0 .55rem;color:var(--deep);font-size:1.38rem}
main.proto-sleep .lead{max-width:650px;margin:1.4rem 0;color:#554953;font-size:1.15rem}
main.proto-sleep .actions{display:flex;align-items:center;gap:1.4rem;margin-top:2rem}
main.proto-sleep .text-link{color:var(--plum);font-size:.9rem;font-weight:700;text-underline-offset:.3em}
main.proto-sleep .portrait{position:relative;min-height:100%;margin:0;overflow:hidden;background:#e9d9db}
main.proto-sleep .portrait img{width:100%;height:100%;object-fit:cover;object-position:center top}
main.proto-sleep .portrait figcaption, main.proto-sleep .consultant-photo span, main.proto-sleep .story-photo span, main.proto-sleep .agenda-photo span{position:absolute;right:1.25rem;bottom:1.25rem;display:grid;max-width:260px;padding:.85rem 1rem;border-left:2px solid var(--rose);border-radius:0 7px 7px 0;background:rgba(255,252,250,.94);box-shadow:0 8px 24px rgba(70,40,58,.11);font-family:var(--serif);line-height:1.35}
main.proto-sleep .portrait figcaption span{margin-top:.2rem;font:600 .74rem var(--sans);color:var(--muted)}
main.proto-sleep .trust{display:grid;grid-template-columns:repeat(3,1fr);max-width:1220px;margin:auto;border-bottom:1px solid var(--line)}
main.proto-sleep .trust p{display:grid;gap:.2rem;margin:0;padding:1.35rem 2rem;border-right:1px solid var(--line)}
main.proto-sleep .trust p:last-child{border:0}
main.proto-sleep .trust b{color:var(--plum);font:500 1.05rem var(--serif)}
main.proto-sleep .trust span{color:var(--muted);font-size:.82rem}
main.proto-sleep .section{padding:clamp(4.5rem,8vw,8rem) clamp(1.35rem,7vw,8rem)}
main.proto-sleep .split, main.proto-sleep .consultant, main.proto-sleep .intro, main.proto-sleep .agenda, main.proto-sleep .details, main.proto-sleep .form-section{display:grid;grid-template-columns:minmax(0,.85fr) minmax(370px,1.15fr);gap:clamp(3rem,8vw,8rem);align-items:center}
main.proto-sleep .split>div>p:not(.eyebrow), main.proto-sleep .consultant p:not(.eyebrow), main.proto-sleep .intro p:not(.eyebrow), main.proto-sleep .agenda .muted, main.proto-sleep .details>div>p:not(.eyebrow), main.proto-sleep .form-copy>p:not(.eyebrow){color:var(--muted)}
main.proto-sleep .reasons{padding:2rem;border:1px solid var(--line);border-radius:16px;background:#fff}
main.proto-sleep .reasons>p{margin:0 0 .4rem;color:var(--plum);font:500 1.2rem var(--serif)}
main.proto-sleep .reasons ol{margin:0;padding:0;list-style:none}
main.proto-sleep .reasons li{display:grid;grid-template-columns:3rem 1fr;gap:1rem;padding:1rem 0;border-top:1px solid var(--line);font-size:.92rem}
main.proto-sleep .reasons b, main.proto-sleep .steps article>b, main.proto-sleep .cards article>b{color:var(--rose);font-size:.7rem;letter-spacing:.13em}
main.proto-sleep .quote-band{padding:clamp(4.5rem,8vw,7rem) 1.5rem;background:var(--plum);color:#fff;text-align:center}
main.proto-sleep .quote-band blockquote{max-width:1000px;margin:0 auto;font:italic clamp(1.8rem,3.2vw,3.2rem)/1.3 var(--serif)}
main.proto-sleep .quote-band p{margin:1.2rem 0 0;color:var(--blush);font-size:.8rem;letter-spacing:.09em;text-transform:uppercase}
main.proto-sleep .consultant{background:var(--cream)}
main.proto-sleep .consultant-photo, main.proto-sleep .story-photo, main.proto-sleep .agenda-photo{position:relative}
main.proto-sleep .consultant-photo img, main.proto-sleep .story-photo img, main.proto-sleep .agenda-photo img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center top;border-radius:16px;box-shadow:0 20px 45px rgba(65,40,58,.12)}
main.proto-sleep .role, main.proto-sleep .clinic-name{color:var(--plum)!important;font:500 1.25rem var(--serif)!important}
main.proto-sleep .path{background:var(--paper)}
main.proto-sleep .section-heading{max-width:720px;margin-bottom:2.2rem}
main.proto-sleep .steps{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
main.proto-sleep .steps article{padding:2rem;border-right:1px solid var(--line)}
main.proto-sleep .steps article:last-child{border:0}
main.proto-sleep .steps p, main.proto-sleep .cards p{margin:0;color:var(--muted);font-size:.9rem}
main.proto-sleep .cta{padding:clamp(5rem,9vw,8rem) 1.5rem;text-align:center;background:linear-gradient(120deg,#faefed,#f3e5ea)}
main.proto-sleep .cta h2, main.proto-sleep .cta>p:not(.eyebrow){max-width:720px;margin-left:auto;margin-right:auto}
main.proto-sleep .cta>p:not(.eyebrow){color:var(--muted)}
main.proto-sleep .centered{justify-content:center}
main.proto-sleep .profile-hero{min-height:620px}
main.proto-sleep .story{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr);gap:clamp(3rem,8vw,8rem);align-items:center}
main.proto-sleep .story-photo img{aspect-ratio:3/4}
main.proto-sleep .values{background:var(--cream)}
main.proto-sleep .course blockquote{max-width:600px;margin:1.7rem 0;padding:.2rem 0 .2rem 1.1rem;border-left:2px solid var(--rose);color:var(--plum);font:italic 1.12rem/1.55 var(--serif)}
main.proto-sleep blockquote cite{display:grid;margin-top:.75rem;color:var(--muted);font:600 .7rem/1.4 var(--sans);font-style:normal;letter-spacing:.08em;text-transform:uppercase}
main.proto-sleep .enrol{margin:.1rem 0 1rem;color:var(--plum);font:500 1.3rem var(--serif)}
main.proto-sleep .intro{background:var(--paper)}
main.proto-sleep .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}
main.proto-sleep .cards article{padding:1.4rem;border:1px solid var(--line);border-radius:12px;background:#fff}
main.proto-sleep .agenda{background:var(--cream)}
main.proto-sleep .agenda-photo img{aspect-ratio:4/5}
main.proto-sleep .agenda-list{margin-top:2rem;border-top:1px solid var(--line)}
main.proto-sleep .agenda-list article{padding:1.25rem 0;border-bottom:1px solid var(--line)}
main.proto-sleep .agenda-list span{color:var(--rose);font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
main.proto-sleep .agenda-list p{margin:0;color:var(--muted);font-size:.9rem}
main.proto-sleep .details{background:linear-gradient(120deg,#f7eeee,#f1e6eb)}
main.proto-sleep .detail-list{border-top:1px solid var(--line)}
main.proto-sleep .detail-list p{display:grid;grid-template-columns:9rem 1fr;gap:1rem;margin:0;padding:1rem 0;border-bottom:1px solid var(--line)}
main.proto-sleep .detail-list b{color:var(--plum);font-family:var(--serif);font-weight:500}
main.proto-sleep .detail-list span{color:var(--muted)}
main.proto-sleep .form-section{align-items:start;background:var(--cream)}
main.proto-sleep .contact{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--line)}
main.proto-sleep .contact a{color:var(--plum);font-weight:700}
main.proto-sleep form{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;padding:clamp(1.3rem,3vw,2.4rem);border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 15px 35px rgba(65,40,58,.08)}
main.proto-sleep label{display:grid;gap:.4rem;color:var(--deep);font-size:.85rem;font-weight:700}
main.proto-sleep .full{grid-column:1/-1}
main.proto-sleep input, main.proto-sleep textarea{width:100%;padding:.72rem;border:1px solid #d9cbd0;border-radius:6px;font:1rem var(--sans)}
main.proto-sleep textarea{resize:vertical}
main.proto-sleep .check{display:flex;align-items:start;font-weight:500;color:var(--muted)}
main.proto-sleep .check input{width:1.05rem;height:1.05rem;margin-top:.25rem;accent-color:var(--plum)}
main.proto-sleep .form-actions{display:flex;align-items:center;gap:1rem}
main.proto-sleep .form-actions span{color:var(--plum);font-size:.82rem}
main.proto-sleep .faq{background:#fff}
main.proto-sleep .faqs{max-width:900px;margin:auto;border-top:1px solid var(--line)}
main.proto-sleep details{border-bottom:1px solid var(--line)}
main.proto-sleep summary{padding:1.2rem 2rem 1.2rem 0;position:relative;color:var(--deep);font:500 1.2rem var(--serif);cursor:pointer;list-style:none}
main.proto-sleep summary:after{content:"+";position:absolute;right:.3rem;color:var(--rose);font:1.3rem var(--sans)}
main.proto-sleep details[open] summary:after{content:"−"}
main.proto-sleep .faqs p{max-width:720px;margin:-.2rem 0 1.3rem;color:var(--muted)}
@media (max-width:900px){
main.proto-sleep .small{margin-left:auto}
main.proto-sleep .hero{grid-template-columns:1fr}
main.proto-sleep .portrait{min-height:480px}
main.proto-sleep .portrait img{object-position:center 20%}
main.proto-sleep .trust{grid-template-columns:1fr}
main.proto-sleep .trust p{border-right:0;border-bottom:1px solid var(--line)}
main.proto-sleep .split, main.proto-sleep .consultant, main.proto-sleep .intro, main.proto-sleep .agenda, main.proto-sleep .details, main.proto-sleep .form-section, main.proto-sleep .story{grid-template-columns:1fr}
main.proto-sleep .steps{grid-template-columns:1fr}
main.proto-sleep .steps article{border-right:0;border-bottom:1px solid var(--line)}
main.proto-sleep .steps article:last-child{border-bottom:0}
main.proto-sleep .cards{grid-template-columns:1fr}
main.proto-sleep .consultant-photo, main.proto-sleep .story-photo, main.proto-sleep .agenda-photo{max-width:520px;margin:auto}
main.proto-sleep .agenda-photo img{aspect-ratio:4/5}
}
@media (max-width:600px){
main.proto-sleep{padding-bottom:67px}
main.proto-sleep .hero-copy{padding:4.2rem 1.35rem 3.5rem}
main.proto-sleep .hero h1{font-size:clamp(2.5rem,11vw,3.4rem)}
main.proto-sleep .portrait{min-height:460px}
main.proto-sleep .section{padding:4.5rem 1.35rem}
main.proto-sleep .actions{align-items:stretch;flex-direction:column}
main.proto-sleep .actions .text-link{text-align:center}
main.proto-sleep .detail-list p{grid-template-columns:1fr;gap:.2rem}
main.proto-sleep form{grid-template-columns:1fr}
main.proto-sleep .full{grid-column:auto}
}
@media (prefers-reduced-motion:reduce){
main.proto-sleep{scroll-behavior:auto}
}
main.proto-sleep .brand-logo{display:block;width:142px;height:58px;object-fit:contain;object-position:left center}
main.proto-sleep .cloud-mark{width:180px;opacity:.16}
@media (max-width:600px){
main.proto-sleep .brand-logo{width:120px;height:50px}
}
main.proto-sleep img[src="assets/estee-chew.jpg"]{content:url("assets/estee-training-class.png")}
main.proto-sleep img[src="../assets/estee-chew.jpg"]{content:url("../assets/estee-professional.png")}
main.proto-sleep .hero>.portrait img[src="assets/estee-chew.jpg"]{content:url("assets/parents-sleeping-over-baby.png")}
main.proto-sleep .consultant-photo img[src="assets/estee-chew.jpg"]{content:url("assets/estee-training-class.png")}
main.proto-sleep .quote-band blockquote{max-width:780px;font-size:clamp(1.4rem,2.25vw,2.25rem);line-height:1.38}
main.proto-sleep .support-list{margin:1.1rem 0 0;padding:0;list-style:none;border-top:1px solid var(--line)}
main.proto-sleep .support-list li{display:grid;grid-template-columns:3rem 1fr;gap:.8rem;padding:.9rem 0;border-bottom:1px solid var(--line);color:var(--deep);font-size:.92rem}
main.proto-sleep .support-list b{color:var(--rose);font-size:.7rem;letter-spacing:.13em}
main.proto-sleep .consultant-photo .image-note{display:grid;gap:.25rem;max-width:310px}
main.proto-sleep .consultant-photo .image-note strong{font-size:1.13rem}
main.proto-sleep .consultant-photo .image-note small{color:var(--muted);font:600 .69rem/1.45 var(--sans);letter-spacing:.03em}
@media (max-width:600px){
main.proto-sleep .quote-band blockquote{font-size:1.45rem}
main.proto-sleep .support-list li{grid-template-columns:2.6rem 1fr;font-size:.87rem}
}
main.proto-sleep .consultant-photo .image-note{right:auto;bottom:0;left:0;width:100%;max-width:none;border-radius:0 10px 0 0}
main.proto-sleep .consultant-photo .image-note strong{white-space:nowrap}
main.proto-sleep .consultant-photo .image-note small{white-space:nowrap}
main.proto-sleep .story-photo img[src="../assets/estee-professional.png"]{content:url("../assets/estee-training-class.png")}
@media (max-width:600px){
main.proto-sleep .consultant-photo .image-note{padding:.7rem .85rem}
main.proto-sleep .consultant-photo .image-note strong{font-size:1rem}
main.proto-sleep .consultant-photo .image-note small{font-size:.58rem;white-space:normal}
}
main.proto-sleep .story-photo img[src="../assets/estee-professional.png"]{content:url("../assets/estee-training-class.png")}
main.proto-sleep .consultant-photo .image-note{right:0;bottom:0;left:0;max-width:none;padding:1rem 1.25rem;border-left:3px solid var(--rose);border-radius:0 10px 0 0}
main.proto-sleep .consultant-photo .image-note strong{font-size:1.2rem}
main.proto-sleep .consultant-photo .image-note small{font-size:.72rem;white-space:nowrap}
main.proto-sleep .consultant-photo img[src="assets/estee-family-session.png"]{content:normal}
@media (max-width:600px){
main.proto-sleep .consultant-photo .image-note{padding:.75rem 1rem}
main.proto-sleep .consultant-photo .image-note small{font-size:.65rem;white-space:normal}
}
main.proto-sleep{--plum:#5b405f;--deep:#402f43;--rose:#8c5f3a;--blush:#d8b99c;--paper:#fffdfb;--cream:#f8f4ee;--ink:#332d34;--muted:#6f6670;--line:rgba(91,64,95,.14)}
main.proto-sleep{--accent-purple:#7d4ba6;--accent-lilac:#f1e9f6}
main.proto-sleep .eyebrow{color:var(--accent-purple)}
main.proto-sleep .estee-quote{max-width:610px;margin:1.25rem 0 0;padding-left:1rem;border-left:2px solid var(--accent-purple);color:var(--plum);font:italic 1.05rem/1.5 var(--serif)}
main.proto-sleep .estee-quote cite{display:block;margin-top:.45rem;color:var(--accent-purple);font:700 .68rem var(--sans);font-style:normal;letter-spacing:.12em;text-transform:uppercase}
main.proto-sleep .consultant{background:var(--accent-lilac);border-top:1px solid rgba(125,75,166,.18);border-bottom:1px solid rgba(125,75,166,.18)}
main.proto-sleep .consultant .text-link{color:var(--accent-purple)}
@media (max-width:760px){
main.proto-sleep .estee-quote{font-size:.96rem}
}
main.proto-sleep .class-options{background:var(--paper)}
main.proto-sleep .class-options-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}
main.proto-sleep .class-option{display:block;min-height:250px;padding:2rem;border:1px solid var(--line);border-radius:16px;background:#fff;color:inherit;text-decoration:none;box-shadow:0 14px 35px rgba(70,52,72,.06)}
main.proto-sleep .class-option:hover, main.proto-sleep .class-option:focus-visible{border-color:var(--accent-purple);box-shadow:0 18px 40px rgba(91,64,95,.13)}
main.proto-sleep .class-option>span{color:var(--accent-purple);font-size:.7rem;font-weight:700;letter-spacing:.14em}
main.proto-sleep .class-option h3{margin-top:.65rem}
main.proto-sleep .class-option p{max-width:430px;color:var(--muted);font-size:.92rem}
main.proto-sleep .class-option b{display:block;margin-top:1.4rem;color:var(--accent-purple);font-size:.85rem}
@media (max-width:760px){
main.proto-sleep .class-options-grid{grid-template-columns:1fr}
}
main.proto-sleep .course .portrait img[src="../assets/estee-chew.jpg"]{content:url("../assets/parents-sleeping-over-baby.png")}
main.proto-sleep .course{grid-template-columns:minmax(0,.9fr) minmax(460px,1.1fr)}
main.proto-sleep .course .portrait{min-height:680px}
main.proto-sleep .course .portrait img{object-position:68% top}
main.proto-sleep .consultant-photo .image-note{z-index:2;min-height:auto}
main.proto-sleep .consultant-photo .image-note small{line-height:1.55}
@media (max-width:900px){
main.proto-sleep .course{grid-template-columns:1fr}
main.proto-sleep .course .portrait{min-height:520px}
main.proto-sleep .course .portrait img{object-position:center top}
}
main.proto-sleep .estee-quote cite{display:grid;gap:.18rem;margin-top:.65rem;color:var(--accent-purple);font:600 .68rem/1.45 var(--sans);font-style:normal;letter-spacing:.08em;text-transform:none}
main.proto-sleep .estee-quote cite b{font-size:.74rem;letter-spacing:.12em;text-transform:uppercase}
main.proto-sleep .estee-quote cite span{display:block}
main.proto-sleep .specialist-profile{background:var(--cream);grid-template-columns:minmax(300px,.76fr) minmax(0,1.24fr)}
main.proto-sleep .specialist-profile .agenda-photo img{aspect-ratio:3/4}
main.proto-sleep .specialist-profile h1{font-size:clamp(2.7rem,4vw,4.5rem)}
main.proto-sleep .credential-title{display:grid;gap:.22rem;margin:1.1rem 0 1.5rem;color:var(--plum)!important;font:500 1.02rem/1.5 var(--sans)!important}
main.proto-sleep .credential-title b{font:500 1.48rem var(--serif)}
main.proto-sleep .specialist-profile .text-link{display:inline-block;margin-top:.75rem;color:var(--accent-purple)}

/* ---- merge overrides ---- */
main.proto-sleep, main.proto-sleep{margin:0; background:var(--paper);}
main.proto-sleep{font-family:var(--sans); -webkit-print-color-adjust:exact; print-color-adjust:exact;}
main.proto-sleep .skip-link, main.proto-sleep .mobile-book{display:none !important;}
main.proto-sleep .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);}
main.proto-sleep 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;}
main.proto-sleep .concern-card{min-height:0 !important; cursor:default;}
main.proto-sleep .concern-card-inner{transform:none !important; min-height:0 !important; display:flex !important; flex-direction:column; transition:none !important;}
main.proto-sleep .concern-front, main.proto-sleep .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;}
main.proto-sleep .concern-front{border-bottom-left-radius:0 !important; border-bottom-right-radius:0 !important;}
main.proto-sleep .concern-back{border-top-left-radius:0 !important; border-top-right-radius:0 !important; flex:1;}
main.proto-sleep .colostrum-extra{display:grid; grid-template-columns:1fr 1fr; gap:.9rem; margin:1.3rem 0 1.4rem;}
main.proto-sleep .colostrum-extra div{padding:1.05rem 1.15rem; border-radius:12px; background:var(--lilac-soft);}
main.proto-sleep .colostrum-extra h4{margin:0 0 .35rem; color:var(--plum-deep); font-family:var(--serif); font-weight:400; font-size:1.1rem;}
main.proto-sleep .colostrum-extra p{margin:0; font-size:.96rem; line-height:1.55;}
main.proto-sleep .intro-sub{margin:2rem 0 .5rem; font-size:1.5rem;}
main.proto-sleep .merge-section{padding:clamp(4.5rem,7vw,6.5rem) clamp(1.5rem,7vw,8rem); background:var(--paper);}
main.proto-sleep .merge-section.tint{background:var(--ivory);}
main.proto-sleep .merge-section .bmb-section-head{max-width:780px; margin:0 0 2.1rem;}
main.proto-sleep .merge-section .bmb-section-head h2{margin:0 0 .9rem;}
main.proto-sleep .merge-section .eyebrow{margin:0 0 .9rem;}
main.proto-sleep .merge-section p{max-width:760px;}
main.proto-sleep .merge-section .service-section-lead{font-size:1.1rem; color:var(--muted);}
main.proto-sleep .merge-stack > .merge-section + .merge-section{padding-top:0;}
main.proto-sleep .merge-stack > .merge-section:not(:last-child){padding-bottom:3rem;}
main.proto-sleep .merge-stack > .merge-section:first-child .bmb-section-head{margin-bottom:1.2rem;}
main.proto-sleep .offer-links{display:flex; flex-wrap:wrap; gap:.7rem;}
main.proto-sleep .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;}
main.proto-sleep .service-related-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:1.1rem; margin:0; padding:0; list-style:none;}
main.proto-sleep .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);}
main.proto-sleep .merge-section:not(.tint) .service-related-grid > li{background:var(--lilac-soft); border-color:transparent; box-shadow:none;}
main.proto-sleep .service-related-figure{margin:0; aspect-ratio:16/9; overflow:hidden;}
main.proto-sleep .service-related-figure img{width:100%; height:100%; object-fit:cover; display:block;}
main.proto-sleep .service-related-body{padding:1.5rem 1.55rem 1.5rem;}
main.proto-sleep .service-related-body h3{margin:0 0 .5rem; font-size:1.32rem;}
main.proto-sleep .service-related-body p{margin:0 0 .9rem;}
main.proto-sleep .service-related-cta{color:var(--plum); font-weight:650; text-decoration:none; border-bottom:1px solid var(--bronze-soft);}
main.proto-sleep .lc-extras{display:grid; grid-template-columns:repeat(3,1fr); gap:1.1rem; margin:0; padding:0; list-style:none;}
main.proto-sleep .lc-extras > li{padding:1.5rem; border-radius:16px; background:var(--lilac-soft);}
main.proto-sleep .lc-extras h3{margin:0 0 .45rem; font-size:1.24rem;}
main.proto-sleep .lc-extras p{margin:0;}
main.proto-sleep .merge-pair{display:grid; grid-template-columns:1fr 1fr; background:var(--ivory);}
main.proto-sleep .merge-pair > .merge-section{background:transparent;}
main.proto-sleep .merge-pair > .merge-section:first-child{padding-right:clamp(1.5rem,3vw,3rem);}
main.proto-sleep .merge-pair > .merge-section:last-child{padding-left:clamp(1.5rem,3vw,3rem);}
main.proto-sleep .merge-pair .service-related-grid{grid-template-columns:1fr;}
main.proto-sleep .merge-pair .service-related-grid > li{box-shadow:none;}
main.proto-sleep .lc-hours{margin:.9rem 0 0; padding:0; list-style:none; border-top:1px solid var(--line);}
main.proto-sleep .lc-hours > li{display:grid; grid-template-columns:7.5rem 1fr; gap:.2rem 1rem; padding:.7rem 0; border-bottom:1px solid var(--line);}
main.proto-sleep .lc-hours-days{color:var(--plum-deep); font-family:var(--serif);}
main.proto-sleep .lc-hours-who{grid-column:2; color:var(--muted); font-size:.93rem;}
main.proto-sleep .lc-fees{margin:0; padding:0; list-style:none; border-top:1px solid var(--line);}
main.proto-sleep .lc-fees > li{display:grid; grid-template-columns:1fr auto; gap:.15rem 1.2rem; padding:1.05rem 0; border-bottom:1px solid var(--line);}
main.proto-sleep .lc-fee-label{color:var(--ink); font-weight:600;}
main.proto-sleep .lc-fee-price{grid-row:span 2; align-self:center; color:var(--plum-deep); font-family:var(--serif); font-size:1.7rem;}
main.proto-sleep .lc-fee-note{color:var(--muted); font-size:.93rem;}
main.proto-sleep .service-prep-grid{display:grid; grid-template-columns:1fr 1fr; gap:1.1rem;}
main.proto-sleep .service-prep-card{padding:1.7rem 1.75rem; border:1px solid var(--line); border-radius:16px; background:var(--paper);}
main.proto-sleep .service-prep-card h2{font-size:clamp(1.55rem,2.2vw,2rem);}
/* phones (24/09/2026): the two cards ("Our Sleep Consultant" / "The consultation") stack; side by side at 390px the second card ran off the screen */
@media (max-width:760px){ main.proto-sleep .service-prep-grid{grid-template-columns:1fr;} main.proto-sleep .service-prep-card{padding:1.4rem 1.25rem;} }
main.proto-sleep .service-course-meta{display:grid; grid-template-columns:auto 1fr; gap:.55rem 1.2rem; margin:1rem 0 0;}
main.proto-sleep .service-course-meta dt{color:var(--bronze); font-size:.74rem; font-weight:750; letter-spacing:.14em; text-transform:uppercase; padding-top:.18rem;}
main.proto-sleep .service-course-meta dd{margin:0;}
main.proto-sleep .service-prep-note{margin-top:1.2rem; color:var(--muted);}
main.proto-sleep .service-prep-list, main.proto-sleep .merge-section .service-faq-answer ul, main.proto-sleep .merge-section .service-faq-answer ol{margin:.6rem 0 0; padding:0; list-style:none;}
main.proto-sleep .service-prep-list > li, main.proto-sleep .merge-section .service-faq-answer li{position:relative; padding:.62rem 0 .62rem 1.5rem; border-bottom:1px solid var(--line);}
main.proto-sleep .service-prep-list > li::before, main.proto-sleep .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);}
main.proto-sleep .merge-section .service-faq-answer ol{counter-reset:tc;}
main.proto-sleep .merge-section .service-faq-answer ol > li{counter-increment:tc;}
main.proto-sleep .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;}
main.proto-sleep .service-faq-list{display:grid; grid-template-columns:1fr 1fr; gap:1.1rem; margin:0; padding:0; list-style:none;}
main.proto-sleep .service-faq-list > li{padding:1.6rem 1.7rem; border:1px solid var(--line); border-radius:16px; background:var(--paper);}
main.proto-sleep .service-faq-list summary{list-style:none; margin:0 0 .8rem; color:var(--plum-deep); font-family:var(--serif); font-size:1.42rem;}
main.proto-sleep .service-faq-list summary::-webkit-details-marker{display:none;}
main.proto-sleep .service-faq-answer p{margin:.55rem 0;}
main.proto-sleep .service-intro-body--with-figure{display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(2rem,4vw,4rem); align-items:center;}
main.proto-sleep .service-intro-figure{margin:0; border-radius:18px; overflow:hidden;}
main.proto-sleep .service-intro-figure img{width:100%; display:block;}
main.proto-sleep 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;}
main.proto-sleep .vh{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap;}

/* ---- sleep pages: hero display line + H1, heading tags moved for SEO but kept looking the same ---- */
main.proto-sleep .hero-display{max-width:760px;margin:0;color:var(--deep);font-family:var(--serif);font-weight:500;line-height:1.12;font-size:clamp(2.7rem,5.1vw,5.2rem)}
main.proto-sleep h1.clinic-name{max-width:none;margin:1.1rem 0 0;color:var(--plum);font-family:var(--serif);font-weight:500;font-size:clamp(1.3rem,1.8vw,1.65rem);font-style:italic;letter-spacing:0;line-height:1.3}
main.proto-sleep h1.clinic-name .h1-sub{display:block;margin-top:.35rem;color:var(--rose);font-family:var(--sans);font-style:normal;font-weight:700;font-size:.62em;letter-spacing:.14em;text-transform:uppercase}
main.proto-sleep .look-h1{max-width:760px;margin:0;color:var(--deep);font-size:clamp(2.7rem,5.1vw,5.2rem)}
main.proto-sleep h1.look-h2{margin:.2rem 0 1.2rem;color:var(--deep);font-size:clamp(2.1rem,3.6vw,3.7rem);max-width:none}
main.proto-sleep .merge-section .service-faq-list, main.proto-sleep .bmb-faq{max-width:1100px}
main.proto-sleep .stc-faq details, main.proto-sleep .bmb-faq details{border-bottom:1px solid var(--line)}

/* ---- 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-sleep{ max-width:none !important; width:100% !important; margin:0 !important; padding:0 !important; }
html body main.proto-sleep section{ margin-top:0; margin-bottom:0; }
html body main.proto-sleep .hero{ text-align:start; }
html body main.proto-sleep h1, html body main.proto-sleep h2, html body main.proto-sleep h3{ letter-spacing:normal; }
html body main.proto-sleep h1{ letter-spacing:-.035em; }
html body main.proto-sleep h2{ letter-spacing:-.026em; }

/* ---- reset site-wide rules that share the prototype's generic class names ---- */
html body main.proto-sleep section.cta{ display:block; color:inherit; border-radius:0; margin-top:0; font-weight:inherit; }
html body main.proto-sleep .hero{ padding:0; text-align:start; }
html body main.proto-sleep h1, html body main.proto-sleep h2, html body main.proto-sleep h3{ font-weight:500; }
/* the live booking form keeps its own two-column rows */
html body main.proto-sleep form.stc-form{ display:block; grid-template-columns:none; }
html body main.proto-sleep form.stc-form .stc-form-row{ display:grid; grid-template-columns:1fr 1fr; gap:1.1rem; margin-bottom:1rem; }
@media (max-width:640px){ html body main.proto-sleep form.stc-form .stc-form-row{ grid-template-columns:1fr; } }
html body main.proto-sleep .stc-form-actions .bmb-cta{ display:block; width:100%; min-height:48px; border-radius:7px; background:var(--plum); color:#fff; font-weight:700; }
/* "eight most common reasons": numbered rows like the client's lists */
html body main.proto-sleep .service-benefits-grid{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:2.5rem; max-width:1100px; border-top:1px solid var(--line); }
html body main.proto-sleep .service-benefits-grid > li{ display:grid; grid-template-columns:3rem 1fr; gap:1rem; align-items:baseline; padding:1.1rem 0; border-bottom:1px solid var(--line); }
html body main.proto-sleep .service-benefits-grid > li::before{ content:none; }
html body main.proto-sleep .service-benefit-num{ color:var(--rose) !important; font-size:.72rem; font-weight:700; letter-spacing:.13em; }
html body main.proto-sleep .service-benefits-grid p{ margin:0; color:var(--muted); font-size:.95rem; }
html body main.proto-sleep .service-benefits-grid strong{ color:var(--deep); font-weight:600; }
@media (max-width:760px){ html body main.proto-sleep .service-benefits-grid{ grid-template-columns:1fr; } }

/* 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(84px,7.4vw,112px); }
@media (max-width:640px){ html body main .clinic-logo{ height:84px; margin-bottom:1rem; } html body main .clinic-logo--wide{ height:68px; } }

/* ---- final audit polish (24/09/2026) ---- */
/* text links underlined, as in the client's prototype (the site's base link style had removed the line) */
html body main.proto-sleep .text-link{ text-decoration:underline; text-decoration-color:currentColor; text-decoration-thickness:1px; text-underline-offset:.3em; }
/* phones: the secondary link under each button gets a 44px tap height */
/* card links: plum underline like the lactation page (the bronze-soft border line was 1.9:1 and read as decoration) */
html body main.proto-sleep .service-related-cta{ border-bottom:0; text-decoration:underline; text-decoration-color:var(--plum); text-decoration-thickness:1px; text-underline-offset:.3em; }
/* phones: standalone links get a 44px tap height */
@media (max-width:600px){
  html body main.proto-sleep .actions .text-link{ padding-top:.6rem; padding-bottom:.6rem; }
  html body main.proto-sleep .consultant .text-link,
  html body main.proto-sleep .specialist-profile .text-link,
  html body main.proto-sleep .service-related-cta{ display:inline-block; padding-top:.7rem; padding-bottom:.7rem; }
}
/* "Connect with our Sleep Consultant": the two columns use the full content width, like the cards above them */
html body main.proto-sleep .service-benefits-grid{ max-width:none; }
/* clinic hours: "Monday to Sunday" on one line, the note left-aligned under the list like everything else */
html body main.proto-sleep #hours .lc-hours{ max-width:780px; }
html body main.proto-sleep #hours .lc-hours > li{ grid-template-columns:10.5rem 1fr; }
html body main.proto-sleep #hours .stc-hours-note{ max-width:780px; margin:1.1rem 0 0 !important; text-align:left; }
/* hours and the booking form share the cream band: drop the hours block's bottom padding so the two read as one
   band instead of leaving a 225px empty gap between them */
html body main.proto-sleep #hours{ padding-bottom:1rem; }
@media (max-width:600px){
  html body main.proto-sleep #hours .lc-hours > li{ grid-template-columns:1fr; }
  html body main.proto-sleep #hours .lc-hours-who{ grid-column:1; }
}
/* "Consultation details" eyebrow on the pink details band was 4.4:1 (plum-2); plum is 7.3:1 */
html body main.proto-sleep .details .eyebrow{ color:#553f63; }
/* sub-pages: the clinic logo links back to the clinic page, as the prototype's header logo does */
html body main .clinic-logo-link{ display:block; width:max-content; max-width:100%; margin:0 0 1.4rem; border-radius:6px; }
html body main .clinic-logo-link .clinic-logo{ margin:0; }
html body main .clinic-logo-link:focus-visible{ outline:2px solid var(--plum); outline-offset:4px; }
@media (max-width:640px){ html body main .clinic-logo-link{ margin-bottom:1rem; } }
/* sub-pages: the prototype's clinic footer strip, with the way back to the clinic and on to the other sleep pages */
html body main.proto-sleep .clinic-foot{ display:flex; justify-content:space-between; align-items:flex-start; gap:2rem; margin:0;
  padding:2rem clamp(1.35rem,7vw,8rem); border-top:1px solid var(--line); background:var(--paper); color:var(--muted); font-size:.86rem; line-height:1.55; }
html body main.proto-sleep .clinic-foot div{ display:grid; gap:.3rem; }
html body main.proto-sleep .clinic-foot div:last-child{ justify-items:end; text-align:right; }
html body main.proto-sleep .clinic-foot strong{ color:var(--deep); font-weight:700; }
html body main.proto-sleep .clinic-foot a{ color:var(--plum); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:.25em; }
html body main.proto-sleep .clinic-foot a:hover{ color:var(--deep); }
html body main.proto-sleep .clinic-foot a:focus-visible{ outline:2px solid var(--plum); outline-offset:2px; border-radius:2px; }
@media (max-width:600px){
  html body main.proto-sleep .clinic-foot{ flex-direction:column; gap:.6rem; padding:1.6rem 1.35rem; }
  html body main.proto-sleep .clinic-foot div:last-child{ justify-items:start; text-align:left; gap:0; }
  html body main.proto-sleep .clinic-foot a{ display:inline-block; padding:.65rem 0; }
  html body main.proto-sleep .clinic-foot div{ gap:0; }
}
/* Meet Estee (profile hero): her credential under her role, in the same small caps as the clinic page's H1 line.
   It was stated only in the page's meta description and Person schema, so it is now visible too */
html body main.proto-sleep .profile-hero .profile-credential{ margin:.5rem 0 0; color:var(--rose); font:700 .76rem/1.5 var(--sans); letter-spacing:.14em; text-transform:uppercase; }
html body main.proto-sleep .profile-hero .clinic-name{ margin-bottom:0; }
