/* ================================
   GOLDEN JUBILEE — RESPONSIVE PAGE
   Full banner visible on every device
   ================================ */

* {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  padding: 0;
  width: 100%;
  min-height: 100%;
}

html {
  background: #003f32;
}

body {
  background: #003f32;
  font-family: Arial, Helvetica, sans-serif;
  overflow-x: hidden;
}

/* The page follows the image's natural aspect ratio. */
.page {
  position: relative;
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  line-height: 0;
}

/*
   DO NOT use height: 100vh or object-fit: cover here.

   width: 100% + height: auto means:
   - PC: complete banner visible
   - Laptop: complete banner visible
   - Tablet: complete banner visible
   - Phone: complete banner visible
   - No important part of the artwork gets cropped
*/
.banner {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
  margin: 0;
  padding: 0;

  user-select: none;
  -webkit-user-drag: none;
}

/* =========================================
   REAL HTML/CSS PHYSICAL WEBSITE LINK
   ========================================= */

.website-link {
  position: absolute;

  /*
    Position is percentage-based, so it scales
    together with the banner on every screen.
  */
  left: 50%;
  top: 78.8%;

  transform: translate(-50%, -50%);

  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;

  min-width: 170px;
  padding: 8px 18px;

  color: #073b91;
  background: rgba(255, 255, 255, 0.96);

  border: 1px solid rgba(7, 59, 145, 0.30);
  border-radius: 999px;

  font-family: Arial, Helvetica, sans-serif;
  font-size: clamp(12px, 1.15vw, 18px);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.2px;

  text-decoration: none;
  white-space: nowrap;

  box-shadow: 0 5px 18px rgba(0, 40, 100, 0.20);

  z-index: 20;

  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease,
    background 0.2s ease;
}

.website-link span {
  font-size: 16px;
  line-height: 1;
}

.website-link:hover {
  transform: translate(-50%, -50%) translateY(-2px);
  background: #ffffff;
  box-shadow: 0 8px 24px rgba(0, 40, 100, 0.28);
}

.website-link:active {
  transform: translate(-50%, -50%);
}

.website-link:focus-visible {
  outline: 3px solid #ffd52e;
  outline-offset: 4px;
}

/* ================================
   TABLET
   ================================ */

@media (max-width: 900px) {
  .website-link {
    min-width: 145px;
    padding: 7px 14px;
    font-size: clamp(11px, 1.7vw, 15px);
    gap: 5px;
  }

  .website-link span {
    font-size: 14px;
  }
}

/* ================================
   PHONE
   ================================ */

@media (max-width: 600px) {
  .website-link {
    /*
      Still percentage based — it stays
      in the same physical location in the artwork.
    */
    top: 78.8%;

    min-width: 125px;
    padding: 6px 11px;

    font-size: 11px;
    gap: 4px;

    border-width: 1px;
  }

  .website-link span {
    font-size: 12px;
  }
}

/* Very small phones */
@media (max-width: 380px) {
  .website-link {
    min-width: 108px;
    padding: 5px 9px;
    font-size: 10px;
  }

  .website-link span {
    font-size: 11px;
  }
}

/* Accessibility */
@media (prefers-reduced-motion: reduce) {
  .website-link {
    transition: none;
  }
}
