/* Tres direcciones completas: editorial, institucional y cercana. */
:root { --d-ink:#171713; --d-paper:#f6f3ed; --d-gold:#926323; --d-line:#d9d1c2; --d-serif:Georgia,serif; }
[data-direccion="a"] { --d-serif:var(--f-serif); --d-body:var(--f-grotesca); }
[data-direccion="b"] { --d-serif:var(--font-h); --d-body:var(--font-b); }
[data-direccion="c"] { --d-serif:var(--f-titulo); --d-body:var(--f-texto); }
.site-sub { background:var(--d-paper); color:var(--d-ink); font-family:var(--d-body); }
.site-sub a { text-decoration:none; }
.site-sub img { max-width:100%; display:block; }
.site-sub main { width:min(1240px,calc(100% - 80px)); margin:auto; }
.skip-detail { position:fixed; top:-100px; left:20px; padding:15px; z-index:101; background:#fdd085; color:#111; }
.skip-detail:focus { top:10px; }
.detail-header { min-height:108px; padding:8px max(40px,calc((100vw - 1240px)/2)); display:flex; align-items:center; justify-content:space-between; gap:30px; background:#101010; color:#f6f3ed; position:sticky; top:0; z-index:70; border-bottom:1px solid #ffffff20; }
.detail-header img { width:160px; height:auto; }
.detail-nav { display:flex; align-items:center; gap:30px; font-size:13px; }
.detail-nav a { padding-block:12px; }
.detail-button { display:inline-flex; justify-content:center; align-items:center; gap:35px; min-height:50px; padding:16px 24px; background:#f0c674; color:#181511; font:700 14px/1.3 var(--d-body); border:1px solid transparent; text-decoration:none; transition:background .2s,transform .2s; }
.detail-button:hover { background:#fdd085; transform:translateY(-2px); }
.detail-toggle { display:none; font:600 14px var(--d-body,Arial); border:1px solid currentColor; color:inherit; background:transparent; padding:12px 16px; gap:18px; align-items:center; cursor:pointer; }
.detail-breadcrumb { display:flex; gap:15px; flex-wrap:wrap; padding:35px 0; font-size:12px; color:#655d50; }
.detail-breadcrumb a { border-bottom:1px solid currentColor; }
.detail-hero { display:grid; grid-template-columns:1.05fr 1fr; align-items:center; gap:50px; padding:25px 0 80px; }
.detail-hero > * { min-width:0; }
.detail-hero h1 { overflow-wrap:anywhere; hyphens:auto; }
.detail-kicker { color:var(--d-gold); font:700 11px/1.4 var(--d-body,Arial); letter-spacing:.17em; text-transform:uppercase; margin:0 0 25px; }
.detail-hero h1 { font:500 clamp(44px,4.8vw,76px)/1.03 var(--d-serif); letter-spacing:-.03em; margin:0 0 30px; }
.detail-hero p:not(.detail-kicker) { max-width:580px; font-size:17px; line-height:1.75; color:#575247; margin-bottom:30px; }
.detail-art { margin:0; background:#111; position:relative; overflow:hidden; aspect-ratio:7/6; }
.detail-art img { width:100%; height:100%; object-fit:cover; }
.detail-art figcaption { position:absolute; bottom:22px; left:25px; right:25px; font-size:9px; letter-spacing:.13em; color:#e7c27f; }
.detail-section { padding:90px 0; border-top:1px solid var(--d-line); scroll-margin-top:130px; }
.detail-section h2 { font:500 clamp(34px,3.5vw,55px)/1.1 var(--d-serif); letter-spacing:-.025em; margin-bottom:44px; }
.detail-services { display:grid; grid-template-columns:repeat(3,1fr); column-gap:45px; row-gap:40px; }
.detail-services article { padding-top:25px; border-top:1px solid var(--d-line); scroll-margin-top:140px; }
.detail-services article>span { color:var(--d-gold); font-size:12px; }
.detail-services h3 { font:500 28px/1.15 var(--d-serif); margin:25px 0 18px; }
.detail-services p,.detail-process p { font-size:15px; color:#625b50; line-height:1.7; }
.detail-prep { display:grid; grid-template-columns:1fr 1fr; gap:80px; }
.detail-prep ul { list-style:none; margin:25px 0; padding:0; counter-reset:prep; }
.detail-prep li { padding:18px 0 18px 38px; border-bottom:1px solid var(--d-line); position:relative; font-size:15px; counter-increment:prep; }
.detail-prep li::before { content:'0' counter(prep); color:var(--d-gold); position:absolute; left:0; font-size:11px; top:23px; }
.detail-small { font-size:13px; color:#6b655a; }
.detail-prep p+p { margin-top:20px; }
.detail-process { display:grid; grid-template-columns:repeat(4,1fr); gap:30px; margin:0; padding:0; list-style:none; }
.detail-process li { position:relative; padding-top:20px; border-top:1px solid var(--d-gold); }
.detail-process span { font:italic 35px var(--d-serif); color:var(--d-gold); }
.detail-process h3 { font:500 24px/1.2 var(--d-serif); margin:25px 0 15px; }
.detail-faq details { border-bottom:1px solid var(--d-line); }
.detail-faq summary { font-size:18px; padding:24px 30px 24px 0; cursor:pointer; }
.detail-faq details p { max-width:850px; padding:0 25px 25px 0; color:#625b50; }
.detail-contact { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:start; }
.detail-contact h2 { margin-bottom:30px; }
.detail-contact ul { list-style:none; margin:28px 0; padding:0; }
.detail-contact li { font-size:14px; padding:12px 0; border-bottom:1px solid var(--d-line); }
.detail-contact .tarjeta-form,.detail-contact .caja-form { width:100%; max-width:none; color:#171713; background:#fff; border:1px solid var(--d-line); }
.detail-related { display:grid; grid-template-columns:repeat(3,1fr); gap:25px; }
.detail-related a { display:flex; align-items:center; gap:18px; padding:25px 0; border-block:1px solid var(--d-line); font-size:16px; }
.detail-related a>span { margin-left:auto; }
.detail-footer { padding:70px max(40px,calc((100vw - 1240px)/2)) 35px; background:#111; color:#f6f3ed; display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:40px; }
.detail-footer h2 { font:400 42px/1.1 var(--d-serif); }
.detail-footer .detail-kicker { color:#fdd085; font-size:10px; }
.detail-footer nav,.detail-footer>div:last-of-type { display:flex; flex-direction:column; gap:13px; font-size:14px; }
.detail-legal { grid-column:1/-1; border-top:1px solid #ffffff30; padding-top:25px; font-size:11px; color:#bdb5a8; }
.site-sub :focus-visible { outline:3px solid #956627; outline-offset:5px; }
.detail-header :focus-visible,.detail-footer :focus-visible { outline-color:#fdd085; }
/* A: tensión editorial, retícula y cortes rectos. */
[data-direccion="a"].site-sub { background:#fff; }
[data-direccion="a"] .detail-hero h1 { font-family:var(--d-body); font-weight:800; letter-spacing:-.055em; }
[data-direccion="a"] .detail-hero { gap:35px; }
[data-direccion="a"] .detail-art { clip-path:polygon(12% 0,100% 0,100% 100%,0 100%); }
[data-direccion="a"] .detail-section h2 { font-family:var(--d-body); font-weight:800; letter-spacing:-.04em; }
[data-direccion="a"] .detail-services h3 { font-family:var(--d-body); font-size:23px; font-weight:700; }
[data-direccion="a"] .detail-prep { border-top:5px solid #111; }
[data-direccion="a"] .foto-pasillo { background-image:url('materia-laboral.svg'); }
[data-direccion="a"] .foto-escalera { background-image:url('materia-civil.svg'); }
[data-direccion="a"] .foto-ventana { background-image:url('materia-familiar.svg'); }
[data-direccion="a"] .foto-documento { background-image:url('materia-mercantil.svg'); }
[data-direccion="a"] .portada-foto { background-position:60% center; }
[data-direccion="a"] .portada::after { background:linear-gradient(90deg,#080808e8,#08080855 65%,#08080833); }
/* B: papel luminoso, relieve y lectura serena. */
[data-direccion="b"] .detail-header { background:#f6f3edf5; color:#171713; border-color:var(--d-line); }
[data-direccion="b"] .detail-button { background:#191915; color:#fff; border-radius:6px; }
[data-direccion="b"] .detail-button:hover { background:#4b3b22; }
[data-direccion="b"] .detail-art { background:#e6dfd1; border-radius:160px 160px 8px 8px; }
[data-direccion="b"] .detail-hero h1 { font-size:clamp(48px,5.3vw,84px); }
[data-direccion="b"] .detail-services { gap:22px; }
[data-direccion="b"] .detail-services article { border:1px solid var(--d-line); padding:28px; background:#ffffff70; }
[data-direccion="b"] .detail-services h3 { font-size:32px; }
[data-direccion="b"] .detail-map { border-radius:12px; }
[data-direccion="b"] .detail-map figcaption { color:#66502d; }
[data-direccion="b"] .hero { background:linear-gradient(90deg,#f6f3edf5 10%,#f6f3edc9 55%,#f6f3ed88),url('consorcio-claro.webp') center/cover; }
[data-direccion="b"] .hero h1 { max-width:700px; }
[data-direccion="b"] .hero::before { display:none; }
[data-direccion="b"] .retrato.foto-equipo { background-image:url('consorcio-claro.webp'); }
[data-direccion="b"] .arte-leyenda { color:#614819; }
[data-direccion="b"] .guia img { margin-bottom:25px; }
[data-direccion="b"] .guia small { display:block; }
[data-direccion="b"] .barra .envoltura { height:100px; }
[data-direccion="b"] .marca-logo { height:auto; width:150px; }
[data-direccion="b"] .menu { gap:19px; font-size:13px; }
[data-direccion="b"] .home-toggle { margin-left:auto; }
/* C: formas envolventes y orientación por situación. */
[data-direccion="c"].site-sub { background:#151512; color:#eee9df; --d-ink:#eee9df; --d-line:#ffffff26; --d-gold:#e6bf76; }
[data-direccion="c"] .detail-breadcrumb,[data-direccion="c"] .detail-hero p:not(.detail-kicker),[data-direccion="c"] .detail-services p,[data-direccion="c"] .detail-process p,[data-direccion="c"] .detail-small,[data-direccion="c"] .detail-faq p { color:#bfb8aa; }
[data-direccion="c"] .detail-art { border-radius:50% 50% 24px 24px; background:#201c15; }
[data-direccion="c"] .detail-button { border-radius:999px; }
[data-direccion="c"] .detail-services { grid-template-columns:repeat(2,1fr); gap:20px; }
[data-direccion="c"] .detail-services article { border:1px solid var(--d-line); border-radius:22px; padding:30px; background:linear-gradient(135deg,#bd94390a,transparent); }
[data-direccion="c"] .detail-prep { padding:55px; background:#222019; border-radius:24px; margin-bottom:70px; }
[data-direccion="c"] .detail-map { border-radius:24px; }
[data-direccion="c"] .detail-contact .cf-titulo { color:#1c1b19; }
[data-direccion="c"] .portada-union { position:absolute; inset:0; background:url('union-c.svg') 95% center/auto 120% no-repeat; opacity:.32; mask-image:linear-gradient(90deg,transparent 5%,#000 75%); pointer-events:none; }
[data-direccion="c"] .selector { background:#1b1b18eb; border-color:#bd943966; }
[data-direccion="c"] .foto-arte { background:#191713 url('union-c.svg') right center/auto 130% no-repeat; }
[data-direccion="c"] .foto-equipo::after { background:linear-gradient(90deg,#10100ee6,transparent); }
.home-area-icon { width:32px; height:32px; margin-bottom:20px; }
@media(min-width:1050px) {
  [data-direccion="b"] .hero .envoltura { grid-template-columns:1.2fr .85fr; gap:80px; }
}
@media(max-width:1040px) {
  .detail-header { padding-inline:25px; }
  .detail-nav { gap:18px; }
  .detail-hero { gap:30px; }
  .detail-contact,.detail-prep { gap:35px; }
  .detail-services { gap:25px; }
  [data-direccion="b"] .home-toggle { display:flex; }
  [data-direccion="b"] .menu#home-menu { position:absolute; top:100%; left:0; right:0; display:none; margin:0; padding:25px; background:#f6f3ed; border-bottom:1px solid #d9d1c2; flex-direction:column; gap:10px; }
  [data-direccion="b"] .menu#home-menu.is-open { display:flex; }
  [data-direccion="b"] #home-menu a { min-height:44px; display:flex; align-items:center; font-size:18px; }
}
@media(max-width:760px) {
  .site-sub main { width:calc(100% - 40px); }
  .detail-header { min-height:92px; padding:8px 20px; }
  .detail-header img { width:140px; }
  .detail-toggle { display:flex; }
  .detail-nav { display:none; position:absolute; top:100%; left:0; right:0; background:#151512; border-bottom:1px solid #bd943966; padding:25px; flex-direction:column; align-items:stretch; gap:6px; }
  .detail-nav.is-open { display:flex; }
  [data-direccion="b"] .detail-nav { background:#f6f3ed; }
  .detail-nav a { font-size:17px; min-height:48px; }
  .detail-breadcrumb { padding-block:25px; }
  .detail-hero { grid-template-columns:1fr; gap:35px; padding:10px 0 55px; }
  .detail-hero h1 { font-size:clamp(42px,10vw,62px); }
  [data-direccion="b"] .detail-hero h1 { font-size:clamp(46px,11vw,64px); }
  .detail-art { max-height:370px; width:100%; aspect-ratio:7/5; }
  .detail-section { padding:55px 0; scroll-margin-top:110px; }
  .detail-section h2 { margin-bottom:30px; }
  .detail-services,.detail-related { grid-template-columns:1fr 1fr; gap:25px; }
  .detail-prep,.detail-contact { grid-template-columns:1fr; gap:30px; }
  .detail-process { grid-template-columns:1fr 1fr; gap:35px 20px; }
  .detail-related { grid-template-columns:1fr; gap:0; }
  .detail-related a { border-top:0; }
  .detail-footer { padding:50px 20px 25px; grid-template-columns:1fr 1fr; gap:35px; }
  .detail-footer>div:first-child { grid-column:1/-1; }
  .detail-footer h2 { font-size:36px; }
  [data-direccion="c"] .detail-prep { padding:30px 22px; }
  [data-direccion="c"] .detail-services,[data-direccion="b"] .detail-services { grid-template-columns:1fr; }
  [data-direccion="b"] .barra .envoltura { height:92px; }
  [data-direccion="b"] .marca-logo { width:140px; }
  [data-direccion="b"] .pie-sitio { padding-bottom:110px; }
  [data-direccion="b"] .hero { background-position:75% top; }
}
@media(max-width:400px) { .detail-services { grid-template-columns:1fr; }.detail-button { gap:16px;padding-inline:18px; }.detail-process { grid-template-columns:1fr; } }
@media(max-width:400px) { .detail-hero h1,[data-direccion="b"] .detail-hero h1 { font-size:36px; } }
@media(prefers-reduced-motion:reduce) { .detail-button { transition:none; } }
/* Frase con fuerza por materia (junta 14-oct). "pendiente" = espacio reservado hasta que COBA la defina. */
.frase-materia { margin:18px 0 6px; font:italic 400 clamp(22px,2.4vw,30px)/1.25 var(--d-serif,Georgia,serif); color:inherit; }
.frase-materia small { display:block; margin-top:6px; font:600 11px/1.4 var(--d-body,system-ui,sans-serif); letter-spacing:.12em; text-transform:uppercase; opacity:.55; font-style:normal; }
.frase-materia.pendiente { padding:12px 16px; border:1.5px dashed currentColor; opacity:.7; font-size:clamp(17px,1.6vw,21px); }
