/* ===== GLAMOROUS GRINZ & BEAUTY — SHARED STYLES ===== */

:root{
  --navy:#1a2f5c;
  --navy-deep:#0f1f3d;
  --navy-soft:#2d4373;
  --gold:#b8824a;
  --gold-light:#d4a972;
  --gold-pale:#e8d4b0;
  --ivory:#faf6ee;
  --cream:#f1ead9;
  --warm-blush:#d4b29a;
  --stone:#5a6378;
}

*{box-sizing:border-box;margin:0;padding:0}

/* Mobile alignment fix */
.hero > *, .ba-pair > *, .results-grid > *, .ugc-grid > *, .testi-grid > *,
.treatments-row > *, .footer-inner > *, .contact-inner > *, .ach-strip > *,
.achievements-inner > *, .form-row > * {
  min-width: 0;
}

html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{
  font-family:'Inter', sans-serif;
  background:var(--ivory);color:var(--navy);
  line-height:1.6;font-weight:400;overflow-x:hidden;
}

img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}

/* ===== ANNOUNCE BAR ===== */
.announce{
  background:var(--navy-deep);color:var(--gold-pale);
  text-align:center;padding:.65rem 1.5rem;font-size:.85rem;
  font-weight:400;letter-spacing:.01em;
}
.announce em{font-family:'Instrument Serif',serif;font-style:italic;color:var(--gold-light);font-size:1.05em}

/* ===== NAV ===== */
nav{
  position:sticky;top:0;z-index:50;
  background:rgba(250,246,238,.95);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(26,47,92,.08);
}
.nav-inner{
  max-width:1440px;margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;
  padding:1rem 2.5rem;gap:2rem;
}
.logo-link{display:flex;align-items:center}
.logo-link img{height:100px;width:auto;display:block;transition:opacity .3s}
.logo-link:hover img{opacity:.85}

.nav-links{display:flex;align-items:center;gap:2.75rem;list-style:none}
.nav-links a{
  color:var(--navy);text-decoration:none;
  font-size:.95rem;font-weight:500;letter-spacing:.01em;
  transition:color .3s;position:relative;
}
.nav-links a:hover{color:var(--gold)}
.nav-links a.current{color:var(--gold)}
.nav-right{display:flex;align-items:center;gap:1.5rem}
.nav-phone{
  font-family:'Instrument Serif',serif;font-style:italic;
  font-size:1.1rem;color:var(--navy);
}
.nav-phone:hover{color:var(--gold)}
.btn-book-now{
  background:var(--navy);color:var(--ivory);
  padding:.85rem 1.75rem;border-radius:999px;
  font-size:.9rem;font-weight:500;letter-spacing:.02em;
  transition:all .3s;display:inline-block;
}
.btn-book-now:hover{background:var(--gold);color:var(--navy-deep)}

.mobile-toggle{display:none;background:none;border:none;cursor:pointer;color:var(--navy)}
.mobile-toggle svg{width:28px;height:28px}

.nav-mobile{
  display:none;position:absolute;top:100%;left:0;right:0;
  background:var(--ivory);
  padding:1.5rem;
  flex-direction:column;gap:1rem;
  border-bottom:1px solid rgba(26,47,92,.08);
}
.nav-mobile.open{display:flex}
.nav-mobile a{
  color:var(--navy);text-decoration:none;
  padding:.75rem 0;font-size:1rem;font-weight:500;
  border-bottom:1px solid rgba(26,47,92,.08);
}
.nav-mobile a:last-child{border-bottom:none}

/* ===== TYPOGRAPHY ===== */
.section-label{
  display:inline-block;
  font-size:.78rem;font-weight:600;letter-spacing:.18em;
  text-transform:uppercase;color:var(--gold);
  background:var(--cream);
  padding:.45rem 1rem;border-radius:999px;
}
.section-label em{font-family:'Instrument Serif',serif;font-weight:400;font-style:italic;color:var(--navy);font-size:1.05em;letter-spacing:.05em;text-transform:none}
.section-title{
  font-family:'Instrument Serif',serif;
  font-size:clamp(2.25rem,4vw,3.5rem);
  font-weight:400;line-height:1.1;
  margin:1.25rem 0 1.5rem;color:var(--navy);
  letter-spacing:-.015em;
}
.section-title em{font-style:italic;color:var(--gold)}
.section-sub{
  font-size:1.1rem;color:var(--stone);
  line-height:1.6;font-weight:300;max-width:560px;
  margin-left:auto;margin-right:auto;
}

/* ===== ARTICLE / LONG-FORM CONTENT ===== */
.article{
  max-width:760px;margin:0 auto;
  padding:5rem 2.5rem 6rem;
}
.article-header{margin-bottom:3rem;text-align:center}
.article-eyebrow{
  display:inline-block;
  font-size:.75rem;font-weight:600;letter-spacing:.18em;
  text-transform:uppercase;color:var(--gold);
  margin-bottom:1.25rem;
}
.article-title{
  font-family:'Instrument Serif',serif;
  font-size:clamp(2.25rem,5vw,3.75rem);
  font-weight:400;line-height:1.08;
  letter-spacing:-.015em;color:var(--navy);
  margin-bottom:1.25rem;
}
.article-title em{font-style:italic;color:var(--gold)}
.article-meta{
  font-size:.9rem;color:var(--stone);
  font-style:italic;font-family:'Instrument Serif',serif;
}
.article-meta a{color:var(--gold);font-style:normal;font-family:'Inter',sans-serif;font-size:.85rem}
.article-deck{
  font-size:1.2rem;line-height:1.55;color:var(--stone);
  font-weight:300;margin-bottom:2.5rem;
  text-align:center;font-style:italic;
  font-family:'Instrument Serif',serif;
  max-width:600px;margin-left:auto;margin-right:auto;
}
.article-body{font-size:1.08rem;line-height:1.75;color:#3d4658}
.article-body p{margin-bottom:1.4rem}
.article-body h2{
  font-family:'Instrument Serif',serif;
  font-size:1.85rem;font-weight:400;
  color:var(--navy);
  margin:3rem 0 1.25rem;letter-spacing:-.01em;
  line-height:1.2;
}
.article-body h2 em{font-style:italic;color:var(--gold)}
.article-body h3{
  font-size:1.25rem;font-weight:600;color:var(--navy);
  margin:2rem 0 .75rem;letter-spacing:-.005em;
}
.article-body ul, .article-body ol{
  margin:1rem 0 1.4rem 1.5rem;padding:0;
}
.article-body li{margin-bottom:.5rem;line-height:1.65}
.article-body strong{color:var(--navy);font-weight:600}
.article-body em{font-style:italic}
.article-body blockquote{
  border-left:3px solid var(--gold);
  padding:.5rem 0 .5rem 1.5rem;
  margin:2rem 0;
  font-family:'Instrument Serif',serif;
  font-style:italic;font-size:1.25rem;line-height:1.55;
  color:var(--navy);
}
.article-body a{color:var(--gold);border-bottom:1px solid var(--gold-pale);transition:border-color .2s}
.article-body a:hover{border-color:var(--gold)}
.article-body hr{
  border:none;height:1px;background:var(--cream);
  margin:3rem 0;
}

/* Inline article CTA */
.inline-cta{
  background:var(--cream);border-radius:14px;
  padding:2rem 2rem;margin:2.5rem 0;
  border-left:3px solid var(--gold);
}
.inline-cta h3{
  font-family:'Instrument Serif',serif;
  font-size:1.4rem;font-weight:400;
  color:var(--navy);margin-bottom:.6rem;letter-spacing:-.005em;
}
.inline-cta h3 em{font-style:italic;color:var(--gold)}
.inline-cta p{color:var(--stone);font-size:1rem;margin-bottom:1.25rem;line-height:1.55}
.inline-cta-btn{
  display:inline-block;
  background:var(--navy);color:var(--ivory);
  padding:.85rem 1.5rem;border-radius:999px;
  font-size:.85rem;font-weight:500;letter-spacing:.02em;
  transition:all .3s;
}
.inline-cta-btn:hover{background:var(--gold);color:var(--navy-deep)}

/* ===== PAGE HEADER (smaller hero for inner pages) ===== */
.page-hero{
  max-width:1280px;margin:0 auto;
  padding:5rem 2.5rem 3rem;text-align:center;
}
.page-hero .section-label{margin-bottom:1.25rem}
.page-hero h1{
  font-family:'Instrument Serif',serif;
  font-size:clamp(2.5rem,5.5vw,4.25rem);
  font-weight:400;line-height:1.05;
  margin-bottom:1.25rem;color:var(--navy);
  letter-spacing:-.02em;
}
.page-hero h1 em{font-style:italic;color:var(--gold)}
.page-hero .lead{
  font-size:1.2rem;color:var(--stone);
  line-height:1.6;font-weight:300;
  max-width:640px;margin:0 auto;
}

/* ===== BUTTONS ===== */
.btn-primary{
  background:var(--navy);color:var(--ivory);
  padding:1rem 2rem;border-radius:999px;
  font-size:.9rem;font-weight:500;letter-spacing:.02em;
  cursor:pointer;transition:all .35s;border:none;
  text-decoration:none;display:inline-flex;align-items:center;gap:.65rem;
}
.btn-primary:hover{background:var(--gold);color:var(--navy-deep);transform:translateY(-2px)}
.btn-secondary{
  color:var(--navy);font-size:.9rem;font-weight:500;
  letter-spacing:.02em;text-decoration:none;
  display:inline-flex;align-items:center;gap:.5rem;
  border-bottom:1px solid var(--navy);padding:.4rem 0;
  transition:all .3s;
}
.btn-secondary:hover{color:var(--gold);border-bottom-color:var(--gold)}

/* ===== JOURNAL/BLOG CARDS ===== */
.journal-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;
  max-width:1180px;margin:0 auto;
  padding:0 2.5rem;
}
.journal-card{
  background:var(--ivory);border-radius:18px;
  padding:2rem 2rem 2.25rem;
  border:1px solid var(--cream);
  transition:all .35s;
  display:flex;flex-direction:column;
}
.journal-card:hover{transform:translateY(-4px);box-shadow:0 25px 50px -15px rgba(15,31,61,.18);border-color:var(--gold-pale)}
.journal-card-eyebrow{
  font-size:.75rem;font-weight:600;letter-spacing:.15em;
  text-transform:uppercase;color:var(--gold);
  margin-bottom:.85rem;
}
.journal-card h3{
  font-family:'Instrument Serif',serif;
  font-size:1.55rem;font-weight:400;line-height:1.2;
  color:var(--navy);margin-bottom:.85rem;
  letter-spacing:-.01em;
}
.journal-card h3 em{font-style:italic;color:var(--gold)}
.journal-card p{
  color:var(--stone);font-size:1rem;line-height:1.55;
  margin-bottom:1.25rem;font-weight:300;
}
.journal-card-link{
  margin-top:auto;color:var(--navy);
  font-size:.85rem;font-weight:600;letter-spacing:.05em;
  text-transform:uppercase;
  display:inline-flex;align-items:center;gap:.5rem;
  transition:color .3s;
}
.journal-card:hover .journal-card-link{color:var(--gold)}

/* ===== SERVICE GRID ===== */
.service-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;
  max-width:1180px;margin:0 auto;
  padding:0 2.5rem;
}

/* Treatments rows on homepage — split into signature and add-ons */
.treatments-rows{
  max-width:1280px;margin:0 auto;padding:0 2.5rem;
}
.treatments-row{
  display:grid;gap:1.25rem;
}
.treatments-row.signature{
  grid-template-columns:repeat(3,1fr);
  margin-bottom:3.5rem;
}
.treatments-row.addons{
  grid-template-columns:repeat(3,1fr);
}
.treatments-row > *{min-width:0}
.treatments-row-label{
  display:flex;align-items:center;gap:1rem;
  margin-bottom:1.5rem;
  max-width:1280px;
}
.treatments-row-label .text{
  font-family:'Inter',sans-serif;
  font-size:.78rem;font-weight:600;letter-spacing:.18em;
  text-transform:uppercase;color:var(--gold);
}
.treatments-row-label .line{
  flex-grow:1;height:1px;background:rgba(26,47,92,.15);
}
/* Signature treatment cards — bigger */
.treatments-row.signature .service-card{
  min-height:380px;
}
/* Add-on treatment cards — slightly smaller */
.treatments-row.addons .service-card{
  min-height:300px;padding:1.85rem;
}
.treatments-row.addons .service-card h3{font-size:1.4rem}
.treatments-row.addons .service-card .pill{margin-bottom:1.25rem}
.service-card{
  background:var(--cream);border-radius:18px;
  padding:2.25rem 2rem;
  display:flex;flex-direction:column;
  border:1px solid transparent;
  transition:all .35s;
}
.service-card:hover{transform:translateY(-4px);border-color:var(--gold-pale);box-shadow:0 25px 50px -15px rgba(15,31,61,.15)}
.service-card .pill{
  display:inline-block;width:fit-content;
  font-size:.7rem;font-weight:600;letter-spacing:.12em;
  text-transform:uppercase;color:var(--gold);
  background:var(--ivory);
  padding:.4rem .85rem;border-radius:999px;margin-bottom:1.5rem;
}
.service-card h3{
  font-family:'Instrument Serif',serif;
  font-size:1.65rem;font-weight:400;line-height:1.2;
  color:var(--navy);margin-bottom:1rem;
  letter-spacing:-.01em;
}
.service-card h3 em{font-style:italic;color:var(--gold)}
.service-card p{
  color:var(--stone);font-size:.98rem;line-height:1.6;
  margin-bottom:1.5rem;font-weight:300;flex-grow:1;
}
.service-card-meta{
  display:flex;justify-content:space-between;align-items:center;
  padding-top:1rem;border-top:1px solid rgba(26,47,92,.1);
  margin-bottom:1.25rem;font-size:.85rem;
}
.service-card-meta .duration{color:var(--stone);font-weight:500}
.service-card-meta .price{
  font-family:'Instrument Serif',serif;font-style:italic;
  font-size:1.15rem;color:var(--navy);
}
.service-card-meta .price em{color:var(--gold)}
.service-card-link{
  color:var(--navy);font-size:.85rem;font-weight:600;
  letter-spacing:.05em;text-transform:uppercase;
  display:inline-flex;align-items:center;gap:.5rem;
  transition:color .3s;
}
.service-card:hover .service-card-link{color:var(--gold)}

/* ===== FOOTER ===== */
footer{
  background:var(--navy-deep);color:var(--gold-pale);
  padding:5rem 2.5rem 2.5rem;
}
.footer-inner{
  max-width:1280px;margin:0 auto;
  display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;
  gap:3rem;
  padding-bottom:2.5rem;border-bottom:1px solid rgba(232,212,176,.15);
}
.footer-wordmark{
  font-family:'Instrument Serif',serif;font-weight:400;
  font-size:2.1rem;line-height:1;letter-spacing:-.01em;
  color:var(--gold-pale);margin-bottom:1.5rem;
}
.footer-wordmark em{font-style:italic;color:var(--gold)}
.footer-brand p{
  font-family:'Instrument Serif',serif;font-style:italic;
  font-size:1.15rem;line-height:1.55;color:var(--gold-pale);
  max-width:300px;margin-bottom:1.75rem;
}
.footer-social{display:flex;gap:.65rem}
.footer-social a{
  width:40px;height:40px;border-radius:50%;
  border:1px solid rgba(232,212,176,.25);color:var(--gold-pale);
  display:grid;place-items:center;transition:all .3s;
}
.footer-social a:hover{background:var(--gold);color:var(--navy-deep);border-color:var(--gold)}
.footer-social svg{width:18px;height:18px}
.footer-col h4{
  font-family:'Instrument Serif',serif;font-style:italic;
  font-weight:400;font-size:1.2rem;color:var(--gold);
  margin-bottom:1.25rem;
}
.footer-col ul{list-style:none}
.footer-col li{margin-bottom:.7rem}
.footer-col a{
  color:var(--gold-pale);font-size:.92rem;
  transition:color .3s;
}
.footer-col a:hover{color:var(--ivory)}
.footer-bottom{
  max-width:1280px;margin:0 auto;
  padding-top:2.5rem;
  display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;
  font-size:.85rem;color:rgba(232,212,176,.5);
}
.footer-credit a{
  color:rgba(232,212,176,.5);
  transition:color .25s;
  letter-spacing:.01em;
}
.footer-credit a:hover{color:var(--gold-pale)}
.footer-credit a span{
  display:inline-block;
  transition:transform .25s;
  margin-left:.15rem;
}
.footer-credit a:hover span{transform:translateX(3px)}

/* ===== CTA BANNER ===== */
.cta-banner{
  max-width:none;padding:5rem 2.5rem;
  background:linear-gradient(135deg,var(--navy) 0%, var(--navy-deep) 100%);
  color:var(--ivory);text-align:center;
  position:relative;overflow:hidden;
}
.cta-banner::before{
  content:'';position:absolute;
  top:-100px;right:-100px;width:400px;height:400px;
  border-radius:50%;background:var(--gold);
  opacity:.12;filter:blur(80px);
}
.cta-banner::after{
  content:'';position:absolute;
  bottom:-100px;left:-100px;width:400px;height:400px;
  border-radius:50%;background:var(--gold-light);
  opacity:.08;filter:blur(80px);
}
.cta-inner{position:relative;z-index:1;max-width:760px;margin:0 auto}
.cta-banner h2{
  font-family:'Instrument Serif',serif;font-weight:400;
  font-size:clamp(2.25rem,4.5vw,3.5rem);
  line-height:1.1;margin-bottom:1.5rem;
  letter-spacing:-.015em;
}
.cta-banner h2 em{font-style:italic;color:var(--gold-light)}
.cta-banner p{
  color:rgba(232,212,176,.8);
  margin-bottom:2rem;font-size:1.05rem;
  max-width:540px;margin-left:auto;margin-right:auto;line-height:1.6;
}
.cta-banner .btn-primary{background:var(--gold);color:var(--navy-deep)}
.cta-banner .btn-primary:hover{background:var(--ivory)}

/* ===== UTILITY: BREADCRUMBS ===== */
.breadcrumb{
  font-size:.82rem;color:var(--stone);
  margin-bottom:1rem;letter-spacing:.02em;
}
.breadcrumb a{color:var(--gold);transition:color .2s}
.breadcrumb a:hover{color:var(--navy)}
.breadcrumb span{margin:0 .4rem;color:var(--stone);opacity:.6}

/* ===== TWO COLUMN ===== */
.two-col{
  display:grid;grid-template-columns:1.1fr 1fr;gap:5rem;align-items:start;
  max-width:1280px;margin:0 auto;
  padding:6rem 2.5rem;
}
.two-col h2{
  font-family:'Instrument Serif',serif;
  font-size:clamp(2rem,4vw,3rem);font-weight:400;line-height:1.1;
  color:var(--navy);margin-bottom:1.5rem;letter-spacing:-.015em;
}
.two-col h2 em{font-style:italic;color:var(--gold)}
.two-col p{color:var(--stone);font-size:1.05rem;line-height:1.7;margin-bottom:1.25rem}

/* ===== KEY POINTS BAND ===== */
.points-band{
  background:var(--cream);
  padding:4rem 2.5rem;
}
.points-inner{
  max-width:1180px;margin:0 auto;
  display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem;
}
.point{text-align:center;padding:0 1rem}
.point .num{
  font-family:'Instrument Serif',serif;font-style:italic;
  font-size:3rem;color:var(--gold);font-weight:400;line-height:1;
  display:block;margin-bottom:.85rem;
}
.point h4{
  font-family:'Instrument Serif',serif;font-weight:400;
  font-size:1.35rem;color:var(--navy);
  margin-bottom:.6rem;letter-spacing:-.005em;
}
.point p{color:var(--stone);font-size:.95rem;line-height:1.55;font-weight:300}

/* ===== RESPONSIVE ===== */
@media (max-width: 980px){
  .nav-links, .nav-phone{display:none}
  .mobile-toggle{display:block}
  .nav-inner{padding:.85rem 1.5rem}
  .journal-grid{grid-template-columns:1fr;padding:0 1.5rem}
  .service-grid{grid-template-columns:1fr;padding:0 1.5rem}
  .treatments-rows{padding:0 1.5rem}
  .treatments-row.signature{grid-template-columns:repeat(2,1fr)}
  .treatments-row.addons{grid-template-columns:repeat(2,1fr)}
  .treatments-row.signature .service-card,
  .treatments-row.addons .service-card{min-height:auto}
  .footer-inner{grid-template-columns:1fr 1fr;gap:2.5rem}
  .two-col{grid-template-columns:1fr;gap:3rem;padding:4rem 1.5rem;align-items:start}
  .points-inner{grid-template-columns:1fr;gap:2.5rem}
  .article{padding:3.5rem 1.5rem 4.5rem}
  .article-body{font-size:1.05rem}
  .article-body h2{font-size:1.6rem;margin:2.25rem 0 1rem}
  .page-hero{padding:3rem 1.5rem 2rem}
}
@media (max-width: 640px){
  .treatments-row.signature{grid-template-columns:1fr}
  .treatments-row.addons{grid-template-columns:1fr}
}
@media (max-width: 560px){
  .footer-inner{grid-template-columns:1fr}
  .article{padding:2.5rem 1.25rem 3.5rem}
  .inline-cta{padding:1.5rem 1.5rem}
  .breadcrumb{font-size:.78rem}
}


/* ===== CONTACT FORM ===== */
.contact-section{
  background:var(--ivory);
  padding:6rem 2.5rem;
  scroll-margin-top:90px;
}
.contact-inner{
  max-width:920px;margin:0 auto;
  display:grid;grid-template-columns:1fr 1.3fr;
  gap:4rem;align-items:start;
}
.contact-intro .section-label{margin-bottom:1.25rem}
.contact-intro h2{
  font-family:'Instrument Serif', serif;
  font-size:clamp(2rem, 3.6vw, 2.85rem);
  line-height:1.08;font-weight:400;
  color:var(--navy);margin-bottom:1.25rem;
}
.contact-intro h2 em{font-style:italic;color:var(--gold)}
.contact-intro p{
  color:var(--stone);font-size:1.02rem;
  line-height:1.7;margin-bottom:1.5rem;
}
.contact-intro .contact-detail{
  display:flex;align-items:center;gap:.7rem;
  color:var(--navy);font-size:.95rem;
  margin-bottom:.7rem;
}
.contact-intro .contact-detail svg{flex-shrink:0;color:var(--gold)}
.contact-intro .contact-detail a{color:var(--navy);text-decoration:none}
.contact-intro .contact-detail a:hover{color:var(--gold)}

.contact-form{
  background:var(--cream);
  border-radius:18px;
  padding:2.5rem;
}
.contact-form .form-row{
  display:grid;grid-template-columns:1fr 1fr;
  gap:1rem;margin-bottom:1rem;
}
.contact-form label{
  display:block;
  font-size:.8rem;font-weight:600;
  letter-spacing:.04em;text-transform:uppercase;
  color:var(--navy);margin-bottom:.45rem;
}
.contact-form label .req{color:var(--gold);margin-left:.2rem}
.contact-form .form-field{margin-bottom:1rem}
.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form input[type="tel"],
.contact-form select,
.contact-form textarea{
  width:100%;
  padding:.85rem 1rem;
  background:#fff;
  border:1px solid rgba(26,47,92,.15);
  border-radius:10px;
  font-family:'Inter', sans-serif;
  font-size:.97rem;
  color:var(--navy);
  transition:border-color .25s, box-shadow .25s;
  box-sizing:border-box;
}
.contact-form select{
  appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%231a2f5c' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 1rem center;
  padding-right:2.5rem;
}
.contact-form textarea{
  resize:vertical;min-height:120px;
}
.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus{
  outline:none;
  border-color:var(--gold);
  box-shadow:0 0 0 3px rgba(212,166,86,.15);
}
.contact-form .honeypot{
  position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;
}
.contact-form .form-submit{
  display:inline-flex;align-items:center;gap:.6rem;
  margin-top:.5rem;padding:1rem 1.75rem;
  background:var(--navy);color:#fff;
  border:none;border-radius:999px;
  font-family:'Inter', sans-serif;
  font-size:.95rem;font-weight:500;letter-spacing:.01em;
  cursor:pointer;transition:all .3s;
}
.contact-form .form-submit:hover{
  background:var(--gold);transform:translateY(-1px);
  box-shadow:0 10px 25px -10px rgba(212,166,86,.5);
}
.contact-form .form-note{
  margin-top:1rem;font-size:.82rem;color:var(--stone);line-height:1.55;
}

@media (max-width: 840px){
  .contact-section{padding:4rem 1.5rem}
  .contact-inner{grid-template-columns:1fr;gap:2.5rem}
  .contact-form{padding:1.75rem}
  .contact-form .form-row{grid-template-columns:1fr;gap:0}
}

/* ===== TESTIMONIALS / GOOGLE REVIEWS ===== */
.testimonials-section{
  background:var(--cream);
  padding:6rem 2.5rem;
}
.testimonials-inner{
  max-width:1180px;margin:0 auto;
}
.testimonials-head{
  text-align:center;margin-bottom:3.5rem;
}
.testi-featured{
  display:grid;grid-template-columns:1fr 280px;
  gap:3rem;align-items:center;
  background:var(--ivory);border-radius:22px;
  padding:3rem 3rem;margin-bottom:2rem;
  border:1px solid var(--gold-pale);
  box-shadow:0 25px 60px -20px rgba(15,31,61,.12);
}
.testi-featured-avatar{
  width:64px;height:64px;border-radius:50%;
  background:linear-gradient(135deg,var(--gold-light),var(--gold));
  color:var(--ivory);
  font-family:'Instrument Serif',serif;font-size:1.85rem;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;float:left;margin-right:1.5rem;
}
.testi-featured-content{overflow:hidden}
.testi-featured-stars{
  color:var(--gold);font-size:.95rem;letter-spacing:.18em;
  margin-bottom:1rem;
}
.testi-featured blockquote{
  font-family:'Instrument Serif',serif;
  font-size:1.55rem;font-weight:400;line-height:1.35;
  color:var(--navy);margin-bottom:1.25rem;
  letter-spacing:-.005em;
}
.testi-featured blockquote em{font-style:italic;color:var(--gold)}
.testi-featured-attr{
  font-size:.88rem;color:var(--stone);
  display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;
}
.testi-featured-attr .name{color:var(--navy);font-weight:600}
.testi-featured-attr .sep{color:var(--gold-pale)}
.testi-featured-google{
  border-left:1px solid var(--cream);
  padding-left:2rem;text-align:center;
}
.testi-featured-google .google-logo{
  font-family:'Inter',sans-serif;font-weight:600;font-size:1.4rem;
  margin-bottom:.75rem;letter-spacing:-.01em;
}
.testi-featured-google .google-logo span:nth-child(1){color:#4285F4}
.testi-featured-google .google-logo span:nth-child(2){color:#EA4335}
.testi-featured-google .google-logo span:nth-child(3){color:#FBBC05}
.testi-featured-google .google-logo span:nth-child(4){color:#4285F4}
.testi-featured-google .google-logo span:nth-child(5){color:#34A853}
.testi-featured-google .google-logo span:nth-child(6){color:#EA4335}
.testi-featured-google .stars{
  color:var(--gold);font-size:1.15rem;letter-spacing:.18em;
  margin-bottom:.4rem;
}
.testi-featured-google .rating{
  font-family:'Instrument Serif',serif;font-size:2.25rem;
  color:var(--navy);line-height:1;margin-bottom:.35rem;
}
.testi-featured-google .count{
  font-size:.8rem;color:var(--stone);
}
.testi-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;
}
.testi-card{
  background:var(--ivory);border-radius:18px;
  padding:2rem;
  border:1px solid var(--cream);
  display:flex;flex-direction:column;
  transition:all .35s;
}
.testi-card:hover{transform:translateY(-4px);box-shadow:0 25px 50px -15px rgba(15,31,61,.15);border-color:var(--gold-pale)}
.testi-card .stars{
  color:var(--gold);font-size:.85rem;letter-spacing:.18em;
  margin-bottom:1rem;
}
.testi-card blockquote{
  font-family:'Inter',sans-serif;
  font-size:.98rem;font-weight:400;line-height:1.6;
  color:var(--navy);margin-bottom:1.5rem;flex-grow:1;
}
.testi-attr{
  margin-top:auto;display:flex;flex-direction:column;gap:.2rem;
  padding-top:1rem;border-top:1px solid var(--cream);
}
.testi-attr .name{
  font-size:.95rem;font-weight:600;color:var(--navy);
}
.testi-attr .treatment{
  font-size:.78rem;color:var(--stone);letter-spacing:.02em;
}
.testi-foot{
  text-align:center;margin-top:2.5rem;
}

@media (max-width: 840px){
  .testimonials-section{padding:4rem 1.5rem}
  .testi-featured{
    grid-template-columns:1fr;gap:2rem;
    padding:2rem 1.75rem;
  }
  .testi-featured-google{
    border-left:none;border-top:1px solid var(--cream);
    padding-left:0;padding-top:1.75rem;
  }
  .testi-featured blockquote{font-size:1.25rem}
  .testi-featured-avatar{
    width:52px;height:52px;font-size:1.5rem;
    margin-right:1rem;
  }
  .testi-grid{grid-template-columns:1fr;gap:1.25rem}
}

/* ===== UGC / INSTAGRAM GRID ===== */
.ugc-section{
  background:var(--ivory);
  padding:6rem 2.5rem;
}
.ugc-inner{
  max-width:1180px;margin:0 auto;
}
.ugc-head{
  text-align:center;margin-bottom:3.5rem;
}
.ugc-handle{
  display:inline-flex;align-items:center;gap:.5rem;
  font-size:.92rem;color:var(--stone);
  margin-top:1rem;
}
.ugc-handle a{
  color:var(--navy);font-weight:500;
  border-bottom:1px solid transparent;transition:all .3s;
}
.ugc-handle a:hover{color:var(--gold);border-bottom-color:var(--gold)}
.ugc-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;
}
.ugc-item{
  position:relative;display:block;
  aspect-ratio:1/1;border-radius:14px;overflow:hidden;
  background:var(--cream);
  transition:transform .4s;
}
.ugc-item:hover{transform:translateY(-4px)}
.ugc-item img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .55s ease;
}
.ugc-item:hover img{transform:scale(1.06)}
.ugc-badge{
  position:absolute;top:.75rem;left:.75rem;z-index:2;
  background:rgba(15,31,61,.78);color:var(--ivory);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  font-size:.65rem;font-weight:600;letter-spacing:.12em;
  text-transform:uppercase;
  padding:.35rem .65rem;border-radius:999px;
  display:flex;align-items:center;gap:.35rem;
}
.ugc-play{
  position:absolute;top:50%;left:50%;
  transform:translate(-50%,-50%);
  z-index:2;width:46px;height:46px;
  background:rgba(250,246,238,.92);color:var(--navy);
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  transition:all .35s;
  pointer-events:none;
}
.ugc-play svg{width:18px;height:18px;margin-left:2px}
.ugc-item:hover .ugc-play{
  background:var(--gold);color:var(--ivory);
  transform:translate(-50%,-50%) scale(1.08);
}
.ugc-overlay{
  position:absolute;left:0;right:0;bottom:0;
  background:linear-gradient(to top,rgba(15,31,61,.92) 0%,rgba(15,31,61,0) 100%);
  padding:2.5rem 1rem 1rem;
  color:var(--ivory);
  opacity:0;transform:translateY(8px);
  transition:opacity .35s,transform .35s;
  z-index:1;
}
.ugc-item:hover .ugc-overlay{opacity:1;transform:translateY(0)}
.ugc-eyebrow{
  font-size:.65rem;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--gold-light);
  margin-bottom:.3rem;
}
.ugc-caption{
  font-family:'Instrument Serif',serif;font-style:italic;
  font-size:1rem;line-height:1.3;color:var(--ivory);
}
.ugc-foot{
  text-align:center;margin-top:2.5rem;
}

@media (max-width: 840px){
  .ugc-section{padding:4rem 1.5rem}
  .ugc-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}
  .ugc-play{width:38px;height:38px}
  .ugc-play svg{width:14px;height:14px}
  /* On mobile, hover doesn't work — show overlay always but subtler */
  .ugc-overlay{opacity:1;transform:translateY(0);padding:2rem .75rem .75rem}
  .ugc-caption{font-size:.85rem}
}
