/* =========================================================
   GHE OSTEOPOROSIS & BONE HEALTH MODULE
   Global Health Explorers
========================================================= */

:root {

  --navy: #0b2d4d;
  --blue: #1677b8;
  --sky: #eaf6fb;
  --teal: #087f8c;
  --green: #2e7d5b;
  --gold: #e0a62b;

  --bone: #c58a3a;
  --bone-dark: #8f5d20;
  --bone-soft: #fff7ea;

  --ink: #183044;
  --muted: #5d7180;

  --white: #ffffff;
  --soft: #f5f9fb;

  --line: #d9e5eb;

}


/* =========================================================
   GLOBAL
========================================================= */

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {

  margin: 0;

  font-family:
    Inter,
    "Segoe UI",
    Arial,
    sans-serif;

  color: var(--ink);

  background: var(--soft);

  line-height: 1.65;

}

a {

  color: var(--blue);

  text-decoration: none;

}

a:hover {

  text-decoration: underline;

}


/* =========================================================
   NAVIGATION
========================================================= */

.nav {

  position: sticky;

  top: 0;

  z-index: 9999;

  background: var(--navy);

  padding: 12px 18px;

  box-shadow:
    0 2px 12px rgba(0,0,0,0.15);

}

.nav-inner {

  max-width: 1200px;

  margin: auto;

  display: flex;

  align-items: center;

  justify-content: center;

  flex-wrap: wrap;

  gap: 7px;

}

.nav a {

  color: white;

  padding: 8px 14px;

  border-radius: 999px;

  font-size: 0.9rem;

  transition:
    background 0.2s ease,
    transform 0.2s ease;

}

.nav a:hover {

  background:
    rgba(255,255,255,0.15);

  text-decoration: none;

  transform:
    translateY(-1px);

}


/* =========================================================
   OSTEOPOROSIS HERO
========================================================= */

.osteoporosis-hero {

  position: relative;

  min-height: 430px;

  display: flex;

  align-items: center;

  overflow: hidden;

  background:
    linear-gradient(
      120deg,
      #513018 0%,
      #8f5d20 43%,
      #c58a3a 72%,
      #e0ad61 100%
    );

  color: #ffffff;

}


/* atmospheric background */

.osteoporosis-hero::before {

  content: "";

  position: absolute;

  inset: 0;

  background:
    radial-gradient(
      circle at 82% 30%,
      rgba(255,255,255,0.18),
      transparent 28%
    ),
    radial-gradient(
      circle at 65% 90%,
      rgba(255,255,255,0.09),
      transparent 34%
    );

  pointer-events: none;

}


/* subtle bone-inspired decorative arcs */

.osteoporosis-hero::after {

  content: "";

  position: absolute;

  width: 540px;

  height: 540px;

  right: -180px;

  top: -160px;

  border:
    2px solid
    rgba(255,255,255,0.14);

  border-radius: 50%;

  box-shadow:
    0 0 0 55px rgba(255,255,255,0.035),
    0 0 0 110px rgba(255,255,255,0.025);

}


/* =========================================================
   HERO CONTENT
========================================================= */

.hero-overlay {

  width: 100%;

  position: relative;

  z-index: 2;

}

.hero-content {

  max-width: 1120px;

  margin: auto;

  padding:
    75px 28px
    70px;

}

.hero-kicker {

  display: inline-block;

  margin-bottom: 18px;

  padding:
    7px 14px;

  border:
    1px solid
    rgba(255,255,255,0.38);

  border-radius: 999px;

  background:
    rgba(255,255,255,0.10);

  font-size: 0.78rem;

  font-weight: 800;

  letter-spacing: 0.13em;

}

.osteoporosis-hero h1 {

  margin:
    0 0 12px;

  max-width: 900px;

  font-size:
    clamp(3rem, 7vw, 5.5rem);

  line-height: 0.98;

  letter-spacing: -0.035em;

}

.hero-tagline {

  margin:
    0 0 18px;

  font-size:
    clamp(1.35rem, 3vw, 2rem);

  font-weight: 600;

  color:
    rgba(255,255,255,0.96);

}

.hero-description {

  max-width: 790px;

  margin:
    0 0 28px;

  font-size:
    clamp(1rem, 2vw, 1.18rem);

  line-height: 1.7;

  color:
    rgba(255,255,255,0.91);

}

.hero-path {

  display: flex;

  align-items: center;

  flex-wrap: wrap;

  gap: 8px;

  font-size: 0.78rem;

  font-weight: 800;

  letter-spacing: 0.06em;

}

.hero-path span {

  padding:
    7px 11px;

  border:
    1px solid
    rgba(255,255,255,0.30);

  border-radius: 999px;

  background:
    rgba(255,255,255,0.09);

}


/* =========================================================
   EXPANDING CIRCLE
========================================================= */

.expanding-circle {

  position: relative;

  z-index: 5;

  margin-top: -30px;

  padding:
    0 20px;

}

.circle-container {

  max-width: 1120px;

  margin: auto;

  padding:
    22px 25px;

  background:
    #ffffff;

  border:
    1px solid
    var(--line);

  border-radius: 18px;

  box-shadow:
    0 10px 30px
    rgba(11,45,77,0.13);

}

.circle-title {

  margin-bottom: 13px;

  text-align: center;

  color: var(--muted);

  font-size: 0.76rem;

  font-weight: 800;

  letter-spacing: 0.11em;

}

.circle-path {

  display: flex;

  align-items: center;

  justify-content: center;

  flex-wrap: wrap;

  gap: 8px;

}

.circle-path span {

  padding:
    8px 14px;

  border-radius: 999px;

  background:
    var(--sky);

  color:
    var(--navy);

  font-size: 0.82rem;

  font-weight: 800;

}

.circle-path b {

  color:
    var(--teal);

  font-size: 1rem;

}

.circle-container hr {

  border: 0;

  border-top:
    1px solid var(--line);

  margin:
    20px 0;

}

.educational-path {

  display: flex;

  align-items: center;

  justify-content: center;

  flex-wrap: wrap;

  gap: 8px;

}

.educational-path span {

  padding:
    7px 12px;

  border-radius: 999px;

  background:
    var(--bone-soft);

  color:
    var(--bone-dark);

  font-size: 0.78rem;

  font-weight: 800;

}

.educational-path b {

  color:
    var(--bone);

}


/* =========================================================
   MAIN
========================================================= */

main {

  max-width: 1100px;

  margin: auto;

  padding:
    0 18px
    70px;

}

.content-section {

  margin:
    55px 0;

  scroll-margin-top: 100px;

}

.section-number {

  color: var(--bone-dark);

  font-size: 0.8rem;

  font-weight: 800;

  letter-spacing: 0.1em;

}

h2 {

  color: var(--navy);

  font-size:
    clamp(1.8rem, 4vw, 2.4rem);

  line-height: 1.2;

  margin:
    6px 0 14px;

}

h3 {

  color: var(--bone-dark);

  margin-top: 0;

}

.section-intro {

  font-size: 1.08rem;

  color: var(--muted);

}


/* =========================================================
   CARDS
========================================================= */

.feature-card,
.card,
.learning-card,
.thinking-card,
.sdh-card,
.leadership-card,
.evidence-card,
.reflection-card,
.action-card,
.quiz-card {

  background: var(--white);

  border:
    1px solid
    var(--line);

  border-radius: 16px;

  padding: 24px;

  box-shadow:
    0 5px 18px
    rgba(23,54,75,0.07);

}

.card-grid {

  display: grid;

  grid-template-columns:
    repeat(
      auto-fit,
      minmax(245px, 1fr)
    );

  gap: 18px;

}

.card {

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

}

.card:hover {

  transform:
    translateY(-3px);

  box-shadow:
    0 10px 25px
    rgba(23,54,75,0.12);

}

.card ul,
.learning-card ul,
.sdh-card ul,
.action-card ul {

  padding-left: 22px;

}


/* =========================================================
   HIGHLIGHTS
========================================================= */

.highlight-box {

  margin-top: 22px;

  padding: 20px;

  border-left:
    5px solid
    var(--bone);

  border-radius: 10px;

  background:
    var(--bone-soft);

}

.equity-question {

  margin-top: 22px;

  padding: 20px;

  background:
    var(--sky);

  border-radius: 12px;

  border-left:
    5px solid
    var(--teal);

}


/* =========================================================
   LEARNING CARDS
========================================================= */

.learning-card {

  margin:
    18px 0;

  border-left:
    5px solid
    var(--bone);

}

.learning-card h3 {

  color:
    var(--bone-dark);

}


/* =========================================================
   CONNECT
========================================================= */

.connection-grid {

  display: grid;

  grid-template-columns:
    repeat(
      auto-fit,
      minmax(190px, 1fr)
    );

  gap: 14px;

}

.connection-card {

  background:
    white;

  border:
    1px solid
    var(--line);

  border-radius:
    16px;

  padding:
    20px;

}

.circle-label {

  display:
    inline-block;

  background:
    var(--sky);

  color:
    var(--blue);

  padding:
    6px 11px;

  border-radius:
    999px;

  font-size:
    0.75rem;

  font-weight:
    800;

}


/* =========================================================
   SDGs
========================================================= */

.sdg-grid {

  display: grid;

  grid-template-columns:
    repeat(
      auto-fit,
      minmax(160px, 1fr)
    );

  gap:
    14px;

  margin-bottom:
    20px;

}

.sdg-card {

  background:
    white;

  border:
    1px solid
    var(--line);

  border-radius:
    15px;

  padding:
    20px;

  text-align:
    center;

}

.sdg-card strong {

  display:
    block;

  color:
    var(--blue);

  font-size:
    1.4rem;

}

.sdg-card span {

  color:
    var(--muted);

}


/* =========================================================
   EVIDENCE
========================================================= */

.evidence-card {

  background:
    #eef7f2;

  border:
    1px solid
    #cce5d7;

}

.evidence-card strong {

  color:
    var(--green);

}


/* =========================================================
   REFLECTION
========================================================= */

.reflection-grid {

  display: grid;

  grid-template-columns:
    repeat(
      auto-fit,
      minmax(260px, 1fr)
    );

  gap:
    18px;

}


/* =========================================================
   ACTION
========================================================= */

.action-card {

  background:
    linear-gradient(
      135deg,
      #ffffff,
      #f1faf6
    );

}

.action-principle {

  padding:
    18px;

  margin-bottom:
    20px;

  border-radius:
    12px;

  background:
    #eef7f2;

  color:
    var(--green);

  font-size:
    1.08rem;

}


/* =========================================================
   QUIZ
========================================================= */

.quiz-section {

  margin-top:
    70px;

}

.quiz-card {

  margin:
    18px 0;

}

.quiz-card label {

  display:
    block;

  padding:
    8px 0;

  cursor:
    pointer;

}

.quiz-card input {

  margin-right:
    8px;

}

.answer {

  margin-top:
    13px;

  color:
    var(--green);

  font-weight:
    800;

  border-top:
    1px solid
    var(--line);

  padding-top:
    10px;

}


/* =========================================================
   FOOTER
========================================================= */

footer {

  background:
    var(--navy);

  color:
    #dcebf3;

  padding:
    40px 20px;

}

.footer-inner {

  max-width:
    1100px;

  margin:
    auto;

}

.footer-inner h3 {

  color:
    white;

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 700px) {

  .nav-inner {

    justify-content:
      flex-start;

  }

  .osteoporosis-hero {

    min-height:
      510px;

  }

  .hero-content {

    padding:
      60px 22px
      65px;

  }

  .osteoporosis-hero h1 {

    font-size:
      clamp(
        2.7rem,
        13vw,
        4rem
      );

  }

  .hero-path {

    gap:
      6px;

  }

  .hero-path span {

    font-size:
      0.7rem;

    padding:
      6px 9px;

  }

  .circle-path,
  .educational-path {

    justify-content:
      flex-start;

  }

  .circle-path b,
  .educational-path b {

    display:
      none;

  }

}
