@media (min-width: 901px) {
  .track-overview {
    grid-template-columns: 1fr auto 1fr auto 1fr;
    max-width: 1180px;
    gap: .75rem;
  }
}

.system-origin {
  padding: clamp(5rem, 9vw, 9rem) clamp(1.4rem, 8vw, 9rem);
  background: #f7fcf9;
}
.origin-intro { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(2rem, 7vw, 8rem); align-items: end; }
.origin-intro .section-kicker { grid-column: 1 / -1; margin-bottom: -1rem; }
.origin-intro h2 { margin: 0; font: 800 clamp(2.4rem, 4.8vw, 5rem)/1.17 var(--sans); letter-spacing: -.062em; }
.origin-intro h2 span { color: var(--bloom); }
.origin-intro > p:last-child { margin: 0 0 .4rem; color: var(--muted); line-height: 1.9; }
.origin-timeline { width: min(980px, 100%); margin: clamp(4rem, 8vw, 7rem) auto 0; padding: 0; list-style: none; }
.origin-timeline li { position: relative; display: grid; grid-template-columns: 74px 1fr; gap: 1.5rem; padding: 0 0 2.8rem; }
.origin-timeline li:not(:last-child)::before { content: ""; position: absolute; left: 27px; top: 58px; bottom: 4px; width: 1px; background: linear-gradient(var(--bloom), rgba(8,112,68,.12)); }
.origin-timeline li > span { position: relative; z-index: 1; display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: var(--ink-2); color: #fff; font-weight: 900; }
.origin-timeline li div { padding: .25rem 0 0; border-bottom: 1px solid var(--line); }
.origin-timeline b { color: var(--bloom); font-size: .68rem; letter-spacing: .12em; }
.origin-timeline h3 { margin: .35rem 0 .55rem; color: var(--ink-2); font-size: clamp(1.35rem, 2.6vw, 2rem); letter-spacing: -.035em; }
.origin-timeline p { margin: 0 0 1.7rem; color: var(--muted); line-height: 1.75; }
.system-result { width: min(980px, 100%); margin: 1rem auto 0; padding: clamp(2rem, 5vw, 4rem); background: linear-gradient(135deg, #087044, #064b31); color: #fff; border-radius: 30px; }
.system-result > p { margin: 0 0 .7rem; color: #bcefd5; font-size: .7rem; font-weight: 900; letter-spacing: .15em; }
.system-result h3 { margin: 0; font: 800 clamp(2rem, 4vw, 4rem)/1.18 var(--sans); letter-spacing: -.055em; }
.system-result .system-axis { display: grid; grid-template-columns: 1fr auto 1.35fr auto 1fr; align-items: center; gap: .8rem; margin: 2rem 0 1rem; color: #fff2b8; font-weight: 900; letter-spacing: .02em; }
.system-axis > span { display: grid; gap: .25rem; }
.system-axis > span small { color: rgba(255,255,255,.68); font-size: .64rem; font-weight: 800; letter-spacing: .06em; }
.system-result i { color: rgba(255,255,255,.38); font-style: normal; }
.system-result small { display: block; color: rgba(255,255,255,.72); font-size: .92rem; line-height: 1.7; }
.system-result .system-together { display: grid; gap: .3rem; margin: 1.7rem 0 0; color: #fff; font-size: 1rem; letter-spacing: 0; }
.system-together b { color: #fff2b8; font-size: .75rem; letter-spacing: .14em; }
.system-together span { color: rgba(255,255,255,.78); font-weight: 700; }
.system-strands { position: relative; display: grid; grid-template-columns: repeat(3,1fr); margin: 1.8rem 0 1.2rem; padding: 1.6rem 0; border-top: 1px solid rgba(255,255,255,.24); border-bottom: 1px solid rgba(255,255,255,.24); }
.system-strands::before { content: "ONE LEARNING SYSTEM"; position: absolute; top: -.55rem; left: 50%; transform: translateX(-50%); padding: 0 .8rem; background: #06633f; color: #bcefd5; font-size: .62rem; font-weight: 900; letter-spacing: .12em; white-space: nowrap; }
.system-strands article { padding: .3rem 1.3rem; }
.system-strands article + article { border-left: 1px solid rgba(255,255,255,.2); }
.system-strands b { display: grid; gap: .28rem; color: #fff2b8; letter-spacing: .04em; }
.system-strands b > span { color: #fff; font-size: .92rem; letter-spacing: -.01em; }
.system-strands b > small { color: #fff2b8; font-size: .64rem; font-weight: 900; letter-spacing: .08em; }
.system-strands p { margin: .65rem 0 0; color: rgba(255,255,255,.76); font-size: .9rem; line-height: 1.75; }
.system-strands p strong { display: block; margin-bottom: .25rem; color: #fff; }
.system-message { display: block; margin-top: 1.15rem; color: #fff; font-size: clamp(1rem,1.8vw,1.25rem); }
.track-selector-section { padding: clamp(4.5rem, 8vw, 7rem) clamp(1.4rem, 8vw, 9rem); background: #fff; }
.track-selector-heading { display: grid; grid-template-columns: .65fr 1.35fr; gap: 2rem; align-items: end; margin-bottom: 2.8rem; }
.track-selector-heading h2 { margin: 0; font: 800 clamp(2.25rem, 4.3vw, 4.6rem)/1.18 var(--sans); letter-spacing: -.058em; }
.track-selector-section .track-overview { margin: 0; }

.learning-evolution { padding: clamp(5rem,9vw,9rem) clamp(1.4rem,8vw,9rem); background: #f4faf6; }
.evolution-intro { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(2rem,7vw,8rem); align-items: end; }
.evolution-intro .section-kicker { grid-column: 1/-1; margin-bottom: -1rem; }
.evolution-intro h2 { margin: 0; font: 800 clamp(2.4rem,4.8vw,5rem)/1.17 var(--sans); letter-spacing: -.062em; }
.evolution-intro h2 span { color: var(--bloom); }
.evolution-intro > p:last-child { margin: 0 0 .35rem; color: var(--muted); line-height: 1.85; }
.growth-map { margin-top: clamp(3.5rem,7vw,6rem); padding: clamp(1.6rem,4vw,3.5rem); border: 1px solid rgba(8,112,68,.14); border-radius: 32px; background: #fff; box-shadow: 0 24px 64px rgba(8,112,68,.07); }
.growth-programs { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; gap: 1rem; align-items: center; }
.growth-programs > span { display: grid; gap: .18rem; text-align: center; }
.growth-programs b { color: var(--ink-2); font-size: clamp(1.25rem,2.4vw,2rem); }
.growth-programs small { color: var(--bloom); font-size: .72rem; font-weight: 900; letter-spacing: .06em; }
.growth-programs i,.growth-rows i,.ownership-message i { color: var(--bloom); font-style: normal; font-weight: 900; text-align: center; }
.ownership-graphic { display: grid; gap: .7rem; margin: 2.2rem 0; padding: 1.5rem 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.ownership-graphic > div { display: grid; grid-template-columns: 155px 1fr 110px; gap: 1rem; align-items: center; }
.ownership-graphic b { color: var(--ink-2); font-size: .67rem; letter-spacing: .11em; }
.ownership-graphic em { color: var(--muted); font-size: .74rem; font-style: normal; font-weight: 800; text-align: right; }
.ownership-graphic span { display: block; height: 14px; border-radius: 999px; }
.teacher-direction span { background: linear-gradient(90deg,#087044 0 30%,#7bc5a4 70%,#d9eee4 100%); clip-path: polygon(0 0,100% 32%,100% 68%,0 100%); }
.student-ownership span { background: linear-gradient(90deg,#d9eee4 0%,#7bc5a4 35%,#087044 100%); clip-path: polygon(0 32%,100% 0,100% 100%,0 68%); }
.growth-rows { border-top: 1px solid var(--line); }
.growth-rows > div { display: grid; grid-template-columns: 145px 1fr 28px 1.2fr 28px 1fr; gap: .65rem; align-items: center; padding: 1.25rem 0; border-bottom: 1px solid var(--line); }
.growth-rows > div > b { color: var(--bloom); font-size: .66rem; letter-spacing: .11em; }
.growth-rows span { display: grid; gap: .22rem; color: var(--ink-2); font-weight: 900; text-align: center; }
.growth-rows small { color: var(--muted); font-size: .73rem; font-weight: 700; }
.ownership-message { margin: 2rem 0 0; color: var(--ink-2); font-size: clamp(1.15rem,2.3vw,1.65rem); font-weight: 900; text-align: center; }
.evolution-note { margin: 1.2rem 0 0; padding-left: 1rem; border-left: 3px solid var(--bloom); color: var(--muted); line-height: 1.75; }

.scholar-meaning { padding: clamp(5rem,9vw,9rem) clamp(1.4rem,8vw,9rem); background: #fff; }
.scholar-meaning-intro { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(2rem,7vw,8rem); }
.scholar-meaning-intro .section-kicker { grid-column: 1/-1; margin-bottom: -1rem; }
.scholar-meaning-intro h2 { margin: 0; font: 800 clamp(2.4rem,4.8vw,5rem)/1.17 var(--sans); letter-spacing: -.062em; }
.scholar-meaning-intro h2 span { color: var(--bloom); }
.scholar-definition { border-top: 1px solid var(--line); }
.scholar-definition p { margin: 0; padding: 1.15rem 0; border-bottom: 1px solid var(--line); color: var(--muted); line-height: 1.8; }
.scholar-definition strong { color: var(--ink-2); }
.name-meaning-flow { display: grid; grid-template-columns: 1fr auto 1fr auto 1.25fr; gap: 1rem; align-items: stretch; margin-top: clamp(3.5rem,7vw,6rem); }
.name-meaning-flow article { padding: clamp(1.5rem,3vw,2.4rem); border: 1px solid var(--line); background: #f7fcf9; }
.name-meaning-flow > i { display: grid; place-items: center; color: var(--bloom); font-size: 1.4rem; font-style: normal; font-weight: 900; }
.name-meaning-flow b { color: var(--bloom); font-size: .74rem; letter-spacing: .13em; }
.name-meaning-flow p { margin: .8rem 0 0; color: var(--muted); line-height: 1.65; }
.name-meaning-flow .name-result { background: var(--ink-2); border-color: var(--ink-2); }
.name-result b { color: #fff2b8; }
.name-result p { color: rgba(255,255,255,.82); font-size: 1.05rem; font-weight: 700; }
.independence-goal { margin-top: clamp(4rem,8vw,7rem); padding: clamp(2rem,5vw,4rem); background: linear-gradient(135deg,#087044,#064b31); color: #fff; display: grid; grid-template-columns: .55fr 1fr 1fr; gap: clamp(1.5rem,4vw,4rem); align-items: start; }
.independence-goal > p { margin: .45rem 0 0; color: #fff2b8; font-size: .72rem; font-weight: 900; letter-spacing: .13em; }
.independence-goal h3 { margin: 0; font: 800 clamp(2rem,3.8vw,3.8rem)/1.2 var(--sans); letter-spacing: -.05em; }
.independence-goal div p { margin: 0 0 1rem; color: rgba(255,255,255,.76); line-height: 1.75; }

.track-overview a { position: relative; }
.track-overview a em { margin-top: .45rem; color: var(--ink-2); font-size: .76rem; font-style: normal; font-weight: 900; }
.track-overview a.active { border-color: var(--bloom); background: #fff; box-shadow: 0 18px 46px rgba(8,112,68,.13); }
.track-overview a.active::after { content: "선택됨"; position: absolute; top: .9rem; right: 1rem; padding: .3rem .55rem; border-radius: 999px; background: var(--bloom); color: #fff; font-size: .62rem; font-weight: 900; letter-spacing: .04em; }
.track-panel[hidden],.track-panel-support[hidden] { display: none !important; }

.entry-programs {
  padding: clamp(4.5rem, 8vw, 7rem) clamp(1.4rem, 8vw, 9rem);
  background: #fff;
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: clamp(3rem, 7vw, 8rem);
}

.entry-intro h2 {
  font: 800 clamp(2.2rem, 4vw, 4.2rem)/1.2 var(--sans);
  letter-spacing: -.055em;
  margin: .7rem 0 1.2rem;
}

.entry-intro > p:last-child,
.entry-list p { color: var(--muted); }
.track-name { display: grid; gap: .1rem; }
.track-name strong { color: var(--ink-2); font-size: 1.05rem; }
.track-name small { color: #56806f; font-size: .66rem; font-weight: 900; letter-spacing: .1em; text-transform: none; }
.entry-list { border-top: 1px solid var(--line); }
.entry-list article { padding: 1.7rem 0; border-bottom: 1px solid var(--line); }
.entry-list span { color: var(--bloom); font-size: .68rem; font-weight: 900; letter-spacing: .12em; }
.entry-list h3 { font-size: clamp(1.8rem, 3vw, 2.8rem); margin: .25rem 0 .65rem; }
.entry-list p { margin: 0; }
.practical-levels article { grid-template-columns: .68fr 1.32fr; }
.practical-journey { width: min(900px, 100%); margin: clamp(3.5rem, 7vw, 6rem) auto 0; }
.journey-guide { display: flex; align-items: center; gap: .7rem; margin: 0 0 1.25rem; color: var(--muted); font-size: .92rem; }
.journey-guide span { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--mint); color: var(--bloom); font-weight: 900; }
.practical-level-step { position: relative; border: 0; overflow: visible; }
.practical-level-step:not(:last-child) { margin-bottom: 2.4rem; }
.practical-level-step:not(:last-child)::after { content: "↓"; position: absolute; left: 33px; bottom: -2rem; color: var(--bloom); font-size: 1.1rem; font-weight: 900; }
.practical-level-step summary { display: grid; grid-template-columns: 68px 1fr 46px; align-items: center; gap: 1rem; min-height: 98px; padding: 1.15rem 1.35rem; border: 1px solid rgba(8,112,68,.16); border-radius: 24px; background: #fff; box-shadow: 0 14px 38px rgba(8,112,68,.07); transition: border-color .2s ease, box-shadow .2s ease; }
.practical-level-step summary:hover,.practical-level-step summary:focus-visible { border-color: var(--bloom); box-shadow: 0 18px 46px rgba(8,112,68,.12); outline: none; }
.practical-level-step summary::-webkit-details-marker { display: none; }
.journey-no { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: var(--mint); color: var(--bloom); font-weight: 900; }
.journey-title { display: grid; gap: .15rem; }
.journey-title b { color: var(--ink-2); font-size: clamp(1.35rem, 2.5vw, 2rem); letter-spacing: -.03em; }
.journey-title small { color: var(--muted); font-size: .95rem; }
.journey-toggle { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: var(--ink-2); color: #fff; font-size: 1.35rem; line-height: 1; transition: background .2s ease,color .2s ease; }
.practical-level-step[open] .journey-toggle { background: var(--bloom); }
.journey-detail { margin: -.8rem 1.1rem 0; padding: 2rem 1.5rem 1.45rem; border: 1px solid rgba(8,112,68,.12); border-top: 0; border-radius: 0 0 22px 22px; background: #f7fcf9; }
.journey-detail > p { margin: 0; color: var(--muted); line-height: 1.8; }
.journey-keywords { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1rem; }
.journey-keywords span { padding: .5rem .75rem; border-radius: 999px; background: #fff; color: var(--ink-2); font-size: .78rem; font-weight: 800; }
.level-click-guide { grid-column: 1/-1; display: flex; justify-content: space-between; gap: 1rem; margin: 0; padding: 0 0 1rem; color: var(--muted); font-size: .88rem; }
.level-click-guide span { color: var(--bloom); font-weight: 900; }
.international-accordion { border-top: 0; }
.international-level-step { border: 0; border-top: 1px solid var(--line); }
.international-level-step:last-child { border-bottom: 1px solid var(--line); }
.international-level-step summary { display: grid; grid-template-columns: 60px 1fr 38px; align-items: center; gap: .7rem; padding: 1.25rem 0; }
.international-level-step summary::-webkit-details-marker,.prep-level-step summary::-webkit-details-marker { display: none; }
.international-level-step summary span { color: var(--bloom); font-weight: 900; }
.international-level-step summary h3 { margin: 0; font-size: clamp(1.1rem,2vw,1.55rem); }
.international-level-step summary em,.prep-level-step summary em { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--mint); color: var(--ink-2); font-style: normal; font-size: 1.2rem; font-weight: 800; transition: background .2s ease,color .2s ease; }
.international-level-step[open] summary em,.prep-level-step[open] summary em { background: var(--bloom); color: #fff; }
.international-level-step > p { margin: 0 0 1.3rem 60px; padding: 0 0 0 .7rem; color: var(--muted); line-height: 1.8; }
.prep-click-guide { width: min(760px,100%); margin: 3rem auto 0; }
.prep-accordion { width: min(760px,100%); margin: 0 auto; grid-template-columns: 1fr; gap: 0; background: transparent; border: 0; }
.prep-level-step { border: 0; border-top: 1px solid var(--line); background: transparent; }
.prep-level-step:last-child { border-bottom: 1px solid var(--line); }
.prep-level-step summary { display: grid; grid-template-columns: 1fr 38px; align-items: center; gap: 1rem; padding: 1.5rem 0; }
.prep-level-step summary span { color: var(--bloom); font-size: 1.15rem; font-weight: 900; letter-spacing: .08em; }
.prep-level-step > p { margin: 0; padding: 0 3.5rem 1.5rem 0; color: var(--muted); line-height: 1.8; }
.prep-section { scroll-margin-top: 110px; }
.prep-focus { width: min(760px,100%); display: grid; gap: .35rem; margin: 1.5rem auto 0; padding: 1.2rem 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.prep-focus strong { color: var(--ink-2); font-size: 1.05rem; }
.prep-focus span { color: var(--bloom); font-size: .8rem; font-weight: 800; letter-spacing: .03em; }
.level-reference { margin-top: clamp(3rem, 6vw, 5.5rem); padding: clamp(2rem, 4vw, 3.5rem); background: #fff; border-top: 4px solid var(--bloom); display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(2rem, 6vw, 6rem); }
.reference-intro h3 { font-size: clamp(1.9rem, 3.2vw, 3.1rem); line-height: 1.25; letter-spacing: -.05em; margin: .6rem 0 1rem; }
.reference-intro > p:last-child { color: var(--muted); }
.reference-scale { border-top: 1px solid var(--line); }
.reference-scale > div { display: grid; grid-template-columns: 1fr .75fr .9fr; align-items: center; gap: 1rem; padding: 1.25rem 0; border-bottom: 1px solid var(--line); }
.reference-scale > div span { color: var(--bloom); font-size: .68rem; font-weight: 900; letter-spacing: .1em; }
.reference-scale > div b { color: var(--ink-2); }
.reference-scale > div strong { font-size: 1.08rem; }
.reference-scale > p { margin: 1.35rem 0 0; display: grid; gap: .35rem; color: var(--muted); }
.reference-scale > p b { color: var(--ink-2); font-size: .82rem; }
.pronunciation-note { margin: 1.5rem 0 0; padding: 1rem 1.2rem; border-left: 3px solid var(--bloom); background: var(--mint); color: var(--muted); }
.pronunciation-note strong { color: var(--ink-2); margin-right: .45rem; }
.class-structure { padding: clamp(5rem, 9vw, 9rem) clamp(1.4rem, 8vw, 9rem); background: linear-gradient(135deg, #08a963, #087044); color: #fff; display: grid; grid-template-columns: .82fr 1.18fr; gap: clamp(3rem, 7vw, 8rem); }
.class-structure-intro h2 { font: 800 clamp(2.35rem, 4.6vw, 4.9rem)/1.18 var(--sans); letter-spacing: -.06em; margin: .7rem 0 1.3rem; }
.class-structure .section-kicker { color: #d8f9e8; }
.class-structure-intro > p:last-child { color: rgba(255,255,255,.78); }
.period-list { list-style: none; padding: 0; margin: 0; display: grid; gap: .8rem; }
.period-list li { display: grid; grid-template-columns: 74px 1fr; gap: 1.2rem; padding: 1.45rem; border: 1px solid rgba(255,255,255,.28); border-radius: 20px; background: rgba(255,255,255,.12); backdrop-filter: blur(7px); }
.period-list li > span { color: #fff2b8; font-weight: 900; font-size: 1.05rem; }
.period-list b { color: #d8f9e8; font-size: .68rem; letter-spacing: .12em; }
.period-list h3 { margin: .25rem 0 .55rem; font-size: 1.4rem; }
.period-list p { color: rgba(255,255,255,.78); margin: 0; }

@media (max-width: 900px) {
  .origin-intro,.track-selector-heading,.evolution-intro,.scholar-meaning-intro,.independence-goal { grid-template-columns: 1fr; }
  .origin-intro .section-kicker { grid-column: auto; margin-bottom: 0; }
  .evolution-intro .section-kicker,.scholar-meaning-intro .section-kicker { grid-column: auto; margin-bottom: 0; }
  .system-result .system-axis { grid-template-columns: 1fr; gap: .5rem; }
  .system-result .system-axis > i { display: none; }
  .system-strands { grid-template-columns: 1fr; }
  .system-strands article + article { border-left: 0; border-top: 1px solid rgba(255,255,255,.2); }
  .growth-programs,.growth-rows > div { grid-template-columns: 1fr; }
  .growth-programs > i,.growth-rows i { transform: rotate(90deg); }
  .growth-rows span { text-align: left; }
  .ownership-graphic > div { grid-template-columns: 130px 1fr; }
  .ownership-graphic em { grid-column: 2; text-align: left; }
  .name-meaning-flow { grid-template-columns: 1fr; }
  .name-meaning-flow > i { transform: none; min-height: 34px; }
  .entry-programs { grid-template-columns: 1fr; }
  .track-overview { grid-template-columns: 1fr; }
  .practical-levels article { grid-template-columns: .68fr 1.32fr; }
  .class-structure { grid-template-columns: 1fr; }
  .level-reference { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
  .origin-timeline li { grid-template-columns: 54px 1fr; gap: 1rem; }
  .origin-timeline li > span { width: 44px; height: 44px; font-size: .8rem; }
  .origin-timeline li:not(:last-child)::before { left: 21px; top: 46px; }
  .system-result { border-radius: 22px; }
  .system-result div { gap: .55rem; font-size: .82rem; }
  .system-strands::before { font-size: .55rem; }
  .evolution-context article { padding: 1.3rem; }
  .independence-goal { border-radius: 0; }
  .entry-programs { gap: 2rem; }
  .practical-levels article { grid-template-columns: 1fr; }
  .reference-scale > div { grid-template-columns: 1fr 1fr; gap: .35rem 1rem; }
  .reference-scale > div span { grid-column: 1/-1; }
}

@media (max-width: 600px) {
  .practical-level-step summary { grid-template-columns: 52px 1fr 38px; min-height: 88px; padding: 1rem; gap: .75rem; border-radius: 20px; }
  .journey-no { width: 44px; height: 44px; }
  .journey-title small { font-size: .84rem; }
  .journey-toggle { width: 34px; height: 34px; }
  .practical-level-step:not(:last-child)::after { left: 25px; }
  .journey-detail { margin: -.7rem .65rem 0; padding: 1.7rem 1rem 1.15rem; }
}

/* Stable interaction: selection changes colour without tilting or moving text. */
.track-overview a:hover,.track-overview a:focus-visible,.practical-level-step summary:hover,.practical-level-step summary:focus-visible { transform: none; }
.journey-toggle,.international-level-step summary em,.prep-level-step summary em { transition: background .2s ease,color .2s ease; }
.practical-level-step[open] .journey-toggle,.international-level-step[open] summary em,.prep-level-step[open] summary em { transform: none; }
.practical-level-step[open] summary,.international-level-step[open] summary,.prep-level-step[open] summary { color: var(--ink-2); }

.wednesday-lab { padding: clamp(5rem,9vw,9rem) clamp(1.4rem,8vw,9rem); background: #f7fcf9; }
.wednesday-intro { display: grid; grid-template-columns: .75fr 1.1fr 1fr; gap: clamp(2rem,5vw,6rem); align-items: start; }
.wednesday-intro .section-kicker { margin-top: .45rem; }
.wednesday-intro h2 { margin: 0; font: 800 clamp(2.35rem,4.6vw,4.9rem)/1.18 var(--sans); letter-spacing: -.06em; }
.wednesday-intro > p:last-child { margin: 0; color: var(--muted); line-height: 1.85; }
.wednesday-options { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; margin-top: clamp(3rem,6vw,5rem); }
.wednesday-card { padding: clamp(1.6rem,3vw,2.5rem); border: 1px solid rgba(8,112,68,.13); border-radius: 28px; background: #fff; box-shadow: 0 16px 42px rgba(8,112,68,.07); }
.wednesday-card-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.wednesday-card-head span { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: var(--mint); color: var(--bloom); font-weight: 900; }
.wednesday-card-head b { color: var(--muted); font-size: .8rem; }
.wednesday-card h3 { margin: 1.6rem 0 .1rem; color: var(--ink-2); font-size: clamp(1.8rem,3vw,3rem); letter-spacing: -.045em; }
.wednesday-korean { margin: 0 0 1.2rem!important; color: var(--bloom)!important; font-weight: 800; }
.wednesday-card > p:not(.wednesday-korean) { color: var(--muted); line-height: 1.8; }
.wednesday-card ul { display: flex; flex-wrap: wrap; gap: .5rem; padding: 0; margin: 1.4rem 0 0; list-style: none; }
.wednesday-card li { padding: .55rem .75rem; border-radius: 999px; background: var(--mint); color: var(--ink-2); font-size: .8rem; font-weight: 800; }
.wednesday-flow { display: grid; grid-template-columns: repeat(4,1fr); gap: 0; margin: 2.2rem 0 0; padding: 0; list-style: none; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.wednesday-flow li { position: relative; display: grid; gap: .35rem; padding: 1.4rem 1.2rem; border-right: 1px solid var(--line); }
.wednesday-flow li:last-child { border-right: 0; }
.wednesday-flow li:not(:last-child)::after { content: "→"; position: absolute; right: -.55rem; top: 50%; z-index: 1; transform: translateY(-50%); display: grid; place-items: center; width: 1.1rem; height: 1.1rem; background: #f7fcf9; color: var(--bloom); }
.wednesday-flow span { color: var(--bloom); font-size: .66rem; font-weight: 900; letter-spacing: .11em; }
.wednesday-flow strong { font-size: .96rem; }

@media (max-width: 900px) {
  .wednesday-intro { grid-template-columns: 1fr; gap: 1.2rem; }
  .wednesday-options { grid-template-columns: 1fr; }
  .wednesday-flow { grid-template-columns: 1fr 1fr; }
  .wednesday-flow li:nth-child(2) { border-right: 0; }
  .wednesday-flow li:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .wednesday-flow li::after { display: none!important; }
}

@media (max-width: 600px) {
  .wednesday-flow { grid-template-columns: 1fr; }
  .wednesday-flow li { border-right: 0; border-bottom: 1px solid var(--line); }
  .wednesday-flow li:last-child { border-bottom: 0; }
}

/* NEW — CATEGORY: overall programme map. Existing block styles remain unchanged. */
.overall-curriculum-map { padding: clamp(5rem,9vw,9rem) clamp(1.4rem,8vw,9rem); background: #fff; }
.overall-map-heading { display: grid; grid-template-columns: .7fr 1.3fr; gap: clamp(2rem,6vw,7rem); align-items: end; margin-bottom: clamp(2.5rem,5vw,4.5rem); }
.overall-map-heading h2 { margin: 0; font: 800 clamp(2.35rem,4.8vw,5rem)/1.12 var(--sans); letter-spacing: -.06em; }
.overall-map-content { border-top: 1px solid var(--line); }
.overall-entry-map,.overall-main-map { display: grid; gap: clamp(1rem,5vw,5rem); padding: clamp(1.8rem,3vw,2.8rem) 0; border-bottom: 1px solid var(--line); }
.overall-entry-map { grid-template-columns: 1fr 1fr; align-items: stretch; }
.overall-main-map { grid-template-columns: .65fr 1.35fr; }
.overall-entry-map article { display: grid; gap: .4rem; padding: 1.2rem 0; }
.overall-entry-map article + article { padding-left: clamp(1rem,4vw,4rem); border-left: 1px solid var(--line); }
.overall-entry-map article b { color: var(--ink-2); font-size: clamp(1.35rem,2.5vw,2.2rem); letter-spacing: -.035em; }
.overall-entry-map article span { color: var(--bloom); font-size: .78rem; font-weight: 800; letter-spacing: .06em; }
.overall-main-map > b { color: var(--bloom); font-size: .7rem; font-weight: 900; letter-spacing: .14em; }
.overall-main-map > div { grid-column: 2; display: grid; grid-template-columns: minmax(170px,.7fr) 1.3fr; gap: clamp(1rem,3vw,3rem); align-items: baseline; }
.overall-main-map > div + em,.overall-main-map > em + div { margin-top: .2rem; padding-top: 1rem; border-top: 1px solid var(--line); }
.overall-main-map > em { grid-column: 2; color: var(--bloom); font-style: normal; }
.overall-main-map strong { color: var(--ink-2); }
.overall-main-map small { display: block; margin-top: .25rem; color: var(--bloom); font-size: .7rem; font-weight: 800; letter-spacing: .08em; }
.overall-main-map p { margin: 0; color: var(--muted); line-height: 1.7; }
.overall-main-map p i { color: var(--bloom); font-style: normal; }

/* NEW — CATEGORY only. The support block below keeps its original design. */
.section-category-label { padding: clamp(4rem,7vw,6rem) clamp(1.4rem,8vw,9rem) 0; background: #f7fcf9; }
.section-category-label span { color: var(--bloom); font-size: .72rem; font-weight: 900; letter-spacing: .16em; }

/* Existing Philosophy copy, grouped without rewriting. */
.international-learning-logic { width: min(880px,calc(100% - 2.8rem)); margin: clamp(3rem,6vw,5rem) auto 0; padding: clamp(1.8rem,3vw,2.6rem) 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.international-learning-logic h3 { margin: .65rem 0 1.2rem; font: 800 clamp(2rem,4vw,4rem)/1.18 var(--sans); letter-spacing: -.055em; }
.international-learning-logic p:last-child { margin: 0; color: var(--bloom); font-size: clamp(1rem,2vw,1.3rem); font-weight: 900; letter-spacing: .08em; }
.track-copy { display: grid; gap: 1rem; }
.track-copy p { margin: 0; color: var(--muted); line-height: 1.85; }
.bridge-section .bridge-support { margin: -1rem auto 0; color: var(--muted); font-size: clamp(1rem,1.6vw,1.25rem); font-weight: 700; letter-spacing: -.015em; line-height: 1.7; }
.placement-section > .level-reference { grid-column: 1 / -1; margin-top: clamp(1.5rem,3vw,3rem); }

@media (max-width: 900px) {
  .overall-map-heading,.overall-main-map { grid-template-columns: 1fr; }
  .overall-entry-map { grid-template-columns: 1fr 1fr; }
  .overall-main-map > div,.overall-main-map > em { grid-column: 1; }
}

@media (max-width: 600px) {
  .overall-entry-map { grid-template-columns: 1fr; gap: 0; }
  .overall-entry-map article + article { padding-left: 0; border-left: 0; border-top: 1px solid var(--line); }
  .overall-main-map > div { grid-template-columns: 1fr; gap: .5rem; }
}

/* v47 local UI study — top-down curriculum navigator. Copy is unchanged. */
.system-origin { padding-top: clamp(4.5rem,7vw,7rem); padding-bottom: clamp(4.5rem,7vw,7rem); }
.origin-timeline { margin-top: clamp(2.5rem,5vw,4rem); }
.origin-timeline li { grid-template-columns: 46px 1fr; gap: 1.15rem; padding-bottom: 1.4rem; }
.origin-timeline li:not(:last-child)::before { left: 17px; top: 38px; bottom: 0; }
.origin-timeline li > span { width: 36px; height: 36px; border-radius: 50%; font-size: .72rem; }
.origin-timeline li div { padding-top: 0; }
.origin-timeline h3 { margin: .2rem 0 .3rem; font-size: clamp(1.15rem,2vw,1.55rem); }
.origin-timeline p { margin-bottom: 1rem; font-size: .94rem; line-height: 1.65; }

.overall-curriculum-map { padding-top: clamp(4.5rem,8vw,7rem); padding-bottom: clamp(4.5rem,8vw,7rem); }
.overall-map-heading { align-items: start; }
.overall-main-map { gap: 0; }
.overall-main-map > b { padding: .35rem 0 1rem; }
.overall-main-map > em { display: grid; place-items: center start; min-height: 28px; padding-left: 22px; border: 0; }
.overall-main-map .map-track { grid-column: 2; grid-template-columns: 86px 1fr; min-height: 66px; padding: .85rem 0; }
.map-track > span { color: var(--bloom); font-size: .68rem; font-weight: 900; letter-spacing: .12em; }
.map-track strong { font-size: clamp(1.05rem,1.8vw,1.3rem); }

.track-selector-section { padding: clamp(4.5rem,8vw,7rem) clamp(1.4rem,8vw,9rem); background: #f7fcf9; }
.track-selector-heading { display: grid; grid-template-columns: .7fr 1.3fr; gap: clamp(2rem,6vw,7rem); align-items: start; margin-bottom: clamp(2.2rem,4vw,3.8rem); }
.track-selector-heading h2 { margin: 0; font: 800 clamp(2.2rem,4.5vw,4.7rem)/1.15 var(--sans); letter-spacing: -.06em; }
.track-navigator { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; }
.track-navigator .navigator-track { appearance: none; position: relative; display: grid; grid-template-columns: 1fr 34px; grid-template-rows: auto auto auto; gap: .55rem 1rem; min-height: 190px; padding: 1.45rem; border: 1px solid rgba(8,112,68,.28); border-radius: 14px; background: rgba(255,255,255,.82); color: inherit; text-align: left; font: inherit; cursor: pointer; box-shadow: 0 10px 28px rgba(8,112,68,.055),inset 0 1px 0 rgba(255,255,255,.9); transition: border-color .2s ease,background .2s ease,box-shadow .2s ease; }
.track-navigator .navigator-track:hover,.track-navigator .navigator-track:focus-visible { border-color: rgba(8,112,68,.68); background: #fff; box-shadow: 0 12px 32px rgba(8,112,68,.1),0 0 0 3px rgba(8,169,99,.07); outline: none; }
.track-navigator .navigator-track.active { border-color: var(--bloom); background: linear-gradient(145deg,#fff 0%,#effaf4 100%); box-shadow: 0 14px 34px rgba(8,112,68,.12),0 0 0 2px rgba(8,169,99,.08); }
.navigator-track > span { color: var(--bloom); font-size: .68rem; font-weight: 900; letter-spacing: .12em; }
.navigator-track strong { grid-column: 1 / -1; color: var(--ink-2); font-size: clamp(1.4rem,2vw,1.8rem); line-height: 1.2; }
.navigator-track strong small { display: block; margin-top: .18rem; color: var(--bloom); font-size: .68rem; font-weight: 800; letter-spacing: .07em; }
.navigator-track p { grid-column: 1; align-self: end; margin: 0; color: var(--muted); font-size: .86rem; line-height: 1.5; }
.navigator-track > em { grid-column: 2; grid-row: 1; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--mint); color: var(--ink-2); font-style: normal; font-size: 1.15rem; font-weight: 800; }
.navigator-track.active strong { color: var(--bloom); }
.navigator-track.active > em { background: var(--bloom); color: #fff; }

.track-section,.prep-section { scroll-margin-top: 92px; }

/* One restrained level language across all three tracks. */
.practical-journey { width: min(900px,100%); }
.practical-level-step { border-top: 1px solid var(--line); }
.practical-level-step:last-child { border-bottom: 1px solid var(--line); }
.practical-level-step:not(:last-child) { margin-bottom: 0; }
.practical-level-step:not(:last-child)::after { display: none; }
.practical-level-step summary { grid-template-columns: 60px 1fr 38px; min-height: auto; padding: 1.25rem 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; transform: none; writing-mode: horizontal-tb; }
.practical-level-step summary:hover,.practical-level-step summary:focus-visible { border: 0; box-shadow: none; }
.journey-no { width: auto; height: auto; border-radius: 0; background: none; }
.journey-title { display: grid; grid-template-columns: minmax(130px,.7fr) 1.3fr; align-items: baseline; gap: 1rem; transform: none; writing-mode: horizontal-tb; }
.journey-title b { font-size: clamp(1.1rem,2vw,1.55rem); }
.journey-title small { font-size: .88rem; }
.journey-toggle { width: 34px; height: 34px; background: var(--mint); color: var(--ink-2); }
.practical-level-step[open] .journey-toggle { background: var(--bloom); color: #fff; }
.journey-detail { margin: 0 0 1.3rem 60px; padding: 0 0 0 .7rem; border: 0; border-radius: 0; background: transparent; }
.journey-keywords span { border: 1px solid rgba(8,112,68,.13); background: #fff; }

.international-level-step summary,.prep-level-step summary,.international-level-step summary h3,.prep-level-step summary b,.international-level-step summary em,.prep-level-step summary em,.journey-toggle { transform: none; writing-mode: horizontal-tb; }
.international-level-step summary em,.prep-level-step summary em,.journey-toggle { transition: background .2s ease,color .2s ease; }
.prep-level-step summary { grid-template-columns: 60px 1fr 38px; gap: .7rem; padding: 1.25rem 0; }
.prep-level-step .prep-level-no { color: var(--bloom); font-size: 1rem; font-weight: 900; letter-spacing: 0; }
.prep-level-step summary b { color: var(--ink-2); font-size: clamp(1.1rem,2vw,1.55rem); letter-spacing: 0; }
.prep-level-step > p { margin: 0 0 1.3rem 60px; padding: 0 0 0 .7rem; }

.wednesday-flow { width: min(760px,100%); margin: 2rem auto 0; }
.wednesday-flow li { min-height: 76px; padding: 1rem .9rem; }
.wednesday-flow strong { font-size: .86rem; line-height: 1.45; }

.level-reference { border-top-width: 1px; box-shadow: none; }
.reference-intro h3 { font-size: clamp(1.65rem,2.7vw,2.5rem); }

@media (max-width: 900px) {
  .track-selector-heading { grid-template-columns: 1fr; }
  .overall-main-map > em { grid-column: 1; }
  .overall-main-map .map-track { grid-column: 1; }
}

@media (max-width: 600px) {
  .system-origin { padding-top: 4rem; padding-bottom: 4rem; }
  .origin-timeline li { grid-template-columns: 34px 1fr; gap: .75rem; padding-bottom: 1rem; }
  .origin-timeline li > span { width: 28px; height: 28px; font-size: .63rem; }
  .origin-timeline li:not(:last-child)::before { left: 13px; top: 29px; }
  .origin-timeline b { font-size: .58rem; line-height: 1.35; }
  .origin-timeline h3 { font-size: 1.12rem; }
  .origin-timeline p { font-size: .9rem; }

  .overall-map-heading { gap: 1.25rem; }
  .overall-map-heading h2 { font-size: 2.35rem; }
  .overall-entry-map article { padding: 1rem 0; }
  .overall-main-map .map-track { grid-template-columns: 70px 1fr; min-height: 62px; gap: .65rem; }
  .overall-main-map > em { min-height: 22px; padding-left: 14px; }

  .track-selector-section { padding-top: 4rem; padding-bottom: 4rem; }
  .track-selector-heading { gap: 1rem; margin-bottom: 2rem; }
  .track-selector-heading h2 { font-size: 2.2rem; }
  .track-navigator { grid-template-columns: 1fr; gap: .85rem; }
  .track-navigator .navigator-track { grid-template-columns: 1fr 34px; grid-template-rows: auto auto auto; min-height: 158px; gap: .45rem .8rem; padding: 1.2rem; }
  .track-navigator .navigator-track strong { grid-column: 1 / -1; font-size: 1.35rem; }
  .track-navigator .navigator-track p { grid-column: 1; margin: 0; padding: 0; font-size: .82rem; }

  .practical-level-step summary,.international-level-step summary,.prep-level-step summary { grid-template-columns: 38px 1fr 34px; gap: .55rem; padding: 1.1rem 0; }
  .journey-title { grid-template-columns: 1fr; gap: .12rem; }
  .journey-title b,.international-level-step summary h3,.prep-level-step summary b { font-size: 1.02rem; }
  .journey-title small { font-size: .78rem; }
  .journey-detail,.international-level-step > p,.prep-level-step > p { margin-left: 38px; padding-left: .55rem; }
  .journey-detail { padding-bottom: .25rem; }

  .wednesday-flow { grid-template-columns: 1fr 1fr; }
  .wednesday-flow li { min-height: 82px; padding: .85rem .7rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
  .wednesday-flow li:nth-child(2n) { border-right: 0; }
  .wednesday-flow li:nth-child(n+3) { border-bottom: 0; }
  .wednesday-flow strong { font-size: .79rem; }
}
.system-result h2 { margin: 0; font: 800 clamp(2rem, 4vw, 4rem)/1.18 var(--sans); letter-spacing: -.055em; }
