/* =========================================================
   Bellsol Energia — hoja de estilos
   Paleta: tinta #0F1E28 · acero #274453 · papel #F4F5F3 · ocre #B87514
   Tipografía: Archivo (titulares/UI) + Source Serif 4 (texto)
   ========================================================= */

:root{
  --tinta:#0F1E28;
  --acer:#274453;
  --pissarra:#5E6E78;
  --text:#32414B;
  --paper:#F4F5F3;
  --paper-2:#EDEFEC;
  --blanc:#FFFFFF;
  --linia:#D9DEDB;
  --linia-fosca:#B9C1BD;
  --ocre:#B87514;
  --ocre-clar:#E8A317;
  --max:1180px;
  --r:3px;
  --hh:104px;
  --sombra:0 1px 2px rgba(15,30,40,.06), 0 12px 32px -18px rgba(15,30,40,.28);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%; scroll-behavior:smooth; scroll-padding-top:120px}
body{
  margin:0;
  padding-top:var(--hh);
  background:var(--blanc);
  color:var(--text);
  font-family:"Source Serif 4","Source Serif Pro",Georgia,"Times New Roman",serif;
  font-size:1.0625rem;
  line-height:1.72;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%; display:block}
a{color:var(--acer); text-decoration-thickness:1px; text-underline-offset:3px}
a:hover{color:var(--ocre)}
:focus-visible{outline:2px solid var(--ocre); outline-offset:2px}

h1,h2,h3,h4,.font-ui{
  font-family:"Archivo","Helvetica Neue",Arial,sans-serif;
  color:var(--tinta);
  font-weight:600;
  letter-spacing:-.02em;
  line-height:1.15;
  margin:0 0 .6em;
}
h1{font-size:clamp(2rem,1.35rem + 2.6vw,3.35rem); letter-spacing:-.03em}
h2{font-size:clamp(1.5rem,1.2rem + 1.25vw,2.15rem); margin-top:0}
h3{font-size:clamp(1.1rem,1.02rem + .4vw,1.3rem); letter-spacing:-.01em}
p{margin:0 0 1.15em}
p:last-child{margin-bottom:0}
ul,ol{padding-left:1.15em}
li{margin-bottom:.45em}
strong{color:var(--tinta); font-weight:600}
.barra-util strong,.seccion--tinta strong,.hero strong,.cta-final strong,.pie strong{color:inherit}
hr{border:0; border-top:1px solid var(--linia); margin:2.5rem 0}

.contenedor{width:100%; max-width:var(--max); margin:0 auto; padding:0 clamp(18px,4vw,32px)}
.seccion{padding:clamp(52px,7vw,96px) 0}
.seccion--paper{background:var(--paper)}
.seccion--tinta{background:var(--tinta); color:#C9D3D9}
.seccion--tinta h2,.seccion--tinta h3{color:#fff}
.seccion--linea{border-top:1px solid var(--linia)}
.limite{max-width:64ch}
.centrado{margin-left:auto; margin-right:auto}

/* --- etiqueta / eyebrow ------------------------------------------------ */
.etiqueta{
  font-family:"Archivo",Arial,sans-serif;
  font-size:.6875rem; font-weight:600; text-transform:uppercase;
  letter-spacing:.15em; color:var(--ocre);
  display:flex; align-items:center; gap:10px; margin:0 0 1rem;
}
.etiqueta::after{content:""; flex:1; height:1px; background:var(--linia); max-width:120px}
.seccion--tinta .etiqueta{color:var(--ocre-clar)}
.seccion--tinta .etiqueta::after{background:rgba(255,255,255,.18)}
.etiqueta--sola::after{display:none}

/* --- botones ----------------------------------------------------------- */
.btn{
  font-family:"Archivo",Arial,sans-serif; font-weight:600; font-size:.9375rem;
  letter-spacing:.01em; line-height:1;
  display:inline-flex; align-items:center; justify-content:center; gap:.55em;
  padding:16px 26px; border-radius:var(--r); border:1px solid transparent;
  text-decoration:none; cursor:pointer; transition:background .18s, color .18s, border-color .18s;
}
.btn--principal{background:var(--ocre); color:#fff; border-color:var(--ocre)}
.btn--principal:hover{background:#9C6210; border-color:#9C6210; color:#fff}
.btn--tinta{background:var(--tinta); color:#fff; border-color:var(--tinta)}
.btn--tinta:hover{background:var(--acer); border-color:var(--acer); color:#fff}
.btn--linea{background:transparent; color:var(--tinta); border-color:var(--linia-fosca)}
.btn--linea:hover{border-color:var(--tinta); background:var(--tinta); color:#fff}
.btn--claro{background:transparent; color:#fff; border-color:rgba(255,255,255,.4)}
.btn--claro:hover{background:#fff; color:var(--tinta); border-color:#fff}
.btn--peq{padding:11px 18px; font-size:.8125rem}
.acciones{display:flex; flex-wrap:wrap; gap:12px; margin-top:1.75rem}

/* --- cabecera ---------------------------------------------------------- */
.cabecera{position:fixed; top:0; left:0; right:0; z-index:120; background:#fff; border-bottom:1px solid var(--linia)}
.barra-util{background:var(--tinta); color:#9FB0BA; font-family:"Archivo",Arial,sans-serif; font-size:.78125rem}
.barra-util .contenedor{display:flex; justify-content:space-between; align-items:center; gap:16px; height:36px}
.barra-util a{color:#DCE5EA; text-decoration:none}
.barra-util a:hover{color:var(--ocre-clar)}
.barra-util__dat{display:flex; gap:22px; align-items:center}
.barra-util__dat span{display:flex; align-items:center; gap:7px}
.punto{width:6px; height:6px; border-radius:50%; background:#4E9B6B; display:inline-block}
@media (max-width:1150px){.solo-ancho{display:none}}

.barra-nav{height:68px; display:flex; align-items:center; justify-content:space-between; gap:20px}
.cabecera .contenedor.barra-nav{max-width:var(--max)}
.marca{display:flex; align-items:center; gap:11px; text-decoration:none; flex-shrink:0}
.marca__icono{width:34px; height:34px; flex-shrink:0}
.marca__txt{font-family:"Archivo",Arial,sans-serif; line-height:1.05}
.marca__nom{display:block; font-weight:700; font-size:1.0625rem; color:var(--tinta); letter-spacing:-.02em}
.marca__sub{display:block; font-size:.625rem; text-transform:uppercase; letter-spacing:.14em; color:var(--pissarra); margin-top:2px}

.nav{display:flex; align-items:center; gap:4px}
.nav a{
  font-family:"Archivo",Arial,sans-serif; font-size:.90625rem; font-weight:500; color:var(--acer);
  text-decoration:none; padding:9px 13px; border-radius:var(--r); display:block; white-space:nowrap;
}
.nav a:hover{color:var(--tinta); background:var(--paper)}
.nav a[aria-current="page"]{color:var(--tinta); font-weight:600; box-shadow:inset 0 -2px 0 var(--ocre)}
.nav__grupo{position:relative}
.nav__btn{
  font-family:"Archivo",Arial,sans-serif; font-size:.90625rem; font-weight:500; color:var(--acer);
  background:none; border:0; cursor:pointer; padding:9px 13px; border-radius:var(--r);
  display:flex; align-items:center; gap:6px;
}
.nav__btn:hover{color:var(--tinta); background:var(--paper)}
.nav__btn svg{transition:transform .18s}
.nav__grupo.abierto .nav__btn svg{transform:rotate(180deg)}
.desplegable{
  position:absolute; top:calc(100% + 8px); left:0; min-width:262px; background:#fff;
  border:1px solid var(--linia); border-radius:var(--r); box-shadow:var(--sombra);
  padding:8px; display:none;
}
.nav__grupo.abierto .desplegable{display:block}
.desplegable a{font-size:.875rem; padding:8px 11px}
.desplegable__tit{
  font-family:"Archivo",Arial,sans-serif; font-size:.625rem; text-transform:uppercase;
  letter-spacing:.14em; color:var(--pissarra); padding:6px 11px 8px; margin:0; border-bottom:1px solid var(--linia);
}
.nav__cta-movil{display:none}
.cabecera__cta{flex-shrink:0}
.hamburguesa{display:none; background:none; border:1px solid var(--linia); border-radius:var(--r); width:44px; height:42px; cursor:pointer; align-items:center; justify-content:center}
.hamburguesa span{display:block; width:19px; height:2px; background:var(--tinta); position:relative}
.hamburguesa span::before,.hamburguesa span::after{content:""; position:absolute; left:0; width:19px; height:2px; background:var(--tinta)}
.hamburguesa span::before{top:-6px}
.hamburguesa span::after{top:6px}

/* --- hero -------------------------------------------------------------- */
.hero{position:relative; background:var(--tinta)}
.hero__img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.85}
.hero::after{content:""; position:absolute; inset:0; background:linear-gradient(96deg,rgba(15,30,40,.94) 0%,rgba(15,30,40,.80) 42%,rgba(15,30,40,.18) 78%,rgba(15,30,40,.10) 100%)}
.hero__cont{position:relative; z-index:2; padding-top:clamp(56px,8vw,110px); padding-bottom:clamp(48px,6vw,88px); max-width:640px}
.hero h1{color:#fff}
.hero__entrada{color:#CBD6DC; font-size:1.125rem; max-width:52ch}
.hero .etiqueta{color:var(--ocre-clar)}
.hero .etiqueta::after{background:rgba(255,255,255,.22)}
.hero--interior .hero__cont{padding-top:clamp(40px,5vw,64px); padding-bottom:clamp(36px,4.5vw,56px); max-width:720px}

/* --- migas ------------------------------------------------------------- */
.migas{font-family:"Archivo",Arial,sans-serif; font-size:.75rem; color:#8FA0AA; padding:14px 0 0; position:relative; z-index:3}
.migas ol{list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:8px}
.migas li{margin:0; display:flex; gap:8px; align-items:center}
.migas li+li::before{content:"/"; color:#5E7080}
.migas a{color:#B7C4CB; text-decoration:none}
.migas a:hover{color:var(--ocre-clar)}
.migas--claro{color:var(--pissarra); background:var(--paper); padding:12px 0; border-bottom:1px solid var(--linia)}
.migas--claro a{color:var(--acer)}
.migas--claro li+li::before{color:var(--linia-fosca)}

/* --- banda de datos ---------------------------------------------------- */
.banda{background:var(--acer); position:relative; z-index:2}
.banda__grid{display:grid; grid-template-columns:repeat(4,1fr)}
.banda__it{padding:22px 26px; border-left:1px solid rgba(255,255,255,.13)}
.banda__it:first-child{border-left:0; padding-left:0}
.banda__n{font-family:"Archivo",Arial,sans-serif; font-size:1.5rem; font-weight:700; color:#fff; letter-spacing:-.02em; font-variant-numeric:tabular-nums; display:block}
.banda__l{font-family:"Archivo",Arial,sans-serif; font-size:.6875rem; text-transform:uppercase; letter-spacing:.13em; color:#9FB6C2; margin-top:5px; display:block}

/* --- rejillas ---------------------------------------------------------- */
.rejilla{display:grid; gap:clamp(22px,3vw,40px)}
.rejilla--2{grid-template-columns:repeat(2,1fr)}
.rejilla--3{grid-template-columns:repeat(3,1fr)}
.rejilla--texto{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); align-items:start; gap:clamp(28px,5vw,68px)}
.rejilla--media{grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:clamp(28px,5vw,64px)}

/* --- tarjetas ---------------------------------------------------------- */
.tarjeta{background:#fff; border:1px solid var(--linia); border-radius:var(--r); padding:clamp(22px,2.4vw,30px)}
.tarjeta h3{margin-bottom:.5em}
.tarjeta p{font-size:1rem; color:var(--text)}
.tarjeta--foto{padding:0; overflow:hidden}
.tarjeta--foto img{width:100%; height:230px; object-fit:cover}
.tarjeta--foto .tarjeta__cuerpo{padding:clamp(22px,2.4vw,30px)}
.tarjeta__cab{font-family:"Archivo",Arial,sans-serif; font-size:.6875rem; text-transform:uppercase; letter-spacing:.13em; color:var(--ocre); margin-bottom:.85rem}

.foto{border-radius:var(--r); overflow:hidden; background:var(--paper-2)}
.foto img{width:100%; height:100%; object-fit:cover}
.foto--alta img{aspect-ratio:4/3}
.foto--ancha img{aspect-ratio:16/9}
.pie-foto{font-family:"Archivo",Arial,sans-serif; font-size:.75rem; color:var(--pissarra); margin-top:10px}

/* --- ficha técnica (elemento distintivo) -------------------------------- */
.ficha{border:1px solid var(--linia); border-radius:var(--r); background:#fff; overflow:hidden}
.ficha__cab{
  background:var(--tinta); color:#fff; padding:14px 20px;
  font-family:"Archivo",Arial,sans-serif; font-size:.6875rem; font-weight:600;
  text-transform:uppercase; letter-spacing:.14em; display:flex; justify-content:space-between; align-items:center; gap:12px;
}
.ficha__cab span:last-child{color:var(--ocre-clar); letter-spacing:.1em}
.ficha__fila{display:grid; grid-template-columns:minmax(140px,.85fr) minmax(0,1.15fr); gap:16px; padding:13px 20px; border-top:1px solid var(--linia)}
.ficha__fila:first-of-type{border-top:0}
.ficha__k{font-family:"Archivo",Arial,sans-serif; font-size:.75rem; text-transform:uppercase; letter-spacing:.09em; color:var(--pissarra); line-height:1.5}
.ficha__v{font-family:"Archivo",Arial,sans-serif; font-size:.9375rem; font-weight:500; color:var(--tinta); font-variant-numeric:tabular-nums; line-height:1.5}
.ficha__pie{padding:13px 20px; border-top:1px solid var(--linia); background:var(--paper); font-size:.875rem; color:var(--pissarra)}

/* --- proceso ----------------------------------------------------------- */
.proceso{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,1fr); gap:0}
.proceso li{margin:0; padding:0 clamp(16px,2vw,28px); border-left:1px solid var(--linia)}
.proceso li:first-child{border-left:0; padding-left:0}
.proceso__n{font-family:"Archivo",Arial,sans-serif; font-size:.8125rem; font-weight:700; letter-spacing:.1em; color:var(--ocre); display:block; margin-bottom:14px; font-variant-numeric:tabular-nums}
.proceso h3{font-size:1.0625rem; margin-bottom:.45em}
.proceso p{font-size:.96875rem; color:var(--pissarra)}
.seccion--tinta .proceso li{border-color:rgba(255,255,255,.14)}
.seccion--tinta .proceso__n{color:var(--ocre-clar)}
.seccion--tinta .proceso p{color:#A8B8C2}

/* --- listas de servicio ------------------------------------------------ */
.lista-marcada{list-style:none; padding:0; margin:0}
.lista-marcada li{position:relative; padding-left:26px; margin-bottom:.7em}
.lista-marcada li::before{
  content:""; position:absolute; left:0; top:.62em; width:9px; height:9px;
  border:1.5px solid var(--ocre); border-radius:1px;
}
.lista-motivos{list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(2,1fr); gap:2px; border:1px solid var(--linia); border-radius:var(--r); overflow:hidden; background:var(--linia)}
.lista-motivos li{margin:0; background:#fff; padding:22px 24px}
.lista-motivos h3{font-size:1rem; margin-bottom:.35em}
.lista-motivos p{font-size:.9375rem; color:var(--pissarra); margin:0}

/* --- zonas ------------------------------------------------------------- */
.zonas{display:grid; grid-template-columns:repeat(5,1fr); gap:2px; background:var(--linia); border:1px solid var(--linia); border-radius:var(--r); overflow:hidden}
.zonas a{
  background:#fff; padding:20px 20px 22px; text-decoration:none; display:flex; flex-direction:column; gap:5px;
  transition:background .16s;
}
.zonas a:hover{background:var(--paper)}
.zonas__c{font-family:"Archivo",Arial,sans-serif; font-weight:600; font-size:1.0625rem; color:var(--tinta); letter-spacing:-.01em}
.zonas__p{font-family:"Archivo",Arial,sans-serif; font-size:.75rem; color:var(--pissarra); text-transform:uppercase; letter-spacing:.08em}
.zonas a:hover .zonas__c{color:var(--ocre)}

.otras-zonas{display:flex; flex-wrap:wrap; gap:8px; margin-top:1.25rem; padding:0; list-style:none}
.otras-zonas li{margin:0}
.otras-zonas a{
  display:inline-block; font-family:"Archivo",Arial,sans-serif; font-size:.8125rem; text-decoration:none;
  border:1px solid var(--linia); border-radius:var(--r); padding:7px 13px; color:var(--acer); background:#fff;
}
.otras-zonas a:hover{border-color:var(--tinta); color:var(--tinta)}

/* --- FAQ --------------------------------------------------------------- */
.faq{border-top:1px solid var(--linia)}
.faq details{border-bottom:1px solid var(--linia)}
.faq summary{
  font-family:"Archivo",Arial,sans-serif; font-weight:600; font-size:1.0625rem; color:var(--tinta);
  padding:20px 44px 20px 0; cursor:pointer; position:relative; list-style:none; line-height:1.4;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
  content:""; position:absolute; right:8px; top:50%; width:11px; height:11px; margin-top:-8px;
  border-right:2px solid var(--ocre); border-bottom:2px solid var(--ocre); transform:rotate(45deg); transition:transform .2s;
}
.faq details[open] summary::after{transform:rotate(-135deg); margin-top:-3px}
.faq summary:hover{color:var(--ocre)}
.faq__r{padding:0 0 22px; max-width:78ch}
.faq__r p{font-size:1rem}

/* --- formulario -------------------------------------------------------- */
.form-bloque{background:#fff; border:1px solid var(--linia); border-radius:var(--r); padding:clamp(24px,3vw,38px)}
.form-rejilla{display:grid; grid-template-columns:repeat(2,1fr); gap:16px}
.campo{display:flex; flex-direction:column; gap:6px}
.campo--ancho{grid-column:1/-1}
.campo label{font-family:"Archivo",Arial,sans-serif; font-size:.8125rem; font-weight:600; color:var(--tinta)}
.campo label span{color:var(--pissarra); font-weight:400}
.campo input,.campo select,.campo textarea{
  font-family:"Archivo",Arial,sans-serif; font-size:.9375rem; color:var(--tinta);
  border:1px solid var(--linia-fosca); border-radius:var(--r); padding:12px 13px; background:#fff; width:100%;
}
.campo textarea{resize:vertical; min-height:104px; line-height:1.55}
.campo input:focus,.campo select:focus,.campo textarea:focus{border-color:var(--ocre); outline:2px solid rgba(184,117,20,.18); outline-offset:0}
.campo--check{flex-direction:row; align-items:flex-start; gap:10px; grid-column:1/-1}
.campo--check input{width:17px; height:17px; margin-top:3px; flex-shrink:0}
.campo--check label{font-family:"Source Serif 4",Georgia,serif; font-size:.875rem; font-weight:400; color:var(--pissarra); line-height:1.55}
.form-pie{margin-top:20px; display:flex; flex-wrap:wrap; align-items:center; gap:16px}
.form-nota{font-family:"Archivo",Arial,sans-serif; font-size:.8125rem; color:var(--pissarra)}
.form-aviso{display:none; margin-top:18px; border-left:3px solid #4E9B6B; background:#F1F6F2; padding:14px 16px; font-size:.9375rem}
.form-aviso.visible{display:block}
.form-error{display:none; margin-top:18px; border-left:3px solid #B4432E; background:#FBF2F0; padding:14px 16px; font-size:.9375rem}
.form-error.visible{display:block}

.contacto-datos{list-style:none; padding:0; margin:1.75rem 0 0}
.contacto-datos li{display:flex; gap:14px; padding:15px 0; border-top:1px solid var(--linia); margin:0}
.contacto-datos li:first-child{border-top:0; padding-top:0}
.contacto-datos strong{display:block; font-family:"Archivo",Arial,sans-serif; font-size:.6875rem; text-transform:uppercase; letter-spacing:.12em; color:var(--pissarra); font-weight:600; margin-bottom:3px}
.contacto-datos a{font-family:"Archivo",Arial,sans-serif; font-weight:600; color:var(--tinta); text-decoration:none; font-size:1.0625rem}
.contacto-datos a:hover{color:var(--ocre)}
.seccion--tinta .contacto-datos li{border-color:rgba(255,255,255,.14)}
.seccion--tinta .contacto-datos a{color:#fff}
.seccion--tinta .contacto-datos strong{color:#8FA5B0}

/* --- CTA final --------------------------------------------------------- */
.cta-final{background:var(--tinta); color:#C4D0D7; border-radius:var(--r); padding:clamp(30px,4vw,52px); display:grid; grid-template-columns:minmax(0,1.4fr) auto; gap:32px; align-items:center}
.cta-final h2{color:#fff; margin-bottom:.4em}
.cta-final p{color:#A9BAC4; margin:0; max-width:56ch}

/* --- pie --------------------------------------------------------------- */
.pie{background:var(--tinta); color:#94A6B0; padding:clamp(48px,6vw,72px) 0 0; font-size:.9375rem}
.pie a{color:#C5D2D9; text-decoration:none}
.pie a:hover{color:var(--ocre-clar)}
.pie__grid{display:grid; grid-template-columns:1.5fr 1fr 1fr 1.2fr; gap:clamp(26px,4vw,48px)}
.pie h4{color:#fff; font-size:.6875rem; text-transform:uppercase; letter-spacing:.14em; margin-bottom:1.1rem; font-weight:600}
.pie ul{list-style:none; padding:0; margin:0}
.pie li{margin-bottom:.55em; font-size:.90625rem}
.pie__marca{display:flex; align-items:center; gap:11px; margin-bottom:1.1rem}
.pie__marca .marca__nom{color:#fff}
.pie__marca .marca__sub{color:#7E939F}
.pie__legal{border-top:1px solid rgba(255,255,255,.12); margin-top:clamp(36px,4vw,52px); padding:22px 0; display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; font-size:.8125rem; color:#7E939F; font-family:"Archivo",Arial,sans-serif}
.pie__legal ul{display:flex; gap:18px; flex-wrap:wrap}

/* --- barra móvil de contacto ------------------------------------------ */
.barra-movil{
  position:fixed; bottom:0; left:0; right:0; z-index:110; display:none;
  grid-template-columns:1fr 1fr; background:#fff; border-top:1px solid var(--linia);
}
.barra-movil a{
  font-family:"Archivo",Arial,sans-serif; font-weight:600; font-size:.9375rem; text-decoration:none;
  padding:15px 8px; text-align:center; color:var(--tinta); display:flex; align-items:center; justify-content:center; gap:8px;
}
.barra-movil a+a{background:var(--ocre); color:#fff}

/* --- animación --------------------------------------------------------- */
.reveal{opacity:0; transform:translateY(16px)}
.reveal.visible{opacity:1; transform:none; transition:opacity .6s ease, transform .6s cubic-bezier(.22,.61,.36,1)}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal{opacity:1; transform:none; transition:none}
  *{animation-duration:.001ms !important; transition-duration:.001ms !important}
}

/* --- responsive -------------------------------------------------------- */
@media (max-width:1080px){
  .zonas{grid-template-columns:repeat(3,1fr)}
  .banda__grid{grid-template-columns:repeat(2,1fr)}
  .banda__it{border-left:0; border-top:1px solid rgba(255,255,255,.13); padding-left:0}
  .banda__it:nth-child(-n+2){border-top:0}
  .banda__it:nth-child(2n){padding-left:26px; border-left:1px solid rgba(255,255,255,.13)}
  .proceso{grid-template-columns:repeat(2,1fr); gap:28px 0}
  .proceso li:nth-child(odd){border-left:0; padding-left:0}
}
@media (max-width:900px){
  :root{--hh:69px}
  .barra-util{display:none}
  .cabecera__cta{display:none}
  .hamburguesa{display:flex}
  .nav{
    position:fixed; top:69px; left:0; right:0; bottom:0; background:#fff; flex-direction:column;
    align-items:stretch; gap:0; padding:12px 20px 90px; overflow-y:auto; display:none; border-top:1px solid var(--linia);
  }
  .nav.abierto{display:flex}
  .nav a,.nav__btn{font-size:1.0625rem; padding:14px 4px; width:100%; border-bottom:1px solid var(--linia); border-radius:0}
  .nav__btn{justify-content:space-between}
  .nav a[aria-current="page"]{box-shadow:none; color:var(--ocre)}
  .desplegable{position:static; border:0; box-shadow:none; padding:0 0 10px 14px; min-width:0}
  .desplegable a{font-size:.9375rem; padding:11px 4px; border-bottom:1px dashed var(--linia)}
  .desplegable__tit{display:none}
  .nav__cta-movil{display:block; margin-top:18px}
  .nav__cta-movil .btn{width:100%}
  body{padding-bottom:56px}
  .barra-movil{display:grid}
  .hero::after{background:linear-gradient(180deg,rgba(15,30,40,.90) 0%,rgba(15,30,40,.82) 55%,rgba(15,30,40,.74) 100%)}
  .rejilla--2,.rejilla--3,.rejilla--texto,.rejilla--media{grid-template-columns:1fr}
  .lista-motivos{grid-template-columns:1fr}
  .cta-final{grid-template-columns:1fr}
}
@media (max-width:620px){
  body{font-size:1.03125rem}
  .zonas{grid-template-columns:repeat(2,1fr)}
  .proceso{grid-template-columns:1fr; gap:24px}
  .proceso li{border-left:0; padding-left:0; border-top:1px solid var(--linia); padding-top:22px}
  .proceso li:first-child{border-top:0; padding-top:0}
  .form-rejilla{grid-template-columns:1fr}
  .banda__grid{grid-template-columns:1fr}
  .banda__it{padding:16px 0; border-left:0 !important; border-top:1px solid rgba(255,255,255,.13)}
  .banda__it:first-child{border-top:0}
  .pie__grid{grid-template-columns:1fr 1fr}
  .ficha__fila{grid-template-columns:1fr; gap:3px}
  .acciones .btn{width:100%}
}
@media (max-width:420px){
  .pie__grid{grid-template-columns:1fr}
}
