/* Sistema Legal · hoja de estilos común (réplica de la web WordPress original) */
@font-face{font-family:'Fira Sans';font-style:normal;font-weight:300;font-display:swap;src:url(../fonts/fira-sans-latin-ext-300-normal.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Fira Sans';font-style:normal;font-weight:300;font-display:swap;src:url(../fonts/fira-sans-latin-300-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Fira Sans';font-style:italic;font-weight:300;font-display:swap;src:url(../fonts/fira-sans-latin-ext-300-italic.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Fira Sans';font-style:italic;font-weight:300;font-display:swap;src:url(../fonts/fira-sans-latin-300-italic.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Fira Sans';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/fira-sans-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Fira Sans';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/fira-sans-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Fira Sans';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/fira-sans-latin-ext-600-normal.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Fira Sans';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/fira-sans-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Fira Sans';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/fira-sans-latin-ext-700-normal.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Fira Sans';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/fira-sans-latin-700-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --burdeos:#812f27;--burdeos-oscuro:#6a251f;--amarillo:#ffcc00;--tinta:#272727;--texto:#3a3533;
  --gris-suave:#9a9391;--fondo:#ffffff;--fondo-gris:#f2f1f1;--linea:#dcd8d7;--blanco:#ffffff;--error:#a71000;
  --f:'Fira Sans',"Helvetica Neue",Arial,sans-serif;color-scheme:light
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--fondo);color:var(--texto);font-family:var(--f);font-weight:300;font-size:17px;line-height:1.6}
a{color:inherit}
img{max-width:100%;display:block}
.wrap{max-width:1040px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
h1,h2,h3{font-weight:600;line-height:1.15;text-wrap:balance;margin:0}
:focus-visible{outline:2px solid var(--amarillo);outline-offset:3px}
.skip{position:absolute;left:-9999px;top:0;background:var(--blanco);color:var(--burdeos);padding:8px 12px;z-index:20}
.skip:focus{left:12px;top:12px}

.btn{display:inline-block;border:1.5px solid var(--burdeos);color:var(--burdeos);padding:.6em 1.1em;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;font-weight:400;transition:background .2s,color .2s;background:transparent;font-family:var(--f);cursor:pointer}
.btn:hover{background:var(--burdeos);color:var(--blanco)}

/* Cabecera */
.top{position:absolute;inset:0 0 auto;z-index:5;padding-top:env(safe-area-inset-top,0px)}
.solid .top{position:relative;background:var(--burdeos)}
.top .wrap{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:32px;padding-block:14px;max-width:1100px}
.top nav{display:flex;gap:28px;align-items:center}
.top nav.izq{justify-content:flex-end}
.top a,.top .dd>span{color:var(--blanco);text-decoration:none;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;font-weight:400;opacity:.92}
.top a:hover,.top a[aria-current]{opacity:1;color:var(--amarillo)}
.top .logo img{width:76px}
.lang{font-size:.7rem!important;border:1px solid rgba(255,255,255,.5);padding:2px 6px}
.dd{position:relative}
.dd ul{position:absolute;top:100%;left:-14px;margin:0;padding:10px 0;list-style:none;background:var(--blanco);min-width:230px;box-shadow:0 8px 24px rgba(0,0,0,.12);opacity:0;visibility:hidden;transform:translateY(6px);transition:.2s}
.dd:hover ul,.dd:focus-within ul{opacity:1;visibility:visible;transform:none}
.dd ul a{display:block;color:var(--tinta);padding:8px 16px;letter-spacing:.08em;opacity:1}
.dd ul a:hover{color:var(--burdeos);background:var(--fondo-gris)}
.menu-btn{display:none}

/* Cabecera de página interior */
.page-hero{position:relative;height:300px;background:var(--tinta) center/cover no-repeat}
.page-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.45),rgba(0,0,0,0) 40%)}
.page-hero.bw{filter:grayscale(1)}

/* Slider portada */
.hero{position:relative;height:min(78vw,760px);min-height:520px;overflow:hidden;background:var(--tinta);color:var(--blanco)}
.slide{position:absolute;inset:0;opacity:0;transition:opacity 1.2s ease}
.slide.on{opacity:1}
.slide img{width:100%;height:100%;object-fit:cover;object-position:center 20%;filter:grayscale(1)}
.slide::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,0) 30%,rgba(0,0,0,0) 55%,rgba(0,0,0,.6))}
.slide .cap{position:absolute;left:0;right:0;bottom:12%;z-index:2;text-align:center}
.cap .t{font-size:clamp(1.6rem,3.4vw,2.6rem);font-weight:600;line-height:1.15;margin:0}
.cap b{color:var(--amarillo);font-weight:600}
.cap p{max-width:46ch;margin:.5em auto 0;font-size:clamp(1rem,1.6vw,1.25rem)}
.cap p em{color:var(--amarillo);font-style:normal}
.cap .areas{display:flex;justify-content:center;flex-wrap:wrap;gap:10px 34px;margin-top:.6em;font-size:clamp(.85rem,1.3vw,1rem);letter-spacing:.2em}
.arrow{position:absolute;top:50%;z-index:3;background:none;border:0;color:var(--blanco);font-size:2.4rem;cursor:pointer;padding:10px;transform:translateY(-50%);line-height:1;font-family:var(--f);font-weight:300}
.arrow.prev{left:max(12px,env(safe-area-inset-left,0px))}.arrow.next{right:max(12px,env(safe-area-inset-right,0px))}

/* Accesos */
.accesos{background:var(--fondo-gris);padding-block:40px 70px;clip-path:polygon(0 0,100% 0,100% calc(100% - 46px),50% 100%,0 calc(100% - 46px))}
.accesos .wrap{display:grid;grid-template-columns:repeat(3,1fr)}
.acc{display:flex;flex-direction:column;align-items:center;text-align:center;gap:18px;padding:16px 20px}
.acc+.acc{border-left:1px solid var(--linea)}
.acc svg{width:50px;height:50px;stroke:var(--burdeos);fill:none;stroke-width:1.6}
.acc p{margin:0;font-size:1.05rem;line-height:1.5}

/* Secciones */
.sec{padding-block:70px 90px}
.sec-t{color:var(--burdeos);font-size:clamp(2rem,3.4vw,2.6rem)}
.sec-t::after{content:"";display:block;width:26px;height:9px;background:var(--burdeos);margin-top:10px}
.intro{font-size:1.1rem;margin:24px 0 40px;max-width:62ch}
.valor{display:grid;grid-template-columns:220px 1fr;gap:40px;align-items:center;padding-block:34px;border-top:1px solid var(--linea)}
.valor:first-of-type{border-top:0}
.valor.inv{grid-template-columns:1fr 220px}
.valor.inv .llave{order:2}
.llave{font-size:1.75rem;font-weight:600;color:var(--gris-suave);white-space:nowrap}
.llave span{font-weight:300;font-size:2.8rem;vertical-align:-6px}
.valor p{margin:0;font-size:.95rem}
.valor .llave{font-size:1.75rem;margin:0}

/* Áreas de práctica */
.area{display:grid;grid-template-columns:200px 1fr;gap:40px;padding-block:44px;border-top:1px solid var(--linea)}
.area:first-of-type{border-top:0}
.area .llave{padding-top:2px}
.area .lead{margin:0 0 14px;font-size:1.05rem;color:var(--tinta)}
.area .det{margin:0;font-size:.9rem}
.subareas{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 24px;margin-top:30px}
.sub{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;min-width:0}
.sub svg{width:40px;height:40px;stroke:var(--burdeos);fill:none;stroke-width:1.5}
.sub h3{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;font-weight:400;color:var(--burdeos);line-height:1.5}
.sub p{margin:0;font-size:.82rem;line-height:1.55}

/* Equipo */
.banda-gris{background:var(--fondo-gris);padding-block:50px 70px}
.banda-gris .txt{max-width:70ch;margin:0 auto 46px;font-size:1.05rem}
.equipo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:900px;margin:0 auto}
.miembro{text-decoration:none;display:flex;flex-direction:column;gap:12px;min-width:0}
.miembro img{width:100%;aspect-ratio:5/7;object-fit:cover;transition:filter .3s}
.miembro:hover img{filter:brightness(.85)}
.miembro span{font-weight:400;color:var(--tinta);text-align:center}
.miembro:hover span{color:var(--burdeos)}

/* Ficha abogado */
.ficha{display:grid;grid-template-columns:1fr 300px;gap:44px;padding-block:40px 70px}
.ficha h1{color:var(--burdeos);font-size:clamp(1.8rem,3.2vw,2.3rem)}
.ficha h1::after{content:"";display:block;width:16px;height:7px;background:var(--burdeos);margin-top:10px}
.ficha h2{font-size:1rem;font-weight:400;color:var(--tinta);margin:30px 0 10px;padding-bottom:6px;border-bottom:1px solid var(--linea)}
.ficha ul{margin:0;padding-left:1.1em;font-size:.88rem;display:grid;gap:8px}
.ficha img{width:100%;aspect-ratio:3/4;object-fit:cover;position:sticky;top:20px}

/* Bloques partidos */
.split{display:grid;grid-template-columns:1fr 1fr}
.split .foto{min-height:380px;background-size:cover;background-position:center}
.split .txt{display:flex;flex-direction:column;justify-content:center;gap:22px;padding:56px max(24px,7vw)}
.split .txt.gris{background:var(--fondo-gris)}
.split .txt img{width:140px}
.split .txt p{margin:0;max-width:34ch;text-align:justify;hyphens:auto}
.split .txt h2{color:var(--burdeos);font-size:2rem}

/* Localización */
.loc{padding-block:60px 80px}
.loc .dir{font-size:1.5rem;font-weight:400;color:var(--tinta);margin:26px 0 8px}
.loc .datos{display:flex;flex-wrap:wrap;gap:10px 30px;margin:0 0 28px;font-size:1.05rem}

/* Contacto */
.contacto{background:var(--fondo-gris);padding-block:60px 80px}
.contacto .lead{margin:.4em 0 0;max-width:34ch}
.contacto .datos{margin:18px 0 0;display:flex;flex-wrap:wrap;gap:6px 30px;font-size:1.15rem;font-weight:400;color:var(--tinta)}
form{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:34px}
label{display:flex;flex-direction:column;gap:6px;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;font-weight:400;color:var(--tinta)}
input,textarea,select{font:inherit;font-size:1rem;text-transform:none;letter-spacing:0;padding:.7em .8em;border:1px solid var(--linea);background:var(--blanco);color:var(--tinta);border-radius:0;width:100%}
input:focus,textarea:focus,select:focus{outline:2px solid var(--burdeos);outline-offset:0}
.full{grid-column:1/-1}
.check{flex-direction:row;align-items:flex-start;gap:10px;text-transform:none;letter-spacing:0;font-size:.85rem;font-weight:300}
.check input{margin-top:4px;width:auto}
.check a{color:var(--burdeos)}
.rgpd{margin:0;font-size:.74rem;line-height:1.5;color:var(--gris-suave)}
.rgpd b{font-weight:400;color:var(--texto)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
form .btn{justify-self:start}
.ok{grid-column:1/-1;margin:0;color:var(--burdeos);font-weight:400}
.ok.err{color:var(--error)}

/* Banda foto */
.banda{position:relative;background:url(../img/Sistema-legal-equipo13-1-scaled.jpg) center 40%/cover;color:var(--blanco)}
.banda::before{content:"";position:absolute;inset:0;background:rgba(20,14,12,.62)}
.banda .wrap{position:relative;padding-block:120px 70px;display:flex;flex-direction:column;align-items:center;gap:22px}
.banda img{width:90px}
.banda p{margin:0;font-size:1.1rem;text-align:justify}

/* Textos legales */
.legal{padding-block:50px 80px}
.legal .wrap{max-width:820px}
.legal h1{color:var(--burdeos);font-size:clamp(1.8rem,3.2vw,2.3rem);margin-bottom:8px}
.legal h2{font-size:1.15rem;color:var(--tinta);margin:34px 0 10px}
.legal p,.legal li{font-size:.95rem}
.legal table{border-collapse:collapse;width:100%;font-size:.9rem}
.legal td,.legal th{border:1px solid var(--linea);padding:8px 10px;text-align:left;vertical-align:top}
.legal .act{color:var(--gris-suave);font-size:.85rem}
.tabla{overflow-x:auto}

/* Pie */
footer{background:var(--burdeos);color:var(--blanco);padding-block:60px 70px;font-size:.9rem}
footer .wrap{max-width:1140px;display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:32px}
footer h2{font-size:.8rem;letter-spacing:.3em;text-transform:uppercase;font-weight:700;margin-bottom:22px}
footer ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
footer a{text-decoration:none;opacity:.9}footer a:hover{opacity:1;text-decoration:underline}
footer li{display:flex;gap:10px;align-items:flex-start}
footer svg{width:16px;height:16px;flex:none;stroke:currentColor;fill:none;stroke-width:1.6;margin-top:3px}
.sub-pie{background:var(--burdeos-oscuro);color:rgba(255,255,255,.75);font-size:.78rem;padding-block:14px}

.e404{padding-block:80px;text-align:center}
.e404 h1{color:var(--burdeos);font-size:2.4rem;margin-bottom:12px}

@media (max-width:860px){
  .top .wrap{grid-template-columns:auto 1fr;gap:12px}
  .top nav{display:none}
  .menu-btn{display:block;justify-self:end;background:none;border:1px solid rgba(255,255,255,.6);color:var(--blanco);font:400 .72rem var(--f);letter-spacing:.2em;padding:.5em .9em;text-transform:uppercase}
  .top.abierto{background:rgba(39,39,39,.96)}
  .top.abierto nav{display:flex;flex-direction:column;align-items:flex-start;gap:16px;grid-column:1/-1;padding:6px 4px 10px}
  .dd ul{position:static;opacity:1;visibility:visible;transform:none;background:none;box-shadow:none;padding:10px 0 0 12px;min-width:0}
  .dd ul a{color:var(--blanco);padding:6px 0}
  .dd ul a:hover{background:none;color:var(--amarillo)}
  .accesos .wrap{grid-template-columns:1fr}
  .acc+.acc{border-left:0;border-top:1px solid var(--linea)}
  .valor,.valor.inv,.area{grid-template-columns:1fr;gap:12px}
  .valor.inv .llave{order:0}
  .subareas{grid-template-columns:1fr 1fr}
  .split{grid-template-columns:1fr}
  .split.rev .foto{order:2}
  .ficha{grid-template-columns:1fr}
  .ficha img{position:static;max-width:320px;order:-1}
  .page-hero{height:220px}
  form{grid-template-columns:1fr}
  footer .wrap{grid-template-columns:1fr 1fr}
}
@media (max-width:520px){
  footer .wrap,.equipo-grid,.subareas{grid-template-columns:1fr}
  .equipo-grid{max-width:340px}
}
@media (prefers-reduced-motion:reduce){.slide,.dd ul,.miembro img{transition:none}html{scroll-behavior:auto}}
