:root {
    --navy: #0A1B33;
    --navy-deep: #061224;
    --teal: #00A896;
    --teal-soft: rgba(0,168,150,0.14);
    --white: #FFFFFF;
    --text-muted: #A9B7CB;
    --text-dark: #0A1B33;
    --tile-available-bg: #B7EAE0;
    --tile-available-text: #04463C;
    --tile-unavailable-bg: #2B333F;
    --tile-unavailable-text: #A8B4C7;
    --border-soft: rgba(255,255,255,0.10);
    --black: #0a0a0a;
  }
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    background: var(--navy);
    color: var(--white);
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
  }
a { text-decoration: none; color: inherit; }
img { max-width: 100%; display: block; }
section { width: 100%; }
/* ── Announcement Bar (locked — shared component, do not edit) ── */
.announcement-bar { width: 100%; background: #00A896; overflow: hidden; white-space: nowrap; padding: 7px 0; position: fixed; top: 0; left: 0; right: 0; z-index: 1001; }
.announcement-track { display: inline-flex; animation: ticker 48s linear infinite; }
.announcement-content { display: inline-block; color: var(--black); font-size: 0.75rem; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; padding-right: 40px; }
@keyframes ticker { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }
.announcement-bar:hover .announcement-track { animation-play-state: paused; }
@media (prefers-reduced-motion: reduce) {
  .announcement-track { animation: none; }
  .announcement-content[aria-hidden="true"] { display: none; }
}
/* ── Nav ── */
.site-nav { position: fixed; top: 34px; left: 0; right: 0; z-index: 999; background: var(--navy-deep); border-bottom: 1px solid var(--border-soft); }
.nav-inner { max-width: 1200px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; padding: 0 24px; height: 80px; gap: 20px; }
.nav-logo img { height: 23px; width: auto; display: block; filter: brightness(1.18) contrast(1.03); }
.nav-menu { display: flex; align-items: center; }
.nav-links { display: flex; gap: 32px; list-style: none; align-items: center; }
.nav-links a { font-size: 14px; color: var(--white); }
.nav-links a:hover { color: var(--teal); }
.nav-signin { font-size: 14px; font-weight: 600; color: var(--teal); flex-shrink: 0; }
.nav-toggle { display: none; background: none; border: none; cursor: pointer; padding: 12px; flex-shrink: 0; }
.nav-toggle span { display: block; width: 22px; height: 2px; background: var(--white); margin: 4px 0; }
@media (max-width: 860px) {
  .nav-inner { padding: 0 16px; height: 72px; }
  .nav-toggle { display: block; }
  .nav-menu {
      position: absolute; top: 72px; left: 0; right: 0;
      background: var(--navy-deep); border-bottom: 1px solid var(--border-soft);
      display: none; flex-direction: column; padding: 8px 16px 16px;
    }
  .nav-menu.open { display: flex; }
  .nav-links { flex-direction: column; align-items: flex-start; gap: 4px; width: 100%; }
  .nav-links a { display: block; width: 100%; padding: 12px 4px; border-bottom: 1px solid var(--border-soft); }
}
.btn-primary { background: var(--teal); color: var(--text-dark); font-size: 15px; font-weight: 700; padding: 15px 36px; border-radius: 100px; border: none; cursor: pointer; display: inline-block; transition: opacity 0.2s, transform 0.15s; }
.btn-primary:hover { opacity: 0.88; transform: translateY(-1px); }
/* ── Footer (shared component — preserved; edits limited to hard-rule fixes) ── */
.footer { background: #070707; border-top: 1px solid rgba(255,255,255,0.06); padding: 64px 48px 40px; width: 100%; }
.footer-inner { max-width: 1100px; margin: 0 auto; }
.footer-top { display: grid; grid-template-columns: 1.5fr 1fr 1fr; gap: 60px; margin-bottom: 48px; }
.footer-logo img { height: 12px; width: auto; display: block; margin-bottom: 16px; }
.footer-brand-text { font-size: 13px; color: rgba(255,255,255,0.6); line-height: 1.7; max-width: 260px; }
.footer-contact { margin-top: 16px; font-size: 13px; color: rgba(255,255,255,0.6); }
.footer-contact a { color: var(--teal); }
.footer-col h4 { font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(255,255,255,0.6); margin-bottom: 20px; }
.footer-col ul { list-style: none; display: flex; flex-direction: column; gap: 12px; }
.footer-col a { font-size: 13px; color: rgba(255,255,255,0.6); transition: color 0.2s; }
.footer-col a:hover { color: var(--white); }
.footer-bottom { border-top: 1px solid rgba(255,255,255,0.06); padding-top: 28px; display: flex; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; gap: 16px; }
.footer-copy { font-size: 12px; color: rgba(255,255,255,0.55); line-height: 1.6; max-width: 680px; }
.footer-legal-links { display: flex; gap: 20px; flex-wrap: wrap; }
.footer-legal-links a { font-size: 12px; color: rgba(255,255,255,0.6); transition: color 0.2s; }
.footer-legal-links a:hover { color: rgba(255,255,255,0.7); }
.footer-legitscript { flex-shrink: 0; }
.footer-legitscript img { display: block; }
@media (max-width: 768px) {
  .footer { padding: 48px 20px 32px; }
  .footer-top { grid-template-columns: 1fr; gap: 32px; }
  .footer-bottom { flex-direction: column; }
}
