:root{--navy:#102b45;--navy2:#183d5b;--blue:#2376a8;--cyan:#67c7df;--ink:#172b3a;--muted:#637483;--paper:#f5f8fa;--line:#dfe7ec;--white:#fff;--radius:18px;--shadow:0 16px 40px rgba(16,43,69,.10)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:system-ui,-apple-system,'Segoe UI',Arial,sans-serif;font-size:18px;line-height:1.7}h1,h2,h3{font-family:system-ui,-apple-system,'Segoe UI',Arial,sans-serif;line-height:1.15;color:var(--navy);margin:0 0 16px}h1{font-size:clamp(2.3rem,5vw,4.4rem);letter-spacing:-.045em}h2{font-size:clamp(1.8rem,3vw,2.7rem);letter-spacing:-.035em}h3{font-size:1.2rem}p{margin:0 0 1rem;color:#425565}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.container{width:min(1760px,calc(100% - 48px));margin:auto}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.9rem;font-weight:700;color:var(--blue);margin-bottom:14px}.section{padding:86px 0}.section.soft{background:var(--paper)}.section-head{max-width:720px;margin-bottom:34px}.section-head p{font-size:1.2rem}.topbar{background:var(--navy);color:#e7f1f7;font-size:.95rem}.topbar .container{display:flex;justify-content:space-between;gap:18px;padding:9px 0}.topbar a{color:#fff}.header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid rgba(223,231,236,.85)}.navwrap{min-height:154px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:13px;min-width:300px;flex:0 0 auto}.brand-logo{display:block;width:290px;height:145px;object-fit:contain;object-position:left center}.nav{display:flex;align-items:center;gap:28px;font-size:1.02rem;font-weight:600}.nav a{color:#405565;transition:.2s}.nav a:hover,.nav a.active{color:var(--blue)}.nav .nav-cta{background:var(--navy);color:white;padding:12px 17px;border-radius:10px}.nav-toggle{display:none;border:1px solid var(--line);background:white;border-radius:10px;padding:9px 12px;font-size:1.2rem}.hero{background:linear-gradient(112deg,#102b45 0%,#163c5a 57%,#1f6386 100%);color:#fff;overflow:hidden;position:relative}.hero:after{content:'';position:absolute;width:460px;height:460px;border:1px solid rgba(255,255,255,.1);border-radius:50%;right:-120px;top:-180px;box-shadow:0 0 0 50px rgba(255,255,255,.025),0 0 0 100px rgba(255,255,255,.02)}.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:clamp(42px,4.5vw,90px);padding:76px 0 78px}.hero h1{color:#fff}.hero p{color:#d4e3ec;font-size:1.22rem;max-width:700px}.hero .eyebrow{color:#8fe0f2}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:13px 19px;border-radius:10px;font-weight:700;font-size:.92rem;transition:transform .2s,background .2s;border:1px solid transparent;cursor:pointer}.btn:hover{transform:translateY(-2px)}.btn.primary{background:var(--cyan);color:#102b45}.btn.light{border-color:rgba(255,255,255,.4);color:#fff;background:rgba(255,255,255,.04)}.btn.dark{background:var(--navy);color:white}.btn.outline{border-color:var(--line);color:var(--navy);background:white}.hero-media{position:relative;min-width:0}.hero-image{width:100%;height:clamp(520px,44vw,760px);object-fit:cover;object-position:center;border-radius:22px;box-shadow:0 28px 60px rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.25)}.hero-tag{position:static;display:block;background:white;color:var(--navy);border-radius:14px;padding:16px 22px;box-shadow:var(--shadow);max-width:none;width:100%;margin-top:14px;font-size:1.02rem;font-weight:700}.hero-tag span{display:block;color:var(--muted);font-weight:500;font-size:.94rem}.carousel-controls{display:flex;align-items:center;gap:8px;margin-top:20px}.carousel-dot{width:9px;height:9px;border:0;border-radius:50%;padding:0;background:rgba(255,255,255,.45);cursor:pointer}.carousel-dot.active{width:28px;border-radius:9px;background:var(--cyan)}.trust-strip{background:white;border-bottom:1px solid var(--line)}.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);padding:24px 0;gap:25px}.trust-item{display:flex;align-items:center;gap:13px;color:var(--navy);font-weight:700}.trust-icon{width:42px;height:42px;display:grid;place-items:center;background:#e8f5f9;color:var(--blue);border-radius:12px;font-size:1.15rem}.trust-item small{display:block;font-size:.79rem;font-weight:500;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service-card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff;transition:transform .22s,box-shadow .22s}.service-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.service-card img{display:block;width:100%;height:280px;object-fit:cover;object-position:center;background:#f4f6f7}.card-body{padding:23px}.card-body p{font-size:1.05rem;min-height:74px}.text-link{color:var(--blue);font-weight:700;font-size:1rem;display:inline-flex;align-items:center;gap:8px}.text-link:after{content:'→';font-size:1.15rem}.split{display:grid;grid-template-columns:1fr 1fr;gap:58px;align-items:center}
.split-carousel{width:100%;position:relative}
.split-slides{position:relative;width:100%;height:clamp(440px,48vw,680px);overflow:hidden;border-radius:var(--radius);box-shadow:var(--shadow);background:#eef2f5}
.split-img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;opacity:0;transition:opacity .7s ease;border-radius:var(--radius);box-shadow:none}
.split-img.active{opacity:1}
.split-carousel-dots{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);display:flex;gap:8px;padding:8px 12px;border-radius:20px;background:rgba(16,43,69,.72)}
.split-dot{width:9px;height:9px;border:0;border-radius:50%;padding:0;background:rgba(255,255,255,.6);cursor:pointer}
.split-dot.active{width:25px;border-radius:8px;background:#fff}
.feature-list{list-style:none;padding:0;margin:22px 0 28px;display:grid;gap:11px}.feature-list li{display:flex;gap:11px;color:#405565}.feature-list li:before{content:'✓';font-weight:800;color:var(--blue);background:#e8f5f9;border-radius:50%;width:23px;height:23px;flex:0 0 23px;display:grid;place-items:center;font-size:.8rem;margin-top:1px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:28px}.stat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:17px}.stat strong{display:block;font:800 1.6rem Manrope;color:var(--navy)}.stat span{font-size:.8rem;color:var(--muted)}.cta-band{background:linear-gradient(110deg,var(--navy),#1b5a7c);border-radius:22px;padding:42px 46px;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:30px}.cta-band h2{color:#fff;margin-bottom:8px}.cta-band p{color:#d7e5ed;margin:0}.page-hero{background:linear-gradient(115deg,#102b45,#1d5d7f);padding:62px 0;color:white}.page-hero h1{font-size:clamp(2.2rem,4vw,3.5rem);color:#fff;max-width:850px}.page-hero p{color:#d6e6ee;max-width:900px;font-size:1.2rem}.breadcrumbs{font-size:.82rem;color:#a9d6e6;margin-bottom:16px}.breadcrumbs a{color:#fff}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:45px;align-items:start}.prose{font-size:1.12rem}.prose h2{font-size:1.65rem;margin-top:32px}.prose h3{margin-top:25px}.prose ul{padding-left:23px;color:#425565}.prose li{margin:.55rem 0}.side-card{border:1px solid var(--line);border-radius:var(--radius);padding:25px;background:var(--paper);position:sticky;top:115px}.side-card h3{margin-bottom:13px}.side-card p{font-size:.9rem}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:28px}.gallery img{width:100%;height:190px;object-fit:cover;border-radius:13px}.detail-hero-image{width:100%;height:420px;object-fit:cover;object-position:center top;border-radius:20px;margin-bottom:32px}.info-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.info-card{padding:24px;border:1px solid var(--line);border-radius:16px;background:white}.info-card .symbol{font-size:1.45rem;color:var(--blue);margin-bottom:12px}.info-card p{font-size:.92rem;margin:0}.contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:28px}.contact-box{border:1px solid var(--line);border-radius:18px;padding:28px;background:#fff}.contact-line{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}.contact-line:last-child{border-bottom:0}.contact-line .symbol{color:var(--blue);font-size:1.25rem;width:28px}.contact-line strong{display:block;color:var(--navy);font-size:1.08rem}.contact-line a{color:var(--blue);overflow-wrap:anywhere}.map-frame{width:100%;height:440px;border:0;border-radius:18px;background:var(--paper)}.cert-panel{display:flex;gap:25px;align-items:center;padding:28px;border:1px solid var(--line);border-radius:18px;margin:25px 0;background:var(--paper)}.cert-mark{flex:0 0 88px;height:88px;border-radius:20px;background:#e5f3f8;display:grid;place-items:center;color:var(--blue);font:800 1.2rem Manrope}.footer{background:#0c2236;color:#d1dfe8;padding:55px 0 20px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:42px}.footer h3{color:white;font-size:1rem}.footer p,.footer a{color:#b6c9d6;font-size:1rem}.footer-links{display:grid;gap:9px}.footer-bottom{border-top:1px solid rgba(255,255,255,.13);padding-top:17px;margin-top:35px;display:flex;justify-content:space-between;gap:20px;font-size:.8rem;color:#8ea7b8}.note{font-size:.86rem;color:var(--muted)}.pill{display:inline-block;background:#e7f5f9;color:#1a668c;border-radius:999px;padding:6px 10px;font-size:.78rem;font-weight:700;margin-bottom:14px}.mobile-only{display:none}@media(max-width:1100px){.container{width:calc(100% - 40px)}.nav{gap:14px;font-size:.84rem}.brand{min-width:0}.brand-logo{width:240px;height:120px}.hero-grid{gap:30px}.hero-image{height:clamp(380px,42vw,500px)}.cards{grid-template-columns:repeat(2,1fr)}.split{gap:32px}.content-grid{grid-template-columns:1fr 270px;gap:25px}.info-cards{grid-template-columns:1fr}.gallery img{height:155px}}@media(max-width:700px){body{font-size:16px}.container{width:calc(100% - 30px)}.topbar .container{justify-content:center}.topbar .top-right{display:none}.navwrap{min-height:100px}.brand-logo{width:190px;height:95px}.nav-toggle{display:block}.nav{display:none;position:absolute;top:100px;left:0;right:0;background:white;padding:18px 20px 24px;border-bottom:1px solid var(--line);box-shadow:var(--shadow);flex-direction:column;align-items:stretch;gap:0}.nav.open{display:flex}.nav a{padding:12px 5px;border-bottom:1px solid #edf1f4}.nav .nav-cta{text-align:center;margin-top:10px}.brand{min-width:0}.brand-name{font-size:.82rem}.brand-mark{width:38px;height:38px}.hero-grid{grid-template-columns:1fr;padding:54px 0 62px}.hero-image{height:320px}.hero-tag{margin-top:10px}.trust-grid{grid-template-columns:1fr;padding:18px 0;gap:15px}.section{padding:62px 0}.cards{grid-template-columns:1fr}.service-card img{height:260px}.split{grid-template-columns:1fr}.split-img{height:300px;order:-1}.stats{grid-template-columns:1fr 1fr}.cta-band{padding:30px 24px;align-items:flex-start;flex-direction:column}.page-hero{padding:45px 0}.content-grid{grid-template-columns:1fr}.side-card{position:static;order:-1}.gallery{grid-template-columns:1fr 1fr}.gallery img{height:145px}.contact-layout{grid-template-columns:1fr}.map-frame{height:340px}.cert-panel{align-items:flex-start;flex-direction:column}.footer-grid{grid-template-columns:1fr;gap:25px}.footer-bottom{flex-direction:column}.hero-actions .btn{width:100%}.detail-hero-image{height:280px}}
/* Cabecera gráfica corporativa Rioja Sáez */
.topbar{display:none!important}
.image-header{position:relative;top:0;background:#fff;border-bottom:1px solid #dfe7ec;backdrop-filter:none}
.header-art{position:relative;width:100%;line-height:0;overflow:hidden;background:#fff}
.header-art>img{display:block;width:100%;height:auto;aspect-ratio:2048/327;object-fit:fill}
.header-home-link{position:absolute;z-index:2;left:12%;top:0;width:25%;height:100%;display:block;background:transparent;cursor:pointer}
.header-home-link:focus-visible{outline:2px solid #1686d2;outline-offset:-4px}
.image-nav{position:absolute;inset:0;transform:none;width:100%;height:100%;display:block;font-size:clamp(.3rem,.78vw,.75rem);line-height:1.2;font-weight:700}
.image-nav a{position:absolute;top:47%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;height:19%;padding:0;color:transparent!important;-webkit-text-fill-color:transparent!important;text-shadow:none!important;background:transparent!important;border:0!important;border-radius:0!important;white-space:nowrap;box-sizing:border-box}
.image-nav a:nth-child(1){left:58.79%;width:4.8%;height:12%;}
.image-nav a:nth-child(2){left:68.85%;width:7.0%;height:12%;}
.image-nav a:nth-child(3){left:79.10%;width:7.8%;height:12%;}
.image-nav a:nth-child(4){left:92.63%;width:7.8%;height:12%;}
.image-nav a.active,.image-nav a:visited,.image-nav a:hover{color:transparent!important;-webkit-text-fill-color:transparent!important;text-shadow:none!important;background:transparent!important}
.image-nav a:focus-visible{outline:2px solid #1686d2;outline-offset:0}
.mobile-header{display:none}
@media(max-width:700px){.header-art{display:none}.mobile-header{display:flex;min-height:94px;padding:10px 16px;align-items:center;justify-content:space-between;gap:12px;position:relative}.mobile-brand img{width:min(230px,65vw);height:72px;object-fit:contain;object-position:left center}.mobile-header .nav-toggle{display:block}.mobile-header .nav{display:none;position:absolute;top:94px;left:0;right:0;background:#fff;padding:14px 20px 20px;border-bottom:1px solid var(--line);box-shadow:var(--shadow);flex-direction:column;align-items:stretch;gap:0;z-index:25;font-size:1rem}.mobile-header .nav.open{display:flex}.mobile-header .nav a{color:#405565!important;padding:12px 5px;border-bottom:1px solid #edf1f4}.mobile-header .nav a.active{color:var(--blue)!important}}

/* Empresa: fotografía completa del equipo, manteniendo la misma altura de tarjeta
   para que los títulos de las tres tarjetas permanezcan alineados. */
.service-card img.team-card-image{
  height:280px;
  object-fit:contain;
  object-position:center;
  background:#f4f6f7;
}

/* Nuestro equipo: fotografía completa, sin recorte ni deformación,
   también en pantallas pequeñas. */
.detail-hero-image.team-full-image{
  display:block;
  width:100%;
  height:auto !important;
  max-height:none;
  object-fit:contain;
  object-position:center;
  background:#f4f6f7;
}

/* Página Nuestras instalaciones: texto a la izquierda e imágenes altas a la derecha */
.installations-layout{display:grid;grid-template-columns:minmax(260px,0.82fr) minmax(0,1.18fr);gap:30px;align-items:start}
.installations-copy{max-width:none!important;font-size:1rem}
.installations-copy p{margin-top:0;margin-bottom:18px}
.installations-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:0;align-items:start}
.installations-gallery img{width:100%;height:clamp(420px,48vw,650px);object-fit:cover;object-position:center center;border-radius:13px}
@media(max-width:900px){.installations-layout{grid-template-columns:1fr}.installations-gallery img{height:clamp(320px,70vw,520px)}}
@media(max-width:600px){.installations-gallery{grid-template-columns:1fr 1fr;gap:8px}.installations-gallery img{height:300px}}

/* Galería de Repaso de piezas: encuadre uniforme sin cortar el contenido de las fotografías. */
.gallery-piezas {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  align-items: start;
}
.gallery-piezas img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: contain;
  background: #f2f5f7;
  border-radius: 12px;
}
@media (max-width: 760px) {
  .gallery-piezas { grid-template-columns: 1fr; }
  .gallery-piezas img { aspect-ratio: auto; max-height: 420px; }
}

/* Verificación dimensional: texto a la izquierda e imágenes completas a la derecha. */
.verification-layout {
  display: grid;
  grid-template-columns: minmax(280px, 0.85fr) minmax(0, 1.15fr);
  gap: 28px;
  align-items: start;
}
.verification-copy { min-width: 0; }
.verification-side-card { margin-top: 24px; }
.verification-gallery {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  align-items: start;
}
.verification-gallery figure {
  margin: 0;
  min-width: 0;
  border-radius: 12px;
  overflow: hidden;
  background: #f2f5f7;
  border: 1px solid #dce5eb;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 260px;
}
.verification-gallery img {
  display: block;
  width: 100%;
  height: 340px;
  object-fit: contain;
  object-position: center;
}
@media (max-width: 900px) {
  .verification-layout { grid-template-columns: 1fr; }
  .verification-gallery img { height: 320px; }
}
@media (max-width: 560px) {
  .verification-gallery { grid-template-columns: 1fr; }
  .verification-gallery img { height: auto; max-height: 480px; }
  .verification-gallery figure { min-height: 0; }
}

/* Ajuste de encuadre: mostrar completa la fotografía principal de paneles */
.prose .detail-hero-image{height:auto;max-height:720px;object-fit:contain;object-position:center;background:#f4f6f7;}
@media(max-width:700px){.prose .detail-hero-image{height:auto;max-height:560px;object-fit:contain;}}

/* Información legal */
.legal-content{max-width:900px;margin:0 auto}.legal-content h2{margin-top:30px}.legal-content li{margin:.45rem 0}.legal-footer-links{display:flex;justify-content:center;gap:22px;flex-wrap:wrap;padding-top:14px;border-top:1px solid rgba(255,255,255,.13)}.map-placeholder{min-height:360px;border-radius:18px;background:linear-gradient(135deg,#eaf1f5,#dce8ee);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:35px;color:#102b45}.map-placeholder .symbol{font-size:2.5rem;color:#1a668c}.map-placeholder p{max-width:430px}


/* MENU DE CINCO APARTADOS - RIOJA SAEZ */
@media (min-width: 701px) {
  .image-nav a { top: 47%; height: 19%; font-size: 0 !important; color: transparent !important; -webkit-text-fill-color: transparent !important; text-shadow: none !important; }
  .image-nav a:nth-child(1) { left: 47.2%; width: 6%; }
  .image-nav a:nth-child(2) { left: 55.6%; width: 8.5%; }
  .image-nav a:nth-child(3) { left: 65%; width: 9%; }
  .image-nav a:nth-child(4) { left: 80%; width: 15%; }
  .image-nav a:nth-child(5) { left: 94%; width: 8%; }
}


/* Pie corporativo: alineación de columnas y separadores según diseño aprobado. */
@media (min-width: 1101px) {
  .footer { padding: 50px 0 0; }
  .footer > .container {
    width: calc(100% - 38px);
    max-width: none;
  }
  .footer-grid {
    grid-template-columns: 44.4% 31.1% 24.5%;
    gap: 0;
    padding-bottom: 0;
  }
  .legal-footer-links {
    justify-content: center;
    gap: 24px;
    padding: 20px 0 40px;
    margin-top: 0;
  }
  .footer-bottom {
    margin-top: 0;
    padding: 22px 0 0;
    border-top: 1px solid rgba(255,255,255,.13);
  }
}
