/* Shared 2026 refresh. Static HTML, progressive enhancement, no build step. */
:root { --ink:#193b4c; --blue:#005587; --muted:#526675; --paper:#f2f5f4; --line:#dce4e7; }
html { scroll-padding-top:85px; }
body { color:#354a58; background:#fff; }
img { max-width:100%; height:auto; }
a { overflow-wrap:anywhere; }
iframe { max-width:100%; }
#header { background:#153a50; }
#header.alt { background:transparent; }
#header .logo a { color:#fff; }
#header > a { min-height:44px; }
#menu .links a { min-height:44px; display:flex; align-items:center; }
.site-width { width:min(1160px,calc(100% - 64px)); margin-left:auto; margin-right:auto; }
.updated-page { padding-top:64px; }
.updated-page:has(.video-hero) { padding-top:0; }
.page-intro { padding-top:70px; padding-bottom:50px; }
.page-intro h1 { color:var(--ink); font-size:clamp(38px,5vw,66px); line-height:1.12; font-weight:400; letter-spacing:-.035em; margin:0 0 26px; max-width:980px; }
.eyebrow { display:block; color:var(--blue); font-size:11px; font-weight:600; letter-spacing:.15em; text-transform:uppercase; margin:0 0 16px; }
.lead { font-size:clamp(18px,2vw,23px); line-height:1.65; max-width:850px; }
.content-section { padding-top:65px; padding-bottom:65px; }
.content-section h2,.feature-split h2 { color:var(--ink); font-size:clamp(28px,3vw,40px); line-height:1.2; font-weight:400; letter-spacing:-.025em; margin:0 0 28px; }
.content-section p,.feature-split p { line-height:1.8; }
.intro-split,.feature-split { display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
.intro-split { align-items:start; }
.feature-band { background:var(--paper); }
.feature-band > .feature-split { padding:60px 0; }
.feature-split > img { width:100%; max-height:520px; object-fit:cover; border-radius:3px; }
.research-lead { padding:0 0 60px; }
.text-link { color:var(--blue); font-weight:500; text-decoration:none; display:inline-block; padding:8px 0; }
.solid-link { display:inline-block; padding:13px 20px; background:var(--blue); color:#fff!important; text-decoration:none; border-radius:3px; margin-top:8px; }
.solid-link:hover { background:var(--ink); }
.cards { display:grid; gap:28px; margin:28px 0; }
.cards.two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.cards.three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.story-card { background:#fff; border:1px solid var(--line); display:flex; flex-direction:column; min-width:0; }
.story-card > img { width:100%; aspect-ratio:3/2; object-fit:cover; }
.card-copy { padding:25px; flex:1; display:flex; flex-direction:column; }
.card-copy h3 { font-size:23px; line-height:1.3; color:var(--ink); margin:0 0 15px; }
.card-copy p { font-size:15px; margin:0 0 20px; }
.card-copy .text-link { margin-top:auto; }
.date { display:block; color:var(--muted); font-size:11px; margin-bottom:14px; }
.paper-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 40px; margin-bottom:25px; }
.paper-list article { border-top:1px solid var(--line); padding:25px 0; }
.paper-list h3 { font-size:22px; line-height:1.35; margin-bottom:12px; }
.paper-list h3 a { color:var(--ink); text-decoration:none; }
.paper-list .eyebrow { font-size:10px; letter-spacing:.07em; }
.link-row { display:flex; flex-wrap:wrap; gap:18px 36px; }
.link-row a { padding:8px 0; }
.wide-photo img { width:100%; max-height:630px; object-fit:cover; }
figure { margin:0; }
figcaption { color:var(--muted); font-size:13px; line-height:1.6; padding:12px 0; }
.photo-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:35px; }
.photo-grid img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.photo-grid a { display:block; }
.source-link { font-size:14px; }
.site-footer#footer { background:#153a50; color:#d7e4ec; padding:55px 0; text-align:left; margin-top:55px; }
.site-footer a { color:#fff; display:inline-block; padding:3px 0; }
.footer-grid { display:grid; grid-template-columns:1.4fr 1.2fr .7fr; gap:35px; font-size:13px; line-height:1.9; }
.footer-brand { font-size:22px; text-decoration:none; margin-bottom:12px; }
.skip-link { position:fixed; top:-100px; left:16px; z-index:10001; padding:12px 20px; background:#fff; color:#153a50; }
.skip-link:focus { top:10px; }
a:focus-visible,button:focus-visible,summary:focus-visible { outline:3px solid #c28a00; outline-offset:4px; }
summary { cursor:pointer; padding:14px 0; color:var(--blue); }
/* Let older pages share the responsive foundation without rewriting their records. */
.table-wrapper { overflow-x:auto; }
table { max-width:100%; }
td { overflow-wrap:anywhere; }
#main { overflow-wrap:anywhere; }
#main > .content-section { padding-top:30px; }
@media(max-width:980px) { .cards.three { grid-template-columns:repeat(2,minmax(0,1fr)); } .intro-split,.feature-split { gap:30px; } }
@media(max-width:736px) {
 .site-width { width:calc(100% - 36px); }
 .page-intro { padding-top:40px; padding-bottom:30px; }
 .content-section { padding-top:40px; padding-bottom:40px; }
 .intro-split,.feature-split,.cards.two,.cards.three,.paper-list,.photo-grid,.footer-grid { grid-template-columns:1fr; }
 .feature-band > .feature-split { padding:35px 0; }
 .cards { gap:22px; }
 .feature-split > img { max-height:450px; }
 .page-intro h1 { font-size:40px; }
 .card-copy { padding:22px; }
 .footer-grid { gap:22px; }
 .site-footer#footer { margin-top:30px; padding:35px 0; }
 .row { margin-left:0!important; }
 .row > [class*="u"] { width:100%!important; margin-left:0!important; padding-left:0!important; float:none!important; }
 .container { width:calc(100% - 36px)!important; max-width:100%; }
 #main.container .container { width:100%!important; }
 #main img { max-width:100%!important; }
 #main h1,#main h2,#main h3 { overflow-wrap:anywhere; }
 #main table td { padding:12px 7px; }
 #header { padding:0 16px; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; animation:none!important; transition:none!important; } }
a { color:var(--blue); }
.story-card > img { object-position:center 30%; }

/* Current team directory */
.team-intro { padding-bottom:70px; }
.team-intro .lead { max-width:800px; }
.team-band { background:var(--paper); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.team-directory { padding-top:20px; padding-bottom:20px; }
.team-profile { display:grid; grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr); gap:clamp(34px,6vw,82px); align-items:center; padding:70px 0; border-bottom:1px solid #ccd8dc; }
.team-profile:last-child { border-bottom:0; }
.team-portrait { align-self:stretch; min-height:330px; overflow:hidden; border-radius:3px; background:#dbe3e4; }
.team-portrait img { display:block; width:100%; height:100%; min-height:330px; max-height:470px; object-fit:cover; object-position:center 30%; }
.team-copy { max-width:700px; }
.team-copy h2,.team-cta h2 { color:var(--ink); font-size:clamp(30px,3.5vw,46px); line-height:1.12; font-weight:400; letter-spacing:-.03em; margin:0 0 24px; }
.team-copy p:not(.eyebrow) { font-size:16px; line-height:1.82; margin:0 0 18px; }
.team-profile-featured .team-portrait img { object-position:center 36%; }
.profile-links { display:flex; flex-wrap:wrap; gap:10px 28px; margin-top:24px; }
.profile-links a { color:var(--blue); font-size:14px; font-weight:600; letter-spacing:.01em; text-decoration:none; border-bottom:1px solid #aac3d1; padding:6px 0 5px; }
.profile-links a:hover { border-bottom-color:var(--blue); }
.team-cta { padding-top:75px; padding-bottom:25px; }
.team-cta .link-row { margin-top:6px; }
@media(min-width:737px) {
 .team-profile:nth-child(even) { grid-template-columns:minmax(0,1.28fr) minmax(240px,.72fr); }
 .team-profile:nth-child(even) .team-portrait { grid-column:2; grid-row:1; }
 .team-profile:nth-child(even) .team-copy { grid-column:1; grid-row:1; }
}
@media(max-width:736px) {
 .team-intro { padding-bottom:45px; }
 .team-profile { grid-template-columns:1fr; gap:28px; padding:45px 0; }
 .team-portrait { min-height:0; aspect-ratio:4/3; }
 .team-portrait img { min-height:0; max-height:none; aspect-ratio:4/3; }
 .team-copy h2 { margin-bottom:19px; }
 .team-copy p:not(.eyebrow) { font-size:15px; }
 .team-cta { padding-top:50px; }
}

/* Bridge the original content pages into the 2026 visual system. */
.legacy-page > .wrapper.style3 { background:transparent!important; color:var(--ink); padding:70px 0 50px!important; min-height:0; }
.legacy-page > .wrapper.style3:before { display:none; }
.legacy-page > .wrapper.style3 .inner { width:min(1160px,calc(100% - 64px)); margin:0 auto; }
.legacy-page > .wrapper.style3 header { text-align:left; }
.legacy-page > .wrapper.style3 h2 { color:var(--ink)!important; font-size:clamp(38px,5vw,66px); line-height:1.12; font-weight:400; letter-spacing:-.035em; margin:0; }
.legacy-page > .wrapper.style2 { background:var(--paper); border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:60px 0!important; }
.legacy-page > .wrapper.style2 > .inner { width:min(1160px,calc(100% - 64px)); }
.legacy-page .box { background:#fff; border:1px solid var(--line); box-shadow:none; }
.legacy-page .box .content { padding:clamp(28px,5vw,58px); }
.legacy-page #main.container { width:min(1160px,calc(100% - 64px)); padding-top:40px; padding-bottom:40px; }
.legacy-page #main > h2,.legacy-page .box h2 { color:var(--ink); font-size:clamp(28px,3vw,40px); line-height:1.2; font-weight:400; letter-spacing:-.025em; }
.legacy-page #main h3,.legacy-page .box h3 { color:var(--ink); font-size:18px; line-height:1.65; font-weight:500; }
.legacy-page #main h4,.legacy-page .box h4 { color:#445c69; font-size:15px; line-height:1.7; font-weight:400; }
.legacy-page #main p,.legacy-page .box p { line-height:1.8; }
.legacy-page #main a,.legacy-page .box a { color:var(--blue); text-decoration-thickness:1px; text-underline-offset:3px; }
.legacy-page table { background:#fff; border:1px solid var(--line); }
.legacy-page table td,.legacy-page table th { border-color:var(--line); padding:18px 20px; line-height:1.65; }
.legacy-page table tr:nth-child(2n+1) { background:#f7f9f9; }
.legacy-page iframe { border:0; }
.legacy-page .image.fit img { border-radius:3px; }

/* Alumni retain their full biographies in an editorial portrait directory. */
.alumni-page #main.container { padding-top:15px; }
.alumni-page #main > .row { display:flex; gap:clamp(32px,6vw,78px); align-items:flex-start; padding:58px 0; border-bottom:1px solid var(--line); margin:0!important; }
.alumni-page #main > .row > div { width:auto!important; margin:0!important; padding:0!important; float:none!important; }
.alumni-page #main > .row > div:first-child { flex:0 0 min(30%,290px); }
.alumni-page #main > .row > div:last-child { flex:1 1 auto; min-width:0; }
.alumni-page #main > .row > div:first-child h3 { font-size:25px; line-height:1.25; font-weight:400; letter-spacing:-.02em; margin:18px 0 0; }
.alumni-page #main > .row > div:first-child img { width:100%; aspect-ratio:1/1; object-fit:cover; object-position:center 25%; }
.alumni-page #main > .row > div:last-child > h3:first-child { font-size:16px; line-height:1.82; font-weight:400; margin-top:0; }
.alumni-page #main > .row > div:last-child h3:not(:first-child) { font-size:14px; line-height:1.55; margin:14px 0 5px; }
.alumni-page #main > .row > div:last-child h4 { margin:4px 0; padding-left:18px; }
.alumni-page #main > .image.fit { display:none; }
.alumni-page #main > p:last-child { padding:35px 0 0; }

@media(max-width:736px) {
 .legacy-page > .wrapper.style3 { padding:40px 0 30px!important; }
 .legacy-page > .wrapper.style3 .inner,.legacy-page > .wrapper.style2 > .inner,.legacy-page #main.container { width:calc(100% - 36px); }
 .legacy-page > .wrapper.style3 h2 { font-size:40px; }
 .legacy-page > .wrapper.style2 { padding:35px 0!important; }
 .legacy-page .box .content { padding:26px 22px; }
 .legacy-page table td,.legacy-page table th { padding:14px 12px; }
 .alumni-page #main > .row { flex-direction:column; gap:25px; padding:42px 0; }
 .alumni-page #main > .row > div:first-child { flex-basis:auto; width:100%!important; }
 .alumni-page #main > .row > div:first-child img { aspect-ratio:4/3; }
}
