:root{
  --ink:#23312f;--muted:#66736f;--paper:#fffdf9;--cream:#f6efe7;--sage:#dce8df;--sage-deep:#2f665c;--rose:#b85e75;--rose-dark:#93475d;--blue:#dfeaf0;--gold:#d6a74f;--line:#d9dfda;--white:#fff;--shadow:0 24px 70px rgba(39,57,52,.13)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',system-ui,sans-serif;color:var(--ink);background:var(--paper);line-height:1.65}img{max-width:100%;display:block}a{color:inherit}.wrap{width:min(1160px,calc(100% - 42px));margin:auto}.narrow{width:min(820px,calc(100% - 42px));margin:auto}.site-header{position:sticky;top:0;z-index:30;background:rgba(255,253,249,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(35,49,47,.07)}.nav-wrap{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;gap:12px;align-items:center;text-decoration:none}.brand-mark{width:43px;height:43px;border-radius:50%;display:grid;place-items:center;background:var(--sage-deep);color:#fff;font-weight:800}.brand strong,.brand small{display:block}.brand small{color:var(--muted);font-size:.73rem;letter-spacing:.1em;text-transform:uppercase}.nav{display:flex;gap:23px;align-items:center}.nav a{text-decoration:none;font-size:.94rem}.nav-toggle{display:none;background:none;border:0;font:inherit;cursor:pointer}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--rose);color:#fff;text-decoration:none;border-radius:999px;padding:14px 22px;font-weight:700;transition:.2s}.button:hover{background:var(--rose-dark);transform:translateY(-1px)}.button.secondary{background:transparent;color:var(--ink);border:1px solid var(--ink)}.button-small{padding:10px 16px!important;color:#fff!important}.hero{padding:76px 0 82px;background:radial-gradient(circle at 82% 15%,#eadbe0 0,transparent 25%),radial-gradient(circle at 8% 82%,#e5eee8 0,transparent 27%),linear-gradient(180deg,#faf6ef,#fffdf9)}.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:72px;align-items:center}.eyebrow{font-size:.77rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--rose);margin:0 0 16px}h1,h2,.display,.quote{font-family:'Fraunces',Georgia,serif;line-height:1.05;letter-spacing:-.025em}h1{font-size:clamp(2rem,3.5vw,3.2rem);margin:0 0 28px}h2{font-size:clamp(1.9rem,3.2vw,3rem);margin:0 0 22px}.intro{font-size:1.2rem;color:var(--muted);max-width:700px}.hero-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:30px}.trust-list{display:flex;gap:12px 20px;flex-wrap:wrap;list-style:none;padding:0;margin:34px 0 0;color:var(--muted);font-size:.92rem}.trust-list li:before{content:'●';color:var(--sage-deep);font-size:.56rem;margin-right:9px;vertical-align:2px}.portrait-shell{position:relative}.portrait-card{background:#fff;border-radius:34px;padding:14px;box-shadow:var(--shadow);transform:rotate(1deg)}.portrait-card img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 26%;border-radius:25px}.portrait-note{padding:16px 10px 6px;display:flex;justify-content:space-between;gap:20px;align-items:end}.portrait-note p{margin:0}.portrait-note small{color:var(--muted)}.floating-note{position:absolute;left:-36px;bottom:88px;background:var(--sage-deep);color:white;border-radius:18px;padding:14px 18px;box-shadow:0 18px 40px rgba(35,49,47,.18);font-weight:700;transform:rotate(-2deg)}.soft-band{background:var(--sage);padding:52px 0}.quote-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:64px;align-items:center}.quote{font-size:clamp(2rem,3.5vw,3.5rem);margin:0}.section{padding:96px 0}.section-alt{background:#f4f7f4}.two-col{display:grid;grid-template-columns:.85fr 1.15fr;gap:84px}.prose{font-size:1.06rem}.prose p:first-child{font-size:1.14rem}.credentials{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:34px}.credentials div{background:var(--cream);border-radius:20px;padding:20px}.credentials strong,.credentials span{display:block}.credentials span{font-size:.9rem;color:var(--muted)}.section-heading{max-width:760px;margin-bottom:42px}.section-heading>p:last-child{color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px;transition:.2s}.card:hover{transform:translateY(-3px);box-shadow:0 15px 34px rgba(39,57,52,.08)}.card .icon{font-size:1.45rem;margin-bottom:14px}.card h3{font-size:1.15rem;margin:0 0 8px}.card p{margin:0;color:var(--muted)}.card a{text-decoration:none}.feature-split{display:grid;grid-template-columns:1fr 1fr;gap:62px;align-items:center}.feature-panel{background:var(--ink);color:white;border-radius:30px;padding:38px}.feature-panel p{color:#d4dfdb}.steps{display:grid;gap:14px;margin-top:28px}.step{display:grid;grid-template-columns:42px 1fr;gap:14px;align-items:start}.step b{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--cream);color:var(--ink)}.step h3{margin:4px 0 3px;font-size:1rem}.step p{margin:0;color:var(--muted)}.fee-panel{background:var(--ink);color:#fff;border-radius:30px;padding:34px}.fee-row{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.15)}.small-note{font-size:.9rem;color:#d8e0dd;margin:20px 0}.full{width:100%;background:#fff;color:var(--ink)}.full:hover{background:#f6efe7}.location-section{padding:94px 0;background:var(--cream)}.location-grid{display:grid;grid-template-columns:1fr .92fr;gap:76px;align-items:center}address{font-style:normal;margin:20px 0;font-size:1.05rem}.map-art{min-height:330px;border-radius:30px;background:linear-gradient(145deg,#d9e7de,#e9dee3 65%,#efe1cc);position:relative;overflow:hidden;display:grid;place-items:center}.map-art:before,.map-art:after{content:'';position:absolute;width:440px;height:90px;border:2px solid rgba(47,102,92,.18);border-radius:50%;transform:rotate(-20deg)}.map-art:after{transform:rotate(24deg);width:360px}.pin{width:74px;height:74px;border-radius:50% 50% 50% 0;background:var(--rose);transform:rotate(-45deg);display:grid;place-items:center;box-shadow:0 18px 40px rgba(147,71,93,.24)}.pin:after{content:'';width:22px;height:22px;border-radius:50%;background:white}.location-label{position:absolute;bottom:28px;left:28px;background:#fff;padding:14px 18px;border-radius:16px}.location-label strong,.location-label span{display:block}.location-label span{color:var(--muted);font-size:.9rem}.contact-section{background:var(--ink);color:#fff}.contact-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:68px;align-items:center}.contact-section .eyebrow{color:#efb7c5}.contact-section p{color:#d6dfdc}.contact-section .button{background:#fff;color:var(--ink)}.contact-card{border:1px solid rgba(255,255,255,.17);border-radius:24px;padding:28px;background:rgba(255,255,255,.055)}.contact-card p{margin-top:0}.contact-card a{color:#fff}.mini-cta{display:grid;grid-template-columns:1fr auto;gap:22px;align-items:center;background:var(--blue);border-radius:28px;padding:34px 38px}.mini-cta h2{font-size:clamp(2rem,3.2vw,3rem);margin:0}.page-hero{padding:78px 0 62px;background:linear-gradient(180deg,#f8f2ea,#fffdf9)}.page-hero h1{font-size:clamp(2rem,3.5vw,3.2rem);max-width:900px}.page-hero p{max-width:760px;font-size:1.15rem;color:var(--muted)}.content-section{padding:70px 0}.content-section h2{font-size:clamp(2rem,3.5vw,3rem);margin-top:50px}.content-section h3{margin-top:32px}.faq{display:grid;gap:12px;margin-top:30px}.faq details{border:1px solid var(--line);border-radius:18px;padding:18px 20px;background:#fff}.faq summary{cursor:pointer;font-weight:700}.faq p{color:var(--muted);margin-bottom:0}footer{padding:40px 0;background:#172321;color:#eef3f1}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:40px}.footer-grid p{color:#aebbb6;margin:5px 0}.footer-grid a{color:#fff}.footer-links{display:flex;gap:18px;flex-wrap:wrap;justify-content:flex-end}.footer-meta{text-align:right}.badge-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.badge{display:inline-flex;border:1px solid var(--line);background:white;border-radius:999px;padding:8px 12px;font-size:.88rem}.notice{background:#fff5f2;border-left:4px solid var(--rose);padding:18px 20px;border-radius:12px}.text-link{font-weight:700;text-decoration:none;border-bottom:1px solid transparent}.text-link:hover{border-color:currentColor}
@media(max-width:900px){.nav-toggle{display:block}.nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--paper);padding:24px 21px 30px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.nav.open{display:flex}.hero-grid,.quote-grid,.two-col,.feature-split,.location-grid,.contact-grid{grid-template-columns:1fr;gap:44px}.cards,.credentials{grid-template-columns:1fr 1fr}.portrait-shell{max-width:610px;margin:auto}.floating-note{left:0}.mini-cta{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.footer-links{justify-content:flex-start}.footer-meta{text-align:left}}
@media(max-width:580px){.wrap,.narrow{width:min(100% - 28px,1160px)}.section{padding:74px 0}.cards,.credentials{grid-template-columns:1fr}.hero{padding:52px 0 65px}h1{font-size:clamp(2rem,9vw,3.2rem)}.portrait-card{transform:none}.floating-note{position:static;margin-top:14px;display:inline-block}.hero-actions{align-items:stretch;flex-direction:column}.button{width:100%}.portrait-note{display:block}.footer-links{flex-direction:column;gap:8px}.mini-cta{padding:28px}.nav-wrap{min-height:70px}.nav{top:70px}}

/* Warm first-person contact page */
.contact-hero{position:relative;overflow:hidden;padding:92px 0 96px;background:linear-gradient(115deg,#fffdf9 0%,#fffdf9 72%,#f1f3ec 100%)}
.contact-hero:after{content:'❧';position:absolute;right:3%;top:18px;font-family:Georgia,serif;font-size:18rem;line-height:1;color:rgba(47,102,92,.08);transform:rotate(-18deg);pointer-events:none}
.contact-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.18fr .82fr;gap:78px;align-items:center}
.contact-copy h1{max-width:760px;font-size:clamp(2rem,3.5vw,3.2rem);margin-bottom:26px}
.contact-intro{font-size:1.25rem;line-height:1.65;color:var(--muted);max-width:760px;margin-bottom:28px}
.contact-email{font-size:1.05rem;padding:16px 25px;box-shadow:0 12px 26px rgba(184,94,117,.18)}
.privacy-note{font-size:.95rem;color:var(--muted);margin-top:16px}
.reassurance{font-family:'Fraunces',Georgia,serif;font-size:1.9rem;font-style:italic;color:var(--sage-deep);margin:38px 0 0;padding-left:54px;position:relative}
.reassurance:before{content:'';position:absolute;left:0;top:50%;width:36px;height:2px;background:var(--rose)}
.contact-details{box-shadow:0 24px 70px rgba(35,49,47,.16);padding:38px 40px}
.contact-details .fee-row{padding:20px 0}
.contact-details .fee-row:last-child{border-bottom:0}
@media(max-width:900px){.contact-hero-grid{grid-template-columns:1fr;gap:44px}.contact-hero{padding:64px 0}.contact-hero:after{font-size:12rem;right:-8%;top:38%}}
@media(max-width:580px){.contact-copy h1{font-size:clamp(2rem,9vw,3.2rem)}.contact-details{padding:26px}.reassurance{font-size:1.55rem}.contact-email{font-size:.92rem}}
