:root{--green:#123f34;--green-2:#1f5a49;--pink:#df5f8c;--pink-soft:#fbeaf0;--ink:#14221e;--muted:#60706a;--cream:#fffaf8;--line:#dfe7e3;--white:#fff;--shadow:0 24px 70px rgba(18,63,52,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font-family:"DM Sans",system-ui,sans-serif;font-size:16px;line-height:1.65}img{max-width:100%;display:block}a{color:inherit}.skip-link{position:fixed;left:1rem;top:-4rem;background:var(--white);padding:.75rem 1rem;z-index:100}.skip-link:focus{top:1rem}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,250,248,.93);backdrop-filter:blur(16px);border-bottom:1px solid rgba(18,63,52,.08)}.nav-wrap{width:min(1180px,calc(100% - 40px));height:84px;margin:auto;display:flex;align-items:center;gap:2rem}.brand{text-decoration:none;display:flex;align-items:center;gap:.65rem;line-height:1}.brand-mark{font-size:2rem;color:var(--pink)}.brand strong{display:block;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase}.brand em{display:block;font-family:"Playfair Display",serif;font-size:1.7rem;font-style:normal;color:var(--green)}nav{margin-left:auto;display:flex;gap:2rem}nav a{text-decoration:none;font-weight:600;font-size:.92rem}nav a:hover{color:var(--pink)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:.85rem 1.35rem;border-radius:999px;background:var(--pink);color:var(--white);font-weight:700;text-decoration:none;box-shadow:0 10px 24px rgba(223,95,140,.25);transition:.2s transform,.2s background}.button:hover{transform:translateY(-2px);background:#c94877}.button-small{min-height:44px;font-size:.88rem;padding:.65rem 1rem}.hero{min-height:740px;width:min(1280px,100%);margin:auto;padding:72px 50px 64px;display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:76px;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;width:530px;height:530px;border-radius:50%;background:radial-gradient(circle,var(--pink-soft),transparent 68%);right:-80px;top:40px;z-index:-1}.eyebrow{margin:0 0 1rem;color:var(--pink);font-size:.78rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.hero h1,.section h2,.schedule h2,.final-cta h2,.location h2{font-family:"Playfair Display",serif;line-height:1.08;margin:.2rem 0 1.4rem}.hero h1{font-size:clamp(3.3rem,6vw,6.6rem);letter-spacing:-.045em;max-width:780px}.lead{max-width:640px;color:var(--muted);font-size:1.18rem}.hero-actions{display:flex;align-items:center;gap:1.5rem;margin-top:2.2rem}.text-link{text-decoration:none;font-weight:700;color:var(--green);border-bottom:1px solid currentColor;padding-bottom:.2rem}.trust-row{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:2.3rem}.trust-row span{padding:.45rem .8rem;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.75);font-size:.82rem;font-weight:600}.hero-visual{position:relative;max-width:520px;margin:auto}.photo-frame{height:610px;border-radius:240px 240px 36px 36px;overflow:hidden;background:var(--pink-soft);box-shadow:var(--shadow)}.photo-frame img{width:100%;height:100%;object-fit:cover;object-position:50% 18%}.floating-card{position:absolute;left:-60px;bottom:45px;background:var(--white);padding:1rem 1.2rem;border-radius:16px;box-shadow:var(--shadow);display:grid;min-width:285px;border-left:5px solid var(--pink)}.floating-card span{font-size:.82rem;color:var(--muted)}.intro-band{background:var(--green);color:var(--white);padding:70px max(30px,calc((100% - 1080px)/2));text-align:center}.intro-band p{color:#f2a6bf;font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:.8rem}.intro-band h2{font-family:"Playfair Display",serif;font-size:clamp(2rem,4vw,3.8rem);line-height:1.17;margin:0 auto;max-width:980px}.section{width:min(1160px,calc(100% - 40px));margin:auto;padding:110px 0}.section-heading{display:grid;grid-template-columns:1.4fr .6fr;align-items:end;gap:3rem;margin-bottom:52px}.section-heading h2,.location h2{font-size:clamp(2.4rem,4vw,4rem);margin-bottom:0}.section-heading>p{color:var(--muted);margin:0 0 .5rem}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.service-card{min-height:290px;padding:28px;border:1px solid var(--line);background:var(--white);border-radius:20px;display:flex;flex-direction:column;transition:.2s transform,.2s box-shadow}.service-card:hover{transform:translateY(-4px);box-shadow:0 18px 45px rgba(18,63,52,.1)}.service-card.featured{background:var(--pink-soft);border-color:transparent}.service-card .num{color:var(--pink);font-weight:700;font-size:.85rem}.service-card h3{font-family:"Playfair Display",serif;font-size:1.55rem;line-height:1.2;margin:auto 0 .8rem}.service-card p{color:var(--muted);margin:0}.service-card a{font-weight:700;color:var(--pink);margin-top:1rem}.medical-note{text-align:center;color:var(--muted);font-size:.85rem;margin-top:28px}.schedule{background:var(--green);color:var(--white);padding:90px max(35px,calc((100% - 1100px)/2));display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:center}.schedule h2{font-size:clamp(2.4rem,4vw,4rem)}.schedule-copy>p:not(.eyebrow){color:#c8d9d3}.light{color:#f5a5c0}.button-light{background:var(--white);color:var(--green);box-shadow:none;margin-top:1rem}.button-light:hover{background:var(--pink-soft)}.hours-list{border-top:1px solid rgba(255,255,255,.28)}.hours-list div{display:flex;justify-content:space-between;gap:1rem;padding:1.35rem .2rem;border-bottom:1px solid rgba(255,255,255,.28)}.hours-list span{color:#d2e0db}.location{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}.location-photo{border-radius:26px;overflow:hidden;box-shadow:var(--shadow)}.location-photo img{width:100%;height:500px;object-fit:cover}.location address{font-style:normal;color:var(--muted);font-size:1.08rem;margin-bottom:1.2rem}.map-link{display:inline-block}.contact-lines{display:grid;gap:.3rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--line)}.contact-lines a{font-size:1.05rem;font-weight:700;text-decoration:none}.final-cta{text-align:center;padding:100px 25px 120px;background:linear-gradient(180deg,var(--cream),var(--pink-soft))}.final-cta .petal{font-size:3rem;color:var(--pink)}.final-cta h2{font-size:clamp(3rem,6vw,5.6rem)}.final-cta>p:not(.eyebrow){color:var(--muted);margin:-.6rem 0 2rem}footer{background:#0d2d26;color:var(--white);padding:50px max(25px,calc((100% - 1160px)/2));display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:end}.footer-brand strong,.footer-brand em{color:var(--white)}footer p{color:#b6cbc4;text-align:right}footer small{grid-column:1/-1;color:#94ada5;border-top:1px solid rgba(255,255,255,.15);padding-top:1.4rem}.whatsapp-float{position:fixed;right:20px;bottom:20px;z-index:40;background:#25d366;color:#073c20;text-decoration:none;padding:.85rem 1.1rem;border-radius:999px;box-shadow:0 12px 30px rgba(0,0,0,.2);display:flex;align-items:center;gap:.5rem}.whatsapp-float span{font-size:1.4rem}.whatsapp-float b{font-size:.9rem}
@media(max-width:900px){.nav-wrap{height:72px}.nav-wrap nav{display:none}.nav-wrap>.button{margin-left:auto}.hero{grid-template-columns:1fr;padding:55px 30px 75px;gap:55px}.hero h1{font-size:clamp(3rem,12vw,5.2rem)}.hero-visual{width:min(100%,520px)}.photo-frame{height:570px}.floating-card{left:15px}.section-heading,.schedule,.location{grid-template-columns:1fr}.service-grid{grid-template-columns:repeat(2,1fr)}.schedule{gap:45px}.location-photo{order:2}footer{grid-template-columns:1fr}footer p{text-align:left}}
@media(max-width:620px){.nav-wrap{width:calc(100% - 28px)}.brand em{font-size:1.45rem}.brand strong{font-size:.58rem}.nav-wrap>.button{font-size:0;width:46px;height:46px;padding:0}.nav-wrap>.button:after{content:"✆";font-size:1.25rem}.hero{padding:45px 20px 60px}.hero h1{font-size:3.35rem}.lead{font-size:1.05rem}.hero-actions{align-items:stretch;flex-direction:column}.hero-actions .text-link{width:max-content}.photo-frame{height:510px}.floating-card{right:15px;left:15px;min-width:0}.section{width:calc(100% - 30px);padding:78px 0}.section-heading{gap:1rem}.service-grid{grid-template-columns:1fr}.service-card{min-height:245px}.schedule{padding:75px 22px}.hours-list div{flex-direction:column;gap:.2rem}.location{gap:30px}.location-photo img{height:350px}.whatsapp-float b{display:none}.whatsapp-float{padding:.8rem;width:52px;height:52px;justify-content:center}.final-cta{padding:80px 22px 100px}footer{padding:45px 24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.service-card-link{text-decoration:none;color:inherit}.service-card-link .service-cta{margin-top:1rem;color:var(--pink);font-weight:700}
.logo-frame{height:520px;border-radius:48% 48% 36px 36px;background:#fff;padding:20px}.photo-frame.logo-frame img{object-fit:contain;object-position:center}.services-showcase{display:grid;grid-template-columns:minmax(280px,.82fr) 1.18fr;gap:54px;align-items:center;margin:-10px 0 58px;padding:34px;background:linear-gradient(135deg,#fff 0%,var(--pink-soft) 100%);border:1px solid rgba(223,95,140,.16);border-radius:30px}.services-poster{max-width:420px;margin:auto;border-radius:220px 220px 24px 24px;overflow:hidden;box-shadow:var(--shadow);background:#fff}.services-poster img{width:100%;height:550px;object-fit:cover;object-position:center}.services-showcase-copy h3{font-family:"Playfair Display",serif;font-size:clamp(2.3rem,4vw,4rem);line-height:1.08;margin:.2rem 0 1.2rem}.services-showcase-copy>p:not(.eyebrow){color:var(--muted);font-size:1.08rem;max-width:560px;margin-bottom:1.8rem}
@media(max-width:900px){.services-showcase{grid-template-columns:1fr;gap:34px}.services-poster{width:min(100%,420px)}.logo-frame{height:500px}}
@media(max-width:620px){.logo-frame{height:390px;padding:10px}.services-showcase{padding:20px;margin-bottom:42px}.services-poster img{height:auto}.services-showcase-copy h3{font-size:2.4rem}}
.hero{grid-template-columns:.95fr 1.05fr;gap:48px}.hero-visual{max-width:620px;width:100%}.logo-frame{height:610px;padding:0;border-radius:46% 46% 40px 40px}.photo-frame.logo-frame img{width:108%;max-width:none;margin-left:-4%}
@media(max-width:900px){.hero-visual{width:min(100%,600px)}.logo-frame{height:580px}}
@media(max-width:620px){.logo-frame{height:440px}.photo-frame.logo-frame img{width:112%;margin-left:-6%}}
