@font-face { font-family:'Montserrat'; font-weight:400; font-style:normal; font-display:swap; src:url('/Scripts/Fuentes/montserrat-400.woff2') format('woff2'); }
@font-face { font-family:'Montserrat'; font-weight:500; font-style:normal; font-display:swap; src:url('/Scripts/Fuentes/montserrat-500.woff2') format('woff2'); }
@font-face { font-family:'Montserrat'; font-weight:600; font-style:normal; font-display:swap; src:url('/Scripts/Fuentes/montserrat-600.woff2') format('woff2'); }
@font-face { font-family:'Montserrat'; font-weight:700; font-style:normal; font-display:swap; src:url('/Scripts/Fuentes/montserrat-700.woff2') format('woff2'); }
@font-face { font-family:'Montserrat'; font-weight:800; font-style:normal; font-display:swap; src:url('/Scripts/Fuentes/montserrat-800.woff2') format('woff2'); }

:root{
    --fx-black:#15110d;
    --fx-black-soft:#1e1812;
    --fx-gold:#d3a04a;
    --fx-gold-light:#e8c384;
    --fx-ember:#c8551f;
    --fx-white:#ffffff;
    --fx-gray-50:#f7f5f2;
    --fx-gray-100:#efeae3;
    --fx-gray-600:#6b6459;
    --fx-gray-700:#4a453d;
    --shadow:0 10px 30px rgba(21,17,13,.12);
    --shadow-lg:0 20px 60px rgba(21,17,13,.18);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Montserrat',Arial,sans-serif;color:var(--fx-gray-700);background:var(--fx-white);line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.container{max-width:1180px;margin:0 auto;padding:0 24px}
h1,h2,h3,h4{font-weight:700;color:var(--fx-black);line-height:1.2}

/* Header */
.site-header{position:fixed;top:0;left:0;right:0;z-index:200;background:linear-gradient(180deg,rgba(21,17,13,.92) 0%,rgba(21,17,13,.75) 70%,rgba(21,17,13,0) 100%);transform:translateY(-100%);transition:transform .35s cubic-bezier(.22,.61,.36,1);padding-bottom:1.5rem}
.site-header.is-visible{transform:translateY(0)}
.header-inner{max-width:1180px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;height:76px}
.logo{display:inline-flex;align-items:center}
.logo-img{height:52px;width:auto}
.main-nav ul{display:flex;gap:2.25rem;list-style:none}
.main-nav a{color:rgba(255,255,255,.85);font-size:.9rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;transition:color .15s}
.main-nav a:hover,.main-nav a.active{color:var(--fx-gold-light)}

/* Hero */
.hero{position:relative;min-height:88vh;display:flex;align-items:center;background:linear-gradient(150deg,rgba(21,17,13,.94) 10%,rgba(21,17,13,.55) 60%,rgba(21,17,13,.25) 100%),url('/Scripts/Imagenes/hero-instalaciones-2.jpg') center/cover no-repeat}
.hero .container{position:relative;z-index:2;padding-top:4rem;padding-bottom:4rem}
.hero-eyebrow{display:inline-block;color:var(--fx-gold-light);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:.8rem;margin-bottom:1.25rem}
.hero h1{color:var(--fx-white);font-size:clamp(2.2rem,5vw,3.6rem);max-width:820px;margin-bottom:1.5rem}
.hero h1 em{font-style:normal;color:var(--fx-gold)}
.hero p.lead{color:rgba(255,255,255,.82);font-size:1.15rem;max-width:640px;margin-bottom:2.25rem}
.hero-stats{display:flex;gap:2.5rem;flex-wrap:wrap;margin-top:3rem}
.hero-stats .stat .num{color:var(--fx-gold);font-size:2rem;font-weight:800}
.hero-stats .stat .lbl{color:rgba(255,255,255,.7);font-size:.85rem;text-transform:uppercase;letter-spacing:.03em}

.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.9rem 1.75rem;border-radius:2px;font-weight:700;font-size:.9rem;text-transform:uppercase;letter-spacing:.03em;transition:all .15s}
.btn-primary{background:var(--fx-gold);color:var(--fx-black)}
.btn-primary:hover{background:var(--fx-gold-light)}
.btn-ghost{border:1.5px solid rgba(255,255,255,.6);color:var(--fx-white)}
.btn-ghost:hover{background:rgba(255,255,255,.1)}
.hero-ctas{display:flex;gap:1rem;flex-wrap:wrap}

/* Section basics */
section{padding:5.5rem 0}
.section-alt{background:var(--fx-gray-50)}
.section-eyebrow{display:block;color:var(--fx-ember);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:.8rem;margin-bottom:.75rem}
.section-title{font-size:clamp(1.8rem,3.4vw,2.6rem);max-width:720px;margin-bottom:1rem}
.section-sub{color:var(--fx-gray-600);max-width:680px;font-size:1.05rem;margin-bottom:3rem}

/* Servicios / venta directa */
.servicios-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.75rem}
.servicio-card{position:relative;display:block;height:280px;border-radius:8px;overflow:hidden;color:var(--fx-white);text-decoration:none;isolation:isolate}
.servicio-card .card-img{position:absolute;inset:0;z-index:0}
.servicio-card .card-img img{width:100%;height:100%;object-fit:cover;filter:brightness(.72);transition:transform .6s cubic-bezier(.22,.61,.36,1)}
.servicio-card:hover .card-img img{transform:scale(1.06)}
.servicio-card::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(0,0,0,0) 35%,rgba(0,0,0,.8) 100%)}
.servicio-card .card-body{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;height:100%;padding:1.5rem 1.75rem}
.servicio-card .sector{color:var(--fx-gold-light);font-weight:700;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.4rem}
.servicio-card h3{color:var(--fx-white);font-size:1.3rem;margin-bottom:.5rem}
.servicio-card .link{display:inline-flex;align-items:center;gap:.5rem;color:var(--fx-white);font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}
.servicio-card .link .arrow{color:var(--fx-gold);transition:transform .25s ease}
.servicio-card:hover .link .arrow{transform:translateX(5px)}

/* Nuestras marcas */
.marcas-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:1rem}
.marca-badge{display:flex;align-items:center;justify-content:center;background:var(--fx-white);border:1px solid var(--fx-gray-100);border-radius:8px;padding:1.5rem;height:110px}
.marca-badge img{max-width:100%;max-height:100%;object-fit:contain}
@media (max-width:900px){ .marcas-grid{grid-template-columns:repeat(3,1fr)} }
@media (max-width:560px){ .marcas-grid{grid-template-columns:repeat(2,1fr)} }

/* Intro */
.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:center}
.intro-image img{border-radius:6px;box-shadow:var(--shadow-lg)}
.intro-text p{margin-bottom:1.1rem;color:var(--fx-gray-700)}
.intro-stats{display:flex;gap:2.5rem;margin-top:2rem}
.intro-stats .n{font-size:1.7rem;font-weight:800;color:var(--fx-ember)}
.intro-stats .l{font-size:.82rem;color:var(--fx-gray-600);text-transform:uppercase;letter-spacing:.02em}

/* Grid simple (no mosaico) para /empresas — misma tarjeta, tamaño uniforme */
.empresas-list-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
.empresas-list-grid .empresa-card{height:340px}
@media (max-width:900px){ .empresas-list-grid{grid-template-columns:repeat(2,1fr)} }
@media (max-width:560px){ .empresas-list-grid{grid-template-columns:1fr} }

/* Empresas grid — mosaico a pantalla completa, tamaños desiguales, efecto "vivo" */
.empresas-grid-section{background:var(--fx-black);padding:0;min-height:100vh;height:100vh;display:flex;align-items:center;overflow:hidden}
.empresas-grid-section .container{position:relative;max-width:none;margin:0;padding:0;width:100%;height:100%;display:flex;align-items:center}
.empresas-grid{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    grid-template-rows:repeat(3,1fr);
    gap:2px;
    width:100%;
    height:100%;
}
/* Fénix Actividades (hub) siempre fijo en el centro exacto: fila 2 de 3, columna 3 de 5.
   El resto de posiciones ("slot-1".."slot-8") las reparte JS al azar entre las 8 empresas
   en cada carga de página — mismo tamaño de hueco, empresa distinta cada vez. */
.empresas-grid .ga-hub{grid-area:2/3/3/4}
.empresas-grid .slot-1{grid-area:1/1/3/3}
.empresas-grid .slot-2{grid-area:1/3/2/4}
.empresas-grid .slot-3{grid-area:1/4/2/5}
.empresas-grid .slot-4{grid-area:1/5/2/6}
.empresas-grid .slot-5{grid-area:2/4/3/6}
.empresas-grid .slot-6{grid-area:3/1/4/2}
.empresas-grid .slot-7{grid-area:3/2/4/4}
.empresas-grid .slot-8{grid-area:3/4/4/6}
.empresa-card{position:relative;display:block;min-width:0;height:100%;overflow:hidden;background:#0a0a0a;color:var(--fx-white);text-decoration:none;isolation:isolate;opacity:0;transform:scale(1.08);animation:fx-tile-in .9s cubic-bezier(.22,.61,.36,1) forwards}
@keyframes fx-tile-in{to{opacity:1;transform:scale(1)}}
.empresa-card:nth-of-type(1){animation-delay:.05s}
.empresa-card:nth-of-type(2){animation-delay:.12s}
.empresa-card:nth-of-type(3){animation-delay:.19s}
.empresa-card:nth-of-type(4){animation-delay:.26s}
.empresa-card:nth-of-type(5){animation-delay:.33s}
.empresa-card:nth-of-type(6){animation-delay:.4s}
.empresa-card:nth-of-type(7){animation-delay:.47s}
.empresa-card:nth-of-type(8){animation-delay:.54s}
.empresa-card:nth-of-type(9){animation-delay:.61s}
.empresa-card:nth-of-type(10){animation-delay:.68s}
.empresa-card .card-stretch{position:absolute;inset:0;z-index:1}
.empresa-card.grid-hub{background:radial-gradient(circle at center,#2a2015 0%,var(--fx-black) 70%);isolation:isolate;border-radius:50%;overflow:hidden;align-self:center;justify-self:center;aspect-ratio:1;width:132%;height:auto;z-index:15;box-shadow:0 0 50px 30px rgba(10,8,6,.5)}
.empresa-card.grid-hub .card-body{position:relative;z-index:2;justify-content:center;align-items:center;text-align:center;gap:1.1rem;padding:1rem}
.grid-hub__logo{height:min(9vw,88px);width:auto;transition:transform .5s cubic-bezier(.22,.61,.36,1)}
.empresa-card.grid-hub:hover .grid-hub__logo{transform:scale(1.06)}
.grid-hub__tag{color:rgba(255,255,255,.55);font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;font-weight:600}
.grid-hub__cta{display:inline-flex;align-items:center;gap:.5rem;color:var(--fx-gold-light);font-weight:700;font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;opacity:0;transform:translateY(6px);transition:opacity .3s ease,transform .3s ease}
.empresa-card.grid-hub:hover .grid-hub__cta{opacity:1;transform:translateY(0)}
.empresa-card .card-img{position:absolute;inset:0;z-index:0;overflow:hidden}
.empresa-card .card-img img{width:100%;height:100%;object-fit:cover;object-position:center;filter:brightness(.7);transform:scale(1.12);animation:fx-kenburns 24s ease-in-out infinite alternate;transition:filter .4s ease}
@keyframes fx-kenburns{from{transform:scale(1.12) translate(0,0)}to{transform:scale(1.22) translate(-1.5%,-1.5%)}}
.empresa-card:hover .card-img img{filter:brightness(.4)}
.empresa-card::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(0,0,0,.72) 100%);transition:background .4s ease}
.empresa-card:hover::before{background:linear-gradient(180deg,rgba(0,0,0,.3) 0%,rgba(0,0,0,.9) 100%)}
.empresa-card .card-body{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;height:100%;padding:1.5rem 1.75rem}
.empresa-card .sector{color:var(--fx-gold-light);font-weight:700;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.5rem;display:inline-flex;align-items:center;gap:.5rem}
.empresa-card .sector::before{content:"";width:20px;height:2px;background:var(--fx-ember)}
.empresa-card h3{color:var(--fx-white);font-size:clamp(1.1rem,1.6vw,1.7rem);margin:0;transition:transform .4s cubic-bezier(.22,.61,.36,1)}
.empresa-card:hover h3{transform:translateY(-2px)}
.empresa-card .card-reveal{max-height:0;opacity:0;overflow:hidden;transform:translateY(8px);transition:max-height .5s cubic-bezier(.22,.61,.36,1),opacity .35s ease,transform .4s cubic-bezier(.22,.61,.36,1),margin-top .4s ease;margin-top:0}
.empresa-card:hover .card-reveal{max-height:280px;opacity:1;transform:translateY(0);margin-top:.85rem}
.empresa-card .card-reveal p{font-size:.85rem;line-height:1.5;color:rgba(255,255,255,.88);margin:0 0 .75rem;max-width:40ch}
.empresa-card .card-contactos{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}
.empresa-card .card-contacto{font-size:.78rem;line-height:1.4;color:rgba(255,255,255,.82)}
.empresa-card .card-contacto .direccion{display:block;color:rgba(255,255,255,.65)}
.empresa-card .card-contacto .tel{display:inline-flex;align-items:center;gap:.35rem;color:var(--fx-white);font-weight:700}
.empresa-card .card-contacto .tel:hover{color:var(--fx-gold-light)}
.empresa-card .link{display:inline-flex;align-items:center;gap:.5rem;color:var(--fx-white);font-weight:700;font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;padding-top:.35rem;border-top:1px solid rgba(255,255,255,.3)}
.empresa-card .link .arrow{color:var(--fx-gold);transition:transform .25s ease}
.empresa-card:hover .link .arrow{transform:translateX(5px)}

/* Recogida del mosaico: al pasar el ratón por el hub central (.ga-hub), cada
   tarjeta (foto incluida) se encoge hacia el cuadro central — el origen de
   cada una apunta hacia el hub para que el movimiento parezca ir hacia él.
   El menú que aparece después NO reutiliza este tamaño/posición: es su
   propia rejilla uniforme (.menu-overlay), independiente del mosaico. */
.empresas-grid [data-tile]{transition:transform .35s cubic-bezier(.4,0,.2,1),opacity .35s ease}
.slot-1{transform-origin:100% 100%}
.slot-2{transform-origin:50% 100%}
.slot-3{transform-origin:0% 100%}
.slot-4{transform-origin:0% 100%}
.slot-5{transform-origin:0% 50%}
.slot-6{transform-origin:100% 0%}
.slot-7{transform-origin:50% 0%}
.slot-8{transform-origin:0% 0%}

/* Rejilla del menú: 3x3 uniforme, superpuesta a toda la sección, con una foto
   por sección. Aparece/desaparece con su propio zoom desde el centro. */
.menu-overlay{position:absolute;inset:0;z-index:10;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:2px;opacity:0;transform:scale(.05);transform-origin:50% 50%;pointer-events:none;transition:transform .45s cubic-bezier(.22,.61,.36,1),opacity .3s ease}
.empresas-grid-section.show-menu .menu-overlay{opacity:1;transform:scale(1);pointer-events:auto}
.menu-cell{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;text-decoration:none;text-align:center;padding:1rem;background:#0a0a0a}
.menu-cell__bg{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center;filter:brightness(.4)}
.menu-cell::after{content:"";position:absolute;inset:0;z-index:0;background:rgba(21,17,13,.55)}
.menu-cell__label{position:relative;z-index:1;font-weight:700;font-size:clamp(.85rem,1.3vw,1.05rem);letter-spacing:.01em;color:var(--fx-white);text-shadow:0 1px 6px rgba(0,0,0,.6)}
.menu-cell .arrow{position:relative;z-index:1;color:var(--fx-gold-light);transition:transform .25s ease}
.menu-cell:hover .arrow{transform:translateX(5px)}
.menu-cell--brand{cursor:default;gap:.7rem;border-radius:50%;align-self:center;justify-self:center;aspect-ratio:1;width:132%;height:auto;z-index:15;box-shadow:0 0 50px 30px rgba(10,8,6,.5)}
.menu-cell__logo{position:relative;z-index:1;height:34%;max-height:64px;width:auto}
.menu-cell--brand .menu-cell__label{color:var(--fx-gold-light);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;text-shadow:0 1px 6px rgba(0,0,0,.6)}

/* Galería con crossfade continuo para empresas con varias fotos reales */
.empresa-card .card-img--gallery img{position:absolute;inset:0;opacity:0;animation-name:fx-gallery-fade,fx-kenburns;animation-timing-function:ease-in-out,ease-in-out;animation-iteration-count:infinite,infinite;animation-fill-mode:both,none}
@keyframes fx-gallery-fade{0%{opacity:0}50%{opacity:1}100%{opacity:0}}
@media (max-width:900px){
    .empresas-grid-section{min-height:auto;height:auto;padding:5rem 0;display:block;overflow:visible}
    .empresas-grid-section .container{max-width:1440px;margin:0 auto;padding:0 1.25rem;height:auto;display:block}
    .empresas-grid{grid-template-columns:1fr 1fr;grid-template-rows:none;grid-auto-rows:220px;height:auto}
    .empresa-card .card-img img{animation:none;transform:scale(1)}
    .empresa-card .card-img--gallery img{opacity:0}
    .empresa-card .card-img--gallery img:first-child{opacity:1}
    .empresas-grid .slot-1{grid-area:span 2 / span 2}
    .empresas-grid [class*="slot-"],.empresas-grid .ga-hub{grid-area:span 1 / span 1}
    .empresas-grid .slot-1{grid-area:span 2 / span 2}
    .empresa-card .card-reveal{max-height:280px;opacity:1;transform:translateY(0);margin-top:.75rem}
    .empresa-card::before{background:linear-gradient(180deg,rgba(0,0,0,.2) 0%,rgba(0,0,0,.8) 100%)}
    .servicios-grid{grid-template-columns:1fr}
    .empresa-card.grid-hub{width:100%;box-shadow:none}
}

/* Nuestra historia — timeline con scroll-reveal */
.historia-timeline{position:relative;max-width:760px;margin:0 auto;padding-left:2.5rem}
.historia-timeline::before{content:"";position:absolute;left:6px;top:6px;bottom:6px;width:2px;background:var(--fx-gray-100)}
.historia-item{position:relative;padding-bottom:3rem;opacity:0;transform:translateY(30px);transition:opacity .7s ease,transform .7s cubic-bezier(.22,.61,.36,1)}
.historia-item.is-visible{opacity:1;transform:translateY(0)}
.historia-item::before{content:"";position:absolute;left:-2.5rem;top:.3rem;width:14px;height:14px;border-radius:50%;background:var(--fx-gold);box-shadow:0 0 0 4px var(--fx-white),0 0 0 5px var(--fx-gray-100)}
.historia-item:last-child{padding-bottom:0}
.historia-item .year{color:var(--fx-ember);font-weight:800;font-size:1.4rem;margin-bottom:.35rem;display:block}
.historia-item h4{font-size:1.15rem;margin-bottom:.4rem}
.historia-item p{color:var(--fx-gray-600);font-size:.95rem;max-width:60ch}

/* Footer */
.site-footer{background:var(--fx-black);color:rgba(255,255,255,.85);padding-top:4.5rem}
.footer-title{color:var(--fx-white);font-size:1.6rem;margin-bottom:2.25rem}
.visitanos-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem 1.75rem;padding-bottom:3rem;border-bottom:1px solid rgba(255,255,255,.12)}
.visitanos-card h4{color:var(--fx-gold-light);font-size:1.02rem;margin-bottom:.6rem}
.visitanos-card h4 a:hover{text-decoration:underline}
.visitanos-card .direccion{color:rgba(255,255,255,.65);font-size:.88rem;margin-bottom:.5rem}
.visitanos-card .telefonos{font-size:.88rem;color:rgba(255,255,255,.85)}
.visitanos-card .telefonos a{color:var(--fx-white);font-weight:600}
.visitanos-card .telefonos a:hover{color:var(--fx-gold-light)}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding:2rem 24px 2.5rem}
.footer-logo{height:34px;width:auto}
.footer-legal{font-size:.8rem;color:rgba(255,255,255,.55)}
.footer-links{display:flex;gap:1.5rem}
.footer-links a{font-size:.8rem;color:rgba(255,255,255,.6)}
.footer-links a:hover{color:var(--fx-gold-light)}

/* Ficha de empresa */
.empresa-hero{position:relative;min-height:60vh;display:flex;align-items:flex-end;background-size:cover;background-position:center}
.empresa-hero--logo{background:radial-gradient(circle at 30% 40%,#2a2015 0%,var(--fx-black) 70%)}
.empresa-hero__scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(21,17,13,.35) 0%,rgba(21,17,13,.94) 100%)}
.empresa-hero--logo .empresa-hero__scrim{background:none}

/* Empresas sin foto propia verificada: logo centrado sobre fondo oscuro, nunca una foto ajena */
.empresa-card--logo .card-logo-bg{position:absolute;inset:0;z-index:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at center,#241d15 0%,var(--fx-black) 75%);padding:15%}
.empresa-card--logo .card-logo-bg img{max-width:70%;max-height:60%;object-fit:contain;filter:drop-shadow(0 0 20px rgba(0,0,0,.5));transition:transform .5s cubic-bezier(.22,.61,.36,1)}
.empresa-card--logo:hover .card-logo-bg img{transform:scale(1.08)}
.empresa-card--logo::before{background:linear-gradient(180deg,rgba(0,0,0,0) 55%,rgba(0,0,0,.75) 100%)}
.empresa-hero__content{position:relative;z-index:2;padding-bottom:3.5rem;width:100%}
.empresa-breadcrumb{font-size:.85rem;color:rgba(255,255,255,.65);margin-bottom:1.5rem}
.empresa-breadcrumb a{color:var(--fx-gold-light);font-weight:600}
.empresa-breadcrumb a:hover{text-decoration:underline}
.empresa-breadcrumb .sep{margin:0 .5rem;color:rgba(255,255,255,.4)}
.empresa-hero__logo{height:60px;background:var(--fx-white);display:inline-flex;align-items:center;padding:.5rem 1.1rem;border-radius:6px;margin-bottom:1.5rem;box-shadow:var(--shadow-lg)}
.empresa-hero__logo img{max-height:44px;width:auto}
.empresa-hero h1{color:var(--fx-white);font-size:clamp(2rem,4.5vw,3.2rem);margin-bottom:0}

.empresa-body{padding:4.5rem 0}
.empresa-body__grid{display:grid;grid-template-columns:1.15fr .85fr;gap:3rem;align-items:start}
.empresa-body p.lead{font-size:1.1rem;color:var(--fx-gray-700);line-height:1.75;margin-bottom:1.5rem}

.official-callout{background:var(--fx-black);color:var(--fx-white);border-radius:12px;padding:2.25rem;position:relative;overflow:hidden}
.official-callout::before{content:"";position:absolute;top:-40%;right:-20%;width:220px;height:220px;background:radial-gradient(circle,rgba(211,160,74,.35) 0%,rgba(211,160,74,0) 70%)}
.official-callout__badge{position:relative;z-index:1;display:inline-flex;align-items:center;gap:.5rem;color:var(--fx-gold-light);font-weight:700;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:1rem}
.official-callout__badge::before{content:"✓";display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--fx-gold);color:var(--fx-black);font-size:.7rem;font-weight:800}
.official-callout h3{position:relative;z-index:1;color:var(--fx-white);font-size:1.35rem;margin-bottom:.6rem}
.official-callout p{position:relative;z-index:1;color:rgba(255,255,255,.75);font-size:.92rem;margin-bottom:1.5rem}
.official-callout .btn{position:relative;z-index:1;width:100%;justify-content:center;background:var(--fx-gold);color:var(--fx-black)}
.official-callout .btn:hover{background:var(--fx-gold-light)}

.info-callout{background:var(--fx-gray-50);border:1px solid var(--fx-gray-100);border-radius:12px;padding:2.25rem}
.info-callout__badge{display:inline-flex;align-items:center;gap:.5rem;color:var(--fx-ember);font-weight:700;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:1rem}
.info-callout h3{font-size:1.2rem;margin-bottom:.75rem}
.info-callout ul{list-style:none;display:flex;flex-direction:column;gap:.6rem}
.info-callout li{display:flex;gap:.6rem;font-size:.92rem;color:var(--fx-gray-700)}
.info-callout li b{color:var(--fx-black);min-width:90px;flex-shrink:0}
.info-callout .btn{margin-top:1.5rem;width:100%;justify-content:center}

.empresa-otras{margin-top:3rem;padding-top:3rem;border-top:1px solid var(--fx-gray-100)}
.empresa-otras h4{font-size:1rem;color:var(--fx-gray-600);margin-bottom:1.25rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:.8rem}
.empresa-otras__grid{display:flex;gap:.75rem;flex-wrap:wrap}
.empresa-otras__grid a{font-size:.85rem;font-weight:600;color:var(--fx-black);background:var(--fx-gray-50);border:1px solid var(--fx-gray-100);padding:.55rem 1rem;border-radius:20px;transition:background .15s}
.empresa-otras__grid a:hover{background:var(--fx-gray-100)}

/* Formularios (contacto / trabaja con nosotros) */
.form-alert{padding:1rem 1.25rem;border-radius:6px;margin-bottom:1.5rem;font-weight:600;font-size:.92rem}
.form-alert.ok{background:#e5f5ea;color:#1e6b3a}
.form-alert.err{background:#fbe9e7;color:#a3341c}
.form-card{display:flex;flex-direction:column;gap:1.15rem;background:var(--fx-white);padding:2.25rem;border-radius:12px;box-shadow:var(--shadow)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form-field label{display:block;font-weight:600;margin-bottom:.4rem;font-size:.88rem;color:var(--fx-black)}
.form-field input,.form-field select,.form-field textarea{width:100%;padding:.8rem .9rem;border:1px solid var(--fx-gray-100);border-radius:6px;font-family:inherit;font-size:.95rem;background:var(--fx-white);color:var(--fx-gray-700)}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:2px solid var(--fx-gold);outline-offset:1px}
.form-honeypot{position:absolute;left:-9999px}
.form-captcha-opts{display:flex;flex-wrap:wrap;gap:.6rem}
.form-captcha-opt{display:flex;align-items:center;gap:.5rem;border:1px solid var(--fx-gray-100);border-radius:20px;padding:.55rem 1.1rem;font-size:.9rem;color:var(--fx-gray-700);cursor:pointer;transition:border-color .15s,background .15s}
.form-captcha-opt input{width:auto;margin:0}
.form-captcha-opt:hover{border-color:var(--fx-ember)}
.form-captcha-opt:has(input:checked){border-color:var(--fx-ember);background:var(--fx-gray-50);color:var(--fx-black);font-weight:600}
.dropzone{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;text-align:center;border:2px dashed var(--fx-gray-100);border-radius:10px;padding:2rem 1rem;cursor:pointer;color:var(--fx-gray-600);transition:border-color .15s,background .15s}
.dropzone:hover,.dropzone.is-dragover{border-color:var(--fx-ember);background:var(--fx-gray-50)}
.dropzone__icon{color:var(--fx-ember)}
.dropzone__text{font-size:.9rem;font-weight:600}
.dropzone input[type="file"]{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}

/* Trabaja con nosotros: mismas tarjetas oscuras con foto que en el grid de empresas */
.empleo-list-grid .empresa-card{height:460px}
.empleo-list-grid--formacion .empresa-card{height:400px}
.empleo-badge{position:absolute;top:1rem;left:1rem;z-index:3;pointer-events:none;background:rgba(21,17,13,.75);backdrop-filter:blur(2px);color:var(--fx-gold-light);font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;padding:.35rem .8rem;border-radius:20px;border:1px solid rgba(211,160,74,.4)}
.empleo-badge--formacion{color:#fff;border-color:rgba(255,255,255,.35)}
.empleo-gancho{color:rgba(255,255,255,.85);font-size:.85rem;font-style:italic;line-height:1.4;margin:.35rem 0 0}
.form-rgpd{display:flex;gap:.6rem;align-items:flex-start;font-size:.82rem;color:var(--fx-gray-600);line-height:1.5}
.form-rgpd input{margin-top:.2rem;width:auto}
.form-rgpd a{color:var(--fx-ember);font-weight:600}
.form-submit{border:none;cursor:pointer;align-self:flex-start}
.side-bullets{list-style:none;display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}
.side-bullets h4{margin-bottom:.3rem;font-size:1rem}
.side-bullets p{color:var(--fx-gray-600);font-size:.92rem}
.side-note{padding:1.5rem;background:var(--fx-gray-50);border-radius:8px}
.side-note h4{margin-bottom:.5rem;font-size:1rem}
.side-note p{color:var(--fx-gray-600);font-size:.92rem}

/* Ofertas de empleo */
.empleo-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-bottom:1rem}
.empleo-card{background:var(--fx-white);border:1px solid var(--fx-gray-100);border-radius:10px;padding:1.75rem;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:.9rem}
.empleo-card-tipo{display:inline-flex;align-self:flex-start;background:var(--fx-gray-50);color:var(--fx-ember);font-weight:700;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;padding:.3rem .7rem;border-radius:20px}
.empleo-card h3{font-size:1.15rem;margin:.5rem 0 0}
.empleo-card-empresa{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--fx-gray-600)}
.empleo-card-empresa svg{flex-shrink:0;color:var(--fx-ember)}
.empleo-card p.resumen{color:var(--fx-gray-600);font-size:.92rem}
.empleo-card-req{list-style:none;display:flex;flex-direction:column;gap:.4rem}
.empleo-card-req li{position:relative;padding-left:16px;font-size:.85rem;color:var(--fx-gray-600)}
.empleo-card-req li::before{content:"";position:absolute;left:0;top:.45em;width:6px;height:6px;border-radius:50%;background:var(--fx-gold)}
.empleo-card-cta{margin-top:auto;font-weight:700;font-size:.85rem;color:var(--fx-black);display:inline-flex;align-items:center;gap:.4rem;padding-top:.6rem;border-top:1px solid var(--fx-gray-100)}

@media (max-width:900px){
    .main-nav{display:none}
    .intro-grid{grid-template-columns:1fr;gap:2rem}
    .empresas-grid{grid-template-columns:repeat(2,1fr)}
    .visitanos-grid{grid-template-columns:repeat(2,1fr)}
    .empresa-body__grid{grid-template-columns:1fr}
    .form-row{grid-template-columns:1fr}
    .empleo-grid{grid-template-columns:1fr}
}
@media (max-width:560px){
    .empresas-grid{grid-template-columns:1fr}
    .visitanos-grid{grid-template-columns:1fr}
    .hero-stats{gap:1.5rem}
    .footer-bottom{flex-direction:column;align-items:flex-start}
}
