@import url('/interaction-states.css');
:root { --cream:#f3ede1; --cream-soft:#e9e0d1; --ink:#1a1815; --ink-soft:#49443d; --ink-mute:#665f56; --accent:#7d2b2b; --accent-dark:#5c1e1e; --line:#d5cab9; }
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--ink);font-family:"Manrope",sans-serif;font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}body:before{background:var(--accent);content:"";display:block;height:4px;position:fixed;top:0;width:100%;z-index:50}a{color:inherit}img{display:block;max-width:100%}p,li{text-wrap:pretty}h1,h2,h3{text-wrap:balance}:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.display{font-family:"Fraunces",Georgia,serif;font-variation-settings:"opsz" 144,"SOFT" 50;font-weight:500;letter-spacing:-.025em;line-height:1.03}.container{margin:0 auto;max-width:1180px;padding-inline:2rem}.container-narrow{margin:0 auto;max-width:820px;padding-inline:2rem}.fine-print{color:var(--ink-mute);font-size:.82rem}
.site-header{align-items:center;background:color-mix(in srgb,var(--cream) 92%,transparent);border-bottom:1px solid transparent;display:flex;justify-content:space-between;padding:1.25rem max(2rem,calc((100vw - 1180px)/2));position:sticky;top:0;transition:border-color .2s ease,background .2s ease;z-index:30}.site-header.scrolled{border-color:var(--line);backdrop-filter:blur(12px)}.brand{align-items:center;display:inline-flex;font-family:"Fraunces",Georgia,serif;font-size:1.55rem;font-weight:600;gap:.08em;text-decoration:none}.brand-dot{color:var(--accent)}.nav-links{align-items:center;display:flex;gap:1.7rem}.nav-links a{font-size:.86rem;font-weight:600;text-decoration:none}.nav-links a:not(.nav-cta):hover,.nav-links a[aria-current=page]{color:var(--accent)}.nav-cta,.button{align-items:center;background:var(--ink);border:1px solid var(--ink);border-radius:999px;color:var(--cream);display:inline-flex;font-size:.87rem;font-weight:600;gap:.6rem;justify-content:center;padding:.78rem 1.25rem;text-decoration:none;transition:background .2s ease,border-color .2s ease,transform .2s ease}.button:hover,.nav-cta:hover{background:var(--accent);border-color:var(--accent);transform:translateY(-1px)}.button-light{background:var(--cream);border-color:var(--cream);color:var(--ink)}
.hero{min-height:78vh;padding:clamp(5rem,10vw,9rem) 0 clamp(5rem,9vw,8rem)}.hero-grid{align-items:end;display:grid;gap:4rem;grid-template-columns:minmax(0,1.65fr) minmax(270px,.6fr)}.hero h1{font-size:clamp(3.4rem,7.2vw,6rem);max-width:950px}.hero h1 em{color:var(--accent);font-weight:400}.hero-copy{border-top:1px solid var(--ink);padding-top:1.5rem}.hero-copy p{color:var(--ink-soft);font-size:1.03rem;margin-bottom:1.5rem}.availability{align-items:center;color:var(--ink-mute);display:flex;font-size:.78rem;font-weight:600;gap:.6rem;margin-top:1rem}.availability:before{background:#397247;border-radius:50%;content:"";height:8px;width:8px}
.page-hero{border-bottom:1px solid var(--line);padding:clamp(4.5rem,9vw,8rem) 0 clamp(3.5rem,6vw,6rem)}.page-hero h1{font-size:clamp(3.2rem,6.5vw,5.5rem);max-width:920px}.page-hero p{color:var(--ink-soft);font-size:clamp(1.05rem,2vw,1.25rem);margin-top:1.75rem;max-width:680px}.page-marker{color:var(--accent);display:block;font-size:.75rem;font-weight:700;letter-spacing:.14em;margin-bottom:1.5rem;text-transform:uppercase}
.section{padding:clamp(4.5rem,8vw,8rem) 0}.section-soft{background:var(--cream-soft)}.section-heading{display:grid;gap:2rem;grid-template-columns:1.2fr .8fr;margin-bottom:4rem}.section-heading h2{font-size:clamp(2.6rem,5vw,4.6rem)}.section-heading p{align-self:end;color:var(--ink-soft);max-width:520px}
.path-grid{border-bottom:1px solid var(--line);border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr}.path{padding:clamp(2.5rem,5vw,5rem)}.path:first-child{border-right:1px solid var(--line)}.path h2{font-size:clamp(2rem,3vw,3rem);margin-bottom:1rem}.path p{color:var(--ink-soft);max-width:52ch}.path .price-lead{color:var(--ink);font-family:"Fraunces",serif;font-size:1.5rem;margin:2rem 0 1.5rem}.text-link{color:var(--accent);display:inline-block;font-weight:700;margin-top:1.25rem;text-underline-offset:.25em}
.service-lines{border-top:1px solid var(--line)}.service-line{align-items:start;border-bottom:1px solid var(--line);display:grid;gap:2rem;grid-template-columns:.45fr 1.25fr .55fr;padding:2rem 0}.service-line h3{font-family:"Fraunces",serif;font-size:1.7rem;font-weight:500;line-height:1.15}.service-line p{color:var(--ink-soft)}.service-line .price{font-family:"Fraunces",serif;font-size:1.35rem;text-align:right}
.pricing-group+.pricing-group{margin-top:6rem}.pricing-intro{display:grid;gap:2rem;grid-template-columns:.8fr 1.2fr;margin-bottom:2.5rem}.pricing-intro h2{font-size:clamp(2.3rem,4vw,4rem)}.pricing-intro p{color:var(--ink-soft);max-width:620px}.price-list{border-top:1px solid var(--line)}.price-item{border-bottom:1px solid var(--line);display:grid;gap:2rem;grid-template-columns:1fr 1.35fr auto;padding:2rem 0}.price-item h3{font-family:"Fraunces",serif;font-size:1.55rem;font-weight:500}.price-item p{color:var(--ink-soft);max-width:55ch}.price-amount{font-family:"Fraunces",serif;font-size:1.6rem;white-space:nowrap}.price-note{color:var(--ink-mute);font-size:.78rem;margin-top:.25rem;text-align:right}.scope-note{background:var(--ink);color:var(--cream);display:grid;gap:2rem;grid-template-columns:.65fr 1.35fr;margin-top:3rem;padding:clamp(2rem,4vw,3.5rem)}.scope-note h3{font-size:1.55rem}.scope-note p{color:#c9c0b3}
.about-preview{align-items:center;display:grid;gap:clamp(3rem,7vw,7rem);grid-template-columns:.75fr 1.25fr}.about-preview img,.portrait{aspect-ratio:4/5;object-fit:cover;width:100%}.about-preview h2{font-size:clamp(2.6rem,5vw,4.8rem);margin-bottom:1.5rem}.about-preview p{color:var(--ink-soft);margin-bottom:1rem;max-width:62ch}.about-story{display:grid;gap:clamp(3rem,7vw,7rem);grid-template-columns:.75fr 1.25fr}.story-copy h2{font-size:clamp(2.5rem,4.5vw,4.4rem);margin-bottom:2rem}.story-copy p{color:var(--ink-soft);margin-bottom:1.25rem;max-width:65ch}.principles{border-top:1px solid var(--line);margin-top:3rem}.principle{border-bottom:1px solid var(--line);display:grid;gap:1.5rem;grid-template-columns:.5fr 1.5fr;padding:1.5rem 0}.principle strong{font-family:"Fraunces",serif;font-size:1.2rem}
.contact-grid{display:grid;gap:clamp(3rem,8vw,8rem);grid-template-columns:1.1fr .9fr}.contact-grid h1{font-size:clamp(3.2rem,6vw,5.5rem)}.contact-grid .lead{color:var(--ink-soft);font-size:1.15rem;margin:1.5rem 0 2rem;max-width:570px}.contact-options{border-top:1px solid var(--line);margin-top:3rem}.contact-option{border-bottom:1px solid var(--line);padding:1.5rem 0}.contact-option span{color:var(--ink-mute);display:block;font-size:.76rem;font-weight:700;letter-spacing:.1em;margin-bottom:.3rem;text-transform:uppercase}.contact-option a{font-family:"Fraunces",serif;font-size:1.45rem;text-underline-offset:.2em}.expect{background:var(--ink);color:var(--cream);padding:clamp(2rem,4vw,3.5rem)}.expect h2{font-size:2.2rem;margin-bottom:2rem}.expect ol{list-style:none}.expect li{border-top:1px solid #49443d;color:#d8cfc2;padding:1.15rem 0}.expect li strong{color:var(--cream);display:block;margin-bottom:.25rem}
.faq{border-top:1px solid var(--line);margin-top:5rem}.faq details{border-bottom:1px solid var(--line);padding:1.4rem 0}.faq summary{cursor:pointer;font-family:"Fraunces",serif;font-size:1.3rem;font-weight:500;list-style:none}.faq summary:after{content:"+";float:right;font-family:"Manrope",sans-serif}.faq details[open] summary:after{content:"−"}.faq details p{color:var(--ink-soft);margin-top:1rem;max-width:68ch}
.cta-band{background:var(--accent);color:var(--cream);padding:clamp(4rem,8vw,7rem) 0}.cta-band-inner{align-items:end;display:grid;gap:3rem;grid-template-columns:1.4fr .6fr}.cta-band h2{font-size:clamp(2.8rem,5.5vw,5rem)}.cta-band p{color:#eadfd3;margin-bottom:1.4rem}footer{background:var(--ink);color:#c9c0b3;font-size:.78rem;padding:2.5rem 0}.footer-inner{display:flex;flex-wrap:wrap;gap:1rem 2rem;justify-content:space-between}.footer-links{display:flex;flex-wrap:wrap;gap:1.25rem}.footer-links a{color:#d8cfc2;text-decoration:none}
@media(max-width:820px){.nav-cta{display:none}.nav-links{gap:1rem}.site-header{padding-inline:1.25rem}.container,.container-narrow{padding-inline:1.25rem}.hero{min-height:auto}.hero-grid,.section-heading,.pricing-intro,.scope-note,.about-preview,.about-story,.contact-grid,.cta-band-inner{grid-template-columns:1fr}.hero-grid{gap:2.5rem}.hero-copy{max-width:520px}.path-grid{grid-template-columns:1fr}.path:first-child{border-bottom:1px solid var(--line);border-right:0}.service-line{grid-template-columns:1fr;gap:.6rem}.service-line .price{text-align:left}.price-item{grid-template-columns:1fr;gap:.75rem}.price-note{text-align:left}.about-preview img,.portrait{aspect-ratio:5/4;object-position:center 22%}}
@media(max-width:480px){body{font-size:16px}.site-header{padding-inline:1rem}.brand{font-size:1.3rem}.nav-links{gap:.7rem}.nav-links a{font-size:.7rem}.hero h1{font-size:clamp(3rem,15vw,4.25rem)}.page-hero h1,.contact-grid h1{font-size:clamp(3rem,14vw,4rem)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
