*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#030303;color:#f5f5f7;font-family:Montserrat,Arial,sans-serif}::selection{background:#9d19ff;color:#fff}header{position:fixed;z-index:50;top:0;left:0;right:0;height:82px;display:flex;align-items:center;padding:0 5%;gap:34px;background:linear-gradient(#050505e8,transparent);transition:.3s}header.scrolled{height:68px;background:#050505f2;backdrop-filter:blur(14px);border-bottom:1px solid #ffffff12}.logo img{width:88px;display:block}nav{display:flex;gap:27px;margin:auto}nav a{color:#ddd;text-decoration:none;font-size:10px;font-weight:800;letter-spacing:.08em}nav a:hover{color:#b22bff}.pill,.primary,.secondary{display:inline-block;text-decoration:none;color:#fff;font-size:10px;font-weight:800;padding:13px 20px;border-radius:24px}.pill{border:1px solid #ae2cff;box-shadow:0 0 20px #9823df66}.primary{background:linear-gradient(100deg,#7514d9,#b526ff);box-shadow:0 0 28px #8e1fe955}.secondary{border:1px solid #888;margin-left:8px}.hamb{display:none;background:none;border:0;color:white;font-size:24px}.hero{min-height:760px;height:100vh;position:relative;background:url("../img/hero/hero.jpg") center/cover no-repeat;display:flex;align-items:center;padding:100px 6% 90px}.shade{position:absolute;inset:0;background:linear-gradient(90deg,#020202 0,#020202e8 30%,#03030365 58%,#03030320),linear-gradient(0deg,#030303 0,transparent 24%)}.heroText{position:relative;z-index:2;width:47%}.hero small,.block small,.cta small{color:#bb32ff;font-weight:800;letter-spacing:.18em}.hero h1{font-size:clamp(44px,5.5vw,82px);line-height:.88;margin:13px 0 20px;letter-spacing:-.055em}.hero h1 b,.block h2 b,.cta h2 b{color:#ad24ff}.hero p{max-width:540px;color:#ccc;font-size:13px;line-height:1.7}.actions{margin-top:28px}.heroBenefits{position:absolute;z-index:3;bottom:28px;left:6%;right:6%;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #ffffff25;padding-top:19px}.heroBenefits span{font-size:10px}.block{padding:90px 6%}.ppf{display:grid;grid-template-columns:1fr 1.2fr .75fr;gap:28px;align-items:center;background:#050505}.block h2,.cta h2{font-size:clamp(35px,4vw,58px);line-height:.95;letter-spacing:-.04em;margin:12px 0 20px}.copy p,.cta p{color:#aaa;font-size:12px;line-height:1.8}.ppfPhoto{height:410px;overflow:hidden;border-radius:12px}.ppfPhoto img{width:100%;height:100%;object-fit:cover}.featureList article{display:flex;gap:14px;padding:17px 0;border-bottom:1px solid #ffffff12}.featureList i{color:#b52aff;font-size:25px;font-style:normal}.featureList b{font-size:11px}.featureList p{font-size:9px;color:#999;margin:6px 0}.services{background:#020202}.title{margin-bottom:28px}.title h2{font-size:clamp(28px,3.4vw,50px)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.card{height:340px;border:1px solid #ffffff18;border-radius:13px;overflow:hidden;background-image:linear-gradient(0deg,#030303 0,#03030320 65%),var(--bg);background-size:cover;background-position:center;display:flex;align-items:flex-end;transition:.3s}.card:hover{transform:translateY(-5px);border-color:#a625f5;box-shadow:0 15px 45px #9a1ee51c}.card>div{padding:22px}.card h3{font-size:21px;margin:7px 0}.card p{font-size:10px;color:#ccc}.card button{border:0;background:none;color:#c63cff;font-weight:900;cursor:pointer}.miniServices{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:12px}.miniServices span{border:1px solid #ffffff20;border-radius:8px;padding:16px;text-align:center;color:#b72cff;font-size:17px}.miniServices b{color:#ddd;font-size:8px;margin-left:7px}.compare{display:grid;grid-template-columns:.7fr 1.5fr .55fr;gap:28px;align-items:center;background:#070707}.compareCopy p{font-size:11px;color:#999;line-height:1.7}.slider{height:330px;position:relative;overflow:hidden;border-radius:10px}.slider img{width:100%;height:100%;object-fit:cover}.after,.before{position:absolute;inset:0}.before{width:50%;overflow:hidden;filter:grayscale(1) contrast(.75)}.before img{width:200%;max-width:none}.slider label{position:absolute;bottom:10px;background:#050505d9;padding:7px;font-size:8px}.after label{right:10px;color:#bc32ff}.before label{left:10px}.line{position:absolute;z-index:4;left:50%;top:0;bottom:0;width:2px;background:white}.line:after{content:"↔";position:absolute;top:47%;left:-18px;background:white;color:#111;border-radius:50%;width:38px;height:38px;display:grid;place-items:center;font-weight:900}.slider input{position:absolute;z-index:6;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize}.ticks p{font-size:10px;padding:12px 0;border-bottom:1px solid #ffffff12;color:#ccc}.ticks p::first-letter{color:#bd30ff}.gallery{background:#020202}.filters{display:flex;gap:8px;justify-content:flex-end;margin:-60px 0 25px}.filters button{border:1px solid #555;background:#080808;color:#bbb;border-radius:20px;padding:9px 18px;font-size:9px;cursor:pointer}.filters .on{background:#8518d5;color:white;border-color:#a82af5}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.grid figure{height:270px;margin:0;position:relative;overflow:hidden;border-radius:8px}.grid img{width:100%;height:100%;object-fit:cover;transition:.4s}.grid figure:hover img{transform:scale(1.05)}.grid figcaption{position:absolute;left:0;right:0;bottom:0;padding:35px 16px 14px;background:linear-gradient(transparent,#000);font-size:11px;font-weight:800}.grid figcaption span{display:block;color:#a92cf2;font-size:8px;margin-top:3px}.process{background:linear-gradient(90deg,#080808,#120519)}.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:9px}.steps article{padding:20px;border:1px solid #ffffff18;border-radius:9px;background:#ffffff05}.steps strong{display:block;color:#b62cff;font-size:23px}.steps b{display:block;font-size:10px;margin:8px 0}.steps span{font-size:8px;color:#888}.brands{padding:30px 6%;display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap;color:#777;font-size:11px;font-weight:800;border-block:1px solid #ffffff0e}.cta{min-height:500px;display:grid;grid-template-columns:1fr 1fr;align-items:center;background:radial-gradient(circle at 20% 50%,#4c0d68,#030303 40%);padding:70px 6%;gap:6%}.ctaImage{height:350px;background:url("../img/hero/hero.jpg") center/cover;border-radius:14px;box-shadow:0 0 50px #941cff28}footer{padding:25px 6%;display:flex;align-items:center;gap:6%;border-top:1px solid #8d20c744;background:#020202}footer img{width:100px}footer small{color:#b72cff;font-size:8px}footer p{font-size:9px;color:#888}.float{position:fixed;right:22px;bottom:22px;z-index:30;background:#8d19d9;color:#fff;text-decoration:none;padding:14px 18px;border-radius:25px;font-size:10px;font-weight:800;box-shadow:0 0 25px #8d19d977}.reveal{opacity:0;transform:translateY(25px);transition:.7s}.reveal.show{opacity:1;transform:none}@media(max-width:900px){header{padding:0 22px}.pill{display:none}.hamb{display:block;margin-left:auto}nav{display:none;position:absolute;top:68px;left:0;right:0;background:#050505f7;padding:25px;flex-direction:column}nav.open{display:flex}.hero{min-height:850px;background-position:62% center}.heroText{width:100%}.shade{background:linear-gradient(90deg,#020202ee,#02020255),linear-gradient(0deg,#030303,transparent 40%)}.ppf,.compare,.cta{grid-template-columns:1fr}.featureList{display:grid;grid-template-columns:1fr 1fr}.cards{grid-template-columns:1fr}.miniServices{grid-template-columns:1fr 1fr}.filters{justify-content:flex-start;margin:15px 0;overflow:auto}.grid{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr 1fr}.heroBenefits{grid-template-columns:1fr 1fr;gap:14px}.ppfPhoto{height:300px}}@media(max-width:560px){.block{padding:70px 22px}.hero{padding:110px 22px 120px}.hero h1{font-size:47px}.heroBenefits{left:22px;right:22px}.heroBenefits span:nth-child(n+3){display:none}.featureList{grid-template-columns:1fr}.grid{grid-template-columns:1fr}.grid figure{height:230px}.steps{grid-template-columns:1fr}.cta{padding:70px 22px}.ctaImage{height:230px}.brands{justify-content:center}.float span{display:none}footer{padding:25px 22px;flex-wrap:wrap}}
/* HERO V2 - imagen premium en alta calidad */
.hero{
  background-image:url("../img/hero/hero.jpg");
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
}
@media (min-width:901px){
  .hero{min-height:760px;background-position:center center}
}
@media (max-width:900px){
  .hero{background-position:62% center}
}

/* HERO LIMPIO: Porsche/estudio sin textos ni menú incrustados */
.hero{
  background-image:url("../img/hero/hero.jpg") !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
}
@media(max-width:900px){
  .hero{background-position:55% center !important;}
}

/* HERO ULTRA: PNG sin pérdida + encuadre pensado para desktop */
.hero{
  background-image:url("../img/hero/hero-ultra.png") !important;
  background-size:cover !important;
  background-position:50% 50% !important;
  image-rendering:auto;
}
.hero::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(0,0,0,.68) 0%,rgba(0,0,0,.43) 31%,rgba(0,0,0,.08) 57%,rgba(0,0,0,.02) 100%);
  z-index:1;
}
.hero .shade{z-index:1;background:linear-gradient(0deg,#030303 0%,transparent 23%)}
.heroText,.heroBenefits{z-index:3}
@media(min-width:1400px){
  .hero{background-size:cover !important;background-position:center 48% !important;}
}
@media(max-width:900px){
  .hero{background-position:56% center !important;}
}

.galleryMore{text-align:center;margin-top:28px}
.process{position:relative;overflow:hidden}.steps{position:relative}.steps:before{content:"";position:absolute;left:4%;right:4%;top:-9px;height:2px;background:linear-gradient(90deg,#8d1de7,#c22cff,#8d1de7);box-shadow:0 0 18px #a31cff;transform:scaleX(0);transform-origin:left;transition:1.6s}.process.showline .steps:before{transform:scaleX(1)}
.processPhotos{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:22px}.processPhotos figure{height:175px;position:relative;margin:0;overflow:hidden;border-radius:9px;border:1px solid #ffffff18}.processPhotos img{width:100%;height:100%;object-fit:cover;filter:brightness(.7);transition:.4s}.processPhotos figure:hover img{transform:scale(1.04);filter:brightness(.9)}.processPhotos b,.processPhotos span{position:absolute;left:15px;z-index:2}.processPhotos b{bottom:32px;font-size:11px}.processPhotos span{bottom:16px;color:#b52cff;font-size:8px}.processNote{text-align:center;color:#888;font-size:9px;margin-top:18px}
.ctaImage{background-image:url("../img/cta/byd.jpg")!important}
.footerV2{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:45px;padding:50px 6% 25px;background:radial-gradient(circle at 15% 30%,#260833,#020202 35%);align-items:start}.footerV2 .footerBrand img{width:120px}.footerV2 .footerBrand p{line-height:1.7}.footerV2 small{display:block;margin-bottom:12px;color:#b72cff}.footerV2 a{display:block;color:#999;text-decoration:none;font-size:9px;margin:9px 0}.footerV2 a:hover{color:#c336ff}.footerBottom{grid-column:1/-1;border-top:1px solid #ffffff12;padding-top:20px;color:#666;font-size:8px}
@media(max-width:900px){.processPhotos{grid-template-columns:1fr}.footerV2{grid-template-columns:1fr 1fr}.footerBottom{grid-column:1/-1}}
@media(max-width:560px){.footerV2{grid-template-columns:1fr}}


/* ===== RPF SAFE LOADER: aislado, no modifica el sitio ===== */
#rpfSafeLoader{
 position:fixed;inset:0;z-index:2147483647;
 display:flex;flex-direction:column;align-items:center;justify-content:center;
 background:#030303;
 opacity:1;visibility:visible;
 transition:opacity .4s ease,visibility .4s ease;
}
#rpfSafeLoader.rpfSafeOut{opacity:0;visibility:hidden;pointer-events:none}
#rpfSafeLoader *{box-sizing:border-box}
#rpfSafeLoader .rpfSafeBrand{
 color:#fff;font-family:Arial,sans-serif;font-size:clamp(28px,4vw,52px);
 font-weight:900;line-height:1;letter-spacing:-2px
}
#rpfSafeLoader .rpfSafeBrand span{color:#b224ff}
#rpfSafeLoader .rpfSafeTrack{
 position:relative;width:min(600px,82vw);height:90px;margin:18px 0 5px;overflow:hidden
}
#rpfSafeLoader .rpfSafeRoad{
 position:absolute;left:0;right:0;bottom:15px;height:2px;background:rgba(255,255,255,.12)
}
#rpfSafeLoader .rpfSafeRoad:after{
 content:"";position:absolute;top:0;left:-30%;width:32%;height:2px;
 background:linear-gradient(90deg,transparent,#b224ff,#fff,transparent);
 animation:rpfSafeRoadMove .8s linear infinite
}
#rpfSafeLoader .rpfSafeCar{
 position:absolute;left:-105px;bottom:18px;width:96px;height:43px;
 animation:rpfSafeDrive 1.55s linear infinite
}
#rpfSafeLoader .rpfSafeBody{
 position:absolute;left:3px;bottom:7px;width:90px;height:22px;border-radius:24px 34px 8px 9px;
 background:linear-gradient(105deg,#351047,#b224ff 58%,#50116b);
 box-shadow:0 0 20px rgba(178,36,255,.45)
}
#rpfSafeLoader .rpfSafeTop{
 position:absolute;left:27px;bottom:25px;width:47px;height:18px;
 border-radius:28px 30px 2px 2px;transform:skewX(-15deg);background:#5e1978
}
#rpfSafeLoader .rpfSafeWheel{
 position:absolute;bottom:0;width:16px;height:16px;border-radius:50%;
 background:#050505;border:3px solid #555;animation:rpfSafeSpin .3s linear infinite
}
#rpfSafeLoader .rpfSafeW1{left:18px}#rpfSafeLoader .rpfSafeW2{right:11px}
#rpfSafeLoader .rpfSafeLamp{
 position:absolute;right:0;bottom:19px;width:7px;height:4px;border-radius:50%;
 background:#fff;box-shadow:8px 0 14px 5px rgba(178,36,255,.55)
}
#rpfSafeLoader .rpfSafeText{
 color:#888;font-family:Arial,sans-serif;font-size:9px;font-weight:700;letter-spacing:3px
}
@keyframes rpfSafeDrive{from{left:-105px}to{left:calc(100% + 10px)}}
@keyframes rpfSafeRoadMove{to{left:125%}}
@keyframes rpfSafeSpin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){
 #rpfSafeLoader .rpfSafeCar,#rpfSafeLoader .rpfSafeRoad:after,#rpfSafeLoader .rpfSafeWheel{animation:none}
}


/* =========================================================
   RPF — SOLO LEGIBILIDAD DE TEXTOS DESCRIPTIVOS PEQUEÑOS
   No modifica títulos, botones, imágenes, layout ni loader.
   ========================================================= */

/* Descripciones principales */
.hero p,
.copy p,
.cta p,
.pageHero p,
.workHead p,
.contactIntro p,
.compareCopy p {
  font-size: 16px !important;
  line-height: 1.75 !important;
  color: #c7c2ca !important;
}

/* Descripciones de tarjetas, beneficios y servicios */
.card p,
.featureList p,
.benefitCards p,
.layerText p,
.package-content p,
.package-note,
.steps span {
  font-size: 15px !important;
  line-height: 1.65 !important;
  color: #bbb5bf !important;
}

/* Textos pequeños de galería, procesos y etiquetas secundarias */
.grid figcaption span,
.workGrid span,
.coverage-detail span,
.zoneTags span {
  font-size: 13px !important;
  line-height: 1.55 !important;
  color: #bcb6c0 !important;
}

/* Footer: solo textos secundarios */
footer p,
.footerV2 p,
.footerV2 a {
  font-size: 13px !important;
  line-height: 1.6 !important;
  color: #aaa4ad !important;
}

/* Móvil: mantenerlos legibles sin desbordar */
@media (max-width: 600px) {
  .hero p,
  .copy p,
  .cta p,
  .pageHero p,
  .workHead p,
  .contactIntro p,
  .compareCopy p {
    font-size: 15px !important;
  }

  .card p,
  .featureList p,
  .benefitCards p,
  .layerText p,
  .package-content p,
  .package-note,
  .steps span {
    font-size: 14px !important;
  }

  .grid figcaption span,
  .workGrid span,
  .coverage-detail span,
  .zoneTags span,
  footer p,
  .footerV2 p,
  .footerV2 a {
    font-size: 12px !important;
  }
}
