:root {
  color-scheme: dark;
  --bg: #07090d;
  --surface: #0b0f15;
  --paper: #f4f3ef;
  --muted: #9298a1;
  --dim: #626973;
  --cyan: #59e1e4;
  --orange: #ff9b41;
  --coral: #ff4b6e;
  --line: rgba(255, 255, 255, 0.14);
  --line-strong: rgba(255, 255, 255, 0.24);
  --page-pad: clamp(1.35rem, 5.5vw, 4rem);
  --content: 70rem;
  --display: "PingFang SC", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
  --text: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", system-ui, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--bg); }
body {
  margin: 0;
  min-width: 320px;
  overflow-x: hidden;
  background: var(--bg);
  color: var(--paper);
  font-family: var(--text);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
a { color: inherit; text-decoration: none; }
button { font: inherit; }

.page,
.final-page {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
.page { min-height: 100svh; }
.page-inner {
  width: min(100%, var(--content));
  margin: 0 auto;
  padding: max(1.25rem, env(safe-area-inset-top)) var(--page-pad) clamp(5.5rem, 10vw, 8rem);
}
.texture {
  position: absolute;
  z-index: -1;
  inset: 0;
  opacity: 0.11;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(255,255,255,.09) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.09) 1px, transparent 1px);
  background-size: 5rem 5rem;
  mask-image: linear-gradient(180deg, #000, transparent 68%);
}

.page-top {
  position: relative;
  z-index: 3;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  width: 100%;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--line);
}
.page-top--section { display: block; padding-bottom: 0; border-bottom: 0; }
.page-meta {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding-bottom: .9rem;
  border-bottom: 1px solid var(--line);
}
.page-focus {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .8rem;
  align-items: center;
  min-height: 4.2rem;
  margin-top: .7rem;
  padding: .85rem .85rem .85rem 1rem;
  border: 1px solid var(--line);
  border-left-width: 3px;
  background: rgba(255,255,255,.025);
}
.page-chapter {
  margin: 0;
  font-size: clamp(.92rem, 3.8vw, 1.08rem);
  font-weight: 780;
  letter-spacing: -.012em;
  line-height: 1.45;
}
.page-top--section + .section-intro { padding-top: clamp(2.4rem, 7vw, 4.5rem); }
.focus-motif { justify-self: end; flex: 0 0 auto; }
.focus-motif--diagnosis {
  display: grid;
  gap: .38rem;
  width: 4.2rem;
}
.focus-motif--diagnosis i {
  position: relative;
  display: block;
  height: 2px;
  margin-left: .45rem;
  background: rgba(255,75,110,.34);
}
.focus-motif--diagnosis i::before {
  position: absolute;
  top: 50%;
  left: -.45rem;
  width: .3rem;
  height: .3rem;
  border: 1px solid var(--coral);
  border-radius: 50%;
  background: #0a0d12;
  content: "";
  transform: translateY(-50%);
}
.focus-motif--diagnosis i:nth-child(2) { width: 78%; }
.focus-motif--diagnosis i:nth-child(3) { width: 55%; }
.focus-motif--results { display: grid; grid-template-columns: repeat(3, 1.45rem); gap: .24rem; }
.focus-motif--results span {
  display: grid;
  place-items: center;
  width: 1.45rem;
  height: 1.45rem;
  border: 1px solid rgba(89,225,228,.52);
  color: var(--cyan);
  font-size: .5rem;
  font-weight: 800;
  letter-spacing: .02em;
}
.focus-motif--continuity {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 4.8rem;
}
.focus-motif--continuity::before {
  position: absolute;
  right: .12rem;
  left: .12rem;
  height: 1px;
  background: rgba(255,155,65,.48);
  content: "";
}
.focus-motif--continuity i {
  position: relative;
  width: .45rem;
  height: .45rem;
  border: 1px solid var(--orange);
  border-radius: 50%;
  background: #0d0d0e;
}
.focus-motif--continuity i:last-child { background: var(--orange); box-shadow: 0 0 0 .25rem rgba(255,155,65,.1); }
.focus-motif--loop { display: flex; align-items: center; gap: .2rem; color: var(--orange); }
.focus-motif--loop span {
  display: grid;
  place-items: center;
  width: 1.35rem;
  height: 1.35rem;
  border: 1px solid rgba(255,155,65,.55);
  border-radius: 50%;
  font-size: .64rem;
  font-weight: 800;
}
.focus-motif--loop b { font-size: .62rem; font-weight: 500; opacity: .55; }
.focus-motif--track { display: grid; grid-template-columns: auto 2.7rem auto; gap: .3rem; align-items: center; color: var(--cyan); }
.focus-motif--track span { font-size: .58rem; font-weight: 800; white-space: nowrap; }
.focus-motif--track i { position: relative; display: block; height: 1px; background: rgba(89,225,228,.55); }
.focus-motif--track i::before,
.focus-motif--track i::after {
  position: absolute;
  top: 50%;
  width: .26rem;
  height: .26rem;
  border-radius: 50%;
  background: var(--cyan);
  content: "";
  transform: translateY(-50%);
}
.focus-motif--track i::before { left: 0; }
.focus-motif--track i::after { right: 0; }
.page-no,
.teacher-mark,
.page-motto {
  margin: 0;
  font-size: clamp(0.68rem, 2.6vw, 0.78rem);
  font-weight: 700;
  letter-spacing: 0.09em;
}
.page-no { color: rgba(255,255,255,.86); font-variant-numeric: tabular-nums; white-space: nowrap; }
.page-no span { color: rgba(255,255,255,.34); }
.teacher-mark { color: rgba(255,255,255,.42); }
.page-motto { color: rgba(255,255,255,.56); }
.page-motto--top { max-width: 15rem; text-align: right; }

.kicker {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  margin: 0 0 clamp(1.2rem, 4vw, 2rem);
  font-size: clamp(0.75rem, 2.8vw, 0.9rem);
  font-weight: 800;
  letter-spacing: 0.22em;
}
.kicker::before { width: 1.75rem; height: 2px; background: currentColor; content: ""; }
.cyan, .cyan-text { color: var(--cyan); }
.orange { color: var(--orange); }
.coral, .coral-text { color: var(--coral); }

.section-intro { padding-top: clamp(3.5rem, 10vw, 7rem); }
.section-intro h2 {
  max-width: 15em;
  margin: 0;
  font-family: var(--display);
  font-size: clamp(2.35rem, 10vw, 6.5rem);
  font-weight: 850;
  letter-spacing: -0.048em;
  line-height: 1.12;
}
.section-intro h2 > span { display: block; }
.section-intro h2 > span + span { margin-top: 0.1em; }
.section-intro h2 .muted-line {
  color: rgba(255,255,255,.48);
  font-size: .54em;
  font-weight: 550;
  letter-spacing: -0.025em;
  line-height: 1.35;
}
.section-intro h2 .section-gap { margin-top: 1.6em; }
.section-subtitle {
  margin: clamp(1.5rem, 5vw, 2.5rem) 0 0;
  color: rgba(255,255,255,.64);
  font-size: clamp(1.05rem, 4vw, 1.4rem);
  font-weight: 500;
  line-height: 1.65;
}
.section-subtitle span { display: block; }

.meta-pill {
  display: inline-flex;
  align-items: center;
  min-height: 2.5rem;
  margin: 0;
  padding: 0.62rem 0.9rem;
  border: 1px solid rgba(89,225,228,.5);
  background: rgba(8,15,18,.68);
  color: var(--cyan);
  font-size: clamp(0.78rem, 3vw, 0.92rem);
  font-weight: 750;
  letter-spacing: .03em;
  backdrop-filter: blur(10px);
}
.meta-pill--orange { border-color: rgba(255,155,65,.52); background: rgba(24,15,8,.56); color: var(--orange); }
.list-no {
  color: rgba(255,255,255,.38);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .1em;
  font-variant-numeric: tabular-nums;
}

/* 01 */
.hero {
  display: grid;
  min-height: 100svh;
  padding: max(1.25rem, env(safe-area-inset-top)) var(--page-pad) max(1.65rem, env(safe-area-inset-bottom));
}
.hero__photo,
.hero__shade {
  position: absolute;
  inset: 0;
}
.hero__photo {
  z-index: -4;
  background: url("./wechat-cover-background.png") 61% 46% / cover no-repeat;
  transform: scale(1.02);
  animation: settle 1.8s cubic-bezier(.16,1,.3,1) both;
}
.hero__shade {
  z-index: -3;
  background:
    linear-gradient(180deg, rgba(3,5,8,.32) 0%, rgba(3,5,8,.08) 28%, rgba(3,5,8,.87) 69%, #07090d 100%),
    linear-gradient(90deg, rgba(3,5,8,.92) 0%, rgba(3,5,8,.5) 54%, rgba(3,5,8,.08) 100%);
}
.hero .texture { z-index: -2; }
.hero__content {
  align-self: end;
  width: min(100%, var(--content));
  padding: 19vh 0 clamp(6.6rem, 13vh, 9rem);
}
.hero h1 {
  margin: 0;
  font-family: var(--display);
  font-size: clamp(3.25rem, 14.4vw, 8.4rem);
  font-weight: 900;
  letter-spacing: -0.082em;
  line-height: .98;
  text-shadow: 0 .08em .38em rgba(0,0,0,.28);
}
.hero h1 span { display: block; }
.hero h1 span + span { margin-top: .15em; }
.hero h1 b { color: var(--cyan); font-size: .66em; font-weight: 900; letter-spacing: -.035em; }
.hero__promise {
  display: grid;
  gap: .48rem;
  max-width: 39rem;
  margin: clamp(2.2rem, 7vw, 3.5rem) 0 clamp(1.65rem, 5vw, 2.4rem);
  padding-left: 1rem;
  border-left: 2px solid var(--cyan);
}
.hero__promise p {
  margin: 0;
  color: rgba(255,255,255,.82);
  font-size: clamp(1.08rem, 4.2vw, 1.55rem);
  font-weight: 500;
  line-height: 1.62;
}
.hero > .page-motto {
  position: absolute;
  left: var(--page-pad);
  bottom: max(1.5rem, env(safe-area-inset-bottom));
}
.scroll-cue {
  position: absolute;
  right: var(--page-pad);
  bottom: max(1.3rem, env(safe-area-inset-bottom));
  display: grid;
  place-items: center;
  width: 2.2rem;
  height: 2.2rem;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 50%;
}
.scroll-cue svg { width: 1.1rem; fill: none; stroke: var(--cyan); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; animation: nudge 1.8s ease-in-out infinite; }

/* 02 */
.problem {
  background:
    radial-gradient(circle at 92% 10%, rgba(255,75,110,.14), transparent 27rem),
    #0a0d12;
}
.problem .page-no { color: var(--coral); }
.problem .page-chapter { color: var(--coral); }
.problem .page-focus { border-left-color: var(--coral); background: linear-gradient(90deg, rgba(255,75,110,.085), rgba(255,255,255,.018)); }
.problem .section-intro h2 {
  max-width: 11em;
  font-size: clamp(2rem, 8.2vw, 4.6rem);
  letter-spacing: -.04em;
  line-height: 1.16;
}
.same-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .35rem;
  margin: clamp(2.5rem, 8vw, 5rem) 0 0;
  padding: clamp(1.1rem, 4vw, 1.7rem) 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  color: rgba(255,255,255,.5);
  font-size: clamp(.84rem, 3.5vw, 1.18rem);
  font-weight: 500;
  line-height: 1.55;
  text-align: center;
}
.same-list span + span { border-left: 1px solid var(--line); }
.same-list span { display: block; }
.problem-hit {
  display: grid;
  gap: .5rem;
  margin: clamp(2.8rem, 9vw, 5.5rem) 0;
}
.problem-hit p {
  margin: 0 0 .85rem;
  color: rgba(255,255,255,.55);
  font-size: clamp(1rem, 3.8vw, 1.25rem);
  font-weight: 500;
}
.problem-hit strong {
  display: block;
  max-width: 17em;
  font-family: var(--display);
  font-size: clamp(1.45rem, 5.8vw, 3.2rem);
  font-weight: 720;
  letter-spacing: -.035em;
  line-height: 1.28;
}
.problem-hit strong:last-child {
  max-width: 11em;
  margin-top: .2em;
  font-size: clamp(1.95rem, 8.9vw, 5.6rem);
  font-weight: 900;
  letter-spacing: -.06em;
  line-height: 1.08;
  white-space: nowrap;
}
.problem-three {
  display: grid;
  gap: clamp(2rem, 7vw, 4rem);
  padding-top: clamp(2rem, 7vw, 4rem);
  border-top: 1px solid var(--coral);
}
.problem-three > h3 {
  margin: 0;
  font-family: var(--display);
  font-size: clamp(1.4rem, 5.4vw, 2.7rem);
  font-weight: 800;
  letter-spacing: -.035em;
  line-height: 1.25;
}
.problem-list { position: relative; display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.problem-list::before {
  position: absolute;
  top: 1.8rem;
  bottom: 1.8rem;
  left: 1.05rem;
  width: 1px;
  background: linear-gradient(var(--coral), rgba(255,75,110,.18));
  content: "";
}
.problem-list li {
  position: relative;
  display: grid;
  grid-template-columns: 2.7rem 1fr;
  gap: .7rem;
  padding: 1.5rem 0;
  border-bottom: 1px solid var(--line);
}
.problem-list p {
  margin: 0;
  color: rgba(255,255,255,.53);
  font-size: clamp(.9rem, 3.5vw, 1.08rem);
  font-weight: 450;
  line-height: 1.62;
}
.problem-list strong {
  display: block;
  margin-top: .22rem;
  color: var(--paper);
  font-size: 1.28em;
  font-weight: 750;
  line-height: 1.5;
}
.problem-list .list-no {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 2.12rem;
  height: 2.12rem;
  padding: 0;
  border: 1px solid rgba(255,75,110,.65);
  border-radius: 50%;
  background: #0a0d12;
  color: var(--coral);
}

/* 03 */
.outcomes {
  background:
    radial-gradient(circle at 7% 22%, rgba(89,225,228,.11), transparent 28rem),
    #080b10;
}
.outcomes .page-no { color: var(--cyan); }
.outcomes .page-chapter { color: var(--cyan); }
.outcomes .page-focus { border-left-color: var(--cyan); background: linear-gradient(90deg, rgba(89,225,228,.08), rgba(255,255,255,.018)); }
.outcomes .section-intro {
  padding-bottom: clamp(2.8rem, 9vw, 5rem);
  border-bottom: 1px solid rgba(89,225,228,.34);
}
.outcome-list {
  display: grid;
  gap: .85rem;
  margin-top: clamp(2.4rem, 8vw, 4.5rem);
}
.outcome-item {
  display: grid;
  grid-template-columns: 2.8rem 1fr;
  gap: .7rem;
  min-height: 13rem;
  padding: clamp(1.45rem, 5vw, 2.35rem);
  border: 1px solid rgba(89,225,228,.3);
  background: linear-gradient(135deg, rgba(89,225,228,.065), rgba(255,255,255,.018));
  box-shadow: inset 2px 0 0 rgba(89,225,228,.58);
}
.outcome-item .list-no { padding-top: .45rem; color: var(--cyan); }
.outcome-item h3 {
  max-width: 22em;
  margin: 0 0 1.45rem;
  font-size: clamp(1.22rem, 4.65vw, 1.85rem);
  font-weight: 750;
  letter-spacing: -.025em;
  line-height: 1.43;
}
.outcome-item p,
.outcome-item strong {
  display: block;
  margin: 0;
  font-size: clamp(.9rem, 3.45vw, 1.02rem);
  line-height: 1.7;
}
.outcome-item p { color: rgba(255,255,255,.46); font-weight: 400; }
.outcome-item strong { margin-top: .25rem; color: rgba(255,255,255,.76); font-weight: 620; }

/* 04 */
.continuity {
  background:
    radial-gradient(circle at 88% 12%, rgba(255,155,65,.14), transparent 28rem),
    #0d0d0e;
}
.continuity .page-no { color: var(--orange); }
.continuity .page-chapter { color: var(--orange); }
.continuity .page-focus { border-left-color: var(--orange); background: linear-gradient(90deg, rgba(255,155,65,.085), rgba(255,255,255,.018)); }
.continuity__intro h2 {
  max-width: 12em;
  color: rgba(255,255,255,.76);
  font-size: clamp(1.8rem, 7.4vw, 4.2rem);
  font-weight: 720;
  letter-spacing: -.035em;
  line-height: 1.22;
}
.continuity__start {
  display: grid;
  gap: .35rem;
  margin: clamp(2rem, 6vw, 3.3rem) 0 0;
  color: rgba(255,255,255,.62);
  font-size: clamp(1.02rem, 4vw, 1.35rem);
  font-weight: 450;
  line-height: 1.65;
}
.change-statement {
  margin: clamp(2.7rem, 8vw, 5rem) 0 0;
  padding: clamp(1.35rem, 5vw, 2.2rem) 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.change-statement strong {
  display: block;
  margin-bottom: 1.1rem;
  color: rgba(255,255,255,.88);
  font-family: var(--display);
  font-size: clamp(1.35rem, 5.2vw, 2.5rem);
  font-weight: 760;
  letter-spacing: -.025em;
  line-height: 1.38;
}
.revision-old { position: relative; color: var(--orange); }
.revision-old::after {
  position: absolute;
  right: -.06em;
  bottom: .46em;
  left: -.06em;
  height: 2px;
  background: var(--orange);
  content: "";
  transform: rotate(-5deg);
  transform-origin: center;
}
.change-statement p {
  margin: .35rem 0 0;
  color: rgba(255,255,255,.68);
  font-size: clamp(.98rem, 3.8vw, 1.2rem);
  line-height: 1.6;
}
.change-statement .revision-result { color: var(--orange); font-weight: 720; }
.continuity__teacher {
  position: relative;
  margin-top: clamp(2.8rem, 8vw, 5rem);
  padding-left: 1.2rem;
  border-left: 1px solid rgba(255,155,65,.4);
}
.continuity__teacher::before {
  position: absolute;
  top: .95rem;
  left: -.28rem;
  width: .5rem;
  height: .5rem;
  border-radius: 50%;
  background: var(--orange);
  box-shadow: 0 0 0 .3rem rgba(255,155,65,.1);
  content: "";
}
.follow-line {
  position: relative;
  display: grid;
  gap: .45rem;
  margin-top: 1.25rem;
  padding: clamp(1.35rem, 5vw, 2rem) 0;
  border-top: 1px solid var(--line);
}
.follow-line::before {
  position: absolute;
  top: 1.8rem;
  left: -1.5rem;
  width: .52rem;
  height: .52rem;
  border: 1px solid var(--orange);
  border-radius: 50%;
  background: #0d0d0e;
  content: "";
}
.follow-line strong {
  font-size: clamp(1.08rem, 4.1vw, 1.45rem);
  font-weight: 700;
  line-height: 1.55;
}
.follow-line span {
  color: var(--orange);
  font-size: clamp(2.05rem, 8.4vw, 4.6rem);
  font-weight: 880;
  letter-spacing: -.052em;
  line-height: 1.15;
}
.follow-line--muted { margin-top: 0; }
.follow-line--muted strong { color: rgba(255,255,255,.5); }
.follow-line--muted span { color: rgba(255,255,255,.72); font-size: clamp(1.02rem, 4vw, 1.35rem); font-weight: 550; letter-spacing: 0; }

/* 05 */
.schedule {
  background:
    radial-gradient(circle at 95% 8%, rgba(255,155,65,.14), transparent 30rem),
    #090c11;
}
.schedule .page-no { color: var(--orange); }
.schedule .page-chapter { color: var(--orange); }
.schedule .page-focus { border-left-color: var(--orange); background: linear-gradient(90deg, rgba(255,155,65,.085), rgba(255,255,255,.018)); }
.schedule .section-intro {
  padding-bottom: clamp(2.7rem, 8vw, 4.5rem);
  border-bottom: 1px solid rgba(255,155,65,.34);
}
.schedule__subtitle { display: grid; gap: .15rem; }
.day-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .45rem;
  margin-top: clamp(2.3rem, 7vw, 4rem);
}
.day-tab {
  min-width: 0;
  padding: 1rem .65rem;
  border: 1px solid var(--line);
  border-radius: 0;
  background: rgba(255,255,255,.025);
  color: rgba(255,255,255,.48);
  text-align: left;
  cursor: pointer;
  transition: color 180ms ease, background 180ms ease, border-color 180ms ease, transform 180ms ease;
}
.day-tab small,
.day-tab strong { display: block; }
.day-tab small { font-size: .61rem; letter-spacing: .08em; }
.day-tab strong { margin-top: .48rem; font-size: clamp(.87rem, 3.5vw, 1.15rem); font-weight: 750; white-space: nowrap; }
.day-tab.is-active { border-color: var(--orange); background: var(--orange); color: #130d07; }
.day-tab:active { transform: scale(.98); }
.day-tab:focus-visible { outline: 2px solid var(--paper); outline-offset: 3px; }
.day-panels { border: 1px solid var(--line); border-top: 0; background: rgba(1,3,5,.28); }
.day-panel { padding: clamp(1.4rem, 5vw, 2.7rem); }
.day-head {
  display: grid;
  gap: .65rem;
  padding: .5rem 0 clamp(1.5rem, 5vw, 2.3rem);
}
.day-head > span { color: var(--orange); font-size: .73rem; font-weight: 750; letter-spacing: .1em; }
.day-head h3 {
  margin: 0;
  font-size: clamp(1.45rem, 5.6vw, 2.55rem);
  font-weight: 800;
  letter-spacing: -.035em;
  line-height: 1.35;
}
.time-block {
  padding: 0;
  border-top: 1px solid var(--line);
}
.time-block summary {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 1.8rem;
  gap: .5rem .75rem;
  align-items: start;
  padding: clamp(1.35rem, 4.5vw, 2rem) 0;
  cursor: pointer;
  list-style: none;
}
.time-block summary::-webkit-details-marker,
.service-item summary::-webkit-details-marker { display: none; }
.time-block summary::after,
.service-item summary::after {
  display: grid;
  place-items: center;
  width: 1.65rem;
  height: 1.65rem;
  border: 1px solid var(--line-strong);
  border-radius: 50%;
  color: var(--orange);
  font-size: 1.1rem;
  font-weight: 400;
  line-height: 1;
  content: "+";
  transition: transform 180ms ease, border-color 180ms ease;
}
.time-block summary::after { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
.service-item summary::after { grid-column: 3; grid-row: 1; }
.time-block[open] summary::after,
.service-item[open] summary::after {
  border-color: currentColor;
  transform: rotate(45deg);
}
.time-block summary:focus-visible,
.service-item summary:focus-visible { outline: 2px solid var(--paper); outline-offset: 4px; }
.time-block time {
  grid-column: 1;
  color: var(--orange);
  font-size: .72rem;
  font-weight: 750;
  font-variant-numeric: tabular-nums;
  letter-spacing: .04em;
}
.time-block h4 {
  grid-column: 1;
  margin: 0;
  font-size: clamp(1.08rem, 4.25vw, 1.45rem);
  font-weight: 750;
  letter-spacing: -.018em;
  line-height: 1.55;
}
.time-block ul {
  display: grid;
  gap: .58rem;
  margin: 0;
  padding: 0 2.2rem clamp(1.45rem, 5vw, 2rem) 0;
  list-style: none;
  color: rgba(255,255,255,.48);
  font-size: clamp(.88rem, 3.35vw, .98rem);
  font-weight: 400;
  line-height: 1.7;
}
.time-block li { position: relative; padding-left: 1rem; }
.time-block li::before { position: absolute; top: 0; left: 0; color: var(--orange); content: "·"; }

/* 06 */
.support {
  background:
    radial-gradient(circle at 6% 6%, rgba(89,225,228,.13), transparent 28rem),
    #071014;
}
.support .page-no { color: var(--cyan); }
.support .page-chapter { color: var(--cyan); }
.support .page-focus { border-left-color: var(--cyan); background: linear-gradient(90deg, rgba(89,225,228,.08), rgba(255,255,255,.018)); }
.support .section-intro h2 {
  max-width: 13em;
  color: rgba(255,255,255,.8);
  font-size: clamp(2rem, 8.3vw, 4.8rem);
  font-weight: 760;
  letter-spacing: -.04em;
  line-height: 1.18;
}
.support__lead {
  display: inline-flex;
  margin: clamp(1.7rem, 5vw, 2.6rem) 0 0;
  padding: .7rem .9rem;
  border: 1px solid rgba(89,225,228,.4);
  color: var(--cyan);
  font-size: clamp(.82rem, 3vw, .95rem);
  font-weight: 700;
}
.support__promise {
  margin: clamp(2.8rem, 9vw, 5rem) 0;
  padding: clamp(1.6rem, 6vw, 2.7rem);
  border-top: 2px solid var(--cyan);
  background: rgba(255,255,255,.035);
}
.support__promise strong {
  display: block;
  margin-bottom: 1.4rem;
  font-size: clamp(1.72rem, 6.8vw, 3.4rem);
  font-weight: 850;
  letter-spacing: -.045em;
  line-height: 1.32;
}
.support__promise strong span { display: block; }
.support__promise p {
  margin: .3rem 0 0;
  color: rgba(255,255,255,.59);
  font-size: clamp(.96rem, 3.7vw, 1.15rem);
  line-height: 1.6;
}
.support__promise p:last-child { color: var(--cyan); font-weight: 700; }
.service-list { display: grid; border-top: 1px solid var(--line); }
.service-item {
  display: block;
  padding: 0;
  border-bottom: 1px solid var(--line);
}
.service-item summary {
  display: grid;
  grid-template-columns: 2.8rem minmax(0, 1fr) 1.8rem;
  gap: .65rem;
  align-items: center;
  padding: clamp(1.35rem, 5vw, 1.9rem) 0;
  cursor: pointer;
  list-style: none;
}
.service-item summary::after { color: var(--cyan); }
.service-item .list-no { padding-top: 0; color: var(--cyan); }
.service-item h3 {
  margin: 0;
  font-size: clamp(1.12rem, 4.2vw, 1.55rem);
  font-weight: 800;
  line-height: 1.45;
}
.service-item__body { padding: 0 2.45rem clamp(1.5rem, 5vw, 2rem) 3.45rem; }
.service-item p,
.service-item strong {
  display: block;
  margin: 0;
  font-size: clamp(.87rem, 3.3vw, .98rem);
  line-height: 1.72;
}
.service-item p { color: rgba(255,255,255,.42); font-weight: 400; }
.service-item strong { margin-top: .75rem; color: rgba(255,255,255,.72); font-weight: 560; }
.trust-acquisition {
  margin-top: clamp(4rem, 12vw, 7rem);
  padding-top: clamp(2rem, 7vw, 3.5rem);
  border-top: 2px solid var(--cyan);
}
.trust-acquisition__eyebrow {
  margin: 0 0 1.4rem;
  color: rgba(255,255,255,.5);
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .06em;
}
.trust-acquisition__grid { display: grid; gap: .75rem; }
.trust-acquisition article {
  min-height: 13rem;
  padding: 1.5rem;
  border: 1px solid rgba(89,225,228,.28);
  background: linear-gradient(145deg, rgba(89,225,228,.08), rgba(255,255,255,.015));
}
.trust-acquisition article > span { color: rgba(255,255,255,.3); font-size: .66rem; font-weight: 700; }
.trust-acquisition h3 {
  margin: 2.1rem 0 .9rem;
  color: var(--cyan);
  font-size: clamp(1.8rem, 7vw, 3.2rem);
  font-weight: 850;
  letter-spacing: -.045em;
}
.trust-acquisition article p {
  margin: 0;
  color: rgba(255,255,255,.64);
  font-size: clamp(.92rem, 3.5vw, 1.04rem);
  line-height: 1.75;
}

/* Final */
.final-page {
  display: grid;
  place-items: center;
  min-height: 100svh;
  padding: max(2rem, env(safe-area-inset-top)) var(--page-pad) max(2rem, env(safe-area-inset-bottom));
  background: #05070a;
}
.final-page__glow {
  position: absolute;
  z-index: -2;
  inset: 0;
  background:
    radial-gradient(circle at 50% 43%, rgba(89,225,228,.16), transparent 35%),
    radial-gradient(circle at 82% 82%, rgba(255,155,65,.07), transparent 28%);
}
.final-page__inner { width: min(100%, var(--content)); }
.final-page h2 { margin: 0; max-width: 15em; }
.final-page h2 > span,
.final-page h2 strong { display: block; }
.final-page h2 > span {
  color: rgba(255,255,255,.58);
  font-size: clamp(1.25rem, 5vw, 2.2rem);
  font-weight: 550;
  line-height: 1.5;
}
.final-page h2 strong {
  margin-top: .38em;
  font-family: var(--display);
  font-size: clamp(3rem, 13vw, 7.6rem);
  font-weight: 900;
  letter-spacing: -.075em;
  line-height: 1.08;
}
.final-page h2 strong span { display: block; }
.final-page__meta {
  margin: clamp(3rem, 10vw, 5.5rem) 0 0;
  padding-top: 1.3rem;
  border-top: 1px solid rgba(89,225,228,.46);
  color: rgba(255,255,255,.6);
  font-size: clamp(.76rem, 3vw, .96rem);
  font-weight: 600;
  line-height: 1.65;
}

.reveal { opacity: 0; transform: translateY(1rem); transition: opacity 640ms ease, transform 640ms cubic-bezier(.16,1,.3,1); }
.reveal.is-visible { opacity: 1; transform: none; }

@keyframes settle {
  from { transform: scale(1.08); filter: saturate(.72) contrast(.92); }
  to { transform: scale(1.02); filter: saturate(.9) contrast(1); }
}
@keyframes nudge {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(.28rem); }
}

@media (min-width: 760px) {
  .hero__photo { background-position: 70% 45%; }
  .hero__shade {
    background:
      linear-gradient(180deg, rgba(3,5,8,.25) 0%, rgba(3,5,8,.06) 44%, rgba(3,5,8,.9) 100%),
      linear-gradient(90deg, rgba(3,5,8,.94) 0%, rgba(3,5,8,.5) 48%, rgba(3,5,8,.08) 84%);
  }
  .hero__content { padding: 6vh 0 6vh; }
  .hero h1 { font-size: clamp(4.7rem, 9vw, 7rem); }
  .same-list { grid-template-columns: repeat(3, max-content); gap: 3rem; }
  .problem-three { grid-template-columns: minmax(15rem,.72fr) minmax(29rem,1.28fr); gap: 5rem; align-items: start; }
  .outcome-item { grid-template-columns: 4rem 1fr; }
  .outcome-item--accent { grid-template-columns: 3rem 1fr; }
  .continuity__teacher { display: grid; grid-template-columns: minmax(14rem,.7fr) minmax(24rem,1.3fr); gap: 0 3rem; align-items: start; }
  .continuity__teacher .meta-pill { grid-row: 1 / span 2; }
  .follow-line { margin-top: 0; }
  .day-tab { padding: 1.25rem; }
  .time-block summary { grid-template-columns: 8rem minmax(0, 1fr) 1.8rem; gap: 1.5rem; }
  .time-block time { grid-column: 1; grid-row: 1; }
  .time-block h4 { grid-column: 2; grid-row: 1; }
  .time-block summary::after { grid-column: 3; grid-row: 1; }
  .time-block ul { padding-left: 9.5rem; }
  .service-list { grid-template-columns: repeat(2, minmax(0,1fr)); border-left: 1px solid var(--line); }
  .service-item { padding: 0; border-right: 1px solid var(--line); }
  .service-item summary { padding: 2rem; }
  .service-item__body { padding: 0 2rem 2rem 5.45rem; }
  .service-item:last-child { grid-column: 1 / -1; }
  .trust-acquisition__grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .trust-acquisition article { min-height: 16rem; padding: 2rem; }
  .final-page h2 strong span { display: inline; }
  .final-page h2 strong span + span::before { content: " "; }
}

@media (max-width: 759px) {
  .page-inner { padding-top: max(.95rem, env(safe-area-inset-top)); }
  .section-intro { padding-top: 2.85rem; }
  .section-subtitle { font-size: 1rem; }
  .outcome-item { grid-template-columns: 1fr; gap: .85rem; }
  .outcome-item--accent { grid-template-columns: 1fr; }
  .outcome-item .list-no { padding-top: 0; }
  .outcome-item h3 { max-width: 15em; }
  .problem-list li { padding: 1.25rem 0; }
  .continuity__start { font-size: .98rem; }
  .follow-line strong { color: rgba(255,255,255,.48); font-size: .9rem; font-weight: 550; }
  .follow-line--muted span { font-size: .96rem; }
  .time-block h4 { font-size: 1.05rem; }
  .trust-acquisition article { min-height: 11rem; }
}

@media (max-width: 374px) {
  .page-motto--top { max-width: 11.5rem; font-size: .63rem; }
  .hero h1 { font-size: 2.9rem; }
  .day-tab { padding-right: .45rem; padding-left: .45rem; }
  .day-tab strong { font-size: .8rem; }
}

/* 2026-09-13 reading hierarchy pass — preserve all copy, improve scanning */
.page-inner {
  width: min(100%, 62rem);
  padding-bottom: clamp(6.5rem, 15vw, 10rem);
}
.page-focus {
  min-height: 3.7rem;
  padding: .72rem .82rem .72rem 1rem;
  border-top-color: rgba(255,255,255,.09);
  border-right-color: rgba(255,255,255,.09);
  border-bottom-color: rgba(255,255,255,.09);
  background-color: rgba(255,255,255,.018);
}
.page-chapter { max-width: 20em; }

/* 01 — one-line course name, industry tag below */
.hero__content {
  padding-top: 17vh;
  padding-bottom: clamp(6.4rem, 12vh, 8.5rem);
}
.hero h1 {
  display: flex;
  align-items: baseline;
  gap: .2em;
  max-width: 100%;
  font-size: clamp(2.05rem, 8.8vw, 5.2rem);
  letter-spacing: -.075em;
  line-height: 1;
  white-space: nowrap;
}
.hero h1 span,
.hero h1 small,
.hero h1 b { display: inline; margin: 0; }
.hero h1 small {
  color: rgba(255,255,255,.78);
  font-size: .53em;
  font-weight: 720;
  letter-spacing: -.035em;
}
.hero h1 b {
  font-size: .56em;
  letter-spacing: -.03em;
}
.hero__industry {
  justify-content: flex-start;
  margin: clamp(1.35rem, 4vw, 2.2rem) 0 0;
  color: var(--orange);
}
.hero__promise {
  margin-top: clamp(2.1rem, 6vw, 3rem);
}

/* 02 — a clear before/after comparison, followed by three diagnosis cards */
.problem .section-intro { text-align: center; }
.problem .section-intro .kicker { justify-content: center; }
.problem .section-intro h2.problem-title {
  display: grid;
  justify-items: center;
  gap: 1rem;
  max-width: 100%;
  font-size: 1rem;
  letter-spacing: 0;
  line-height: 1.2;
}
.problem-state {
  display: grid !important;
  justify-items: center;
  gap: .38rem;
}
.problem-state__label {
  color: rgba(255,255,255,.48);
  font-size: clamp(.92rem, 3.5vw, 1.08rem);
  font-weight: 560;
  letter-spacing: 0;
  line-height: 1.45;
}
.problem-state strong {
  color: var(--paper);
  font-family: var(--display);
  font-size: clamp(1.95rem, 8vw, 4.2rem);
  font-weight: 880;
  letter-spacing: -.055em;
  line-height: 1.1;
}
.problem-state--now strong { color: var(--coral); }
.problem-shift {
  position: relative;
  display: block !important;
  width: 1px;
  height: 2.7rem;
  background: linear-gradient(rgba(255,255,255,.12), var(--coral));
}
.problem-shift::after {
  position: absolute;
  bottom: -.1rem;
  left: 50%;
  width: .42rem;
  height: .42rem;
  border-right: 1px solid var(--coral);
  border-bottom: 1px solid var(--coral);
  content: "";
  transform: translateX(-50%) rotate(45deg);
}
.same-list {
  max-width: 38rem;
  margin-right: auto;
  margin-left: auto;
}
.problem-hit {
  justify-items: center;
  max-width: 48rem;
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}
.problem-hit strong { max-width: 100%; }
.problem-hit strong:last-child {
  max-width: 100%;
  white-space: normal;
}
.problem-three {
  grid-template-columns: 1fr;
  gap: clamp(1.5rem, 5vw, 2.4rem);
  max-width: 50rem;
  margin-right: auto;
  margin-left: auto;
}
.problem-three > h3 { text-align: center; }
.problem-list {
  grid-template-columns: 1fr;
  gap: .7rem;
}
.problem-list::before { display: none; }
.problem-list li {
  grid-template-columns: 3rem minmax(0, 1fr);
  gap: .85rem;
  align-items: center;
  padding: 1.15rem;
  border: 1px solid rgba(255,75,110,.2);
  background: linear-gradient(110deg, rgba(255,75,110,.065), rgba(255,255,255,.014));
}
.problem-list p { font-size: clamp(1rem, 3.6vw, 1.1rem); }
.problem-list strong { margin-top: .12rem; line-height: 1.4; }

/* 03 — the changed words are the visual anchor, all three results are equal */
.outcomes .section-intro { text-align: center; }
.outcomes .section-intro .kicker { justify-content: center; }
.outcomes .section-intro h2 {
  max-width: 100%;
  font-size: clamp(2rem, 8.6vw, 5rem);
  line-height: 1.18;
}
.outcome-word {
  display: inline-block;
  padding: 0 .08em;
  font-style: normal;
  font-weight: 900;
  white-space: nowrap;
}
.outcome-word--chance {
  color: var(--orange);
  text-decoration: line-through;
  text-decoration-thickness: .055em;
  text-decoration-color: rgba(255,155,65,.72);
}
.outcome-word--lasting {
  color: var(--cyan);
  text-shadow: 0 0 1.25rem rgba(89,225,228,.16);
}
.outcome-list {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .72rem;
}
.outcome-item {
  grid-template-columns: 1fr;
  align-content: start;
  justify-items: center;
  min-height: 20rem;
  padding: clamp(1.4rem, 4vw, 2rem) clamp(1.05rem, 3vw, 1.65rem);
  text-align: center;
  box-shadow: inset 0 2px 0 rgba(89,225,228,.58);
}
.outcome-item .list-no {
  display: grid;
  place-items: center;
  width: 3.1rem;
  height: 3.1rem;
  margin-bottom: 1.7rem;
  padding: 0;
  border: 1px solid rgba(89,225,228,.5);
  border-radius: 50%;
  color: var(--cyan);
  font-size: .78rem;
}
.outcome-item h3 {
  max-width: 14em;
  margin-bottom: 1.65rem;
  font-size: clamp(1.15rem, 3vw, 1.5rem);
}
.outcome-item p,
.outcome-item strong {
  font-size: 1rem;
  line-height: 1.65;
}

/* 04 — sentence order and the "0" become unmistakable */
.continuity .section-intro { text-align: center; }
.continuity__intro h2 {
  display: grid;
  justify-items: center;
  gap: .58rem;
  max-width: 100%;
}
.continuity__intro h2 > span {
  color: rgba(255,255,255,.48);
  font-size: clamp(1.05rem, 4vw, 1.35rem);
  font-weight: 560;
  letter-spacing: .08em;
  line-height: 1.4;
}
.continuity__intro h2 > strong {
  color: var(--paper);
  font-size: clamp(2rem, 8vw, 4.6rem);
  font-weight: 860;
  letter-spacing: -.055em;
  line-height: 1.16;
}
.continuity__intro h2 b {
  color: var(--orange);
  font-size: 1.08em;
  font-weight: 900;
}
.continuity__start { justify-items: center; }
.change-statement {
  max-width: 48rem;
  margin-right: auto;
  margin-left: auto;
  padding: clamp(1.5rem, 5vw, 2.4rem);
  border: 1px solid rgba(255,155,65,.22);
  background: linear-gradient(120deg, rgba(255,155,65,.075), rgba(255,255,255,.015));
  text-align: center;
}
.continuity__teacher {
  max-width: 48rem;
  margin-right: auto;
  margin-left: auto;
}

/* 05 — keep details dense only after the reader chooses a day */
.schedule .section-intro { text-align: center; }
.schedule .section-intro .kicker { justify-content: center; }
.schedule .section-intro h2 { max-width: 100%; }
.day-panels { box-shadow: 0 1.5rem 4rem rgba(0,0,0,.18); }
.time-block ul { font-size: 1rem; }

/* 06 — center the promise, turn five services into calm expandable rows */
.support__intro { text-align: center; }
.support__intro h2 {
  display: grid;
  justify-items: center;
  gap: .28rem;
  max-width: 100%;
}
.support__intro h2 > span,
.support__intro h2 > strong { display: block; }
.support__intro h2 > span {
  color: rgba(255,255,255,.72);
  font-size: .62em;
  font-weight: 650;
  letter-spacing: -.025em;
}
.support__intro h2 > strong {
  color: var(--paper);
  font-size: 1.16em;
  font-weight: 880;
}
.support__lead { justify-content: center; }
.support__promise {
  max-width: 50rem;
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}
.support__promise strong { font-size: clamp(1.55rem, 6vw, 3rem); }
.support__promise p { font-size: 1rem; }
.service-list {
  gap: .65rem;
  border-top: 0;
}
.service-item {
  border: 1px solid rgba(89,225,228,.16);
  background: rgba(255,255,255,.018);
}
.service-item p,
.service-item strong { font-size: 1rem; }
.trust-acquisition__eyebrow { text-align: center; }

/* Final — quieter, centered and more confident */
.final-page__inner { text-align: center; }
.final-page .kicker { justify-content: center; }
.final-page h2 { max-width: 100%; }
.final-page h2 strong {
  margin-top: .55em;
  font-size: clamp(2.15rem, 9vw, 5.4rem);
  letter-spacing: -.06em;
}
.final-page__meta {
  max-width: 44rem;
  margin-right: auto;
  margin-left: auto;
}

@media (max-width: 759px) {
  .page-top--section + .section-intro { padding-top: 2.7rem; }
  .hero h1 { font-size: clamp(2rem, 8.7vw, 2.55rem); }
  .hero h1 small { font-size: .5em; }
  .hero h1 b { font-size: .52em; }
  .hero__industry { margin-top: 1.25rem; }
  .problem-list li { padding: 1rem; }
  .outcome-list { grid-template-columns: 1fr; }
  .outcome-item {
    min-height: 0;
    padding: 1.65rem 1.25rem 1.85rem;
  }
  .outcome-item .list-no { margin-bottom: 1.2rem; }
  .outcome-item h3 { margin-bottom: 1.15rem; }
  .continuity__intro h2 > strong {
    max-width: none;
    font-size: clamp(1.55rem, 6vw, 2.2rem);
    white-space: nowrap;
  }
  .support__intro h2 > span { font-size: .56em; }
  .support__promise strong span { white-space: normal; }
  .service-item summary { padding: 1.2rem 1rem; }
  .service-item__body { padding: 0 1.2rem 1.35rem 3.75rem; }
  .trust-acquisition article { min-height: 0; }
}

@media (max-width: 374px) {
  .hero h1 { font-size: 1.83rem; }
  .hero h1 small { font-size: .48em; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .reveal { opacity: 1; transform: none; }
}
