:root {
  --brand: #116a71;
  --brand-dark: #084e55;
  --accent: #ef7f3b;
  --surface: #ffffff;
  --surface-alt: #f2f8f8;
  --easy-surface: #fffdf7;
  --text: #193338;
  --muted: #52696d;
  --border: #d5e5e6;
  --shadow: 0 6px 22px rgba(10, 60, 65, .09);
  --radius: 18px;
  --max: 1180px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0; color: var(--text); background: #f7faf9;
  font-family: Arial, Helvetica, sans-serif; line-height: 1.55;
}
a { color: inherit; }
.main { max-width:var(--max); margin:0 auto; padding-left:24px; padding-right:24px; }
.main { padding-top:40px; padding-bottom:56px; }
.script-notice { max-width: 1180px; margin: 2rem auto; padding: 1rem 1.5rem; }

/* Keep the v93 shared header/footer presentation intact on this page. */
.idh-site-header { position: relative; z-index: 10; }
.idh-site-footer { margin-top: 0; }
.idh-header-nav .landing-easy-toggle { position: static; left: auto; top: auto; }
.hero {
  background: linear-gradient(122deg, var(--brand-dark), var(--brand));
  color:#fff; padding:42px clamp(22px,5vw,54px); border-radius:28px; margin-bottom:34px;
}
.hero h1 { margin:0 0 12px; font-size:clamp(2rem, 4vw, 3.05rem); line-height:1.16; }
.hero p { font-size:1.15rem; max-width:750px; margin:0 0 22px; }
.hero-facts { display:flex; flex-wrap:wrap; gap:12px; }
.fact { background:rgba(255,255,255,.18); border:1px solid rgba(255,255,255,.35); border-radius:999px; padding:8px 15px; font-weight:700; }
.section-heading { font-size:clamp(1.55rem,3vw,2rem); margin:0 0 18px; color:var(--brand-dark); }
.topic-links {
  display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:16px; margin-bottom:44px;
}
.topic-link {
  display:flex; flex-direction:column; min-height:185px; text-decoration:none; background:#fff;
  border:1px solid var(--border); border-radius:var(--radius); padding:22px; box-shadow:var(--shadow);
}
.topic-link .topic-no { color:var(--brand); font-size:.9rem; font-weight:700; letter-spacing:.06em; }
.topic-link h3 { color:var(--brand-dark); font-size:1.17rem; margin:10px 0 8px; line-height:1.3; }
.topic-link p { margin:0 0 14px; color:var(--muted); font-size:.95rem; }
.topic-link .go { margin-top:auto; color:var(--brand); font-weight:700; }
.topic {
  background:var(--surface); border:1px solid var(--border); border-radius:26px;
  padding:clamp(22px,4vw,34px); margin:0 0 28px; box-shadow:var(--shadow);
  scroll-margin-top:22px;
}
.topic-header { display:flex; gap:18px; align-items:flex-start; margin-bottom:22px; }
.topic-badge {
  flex:0 0 58px; height:58px; border-radius:16px; display:grid; place-items:center;
  font-size:1.15rem; font-weight:700; color:#fff; background:var(--brand);
}
body:not(.easy) .topic-badge {
  flex-basis: 76px;
  height: 76px;
  border-radius: 20px;
  font-size: 1.55rem;
}
.topic h2 { margin:0 0 7px; color:var(--brand-dark); font-size:clamp(1.35rem,2vw,1.65rem); }
.topic-intro { margin:0; max-width:860px; color:var(--muted); }
.activities-grid { display:grid; grid-template-columns:1fr; gap:16px; max-width:880px; }
.activity {
  background:var(--surface-alt); border-radius:15px; padding:20px;
  border:1px solid transparent; display:flex; flex-direction:column;
}
.activity-id { display:block; color:var(--brand); font-size:1.05rem; font-weight:700; margin-bottom:9px; }
.activity h3 { margin:0 0 9px; color:var(--brand-dark); line-height:1.3; font-size:1.08rem; }
.activity p { margin:0 0 18px; color:var(--muted); }
.button {
  display:inline-flex; justify-content:center; align-items:center; gap:8px; align-self:flex-start;
  text-decoration:none; margin-top:auto; background:var(--brand); color:#fff; font-weight:700;
  border-radius:11px; padding:11px 16px; transition:background .15s;
}
.button:hover, .button:focus { background:var(--brand-dark); }
/* Easy-to-Read page */
.easy .topic-link { cursor: default; }
.easy .topic-card-heading {
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 10px;
}
.easy .topic-card-heading h3 { margin: 0; }
.easy .topic-card-heading .listen {
  margin-left: 0;
  font-size: .95rem;
  padding: 8px 13px;
}
.easy .topic-link .go {
  display: inline-flex;
  text-decoration: none;
  align-self: flex-start;
}
.easy .activities-grid {
  grid-template-columns: 1fr;
  max-width: 880px;
}

body.easy { background:var(--easy-surface); font-size:18px; }
.easy .hero { padding-top:36px; padding-bottom:36px; }
.easy .hero p { font-size:1.23rem; max-width:680px; }
.easy .topic-links { grid-template-columns:repeat(2,minmax(0,1fr)); }
.easy .topic-link { min-height:174px; border-width:2px; }
.easy .topic-link h3 { font-size:1.3rem; }
.easy .topic-header { align-items:center; }
.easy .topic-badge { font-size:1.9rem; background:#eaf6f5; color:var(--brand-dark); }
.easy .topic { border-width:2px; }
.easy .topic-intro { font-size:1.08rem; color:var(--text); }
.easy .activity { background:#fff; border-color:var(--border); padding:23px; }
.easy .activity-id { font-size:1.18rem; margin-bottom:10px; }
.easy .activity-icon {
  display: inline-block;
  font-size: 2rem;
  line-height: 1;
  margin-right: 8px;
  vertical-align: middle;
}
.easy .activity h3 { font-size:1.25rem; }
.easy .activity p { font-size:1.05rem; color:var(--text); }
.easy .button { font-size:1.04rem; padding:13px 19px; }
.listen {
  display:inline-flex; align-items:center; gap:7px; border:2px solid var(--brand); background:#fff;
  color:var(--brand-dark); padding:8px 13px; border-radius:999px; font:inherit; font-weight:700;
  cursor:pointer; margin-left:9px; vertical-align:middle;
}
.listen:hover, .listen:focus { background:#eaf6f5; }
.listen[data-speaking="true"] { background:var(--brand); color:#fff; }
.listen-row { margin-top:20px; }
.listen-row .listen { margin-left:0; }
.easy-heading { display:flex; align-items:center; flex-wrap:wrap; gap:6px; }
.easy-heading .listen { font-size:.9rem; }
.no-speech { display:none; margin:16px 0 0; background:#fff4e5; color:#593600; padding:12px 14px; border-radius:10px; }

@media (max-width:940px) {
  .topic-links { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:680px) {
  .main { padding-top:22px; }
  .topic-links, .easy .topic-links, .activities-grid { grid-template-columns:1fr; }
  .topic-header { flex-direction:column; }
}
