@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/inter-latin.woff2) format("woff2")}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/source-serif-4-latin.woff2) format("woff2")}:root{--bg: #fafaf8;--surface: #ffffff;--text: #0b1120;--text-secondary: #4a6078;--text-muted: #576b80;--border: #c4ced8;--border-light: #e8ecf0;--accent: #1a365d;--accent-light: #2b5797;--accent-bg: #e6eef8;--accent-faint: #f2f6fb;--success: #1a7a4e;--success-bg: #e3f4ec;--warning: #b8860b;--warning-text: #664d03;--warning-bg: #fdf5e0;--danger: #b91c1c;--danger-bg: #fde8e8;--tierra-warm: #efe9de;--tierra-deep: #d9cdb8;--max-w: 52rem;--font-serif: "Source Serif 4", Georgia, serif;--font-sans: "Inter", system-ui, sans-serif;--font-mono: "JetBrains Mono", monospace;--ease-out-quart: cubic-bezier(.25, 1, .5, 1);--ease-out-expo: cubic-bezier(.16, 1, .3, 1)}:root[data-theme=dark]{--bg: #0f1117;--surface: #1a1d27;--text: #e8eaf0;--text-secondary: #a0aab8;--text-muted: #8494a7;--border: #2a3040;--border-light: #1f2530;--accent: #6ba3d6;--accent-light: #8bbce6;--accent-bg: #1a2a3d;--accent-faint: #141e2d;--tierra-warm: #141820;--tierra-deep: #1f2530;--success: #3db87a;--success-bg: #142a1e;--warning: #d4a017;--warning-text: #e6b821;--warning-bg: #2a2210;--danger: #e85454;--danger-bg: #2a1414}:root[data-theme=dark] input,:root[data-theme=dark] select,:root[data-theme=dark] textarea{background:var(--surface);color:var(--text);border-color:var(--border)}*,*:before,*:after{box-sizing:border-box;margin:0}html{height:100%;font-family:var(--font-sans);background:var(--bg);color:var(--text);line-height:1.65;font-size:16px;-webkit-font-smoothing:antialiased}body{display:flex;flex-direction:column;min-height:100vh}main{flex:1}a{color:var(--accent-light);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:var(--max-w);margin:0 auto;padding:0 1.25rem}header{border-bottom:1px solid var(--border);background:var(--surface);position:sticky;top:0;z-index:100}.theme-toggle{background:none;border:1px solid var(--border);border-radius:6px;color:var(--text-muted);cursor:pointer;line-height:1;padding:.35rem .4rem;display:inline-flex;align-items:center;justify-content:center;transition:color .15s var(--ease-out-quart),border-color .15s var(--ease-out-quart)}.theme-toggle:hover{color:var(--accent);border-color:var(--accent)}header nav{max-width:72rem;margin:0 auto;padding:.625rem 1.25rem;display:flex;align-items:center;gap:1.25rem}.logo{display:flex;align-items:center}.logo:hover{text-decoration:none;opacity:.85}.logo img{height:32px;width:auto}:root[data-theme=dark] .logo img{filter:brightness(0) invert(1)}.nav-links{display:flex;gap:.125rem;align-items:center;margin-left:auto}.nav-sep{width:1px;height:1rem;background:var(--border);margin:0 .375rem}header nav a:not(.logo){display:inline-flex;align-items:center;font-size:.8125rem;color:var(--text-muted);font-weight:500;letter-spacing:.01em;padding:.35rem .625rem;border-radius:6px;transition:color .15s var(--ease-out-quart),background .15s var(--ease-out-quart)}header nav a:not(.logo):hover{color:var(--accent);background:var(--accent-faint);text-decoration:none}header nav a.nav-active{color:var(--accent);background:var(--accent-bg);font-weight:600}footer{border-top:1px solid var(--tierra-deep);background:var(--tierra-warm);padding:2.5rem 0 2rem;margin-top:4rem;font-size:.8125rem;color:var(--text-muted);line-height:1.8}footer a{color:var(--text-muted);text-decoration:underline}.footer-grid{display:flex;justify-content:space-between;gap:2rem}.footer-grid p{margin:0}.footer-right{text-align:right}.footer-tagline{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--tierra-deep);text-align:center;font-family:var(--font-serif);font-style:italic;font-size:.8125rem;color:var(--text-muted)}.footer-legal{margin-top:1rem;text-align:center;font-size:.8125rem}.footer-sep{margin:0 .4rem;color:var(--border)}@media(max-width:640px){.footer-grid{flex-direction:column;gap:1rem}.footer-right{text-align:left}}.badge{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .55rem;border-radius:4px;font-size:.6875rem;font-weight:600;text-transform:capitalize;letter-spacing:.01em}.badge-vigente{background:var(--success-bg);color:var(--success)}.badge-derogada{background:var(--danger-bg);color:var(--danger)}.badge-parcialmente_derogada{background:var(--warning-bg);color:var(--warning-text)}.btn{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1.125rem;font-size:.875rem;font-weight:600;border-radius:6px;border:1.5px solid var(--border);background:var(--surface);color:var(--text-secondary);cursor:pointer;transition:border-color .2s var(--ease-out-quart),color .2s var(--ease-out-quart),background .2s var(--ease-out-quart),opacity .15s var(--ease-out-quart)}.btn:hover{border-color:var(--accent);color:var(--accent);text-decoration:none}.btn:active{opacity:.85;transition-duration:.1s}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover{background:var(--accent-light);border-color:var(--accent-light);color:#fff}.btn-primary:active{opacity:.85}.pagination{margin-top:1.5rem;display:flex;justify-content:center;align-items:center;gap:.25rem;font-size:.8125rem}.page-num{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;height:2rem;padding:0 .375rem;border-radius:4px;color:var(--text-secondary);font-variant-numeric:tabular-nums}.page-num:hover{background:var(--accent-bg);color:var(--accent);text-decoration:none}.page-num.current{background:var(--accent);color:#fff;font-weight:600}.page-ellipsis{color:var(--text-muted);padding:0 .25rem}.menu-toggle{display:none;background:none;border:1px solid var(--border);border-radius:6px;color:var(--text-muted);cursor:pointer;width:2.5rem;height:2.5rem;padding:0;margin-left:auto;align-items:center;justify-content:center;transition:color .15s var(--ease-out-quart),border-color .15s var(--ease-out-quart)}.menu-toggle:hover{color:var(--accent);border-color:var(--accent)}.menu-icon-close,.menu-toggle[aria-expanded=true] .menu-icon-open{display:none}.menu-toggle[aria-expanded=true] .menu-icon-close{display:block}@media(max-width:768px){.container{padding:0 1rem}header nav{padding:.5rem 1rem;gap:.5rem;flex-wrap:wrap}.menu-toggle{display:inline-flex}.nav-links{display:none;width:100%;flex-direction:column;gap:.125rem;margin-left:0;border-top:1px solid var(--border-light);padding:.5rem 0}.nav-links.open{display:flex}.nav-sep{width:100%;height:1px;margin:.25rem 0}.nav-links a{padding:.625rem .75rem;font-size:.875rem;min-height:2.5rem;display:flex;align-items:center;border-radius:8px}.nav-links .theme-toggle{align-self:flex-start;margin:.25rem 0 0 .375rem}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(1.5rem)}to{opacity:1;transform:translateY(0)}}.animate-on-scroll{opacity:0;transform:translateY(1.25rem);transition:opacity .6s var(--ease-out-quart),transform .6s var(--ease-out-quart)}.animate-on-scroll.visible{opacity:1;transform:translateY(0)}main>:first-child:not(.hero-section){animation:fadeInUp .5s var(--ease-out-quart) both}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.prose{font-size:.9375rem;color:var(--text-secondary);line-height:1.8}.prose p{margin:1.25em 0}.prose h2{font-family:var(--font-serif);font-size:1.2rem;font-weight:600;color:var(--text);margin:3rem 0 1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-light)}.prose h3{font-size:1rem;font-weight:600;color:var(--text);margin:2.5rem 0 .75rem}.prose ul,.prose ol{padding-left:1.5rem;margin:1em 0}.prose li+li{margin-top:.5em}.prose a{color:var(--accent);text-decoration:underline}.prose table{width:100%;border-collapse:collapse;margin:1.5em 0;font-size:.8125rem;line-height:1.6}.prose th,.prose td{border:1px solid var(--border-light);padding:1rem 1.25rem;text-align:left;vertical-align:top}.prose th{background:var(--surface);font-weight:600;color:var(--text);font-size:.8125rem;text-transform:uppercase;letter-spacing:.03em}.prose td{color:var(--text-secondary)}.prose tr:nth-child(2n) td{background:var(--bg)}.prose>:first-child{margin-top:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-to-content{position:absolute;left:-9999px;top:0;z-index:200;padding:.75rem 1.25rem;background:var(--accent);color:#fff;font-size:.875rem;font-weight:600;text-decoration:none;border-radius:0 0 6px}.skip-to-content:focus{left:0;outline:2px solid var(--accent-light);outline-offset:2px}
