/* Visual-first About and service-path selection. Full page copy remains editable. */
.supporting-visuals { padding-top: 70px; padding-bottom: 36px; }
.supporting-section { margin-bottom: 65px; scroll-margin-top: 145px; }
.supporting-section:last-child { margin-bottom: 0; }
.supporting-heading { max-width: 780px; margin-bottom: 30px; }
.supporting-heading h2, .founder-context h2 { margin: 10px 0 16px; font-size: clamp(28px, 3.1vw, 43px); line-height: 1.16; font-style: normal; }
.supporting-heading > p { color: var(--muted); font-size: 19px; margin: 0; max-width: 690px; }
.supporting-visuals h3 { font-family: var(--font-display); font-style: normal; font-size: 25px; line-height: 1.2; }
.supporting-icon { width: 72px; height: 72px; display: block; flex: 0 0 auto; fill: none; stroke: var(--accent); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.supporting-icon > * { vector-effect: non-scaling-stroke; }
.discipline-map { margin: 0; padding: 35px; border: 1px solid var(--line); background: var(--panel); }
.discipline-nodes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 0; margin: 0; list-style: none; gap: 42px; }
.discipline-nodes > li { min-width: 0; position: relative; padding: 25px; border: 1px solid var(--line); background: var(--surface); }
.discipline-nodes > li:not(:last-child)::after { content: "+"; position: absolute; right: -34px; top: 82px; color: var(--accent); font: 600 30px var(--font-code); }
.discipline-nodes h3 { margin: 18px 0 8px; }
.discipline-nodes p { color: var(--muted); margin: 0; font-size: 16px; }
.discipline-map figcaption { margin-top: 24px; display: flex; flex-direction: column; align-items: center; text-align: center; }
.discipline-result { color: var(--accent); font-size: 33px; line-height: 1; margin-bottom: 14px; }
.discipline-map figcaption strong { font: 600 25px var(--font-display); }
.discipline-map figcaption > span:last-child { font-size: 16px; color: var(--muted); margin-top: 7px; }
.founder-panel { display: grid; grid-template-columns: minmax(270px, 1fr) minmax(0, 1.7fr); gap: 40px; border: 1px solid var(--line); background: var(--surface); }
.founder-identity { min-width: 0; padding: 32px; background: var(--panel); border-right: 1px solid var(--line); }
.founder-portrait { position: relative; margin: 0 0 25px; width: 100%; overflow: hidden; border: 1px solid var(--line); background: #e4e4e4; }
.founder-portrait::after { content: ""; position: absolute; right: 0; bottom: 0; width: 28%; height: 3px; background: var(--accent); pointer-events: none; }
.founder-photo { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; }
.founder-identity .eyebrow { font-size: 10px; line-height: 1.6; }
.founder-identity h3 { margin: 15px 0 8px; }
.founder-identity p { font-size: 14px; color: var(--muted); margin: 0; }
.founder-context { padding: 26px 32px 32px 0; align-self: center; }
.founder-context p { margin: 0 0 15px; color: var(--muted); font-size: 18px; max-width: 630px; }
.founder-context .founder-focus { font-size: 16px; padding-top: 16px; border-top: 1px solid var(--line); }
.founder-context .text-link { display: inline-flex; padding: 7px 0; margin-top: 10px; }
.collaboration-map { display: grid; grid-template-columns: 1fr minmax(180px, .9fr) 1fr; gap: 22px; align-items: stretch; }
.collaboration-node { border: 1px solid var(--line); padding: 30px; background: var(--surface); min-width: 0; }
.collaboration-node h3 { margin: 20px 0 8px; }
.collaboration-node p { color: var(--muted); font-size: 16px; margin: 0; max-width: 240px; }
.collaboration-bridge { display: flex; align-items: center; justify-content: center; text-align: center; flex-direction: column; position: relative; }
.collaboration-bridge > span:first-child { color: var(--accent); font-size: 50px; line-height: .8; letter-spacing: 25px; padding-left: 25px; margin-bottom: 12px; }
.collaboration-bridge .supporting-icon { width: 50px; height: 50px; }
.collaboration-bridge strong { font: 600 21px var(--font-display); margin: 9px 0; }
.collaboration-bridge > span:last-child { color: var(--muted); font-size: 14px; line-height: 1.6; }
.supporting-principle-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; padding: 0; margin: 0; list-style: none; }
.supporting-principle-grid li { border-top: 1px solid var(--line); padding: 23px 4px 0; }
.supporting-principle-grid .supporting-icon { width: 49px; height: 49px; }
.supporting-principle-grid h3 { font-size: 23px; margin: 18px 0 8px; }
.supporting-principle-grid p { color: var(--muted); font-size: 16px; margin: 0; }
.supporting-path-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 23px; }
.supporting-path { padding: 25px; border: 1px solid var(--line); background: var(--surface); min-width: 0; display: flex; flex-direction: column; }
.supporting-path-art { position: relative; border: 1px solid var(--line); background: var(--panel); min-height: 145px; padding: 20px; display: flex; align-items: center; margin-bottom: 23px; overflow: hidden; }
.supporting-path-art .supporting-icon { width: 100px; height: 100px; }
.supporting-path-index { position: absolute; right: 17px; bottom: 12px; color: var(--muted); opacity: .3; font: 700 64px var(--font-display); }
.supporting-path h3 { margin: 0 0 12px; }
.supporting-path p { color: var(--muted); font-size: 16px; margin: 0 0 22px; }
.supporting-path nav { margin-top: auto; border-top: 1px solid var(--line); }
.supporting-path nav a { display: flex; justify-content: space-between; gap: 15px; align-items: center; padding: 14px 0; border-bottom: 1px solid var(--line); color: var(--text); text-decoration: none; font-size: 16px; line-height: 1.35; min-height: 45px; }
.supporting-path nav a > span:last-child { color: var(--accent); font-size: 20px; }
.supporting-path nav a:hover { color: var(--accent); }
.supporting-path nav a:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
.supporting-choice { display: flex; gap: 30px; justify-content: space-between; align-items: center; margin-top: 30px; border: 1px solid var(--line); padding: 20px 25px; background: var(--panel); }
.supporting-choice > div { display: flex; gap: 19px; align-items: center; }
.supporting-choice .supporting-icon { width: 47px; height: 47px; }
.supporting-choice .text-link { display: inline-flex; flex: 0 0 auto; gap: 12px; padding: 9px 0; }
@media (max-width: 1000px) {
  .discipline-map { padding: 24px; }
  .discipline-nodes { gap: 30px; }
  .discipline-nodes > li { padding: 20px; }
  .discipline-nodes > li:not(:last-child)::after { right: -27px; font-size: 25px; }
  .supporting-path-grid { gap: 16px; }
  .supporting-path { padding: 20px; }
  .supporting-path h3 { font-size: 23px; }
  .founder-panel { gap: 28px; }
  .founder-identity { padding: 25px; }
  .founder-context { padding-right: 25px; }
  .collaboration-map { gap: 15px; grid-template-columns: 1fr minmax(145px, .8fr) 1fr; }
  .collaboration-node { padding: 25px; }
}
@media (max-width: 760px) {
  .supporting-visuals { padding-top: 45px; padding-bottom: 26px; }
  .supporting-section { margin-bottom: 45px; }
  .supporting-heading > p { font-size: 17px; }
  .supporting-path-grid { grid-template-columns: 1fr; gap: 22px; }
  .supporting-path-art { min-height: 115px; }
  .supporting-path-art .supporting-icon { width: 86px; height: 86px; }
  .supporting-choice { align-items: flex-start; flex-direction: column; gap: 8px; padding: 22px; }
  .founder-panel { grid-template-columns: 1fr; gap: 0; }
  .founder-identity { border-right: 0; border-bottom: 1px solid var(--line); }
  .founder-context { padding: 22px 25px 28px; }
  .discipline-nodes { gap: 28px; grid-template-columns: 1fr; }
  .discipline-nodes > li { padding: 22px; display: grid; grid-template-columns: 60px minmax(0, 1fr); column-gap: 20px; }
  .discipline-nodes .supporting-icon { width: 60px; height: 60px; grid-row: span 2; align-self: center; }
  .discipline-nodes h3 { margin: 0 0 8px; }
  .discipline-nodes > li:not(:last-child)::after { top: auto; bottom: -28px; right: auto; left: calc(50% - 9px); line-height: 28px; }
  .supporting-principle-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 28px; }
  .collaboration-map { grid-template-columns: 1fr; }
  .collaboration-node { display: grid; grid-template-columns: 64px minmax(0, 1fr); column-gap: 22px; }
  .collaboration-node .supporting-icon { width: 64px; height: 64px; grid-row: span 2; align-self: center; }
  .collaboration-node h3 { margin: 0 0 8px; }
  .collaboration-node p { max-width: none; }
  .collaboration-bridge { margin: 5px 0; padding: 12px; background: var(--panel); border: 1px solid var(--line); }
  .collaboration-bridge > span:first-child { font-size: 35px; letter-spacing: 0; padding: 0; transform: rotate(90deg); margin-bottom: 8px; }
}
@media (max-width: 380px) {
  .discipline-map { padding: 16px; }
  .discipline-nodes > li { grid-template-columns: 1fr; padding: 20px; }
  .discipline-nodes .supporting-icon { grid-row: auto; margin-bottom: 12px; }
  .supporting-principle-grid { grid-template-columns: 1fr; gap: 23px; }
  .collaboration-node { grid-template-columns: 1fr; }
  .collaboration-node .supporting-icon { grid-row: auto; margin-bottom: 16px; }
  .founder-context { padding: 20px; }
  .founder-identity { padding: 22px; }
  .founder-context p { font-size: 17px; }
}
