.wrap{width:min(calc(100% - 4rem),1180px);margin-inline:auto}.section{padding-block:var(--space)}.narrow{max-width:780px}.reading{max-width:780px}.center{text-align:center}.soft{background:var(--surface)}.site-header{position:sticky;top:0;z-index:20;background:rgba(250,247,241,.97);border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;gap:1.6rem;min-height:6rem}.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;flex-shrink:0}.brand img{width:4.5rem;height:4rem;object-fit:contain}.brand strong{display:block;font-family:Cormorant,Georgia,serif;font-size:2rem;color:var(--wine);font-weight:600;line-height:1.1}.brand small{font-size:.84rem;display:block;line-height:1.5;letter-spacing:.02em}.header-inner nav{display:flex;gap:1.35rem;margin-left:auto}.header-inner nav a{font-size:1rem;font-weight:500;white-space:nowrap;text-decoration:none;padding:.75rem 0}.header-inner nav a:hover,.header-inner nav [aria-current]{color:var(--wine);text-decoration:underline;text-underline-offset:.5em}.header-cta{font-size:.94rem;width:12.56rem;flex-shrink:0;min-height:2.8rem;padding:.4rem .8rem;gap:.5rem;white-space:nowrap}.menu-toggle{display:none;background:none;border:1px solid var(--line);border-radius:.35rem;padding:.4rem .8rem;color:var(--ink)}
.hero{position:relative;min-height:660px;min-height:clamp(37rem,48vi,48rem);display:flex;align-items:center;isolation:isolate;background:#eae2d6}.hero picture{position:absolute;inset:0;z-index:-2}.hero picture img{width:100%;height:100%;object-fit:cover;object-position:center 40%}.hero::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(243,236,224,.94),rgba(243,236,224,.86) 32%,rgba(243,236,224,0) 67%)}.hero-content{padding-block:4rem}.hero h1{max-width:min(18ch,58%);hyphens:none;overflow-wrap:normal}.hero .lead{max-width:34ch}.hero .button{margin-top:.7rem}.intro-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:5rem}.prose p:last-child{margin-bottom:0}.leaf{width:6rem;height:6rem;object-fit:contain;margin:0 auto 1.5rem}.services{display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin-top:2.5rem}.service img{width:100%;aspect-ratio:1.5;object-fit:cover;border-radius:4rem .4rem .4rem .4rem}.service:nth-child(2) img{border-radius:.4rem 4rem .4rem .4rem}.service h3{font-size:clamp(1.9rem,2.6vi,2.6rem)}.service p{max-width:53ch}.split{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(2rem,5vi,5rem);align-items:center}.split>img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:7rem .5rem .5rem .5rem}.detail{border-top:1px solid var(--line)}.detail:nth-of-type(even) .split>img{order:2;border-radius:.5rem 7rem .5rem .5rem}.detail .prose p:nth-of-type(2),.detail .prose p:nth-of-type(3),.detail .prose p:nth-of-type(4){font-weight:500;color:var(--teal)}.steps{list-style:none;margin:2.5rem 0 0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:1.5rem}.steps li{background:var(--paper);border:1px solid var(--line);border-top:3px solid var(--wine);border-radius:.75rem;padding:1.25rem 1rem 1.4rem;box-shadow:0 .35rem 1rem rgba(71,54,40,.06)}.step-number{display:grid;place-items:center;width:3rem;height:3rem;background:var(--surface);border-radius:50%;font-family:Cormorant,Georgia,serif;font-size:1.9rem;font-weight:600;line-height:1;color:var(--wine)}.steps h3{font-family:Inter,Arial,sans-serif;hyphens:none;overflow-wrap:normal;font-size:var(--subheading);font-weight:600;line-height:1.4;margin:1rem 0}.steps p{font-size:var(--body);line-height:1.75;margin-bottom:0}.faq-layout{display:grid;grid-template-columns:1fr 1.5fr;gap:4rem}.questions details{border-bottom:1px solid var(--line)}.questions details:first-child{border-top:1px solid var(--line)}.questions summary{cursor:pointer;font-size:var(--body);font-weight:600;padding:1.35rem 2rem 1.35rem 0;position:relative;list-style:none;line-height:1.6}.questions summary::-webkit-details-marker{display:none}.questions summary::after{content:'+';position:absolute;right:.25rem;top:1.25rem;color:var(--wine);font-size:1.4rem}.questions details[open]>summary::after{content:'−'}.questions details>div{padding-bottom:.7rem}.questions details p{font-size:var(--body)}.testimonials h2{text-align:center}.testimonials>.wrap>.eyebrow{text-align:center}.stories{max-width:850px;margin:2rem auto 0}.story{margin:0 0 2rem}.story blockquote{margin:0;border-left:2px solid var(--wine);padding:0 0 0 2rem}.story blockquote p{font-size:var(--body)}.story figcaption{color:var(--wine);margin:1.5rem 0 0 2rem;font-weight:600;font-size:.9rem}.story-controls{display:flex;align-items:center;justify-content:center;gap:1.5rem}.story-controls button{border:1px solid var(--line);background:transparent;color:var(--wine);border-radius:50%;width:3rem;height:3rem}.story-controls button:hover{background:var(--paper)}.story-status{font-size:.85rem}.closing{text-align:center}.closing h2{color:var(--wine);max-width:64rem;margin-inline:auto;hyphens:none;overflow-wrap:normal}.closing p:not(.eyebrow){max-width:70ch;margin-inline:auto}.closing .button{margin-top:1rem}.page-intro{padding-block:clamp(3rem,7vi,6rem);max-width:1180px}.page-intro .lead{max-width:55ch}.about-hero{background:var(--surface) url("/assets/about-background.webp") 10% 100%/cover no-repeat;padding-block:clamp(3rem,4vi,4rem) 0}.about-hero .split>img{width:min(100%,28rem);max-height:none;aspect-ratio:2/3;object-fit:cover;object-position:center;border-radius:4.375rem;margin-bottom:calc(-1 * clamp(2rem,4vi,4rem));justify-self:end;position:relative;z-index:1}.reading h2:not(:first-child){margin-top:3.5rem}.reading h3{margin-top:2rem}.page-intro:has(+ .legal){max-width:780px;padding-block:clamp(2.5rem,5vi,4rem) clamp(1.75rem,3vi,2.5rem)}.page-intro:has(+ .legal) h1{font-size:clamp(2.8rem,calc(2rem + 2vi),4rem);margin-bottom:0}.legal{padding-bottom:var(--space);overflow-wrap:anywhere}.legal h2{font-size:clamp(1.8rem,calc(1.5rem + 1vi),2.5rem);margin-bottom:1rem;padding-top:1.5rem;border-top:1px solid var(--line)}.legal h2:first-child{margin-top:0;padding-top:0;border-top:0}.legal h2:not(:first-child){margin-top:2.5rem}.legal h3{font-family:Inter,Arial,sans-serif;font-size:clamp(1.2rem,calc(1.08rem + .35vi),1.4rem);font-weight:600;line-height:1.5;margin:1.75rem 0 .65rem}.legal h4{font-size:var(--body);font-weight:600;line-height:1.5;margin:1.25rem 0 .65rem}.legal p{font-size:var(--body)}.legal ul,.legal ol{padding-inline-start:1.5rem;margin-block:0 1.25rem}.legal li+li{margin-top:.35rem}.legal a{color:var(--wine)}.contact-intro{position:relative;padding-bottom:calc(clamp(3rem,6vi,6rem) + 2rem)}.contact-section{padding-top:var(--space)}.contact-panel{background:var(--surface);padding:clamp(1.5rem,4vi,3rem);border-radius:1.5rem}.contact-email{display:flex;align-items:center;gap:.7rem;font-size:clamp(1rem,1.5vi,1.25rem);color:var(--wine);font-weight:600;margin:1.5rem 0}.contact-email span{min-width:0;overflow-wrap:anywhere}.contact-email span:last-child{flex-shrink:0}.contact-email svg{width:1.6rem;height:1.6rem;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.contact-panel .small{font-size:var(--body)}.contact-panel dl{display:grid;grid-template-columns:auto 1fr;gap:.7rem 1.25rem;margin:1.5rem 0 0;border-top:1px solid var(--line);padding-top:1.25rem;align-items:baseline}.contact-panel dt{font-size:var(--eyebrow);text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.contact-panel dd{margin:0}.contact-aside{display:grid;grid-template-columns:3.5rem 1fr;align-items:center;gap:1.25rem;max-width:460px}.contact-aside .contact-leaf{width:3.5rem;height:auto;object-fit:contain}.contact-aside h3{font-family:Inter,Arial,sans-serif;font-size:var(--subheading);font-weight:600;line-height:1.5;margin:0 0 .75rem}.contact-aside p{margin:0}@media(max-width:700px){.contact-panel dl{grid-template-columns:1fr;gap:.3rem}.contact-panel dd+dt{margin-top:.7rem}.contact-aside{max-width:none}.contact-email{gap:.5rem}.contact-email svg{width:1.3rem;height:1.3rem}}
.site-footer{background:#ebe5da;padding-top:1.75rem;font-size:.85rem}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding-bottom:1.25rem}.footer-name{font-family:Cormorant,Georgia,serif;font-size:2rem;line-height:1.2;text-decoration:none;color:var(--wine)}.footer-top p{font-size:.85rem;line-height:1.6;margin:.35rem 0 0}.footer-top nav{display:flex;flex-wrap:wrap;gap:.4rem 1.3rem;align-content:center}.footer-top nav a{padding:.4rem 0;white-space:nowrap;text-decoration:none}.footer-top nav a:hover{text-decoration:underline}.footer-bottom{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid #d1c8ba;padding-block:.85rem;color:var(--muted);font-size:.75rem}
@media(max-width:1100px){.header-cta{display:none}.steps{grid-template-columns:repeat(3,1fr)}.intro-grid{gap:2.5rem}}
@media(max-width:999px){.header-inner{flex-wrap:wrap;gap:0;min-height:5.5rem;padding-block:.8rem}.menu-toggle:not([hidden]){display:block;margin-left:auto}.header-inner nav{width:100%;margin:1rem 0 0;gap:1.5rem}.js .header-inner nav{display:none}.js .header-inner nav.is-open{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--line);padding-top:.5rem}.js .header-inner nav.is-open a{padding:.75rem}.hero{min-height:38rem}.hero::after{background:linear-gradient(90deg,rgba(243,236,224,.95),rgba(243,236,224,.85) 35%,rgba(243,236,224,.1) 80%)}.intro-grid,.faq-layout{grid-template-columns:1fr;gap:2rem}.split{gap:2rem}.detail .split{align-items:start}.detail .split>img{position:sticky;top:7rem}}
@media(max-width:700px){html{scroll-padding-top:6rem}.wrap{width:calc(100% - 2.5rem)}.brand strong{font-size:1.7rem}.brand img{width:3.3rem;height:3.3rem}.brand small{font-size:.72rem}.hero{display:flex;flex-direction:column;min-height:0}.hero picture{position:relative;width:100%;height:clamp(13rem,58vi,17rem);z-index:0;order:0}.hero picture img{object-position:center 30%}.hero::after{display:none}.hero-content{padding-block:1.5rem 3rem}.hero h1{max-width:none;font-size:clamp(2.65rem,calc(1.6rem + 5vi),3.7rem)}.hero .lead{max-width:none}.hero .button{font-size:.86rem}.services,.split,.steps{grid-template-columns:1fr}.services{gap:3rem}.split>img{max-height:430px}.detail:nth-of-type(even) .split>img{order:0}.detail .split>img{position:static}.steps{gap:1.25rem}.steps li{display:grid;grid-template-columns:3rem 1fr;gap:0 1rem}.step-number{grid-row:1/3}.steps h3{margin:.7rem 0}.steps p{grid-column:2}.story blockquote{padding-left:1.1rem}.story figcaption{margin-left:1.1rem}.about-hero{background-image:url("/assets/about-background-mobile.webp");background-position:center}.about-hero .split>img{width:min(100%,24rem);max-height:none;aspect-ratio:2/3;border-radius:3rem;margin-bottom:-2rem;justify-self:center}.contact-aside{max-width:none}.footer-top{flex-direction:column;align-items:flex-start;gap:.8rem}.footer-top nav{max-width:none}.footer-bottom{flex-direction:column;gap:.3rem}.page-intro{padding-bottom:2.5rem}}
@media(min-width:1600px){.hero picture img{object-position:center 38%}}

/* About-page details echo the original symbols and chronological path. */
.values{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:2.5rem}.values>div{display:grid;grid-template-columns:3rem 1fr;align-items:start;gap:1.1rem}.value-icon{width:3rem;height:3rem;fill:none;stroke:var(--wine);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.values h3,.qualifications h3{font-family:Inter,Arial,sans-serif;font-size:var(--subheading);font-weight:600;line-height:1.5;hyphens:none;overflow-wrap:normal;margin:0 0 .5rem}.values p{margin:0}.qualifications{list-style:none;padding:0;margin:0}.qualifications li{position:relative;padding:0 0 1.5rem 2.5rem}.qualifications li::before{content:'';position:absolute;left:.1rem;top:.45rem;width:.8rem;height:.8rem;border-radius:50%;background:var(--wine)}.qualifications li:not(:last-child)::after{content:'';position:absolute;left:.45rem;top:1.2rem;bottom:-.5rem;width:1px;background:var(--wine)}.qualifications li:last-child{padding-bottom:0}.qualifications p{margin:0}.about-path{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,5vi,5rem);align-items:center}.about-path>div{min-width:0}@media(max-width:900px){.about-path{grid-template-columns:1fr;gap:2.5rem}}.personal-quote{margin:0;background:var(--paper);border-radius:1.5rem;padding:clamp(1.25rem,3vi,2.25rem);font-family:Cormorant,Georgia,serif;font-size:clamp(1.6rem,calc(1.2rem + .9vi),2.1rem);font-weight:600;line-height:1.35;color:var(--wine);text-align:center}.personal-quote::before{content:'“';display:block;font-size:5rem;line-height:.8;margin-bottom:.75rem}
@media(max-width:999px){.values{gap:1.5rem}.values>div{grid-template-columns:2.5rem 1fr;gap:.75rem}.value-icon{width:2.5rem;height:2.5rem}}
@media(max-width:700px){.values{grid-template-columns:1fr;gap:1.5rem}.about-hero .split{gap:2rem}}

@media(max-width:360px){.brand strong{font-size:1.4rem}.brand img{width:2.8rem;height:2.8rem}.brand small{font-size:.6rem}.brand{gap:.5rem}.menu-toggle{font-size:.85rem;padding:.4rem .5rem}}

.error-page{min-height:65vh;display:grid;align-items:center}.error-lotus{width:5rem;height:auto;margin:0 auto 2rem}.error-actions{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem 2rem;margin-top:2rem}h1,h2,h3{overflow-wrap:normal;hyphens:none}.legal h2,.legal h3{overflow-wrap:anywhere;hyphens:auto}

/* Layered transition from the original visual identity; decorative only. */
.hero-wave{position:absolute;inset:auto 0 -1px;width:100%;height:clamp(2.5rem,5vi,5rem);fill:var(--paper);pointer-events:none;z-index:1}
@media(max-width:700px){.hero-content{padding-bottom:5rem}.hero-wave{height:2.5rem}}

/* Preserve the established closing CTA typography. */
.closing h2{font-weight:500}

/* Keep reflective sections calm without excessive vertical spacing. */
.encounter,.testimonials,.closing{--space:clamp(2.75rem,5vi,5rem)}

.about-motivation{--space:clamp(2.5rem,4vi,4rem)}.about-motivation .reading>p:last-child{margin-bottom:0}

/* FAQ motifs from the original page, with native expandable answers. */
.faq-intro,.contact-intro{background:var(--paper) url('/assets/faq-background.webp') center bottom/cover no-repeat;padding-block:clamp(3rem,6vi,6rem)}.faq-intro h1,.contact-intro h1{font-size:clamp(2.8rem,calc(1.8rem + 2.6vi),4.5rem);max-width:17ch;hyphens:none;overflow-wrap:normal}.faq-intro .lead,.contact-intro .lead{max-width:43ch;width:50%;margin-bottom:0;font-size:var(--body)}.faq-list{background:var(--surface);--space:clamp(2.5rem,4vi,4rem)}.faq-questions{max-width:60rem}.faq-questions details,.faq-questions details:first-child{background:var(--paper);border:1px solid var(--line);border-radius:.6rem;margin-bottom:.75rem}.faq-questions details:last-child{margin-bottom:0}.faq-questions summary{font-size:var(--body);font-weight:600;color:var(--teal);line-height:1.55;padding:1.1rem 3.25rem 1.1rem 4rem}.faq-questions summary::before{content:'?';position:absolute;left:1.1rem;top:1.1rem;display:grid;place-items:center;width:1.7rem;height:1.7rem;border-radius:50%;background:var(--wine);color:white;font-size:1.1rem;font-weight:600;line-height:1}.faq-questions summary::after{right:1.1rem;top:1rem}.faq-questions details[open] summary{color:var(--wine)}.faq-questions details>div{padding:0 3.25rem 1.25rem 4rem}.faq-questions details p{font-size:var(--body)}.faq-questions details p:last-child{margin-bottom:0}
@media(max-width:700px){.faq-intro,.contact-intro{background-position:65% center;background-image:linear-gradient(rgba(250,247,241,.88),rgba(250,247,241,.88)),url('/assets/faq-background.webp')}.faq-intro .lead,.contact-intro .lead{width:100%;max-width:none}.faq-questions summary{padding:1rem 2.5rem 1rem 3rem}.faq-questions summary::before{left:.8rem;top:1.1rem;width:1.4rem;height:1.4rem;font-size:.95rem}.faq-questions summary::after{right:.8rem;top:.9rem}.faq-questions details>div{padding:0 1rem 1.1rem 1rem}}

/* Shared contact area: the left column can later host the form without a fixed height. */
.contact-layout{display:grid;grid-template-columns:1.15fr .85fr;border-radius:1.5rem;overflow:hidden;background:var(--surface)}.contact-layout .contact-panel{border-radius:0}.contact-layout .contact-panel h2{font-size:clamp(2.25rem,3vi,3.2rem);hyphens:none;overflow-wrap:normal}.contact-layout .contact-aside{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:1.5rem;max-width:none;background:#e6ded1;padding:clamp(1.5rem,4vi,3rem)}.contact-layout .contact-leaf{width:4.5rem}
@media(max-width:900px){.contact-layout{grid-template-columns:1fr}.contact-layout .contact-aside{display:grid;grid-template-columns:3.5rem 1fr;align-items:center}.contact-layout .contact-leaf{width:3.5rem}}
@media(max-width:500px){.contact-layout .contact-aside{gap:1rem}.contact-layout .contact-panel{padding:1.5rem}}

/* Preserve the contact link presentation for its reveal button and readable fallback. */
button.contact-email{width:100%;padding:0;border:0;background:transparent;text-align:left;line-height:inherit;text-decoration:underline;text-underline-offset:.25em}
.contact-email [data-email-text]{flex:1;min-width:0;overflow-wrap:anywhere}

@media(min-width:701px) and (max-width:1240px){.steps{grid-template-columns:repeat(3,1fr)}}

/* Decorative step symbols; connectors appear only in the five-column layout. */
.steps li{position:relative}.step-marker{position:relative;display:grid;place-items:center;width:3.25rem;height:3.25rem;background:var(--surface);border-radius:50%}.step-icon{width:1.8rem;height:1.8rem;fill:none;stroke:var(--wine);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.step-marker .step-number{position:absolute;right:-.4rem;bottom:-.1rem;width:1.4rem;height:1.4rem;font-family:Inter,Arial,sans-serif;font-size:.7rem;font-weight:600;background:var(--wine);color:var(--paper);border:2px solid var(--paper)}.step-connector{display:none;pointer-events:none}
@media(min-width:1241px){.step-connector{display:block;position:absolute;inset-inline-start:100%;top:50%;transform:translateY(-50%);width:1.5rem;height:1.5rem;fill:none;stroke:var(--wine);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}}
@media(max-width:700px){.step-marker{grid-row:1/3}.steps li{grid-template-columns:3.25rem 1fr}}

@media(min-width:701px){.step-marker{margin-inline:auto}}

/* Keep the longest single-word section title inside narrow phone screens. */
@media(max-width:360px){.testimonials h2{font-size:2.1rem}}

/* Give tablet prose a full reading column and retain the portrait overlap with breathing room. */
.about-hero + .section{padding-top:calc(var(--space) + clamp(2rem,4vi,4rem))}
@media(min-width:701px) and (max-width:900px){.section:not(.about-hero) .split{grid-template-columns:1fr}.section:not(.about-hero) .split>img{width:100%;max-height:24rem;aspect-ratio:16/9;object-position:center}.detail .split>img{position:static}.detail:nth-of-type(even) .split>img{order:0}.section:not(.about-hero) .split>img[src="/assets/notes.webp"]{object-position:center 80%}}
@media(max-width:700px){.about-hero .split>img{aspect-ratio:4/5;object-position:center 30%}.about-hero + .section{padding-top:calc(var(--space) + 2rem)}}

/* The enhanced mobile menu overlays the page without changing the header height. */
@media(max-width:999px){.js .header-inner nav.is-open{position:absolute;inset:100% 0 auto;width:100%;margin:0;padding:.5rem 2rem .75rem;background:var(--paper);border-block:1px solid var(--line);box-shadow:0 .65rem 1rem rgba(71,54,40,.12);max-height:calc(100vh - 5.5rem);max-height:calc(100dvh - 5.5rem);overflow-y:auto}}
@media(max-width:700px){.js .header-inner nav.is-open{padding-inline:1.25rem}}
