/* Editorial homepage refresh — scoped to the homepage only.
   All research content, links, and other pages remain unchanged. */
.home-page {
  --bg: #fbfbfa;
  --surface: #fff;
  --ink: #242a31;
  --body: #4b535a;
  --muted: #737b81;
  --line: #e8e8e6;
  --blue: #ad2937;
  --blue-light: #faf1f1;
  background: var(--bg);
  color: var(--ink);
  letter-spacing: -.006em;
}
.home-page ::selection { background: #f2dadc; color: #21272d; }
.home-page .wrap { width: min(1130px, calc(100% - 80px)); }
.home-page .site-header {
  background: rgba(255,255,255,.97);
  border-bottom: 1px solid #ebe9e7;
  box-shadow: 0 1px 0 rgba(0,0,0,.015);
}
.home-page .topbar { min-height: 72px; gap: 24px; }
.home-page .brand { font-size: 1.12rem; font-weight: 760; letter-spacing: -.04em; }
.home-page .topnav { gap: clamp(16px, 2vw, 29px); }
.home-page .topnav a {
  color: #525960;
  font-size: .87rem;
  font-weight: 600;
  letter-spacing: .006em;
}
.home-page .topnav a:hover, .home-page .topnav a[aria-current="location"] {
  color: var(--blue);
}
.home-page .topnav a[aria-current="location"] {
  text-decoration-color: currentColor;
  text-underline-offset: 9px;
}
.home-page .layout { max-width: 1130px; padding-top: 54px; padding-bottom: 82px; }

/* The identity block should feel like a masthead, not another essay. */
.home-page .profile {
  grid-template-columns: minmax(0,1fr) 184px;
  column-gap: 56px;
  padding: 0 0 46px;
  margin: 0 0 51px;
  border-bottom: 1px solid #e5e6e4;
}
.home-page .portrait {
  width: 184px; height: 184px;
  margin-top: 0;
  border-radius: 13px;
  object-position: center 30%;
  box-shadow: 0 8px 24px rgba(31,38,44,.08);
}
.home-page .profile h2 {
  font-size: clamp(2.5rem,4vw,3.2rem);
  letter-spacing: -.052em;
  line-height: 1.1;
  margin: 0 0 9px;
}
.home-page .role { color: #303943; font-size: 1.03rem; font-weight: 650; }
.home-page .affiliation { color: #667078; margin-top: 7px; line-height: 1.62; }
.home-page .profile .interests {
  color: #57636a; margin-top: 13px;
  font-size: .9rem; max-width: 65ch;
}
.home-page .profile-links { margin-top: 13px; gap: 3px 21px; }
.home-page .profile-links a {
  min-height: 32px;
  padding: 4px 0;
  font-size: .86rem;
  font-weight: 650;
  text-decoration: underline;
  text-decoration-color: #e2c7ca;
  text-underline-offset: 4px;
}
.home-page .profile-links a:hover { text-decoration-color: var(--blue); }

/* Vision: strongest idea first, supporting details in a reading grid. */
.home-page .intro {
  display: block;
  max-width: 100%;
  padding: 0;
}
.home-page .vision-hero { max-width: 960px; padding-bottom: 31px; }
.home-page .vision-hero .eyebrow {
  color: var(--blue);
  font-size: .73rem;
  line-height: 1.5;
  text-transform: uppercase;
  letter-spacing: .11em;
  font-weight: 760;
  margin: 0 0 16px;
}
.home-page .vision-hero h1 {
  font-size: clamp(2.5rem, 4.55vw, 3.55rem);
  line-height: 1.09;
  letter-spacing: -.052em;
  margin: 0 0 9px;
  color: #24292d;
  font-weight: 760;
}
.home-page .vision-hero .vision-subtitle {
  margin: 0 0 23px;
  color: #555e66;
  font-size: clamp(1.13rem, 1.8vw, 1.34rem);
  font-weight: 540;
  letter-spacing: -.018em;
  line-height: 1.42;
}
.home-page .vision-hero .lead {
  max-width: 72ch;
  margin: 0;
  color: #343c43;
  font-size: clamp(1.08rem, 1.6vw, 1.22rem);
  line-height: 1.72;
  font-weight: 430;
}
.home-page .vision-context {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: clamp(24px,5vw,67px);
  margin: 12px 0 31px;
  padding-top: 26px;
  border-top: 1px solid var(--line);
}
.home-page .context-block { min-width: 0; }
.home-page .context-label,
.home-page .framework-kicker,
.home-page .outlook-kicker {
  display: block;
  margin: 0 0 13px;
  color: var(--blue);
  font-size: .73rem;
  line-height: 1.4;
  font-weight: 760;
  letter-spacing: .095em;
  text-transform: uppercase;
}
.home-page .context-block .agenda-intro {
  max-width: 61ch;
  font-size: .965rem;
  line-height: 1.79;
  color: var(--body);
  margin: 0;
}
.home-page .question-panel {
  position: relative;
  margin: 1px 0 46px;
  padding: 23px 29px 23px 30px;
  border-left: 3px solid var(--blue);
  border-radius: 0 9px 9px 0;
  background: #f6f3f1;
}
.home-page .question-panel .research-question {
  margin: 0;
  max-width: 85ch;
  color: #30363c;
  font-size: 1.05rem;
  line-height: 1.7;
  font-weight: 520;
}
.home-page .question-panel .research-question strong {
  display: block;
  color: var(--blue);
  font-size: .73rem;
  line-height: 1.5;
  text-transform: uppercase;
  letter-spacing: .09em;
  font-weight: 750;
  margin-bottom: 5px;
}
.home-page .framework-head {
  display: grid;
  grid-template-columns: 210px minmax(0,1fr);
  align-items: start;
  gap: 26px;
  margin: 0 0 24px;
}
.home-page .framework-kicker { margin-top: 5px; }
.home-page .framework-head .agenda-intro {
  font-size: .965rem;
  line-height: 1.76;
  margin: 0;
  max-width: 77ch;
}
.home-page .agenda-cross {
  max-width: 900px;
  margin: 0 auto 30px;
  padding: 25px 31px 18px;
  border: 1px solid #e7e8e7;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 6px 24px rgba(20,30,35,.025);
}
.home-page .agenda-cross svg { max-width: 100%; background: transparent; }
.home-page .agenda-cross figcaption {
  max-width: 79ch;
  margin: 10px auto 0;
  line-height: 1.6;
  font-size: .75rem;
  color: #798086;
}
.home-page .outlook-kicker { margin-top: 5px; }

/* Sections: strong title anchors with consistent vertical rhythm. */
.home-page .section { margin-top: 81px; scroll-margin-top: 95px; }
.home-page .section-header {
  align-items: end;
  margin-bottom: 24px;
  padding-bottom: 14px;
  border-bottom: 1px solid #dedfdd;
}
.home-page .section-header h2 {
  color: #222a30;
  font-size: clamp(1.8rem, 2.7vw, 2.18rem);
  line-height: 1.15;
  letter-spacing: -.045em;
  font-weight: 755;
}
.home-page .section-header p {
  font-size: .84rem;
  letter-spacing: .005em;
  color: #7b8389;
}

/* News: one feature, then a calm chronological reading list. */
.home-page #news .news li {
  grid-template-columns: 112px minmax(0,1fr);
  gap: 21px;
  padding: 17px 0;
  border-bottom: 1px solid #ededeb;
}
.home-page #news .news li:last-child { border-bottom: 0; }
.home-page #news .news time {
  color: #767f85;
  font-size: .8rem;
  font-weight: 670;
  letter-spacing: .008em;
  padding-top: 3px;
}
.home-page #news .news p {
  max-width: 85ch;
  font-size: .925rem;
  line-height: 1.68;
  color: #4a535b;
}
.home-page #news .aexam-news {
  padding: 24px 26px;
  margin: 0 0 9px;
  background: #fff;
  border: 1px solid #eae6e4 !important;
  border-radius: 11px;
}
.home-page #news .aexam-news p {
  color: #394149;
  font-size: .975rem;
  line-height: 1.7;
}
.home-page #news .aexam-news strong { color: #262b31; font-weight: 735; }
.home-page .aexam-news-gallery { gap: 11px; margin-top: 16px; }
.home-page .aexam-news-gallery a {
  overflow: hidden;
  border-radius: 7px;
  border: 1px solid #e6e7e7;
  background: #f2f3f2;
}
.home-page .aexam-news-gallery img {
  width: 157px;
  height: 108px;
  max-width: none;
  object-fit: cover;
  object-position: center 38%;
  border-radius: 0;
}
.home-page #news .news-photo {
  border-radius: 8px;
  border: 1px solid #eaeaea;
  width: 104px;
  background: #f5f6f6;
}
.home-page #news .featured-news .news-entry,
.home-page #news .with-news-photo .news-entry {
  grid-template-columns: minmax(0,1fr) 104px;
  gap: 22px;
}
.home-page #news .older-news summary {
  margin-top: 5px;
  color: var(--blue);
  font-weight: 650;
}
.home-page #news > p:last-child a { font-size: .87rem; font-weight: 650; }

/* Research entries remain information-rich without reading as nine dense blocks. */
.home-page #research { margin-top: 84px; }
.home-page #research .section-header { margin-bottom: 19px; }
.home-page #research .filter-panel {
  display: flex;
  gap: 10px 18px;
  padding: 14px 17px;
  margin: 0 0 18px;
  border-radius: 9px;
  background: #f5f5f3;
  border: 1px solid #e8e8e5;
}
.home-page #research .filter-panel label {
  font-size: .82rem;
  color: #48515a;
  font-weight: 680;
}
.home-page #research .filter-select {
  border-radius: 6px;
  border-color: #dbdedd;
  min-width: 204px;
  min-height: 43px;
  color: #323a41;
}
.home-page #research .filter-count { font-size: .79rem; color: #7a8389; }
.home-page .work {
  grid-template-columns: 274px minmax(0,1fr);
  gap: clamp(22px,3.4vw,39px);
  align-items: start;
  padding: 30px 0 32px;
  border-bottom: 1px solid #e8eae9;
}
.home-page .work:last-child { border-bottom: 0; }
.home-page .work .media {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 183px;
  border: 1px solid #e9eaea;
  border-radius: 10px;
  overflow: hidden;
  background: #f2f3f2;
}
.home-page .work .media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.home-page .work .media.photo img { object-fit: cover; }
.home-page .work .media.empty {
  background: repeating-linear-gradient(135deg,#f4f4f3 0,#f4f4f3 18px,#efefed 18px,#efefed 19px);
  color: #70777b;
  border: 1px solid #e4e6e5;
  letter-spacing: .01em;
  font-size: .89rem;
  font-weight: 600;
}
.home-page .work .meta {
  margin-bottom: 8px;
  color: #7a8288;
  font-size: .775rem;
  font-weight: 550;
}
.home-page .work .tag {
  padding: 3px 9px;
  border-radius: 4px;
  background: #fbf0f1;
  color: #99313b;
  font-size: .69rem;
  font-weight: 720;
  letter-spacing: .018em;
}
.home-page .work .tag.progress { background: #eeefef; color: #5d6871; }
.home-page .work .tag.applied { background: #eef4ee; color: #496550; }
.home-page .work h3 {
  color: #252c32;
  margin-bottom: 10px;
  max-width: 58ch;
  font-size: clamp(1.14rem,1.65vw,1.29rem);
  line-height: 1.36;
  font-weight: 740;
  letter-spacing: -.026em;
}
.home-page .work h3 a { color: inherit; }
.home-page .work h3 a:hover { color: var(--blue); }
.home-page .work .authors {
  max-width: 87ch;
  font-size: .805rem;
  color: #778087;
  line-height: 1.65;
  margin: 0 0 12px;
}
.home-page .work .desc {
  max-width: 84ch;
  color: #48525a;
  font-size: .915rem;
  line-height: 1.72;
  margin: 0;
}
.home-page .work .keywords { gap: 6px; margin-top: 15px; }
.home-page .work .keyword {
  color: #6d757a;
  border-color: #e8e9e8;
  background: #f7f7f6;
  border-radius: 4px;
  font-size: .685rem;
  font-weight: 550;
  padding: 4px 8px;
}
.home-page .work .project-links { gap: 5px 20px; margin-top: 13px; }
.home-page .work .project-links a { font-size: .87rem; font-weight: 660; }
.home-page .work[hidden] { display: none!important; }

/* Personal images keep their natural storytelling role. */
.home-page .fishing-stories { gap: 31px; margin-top: 8px; }
.home-page .fishing-story { padding-top: 15px; gap: 17px; }
.home-page .fishing-story img { border-radius: 9px; }
.home-page .fishing-story h3 { font-size: 1.04rem; }
.home-page #contact .contact-card { line-height: 1.75; }
.home-page .footer { background: #f6f6f4; border-top: 1px solid #e8e8e6; }

/* Tablet / small desktop */
@media (max-width: 1000px) {
  .home-page .wrap { width: min(100% - 56px,1130px); }
  .home-page .profile { grid-template-columns: minmax(0,1fr) 172px; gap: 30px; }
  .home-page .portrait { width: 172px; height: 172px; }
  .home-page .work { grid-template-columns: 230px minmax(0,1fr); gap: 24px; }
  .home-page .work .media { height: 160px; }
  .home-page .framework-head { grid-template-columns: 165px minmax(0,1fr); }
}
@media (max-width: 760px) {
  .home-page .wrap { width: calc(100% - 36px); }
  .home-page .site-header { position: sticky; top: 0; }
  .home-page .topbar { display: flex; flex-direction: column; align-items: stretch; min-height: auto; gap: 5px; padding: 8px 0 3px; }
  .home-page .brand { display: block; font-size: 1.01rem; min-height: 25px; }
  .home-page .topnav {
    display: flex;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
    gap: 20px;
    padding: 0 1px;
  }
  .home-page .topnav::-webkit-scrollbar { display: none; }
  .home-page .topnav a { flex: 0 0 auto; padding: 0; min-height: 39px; font-size: .78rem; white-space: nowrap; }
  .home-page .layout { padding: 29px 0 54px; }
  .home-page .profile {
    grid-template-columns: 91px minmax(0,1fr);
    grid-template-rows: repeat(5, auto);
    column-gap: 17px;
    padding-bottom: 29px;
    margin-bottom: 38px;
  }
  .home-page .portrait {
    grid-column: 1; grid-row: 1/span 3;
    width: 91px; height: 91px;
    border-radius: 9px;
  }
  .home-page .profile h2 { grid-column: 2; font-size: clamp(1.73rem,6vw,2.1rem); letter-spacing: -.04em; margin-bottom: 5px; }
  .home-page .role { grid-column: 2; font-size: .8rem; }
  .home-page .affiliation { grid-column: 2; font-size: .77rem; margin-top: 5px; }
  .home-page .profile .interests { grid-column: 1/-1; font-size: .84rem; line-height: 1.62; margin-top: 14px; }
  .home-page .profile-links { grid-column: 1/-1; gap: 1px 17px; margin-top: 12px; }
  .home-page .profile-links a { font-size: .81rem; padding: 7px 0; min-height: 35px; }
  .home-page .vision-hero { padding-bottom: 25px; }
  .home-page .vision-hero .eyebrow { font-size: .67rem; margin-bottom: 13px; }
  .home-page .vision-hero h1 { font-size: clamp(2.12rem, 8.2vw, 2.9rem); line-height: 1.12; }
  .home-page .vision-hero .vision-subtitle { font-size: 1.08rem; margin: 4px 0 19px; }
  .home-page .vision-hero .lead { font-size: 1.015rem; line-height: 1.68; }
  .home-page .vision-context { grid-template-columns: 1fr; gap: 23px; padding-top: 23px; margin: 0 0 26px; }
  .home-page .context-label, .home-page .framework-kicker { font-size: .69rem; margin-bottom: 8px; }
  .home-page .context-block .agenda-intro { font-size: .91rem; line-height: 1.73; }
  .home-page .question-panel { margin: 0 0 37px; padding: 18px 20px; }
  .home-page .question-panel .research-question { font-size: .96rem; line-height: 1.69; }
  .home-page .question-panel .research-question strong { font-size: .7rem; }
  .home-page .framework-head { grid-template-columns: 1fr; gap: 5px; }
  .home-page .framework-head { margin-bottom: 18px; }
  .home-page .framework-head .agenda-intro { font-size: .91rem; line-height: 1.72; }
  .home-page .agenda-cross { padding: 13px 10px 13px; border-radius: 8px; margin-bottom: 24px; }
  .home-page .agenda-cross figcaption { font-size: .69rem; line-height: 1.5; }
  .home-page .vision-outlook { padding-top: 21px; }
  .home-page .section, .home-page #research { margin-top: 60px; scroll-margin-top: 85px; }
  .home-page .section-header { margin-bottom: 15px; padding-bottom: 12px; }
  .home-page .section-header h2 { font-size: 1.67rem; }
  .home-page #news .news li { grid-template-columns: 84px minmax(0,1fr); gap: 12px; padding: 15px 0; }
  .home-page #news .news time { font-size: .76rem; }
  .home-page #news .news p { font-size: .885rem; line-height: 1.68; }
  .home-page #news .aexam-news { padding: 18px 15px; }
  .home-page #news .aexam-news p { font-size: .91rem; }
  .home-page .aexam-news-gallery img { width: 120px; height: 91px; }
  .home-page #news .featured-news .news-entry, .home-page #news .with-news-photo .news-entry { grid-template-columns: minmax(0,1fr) 86px; gap: 12px; }
  .home-page #news .news-photo { width: 86px; }
  .home-page #research .filter-panel { gap: 8px; padding: 13px; }
  .home-page #research .filter-select { width: 100%; min-width: 0; }
  .home-page #research .filter-count { width: 100%; margin: 0; }
  .home-page .work { grid-template-columns: 1fr; gap: 15px; padding: 25px 0 28px; }
  .home-page .work .media { width: 100%; height: auto; aspect-ratio: 1.82; margin: 0; }
  .home-page .work h3 { font-size: 1.14rem; line-height: 1.38; }
  .home-page .work .authors { font-size: .79rem; }
  .home-page .work .desc { font-size: .895rem; line-height: 1.68; }
  .home-page .work .keywords { margin-top: 13px; }
  .home-page .work .keyword { font-size: .69rem; }
  .home-page .work .project-links a { min-height: 35px; }
  .home-page .fishing-stories { gap: 18px; }
  .home-page .fishing-story img { border-radius: 7px; }
}
@media (max-width: 400px) {
  .home-page .wrap { width: calc(100% - 30px); }
  .home-page .topnav { gap: 17px; }
  .home-page .profile { grid-template-columns: 76px minmax(0,1fr); column-gap: 12px; }
  .home-page .portrait { width: 76px; height: 76px; }
  .home-page .profile h2 { font-size: 1.6rem; }
  .home-page .vision-hero h1 { font-size: 2.05rem; }
  .home-page #news .news li { grid-template-columns: 1fr; gap: 5px; }
  .home-page #news .aexam-news { padding: 17px 14px; }
  .home-page .aexam-news-gallery img { width: 113px; height: 86px; }
}
@media (prefers-reduced-motion: reduce) {
  .home-page .work a.media img { transition: none; }
}


/* Phone-first editorial refinements: no squeezed text or hidden navigation. */
.home-page .framework-scroll-hint { display:none; }
@media(min-width:761px) and (max-width:880px){
  .home-page .vision-context {grid-template-columns:1fr;gap:22px}
  .home-page .context-block .agenda-intro {max-width:76ch}
  .home-page .work {grid-template-columns:205px minmax(0,1fr);gap:23px}
  .home-page .work .media {height:148px}
}
@media(max-width:760px){
  /* All six section links remain visible. */
  .home-page .site-header {position:relative}
  .home-page .topbar {display:block;padding:0;min-height:0}
  .home-page .brand {display:none}
  .home-page .topnav {display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;overflow:visible;padding:0}
  .home-page .topnav a {display:flex;justify-content:center;align-items:center;min-width:0;min-height:49px;padding:0 2px;font-size:.77rem;font-weight:610;text-align:center;white-space:nowrap}
  .home-page .topnav a[aria-current="location"] {text-underline-offset:6px;text-decoration-thickness:2px}
  .home-page .layout {padding-top:25px}
  .home-page .profile {margin-bottom:35px;padding-bottom:25px}
  .home-page .vision-hero {padding-bottom:23px}
  .home-page .vision-context {margin-bottom:24px;gap:21px}
  .home-page .context-block .agenda-intro,.home-page .framework-head .agenda-intro {font-size:.94rem;line-height:1.72;color:#4a535b}
  .home-page .question-panel {margin-bottom:32px}
  .home-page .framework-head {gap:5px;margin-bottom:17px}
  .home-page .agenda-cross {padding:14px 11px 12px;margin:0 0 8px;max-width:100%;overflow:hidden}
  .home-page .agenda-cross-plot {width:100%;max-width:100%;min-width:0}
  .home-page .agenda-cross figcaption {margin:12px 1px 0;font-size:.74rem;line-height:1.55}
  .home-page .section,.home-page #research {margin-top:51px;scroll-margin-top:20px}

  /* News becomes a vertical reading list: never stack date + narrow text + image columns. */
  .home-page #news .news li {display:block;padding:17px 0 19px;border-bottom:1px solid #e9eae8}
  .home-page #news .news time {display:block;padding:0;margin:0 0 8px;color:#747b81;font-size:.74rem;line-height:1.3;font-weight:700;letter-spacing:.025em}
  .home-page #news .news p {max-width:none;font-size:.92rem;line-height:1.68}
  .home-page #news .aexam-news {margin:0 0 10px;padding:19px 18px 18px}
  .home-page #news .aexam-news p {font-size:.94rem;line-height:1.72}
  .home-page #news .featured-news .news-entry,.home-page #news .with-news-photo .news-entry {display:flex;flex-direction:column;align-items:flex-start;gap:10px}
  .home-page #news .news-photo {width:142px;max-width:100%;border-radius:7px}
  .home-page #news .news-photo img {width:100%;max-height:102px;aspect-ratio:16/10;object-fit:cover}
  .home-page .aexam-news-gallery {flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px}
  .home-page .aexam-news-gallery a {max-width:calc(50% - 5px)}
  .home-page .aexam-news-gallery img {width:145px;height:109px;max-width:100%;object-fit:contain;background:#f7f7f6}
  .home-page #news .older-news summary {min-height:46px}

  /* Titles lead every publication; image is secondary and never fills an entire screen. */
  .home-page .work {display:flex;flex-direction:column;align-items:stretch;gap:0;padding:25px 0 29px}
  .home-page .work-info {display:contents}
  .home-page .work .meta {order:1;margin:0 0 8px;font-size:.76rem}
  .home-page .work h3 {order:2;margin:0 0 15px;max-width:none;font-size:1.16rem;line-height:1.38;letter-spacing:-.025em;overflow-wrap:break-word}
  .home-page .work .media {order:3;width:100%;height:auto;max-height:172px;aspect-ratio:2/1;margin:0 0 15px;border-radius:8px}
  .home-page .work .media img {width:100%;height:100%;object-fit:contain}
  .home-page .work .media.empty {min-height:62px;max-height:62px;aspect-ratio:auto;margin-bottom:14px;font-size:.82rem;border-style:dashed;background:#f6f6f4}
  .home-page .work .authors {order:4;margin:0 0 10px;color:#6f787f;font-size:.81rem;line-height:1.59}
  .home-page .work .desc {order:5;margin:0;max-width:none;font-size:.94rem;line-height:1.71;color:#434d55}
  .home-page .work .keywords {order:6;gap:5px;margin-top:13px}
  .home-page .work .keyword {padding:3px 7px;font-size:.69rem;border-radius:4px}
  .home-page .work .project-links {order:7;margin-top:14px;gap:4px 20px}
  .home-page .work .project-links a {min-height:40px;font-size:.9rem;text-underline-offset:5px}
  .home-page .fishing-story {gap:14px;align-items:start}
  .home-page .fishing-story img {flex:0 0 min(35%,155px);width:min(35%,155px);height:auto;aspect-ratio:3/4;object-fit:cover}
  .home-page .fishing-story figcaption>p:last-child {font-size:.89rem;line-height:1.57}
}
@media(max-width:480px){
  /* Two predictable rows at 320–480px; no horizontally clipped Contact link. */
  .home-page .topnav {grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid #eeefed}
  .home-page .topnav a {min-height:39px;font-size:.78rem}
  .home-page .topnav a:nth-child(-n+3) {border-bottom:1px solid #f0f0ef}
  .home-page .topnav a[aria-current="location"] {text-decoration:none;color:#962632;background:#faf3f3}
  .home-page .profile {grid-template-columns:79px minmax(0,1fr);column-gap:14px}
  .home-page .portrait {width:79px;height:79px}
  .home-page .profile h2 {font-size:clamp(1.55rem,6vw,1.84rem)}
  .home-page .role {font-size:.81rem}
  .home-page .affiliation {font-size:.75rem;line-height:1.5}
  .home-page .vision-hero h1 {font-size:clamp(2.05rem,9vw,2.47rem)}
  .home-page .question-panel {padding:18px 18px 19px}
  /* Preserve actual diagram label size. Drag to see its full 390px canvas. */
  .home-page .agenda-cross-plot {overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
  .home-page .agenda-cross .agenda-cross-mobile {width:390px;min-width:390px;max-width:none;height:auto}
  .home-page .framework-scroll-hint {display:block;margin:8px 0 0;text-align:right;color:#7c858b;font-size:.73rem;line-height:1.3}
  .home-page .aexam-news-gallery img {width:130px;height:104px}
}

/* Mobile-first masthead revision (2026-10-21).
   Explicit grid areas prevent the large empty tracks visible on iPhone. */
.home-page .mobile-menu-toggle { display:none; }
.home-page .profile {
  display:grid;
  grid-template-columns:minmax(0,1fr) 184px;
  grid-template-rows:auto auto auto;
  grid-template-areas:"identity portrait" "interests portrait" "links portrait";
  column-gap:42px;
  row-gap:0;
  align-items:start;
}
.home-page .profile-identity { grid-area:identity;min-width:0; }
.home-page .profile .portrait {
  grid-column:auto;
  grid-row:auto;
  grid-area:portrait;
}
.home-page .profile-identity h2,
.home-page .profile-identity .role,
.home-page .profile-identity .affiliation {
  grid-column:auto;
  grid-row:auto;
}
.home-page .profile .interests {
  grid-column:auto;
  grid-row:auto;
  grid-area:interests;
  margin-top:13px;
}
.home-page .profile .profile-links {
  grid-column:auto;
  grid-row:auto;
  grid-area:links;
  margin-top:13px;
}
@media(min-width:761px) and (max-width:1000px) {
  .home-page .profile { grid-template-columns:minmax(0,1fr) 172px;column-gap:30px; }
}
@media(max-width:760px) {
  .home-page .site-header {
    position:sticky;
    top:0;
    z-index:40;
    border-bottom:1px solid #ebebeb;
  }
  .home-page .topbar {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:0;
    min-height:53px;
    padding:0;
  }
  .home-page .brand {
    display:inline-flex;
    align-items:center;
    width:max-content;
    min-height:44px;
    color:#9c2532;
    font-size:1rem;
    font-weight:750;
    letter-spacing:-.035em;
  }
  .home-page .mobile-menu-toggle {
    display:inline-flex;
    justify-content:center;
    align-items:center;
    gap:9px;
    min-height:42px;
    min-width:79px;
    padding:0 9px;
    background:transparent;
    border:1px solid #e2e3e2;
    border-radius:7px;
    color:#3d464d;
    font:650 .79rem/1.2 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
    cursor:pointer;
  }
  .home-page .menu-lines { display:flex;flex-direction:column;gap:4px; }
  .home-page .menu-lines i { display:block;width:14px;height:1.6px;background:currentColor;border-radius:2px; }
  .home-page .mobile-menu-toggle[aria-expanded="true"] {color:#982735;background:#fcf5f5;border-color:#eddadd}
  .home-page .topnav {display:none;grid-column:1/-1;overflow:visible;padding:6px 0 13px;gap:5px 8px}
  .home-page .site-header.menu-open .topnav {display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
  .home-page .topnav a,.home-page .topnav a:nth-child(-n+3) {
    justify-content:center;
    min-height:39px;
    padding:0 6px;
    border:1px solid #ecebea;
    border-radius:6px;
    color:#525b61;
    background:#fff;
    font-size:.77rem;
    font-weight:640;
    text-decoration:none;
  }
  .home-page .topnav a[aria-current="location"] {
    color:#982735;
    border-color:#f0e2e3;
    background:#f9f0f1;
    text-decoration:none;
  }
  .home-page .layout {padding-top:23px}
  .home-page .profile {
    grid-template-columns:80px minmax(0,1fr);
    grid-template-rows:auto auto auto;
    grid-template-areas:"portrait identity" "interests interests" "links links";
    column-gap:15px;
    row-gap:0;
    padding-bottom:25px;
    margin-bottom:30px;
  }
  .home-page .profile .portrait {
    width:80px;
    height:80px;
    border-radius:9px;
    box-shadow:none;
    margin:0;
  }
  .home-page .profile-identity {align-self:start}
  .home-page .profile-identity h2 {
    margin:0 0 5px;
    font-size:clamp(1.45rem,5.5vw,1.8rem);
    line-height:1.13;
    font-weight:740;
    letter-spacing:-.038em;
    white-space:nowrap;
  }
  .home-page .profile-identity .role {
    margin:0;
    color:#313940;
    font-size:.8rem;
    line-height:1.4;
    font-weight:610;
  }
  .home-page .profile-identity .affiliation {
    margin:5px 0 0;
    color:#697279;
    font-size:.755rem;
    line-height:1.46;
  }
  .home-page .profile .interests {
    margin:16px 0 0;
    color:#646d75;
    font-size:.79rem;
    line-height:1.55;
  }
  .home-page .profile .profile-links {
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:7px;
    margin-top:15px;
    padding:0;
  }
  .home-page .profile-links a {
    grid-column:span 2;
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:37px;
    padding:6px 4px;
    border:1px solid #e5e5e3;
    border-radius:6px;
    background:#fff;
    color:#a32b38;
    font-size:.74rem;
    line-height:1.22;
    font-weight:650;
    text-align:center;
    text-decoration:none;
    text-wrap:balance;
  }
  .home-page .profile-links a:nth-child(n+4) {grid-column:span 3}
  .home-page .profile-links a:hover,.home-page .profile-links a:focus-visible {
    background:#fff5f5;
    border-color:#dfc4c7;
    text-decoration:none;
  }
  .home-page .vision-hero .eyebrow {
    margin:0 0 10px;
    font-size:.65rem;
    letter-spacing:.075em;
  }
  .home-page .vision-hero h1 {
    margin:0 0 8px;
    font-size:clamp(2.13rem,8.4vw,2.64rem);
    line-height:1.12;
    letter-spacing:-.05em;
  }
  .home-page .vision-hero .vision-subtitle {
    margin:0 0 13px;
    font-size:1rem;
    line-height:1.4;
  }
  .home-page .vision-hero .lead {
    margin:0;
    font-size:.96rem;
    line-height:1.64;
  }
  .home-page .vision-hero {padding-bottom:20px}
  .home-page .vision-context {padding-top:20px;gap:19px}
}
@media(max-width:400px){
  .home-page .wrap {width:calc(100% - 30px)}
  .home-page .profile {grid-template-columns:70px minmax(0,1fr);column-gap:12px}
  .home-page .profile .portrait {width:70px;height:70px}
  .home-page .profile-identity h2 {font-size:clamp(1.35rem,5.6vw,1.62rem)}
  .home-page .profile-links a {font-size:.69rem;min-height:39px}
  .home-page .vision-hero h1 {font-size:clamp(2.02rem,8.8vw,2.3rem)}
}
