/* ═══════════════════════════════════════════════
   Ganno — Estilos de páginas legales
   Paleta: verde #5F8C0E, fondo #111111, DM Sans
   ═══════════════════════════════════════════════ */

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'DM Sans',sans-serif;font-weight:300;background:#111111;color:rgba(255,255,255,.65);-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}

:root{
  --green:#5F8C0E;
  --green-hi:#7CB518;
  --black:#111111;
  --dark:#1C1917;
  --gray1:#292524;
  --gray2:#57534E;
  --gray3:#A8A29E;
  --line:rgba(255,255,255,.09);
  --display:'Bebas Neue',sans-serif;
  --body:'DM Sans',sans-serif;
}

/* ── NAV ── */
.lnav{position:sticky;top:0;z-index:200;background:rgba(17,17,17,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.lnav-in{max-width:1340px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:0 40px;height:64px}
.lnav-logo img{display:block;height:28px;width:auto}
.lnav-back{font-family:var(--body);font-size:13px;font-weight:500;color:rgba(255,255,255,.45);display:flex;align-items:center;gap:8px;transition:color .2s;white-space:nowrap}
.lnav-back:hover{color:#fff}
.lnav-back svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* ── ENCABEZADO DEL DOCUMENTO ── */
.lhero{background:#0D0D0D;position:relative;overflow:hidden;border-bottom:3px solid var(--green)}
.lhero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 120% at 80% -20%,rgba(95,140,14,.1) 0%,transparent 70%);pointer-events:none}
.lhero-in{max-width:1340px;margin:0 auto;padding:62px 40px 54px;position:relative}
.lhero-lbl{display:inline-flex;align-items:center;gap:10px;font-family:var(--display);font-size:13px;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,.35);margin-bottom:18px}
.lhero-lbl::before{content:'';width:26px;height:2px;background:var(--green)}
.lhero h1{font-family:var(--display);font-size:clamp(32px,5vw,56px);font-weight:400;line-height:1.02;letter-spacing:.5px;text-transform:uppercase;color:#fff;max-width:820px}
.lhero-meta{display:flex;flex-wrap:wrap;gap:0 32px;margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
.lhero-meta div{display:flex;flex-direction:column;gap:3px;padding:6px 0}
.lhero-meta dt{font-family:var(--display);font-size:10px;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.28)}
.lhero-meta dd{font-size:13.5px;font-weight:400;color:rgba(255,255,255,.7)}

/* ── LAYOUT DEL DOCUMENTO ── */
.ldoc{max-width:1340px;margin:0 auto;padding:0 40px;display:grid;grid-template-columns:240px 1fr;gap:56px;align-items:start}

/* Índice lateral */
.ltoc{position:sticky;top:80px;padding:40px 0}
.ltoc-h{font-family:var(--display);font-size:10px;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,.28);padding-bottom:12px;margin-bottom:14px;border-bottom:1px solid var(--line)}
.ltoc ol{list-style:none;counter-reset:toc;display:flex;flex-direction:column}
.ltoc li{counter-increment:toc}
.ltoc a{display:flex;gap:9px;font-size:12.5px;font-weight:400;line-height:1.4;color:rgba(255,255,255,.38);padding:6px 0 6px 12px;border-left:2px solid transparent;transition:color .18s,border-color .18s}
.ltoc a::before{content:counter(toc) ".";font-family:var(--display);font-size:12px;color:rgba(255,255,255,.2);flex-shrink:0;transition:color .18s}
.ltoc a:hover{color:rgba(255,255,255,.75);border-color:rgba(255,255,255,.18)}
.ltoc a.on{color:var(--green-hi);border-color:var(--green);font-weight:500}
.ltoc a.on::before{color:var(--green)}

/* Cuerpo */
.lbody{padding:44px 0 80px;max-width:820px;min-width:0}
.lintro{font-size:15.5px;font-weight:400;line-height:1.8;color:rgba(255,255,255,.65);padding:20px 24px;background:rgba(95,140,14,.07);border-left:3px solid var(--green);margin-bottom:16px}
.lintro strong{font-weight:600;color:#fff}
.lbody section{padding-top:40px;scroll-margin-top:80px}
.lbody h2{font-family:var(--display);font-size:22px;letter-spacing:.5px;text-transform:uppercase;color:#fff;padding-bottom:12px;margin-bottom:20px;border-bottom:1px solid var(--line);display:flex;gap:12px;align-items:baseline}
.lbody h2 .n{color:var(--green);flex-shrink:0;font-size:16px}
.lbody h3{font-family:var(--display);font-size:14px;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.55);margin:24px 0 10px}
.lbody p{font-size:14.5px;font-weight:300;line-height:1.85;color:rgba(255,255,255,.6);margin-bottom:14px}
.lbody p strong{font-weight:600;color:rgba(255,255,255,.85)}
.lbody a[href]{color:var(--green-hi);border-bottom:1px solid rgba(95,140,14,.35);transition:border-color .2s}
.lbody a[href]:hover{border-color:var(--green-hi)}
.lbody ul{list-style:none;margin:6px 0 18px}
.lbody ul li{position:relative;font-size:14.5px;font-weight:300;line-height:1.78;color:rgba(255,255,255,.6);padding:4px 0 4px 20px}
.lbody ul li::before{content:'';position:absolute;left:0;top:14px;width:7px;height:1.5px;background:var(--green)}
.lbody ul li strong{font-weight:600;color:rgba(255,255,255,.85)}

/* Definiciones */
.ldef{border:1px solid var(--line);margin:6px 0 18px;border-top:2px solid var(--green)}
.ldef div{display:grid;grid-template-columns:190px 1fr;border-bottom:1px solid var(--line)}
.ldef div:last-child{border-bottom:none}
.ldef dt{font-family:var(--display);font-size:13px;letter-spacing:.8px;text-transform:uppercase;color:var(--green-hi);padding:15px 16px;background:rgba(95,140,14,.06);border-right:1px solid var(--line);display:flex;align-items:flex-start}
.ldef dd{font-size:14px;font-weight:300;line-height:1.75;color:rgba(255,255,255,.6);padding:15px 18px}

/* Ficha institucional */
.lficha{border:1px solid var(--line);border-top:3px solid var(--green);margin:6px 0 18px}
.lficha div{display:grid;grid-template-columns:200px 1fr;border-bottom:1px solid var(--line)}
.lficha div:last-child{border-bottom:none}
.lficha dt{font-family:var(--display);font-size:10px;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.3);padding:14px 16px;background:rgba(255,255,255,.03);border-right:1px solid var(--line)}
.lficha dd{font-size:14px;font-weight:300;color:rgba(255,255,255,.7);padding:14px 18px}
.lficha a{color:var(--green-hi);border-bottom:1px solid rgba(95,140,14,.3);transition:border-color .2s}
.lficha a:hover{border-color:var(--green-hi)}

/* Nota destacada */
.lnota{background:rgba(255,255,255,.04);border:1px solid var(--line);border-left:3px solid rgba(255,255,255,.3);padding:18px 22px;margin:6px 0 18px}
.lnota p{margin-bottom:0;font-size:14px}
.lnota p + p{margin-top:10px}

/* Control del documento */
.lctrl{margin-top:48px;padding:22px 26px;background:rgba(255,255,255,.03);border:1px solid var(--line)}
.lctrl-h{font-family:var(--display);font-size:10px;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,.28);margin-bottom:14px}
.lctrl dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px 24px}
.lctrl dt{font-family:var(--display);font-size:10px;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.25);margin-bottom:3px}
.lctrl dd{font-size:13px;font-weight:300;color:rgba(255,255,255,.6)}

/* Enlace al otro documento */
.lcross{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:32px;padding:20px 24px;border:1px solid var(--line);transition:border-color .2s,background .2s}
.lcross:hover{border-color:rgba(95,140,14,.45);background:rgba(95,140,14,.04)}
.lcross-t{font-family:var(--display);font-size:10px;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.28);margin-bottom:4px}
.lcross-n{font-family:var(--display);font-size:18px;letter-spacing:.5px;text-transform:uppercase;color:#fff}
.lcross-a{font-size:26px;color:var(--green);line-height:1;flex-shrink:0}
.lcross:hover .lcross-a{color:var(--green-hi)}

/* ── FOOTER ── */
.lfooter{border-top:1px solid var(--line);padding:28px 40px;margin-top:0}
.lfooter-in{max-width:1340px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.lfooter-copy{font-size:12.5px;color:rgba(255,255,255,.25)}
.lfooter-links{display:flex;gap:20px;flex-wrap:wrap;align-items:center}
.lfooter-links a{font-size:12px;color:rgba(255,255,255,.35);transition:color .18s}
.lfooter-links a:hover{color:#fff}
.lfooter-links .wgck-reopen{font-size:12px;color:rgba(255,255,255,.35)}
.lfooter-links .wgck-reopen:hover{color:#fff}

/* ── RESPONSIVE ── */
@media(max-width:1100px){
  .ldoc{grid-template-columns:200px 1fr;gap:38px}
}
@media(max-width:860px){
  .lnav-in{padding:0 20px}
  .lhero-in{padding:44px 20px 38px}
  .lhero-meta{gap:0 22px}
  .ldoc{grid-template-columns:1fr;gap:0;padding:0 20px}
  .ltoc{position:static;padding:28px 0 0;border-bottom:1px solid var(--line)}
  .ltoc ol{display:grid;grid-template-columns:1fr 1fr;gap:0 16px;padding-bottom:12px}
  .ltoc a{padding:5px 0 5px 8px}
  .lbody{padding:8px 0 56px}
  .ldef div,.lficha div{grid-template-columns:1fr}
  .ldef dt,.lficha dt{border-right:none;border-bottom:1px solid var(--line);padding:10px 14px}
  .ldef dd,.lficha dd{padding:12px 14px}
  .lfooter{padding:24px 20px}
  .lfooter-in{flex-direction:column;align-items:flex-start;gap:12px}
}
@media(max-width:600px){
  .ltoc ol{grid-template-columns:1fr}
  .lbody h2{font-size:18px}
  .lcross{flex-direction:column;align-items:flex-start;gap:10px;padding:16px 18px}
  .lctrl dl{grid-template-columns:1fr 1fr}
}
@media(prefers-reduced-motion:reduce){
  *{transition:none!important;scroll-behavior:auto!important}
}
