:root{color-scheme:light;--paper:#f8f5ed;--ink:#293329;--muted:#566053;--forest:#253c2e;--line:#cfcfc1;--sage:#e9eddf;--sand:#eee4d2;--rust:#86533c;--serif:Georgia,"Times New Roman",serif;--sans:system-ui,-apple-system,"Segoe UI",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.6}a{color:inherit}img{display:block;max-width:100%;height:auto}button,input,select,textarea{font:inherit}button{cursor:pointer}button[hidden],[hidden]{display:none!important}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--rust);outline-offset:4px}
.wrap{width:min(1160px,calc(100% - 72px));margin-inline:auto}.skip{position:absolute;top:10px;left:10px;transform:translateY(-150%);z-index:5;padding:8px 12px;background:white}.skip:focus{transform:none}.header{border-bottom:1px solid var(--line)}.header-inner,.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:88px}.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--forest);flex-shrink:0}.brand-logo{width:clamp(58px,8vw,74px);height:auto;flex:none;border-radius:4px}.brand-name{font:700 .6875rem/1.45 var(--sans);letter-spacing:.085em;text-transform:uppercase}.header nav{display:flex;align-items:center;gap:clamp(16px,3vw,38px);flex-wrap:wrap}.header nav a{font-size:.91rem;text-decoration:none;padding:8px 0;border-bottom:2px solid transparent}.header nav a:hover,.header nav [aria-current]{border-bottom-color:var(--rust)}.menu-toggle{padding:8px 13px;border:1px solid var(--line);background:transparent;color:var(--ink)}
h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.05;letter-spacing:-.04em}h1{font-size:clamp(3.4rem,8vw,7.6rem)}h2{font-size:clamp(2.2rem,5vw,4rem)}h3{font-size:clamp(1.45rem,2.8vw,2rem);line-height:1.15}em{font-weight:400;color:var(--rust)}.eyebrow,.number,figcaption{font-size:.72rem;letter-spacing:.16em;font-weight:700;color:var(--muted)}.eyebrow{display:flex;align-items:center;gap:9px}.eyebrow span{width:7px;height:7px;background:var(--rust);border-radius:50%}.intro{font-size:clamp(1.05rem,2.4vw,1.28rem);line-height:1.55;color:var(--muted);max-width:34em}.hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(25px,6vw,80px);padding-block:52px 47px}.hero-copy h1,.page-hero h1{margin:16px 0 20px}.hero-art img{width:100%;aspect-ratio:1;object-fit:cover}.hero-art figcaption{margin-top:10px}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:15px 22px;margin-top:28px}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:48px;padding:10px 17px;background:var(--forest);color:white;border:1px solid var(--forest);border-radius:2px;text-decoration:none;font-weight:600;font-size:.94rem}.button:hover{background:#3e5845}.text-link{display:inline-block;text-underline-offset:4px;font-weight:650;font-size:.93rem;padding-block:5px}.text-link:hover{color:var(--rust)}
.band{background:var(--sage);border-block:1px solid var(--line)}.band-inner{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 32px;padding-block:16px}.band-inner span{font-size:.83rem;color:var(--muted)}.band-inner b{margin-left:8px;color:var(--ink);font-weight:600}.section{padding-block:clamp(36px,6vw,80px)}.section-head{max-width:630px;margin-bottom:27px}.section-head h2,.split h2{margin-block:9px 13px}.section-head p:last-child,.reading,.tiles p,.contact-grid p,.faq p{color:var(--muted)}.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.tiles article{border-top:1px solid var(--line);padding:18px 12px 6px 0;display:flex;flex-direction:column;align-items:flex-start}.tiles h3{margin:11px 0}.tiles p{margin-bottom:12px}.tiles .text-link{margin-top:auto}.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(22px,6vw,80px);align-items:start}.bio{border-block:1px solid var(--line)}.bio .text-link{margin-top:12px}.faq{max-width:760px}.faq details{border-top:1px solid var(--line);padding:12px 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;font-weight:650;min-height:30px}.faq p{padding:5px 16px 8px}.invitation{background:var(--sand);padding:clamp(24px,6vw,70px)}.invitation h2{margin:12px 0 22px}.footer{border-top:1px solid var(--line)}.footer-inner{padding-block:24px;flex-wrap:wrap}.footer-inner>a:not(.brand),.footer-inner>span{font-size:.85rem;color:var(--muted)}
.page-hero{padding-block:clamp(38px,8vw,94px) 35px}.page-hero h1{font-size:clamp(3.25rem,7vw,6.3rem)}.portrait-panel{min-height:245px;display:grid;place-items:center;background:var(--sage);color:var(--forest);font:clamp(4rem,11vw,8rem)/1 var(--serif);letter-spacing:-.11em}.reading p+p{margin-top:14px}.service{border-top:1px solid var(--line);padding-block:32px;scroll-margin-top:15px}.service .text-link{margin-top:13px}.contact-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(22px,7vw,80px);padding-top:12px}.contact-grid h2{margin-bottom:14px}.enquiry{background:var(--sage);padding:clamp(18px,4vw,34px);display:grid;gap:10px}.enquiry label{display:block;font-weight:650;font-size:.91rem}.enquiry input,.enquiry textarea,.enquiry select{width:100%;padding:10px;background:#fffdf7;color:var(--ink);border:1px solid #969f91;border-radius:2px}.enquiry textarea{resize:vertical}.enquiry .button{justify-self:start}.privacy{border-top:1px solid var(--line);margin-top:24px;padding-top:14px}.privacy h3{margin-bottom:7px}
@media(max-width:720px){.wrap{width:calc(100% - 36px)}.header-inner{flex-wrap:wrap;min-height:72px;gap:0 12px;padding-block:12px}.header nav{width:100%;gap:4px 17px;padding-top:10px}.header nav a{padding:9px 0}.hero,.split,.contact-grid{grid-template-columns:1fr}.hero{padding-block:32px}.hero-copy h1{margin-bottom:15px}.hero-art img{aspect-ratio:5/4;object-position:center 56%}.tiles{grid-template-columns:1fr;gap:17px}.tiles article{padding-right:0}.band-inner{gap:7px 16px}.footer-inner{justify-content:flex-start}.portrait-panel{min-height:180px}.service{gap:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.hero-copy h1{font-size:clamp(3.4rem,6vw,5.4rem)}
.footer-links{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:.85rem;color:var(--muted);text-underline-offset:4px}
.profile-hero{align-items:center}
.profile-photo{justify-self:center;width:min(100%,320px);padding:10px;background:var(--sand)}
.profile-photo img{width:100%;height:auto}
.prenatal-art{max-width:420px;justify-self:center}
.prenatal-art img{width:100%;max-height:520px;object-fit:cover;object-position:center 45%}
.contact-actions{margin-top:18px}
.credentials article{padding-bottom:15px}

.testimonial-groups{display:grid;gap:clamp(28px,5vw,52px)}
.testimonial-group{display:grid;gap:10px;scroll-margin-top:18px}
.testimonial-group h2{font-size:clamp(1.85rem,4vw,2.8rem);margin-bottom:5px}
.testimonial{border:1px solid var(--line);background:var(--paper)}
.testimonial summary{cursor:pointer;padding:14px 18px}
.testimonial summary::marker{color:var(--rust)}
.testimonial-title,.testimonial-byline{display:block;padding-left:20px}
.testimonial-title{color:var(--forest);font-family:var(--serif);font-size:1.35rem;line-height:1.25}
.testimonial-byline{margin-top:3px;font-size:.9rem;color:var(--muted)}
.testimonial-body{border-left:3px solid var(--rust);margin:0 18px 16px;padding:12px 16px;background:var(--sage)}
.testimonial-body p{max-width:70ch}
