*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Georgia','Times New Roman',serif;color:#2c2c2c;background:#fff;overflow-x:hidden}
a{text-decoration:none}
.nav-link{cursor:pointer;font-family:'Helvetica Neue',Arial,sans-serif;font-size:11px;letter-spacing:2.5px;text-transform:uppercase;color:#fff;text-decoration:none;transition:color 0.3s;padding:4px 0;border-bottom:1px solid transparent}
.nav-link:hover{color:#d4a9b0;border-bottom-color:#d4a9b0}
.btn-primary{display:inline-block;background:transparent;border:1.5px solid #c9a0a8;color:#c9a0a8;padding:14px 40px;font-family:'Helvetica Neue',Arial,sans-serif;font-size:10px;letter-spacing:3px;text-transform:uppercase;cursor:pointer;text-decoration:none;transition:all 0.3s}
.btn-primary:hover{background:#c9a0a8;color:#fff}
.btn-dark{display:inline-block;background:#2c2c2c;color:#fff;padding:14px 40px;font-family:'Helvetica Neue',Arial,sans-serif;font-size:10px;letter-spacing:3px;text-transform:uppercase;cursor:pointer;text-decoration:none;transition:all 0.3s;border:1.5px solid #2c2c2c}
.btn-dark:hover{background:transparent;color:#2c2c2c}
.section-label{font-family:'Helvetica Neue',Arial,sans-serif;font-size:10px;letter-spacing:4px;text-transform:uppercase;color:#c9a0a8;margin-bottom:16px}
.section-title{font-size:clamp(28px,4vw,46px);font-weight:300;letter-spacing:1px;line-height:1.2;color:#2c2c2c;margin-bottom:20px}
.section-title em{font-style:italic;color:#c9a0a8}
.divider{width:40px;height:1px;background:#c9a0a8;margin:20px auto}
.service-card{border:1px solid #e8ddd9;transition:all 0.35s;background:#fff;cursor:pointer;text-decoration:none;display:block;color:inherit;overflow:hidden}
.service-card:hover{border-color:#c9a0a8;box-shadow:0 12px 40px rgba(201,160,168,0.18);transform:translateY(-4px)}
.service-card img{width:100%;height:200px;object-fit:cover;transition:transform 0.4s}
.service-card:hover img{transform:scale(1.04)}
.service-card-body{padding:24px 22px}
.testimonial-card{background:#faf7f6;padding:40px 36px;border-left:3px solid #c9a0a8}
.input-field{width:100%;border:none;border-bottom:1px solid #ccc;padding:12px 0;font-family:'Helvetica Neue',Arial,sans-serif;font-size:13px;background:transparent;color:#2c2c2c;outline:none;transition:border-color 0.3s}
.input-field:focus{border-bottom-color:#c9a0a8}
.input-field::placeholder{color:#aaa;letter-spacing:1px}
.product-row{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid #ece6e3}
.product-row:first-child{border-top:1px solid #ece6e3}
.product-badge{font-family:'Helvetica Neue',Arial,sans-serif;font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:#fff;background:#c9a0a8;padding:3px 8px;margin-left:8px}
.faq-item{border-bottom:1px solid #ece6e3}
.faq-q{padding:18px 0;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-family:'Helvetica Neue',Arial,sans-serif;font-size:14px;font-weight:500;color:#2c2c2c}
.faq-a{padding:0 0 18px;font-family:'Helvetica Neue',Arial,sans-serif;font-size:13px;color:#666;line-height:1.8}
.floating-tab{display:block;color:#fff;font-family:'Helvetica Neue',Arial,sans-serif;font-size:10px;letter-spacing:2px;text-transform:uppercase;text-decoration:none;writing-mode:vertical-rl;padding:20px 11px;cursor:pointer;transition:padding 0.3s;}
.floating-tab:hover{padding-right:15px}
.reveal{opacity:0;transform:translateY(30px);transition:opacity 0.7s ease,transform 0.7s ease}
.reveal.visible{opacity:1;transform:translateY(0)}
.reveal-left{opacity:0;transform:translateX(-40px);transition:opacity 0.7s ease,transform 0.7s ease}
.reveal-left.visible{opacity:1;transform:translateX(0)}
.reveal-right{opacity:0;transform:translateX(40px);transition:opacity 0.7s ease,transform 0.7s ease}
.reveal-right.visible{opacity:1;transform:translateX(0)}

/* Treatment page styles */
.treatment-hero{padding:120px 24px 40px;text-align:center;background:linear-gradient(180deg,#faf7f6 0%,#fff 100%)}
.treatment-hero h1{font-size:clamp(28px,4vw,44px);font-weight:300;letter-spacing:1px;line-height:1.2;color:#2c2c2c;margin-bottom:12px}
.treatment-hero h1 em{font-style:italic;color:#c9a0a8}
.breadcrumb{font-family:'Helvetica Neue',Arial,sans-serif;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:#9c7880;margin-bottom:24px}
.breadcrumb a{color:#c9a0a8}
.treatment-content{max-width:760px;margin:0 auto;padding:40px 24px 60px}
.treatment-content h2{font-size:clamp(22px,3vw,32px);font-weight:300;letter-spacing:0.5px;color:#2c2c2c;margin:36px 0 14px}
.treatment-content h3{font-size:16px;font-weight:500;font-family:'Helvetica Neue',Arial,sans-serif;color:#c9a0a8;margin:24px 0 10px;letter-spacing:1px}
.treatment-content p{font-family:'Helvetica Neue',Arial,sans-serif;font-size:14px;color:#555;line-height:1.9;margin-bottom:16px}
.treatment-content ul,.treatment-content ol{font-family:'Helvetica Neue',Arial,sans-serif;font-size:14px;color:#555;line-height:2;margin-bottom:20px;padding-left:24px}
.treatment-content li{margin-bottom:6px}
.treatment-content strong{color:#2c2c2c}
.treatment-pricing-box{background:#faf7f6;border-left:3px solid #c9a0a8;padding:24px 28px;margin:28px 0;border-radius:2px}
.treatment-pricing-box h3{color:#c9a0a8;margin-bottom:8px}
.safety-block{background:#f9f6f5;border:1px solid #e8ddd9;padding:24px 28px;margin:36px 0 0;border-radius:4px}
.safety-block h3{color:#9c7880;margin-bottom:12px;font-size:13px}
.safety-block p{font-size:12px;color:#777;line-height:1.8;margin-bottom:8px}
.safety-block .sponsor{font-size:11px;color:#999;margin-top:12px;padding-top:12px;border-top:1px solid #e8ddd9}
.treatment-cta{text-align:center;padding:50px 24px;background:#faf7f6}
.related-treatments{max-width:760px;margin:0 auto;padding:40px 24px 60px}
.related-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-top:20px}
.related-card{border:1px solid #e8ddd9;padding:16px;text-align:center;transition:all 0.3s;background:#fff}
.related-card:hover{border-color:#c9a0a8;box-shadow:0 8px 24px rgba(201,160,168,0.12)}
.related-card a{font-family:'Helvetica Neue',Arial,sans-serif;font-size:12px;color:#2c2c2c;letter-spacing:1px;text-decoration:none}
.related-card a:hover{color:#c9a0a8}
.blog-list{max-width:800px;margin:0 auto;padding:40px 24px 60px}
.blog-card{border:1px solid #e8ddd9;padding:28px;margin-bottom:20px;transition:all 0.3s;background:#fff}
.blog-card:hover{border-color:#c9a0a8;box-shadow:0 8px 24px rgba(201,160,168,0.12)}
.blog-card .date{font-family:'Helvetica Neue',Arial,sans-serif;font-size:11px;color:#9c7880;letter-spacing:1px;margin-bottom:8px}
.blog-card h3{font-size:20px;font-weight:300;color:#2c2c2c;margin-bottom:8px}
.blog-card h3 a{color:#2c2c2c;text-decoration:none}
.blog-card h3 a:hover{color:#c9a0a8}
.blog-card p{font-family:'Helvetica Neue',Arial,sans-serif;font-size:13px;color:#777;line-height:1.7}
.blog-post{max-width:760px;margin:0 auto;padding:40px 24px 60px}
.blog-post h2{font-size:clamp(22px,3vw,30px);font-weight:300;color:#2c2c2c;margin:32px 0 14px}
.blog-post h3{font-size:17px;font-weight:500;font-family:'Helvetica Neue',Arial,sans-serif;color:#c9a0a8;margin:24px 0 10px}
.blog-post p{font-family:'Helvetica Neue',Arial,sans-serif;font-size:15px;color:#555;line-height:1.9;margin-bottom:18px}
.blog-post ul,.blog-post ol{font-family:'Helvetica Neue',Arial,sans-serif;font-size:15px;color:#555;line-height:2;margin-bottom:18px;padding-left:24px}
.reviewed-by{font-family:'Helvetica Neue',Arial,sans-serif;font-size:12px;color:#9c7880;background:#faf7f6;padding:12px 18px;border-left:3px solid #c9a0a8;margin:24px 0}
.service-area-strip{background:#faf7f6;text-align:center;padding:20px;font-family:'Helvetica Neue',Arial,sans-serif!important;font-size:12px;color:#9c7880;letter-spacing:1px}

@media(max-width:768px){
  .desktop-nav{display:none!important}
  .mobile-menu-btn{display:flex!important}
  .two-col{grid-template-columns:1fr!important}
  .three-col{grid-template-columns:1fr 1fr!important}
  .section-pad{padding:60px 24px!important}
  .hero-pad{padding:0 24px!important}
  .hero-book-btn{background:#c9a0a8!important;color:#fff!important;border-color:#c9a0a8!important}
  .floating-tab{display:none}
  .stat-strip{gap:24px!important;padding:24px!important}
  .footer-grid{grid-template-columns:1fr!important}
}
@media(max-width:480px){.three-col{grid-template-columns:1fr!important}}
@media(min-width:769px){.mobile-menu-btn{display:none!important}.mobile-menu-overlay{display:none!important}}

@media (max-width:767px){
  #hero-overlay{background:linear-gradient(160deg,rgba(12,8,10,0.55) 30%,rgba(12,8,10,0.05))!important}
  #hero-bg{filter:brightness(1.18)}
}


/* Table responsive overflow */
.treatment-content table,.blog-post table{width:100%;max-width:100%;border-collapse:collapse}
@media(max-width:640px){
  .treatment-content,.blog-post,.treatment-pricing-box,.safety-block{overflow-x:auto;-webkit-overflow-scrolling:touch;word-wrap:break-word;overflow-wrap:break-word}
  .treatment-content table,.blog-post table{display:block;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}
  .treatment-pricing-box,.safety-block{padding:16px;word-wrap:break-word;overflow-wrap:break-word}
  .blog-post ul,.blog-post ol,.treatment-content ul,.treatment-content ol{padding-left:18px}
  .related-grid{grid-template-columns:1fr!important}
}

/* Ensure text stays inside containers */
.treatment-content p,.blog-post p{word-wrap:break-word;overflow-wrap:break-word}
.treatment-content strong,.blog-post strong{word-wrap:break-word}
.treatment-content a,.blog-post a{word-break:break-word}

/* Nav padding fix for mobile — 50px each side is too wide on small screens */
@media(max-width:768px){
  #main-nav{padding:0 20px!important}
}

/* Safety net: fixed-width images should never overflow narrow viewports */
img{max-width:100%}

/* Quote badge on homepage About section — reduce offset on mobile to avoid edge clipping */
@media(max-width:768px){
  .quote-badge{bottom:-16px!important;right:-16px!important;padding:18px 20px!important}
}
@media(max-width:420px){
  .quote-badge{position:static!important;margin-top:16px!important;display:inline-block}
}
