/* Elegant theme: same layout, high-end blush salon mood. */
body.elegant{
  --pink:#d47f9b;
  --blue:#f3b8c9;
  --cyan:#bd5f81;
  --purple:#f8dbe5;
  --ink:#fff5f9;
  --ink2:#fde7ef;
  --paper:#642841;
  --text:#5a2039;
  --lead:#743c53;
  --muted:#8c5268;
  --soft:#b8758c;
  --grad:linear-gradient(100deg,#f9d6e2,#e99ab3 48%,#c86f90);
  --font-body:'Inter','Avenir Next','Segoe UI',sans-serif;
  --font-display:'Fraunces',Georgia,'Times New Roman',serif;
  --font-logo:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  --font-ui:'Montserrat','Avenir Next','Segoe UI',sans-serif;
  --nav-bg:rgba(255,245,249,.95);
  --nav-border:rgba(202,111,144,.16);
  --mobile-menu-bg:rgba(255,245,249,.99);
  --panel-bg:linear-gradient(160deg,rgba(255,248,251,.94),rgba(253,231,239,.8));
  --panel-border:rgba(212,127,155,.18);
  --panel-border-strong:rgba(212,127,155,.28);
  --field-border:rgba(212,127,155,.2);
  --hero-picture-border:#fff8fb;
  --button-text:#fff9fc;
  --gallery-overlay:linear-gradient(transparent,rgba(100,40,65,.78));
  --lightbox-bg:rgba(90,32,57,.94);
  background:
    linear-gradient(180deg,#fff5f9 0%,#fde7ef 46%,#fff0f6 100%);
  color:var(--text);
}

body.elegant,
body.elegant h1,
body.elegant h2,
body.elegant h3,
body.elegant p,
body.elegant a,
body.elegant li,
body.elegant summary,
body.elegant .brand,
body.elegant .btn,
body.elegant .badge,
body.elegant .socials a,
body.elegant .stat .num,
body.elegant .stat .lbl,
body.elegant .card .tiers li b,
body.elegant .faq summary::after{
  font-family:var(--font-body);
}

body.elegant .hero h1,
body.elegant .hero h1 .g,
body.elegant .sec-head h1,
body.elegant .sec-head h2,
body.elegant .sec-head h2 .g,
body.elegant .about h2,
body.elegant .about h2 .g,
body.elegant #services .sec-head h2,
body.elegant #services .sec-head h2 .g,
body.elegant #faq .sec-head h2,
body.elegant #faq .sec-head h2 .g,
body.elegant .contact h2,
body.elegant .contact h2 .g{
  font-family:var(--font-display);
}

body.elegant .hero h1,
body.elegant .sec-head h1,
body.elegant .sec-head h2,
body.elegant .about h2,
body.elegant .contact h2{
  font-weight:400;
  letter-spacing:0;
  text-transform:none;
}

body.elegant .hero h1 .g,
body.elegant .sec-head h2 .g,
body.elegant .about h2 .g,
body.elegant .contact h2 .g{
  font-style:italic;
  font-weight:300;
  background:linear-gradient(100deg,#d47f9b,#a94e73);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

body.elegant .hero h1{
  font-size:clamp(2.85rem,5.6vw,5rem);
  line-height:1.02;
}

body.elegant .sec-head h1,
body.elegant .sec-head h2{
  font-size:clamp(2.25rem,4vw,3.55rem);
  line-height:1.08;
}

body.elegant{
  font-size:1.08rem;
  font-weight:400;
  letter-spacing:0;
}

body.elegant .hero p.lead,
body.elegant .sec-head p,
body.elegant .about p,
body.elegant .card p,
body.elegant .faq .a,
body.elegant .contact p,
body.elegant .fineprint{
  font-family:var(--font-body);
  font-size:1.05rem;
  font-weight:300;
  line-height:1.75;
}

body.elegant nav{
  box-shadow:0 12px 36px rgba(202,111,144,.08);
}

body.elegant .brand{
  font-family:var(--font-logo);
  font-size:1.22rem;
  font-weight:600;
  letter-spacing:.04em;
}

body.elegant .brand img{
  border-color:#f0b8ca;
  box-shadow:0 0 0 5px rgba(242,184,203,.2);
}

body.elegant .navlinks,
body.elegant .mobilemenu,
body.elegant .btn,
body.elegant .badge,
body.elegant .socials a{
  font-family:var(--font-ui);
  font-size:.92rem;
  font-weight:400;
}

body.elegant .navlinks a:hover,
body.elegant .mobilemenu a:active{
  color:var(--pink);
}

body.elegant .btn{
  border-radius:4px;
  background:linear-gradient(100deg,#f4b8ca,#df8cab 50%,#c66d90);
  box-shadow:0 14px 32px rgba(198,109,144,.18);
  font-weight:400;
  letter-spacing:.11em;
  text-transform:uppercase;
}

body.elegant .nav-switch,
body.elegant .mm-switch{
  font-family:'Unbounded','Outfit',sans-serif;
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.03em;
  background:linear-gradient(100deg,#27e6ff,#2d7bff 35%,#9b2dff 65%,#ff2d8a);
  border:0;
  color:#fff;
  box-shadow:0 6px 24px rgba(255,45,138,.35);
}

body.elegant .nav-switch:hover,
body.elegant .mm-switch:hover{
  color:#fff;
  border:0;
  box-shadow:0 10px 30px rgba(123,45,255,.5);
}

body.elegant .btn:hover{
  box-shadow:0 18px 42px rgba(198,109,144,.25);
}

body.elegant .btn.ghost{
  border-color:rgba(198,109,144,.36);
  color:var(--text);
  background:rgba(255,245,249,.54);
}

body.elegant .btn.ghost:hover{
  border-color:var(--pink);
  color:var(--pink);
  background:rgba(253,231,239,.82);
}

body.elegant .nav-switch,
body.elegant .nav-switch.btn.ghost,
body.elegant .mm-switch,
body.elegant .mm-switch.btn.ghost{
  font-family:'Unbounded','Outfit',sans-serif;
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.03em;
  background:linear-gradient(100deg,#27e6ff,#2d7bff 35%,#9b2dff 65%,#ff2d8a);
  border:0;
  color:#fff;
  box-shadow:0 6px 24px rgba(255,45,138,.35);
}

body.elegant .nav-switch:hover,
body.elegant .nav-switch.btn.ghost:hover,
body.elegant .mm-switch:hover,
body.elegant .mm-switch.btn.ghost:hover{
  background-position:100% 0;
  color:#fff;
  border:0;
  box-shadow:0 10px 30px rgba(123,45,255,.5);
}

body.elegant .burger{
  border-color:rgba(198,109,144,.28);
}

body.elegant .blob{
  display:none;
}

body.elegant .hero{
  background:linear-gradient(135deg,#fff5f9 0%,#fde7ef 58%,#fad7e4 100%);
}

body.elegant .kicker{
  border-radius:4px;
  background:rgba(255,248,251,.68);
  border-color:rgba(212,127,155,.24);
  color:var(--pink);
  font-family:var(--font-ui);
  font-size:.86rem;
  font-weight:600;
  letter-spacing:.16em;
}

body.elegant .hero-pics{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  height:auto;
  max-width:560px;
  padding:14px;
  border:1px solid rgba(212,127,155,.18);
  border-radius:6px;
  background:rgba(255,248,251,.7);
  box-shadow:0 28px 76px rgba(202,111,144,.15);
}

body.elegant .hero-pics .pic,
body.elegant .p1,
body.elegant .p2,
body.elegant .p3,
body.elegant .p4{
  position:relative;
  inset:auto;
  width:auto;
  height:auto;
  transform:none;
  animation:none;
  border-radius:4px;
  border:1px solid rgba(255,250,252,.9);
  box-shadow:0 18px 42px rgba(202,111,144,.16);
  aspect-ratio:4/5;
}

body.elegant .hero-pics .pic:hover{
  transform:translateY(-4px)!important;
  z-index:9;
}

body.elegant .hero-pics img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  filter:saturate(.9) contrast(.98);
}

body.elegant .hero-pics .empty{
  background:
    linear-gradient(135deg,rgba(255,248,251,.92),rgba(245,188,207,.5)),
    linear-gradient(45deg,transparent 49%,rgba(212,127,155,.14) 50%,transparent 51%);
}

body.elegant .about-pics .main,
body.elegant .about-pics .cert{
  border-radius:5px;
  box-shadow:0 24px 64px rgba(202,111,144,.16);
  transform:none;
}

body.elegant .about-pics .cert{
  right:2%;
  bottom:-7%;
}

body.elegant .marquee{
  display:none;
}

body.elegant .card{
  border-radius:5px;
}

body.elegant .card:hover{
  border-color:rgba(212,127,155,.36);
  box-shadow:0 18px 48px rgba(202,111,144,.12);
}

body.elegant .card h3{
  font-family:var(--font-display);
  font-size:1.7rem;
  font-weight:400;
}

body.elegant .card .tiers li b{
  font-family:var(--font-body);
  font-weight:600;
  background:none;
  -webkit-background-clip:initial;
  background-clip:initial;
  color:var(--text);
  -webkit-text-fill-color:var(--text);
}

body.elegant .faq summary{
  font-size:1.18rem;
  font-weight:400;
}

@media(max-width:760px){
  body.elegant .hero h1{
    font-size:clamp(2.5rem,11vw,3.45rem);
    line-height:1.05;
  }

  body.elegant .sec-head h1,
  body.elegant .sec-head h2,
  body.elegant .about h2,
  body.elegant .contact h2{
    font-size:clamp(2rem,9vw,2.85rem);
    line-height:1.12;
  }

  body.elegant .hero p.lead,
  body.elegant .sec-head p,
  body.elegant .about p,
  body.elegant .card p,
  body.elegant .faq .a,
  body.elegant .contact p,
  body.elegant .fineprint{
    font-size:1.12rem;
  }
}

body.elegant .badge{
  border-radius:4px;
  background:rgba(255,248,251,.72);
}

body.elegant .badge b,
body.elegant .fineprint a,
body.elegant .faq .a a{
  color:var(--pink)!important;
}

body.elegant .faq details{
  border-radius:5px;
}

body.elegant .faq details[open]{
  border-color:rgba(212,127,155,.42);
}

body.elegant .socials a{
  border-radius:4px;
  background:rgba(255,248,251,.58);
}

body.elegant .socials a:hover{
  border-color:var(--pink);
  color:var(--pink);
}

body.elegant footer{
  background:#fff0f6;
}

body.elegant .lb .x:hover,
body.elegant .lb .nav:hover{
  background:#d47f9b;
}

body.elegant .grid,
body.elegant .full-grid{
  columns:auto;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:18px;
}

body.elegant .gitem{
  margin:0;
  border-radius:5px;
  aspect-ratio:4/5;
  border:1px solid rgba(255,248,251,.9);
  box-shadow:0 18px 42px rgba(202,111,144,.12);
}

body.elegant .gitem img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}

@media(max-width:900px){
  body.elegant .hero-pics{
    max-width:620px;
  }
}

@media(max-width:560px){
  body.elegant .hero-pics{
    grid-template-columns:1fr 1fr;
    gap:10px;
    padding:10px;
  }
}
