/* P&P Clinic — diseño "negro & oro" · hoja única, sin dependencias */
:root{--negro:#0b0b0e;--carbon:#141419;--carbon2:#1b1b22;--linea:rgba(201,164,92,.28);
 --oro:#c9a45c;--oro2:#e6cf9b;--hueso:#f4efe6;--texto:#eceae4;--gris:#a39f95}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--negro);color:var(--texto);font-family:Inter,system-ui,sans-serif;line-height:1.7;overflow-x:hidden}
html{max-width:100%;overflow-x:hidden}
img{max-width:100%}
h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;color:var(--hueso);line-height:1.12}
.serif-i{font-style:italic;color:var(--oro2)}
.container{max-width:1180px;margin:0 auto;padding:0 24px}
.etiqueta{display:inline-block;font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:var(--oro);margin-bottom:18px}
.btn{display:inline-block;padding:16px 36px;font-size:.85rem;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;font-weight:600;transition:.25s;border:none;cursor:pointer}
.btn-oro{background:var(--oro);color:#0b0b0e}.btn-oro:hover{background:var(--oro2);transform:translateY(-2px)}
.btn-ghost{border:1px solid var(--oro);color:var(--oro2);background:transparent}.btn-ghost:hover{background:rgba(201,164,92,.12)}
.rev{opacity:0;transform:translateY(34px);transition:opacity .8s ease,transform .8s ease}
.rev.vis{opacity:1;transform:none}
.rev.d1{transition-delay:.12s}.rev.d2{transition-delay:.24s}.rev.d3{transition-delay:.36s}
@media (prefers-reduced-motion: reduce){.rev{opacity:1;transform:none;transition:none}}
.site-header{position:fixed;top:0;left:0;right:0;z-index:50;background:transparent;transition:.35s;border-bottom:1px solid transparent}
.site-header.solido{background:rgba(11,11,14,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--linea)}
.head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 28px;max-width:1320px;margin:0 auto}
.logo{font-family:'Cormorant Garamond',serif;font-size:1.5rem;letter-spacing:.12em;color:var(--hueso);text-decoration:none;white-space:nowrap}
.logo b{color:var(--oro);font-weight:600}
.main-nav ul{list-style:none;display:flex;gap:2px;align-items:center}
.main-nav a{color:#cfccc4;text-decoration:none;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;padding:8px 12px;display:block}
.main-nav a:hover{color:var(--oro2)}
.nav-toggle{display:none;background:none;border:1px solid var(--linea);color:var(--oro2);padding:9px 14px;font-size:.85rem;cursor:pointer;letter-spacing:.1em}
.has-sub{position:relative}
.has-sub .sub{display:none;position:absolute;top:100%;left:0;background:rgba(11,11,14,.97);border:1px solid var(--linea);min-width:250px;padding:10px;flex-direction:column;z-index:60}
.has-sub:hover .sub,.has-sub:focus-within .sub{display:flex}
.header-cta{border:1px solid var(--oro);color:var(--oro2);text-decoration:none;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;padding:11px 22px;white-space:nowrap;transition:.25s}
.header-cta:hover{background:rgba(201,164,92,.12)}
.hero-full,.hero-trans{position:relative;display:flex;align-items:center;background-position:center 30%;background-size:cover;background-repeat:no-repeat;background-attachment:fixed}
.hero-full{min-height:100vh}
.hero-trans{min-height:92vh}
.hero-velo{position:absolute;inset:0;background:linear-gradient(105deg,rgba(11,11,14,.96) 30%,rgba(11,11,14,.6) 75%,rgba(11,11,14,.82)),radial-gradient(900px 520px at 12% 115%,rgba(201,164,92,.24),transparent 60%)}
.hero-full .container,.hero-trans .container{position:relative;padding-top:110px;padding-bottom:60px}
.hero-full h1{font-size:clamp(3rem,8vw,6rem);max-width:840px;margin-bottom:26px}
.hero-trans h1{font-size:clamp(2.6rem,6.6vw,5rem);max-width:800px;margin-bottom:24px}
.hero-sub{max-width:560px;color:#d8d5cd;font-size:1.1rem;margin-bottom:42px}
.acciones{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:60px}
.crumbs{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gris);margin-bottom:28px}
.crumbs a{color:var(--gris);text-decoration:none}.crumbs a:hover{color:var(--oro2)}
.mini-prueba{display:flex;gap:40px;flex-wrap:wrap}
.mini-prueba div{border-left:1px solid var(--linea);padding-left:18px}
.mini-prueba b{display:block;font-family:'Cormorant Garamond',serif;font-size:2rem;color:var(--oro2);font-weight:600;line-height:1.1}
.mini-prueba span{color:var(--gris);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase}
.scroll-cue{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);color:var(--oro);font-size:.65rem;letter-spacing:.4em;text-transform:uppercase;animation:flota 2.4s infinite}
@keyframes flota{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,10px)}}
.hero-page{position:relative;padding:160px 0 70px;border-bottom:1px solid var(--linea);background:radial-gradient(640px 380px at 50% -10%,rgba(201,164,92,.15),transparent 70%)}
.hero-page h1{font-size:clamp(2.2rem,5.4vw,3.8rem);margin-bottom:16px}
.hero-page p{max-width:640px;color:var(--gris)}
.marquee{border-top:1px solid var(--linea);border-bottom:1px solid var(--linea);overflow:hidden;background:var(--carbon);padding:18px 0;white-space:nowrap}
.marquee span{display:inline-block;font-family:'Cormorant Garamond',serif;font-size:1.3rem;color:var(--oro);padding-right:60px;animation:desliza 30s linear infinite}
@keyframes desliza{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion: reduce){.marquee span{animation:none}}
section{padding:100px 0}
.sec-head{text-align:center;max-width:700px;margin:0 auto 64px}
.sec-head h2{font-size:clamp(2rem,4.6vw,3.3rem)}
.sec-head p{color:var(--gris);margin-top:14px}
.comparador{position:relative;max-width:880px;margin:0 auto;border:1px solid var(--oro);user-select:none;overflow:hidden}
.comparador>img{width:100%;display:block;pointer-events:none;filter:saturate(.92) contrast(1.04)}
.comparador .despues{position:absolute;inset:0}
.comparador .despues img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none;filter:saturate(.92) contrast(1.04)}
.comparador .tirador{position:absolute;top:0;bottom:0;width:2px;background:var(--oro);pointer-events:none}
.comparador .tirador:after{content:"◂ ▸";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--oro);color:#0b0b0e;font-size:.8rem;padding:10px 12px;border-radius:50%;white-space:nowrap}
.comparador .tag{position:absolute;top:16px;background:rgba(11,11,14,.85);color:var(--oro2);font-size:.64rem;letter-spacing:.28em;text-transform:uppercase;padding:7px 14px;border:1px solid var(--linea);pointer-events:none}
.tag.a{left:16px}.tag.b{right:16px}
.comparador input[type=range]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}
.nota-comparador{text-align:center;color:var(--gris);font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;margin-top:18px}
.trats,.tipos{display:grid;gap:26px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.trat,.tipo{position:relative;border:1px solid var(--linea);background:var(--carbon);overflow:hidden;text-decoration:none;display:block;transition:.35s}
.trat:hover,.tipo:hover{transform:translateY(-8px);border-color:var(--oro);box-shadow:0 30px 60px rgba(0,0,0,.55)}
.trat .foto,.tipo .foto{height:225px;overflow:hidden;position:relative}
.trat .foto img,.tipo .foto img{width:100%;height:100%;object-fit:cover;filter:saturate(.82) brightness(.88);transition:.6s}
.trat:hover .foto img,.tipo:hover .foto img{transform:scale(1.08);filter:saturate(1) brightness(.96)}
.trat .num{position:absolute;top:14px;left:16px;font-family:'Cormorant Garamond',serif;color:var(--oro2);background:rgba(11,11,14,.8);border:1px solid var(--linea);padding:4px 12px;letter-spacing:.2em;font-size:.85rem}
.trat .cuerpo,.tipo .cuerpo{padding:26px 28px 30px}
.trat h3,.tipo h3{font-size:1.55rem;margin-bottom:8px}
.trat p,.tipo p{color:var(--gris);font-size:.9rem}
.trat .mas{display:inline-block;margin-top:16px;color:var(--oro2);font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;border-bottom:1px solid var(--linea);padding-bottom:4px}
.tipo .dato{color:var(--oro);font-size:.7rem;letter-spacing:.26em;text-transform:uppercase}
.tipo .pie{display:flex;justify-content:space-between;align-items:center;margin-top:22px;padding-top:18px;border-top:1px solid var(--linea);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gris)}
.tipo .pie b{color:var(--oro2)}
.recomendada{position:absolute;top:16px;right:-1px;background:var(--oro);color:#0b0b0e;font-size:.62rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;padding:8px 16px;z-index:2}
.proceso{position:relative;max-width:760px;margin:0 auto}
.proceso:before{content:"";position:absolute;left:27px;top:0;bottom:0;width:1px;background:linear-gradient(var(--oro),rgba(201,164,92,.1))}
.paso{position:relative;padding:0 0 54px 90px}
.paso:last-child{padding-bottom:0}
.paso .n{position:absolute;left:0;top:-4px;width:56px;height:56px;border:1px solid var(--oro);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Cormorant Garamond',serif;font-size:1.3rem;color:var(--oro2);background:var(--negro)}
.paso h3{font-size:1.5rem;margin-bottom:6px}
.paso p{color:var(--gris);font-size:.95rem}
.paso .tiempo{color:var(--oro);font-size:.68rem;letter-spacing:.26em;text-transform:uppercase}
.parallax{position:relative;padding:150px 0;text-align:center;background-position:center;background-size:cover;background-repeat:no-repeat;background-attachment:fixed}
.parallax .hero-velo{background:rgba(11,11,14,.87)}
.parallax h2{position:relative;font-size:clamp(2rem,5vw,3.4rem);max-width:820px;margin:0 auto 20px}
.parallax blockquote{position:relative;max-width:780px;margin:0 auto;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(1.6rem,3.6vw,2.5rem);color:var(--hueso);line-height:1.4}
.parallax cite{position:relative;display:block;margin-top:26px;font-style:normal;color:var(--oro);font-size:.74rem;letter-spacing:.3em;text-transform:uppercase}
.parallax p{position:relative;color:var(--gris);max-width:560px;margin:0 auto 36px}
.parallax .btn,.parallax .etiqueta{position:relative}
.pilares{display:grid;gap:1px;background:var(--linea);border:1px solid var(--linea);grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.pilar{background:var(--carbon);padding:46px 40px;transition:.3s}
.pilar:hover{background:var(--carbon2)}
.pilar .num{font-family:'Cormorant Garamond',serif;color:var(--oro);letter-spacing:.2em}
.pilar h3{font-size:1.5rem;margin:14px 0 10px}
.pilar p{color:var(--gris);font-size:.92rem}
.pilar a{color:var(--oro2)}
.equipo-grid{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.persona{border:1px solid var(--linea);background:var(--carbon);overflow:hidden;transition:.35s}
.persona:hover{transform:translateY(-6px);border-color:var(--oro)}
.persona .foto{height:250px;overflow:hidden}
.persona img{width:100%;height:100%;object-fit:cover;object-position:top;filter:saturate(.82) brightness(.95);transition:.5s}
.persona:hover img{filter:saturate(1) brightness(1)}
.persona .info{padding:18px 22px}
.persona .rol{color:var(--oro);font-size:.64rem;letter-spacing:.26em;text-transform:uppercase}
.persona h3{font-size:1.25rem;margin-top:4px}
.testis{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.testi{background:var(--carbon);border:1px solid var(--linea);padding:34px 32px}
.testi .stars{color:var(--oro);letter-spacing:.3em;margin-bottom:16px}
.testi p{font-family:'Cormorant Garamond',serif;font-size:1.2rem;font-style:italic;line-height:1.5}
.testi span{display:block;margin-top:16px;color:var(--gris);font-size:.76rem;letter-spacing:.16em;text-transform:uppercase}
.dual{display:grid;gap:26px;grid-template-columns:repeat(auto-fit,minmax(330px,1fr))}
.clinica{position:relative;border:1px solid var(--linea);min-height:330px;display:flex;align-items:flex-end;overflow:hidden;transition:.35s;text-decoration:none}
.clinica:hover{border-color:var(--oro)}
.clinica .bg{position:absolute;inset:0;background-position:center;background-size:cover;filter:saturate(.8) brightness(.6);transition:.6s}
.clinica:hover .bg{transform:scale(1.05);filter:saturate(.95) brightness(.7)}
.clinica .velo{position:absolute;inset:0;background:linear-gradient(transparent 20%,rgba(11,11,14,.94))}
.clinica .info{position:relative;padding:34px 36px}
.clinica .ciudad{color:var(--oro);font-size:.7rem;letter-spacing:.3em;text-transform:uppercase}
.clinica h3{font-size:1.8rem;margin:6px 0 8px}
.clinica p{color:#cfccc4;font-size:.9rem}
.precio-band{background:var(--carbon);border-top:1px solid var(--oro);border-bottom:1px solid var(--oro);text-align:center}
.precio-band .cifra{font-family:'Cormorant Garamond',serif;font-size:clamp(2.8rem,7vw,4.6rem);color:var(--oro2);margin:14px 0 4px}
.precio-band .cifra small{font-size:1.2rem;color:var(--gris)}
.precio-band p{color:var(--gris);max-width:560px;margin:6px auto 30px}
.contenido{max-width:780px;margin:0 auto;padding:70px 24px}
.contenido h2{font-size:2rem;margin:54px 0 18px}
.contenido h2:first-child{margin-top:0}
.contenido h3{font-size:1.35rem;margin:34px 0 12px;color:var(--oro2)}
.contenido p{color:#c9c6bf;margin-bottom:16px}
.contenido ul,.contenido ol{margin:0 0 18px 20px;color:#c9c6bf}
.contenido li{margin-bottom:8px}
.contenido a{color:var(--oro2)}
.destacado{border-left:2px solid var(--oro);background:var(--carbon);padding:26px 30px;margin:36px 0}
.destacado p{margin:0;font-family:'Cormorant Garamond',serif;font-size:1.3rem;font-style:italic;color:var(--hueso)}
.tabla,table.tabla{width:100%;max-width:100%;table-layout:fixed;border-collapse:collapse;margin:28px 0;font-size:.9rem}
.tabla th,.tabla td{border:1px solid var(--linea);padding:12px 14px;text-align:left;overflow-wrap:break-word}
@media(max-width:560px){.tabla{font-size:.82rem}.tabla th,.tabla td{padding:10px 9px}.tabla th{font-size:.68rem}}
.tabla th{background:var(--carbon);color:var(--oro2);font-weight:600;letter-spacing:.06em;text-transform:uppercase;font-size:.74rem}
.tabla td{color:#c9c6bf}
.meta-post{color:var(--gris);font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:28px}
.faq details{border:1px solid var(--linea);background:var(--carbon);margin-bottom:10px;padding:20px 26px}
.faq summary{cursor:pointer;font-family:'Cormorant Garamond',serif;font-size:1.25rem;color:var(--hueso)}
.faq details p{margin-top:12px;color:var(--gris);font-size:.92rem}
.faq h2{font-size:2rem;margin:54px 0 18px}
.grid{display:grid;gap:24px}
.grid-3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.card{background:var(--carbon);border:1px solid var(--linea);padding:30px 30px}
.card h3{font-size:1.4rem;margin-bottom:8px}
.card h3 a{color:var(--hueso);text-decoration:none}
.card h3 a:hover{color:var(--oro2)}
.card p{color:var(--gris);font-size:.92rem}
.card a{color:var(--oro2)}
.card .icono{font-size:1.6rem;margin-bottom:10px}
.card a.mas{display:inline-block;margin-top:12px;font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid var(--linea);padding-bottom:3px}
form label{display:block;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--oro);margin:20px 0 8px}
form input,form select,form textarea{width:100%;background:#0e0e12;border:1px solid var(--linea);color:var(--texto);padding:14px 16px;font-size:.95rem;font-family:inherit}
form input:focus,form select:focus,form textarea:focus{outline:none;border-color:var(--oro)}
form .check{display:flex;gap:10px;align-items:flex-start;margin:22px 0;font-size:.8rem;color:var(--gris)}
form .check input{width:auto;margin-top:3px}
form .check a{color:var(--oro2)}
.form-caja{border:1px solid var(--linea);background:var(--carbon);padding:46px 44px}
.final{position:relative;text-align:center;padding:130px 24px;background:radial-gradient(720px 420px at 50% 125%,rgba(201,164,92,.22),transparent 65%)}
.final h2{font-size:clamp(2.2rem,5.4vw,3.8rem);margin-bottom:16px}
.final p{color:var(--gris);max-width:540px;margin:0 auto 34px}
.site-footer{border-top:1px solid var(--linea);padding:64px 0 0;color:var(--gris);font-size:.88rem}
.footer-grid{display:grid;gap:34px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));padding-bottom:34px}
.site-footer h3{font-family:Inter,sans-serif;font-size:.72rem;letter-spacing:.26em;text-transform:uppercase;color:var(--oro);margin-bottom:14px}
.site-footer a{color:#cfccc4;text-decoration:none}
.site-footer a:hover{color:var(--oro2)}
.logo-footer{font-family:'Cormorant Garamond',serif;font-size:1.4rem;letter-spacing:.12em;color:var(--hueso)}
.logo-footer b{color:var(--oro)}
.footer-legal{border-top:1px solid var(--linea);padding:18px 24px 110px;font-size:.78rem;text-align:center;letter-spacing:.06em}
.barra-fija{position:fixed;bottom:0;left:0;right:0;z-index:60;display:flex;align-items:center;justify-content:center;gap:18px;background:rgba(11,11,14,.96);border-top:1px solid var(--oro);padding:12px 20px;transform:translateY(110%);transition:.4s}
.barra-fija.vis{transform:none}
.barra-fija span{font-family:'Cormorant Garamond',serif;font-size:1.15rem;color:var(--hueso)}
.barra-fija .btn{padding:12px 26px}
@media(max-width:920px){
 .nav-toggle{display:block}
 .main-nav ul{display:none;position:absolute;top:64px;left:0;right:0;background:rgba(11,11,14,.98);border-bottom:1px solid var(--linea);flex-direction:column;align-items:stretch;padding:12px}
 .main-nav ul.abierto{display:flex}
 .has-sub .sub{position:static;display:flex;border:none;padding-left:18px}
 .header-cta{display:none}
 .hero-full,.hero-trans,.parallax{background-attachment:scroll}
 .barra-fija span{display:none}
}

/* filas media: foto + texto alternados */
.media-fila{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center;margin:70px 0}
.media-fila.invertida .media-foto{order:2}
.media-foto{position:relative;border:1px solid var(--linea);overflow:hidden}
.media-foto img{width:100%;height:100%;min-height:340px;object-fit:cover;display:block;filter:saturate(.88) contrast(1.04) brightness(.94);transition:.6s}
.media-foto:hover img{transform:scale(1.04);filter:saturate(1) brightness(1)}
.media-foto .pie-foto{position:absolute;left:0;right:0;bottom:0;padding:12px 18px;background:linear-gradient(transparent,rgba(11,11,14,.92));color:var(--oro2);font-size:.66rem;letter-spacing:.26em;text-transform:uppercase}
.media-texto h2{font-size:clamp(1.7rem,3.4vw,2.4rem);margin-bottom:16px}
.media-texto h3{font-size:1.3rem;color:var(--oro2);margin:24px 0 8px}
.media-texto p{color:#c9c6bf;margin-bottom:14px}
.media-texto ul{margin:0 0 14px 20px;color:#c9c6bf}
.media-texto a{color:var(--oro2)}
@media(max-width:900px){.media-fila{grid-template-columns:1fr;gap:26px}.media-fila.invertida .media-foto{order:0}}
