/* Bidyim Tovot 1.1.9. Local fonts, RTL, progressive motion. */
:root {
 --paper:#fcf8f4; --paper-light:#fffdfb; --ink:#412f34; --muted:#716060;
 --rose:#984e4a; --rose-soft:#f0dfda; --line:#dfcfc8;
 --serif:'Noto Serif Hebrew',Georgia,serif; --sans:'Heebo',Arial,sans-serif;
 --header-height:132px; color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:var(--header-height);-webkit-text-size-adjust:100%}
body{margin:0;padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);color:var(--ink);background:var(--paper);font:400 16px/1.85 var(--sans)}
a{color:inherit;text-decoration:none}
a,button,input,select,textarea,summary{-webkit-tap-highlight-color:rgba(152,78,74,.12)}
button,input,textarea,select{font:inherit}
button,select,summary{cursor:pointer}
button{color:inherit}
img{display:block;max-width:100%;height:auto}
svg{flex-shrink:0}
p,h1,h2,h3,figure,blockquote{margin:0}
p+p{margin-top:1.1em}
h1,h2,h3{font-weight:500}
h1{font-size:clamp(2.8rem,4.7vw,4.45rem);line-height:1.18;font-weight:600;letter-spacing:-.045em}
h2{font-family:var(--serif);font-size:clamp(2rem,3.25vw,3.1rem);line-height:1.42;letter-spacing:-.05em}
h1 span,h2 span{color:var(--rose)}
h3{font-size:1.35rem;line-height:1.55}
::selection{color:var(--ink);background:#ecd0c6}
:focus-visible{outline:3px solid var(--rose);outline-offset:5px}
[hidden]{display:none!important}
.wrap{width:calc(100% - 96px);max-width:1200px;margin-inline:auto}
.section{padding-block:clamp(70px,7.5vw,108px)}
main>section[id],#main{scroll-margin-top:18px}
.icon{width:22px;height:22px;vertical-align:middle}
.eyebrow{margin-bottom:17px;color:var(--rose);font-size:.86rem;font-weight:500}
.intro{font-size:1.18rem;line-height:1.9}
.fine-print{font-size:.83rem;line-height:1.85;color:var(--muted)}
.fine-print a{text-decoration:underline;text-underline-offset:3px}
.button{min-height:54px;padding:13px 28px;border:1px solid transparent;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;gap:14px;font-weight:500;font-size:1rem;line-height:1.5;transition:background-color .2s,box-shadow .2s,transform .2s}
.button-primary{background:var(--rose);color:var(--paper-light)}
.text-link{display:inline-flex;align-items:center;min-height:46px;font-size:.95rem;font-weight:500;text-decoration:underline;text-decoration-color:#bfa29a;text-underline-offset:7px;text-decoration-thickness:1px;transition:color .2s}
/* A single icon per contact channel across headers, CTAs, cards, and footers. */
:is(a[href^="https://wa.me/"],a[href^="tel:"],a[href^="mailto:"],a[href^="sms:"],.contact-card button[type="submit"])::before{content:"";display:inline-block;width:19px;height:19px;flex:0 0 19px;background-color:currentColor;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}
:is(a[href^="https://wa.me/"],.contact-card button[type="submit"])::before{-webkit-mask-image:url("/assets/icons/whatsapp.svg");mask-image:url("/assets/icons/whatsapp.svg")}
a[href^="tel:"]::before{-webkit-mask-image:url("/assets/icons/phone.svg");mask-image:url("/assets/icons/phone.svg")}
a[href^="mailto:"]::before{-webkit-mask-image:url("/assets/icons/email.svg");mask-image:url("/assets/icons/email.svg")}
a[href^="sms:"]::before{-webkit-mask-image:url("/assets/icons/message.svg");mask-image:url("/assets/icons/message.svg")}
:is(a[href^="https://wa.me/"],a[href^="tel:"],a[href^="mailto:"],a[href^="sms:"],.contact-card button[type="submit"])>svg.icon{display:none}
.skip-link{position:fixed;top:-100px;right:20px;z-index:100;background:var(--ink);color:white;padding:12px 24px;border-radius:5px}
.skip-link:focus{top:12px}
.mobile-break{display:none}

/* Two-level navigation remains available while reading. */
.site-header{position:sticky;top:0;z-index:30;background:rgba(252,248,244,.98);border-bottom:1px solid var(--line);box-shadow:0 4px 20px rgba(65,47,52,.025)}
.header-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.brand{display:inline-flex;align-items:center;gap:5px;min-width:0}
.brand>img{width:58px;height:58px;mix-blend-mode:multiply;flex-shrink:0}
.brand>span{display:block;min-width:0}
.brand strong{font-family:var(--serif);font-size:1.38rem;font-weight:600;line-height:1.5;letter-spacing:-.055em}
.brand>span>span{display:block;color:var(--muted);font-size:.71rem;line-height:1.7}
.header-caption{color:var(--muted);font-size:.83rem;margin-inline-start:auto}
.header-contact{min-height:44px;display:inline-flex;align-items:center;border:1px solid var(--rose);border-radius:8px;padding:8px 22px;color:var(--rose);font-size:.87rem;font-weight:500;white-space:nowrap;transition:color .2s,background-color .2s}
.section-nav{border-top:1px solid rgba(223,207,200,.55)}
.nav-scroller{max-width:1200px;margin-inline:auto;min-height:53px;display:flex;gap:8px;align-items:center;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#c9aaa0 transparent;padding:5px 2px;scroll-padding-inline:16px}
.section-link{display:inline-flex;align-items:center;justify-content:center;min-height:42px;border-radius:7px;padding:8px 19px;font-size:.87rem;white-space:nowrap;flex-shrink:0;transition:color .2s,background-color .2s}
.section-link.is-active,.section-link[aria-current="location"]{background:var(--rose-soft);color:#7f3b39;font-weight:500}
.section-link:focus-visible{outline-offset:-3px}
.mobile-section-navigation{display:none}
.menu-toggle{display:none}
.mobile-nav{position:absolute;top:100%;inset-inline:0;background:var(--paper-light);box-shadow:0 18px 28px rgba(65,47,52,.1);padding:12px 24px 20px;border-bottom:1px solid var(--line);max-height:calc(100vh - 190px);max-height:calc(100dvh - 190px);overflow:auto}
.mobile-nav a{display:block;padding:10px 4px;min-height:45px;border-bottom:1px solid var(--line)}

/* The local brand illustration accents the opening without obscuring the text. */
.hero{position:relative;isolation:isolate;overflow:hidden;min-height:570px;display:flex;align-items:center;justify-content:flex-start;text-align:center;padding-block:85px 67px;border-bottom:1px solid rgba(223,207,200,.7)}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:url("/assets/images/hero-logo-900.webp?v=1.1.9") left 3% center/clamp(360px,37vw,510px) auto no-repeat;opacity:.68;pointer-events:none}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(252,248,244,.06),rgba(252,248,244,.04) 42%,rgba(252,248,244,.26) 67%,rgba(252,248,244,.48));pointer-events:none}
.hero-copy{position:relative;min-width:0;width:62%;max-width:750px}
.hero h1{font-family:var(--serif);font-size:clamp(3rem,5.7vw,5.8rem);line-height:1.33;font-weight:500;letter-spacing:-.055em;text-wrap:balance}
.hero .eyebrow{margin-bottom:22px}
.hero-lead{margin:28px auto 0;font-size:1.28rem;line-height:1.8;max-width:570px}
.hero-description{color:var(--muted);margin:13px auto 0;font-size:1.02rem;max-width:590px}
.hero-actions{display:flex;align-items:center;justify-content:center;gap:26px;flex-wrap:wrap;margin-top:30px}
.hero-actions .button{min-width:160px}
.hero-footnote{margin-top:22px;font-size:.82rem;color:var(--muted)}
.hero-next{display:inline-flex;gap:12px;align-items:center;margin-top:34px;padding:11px 17px;border:1px solid var(--line);border-radius:999px;background:rgba(255,253,251,.88);font-size:.91rem;font-weight:500;color:var(--ink);transition:border-color .2s,transform .2s}
.hero-next span{color:var(--rose);font-size:1.25rem;line-height:1}
.hero-visual{display:flex;flex-direction:column;align-self:stretch;min-width:0;border-radius:24px;overflow:hidden;background:#f2e2dc}
.portrait-frame{position:relative;flex:1;min-height:420px;overflow:hidden;background:#d9d0bd;aspect-ratio:1.11}
.hero-portrait{width:100%;height:100%;object-fit:cover;object-position:center 46%;transform:scale(1.62);transform-origin:68% 40%}
.image-fallback{display:none}
[data-image-fallback].image-failed>img{visibility:hidden}
[data-image-fallback].image-failed>.image-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:20px;background:#f3e8e3;color:#655358;font-size:.95rem;text-align:center;border-radius:inherit}
.portrait-note{display:grid;gap:4px;padding:22px 28px;color:var(--ink);line-height:1.65}
.portrait-note strong{font-family:var(--serif);font-size:1.04rem;font-weight:600;color:var(--rose)}
.portrait-note>span{font-size:.86rem;color:#58494b}
.services-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding-bottom:12px}
.services-strip>a{display:flex;align-items:center;min-width:0;min-height:107px;padding:20px 24px;border-radius:12px;background:#f1e7e0;transition:background-color .2s,transform .2s}
.services-strip>a:nth-child(2){background:#f2e0dc}
.services-strip>a:nth-child(3){background:#eae1de}
.services-strip strong{display:block;font-weight:500;font-size:1.1rem}
.services-strip>a>span>span{display:block;color:var(--muted);font-size:.85rem;margin-top:2px}

/* About: portrait on the right, original personal words beside it. */
.about{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);grid-template-areas:"visual heading" "visual copy";grid-template-rows:auto 1fr;column-gap:7%;row-gap:14px;align-items:start}
.about-introduction{padding-block:clamp(65px,6.5vw,98px) clamp(55px,6vw,88px)}
.about-heading{grid-area:heading;align-self:end}
.about h2{font-size:clamp(2.45rem,4vw,3.7rem);line-height:1.45;text-wrap:balance}
.about-visual{grid-area:visual;width:100%;max-width:485px;justify-self:start}
.about-copy{grid-area:copy;padding-top:12px}
.about-copy>p:not(.intro){color:var(--muted)}
.about-copy .text-link{margin-top:20px}
.birth{background:#efe2dc}
.birth-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:7%;align-items:start}
.birth-intro{position:sticky;top:calc(var(--header-height) + 26px)}
.birth-intro>p:not(.eyebrow){margin-top:25px;color:var(--muted)}
.period-label{display:block;font-size:.84rem;margin-top:21px;font-weight:500}
.birth-intro .text-link{margin-top:20px}
.journey{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}
.journey li{min-width:0;padding:25px;border-radius:12px;background:var(--paper-light)}
.journey li:last-child{grid-column:1/-1}
.step-number{display:block;color:var(--rose);font-size:.83rem;font-weight:500;margin-bottom:14px}
.step-label{color:var(--muted);font-size:.78rem;margin-bottom:5px}
.journey h3{margin-bottom:10px;font-size:1.2rem}
.journey li>div>p:last-child{font-size:.92rem;color:var(--muted);line-height:1.8}
.support-tools{margin-top:48px;padding-top:36px;border-top:1px solid #d0b9ae;display:grid;grid-template-columns:.72fr 1.28fr;gap:7%}
.support-tools .eyebrow{margin-bottom:10px}
.support-tools h3{font-family:var(--serif);font-size:1.6rem;letter-spacing:-.05em}
.tool-list{display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0 0 18px;list-style:none}
.tool-list li{background:rgba(255,253,251,.72);border-radius:6px;font-size:.83rem;padding:6px 12px}
.philosophy{text-align:center;max-width:900px}
.philosophy h2{line-height:1.6;font-size:clamp(1.9rem,3.25vw,2.9rem)}
.philosophy>p:not(.eyebrow){margin-top:22px;color:var(--muted)}
.signature{display:block;margin-top:22px;font-family:var(--serif);font-size:1.3rem;color:var(--rose)}

/* Massage and motherhood. */
.massage{background:#f5eae5}
.massage-layout{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:10%}
.massage-copy .intro{margin-top:23px}
.massage-copy>p:not(.intro):not(.eyebrow){color:var(--muted)}
.massage-copy .button{margin-top:26px}
.massage-image{position:relative;padding:clamp(12px,2vw,23px);border:1px solid #edddd7;border-radius:20px;background:rgba(255,253,251,.85)}
.massage-image img{width:100%;aspect-ratio:3/2;object-fit:cover;object-position:center;background:#e8dcd5;border-radius:13px}
.massage-image.image-failed>.image-fallback{inset:clamp(12px,2vw,23px);border-radius:13px}
.workshop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:47px}
.workshop{padding:29px;border-radius:12px;background:var(--paper-light);display:flex;flex-direction:column;align-items:flex-start}
.workshop-number{display:flex;gap:10px;align-items:baseline;margin-bottom:18px;color:var(--rose)}
.workshop-number strong{font-family:var(--serif);font-weight:400;font-size:2.7rem;line-height:1.2}
.workshop-number span{font-size:.87rem}
.workshop h3{margin-bottom:10px;font-size:1.25rem}
.workshop p{color:var(--muted);font-size:.94rem;flex-grow:1}
.workshop-detail{font-size:.82rem;display:block;margin-top:22px}
.workshop>a{margin-top:12px;display:inline-flex;align-items:center;min-height:44px;font-size:.92rem;font-weight:500;text-decoration:underline;text-underline-offset:6px;text-decoration-color:#bfa29a}
.mothers{display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:10%;background:#efe0d9;color:var(--ink);padding:52px 58px;margin-block:86px 0;border-radius:18px;border:1px solid #e6d2c9}
.mothers .eyebrow{margin-bottom:12px;color:#82423f}
.mothers h2{font-size:clamp(2rem,3vw,2.7rem)}
.mothers h2 span{color:#8e4542}
.mothers>div>p:not(.eyebrow){color:#57454a}
.mothers .text-link{margin-top:20px;color:#763634;text-decoration-color:#b88c80}
.mothers :focus-visible{outline-color:#763634}

/* Real testimonials, native accessible FAQ. */
.section-title{max-width:660px;margin-inline:auto;text-align:center}
.section-title>p:last-child{color:var(--muted);margin-top:18px}
.quote-grid{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;gap:22px;margin-top:44px}
.quote{position:relative;padding:clamp(30px,3.4vw,46px);background:linear-gradient(155deg,#fffaf7,#f3e6e1);border:1px solid #ead7d0;border-radius:18px;display:flex;flex-direction:column;box-shadow:0 12px 35px rgba(65,47,52,.04);transition:transform .3s cubic-bezier(.22,.7,.25,1),box-shadow .3s,border-color .3s}
.quote:nth-child(2){background:linear-gradient(155deg,#fdf5f2,#f1dedb)}
.quote blockquote{flex-grow:1}
.quote blockquote p{font-family:var(--serif);font-size:clamp(1.07rem,1.55vw,1.25rem);line-height:1.9;letter-spacing:-.02em}
.quote blockquote p:first-child{font-size:clamp(1.2rem,1.75vw,1.4rem);font-weight:600;color:var(--ink)}
.quote blockquote p+p{margin-top:.68em}
.quote figcaption{margin-top:28px;padding-top:16px;border-top:1px solid #e2cac2;font-size:.91rem;font-weight:600;color:#803f3d}
.quote-note{font-size:.82rem;color:var(--muted);text-align:center;margin-top:24px}
.faq{background:#f1e9e3}
.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:11%}
.faq-layout>div:first-child>p:not(.eyebrow){margin-top:24px;color:var(--muted)}
.faq-layout .text-link{margin-top:17px}
.faq-list details{border-bottom:1px solid #cfbdb3}
.faq-list details:first-child{border-top:1px solid #cfbdb3}
.faq-list summary{list-style:none;display:flex;gap:24px;justify-content:space-between;align-items:center;min-height:76px;padding-block:18px;font-weight:500;font-size:1.03rem}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary .icon{width:19px;height:19px;color:var(--rose);transition:transform .2s}
.faq-list details[open] summary .icon{transform:rotate(45deg)}
.faq-list details>p{margin:0;padding:0 0 22px 28px;color:var(--muted);font-size:.95rem}

/* WhatsApp draft only. No form backend or remote scripts. */
.contact{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start}
.contact-copy .intro{margin-top:25px}
.contact-links{display:flex;flex-direction:column;align-items:flex-start;gap:14px;margin-top:30px}
.contact-links>a,.contact-links>span{display:inline-flex;align-items:center;gap:15px;min-height:44px}
.contact-links>a{font-size:1.02rem;max-width:100%;overflow-wrap:anywhere}
.contact-links>span{font-size:.9rem;color:var(--muted)}
.contact-links small{display:block;font-size:.8rem;color:var(--muted)}
.contact-links .icon{width:21px;height:21px;color:var(--rose)}
.contact-links a>span>span{display:block;font-size:1.25rem}
.contact-card{background:#f2e4de;padding:32px;border-radius:16px}
.contact-card .eyebrow{margin-bottom:8px}
.contact-card h3{font-family:var(--serif);letter-spacing:-.04em;font-size:1.8rem}
.contact-card>p:not(.eyebrow):not(.fine-print){font-size:.92rem;color:var(--muted);margin-top:10px}
.contact-card form{margin-top:24px}
.contact-card label{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-size:.9rem;margin:15px 0 6px}
.contact-card label>span{font-size:.77rem;color:var(--muted)}
.contact-card input,.contact-card select,.contact-card textarea{display:block;width:100%;border:1px solid #9a7e72;border-radius:7px;color:var(--ink);background:var(--paper-light);padding:11px 13px;min-height:49px;line-height:1.5;font-size:1rem}
.contact-card textarea{resize:vertical;min-height:100px;max-height:320px}
.contact-card input::placeholder,.contact-card textarea::placeholder{color:#776561;opacity:1}
.contact-card select{padding-inline-end:30px}
.contact-card .button{width:100%;margin-top:23px}
.contact-card .fine-print{margin-top:18px;font-size:.79rem}
.form-status{margin-top:10px;font-size:.85rem}
.form-status:empty{display:none}
.form-status a{text-decoration:underline;text-underline-offset:4px}
.site-footer{border-top:1px solid var(--line);background:#ece1d9}
.footer-main{display:grid;grid-template-columns:1.35fr .8fr 1fr;gap:40px;padding-block:48px 38px}
.footer-main>div>p{margin-top:15px;font-size:.86rem;color:var(--muted)}
.footer-main nav,.footer-contact{display:flex;flex-direction:column;align-items:flex-start;gap:3px}
.footer-main nav a,.footer-contact>a{min-height:44px;display:inline-flex;align-items:center;gap:8px;font-size:.87rem}
.footer-contact .icon{width:18px;height:18px}
.footer-contact>span{font-size:.82rem;color:var(--muted);margin-top:9px}
.footer-contact a{overflow-wrap:anywhere;max-width:100%}
.footer-bottom{border-top:1px solid #cdb8ad;padding-block:18px;display:flex;justify-content:space-between;align-items:center;gap:20px;color:var(--muted);font-size:.77rem}
.footer-bottom>div{display:flex;gap:22px}
.footer-bottom a{min-height:44px;display:inline-flex;align-items:center}
.mobile-contact{display:none}
.legal-page{max-width:800px;padding-block:70px 95px}
.legal-page h1{font-size:clamp(2.3rem,5vw,3.4rem);margin-bottom:26px}
.legal-page h2{font-family:var(--sans);font-size:1.5rem;letter-spacing:0;margin:34px 0 12px}
.legal-page p,.legal-page li{color:var(--muted)}
.legal-page a:not(.button){text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.legal-page .updated{font-size:.85rem}
.legal-page>.text-link{margin-top:35px}
.legal-page ul{padding-inline-start:22px}
.legal-page li{margin-bottom:12px}
.error-page{text-align:center;padding-block:85px 120px}
.error-page .button{margin-top:28px}

/* Touch users do not receive sticky hover animation. */
@media(hover:hover) and (pointer:fine){
 .button-primary:hover{background:#7e3e3c;box-shadow:0 7px 20px rgba(100,50,46,.14);transform:translateY(-2px)}
 .header-contact:hover{background:var(--rose);color:white}
 .section-link:hover{background:#f2e6df}
 .hero-next:hover{border-color:#bc9c90;transform:translateY(-2px)}
 .services-strip>a:hover{background:#efe0d8;transform:translateY(-3px)}
 .text-link:hover,.workshop>a:hover,.contact-links>a:hover{color:var(--rose)}
 .mothers .text-link:hover{color:var(--ink)}
 .quote:hover{transform:translateY(-4px);box-shadow:0 18px 42px rgba(65,47,52,.09);border-color:#dcbfb6}
 .footer-main nav a:hover,.footer-contact a:hover,.footer-bottom a:hover{text-decoration:underline;text-underline-offset:4px}
}
@media(max-width:1100px){
 .wrap{width:calc(100% - 64px)} .nav-scroller{padding-inline:30px}
 .hero{min-height:525px} .hero-lead{font-size:1.16rem}
 .hero-actions{gap:19px} .hero-actions .button{min-width:140px;padding-inline:22px}
 .birth-layout,.support-tools{grid-template-columns:.85fr 1.15fr;gap:6%}
 .journey{grid-template-columns:minmax(0,1fr);gap:13px}
 .journey li{display:flex;gap:19px;padding:22px} .step-number{flex:0 0 23px;margin:3px 0 0}
 .about{column-gap:5%} .contact,.faq-layout{gap:7%} .workshop{padding:24px} .footer-main{gap:25px}
}
/* One-tap adjacent-section controls on the right, with optional direct jump. */
@media(max-width:900px){
 :root{--header-height:174px}
 .section-nav{position:relative}
 .section-nav .nav-scroller{display:none}
 .mobile-section-navigation{display:block}
 .mobile-section-stepper{max-width:1200px;margin-inline:auto;display:flex;align-items:stretch;gap:13px;padding:7px 18px}
 .mobile-step-actions{flex:0 0 46px;display:flex;flex-direction:column;gap:4px}
 .mobile-step-actions button{height:40px;min-width:46px;border:1px solid #d3b6aa;border-radius:7px;background:var(--paper-light);display:flex;align-items:center;justify-content:center;color:var(--rose);padding:3px;touch-action:manipulation;transition:background-color .2s}
 .mobile-step-actions button:disabled{opacity:.35;cursor:default}
 .mobile-step-actions svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
 .mobile-section-navigation details{flex:1;min-width:0}
 .mobile-section-navigation summary{position:relative;list-style:none;cursor:pointer;min-height:84px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:1px;padding:7px 13px;outline-offset:-3px;border-radius:7px}
 .mobile-section-navigation summary::-webkit-details-marker{display:none}
 .mobile-section-navigation summary::after{content:"";position:absolute;inset-inline-end:14px;top:33px;width:8px;height:8px;border-right:1.5px solid var(--rose);border-bottom:1.5px solid var(--rose);transform:rotate(45deg);transition:transform .18s}
 .mobile-section-navigation details[open] summary::after{transform:rotate(225deg)}
 .mobile-section-navigation details[open] summary{background:var(--rose-soft)}
 .mobile-section-navigation details:not([open]) .mobile-section-options{display:none}
 .mobile-section-label{color:var(--muted);font-size:.72rem;white-space:nowrap}
 #mobile-section-counter{color:#995d56;margin-inline-start:8px}
 .mobile-section-navigation strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;max-width:calc(100% - 24px);min-width:0;overflow:hidden;white-space:normal;line-height:1.45;font-size:.98rem;font-weight:500;color:var(--rose)}
 .mobile-section-options{position:absolute;top:100%;inset-inline:0;z-index:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:14px max(18px,calc((100vw - 700px)/2));background:var(--paper-light);border-bottom:1px solid var(--line);box-shadow:0 16px 28px rgba(65,47,52,.13);max-height:calc(100dvh - var(--header-height) - 12px);overflow-y:auto}
 .mobile-section-option{display:flex;align-items:center;justify-content:center;text-align:center;min-width:0;min-height:48px;padding:10px 8px;border:1px solid var(--line);border-radius:8px;background:var(--paper-light);font-size:.88rem;line-height:1.4}
 .mobile-section-option.is-active,.mobile-section-option[aria-current="location"]{border-color:#b88c80;background:var(--rose-soft);color:#7f3b39;font-weight:500}
 .mobile-section-option:focus-visible,.mobile-section-navigation summary:focus-visible,.mobile-step-actions button:focus-visible{outline:2px solid var(--rose);outline-offset:2px}
}
@media(max-width:850px){
 .hero{justify-content:center}
 .hero-copy{width:100%;max-width:940px}
 .hero::before{background-position:center center;background-size:clamp(350px,51vw,490px);opacity:.23}
 .header-caption{display:none} .hero h1{font-size:clamp(3rem,6.5vw,4.5rem)}
 .hero-description br,.desktop-break{display:none} .hero-actions{gap:12px}
 .portrait-note{padding:19px 22px} .portrait-note strong{font-size:1.02rem}
 .services-strip{gap:10px} .services-strip>a{padding:17px}
 .services-strip strong{font-size:1rem} .services-strip>a>span>span{font-size:.8rem}
 .massage-layout{gap:7%} .workshop-grid{gap:13px} .workshop{padding:22px}
 .mothers{padding:38px;gap:7%} .quote{padding:26px} .quote blockquote p{font-size:1.17rem}
 .contact-card{padding:25px} .footer-main{grid-template-columns:1fr 1fr}
 .footer-main>div:first-child{grid-column:1/-1}
}
/* Phone and foldable front screens. No minimum page width. */
@media(max-width:700px){
 .hero::before{background-position:center 52%;background-size:min(100%,430px);opacity:0.65;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 48%,transparent 68%);mask-image:linear-gradient(to bottom,#000 0%,#000 48%,transparent 68%)}
 .hero::after{background:rgba(252,248,244,.34)}
 :root{--header-height:166px} body{padding-bottom:calc(70px + env(safe-area-inset-bottom,0px))}
 .wrap{width:calc(100% - 40px)} .header-inner{min-height:68px;gap:10px}
 .brand>img{width:49px;height:49px} .brand strong{font-size:1.25rem}
 .brand>span>span{font-size:.65rem} .header-contact{display:none}
 .menu-toggle{display:inline-flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:44px;min-width:44px;height:44px;margin-inline-start:auto;background:transparent;border:1px solid #ba9e93;border-radius:8px;padding:10px}
 .menu-toggle span{display:block;height:1.5px;width:20px;background:var(--ink);transition:transform .2s}
 .menu-toggle[aria-expanded='true'] span:first-child{transform:translateY(3.75px) rotate(45deg)}
 .menu-toggle[aria-expanded='true'] span:last-child{transform:translateY(-3.75px) rotate(-45deg)}
 .mobile-section-stepper{gap:7px;padding-inline:12px}
 .mobile-section-navigation summary{padding-inline:10px}
 .section{padding-block:65px} h2{font-size:clamp(2rem,7.7vw,2.7rem)}
 .eyebrow{font-size:.82rem;margin-bottom:15px} .intro{font-size:1.09rem}
 .hero{min-height:500px;padding-block:49px 37px}
 .hero .eyebrow{margin-bottom:18px}
 .hero h1{font-size:clamp(2.55rem,9vw,3.6rem);line-height:1.31}
 .hero-lead{margin-top:21px;font-size:1.1rem;max-width:440px}
 .hero-description{font-size:.96rem;margin-top:13px;max-width:440px}
 .hero-actions{margin-top:22px;gap:20px} .hero-actions .button{min-width:146px}
 .hero-actions .text-link{font-size:.87rem} .hero-footnote{margin-top:17px;font-size:.79rem}
 .hero-next{margin-top:25px}
 .hero-visual{width:100%;max-width:480px;justify-self:center;border-radius:17px}
 .portrait-frame{min-height:0;aspect-ratio:1.2} .portrait-note{padding:19px 22px}
 .portrait-note strong{font-size:1.02rem} .portrait-note>span{font-size:.83rem}
 .services-strip{grid-template-columns:minmax(0,1fr);gap:9px}
 .services-strip>a{min-height:82px;padding:17px 21px;border-radius:9px}
 .services-strip strong{font-size:1.05rem} .services-strip>a>span>span{font-size:.83rem}
 .about{grid-template-columns:minmax(0,1fr);grid-template-areas:"heading" "visual" "copy";grid-template-rows:auto;gap:23px}
 .birth-layout,.support-tools,.massage-layout,.faq-layout,.contact{grid-template-columns:minmax(0,1fr);gap:29px}
 .about-introduction{padding-block:44px 49px}
 .about h2{font-size:clamp(2.2rem,8vw,3rem)}
 .about-copy{padding:0}
 .birth-intro{position:static} .birth-intro>p:not(.eyebrow){margin-top:19px}
 .period-label{margin-top:16px;font-size:.81rem} .birth-intro .text-link{margin-top:13px}
 .journey li{padding:23px 21px;gap:16px} .journey h3{font-size:1.23rem}
 .journey li>div>p:last-child{font-size:.93rem} .support-tools{margin-top:34px;padding-top:29px;gap:19px}
 .tool-list{gap:7px} .tool-list li{font-size:.81rem;padding:5px 10px}
 .philosophy h2{font-size:clamp(1.68rem,6.65vw,2.5rem)} .philosophy>p:not(.eyebrow){font-size:.95rem}
 .massage-copy .intro{margin-top:20px} .massage-copy .button{margin-top:23px}
 .massage-image{max-width:480px;width:100%;margin-inline:auto} .massage-image img{aspect-ratio:3/2;border-radius:12px}
 .workshop-grid{grid-template-columns:minmax(0,1fr);gap:14px;margin-top:32px}
 .workshop{padding:26px} .workshop-number{margin-bottom:14px}
 .workshop-number strong{font-size:2.4rem} .workshop-detail{margin-top:17px}
 .mothers{grid-template-columns:minmax(0,1fr);gap:23px;margin-top:58px;padding:31px 25px;border-radius:14px}
 .mothers h2{font-size:2rem} .quote-grid{grid-template-columns:minmax(0,1fr);gap:15px;margin-top:30px}
 .quote{padding:27px} .quote blockquote p{font-size:1.15rem} .quote figcaption{margin-top:19px}
 .quote-note{font-size:.8rem} .faq-layout{gap:28px}
 .faq-list summary{min-height:72px;font-size:.98rem;gap:15px} .faq-list details>p{padding-inline-end:7px}
 .contact-copy .intro{margin-top:20px} .contact-links{gap:13px;margin-top:25px}
 .contact-card{padding:26px 23px} .contact-card h3{font-size:1.7rem}
 .footer-main{gap:28px 20px;padding-block:35px 28px}
 .footer-main nav a,.footer-contact>a{font-size:.83rem}
 .footer-bottom{align-items:flex-start;flex-direction:column;gap:5px;padding-block:20px}
 .footer-bottom>div{gap:24px;flex-wrap:wrap}
 .mobile-contact{position:fixed;bottom:0;inset-inline:0;z-index:40;display:grid;grid-template-columns:.9fr 1.1fr;border-top:1px solid #d8c6bd;background:var(--paper-light);padding:9px max(12px,env(safe-area-inset-right,0px)) calc(9px + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px));gap:9px}
 .mobile-contact a{min-height:46px;padding:9px 6px;border-radius:7px;display:flex;align-items:center;justify-content:center;gap:7px;font-size:.8rem;font-weight:500;line-height:1.45;text-align:center}
 .mobile-contact a:first-child{border:1px solid #bc9c90;color:var(--ink)}
 .mobile-contact a:last-child{background:var(--rose);color:white}
 .mobile-contact .icon{width:18px;height:18px}
 .legal-page{padding-block:43px 65px} .legal-page h1{font-size:2.3rem} .error-page{padding-block:60px 80px}
}
@media(max-width:360px){
 .wrap{width:calc(100% - 32px)} .brand{gap:1px} .brand>img{width:39px;height:39px}
 .brand strong{font-size:1.1rem} .brand>span>span{font-size:.61rem} .header-inner{gap:7px}
 .hero h1{font-size:clamp(2.1rem,9.8vw,2.75rem)} .hero-actions{gap:9px 16px}
 .hero-actions .button{min-width:130px} .hero-actions .text-link{font-size:.84rem}
 .journey li{padding:20px 17px;gap:12px} .contact-card{padding:24px 18px}
 .contact-card h3{font-size:1.5rem} .quote,.workshop{padding:24px}
 .footer-main{grid-template-columns:minmax(0,1fr);gap:24px}
 .mobile-contact a{font-size:.73rem;gap:5px} .mobile-contact .icon{width:16px;height:16px}
}
@media(max-height:500px) and (orientation:landscape){
 .header-inner{min-height:58px} .brand>img{width:43px;height:43px}
 :root{--header-height:112px} .birth-intro{position:static}
}
/* Content is visible without JavaScript. Never gate reading on an animation. */
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
@media(forced-colors:active){
 .button,.section-link,.mobile-section-option,.mobile-step-actions button,.header-contact,.services-strip>a,.mobile-contact a{border:1px solid ButtonText}
 .section-link[aria-current="location"]{outline:2px solid Highlight;outline-offset:-3px}
}
@media print{
 .site-header,.site-footer,.mobile-contact,.hero-actions,.skip-link,.contact-card{display:none}
 body{padding:0;background:white;color:black} .wrap{width:100%} .section{padding-block:25px}
 .birth-intro{position:static} .hero,.about,.birth-layout,.massage-layout,.contact{gap:20px}
}
