:root{--color-primary:#161d72;--color-accent:#f5d90a;--color-bg-soft:#f6f7fb;--color-text:#1a1a1a;--color-danger:#c0392b}*{box-sizing:border-box}body{color:var(--color-text);min-height:100%;margin:0;font-family:system-ui,sans-serif;line-height:1.6}img{max-width:100%;display:block}html{scroll-behavior:smooth}html,body{height:100%}.site{flex-direction:column;min-height:100vh;display:flex}.site-main{flex:1}.home-page main{background:var(--color-primary)}.container{width:90%;max-width:1100px;margin:auto}.section{padding:4rem 0}.section-alt{background:var(--color-bg-soft)}.grid-2{grid-template-columns:repeat(2,1fr);gap:2rem;display:grid}@media (width<=900px){.grid-2{grid-template-columns:1fr}}.header{background:var(--color-primary);z-index:1000;padding:1rem 0;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;display:flex}.logo img{width:auto;height:120px}.logo-lg{border-radius:12px;max-width:200px;height:auto;margin-top:20px;margin-bottom:30px;transition:transform .3s,box-shadow .3s;box-shadow:0 8px 20px #00000026}.logo-lg:hover{transform:translateY(-4px);box-shadow:0 12px 28px #00000040}.nav{gap:2rem;display:flex}.nav a{color:#fff;font-weight:500;text-decoration:none}.nav a:hover{color:var(--color-accent)}.header-cta{font-size:.9rem}@media (width<=900px){.header-inner{flex-direction:column;align-items:center;gap:1rem}.nav{flex-direction:column;align-items:center;gap:1rem;display:flex}.nav a{font-size:1.1rem}.header-cta{margin-top:1rem}}.footer{background:var(--color-primary);color:#fff;padding:3rem 0 1rem}.footer-grid{grid-template-columns:2fr 1fr 1fr;gap:2rem;display:grid}.footer a,.address-link{color:var(--color-accent);font-weight:500;text-decoration:none}.footer a:hover,.address-link:hover{text-decoration:underline}.footer img{max-width:120px;margin-top:1rem}.footer-bottom{text-align:center;opacity:.8;margin-top:2rem;font-size:.85rem}@media (width<=900px){.footer-grid{grid-template-columns:1fr}}.hero{background:var(--color-primary);color:#fff;text-align:center;padding:6rem 0}.hero-content{flex-direction:column;justify-content:center;align-items:center;gap:.2rem;display:flex}.small-hero{padding:4rem 0}.hero-address a{color:var(--color-accent);font-weight:500;text-decoration:none}.hero-address a:hover{text-decoration:underline}.btn-primary{background:var(--color-accent);color:var(--color-primary);border-radius:6px;padding:.8rem 1.5rem;font-weight:700;text-decoration:none;display:inline-block}.btn-primary:hover{opacity:.9}.btn-secondary{color:#fff;border:2px solid #fff;border-radius:6px;padding:.8rem 1.5rem;text-decoration:none;display:inline-block}.card{background:#fff;border-radius:10px;padding:2rem;transition:transform .3s,box-shadow .3s;box-shadow:0 10px 30px #0000000d}.card:hover{transform:translateY(-6px);box-shadow:0 15px 40px #00000014}.card-footer{justify-content:space-between;align-items:center;margin-top:1rem;display:flex}.card-footer .date{opacity:.8;font-size:.85rem;font-weight:700}.grades-group{margin-bottom:2.5rem}.grades-group h3{color:var(--color-primary);margin-bottom:.8rem}.grades-group ul{margin:0;padding:0;list-style:none}.grades-group li{padding:.4rem 0;font-size:1.05rem}.timeline{margin-top:2rem;position:relative}.timeline-item{border-left:4px solid var(--color-primary);margin-bottom:3rem;padding-left:2rem}.timeline-year{color:var(--color-primary);margin-bottom:.5rem;font-size:1.2rem;font-weight:700}.timeline-content p{margin:.5rem 0}.timeline-content ul{margin:.5rem 0;padding-left:1.2rem}.badge-memory{color:#444;background:#f3f3f3;border:1px solid #ddd;border-radius:20px;margin-left:10px;padding:4px 12px;font-size:.8rem;font-style:italic;display:inline-block}.contact-grid{grid-template-columns:repeat(3,1fr);gap:2rem;display:grid}.contact-card{background:#fff;border-radius:10px;padding:2rem;box-shadow:0 10px 30px #0000000d}.contact-card h2{color:var(--color-primary);margin-bottom:.5rem}.contact-card h3{margin-top:0;margin-bottom:1rem}.contact-card a{color:var(--color-primary);text-decoration:none}.contact-card a:hover{color:var(--color-accent)}@media (width<=900px){.contact-grid{grid-template-columns:1fr}}.bureau-grid{grid-template-columns:repeat(4,1fr);gap:2rem;display:grid}.bureau-card{text-align:center;background:#fff;border-radius:10px;padding:2rem;box-shadow:0 10px 30px #0000000d}.bureau-card h2{color:var(--color-primary);margin-bottom:1rem;font-size:1.1rem}.bureau-name{margin:0;font-size:1.1rem;font-weight:600}@media (width<=900px){.bureau-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.bureau-grid{grid-template-columns:1fr}}.doc-list li{margin-bottom:1rem}.doc-list a{color:var(--color-primary);font-weight:600;text-decoration:none}.doc-list a:hover{color:var(--color-accent)}.payment-list li{margin-bottom:.8rem}.payment-required{color:var(--color-danger);font-weight:700}.doc-list small{color:#666;margin-top:.25rem;display:block}.doc-cert{font-weight:700}.table-wrapper{overflow-x:auto}.schedule-table{border-collapse:collapse;background:#fff;border-radius:10px;width:100%;overflow:hidden}.schedule-table th,.schedule-table td{text-align:left;border-bottom:1px solid #eee;padding:14px}.schedule-table th{background:var(--color-primary);color:#fff}.schedule-table tr:hover{background:var(--color-bg-soft)}.code-moral{max-width:800px;margin:0 auto}.moral-list{margin:2rem 0;padding:0;list-style:none}.moral-list li{background:var(--color-bg-soft);border-left:4px solid var(--color-accent);border-radius:8px;margin-bottom:1rem;padding:1rem}.schedule-highlight{background:#f5d90a40;border-radius:4px;padding:.2rem .4rem;font-weight:500}.actualites-header{text-align:center;margin-bottom:3rem}.empty-state{text-align:center;background:var(--color-bg-soft);border-radius:12px;padding:3rem 2rem}.empty-state h3{margin-bottom:1rem}.empty-state p{opacity:.8;margin-bottom:2rem}.actualites-link{color:var(--color-primary);font-weight:600;text-decoration:none}.article-wrapper{flex-direction:column;min-height:60vh;display:flex}.article-content{flex:1}.back-btn{align-self:flex-start;margin-top:2rem}.article-content h2,.article-content h3{margin-top:2rem}.article-content p{margin-bottom:1rem}.grid-cards{grid-template-columns:repeat(3,1fr);gap:2rem;display:grid}@media (width<=1024px){.grid-cards{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.grid-cards{grid-template-columns:1fr}}.result-img{object-fit:cover;border-radius:8px;width:100%;height:400px;margin-top:1rem}.card.result{background:#fff;border-radius:10px;flex-direction:column;height:100%;padding:2rem;transition:transform .3s,box-shadow .3s;display:flex;box-shadow:0 10px 30px #0000000d}
