@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500&display=swap');
:root{--ink:#29352f;--muted:#6f7972;--cream:#f7f4ee;--sage:#dfe6de;--sage2:#728174;--accent:#a86e55;--line:#ded9d0}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:"DM Sans",sans-serif;line-height:1.7}a{color:inherit}.container{width:min(1120px,calc(100% - 40px));margin:auto}
.header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid #eeeae3}.nav{height:76px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{font-size:1.05rem;font-weight:700;text-decoration:none}.brand span{font-weight:400;color:var(--muted)}.nav-links{display:flex;gap:28px}.nav-links a{text-decoration:none;font-size:.9rem}.nav-cta,.btn{border-radius:999px;padding:11px 20px;text-decoration:none;font-weight:600;display:inline-flex;justify-content:center;align-items:center;border:1px solid transparent;font-family:inherit}.nav-cta,.dark{background:var(--ink);color:white}.light{background:white;border-color:var(--line)}
.hero{background:var(--cream);padding:70px 0 80px}.hero-grid{display:grid;grid-template-columns:1fr .95fr;gap:60px;align-items:center}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.7rem;font-weight:700;color:var(--accent);margin:0 0 12px}.hero h1,.section h2{font-family:"Playfair Display",serif;font-weight:500;line-height:1.08;margin:0 0 22px}.hero h1{font-size:clamp(3.2rem,6vw,5.5rem)}h1 em{color:var(--sage2)}.lead{font-size:1.08rem;color:var(--muted);max-width:620px}.actions{display:flex;gap:12px;margin:30px 0}.facts{display:flex;gap:12px;flex-wrap:wrap;font-size:.82rem;color:var(--muted)}
.hero-portraits{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:end;padding-left:15px}.hero-person{position:relative}.hero-person img{display:block;width:100%;height:500px;object-fit:cover;object-position:center top;border-radius:170px 170px 20px 20px}.hero-person.veronica{transform:translateX(18px)}.hero-person.michelle{transform:translateX(-3px);margin-top:55px}.hero-person>span{display:block;text-align:center;margin-top:9px;font-weight:600}.badge{position:absolute;bottom:55px;left:48%;transform:translateX(-50%);background:white;padding:15px 19px;border-radius:17px;box-shadow:0 15px 40px rgba(40,50,44,.13);display:flex;gap:9px;align-items:center;white-space:nowrap}.badge strong{font-family:"Playfair Display";font-size:1.8rem}.badge span{font-size:.68rem;line-height:1.25;color:var(--muted)}
.section{padding:100px 0}.section-intro{max-width:720px;margin-bottom:55px}.section h2{font-size:clamp(2.5rem,4vw,3.8rem)}.section-intro>p:last-child,.section-heading>p:last-child{color:var(--muted)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;max-width:1000px}.about-grid article{padding:0 55px}.about-grid article:first-child{padding-left:0}.about-grid article+article{border-left:1px solid #cfd2cf}.about-grid article h3{font-family:"Playfair Display";font-size:2rem;margin:0 0 15px}.about-grid article p:not(.eyebrow){color:var(--muted);font-size:.94rem}.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.tags span{background:var(--sage);padding:6px 11px;border-radius:999px;font-size:.72rem;color:#566258}
.beige{background:var(--cream)}.section-heading{max-width:730px;margin:0 auto 48px;text-align:center}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.service-grid article{background:white;border:1px solid var(--line);padding:30px;border-radius:20px}.number{font-size:.72rem;color:var(--accent);font-weight:700;letter-spacing:.1em}.service-grid h3{font-size:1.15rem}.service-grid p{font-size:.88rem;color:var(--muted)}
.rate{background:var(--sage);border-radius:28px;padding:45px 55px;display:flex;justify-content:space-between;align-items:center;gap:35px}.rate h2{margin-bottom:5px}.rate p{max-width:690px;color:#59645c}.muted{font-size:.82rem}
.dark-section{background:var(--ink);color:white}.inverse h2{color:white}.inverse .eyebrow{color:#d6aa95}.approach{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.approach strong{font-size:.72rem;color:#d0a18d}.approach h3{margin-bottom:7px}.approach p{color:#c5ccc7;font-size:.9rem}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.contact h2{font-size:clamp(2.5rem,4vw,3.7rem)}.contact-info{margin-top:35px;display:grid;gap:18px}.contact-info div{display:flex;flex-direction:column}.contact-info span{color:var(--muted);font-size:.9rem}.form{background:var(--cream);padding:35px;border-radius:25px}.form label{display:block;font-size:.82rem;font-weight:600;margin-bottom:14px}.form input,.form textarea{width:100%;margin-top:6px;border:1px solid var(--line);border-radius:11px;padding:12px 14px;font:inherit;background:white}.form .btn{width:100%;margin-top:5px}.form small{display:block;color:var(--muted);font-size:.68rem;margin-top:12px}
footer{border-top:1px solid var(--line);padding:27px 0}.footer{display:flex;align-items:center;justify-content:space-between;gap:20px}.footer p{font-size:.75rem;color:var(--muted)}
@media(max-width:850px){.nav-links{display:none}.hero-grid,.contact-grid{grid-template-columns:1fr}.hero{padding:60px 0}.about-grid{grid-template-columns:1fr;gap:30px}.about-grid article{padding:0}.about-grid article+article{border-left:0;border-top:1px solid #cfd2cf;padding-top:30px}.service-grid{grid-template-columns:1fr 1fr}.approach{grid-template-columns:1fr}.rate{flex-direction:column;align-items:flex-start;padding:35px}.hero-person img{height:430px}}
@media(max-width:520px){.container{width:calc(100% - 28px)}.nav-cta{font-size:.78rem;padding:10px 14px}.hero h1{font-size:3.1rem}.actions{flex-direction:column}.btn{width:100%}.hero-portraits{gap:9px;padding-left:0}.hero-person img{height:300px;border-radius:100px 100px 15px 15px}.hero-person.veronica{transform:translateX(8px)}.hero-person.michelle{transform:none;margin-top:28px}.badge{bottom:43px;left:50%;padding:10px 13px}.badge strong{font-size:1.5rem}.service-grid{grid-template-columns:1fr}.section{padding:75px 0}.footer{flex-direction:column;align-items:flex-start}}

.price-list{max-width:540px;margin:22px 0}.price-list>div{display:flex;justify-content:space-between;align-items:baseline;gap:15px;padding:10px 0;border-bottom:1px solid #c4cec4}.price-list span{font-size:.92rem}.price-list strong{white-space:nowrap;font-size:1rem}
