*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#050505;color:#fff;font-family:"DM Sans",sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.topbar{height:112px;position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:10px 4vw;background:rgba(3,3,3,.96);border-bottom:1px solid rgba(255,255,255,.07);backdrop-filter:blur(12px)}.logo-link img{width:220px;height:90px;object-fit:contain}.nav{display:flex;gap:30px;align-items:center;text-transform:uppercase;font-size:.78rem;letter-spacing:.06em}.nav a{padding:14px 0}.nav a:hover,.nav .active{color:#ef6fa2}.book-nav{background:linear-gradient(135deg,#d94f8b,#ef8bb4);padding:14px 24px!important;border-radius:8px;color:#fff!important}.menu-toggle{display:none;border:0;background:transparent;color:#fff;font-size:1.6rem}.hero{position:relative;min-height:calc(100vh - 112px);overflow:hidden;background:radial-gradient(circle at 75% 25%,#6c364d 0,#2c151f 32%,#11090d 61%,#050505 100%);display:grid;grid-template-columns:48% 52%;align-items:stretch}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,5,5,.35),transparent 58%);z-index:0}.hero-copy{position:relative;z-index:2;padding:10vh 3vw 10vh 4.5vw;max-width:700px}.kicker{text-transform:uppercase;color:#e9bf65;letter-spacing:.12em;font-size:1rem;margin:0 0 1rem}.hero h1{margin:0;font-family:"Italiana",serif;font-size:clamp(5rem,8vw,8.5rem);line-height:.75;font-weight:400}.hero h1 span{display:block}.hero h1 em{display:block;margin-left:30px;font-family:"Cormorant Garamond",serif;font-weight:500;color:#ef6fa2;font-size:.68em}.gold-line{display:flex;align-items:center;gap:10px;max-width:420px;margin:36px 0 22px;color:#d8a94c}.gold-line span{height:1px;background:#d8a94c;flex:1}.gold-line i{font-style:normal}.hero h2{font-family:"Cormorant Garamond",serif;font-size:2rem;margin:0 0 18px}.lead{font-size:1.08rem;max-width:560px;color:#eee}.hero-buttons{display:flex;gap:14px;margin:32px 0}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:7px;padding:15px 25px;text-transform:uppercase;font-weight:600;letter-spacing:.03em;border:1px solid transparent;cursor:pointer}.pink{background:linear-gradient(135deg,#d94f8b,#ef8bb4);color:#fff}.outline{border-color:#d5a34d;background:transparent}.trust-row{display:flex;gap:0;margin-top:45px}.trust-row div{width:150px;text-align:center;border-right:1px solid rgba(255,255,255,.25)}.trust-row div:last-child{border-right:0}.trust-row b{display:block;color:#ef6fa2;font-size:2.2rem;font-weight:400}.trust-row span{text-transform:uppercase;font-size:.75rem}.hero-image-wrap{position:relative;z-index:1;display:flex;align-items:flex-end;justify-content:center;overflow:hidden}.hero-image-wrap:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at center,rgba(255,147,185,.15),transparent 58%)}.hero-image-wrap img{height:95%;width:auto;max-width:100%;object-fit:contain;object-position:bottom;filter:drop-shadow(0 25px 45px rgba(0,0,0,.5))}.curve{position:absolute;z-index:4;bottom:-70px;left:-3%;width:106%;height:145px;border-top:8px solid #dc5c92;border-radius:50% 50% 0 0;background:#050505;box-shadow:0 -6px 0 #e5b85f}.services-section,.gallery,.policies{padding:105px 3vw 95px;background:#050505}.section-title{text-align:center;margin-bottom:48px}.section-title p{text-transform:uppercase;color:#e7679c;letter-spacing:.16em;margin:0}.section-title h2{font-family:"Italiana",serif;text-transform:uppercase;font-size:3.6rem;font-weight:400;margin:8px 0}.gold-line.small{max-width:220px;margin:15px auto}.service-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;max-width:1450px;margin:auto}.service-grid article{min-height:305px;padding:25px 17px;text-align:center;border:1px solid rgba(255,255,255,.22);border-radius:7px;background:linear-gradient(180deg,#0c0c0c,#060606);display:flex;flex-direction:column;align-items:center}.service-icon{font-size:3.4rem;color:#ec6da2;line-height:1}.service-grid h3{text-transform:uppercase;font-size:1.05rem;min-height:52px}.service-grid p{font-size:.82rem;color:#aaa;flex:1}.service-grid strong{color:#e8bd68;margin-bottom:12px}.service-grid button{background:transparent;color:#ef78a7;border:1px solid #ef78a7;border-radius:4px;padding:8px 18px;cursor:pointer}.centered{display:flex;width:max-content;margin:35px auto 0}.about{display:grid;grid-template-columns:1fr 1fr;min-height:620px;background:linear-gradient(135deg,#29121d,#090708)}.about-card{padding:100px 9vw;align-self:center}.about-card h2{font-family:"Cormorant Garamond",serif;font-size:3.7rem;line-height:1.05;margin:0 0 22px}.about-card p:not(.kicker){color:#d4c9ce;max-width:650px}.text-link{display:inline-block;margin-top:20px;color:#ef76a7}.about-feature{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;background:linear-gradient(rgba(0,0,0,.25),rgba(0,0,0,.55)),url("assets/hero-model.png") center 20%/cover no-repeat}.about-feature span{font-size:1rem;text-transform:uppercase;letter-spacing:.25em}.about-feature strong{font-family:"Cormorant Garamond",serif;font-size:4.5rem}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:1250px;margin:auto}.gallery figure{margin:0;background:#101010;border:1px solid rgba(255,255,255,.15)}.gallery figure img,.gallery .placeholder div{width:100%;aspect-ratio:4/5;object-fit:cover}.gallery .placeholder div{display:grid;place-items:center;background:linear-gradient(145deg,#2d111d,#9b3f66);font-family:"Cormorant Garamond",serif;font-size:2rem}.gallery figcaption{text-align:center;padding:16px;text-transform:uppercase;letter-spacing:.08em;color:#ed8bb0}.policies{background:#11090d}.policy-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;max-width:1300px;margin:auto}.policy-grid article{padding:28px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.14)}.policy-grid span{color:#e8b75b;font-family:"Italiana",serif;font-size:2rem}.policy-grid h3{font-family:"Cormorant Garamond",serif;font-size:1.8rem;margin:7px 0}.policy-grid p{color:#c3b9bd;font-size:.9rem}.booking{display:grid;grid-template-columns:.85fr 1.15fr;gap:65px;padding:100px 8vw;background:linear-gradient(135deg,#060606,#32131f)}.booking-copy{align-self:center}.booking-copy h2{font-family:"Cormorant Garamond",serif;font-size:4rem;line-height:1;margin:0 0 20px}.booking-copy p:last-child{color:#c8bdc2}.booking form{background:#0b0b0b;padding:30px;border:1px solid rgba(255,255,255,.16);border-radius:10px}label{display:grid;gap:7px;margin-bottom:16px;text-transform:uppercase;font-size:.75rem;letter-spacing:.05em;color:#edbdd0}input,select,textarea{width:100%;padding:13px;border:1px solid #664052;background:#171016;color:#fff;border-radius:5px}textarea{resize:vertical}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px}.submit{width:100%}.contact{display:flex;align-items:center;justify-content:center;gap:55px;padding:70px 5vw;background:#030303;text-align:left}.contact img{width:300px;max-height:170px;object-fit:contain}.contact h2{font-family:"Italiana",serif;font-size:2.6rem;margin:0}.contact p{margin:6px 0;color:#c7bbc0}footer{text-align:center;padding:22px;background:#000;color:#85787d;font-size:.8rem}.whatsapp-float{position:fixed;z-index:150;right:18px;bottom:18px;background:#20a562;color:white;border-radius:999px;padding:13px 18px;font-weight:700;box-shadow:0 10px 30px rgba(0,0,0,.35)}@media(max-width:1100px){.nav{gap:16px}.service-grid{grid-template-columns:repeat(3,1fr)}.hero{grid-template-columns:52% 48%}.hero-copy{padding-top:7vh}.hero h1{font-size:5.4rem}}@media(max-width:780px){.topbar{height:84px}.logo-link img{width:155px;height:68px}.menu-toggle{display:block}.nav{display:none;position:absolute;top:84px;left:12px;right:12px;padding:18px;background:#0b0b0b;border:1px solid #3a2630;border-radius:8px;flex-direction:column}.nav.open{display:flex}.hero{min-height:auto;grid-template-columns:1fr;padding-bottom:100px}.hero-copy{padding:65px 22px 20px;text-align:center}.hero h1{font-size:4.7rem}.hero h1 em{margin-left:0}.gold-line{margin-left:auto;margin-right:auto}.lead{margin-left:auto;margin-right:auto}.hero-buttons,.trust-row{justify-content:center}.hero-image-wrap{height:620px}.hero-image-wrap img{height:100%}.curve{bottom:-50px}.service-grid{grid-template-columns:repeat(2,1fr)}.about,.booking{grid-template-columns:1fr}.about-feature{min-height:560px}.gallery-grid,.policy-grid{grid-template-columns:repeat(2,1fr)}.contact{flex-direction:column;text-align:center}.booking{padding:75px 22px}}@media(max-width:520px){.hero h1{font-size:3.7rem}.hero h2{font-size:1.55rem}.hero-buttons{flex-direction:column}.trust-row div{width:33%}.trust-row span{font-size:.62rem}.hero-image-wrap{height:480px}.service-grid,.gallery-grid,.policy-grid{grid-template-columns:1fr}.services-section,.gallery,.policies{padding-left:18px;padding-right:18px}.section-title h2{font-size:2.8rem}.about-card{padding:75px 22px}.about-card h2,.booking-copy h2{font-size:3rem}.about-feature strong{font-size:3.2rem}.two-col{grid-template-columns:1fr}.contact img{width:240px}}
.pricing-grid{grid-template-columns:repeat(4,1fr);max-width:1450px}
.pricing-grid article{min-height:330px;text-align:left;align-items:stretch}
.pricing-grid .service-icon{text-align:center}
.pricing-grid h3{text-align:center;min-height:auto}
.price-list{list-style:none;padding:0;margin:12px 0 18px;display:grid;gap:10px;flex:1}
.price-list li{display:flex;justify-content:space-between;gap:16px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.12);font-size:.84rem}
.price-list strong{margin:0;color:#e8bd68;white-space:nowrap}
.treatment-note{text-align:center;color:#d49aaf!important;font-size:.8rem!important;margin:.2rem 0 0}
@media(max-width:1100px){.pricing-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:780px){.pricing-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.pricing-grid{grid-template-columns:1fr}}


/* Refined services and pricing layout */
.pricing-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  max-width:1450px;
  align-items:stretch;
}
.pricing-grid article{
  min-height:390px;
  padding:28px 22px 22px;
  text-align:left;
  align-items:stretch;
  display:flex;
  flex-direction:column;
  border-color:rgba(239,111,162,.55);
  transition:transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.pricing-grid article:hover{
  transform:translateY(-5px);
  border-color:#ef6fa2;
  box-shadow:0 18px 45px rgba(239,111,162,.10);
}
.pricing-grid .service-icon{
  display:block;
  min-height:68px;
  margin-bottom:10px;
  text-align:center;
  font-size:3.2rem;
}
.pricing-grid h3{
  min-height:54px;
  margin:0 0 18px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  line-height:1.25;
  font-size:1rem;
}
.pricing-grid h3::after{
  content:"";
  display:block;
}
.price-list{
  list-style:none;
  padding:16px 0 0;
  margin:0 0 20px;
  display:grid;
  gap:13px;
  flex:1;
  border-top:1px solid rgba(216,169,76,.45);
}
.price-list li{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:end;
  gap:8px;
  padding:0;
  border:0;
  font-size:.88rem;
  line-height:1.35;
}
.price-list li::before{
  content:none;
}
.price-list li::after{
  content:"";
  grid-column:2;
  grid-row:1;
  border-bottom:1px dotted rgba(216,169,76,.72);
  transform:translateY(-4px);
}
.price-list li span{
  grid-column:1;
  white-space:normal;
}
.price-list li strong{
  grid-column:3;
  margin:0;
  color:#efbd4f;
  white-space:nowrap;
  font-size:.94rem;
}
.treatment-note{
  min-height:40px;
  margin:0 0 2px !important;
  text-align:center;
  color:#cfa7b7 !important;
  line-height:1.35;
}
.pricing-grid article button{
  width:118px;
  min-height:42px;
  margin:0 auto;
  margin-top:auto;
  display:block;
  border-radius:6px;
  background:linear-gradient(135deg,#d94f8b,#ef8bb4);
  color:#fff;
  border:0;
  font-weight:600;
}
@media(max-width:1180px){
  .pricing-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:860px){
  .pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  .pricing-grid{grid-template-columns:1fr}
  .pricing-grid article{min-height:340px}
}
