/* Pure Skin Care — Ghost theme. Tokens measured from the live site. */
:root{
  --cream:#f7f4f2; --sand:#f5e9d5; --blush:#b78f8f; --blush-dark:#a77676;
  --gold:#c49661; --gold-bright:#d8a855; --gold-dark:#9d6b2a;
  --ink:#303030; --ink-dark:#181919; --container:1200px;
  --gh-font-heading:Alegreya,Georgia,serif; --gh-font-body:"Alegreya Sans",system-ui,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--cream); color:var(--ink);
  font-family:var(--gh-font-body); font-size:18px; line-height:1.6;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--gold-dark);text-decoration:none}
a:hover{color:var(--blush-dark)}
h1,h2,h3,h4{font-family:var(--gh-font-heading);font-weight:400;color:var(--ink);line-height:1.15;margin:0 0 .4em}
h1{font-size:clamp(34px,6vw,48px)} h2{font-size:clamp(28px,5vw,40px)} h3{font-size:24px}
p{margin:0 0 1rem}
.container{max-width:var(--container);margin:0 auto;padding:0 22px}
.section{padding:64px 0}
.bg-sand{background:var(--sand)} .bg-cream{background:var(--cream)}
.text-center{text-align:center}
.eyebrow{font-family:Lato,"Alegreya Sans",sans-serif;font-size:13px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--blush)}

/* Buttons */
.btn{display:inline-block;padding:6px 22px;line-height:38px;font-family:"Alegreya Sans",sans-serif;
  font-size:16px;font-weight:500;text-transform:uppercase;letter-spacing:4px;border-radius:2px;color:#fff;white-space:nowrap;transition:background-color .15s,color .15s}
.btn-blush{background:var(--blush)} .btn-blush:hover{background:var(--blush-dark);color:#fff}
.btn-gold{background:var(--gold)} .btn-gold:hover{background:var(--gold-dark);color:#fff}
.btn-outline{background:transparent;color:var(--gold-dark);box-shadow:inset 0 0 0 2px var(--gold)}
.btn-outline:hover{background:var(--gold);color:#fff}
.btn-sm{padding:2px 16px;line-height:30px;font-size:13px;letter-spacing:3px}

/* Top utility bar */
.topbar{background:var(--blush);color:#fff}
.topbar .container{display:flex;justify-content:center;gap:22px;padding:7px 22px;font-size:12px;text-transform:uppercase;letter-spacing:2px}
.topbar a{color:#fff} .topbar a:hover{color:var(--cream)} .topbar .sep{opacity:.5}

/* Header / nav */
.site-header{position:sticky;top:0;z-index:50;background:rgba(247,244,242,.96);backdrop-filter:blur(6px);border-bottom:1px solid rgba(48,48,48,.1)}
.nav-grid{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:8px 22px;max-width:var(--container);margin:0 auto}
.nav-logo{justify-self:center;display:flex;align-items:center}
.nav-logo img{height:64px;width:64px}
.nav-menu{display:flex;align-items:center;gap:26px}
.nav-menu>li{position:relative;list-style:none}
.nav-menu a{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:1.5px;color:rgba(48,48,48,.85);padding:12px 0;display:flex;align-items:center;gap:5px}
.nav-menu a:hover{color:var(--gold-dark)}
.nav-menu ul.sub{position:absolute;left:0;top:100%;min-width:230px;background:var(--cream);box-shadow:0 8px 24px rgba(0,0,0,.12);border:1px solid rgba(48,48,48,.08);border-radius:0 0 4px 4px;padding:8px;margin:0;list-style:none;opacity:0;visibility:hidden;transform:translateY(-6px);transition:.18s}
.nav-menu li:hover>ul.sub{opacity:1;visibility:visible;transform:none}
.nav-menu ul.sub li{position:relative}
.nav-menu ul.sub a{display:flex;justify-content:space-between;padding:8px 12px;font-size:13px;letter-spacing:.5px;text-transform:none;border-radius:3px}
.nav-menu ul.sub a:hover{background:var(--sand)}
.nav-menu ul.sub ul.sub{left:100%;top:0;border-radius:4px}
.nav-right{display:flex;align-items:center;justify-content:flex-end;gap:14px}
.nav-phone{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--gold-dark)}
.nav-toggle{display:none;justify-self:end;background:none;border:0;padding:8px;cursor:pointer;color:var(--ink)}

/* Mobile menu */
.mobile-menu{display:none;border-top:1px solid rgba(48,48,48,.1);background:var(--cream)}
.mobile-menu.open{display:block}
.mobile-menu ul{list-style:none;margin:0;padding:8px 22px}
.mobile-menu>ul>li{border-bottom:1px solid rgba(48,48,48,.08)}
.mobile-menu a{display:block;padding:12px 0;text-transform:uppercase;letter-spacing:1px;font-size:14px;font-weight:600;color:var(--ink)}
.mobile-menu .sub a{text-transform:none;font-weight:400;padding:8px 0 8px 16px;color:rgba(48,48,48,.8)}

@media(max-width:1000px){
  .nav-menu,.nav-right{display:none}
  .nav-toggle{display:block}
  .nav-grid{grid-template-columns:auto 1fr auto}
  .nav-logo{justify-self:start}
}

/* Footer */
.site-footer{background:var(--ink);color:rgba(247,244,242,.8)}
.site-footer .container{padding:48px 22px;text-align:center}
.footer-logo{height:90px;width:90px;border-radius:50%;background:#fff;padding:4px;margin:0 auto}
.footer-ctas{display:flex;gap:12px;justify-content:center;margin:18px 0}
.footer-nav{display:flex;flex-wrap:wrap;gap:8px 22px;justify-content:center;list-style:none;padding:0;margin:0;font-size:12px;text-transform:uppercase;letter-spacing:1px}
.footer-nav a{color:rgba(247,244,242,.8)} .footer-nav a:hover{color:var(--gold-bright)}
.footer-cols{display:grid;gap:28px;grid-template-columns:repeat(3,1fr);margin-top:32px;border-top:1px solid rgba(247,244,242,.1);padding-top:32px}
.footer-cols h4{color:var(--gold-bright);font-family:"Alegreya Sans",sans-serif;font-size:12px;letter-spacing:2px;text-transform:uppercase}
.footer-cols a{color:rgba(247,244,242,.8)}
.footer-copy{margin-top:28px;font-size:12px;color:rgba(247,244,242,.5)}
@media(max-width:680px){.footer-cols{grid-template-columns:1fr}}

/* Content (pages/posts) */
.page-hero{background:var(--sand);padding:48px 0;text-align:center}
.page-feature-image{margin:24px auto 0;border-radius:8px;max-height:520px;object-fit:cover}
.prose{max-width:760px;margin:0 auto;padding:48px 22px}
.prose h2,.prose h3{margin-top:1.6em}
.prose img{margin:1.5rem auto;border-radius:8px}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
@media(max-width:781px){.two-col{grid-template-columns:1fr}}
.kicker-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}

/* Koenig editor content support */
.kg-card{margin:1.6rem 0}
.gh-content > *{margin-bottom:1.2rem}
figure.kg-image-card img{margin:0 auto;border-radius:8px}
.kg-width-wide img{max-width:1100px;margin-left:auto;margin-right:auto}
.kg-width-full img{max-width:100vw;width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;border-radius:0}
.kg-bookmark-card{border:1px solid rgba(48,48,48,.12);border-radius:6px;overflow:hidden;display:flex}
.kg-bookmark-container{display:flex;text-decoration:none;color:inherit;width:100%}
.kg-gallery-row{display:flex;gap:10px} .kg-gallery-image img{width:100%}
.kg-button-card{text-align:center;margin:1.5rem 0}
.kg-btn{display:inline-block;padding:8px 24px;border-radius:2px;background:var(--gold);color:#fff;text-transform:uppercase;letter-spacing:3px;font-size:14px}

/* Responsive content grids (treatment cards, testimonials, specials) */
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:32px 24px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.finder-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:22px 0}
.finder-grid article{background:#fff;border:1px solid rgba(196,150,97,.28);border-radius:8px;padding:16px;box-shadow:0 4px 16px rgba(0,0,0,.04)}
.finder-grid h3{font-size:22px;margin:4px 0 6px;color:#9d6b2a}
.finder-grid p{font-size:14px;margin:0;color:rgba(48,48,48,.72)}
@media(max-width:900px){.grid-4{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:1fr}.finder-grid{grid-template-columns:1fr}}
@media(max-width:480px){.grid-4{grid-template-columns:repeat(2,1fr);gap:24px 14px}}

/* FAQ accordion (matches the WordPress +/- style) */
.faq-list{max-width:760px;margin:0 auto}
.faq-item{border-bottom:1px solid rgba(48,48,48,.14)}
.faq-item summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 4px;font-family:Alegreya,Georgia,serif;font-size:20px;color:#303030}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:hover{color:#9d6b2a}
.faq-plus{position:relative;width:18px;height:18px;flex:none;display:inline-block}
.faq-plus::before,.faq-plus::after{content:"";position:absolute;background:#c49661;transition:transform .2s,opacity .2s}
.faq-plus::before{top:8px;left:0;width:18px;height:2px}
.faq-plus::after{left:8px;top:0;width:2px;height:18px}
.faq-item[open] .faq-plus::after{transform:rotate(90deg);opacity:0}
.faq-a{padding:0 4px 20px;color:rgba(48,48,48,.85);line-height:1.65}

/* Testimonials (featured cards + CSS-only "read more" toggle) */
.testimonials .review-card{background:#fff;border:1px solid rgba(196,150,97,.3);border-radius:8px;padding:24px;margin:0}
.review-stars{color:var(--gold-bright)}
.review-card blockquote{margin:12px 0 0;font-size:15px}
.review-card figcaption{margin-top:12px;font-weight:700}
.reviews-more{margin-top:24px;text-align:center}
.reviews-more>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:12px;
  padding:8px 24px;line-height:38px;border-radius:2px;background:transparent;color:var(--gold-dark);
  box-shadow:inset 0 0 0 2px var(--gold);font-family:"Alegreya Sans",sans-serif;font-size:15px;font-weight:600;
  text-transform:uppercase;letter-spacing:3px;transition:background-color .15s,color .15s}
.reviews-more>summary::-webkit-details-marker{display:none}
.reviews-more>summary:hover{background:var(--gold);color:#fff}
.reviews-more>summary:hover .faq-plus::before,.reviews-more>summary:hover .faq-plus::after{background:#fff}
.reviews-more[open]>summary{margin-bottom:8px}
.reviews-more[open] .faq-plus::after{transform:rotate(90deg);opacity:0}
.reviews-more .testimonials{text-align:left}

/* Parity forms and production URL preservation */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.contact-form,.intake-form,.newsletter-form,.footer-newsletter{display:grid;gap:12px;margin-top:14px}
.contact-form label,.intake-form label{display:grid;gap:6px;font-family:Lato,"Alegreya Sans",sans-serif;font-size:13px;font-weight:700;letter-spacing:.4px;color:rgba(48,48,48,.78)}
.contact-form input,.contact-form textarea,.intake-form input,.intake-form textarea,.newsletter-form input,.footer-newsletter input{width:100%;padding:10px 12px;border:1px solid rgba(48,48,48,.15);border-radius:4px;background:#fff;color:var(--ink);font:inherit}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}
.form-note{font-size:12px;color:rgba(48,48,48,.55);margin-top:8px}
.newsletter-band{max-width:720px;margin:0 auto}
.newsletter-band h2{color:var(--gold-dark)}
.newsletter-form{max-width:520px;margin:20px auto 0;grid-template-columns:1fr auto;align-items:center}
.footer-newsletter{grid-template-columns:minmax(0,1fr) auto;align-items:center}
.treatment-faq-links{max-width:760px;margin:42px auto 0;text-align:center}
.treatment-faq-links ul{display:flex;flex-wrap:wrap;gap:10px 18px;justify-content:center;list-style:none;padding:0;margin:18px 0 0}
.testimonial-detail .review-card{max-width:680px;margin:24px auto 0}
@media (max-width:700px){.form-grid,.newsletter-form,.footer-newsletter{grid-template-columns:1fr}}
