
:root{--bg:#090909;--bg2:#111;--panel:#151515;--line:#2b2b2b;--text:#f5f5f3;--muted:#b8b8b3;--soft:#d9d7cf;--accent:#d3b56b;--max:1180px;--radius:22px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit}.wrap{width:min(var(--max),calc(100% - 40px));margin:auto}.site-header{position:sticky;top:0;z-index:50;background:rgba(9,9,9,.94);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.08)}.nav{height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand img{width:118px;height:auto}.nav-links{display:flex;align-items:center;gap:24px;font-size:.88rem}.nav-links a{text-decoration:none;color:#ddd}.nav-links a:hover{color:#fff}.nav-cta,.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;text-transform:uppercase;letter-spacing:.08em;font-weight:700;font-size:.8rem;padding:14px 20px;border-radius:999px;border:1px solid var(--accent);transition:.2s}.nav-cta,.btn.primary{background:var(--accent);color:#090909}.btn.secondary{background:transparent;color:#fff;border-color:#555}.btn:hover{transform:translateY(-1px)}.menu-btn{display:none;background:none;border:1px solid #444;color:#fff;border-radius:10px;padding:10px 12px;font-size:1.05rem}.hero{min-height:78vh;display:grid;align-items:center;position:relative;overflow:hidden;background:radial-gradient(circle at 78% 30%,rgba(211,181,107,.10),transparent 34%),linear-gradient(180deg,#080808,#0d0d0d)}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center;padding:72px 0}.eyebrow{color:var(--accent);font-size:.78rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin:0 0 14px}.hero h1,.page-hero h1{font-size:clamp(2.8rem,6vw,5.9rem);line-height:.97;margin:0 0 24px;letter-spacing:-.045em;max-width:950px}.page-hero h1{font-size:clamp(2.6rem,5.3vw,5.2rem)}.lead{font-size:clamp(1.05rem,1.7vw,1.28rem);color:#d2d2cf;max-width:760px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.hero-photo{border-radius:32px;overflow:hidden;border:1px solid #2b2b2b;box-shadow:0 30px 90px rgba(0,0,0,.45)}.hero-photo img{width:100%;aspect-ratio:4/5;object-fit:cover}.trust-strip{border-top:1px solid #222;border-bottom:1px solid #222;background:#0d0d0d}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}.trust-item{padding:24px 26px;border-right:1px solid #222}.trust-item:last-child{border-right:0}.trust-item strong{display:block;font-size:1.05rem}.trust-item span{color:var(--muted);font-size:.9rem}.section{padding:90px 0}.section.alt{background:#0e0e0e}.section-head{max-width:760px;margin-bottom:42px}.section h2{font-size:clamp(2rem,4vw,3.7rem);line-height:1.05;margin:0 0 18px;letter-spacing:-.035em}.section h3{font-size:1.25rem;margin:0 0 10px}.section p{color:#d0d0cb}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:var(--panel);border:1px solid #282828;border-radius:var(--radius);padding:28px;display:flex;flex-direction:column;min-height:250px}.card p{color:var(--muted);margin-top:6px}.card a.more{margin-top:auto;text-decoration:none;color:var(--accent);font-weight:700}.card.feature{grid-column:span 2}.card img{border-radius:16px;margin-bottom:20px;aspect-ratio:16/9;object-fit:cover}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}.two-col.top{align-items:start}.photo-card img{border-radius:28px;width:100%;object-fit:cover}.checks{list-style:none;padding:0;margin:24px 0}.checks li{padding:10px 0 10px 28px;position:relative;border-bottom:1px solid #252525;color:#d7d7d2}.checks li:before{content:'✓';position:absolute;left:0;color:var(--accent);font-weight:800}.process{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;counter-reset:steps}.step{counter-increment:steps;background:#131313;border:1px solid #292929;border-radius:20px;padding:28px}.step:before{content:'0' counter(steps);display:block;color:var(--accent);font-weight:700;margin-bottom:28px;letter-spacing:.12em}.step p{color:var(--muted)}.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.comparison{position:relative;overflow:hidden;border-radius:20px;background:#181818;aspect-ratio:1/1}.comparison>img,.comparison .before img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.comparison .before{position:absolute;inset:0;width:50%;overflow:hidden;border-right:2px solid #fff}.comparison .before img{width:200%;max-width:none}.comparison input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;z-index:4}.comparison .handle{position:absolute;left:50%;top:50%;z-index:3;width:38px;height:38px;margin:-19px;border-radius:50%;background:#fff;color:#111;display:grid;place-items:center;font-weight:800;pointer-events:none}.faq{max-width:900px}.faq details{border-bottom:1px solid #2b2b2b;padding:20px 0}.faq summary{cursor:pointer;font-weight:700;font-size:1.08rem}.faq details p{padding-right:20px;color:var(--muted)}.callout{border:1px solid #343434;border-radius:28px;padding:42px;background:linear-gradient(130deg,#151515,#0f0f0f)}.callout h2{font-size:clamp(2rem,4vw,3.3rem)}.breadcrumb{padding:22px 0 0;color:#979793;font-size:.84rem}.breadcrumb a{text-decoration:none;color:#bbb}.page-hero{padding:64px 0 80px;background:radial-gradient(circle at 80% 0%,rgba(211,181,107,.10),transparent 31%)}.page-hero .lead{max-width:820px}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:56px}.prose h2{margin-top:52px;font-size:2.2rem}.prose h3{margin-top:34px}.prose p,.prose li{color:#cecec9}.prose ul{padding-left:22px}.sidebar{position:sticky;top:110px;align-self:start}.sidebox{border:1px solid #2c2c2c;background:#111;border-radius:20px;padding:24px;margin-bottom:18px}.sidebox a{display:block;text-decoration:none;padding:8px 0;color:#ccc}.sidebox a:hover{color:#fff}.note{border-left:3px solid var(--accent);background:#141414;padding:18px 20px;margin:26px 0;color:#d7d7d0}.price-factors{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.factor{background:#131313;border:1px solid #292929;border-radius:18px;padding:22px}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px}.contact-form{display:grid;gap:14px}.contact-form input,.contact-form textarea{width:100%;background:#101010;border:1px solid #333;border-radius:12px;color:#fff;padding:15px 16px;font:inherit}.contact-form textarea{min-height:150px;resize:vertical}.form-message{font-size:.92rem}.form-message.success{color:#b9e6c0}.form-message.error{color:#ffaaaa}.footer{padding:46px 0 120px;border-top:1px solid #242424;color:#9e9e99}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}.footer h3{color:#fff;font-size:1rem}.footer a{display:block;text-decoration:none;color:#aaa;padding:4px 0}.footer small{display:block;margin-top:28px}.whatsapp{position:fixed;right:22px;bottom:22px;z-index:60;width:62px;height:62px;border-radius:50%;background:#25d366;padding:13px;box-shadow:0 14px 35px rgba(0,0,0,.4)}.whatsapp img{width:100%;height:100%;object-fit:contain}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.legal{font-size:.88rem;color:#999}.tag{display:inline-block;border:1px solid #3a3a3a;border-radius:999px;padding:6px 11px;margin:4px 4px 4px 0;color:#c8c8c2;font-size:.78rem}.mini-hero{border-radius:28px;overflow:hidden;margin-top:38px;max-height:470px}.mini-hero img{width:100%;height:470px;object-fit:cover}.intro-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.intro-card{padding:28px;border:1px solid #292929;border-radius:20px;background:#111}.muted{color:var(--muted)}
@media(max-width:980px){.nav-links{display:none;position:absolute;top:78px;left:0;right:0;background:#0b0b0b;padding:20px 24px;border-bottom:1px solid #333;flex-direction:column;align-items:flex-start}.nav-links.open{display:flex}.menu-btn{display:block}.nav .nav-cta{display:none}.hero-grid,.two-col,.contact-grid,.content-grid{grid-template-columns:1fr}.hero-photo{max-width:620px}.cards{grid-template-columns:1fr 1fr}.card.feature{grid-column:span 1}.process,.case-grid{grid-template-columns:1fr 1fr}.sidebar{position:static}.trust-grid{grid-template-columns:1fr 1fr}.trust-item:nth-child(2){border-right:0}.trust-item:nth-child(-n+2){border-bottom:1px solid #222}}
@media(max-width:640px){.wrap{width:min(100% - 28px,var(--max))}.nav{height:68px}.brand img{width:100px}.nav-links{top:68px}.hero-grid{padding:48px 0;gap:34px}.hero{min-height:auto}.hero h1,.page-hero h1{font-size:clamp(2.65rem,14vw,4.1rem)}.section{padding:66px 0}.cards,.process,.case-grid,.price-factors,.intro-grid,.footer-grid{grid-template-columns:1fr}.trust-grid{grid-template-columns:1fr}.trust-item{border-right:0!important;border-bottom:1px solid #222}.callout{padding:28px}.mini-hero img{height:320px}.footer{padding-bottom:110px}.whatsapp{width:58px;height:58px;right:16px;bottom:16px}}

/* Content-depth additions */
.top-gap{margin-top:24px}.prose.compact h2{margin-top:0}.process.process-4{grid-template-columns:repeat(4,1fr)}.limits li:before{content:"—"}.prose strong{color:#f2f2ee}.section-head .lead{max-width:900px}@media(max-width:980px){.process.process-4{grid-template-columns:1fr 1fr}}@media(max-width:640px){.process.process-4{grid-template-columns:1fr}}

/* Real case library V5 */
.case-stories{display:grid;gap:54px}.case-story{display:grid;grid-template-columns:minmax(300px,.9fr) 1.1fr;gap:42px;align-items:center;padding-bottom:54px;border-bottom:1px solid #282828}.case-story:nth-child(even){grid-template-columns:1.1fr minmax(300px,.9fr)}.case-story:nth-child(even) .comparison{order:2}.case-copy h2{font-size:clamp(1.65rem,3vw,2.6rem);margin:0 0 8px}.case-tags{color:var(--accent)!important;font-weight:700;font-size:.86rem;text-transform:uppercase;letter-spacing:.06em}.real-case-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.real-case-card{border:1px solid #292929;border-radius:22px;background:#121212;overflow:hidden}.real-case-card .comparison{border-radius:0;aspect-ratio:16/11}.real-case-card>div:last-child{padding:24px}.real-case-card h3{font-size:1.35rem}.real-case-card .more{color:var(--accent);text-decoration:none;font-weight:700}@media(max-width:800px){.case-story,.case-story:nth-child(even){grid-template-columns:1fr;gap:24px}.case-story:nth-child(even) .comparison{order:0}.real-case-grid{grid-template-columns:1fr}}

/* Correcciones V6: comparador y logotipo de pie */
.comparison{touch-action:pan-y;user-select:none;-webkit-user-select:none;cursor:ew-resize}
.comparison.is-dragging{cursor:grabbing}
.comparison img{-webkit-user-drag:none;user-drag:none;pointer-events:none}
.comparison input{pointer-events:none}
.footer-grid>div:first-child>img{width:130px!important;height:auto!important;aspect-ratio:1/1;object-fit:contain}
.injerto-hero img{object-position:center 48%}

/* V7: comparador sin escalado. Ambas imágenes conservan siempre exactamente el mismo tamaño. */
.comparison{--compare-pos:50%;position:relative;overflow:hidden;touch-action:pan-y;cursor:ew-resize}
.comparison>img,.comparison .before,.comparison .before img{position:absolute;inset:0;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover}
.comparison .before{clip-path:inset(0 calc(100% - var(--compare-pos)) 0 0);overflow:visible!important;border-right:0!important}
.comparison .before img{transform:none!important}
.comparison .handle{left:var(--compare-pos)!important;z-index:5}
.comparison .handle:before{content:"";position:absolute;left:50%;top:50%;width:2px;height:2000px;background:#fff;transform:translate(-50%,-50%);z-index:-1}
.comparison input{position:absolute;inset:0;width:100%;height:100%;opacity:0;pointer-events:none}
.comparison img{pointer-events:none;-webkit-user-drag:none;user-select:none}
/* V7: logo transparente y encuadres de héroe */
.brand img{object-fit:contain}
.footer-grid>div:first-child>img{background:transparent!important;object-fit:contain!important}
.mini-hero img{object-position:center center}
.densidad-hero img{object-position:center 58%}
.mujer-hero img{object-position:center 54%}
.rapado-hero img{object-position:center 42%}
.injerto-hero img{object-position:center 55%}

/* V8: escala de logotipo y encuadres finales */
.brand img{width:76px!important;max-height:66px!important;height:auto!important;object-fit:contain!important}
.footer-grid>div:first-child>img{width:92px!important;max-height:92px!important;height:auto!important;object-fit:contain!important}
.card img.density-card-image{object-position:center 78%!important}
.injerto-hero img{object-position:center 48%!important}
@media(max-width:640px){
  .brand img{width:66px!important;max-height:58px!important}
  .footer-grid>div:first-child>img{width:82px!important;max-height:82px!important}
  .card img.density-card-image{object-position:center 80%!important}
}

/* V10 landing clinical photography */
.card img[src*="zona-donante-landing"],.card img[src*="coronilla-landing"],.card img[src*="mujer-landing"],.card img[src*="alopecia-triangular-landing"]{object-position:center 38%;}
.card img[src*="alopecia-triangular-landing"]{object-position:center 45%;}


/* V11 - equilibrio visual de soluciones */
.featured-solutions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  margin-bottom:18px;
}
.featured-solution{min-height:0}
.featured-solution img{
  aspect-ratio:16/9;
  width:100%;
  object-fit:cover;
}
.featured-solution img.density-card-image{
  object-position:center 43%!important;
}
.featured-solution img.woman-feature-image{
  object-position:center 58%!important;
}
.compact-solutions .card img{
  aspect-ratio:4/3;
  object-fit:cover;
}
.compact-solutions .card img.coronilla-card-image{
  object-position:center 72%!important;
}
.compact-solutions .card img.hairline-card-image{
  object-position:center 52%!important;
}
.compact-solutions .card img.postinjerto-card-image{
  object-position:center 44%!important;
}
.compact-solutions .card img[src*="zona-donante-landing"]{
  object-position:center 50%!important;
}
.compact-solutions .card img[src*="alopecia-triangular-landing"]{
  object-position:center 46%!important;
}
@media(max-width:700px){
  .featured-solutions{grid-template-columns:1fr}
}


/* V12 - últimos ajustes visuales landing */

/* Efecto densidad: más presencia y sin aire innecesario sobre la cabeza */
.featured-solution img.density-card-image{
  aspect-ratio: 16/8.3 !important;
  object-fit: cover !important;
  object-position: center 76% !important;
}

/* Mujer: subir visualmente la cabeza dentro del encuadre para verla completa */
.featured-solution img.woman-feature-image{
  object-fit: cover !important;
  object-position: center 72% !important;
}

/* En móvil mantenemos el foco en la cabeza */
@media(max-width:700px){
  .featured-solution img.density-card-image{
    aspect-ratio: 16/9 !important;
    object-position: center 76% !important;
  }
  .featured-solution img.woman-feature-image{
    object-position: center 72% !important;
  }
}


/* V13 - ajuste solicitado */
.compact-solutions .card img.postinjerto-card-image{
  object-fit: cover !important;
  object-position: center 30% !important;
  transform: scale(1.14);
  transform-origin: center 34%;
}

/* Evita que la ampliación salga de los bordes redondeados de la tarjeta */
.compact-solutions .card:has(img.postinjerto-card-image){
  overflow: hidden;
}


/* V15 - tarjeta Después de un injerto alineada con el resto */
.compact-solutions .card:has(img.postinjerto-card-image){
  overflow: visible !important;
}

.compact-solutions .card img.postinjerto-card-image{
  width: 100% !important;
  aspect-ratio: 4 / 3 !important;
  object-fit: cover !important;
  object-position: center 46% !important;
  transform: none !important;
  transform-origin: center !important;
  display: block !important;
}


/* =========================================================
   V22 · MOBILE SAFE LAYOUT
   SOLO móvil. Escritorio permanece como V17.
   ========================================================= */
@media (max-width:700px){

  html, body{
    overflow-x:hidden !important;
  }

  .hero{
    overflow:hidden !important;
  }

  /* Márgenes más generosos: 24px reales por lado */
  .hero .wrap{
    width:calc(100vw - 48px) !important;
    max-width:calc(100vw - 48px) !important;
    margin-left:24px !important;
    margin-right:24px !important;
    padding:0 !important;
    box-sizing:border-box !important;
  }

  .hero-grid{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    padding:42px 0 38px !important;
  }

  /* Columna de texto deliberadamente más estrecha que el viewport */
  .hero-grid > div:first-child{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    padding-right:6px !important;
    box-sizing:border-box !important;
  }

  .hero .eyebrow{
    font-size:10.5px !important;
    line-height:1.4 !important;
    letter-spacing:.12em !important;
    margin:0 0 16px !important;
    max-width:100% !important;
    white-space:normal !important;
  }

  .hero h1{
    width:100% !important;
    max-width:100% !important;
    margin:0 0 24px !important;
    padding:0 !important;
    font-size:36px !important;
    line-height:1.03 !important;
    letter-spacing:-1px !important;
    white-space:normal !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
  }

  /* 31ch evita que las líneas lleguen al borde derecho */
  .hero .lead{
    width:100% !important;
    max-width:31ch !important;
    margin:0 !important;
    padding:0 !important;
    font-size:15px !important;
    line-height:1.58 !important;
    letter-spacing:0 !important;
    white-space:normal !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
  }

  .hero-actions{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:11px !important;
    width:100% !important;
    max-width:100% !important;
    margin:28px 0 0 !important;
    padding:0 !important;
  }

  /* CTA compactos, no barras de ancho completo */
  .hero-actions .btn{
    width:auto !important;
    min-width:220px !important;
    max-width:280px !important;
    min-height:48px !important;
    margin:0 !important;
    padding:12px 20px !important;
    box-sizing:border-box !important;
    font-size:12px !important;
    line-height:1.15 !important;
    letter-spacing:.065em !important;
    white-space:nowrap !important;
    text-align:center !important;
  }

  .hero-photo{
    width:100% !important;
    max-width:100% !important;
    margin-top:34px !important;
  }

  /* Seguridad para el resto de la landing móvil */
  .section .wrap,
  .trust-strip .wrap,
  .footer .wrap{
    width:calc(100vw - 40px) !important;
    max-width:calc(100vw - 40px) !important;
    margin-left:20px !important;
    margin-right:20px !important;
    padding-left:0 !important;
    padding-right:0 !important;
    box-sizing:border-box !important;
  }

  .section,
  .section-head,
  .featured-solutions,
  .compact-solutions,
  .cards,
  .card,
  .footer-grid,
  .trust-grid{
    min-width:0 !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }
}

@media (max-width:390px){
  .hero .wrap{
    width:calc(100vw - 36px) !important;
    max-width:calc(100vw - 36px) !important;
    margin-left:18px !important;
    margin-right:18px !important;
  }

  .hero h1{
    font-size:33px !important;
    letter-spacing:-.8px !important;
  }

  .hero .lead{
    max-width:29ch !important;
    font-size:14.5px !important;
  }

  .hero-actions .btn{
    min-width:210px !important;
    max-width:260px !important;
    font-size:11.5px !important;
  }
}


/* =========================================================
   V23 · RESPONSIVE GLOBAL PARA PÁGINAS INTERNAS
   SOLO móvil. Escritorio queda intacto.
   ========================================================= */

@media (max-width:700px){

  /* Seguridad global */
  html, body{
    width:100% !important;
    max-width:100% !important;
    overflow-x:hidden !important;
  }

  body *,
  body *::before,
  body *::after{
    box-sizing:border-box;
  }

  img, video, svg, canvas{
    max-width:100%;
  }

  /* Breadcrumbs */
  .breadcrumbs,
  .breadcrumb,
  [class*="breadcrumb"]{
    width:100% !important;
    max-width:100% !important;
    white-space:normal !important;
    overflow-wrap:break-word !important;
  }

  /* Todos los heroes de páginas internas */
  .page-hero,
  .page-hero .wrap,
  .page-hero-grid,
  .page-hero-grid > *,
  .inner-hero,
  .inner-hero .wrap,
  .inner-hero-grid,
  .inner-hero-grid > *,
  .service-hero,
  .service-hero .wrap,
  .about-hero,
  .about-hero .wrap{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }

  .page-hero,
  .inner-hero,
  .service-hero,
  .about-hero{
    overflow:hidden !important;
  }

  /* Márgenes seguros para cualquier hero interno */
  .page-hero .wrap,
  .inner-hero .wrap,
  .service-hero .wrap,
  .about-hero .wrap{
    width:calc(100vw - 48px) !important;
    max-width:calc(100vw - 48px) !important;
    margin-left:24px !important;
    margin-right:24px !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }

  /* Títulos largos internos */
  .page-hero h1,
  .inner-hero h1,
  .service-hero h1,
  .about-hero h1,
  main > section:first-of-type h1{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    font-size:36px !important;
    line-height:1.03 !important;
    letter-spacing:-1px !important;
    white-space:normal !important;
    overflow-wrap:break-word !important;
    word-break:normal !important;
    margin-right:0 !important;
  }

  /* Subtítulos / intros de hero */
  .page-hero .lead,
  .inner-hero .lead,
  .service-hero .lead,
  .about-hero .lead,
  .page-hero p,
  .inner-hero p,
  .service-hero p,
  .about-hero p{
    width:100% !important;
    max-width:31ch !important;
    min-width:0 !important;
    font-size:15px !important;
    line-height:1.58 !important;
    white-space:normal !important;
    overflow-wrap:break-word !important;
    word-break:normal !important;
  }

  /* CTAs internos */
  .page-hero .actions,
  .page-hero .hero-actions,
  .inner-hero .actions,
  .inner-hero .hero-actions,
  .service-hero .actions,
  .service-hero .hero-actions,
  .about-hero .actions,
  .about-hero .hero-actions{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:11px !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }

  .page-hero .btn,
  .inner-hero .btn,
  .service-hero .btn,
  .about-hero .btn{
    width:auto !important;
    min-width:210px !important;
    max-width:280px !important;
    min-height:48px !important;
    padding:12px 18px !important;
    font-size:12px !important;
    line-height:1.15 !important;
    white-space:normal !important;
    text-align:center !important;
  }

  /* Rejillas y columnas internas a una sola columna cuando haga falta */
  .two-col,
  .about-grid,
  .service-grid,
  .contact-grid,
  .price-grid,
  .faq-grid,
  .case-detail-grid,
  .content-grid{
    grid-template-columns:minmax(0,1fr) !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }

  .two-col > *,
  .about-grid > *,
  .service-grid > *,
  .contact-grid > *,
  .price-grid > *,
  .faq-grid > *,
  .case-detail-grid > *,
  .content-grid > *{
    min-width:0 !important;
    max-width:100% !important;
  }

  /* Títulos de secciones también seguros */
  main h2,
  main h3{
    max-width:100% !important;
    overflow-wrap:break-word !important;
    word-break:normal !important;
  }

  /* Textos largos */
  main p,
  main li,
  main a{
    overflow-wrap:break-word;
  }

  /* Botones fuera de hero */
  main .btn{
    max-width:100%;
    white-space:normal;
  }

  /* Formularios */
  form,
  input,
  textarea,
  select{
    max-width:100% !important;
  }
}

@media (max-width:390px){

  .page-hero .wrap,
  .inner-hero .wrap,
  .service-hero .wrap,
  .about-hero .wrap{
    width:calc(100vw - 36px) !important;
    max-width:calc(100vw - 36px) !important;
    margin-left:18px !important;
    margin-right:18px !important;
  }

  .page-hero h1,
  .inner-hero h1,
  .service-hero h1,
  .about-hero h1,
  main > section:first-of-type h1{
    font-size:33px !important;
    letter-spacing:-.8px !important;
  }

  .page-hero .lead,
  .inner-hero .lead,
  .service-hero .lead,
  .about-hero .lead,
  .page-hero p,
  .inner-hero p,
  .service-hero p,
  .about-hero p{
    max-width:29ch !important;
    font-size:14.5px !important;
  }
}

/* V24 ajuste puntual cicatrices + WhatsApp */
.cicatriz-hero img{object-position:center 68%;}
.whatsapp img{background:transparent;}
@media(max-width:640px){
  .cicatriz-hero{max-height:320px;}
  .cicatriz-hero img{height:320px;object-position:center 66%;}
}

/* V25 · Instagram visible + ajuste móvil solicitado (26/08/2026) */
.btn.instagram-btn{background:transparent;color:#fff;border-color:#6a6a6a}
.btn.instagram-btn:hover{border-color:var(--accent);color:var(--accent)}
.footer-instagram{color:var(--accent)!important;font-weight:700}
@media (max-width:700px){
  /* Solo móvil: separa unos milímetros CAPILART BCN · BARCELONA del borde superior. */
  .hero-grid{padding-top:54px!important}
  .hero-actions .instagram-btn{border-color:#555!important}
}


/* V26 · Información legal y privacidad (30/08/2026) */
.legal-links{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:12px;font-size:12px}
.legal-links a{color:var(--muted);text-decoration:none}
.legal-links a:hover{color:var(--accent)}
.legal-page{max-width:900px}
.legal-page h2{margin-top:34px}
.legal-page h3{margin-top:24px}
.legal-page p,.legal-page li{line-height:1.75}
.legal-page ul{padding-left:22px}
.legal-meta{padding:16px 18px;border:1px solid rgba(255,255,255,.12);border-radius:10px;margin:20px 0 28px}
.privacy-first-layer{margin:6px 0 18px;font-size:12px;line-height:1.55;color:var(--muted)}
.privacy-first-layer p{margin:0 0 10px}
.privacy-first-layer a,.legal a{color:var(--accent)}
.privacy-check{display:flex;align-items:flex-start;gap:9px;cursor:pointer}
.privacy-check input{width:18px;height:18px;min-width:18px;margin-top:2px}
@media(max-width:700px){.legal-links{gap:8px 14px}.legal-page{width:100%}}
