@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)}
.hero-photo,.about-photo{overflow:hidden;border-radius:180px 180px 28px 28px;background:#dbe2d4;min-height:480px}.hero-photo img,.about-photo img{width:100%;height:100%;min-height:480px;display:block;object-fit:cover}.hero-photo img{object-position:center 62%}.about-photo{border-radius:28px 180px 28px 180px}.about-photo img{object-position:center}
.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}.service-card{cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.service-card:hover{transform:translateY(-4px);box-shadow:0 14px 34px #36483a18;border-color:#cbd5c6}.service-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.service-top i{font-size:28px;font-style:normal}.service-top span{font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--dark)}.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}
.modal{position:fixed;inset:0;z-index:50;display:none}.modal.open{display:block}.modal-backdrop{position:absolute;inset:0;background:rgba(30,39,32,.72);backdrop-filter:blur(6px)}.modal-panel{position:relative;z-index:1;width:min(1000px,92vw);max-height:90vh;overflow:auto;margin:5vh auto;background:var(--paper);border-radius:30px;padding:38px}.modal-panel h2{font-size:42px;margin:4px 0 25px}.modal-close{position:absolute;right:18px;top:15px;width:42px;height:42px;border:0;border-radius:50%;background:#e9eee5;color:var(--dark);font-size:30px;line-height:1;cursor:pointer}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.gallery-grid figure{margin:0;overflow:hidden;border-radius:18px;background:#e8ede5;aspect-ratio:4/3}.gallery-grid img{width:100%;height:100%;display:block;object-fit:cover}.gallery-empty{padding:35px;border:1px dashed var(--line);border-radius:18px;color:var(--muted)}
@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}.hero-photo,.about-photo{min-height:360px}.hero-photo img,.about-photo img{min-height:360px}.hero h1{font-size:52px}.gallery-grid{grid-template-columns:1fr 1fr}.modal-panel{padding:30px 22px}}
@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}.gallery-grid{grid-template-columns:1fr}.modal-panel{width:94vw;margin:3vh auto;max-height:94vh;border-radius:24px}.modal-panel h2{font-size:34px}}
