/* ===================================================
   The Well Med Spa — Shared Stylesheet
   =================================================== */
:root{
  --ivory:#faf7f2;
  --cream:#f1ead0;
  --cream2:#f3ecdf;
  --taupe:#a9895f;
  --taupe-dark:#8a6f4d;
  --gold:#b79968;
  --brown-dark:#3c3226;
  --brown-mid:#6b5d4d;
  --brown-soft:#8c7c68;
  --border:#e3d8c4;
  --white:#ffffff;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Open Sans', sans-serif;
  color:var(--brown-mid);
  background:var(--ivory);
  line-height:1.65;
  font-size:16px;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{
  font-family:'Baskervville', serif;
  color:var(--brown-dark);
  font-weight:400;
  line-height:1.2;
}
img{max-width:100%;display:block;}
a{text-decoration:none;color:inherit;}
.wrap{max-width:1180px;margin:0 auto;padding:0 32px;}
.eyebrow{
  font-size:12.5px;
  letter-spacing:2.5px;
  text-transform:uppercase;
  color:var(--taupe-dark);
  font-weight:600;
  margin-bottom:14px;
  display:block;
}
.section{padding:96px 0;}
.section.alt{background:var(--cream2);}
.section.tight{padding:64px 0;}
.center{text-align:center;}
.btn{
  display:inline-block;
  padding:15px 34px;
  border-radius:2px;
  font-size:13.5px;
  letter-spacing:1.5px;
  text-transform:uppercase;
  font-weight:600;
  transition:all .25s ease;
  border:1px solid transparent;
  cursor:pointer;
}
.btn-primary{background:var(--taupe-dark);color:#fff;}
.btn-primary:hover{background:var(--brown-dark);}
.btn-outline{border:1px solid var(--brown-dark);color:var(--brown-dark);background:transparent;}
.btn-outline:hover{background:var(--brown-dark);color:#fff;}
.btn-light{border:1px solid #fff;color:#fff;}
.btn-light:hover{background:#fff;color:var(--brown-dark);}
.btn-block{width:100%;text-align:center;}

/* HEADER */
header{
  position:sticky;top:0;z-index:50;
  background:rgba(250,247,242,0.96);
  border-bottom:1px solid var(--border);
  backdrop-filter:blur(6px);
}
.nav{
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 32px;max-width:1180px;margin:0 auto;
}
.nav img.logo{height:46px;width:auto;}
.nav-links{display:flex;align-items:center;gap:38px;}
.nav-links a{
  font-size:13px;letter-spacing:1px;text-transform:uppercase;
  color:var(--brown-dark);font-weight:600;
  padding-bottom:4px;border-bottom:2px solid transparent;
}
.nav-links a:hover{color:var(--taupe-dark);}
.nav-links a.active{border-bottom:2px solid var(--taupe-dark);color:var(--taupe-dark);}
.nav-cta{margin-left:8px;}

/* HERO — full (home) */
.hero{
  position:relative;
  min-height:88vh;
  display:flex;align-items:center;
  background-position:center;background-size:cover;background-repeat:no-repeat;
  color:#fff;
}
.hero-inner{max-width:680px;padding:0 32px;margin:0 auto;text-align:center;}
.hero .eyebrow{color:var(--cream2);letter-spacing:3px;}
.hero h1{font-size:52px;font-style:italic;color:#fff;margin-bottom:22px;}
.hero p{font-size:18px;color:#f2ece0;max-width:560px;margin:0 auto 34px;}
.hero-ctas{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}

/* HERO — interior pages (smaller) */
.page-hero{
  position:relative;
  min-height:52vh;
  display:flex;align-items:center;
  background-position:center;background-size:cover;background-repeat:no-repeat;
  color:#fff;
}
.page-hero-inner{max-width:680px;padding:0 32px;margin:0 auto;text-align:center;}
.page-hero .eyebrow{color:var(--cream2);letter-spacing:3px;}
.page-hero h1{font-size:42px;font-style:italic;color:#fff;margin-bottom:16px;}
.page-hero p{font-size:16.5px;color:#f2ece0;max-width:560px;margin:0 auto 28px;}

/* SECTION HEAD */
.section-head{max-width:640px;margin:0 auto 56px;text-align:center;}
.section-head h2{font-size:36px;}

/* CARD GRIDS */
.card-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;}
.card-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.card-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;}
.card-grid-6{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);border:1px solid var(--border);}

.service-card{background:var(--white);border:1px solid var(--border);}
.service-card img{height:230px;width:100%;object-fit:cover;}
.service-card .sc-body{padding:28px;}
.service-card h3{font-size:22px;margin-bottom:10px;}
.service-card p{font-size:14.5px;margin-bottom:16px;}
.service-card a.link{font-size:12.5px;letter-spacing:1.5px;text-transform:uppercase;font-weight:700;color:var(--taupe-dark);border-bottom:1px solid var(--taupe-dark);padding-bottom:3px;}

/* PILLAR CARDS (home: Aesthetics / Women's Health) */
.pillar-card{
  position:relative;overflow:hidden;min-height:440px;
  display:flex;align-items:flex-end;
  background-position:center;background-size:cover;
}
.pillar-card::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(60,50,38,.15), rgba(60,50,38,.82));
}
.pillar-card-body{position:relative;z-index:2;padding:38px;color:#fff;}
.pillar-card .eyebrow{color:var(--cream2);}
.pillar-card h3{color:#fff;font-size:30px;margin-bottom:12px;font-style:italic;}
.pillar-card p{font-size:14.5px;color:#f2ece0;margin-bottom:20px;max-width:420px;}

/* PRACTITIONER / BIO — two column */
.practitioner{display:grid;grid-template-columns:0.85fr 1.15fr;gap:64px;align-items:center;}
.practitioner img{width:100%;height:520px;object-fit:cover;border-radius:2px;}
.quote-block{
  border-left:3px solid var(--taupe);
  padding-left:22px;margin:26px 0;font-style:italic;font-family:'Baskervville',serif;
  font-size:20px;color:var(--brown-dark);
}
.sig-name{font-weight:700;color:var(--brown-dark);letter-spacing:1px;text-transform:uppercase;font-size:13px;}
.sig-title{font-size:12.5px;color:var(--brown-soft);margin-top:2px;}

/* TEAM GRID (small cards w/ photo, name, title, short bio) */
.team-card{background:var(--white);border:1px solid var(--border);text-align:center;padding-bottom:26px;}
.team-card .photo{width:100%;height:280px;object-fit:cover;}
.team-card .placeholder-photo{
  width:100%;height:280px;display:flex;align-items:center;justify-content:center;
  background:var(--cream2);color:var(--taupe-dark);font-family:'Baskervville',serif;
  font-size:44px;font-style:italic;
}
.team-card .tc-body{padding:22px 22px 0;}
.team-card h4{font-size:19px;margin-bottom:4px;}
.team-card .role{font-size:11.5px;letter-spacing:1px;text-transform:uppercase;color:var(--taupe-dark);font-weight:700;margin-bottom:12px;}
.team-card p{font-size:13.5px;text-align:left;}

/* EXPERTISE GRID */
.expertise-item{background:var(--ivory);padding:38px 34px;}
.expertise-item h4{font-size:19px;margin-bottom:8px;}
.expertise-item p{font-size:14px;margin-bottom:10px;}
.expertise-item .price{font-size:12.5px;letter-spacing:1px;text-transform:uppercase;font-weight:700;color:var(--taupe-dark);}

/* STEPS */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:36px;}
.steps.steps-2{grid-template-columns:repeat(2,1fr);gap:40px;}
.step-num{font-family:'Baskervville',serif;font-style:italic;font-size:34px;color:var(--taupe);margin-bottom:14px;}
.step h4{font-size:18px;margin-bottom:8px;}
.step p{font-size:14px;}
.step .price-tag{display:inline-block;margin-top:10px;font-size:12.5px;letter-spacing:1px;text-transform:uppercase;font-weight:700;color:var(--taupe-dark);}

/* PROCESS CARD (women's health consultation steps) */
.process-card{background:var(--white);border:1px solid var(--border);padding:40px;}
.process-card h4{font-size:22px;margin-bottom:6px;}
.process-card .step-eyebrow{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--taupe-dark);font-weight:700;margin-bottom:10px;display:block;}
.process-card p{font-size:14.5px;margin-bottom:16px;}
.process-card .amount{font-family:'Baskervville',serif;font-size:26px;color:var(--brown-dark);}
.process-total{
  text-align:center;padding:22px;margin-top:8px;background:var(--cream2);
  border:1px solid var(--border);font-family:'Baskervville',serif;font-size:20px;color:var(--brown-dark);
}

/* CARE OPTION CARDS (membership vs pay-as-you-go) */
.care-card{background:var(--white);border:1px solid var(--border);padding:36px;position:relative;}
.care-card.featured{border:2px solid var(--taupe-dark);}
.care-card .badge{
  position:absolute;top:-13px;left:36px;background:var(--taupe-dark);color:#fff;
  font-size:11px;letter-spacing:1.5px;text-transform:uppercase;padding:5px 14px;font-weight:700;
}
.care-card h4{font-size:22px;margin-bottom:4px;}
.care-card .amount{font-family:'Baskervville',serif;font-size:30px;color:var(--taupe-dark);margin-bottom:14px;}
.care-card ul{list-style:none;margin:16px 0;}
.care-card ul li{font-size:14px;padding:8px 0 8px 22px;position:relative;border-bottom:1px solid var(--border);}
.care-card ul li::before{content:"—";position:absolute;left:0;color:var(--taupe-dark);}
.care-card .note{font-size:12.5px;color:var(--brown-soft);font-style:italic;margin-top:14px;}

/* SIGNAL LIST */
.signal-list{list-style:none;margin:22px 0 28px;}
.signal-list li{padding:12px 0 12px 28px;border-bottom:1px solid var(--border);position:relative;font-size:15px;color:var(--brown-mid);}
.signal-list li::before{content:"—";position:absolute;left:0;color:var(--taupe-dark);font-weight:700;}

/* CHECK LIST (approach bullets) */
.check-list{list-style:none;margin:20px 0;}
.check-list li{padding:9px 0 9px 26px;position:relative;font-size:14.5px;}
.check-list li::before{content:"✓";position:absolute;left:0;color:var(--taupe-dark);font-weight:700;}

/* WOMEN'S HEALTH TWO COL */
.womens-health{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
.womens-health img{width:100%;height:560px;object-fit:cover;}

/* PRICING */
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.price-card{background:var(--white);border:1px solid var(--border);padding:30px 26px;text-align:center;}
.price-card h4{font-size:17px;margin-bottom:10px;min-height:44px;}
.price-card .amount{font-family:'Baskervville',serif;font-size:26px;color:var(--taupe-dark);margin-bottom:8px;}
.price-card p{font-size:13px;color:var(--brown-soft);}
.price-note{text-align:center;font-size:13px;color:var(--brown-soft);margin-top:28px;font-style:italic;}

/* TESTIMONIALS */
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.testi-card{background:var(--white);border:1px solid var(--border);padding:32px;}
.testi-card p{font-size:14.5px;font-style:italic;margin-bottom:18px;color:var(--brown-mid);}
.testi-card .stars{color:var(--taupe);letter-spacing:2px;margin-bottom:14px;font-size:14px;}
.testi-name{font-size:13px;text-transform:uppercase;letter-spacing:1px;font-weight:700;color:var(--brown-dark);}

/* FAQ */
.faq-wrap{max-width:760px;margin:0 auto;}
details{border-bottom:1px solid var(--border);padding:22px 0;}
summary{font-family:'Baskervville',serif;font-size:19px;color:var(--brown-dark);cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;}
summary::-webkit-details-marker{display:none;}
summary::after{content:"+";font-size:22px;color:var(--taupe-dark);margin-left:20px;}
details[open] summary::after{content:"–";}
details p{margin-top:14px;font-size:14.5px;padding-right:30px;}

/* GET STARTED — PATH CARDS */
.path-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;}
.path-card{background:var(--white);border:1px solid var(--border);padding:44px 38px;text-align:center;}
.path-card .eyebrow{display:block;}
.path-card h3{font-size:26px;margin-bottom:14px;font-style:italic;}
.path-card p{font-size:14.5px;margin-bottom:26px;}

/* CONTACT FORM */
.form-wrap{max-width:640px;margin:0 auto;background:var(--white);border:1px solid var(--border);padding:44px;}
.form-row{margin-bottom:20px;}
.form-row label{display:block;font-size:12.5px;text-transform:uppercase;letter-spacing:1px;font-weight:700;color:var(--brown-dark);margin-bottom:8px;}
.form-row input,.form-row select,.form-row textarea{
  width:100%;padding:13px 14px;border:1px solid var(--border);background:var(--ivory);
  font-family:'Open Sans',sans-serif;font-size:14.5px;color:var(--brown-mid);
}
.form-row input:focus,.form-row select:focus,.form-row textarea:focus{outline:1px solid var(--taupe-dark);}
.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px;}

/* CLOSING CTA */
.closing{
  position:relative;color:#fff;padding:110px 0;text-align:center;
  background-position:center;background-size:cover;background-repeat:no-repeat;
}
.closing .eyebrow{color:var(--cream2);}
.closing h2{color:#fff;font-size:38px;font-style:italic;margin-bottom:16px;}
.closing p{max-width:480px;margin:0 auto 30px;color:#f2ece0;}
.closing-ctas{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}

/* MISSION / VALUES */
.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;text-align:center;}
.value-item .step-num{margin:0 auto 14px;}
.value-item h4{font-size:20px;margin-bottom:10px;}
.value-item p{font-size:14px;}

/* FOOTER */
footer{background:var(--brown-dark);color:#e6ddcd;padding:70px 0 30px;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:50px;margin-bottom:50px;}
footer img.flogo{height:44px;margin-bottom:16px;filter:brightness(0) invert(1) opacity(.9);}
footer p{font-size:13.5px;color:#c9bda6;line-height:1.7;}
footer h5{font-family:'Open Sans';font-size:12.5px;text-transform:uppercase;letter-spacing:1.5px;color:#fff;margin-bottom:18px;}
footer ul{list-style:none;}
footer ul li{margin-bottom:12px;}
footer ul a{font-size:14px;color:#c9bda6;}
footer ul a:hover{color:#fff;}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.12);padding-top:26px;
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;
  font-size:12.5px;color:#a9987e;
}
.footer-bottom a{color:#a9987e;}
.footer-bottom a:hover{color:#fff;}

@media(max-width:900px){
  .nav-links{display:none;}
  .hero h1{font-size:38px;}
  .page-hero h1{font-size:32px;}
  .card-grid-2,.card-grid-3,.card-grid-4,.card-grid-6,.steps,.steps.steps-2,.price-grid,.testi-grid,.path-grid,.values-grid,.form-grid-2{grid-template-columns:1fr;}
  .practitioner,.womens-health{grid-template-columns:1fr;}
  .practitioner img,.womens-health img{height:340px;}
  .footer-grid{grid-template-columns:1fr;}
  .section{padding:64px 0;}
}
