:root{
    --verde-oscuro:#0F2E27;
    --verde:#12332B;
    --verde-claro:#2F5D4F;
    --verde-suave:#e8efe9;
    --oro:#c6a15b;
    --crema:#faf8f4;
    --texto:#242422;
    --gris:#6b6b66;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{font-family:'Poppins',sans-serif;color:var(--texto);background:var(--crema);line-height:1.6;}
  h1,h2,h3,.logo-word{font-family:'Playfair Display',serif;}
  a{text-decoration:none;color:inherit;}
  img{max-width:100%;display:block;}
  picture{display:contents;}
  .container{max-width:1180px;margin:0 auto;padding:0 24px;}
  .btn{display:inline-block;padding:14px 30px;border-radius:2px;font-weight:500;letter-spacing:.03em;transition:all .25s ease;border:1px solid transparent;font-size:15px;white-space:nowrap;}
  .btn-primary{background:var(--oro);color:var(--verde-oscuro);}
  .btn-primary:hover{background:#b58f49;}
  .btn-outline{border-color:rgba(255,255,255,.6);color:#fff;}
  .btn-outline:hover{background:rgba(255,255,255,.12);}
  .btn-outline-dark{border-color:var(--verde);color:var(--verde);}
  .btn-outline-dark:hover{background:var(--verde);color:#fff;}
  .eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:12px;color:var(--oro);font-weight:600;margin-bottom:14px;display:block;}
  section{padding:90px 0;}
  .section-head{max-width:640px;margin:0 auto 56px;text-align:center;}
  .section-head h2{font-size:clamp(28px,4vw,38px);color:var(--verde-oscuro);font-weight:600;margin-bottom:14px;}
  .section-head p{color:var(--gris);font-size:16px;}

  /* Header */
  header{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(15,46,39,.92);backdrop-filter:blur(6px);transition:padding .25s ease;}
  .nav-wrap{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;max-width:1280px;margin:0 auto;}
  .brand{display:flex;align-items:center;gap:14px;color:#fff;}
  .brand-icon{height:42px;width:auto;flex-shrink:0;display:block;}
  .brand-text .logo-word{font-size:20px;letter-spacing:.04em;line-height:1;color:#fff;white-space:nowrap;}
  .brand-text .logo-sub{font-size:9px;letter-spacing:.32em;color:var(--oro);text-transform:uppercase;white-space:nowrap;}
  .brand{flex-shrink:0;}
  nav ul{list-style:none;display:flex;gap:28px;flex-shrink:0;}
  nav a{color:#f1efe9;font-size:14.5px;font-weight:400;letter-spacing:.02em;position:relative;padding:4px 0;}
  nav a:hover{color:var(--oro);}
  .nav-cta{display:flex;align-items:center;gap:18px;}
  .nav-phone{color:#fff;font-size:14px;display:flex;align-items:center;gap:6px;}
  .nav-phone svg{width:15px;height:15px;stroke:var(--oro);}
  .nav-social{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid rgba(255,255,255,.3);border-radius:50%;transition:border-color .2s ease,background .2s ease;}
  .nav-social:hover{border-color:var(--oro);background:rgba(198,161,91,.12);}
  .nav-social svg{width:15px;height:15px;stroke:#fff;}
  .nav-social:hover svg{stroke:var(--oro);}
  .menu-btn{display:none;background:none;border:none;color:#fff;font-size:26px;cursor:pointer;}

  /* Hero */
  .hero{position:relative;min-height:100vh;display:flex;align-items:flex-end;color:#fff;overflow:hidden;background:#0d241e;}
  .hero::before{content:"";position:absolute;inset:0;background:url('/assets/img/obra-10.jpg') center/cover no-repeat;background-image:image-set(url('/assets/img/obra-10.webp') type('image/webp'),url('/assets/img/obra-10.jpg') type('image/jpeg'));z-index:0;}
  .hero::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,24,20,.92) 0%,rgba(10,24,20,.55) 32%,rgba(10,24,20,.05) 60%);z-index:0;}
  .hero-content{position:relative;z-index:1;max-width:680px;padding:140px 24px 70px;}
  .hero-content h1{font-size:clamp(34px,5vw,54px);font-weight:600;line-height:1.15;margin-bottom:22px;text-shadow:0 2px 18px rgba(0,0,0,.35);}
  .hero-content h1 em{font-style:normal;color:var(--oro);}
  .hero-content p{font-size:17px;color:#eae7df;max-width:520px;margin-bottom:36px;text-shadow:0 1px 10px rgba(0,0,0,.35);}
  .hero-btns{display:flex;gap:16px;flex-wrap:wrap;}
  .hero-badges{display:flex;gap:34px;margin-top:56px;flex-wrap:wrap;}
  .hero-badges div{border-left:2px solid var(--oro);padding-left:14px;}
  .hero-badges strong{display:block;font-size:15px;font-family:'Playfair Display',serif;}
  .hero-badges span{font-size:12.5px;color:#cfd8d2;}

  /* Servicios */
  .servicios{background:#fff;}
  .servicios-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
  .servicio-card{border:1px solid #e7e2d8;padding:32px 26px;background:var(--crema);transition:transform .25s ease,box-shadow .25s ease;}
  .servicio-card:hover{transform:translateY(-4px);box-shadow:0 14px 28px rgba(18,51,43,.1);}
  .servicio-card svg{width:34px;height:34px;stroke:var(--verde);margin-bottom:18px;}
  .servicio-card h3{font-size:17px;font-weight:500;font-family:'Poppins',sans-serif;margin-bottom:8px;color:var(--verde-oscuro);}
  .servicio-card p{font-size:14px;color:var(--gris);}
  .servicio-card.destacado{background:var(--verde-oscuro);color:#fff;border-color:var(--verde-oscuro);}
  .servicio-card.destacado h3{color:#fff;}
  .servicio-card.destacado p{color:#cfd8d2;}
  .servicio-card.destacado svg{stroke:var(--oro);}

  /* Galeria */
  .galeria{background:var(--verde-suave);}
  .galeria-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-flow:dense;gap:14px;}
  .galeria-grid figure{overflow:hidden;cursor:pointer;position:relative;aspect-ratio:1/1;background:#ddd;}
  .galeria-grid img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;}
  .galeria-grid figure:hover img{transform:scale(1.08);}
  .galeria-grid figure::after{content:"+";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:32px;background:rgba(15,46,39,0);transition:background .25s ease;opacity:0;}
  .galeria-grid figure:hover::after{background:rgba(15,46,39,.35);opacity:1;}
  .obra-bloque{margin-bottom:52px;}
  .obra-bloque:last-child{margin-bottom:0;}
  .obra-bloque-head{margin-bottom:18px;}
  .obra-bloque-head h3{font-family:var(--serif);color:var(--verde-oscuro);font-size:clamp(19px,2.4vw,24px);margin:0 0 4px;}
  .obra-bloque-head p{color:var(--gris);margin:0;font-size:15px;}
  .figure-hero{grid-column:span 2;grid-row:span 2;}
  .obra-proceso{margin-top:16px;}
  .obra-proceso summary{cursor:pointer;color:var(--oro);font-weight:600;font-size:14px;letter-spacing:.02em;list-style:none;display:inline-flex;align-items:center;gap:6px;padding:4px 0;}
  .obra-proceso summary::-webkit-details-marker{display:none;}
  .obra-proceso summary::before{content:"+";font-size:18px;line-height:1;transition:transform .25s ease;}
  .obra-proceso[open] summary::before{transform:rotate(45deg);}
  .obra-proceso .galeria-grid{margin-top:16px;}

  /* Lightbox */
  .lightbox{position:fixed;inset:0;background:rgba(10,20,17,.94);z-index:2000;display:none;align-items:center;justify-content:center;padding:30px;}
  .lightbox.active{display:flex;}
  .lightbox img{max-width:90vw;max-height:85vh;object-fit:contain;}
  .lightbox-close,.lightbox-prev,.lightbox-next{position:absolute;background:none;border:none;color:#fff;font-size:32px;cursor:pointer;opacity:.8;}
  .lightbox-close{top:24px;right:34px;}
  .lightbox-prev{left:24px;top:50%;transform:translateY(-50%);}
  .lightbox-next{right:24px;top:50%;transform:translateY(-50%);}
  .lightbox-close:hover,.lightbox-prev:hover,.lightbox-next:hover{opacity:1;color:var(--oro);}

  /* Nosotros */
  .nosotros{background:#fff;}
  .nosotros-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
  .nosotros-img{position:relative;}
  .nosotros-img img{border:8px solid var(--crema);}
  .nosotros h2{font-size:clamp(26px,4vw,34px);color:var(--verde-oscuro);margin-bottom:20px;font-weight:600;}
  .nosotros p{color:var(--gris);margin-bottom:16px;font-size:15.5px;}
  .check-list{margin-top:24px;display:grid;gap:12px;}
  .check-list li{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;color:var(--texto);list-style:none;}
  .check-list svg{width:18px;height:18px;stroke:var(--oro);flex-shrink:0;margin-top:2px;}

  /* Zona de trabajo */
  .zona{background:#fff;}
  .zona-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:50px;align-items:center;}
  .zona h2{font-size:clamp(26px,4vw,34px);color:var(--verde-oscuro);margin-bottom:16px;font-weight:600;}
  .zona p{color:var(--gris);font-size:15.5px;margin-bottom:22px;}
  .zona-chips{display:flex;flex-wrap:wrap;gap:10px;}
  .zona-chips span{background:var(--verde-suave);color:var(--verde-oscuro);font-size:13.5px;padding:8px 16px;border-radius:20px;font-weight:500;}
  .zona-map{border-radius:4px;overflow:hidden;box-shadow:0 14px 34px rgba(18,51,43,.12);border:6px solid var(--crema);}
  .zona-map iframe{display:block;filter:grayscale(15%);}

  /* FAQ */
  .faq{background:var(--verde-suave);}
  .faq-list{max-width:760px;margin:0 auto;display:grid;gap:14px;}
  .faq-list details{background:#fff;border:1px solid #e7e2d8;padding:6px 24px;border-radius:4px;}
  .faq-list summary{list-style:none;cursor:pointer;padding:18px 0;font-weight:500;color:var(--verde-oscuro);display:flex;justify-content:space-between;align-items:center;font-size:15.5px;}
  .faq-list summary::-webkit-details-marker{display:none;}
  .faq-icon{color:var(--oro);font-size:20px;transition:transform .25s ease;flex-shrink:0;margin-left:14px;}
  .faq-list details[open] .faq-icon{transform:rotate(45deg);}
  .faq-list p{color:var(--gris);font-size:14.5px;padding-bottom:20px;margin-top:-6px;}

  /* Scroll reveal */
  .reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease, transform .7s ease;}
  .reveal.in-view{opacity:1;transform:translateY(0);}

  /* Floating WhatsApp */
  .float-whatsapp{position:fixed;bottom:26px;right:26px;width:58px;height:58px;background:#25D366;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 22px rgba(0,0,0,.25);z-index:900;transition:transform .2s ease;}
  .float-whatsapp:hover{transform:scale(1.08);}
  .float-whatsapp svg{width:30px;height:30px;fill:#fff;}

  /* Scroll to top */
  .scroll-top{position:fixed;bottom:26px;right:96px;width:44px;height:44px;background:var(--verde-oscuro);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 22px rgba(0,0,0,.2);z-index:900;opacity:0;pointer-events:none;transition:opacity .25s ease, transform .2s ease;font-size:18px;}
  .scroll-top.show{opacity:1;pointer-events:auto;}
  .scroll-top:hover{transform:translateY(-3px);}

  /* Sticky mobile CTA */
  .mobile-cta{display:none;}

  /* Contacto */
  .contacto{background:var(--verde-oscuro);color:#fff;}
  .contacto .section-head h2{color:#fff;}
  .contacto .section-head p{color:#cfd8d2;}
  .contacto-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;}
  .contacto-info{display:grid;gap:26px;align-content:start;}
  .info-item{display:flex;gap:16px;align-items:flex-start;}
  .info-item svg{width:24px;height:24px;stroke:var(--oro);flex-shrink:0;margin-top:2px;}
  .info-item h4{font-size:15px;margin-bottom:4px;font-weight:500;}
  .info-item p, .info-item a{font-size:14.5px;color:#cfd8d2;}
  .info-item a:hover{color:var(--oro);}
  form{display:grid;gap:16px;}
  form input, form textarea{width:100%;padding:14px 16px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.25);color:#fff;font-family:inherit;font-size:14.5px;border-radius:2px;}
  form input::placeholder, form textarea::placeholder{color:#a9b6b0;}
  form input:focus, form textarea:focus{outline:none;border-color:var(--oro);}
  form textarea{min-height:110px;resize:vertical;}
  form button{justify-self:start;}

  footer{background:#0a1e19;color:#a9b6b0;padding:30px 0;text-align:center;font-size:13px;}
  footer a{color:#cfd8d2;}
  footer a:hover{color:var(--oro);}

  @media(max-width:900px){
    .servicios-grid{grid-template-columns:repeat(2,1fr);}
    .galeria-grid{grid-template-columns:repeat(3,1fr);}
    .nosotros-grid, .contacto-grid, .zona-grid{grid-template-columns:1fr;}
    .nosotros-img{order:2;}
  }
  @media(max-width:700px){
    nav, .nav-phone{display:none;}
    .menu-btn{display:block;}
    header.open nav{display:block;position:absolute;top:100%;left:0;right:0;background:var(--verde-oscuro);padding:20px 24px;}
    header.open nav ul{flex-direction:column;gap:18px;}
    .servicios-grid{grid-template-columns:1fr;}
    .galeria-grid{grid-template-columns:repeat(2,1fr);}
    section{padding:64px 0;}
    .hero-badges{gap:22px;}
    .nav-cta .btn{display:none;}
    body{padding-bottom:68px;}
    .mobile-cta{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:950;background:var(--verde-oscuro);box-shadow:0 -6px 18px rgba(0,0,0,.18);}
    .mobile-cta a{flex:1;text-align:center;padding:16px 10px;color:#fff;font-size:14px;font-weight:500;display:flex;align-items:center;justify-content:center;gap:8px;}
    .mobile-cta a:first-child{border-right:1px solid rgba(255,255,255,.15);background:var(--oro);color:var(--verde-oscuro);}
    .mobile-cta svg{width:17px;height:17px;}
    .float-whatsapp{bottom:82px;right:18px;width:52px;height:52px;}
    .scroll-top{display:none;}
  }
  @media (prefers-reduced-motion: reduce){
    .reveal{opacity:1;transform:none;transition:none;}
    html{scroll-behavior:auto;}
  }

/* Página interior */
  .page-hero{position:relative;background:var(--verde-oscuro);color:#fff;padding:150px 0 72px;overflow:hidden;}
  .page-hero::before{content:"";position:absolute;inset:0;background:url('/assets/img/obra-09.webp') center/cover no-repeat;opacity:.22;}
  .page-hero .container{position:relative;z-index:1;max-width:900px;}
  .page-hero h1{font-size:clamp(30px,4.6vw,46px);font-weight:600;line-height:1.15;margin-bottom:18px;}
  .page-hero h1 em{font-style:normal;color:var(--oro);}
  .page-hero p{color:#dfe5e0;font-size:17px;max-width:640px;margin-bottom:30px;}
  .page-hero .hero-btns{display:flex;gap:16px;flex-wrap:wrap;}
  .breadcrumb{font-size:13px;color:#9fb0a8;margin-bottom:18px;}
  .breadcrumb a{color:#cfd8d2;}
  .breadcrumb a:hover{color:var(--oro);}
  .texto{max-width:760px;margin:0 auto;}
  .texto h2{font-size:clamp(25px,3.4vw,32px);color:var(--verde-oscuro);font-weight:600;margin-bottom:18px;}
  .texto h3{font-size:18px;color:var(--verde-oscuro);font-weight:600;margin:28px 0 8px;font-family:'Poppins',sans-serif;}
  .texto p{color:var(--gris);font-size:15.5px;margin-bottom:16px;}
  .texto p strong{color:var(--texto);font-weight:500;}
  .texto a{color:var(--verde-claro);text-decoration:underline;text-underline-offset:3px;}
  .texto a:hover{color:var(--oro);}
  .fases-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:10px;}
  .fase{border:1px solid #e7e2d8;background:var(--crema);padding:26px 24px;}
  .fase .num{font-family:'Playfair Display',serif;color:var(--oro);font-size:26px;line-height:1;display:block;margin-bottom:12px;}
  .fase h3{font-size:16px;font-weight:500;color:var(--verde-oscuro);margin-bottom:8px;font-family:'Poppins',sans-serif;}
  .fase p{font-size:14px;color:var(--gris);margin:0;}
  .pasos{max-width:760px;margin:0 auto;display:grid;gap:22px;}
  .paso{display:flex;gap:18px;align-items:flex-start;}
  .paso .n{flex-shrink:0;width:38px;height:38px;border:1px solid var(--oro);color:var(--oro);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-size:17px;}
  .paso h3{font-size:16.5px;color:var(--verde-oscuro);font-weight:500;margin-bottom:5px;font-family:'Poppins',sans-serif;}
  .paso p{font-size:14.5px;color:var(--gris);margin:0;}
  .caso{background:var(--verde-suave);}
  .caso-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:30px;}
  .caso-grid figure{margin:0;}
  .caso-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;}
  .caso-grid figcaption{font-size:13px;color:var(--gris);padding-top:8px;}
  .cierre{background:var(--verde-oscuro);color:#fff;text-align:center;}
  .cierre h2{color:#fff;font-size:clamp(26px,3.6vw,34px);margin-bottom:14px;font-weight:600;}
  .cierre p{color:#cfd8d2;max-width:560px;margin:0 auto 30px;font-size:16px;}
  .cierre .hero-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}
  .enlaces-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:10px;}
  .enlace-card{border:1px solid #e7e2d8;background:#fff;padding:24px;transition:transform .25s ease,box-shadow .25s ease;display:block;}
  .enlace-card:hover{transform:translateY(-4px);box-shadow:0 14px 28px rgba(18,51,43,.1);}
  .enlace-card h3{font-size:16px;color:var(--verde-oscuro);font-weight:500;margin-bottom:6px;font-family:'Poppins',sans-serif;}
  .enlace-card p{font-size:14px;color:var(--gris);margin:0;}
  @media(max-width:900px){
    .fases-grid,.caso-grid,.enlaces-grid{grid-template-columns:1fr;}
    .page-hero{padding:120px 0 56px;}
  }


  /* ===== Componentes añadidos 2026-09-20 ===== */

  /* Consentimiento RGPD en formularios */
  form .consent{display:flex;align-items:flex-start;gap:10px;font-size:13px;color:#cfd8d2;line-height:1.5;margin:-2px 0 2px;cursor:pointer;}
  form .consent input[type="checkbox"]{width:16px;height:16px;flex:0 0 16px;margin-top:2px;padding:0;accent-color:var(--oro);cursor:pointer;}
  form .consent a{color:var(--oro);text-decoration:underline;text-underline-offset:3px;}
  form .form-legal{font-size:11.5px;color:#93a29b;line-height:1.55;margin-top:6px;}
  form .form-legal a{color:#b9c4bd;text-decoration:underline;text-underline-offset:2px;}
  form .form-legal a:hover{color:var(--oro);}

  /* Mapa con carga diferida (sin cookies hasta que el usuario pulsa) */
  .mapa-facade{position:relative;width:100%;height:320px;background:var(--verde-suave);border:1px solid #dfe6e0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;padding:24px;}
  .mapa-facade svg{width:34px;height:34px;stroke:var(--verde-claro);fill:none;stroke-width:1.6;}
  .mapa-facade p{font-size:13.5px;color:var(--gris);max-width:330px;margin:0;}
  .mapa-facade button{background:var(--verde);color:#fff;border:0;padding:11px 22px;font-family:inherit;font-size:14px;letter-spacing:.02em;cursor:pointer;border-radius:2px;transition:background .2s ease;}
  .mapa-facade button:hover{background:var(--verde-claro);}
  .zona-map iframe{display:block;}

  /* Pie de página ampliado */
  footer{text-align:left;padding:56px 0 28px;}
  .footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:34px;margin-bottom:34px;}
  .footer-col h4{font-family:'Poppins',sans-serif;font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:var(--oro);font-weight:600;margin-bottom:14px;}
  .footer-col ul{list-style:none;display:grid;gap:8px;}
  .footer-col li{font-size:13.5px;line-height:1.45;}
  .footer-col a:hover{color:var(--oro);}
  .footer-marca p{font-size:13.5px;line-height:1.65;margin-bottom:10px;max-width:280px;}
  .footer-marca .footer-logo{height:38px;width:auto;margin-bottom:14px;}
  .footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:20px;display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:space-between;align-items:center;font-size:12.5px;}
  .footer-bottom nav{display:flex;flex-wrap:wrap;gap:6px 16px;}
  @media(max-width:900px){
    .footer-grid{grid-template-columns:1fr 1fr;gap:28px;}
  }
  @media(max-width:560px){
    .footer-grid{grid-template-columns:1fr;}
    .footer-bottom{flex-direction:column;align-items:flex-start;}
  }

  /* Listas y tablas dentro de .texto */
  .texto ul,.texto ol{margin:0 0 18px 20px;color:var(--gris);font-size:15.5px;}
  .texto li{margin-bottom:7px;}
  .texto li strong{color:var(--texto);font-weight:500;}
  .texto h2 + p{margin-top:0;}

  /* Aviso / caja destacada */
  .aviso{border-left:3px solid var(--oro);background:#fff;padding:20px 24px;margin:26px 0;}
  .aviso p{margin:0;font-size:14.5px;color:var(--gris);}
  .aviso p + p{margin-top:10px;}

  /* Ficha técnica de obra */
  .ficha{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#e7e2d8;border:1px solid #e7e2d8;margin:34px 0 0;}
  .ficha div{background:var(--crema);padding:20px 22px;}
  .ficha dt{font-size:11px;text-transform:uppercase;letter-spacing:.13em;color:var(--oro);font-weight:600;margin-bottom:7px;}
  .ficha dd{font-size:15px;color:var(--verde-oscuro);margin:0;line-height:1.4;}
  @media(max-width:900px){.ficha{grid-template-columns:repeat(2,1fr);}}

  /* Antes y después */
  .comparativa{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:30px;}
  .comparativa figure{margin:0;}
  .comparativa img{width:100%;aspect-ratio:4/3;object-fit:cover;}
  .comparativa figcaption{font-size:12.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--oro);font-weight:600;padding-top:9px;}
  @media(max-width:700px){.comparativa{grid-template-columns:1fr;}}

  /* Rejilla de zonas con enlace */
  .zona-chips a{background:var(--verde-suave);color:var(--verde-oscuro);font-size:13.5px;padding:8px 16px;border-radius:20px;font-weight:500;transition:background .2s ease,color .2s ease;}
  .zona-chips a:hover{background:var(--verde);color:#fff;}

  /* Enlace de bloque de obra en la portada */
  .obra-bloque-head .obra-link{display:inline-block;margin-top:8px;font-size:14px;color:var(--oro);font-weight:500;}
  .obra-bloque-head .obra-link:hover{text-decoration:underline;text-underline-offset:3px;}

  /* Página 404 */
  .error-404{min-height:70vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:160px 24px 90px;}
  .error-404 .cod{font-family:'Playfair Display',serif;font-size:clamp(64px,12vw,120px);color:var(--verde-suave);line-height:1;margin-bottom:6px;}
  .error-404 h1{font-size:clamp(26px,4vw,36px);color:var(--verde-oscuro);font-weight:600;margin-bottom:14px;}
  .error-404 p{color:var(--gris);max-width:460px;margin:0 auto 28px;}
  .error-404 .hero-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}

  /* Accesibilidad: foco visible */
  a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--oro);outline-offset:3px;}
  .salta-contenido{position:absolute;left:-9999px;top:0;background:var(--oro);color:var(--verde-oscuro);padding:12px 20px;z-index:2000;font-weight:600;font-size:14px;}
  .salta-contenido:focus{left:12px;top:12px;}
