@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=DM+Sans:wght@400;450;500;600&family=Oooh+Baby&display=swap');
:root { --paper:#faf9f5; --ink:#303a33; --sage:#68755d; --line:#d9dcd1; --soft:#e8eadf; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:30px; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:'DM Sans',sans-serif; font-size:15px; line-height:1.7; }
a { color:inherit; text-decoration:none; }
a:focus-visible { outline:2px solid var(--sage); outline-offset:6px; }
svg { fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.svg-defs { position:absolute; width:0; height:0; overflow:hidden; }
.header { max-width:1440px; padding:24px 5%; margin:auto; display:flex; align-items:center; justify-content:space-between; gap:30px; }
.brand { display:flex; gap:12px; align-items:center; }
.brand svg { width:63px; height:63px; color:#66705a; }
.brand .brand-emblem { width:70px; height:70px; object-fit:contain; }
.contact aside>.brand-emblem { width:104px; height:104px; object-fit:contain; }
.brand>span { font-family:'Cormorant Garamond',serif; font-size:28px; font-weight:500; letter-spacing:.6px; line-height:1.1; }
.brand small { display:block; font-family:'DM Sans',sans-serif; font-size:8px; letter-spacing:2.6px; margin-top:9px; }
nav { display:flex; gap:32px; font-size:13px; }
nav a:hover,.contact-email:hover { color:var(--sage); }
.header-phone { font-size:15px; letter-spacing:1px; border-bottom:1px solid var(--line); padding:8px 0; }
.header-phone>span { margin-left:10px; }
.hero { max-width:1440px; margin:auto; display:grid; grid-template-columns:46% 54%; min-height:640px; }
.hero-copy { padding:66px 25px 56px 11%; position:relative; }
.eyebrow { font-size:10px; font-weight:500; letter-spacing:2.7px; margin:0 0 22px; }
h1,h2,h3,p { margin-top:0; }
h1,h2,.service-columns h3 { font-family:'Cormorant Garamond',serif; font-weight:400; }
h1 { font-size:clamp(64px,6.3vw,92px); line-height:.98; letter-spacing:-2.3px; margin-bottom:12px; }
em { font-weight:400; color:var(--sage); }
.script { font-family:'Oooh Baby',cursive; font-weight:400; }
.hero-copy>.script { font-size:34px; color:var(--sage); margin:6px 0 23px; }
.intro { color:#6a7069; font-size:14px; line-height:1.9; margin-bottom:28px; }
.button { display:inline-flex; align-items:center; gap:48px; background:var(--sage); color:white; padding:14px 22px; font-size:12px; }
.button:hover { background:#5d6953; }
.button span { font-size:20px; }
.hero-location { display:flex; align-items:center; gap:13px; margin-top:35px; font-size:11px; color:#6c7467; }
.hero-location>span { font-size:23px; line-height:1; }
.hero-location b { font-weight:400; }
.hero-picture { position:relative; overflow:hidden; background:#e5e3da; }
.hero-picture>img { width:100%; height:100%; object-fit:cover; position:absolute; }


.photo-caption { position:absolute; bottom:25px; right:25px; background:#faf9f1e8; padding:10px 18px; font-family:'Cormorant Garamond',serif; font-style:italic; font-size:19px; }
.promise-strip { display:flex; gap:60px; align-items:center; justify-content:center; background:#eef0e7; padding:21px; font-size:10px; letter-spacing:1.5px; }
.promise-strip i { width:3px; height:3px; border-radius:50%; background:var(--sage); }
.section { max-width:1240px; margin:auto; padding:90px 40px; }
.section-heading { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:45px; }
h2 { font-size:47px; letter-spacing:-1px; line-height:1.15; margin-bottom:0; }
.section-heading>p { font-size:12px; color:#737970; margin-bottom:3px; }
.service-columns { display:grid; grid-template-columns:repeat(3,1fr); }
.service-columns article { padding:0 35px; border-right:1px solid var(--line); }
.service-columns article:first-child { padding-left:0; }
.service-columns article:last-child { border:0; padding-right:0; }
.icon-circle { background:var(--soft); border-radius:50%; width:87px; height:87px; display:grid; place-items:center; margin-bottom:23px; }
.icon-circle svg { width:53px; height:53px; }
.service-number { font-size:9px; letter-spacing:1.7px; color:var(--sage); }
.service-columns h3 { font-size:34px; line-height:1.12; margin:17px 0; }
.service-columns article>p { font-size:12px; color:#72776f; min-height:63px; line-height:1.8; }
ul { list-style:none; padding:0; margin:23px 0 29px; }
li { position:relative; padding-left:22px; font-size:12px; margin:9px 0; }
li:before { content:'✓'; position:absolute; left:0; color:var(--sage); }
.service-columns article>a { border-bottom:1px solid var(--line); padding-bottom:10px; display:flex; justify-content:space-between; font-size:11px; }
.service-columns article>a span { font-size:18px; color:var(--sage); }
.care { background:#eeefe7; display:grid; grid-template-columns:1fr 1.25fr; gap:80px; padding:70px max(6%,calc((100% - 1160px)/2)); }
.care h2 { font-size:55px; }
.care-intro>p:last-child { font-size:12px; color:#72776f; margin:22px 0 0; line-height:1.9; }
.values { display:grid; grid-template-columns:1fr 1fr; gap:34px 40px; }
.values svg { width:39px; height:39px; color:var(--sage); margin-bottom:7px; }
.values h3 { font-size:12px; font-weight:500; margin-bottom:8px; }
.values p { font-size:11px; color:#72776f; margin:0; }
.process { text-align:center; }
.steps { display:grid; grid-template-columns:repeat(3,1fr); text-align:left; gap:55px; margin-top:45px; }
.steps article { border-top:1px solid var(--line); padding-top:18px; }
.steps article>span { font-family:'Cormorant Garamond',serif; font-size:32px; color:#9ba48f; }
.steps h3 { font-size:14px; font-weight:500; margin:10px 0; }
.steps p { font-size:12px; color:#737970; }
.contact { max-width:1280px; margin:0 auto 55px; background:#e5e8dc; padding:62px 70px; display:grid; grid-template-columns:1.65fr 1fr; gap:45px; }
.contact h2 { font-size:45px; }
.contact>div>p:not(.eyebrow) { font-size:12px; color:#68715f; margin:20px 0; }
.contact-phone { display:block; width:fit-content; font-size:35px; font-weight:400; letter-spacing:1px; line-height:1.6; }
.contact-phone span { font-size:25px; margin-left:30px; }
.contact-email { font-size:15px; border-bottom:1px solid #aeb8a2; }
.contact aside { border-left:1px solid #bbc3b0; text-align:center; padding-left:40px; }
.contact aside>svg { width:84px; height:84px; color:var(--sage); }
.contact aside>p { font-size:9px; letter-spacing:2px; margin:17px 0 6px; }
.contact aside>h3 { font-size:14px; font-weight:400; margin-bottom:20px; }
.contact aside>.script { font-size:29px; line-height:1.15; display:block; color:#68755f; transform:rotate(-5deg); }
footer { max-width:1280px; margin:auto; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:0 20px 30px; font-size:10px; color:#7b8076; }
.footer-brand { font-family:'Cormorant Garamond',serif; font-size:21px; color:var(--ink); }
@media(min-width:1600px) { .hero { min-height:700px; } .hero-copy { padding-top:85px; } }
@media(max-width:1000px) { .header { padding:20px 4%; } nav { gap:18px; } .brand>span { font-size:23px; } .brand svg { width:50px; height:50px; } .hero-copy { padding:45px 22px 35px 8%; } h1 { font-size:70px; } .hero-copy>.script { font-size:27px; } .hero { min-height:590px; } .section { padding:65px 30px; } h2 { font-size:39px; } .service-columns article { padding:0 22px; } .service-columns h3 { font-size:29px; } .care { padding:55px 5%; gap:35px; } .contact { margin:0 25px 40px; padding:45px 35px; } .contact h2 { font-size:38px; } }
@media(max-width:700px) { .header { flex-wrap:wrap; gap:15px; } .brand small { font-size:6px; letter-spacing:1.8px; } .brand>span { font-size:22px; } .brand svg { width:45px; height:45px; } .header-phone { font-size:12px; } nav { width:100%; order:3; justify-content:center; border-top:1px solid var(--line); padding-top:13px; font-size:12px; gap:30px; } .hero { grid-template-columns:1fr; } .hero-copy { padding:35px 7% 32px; } h1 { font-size:76px; } .hero-copy>.script { font-size:31px; } .hero-copy .eyebrow { font-size:9px; letter-spacing:2px; } .intro { font-size:13px; } .hero-picture { min-height:420px; } .hero-picture img { object-position:center 55%; }  .photo-caption { font-size:16px; } .hero-location { margin-top:25px; } .promise-strip { gap:12px; padding:18px 12px; font-size:8px; letter-spacing:.4px; } .section { padding:55px 7%; } .section-heading { display:block; margin-bottom:30px; } h2 { font-size:38px; } .section-heading>p { margin-top:17px; } .service-columns { grid-template-columns:1fr; gap:34px; } .service-columns article,.service-columns article:first-child,.service-columns article:last-child { padding:0 0 30px; border:0; border-bottom:1px solid var(--line); } .icon-circle { float:right; width:75px; height:75px; margin-left:12px; } .icon-circle svg { width:44px; height:44px; } .service-columns h3 { font-size:34px; } .service-columns article>p { min-height:0; } .service-columns li { font-size:13px; } .service-columns article>a { font-size:12px; } .care { grid-template-columns:1fr; padding:48px 7%; gap:35px; } .care h2 { font-size:48px; } .values { gap:30px 18px; } .steps { grid-template-columns:1fr; gap:20px; margin-top:30px; } .steps h3 { font-size:15px; } .process { text-align:left; } .contact { margin:0 16px 30px; padding:35px 25px; grid-template-columns:1fr; gap:35px; } .contact h2 { font-size:39px; } .contact .eyebrow { font-size:8px; letter-spacing:1.5px; } .contact-phone { font-size:31px; } .contact aside { border-left:0; border-top:1px solid #bbc3b0; padding:28px 0 0; } footer { flex-wrap:wrap; padding:0 23px 25px; gap:10px; } footer>span:last-child { width:100%; } }
.service-columns article>p,.service-columns li,.steps p,.care-intro>p:last-child,.contact>div>p:not(.eyebrow) { font-size:14px; }
.service-columns article>p { min-height:76px; }
.service-columns article>a,.values p,.section-heading>p { font-size:13px; }
.values h3 { font-size:14px; }
.steps h3 { font-size:16px; }
.hero-picture>img { object-position:50% 65%; }
@media(max-width:700px) { .service-columns article>p { min-height:0; } .hero-picture { min-height:450px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
