@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=DM+Sans:wght@400;500;600;700&family=Allura&display=swap');

:root{
  --cream:#fffaf7; --ivory:#fffdfb; --blush:#f4d8d4; --rose:#bd6e72;
  --deep:#5e3937; --ink:#493b3a; --gold:#b89167; --line:#ead8d3;
  --teal:#18aab1;
}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--cream);font-family:"DM Sans",Arial,sans-serif;line-height:1.65}
a{color:inherit;text-decoration:none}.topbar{height:30px;background:#f1d8d5;text-align:center;letter-spacing:4px;font-size:10px;font-weight:700;color:#704542;padding:6px}.topbar span{float:right;margin-right:28px;letter-spacing:0}
.nav{position:sticky;top:0;z-index:10;background:rgba(255,253,251,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);min-height:82px;padding:12px 4vw;display:flex;align-items:center;gap:26px}
.brand{display:flex;align-items:center;gap:10px;margin-right:auto}.brand-mark{width:48px;height:48px;border-radius:50%;border:1px solid var(--rose);display:grid;place-items:center;color:var(--rose);font-family:Georgia,serif;font-size:20px}.brand-name{font-family:"Cormorant Garamond",serif;font-size:30px;line-height:1;color:#9d5b5c}.brand-sub{font-size:8px;letter-spacing:2px;color:#8c7772;margin-top:5px}.links{display:flex;gap:22px;font-size:11px;text-transform:uppercase;letter-spacing:1.5px}.links a:hover{color:var(--rose)}
.btn{display:inline-block;background:var(--rose);color:white;border-radius:999px;padding:13px 25px;font-size:11px;text-transform:uppercase;letter-spacing:1.6px;font-weight:700;box-shadow:0 7px 18px rgba(189,110,114,.2)}.btn:hover{transform:translateY(-1px)}.btn-outline{background:transparent;border:1px solid var(--rose);color:var(--deep);box-shadow:none}.btn-small{padding:10px 18px;font-size:10px;white-space:nowrap}
.hero{display:grid;grid-template-columns:1fr 1fr;min-height:590px;background:linear-gradient(110deg,#fff9f6 0%,#f9ebe7 52%,#f3ddd8 100%)}.hero-copy{padding:90px 7vw 70px;display:flex;justify-content:center;flex-direction:column}.eyebrow,.section-kicker{font-size:11px;letter-spacing:3.2px;font-weight:700;color:#825451}.hero h1{font-family:"Cormorant Garamond",serif;font-size:72px;line-height:.88;font-weight:500;margin:15px 0 28px;color:#7e4a48}.hero h1 em,.cta h2 em{font-family:"Allura",cursive;font-style:normal;font-weight:400}.lead{font-family:"Cormorant Garamond",serif;font-size:21px;max-width:610px;line-height:1.45}.lead.small{font-family:"DM Sans",sans-serif;font-size:15px}.actions{display:flex;gap:12px;margin-top:20px}.hero-photo{min-height:590px}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 35%}
.pillars{text-align:center;padding:58px 5vw;background:#fff}.pillars h2,.services h2,.journey h2,.faq h2{font-family:"Allura",cursive;font-size:42px;color:#84504e;font-weight:400;margin:4px 0 35px}.pillar-grid{display:grid;grid-template-columns:repeat(4,1fr);max-width:1200px;margin:auto}.pillar-grid article{padding:10px 30px;border-right:1px solid var(--line)}.pillar-grid article:last-child{border:0}.icon{font-size:32px;color:#a76464}.pillar-grid h3,.service-card h3,.steps h3{font-size:12px;letter-spacing:2px;text-transform:uppercase}.pillar-grid p{font-size:13px}
.services{padding:70px 4vw;background:#fffaf7;text-align:center}.service-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;max-width:1300px;margin:auto}.service-card{background:#fff;border:1px solid var(--line);padding:0 14px 20px;box-shadow:0 8px 24px rgba(89,57,54,.05)}.service-photo{height:150px;margin:0 -14px 18px;background-size:cover;background-position:center}.service-photo.lip{background:linear-gradient(135deg,#f2d5d2,#d98e8c)}.service-photo.skin{background:linear-gradient(135deg,#e9d4c6,#b7a69b)}.service-photo.hormone{background:linear-gradient(135deg,#dae2d6,#f2eadf)}.service-photo.weight{background:linear-gradient(135deg,#f0d8bd,#d7b083)}.service-photo.wellness{background:linear-gradient(135deg,#d7ebea,#b7d8d5)}.service-card p{font-size:12px;min-height:112px}.service-card a{display:inline-block;border:1px solid var(--rose);border-radius:999px;padding:8px 14px;font-size:10px;text-transform:uppercase;letter-spacing:1.4px;color:var(--deep)}
.pellecome{padding:70px 8vw;display:grid;grid-template-columns:230px 1fr;gap:60px;align-items:center;background:#f7e7e3}.pellecome-badge{background:#fff;border-radius:20px;padding:20px;box-shadow:0 10px 28px rgba(0,0,0,.08)}.pellecome-badge img{width:100%;display:block}.pellecome h2,.about h2,.contact h2{font-family:"Cormorant Garamond",serif;font-size:48px;line-height:1;color:#754846;font-weight:600;margin:8px 0}.pellecome p{max-width:700px}
.about{display:grid;grid-template-columns:42% 58%;background:#fff}.about-photo{min-height:560px}.about-photo img{width:100%;height:100%;object-fit:cover;object-position:center 25%}.about-copy{padding:70px 8vw;display:flex;justify-content:center;flex-direction:column}.about-copy h2 span{font-size:26px;font-weight:400}.about-copy h3{font-size:14px;letter-spacing:2px;text-transform:uppercase}.signature{font-family:"Allura",cursive;font-size:30px;color:#9b5d5c}
.journey{text-align:center;padding:70px 6vw;background:#fff9f6}.steps{display:grid;grid-template-columns:repeat(4,1fr);max-width:1100px;margin:auto;gap:30px}.steps b{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#f0d1ce;color:#825451}.steps p{font-size:13px}
.cta{padding:70px 8vw;background:linear-gradient(100deg,#f5dcd8,#fff8f5);display:flex;justify-content:space-between;align-items:center;gap:30px}.cta h2{font-family:"Cormorant Garamond",serif;font-size:42px;line-height:1.05;font-weight:500;color:#754846;margin:5px 0}
.faq{padding:70px 10vw;background:#fff}.faq details{max-width:850px;margin:12px auto;border-bottom:1px solid var(--line);padding:18px 4px}.faq summary{cursor:pointer;font-weight:700;letter-spacing:.5px}.faq details p{font-size:14px}
.contact{padding:70px 8vw;display:grid;grid-template-columns:1fr 380px;gap:50px;background:#f8e8e4}.contact-card{background:#fff;padding:32px;border:1px solid var(--line);box-shadow:0 10px 25px rgba(0,0,0,.04)}.contact-card a:not(.btn){color:#9a5d5c;font-weight:700}
footer{background:#302a29;color:#f8eeea;padding:45px 6vw 28px;display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:30px;align-items:center}.footer-brand{display:flex;align-items:center;gap:12px}.footer-brand .brand-name{color:#f5d9d4}.footer-brand .brand-sub{color:#d5bdb7}.footer-links{display:flex;flex-wrap:wrap;gap:14px;font-size:11px}.footer-links a:hover{color:#f3c3bd}footer p{text-align:right;font-family:"Allura",cursive;font-size:25px}footer small{grid-column:1/-1;text-align:center;color:#cdbbb6;font-size:10px}

@media(max-width:1000px){.links{display:none}.hero{grid-template-columns:1fr}.hero-photo{min-height:500px}.pillar-grid,.service-grid{grid-template-columns:repeat(2,1fr)}.pellecome{grid-template-columns:180px 1fr}.steps{grid-template-columns:repeat(2,1fr)}footer{grid-template-columns:1fr 1fr}footer p{text-align:left}}
@media(max-width:650px){.nav{padding:10px 18px}.brand-name{font-size:25px}.brand-sub{font-size:7px}.btn-small{display:none}.hero-copy{padding:60px 24px}.hero h1{font-size:58px}.hero-photo{min-height:430px}.pillar-grid,.service-grid,.pellecome,.about,.steps,.contact,footer{grid-template-columns:1fr}.pillar-grid article{border-right:0;border-bottom:1px solid var(--line);padding:20px}.service-card{margin-bottom:4px}.pellecome{padding:50px 24px;gap:30px}.pellecome-badge{max-width:180px}.about-photo{min-height:430px}.about-copy{padding:50px 24px}.cta{padding:55px 24px;flex-direction:column;align-items:flex-start}.cta h2{font-size:36px}.contact{padding:55px 24px}footer p{text-align:left}}

/* Treatment gallery */
.results{padding:76px 5vw;text-align:center;background:#fffdfb}
.results h2{font-family:"Allura",cursive;font-size:52px;font-weight:400;color:#84504e;margin:0 0 10px}
.results-intro{max-width:730px;margin:0 auto 35px;font-size:14px}
.results-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;max-width:1250px;margin:0 auto 28px;align-items:start}
.result-card{margin:0;padding:12px 12px 15px;background:#fff;border:1px solid var(--line);box-shadow:0 8px 24px rgba(89,57,54,.07);border-radius:12px}
.result-card img{display:block;width:100%;height:auto;border-radius:7px}
.result-card figcaption{padding:12px 2px 2px;color:#825451;font-size:12px;letter-spacing:.5px}
.results-note{max-width:850px;margin:0 auto 25px;color:#74635f;font-size:12px}

@media(max-width:900px){.results-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.results{padding:50px 20px}.results-grid{grid-template-columns:1fr}.results h2{font-size:44px}}

/* Official Goddess Glow branding */
.brand-logo{display:block;width:64px;height:64px;object-fit:contain;background:#fff;border-radius:5px;flex-shrink:0}
.footer-brand .brand-logo{width:88px;height:88px;padding:3px}
@media(max-width:650px){.brand-logo{width:50px;height:50px}.footer-brand .brand-logo{width:76px;height:76px}}

/* Expanded, accessible service descriptions */
.service-details {margin-top: 16px; border-top: 1px solid rgba(158,127,103,.25); padding-top: 12px;}
.service-details summary {cursor:pointer; font-weight:650; color:#84664f; display:flex; justify-content:space-between; gap:12px; list-style:none;}
.service-details summary::-webkit-details-marker {display:none;}
.service-details[open] summary span {transform:rotate(45deg);}
.service-details p {margin-top:13px; line-height:1.65;}
.service-details .service-note {font-size:.91rem; opacity:.85;}
.service-details a {display:inline-block; margin-top:8px; font-weight:600;}
