/* HEADER */
    .site-header { background: var(--pri); padding: 0 20px; }
    .shi { max-width: 1100px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; height: 64px; }
    .logo { font-size: 22px; font-weight: 700; color: #fff; letter-spacing: -.5px; }
    .logo span { color: #f9ca24; }
    .snav { display: flex; gap: 4px; }
    .snav a { color: #fff; font-size: 13px; padding: 6px 11px; border-radius: 4px; transition: background .2s; }
    .snav a:hover { background: rgba(255,255,255,.15); text-decoration: none; }
    @media(max-width:768px){ .snav{display:none;} }

    /* BREADCRUMB */
    .bc { background: var(--bg); border-bottom: 1px solid var(--border); padding: 10px 20px; font-size: 13px; color: var(--muted); }
    .bc a { color: var(--pri); }
    .bc span { margin: 0 6px; }

    /* LAYOUT */
    .layout { max-width: 1100px; margin: 0 auto; padding: 30px 20px; display: grid; grid-template-columns: 1fr 300px; gap: 40px; align-items: start; }
    @media(max-width:768px){ .layout { grid-template-columns: 1fr; } }

    /* ARTICLE HEADER */
    .acat { display: inline-block; background: var(--grn); color: #fff; font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; padding: 4px 10px; border-radius: 3px; margin-bottom: 14px; }
    .atitle { font-family: var(--serif); font-size: clamp(1.5rem,3.5vw,2.05rem); font-weight: 700; line-height: 1.25; margin-bottom: 16px; }
    .asum { background: var(--card); border-left: 4px solid var(--pri); padding: 14px 18px; font-size: 15px; color: #333; margin-bottom: 18px; border-radius: 0 4px 4px 0; }
    .asum strong { color: var(--pri); }
    .ameta { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; font-size: 13px; color: var(--muted); padding-bottom: 18px; border-bottom: 1px solid var(--border); margin-bottom: 24px; }
    .av { width:36px;height:36px;border-radius:50%;background:var(--pri);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:14px; }

    /* UPDATE BADGE */
    .ubadge { display:inline-flex;align-items:center;gap:8px;background:#eafaf1;border:1px solid #a9dfbf;border-radius:4px;padding:7px 14px;font-size:13px;color:#1e5631;font-weight:600;margin-bottom:20px; }
    .udot { width:9px;height:9px;border-radius:50%;background:var(--grn);animation:pulse 1.5s infinite; }
    @keyframes pulse{ 0%,100%{opacity:1}50%{opacity:.4} }

    /* HERO */
    .hero { width:100%;border-radius:6px;margin-bottom:8px;background:linear-gradient(135deg,#0d3b21 0%,#1a5276 50%,#117a65 100%);min-height:270px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;padding:28px; }
    .hero::before { content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='52' height='26' viewBox='0 0 52 26' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.04'%3E%3Cpath d='M10 10c0-2.21-1.79-4-4-4-3.314 0-6-2.686-6-6h2c0 2.21 1.79 4 4 4 3.314 0 6 2.686 6 6 0 2.21 1.79 4 4 4 3.314 0 6 2.686 6 6 0 2.21 1.79 4 4 4v2c-3.314 0-6-2.686-6-6 0-2.21-1.79-4-4-4-3.314 0-6-2.686-6-6zm25.464-1.95l8.486 8.486-1.414 1.414-8.486-8.486 1.414-1.414z' /%3E%3C/g%3E%3C/g%3E%3C/svg%3E"); }
    .hero-in { position:relative;z-index:2;text-align:center;color:#fff; }
    .hero-ico { font-size:3.2rem;margin-bottom:10px;display:block; }
    .hero-h { font-family:var(--serif);font-size:clamp(1.5rem,4vw,2.3rem);font-weight:700;line-height:1.2;margin-bottom:8px;text-shadow:0 2px 8px rgba(0,0,0,.5); }
    .hero-s { font-size:13px;opacity:.88;letter-spacing:.05em; }
    .hero-cap { font-size:12px;color:var(--muted);margin-bottom:28px;text-align:center;font-style:italic; }

    /* QUICK KEYS */
    .qk { background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:14px 18px;margin-bottom:24px; }
    .qkt { font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin-bottom:10px; }
    .qkl { display:flex;flex-wrap:wrap;gap:7px; }
    .qki { background:var(--grn);color:#fff;font-size:12px;padding:4px 12px;border-radius:20px;font-weight:600; }

    /* TOC */
    .toc { background:#fff;border:1px solid var(--border);border-top:3px solid var(--grn);border-radius:0 0 6px 6px;padding:18px 22px;margin-bottom:30px; }
    .toch { font-size:14px;font-weight:700;color:var(--grn);margin-bottom:12px; }
    .toc ol { padding-left:20px;display:flex;flex-direction:column;gap:6px; }
    .toc ol li { font-size:14px; }
    .toc ol li a { color:var(--pri); }

    /* BODY */
    .ab h2 { font-family:var(--serif);font-size:1.32rem;font-weight:700;color:var(--pri);border-bottom:2px solid var(--border);padding-bottom:9px;margin:36px 0 16px;line-height:1.3; }
    .ab h3 { font-family:var(--font);font-size:1rem;font-weight:700;color:var(--text);margin:22px 0 8px; }
    .ab p { margin-bottom:18px;font-size:16px;color:#333; }

    /* STATS */
    .stats { display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:24px 0; }
    @media(max-width:640px){ .stats{grid-template-columns:1fr 1fr;} }
    .scard { background:var(--card);border:1px solid #aed6f1;border-radius:6px;padding:16px 12px;text-align:center; }
    .snum { font-family:var(--serif);font-size:1.9rem;font-weight:700;color:var(--grn);line-height:1;margin-bottom:5px; }
    .slbl { font-size:12px;color:var(--muted);line-height:1.4; }

    /* BOXES */
    .box { padding:18px 22px;border-radius:0 6px 6px 0;margin:22px 0; }
    .bb { background:var(--card);border:1px solid #aed6f1;border-left:5px solid var(--pri); }
    .br { background:#fdf2f2;border:1px solid #f5c6c6;border-left:5px solid var(--red); }
    .bg { background:#eafaf1;border:1px solid #a9dfbf;border-left:5px solid var(--grn); }
    .bo { background:#fef9ed;border:1px solid #f9d78e;border-left:5px solid var(--ora); }
    .bp { background:#f5eef8;border:1px solid #d2b4de;border-left:5px solid var(--pur); }
    .bt2 { font-weight:700;font-size:14px;margin-bottom:10px;display:flex;align-items:center;gap:6px; }
    .bb .bt2 { color:var(--pri); }
    .br .bt2 { color:var(--red); }
    .bg .bt2 { color:var(--grn); }
    .bo .bt2 { color:#a04000; }
    .bp .bt2 { color:var(--pur); }
    .box p { font-size:15px;margin-bottom:8px; }
    .box p:last-child { margin-bottom:0; }
    .box ul { padding-left:18px;display:flex;flex-direction:column;gap:7px; }
    .box ul li { font-size:15px; }
    .box ol { padding-left:18px;display:flex;flex-direction:column;gap:7px; }
    .box ol li { font-size:15px; }

    /* PULL QUOTE */
    .pq { border-top:2px solid var(--grn);border-bottom:2px solid var(--grn);padding:22px 10px;margin:32px 0;text-align:center; }
    .pq p { font-family:var(--serif);font-size:1.2rem;font-style:italic;color:var(--pri);line-height:1.55;margin-bottom:10px!important; }
    .pq cite { font-size:13px;color:var(--muted);font-style:normal;font-weight:600; }

    /* ESTADO CARDS */
    .estado-grid { display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:24px 0; }
    @media(max-width:600px){ .estado-grid{grid-template-columns:1fr;} }
    .estado-card { border:1px solid var(--border);border-radius:6px;overflow:hidden; }
    .estado-card-head { padding:14px 18px;display:flex;align-items:center;gap:12px; }
    .estado-flag { font-size:2rem;flex-shrink:0; }
    .estado-name { font-family:var(--serif);font-size:1.05rem;font-weight:700;line-height:1.2; }
    .estado-level { font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-top:2px; }
    .lvl-max  { color:#1e6e3e; }
    .lvl-high { color:#a04000; }
    .lvl-med  { color:#7d6608; }
    .head-green { background:linear-gradient(135deg,#eafaf1,#d5f5e3); }
    .head-blue  { background:linear-gradient(135deg,#eaf4fb,#d6eaf8); }
    .head-purple{ background:linear-gradient(135deg,#f5eef8,#e8daef); }
    .head-teal  { background:linear-gradient(135deg,#e8f8f5,#d1f2eb); }
    .head-orange{ background:linear-gradient(135deg,#fef9ed,#fdebd0); }
    .estado-body { padding:14px 18px;background:#fff; }
    .estado-body ul { list-style:none;display:flex;flex-direction:column;gap:7px; }
    .estado-body ul li { font-size:13px;padding-left:16px;position:relative;color:#444;line-height:1.5; }
    .estado-body ul li::before { content:'✓';position:absolute;left:0;color:var(--grn);font-weight:700;font-size:12px; }
    .estado-law { font-size:11px;font-family:monospace;background:#f0f0f0;padding:2px 8px;border-radius:3px;color:#555;display:inline-block;margin-top:4px; }

    /* CITIES LIST */
    .cities-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0; }
    @media(max-width:600px){ .cities-grid{grid-template-columns:1fr 1fr;} }
    .city-tag { background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:8px 12px;font-size:13px;font-weight:600;color:var(--pri);text-align:center; }
    .city-tag small { display:block;font-weight:400;color:var(--muted);font-size:11px;margin-top:2px; }

    /* COMPARISON TABLE */
    .comp-table { width:100%;border-collapse:collapse;margin:20px 0;font-size:14px; }
    .comp-table thead th { background:var(--pri);color:#fff;padding:10px 12px;text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.07em; }
    .comp-table tbody tr:nth-child(even) { background:var(--bg); }
    .comp-table tbody tr:hover { background:#d6eaf8; }
    .comp-table td { padding:10px 12px;border-bottom:1px solid var(--border);vertical-align:middle;font-size:13px; }
    .comp-table td:first-child { font-weight:700; }
    .check { color:var(--grn);font-size:16px; }
    .cross { color:var(--red);font-size:16px; }
    .partial { color:var(--ora);font-size:16px; }

    /* LIMITS BOX */
    .limits-grid { display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:20px 0; }
    @media(max-width:520px){ .limits-grid{grid-template-columns:1fr;} }
    .limit-card { border:1px solid var(--border);border-radius:6px;padding:16px; }
    .limit-card.yes { border-top:3px solid var(--grn); }
    .limit-card.no  { border-top:3px solid var(--red); }
    .limit-card h4 { font-size:14px;font-weight:700;margin-bottom:8px; }
    .limit-card.yes h4 { color:var(--grn); }
    .limit-card.no  h4 { color:var(--red); }
    .limit-card ul { list-style:none;display:flex;flex-direction:column;gap:6px; }
    .limit-card ul li { font-size:13px;color:#444;padding-left:14px;position:relative; }
    .limit-card ul li::before { position:absolute;left:0; }
    .limit-card.yes ul li::before { content:'✓';color:var(--grn);font-weight:700; }
    .limit-card.no  ul li::before { content:'✗';color:var(--red);font-weight:700; }

    /* CONCLUSION */
    .conclusion { background:var(--pri);color:#fff;border-radius:6px;padding:28px 30px;margin-top:36px; }
    .conclusion h4 { font-family:var(--serif);font-size:1.1rem;margin-bottom:12px;color:#f9ca24; }
    .conclusion p { font-size:15px;color:#d6eaf8;margin-bottom:10px; }
    .conclusion p:last-child { margin-bottom:0; }

    /* RELATED */
    .related { background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:20px;margin-top:36px; }
    .relh { font-size:14px;font-weight:700;color:var(--pri);margin-bottom:14px;text-transform:uppercase;letter-spacing:.08em; }
    .related ul { list-style:none;display:flex;flex-direction:column;gap:10px; }
    .related ul li { font-size:14px; }
    .related ul li::before { content:'✔️ '; }

    /* TAGS */
    .atags { margin-top:32px;padding-top:20px;border-top:1px solid var(--border); }
    .tl { font-size:13px;font-weight:700;color:var(--muted);margin-bottom:10px; }
    .tags { display:flex;flex-wrap:wrap;gap:8px; }
    .tag { background:var(--bg);border:1px solid var(--border);padding:4px 12px;font-size:12px;color:var(--muted);border-radius:3px; }

    /* FAQ */
    .faq { border:1px solid var(--border);border-radius:6px;margin-bottom:12px;overflow:hidden; }
    .faq-q { background:var(--bg);padding:14px 18px;font-weight:700;font-size:15px;color:var(--pri);display:flex;justify-content:space-between;align-items:center; }
    .faq-q::after { content:'+';font-size:20px;color:var(--pri); }
    .faq-a { padding:14px 18px;font-size:15px;color:#444;background:#fff;border-top:1px solid var(--border); }

    /* SIDEBAR */
    .sw { border:1px solid var(--border);border-radius:6px;overflow:hidden;margin-bottom:22px; }
    .swh { background:var(--pri);color:#fff;padding:12px 16px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.08em; }
    .swh.grn { background:var(--grn); }
    .swh.red { background:var(--red); }
    .swh.ora { background:var(--ora); }
    .swb { padding:16px;background:#fff; }
    .swb ul { list-style:none;display:flex;flex-direction:column;gap:9px; }
    .swb ul li { font-size:14px;padding-left:14px;position:relative;color:#444;line-height:1.45; }
    .swb ul li::before { content:'▸';position:absolute;left:0;color:var(--pri); }
    .swb p { font-size:14px;color:#555;line-height:1.6;margin-bottom:10px; }
    .swb p:last-child { margin-bottom:0; }
    .cta-w { background:linear-gradient(135deg,#0d3b21,#1a5276);color:#fff;border-radius:6px;padding:22px 18px;text-align:center;margin-bottom:22px; }
    .cta-w h4 { font-size:15px;font-weight:700;margin-bottom:10px; }
    .cta-w p { font-size:13px;margin-bottom:14px;opacity:.9; }
    .cta-btn { display:inline-block;background:#f9ca24;color:#1a1a1a;font-weight:700;font-size:13px;padding:10px 20px;border-radius:5px;text-decoration:none; }
    .cta-btn:hover { background:#f0c010;text-decoration:none; }

    /* METER VISUAL */
    .meter-item { margin-bottom:14px; }
    .meter-label { display:flex;justify-content:space-between;font-size:13px;color:#333;margin-bottom:5px;font-weight:600; }
    .meter-track { height:24px;background:#e9ecef;border-radius:4px;overflow:hidden; }
    .meter-fill { height:100%;border-radius:4px;display:flex;align-items:center;padding-left:10px;font-size:12px;font-weight:700;color:#fff; }
    .mf-max  { background:linear-gradient(90deg,#1e8449,#27ae60); }
    .mf-high { background:linear-gradient(90deg,#1a5276,#2980b9); }
    .mf-med  { background:linear-gradient(90deg,#d35400,#e67e22); }
    .mf-low  { background:linear-gradient(90deg,#7f8c8d,#95a5a6); }

    /* SITE FOOTER */
    .site-footer { background:#1a1a1a;color:#888;text-align:center;padding:24px;font-size:13px;margin-top:60px; }
    .site-footer a { color:#aaa; }