:root{
  --champagne:#b89a67;
  --champagne-soft:rgba(184,154,103,.22);
  --premium-plum:#563d4e;
  --premium-rose:#b97898;
  --premium-paper:#fffdfc;
}

/* V6 — editorial polish while preserving the original rose/lilac identity. */
body{
  background:
    radial-gradient(circle at 7% 12%,rgba(229,207,218,.18),transparent 24rem),
    radial-gradient(circle at 93% 46%,rgba(205,194,220,.13),transparent 28rem),
    #fffdfd;
}

.site-header .header-inner{
  box-shadow:0 18px 60px rgba(68,42,59,.09),inset 0 1px rgba(255,255,255,.9);
}
.site-header .header-inner::after{
  content:"";
  position:absolute;
  left:82px;
  right:24px;
  bottom:6px;
  height:1px;
  opacity:.58;
  background:linear-gradient(90deg,transparent,var(--champagne-soft),rgba(188,126,156,.18),transparent);
  pointer-events:none;
}
.brand-name{letter-spacing:.018em}
.brand-sub{letter-spacing:.135em}

.premium-hero::after{
  content:"";
  position:absolute;
  z-index:2;
  inset:18px;
  border:1px solid rgba(184,154,103,.18);
  border-radius:24px;
  pointer-events:none;
}
.premium-hero-media img{
  filter:saturate(.91) contrast(.98) brightness(1.045);
  scale:1.01;
}
.premium-hero-copy h1{text-wrap:balance}
.premium-hero-copy .lead{text-wrap:pretty}

.btn{
  isolation:isolate;
  letter-spacing:.018em;
}
.btn:focus-visible,.detail-toggle:focus-visible,.dock-btn:focus-visible,.nav-toggle:focus-visible,
a:focus-visible,input:focus-visible{
  outline:2px solid var(--champagne);
  outline-offset:4px;
}
.btn-primary{
  background:linear-gradient(128deg,#bd7d9c 0%,#aa7ca5 52%,#927ba9 100%);
  box-shadow:0 12px 30px rgba(143,90,119,.19),inset 0 1px rgba(255,255,255,.28);
}
.btn-primary:hover{
  transform:translateY(-3px) scale(1.012);
  box-shadow:0 18px 42px rgba(143,90,119,.25),inset 0 1px rgba(255,255,255,.3);
}

.premium-card,.price-card,.contact-card{
  transform:translateZ(0);
}
.premium-card .card-media img,.service-detail-media img,.split-media img,.editorial-photo img{
  transition:scale .85s cubic-bezier(.2,.68,.2,1),filter .65s ease;
}
.premium-card:hover .card-media img,.service-detail:hover .service-detail-media img,
.premium-split:hover .split-media img,.editorial-grid:hover .editorial-photo img{
  scale:1.055;
  filter:saturate(1.02) brightness(1.035);
}
.premium-card:hover{
  border-color:rgba(184,154,103,.25);
}
.premium-card .card-body::before{
  content:"";
  display:block;
  width:36px;
  height:1px;
  margin:-2px 0 18px;
  background:linear-gradient(90deg,var(--champagne),transparent);
}

.wellness-disclaimer{
  position:relative;
  overflow:hidden;
  margin:20px 0 36px;
  padding:30px 34px 30px 39px;
  border:1px solid rgba(184,154,103,.23);
  border-radius:22px;
  background:linear-gradient(135deg,rgba(255,253,252,.98),rgba(248,241,247,.88));
  box-shadow:0 18px 52px rgba(69,43,60,.07);
  color:#6a5b64;
}
.wellness-disclaimer::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:linear-gradient(180deg,var(--champagne),var(--premium-rose));
}
.wellness-disclaimer strong{
  display:block;
  margin-bottom:8px;
  color:var(--premium-plum);
  font:500 clamp(1.35rem,2.4vw,1.8rem) Georgia,"Times New Roman",serif;
}
.wellness-disclaimer p{margin:0 0 9px;line-height:1.7}
.wellness-disclaimer a{color:var(--premium-rose);font-weight:750}

.service-detail{
  position:relative;
}
.service-detail-media{
  border:1px solid rgba(184,154,103,.16);
  transition:transform .6s cubic-bezier(.2,.68,.2,1),box-shadow .6s ease;
}
.service-detail:hover .service-detail-media{
  transform:translateY(-5px) scale(1.008);
  box-shadow:0 28px 72px rgba(74,48,65,.12);
}
.detail-toggle{
  display:inline-flex;
  align-items:center;
  gap:12px;
  margin:2px 0 22px;
  padding:10px 0 8px;
  border:0;
  border-bottom:1px solid rgba(184,154,103,.32);
  background:transparent;
  color:var(--premium-rose);
  font:750 .75rem/1.2 var(--sans,Arial,sans-serif);
  letter-spacing:.105em;
  text-transform:uppercase;
  cursor:pointer;
}
.detail-toggle i{
  position:relative;
  width:20px;
  height:20px;
  border:1px solid rgba(185,120,152,.28);
  border-radius:50%;
  transition:transform .4s ease,background .3s ease;
}
.detail-toggle i::before,.detail-toggle i::after{
  content:"";
  position:absolute;
  top:50%;left:50%;
  width:8px;height:1px;
  background:currentColor;
  transform:translate(-50%,-50%);
}
.detail-toggle i::after{transform:translate(-50%,-50%) rotate(90deg)}
.is-open .detail-toggle i{transform:rotate(180deg);background:rgba(185,120,152,.08)}
.is-open .detail-toggle i::after{opacity:0}

.js-enhanced .service-detail.is-collapsible .service-rich{
  position:relative;
  max-height:15rem;
  overflow:hidden;
  transition:max-height .95s cubic-bezier(.2,.72,.2,1);
}
.js-enhanced .service-detail.is-collapsible .service-rich::after{
  content:"";
  position:absolute;
  z-index:2;
  inset:auto 0 0;
  height:7.5rem;
  background:linear-gradient(transparent,#fffdfd 88%);
  pointer-events:none;
  transition:opacity .3s ease;
}
.js-enhanced .service-detail.is-collapsible.is-open .service-rich{max-height:8000px}
.js-enhanced .service-detail.is-collapsible.is-open .service-rich::after{opacity:0}
.service-rich p{max-width:72ch}
.service-rich li{padding-right:6px}

.editorial-text h2,.editorial-text h3,.legal-panel h2,.legal-panel h3{
  color:var(--premium-plum);
  text-wrap:balance;
}
.editorial-text h2{font-size:clamp(2.4rem,4vw,4rem);margin-bottom:28px}
.editorial-text h3,.legal-panel h3{font-size:clamp(1.45rem,2.3vw,2rem);margin:43px 0 15px}
.editorial-text>.eyebrow:first-child{
  font-size:.7rem;
  color:var(--premium-rose);
}
.legal-panel a{color:var(--premium-rose);text-decoration-thickness:1px;text-underline-offset:3px}
.legal-panel h2{font-size:clamp(2.15rem,4vw,3.6rem);margin-bottom:28px}
.legal-panel strong{color:var(--premium-plum)}

.privacy-notice{
  display:flex;
  align-items:flex-start;
  gap:17px;
  margin:0 0 46px;
  padding:23px 25px;
  border:1px solid rgba(184,154,103,.24);
  border-radius:18px;
  background:linear-gradient(135deg,rgba(252,248,242,.88),rgba(250,245,249,.88));
}
.privacy-notice .privacy-icon{
  display:grid;
  flex:0 0 34px;
  place-items:center;
  width:34px;height:34px;
  border-radius:50%;
  background:rgba(184,154,103,.12);
  color:var(--champagne);
}
.privacy-notice strong{display:block;color:var(--premium-plum);font-size:1.05rem;margin:2px 0 5px}
.privacy-notice p{margin:0;color:#6d5f68;line-height:1.62}
.consent-choice{margin-top:22px}
.signature-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:36px;
  margin-top:40px;
}
.signature-grid span{
  min-height:42px;
  padding-top:17px;
  border-top:1px solid rgba(92,65,82,.35);
  color:#766973;
  font-size:.82rem;
}
.form-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.form-status{min-height:1.5em;margin-top:16px}

@media(max-width:980px){
  .premium-hero::after{inset:12px;border-radius:20px}
  .wellness-disclaimer{margin-top:0}
  .service-detail:hover .service-detail-media{transform:none}
}

@media(max-width:680px){
  .site-header .header-inner::after{display:none}
  .premium-hero::after{inset:8px;border-radius:0 0 19px 19px}
  .premium-hero-copy h1{text-wrap:pretty}
  .wellness-disclaimer{padding:25px 22px 25px 27px}
  .detail-toggle{font-size:.68rem;letter-spacing:.075em}
  .signature-grid{grid-template-columns:1fr;gap:28px}
  .privacy-notice{padding:20px 18px;gap:12px}
  .form-actions .btn{width:100%}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .premium-card:hover .card-media img,.service-detail:hover .service-detail-media img,
  .premium-split:hover .split-media img,.editorial-grid:hover .editorial-photo img{scale:1}
  .service-detail:hover .service-detail-media,.btn-primary:hover{transform:none}
}

@media print{
  @page{size:A4;margin:13mm}
  html,body{background:#fff!important;color:#1f1f1f!important;font-size:9.5pt}
  .site-header,.site-footer,.premium-hero,.ambient,.luxury-dock,.scroll-progress,
  .form-actions,.form-status{display:none!important}
  main,.section,.container{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
  .health-form{padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff!important}
  .health-form::before,.health-form::after{display:none!important}
  .health-form h2{font-size:16pt;margin:18pt 0 8pt;padding-bottom:5pt}
  .health-form h3{font-size:11pt;margin:13pt 0 6pt}
  .privacy-notice,.consent-box{box-shadow:none!important;background:#fff!important;border:1px solid #999!important;break-inside:avoid}
  .privacy-notice{margin-bottom:16pt;padding:10pt}
  .privacy-icon{display:none!important}
  .form-grid,.choice-grid{gap:5pt 8pt}
  .health-form input{padding:5pt!important;border:1px solid #777!important;border-radius:4px!important;background:#fff!important;color:#111!important}
  .choice{padding:5pt!important;border-color:#aaa!important;background:#fff!important;break-inside:avoid}
  .consent-box{margin:17pt 0 0;padding:12pt}
  .consent-box h2{margin-top:0}
  .signature-grid{margin-top:28pt}
}
