@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600&display=swap');
:root{--sage:#879b82;--dark:#526651;--cream:#f8f5ed;--paper:#fffdf8;--ink:#29332b;--muted:#697269;--line:#dfe4da}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;line-height:1.65}a{text-decoration:none;color:inherit}
header{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:15px 6%;background:#fffdf8f2;backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px}.brand span{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--sage);color:white;font-family:Georgia}.brand b{font-family:'Playfair Display';font-size:18px}.brand small{display:block;font:11px 'DM Sans';letter-spacing:2px;text-transform:uppercase;color:var(--muted)}nav{display:flex;align-items:center;gap:24px;font-size:14px}.pill,.button{background:var(--dark);color:white;padding:11px 19px;border-radius:999px}.menu{display:none;border:0;background:none;font-size:24px}
.hero{display:grid;grid-template-columns:1fr 1fr;gap:6%;align-items:center;padding:75px 7%;background:var(--cream);min-height:680px}.eyebrow{color:var(--dark);font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase}.hero h1,h2{font-family:'Playfair Display',Georgia,serif;line-height:1.1;font-weight:500}.hero h1{font-size:clamp(48px,6vw,78px);margin:0 0 20px}.lead{font-size:18px;color:var(--muted);max-width:600px}.text{font-weight:700;margin-left:18px}.credentials{font-size:13px;color:var(--muted)}.photo{min-height:480px;display:grid;place-items:center;text-align:center;padding:30px;background:linear-gradient(135deg,#dbe2d4,#aebda8);border-radius:180px 180px 28px 28px;color:#52604f}
.intro{max-width:850px;margin:auto;padding:95px 6%;text-align:center}.intro h2,.heading h2,.split h2,.contact h2{font-size:46px;margin:10px 0 18px}.intro p:last-child,.heading p,.split p,.contact p{color:var(--muted)}.section{padding:90px 7%}.heading{text-align:center;max-width:760px;margin:0 auto 45px}.grid{max-width:1200px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.grid article{padding:27px;background:white;border:1px solid var(--line);border-radius:24px;box-shadow:0 8px 30px #36483a0d}.grid i{font-size:28px}.grid h3{font:25px 'Playfair Display';margin:12px 0 6px}.grid p{font-size:14px;color:var(--muted)}.grid b{color:var(--dark);font-size:14px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;padding:90px 7%;background:var(--cream)}.split ul{padding-left:20px}.split li{margin:9px 0}.soft{background:#eef1e9}.areas{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;max-width:850px;margin:auto}.areas span{background:white;border:1px solid var(--line);border-radius:999px;padding:9px 16px}.steps{max-width:1100px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.steps>div{padding:23px;border-top:2px solid var(--sage)}.steps h3{font:24px 'Playfair Display';margin:10px 0}.steps p{font-size:14px;color:var(--muted)}.faq{max-width:850px;margin:auto}.faq details{border-bottom:1px solid var(--line);padding:20px 0}.faq summary{font-weight:600;cursor:pointer}.faq p{color:var(--muted)}.contact{display:grid;grid-template-columns:1.2fr .8fr;gap:7%;align-items:center;padding:90px 7%;background:var(--dark);color:white}.contact .eyebrow{color:#dce8d7}.contact p{color:#e4ebe1}.contactbox{background:var(--paper);border-radius:24px;padding:28px}.full{display:block;text-align:center;margin-bottom:12px}.outline{display:block;text-align:center;border:1px solid var(--dark);color:var(--dark);padding:11px 19px;border-radius:999px}.contactbox small{color:var(--muted)}footer{padding:45px 7%;display:flex;justify-content:space-between;flex-wrap:wrap;background:#26332a;color:#edf1eb}footer p{color:#b9c4b8;font-size:13px}
@media(max-width:850px){nav{display:none}.menu{display:block}.hero,.split,.contact{grid-template-columns:1fr}.grid{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr 1fr}.photo{min-height:360px}.hero h1{font-size:52px}}@media(max-width:560px){.grid,.steps{grid-template-columns:1fr}.hero,.section,.split,.contact{padding-left:6%;padding-right:6%}.intro{padding:70px 6%}.hero h1{font-size:46px}.intro h2,.heading h2,.split h2,.contact h2{font-size:38px}.text{display:inline-block;margin:18px 0 0 0}}
