/* ===== HERO ===== */
.home-hero{background:radial-gradient(120% 100% at 80% 0%,#FBEFE6 0%,#FCF8F4 55%);border-bottom:1px solid var(--line);overflow:hidden;}
.hh-in{max-width:var(--maxw);margin:0 auto;padding:72px 28px 40px;display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;}
@media(max-width:860px){.hh-in{grid-template-columns:1fr;gap:36px;padding:52px 28px 30px;}}
.hh-text h1{font-size:clamp(40px,6.4vw,66px);color:var(--ink);line-height:1.02;margin:16px 0 14px;}
.hh-text .tagline{font-family:'Fraunces',serif;font-style:italic;font-size:20px;color:var(--accent);margin-bottom:20px;}
.hh-text .lede{font-size:18px;color:var(--ink-soft);max-width:520px;margin-bottom:30px;}
.hh-ctas{display:flex;gap:14px;flex-wrap:wrap;}
.hh-photo{position:relative;}
.hh-photo img{width:100%;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);aspect-ratio:4/5;object-fit:cover;position:relative;z-index:2;}
.hh-photo::before{content:"";position:absolute;left:-18px;top:-18px;right:26px;bottom:26px;border:2px solid var(--accent);opacity:.28;border-radius:var(--radius-lg);z-index:1;}

/* stat bar */
.statbar{border-top:1px solid var(--line);}
.statbar-in{max-width:var(--maxw);margin:0 auto;padding:26px 28px;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
@media(max-width:720px){.statbar-in{grid-template-columns:1fr 1fr;gap:20px;}}
.stat{text-align:center;}
.stat .n{font-family:'Fraunces',serif;font-size:32px;font-weight:600;color:var(--accent);line-height:1;}
.stat .l{font-size:12.5px;color:var(--ink-soft);margin-top:6px;font-weight:500;}

/* section frame */
.section{padding:76px 0;}
.section.tight{padding:52px 0;}
.sec-head{max-width:660px;margin:0 auto 46px;text-align:center;}
.sec-head h2{font-size:clamp(28px,4.2vw,40px);color:var(--ink);margin-top:12px;}
.sec-head p{color:var(--ink-soft);font-size:17px;margin-top:12px;}

/* intro statement */
.intro{padding:60px 0;text-align:center;background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.intro p{font-family:'Fraunces',serif;font-size:clamp(21px,3vw,30px);line-height:1.5;color:var(--ink);max-width:860px;margin:0 auto;font-weight:400;}
.intro strong{color:var(--accent);font-weight:500;}

/* services */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
@media(max-width:860px){.svc-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:540px){.svc-grid{grid-template-columns:1fr;}}
.svc{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:30px 26px;box-shadow:var(--shadow-xs);transition:transform .22s,box-shadow .22s,border-color .22s;}
.svc:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:var(--line-2);}
.svc .ic{width:52px;height:52px;border-radius:14px;background:var(--accent-soft);display:flex;align-items:center;justify-content:center;margin-bottom:18px;}
.svc .ic svg{width:26px;height:26px;color:var(--accent);}
.svc h3{font-size:20px;color:var(--ink);margin-bottom:9px;}
.svc p{font-size:15px;color:var(--ink-soft);}

/* about */
.about{background:linear-gradient(160deg,var(--cream-2),#FCF8F4);}
.about-in{display:grid;grid-template-columns:.82fr 1.18fr;gap:52px;align-items:center;}
@media(max-width:860px){.about-in{grid-template-columns:1fr;gap:32px;}}
.about-photo{position:relative;}
.about-photo img{width:100%;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);aspect-ratio:4/5;object-fit:cover;}
.about-text h2{font-size:clamp(30px,4.4vw,42px);color:var(--ink);margin:12px 0 18px;}
.about-text p{font-size:16.5px;color:var(--ink-soft);margin-bottom:16px;}
.creds{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;}
.cred{font-size:13px;font-weight:700;color:var(--ink);background:#fff;border:1px solid var(--line-2);padding:8px 15px;border-radius:100px;}

/* testimonials */
.testi{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.gscore{display:inline-flex;align-items:center;gap:10px;background:var(--bg);border:1px solid var(--line);border-radius:100px;padding:8px 18px;margin-top:14px;}
.gscore .stars{color:#E8A93B;letter-spacing:2px;font-size:15px;}
.gscore .n{font-family:'Fraunces',serif;font-weight:600;font-size:17px;color:var(--ink);}
.gscore .t{font-size:13px;color:var(--ink-soft);}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
@media(max-width:820px){.testi-grid{grid-template-columns:1fr;}}
.tcard{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:28px 26px;display:flex;flex-direction:column;}
.tcard .stars{color:#E8A93B;letter-spacing:2px;font-size:14px;margin-bottom:14px;}
.tcard p{font-size:15px;color:var(--ink);line-height:1.6;font-style:italic;flex:1;}
.tcard .who{display:flex;align-items:center;gap:12px;margin-top:20px;}
.tcard .av{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--gold));color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Fraunces',serif;font-weight:600;flex-shrink:0;}
.tcard .nm{font-weight:700;font-size:14px;color:var(--ink);}
.tcard .rl{font-size:12.5px;color:var(--muted);}

/* doulas band */
.doulas{background:linear-gradient(155deg,#3A2A2E,#2A161B);color:#fff;text-align:center;position:relative;overflow:hidden;}
.doulas::after{content:"";position:absolute;left:-100px;bottom:-120px;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(193,80,47,.3),transparent 70%);}
.doulas-in{max-width:700px;margin:0 auto;position:relative;}
.doulas .eyebrow{color:#E0B7A4;}
.doulas h2{font-size:clamp(28px,4.2vw,40px);color:#fff;margin:12px 0 16px;}
.doulas p{color:#E9D6CC;font-size:17px;margin-bottom:28px;}

/* blog preview */
.bp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
@media(max-width:820px){.bp-grid{grid-template-columns:1fr;}}
.bp-all{text-align:center;margin-top:38px;}

/* quote */
.quote{background:linear-gradient(160deg,var(--cream-2),#FCF8F4);text-align:center;}
.quote blockquote{font-family:'Fraunces',serif;font-size:clamp(24px,3.6vw,34px);line-height:1.4;color:var(--ink);max-width:880px;margin:0 auto 18px;font-style:italic;}
.quote blockquote::before{content:"\201C";display:block;font-size:70px;color:var(--accent);opacity:.35;line-height:.4;margin-bottom:14px;}
.quote cite{font-style:normal;font-size:13.5px;font-weight:800;letter-spacing:.08em;color:var(--gold);text-transform:uppercase;}

/* contact */
.contact{text-align:center;}
.contact-in{max-width:640px;margin:0 auto;}
.contact h2{font-size:clamp(28px,4.2vw,40px);color:var(--ink);margin:12px 0 14px;}
.contact p{font-size:17px;color:var(--ink-soft);margin-bottom:28px;}
