/* MDL Estudio Jurídico — hoja de estilos
   Tipografías alojadas en el propio servidor (carpeta /tipos).
   NO enlazar Google Fonts: transfiere IP de los visitantes fuera de la UE. */

@font-face{font-family:"Newsreader";src:url("tipos/newsreader-latin-400-normal.woff2") format("woff2");
  font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Newsreader";src:url("tipos/newsreader-latin-400-italic.woff2") format("woff2");
  font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Newsreader";src:url("tipos/newsreader-latin-500-normal.woff2") format("woff2");
  font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Karla";src:url("tipos/karla-latin-400-normal.woff2") format("woff2");
  font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Karla";src:url("tipos/karla-latin-500-normal.woff2") format("woff2");
  font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Karla";src:url("tipos/karla-latin-600-normal.woff2") format("woff2");
  font-weight:600;font-style:normal;font-display:swap}

:root{
  --fondo:#FBFAF8;
  --fondo-2:#F2F0EC;
  --tinta:#14120F;
  --tinta-media:#55504A;
  --tinta-suave:#8A8177;
  --oxido:#A8431F;
  --linea:rgba(20,18,15,.12);
  --linea-fuerte:rgba(20,18,15,.22);
  --serif:"Newsreader",Georgia,"Times New Roman",serif;
  --sans:"Karla",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --ancho:1180px;
  --ancho-texto:720px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--fondo);color:var(--tinta);
  font-family:var(--sans);font-size:18.5px;line-height:1.72;font-weight:400;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--oxido)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{
  outline:2px solid var(--oxido);outline-offset:3px}
.contenedor{max-width:var(--ancho);margin:0 auto;padding:0 40px}
.saltar{position:absolute;left:-9999px}
.saltar:focus{left:8px;top:8px;z-index:99;background:var(--tinta);color:#fff;padding:10px 16px}

/* ---------- Cabecera ---------- */
.cabecera{background:var(--fondo);position:sticky;top:0;z-index:50;border-bottom:1px solid var(--linea)}
.cabecera .contenedor{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:72px}
.marca{display:flex;align-items:baseline;gap:14px;text-decoration:none;white-space:nowrap}
.marca strong{font-family:var(--serif);font-size:24px;color:var(--tinta);letter-spacing:.24em;font-weight:400}
.marca span{font-size:10.5px;color:var(--tinta-suave);letter-spacing:.18em;text-transform:uppercase;font-weight:500}
.nav{display:flex;align-items:center;gap:30px}
.nav a{color:var(--tinta-media);text-decoration:none;font-size:15px;padding:4px 0;
  border-bottom:1px solid transparent;transition:border-color .2s ease,color .2s ease}
.nav a:hover{color:var(--tinta);border-color:var(--oxido)}
.nav a.boton-nav{color:var(--tinta);border-bottom-color:var(--oxido)}
.menu-btn{display:none;background:none;border:1px solid var(--linea-fuerte);color:var(--tinta);
  padding:9px 14px;font-size:12px;cursor:pointer;font-family:inherit;letter-spacing:.12em;text-transform:uppercase}

/* ---------- Héroe ---------- */
.heroe{position:relative;background:var(--tinta);overflow:hidden;isolation:isolate}
.heroe .fondo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  object-position:center 46%;opacity:.55;z-index:-2}
.heroe::before{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(90deg,rgba(20,18,15,.96) 0%,rgba(20,18,15,.88) 38%,rgba(20,18,15,.55) 72%,rgba(20,18,15,.38) 100%)}
.heroe .contenedor{position:relative;padding-top:120px;padding-bottom:112px}
.heroe .texto{max-width:660px}
.heroe .credito{position:absolute;right:40px;bottom:14px;font-size:10px;letter-spacing:.14em;
  text-transform:uppercase;color:rgba(251,250,248,.45);margin:0;text-align:right}

.epigrafe{font-size:11.5px;letter-spacing:.26em;text-transform:uppercase;color:#C9752F;
  margin:0 0 30px;font-weight:600}
h1{font-family:var(--serif);font-weight:400;font-size:clamp(42px,6.6vw,76px);line-height:1.0;
  letter-spacing:-.03em;margin:0 0 26px;color:var(--fondo);max-width:14ch}
h1 em{font-style:normal;color:#D9834A}
.entradilla{max-width:42ch;margin:0 0 42px;color:#C9C2B8;font-size:19px;line-height:1.6}
.acciones{display:flex;flex-wrap:wrap;align-items:center;gap:26px;margin:0}

.boton{display:inline-block;background:var(--oxido);color:#fff;text-decoration:none;
  padding:17px 38px;border-radius:0;font-size:16px;border:0;cursor:pointer;font-family:inherit;
  font-weight:500;letter-spacing:.02em;transition:background .2s ease}
.boton:hover{background:#8E3818;color:#fff}
.heroe .enlace-sec{color:var(--fondo);border-bottom-color:rgba(251,250,248,.4)}
.heroe .enlace-sec:hover{color:#fff;border-color:#D9834A}
.enlace-sec{color:var(--tinta);text-decoration:none;border-bottom:1px solid var(--linea-fuerte);
  padding-bottom:3px;font-size:16px;transition:border-color .2s ease,color .2s ease}
.enlace-sec:hover{border-color:var(--oxido);color:var(--oxido)}

.interior h1{color:var(--tinta);max-width:16ch}
.interior .epigrafe,.interior .rotulo{color:var(--tinta-suave)}

/* ---------- Cifras ---------- */
.cifras{border-bottom:1px solid var(--linea);background:var(--fondo-2)}
.cifras .contenedor{display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding:0}
.cifras div{padding:38px 34px;border-left:1px solid var(--linea)}
.cifras div:first-child{border-left:0}
.cifras b{display:block;font-family:var(--serif);font-size:50px;font-weight:400;line-height:1;
  letter-spacing:-.02em;color:var(--tinta)}
.cifras span{display:block;font-size:14px;color:var(--tinta-suave);margin-top:10px;line-height:1.45}

/* ---------- Secciones ---------- */
section{padding:112px 0}
h2{font-family:var(--serif);font-weight:400;font-size:clamp(32px,4.4vw,52px);line-height:1.08;
  letter-spacing:-.025em;margin:0 0 24px;max-width:20ch}
h3{font-family:var(--serif);font-weight:400;font-size:24px;margin:40px 0 14px;line-height:1.25;letter-spacing:-.01em}
.rotulo{font-size:11.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--tinta-suave);
  margin:0 0 22px;font-weight:600}
.medida{max-width:var(--ancho-texto)}

/* Servicios numerados */
.rejilla{margin-top:56px;border-top:1px solid var(--linea-fuerte)}
.tarjeta{display:grid;grid-template-columns:104px 1fr 160px;gap:32px;align-items:start;
  padding:38px 0;border-bottom:1px solid var(--linea);text-decoration:none;color:inherit;
  transition:padding-left .25s ease}
.tarjeta:hover{padding-left:12px}
.tarjeta .n{font-family:var(--serif);font-size:44px;color:var(--oxido);line-height:1;letter-spacing:-.02em}
.tarjeta h3{margin:0 0 12px;font-size:32px}
.tarjeta p{margin:0;font-size:17px;color:var(--tinta-media);line-height:1.6;max-width:52ch}
.tarjeta .mas{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--tinta-suave);
  text-align:right;padding-top:10px}
.tarjeta:hover .mas{color:var(--oxido)}

/* Recorrido */
.recorrido{background:var(--fondo-2);border-top:1px solid var(--linea);border-bottom:1px solid var(--linea)}
.pasos{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:56px;border-top:1px solid var(--linea-fuerte)}
.paso{padding:32px 34px 0 0}
.paso+.paso{padding-left:34px;border-left:1px solid var(--linea)}
.paso .etapa{font-family:var(--mono);font-size:10px;letter-spacing:.18em;color:var(--oxido);margin-bottom:16px}
.paso h3{margin:0 0 12px;font-size:26px}
.paso p{margin:0;font-size:17px;color:var(--tinta-media);line-height:1.6}

/* Banda de imagen */
.banda{border-top:1px solid var(--linea);border-bottom:1px solid var(--linea);
  height:clamp(220px,32vw,420px);overflow:hidden;position:relative;background:var(--fondo-2);margin:0}
.banda img{width:100%;height:100%;object-fit:cover;object-position:center 45%;filter:saturate(.88)}
.banda figcaption{position:absolute;left:0;right:0;bottom:0;padding:14px 40px;font-size:11px;
  letter-spacing:.12em;text-transform:uppercase;color:#fff;
  background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.5) 100%)}

/* Relato con imagen */
.relato{display:grid;grid-template-columns:1fr 340px;gap:56px;align-items:start}
.relato figure{margin:0}
.relato figure img{width:100%;border:1px solid var(--linea)}
.relato figcaption{font-size:11.5px;color:var(--tinta-suave);margin-top:12px;line-height:1.5}

/* Prosa */
.prosa{max-width:var(--ancho-texto)}
.prosa p{margin:0 0 20px}
.prosa ul{margin:0 0 22px;padding-left:20px}
.prosa li{margin-bottom:9px}
.migas{font-size:11.5px;color:var(--tinta-suave);padding:26px 0 0;letter-spacing:.1em;text-transform:uppercase}
.migas a{color:var(--tinta-suave);text-decoration:none}
.migas a:hover{color:var(--oxido)}

/* Entregables */
.bloques{display:grid;grid-template-columns:repeat(3,1fr);gap:44px;margin-top:52px}
.bloque h3{margin:0 0 20px;font-size:22px;padding-bottom:14px;border-bottom:1px solid var(--tinta)}
.bloque ul{list-style:none;margin:0;padding:0}
.bloque li{font-size:16.5px;color:var(--tinta-media);padding:9px 0;line-height:1.5;border-bottom:1px solid var(--linea)}
.bloque li:last-child{border-bottom:0}

/* Tabla */
.tabla{width:100%;border-collapse:collapse;margin:34px 0;font-size:17px}
.tabla th,.tabla td{text-align:left;padding:18px 16px 18px 0;border-bottom:1px solid var(--linea);vertical-align:top}
.tabla thead th{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--tinta-suave);
  font-weight:600;border-bottom-color:var(--tinta);padding-bottom:12px}
.tabla td:first-child{font-weight:500;color:var(--tinta)}
.tabla td:not(:first-child){color:var(--tinta-media)}
.envuelve-tabla{overflow-x:auto}

/* Preguntas */
.faq{border-top:1px solid var(--linea-fuerte);max-width:var(--ancho-texto);margin-top:44px}
.faq details{border-bottom:1px solid var(--linea)}
.faq summary{cursor:pointer;padding:26px 0;font-family:var(--serif);font-size:24px;list-style:none;
  display:flex;justify-content:space-between;gap:24px;align-items:baseline;transition:color .2s ease;letter-spacing:-.01em}
.faq summary:hover{color:var(--oxido)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--oxido);font-size:18px;line-height:1;font-family:var(--sans)}
.faq details[open] summary::after{content:"\2013"}
.faq details p{margin:0 0 28px;color:var(--tinta-media);font-size:17px;max-width:62ch}

/* Aviso */
.aviso{border-top:1px solid var(--tinta);padding:22px 0 0;font-size:14.5px;color:var(--tinta-suave);
  max-width:var(--ancho-texto);line-height:1.65}
.aviso strong{color:var(--tinta);font-weight:600}

/* Formulario */
.formulario{max-width:var(--ancho-texto);margin-top:44px}
.campo{margin-bottom:28px}
.campo label{display:block;font-size:11px;margin-bottom:10px;color:var(--tinta);
  letter-spacing:.18em;text-transform:uppercase;font-weight:600}
.campo .op{color:var(--tinta-suave);font-size:10px;font-weight:400}
.campo input,.campo textarea{width:100%;padding:16px 0;border:0;border-bottom:1px solid var(--linea-fuerte);
  background:transparent;font-family:inherit;font-size:18px;color:var(--tinta);border-radius:0;
  transition:border-color .2s ease}
.campo textarea{min-height:150px;resize:vertical;line-height:1.65;border:1px solid var(--linea-fuerte);padding:16px}
.campo input:focus,.campo textarea:focus{border-color:var(--oxido)}
.consent{display:flex;gap:12px;align-items:flex-start;font-size:13.5px;color:var(--tinta-media);
  margin-bottom:18px;line-height:1.6}
.consent input{margin-top:5px;flex:0 0 auto;width:auto}
.secreto{font-size:12.5px;color:var(--tinta-suave);margin-top:18px}
.trampa{position:absolute;left:-9999px}

/* Artículos */
.lista-articulos{list-style:none;padding:0;margin:44px 0 0;max-width:var(--ancho-texto);
  border-top:1px solid var(--linea-fuerte)}
.lista-articulos li{border-bottom:1px solid var(--linea);padding:26px 0}
.lista-articulos a{font-family:var(--serif);font-size:27px;text-decoration:none;color:var(--tinta);
  line-height:1.3;letter-spacing:-.015em}
.lista-articulos a:hover{color:var(--oxido)}
.lista-articulos .fecha{display:block;font-family:var(--mono);font-size:10px;color:var(--tinta-suave);
  margin-top:10px;letter-spacing:.16em;text-transform:uppercase}

/* Pie */
.pie{background:var(--tinta);color:var(--tinta-suave);font-size:15px;padding:76px 0 36px}
.pie .cols{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:48px}
.pie h4{font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;color:#6E665C;margin:0 0 18px;font-weight:600}
.pie a{color:#C9C2B8;text-decoration:none;display:block;margin-bottom:10px;transition:color .2s ease}
.pie a:hover{color:#fff}
.pie .marca strong{font-size:20px;color:var(--fondo)}
.pie .legalitos{border-top:1px solid rgba(251,250,248,.13);margin-top:52px;padding-top:26px;
  font-size:12px;color:#6E665C;line-height:1.8}

/* Cookies */
.cookies{position:fixed;left:16px;right:16px;bottom:16px;background:var(--tinta);color:#C9C2B8;
  padding:20px 24px;z-index:80;display:none;gap:18px;align-items:center;flex-wrap:wrap;
  max-width:780px;margin:0 auto;box-shadow:0 10px 40px rgba(0,0,0,.22)}
.cookies.ver{display:flex}
.cookies p{margin:0;font-size:13px;flex:1 1 320px;line-height:1.55}
.cookies button{font-family:inherit;font-size:12.5px;padding:11px 20px;cursor:pointer;border:0;font-weight:500}
.cookies .no{background:transparent;color:#C9C2B8;border:1px solid rgba(251,250,248,.3)}
.cookies .si{background:var(--fondo);color:var(--tinta)}

@media (max-width:960px){
  .contenedor{padding:0 22px}
  .heroe .contenedor{padding-top:64px;padding-bottom:60px}
  .heroe .fondo{opacity:.32;object-position:center 50%}
  .heroe::before{background:linear-gradient(180deg,rgba(20,18,15,.9) 0%,rgba(20,18,15,.82) 100%)}
  .heroe .credito{right:22px;font-size:9px}
  .cifras .contenedor{grid-template-columns:repeat(2,1fr)}
  .cifras div{padding:24px 22px;border-top:1px solid var(--linea)}
  .cifras div:nth-child(-n+2){border-top:0}
  .cifras div:nth-child(odd){border-left:0}
  .cifras b{font-size:30px}
  .tarjeta{grid-template-columns:52px 1fr;gap:20px;padding:28px 0}
  .tarjeta .n{font-size:26px}
  .tarjeta h3{font-size:21px}
  .tarjeta .mas{display:none}
  .pasos,.bloques,.pie .cols,.relato{grid-template-columns:1fr;gap:0}
  .paso{padding:28px 0}
  .paso+.paso{padding-left:0;border-left:0;border-top:1px solid var(--linea)}
  .bloques{gap:36px}
  .relato{gap:36px}
  .relato figure{max-width:300px}
  .menu-btn{display:block}
  .marca span{display:none}
  .nav{display:none;position:absolute;top:72px;left:0;right:0;background:var(--fondo);
    flex-direction:column;align-items:stretch;gap:0;padding:8px 22px 22px;border-bottom:1px solid var(--linea)}
  .nav.abierto{display:flex}
  .nav a{padding:14px 0;border-bottom:1px solid var(--linea)}
  section{padding:64px 0}
  h1{max-width:none}
  body{font-size:17.5px}
  .cifras b{font-size:36px}
  .tarjeta h3{font-size:24px}
  .banda figcaption{padding:12px 22px;font-size:10px}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{animation:none!important;transition:none!important}
}
