.home-page .home-chapter { padding-top: 66px; padding-bottom: 92px; }
.home-page .home-chapter h2 { line-height: 1.04; }
.home-page .home-opening h2 { font-size: clamp(62px, 5.5vw, 104px); }
.home-page .home-path h2,
.home-page .home-routes h2 { font-size: clamp(56px, 4.5vw, 86px); }
.home-page .home-topics h2,
.home-page .home-library h2,
.home-page .home-community h2 { font-size: clamp(49px, 4vw, 74px); }
.home-page .home-practice h2 { font-size: clamp(58px, 5vw, 90px); }
.home-page .home-section-outro { display: flex; justify-content: flex-end; margin-top: 23px; }
.home-page .home-section-outro .inline-link { margin: 0; }

/* 01 — the route map is a learning entrance, with the Forum mark as a shared datum. */
.home-page .home-opening-grid { padding-bottom: 58px; }
.route-map { display: grid; grid-template-columns: minmax(235px, 31%) minmax(0, 1fr); min-height: 475px; border-top: 1px solid #aebfcb; border-bottom: 1px solid #aebfcb; }
.route-map-key { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 32px; padding: 35px 35px 30px 0; border-right: 1px solid #bdccd5; }
.route-map-symbol { position: relative; display: grid; place-items: center; width: clamp(150px, 17vw, 270px); aspect-ratio: 1; }
.route-map-symbol::before,
.route-map-symbol::after { content: ''; position: absolute; border: 1px solid #cbd9e1; border-radius: 50%; }
.route-map-symbol::before { inset: -15px; }
.route-map-symbol::after { inset: -37px; border-color: #e5edf1; }
.route-map-symbol img { position: relative; z-index: 2; width: 79%; height: 79%; }
.route-map-symbol img { transition: transform 900ms cubic-bezier(.22,.61,.36,1); }
.route-map[data-active-route="ice"] .route-map-symbol img { transform: rotate(-5deg); }
.route-map[data-active-route="istructe"] .route-map-symbol img { transform: rotate(6deg); }
.route-map[data-active-route="practice"] .route-map-symbol img { transform: rotate(11deg); }
.route-map-axis { position: absolute; z-index: 1; background: #bbcad4; }
.route-map-axis-x { left: -48px; right: -48px; top: 50%; height: 1px; }
.route-map-axis-y { top: -48px; bottom: -48px; left: 50%; width: 1px; }
.route-map-key p { margin: 0; color: #d36d2c; font-size: 10px; font-weight: 700; letter-spacing: .17em; line-height: 2; text-align: center; }
.route-map-key strong { color: #5f7b90; font-weight: 600; }
.route-map-interface { min-width: 0; padding-left: clamp(26px, 4.5vw, 78px); }
.route-map-tabs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-bottom: 1px solid #b8c9d3; }
.route-map-tabs button { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 9px; min-width: 0; min-height: 102px; padding: 14px 18px; border: 0; border-right: 1px solid #cfdae1; background: transparent; color: #4a687d; cursor: pointer; font: inherit; text-align: left; transition: background .2s, color .2s; }
.route-map-tabs button:first-child { padding-left: 0; }
.route-map-tabs button:last-child { border-right: 0; }
.route-map-tabs button[aria-selected=true] { background: #eaf2f6; color: #163a57; }
.route-map-tabs button:hover { color: #d56e2c; }
.route-map-tabs button span { color: #d56e2c; font-size: 10px; font-weight: 700; letter-spacing: .14em; }
.route-map-tabs button strong { font-size: clamp(13px, 1.08vw, 18px); font-weight: 700; letter-spacing: -.035em; line-height: 1.2; }
.route-map-tabs button i { display: none; }
.route-map-panels { padding: 30px 0 33px; }
.route-map-panel[hidden] { display: none; }
.route-panel-index { color: #d56e2c; font-size: 10px; font-weight: 700; letter-spacing: .15em; }
.route-map-panel h3 { max-width: 800px; margin: 12px 0 10px; font-size: clamp(30px, 2.5vw, 46px); font-weight: 700; letter-spacing: -.055em; line-height: 1.12; }
.route-map-panel p { max-width: 840px; margin: 0 0 22px; font-size: 15px; line-height: 1.62; }
.route-panel-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 30px; }
.route-panel-links a { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 37px; border-top: 1px solid #cedae1; color: #274d69; font-size: 13px; font-weight: 600; text-decoration: none; }
.route-panel-links a:hover { color: #d56e2c; }
.route-panel-links a span:last-child { color: #df7930; }
.home-page .home-opening-bottom { margin-top: 20px; }

/* 02 — one evolving mark and one stage list replace seven equal tiles. */
.home-page .home-path { background: #edf3f6; }
.home-path-intro { display: grid; grid-template-columns: 1.2fr .8fr; align-items: end; gap: 7vw; padding: 65px 0 48px; }
.home-path-intro > p { max-width: 490px; margin: 0 0 5px; font-size: clamp(17px, 1.35vw, 23px); line-height: 1.55; }
.path-machine { display: grid; grid-template-columns: minmax(320px, .8fr) minmax(0, 1.2fr); gap: clamp(30px, 6vw, 100px); align-items: center; border-top: 1px solid #b9cad4; border-bottom: 1px solid #b9cad4; padding: 43px 0; }
.path-glyph { position: relative; max-width: 420px; width: 100%; aspect-ratio: 1; margin: auto; }
.path-glyph svg { width: 100%; height: 100%; overflow: visible; }
.path-glyph path { fill: none; stroke-width: 23; }
.path-glyph-track path { stroke: #cbd9e1; }
.path-glyph-progress path { stroke: #315f82; opacity: 0; transition: opacity .45s, stroke .45s; }
.path-glyph-progress path.is-complete { opacity: 1; }
.path-glyph-progress path.is-current { stroke: #ef8128; }
.path-glyph-centre { position: absolute; inset: 24%; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.path-glyph-centre span { color: #d76f2b; font-size: 11px; font-weight: 700; letter-spacing: .18em; }
.path-glyph-centre strong { max-width: 100%; margin: 13px 0; font-size: clamp(19px, 2vw, 31px); letter-spacing: -.045em; overflow-wrap: anywhere; }
.path-glyph-centre small { color: #6b879a; font-size: 9px; font-weight: 700; letter-spacing: .15em; }
.path-interface { display: grid; grid-template-columns: minmax(260px, 1fr) minmax(240px, .72fr); gap: clamp(23px, 3vw, 50px); align-items: center; }
.path-stage-list { position: relative; display: grid; margin: 0; padding: 0; list-style: none; border-left: 1px solid #bbccd6; }
.path-stage-list::before { content: ''; position: absolute; left: -1px; top: 0; height: var(--progress, 14.3%); width: 2px; background: #e88033; transition: height .45s; }
.path-stage-list li { border-bottom: 1px solid #c8d6de; }
.path-stage-list li:last-child { border-bottom: 0; }
.path-stage-list button { display: grid; grid-template-columns: 32px 1fr 16px; align-items: center; gap: 10px; width: 100%; min-height: 51px; padding: 6px 9px 6px 19px; border: 0; background: transparent; color: #45647a; cursor: pointer; font: inherit; text-align: left; }
.path-stage-list button[aria-pressed=true] { color: #143a57; background: #dfeaf0; }
.path-stage-list button:hover { color: #d76f2b; }
.path-stage-list button span { color: #d66f2b; font-size: 10px; font-weight: 700; }
.path-stage-list button strong { font-size: clamp(15px, 1.22vw, 19px); letter-spacing: -.03em; }
.path-stage-list button i { color: #d9762f; font-size: 14px; font-style: normal; }
.path-stage-detail { align-self: center; padding-left: 24px; border-left: 1px solid #a9bdca; }
.path-stage-detail > span { color: #d76f2b; font-size: 10px; font-weight: 700; letter-spacing: .15em; }
.path-stage-detail p { min-height: 110px; margin: 18px 0 20px; color: #183d59; font-size: clamp(17px, 1.42vw, 23px); line-height: 1.47; }
.path-stage-detail a { color: #183d59; font-size: 12px; font-weight: 700; text-decoration: none; border-bottom: 1px solid #183d59; padding-bottom: 6px; }
.path-stage-detail a span { color: #df7930; margin-left: 10px; }
.path-stage-controls { display: flex; gap: 18px; margin-top: 29px; }
.path-stage-controls button { padding: 7px 0; border: 0; border-bottom: 1px solid #8fa9ba; background: transparent; color: #183d59; cursor: pointer; font: inherit; font-size: 12px; font-weight: 700; }
.path-stage-controls button:hover { color: #d76f2b; border-color: #d76f2b; }
.path-stage-controls button:disabled { color: #99adba; cursor: default; border-color: #cad7df; }

/* 03 — shared principles lead into institution-specific reading routes. */
.recognition-intro { display: grid; grid-template-columns: 1fr 1fr; gap: 3vw 9vw; padding: 62px 0 48px; }
.recognition-intro .home-kicker { grid-column: 1 / -1; margin: 0; }
.recognition-intro > p:last-child { align-self: end; max-width: 580px; margin: 0 0 8px; font-size: clamp(18px, 1.4vw, 25px); line-height: 1.57; }
.recognition-common { border-top: 1px solid #aebfcb; border-bottom: 1px solid #aebfcb; padding: 23px 0 35px; }
.recognition-overline { color: #d46c2b; font-size: 10px; font-weight: 700; letter-spacing: .16em; }
.recognition-common > div { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(20px, 3vw, 52px); margin-top: 35px; }
.recognition-common article { border-left: 1px solid #b8c9d3; padding-left: 17px; }
.recognition-common article > span { color: #e0782f; font-size: 10px; font-weight: 700; }
.recognition-common h3 { margin: 15px 0 10px; font-size: 13px; letter-spacing: .08em; }
.recognition-common p { margin: 0; font-size: 14px; line-height: 1.55; }
.recognition-branches { display: grid; grid-template-columns: 1fr 1fr; gap: 0; margin-top: 46px; border-bottom: 1px solid #b6c7d1; }
.recognition-branches > article { min-width: 0; padding: 0 clamp(30px, 4vw, 75px) 38px 0; }
.recognition-branches > article + article { border-left: 1px solid #b6c7d1; padding: 0 0 38px clamp(30px, 4vw, 75px); }
.recognition-branch-head { display: flex; justify-content: space-between; align-items: baseline; gap: 20px; border-bottom: 1px solid #b6c7d1; padding-bottom: 13px; }
.recognition-branch-head span { color: #d56f2c; font-size: 10px; font-weight: 700; letter-spacing: .14em; }
.recognition-branch-head h3 { margin: 0; font-size: clamp(48px, 5vw, 88px); letter-spacing: -.07em; line-height: 1; }
.recognition-branches article > p { min-height: 110px; max-width: 600px; margin: 22px 0; font-size: 16px; line-height: 1.65; }
.recognition-branches dl { margin: 0; }
.recognition-branches dl div { display: flex; justify-content: space-between; gap: 14px; border-top: 1px solid #cfdae1; padding: 10px 0; }
.recognition-branches dt { color: #d56f2c; font-size: 10px; font-weight: 700; letter-spacing: .13em; }
.recognition-branches dd { margin: 0; color: #4c687d; font-size: 13px; text-align: right; }
.recognition-links { display: grid; grid-template-columns: 1fr; margin-top: 22px; }
.recognition-links a { display: flex; justify-content: space-between; gap: 15px; border-top: 1px solid #cfdae1; padding: 10px 0; color: #1b405d; font-size: 12px; font-weight: 700; text-decoration: none; }
.recognition-links a:hover { color: #d56f2c; }
.recognition-links a span:last-child { color: #e27d31; }

/* 04 — editorial index with a live, sticky reading context. */
.home-page .home-topics { background: #f7fafb; }
.home-page .home-topics-grid { grid-template-columns: minmax(270px, 34%) minmax(0, 1fr); gap: clamp(42px, 7vw, 125px); padding-top: 58px; }
.home-topics-grid .home-topic-context { position: sticky; top: 30px; align-self: start; }
.topic-context-intro { max-width: 440px; font-size: 16px; }
.topic-context-panels { min-height: 288px; margin-top: 31px; padding-top: 21px; border-top: 1px solid #b8c9d3; }
.topic-context-panels article[hidden] { display: none; }
.topic-context-panels article > span { color: #d56f2c; font-size: 10px; font-weight: 700; letter-spacing: .14em; }
.topic-context-panels h3 { margin: 13px 0 8px; font-size: clamp(21px, 2vw, 31px); letter-spacing: -.04em; }
.topic-context-panels p { max-width: 450px; margin: 0; font-size: 14px; line-height: 1.65; }
.topic-context-panels p + p { margin-top: 9px; }
.topic-context-panels p strong { display: block; margin-bottom: 1px; color: #6e879a; font-size: 9px; font-weight: 700; letter-spacing: .13em; }
.topic-related { display: grid; gap: 3px; margin-top: 23px; }
.topic-related small { color: #6e879a; font-size: 9px; font-weight: 700; letter-spacing: .14em; }
.topic-related a { display: flex; justify-content: space-between; gap: 12px; max-width: 430px; padding: 5px 0; color: #1a415e; font-size: 12px; font-weight: 600; text-decoration: none; }
.topic-related a:hover { color: #d46e2c; }
.topic-related a span:last-child { color: #d9762f; }
.topic-primary-link { display: inline-block; margin-top: 17px; padding-bottom: 5px; border-bottom: 1px solid #244a66; color: #183e5b; font-size: 12px; font-weight: 700; text-decoration: none; }
.topic-primary-link span { margin-left: 11px; color: #e17d33; }
.home-page .home-topic-list { display: block; }
.topic-index-row { display: grid; grid-template-columns: 1fr 30px; align-items: stretch; min-height: 61px; border-bottom: 1px solid #b8c9d3; }
.topic-index-row button { display: grid; grid-template-columns: 37px 1fr; gap: 13px; align-items: center; min-width: 0; border: 0; background: transparent; color: #1a3c58; cursor: pointer; font: inherit; text-align: left; transition: padding-left .2s, color .2s; }
.topic-index-row button[aria-pressed=true] { color: #d66f2b; padding-left: 7px; }
.topic-index-row button:hover { color: #d66f2b; }
.topic-index-row button span { color: #d46f2b; font-size: 10px; font-weight: 700; }
.topic-index-row button strong { font-size: clamp(16px, 1.4vw, 22px); font-weight: 600; letter-spacing: -.035em; }
.topic-index-row > a { display: grid; place-items: center; color: #d66f2b; font-size: 18px; text-decoration: none; }

/* 05 — a decision can be read from left to right and inspected at each step. */
.home-page .home-practice { background: #153a58; padding-bottom: 92px; }
.practice-intro { display: grid; grid-template-columns: 1fr 1fr; align-items: end; gap: 8vw; padding: 66px 0 47px; }
.practice-intro > p { max-width: 600px; margin: 0 0 7px; }
.decision-system { border-top: 1px solid #718da1; border-bottom: 1px solid #718da1; }
.decision-sequence { position: relative; display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; }
.decision-sequence::before { content: ''; position: absolute; z-index: 2; top: -1px; left: 0; width: var(--decision-progress, 12.5%); height: 2px; background: #f39a53; pointer-events: none; transition: width .45s ease; }
.decision-sequence li { position: relative; border-right: 1px solid #5d7d95; }
.decision-sequence li:last-child { border-right: 0; }
.decision-sequence li:not(:last-child)::after { content: '→'; position: absolute; right: -8px; top: 48%; z-index: 2; color: #f39a53; font-size: 14px; }
.decision-sequence button { display: flex; flex-direction: column; justify-content: space-between; width: 100%; min-height: 133px; padding: 17px 13px 19px; border: 0; background: transparent; color: #d9e7ef; cursor: pointer; font: inherit; text-align: left; transition: background .25s, color .25s; }
.decision-sequence button:hover,
.decision-sequence button[aria-pressed=true] { background: #275270; color: #fff; }
.decision-sequence button span { color: #f29a54; font-size: 10px; font-weight: 700; letter-spacing: .13em; }
.decision-sequence button strong { font-size: clamp(12px, 1.08vw, 18px); font-weight: 600; letter-spacing: -.03em; overflow-wrap: anywhere; }
.decision-detail { display: grid; grid-template-columns: 145px minmax(0, 1fr) auto; align-items: center; gap: 25px; min-height: 146px; padding: 23px 0; }
.decision-detail > span { color: #f5a05e; font-size: 10px; font-weight: 700; letter-spacing: .15em; }
.decision-detail p { margin: 0; max-width: 900px; color: #fff; font-size: clamp(20px, 1.75vw, 31px); line-height: 1.35; }
.decision-detail a { color: #f3f8fb; font-size: 12px; font-weight: 600; text-decoration: none; border-bottom: 1px solid #b8d0de; padding-bottom: 7px; white-space: nowrap; }
.decision-detail a span { color: #f39a53; margin-left: 10px; }
.practice-themes { display: grid; grid-template-columns: 160px 1fr; gap: 25px; align-items: start; padding: 36px 0 0; }
.practice-themes > span { color: #f6a668; font-size: 10px; font-weight: 700; letter-spacing: .14em; }
.practice-themes > div { display: flex; flex-wrap: wrap; gap: 8px 27px; }
.practice-themes a { display: inline-flex; gap: 8px; color: #d5e4ed; font-size: 12px; font-weight: 600; text-decoration: none; }
.practice-themes a:hover { color: #fff; }
.practice-themes a span:last-child { color: #f39a53; }

/* 06 — one feature plate, then compact rows. */
.library-intro { display: grid; grid-template-columns: 1fr .8fr; gap: 8vw; align-items: end; padding: 60px 0 48px; }
.library-intro > p { max-width: 510px; margin: 0 0 5px; font-size: clamp(17px, 1.4vw, 23px); line-height: 1.6; }
.featured-resource { display: grid; grid-template-columns: 1.2fr .8fr; min-height: 320px; overflow: hidden; background: #eaf2f6; border-top: 1px solid #aebfcb; border-bottom: 1px solid #aebfcb; }
.featured-copy { padding: clamp(28px, 3vw, 55px); }
.featured-copy > span { color: #d56f2c; font-size: 10px; font-weight: 700; letter-spacing: .15em; }
.featured-copy h3 { max-width: 810px; margin: 23px 0 13px; font-size: clamp(34px, 3vw, 55px); letter-spacing: -.065em; line-height: 1.08; }
.featured-copy p { max-width: 730px; margin: 0; font-size: 15px; line-height: 1.67; }
.featured-diagram { display: flex; align-items: center; justify-content: center; gap: 11px; position: relative; border-left: 1px solid #becfd9; color: #204d6e; font-size: 10px; font-weight: 700; letter-spacing: .12em; }
.featured-diagram::before { content: ''; position: absolute; inset: 28px; border: 1px solid #cbdae2; pointer-events: none; }
.featured-diagram::after { content: ''; position: absolute; top: 26px; bottom: 26px; left: 50%; width: 1px; background: #d4e0e7; pointer-events: none; }
.featured-diagram > span { position: relative; z-index: 1; padding: 10px 5px; background: #eaf2f6; }
.featured-diagram i { width: clamp(15px, 2vw, 35px); height: 1px; background: #df7b33; }
.featured-diagram b { position: absolute; right: 24px; bottom: 17px; color: #dc772f; font-size: 9px; }
.resource-index-head { display: flex; justify-content: space-between; gap: 20px; margin-top: 43px; padding-bottom: 11px; border-bottom: 1px solid #aebfcb; color: #d56f2c; font-size: 10px; font-weight: 700; letter-spacing: .15em; }
.resource-index-head span:last-child { color: #708b9d; }
.home-page .home-library-list { border: 0; }
.home-page .home-library-list > a { min-height: 69px; grid-template-columns: 55px minmax(0,1fr) 175px 20px; }
.home-page .home-library-list strong { font-size: clamp(17px, 1.6vw, 27px); }
.home-page .home-library-list small { display: flex; justify-content: space-between; gap: 12px; }
.home-page .home-library-list small em { color: #2a536e; font-style: normal; }

/* 07 — discussion is represented by real professional prompts, without fake activity. */
.home-page .home-community { background: #f0f5f7; }
.community-intro { display: grid; grid-template-columns: 1fr .65fr; gap: 0 9vw; padding: 58px 0 48px; }
.community-intro .home-kicker { grid-column: 1 / -1; margin: 0 0 22px; }
.community-intro > p:last-child { align-self: end; max-width: 520px; margin: 0 0 6px; font-size: clamp(17px, 1.4vw, 23px); line-height: 1.6; }
.community-prompts { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(40px, 7vw, 120px); border-top: 1px solid #b1c4cf; }
.community-prompts article { padding: 32px 0 27px; border-bottom: 1px solid #b1c4cf; }
.community-prompts article > span { color: #d36e2b; font-size: 10px; font-weight: 700; letter-spacing: .15em; }
.community-prompts blockquote { max-width: 780px; margin: 45px 0 23px; color: #183e5b; font-size: clamp(31px, 2.9vw, 53px); font-weight: 600; letter-spacing: -.065em; line-height: 1.18; }
.community-prompts h3 { max-width: 630px; margin: 21px 0 12px; font-size: clamp(22px, 1.9vw, 32px); letter-spacing: -.05em; line-height: 1.26; }
.community-prompts p { max-width: 630px; margin: 0 0 12px; font-size: 14px; line-height: 1.7; }
.community-prompts .inline-link { font-size: 12px; }
.community-next { margin: 7px 0 27px; padding: 7px 0; border: 0; border-bottom: 1px solid #244965; background: transparent; color: #244965; cursor: pointer; font: inherit; font-size: 12px; font-weight: 700; }
.community-next span { margin-left: 18px; color: #dd782f; }
.community-next:hover { color: #d36e2b; border-color: #d36e2b; }
.community-prompts article > div { display: flex; flex-wrap: wrap; gap: 8px 27px; }

@media (max-width: 1200px) {
  .path-machine { grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr); gap: 25px; }
  .path-interface { grid-template-columns: 1fr; gap: 24px; }
  .path-stage-detail p { min-height: 0; }
  .decision-sequence button { min-height: 116px; }
  .decision-detail { grid-template-columns: 115px 1fr; }
  .decision-detail a { grid-column: 2; justify-self: start; }
}

@media (max-width: 900px) {
  .route-map { grid-template-columns: 1fr; }
  .route-map-key { flex-direction: row; gap: 40px; min-height: 175px; padding: 20px; border-right: 0; border-bottom: 1px solid #bdccd5; }
  .route-map-symbol { width: 115px; }
  .route-map-key p { text-align: left; }
  .route-map-interface { padding-left: 0; }
  .route-map-tabs button:first-child { padding-left: 16px; }
  .route-map-panels { padding: 28px 22px; }
  .path-machine { grid-template-columns: 1fr; }
  .path-glyph { max-width: 330px; }
  .path-interface { grid-template-columns: minmax(0, 1fr) minmax(220px, .75fr); }
  .recognition-common > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-page .home-topics-grid { grid-template-columns: 1fr; }
  .home-topics-grid .home-topic-context { position: static; }
  .topic-context-panels { min-height: 0; }
  .decision-sequence { display: flex; overflow-x: auto; scrollbar-width: thin; scroll-snap-type: x proximity; }
  .decision-sequence li { flex: 0 0 135px; scroll-snap-align: start; }
  .featured-resource { grid-template-columns: 1fr 240px; }
}

@media (max-width: 700px) {
  .home-page .home-chapter { padding-top: 46px; padding-bottom: 66px; }
  .home-page .home-chapter h2 { font-size: clamp(43px, 10.2vw, 65px); }
  .home-page .home-opening h2 { font-size: clamp(49px, 11.5vw, 70px); }
  .home-page .home-practice h2 { font-size: clamp(52px, 11vw, 70px); }
  .home-page .home-opening-grid { padding: 43px 0 36px; }
  .route-map-key { min-height: 135px; gap: 27px; }
  .route-map-symbol { width: 85px; }
  .route-map-symbol::after { inset: -23px; }
  .route-map-symbol::before { inset: -10px; }
  .route-map-axis-x { left: -30px; right: -30px; }
  .route-map-axis-y { top: -30px; bottom: -30px; }
  .route-map-key p { font-size: 8px; }
  .route-map-tabs { grid-template-columns: repeat(2, 1fr); }
  .route-map-tabs button { min-height: 70px; padding: 12px 15px; border-bottom: 1px solid #c5d3dc; }
  .route-map-tabs button:nth-child(2) { border-right: 0; }
  .route-map-tabs button strong { font-size: 14px; }
  .route-map-panel h3 { font-size: 30px; }
  .route-map-panel p { font-size: 13px; }
  .route-panel-links { grid-template-columns: 1fr; }
  .home-path-intro,
  .recognition-intro,
  .practice-intro,
  .library-intro,
  .community-intro { grid-template-columns: 1fr; gap: 22px; padding: 45px 0 34px; }
  .recognition-intro .home-kicker,
  .community-intro .home-kicker { grid-column: auto; }
  .home-path-intro > p,
  .recognition-intro > p:last-child,
  .practice-intro > p,
  .library-intro > p,
  .community-intro > p:last-child { font-size: 16px; }
  .path-machine { padding: 20px 0; }
  .path-glyph { max-width: 255px; }
  .path-interface { grid-template-columns: 1fr; }
  .path-stage-list button { min-height: 47px; }
  .path-stage-detail { padding-bottom: 15px; }
  .recognition-common > div { gap: 27px 18px; }
  .recognition-common article { padding-left: 11px; }
  .recognition-common h3 { font-size: 11px; }
  .recognition-common p { font-size: 12px; }
  .recognition-branches { grid-template-columns: 1fr; }
  .recognition-branches > article { padding: 0 0 30px; }
  .recognition-branches > article + article { padding: 29px 0 30px; border-left: 0; border-top: 1px solid #b6c7d1; }
  .recognition-branches article > p { min-height: 0; font-size: 14px; }
  .recognition-branch-head h3 { font-size: 59px; }
  .home-page .home-topics-grid { padding-top: 43px; gap: 33px; }
  .topic-context-panels { margin-top: 19px; }
  .topic-index-row { min-height: 54px; }
  .topic-index-row button strong { font-size: 16px; }
  .decision-sequence li { flex-basis: 125px; }
  .decision-sequence button { min-height: 101px; }
  .decision-sequence button strong { font-size: 14px; }
  .decision-detail { grid-template-columns: 1fr; gap: 11px; padding: 25px 0; }
  .decision-detail p { font-size: 21px; }
  .decision-detail a { grid-column: 1; white-space: normal; }
  .practice-themes { grid-template-columns: 1fr; gap: 16px; }
  .practice-themes > div { gap: 11px 20px; }
  .featured-resource { grid-template-columns: 1fr; }
  .featured-copy { padding: 28px 24px; }
  .featured-copy h3 { font-size: 35px; }
  .featured-copy p { font-size: 13px; }
  .featured-diagram { min-height: 128px; border-left: 0; border-top: 1px solid #becfd9; }
  .featured-diagram::before { inset: 18px; }
  .featured-diagram::after { display: none; }
  .home-page .home-library-list > a { grid-template-columns: 32px 1fr 16px; }
  .home-page .home-library-list small { display: none; }
  .community-prompts { grid-template-columns: 1fr; gap: 0; }
  .community-prompts blockquote { margin-top: 28px; font-size: 34px; }
  .community-prompts h3 { font-size: 24px; }
  .community-prompts article { padding: 29px 0; }
}

@media (max-width: 380px) {
  .home-page .home-opening-grid { grid-template-columns: minmax(0, 1fr); }
  .home-page .home-opening h2 { font-size: clamp(38px, 11vw, 49px); }
  .recognition-branch-head { display: block; }
  .recognition-branch-head h3 { margin-top: 10px; font-size: 52px; }
}

@media (prefers-reduced-motion: reduce) {
  .path-glyph-progress path,
  .path-stage-list::before,
  .decision-sequence::before,
  .decision-sequence button { transition: none; }
}
