/* GASOC Abogados · hoja de estilos
   Colores tomados del logo: azul #000066, gris #8C8C8C, plata #C0C0C0 */

@font-face{font-family:"Jost";src:url("../fonts/jost-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Jost";src:url("../fonts/jost-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Source Serif 4";src:url("../fonts/sourceserif-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Source Serif 4";src:url("../fonts/sourceserif-400i.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Source Serif 4";src:url("../fonts/sourceserif-600.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}

:root{
  --azul:#000066;
  --azul-hover:#1f1f8a;
  --gris:#8C8C8C;
  --plata:#C0C0C0;
  --niebla:#F2F3F7;
  --tinta:#1C1C33;
  --suave:#4A4A5E;
  --blanco:#FFFFFF;
  --titulos:"Jost","Century Gothic","Futura","Trebuchet MS",sans-serif;
  --texto:"Source Serif 4",Georgia,"Times New Roman",serif;
  --ancho:72rem;
  --lectura:42rem;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
body{margin:0;background:var(--blanco);color:var(--tinta);font-family:var(--texto);font-size:1.125rem;line-height:1.65}
img{max-width:100%;height:auto;display:block}
a{color:var(--azul);text-underline-offset:.18em;text-decoration-thickness:1px}
a:hover{color:var(--azul-hover);text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--azul);outline-offset:3px}

h1,h2,h3,h4{font-family:var(--titulos);font-weight:500;color:var(--azul);line-height:1.2;margin:0 0 .6em}
h1{font-size:clamp(2rem,1.4rem + 2.6vw,3rem);letter-spacing:.005em}
h2{font-size:clamp(1.5rem,1.2rem + 1.2vw,2rem);margin-top:1.8em}
h3{font-size:1.3rem;margin-top:1.5em}
p,ul,ol{margin:0 0 1.1em}
li{margin-bottom:.4em}
strong{font-weight:600}

.saltar{position:absolute;left:-999px;top:0;background:var(--azul);color:#fff;padding:.6rem 1rem;z-index:100}
.saltar:focus{left:1rem;top:1rem}

.contenedor{width:min(100% - 2.5rem,var(--ancho));margin-inline:auto}
.lectura{max-width:var(--lectura)}

/* Cabecera */
.cabecera{border-bottom:1px solid var(--plata);background:var(--blanco);position:relative;z-index:20}
.cabecera .contenedor{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:5.5rem}
.marca img{width:9.5rem}
.menu-boton{display:none;font-family:var(--titulos);font-size:1rem;background:none;border:1px solid var(--azul);color:var(--azul);padding:.45rem .9rem;border-radius:2px;cursor:pointer}
.nav ul{list-style:none;margin:0;padding:0;display:flex;gap:1.6rem;align-items:center}
.nav li{margin:0;position:relative}
.nav a,.nav .desplegar{font-family:var(--titulos);font-size:1.02rem;color:var(--tinta);text-decoration:none;padding:.4rem 0;display:inline-block;background:none;border:0;cursor:pointer}
.nav a:hover,.nav .desplegar:hover{color:var(--azul)}
.nav a[aria-current="page"]{color:var(--azul);box-shadow:inset 0 -2px 0 var(--azul)}
.nav .desplegar::after{content:"";display:inline-block;width:.4em;height:.4em;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-left:.45em;vertical-align:.2em}
.nav .submenu{display:none;position:absolute;top:100%;left:-1rem;background:var(--blanco);border:1px solid var(--plata);padding:.6rem 0;min-width:17rem;flex-direction:column;gap:0!important}
.submenu a{display:block;padding:.45rem 1rem}
.nav .tiene-sub:hover .submenu,.nav .tiene-sub:focus-within .submenu,.nav .tiene-sub.abierto .submenu{display:flex}

@media (max-width:62rem){
  .menu-boton{display:inline-block}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--blanco);border-bottom:1px solid var(--plata);padding:1rem 1.25rem 1.5rem}
  .nav.abierto{display:block}
  .nav ul{flex-direction:column;align-items:flex-start;gap:.3rem}
  .nav .submenu{position:static;border:0;padding:0 0 0 1rem;min-width:0}
  .nav .tiene-sub:hover .submenu,.nav .tiene-sub:focus-within .submenu{display:none}
  .nav .tiene-sub.abierto .submenu{display:flex}
}

/* Migas */
.migas{font-family:var(--titulos);font-size:.92rem;color:var(--suave);padding-top:1.4rem}
.migas ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem}
.migas li{margin:0}
.migas li+li::before{content:"/";margin-right:.4rem;color:var(--gris)}
.migas a{color:var(--suave)}

/* Encabezado de página */
.encabezado{padding:2rem 0 1rem}
.encabezado .entradilla{font-size:1.25rem;color:var(--suave);max-width:var(--lectura)}
.foto-cabecera{margin:1.5rem 0 0}
.foto-cabecera img{border-radius:2px}
.foto-cabecera.cuadrada img{max-width:22rem}

/* Portada */
.portada{padding:3rem 0 3.5rem;position:relative;overflow:hidden}
.portada .contenedor{display:grid;grid-template-columns:1.05fr .95fr;gap:3rem;align-items:center}
.portada h1{font-size:clamp(2.1rem,1.4rem + 3vw,3.3rem)}
.portada .entradilla{font-size:1.25rem;color:var(--suave)}
.portada figure{margin:0;position:relative}
.portada figure img{width:100%;max-width:782px;border-radius:2px}
.portada figcaption{font-family:var(--titulos);font-size:.9rem;color:var(--suave);margin-top:.6rem}
@media (max-width:52rem){.portada .contenedor{grid-template-columns:1fr}}

.botones{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.6rem}
.boton{display:inline-block;font-family:var(--titulos);font-size:1.05rem;padding:.75rem 1.4rem;border:1.5px solid var(--azul);border-radius:2px;text-decoration:none;background:var(--azul);color:#fff}
.boton:hover{background:var(--azul-hover);border-color:var(--azul-hover);color:#fff;text-decoration:none}
.boton.secundario{background:transparent;color:var(--azul)}
.boton.secundario:hover{background:var(--niebla);color:var(--azul)}
.boton[disabled]{opacity:.45;cursor:not-allowed}

.seccion{padding:3.5rem 0}
.seccion.niebla{background:var(--niebla)}
.seccion h2:first-child{margin-top:0}
.seccion .intro{max-width:var(--lectura);color:var(--suave)}

/* Áreas */
.areas{display:grid;grid-template-columns:repeat(auto-fill,minmax(19rem,1fr));gap:2.2rem 2rem;margin-top:2rem}
.area{display:flex;flex-direction:column}
.area img{width:100%;aspect-ratio:12/5;object-fit:cover;border-radius:2px}
.area h3{margin:1rem 0 .4rem}
.area h3 a{text-decoration:none}
.area h3 a:hover{text-decoration:underline}
.area p{color:var(--suave);font-size:1.02rem;margin:0}

/* Bloque destacado herencias */
.destacado{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:center}
.destacado img{border-radius:2px}
@media (max-width:52rem){.destacado{grid-template-columns:1fr}}
.lista-enlaces{list-style:none;padding:0;margin:1.2rem 0 0;border-top:1px solid var(--plata)}
.lista-enlaces li{margin:0;border-bottom:1px solid var(--plata)}
.lista-enlaces a{display:block;padding:.85rem 0;text-decoration:none;font-family:var(--titulos);font-size:1.08rem}
.lista-enlaces a span{display:block;font-family:var(--texto);font-size:1rem;color:var(--suave)}
.lista-enlaces a:hover{background:var(--blanco)}

/* Socios */
.socios{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:2.5rem;margin-top:2rem;max-width:46rem}
.socio img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 25%;border-radius:2px}
.socio h3{margin:1.1rem 0 .2rem}
.socio .cargo{font-family:var(--titulos);color:var(--suave);margin-bottom:.8rem}
.ficha{display:grid;grid-template-columns:minmax(14rem,20rem) 1fr;gap:2.5rem;padding:2.5rem 0;border-top:1px solid var(--plata)}
.ficha:first-of-type{border-top:0}
.ficha img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 25%;border-radius:2px}
.ficha h2{margin-top:0}
@media (max-width:48rem){.ficha{grid-template-columns:1fr}.ficha img{max-width:20rem}}

/* Artículos */
.articulos{display:grid;grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:2rem;margin-top:2rem}
.articulo-tarjeta img{aspect-ratio:3/2;object-fit:cover;width:100%;border-radius:2px}
.articulo-tarjeta h3{font-size:1.2rem;margin:1rem 0 .3rem}
.articulo-tarjeta h3 a{text-decoration:none}
.articulo-tarjeta p{font-size:1rem;color:var(--suave);margin:0}
.meta{font-family:var(--titulos);font-size:.95rem;color:var(--suave);margin-bottom:1rem}

/* Contenido */
.contenido{padding:1rem 0 3rem}
.contenido .lectura>h2:first-child{margin-top:.5em}
.respuesta{font-size:1.2rem;border-left:3px solid var(--azul);padding:.2rem 0 .2rem 1.2rem;margin:1.2rem 0 1.8rem}
.aviso-precio{font-family:var(--titulos);font-size:1.15rem;color:var(--azul)}

/* Preguntas frecuentes */
.faq{margin-top:1rem;border-top:1px solid var(--plata)}
.faq details{border-bottom:1px solid var(--plata)}
.faq summary{font-family:var(--titulos);font-size:1.12rem;color:var(--azul);cursor:pointer;padding:1rem 2rem 1rem 0;list-style:none;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:.2rem;top:.85rem;font-size:1.4rem;line-height:1}
.faq details[open] summary::after{content:"−"}
.faq details p{margin:0 0 1.1rem}

/* Checklist */
.checklist{list-style:none;padding:0;margin:1.5rem 0}
.checklist li{border:1px solid var(--plata);padding:1.1rem 1.2rem;margin-bottom:1rem;border-radius:2px}
.checklist .pregunta{font-family:var(--titulos);font-size:1.12rem;color:var(--azul);display:block;margin-bottom:.4rem}
.checklist .opciones{font-family:var(--titulos);font-size:.95rem;color:var(--suave);display:block;margin-bottom:.4rem}

/* Llamada a contacto */
.llamada{background:var(--niebla);padding:2rem;margin:2.5rem 0 0;border-radius:2px}
.llamada h2{margin-top:0;font-size:1.5rem}

/* Contacto */
.contacto-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:3rem;align-items:start}
@media (max-width:52rem){.contacto-grid{grid-template-columns:1fr}}
.datos dt{font-family:var(--titulos);color:var(--azul);font-size:1.05rem;margin-top:1.2rem}
.datos dd{margin:0}
.horario{border-collapse:collapse;font-size:1rem}
.horario td{padding:.25rem 1rem .25rem 0}
form .campo{margin-bottom:1.1rem}
label{font-family:var(--titulos);display:block;margin-bottom:.3rem}
input[type=text],input[type=email],input[type=tel],textarea{width:100%;font:inherit;font-size:1rem;padding:.7rem .8rem;border:1px solid var(--gris);border-radius:2px;background:#fff;color:var(--tinta)}
textarea{min-height:9rem;resize:vertical}
.opcional{font-family:var(--texto);font-size:.9rem;color:var(--suave);font-weight:400}
.capa-info{font-size:.95rem;color:var(--suave);border:1px solid var(--plata);padding:1rem 1.1rem;margin:1.2rem 0;border-radius:2px}
.capa-info p{margin:0 0 .5rem}
.capa-info p:last-child{margin:0}
.consentimiento{display:flex;gap:.7rem;align-items:flex-start;font-size:1rem;margin:1rem 0}
.consentimiento input{margin-top:.35rem;width:1.1rem;height:1.1rem;flex:none}
.consentimiento label{font-family:var(--texto);display:inline;margin:0}
.nota-form{font-size:.92rem;color:var(--suave)}
.trampa{position:absolute;left:-9999px}
.mensaje-ok{border-left:3px solid var(--azul);padding:.5rem 1rem;background:var(--niebla)}

/* Textos legales */
.legal h2{font-size:1.35rem}

/* Pie */
.pie{background:var(--azul);color:#E6E6F0;padding:3.5rem 0 2rem;position:relative;overflow:hidden;margin-top:2rem}
.pie a{color:#fff}
.pie .contenedor{position:relative;z-index:1}
.pie-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:2.5rem}
@media (max-width:52rem){.pie-grid{grid-template-columns:1fr}}
.pie img.logo-pie{width:11rem;margin-bottom:1rem}
.pie h2{color:#fff;font-size:1.1rem;margin:0 0 .8rem}
.pie ul{list-style:none;padding:0;margin:0}
.pie li{margin-bottom:.35rem}
.pie p{font-size:1rem}
.pie .legal-pie{border-top:1px solid rgba(255,255,255,.25);margin-top:2.5rem;padding-top:1.2rem;font-family:var(--titulos);font-size:.92rem;display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;justify-content:space-between}
.pie .s-fondo{position:absolute;right:-2rem;top:-1rem;height:130%;width:auto;opacity:.07;pointer-events:none}
.pie .legal-pie{justify-content:flex-start}
.pie .legal-pie span{margin-right:auto}
/* Portada con ilustración panorámica */
.banner-portada{margin:0;background:#dfe8f3}
.banner-portada img{width:100%;max-width:1983px;margin-inline:auto;aspect-ratio:1983/793;object-fit:cover}
.portada-texto{padding:2.5rem 0 1rem}
.portada-texto h1{font-size:clamp(2.1rem,1.4rem + 3vw,3.2rem);max-width:22ch}
.portada-texto .entradilla{font-size:1.25rem;color:var(--suave);max-width:var(--lectura)}
.cifras{display:flex;flex-wrap:wrap;gap:1rem 3rem;margin:2rem 0 0;padding:1.5rem 0 0;border-top:1px solid var(--plata);font-family:var(--titulos)}
.cifras p{margin:0;color:var(--suave);font-size:1rem}
.cifras strong{display:block;font-weight:500;color:var(--azul);font-size:1.3rem}
