:root {
  /* 브랜드 확정 시 아래 토큰만 바꾸면 화면과 PDF에 함께 반영됩니다. */
  --brand-primary: #2864f0;
  --brand-secondary: #19c4d2;
  --brand-gradient: linear-gradient(112deg, #2864f0 0%, #46a5ff 52%, #20cfcc 100%);
  --ink: #101116;
  --ink-soft: #606671;
  --paper: #ffffff;
  --paper-warm: #f6f6f3;
  --line: #e1e4eb;
  --night: #090b10;
  --night-card: #151922;
  --content-width: 1200px;
  --radius-lg: 32px;
  --radius-md: 22px;
  font-family: "Pretendard Variable", Pretendard, "Noto Sans KR", "Apple SD Gothic Neo", Arial, sans-serif;
  color: var(--ink);
  background: var(--paper);
  font-synthesis: none;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  word-break: keep-all;
  overflow-wrap: break-word;
  -webkit-font-smoothing: antialiased;
}

button,
a {
  font: inherit;
}

a {
  color: inherit;
  text-decoration: none;
}

img {
  display: block;
  max-width: 100%;
}

h1,
h2,
h3,
p,
figure {
  margin: 0;
}

.pdf-page {
  position: relative;
  isolation: isolate;
}

.page-inner {
  position: relative;
  z-index: 2;
}

.page-brand {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #8a8f9a;
  font-size: 11px;
  font-weight: 750;
  letter-spacing: 0.16em;
}

.page-brand img {
  width: 124px;
  height: auto;
}

.page-footer {
  position: absolute;
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #8b909b;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.page-number {
  font-variant-numeric: tabular-nums;
}

.print-only {
  display: none;
}

.section-number,
.eyebrow {
  color: var(--brand-primary);
  font-size: 16px;
  font-weight: 850;
  letter-spacing: 0.14em;
}

.avoid-break {
  break-inside: avoid;
  page-break-inside: avoid;
}

/* Interest */
.ax-hero {
  background:
    radial-gradient(circle at 78% 28%, rgb(27 199 211 / 13%), transparent 25%),
    radial-gradient(circle at 70% 45%, rgb(40 100 240 / 10%), transparent 32%),
    #fff;
}

.ax-hero::before {
  position: absolute;
  inset: 0;
  z-index: 0;
  content: "";
  background-image: radial-gradient(rgb(31 79 215 / 17%) 0.7px, transparent 0.7px);
  background-size: 18px 18px;
  mask-image: linear-gradient(90deg, transparent 43%, #000 100%);
  pointer-events: none;
}

.hero-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
  align-items: center;
}

.hero-copy h1 {
  letter-spacing: -0.06em;
}

.hero-copy h1 span {
  display: inline-block;
  color: transparent;
  background: var(--brand-gradient);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.hero-description {
  max-width: 570px;
  color: var(--ink-soft);
  letter-spacing: -0.015em;
}

.hero-actions {
  display: flex;
  align-items: center;
  gap: 24px;
}

.primary-cta {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 26px;
  min-width: 214px;
  padding: 17px 20px 17px 23px;
  border-radius: 999px;
  color: #fff;
  background: #111318;
  font-size: 15px;
  font-weight: 750;
  transition: transform 180ms ease, background 180ms ease;
}

.primary-cta span {
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border-radius: 50%;
  color: #111318;
  background: #fff;
  font-size: 17px;
  line-height: 1;
}

.primary-cta:hover,
.primary-cta:focus-visible {
  background: var(--brand-primary);
  transform: translateY(-2px);
}

.secondary-cta {
  padding: 10px 0;
  border-bottom: 1px solid #b9bec8;
  color: #4a505b;
  font-size: 14px;
  font-weight: 700;
}

.audience-panel {
  display: flex;
  align-items: flex-start;
  gap: 15px;
}

.audience-panel strong {
  flex: 0 0 auto;
  color: var(--brand-primary);
  font-weight: 850;
}

.audience-panel ul {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.audience-panel li {
  border: 1px solid #dbe0eb;
  border-radius: 999px;
  color: #3e4450;
  background: rgb(255 255 255 / 78%);
  font-weight: 680;
  backdrop-filter: blur(10px);
}

.hero-visual {
  position: relative;
  border: 1px solid rgb(255 255 255 / 78%);
  border-radius: 44px;
  background: linear-gradient(145deg, rgb(255 255 255 / 74%), rgb(234 241 255 / 82%));
  box-shadow: 0 38px 90px rgb(36 77 174 / 16%);
  overflow: hidden;
  backdrop-filter: blur(12px);
}

.hero-visual::before {
  position: absolute;
  top: -20%;
  right: -8%;
  width: 58%;
  aspect-ratio: 1;
  border-radius: 50%;
  content: "";
  background: linear-gradient(135deg, #5de4e0, #2864f0 72%);
  opacity: 0.86;
  filter: blur(1px);
}

.product-kicker {
  position: absolute;
  top: 32px;
  left: 34px;
  z-index: 3;
  color: var(--brand-primary);
  font-size: 16px;
  font-weight: 900;
  letter-spacing: 0.12em;
}

.worksheet-window {
  position: absolute;
  z-index: 2;
  border: 1px solid #dce1eb;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 24px 44px rgb(30 50 97 / 20%);
  overflow: hidden;
}

.window-bar {
  display: flex;
  align-items: center;
  gap: 5px;
  height: 30px;
  padding: 0 11px;
  border-bottom: 1px solid #edf0f5;
  color: #9ba0aa;
  background: #fff;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.12em;
}

.window-bar i {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #d5d9e1;
}

.window-bar span {
  margin-left: 5px;
}

.worksheet-window > img {
  width: 100%;
  height: auto;
  aspect-ratio: 1712 / 722;
  object-fit: contain;
}

.hero-book {
  position: absolute;
  z-index: 4;
  filter: drop-shadow(0 24px 18px rgb(11 17 35 / 28%));
  transform: rotate(-3deg);
}

.credential-float {
  position: absolute;
  z-index: 5;
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 8px 18px 8px 50px;
  border: 1px solid rgb(255 255 255 / 72%);
  border-radius: 999px;
  color: #2a303c;
  background: rgb(255 255 255 / 80%);
  box-shadow: 0 14px 30px rgb(28 48 92 / 18%);
  font-size: 11px;
  font-weight: 760;
  backdrop-filter: blur(10px);
}

.credential-float img {
  position: absolute;
  top: 50%;
  left: -27px;
  width: 70px;
  max-width: none;
  filter: drop-shadow(0 6px 8px rgb(0 0 0 / 28%));
  transform: translateY(-50%);
}

.hero-visual figcaption {
  position: absolute;
  z-index: 5;
  right: 28px;
  bottom: 24px;
  left: 28px;
  padding-top: 14px;
  border-top: 1px solid rgb(44 75 131 / 12%);
  color: #525a68;
  font-size: 16px;
  line-height: 1.5;
}

.hero-facts {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.hero-facts article {
  position: relative;
}

.hero-facts article + article::before {
  position: absolute;
  top: 22%;
  bottom: 22%;
  left: 0;
  width: 1px;
  content: "";
  background: var(--line);
}

.hero-facts strong {
  display: block;
}

.hero-facts strong {
  line-height: 1;
  letter-spacing: -0.035em;
}

.hero-facts strong em {
  color: transparent;
  background: var(--brand-gradient);
  background-clip: text;
  -webkit-background-clip: text;
  font-style: normal;
}

.hero-facts p {
  color: #777c86;
}

/* Difference */
.difference-showcase {
  background: var(--paper-warm);
}

.difference-showcase::after {
  position: absolute;
  top: 8%;
  right: 4%;
  z-index: 0;
  width: 180px;
  height: 180px;
  border: 42px solid rgb(36 93 244 / 5%);
  border-radius: 50%;
  content: "";
}

.section-heading {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  align-items: end;
}

.section-heading .section-number {
  grid-column: 1 / -1;
}

.section-heading h2 {
  letter-spacing: -0.055em;
}

.difference-showcase .section-heading h2 {
  grid-column: 1 / -1;
}

.difference-title-accent {
  display: inline-block;
  color: transparent;
  background: var(--brand-gradient);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.section-lead {
  color: var(--ink-soft);
}

.difference-grid {
  position: relative;
  z-index: 2;
  display: grid;
}

.difference-card {
  position: relative;
  display: flex;
  flex-direction: column;
  border: 1px solid rgb(19 22 30 / 7%);
  border-radius: var(--radius-lg);
  background: #fff;
  box-shadow: 0 22px 48px rgb(35 39 49 / 7%);
  overflow: hidden;
}

.card-label {
  color: #68707d;
  font-size: 14px;
  font-weight: 850;
  letter-spacing: 0.1em;
}

.card-label span {
  display: inline-grid;
  margin-right: 7px;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: var(--brand-primary);
}

.difference-card h3 {
  letter-spacing: -0.045em;
}

.difference-card > p {
  color: #535b68;
}

.book-card {
  background: #fff;
}

.book-visual,
.worksheet-visual {
  position: relative;
  min-height: 0;
}

.badge-visual {
  position: absolute;
  min-height: 0;
}

.book-cover {
  position: relative;
  display: block;
  z-index: 3;
  aspect-ratio: 1.56 / 1;
  object-fit: fill;
  filter: drop-shadow(0 20px 14px rgb(15 18 29 / 22%));
  transform: rotate(-2deg);
}

.canvas {
  position: relative;
  display: block;
  border-radius: 8px;
  box-shadow: 0 12px 24px rgb(15 18 29 / 15%);
}

.worksheet-card {
  background: #fff;
}

.worksheet-visual img {
  position: relative;
  display: block;
  max-width: none;
  border: 1px solid #dce0e8;
  border-radius: 9px;
  box-shadow: 0 16px 30px rgb(15 23 42 / 17%);
}

.credential-card {
  color: var(--ink);
  border-color: rgb(19 22 30 / 7%);
  background: #fff;
}

.credential-card .card-label,
.credential-card > p {
  color: #535b68;
}

.credential-card .card-label span {
  background: var(--brand-secondary);
}

.badge-main,
.badge-sub {
  position: absolute;
  filter: drop-shadow(0 18px 22px rgb(0 0 0 / 35%));
}

/* Deliverables */
.deliverables-showcase {
  color: #fff;
  background:
    radial-gradient(circle at 90% 8%, rgb(52 111 255 / 36%), transparent 30%),
    radial-gradient(circle at 7% 88%, rgb(20 199 212 / 14%), transparent 30%),
    var(--night);
}

.deliverables-showcase::before {
  position: absolute;
  inset: 0;
  content: "";
  background-image: linear-gradient(rgb(255 255 255 / 3%) 1px, transparent 1px), linear-gradient(90deg, rgb(255 255 255 / 3%) 1px, transparent 1px);
  background-size: 44px 44px;
  mask-image: linear-gradient(#000, transparent 82%);
}

.page-brand-dark {
  color: rgb(255 255 255 / 42%);
}

.deliverables-heading .section-number {
  color: #63dde1;
}

.deliverables-heading h2 {
  letter-spacing: -0.055em;
}

.deliverables-heading h2 span {
  display: inline-block;
  color: transparent;
  background: linear-gradient(90deg, #2f74e8, #18aeb6);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.deliverables-heading > p:last-child {
  color: rgb(255 255 255 / 80%);
}

.deliverables-grid {
  display: grid;
  margin: 0;
  padding: 0;
  list-style: none;
}

.deliverable-card {
  position: relative;
  display: grid;
  grid-template-rows: auto 1fr auto;
  border: 1px solid rgb(255 255 255 / 11%);
  border-radius: var(--radius-md);
  background: linear-gradient(150deg, rgb(255 255 255 / 9%), rgb(255 255 255 / 3%));
  overflow: hidden;
}

.deliverable-card::after {
  position: absolute;
  right: -55px;
  bottom: -78px;
  width: 160px;
  height: 160px;
  border: 28px solid rgb(80 139 255 / 7%);
  border-radius: 50%;
  content: "";
}

.deliverable-index {
  color: rgb(255 255 255 / 56%);
  font-weight: 800;
  letter-spacing: 0.1em;
}

.deliverable-index,
.deliverable-card h3,
.deliverable-card p {
  position: relative;
  z-index: 2;
}

.deliverable-card h3 {
  letter-spacing: -0.04em;
}

.deliverable-card p {
  align-self: end;
  color: rgb(255 255 255 / 76%);
}

.deliverables-note {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  border-top: 1px solid rgb(255 255 255 / 12%);
}

.deliverables-note p {
  color: rgb(255 255 255 / 70%);
}

.page-footer-dark {
  color: rgb(255 255 255 / 36%);
}

/* Pages 04–10: shared narrative system */
.content-heading {
  position: relative;
  z-index: 2;
  max-width: 980px;
}

.content-heading h2 {
  margin-top: 18px;
  letter-spacing: -0.06em;
}

.content-heading h2 span {
  color: transparent;
  background: var(--brand-gradient);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.content-heading > p:last-child {
  max-width: 760px;
  color: var(--ink-soft);
}

.content-heading-dark,
.content-heading-dark h2 {
  color: #fff;
}

.content-heading-dark > p:last-child {
  color: rgb(255 255 255 / 76%);
}

.problem-showcase,
.principle-showcase,
.process-showcase,
.evidence-showcase {
  background: #fff;
}

.problem-showcase::before,
.process-showcase::before,
.evidence-showcase::before {
  position: absolute;
  inset: 0;
  z-index: 0;
  content: "";
  background-image:
    linear-gradient(rgb(25 36 61 / 4%) 1px, transparent 1px),
    linear-gradient(90deg, rgb(25 36 61 / 4%) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: linear-gradient(135deg, #000 0%, transparent 58%);
  pointer-events: none;
}

.problem-grid,
.principle-grid,
.curriculum-grid,
.evidence-stats,
.testimonial-grid,
.closing-value-grid {
  position: relative;
  z-index: 2;
  display: grid;
}

/* Page 04: problem */
.problem-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.problem-card {
  position: relative;
  border: 1px solid #dfe4ed;
  border-radius: var(--radius-md);
  background: rgb(255 255 255 / 88%);
  box-shadow: 0 18px 44px rgb(24 33 52 / 7%);
  overflow: hidden;
}

.problem-card::after {
  position: absolute;
  right: -48px;
  bottom: -62px;
  width: 150px;
  height: 150px;
  border: 30px solid rgb(40 100 240 / 6%);
  border-radius: 50%;
  content: "";
}

.problem-index {
  color: var(--brand-primary);
  font-weight: 900;
  letter-spacing: 0.12em;
}

.problem-card h3,
.problem-card p {
  position: relative;
  z-index: 1;
}

.problem-card h3 {
  letter-spacing: -0.045em;
}

.problem-card p {
  color: #5c6470;
}

.problem-conclusion {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-radius: var(--radius-md);
  color: #fff;
  background: #11151d;
}

.problem-conclusion span {
  color: rgb(255 255 255 / 74%);
}

.problem-conclusion strong {
  color: #fff;
}

/* Page 05: perspective */
.perspective-showcase,
.curriculum-showcase,
.closing-showcase {
  color: #fff;
  background:
    radial-gradient(circle at 85% 18%, rgb(40 100 240 / 23%), transparent 33%),
    linear-gradient(125deg, #070a0f 0%, #0b101a 48%, #101b36 100%);
}

.perspective-showcase::before,
.curriculum-showcase::before,
.closing-showcase::before {
  position: absolute;
  inset: 0;
  z-index: 0;
  content: "";
  background-image:
    linear-gradient(rgb(255 255 255 / 4%) 1px, transparent 1px),
    linear-gradient(90deg, rgb(255 255 255 / 4%) 1px, transparent 1px);
  background-size: 36px 36px;
  pointer-events: none;
}

.perspective-layout {
  position: relative;
  z-index: 2;
  display: grid;
}

.approach-panel,
.sequence-panel {
  border: 1px solid rgb(255 255 255 / 13%);
  border-radius: var(--radius-md);
  background: rgb(255 255 255 / 5%);
  box-shadow: 0 22px 58px rgb(0 0 0 / 20%);
}

.sequence-panel {
  border-color: rgb(73 155 255 / 36%);
  background: linear-gradient(145deg, rgb(40 100 240 / 20%), rgb(31 206 204 / 7%));
}

.panel-heading span {
  color: #64dce1;
  font-weight: 850;
  letter-spacing: 0.1em;
}

.panel-heading h3 {
  letter-spacing: -0.04em;
}

.approach-panel ul,
.sequence-panel ol,
.principle-card ul,
.curriculum-card ul,
.closing-value-card ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.approach-panel li,
.sequence-panel li {
  display: grid;
  align-items: start;
  border-top: 1px solid rgb(255 255 255 / 10%);
}

.approach-panel li strong,
.sequence-panel li strong {
  color: #fff;
}

.approach-panel li span,
.sequence-panel li span {
  color: rgb(255 255 255 / 72%);
}

.sequence-panel li {
  grid-template-columns: auto 1fr;
}

.sequence-panel li em {
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: var(--brand-primary);
  font-style: normal;
  font-weight: 850;
}

.sequence-panel li div {
  display: grid;
}

.research-note {
  position: relative;
  z-index: 2;
  color: rgb(255 255 255 / 62%);
}

.research-note a {
  color: #91dce4;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Page 06: 3R principle */
.principle-showcase {
  background:
    radial-gradient(circle at 85% 22%, rgb(29 207 205 / 11%), transparent 28%),
    #f8fafc;
}

.value-equation {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr;
  align-items: center;
  border: 1px solid #dce3ef;
  border-radius: var(--radius-md);
  background: #fff;
  box-shadow: 0 20px 45px rgb(25 45 83 / 7%);
}

.value-equation > div {
  display: grid;
  text-align: center;
}

.value-equation strong {
  letter-spacing: -0.055em;
}

.value-equation span {
  color: #67707e;
}

.value-equation > b {
  color: #a3acba;
}

.value-equation .equation-result {
  border-radius: calc(var(--radius-md) - 8px);
  color: #fff;
  background: var(--brand-gradient);
}

.value-equation .equation-result span {
  color: rgb(255 255 255 / 82%);
}

.principle-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.principle-card {
  position: relative;
  border: 1px solid #dde4ee;
  border-radius: var(--radius-md);
  background: #fff;
  overflow: hidden;
}

.principle-card::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 5px;
  content: "";
  background: var(--brand-gradient);
}

.principle-card > span {
  color: var(--brand-primary);
  font-weight: 850;
}

.principle-card h3 {
  letter-spacing: -0.04em;
}

.principle-card h3 b {
  display: block;
  color: #78808c;
  letter-spacing: 0.08em;
}

.principle-card > strong {
  display: block;
}

.principle-card li {
  position: relative;
  color: #5e6673;
}

.principle-card li::before,
.curriculum-card li::before,
.closing-value-card li::before {
  position: absolute;
  left: 0;
  border-radius: 50%;
  content: "";
  background: var(--brand-secondary);
}

.duration-band {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  color: #243047;
}

.duration-track {
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #d6dfed;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 12px 28px rgb(24 39 70 / 6%);
}

.duration-track strong {
  color: var(--brand-primary);
  font-weight: 850;
  white-space: nowrap;
}

.duration-track span {
  color: #3f4b60;
  font-weight: 700;
}

.duration-basic {
  grid-column: 1;
}

.duration-advanced {
  grid-column: 2 / span 2;
  border-color: rgb(40 100 240 / 30%);
  background: linear-gradient(135deg, #edf4ff, #edfafa);
}

/* Page 07: process */
.process-flow {
  position: relative;
  z-index: 2;
  display: grid;
  margin: 0;
  padding: 0;
  list-style: none;
}

.process-flow::before {
  position: absolute;
  z-index: 0;
  height: 3px;
  content: "";
  background: linear-gradient(90deg, var(--brand-primary), var(--brand-secondary));
}

.process-flow li {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  border: 1px solid #dce3ed;
  border-radius: var(--radius-md);
  background: rgb(255 255 255 / 94%);
  box-shadow: 0 18px 44px rgb(23 39 70 / 7%);
}

.process-flow li > span {
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: var(--brand-primary);
  font-weight: 900;
}

.process-flow h3 {
  letter-spacing: -0.04em;
}

.process-flow p {
  color: #5b6471;
}

.process-flow strong {
  margin-top: auto;
  border-top: 1px solid #e2e7ef;
  color: var(--brand-primary);
}

/* Page 08: curriculum */
.curriculum-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.curriculum-card {
  border: 1px solid rgb(255 255 255 / 14%);
  border-radius: var(--radius-md);
  background: rgb(255 255 255 / 6%);
  box-shadow: 0 22px 50px rgb(0 0 0 / 19%);
}

.curriculum-label {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
}

.curriculum-label span {
  grid-row: 1 / 3;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: var(--brand-primary);
  font-weight: 850;
}

.curriculum-label strong {
  color: #66dbe0;
  letter-spacing: 0.08em;
}

.curriculum-label em {
  color: #fff;
  font-style: normal;
  font-weight: 800;
}

.curriculum-card > p,
.curriculum-card li,
.curriculum-card > div:last-child span {
  color: rgb(255 255 255 / 76%);
}

.curriculum-card li {
  position: relative;
}

.curriculum-card > div:last-child {
  border-top: 1px solid rgb(255 255 255 / 12%);
}

.curriculum-card > div:last-child b {
  display: block;
  color: #fff;
}

.curriculum-card > div:last-child span {
  display: block;
}

.curriculum-time {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgb(255 255 255 / 14%);
  border-radius: 999px;
  background: rgb(255 255 255 / 7%);
}

.curriculum-time span {
  color: rgb(255 255 255 / 66%);
}

.curriculum-time i {
  width: 1px;
  background: rgb(255 255 255 / 16%);
}

/* Page 09: evidence */
.evidence-showcase {
  background:
    radial-gradient(circle at 88% 10%, rgb(40 100 240 / 10%), transparent 28%),
    #f8fafc;
}

.evidence-stats {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.evidence-stats > div {
  display: flex;
  flex-direction: column-reverse;
  justify-content: center;
  border: 1px solid #d9e0ea;
  border-radius: var(--radius-md);
  background: #fff;
  text-align: center;
  box-shadow: 0 14px 35px rgb(31 47 76 / 6%);
}

.evidence-stats dt {
  color: #586171;
  font-weight: 730;
}

.evidence-stats dd {
  margin: 0;
  color: #17213a;
  font-weight: 900;
  letter-spacing: -0.05em;
}

.evidence-stats dd span {
  color: var(--brand-primary);
}

.testimonial-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.testimonial-grid blockquote {
  position: relative;
  margin: 0;
  border-left: 4px solid var(--brand-primary);
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
  background: #fff;
  box-shadow: 0 15px 34px rgb(25 39 65 / 6%);
}

.testimonial-grid blockquote > span {
  color: var(--brand-primary);
  font-weight: 900;
  letter-spacing: 0.1em;
}

.testimonial-grid blockquote strong {
  display: block;
  letter-spacing: -0.035em;
}

.testimonial-grid blockquote p {
  color: #5e6673;
}

/* Page 10: closing */
.closing-value-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.closing-value-card {
  border: 1px solid rgb(255 255 255 / 14%);
  border-radius: var(--radius-md);
  background: rgb(255 255 255 / 6%);
}

.closing-value-card > span {
  color: #63dce1;
  font-weight: 850;
  letter-spacing: 0.1em;
}

.closing-value-card h3 {
  color: #fff;
  letter-spacing: -0.045em;
}

.closing-value-card li {
  position: relative;
  color: rgb(255 255 255 / 78%);
}

.contact-panel {
  position: relative;
  z-index: 2;
  display: grid;
  align-items: center;
  border-radius: var(--radius-md);
  color: #10131a;
  background: #fff;
  box-shadow: 0 24px 60px rgb(0 0 0 / 25%);
}

.contact-panel p {
  color: var(--brand-primary);
  font-weight: 850;
  letter-spacing: 0.08em;
}

.contact-panel h3 {
  letter-spacing: -0.045em;
}

.contact-panel dl,
.contact-panel dd {
  margin: 0;
}

.contact-panel dl {
  display: grid;
}

.contact-panel dl > div {
  display: grid;
  border-bottom: 1px solid #e2e6ee;
}

.contact-panel dl > div:last-child {
  border-bottom: 0;
}

.contact-panel dt {
  color: #69717f;
  font-weight: 730;
}

.contact-panel dd {
  font-weight: 820;
}

.contact-panel a {
  text-decoration: underline;
  text-decoration-color: #b9c7e2;
  text-underline-offset: 4px;
}

/* White-tone revision: pages 01–09 remain light; only the closing page is dark. */
.deliverables-showcase,
.perspective-showcase,
.curriculum-showcase,
.curriculum-detail-showcase {
  color: var(--ink);
  background:
    radial-gradient(circle at 88% 12%, rgb(40 100 240 / 8%), transparent 29%),
    #f8fafc;
}

.deliverables-showcase::before,
.perspective-showcase::before,
.curriculum-showcase::before,
.curriculum-detail-showcase::before {
  background-image:
    linear-gradient(rgb(25 36 61 / 4%) 1px, transparent 1px),
    linear-gradient(90deg, rgb(25 36 61 / 4%) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: linear-gradient(135deg, #000 0%, transparent 72%);
}

.content-heading .section-number,
.deliverables-heading .section-number {
  color: var(--brand-primary);
}

.deliverables-heading > p:last-child,
.research-note {
  color: var(--ink-soft);
}

.deliverable-card,
.approach-panel,
.sequence-panel,
.curriculum-card {
  border-color: #dbe2ed;
  background: rgb(255 255 255 / 94%);
  box-shadow: 0 18px 44px rgb(24 39 70 / 7%);
}

.sequence-panel {
  border-color: rgb(40 100 240 / 30%);
  background: linear-gradient(145deg, rgb(239 245 255 / 98%), rgb(237 252 252 / 92%));
}

.deliverable-card::after {
  border-color: rgb(40 100 240 / 6%);
}

.deliverable-index,
.panel-heading span,
.curriculum-label strong {
  color: var(--brand-primary);
}

.deliverable-card h3,
.approach-panel li strong,
.sequence-panel li strong,
.curriculum-label em,
.curriculum-card > div:last-child b {
  color: var(--ink);
}

.deliverable-card p,
.approach-panel li span,
.sequence-panel li span,
.curriculum-card > p,
.curriculum-card li,
.curriculum-card > div:last-child span,
.deliverables-note p {
  color: #596371;
}

.deliverables-note,
.approach-panel li,
.sequence-panel li,
.curriculum-card > div:last-child {
  border-color: #dfe5ee;
}

.research-note a {
  color: var(--brand-primary);
}

.curriculum-time {
  border-color: #dbe2ed;
  color: #202b40;
  background: #fff;
  box-shadow: 0 12px 30px rgb(24 39 70 / 6%);
}

.curriculum-time span {
  color: #626c7b;
}

.curriculum-time i {
  background: #d8e0eb;
}

/* Page 09: detailed curriculum */
.curriculum-detail-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.curriculum-detail-card {
  border: 1px solid #dbe2ed;
  border-radius: var(--radius-md);
  background: rgb(255 255 255 / 96%);
  box-shadow: 0 18px 44px rgb(24 39 70 / 7%);
  overflow: hidden;
}

.curriculum-detail-card > header {
  position: relative;
  border-bottom: 1px solid #e0e6ef;
}

.curriculum-detail-card > header::after {
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 4px;
  content: "";
  background: var(--brand-gradient);
}

.curriculum-detail-card > header span,
.curriculum-detail-card > header strong {
  display: block;
  color: var(--brand-primary);
  font-weight: 850;
}

.curriculum-detail-card > header strong {
  letter-spacing: 0.08em;
}

.curriculum-detail-card h3 {
  letter-spacing: -0.04em;
}

.module-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.module-list li {
  border-bottom: 1px solid #e3e8f0;
}

.module-list li:last-child {
  border-bottom: 0;
}

.module-list li > div {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
}

.module-list b {
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: var(--brand-primary);
}

.module-list strong {
  letter-spacing: -0.025em;
}

.module-list p {
  color: #5d6673;
}
