/* A quiet, open studio: ivory, forest, stone and the plum of Sharon's bird. */
:root{--paper:#f8f5ee;--ink:#303c35;--olive:#394f40;--sage:#e7e9de;--line:#cdd2c4;--muted:#5d665a;--gold:#765c79;--plum:#66516d}
body{background:var(--paper);font-family:Arial,Helvetica,sans-serif;line-height:1.8}
.wrap{width:min(1160px,calc(100% - 96px))}
h1,h2,h3{letter-spacing:-.035em}h1 em,h2 em{color:var(--plum)}
.section{padding-block:112px}.eyebrow{font-size:.875rem;letter-spacing:.13em;color:var(--plum)}
header{background:#f8f5eef5;border:0;box-shadow:none;min-height:96px}
header nav>a:not(.button){font-size:.9375rem}
.button{background:var(--olive);border-color:var(--olive);border-radius:30px;box-shadow:none;padding:16px 26px}
.button:hover{background:#283e30;transform:none}.button.small{padding:11px 21px}
.hero-introduction{padding-block:62px 92px;column-gap:90px;grid-template-columns:1.2fr .8fr}
.hero-introduction h1{font-size:clamp(3.1rem,4.5vw,4.55rem);max-width:14ch;line-height:1.12}
.hero-heading .eyebrow{color:var(--plum);font-size:.9375rem;letter-spacing:.025em}
.audience{color:var(--muted);font-size:.875rem;letter-spacing:.1em}
.hero-introduction .hero-portrait{width:100%;max-width:390px;position:relative;justify-self:end}
.hero-introduction .hero-portrait>img{border-radius:48% 48% 5px 5px;aspect-ratio:3/4;object-fit:cover;object-position:50% 35%;box-shadow:20px 22px 0 #e6e7da}
.intro-copy{font-size:1.125rem;line-height:1.75;max-width:45ch}
.hero-reassurance{font-size:1.0625rem;line-height:1.75}
.hero-actions .caption{font-size:.9375rem;max-width:34ch;line-height:1.6}
.quote-band{background:#e7e9df;padding-block:68px;border-radius:0 0 90px 0}
.quote-band .testimonial{padding:0 0 0 54px;max-width:850px;margin:auto}
.quote-mark{color:#806989;font-size:4.5rem}.quote-band .quote-mark{left:0}
.quote-band .testimonial blockquote{font-size:clamp(1.45rem,2.15vw,1.9rem);line-height:1.55}
.testimonial .attribution{color:var(--plum);font-size:.875rem}
.how-grid{grid-template-columns:1fr 1fr;gap:88px;align-items:start}
.section-intro h2{font-size:clamp(2.5rem,3.8vw,3.5rem)}
.section-intro p,.steps>p,.steps li p{font-size:1.0625rem;line-height:1.8}
.session-options{margin-top:35px;gap:28px}
.session-options article,.session-options article+article{background:none;border:0;border-top:1px solid var(--line);box-shadow:none;border-radius:0;padding:25px 0 0}
.session-options h3{font-size:1.6rem;color:var(--plum)}
.steps{background:none;border:0;border-radius:0;box-shadow:none;padding:0 0 0 38px;border-left:1px solid var(--line)}
.steps-title{font-size:2.1rem}.steps li{gap:20px;padding-block:27px}.steps li h3{font-size:1.6rem}
.step-no{background:none;color:var(--plum);width:auto;font:italic 1.4rem Georgia,serif;align-items:start;padding-top:4px}
.compassion-quote{padding-bottom:100px}
.compassion-quote .testimonial{max-width:900px;margin:auto;border-top:0;padding:32px 48px;border-left:2px solid #b6a5b9}
.compassion-quote .quote-mark{display:none}
.compassion-quote blockquote{font-size:1.65rem;line-height:1.6}
.approach{background:#354b3e;color:#faf8f1;border-radius:0 95px 0 0}
.approach .eyebrow,.approach h2 em{color:#d3c1d3}
.approach .section-heading{margin-bottom:65px}.approach h2{font-size:clamp(2.5rem,3.8vw,3.6rem)}
.principles{gap:44px 80px}
.principle{background:none;border:0;border-top:1px solid #728272;border-radius:0;box-shadow:none;padding:26px 0 0}
.principle .number{color:#d3c1d3;font:italic 1.2rem Georgia,serif}
.principle h3{font-size:1.85rem;line-height:1.25;margin:17px 0;color:#faf8f1}
.principle p{font-size:1.0625rem;line-height:1.8;color:#e3e8dc}
.single-quote{max-width:850px;text-align:center;padding-block:90px}
.single-quote .quote-mark{margin:0}.single-quote blockquote{font-size:1.85rem;line-height:1.55}
.about{background:#ede7e4;border-radius:95px 0 0 0}
.about-grid{gap:96px}.about h2{font-size:3.6rem}.about-purpose{max-width:34ch}
.about p:not(.eyebrow):not(.serif-line){font-size:1.0625rem;line-height:1.8}
.about-story{padding-top:60px}.about-story h3{font-size:2.35rem}.about .serif-line{color:var(--plum)}
.credentials{border-color:#cfc3ce}.credentials ul{font-size:1rem;line-height:1.8}
#sessions .section-heading{margin-bottom:48px}.pricing{gap:60px;border-block:1px solid var(--line)}
.pricing article,.pricing article:nth-child(2){background:none;box-shadow:none;border:0;border-radius:0;padding:38px 0}
.pricing article+article{border-left:1px solid var(--line);padding-left:60px}
.price{color:var(--plum)}.pricing h3{font-size:2rem}.pricing .text-link{font-weight:400;color:var(--plum)}
.affordability{max-width:65ch;margin-top:35px;text-align:left;margin-left:0}.early{text-align:left;margin-left:0;margin-top:22px}
.faq{padding-top:0;border:0}.faq-grid{grid-template-columns:.8fr 1.2fr;gap:80px}
.contact{background:#e6e9df;color:var(--ink);border-radius:90px 0 0 0}
.contact .eyebrow{color:var(--plum)}.contact h2{font-size:clamp(2.75rem,4.5vw,4.3rem)}.contact h2 em{color:var(--plum)}
.contact .privacy{color:var(--muted)}.contact-grid{gap:80px}
.contact-panel{padding:36px;background:#faf8f2;border:1px solid #d4d8cc;border-radius:5px;box-shadow:none}
input,select,textarea{background:#fffdf8;border-color:#b5bdae;border-radius:3px}
.availability-day{background:transparent}.time-choice:has(input:checked){background:#e1e6d8}
footer{background:#f8f5ee}.footer-grid{padding-top:65px}.cert img{max-width:125px}
.early-hero{padding-block:64px 90px}.early-grid{gap:90px}.early-hero h1{font-size:clamp(2.8rem,4.2vw,4rem)}
.hero-visual img{box-shadow:18px 20px 0 #e6e7da}.hero-note{margin-top:30px}
.soft{background:#e7e9df}.cards{gap:45px}.card{border-color:#bfc8b8}.cta{background:#ede7e4}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.hero-introduction{column-gap:55px}.how-grid,.about-grid,.contact-grid,.early-grid{gap:48px}.steps{padding-left:25px}.principles{column-gap:45px}.contact-panel{padding:28px}}
@media(max-width:850px){
.hero-introduction{grid-template-columns:1fr;padding-top:35px;padding-bottom:64px}
.hero-introduction h1{max-width:17ch;font-size:clamp(2.8rem,7vw,4rem)}
.hero-introduction .hero-portrait{grid-column:1;grid-row:2;width:65%;max-width:270px;justify-self:center;margin:30px auto 8px}
.hero-introduction .hero-portrait>img{aspect-ratio:4/4.6;box-shadow:12px 14px 0 #e6e7da}
.hero-introduction .intro-copy{grid-row:3}.hero-reassurance{grid-row:4}.hero-introduction .hero-actions{grid-row:5}
.how-grid,.about-grid,.contact-grid,.early-grid{grid-template-columns:1fr;gap:48px}
.steps{border-left:0;padding:0;border-top:1px solid var(--line);padding-top:34px}
.about-story{padding-top:0}.about-purpose{max-width:55ch}.section{padding-block:76px}
.compassion-quote{padding-bottom:76px}.faq{padding-top:0}.principles{gap:35px}.pricing{gap:32px}.pricing article+article{padding-left:32px}
.early-grid .hero-visual{max-width:300px}.contact h2{max-width:16ch}
}
@media(max-width:600px){
.wrap{width:calc(100% - 44px)}header{min-height:92px}
.hero-introduction h1{font-size:clamp(2.4rem,9.5vw,3.3rem);line-height:1.15}
.hero-heading .eyebrow{font-size:.9375rem}.hero-introduction .hero-portrait{max-width:225px;margin-top:28px}
.intro-copy,.hero-reassurance,.section-intro p,.steps>p,.steps li p,.principle p,.about p:not(.eyebrow):not(.serif-line){font-size:1.125rem;line-height:1.8}
.quote-band{padding-block:48px;border-radius:0 0 50px 0}.quote-band .testimonial{padding:0}.quote-band .quote-mark{position:static}
.section{padding-block:64px}.section-intro h2,.about h2,.approach h2{font-size:2.65rem}
.principles{grid-template-columns:1fr;gap:30px}.principle{padding-top:24px}.principle h3{font-size:1.8rem}
.approach{border-radius:0 50px 0 0}.approach .section-heading{margin-bottom:38px}
.compassion-quote{padding-bottom:64px}.compassion-quote .testimonial{padding:8px 0 8px 23px}.compassion-quote blockquote,.single-quote blockquote{font-size:1.45rem}
.single-quote{padding-block:64px}.about{border-radius:50px 0 0 0}.about-grid{gap:40px}.about-story h3{font-size:2rem}
.pricing{grid-template-columns:1fr;gap:0}.pricing article,.pricing article+article{padding:30px 0;border:0}.pricing article+article{border-top:1px solid var(--line)}
.faq{padding-top:0}.faq-grid{grid-template-columns:1fr;gap:24px}
.contact{border-radius:50px 0 0 0}.contact h2{font-size:2.8rem}.contact-grid{gap:34px}.contact-panel{padding:26px 20px}
.credentials ul{font-size:1.0625rem}.early-grid{gap:42px}
}
/* Natural light, quieter contours, and readable mobile rhythm. */
main{isolation:isolate}
.hero-introduction{position:relative}
.hero-introduction:before{content:"";position:absolute;inset:0 calc((min(1160px,100vw - 96px) - 100vw)/2);z-index:-1;background:linear-gradient(90deg,#f8f5eef0 0%,#f8f5eec9 48%,#f8f5ee33 100%),url('/assets/botanical-light.jpg') center/cover no-repeat;opacity:.75;pointer-events:none}
.hero-introduction .hero-portrait>img{box-shadow:14px 18px 0 #dce1d1;border:6px solid #faf8f1}
.hero-introduction .hero-actions{padding-bottom:6px}
.quote-band{border-radius:0 0 120px 0;background:#e3e7db}
.approach{border-radius:0 120px 0 0}
.about{background:#eee8e2}
.about-purpose{color:#4e594f}
.contact-panel{border-radius:20px 20px 5px 5px}
.contact{background:linear-gradient(130deg,#e7e9df,#dce3d4)}
.pricing .price span{display:block;margin-top:8px;line-height:1.6}
header .logo-brand{flex-shrink:1;min-width:0}
nav.open{max-height:calc(100dvh - 96px);overflow-y:auto}
.hero-introduction>*,.how-grid>*,.about-grid>*,.contact-grid>*,.early-grid>*,.fields>*{min-width:0}
@media(min-width:851px) and (max-width:1050px){header nav{gap:10px}header nav>a{font-size:.875rem}header .logo-brand{width:165px}header .button.small{padding-inline:14px}}
@media(max-width:850px){
.hero-introduction:before{inset:0 -32px;background-position:70% top;background-size:auto 650px;opacity:.55}
.hero-introduction .hero-heading,.hero-introduction .intro-copy,.hero-reassurance,.hero-actions{position:relative;z-index:1}
.hero-introduction .hero-portrait>img{border-width:4px;box-shadow:10px 12px 0 #dce1d1}
.hero-reassurance{max-width:50ch}
}
@media(max-width:600px){
.hero-introduction:before{inset:0 -22px;background-size:auto 540px;background-position:70% top}
.hero-introduction{padding-top:25px;padding-bottom:48px}
.hero-heading .eyebrow{margin-bottom:18px}
.hero-introduction .hero-portrait{width:57%;max-width:220px;margin-top:25px}
.hero-introduction .intro-copy{margin-top:26px}
.hero-reassurance{margin-top:18px}
.hero-actions .button{max-width:100%;padding-inline:22px}
.hero-actions .caption{font-size:.9375rem}
.quote-band,.approach{border-radius:0 0 55px 0}.approach{border-radius:0 55px 0 0}
.contact-panel{padding:26px 18px}.contact-panel .button{padding:15px 12px}
}
@media(max-width:360px){
header{padding-inline:12px;gap:6px}header .logo-brand{width:170px}.menu-toggle{padding-inline:4px}
.hero-introduction h1{font-size:2.35rem}.wrap{width:calc(100% - 36px)}
.hero-introduction:before{inset-inline:-18px}
}

@media(min-width:851px) and (max-width:1100px){.hero-introduction:before{inset-inline:-32px}}
