/* =========================================================
   Auditorías Aire Comprimido - Stylesheet global
   Ibérica de Compresores
   Paleta corporativa:
     --gris-oscuro: #5A6670
     --gris-azulado: #53616B
     --amarillo: #FFD500
     --blanco: #FFFFFF
   ========================================================= */

/* ---------- Reset y variables ---------- */
:root{
    --gris-oscuro:#5A6670;
    --gris-azulado:#53616B;
    --gris-claro:#EDEFF1;
    --gris-bg:#F6F7F8;
    --gris-borde:#D8DCE0;
    --amarillo:#FFD500;
    --amarillo-hover:#E6BF00;
    --blanco:#FFFFFF;
    --negro:#1C1F22;
    --texto:#2C3137;
    --texto-suave:#5C6470;
    --exito:#1E8E3E;
    --error:#C5221F;

    --fuente:"Inter","Helvetica Neue",Arial,sans-serif;
    --fuente-titulo:"Inter","Helvetica Neue",Arial,sans-serif;

    --max-width:1240px;
    --radio:6px;
    --radio-grande:10px;
    --sombra:0 4px 14px rgba(28,31,34,0.08);
    --sombra-fuerte:0 10px 30px rgba(28,31,34,0.15);
    --transicion:all .25s ease;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
    margin:0;
    font-family:var(--fuente);
    font-size:16px;
    line-height:1.6;
    color:var(--texto);
    background:var(--blanco);
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
}
img{max-width:100%;display:block;height:auto;}
a{color:var(--gris-oscuro);text-decoration:none;transition:var(--transicion);}
a:hover{color:var(--amarillo-hover);}
ul{padding-left:1.2rem;}
h1,h2,h3,h4,h5{font-family:var(--fuente-titulo);color:var(--negro);line-height:1.25;margin:0 0 .8rem;font-weight:700;}
h1{font-size:2.4rem;letter-spacing:-.5px;}
h2{font-size:1.85rem;letter-spacing:-.3px;}
h3{font-size:1.3rem;}
h4{font-size:1.1rem;}
p{margin:0 0 1rem;}
strong{color:var(--negro);}

/* ---------- Contenedor general ---------- */
.contenedor{
    width:100%;
    max-width:var(--max-width);
    margin:0 auto;
    padding:0 24px;
}

/* ---------- Barra superior informativa ---------- */
.topbar{
    background:var(--negro);
    color:#cfd3d8;
    font-size:.82rem;
    padding:8px 0;
}
.topbar .contenedor{
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    gap:10px;
}
.topbar a{color:#cfd3d8;}
.topbar a:hover{color:var(--amarillo);}
.topbar .tb-info span{margin-right:18px;}
.topbar .tb-info b{color:var(--amarillo);font-weight:600;}

/* ---------- Header ---------- */
.header{
    background:var(--blanco);
    border-bottom:1px solid var(--gris-borde);
    position:sticky;
    top:0;
    z-index:100;
    box-shadow:0 1px 0 rgba(0,0,0,.03);
}
.header .contenedor{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding-top:14px;
    padding-bottom:14px;
}
.logo{
    display:flex;
    align-items:center;
    gap:12px;
    text-decoration:none;
}
.logo-marca{
    display:flex;
    flex-direction:column;
    line-height:1.1;
}
.logo-marca .marca-principal{
    font-size:1.05rem;
    font-weight:800;
    color:var(--negro);
    letter-spacing:.3px;
}
.logo-marca .marca-sub{
    font-size:.72rem;
    color:var(--gris-oscuro);
    letter-spacing:1.5px;
    text-transform:uppercase;
}
.logo-icono{
    width:46px;
    height:46px;
    background:var(--negro);
    border-radius:8px;
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
}
.logo-icono::after{
    content:"";
    position:absolute;
    inset:6px;
    border:2px solid var(--amarillo);
    border-radius:5px;
}
.logo-icono span{
    color:var(--amarillo);
    font-weight:900;
    font-size:.95rem;
    z-index:1;
    letter-spacing:-.5px;
}

/* ---------- Navegación ---------- */
.nav-principal ul{
    list-style:none;
    display:flex;
    gap:6px;
    margin:0;
    padding:0;
}
.nav-principal a{
    display:inline-block;
    padding:10px 14px;
    font-size:.93rem;
    font-weight:500;
    color:var(--negro);
    border-radius:var(--radio);
}
.nav-principal a:hover,
.nav-principal a.activo{
    background:var(--gris-claro);
    color:var(--negro);
}
.nav-principal a.cta-nav{
    background:var(--amarillo);
    color:var(--negro);
    font-weight:700;
}
.nav-principal a.cta-nav:hover{
    background:var(--amarillo-hover);
}
.menu-toggle{
    display:none;
    background:none;
    border:0;
    cursor:pointer;
    padding:6px;
}
.menu-toggle span{
    display:block;
    width:26px;
    height:3px;
    background:var(--negro);
    margin:5px 0;
    border-radius:2px;
    transition:var(--transicion);
}

/* ---------- Botones ---------- */
.btn{
    display:inline-block;
    padding:14px 26px;
    font-size:1rem;
    font-weight:700;
    border-radius:var(--radio);
    border:0;
    cursor:pointer;
    text-align:center;
    line-height:1;
    transition:var(--transicion);
    letter-spacing:.2px;
}
.btn-primario{
    background:var(--amarillo);
    color:var(--negro);
}
.btn-primario:hover{
    background:var(--amarillo-hover);
    color:var(--negro);
    transform:translateY(-2px);
    box-shadow:var(--sombra);
}
.btn-secundario{
    background:transparent;
    color:var(--blanco);
    border:2px solid var(--blanco);
}
.btn-secundario:hover{
    background:var(--blanco);
    color:var(--negro);
}
.btn-oscuro{
    background:var(--negro);
    color:var(--amarillo);
}
.btn-oscuro:hover{
    background:#000;
    color:var(--amarillo);
}

/* ---------- Hero ---------- */
.hero{
    position:relative;
    background:linear-gradient(135deg,var(--gris-oscuro) 0%,var(--negro) 100%);
    color:var(--blanco);
    padding:90px 0 100px;
    overflow:hidden;
}
.hero::before{
    content:"";
    position:absolute;
    inset:0;
    background-image:
        linear-gradient(rgba(255,213,0,.05) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,213,0,.05) 1px,transparent 1px);
    background-size:40px 40px;
    pointer-events:none;
}
.hero::after{
    content:"";
    position:absolute;
    right:-100px;
    top:-100px;
    width:400px;
    height:400px;
    background:var(--amarillo);
    opacity:.07;
    border-radius:50%;
    filter:blur(40px);
    pointer-events:none;
}
.hero .contenedor{position:relative;z-index:1;}
.hero-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:60px;
    align-items:center;
}
.hero-etiqueta{
    display:inline-block;
    background:rgba(255,213,0,.15);
    color:var(--amarillo);
    border:1px solid rgba(255,213,0,.4);
    padding:6px 14px;
    border-radius:50px;
    font-size:.78rem;
    font-weight:600;
    letter-spacing:1px;
    text-transform:uppercase;
    margin-bottom:20px;
}
.hero h1{
    color:var(--blanco);
    font-size:3rem;
    line-height:1.15;
    margin-bottom:20px;
}
.hero h1 span{color:var(--amarillo);}
.hero p.subtitulo{
    font-size:1.15rem;
    color:#d8dde2;
    margin-bottom:32px;
    max-width:560px;
}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;}
.hero-checks{
    list-style:none;
    padding:0;
    margin:28px 0 0;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px 24px;
}
.hero-checks li{
    color:#e5e9ee;
    font-size:.92rem;
    position:relative;
    padding-left:22px;
}
.hero-checks li::before{
    content:"✓";
    color:var(--amarillo);
    position:absolute;
    left:0;
    top:0;
    font-weight:bold;
}

/* Caja lateral del hero */
.hero-caja{
    background:var(--blanco);
    color:var(--texto);
    padding:36px 30px;
    border-radius:var(--radio-grande);
    box-shadow:var(--sombra-fuerte);
    border-top:5px solid var(--amarillo);
}
.hero-caja h3{
    color:var(--negro);
    margin-bottom:6px;
    font-size:1.3rem;
}
.hero-caja p{
    color:var(--texto-suave);
    font-size:.92rem;
    margin-bottom:18px;
}

/* ---------- Secciones genéricas ---------- */
.seccion{padding:80px 0;}
.seccion-clara{background:var(--gris-bg);}
.seccion-oscura{background:var(--negro);color:var(--blanco);}
.seccion-oscura h2,
.seccion-oscura h3{color:var(--blanco);}
.seccion-oscura p{color:#cfd3d8;}

.seccion-titulo{
    text-align:center;
    max-width:760px;
    margin:0 auto 50px;
}
.seccion-titulo .epigrafe{
    display:inline-block;
    color:var(--amarillo-hover);
    font-size:.82rem;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
    margin-bottom:10px;
}
.seccion-titulo h2{font-size:2.1rem;margin-bottom:14px;}
.seccion-titulo p{color:var(--texto-suave);font-size:1.05rem;}

/* ---------- Tarjetas de servicio ---------- */
.servicios-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:28px;
}
.servicio-card{
    background:var(--blanco);
    border:1px solid var(--gris-borde);
    border-radius:var(--radio-grande);
    padding:36px 28px;
    transition:var(--transicion);
    position:relative;
    overflow:hidden;
}
.servicio-card::before{
    content:"";
    position:absolute;
    top:0;left:0;
    width:100%;
    height:4px;
    background:var(--amarillo);
    transform:scaleX(0);
    transform-origin:left;
    transition:transform .3s ease;
}
.servicio-card:hover{
    transform:translateY(-6px);
    box-shadow:var(--sombra-fuerte);
    border-color:var(--amarillo);
}
.servicio-card:hover::before{transform:scaleX(1);}
.servicio-icono{
    width:60px;height:60px;
    background:var(--negro);
    color:var(--amarillo);
    border-radius:var(--radio);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:1.6rem;
    font-weight:900;
    margin-bottom:20px;
}
.servicio-card h3{font-size:1.25rem;margin-bottom:10px;}
.servicio-card p{color:var(--texto-suave);font-size:.95rem;}
.servicio-card .enlace{
    display:inline-block;
    margin-top:14px;
    color:var(--negro);
    font-weight:700;
    font-size:.92rem;
    border-bottom:2px solid var(--amarillo);
    padding-bottom:2px;
}
.servicio-card .enlace:hover{color:var(--amarillo-hover);}

/* ---------- Bloque beneficios / lista ---------- */
.beneficios-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:24px;
}
.beneficio{
    background:var(--blanco);
    padding:28px 22px;
    border-radius:var(--radio-grande);
    text-align:center;
    border:1px solid var(--gris-borde);
}
.beneficio .num{
    font-size:2.2rem;
    font-weight:900;
    color:var(--amarillo-hover);
    line-height:1;
    margin-bottom:6px;
}
.beneficio h4{font-size:1rem;margin-bottom:6px;color:var(--negro);}
.beneficio p{color:var(--texto-suave);font-size:.88rem;margin:0;}

/* ---------- Metodología (proceso por pasos) ---------- */
.metodologia-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:22px;
    counter-reset:paso;
}
.paso{
    background:var(--blanco);
    border:1px solid var(--gris-borde);
    border-radius:var(--radio-grande);
    padding:30px 22px;
    position:relative;
    counter-increment:paso;
}
.paso::before{
    content:"0" counter(paso);
    position:absolute;
    top:14px;right:18px;
    font-size:2rem;
    font-weight:900;
    color:var(--gris-claro);
}
.paso h4{font-size:1.05rem;margin-bottom:6px;}
.paso p{font-size:.9rem;color:var(--texto-suave);margin:0;}

/* ---------- Sección dos columnas (texto + lista) ---------- */
.cols-2{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:60px;
    align-items:center;
}
.lista-check{list-style:none;padding:0;}
.lista-check li{
    position:relative;
    padding:10px 0 10px 36px;
    border-bottom:1px solid var(--gris-borde);
    font-size:.97rem;
}
.lista-check li:last-child{border-bottom:0;}
.lista-check li::before{
    content:"✓";
    position:absolute;
    left:0;top:50%;
    transform:translateY(-50%);
    width:24px;height:24px;
    background:var(--amarillo);
    color:var(--negro);
    font-weight:bold;
    display:flex;align-items:center;justify-content:center;
    border-radius:50%;
    font-size:.8rem;
}

/* ---------- Sección ISO / normativa ---------- */
.iso-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:30px;
}
.iso-card{
    background:linear-gradient(135deg,var(--gris-oscuro),var(--negro));
    color:var(--blanco);
    padding:40px 32px;
    border-radius:var(--radio-grande);
    position:relative;
    overflow:hidden;
}
.iso-card::before{
    content:"";
    position:absolute;
    bottom:-30px;right:-30px;
    width:160px;height:160px;
    background:var(--amarillo);
    opacity:.08;
    border-radius:50%;
}
.iso-card .badge{
    display:inline-block;
    background:var(--amarillo);
    color:var(--negro);
    padding:6px 14px;
    border-radius:50px;
    font-size:.8rem;
    font-weight:700;
    margin-bottom:16px;
}
.iso-card h3{color:var(--blanco);font-size:1.4rem;margin-bottom:10px;}
.iso-card p{color:#d8dde2;font-size:.95rem;margin-bottom:18px;}
.iso-card ul{margin:0 0 18px;padding-left:1.2rem;}
.iso-card ul li{color:#cfd3d8;margin-bottom:6px;font-size:.92rem;}
.iso-card .enlace-iso{
    color:var(--amarillo);
    font-weight:700;
    font-size:.95rem;
    border-bottom:2px solid var(--amarillo);
    padding-bottom:2px;
}

/* ---------- CTA banda ---------- */
.cta-banda{
    background:var(--amarillo);
    padding:50px 0;
}
.cta-banda .contenedor{
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    gap:24px;
}
.cta-banda h2{
    color:var(--negro);
    margin:0;
    font-size:1.8rem;
    max-width:680px;
}
.cta-banda .btn-oscuro{font-size:1.05rem;}

/* ---------- Formularios ---------- */
.formulario{
    background:var(--blanco);
    border-radius:var(--radio-grande);
    padding:36px;
    box-shadow:var(--sombra);
    border:1px solid var(--gris-borde);
}
.form-grupo{margin-bottom:18px;}
.form-fila{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
}
.formulario label{
    display:block;
    font-size:.88rem;
    font-weight:600;
    color:var(--negro);
    margin-bottom:6px;
}
.formulario input[type="text"],
.formulario input[type="email"],
.formulario input[type="tel"],
.formulario select,
.formulario textarea{
    width:100%;
    padding:12px 14px;
    border:1px solid var(--gris-borde);
    border-radius:var(--radio);
    font-family:var(--fuente);
    font-size:.95rem;
    color:var(--texto);
    background:var(--blanco);
    transition:var(--transicion);
}
.formulario input:focus,
.formulario select:focus,
.formulario textarea:focus{
    outline:0;
    border-color:var(--amarillo);
    box-shadow:0 0 0 3px rgba(255,213,0,.18);
}
.formulario textarea{min-height:130px;resize:vertical;}
.form-check{
    display:flex;
    align-items:flex-start;
    gap:10px;
    font-size:.88rem;
    color:var(--texto-suave);
    margin-bottom:18px;
}
.form-check input{margin-top:3px;flex-shrink:0;}
.form-msg{
    padding:14px 16px;
    border-radius:var(--radio);
    font-size:.92rem;
    margin-bottom:16px;
    display:none;
}
.form-msg.ok{background:#e8f5ec;color:var(--exito);border:1px solid #c8e6cf;display:block;}
.form-msg.error{background:#fdecea;color:var(--error);border:1px solid #f5c2c0;display:block;}

/* ---------- Bloque contacto ---------- */
.contacto-grid{
    display:grid;
    grid-template-columns:1.1fr 1fr;
    gap:40px;
    align-items:flex-start;
}
.info-contacto{
    background:var(--negro);
    color:var(--blanco);
    padding:36px;
    border-radius:var(--radio-grande);
    height:100%;
}
.info-contacto h3{color:var(--amarillo);margin-bottom:18px;}
.info-contacto p{color:#cfd3d8;}
.info-contacto .item{
    display:flex;
    gap:14px;
    align-items:flex-start;
    padding:14px 0;
    border-bottom:1px solid rgba(255,255,255,.1);
}
.info-contacto .item:last-child{border-bottom:0;}
.info-contacto .item .ico{
    width:36px;height:36px;
    background:var(--amarillo);
    color:var(--negro);
    border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    font-weight:900;
    flex-shrink:0;
}
.info-contacto .item strong{color:var(--blanco);display:block;margin-bottom:2px;}
.info-contacto .item a{color:#cfd3d8;}
.info-contacto .item a:hover{color:var(--amarillo);}

/* ---------- Breadcrumbs ---------- */
.breadcrumbs{
    background:var(--gris-claro);
    padding:14px 0;
    font-size:.85rem;
}
.breadcrumbs ol{
    list-style:none;
    padding:0;
    margin:0;
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}
.breadcrumbs li{color:var(--texto-suave);}
.breadcrumbs li+li::before{content:"›";margin-right:8px;color:var(--gris-oscuro);}
.breadcrumbs a{color:var(--gris-oscuro);}
.breadcrumbs a:hover{color:var(--amarillo-hover);}
.breadcrumbs li[aria-current]{color:var(--negro);font-weight:600;}

/* ---------- Página interior cabecera ---------- */
.pagina-cabecera{
    background:linear-gradient(135deg,var(--gris-oscuro),var(--negro));
    color:var(--blanco);
    padding:70px 0 60px;
    position:relative;
    overflow:hidden;
}
.pagina-cabecera::before{
    content:"";
    position:absolute;inset:0;
    background-image:linear-gradient(rgba(255,213,0,.05) 1px,transparent 1px),
                     linear-gradient(90deg,rgba(255,213,0,.05) 1px,transparent 1px);
    background-size:40px 40px;
    pointer-events:none;
}
.pagina-cabecera .contenedor{position:relative;z-index:1;}
.pagina-cabecera .epigrafe{
    color:var(--amarillo);
    font-size:.85rem;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
    margin-bottom:10px;
    display:inline-block;
}
.pagina-cabecera h1{
    color:var(--blanco);
    font-size:2.6rem;
    margin-bottom:14px;
    max-width:850px;
}
.pagina-cabecera p{
    color:#d8dde2;
    font-size:1.1rem;
    max-width:780px;
    margin:0;
}

/* ---------- Contenido editorial ---------- */
.contenido-editorial{
    max-width:820px;
    margin:0 auto;
}
.contenido-editorial h2{margin-top:40px;}
.contenido-editorial h3{margin-top:30px;}
.contenido-editorial ul{margin-bottom:1.2rem;}
.contenido-editorial li{margin-bottom:6px;}
.contenido-editorial .destacado{
    background:var(--gris-bg);
    border-left:4px solid var(--amarillo);
    padding:18px 22px;
    border-radius:0 var(--radio) var(--radio) 0;
    margin:24px 0;
    font-size:.97rem;
}

/* ---------- Tabla técnica ---------- */
.tabla-tecnica{
    width:100%;
    border-collapse:collapse;
    margin:20px 0;
    font-size:.93rem;
    background:var(--blanco);
    border-radius:var(--radio);
    overflow:hidden;
    box-shadow:var(--sombra);
}
.tabla-tecnica th,
.tabla-tecnica td{
    padding:12px 16px;
    text-align:left;
    border-bottom:1px solid var(--gris-borde);
}
.tabla-tecnica th{
    background:var(--negro);
    color:var(--amarillo);
    font-weight:700;
    font-size:.88rem;
    letter-spacing:.3px;
    text-transform:uppercase;
}
.tabla-tecnica tr:last-child td{border-bottom:0;}
.tabla-tecnica tr:nth-child(even) td{background:var(--gris-bg);}

/* ---------- FAQ ---------- */
.faq{max-width:820px;margin:0 auto;}
.faq-item{
    background:var(--blanco);
    border:1px solid var(--gris-borde);
    border-radius:var(--radio);
    margin-bottom:12px;
    overflow:hidden;
}
.faq-pregunta{
    padding:18px 22px;
    cursor:pointer;
    font-weight:600;
    color:var(--negro);
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:14px;
}
.faq-pregunta::after{
    content:"+";
    font-size:1.4rem;
    color:var(--amarillo-hover);
    font-weight:700;
    flex-shrink:0;
    transition:var(--transicion);
}
.faq-item.abierto .faq-pregunta::after{transform:rotate(45deg);}
.faq-respuesta{
    max-height:0;
    overflow:hidden;
    transition:max-height .3s ease,padding .3s ease;
    padding:0 22px;
    color:var(--texto-suave);
    font-size:.95rem;
}
.faq-item.abierto .faq-respuesta{
    max-height:500px;
    padding:0 22px 18px;
}

/* ---------- Zonas (chips) ---------- */
.zonas-grupo{margin-bottom:36px;}
.zonas-grupo h3{
    border-bottom:2px solid var(--amarillo);
    padding-bottom:6px;
    margin-bottom:18px;
    display:inline-block;
}
.zonas-chips{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}
.zonas-chips a{
    background:var(--blanco);
    border:1px solid var(--gris-borde);
    color:var(--negro);
    padding:10px 16px;
    border-radius:50px;
    font-size:.9rem;
    font-weight:600;
    transition:var(--transicion);
}
.zonas-chips a:hover{
    background:var(--amarillo);
    border-color:var(--amarillo);
    color:var(--negro);
    transform:translateY(-2px);
}

/* ---------- Footer ---------- */
.footer{
    background:#1A1D20;
    color:#bfc4ca;
    padding:60px 0 0;
    font-size:.92rem;
}
.footer a{color:#bfc4ca;}
.footer a:hover{color:var(--amarillo);}
.footer-grid{
    display:grid;
    grid-template-columns:1.4fr 1fr 1fr 1fr;
    gap:40px;
    margin-bottom:40px;
}
.footer h4{
    color:var(--blanco);
    font-size:.95rem;
    text-transform:uppercase;
    letter-spacing:1px;
    margin-bottom:18px;
}
.footer ul{list-style:none;padding:0;margin:0;}
.footer ul li{margin-bottom:8px;}
.footer-marca p{margin-top:14px;color:#9aa0a6;font-size:.88rem;}
.footer-bottom{
    border-top:1px solid #2a2e33;
    padding:20px 0;
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    gap:10px;
    font-size:.82rem;
    color:#9aa0a6;
}
.footer-bottom .legales{display:flex;gap:18px;flex-wrap:wrap;}

/* ---------- Páginas legales ---------- */
.legal-contenido{
    max-width:860px;
    margin:0 auto;
    font-size:.95rem;
}
.legal-contenido h2{
    font-size:1.4rem;
    margin-top:34px;
    padding-bottom:8px;
    border-bottom:1px solid var(--gris-borde);
}
.legal-contenido h3{font-size:1.1rem;margin-top:22px;}
.legal-contenido p,
.legal-contenido li{color:var(--texto);}
.legal-contenido .placeholder{
    background:#fff8d6;
    color:#7a5a00;
    padding:2px 6px;
    border-radius:3px;
    font-weight:600;
    font-family:monospace;
    font-size:.88rem;
}

/* ---------- Aviso cookies ---------- */
.aviso-cookies{
    position:fixed;
    bottom:20px;left:20px;right:20px;
    max-width:980px;
    margin:0 auto;
    background:var(--negro);
    color:var(--blanco);
    padding:18px 22px;
    border-radius:var(--radio-grande);
    box-shadow:var(--sombra-fuerte);
    z-index:200;
    display:none;
    align-items:center;
    gap:18px;
    flex-wrap:wrap;
    border:1px solid #2a2e33;
}
.aviso-cookies.visible{display:flex;}
.aviso-cookies p{margin:0;flex:1;font-size:.9rem;color:#cfd3d8;}
.aviso-cookies a{color:var(--amarillo);text-decoration:underline;}
.aviso-cookies .acciones{display:flex;gap:10px;}
.aviso-cookies button{
    padding:10px 18px;
    border-radius:var(--radio);
    border:0;
    cursor:pointer;
    font-weight:700;
    font-size:.88rem;
    transition:var(--transicion);
}
.aviso-cookies .btn-aceptar{background:var(--amarillo);color:var(--negro);}
.aviso-cookies .btn-aceptar:hover{background:var(--amarillo-hover);}
.aviso-cookies .btn-rechazar{background:transparent;color:var(--blanco);border:1px solid #555;}
.aviso-cookies .btn-rechazar:hover{background:#2a2e33;}

/* ---------- WhatsApp flotante ---------- */
.wa-flotante{
    position:fixed;
    bottom:24px;right:24px;
    width:58px;height:58px;
    background:#25D366;
    color:#fff;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:1.7rem;
    box-shadow:0 6px 20px rgba(37,211,102,.4);
    z-index:90;
    transition:var(--transicion);
}
.wa-flotante:hover{
    transform:scale(1.08);
    color:#fff;
}

/* ===========================================================
   RESPONSIVE
   =========================================================== */
@media (max-width:980px){
    h1{font-size:2rem;}
    h2{font-size:1.55rem;}
    .hero{padding:60px 0 70px;}
    .hero h1{font-size:2.2rem;}
    .hero-grid{grid-template-columns:1fr;gap:40px;}
    .servicios-grid{grid-template-columns:repeat(2,1fr);}
    .beneficios-grid{grid-template-columns:repeat(2,1fr);}
    .metodologia-grid{grid-template-columns:repeat(2,1fr);}
    .iso-grid{grid-template-columns:1fr;}
    .cols-2{grid-template-columns:1fr;gap:30px;}
    .contacto-grid{grid-template-columns:1fr;}
    .footer-grid{grid-template-columns:1fr 1fr;gap:30px;}
    .pagina-cabecera h1{font-size:2rem;}
    .menu-toggle{display:block;}
    .nav-principal{
        position:absolute;
        top:100%;left:0;right:0;
        background:var(--blanco);
        border-top:1px solid var(--gris-borde);
        box-shadow:var(--sombra);
        max-height:0;
        overflow:hidden;
        transition:max-height .35s ease;
    }
    .nav-principal.abierto{max-height:600px;}
    .nav-principal ul{
        flex-direction:column;
        padding:14px 24px 22px;
        gap:0;
    }
    .nav-principal a{
        padding:12px 14px;
        border-bottom:1px solid var(--gris-claro);
        border-radius:0;
    }
    .nav-principal a.cta-nav{
        margin-top:10px;
        border-radius:var(--radio);
    }
    .header{position:relative;}
}

@media (max-width:600px){
    .contenedor{padding:0 18px;}
    .seccion{padding:55px 0;}
    h1{font-size:1.7rem;}
    h2{font-size:1.4rem;}
    .hero h1{font-size:1.9rem;}
    .hero p.subtitulo{font-size:1rem;}
    .hero-checks{grid-template-columns:1fr;}
    .servicios-grid,
    .beneficios-grid,
    .metodologia-grid{grid-template-columns:1fr;}
    .form-fila{grid-template-columns:1fr;}
    .cta-banda{padding:36px 0;}
    .cta-banda .contenedor{flex-direction:column;text-align:center;}
    .cta-banda h2{font-size:1.4rem;}
    .topbar .tb-info span{margin-right:10px;font-size:.78rem;}
    .topbar .tb-info span:last-of-type{display:none;}
    .footer-grid{grid-template-columns:1fr;}
    .footer-bottom{flex-direction:column;text-align:center;}
    .formulario{padding:24px 20px;}
    .pagina-cabecera{padding:50px 0 44px;}
    .pagina-cabecera h1{font-size:1.7rem;}
    .wa-flotante{width:50px;height:50px;font-size:1.4rem;bottom:18px;right:18px;}
}

/* ---------- Animaciones ---------- */
@keyframes fadeUp{
    from{opacity:0;transform:translateY(20px);}
    to{opacity:1;transform:translateY(0);}
}
.fade-up{animation:fadeUp .6s ease both;}

/* ---------- Utilidades ---------- */
.text-center{text-align:center;}
.mt-0{margin-top:0!important;}
.mb-0{margin-bottom:0!important;}
.mt-30{margin-top:30px;}
.mb-30{margin-bottom:30px;}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);}

/* ===== AÑADIDOS: CONTACTO Y PÁGINAS LEGALES ===== */

/* Cabecera de página interior */
.pagina-cabecera{background:linear-gradient(135deg,var(--gris-oscuro) 0%,var(--gris-azul) 100%);color:#fff;padding:60px 0 40px;}
.pagina-cabecera h1{color:#fff;font-size:2.4rem;margin:14px 0 12px;}
.pagina-cabecera .epigrafe{color:var(--amarillo);font-weight:700;text-transform:uppercase;letter-spacing:1.2px;font-size:0.82rem;margin:0;}
.pagina-cabecera .cabecera-sub{color:#dde0e3;font-size:1.05rem;max-width:780px;}
.pagina-cabecera .breadcrumbs a{color:#cfd3d8;}
.pagina-cabecera .breadcrumbs a:hover{color:var(--amarillo);}
.pagina-cabecera .breadcrumbs span[aria-current]{color:#fff;font-weight:600;}

/* Form-row y form-campo nuevos */
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px;}
.form-row .form-campo{margin-bottom:0;}
.form-campo{margin-bottom:18px;}
.form-campo label{display:block;font-weight:600;margin-bottom:6px;color:var(--gris-oscuro);font-size:0.92rem;}
.form-campo .req{color:#c0392b;}
.form-campo input[type=text],
.form-campo input[type=email],
.form-campo input[type=tel],
.form-campo select,
.form-campo textarea{width:100%;padding:12px 14px;border:1.5px solid #d4d8dc;border-radius:6px;font-family:inherit;font-size:0.97rem;background:#fff;transition:border-color .2s,box-shadow .2s;}
.form-campo input:focus,
.form-campo select:focus,
.form-campo textarea:focus{outline:none;border-color:var(--amarillo);box-shadow:0 0 0 3px rgba(255,213,0,.18);}
.form-campo textarea{resize:vertical;min-height:130px;}
.form-help{display:block;margin-top:6px;color:#6c7480;font-size:0.84rem;}
.form-check{display:flex;align-items:flex-start;gap:10px;background:#f7f8f9;padding:14px 16px;border-radius:6px;border-left:3px solid var(--amarillo);}
.form-check input[type=checkbox]{margin-top:4px;flex-shrink:0;width:18px;height:18px;accent-color:var(--gris-oscuro);}
.form-check label{margin:0;font-weight:400;font-size:0.9rem;line-height:1.5;}
.form-aviso-final{margin-top:14px;color:#6c7480;font-size:0.83rem;text-align:center;}
.form-intro{color:#5a6670;margin-bottom:22px;}

/* Honeypot */
.honeypot{position:absolute !important;left:-9999px;top:-9999px;height:0;width:0;overflow:hidden;}

/* Botones */
.btn-grande{font-size:1.05rem;padding:16px 32px;width:100%;}
.btn-pequeno{padding:8px 16px;font-size:0.85rem;}

/* Contacto grid mejorado */
.contacto-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:40px;align-items:start;}

/* Bloque info-contacto refinado */
.info-contacto{background:linear-gradient(160deg,var(--gris-oscuro) 0%,var(--gris-azul) 100%);color:#fff;padding:34px 28px;border-radius:10px;position:sticky;top:90px;}
.info-contacto h2{color:#fff;font-size:1.4rem;margin:0 0 12px;}
.info-intro{color:#cfd3d8;font-size:0.93rem;margin-bottom:24px;line-height:1.55;}
.info-bloque{display:flex;align-items:flex-start;gap:14px;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.10);}
.info-bloque:last-of-type{border-bottom:0;}
.info-bloque .info-icon{font-size:1.4rem;flex-shrink:0;width:34px;text-align:center;}
.info-bloque > div{flex:1;}
.info-bloque strong{display:block;color:#fff;font-size:0.93rem;margin-bottom:2px;}
.info-bloque a,.info-bloque span{display:block;color:var(--amarillo);font-weight:600;font-size:1rem;text-decoration:none;}
.info-bloque a:hover{text-decoration:underline;}
.info-bloque small{display:block;color:#a8aeb5;font-size:0.79rem;margin-top:3px;}
.info-destacado{display:block;background:rgba(255,213,0,.10);border:1px solid rgba(255,213,0,.30);border-radius:8px;padding:16px 18px;margin-top:18px;}
.info-destacado strong{color:var(--amarillo);font-size:0.95rem;}
.info-destacado p{color:#dde0e3;font-size:0.87rem;margin:6px 0 0;line-height:1.5;}

/* Form bloque grande */
.form-bloque-grande{background:#fff;padding:36px 34px;border-radius:10px;box-shadow:0 4px 20px rgba(0,0,0,.06);border:1px solid #eaecef;}
.form-bloque-grande h2{color:var(--gris-oscuro);margin-top:0;font-size:1.55rem;}

/* Mensajes de estado del formulario */
.msg-ok{background:#e6f7ec;border-left:5px solid #2ecc71;color:#1a6e3a;padding:18px 22px;border-radius:6px;font-size:0.97rem;line-height:1.55;}
.msg-error{background:#fdecea;border-left:5px solid #c0392b;color:#922b21;padding:18px 22px;border-radius:6px;font-size:0.97rem;line-height:1.55;}

/* Páginas legales */
.legal-contenido{max-width:880px;margin:0 auto;}
.legal-contenido h2{color:var(--gris-oscuro);font-size:1.45rem;margin:34px 0 14px;padding-bottom:8px;border-bottom:2px solid var(--amarillo);}
.legal-contenido h2:first-child{margin-top:0;}
.legal-contenido h3{font-size:1.12rem;margin:22px 0 10px;color:var(--gris-azul);}
.legal-contenido p,.legal-contenido li{color:var(--texto);line-height:1.7;}
.legal-contenido ul{padding-left:22px;margin:10px 0 18px;}
.legal-contenido ul li{margin-bottom:8px;}
.legal-contenido a{color:var(--gris-azul);text-decoration:underline;}
.legal-contenido a:hover{color:var(--amarillo);}
.legal-contenido .placeholder{display:inline-block;background:#fff4b8;color:#5a4500;padding:2px 8px;border-radius:3px;font-weight:600;font-family:'Courier New',monospace;font-size:0.92em;border:1px dashed #d4a900;}
.legal-fecha{margin-top:34px;padding-top:18px;border-top:1px solid #e3e6e9;color:#6c7480;font-size:0.88rem;}
.lista-datos-legales{list-style:none;padding:0;background:#f7f8f9;border-radius:8px;padding:18px 24px;border-left:4px solid var(--amarillo);}
.lista-datos-legales li{margin-bottom:8px;font-size:0.95rem;}
.lista-datos-legales li:last-child{margin-bottom:0;}

/* Tablas técnicas wrap responsive */
.tabla-tecnica-wrap{overflow-x:auto;margin:18px 0;}
.tabla-tecnica-wrap table{min-width:600px;}

/* Responsive */
@media(max-width:980px){
  .contacto-grid{grid-template-columns:1fr;}
  .info-contacto{position:static;}
  .form-row{grid-template-columns:1fr;}
}
@media(max-width:600px){
  .pagina-cabecera{padding:40px 0 30px;}
  .pagina-cabecera h1{font-size:1.7rem;}
  .form-bloque-grande{padding:24px 18px;}
  .info-contacto{padding:24px 20px;}
  .legal-contenido h2{font-size:1.2rem;}
}

/* ===== AÑADIDOS: ALIASES Y CLASES PARA LANDINGS DE ZONA ===== */

/* Alias container */
.contenedor{max-width:1200px;margin:0 auto;padding:0 24px;}

/* Topbar landings */
.topbar .contenedor{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;}
.tb-info{display:flex;gap:22px;align-items:center;flex-wrap:wrap;}
.tb-info span{color:#dde0e3;font-size:0.85rem;}
.tb-info b{color:#fff;}
.tb-extra a{color:var(--amarillo);font-weight:700;font-size:0.85rem;text-decoration:none;}
.tb-extra a:hover{text-decoration:underline;}

/* Header landings (estructura logo diferente) */
.header .contenedor{display:flex;justify-content:space-between;align-items:center;gap:24px;}
.header .logo{display:flex;align-items:center;gap:12px;text-decoration:none;}
.header .logo .logo-icono{display:flex;align-items:center;justify-content:center;width:46px;height:46px;background:#000;color:var(--amarillo);font-weight:900;font-size:1.1rem;border-radius:6px;font-family:Inter,sans-serif;}
.logo-marca{display:flex;flex-direction:column;line-height:1.2;}
.marca-principal{font-weight:800;color:var(--gris-oscuro);font-size:1rem;}
.marca-sub{font-size:0.74rem;color:#6c7480;text-transform:uppercase;letter-spacing:0.6px;font-weight:600;}

/* Menu toggle landings */
.menu-toggle{display:none;background:transparent;border:0;cursor:pointer;width:42px;height:42px;flex-direction:column;justify-content:center;align-items:center;gap:5px;}
.menu-toggle span{display:block;width:24px;height:2px;background:var(--gris-oscuro);transition:.2s;}

/* Nav-principal landings */
.nav-principal ul{list-style:none;margin:0;padding:0;display:flex;gap:6px;align-items:center;}
.nav-principal li a{display:inline-block;padding:10px 14px;color:var(--gris-oscuro);text-decoration:none;font-weight:600;font-size:0.92rem;border-radius:5px;transition:.2s;}
.nav-principal li a:hover,
.nav-principal li a.activo{background:#f3f5f7;color:var(--gris-azul);}
.nav-principal li a.cta-nav{background:var(--amarillo);color:#000;}
.nav-principal li a.cta-nav:hover{background:#ffc700;}

/* Breadcrumbs nuevos con <ol> */
.breadcrumbs ol{list-style:none;padding:14px 0;margin:0;display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:0.88rem;}
.breadcrumbs ol li{color:#6c7480;}
.breadcrumbs ol li+li:before{content:"/";margin-right:6px;color:#aab0b8;}
.breadcrumbs ol li a{color:var(--gris-azul);text-decoration:none;}
.breadcrumbs ol li a:hover{color:var(--amarillo);}
.breadcrumbs ol li[aria-current=page]{color:var(--gris-oscuro);font-weight:600;}

/* Contenido editorial */
.contenido-editorial{max-width:880px;margin:0 auto;}
.contenido-editorial p{color:var(--texto);line-height:1.75;margin-bottom:18px;}
.contenido-editorial h2{color:var(--gris-oscuro);font-size:1.45rem;margin:30px 0 14px;padding-bottom:8px;border-bottom:2px solid var(--amarillo);}
.contenido-editorial ul{padding-left:24px;margin:10px 0 22px;}
.contenido-editorial ul li{margin-bottom:10px;line-height:1.6;color:var(--texto);}
.contenido-editorial a{color:var(--gris-azul);font-weight:600;}
.contenido-editorial a:hover{color:var(--amarillo);}

/* Destacado en zonas */
.destacado{background:#fffae0;border-left:5px solid var(--amarillo);padding:18px 24px;border-radius:6px;margin:24px 0;color:var(--gris-oscuro);font-size:0.97rem;line-height:1.6;}
.destacado strong{color:#000;}

/* Botones alias */
.btn-primario{display:inline-block;background:var(--amarillo);color:#000;padding:14px 28px;border-radius:6px;font-weight:700;text-decoration:none;transition:.2s;border:0;cursor:pointer;}
.btn-primario:hover{background:#ffc700;transform:translateY(-1px);box-shadow:0 6px 20px rgba(255,213,0,.35);}
.btn-oscuro{display:inline-block;background:var(--gris-oscuro);color:#fff;padding:14px 28px;border-radius:6px;font-weight:700;text-decoration:none;transition:.2s;border:0;cursor:pointer;}
.btn-oscuro:hover{background:#000;color:var(--amarillo);}

/* CTA banda */
.cta-banda .contenedor{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;padding:50px 24px;}
.cta-banda h2{color:#000;margin:0;flex:1;min-width:280px;font-size:1.4rem;}

/* WhatsApp flotante alias */
.wa-flotante{position:fixed;bottom:24px;right:24px;width:56px;height:56px;background:#25D366;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.6rem;text-decoration:none;box-shadow:0 6px 20px rgba(37,211,102,.45);z-index:1000;transition:.2s;}
.wa-flotante:hover{transform:scale(1.08);}

/* Aviso cookies con acciones */
.aviso-cookies .acciones{display:flex;gap:10px;flex-shrink:0;}
.aviso-cookies .btn-rechazar{background:transparent;color:var(--gris-oscuro);border:1.5px solid var(--gris-oscuro);padding:10px 18px;border-radius:5px;font-weight:600;cursor:pointer;font-size:0.88rem;}
.aviso-cookies .btn-rechazar:hover{background:var(--gris-oscuro);color:#fff;}
.aviso-cookies .btn-aceptar{background:var(--amarillo);color:#000;border:0;padding:10px 18px;border-radius:5px;font-weight:700;cursor:pointer;font-size:0.88rem;}
.aviso-cookies .btn-aceptar:hover{background:#ffc700;}

/* Footer grid landings */
.footer-marca p{color:#9aa0a8;font-size:0.88rem;line-height:1.55;margin-top:12px;}
.footer-bottom{margin-top:40px;padding-top:24px;border-top:1px solid rgba(255,255,255,.10);display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;font-size:0.83rem;color:#9aa0a8;}
.footer-bottom .legales{display:flex;gap:18px;}
.footer-bottom .legales a{color:#9aa0a8;text-decoration:none;}
.footer-bottom .legales a:hover{color:var(--amarillo);}

/* Responsive landings */
@media(max-width:980px){
  .menu-toggle{display:flex;}
  .nav-principal{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid #eaecef;padding:14px 24px;box-shadow:0 6px 18px rgba(0,0,0,.08);}
  .nav-principal.abierto{display:block;}
  .nav-principal ul{flex-direction:column;align-items:stretch;gap:4px;}
  .nav-principal li a{width:100%;display:block;}
  .header{position:relative;}
  .cta-banda .contenedor{flex-direction:column;text-align:center;}
}
@media(max-width:600px){
  .tb-info{font-size:0.75rem;gap:12px;}
  .tb-extra{display:none;}
  .marca-sub{display:none;}
  .footer-bottom{flex-direction:column;text-align:center;}
}
