@charset "UTF-8";
  /* ---------- Componentes propios de las páginas de área ---------- */
  .page-hero{
    position:relative; color:#fff; overflow:hidden;
    padding:clamp(52px,6.5vw,88px) 0 clamp(44px,5.5vw,72px);
    background:var(--ink-900);
  }
  .page-hero::before{
    content:""; position:absolute; inset:0; z-index:0;
    background:
      radial-gradient(90% 120% at 8% 0%, rgba(28,46,74,.85), transparent 62%),
      radial-gradient(55% 85% at 94% 100%, rgba(168,137,91,.12), transparent 62%);
  }
  .page-hero::after{
    content:""; position:absolute; inset:0; z-index:1;
    background-image:var(--noise); background-size:140px 140px;
    opacity:.03; mix-blend-mode:overlay; pointer-events:none;
  }
  .page-hero .wrap{ position:relative; z-index:2; }
  .page-hero h1{ color:#fff; font-size:clamp(34px,4.6vw,58px); font-weight:400; letter-spacing:-.012em; line-height:1.08; max-width:18ch; margin-bottom:22px; }
  .page-hero h1 .em{ color:var(--gold-soft); font-style:italic; font-weight:400; }
  .page-hero .sub{ color:rgba(255,255,255,.74); font-size:clamp(16.5px,1.8vw,18.5px); line-height:1.72; max-width:58ch; margin-bottom:30px; }
  .page-hero .hero-cta{ display:flex; flex-wrap:wrap; gap:14px; }

  .crumbs{ font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.5); margin-bottom:24px; }
  .crumbs a{ color:var(--gold-soft); }
  .crumbs a:hover{ color:#fff; }
  .crumbs span{ margin:0 10px; opacity:.45; }

  /* Rejilla con separación real: la última fila incompleta no deja huecos grises */
  .detail-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr)); gap:20px; }
  .detail{
    border:1px solid var(--line); background:#fff; padding:clamp(26px,2.6vw,36px) clamp(22px,2.2vw,30px);
    position:relative; transition:background .45s var(--ease), border-color .45s var(--ease);
  }
  .detail:hover{ background:var(--ivory); border-color:var(--gold-line); }
  .detail h3{ font-size:25px; font-weight:500; line-height:1.2; margin-bottom:14px; }
  .detail p{ color:var(--muted); font-size:15.5px; line-height:1.8; }
  .detail .tag{
    display:inline-block; font-family:var(--sans); font-size:10.5px; font-weight:600;
    letter-spacing:.22em; text-transform:uppercase; color:var(--gold-text); margin-bottom:18px;
  }

  .highlight{
    border-left:1px solid var(--gold); background:var(--paper);
    padding:clamp(26px,3vw,40px) clamp(22px,3.4vw,44px); border-radius:0;
  }
  .highlight h3{ font-size:clamp(25px,2.8vw,34px); font-weight:500; margin-bottom:20px; }
  .highlight p{ color:var(--muted); margin-bottom:16px; line-height:1.85; }
  .highlight p:last-child{ margin-bottom:0; }
  .highlight strong{ color:var(--ink); font-weight:600; }

  .tbl-wrap{ overflow-x:auto; -webkit-overflow-scrolling:touch; }
  table.compare{ width:100%; border-collapse:collapse; min-width:620px; font-size:15.5px; }
  table.compare th, table.compare td{ text-align:left; padding:20px 20px 20px 0; border-bottom:1px solid var(--line); vertical-align:top; }
  table.compare thead th{
    font-family:var(--sans); font-size:10.5px; font-weight:600; letter-spacing:.22em;
    text-transform:uppercase; color:var(--gold-text); border-bottom:1px solid var(--gold-line); padding-bottom:14px;
  }
  table.compare tbody th{ font-family:var(--serif); font-size:20px; font-weight:500; white-space:nowrap; }
  table.compare td{ color:var(--muted); line-height:1.75; }

  .checklist{ list-style:none; display:grid; gap:0; }
  .checklist li{ display:flex; gap:16px; align-items:flex-start; color:var(--ink); font-size:16px; line-height:1.6; padding:16px 0; border-bottom:1px solid var(--line); }
  .checklist li:last-child{ border-bottom:none; }
  .checklist svg{ width:18px; height:18px; flex:none; margin-top:4px; fill:none; stroke:var(--gold); stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round; }

  .related{ display:grid; grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr)); gap:20px; }
  .related a{
    display:block; border:1px solid var(--line); padding:26px 24px; background:#fff;
    transition:background .45s var(--ease), border-color .45s var(--ease);
  }
  .related a:hover{ background:var(--ivory); border-color:var(--gold-line); }
  .related .tag{
    display:block; font-family:var(--sans); font-size:10.5px; font-weight:600;
    letter-spacing:.22em; text-transform:uppercase; color:var(--gold-text); margin-bottom:14px;
  }
  .related h3{ font-size:23px; font-weight:500; margin-bottom:10px; }
  .related p{ color:var(--muted); font-size:14.5px; line-height:1.7; }

  .cta-band{
    background:var(--ink-900); color:#fff; text-align:center;
    padding:clamp(52px,6.5vw,88px) 0; position:relative;
  }
  .cta-band::before{
    content:""; position:absolute; inset:0;
    background:
      radial-gradient(70% 120% at 50% 0%, rgba(28,46,74,.75), transparent 65%),
      radial-gradient(45% 70% at 92% 100%, rgba(168,137,91,.10), transparent 62%);
  }
  .cta-band .wrap{ position:relative; z-index:1; }
  .cta-band h2{ color:#fff; font-size:clamp(30px,4vw,48px); font-weight:400; letter-spacing:-.012em; margin-bottom:20px; }
  .cta-band p{ color:rgba(255,255,255,.74); max-width:56ch; margin:0 auto 28px; }
  .cta-band .btn{ margin:0 auto; }
  .cta-band .cta-alt{ margin:18px auto 0; font-size:14px; color:rgba(255,255,255,.66); max-width:none; }
  .cta-band .cta-alt a{ color:var(--gold-soft); text-decoration:underline; text-underline-offset:3px; }

  /* ---------- Firma de autoría (hero de guía) ---------- */
  .page-hero .sub.tight{ margin-bottom:18px; }
  .byline{
    display:flex; flex-wrap:wrap; align-items:center; gap:6px 12px;
    font-family:var(--sans); font-size:13px; line-height:1.6;
    color:rgba(255,255,255,.6); margin:0 0 28px;
  }
  .byline a{ color:var(--gold-soft); border-bottom:1px solid transparent; transition:border-color .35s var(--ease); }
  .byline a:hover{ border-bottom-color:var(--gold-soft); }
  .byline .sep{ opacity:.3; }

  /* ---------- Fuentes oficiales ---------- */
  .tint{ background:var(--paper); }
  .sources{ list-style:none; display:grid; gap:0; max-width:80ch; }
  .sources li{ border-bottom:1px solid var(--line); }
  .sources li:last-child{ border-bottom:none; }
  .sources a{
    display:block; position:relative; padding:18px 30px 18px 0;
    color:var(--ink); transition:color .35s var(--ease);
  }
  .sources a:hover{ color:var(--gold-text); }
  .sources a::after{
    content:"↗"; position:absolute; right:2px; top:20px;
    font-family:var(--sans); font-size:12px; color:var(--gold-text); opacity:.6;
  }
  .sources .src-name{ display:block; font-family:var(--serif); font-size:19px; font-weight:500; margin-bottom:5px; }
  .sources .src-desc{ display:block; color:var(--muted); font-size:14.5px; line-height:1.65; }

  /* ---------- Ficha de autoría ---------- */
  .author-card{
    display:grid; grid-template-columns:auto 1fr; gap:clamp(24px,3.4vw,44px);
    align-items:start; border:1px solid var(--line); background:#fff;
    padding:clamp(28px,3.2vw,44px);
  }
  .author-badge{
    width:104px; height:130px; display:grid; place-items:center;
    background:var(--ink-900); color:var(--gold-soft);
    font-family:var(--serif); font-size:38px; letter-spacing:.06em;
  }
  .author-card figure{ margin:0; width:104px; }
  .author-card figure img{ width:100%; height:auto; display:block; }
  .author-body h2{ font-size:clamp(26px,3vw,34px); font-weight:500; margin:2px 0 4px; }
  .author-role{
    font-family:var(--sans); font-size:11px; font-weight:600; letter-spacing:.2em;
    text-transform:uppercase; color:var(--gold-text); margin-bottom:18px;
  }
  .author-body p{ color:var(--muted); font-size:15.5px; line-height:1.8; max-width:70ch; margin-bottom:18px; }
  .author-creds{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:18px; }
  .author-creds span{
    font-family:var(--sans); font-size:11px; letter-spacing:.1em; text-transform:uppercase;
    color:var(--muted); border:1px solid var(--line); padding:7px 12px;
  }
  .author-links{ font-family:var(--sans); font-size:13.5px; margin-bottom:0 !important; }
  .author-links a{ color:var(--gold-text); border-bottom:1px solid var(--gold-line); }
  .author-links a:hover{ color:var(--ink); border-bottom-color:var(--ink); }
  .author-links .sep{ margin:0 10px; opacity:.35; }

  /* Fotografía de apertura del bloque destacado de cada página de área.
     Mismo tratamiento que .cov-photo de la portada (filete de latón + velo
     inferior + leyenda en versalitas), pero en formato panorámico. */
  .area-photo{
    position:relative; overflow:hidden; aspect-ratio:16/6;
    border:1px solid var(--gold-line);
    margin:0 0 clamp(26px,3.2vw,42px);
  }
  .area-photo img{ width:100%; height:100%; object-fit:cover; display:block; }
  .area-photo::after{
    content:""; position:absolute; inset:0;
    background:linear-gradient(180deg, rgba(8,17,28,0) 58%, rgba(8,17,28,.56) 100%);
  }
  .area-photo .cap{
    position:absolute; left:22px; right:18px; bottom:16px; z-index:1; color:#fff;
    font-family:var(--sans); font-size:10.5px; font-weight:600;
    letter-spacing:.2em; text-transform:uppercase;
  }

  /* Densidad móvil de los componentes de área */
  @media (max-width:720px){
    /* A 16:6 la foto queda como una franja de 60 px en un teléfono: se abre. */
    .area-photo{ aspect-ratio:4/3; }
    .area-photo .cap{ left:16px; right:14px; bottom:13px; font-size:10.5px; letter-spacing:.14em; }
    .page-hero .hero-cta .btn{ width:100%; justify-content:center; }
    .crumbs{ margin-bottom:18px; }
    .detail h3{ font-size:22px; }
    .detail-grid{ gap:14px; }
    .highlight h3{ font-size:24px; }
    .checklist li{ padding:13px 0; font-size:15px; }
    table.compare{ min-width:520px; font-size:14.5px; }
    table.compare th, table.compare td{ padding:14px 14px 14px 0; }
    /* En pantallas táctiles la barra de scroll es invisible: sin esta pista
       nadie descubre las columnas que quedan fuera del borde derecho. */
    .tbl-wrap::before{
      content:"Desliza para comparar\00a0\2192";
      display:block; font-family:var(--sans); font-size:10.5px; font-weight:600;
      letter-spacing:.18em; text-transform:uppercase; color:var(--gold-text);
      padding-bottom:12px;
    }
    .related{ gap:14px; }
    .byline{ font-size:12.5px; gap:5px 10px; }
    .sources .src-name{ font-size:17px; }
    .author-card{ grid-template-columns:1fr; gap:22px; }
    .author-badge{ width:84px; height:104px; font-size:31px; }
    .author-card figure{ width:84px; }
  }

  /* ---------- «En resumen»: respuesta directa al inicio de cada guía (2-sep-2026) ----------
     Cinco frases citables antes del desarrollo: es lo que toman los buscadores de IA y los
     fragmentos destacados. El bloque hereda el papel y el filete de latón de .highlight. */
  .summary{ padding-top:clamp(28px,3.6vw,48px); padding-bottom:0; }
  .key-points{
    border-left:1px solid var(--gold); background:var(--paper);
    padding:clamp(26px,3vw,40px) clamp(22px,3.4vw,44px); max-width:880px;
  }
  .key-points .eyebrow{ margin-bottom:14px; }
  .key-points h2{ font-size:clamp(24px,2.8vw,32px); font-weight:500; margin-bottom:18px; }
  .key-points ul{ list-style:none; display:flex; flex-direction:column; gap:0; }
  .key-points li{
    position:relative; padding:12px 0 12px 26px; border-top:1px solid var(--line);
    color:var(--ink); font-size:16px; line-height:1.65;
  }
  .key-points li:first-child{ border-top:none; padding-top:0; }
  .key-points li::before{ content:""; position:absolute; left:0; top:24px; width:12px; height:1px; background:var(--gold); }
  .key-points li:first-child::before{ top:12px; }
  .key-points strong{ font-weight:600; }
  @media (max-width:720px){
    .key-points{ padding:22px 18px 20px; }
    .key-points h2{ font-size:22px; }
    .key-points li{ font-size:15px; padding:10px 0 10px 22px; }
  }

  /* Migas: el enlace se distingue también por el subrayado, no solo por el color (2-sep-2026) */
  .crumbs a{ text-decoration:underline; text-underline-offset:3px; text-decoration-color:rgba(199,172,120,.45); }

  /* ---------- Filtro de perfil en las guías (2-oct-2026) ----------
     Cuatro enlaces de WhatsApp con el mensaje ya segmentado, justo después de «En resumen»:
     el contacto llega diciendo quién consulta y el clic se mide por perfil. */
  .perfil-sec{ padding-top:clamp(20px,2.6vw,32px); padding-bottom:0; }
  .perfil-cta{
    max-width:880px; border:1px solid var(--gold-line);
    padding:clamp(22px,2.6vw,34px) clamp(22px,3.4vw,44px);
  }
  .perfil-cta .eyebrow{ margin-bottom:12px; }
  .perfil-cta h2{ font-size:clamp(22px,2.4vw,28px); font-weight:500; margin-bottom:10px; }
  .perfil-cta p{ color:var(--muted); font-size:15.5px; line-height:1.7; margin-bottom:20px; max-width:64ch; }
  .perfil-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }
  .perfil-grid a{
    display:flex; align-items:center; justify-content:space-between; gap:12px;
    min-height:52px; padding:14px 18px; border:1px solid var(--line-strong);
    color:var(--ink); font-size:15px; font-weight:500; line-height:1.35; text-decoration:none;
    transition:background .2s, color .2s, border-color .2s;
  }
  .perfil-grid a::after{ content:"\2192"; color:var(--gold-text); flex:none; }
  .perfil-grid a:hover{ border-color:var(--ink); background:var(--ink); color:#fff; }
  @media (max-width:720px){ .perfil-grid{ grid-template-columns:1fr; } }

  /* ---------- «¿Es tu caso?» en cada guía (10-oct-2026) ----------
     Recuadro de tinta antes de las preguntas frecuentes: tres situaciones concretas del tema,
     WhatsApp con el mensaje ya escrito y un enlace con palabra clave a la página de servicio
     (las guías posicionan; las páginas de servicio no tenían enlaces internos con ancla). */
  .caso-sec{ padding-top:clamp(8px,1.4vw,16px); padding-bottom:clamp(36px,4.4vw,60px); }
  .caso-cta{
    max-width:880px; position:relative; background:var(--ink-900); color:#fff;
    padding:clamp(26px,3.2vw,42px) clamp(22px,3.6vw,48px);
    border-left:2px solid var(--gold);
  }
  .caso-cta .eyebrow{ color:var(--gold-soft); margin-bottom:12px; }
  .caso-cta h2{ color:#fff; font-size:clamp(25px,2.8vw,34px); font-weight:400; letter-spacing:-.01em; margin-bottom:18px; }
  .caso-cta ul{ list-style:none; margin:0 0 24px; }
  .caso-cta li{
    position:relative; padding:11px 0 11px 26px; border-top:1px solid var(--line-dark);
    color:rgba(255,255,255,.84); font-size:16px; line-height:1.6;
  }
  .caso-cta li:first-child{ border-top:none; padding-top:0; }
  .caso-cta li::before{ content:""; position:absolute; left:0; top:23px; width:12px; height:1px; background:var(--gold-soft); }
  .caso-cta li:first-child::before{ top:12px; }
  .caso-acciones{ display:flex; flex-wrap:wrap; align-items:center; gap:14px 26px; }
  .caso-cta .btn-primary{ background:var(--gold); color:var(--ink); }
  .caso-cta .btn-primary:hover{ background:#fff; color:var(--ink); }
  .caso-cta .caso-servicio{
    color:var(--gold-soft); font-size:15px; text-decoration:underline;
    text-underline-offset:4px; text-decoration-color:rgba(199,172,120,.45);
  }
  .caso-cta .caso-servicio:hover{ color:#fff; text-decoration-color:#fff; }
  .caso-cta .caso-nota{ margin-top:16px; font-size:13.5px; color:rgba(255,255,255,.6); }
  @media (max-width:720px){
    .caso-cta h2{ font-size:24px; }
    .caso-cta li{ font-size:15px; padding:10px 0 10px 22px; }
    .caso-acciones .btn{ width:100%; justify-content:center; }
  }

  /* ---------- Calculadora de plazo de desahucio (10-oct-2026) ---------- */
  .calc-sec{ padding-top:0; }
  .calc{ max-width:880px; border:1px solid var(--gold-line); background:var(--paper); padding:clamp(24px,3vw,40px) clamp(20px,3.4vw,44px); }
  .calc .eyebrow{ margin-bottom:12px; }
  .calc h2{ font-size:clamp(24px,2.8vw,32px); font-weight:500; margin-bottom:12px; }
  .calc-intro{ color:var(--muted); font-size:15.5px; line-height:1.7; margin-bottom:22px; max-width:66ch; }
  .calc-tipo{ border:none; padding:0; margin:0 0 18px; display:flex; flex-wrap:wrap; gap:10px 22px; }
  .calc-tipo legend{ font-family:var(--sans); font-size:11px; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--gold-text); margin-bottom:10px; }
  .calc-tipo label, .calc-check{ display:flex; align-items:center; gap:10px; font-size:15.5px; color:var(--ink); cursor:pointer; }
  .calc-tipo input, .calc-check input{ width:18px; height:18px; accent-color:var(--gold-text); }
  .calc-campos{ display:grid; grid-template-columns:1fr 1fr; gap:14px 18px; margin-bottom:16px; }
  .calc-campo span{ display:block; font-size:14px; color:var(--muted); margin-bottom:6px; }
  .calc-campo input{ width:100%; min-height:48px; padding:10px 12px; border:1px solid var(--line-strong); background:#fff; font:inherit; font-size:16px; color:var(--ink); border-radius:0; }
  .calc-campo input:focus{ outline:2px solid var(--gold); outline-offset:1px; }
  .calc-check{ margin-bottom:20px; }
  .calc-campo[hidden], .calc-check[hidden]{ display:none; }
  .calc-res{ margin-top:24px; padding-top:22px; border-top:1px solid var(--line-strong); }
  .calc-fecha{ font-family:var(--serif); font-size:clamp(24px,2.6vw,30px); color:var(--ink); line-height:1.3; margin-bottom:12px; }
  .calc-fecha span{ display:block; font-family:var(--sans); font-size:11px; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--gold-text); margin-bottom:6px; }
  .calc-fecha strong{ font-weight:600; }
  .calc-detalle{ color:var(--muted); font-size:15px; line-height:1.7; margin-bottom:18px; max-width:68ch; }
  .calc-alerta{ color:var(--ink); font-size:15.5px; line-height:1.7; border-left:2px solid var(--gold); padding-left:16px; }
  @media (max-width:720px){
    .calc-campos{ grid-template-columns:1fr; }
    .calc .btn{ width:100%; justify-content:center; }
  }

  .calc-tipo + .calc-tipo{ margin-top:4px; }
  .calc-detalle a{ color:var(--gold-text); text-decoration:underline; text-underline-offset:3px; }

  /* ====== TIPOGRAFÍA v2 · páginas interiores (10-oct-2026) ======
     Medida de lectura: el bloque destacado iba a ~105 caracteres por línea y el resumen a ~93. */
  .highlight{ max-width:880px; }
  .highlight p{ max-width:720px; }
  .key-points li, .caso-cta li, .checklist li{ max-width:740px; }
  .detail p, .related p{ text-wrap:pretty; }
  .page-hero h1{ text-wrap:balance; }
  @media (max-width:720px){
    .page-hero h1{ font-size:clamp(32px,9vw,37px); line-height:1.1; max-width:none; }
    .crumbs, .crumbs a{ font-size:11.5px; }
    .related .tag, .detail .tag, .author-role, .author-creds span, .calc-tipo legend{ font-size:11px; }
    .highlight p{ font-size:16px; }
  }

  /* ---------- Glosario (mejora 19, oct-2026) ---------- */
  .gl-tools{ display:flex; flex-wrap:wrap; gap:18px 28px; align-items:flex-end; justify-content:space-between; }
  .gl-az{ display:flex; flex-wrap:wrap; gap:6px; margin:0; padding:0; list-style:none; }
  .gl-az a, .gl-az span{ display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px;
    border:1px solid var(--line-strong); font-family:var(--serif); font-size:22px; line-height:1; color:var(--ink); text-decoration:none;
    transition:border-color .3s var(--ease), color .3s var(--ease), background .3s var(--ease); }
  .gl-az a:hover, .gl-az a:focus-visible{ border-color:var(--gold); color:var(--gold-text); background:#fff; }
  .gl-az span{ color:var(--muted-light); border-color:var(--line); }
  .gl-search{ display:flex; flex-direction:column; gap:8px; min-width:min(100%,320px); }
  .gl-search label{ font-size:11px; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:var(--gold-text); }
  .gl-search input{ font:inherit; font-size:16px; padding:12px 14px; border:1px solid var(--line-strong); background:#fff; color:var(--ink); border-radius:0; }
  .gl-search input:focus{ outline:2px solid var(--gold); outline-offset:1px; }
  .gl-count{ font-size:13.5px; color:var(--muted); margin-top:14px; }
  .gl-letter{ padding:clamp(34px,4.2vw,60px) 0 0; }
  .gl-letter > h2{ font-size:clamp(46px,6vw,74px); font-weight:400; line-height:1; color:var(--gold-text); margin-bottom:18px; scroll-margin-top:96px; }
  .gl-list{ display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,440px),1fr)); gap:1px; background:var(--line); border:1px solid var(--line); }
  .gl-term{ background:var(--ivory); padding:26px clamp(20px,2.4vw,30px) 22px; scroll-margin-top:96px; display:flex; flex-direction:column; }
  .gl-term:target{ background:#fff; box-shadow:inset 3px 0 0 var(--gold); }
  .gl-term .tag{ align-self:flex-start; margin-bottom:12px; font-size:10.5px; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--gold-text); }
  .gl-term h3{ font-size:25px; font-weight:500; line-height:1.18; margin-bottom:12px; }
  .gl-term h3 dfn{ font-style:normal; }
  .gl-term p{ color:var(--muted); font-size:15.5px; line-height:1.75; }
  .gl-meta{ margin-top:auto; padding-top:16px; display:grid; gap:6px; font-size:14px; line-height:1.55; }
  .gl-meta span b{ display:inline-block; min-width:52px; font-size:10.5px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--ink); margin-right:6px; }
  .gl-meta a{ color:var(--gold-text); text-decoration:underline; text-underline-offset:2px; }
  .gl-term[hidden], .gl-letter[hidden]{ display:none !important; }
  .gl-empty{ display:none; margin-top:24px; color:var(--muted); }
  .gl-note{ font-size:14px; color:var(--muted); max-width:72ch; margin-top:clamp(30px,4vw,48px); line-height:1.7; }
  @media (max-width:560px){ .gl-az a, .gl-az span{ width:40px; height:40px; font-size:20px; } }
