/* Phone compositions for the existing Umbraco page families.
   Content and photography remain intact. Icons label a heading; they no longer
   consume a permanent column beside every paragraph on a narrow screen. */
@media (max-width:760px) {
  /* Course pathways: retain the branch order, open up the description measure. */
  .firm-edition.page-academy .inner-site .tree-grid > .tn:is(.foundation,.def,.off) {
    grid-template-columns:32px minmax(0,1fr);
    column-gap:14px;
    row-gap:12px;
    padding-inline:20px;
  }
  .firm-edition.page-academy .inner-site .tree-grid > .tn > .academy-path-symbol {
    --brand-icon-size:32px;
    grid-column:1;
    grid-row:1/3;
    width:32px;
    height:32px;
    margin:0;
    align-self:center;
  }
  .firm-edition.page-academy .inner-site .tree-grid > .tn:is(.foundation,.def,.off) > .tier {grid-column:2;grid-row:1;min-width:0}
  .firm-edition.page-academy .inner-site .tree-grid > .tn:is(.foundation,.def,.off) > .tname {
    grid-column:2;
    grid-row:2;
    min-width:0;
    font-size:clamp(25px,5.8vw,30px);
    line-height:1.18;
    overflow-wrap:break-word;
    text-wrap:pretty;
  }
  .firm-edition.page-academy .inner-site .tree-grid > .tn:is(.foundation,.def,.off) > .tsub {
    grid-column:1/-1;
    grid-row:3;
    max-width:none;
    margin-top:4px;
    font-size:16px;
    line-height:1.7;
  }
  .firm-edition.page-academy .inner-site .tree-grid > .tn:is(.foundation,.def,.off) > .tmeta {grid-column:1/-1;grid-row:4;white-space:normal;font-size:13px;line-height:1.6}
  .firm-edition.page-academy .inner-site .tree-grid > .branch-label > .bl {padding-inline:20px;font-size:21px}
  .firm-edition.page-academy .inner-site .tree-grid > .tn.spec {padding-inline:20px}
  .firm-edition.page-academy .inner-site .tree-grid > .tn.spec .tname {font-size:26px;line-height:1.2}

  /* Ordinary course cards and their modal share a readable title and touch scale. */
  .firm-edition.page-academy .inner-site .track-aside h3 {font-size:clamp(32px,7.2vw,38px);line-height:1.14;overflow-wrap:break-word}
  .firm-edition.page-academy .inner-site article.track .track-aside .ts {font-size:16px;line-height:1.75}
  .firm-edition.page-academy .inner-site article.track .track-actions > .btn,
  .firm-edition.page-academy .inner-site .course-journey > summary {min-height:48px;white-space:normal}
  .firm-edition.page-academy .inner-site .track-cred .cv {overflow-wrap:anywhere;line-height:1.65}
  .firm-edition.page-academy .inner-site .track-stats .sk {font-size:12px;line-height:1.55;white-space:normal}
  .firm-edition.page-academy .inner-site .academy-journey-dialog {
    width:100%;
    max-width:100%;
    height:100dvh;
    max-height:100dvh;
    border:0;
    border-radius:0;
    scroll-padding-block:76px 24px;
  }
  .firm-edition.page-academy .inner-site .academy-journey-content.track {
    padding:76px 20px max(36px,env(safe-area-inset-bottom));
  }
  .firm-edition.page-academy .inner-site .academy-journey-close {
    inset-block-start:max(14px,env(safe-area-inset-top));
    margin-inline: auto max(14px,env(safe-area-inset-right));
  }
  .firm-edition.page-academy .inner-site .academy-journey-dialog .track-aside h3 {font-size:clamp(32px,7.2vw,38px)}
  .firm-edition.page-academy .inner-site .academy-journey-dialog .track-evidence {padding:20px}
  .firm-edition.page-academy .inner-site .academy-journey-dialog .track-stats {grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
  .firm-edition.page-academy .inner-site .academy-journey-dialog .track-identity {padding-inline:0}
  .firm-edition.page-academy .inner-site .track-body {padding:24px 0}
  .firm-edition.page-academy .inner-site .academy-journey-dialog .module-detail p {font-size:16px;line-height:1.75}
  .firm-edition.page-academy .inner-site .academy-journey-dialog .journey-stage {grid-template-columns:32px minmax(0,1fr);column-gap:14px;row-gap:12px}
  .firm-edition.page-academy .inner-site .academy-journey-dialog .journey-stage-icon {grid-row:1;width:32px;height:32px}
  .firm-edition.page-academy .inner-site .academy-journey-dialog .journey-stage h4 {margin:0;align-self:center;font-size:20px}
  .firm-edition.page-academy .inner-site .academy-journey-dialog .journey-stage p {grid-column:1/-1;font-size:16px;line-height:1.7}
  .firm-edition.page-academy .inner-site .curriculum-panel > .track-section-label {gap:16px;font-size:20px;line-height:1.4}
  .firm-edition.page-academy .inner-site .curriculum-module summary .mt {min-width:0;overflow-wrap:break-word;line-height:1.5}
  .firm-edition.page-academy .inner-site .module-detail .skills {gap:8px 16px}
  .firm-edition.page-academy .inner-site .module-detail .skills li {font-size:13px;line-height:1.6;overflow-wrap:anywhere}

  /* A compact heading with a symbol; a full-width reading paragraph below it. */
  .firm-edition.page-academy .inner-site .preach .proof-cards > .pcard {row-gap:16px;column-gap:14px}
  .firm-edition.page-academy .inner-site .preach .proof-cards > .pcard > .pic {grid-row:1}
  .firm-edition.page-academy .inner-site .preach .proof-cards > .pcard > h3 {align-self:center;margin:0}
  .firm-edition.page-academy .inner-site .preach .proof-cards > .pcard > p {grid-column:1/-1;max-width:none;font-size:16px;line-height:1.7}
  .firm-edition.page-academy .inner-site .preach .proof-cards > .pcard > .plink {grid-column:1/-1;margin:0}

  /* Product descriptions need the same reading width as their screenshots. */
  .firm-edition.page-suite .inner-site .mod-grid {grid-template-columns:minmax(0,1fr);row-gap:34px}
  .firm-edition.page-suite .inner-site .mod-grid > .mcard {padding-block:0 8px;column-gap:16px}
  .firm-edition.page-suite .inner-site .mcard > h3 {font-size:26px;line-height:1.2;overflow-wrap:break-word}
  .firm-edition.page-suite .inner-site :is(.ai-grid,.roles-grid,.svc-grid) > .role {row-gap:12px;column-gap:14px}
  .firm-edition.page-suite .inner-site :is(.ai-grid,.roles-grid,.svc-grid) > .role > .ic {grid-row:1/3}
  .firm-edition.page-suite .inner-site :is(.ai-grid,.roles-grid,.svc-grid) > .role > :is(h4,.who) {margin:0}
  .firm-edition.page-suite .inner-site :is(.ai-grid,.roles-grid,.svc-grid) > .role > p {grid-column:1/-1;line-height:1.7}
  .firm-edition.page-suite .inner-site .loop-note {grid-template-columns:1fr;gap:16px;padding:24px}
  .firm-edition.page-range .inner-site :is(#library,#instructor) .lib-grid {grid-template-columns:minmax(0,1fr)}
  .firm-edition.page-range .inner-site :is(#library,#instructor) .libc {display:grid;grid-template-columns:32px minmax(0,1fr);column-gap:14px;row-gap:14px}
  .firm-edition.page-range .inner-site :is(#library,#instructor) .libc > .lic {grid-column:1;grid-row:1;margin:0;align-self:center}
  .firm-edition.page-range .inner-site :is(#library,#instructor) .libc > h3 {grid-column:2;grid-row:1;align-self:center;margin:0;font-size:25px;line-height:1.25}
  .firm-edition.page-range .inner-site :is(#library,#instructor) .libc > p {grid-column:1/-1;grid-row:2;max-width:none;font-size:16px;line-height:1.7}
  .firm-edition:is(.page-suite,.page-range) .inner-site .sc-copy > h3 {font-size:clamp(28px,6.6vw,34px);line-height:1.18;overflow-wrap:break-word}
  .firm-edition:is(.page-suite,.page-range) .inner-site .sc-copy > ul {padding-inline-start:20px;font-size:16px;line-height:1.7}

  /* Real portraits remain square. Names retain enough width to read naturally. */
  .firm-edition.page-about-us .inner-site .lead-grid .pcard:has(img) {grid-template-columns:clamp(96px,27vw,140px) minmax(0,1fr);column-gap:20px}
  .firm-edition.page-about-us .inner-site .pcard:has(img) > h3 {font-size:clamp(24px,5.4vw,29px);line-height:1.16;overflow-wrap:break-word;text-wrap:pretty}
  .firm-edition.page-about-us .inner-site .pcard:has(img) > .role {font-size:14px;line-height:1.6;overflow-wrap:break-word}
  .firm-edition.page-about-us .inner-site .lead-grid:has(.mono-av) > .pcard {grid-template-columns:72px minmax(0,1fr);column-gap:20px}
  .firm-edition.page-about-us .inner-site .portrait.mono-av {width:72px;height:72px}
  .firm-edition.page-about-us .inner-site .pcard:has(.mono-av) > h3 {margin-top:0;font-size:24px;line-height:1.2;overflow-wrap:break-word}
  .firm-edition.page-about-us .inner-site .mission-vals > .vcard {column-gap:14px;row-gap:16px}
  .firm-edition.page-about-us .inner-site .vcard > .ic {grid-row:1}
  .firm-edition.page-about-us .inner-site .vcard > h3 {align-self:center;margin:0}
  .firm-edition.page-about-us .inner-site .vcard > p {grid-column:1/-1;line-height:1.7}

  /* Research titles and the original photographs take the full phone column. */
  .firm-edition.page-insights .inner-site .feat h2 {font-size:clamp(29px,7.1vw,36px);line-height:1.18;overflow-wrap:break-word}
  .firm-edition.page-insights .inner-site .feat-meta {gap:8px 12px;flex-wrap:wrap;line-height:1.6}
  .firm-edition.page-insights .inner-site .prows.as-list .prow {grid-template-columns:minmax(0,1fr);gap:20px}
  .firm-edition.page-insights .inner-site .prows.as-list .prow > :is(.prow-art,.prow-main,.prow-meta) {grid-column:1;grid-row:auto}
  .firm-edition.page-insights .inner-site .prows.as-list .prow-art {width:100%;aspect-ratio:2/1}
  .firm-edition.page-insights .inner-site .prows.as-list .prow h3 {font-size:26px;line-height:1.2}
  .firm-edition.page-insights .inner-site .prows .prow-main p {font-size:16px;line-height:1.7}
  .firm-edition.page-insights .inner-site .view-toggle > button {min-height:44px;padding-inline:16px}
  .firm-edition.page-insights .inner-site .signal-form > input {font-size:16px;min-height:48px;min-width:0}
  .firm-edition.page-insights .inner-site .signal-form > button {min-height:48px;white-space:normal}
  .firm-edition.page-article .inner-site .art-body {min-width:0;font-size:16px;line-height:1.8}
  .firm-edition.page-article .inner-site .art-body :is(.art-p,.art-ul,.art-ol) {font-size:16px;line-height:1.8;overflow-wrap:break-word}
  .firm-edition.page-article .inner-site .art-body :is(h2,h3,h4) {overflow-wrap:break-word}
  .firm-edition.page-article .inner-site .art-body :is(p,li) > :is(a,code) {overflow-wrap:anywhere}
  .firm-edition.page-article .inner-site .art-body img {max-width:100%;height:auto}
  .firm-edition.page-article .inner-site .art-body pre {max-width:100%;padding:18px;font-size:13px;line-height:1.7;overflow-x:auto}
}
