/* ── Reset ── */
* { margin: 0; padding: 0; box-sizing: border-box; }

html { min-height: 100%; }

body {
  min-height: 100vh;
  background: #ffffff;
  font-family: 'Times New Roman', Times, serif;
  display: flex;
  flex-direction: column;
}

/* ── Page container: 968px centered ── */
.page-container {
  width: 968px;
  max-width: 100%;
  margin: 0 auto;
}

/* ── Main nav ── */
.main-nav { background: #ffffff; }

.logo-banner {
  display: flex;
  align-items: center;
  gap: 24px;
  height: 90px;
}

.logo-wrap {
  display: flex;
  align-items: center;
  width: 224px;
  flex-shrink: 0;
  gap: 12px;
}

.logo-star-wrap {
  position: relative;
  display: inline-block;
}

.logo-star-wrap > a { display: block; }

.logo-icon {
  width: 64px;
  height: 58px;
  display: block;
}

.star {
  position: absolute;
  color: #fe4531;
  font-size: 11px;
  pointer-events: none;
  opacity: 0;
  animation: star-appear 0.35s ease forwards;
  -webkit-font-smoothing: none;
  font-family: Arial, sans-serif;
}

@keyframes star-appear {
  from { opacity: 0; transform: scale(0.5); }
  to   { opacity: 1; transform: scale(1); }
}

@keyframes star-disappear {
  from { opacity: 1; transform: scale(1); }
  to   { opacity: 0; transform: scale(0.5); }
}

.logo-name {
  width: 148px;
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 24.42px;
  color: #000000;
  text-align: center;
  flex-shrink: 0;
  text-transform: uppercase;
}

.logo-divider {
  width: 1px;
  height: 34.5px;
  background: #c5c5c5;
  flex-shrink: 0;
}

.logo-tagline {
  font-style: italic;
  font-size: 14px;
  line-height: 16.1px;
  color: #353535;
  text-align: left;
}

/* ── Nav tabs ── */
.nav-tabs {
  display: flex;
  height: 37px;
  gap: 3px;
}

.nav-tab {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 18px;
  line-height: 20.7px;
  color: #ffffff;
  text-decoration: none;
  background: #ad190d;
  border-radius: 8px 8px 0 0;
}

.nav-tab:link, .nav-tab:visited, .nav-tab:active { color: #ffffff; }
.nav-tab.active { background: #407656; }

/* ── Scroller bar ── */
.scroller {
  background: #000000;
  height: 39px;
  display: flex;
  align-items: center;
  overflow: hidden;
}

.scroller marquee {
  color: #ffffff;
  font-family: 'Times New Roman', Times, serif;
  font-size: 14px;
}

/* ── Ad cards (shared) ── */
.ad-card {
  flex: 1;
  height: 64px;
  background: #ffffff;
  border: 1px solid #c5c5c5;
  display: flex;
  align-items: center;
  padding-left: 8px;
  gap: 8px;
}

.ad-card-icon { font-size: 18px; flex-shrink: 0; }

.ad-card-text {
  font-size: 18px;
  line-height: 20.7px;
  color: #ad190d;
}

/* ── Footer ── */
footer { padding-bottom: 40px; }

.contact-us-section {
  height: 50px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.contact-label {
  font-weight: 700;
  font-size: 18px;
  line-height: 20.7px;
  color: #000000;
}

.contact-email-link {
  font-size: 18px;
  line-height: 20.7px;
  text-decoration: none;
}

.contact-email-link:link, .contact-email-link:visited { color: #000000; }

.footer-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 24.5px;
  margin: 24px 0;
}

.footer-nav a {
  font-size: 18px;
  line-height: 20.7px;
  text-decoration: none;
}

.footer-nav a:link, .footer-nav a:visited { color: #ad190d; }
.footer-nav a:hover { text-decoration: underline; }

.footer-nav a + a {
  border-left: 1px solid #c5c5c5;
  padding-left: 8px;
}

.footer-attribution {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

.attribution-text {
  font-size: 14px;
  line-height: 16.1px;
  color: #000000;
}

.copyright-text {
  font-style: italic;
  font-size: 14px;
  line-height: 16.1px;
  color: #353535;
}

/* ── Cursors ── */
body { cursor: none; }
a, button { cursor: none; }
input[type="text"], input[type="email"], textarea { cursor: url('images/Cursor80.cur') 8 9, text; }
:disabled, [disabled] { cursor: url('images/Cursor99.cur') 10 10, not-allowed; }
[title], abbr { cursor: url('images/Cursor103.cur') 10 10, help; }

/* ── Link colours ── */
a:link    { color: #0000EE; }
a:visited { color: #551A8B; }
a:active  { color: #EE0000; }

/* ── Link button ── */
a.link-button {
  font-family: 'Times New Roman', Times, serif;
  font-size: 18px;
  line-height: 20.7px;
  color: #1521e9;
  text-decoration: none;
}

a.link-button:link, a.link-button:visited { color: #1521e9; }
a.link-button:hover { text-decoration: underline; }

/* ── Section heading ── */
.section-heading {
  font-weight: 700;
  font-size: 24px;
  line-height: 27.6px;
  color: #000000;
}

/* ── Shared form styles ── */
.form-heading {
  font-weight: 700;
  font-size: 24px;
  line-height: 27.6px;
  color: #000000;
  text-align: center;
  margin-bottom: 16px;
}

.form-field { margin-bottom: 16px; }

.form-label {
  display: block;
  font-weight: 700;
  font-size: 18px;
  line-height: 20.7px;
  color: #000000;
  margin-bottom: 8px;
}

.form-input {
  display: block;
  width: 100%;
  height: 29px;
  border: 1px solid #b0b0b0;
  font-family: 'Times New Roman', Times, serif;
  font-size: 18px;
  padding: 0 4px;
  background: #ffffff;
  outline: none;
}

.form-textarea {
  display: block;
  width: 100%;
  height: 109px;
  border: 1px solid #b0b0b0;
  font-family: 'Times New Roman', Times, serif;
  font-size: 18px;
  padding: 4px;
  background: #ffffff;
  resize: vertical;
  outline: none;
}

.form-submit-row {
  display: flex;
  justify-content: flex-end;
  margin-top: 8px;
}

.form-submit {
  width: 73px;
  height: 29px;
  background: linear-gradient(180deg, #ffffff 0%, #f1f1f1 100%);
  border: 1px solid #b0b0b0;
  font-family: 'Times New Roman', Times, serif;
  font-size: 18px;
  line-height: 20.7px;
  color: #000000;
}

/* ── Responsive: ≤1024px ── */
@media (max-width: 1024px) {
  .page-container {
    width: 342px;
    max-width: 100%;
  }

  .main-nav {
    height: 206px;
  }

  .logo-banner {
    flex-direction: column;
    height: 130px;
    justify-content: center;
    align-items: center;
    gap: 8px;
    padding: 16px 0;
  }

  .logo-divider {
    display: none;
  }

  .logo-wrap {
    margin: 0 auto;
    width: 224px;
  }

  .logo-tagline {
    flex: none;
    width: 100%;
    padding: 0 16px;
    text-align: center;
    line-height: 16.1px;
  }

  .nav-tabs {
    width: 342px;
    max-width: 100%;
  }

  .nav-tab {
    min-width: 0;
  }

  .scroller {
    width: 342px;
    max-width: 100%;
  }
}
