body {
font-family: 'Segoe UI', sans-serif;
margin: 0;
padding: 0;
background: linear-gradient(to bottom, #003366, #1a1a1a);
color: white;
text-align: center;
}

.site-header {
padding: 2em;
background-color: #003366;
}

.site-header h1 {
font-size: 2em;
margin: 0 0 0.3em 0;
}

.site-header .highlight {
color: #4db8ff;
}

.nav-links {
margin-top: 2em;
display: flex;
justify-content: center;
gap: 1.5em;
flex-wrap: wrap;
}

.nav-links a {
color: #ffffff;
background: #004080;
padding: 0.7em 1.5em;
border-radius: 5px;
text-decoration: none;
font-weight: bold;
transition: background 0.3s ease;
}

.nav-links a:hover {
background: #3399ff;
color: #000;
}

.site-footer {
margin-top: 3em;
padding: 1em;
background-color: #002244;
font-size: 0.9em;
}

/* Layout helpers */
.container { max-width: 920px; margin: 2rem auto; padding: 0 1rem; }
.top-nav { margin-top: 1rem; display: flex; gap: .75rem; justify-content: center; flex-wrap: wrap; }
.top-nav a { color: #fff; text-decoration: none; padding: .4rem .8rem; border: 1px solid #4db8ff33; border-radius: 4px; }
.top-nav a:hover { background:#3399ff; color:#000; }

.link-list { list-style: none; padding: 0; margin: 1.5rem auto; max-width: 640px; }
.link-list li { background:#004080; border-radius:6px; margin:.5rem 0; padding:.8rem 1rem; text-align:left; }
.link-list a { color:#fff; text-decoration:none; font-weight:600; }

.card-grid { display:grid; gap:1rem; grid-template-columns: repeat(auto-fit, minmax(240px,1fr)); margin-top:1rem; }
.card { background:#004080; border-radius:8px; padding:1rem; text-align:left; }
wrap { max-width: 960px; margin: 0 auto; padding: 1.5rem; }
.grid-cards { display:grid; gap:1rem; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); }
.card { background:#004080; color:#fff; border-radius:8px; padding:1rem; }
.card .btn { background:#4db8ff; color:#000; border-radius:6px; padding:.55rem .9rem; text-decoration:none; display:inline-block; margin-top:.5rem; }
.card .btn:hover { filter:brightness(1.05); }
.map-embed { border:1px solid #dde; border-radius:8px; overflow:hidden; margin-top:1rem; }
img { max-width: 100%; height: auto; border-radius: 6px; }
.card .btn { display:inline-block; margin-top:.6rem; background:#3399ff; color:#000; padding:.5rem .9rem; border-radius:4px; text-decoration:none; font-weight:700; }

.vendor { background:#004080; border-radius:8px; padding:1rem; margin-bottom:1rem; text-align:left; }
.note { opacity:.9; margin-top:1rem; }

.alt-box { background:#002d55; border-left:4px solid #4db8ff; padding:1rem; margin-top:1.5rem; }

.embed { width:100%; height:80vh; border:0; border-radius:8px; background:#fff; }
