:root{--bg:#061823;--fg:#E6F2F9;--muted:#9CC4DC;--brand:#004A77;--brand-600:#006199;--brand-700:#003a5a;--card:#0B2231;--border:#12364C}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:var(--bg);color:var(--fg);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Arial,sans-serif;text-align:center;line-height:1.55;display:flex;flex-direction:column}
header{background:var(--brand)}
.navbar{max-width:1100px;margin:0 auto;padding:.55rem 1rem;display:flex;align-items:center;justify-content:space-between}
.brand{display:inline-flex;align-items:center}
.logo{height:48px;max-height:60px;width:auto}
.nav-links{display:flex;gap:.6rem}
.nav-links a{color:#fff;text-decoration:none;padding:.45rem .85rem;background:var(--brand-600);border-radius:8px}
.nav-links a:hover,.nav-links a:focus{background:var(--brand-700)}
main{flex:1 0 auto}
.container{max-width:1100px;margin:0 auto;padding:1.25rem; align-items: center;}
.hero{padding:2rem 1rem}
.hero p{max-width:900px;margin:.5rem auto;color:var(--muted)}
.grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));justify-items:center; align-items: center;overflow-x: unset;}
.card{background:var(--card);border:1px solid var(--border);border-radius:.75rem;padding:1rem;max-width:520px;text-align:center; align-items: center;}
.card h3{margin-top:0}
.card-link{display:block;color:inherit;text-decoration:none}
.card-link:focus .card,.card-link:hover .card{transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.35);border-color:var(--brand-600)}
.media{background:var(--card);border:1px solid var(--border);border-radius:.75rem;overflow:hidden;margin:1rem 0}
.media img{display:block;width:100%;height:auto}
.btn{display:inline-block;background:var(--brand);color:#fff;padding:.7rem 1rem;border-radius:.5rem;text-decoration:none}
.btn:hover,.btn:focus{background:var(--brand-600)}
.btn.back{background:transparent;border:1px solid var(--border);color:var(--fg)}
.btn.back:hover,.btn.back:focus{border-color:var(--brand-600);background:var(--brand-700);color:#fff}
.container ul{list-style-position:inside;text-align:left;margin:1rem auto;max-width:620px}
footer{flex-shrink:0;border-top:1px solid var(--border);background:var(--card);margin-top:3rem}
.footer-brand-wrap{max-width:1100px;margin:0 auto;padding:1.25rem;display:flex;flex-direction:column;align-items:center;gap:.75rem}
.logo--footer{height:36px;max-height:40px;width:auto}
.footer-meta{color:var(--muted)}
@media (max-width:520px){.logo{height:40px}}
.horizontal-grid{display: flex;gap:1rem;overflow-x:auto;padding:1rem;justify-content:center;flex-wrap:wrap;}
.container.horizontal-grid {max-width: none;padding-left: 0;padding-right: 0;}