/* =========================================================
   GHE CANCER MODULE
   Global Health Explorers
   ========================================================= */

:root {

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

  --cancer-red: #a63d40;
  --cancer-deep: #6f2730;
  --cancer-soft: #f9eeee;

  --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);

}


/* =========================================================
   CANCER HERO
   ========================================================= */

.cancer-hero {

  position: relative;

  min-height: 440px;

  display: flex;

  align-items: center;

  overflow: hidden;

  background:
    linear-gradient(
      120deg,
      #4f1821 0%,
      #7b2935 43%,
      #a63d40 72%,
      #c25b54 100%
    );

  color: #ffffff;

}


/* Atmospheric background */

.cancer-hero::before {

  content: "";

  position: absolute;

  inset: 0;

  background:
    radial-gradient(
      circle at 82% 32%,
      rgba(255,255,255,0.14),
      transparent 28%
    ),
    radial-gradient(
      circle at 67% 88%,
      rgba(255,255,255,0.08),
      transparent 32%
    );

  pointer-events: none;

}


/* Abstract cellular circles */

.cancer-hero::after {

  content: "";

  position: absolute;

  width: 540px;

  height: 540px;

  right: -170px;

  top: -150px;

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

  border-radius: 50%;

  box-shadow:
    0 0 0 50px rgba(255,255,255,0.035),
    0 0 0 105px rgba(255,255,255,0.025),
    0 0 0 165px rgba(255,255,255,0.018);

}


.hero-overlay {

  width: 100%;

  position: relative;

  z-index: 2;

}


.hero-content {

  max-width: 1120px;

  margin: auto;

  padding:
    78px 28px
    72px;

}


.hero-kicker {

  display: inline-block;

  margin-bottom: 18px;

  padding:
    7px 14px;

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

  border-radius: 999px;

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

  font-size: 0.78rem;

  font-weight: 800;

  letter-spacing: 0.13em;

}


.cancer-hero h1 {

  margin:
    0 0 12px;

  max-width: 850px;

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

  line-height: 0.98;

  letter-spacing: -0.035em;

}


.hero-tagline {

  margin:
    0 0 18px;

  max-width: 900px;

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

  font-weight: 600;

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

}


.hero-description {

  max-width: 780px;

  margin:
    0 0 28px;

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

  line-height: 1.7;

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

}


.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.28);

  border-radius: 999px;

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

}


/* =========================================================
   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
    #d9e5eb;

  border-radius: 18px;

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

}


.circle-title {

  margin-bottom: 13px;

  text-align: center;

  color: #5d7180;

  font-size: 0.76rem;

  font-weight: 800;

  letter-spacing: 0.11em;

}


.circle-path,
.circle-education {

  display: flex;

  align-items: center;

  justify-content: center;

  flex-wrap: wrap;

  gap: 8px;

}


.circle-path span,
.circle-education span {

  padding:
    8px 14px;

  border-radius: 999px;

  background:
    #eaf6fb;

  color:
    #0b2d4d;

  font-size: 0.82rem;

  font-weight: 800;

}


.circle-path b,
.circle-education b {

  color:
    #087f8c;

  font-size: 1rem;

}


.circle-container hr {

  border: 0;

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

  margin:
    18px 0;

}


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

main {

  max-width: 1100px;

  margin: auto;

  padding:
    0 18px
    70px;

}


.content-section {

  margin:
    55px 0;

  scroll-margin-top: 100px;

}


.section-number {

  color: var(--blue);

  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(--cancer-red);

  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;

}


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

.learning-card {

  margin:
    18px 0;

}


.learning-card h3 {

  color: var(--cancer-red);

}


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

.highlight-box {

  margin-top: 22px;

  padding: 20px;

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

  border-radius: 10px;

  background:
    #fffaf0;

}


.equity-question {

  margin-top: 22px;

  padding: 20px;

  background:
    var(--sky);

  border-radius: 12px;

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

}


/* =========================================================
   THINKING
   ========================================================= */

.thinking-card ol {

  padding-left: 25px;

}


.thinking-card li {

  margin-bottom: 15px;

}


/* =========================================================
   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;

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

}


.connection-card:hover {

  transform:
    translateY(-3px);

  box-shadow:
    0 9px 22px
    rgba(23,54,75,0.1);

}


.circle-label {

  display: inline-block;

  background:
    var(--sky);

  color:
    var(--blue);

  padding:
    6px 11px;

  border-radius: 999px;

  font-size: 0.75rem;

  font-weight: 800;

}


/* =========================================================
   SDH
   ========================================================= */

.sdh-card ul {

  padding-left: 24px;

}


.sdh-card li {

  margin-bottom: 13px;

}


/* =========================================================
   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;

  transition:
    transform 0.2s ease;

}


.sdg-card:hover {

  transform:
    translateY(-3px);

}


.sdg-card strong {

  display: block;

  color:
    var(--blue);

  font-size: 1.4rem;

}


.sdg-card span {

  color:
    var(--muted);

}


/* =========================================================
   LEADERSHIP
   ========================================================= */

.leadership-card {

  background:
    #ffffff;

}


.leadership-card ul {

  padding-left: 24px;

}


.leadership-card li {

  margin-bottom: 14px;

}


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

.evidence-card {

  background:
    #eef7f2;

  border:
    1px solid
    #cce5d7;

}


.evidence-card strong {

  color:
    var(--green);

}


.source-note {

  padding-top: 12px;

  border-top:
    1px solid
    #cce5d7;

  color:
    var(--muted);

  font-size: 0.9rem;

}


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

.reflection-grid {

  display: grid;

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

  gap: 18px;

}


.reflection-card h3 {

  color:
    var(--cancer-red);

}


/* =========================================================
   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;

}


.action-card li {

  margin-bottom: 10px;

}


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

.quiz-section {

  margin-top: 70px;

}


.quiz-card {

  margin:
    18px 0;

}


.quiz-card h3 {

  color:
    var(--cancer-red);

}


.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;

  }


  .cancer-hero {

    min-height:
      510px;

  }


  .hero-content {

    padding:
      60px 22px
      65px;

  }


  .cancer-hero h1 {

    font-size:
      clamp(2.8rem, 13vw, 4.2rem);

  }


  .hero-path {

    gap:
      6px;

  }


  .hero-path span {

    font-size:
      0.7rem;

    padding:
      6px 9px;

  }


  .circle-path,
  .circle-education {

    justify-content:
      flex-start;

  }


  .circle-path b,
  .circle-education b {

    display:
      none;

  }


  .circle-container {

    padding:
      20px;

  }


  main {

    padding:
      0 15px
      55px;

  }


  .content-section {

    margin:
      45px 0;

  }

}
