
:root{--primary:#1d4ed8;--primary-600:#2563eb;--bg:#ffffff;--text:#1f2937;--muted:#6b7280;--light:#f3f4f6;--card:#ffffff;--border:#e5e7eb}
*{box-sizing:border-box}html,body{margin:0;padding:0;color:var(--text);background:var(--bg);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,Noto Sans,"Apple Color Emoji","Segoe UI Emoji";line-height:1.6}
.container{max-width:1100px;margin:0 auto;padding:0 1rem}
.site-header{position:sticky;top:0;background:#fff;border-bottom:1px solid var(--border);z-index:50}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{display:inline-flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--text)}
.brand-text{font-weight:800;letter-spacing:.3px}
.brand-logo{height:32px;width:32px;border-radius:9999px;object-fit:cover;background:#fff;box-shadow:0 0 0 1px var(--border)}
.nav{display:flex;gap:1rem}.nav a{color:var(--text);text-decoration:none;padding:.5rem .75rem;border-radius:.5rem}.nav a:hover{background:var(--light)}
.nav-toggle{display:none;border:1px solid var(--border);background:#fff;border-radius:.5rem;padding:.4rem .6rem;font-size:1rem}
.hero{background:linear-gradient(135deg,#eff6ff,#f8fafc);padding:4rem 0;border-bottom:1px solid var(--border)}
.hero .title{font-size:clamp(1.8rem,2.8vw,2.6rem);margin:0 0 .5rem 0}.hero .subtitle{color:var(--muted);max-width:60ch}
.grid{display:grid;gap:1.2rem}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-2{grid-template-columns:repeat(2,1fr)}
.card{background:var(--card);border:1px solid var(--border);border-radius:1rem;padding:1rem}.card h3{margin:.2rem 0}
.section{padding:2.5rem 0}
.kicker{display:inline-block;color:#0ea5e9;font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;margin-bottom:.5rem}
.section h2{margin:.2rem 0 1rem 0;font-size:clamp(1.4rem,2.2vw,2rem)}
.btn{display:inline-block;background:var(--primary);color:#fff;text-decoration:none;padding:.7rem 1rem;border-radius:.6rem;border:1px solid #1e40af}.btn:hover{background:var(--primary-600)}
.banner{padding:1rem;border:1px dashed var(--border);background:#f9fafb;border-radius:.8rem}
.badge{display:inline-block;padding:.2rem .5rem;border-radius:.5rem;background:#e0f2fe;color:#075985;font-weight:600;font-size:.8rem}
.feature-list{list-style:none;padding:0;margin:0;display:grid;gap:.5rem}.feature-list li{display:flex;align-items:flex-start;gap:.6rem}.feature-list li::before{content:"✓";color:#059669;margin-top:.2rem}
.notice{padding:1rem;border-left:4px solid #f59e0b;background:#fffbeb;border-radius:.4rem}
.site-footer{border-top:1px solid var(--border);padding:2rem 0;margin-top:2rem;background:#fff}
.footer-grid{display:grid;gap:1rem;grid-template-columns:2fr 1fr 2fr}.footer-brand{font-weight:800}
.footer-section-title{font-weight:700;margin-bottom:.5rem}.footer-links{list-style:none;padding:0;margin:0;display:grid;gap:.3rem}.footer-links a{color:var(--text);text-decoration:none}
.footer-bottom{display:flex;justify-content:space-between;gap:1rem;margin-top:1rem;color:var(--muted);font-size:.9rem}.muted{color:var(--muted)}
.table{width:100%;border-collapse:collapse}.table th,.table td{border-bottom:1px solid var(--border);padding:.6rem;text-align:left}.table th{background:#f8fafc}
.news-card{display:grid;gap:.4rem;border:1px solid var(--border);padding:1rem;border-radius:1rem;background:#fff}.news-meta{color:var(--muted);font-size:.9rem}
@media (max-width:900px){.grid-3{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.grid-3,.grid-2{grid-template-columns:1fr}.header-inner{height:auto;gap:.5rem;padding:.5rem 0}
.nav-toggle{display:inline-block}.nav{display:none;flex-direction:column;padding:.5rem;border:1px solid var(--border);border-radius:.8rem}.nav.open{display:flex}
.hero{padding:2.5rem 0}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column;align-items:flex-start}}

/* --- Logo sizing override --- */
:root { --logo-size: 56px; }        /* adjust 48–64px as needed */
@media (max-width: 640px) {
  :root { --logo-size: 44px; }
}
.site-header .brand-logo { height: var(--logo-size); width: var(--logo-size); }
.site-header .header-inner { height: calc(var(--logo-size) + 28px); align-items: center; }
:root { --logo-size: 56px; }   /* desktop */
@media (max-width: 640px) {
  :root { --logo-size: 44px; } /* mobile */
}

