@import url('https://fonts.googleapis.com/css2?family=Lexend:wght@400;500;600;700&display=swap');

.edTop {
  display: block !important;
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #fff !important;
  border: 0 !important;
  border-bottom: 1px solid #dbe3ea !important;
  box-shadow: none !important;
  color: #263238 !important;
  font-family: Lexend, Arial, sans-serif !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
  z-index: 20 !important;
}

.edTop .edTopInner {
  width: auto !important;
  max-width: 1120px !important;
  margin: 0 auto !important;
  padding: 18px 20px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 24px !important;
}

.edTop .edBrand {
  color: #173a63 !important;
  font: 700 28px/1.25 Lexend, Arial, sans-serif !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  margin: 0 !important;
  padding: 0 !important;
}

.edTop .edNav {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 5px !important;
  margin: 0 0 0 auto !important;
  padding: 0 !important;
  width: auto !important;
}

.edTop .edNav a {
  display: inline-block !important;
  color: #334155 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 9px !important;
  font: 600 16px/1.25 Lexend, Arial, sans-serif !important;
  text-decoration: none !important;
  margin: 0 !important;
  padding: 10px 12px !important;
  white-space: nowrap !important;
}

.edTop .edNav a:hover,
.edTop .edNav a[aria-current="page"] {
  color: #173a63 !important;
  background: #eef6ff !important;
}

@media (max-width: 850px) {
  .edTop .edTopInner {
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: 10px !important;
  }

  .edTop .edNav {
    width: 100% !important;
    margin-left: 0 !important;
  }
}

@media (max-width: 650px) {
  .edTop .edBrand { font-size: 25px !important; }
  .edTop .edNav { gap: 2px !important; }
  .edTop .edNav a {
    font-size: 13px !important;
    padding: 8px 9px !important;
  }
}

@media print {
  .edTop { display: none !important; }
}

/* Mobile and print safeguards — v206 */
html {
  max-width: 100%;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  max-width: 100%;
  overflow-x: hidden;
  overflow-wrap: break-word;
}

main,
section,
article,
figure {
  min-width: 0;
}

img,
svg,
video,
canvas {
  max-width: 100%;
}

input,
select,
textarea,
button {
  box-sizing: border-box;
  max-width: 100%;
}

/* Give the short A0 reading questions a full writing line. */
.reading + h2 + ol.questions li::after {
  content: "";
  display: block;
  width: 100%;
  height: 30px;
  border-bottom: 1.5px solid #a9b4bd;
}

@media (max-width: 650px) {
  .edTop .edTopInner {
    padding: 14px 12px !important;
  }

  .edTop .edNav a {
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
  }

  table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .reading + h2 + ol.questions li::after {
    height: 34px;
  }
}

@media print {
  html,
  body {
    max-width: none !important;
    overflow: visible !important;
  }

  img,
  svg,
  figure,
  table,
  tr,
  .q,
  .question,
  .prompt,
  .sectionBox {
    break-inside: avoid-page;
    page-break-inside: avoid;
  }

  table {
    display: table;
    overflow: visible;
  }

  .reading + h2 + ol.questions li::after {
    height: 8mm;
    border-bottom-color: #000;
  }
}
