.treatment-hero{padding:9vw 7vw 7vw;display:grid;grid-template-columns:1.25fr .75fr;gap:6vw;border-bottom:1px solid var(--line)}
.treatment-hero h1{font-family:"Italiana",serif;font-size:clamp(4rem,8vw,8.5rem);font-weight:400;line-height:.9;letter-spacing:-.04em;margin:1rem 0 2rem}.treatment-hero h1 em{display:block;color:var(--stone);font-weight:400}.treatment-intro{font-size:1.08rem;line-height:1.75;max-width:680px}.treatment-facts{align-self:end;border-top:1px solid var(--line)}.treatment-facts div{padding:1rem 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:2rem}.treatment-facts dt{font-size:.67rem;text-transform:uppercase;letter-spacing:.14em}.treatment-facts dd{margin:0;text-align:right;font-size:.9rem}
.treatment-results{padding:9vw 7vw;background:var(--ivory);border-bottom:1px solid var(--line)}.treatment-results-heading{display:grid;grid-template-columns:22% 78%;gap:3vw;margin-bottom:5rem}.treatment-results-heading h2{font-family:"Italiana",serif;font-size:clamp(3.2rem,5.6vw,6.1rem);font-weight:400;line-height:.96;margin:0}.treatment-results-heading h2 em{display:block;color:var(--stone);font-weight:400}.treatment-results-heading p:not(.section-index){max-width:650px;line-height:1.7;margin:1.8rem 0 0;color:#4f4942}.result-case{display:grid;grid-template-columns:22% 1fr;gap:3vw;padding:2.5rem 0 5rem;border-top:1px solid var(--line)}.result-case-secondary{padding-top:5rem}.result-case-copy>span{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--stone)}.result-case-copy h3{font-family:"Italiana",serif;font-size:clamp(2rem,3vw,3.4rem);font-weight:400;line-height:1.05;margin:1rem 0}.result-case-copy p{line-height:1.65;color:var(--stone)}.result-gallery{display:grid;gap:1rem}.result-gallery-three{grid-template-columns:repeat(3,minmax(0,1fr))}.result-gallery-two{grid-template-columns:repeat(2,minmax(0,1fr));max-width:820px}.result-gallery figure{margin:0;position:relative;overflow:hidden;background:#ddd5cb;aspect-ratio:3/4}.result-gallery-two figure{aspect-ratio:1/1}.result-gallery img{width:100%;height:100%;display:block;object-fit:cover}.result-gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:3rem 1.1rem 1rem;background:linear-gradient(0deg,rgba(25,24,22,.82),transparent);color:#fff;text-transform:uppercase;letter-spacing:.12em;font-size:.68rem}.result-gallery .lips-logo-crop img{transform:scale(1.18);transform-origin:0 50%;object-position:0 50%}.results-disclaimer{display:grid;grid-template-columns:22% 1fr auto;gap:3vw;align-items:start;padding-top:2rem;border-top:1px solid var(--line)}.results-disclaimer>p:first-child{text-transform:uppercase;letter-spacing:.16em;font-size:.68rem;font-weight:500}.results-disclaimer>p:nth-child(2){max-width:660px;margin:0;line-height:1.65;color:var(--stone)}.results-disclaimer .text-link{white-space:nowrap}
.result-gallery-full{max-width:960px}.result-gallery-full figure{aspect-ratio:auto}.result-gallery-full img{height:auto;object-fit:contain}
.treatment-body{padding:9vw 7vw;display:grid;grid-template-columns:minmax(200px,.55fr) 1.45fr;gap:8vw}.treatment-aside{position:sticky;top:120px;align-self:start}.treatment-aside p{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;font-weight:500}.treatment-aside a{display:block;padding:.8rem 0;border-bottom:1px solid var(--line);font-size:.82rem}.treatment-copy{max-width:800px}.treatment-copy h2,.faq h2,.related h2{font-family:"Italiana",serif;font-weight:400;font-size:clamp(2.6rem,4.7vw,5rem);line-height:1.02;margin:0 0 1.5rem}.treatment-copy h2:not(:first-child){margin-top:5rem}.treatment-copy p,.treatment-copy li{font-size:1.02rem;line-height:1.8;color:#4f4942}.treatment-copy ul{padding-left:1.2rem}.treatment-note{margin:3rem 0;padding:2rem;border-left:3px solid var(--stone);background:var(--paper);font-family:"Italiana",serif;font-size:1.6rem;line-height:1.35}.treatment-cta{margin-top:5rem;background:var(--ink);color:var(--ivory);padding:4rem}.treatment-cta h2{font-size:clamp(2.8rem,5vw,5.5rem)}.treatment-cta p{color:#c8c1b7;max-width:600px}.treatment-cta .button{margin-top:1rem}
.faq{padding:9vw 7vw;background:var(--paper)}.faq-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.faq details{padding:1.5rem 1rem 1.5rem 0;border-bottom:1px solid var(--line)}.faq details:nth-child(even){padding-left:2rem;border-left:1px solid var(--line)}.faq summary{cursor:pointer;font-weight:500}.faq details p{line-height:1.7;color:var(--stone)}.related{padding:8vw 7vw}.related-links{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.related-links a{padding:2rem 1rem 2rem 0;border-bottom:1px solid var(--line);font-family:"Italiana",serif;font-size:1.8rem}.treatment-footer-note{font-size:.72rem;color:#c8c1b7;text-transform:none;letter-spacing:0;max-width:420px}
@media(max-width:900px){.treatment-hero,.treatment-body{grid-template-columns:1fr}.treatment-hero{padding:18vw 7vw 12vw}.treatment-body{padding:16vw 7vw}.treatment-aside{display:none}.site-header .header-cta{display:inline-flex}.treatment-results{padding:16vw 7vw}.treatment-results-heading,.result-case,.results-disclaimer{grid-template-columns:1fr}.treatment-results-heading{margin-bottom:3rem}.result-case{gap:2rem}.results-disclaimer .text-link{white-space:normal}.faq{padding:16vw 7vw}.faq-grid,.related-links{grid-template-columns:1fr}.faq details:nth-child(even){padding-left:0;border-left:0}.treatment-cta{padding:2.5rem 1.5rem}.related{padding:16vw 7vw}.treatment-footer-note{max-width:none}}
@media(max-width:620px){.result-gallery-three{grid-template-columns:1fr 1fr}.result-gallery-three figure:first-child{grid-column:1/-1;aspect-ratio:4/3}.result-gallery-two{grid-template-columns:1fr 1fr}.result-gallery-full{grid-template-columns:1fr}.site-header .brand-logo-exact{width:180px}}
@media(max-width:520px){.site-header .header-cta{font-size:.62rem;letter-spacing:.08em}.site-header .brand{font-size:.8rem}.site-header .brand i{width:16px}.result-gallery{gap:.55rem}.result-gallery figcaption{padding:2.5rem .7rem .7rem;font-size:.58rem}}

/* On phones, show every treatment photograph at its natural ratio.
   Fixed frames used to crop brows and lips in embedded Google browsers. */
@media(max-width:620px){
  .result-gallery-three,.result-gallery-two{grid-template-columns:1fr}
  .result-gallery-three figure:first-child,.result-gallery figure{grid-column:auto;aspect-ratio:auto}
  .result-gallery img{width:100%;height:auto;object-fit:contain;object-position:center}
  .result-gallery .lips-logo-crop img{transform:none}
}

/* Encabezado estable en navegadores móviles integrados (Google, Maps e iOS). */
.site-header>.brand{flex:0 1 350px;min-width:0;max-width:55%;overflow:hidden}
.site-header .brand-logo-exact{display:block;width:min(350px,100%);max-width:100%;height:auto!important;max-height:58px;object-fit:contain;object-position:left center;flex:none}
.site-header .header-cta{flex:0 0 auto}
@media(max-width:900px){
  .site-header{gap:12px}
  .site-header>.brand{flex:1 1 auto;max-width:calc(100% - 148px)}
  .site-header .brand-logo-exact{width:min(220px,100%);max-height:48px}
  .site-header .header-cta{max-width:136px;line-height:1.25;text-align:right;white-space:normal}
}
@media(max-width:520px){
  .site-header{padding-left:5vw;padding-right:5vw;gap:8px}
  .site-header>.brand{max-width:calc(100% - 120px)}
  .site-header .brand-logo-exact{width:min(168px,100%);max-height:42px}
  .site-header .header-cta{max-width:112px;font-size:.58rem;letter-spacing:.06em}
}

/* Ajuste común para todas las fichas de tratamiento en móvil. Mantiene la
   composición editorial, pero impide que títulos o datos ensanchen la página. */
@media (max-width: 620px) {
  html,
  body {
    width: 100%;
    max-width: 100%;
    overflow-x: clip;
  }

  main,
  .treatment-hero,
  .treatment-hero > *,
  .treatment-intro,
  .treatment-facts,
  .treatment-body,
  .treatment-copy,
  .faq,
  .related {
    min-width: 0;
    max-width: 100%;
  }

  .treatment-hero h1 {
    width: 100%;
    max-width: 100%;
    font-size: clamp(2.15rem, 10.8vw, 3.2rem);
    line-height: .94;
    letter-spacing: -.035em;
  }

  .treatment-intro {
    width: 100%;
    font-size: 1rem;
    line-height: 1.7;
  }

  .treatment-facts div {
    min-width: 0;
    align-items: flex-start;
    gap: 1rem;
  }

  .treatment-facts dt {
    flex: 0 0 34%;
  }

  .treatment-facts dd {
    min-width: 0;
    max-width: 62%;
    overflow-wrap: anywhere;
  }

  .instagram-float,
  .whatsapp-float {
    max-width: calc(100vw - 2rem);
  }
}
