
:root{
  --bg:#f5f8fc;
  --panel:#ffffff;
  --panel-soft:#f8fbff;
  --line:#d8e3f0;
  --line-strong:#b9cade;
  --text:#182434;
  --muted:#5d6d82;
  --accent:#214f97;
  --accent-2:#173b73;
  --accent-soft:#eef4fd;
  --shadow:0 10px 30px rgba(16,30,54,.06);
  --shadow-lg:0 24px 64px rgba(16,30,54,.12);
  --max:1180px;
  --radius-xl:28px;
  --radius-lg:18px;
  --radius-md:12px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--text);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  line-height:1.8;
  background:linear-gradient(180deg,#fcfbf8 0%,#f4f2ed 100%);
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.container{width:min(calc(100% - 28px), var(--max));margin:0 auto}

.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(252,251,248,.92);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(207,197,183,.75);
  box-shadow:0 4px 18px rgba(20,24,30,.04);
}
.brand-row{
  min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:16px;
}
.brand-link{display:flex;align-items:center;gap:14px;min-width:0}
.brand-link img.logo{
  height:36px;width:auto;flex:0 0 auto;
  mix-blend-mode:multiply;
  opacity:.98;
}
.brand-text{min-width:0}
.brand-title{font-size:1.34rem;font-weight:800;line-height:1.15;letter-spacing:-.03em}
.brand-sub{margin-top:4px;font-size:.91rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lang-switch{display:flex;align-items:center;gap:10px}
.lang-switch a{
  font-size:.92rem;font-weight:700;color:#49515b;
  padding:8px 0;border-bottom:2px solid transparent
}
.lang-switch a.active{color:var(--accent);border-bottom-color:var(--accent)}

.nav-wrap{border-top:1px solid rgba(207,197,183,.55);background:rgba(255,255,255,.84)}
.main-nav{
  display:flex;align-items:center;justify-content:center;gap:26px;
  overflow-x:auto;-ms-overflow-style:none;scrollbar-width:none;
}
.main-nav::-webkit-scrollbar{display:none}
.main-nav a{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:50px;padding:0 2px;
  color:#444d58;font-size:.98rem;font-weight:750;
  border-bottom:3px solid transparent;
  white-space:nowrap;
  transition:color .18s ease,border-color .18s ease;
}
.main-nav a:hover{color:var(--accent)}
.main-nav a.active{color:var(--accent);border-bottom-color:var(--accent)}

.hero-slider{
  position:relative;margin:24px 0 28px;border-radius:var(--radius-xl);overflow:hidden;
  box-shadow:var(--shadow-lg);border:1px solid rgba(207,197,183,.7);background:#0f1729;
}
.hero-slide{position:relative;min-height:470px;display:none;background-size:cover;background-position:center center}
.hero-slide.active{display:block}
.hero-slide::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg, rgba(8,14,28,.70) 0%, rgba(8,14,28,.43) 42%, rgba(8,14,28,.18) 100%),
             linear-gradient(180deg, rgba(8,14,28,.18), rgba(8,14,28,.44));
}
.hero-content{position:relative;z-index:1;max-width:650px;padding:48px 46px 56px;color:#fff}
.hero-kicker{
  display:inline-flex;align-items:center;gap:10px;font-size:.82rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;opacity:.92
}
.hero-kicker::before{content:"";width:24px;height:2px;border-radius:999px;background:linear-gradient(90deg,#d7e6ff,rgba(255,255,255,.8))}
.hero-content h1{margin:16px 0 0;font-size:clamp(2rem,4.8vw,3.45rem);line-height:1.08;letter-spacing:-.05em}
.hero-content p{margin:18px 0 0;font-size:1rem;color:rgba(255,255,255,.93)}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 18px;border-radius:999px;
  font-weight:760;font-size:.95rem;transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.btn:hover{transform:translateY(-1px)}
.btn.primary{color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent-2));box-shadow:0 14px 28px rgba(31,53,82,.18)}
.btn.secondary{color:#fff;border:1px solid rgba(255,255,255,.42);background:rgba(255,255,255,.08)}
.slider-dots{position:absolute;z-index:2;right:18px;bottom:16px;display:flex;gap:8px}
.slider-dots button{width:11px;height:11px;border:none;border-radius:50%;background:rgba(255,255,255,.42);cursor:pointer}
.slider-dots button.active{background:#fff}
.slide-credit{position:absolute;z-index:2;left:18px;bottom:14px;color:rgba(255,255,255,.82);font-size:.8rem}

.card{
  background:rgba(255,255,255,.94);
  border:1px solid rgba(231,225,215,.9);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow);
}
.card-pad,.content-card,.member-section,.link-card{padding:24px}
.home-grid{display:grid;grid-template-columns:1.14fr .86fr;gap:18px;margin-bottom:28px}
.section-tag{color:var(--accent);font-size:.8rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.home-summary p,.home-news p{margin:12px 0 0;color:#49515b;font-size:.98rem}
.hero-intro{margin-top:18px;max-width:900px;color:#4a515b;font-size:1rem}
.hero-intro strong{color:#222a35}
.news-list{display:grid;gap:14px;margin-top:14px}
.news-item{padding-bottom:14px;border-bottom:1px solid var(--line)}
.news-item:last-child{padding-bottom:0;border-bottom:none}
.news-date{font-size:.84rem;font-weight:800;color:var(--accent)}
.news-text{margin-top:6px;color:#454f5d;font-size:.95rem}
.links-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:16px}
.links-grid a{
  display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:70px;padding:16px;
  border-radius:16px;border:1px solid var(--line);background:linear-gradient(180deg,#fff 0%,#f8f6f1 100%);
  font-weight:750;color:#303742
}
.links-grid a span{color:var(--accent)}

.page-hero{padding:30px 0 8px}
.page-hero .card{padding:30px;background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(249,247,242,.96))}
.page-hero h1{margin:8px 0 0;font-size:clamp(1.92rem,4vw,2.8rem);letter-spacing:-.045em}
.page-hero p{margin:12px 0 0;max-width:860px;color:#49515b;font-size:1rem}
.breadcrumb{font-size:.9rem;color:var(--muted)}
.breadcrumb a{color:var(--accent)}

section.block{padding:18px 0 30px}
.section-head{margin-bottom:18px}
.section-head h2{margin:0;font-size:1.82rem;letter-spacing:-.04em}
.section-head p{margin:10px 0 0;max-width:820px;color:#4b5562;font-size:.98rem}

.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.stack{display:grid;gap:18px}
.content-card h3,.member-section h3,.link-card h3{margin:0;font-size:1.12rem;letter-spacing:-.02em}
.content-card p,.content-card li{margin:12px 0 0;color:#46515f;font-size:.97rem}
.content-card ul{margin:12px 0 0;padding-left:18px}
.notice{padding:18px 20px;border-radius:16px;background:var(--accent-soft);border:1px solid rgba(207,197,183,.8);color:#33435d}
.small-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.small-links a{
  display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--line);
  border-radius:999px;background:#fff;color:#344150;font-size:.9rem;font-weight:700;
}

.list-table{display:grid;gap:12px}
.list-row{
  padding:16px 18px;border-radius:14px;border:1px solid var(--line);
  background:linear-gradient(180deg,#fff 0%,#f8f6f1 100%)
}
.list-row .meta{font-size:.82rem;font-weight:800;color:var(--accent)}
.list-row .title{margin-top:6px;font-weight:700;color:#2c3642}
.list-row .desc{margin-top:6px;color:#596374;font-size:.94rem}
.list-row .links{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px}
.list-row .links a{
  display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#fff;border:1px solid var(--line);
  color:#33404d;font-size:.84rem;font-weight:700
}
.preview-list{display:grid;gap:8px}
.preview-list ul{margin:0;padding-left:20px;color:#46515f}
.preview-list li{margin:0 0 6px}
.preview-lead{font-size:.84rem;font-weight:800;color:var(--accent);letter-spacing:.04em;margin-bottom:6px}
.year-block + .year-block{margin-top:22px}
.year-block h3{margin:0 0 12px;font-size:1.15rem;color:var(--accent)}

.gallery-grid,.research-rd-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.figure-card{overflow:hidden}
.figure-card img{width:100%;aspect-ratio:16/10;object-fit:cover;background:#eef2f8}
.research-photo-vuv img{aspect-ratio:16/10;object-fit:cover;object-position:30% center}
.research-photo-lxe img{aspect-ratio:16/10;object-fit:cover}
.figure-caption{padding:14px 18px 18px;color:#4a5870;font-size:.93rem}
.figure-caption strong{display:block;color:#263750;margin-bottom:4px}

.profile-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:18px}
.profile-aside{display:grid;gap:18px}

.member-table-wrap{overflow-x:auto}
.member-table{
  width:100%;
  border-collapse:separate;border-spacing:0;
  min-width:760px;margin-top:8px
}
.member-table thead th{
  text-align:left;font-size:.86rem;letter-spacing:.04em;color:var(--accent);
  padding:12px 14px;border-bottom:2px solid var(--line-strong);
  background:linear-gradient(180deg,#fff 0%,#f8f6f1 100%)
}
.member-table tbody td{
  padding:14px;border-bottom:1px solid var(--line);color:#39424e;font-size:.95rem;vertical-align:top;background:#fff
}
.member-table tbody tr:nth-child(even) td{background:#fcfbf8}
.member-table .name{font-weight:800;color:#202832}
.group-photo-placeholder{
  margin-top:22px;padding:26px;border:1px dashed var(--line-strong);border-radius:20px;background:linear-gradient(180deg,#fff 0%,#f8f6f1 100%);
  text-align:center;color:#5e6d85
}

.link-categories{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.link-card ul{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:10px}
.link-card li a{
  display:flex;justify-content:space-between;align-items:center;gap:12px;
  padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(180deg,#fff 0%,#f8f6f1 100%);
  color:#2d3c57;font-weight:700
}
.link-card li a span{color:var(--accent);font-weight:800}
.email-obfuscated{
  display:inline-flex;align-items:center;gap:6px;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.01em;
}
.email-obfuscated .at{
  padding:1px 6px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:.86em;font-weight:800
}
.footer{margin-top:26px;border-top:1px solid rgba(207,197,183,.65);background:rgba(255,255,255,.58)}
.footer-inner{
  min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:12px;
  font-size:.92rem;color:#6a778d
}
@media (max-width:980px){
  .home-grid,.grid-2,.grid-3,.gallery-grid,.research-rd-grid,.profile-layout,.link-categories{grid-template-columns:1fr}
  .hero-slide{min-height:400px}
  .main-nav{justify-content:flex-start}
}
@media (max-width:720px){
  .brand-row{min-height:68px}
  .brand-link img.logo{height:30px}
  .brand-title{font-size:1.18rem}
  .brand-sub{font-size:.85rem}
  .main-nav{gap:20px}
  .main-nav a{min-height:44px;font-size:.93rem}
  .hero-content{padding:32px 24px 52px}
  .hero-content p{font-size:.96rem}
  .links-grid{grid-template-columns:1fr}
  .footer-inner{flex-direction:column;justify-content:center;padding:12px 0}
}
@media (max-width:520px){
  .container{width:min(calc(100% - 20px), var(--max))}
  .hero-slide{min-height:360px}
  .hero-actions{display:grid;grid-template-columns:1fr}
  .btn{width:100%}
  .slider-dots{right:14px}
  .slide-credit{left:14px;right:90px}
}

body{background:linear-gradient(180deg,#fbfdff 0%,#f3f7fc 100%)}
.site-header{background:rgba(251,253,255,.93)}
.brand-link img.logo{height:34px;filter:drop-shadow(0 1px 3px rgba(20,40,70,.04))}
.main-nav{gap:12px;padding:8px 0}
.main-nav a{
  min-height:40px;padding:0 14px;border-radius:999px;border-bottom:none;
  background:transparent; color:#42536a;
}
.main-nav a:hover{background:#eff4fb;color:var(--accent)}
.main-nav a.active{
  color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent-2));
  box-shadow:0 10px 22px rgba(33,79,151,.18)
}
.page-hero .card{border-top:3px solid rgba(33,79,151,.9)}
.content-card h3,.member-section h3,.link-card h3{font-size:1.1rem}
.hero-content{max-width:720px}
.hero-content h1{font-size:clamp(2.25rem,5vw,3.9rem)}
.home-grid{align-items:start}
.result-compact{display:grid;gap:8px}
.result-compact .row{
  padding:12px 14px;border:1px solid var(--line);border-radius:14px;
  background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);
}
.result-compact .meta{font-size:.8rem;font-weight:800;color:var(--accent)}
.result-compact .title{margin-top:4px;font-weight:700;color:#223347;line-height:1.45}
.result-compact .desc{margin-top:4px;color:var(--muted);font-size:.92rem}
.compact-section-title{
  display:flex;align-items:center;gap:10px;margin:0 0 12px;
  font-size:1.02rem;font-weight:800;color:var(--text)
}
.compact-section-title::before{
  content:"";width:10px;height:10px;border-radius:50%;
  background:linear-gradient(135deg,var(--accent),#7aa6ef)
}
.result-page-block + .result-page-block{margin-top:18px}
.result-dense{
  display:grid;gap:8px
}
.result-dense .item{
  display:grid;grid-template-columns:120px 1fr;gap:14px;
  padding:12px 2px;border-bottom:1px solid var(--line)
}
.result-dense .item:last-child{border-bottom:none}
.result-dense .year{font-size:.88rem;font-weight:800;color:var(--accent)}
.result-dense .text{color:#35455b}
.result-dense .text strong{display:block;color:#223347}
.map-wrap{
  border-radius:18px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow);
  min-height:320px;background:#edf3fb
}
.map-wrap iframe{width:100%;height:100%;min-height:320px;border:0}
.note-banner{
  padding:14px 16px;border-radius:14px;border:1px solid var(--line);
  background:linear-gradient(180deg,#fff 0%,#f8fbff 100%); color:#41536a
}
@media (max-width:720px){
  .main-nav{justify-content:flex-start;padding:8px 0 10px}
  .main-nav a{min-height:38px;padding:0 12px}
  .result-dense .item{grid-template-columns:1fr;gap:4px}
}

.hero-content h1{
  max-width: 12em;
  text-wrap: balance;
  word-break: keep-all;
}
.links-grid.variant-a a{
  border-radius:24px;
  border:1px solid #d7e1ee;
  background:linear-gradient(180deg,#ffffff 0%,#f7faff 100%);
  box-shadow:0 8px 24px rgba(25,45,85,.05);
}
.links-grid.variant-b a{
  border-radius:18px;
  border:1px solid #dbe4f0;
  background:#fff;
  box-shadow:none;
  position:relative;
}
.links-grid.variant-b a::after{
  content:"";
  position:absolute;left:0;top:0;bottom:0;width:5px;
  background:linear-gradient(180deg,#2458ab,#7aa6ef);
  border-top-left-radius:18px;border-bottom-left-radius:18px;
}
.links-grid.variant-c a{
  border-radius:18px;
  border:1px solid #d8e0eb;
  background:linear-gradient(135deg,#f8fbff 0%,#eef4fb 100%);
}
.links-grid.variant-d a{
  border-radius:20px;
  border:1px solid #d7deea;
  background:#fff;
  box-shadow:0 14px 30px rgba(17,37,70,.06);
}
.links-grid.variant-d a span{
  display:inline-flex;align-items:center;justify-content:center;
  width:36px;height:36px;border-radius:999px;
  background:#eef4fb;
}
.section-subtle{
  margin-top:10px;color:#5a6b80;font-size:.98rem;
}
.top-mini{
  display:grid;gap:14px;
}
.research-home-block{
  padding:20px 22px;border:1px solid var(--line);border-radius:18px;
  background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);
}
.research-home-block h3{
  margin:0 0 8px;font-size:1.02rem;color:#1f2f46
}
.research-home-block p{
  margin:0;color:#55667b;font-size:.96rem
}

/* v17 refinement */
:root{
  --accent:#2456a6;
  --accent-2:#1e4a8f;
  --line:#dbe3ee;
  --line-strong:#c3d2e4;
  --muted:#5e6d81;
}
.site-header{
  background:rgba(252,253,255,.96);
  border-bottom:1px solid rgba(195,210,228,.8);
}
.nav-wrap{
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,254,.95));
  border-top:1px solid rgba(195,210,228,.5);
}
.main-nav{
  gap:14px;
  padding:8px 0;
}
.main-nav a{
  min-height:40px;
  padding:0 14px;
  border-radius:999px;
  border-bottom:none;
  color:#4d5c70;
}
.main-nav a:hover{
  background:#eef3f9;
  color:var(--accent);
}
.main-nav a.active{
  color:#fff;
  background:linear-gradient(135deg,#2a5fb1,#1f4c92);
  box-shadow:0 10px 22px rgba(36,86,166,.16);
}
.page-hero .card{
  border-top:3px solid rgba(36,86,166,.95);
}
.hero-content h1{
  max-width:12em;
  text-wrap:balance;
  word-break:keep-all;
}
.hero-content p{
  max-width:40em;
}
.links-grid.variant-b a{
  border-radius:18px;
  border:1px solid #d9e2ee;
  background:#fff;
  position:relative;
  box-shadow:0 10px 22px rgba(18,34,62,.04);
}
.links-grid.variant-b a::after{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:4px;
  background:linear-gradient(180deg,#2a5fb1,#7ea4e2);
  border-top-left-radius:18px;
  border-bottom-left-radius:18px;
}
.links-grid.variant-b a span{
  color:#355c93;
}
.links-grid.variant-a a{
  border-radius:26px;
  border:1px solid #d4e0ef;
  background:linear-gradient(180deg,#ffffff 0%,#f4f8fd 100%);
  box-shadow:0 8px 18px rgba(18,34,62,.05);
}
.links-grid.variant-a a span{
  color:#2b5aa2;
}
.links-grid.variant-c a{
  border-radius:18px;
  border:1px solid #dde2ea;
  background:linear-gradient(135deg,#fafbfd 0%,#eef2f6 100%);
}
.links-grid.variant-c a span{
  color:#647589;
}
.links-grid.variant-d a{
  border-radius:14px;
  border:1px solid #d8e2ef;
  background:#fff;
  box-shadow:0 12px 26px rgba(18,34,62,.04);
}
.links-grid.variant-d a span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border-radius:999px;
  background:#edf3fb;
  color:#2a5fb1;
}
.supplement-card{
  padding:18px 20px;
  border:1px solid #dde5f0;
  border-radius:16px;
  background:linear-gradient(180deg,#fbfcfe 0%,#f8fafc 100%);
}
.supplement-card h4{
  margin:0 0 10px;
  font-size:1rem;
  color:#2b3b51;
}
.supplement-card p{
  margin:0 0 10px;
  color:#607184;
}
.supplement-card ul{
  margin:0;
  padding-left:18px;
  color:#54657a;
}
.supplement-card li{
  margin:6px 0;
}
.result-compact{
  display:grid;
  gap:10px;
}
.result-compact .row{
  padding:13px 14px;
  border:1px solid #dde6f0;
  border-radius:14px;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
}
.result-compact .meta{
  font-size:.8rem;
  font-weight:800;
  color:#2b5aa2;
}
.result-compact .title{
  margin-top:4px;
  font-weight:700;
  color:#213247;
  line-height:1.45;
}
.result-compact .desc{
  margin-top:4px;
  color:#627387;
  font-size:.92rem;
}
.result-compact .links{
  margin-top:8px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.result-compact .links a{
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  background:#fff;
  border:1px solid #dbe4ef;
  font-size:.84rem;
  font-weight:700;
  color:#35557d;
}
.member-table thead th{
  background:linear-gradient(180deg,#ffffff 0%,#f7faff 100%);
}
.member-table tbody tr:nth-child(even) td{
  background:#fbfdff;
}
.note-banner{
  padding:14px 16px;
  border-radius:14px;
  border:1px solid #dbe4ef;
  background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);
  color:#4a5c72;
}
.map-wrap{
  border-radius:18px;
  overflow:hidden;
  border:1px solid #dbe4ef;
  box-shadow:0 10px 24px rgba(18,34,62,.05);
}
.map-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:12px;
}
.map-actions a{
  display:inline-flex;
  align-items:center;
  padding:8px 12px;
  border-radius:999px;
  background:#fff;
  border:1px solid #dbe4ef;
  color:#35557d;
  font-weight:700;
}


/* v18 palette refinement: Pattern B structure, less blue background */
body{
  background:linear-gradient(180deg,#fcfcfd 0%,#f6f6f7 100%);
}
.site-header{
  background:rgba(253,253,254,.97);
  border-bottom:1px solid rgba(212,217,224,.88);
}
.nav-wrap{
  background:linear-gradient(180deg, rgba(255,255,255,.99), rgba(250,250,251,.96));
  border-top:1px solid rgba(218,222,228,.65);
}
.card{
  background:rgba(255,255,255,.97);
  border:1px solid rgba(222,227,234,.96);
}
.page-hero .card{
  background:linear-gradient(180deg, rgba(255,255,255,.99), rgba(250,250,251,.97));
}
.links-grid.variant-b a{
  border:1px solid #dde2e8;
  background:#fff;
  box-shadow:0 10px 22px rgba(22,28,40,.04);
}
.links-grid.variant-b a::after{
  background:linear-gradient(180deg,#3c5d88,#8ea1b8);
}
.links-grid.variant-b a span{
  color:#4a6487;
}
.member-table thead th{
  background:linear-gradient(180deg,#ffffff 0%,#fafbfc 100%);
  color:#3b5f92;
}
.member-table tbody td{
  border-bottom:1px solid #e3e8ee;
}
.member-table tbody tr:nth-child(even) td{
  background:#fcfcfd;
}
.supplement-card{
  background:linear-gradient(180deg,#ffffff 0%,#fafbfc 100%);
  border:1px solid #e1e6ec;
}
.group-photo-placeholder{
  background:linear-gradient(180deg,#ffffff 0%,#fafbfc 100%);
  border:1px dashed #cbd6e3;
}
.result-landing-option{
  padding:22px 24px;
  border:1px solid #e1e6ec;
  border-radius:18px;
  background:linear-gradient(180deg,#fff 0%,#fafbfc 100%);
}
.result-landing-option h3{
  margin:0 0 8px;
  color:#24354a;
  font-size:1.06rem;
}
.result-landing-option p{
  margin:0;
  color:#607082;
}
.result-landing-option + .result-landing-option{
  margin-top:14px;
}
.year-group{
  padding:18px 20px;
  border:1px solid #e0e6ed;
  border-radius:16px;
  background:linear-gradient(180deg,#fff 0%,#fafbfc 100%);
}
.year-group + .year-group{
  margin-top:14px;
}
.year-group h3{
  margin:0 0 10px;
  color:#25384f;
  font-size:1.05rem;
}
.year-subtitle{
  margin:12px 0 6px;
  color:#466286;
  font-weight:800;
  font-size:.94rem;
}
.year-group ul{
  margin:0;
  padding-left:20px;
  color:#516174;
}
.year-group li{
  margin:5px 0;
}
.palette-swatch{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
  margin-top:16px;
}
.palette-swatch div{
  border-radius:14px;
  min-height:58px;
  border:1px solid rgba(0,0,0,.06);
}

/* v19: more neutral gray base and stable hero lines */
body{
  background:linear-gradient(180deg,#fcfcfc 0%,#f5f5f6 100%);
}
.site-header{
  background:rgba(253,253,253,.97);
  border-bottom:1px solid rgba(214,218,223,.9);
}
.nav-wrap{
  background:linear-gradient(180deg, rgba(255,255,255,.99), rgba(249,249,250,.97));
  border-top:1px solid rgba(220,223,228,.65);
}
.card{
  background:rgba(255,255,255,.98);
  border:1px solid rgba(224,228,233,.98);
}
.page-hero .card{
  background:linear-gradient(180deg, rgba(255,255,255,.99), rgba(250,250,250,.97));
}
.main-nav a:hover{
  background:#f1f3f6;
}
.main-nav a.active{
  background:linear-gradient(135deg,#375881,#28486f);
  box-shadow:0 10px 22px rgba(28,46,71,.14);
}
.links-grid.variant-b a{
  border:1px solid #dde2e8;
  background:#fff;
  box-shadow:0 10px 22px rgba(22,28,40,.035);
}
.links-grid.variant-b a::after{
  background:linear-gradient(180deg,#456687,#93a4b7);
}
.links-grid.variant-b a span{
  color:#4c647f;
}
.hero-content p .hero-line{
  display:block;
  margin-bottom:.22em;
}
.hero-content p .hero-line:last-child{
  margin-bottom:0;
}
.hero-content p{
  line-height:1.72;
}

.research-section-stack{
  display:grid;
  gap:18px;
}
.research-photo-grid-4{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:18px;
  margin-top:18px;
}
.research-photo-grid-4 .figure-card img{
  width:100%;
  aspect-ratio:16/10;
  object-fit:cover;
}
@media (max-width: 900px){
  .research-photo-grid-4{
    grid-template-columns:1fr;
  }
}

/* v21 rebuilt */
body{
  background:linear-gradient(180deg,#fcfcfc 0%,#f5f5f6 100%);
}
.site-header{
  background:rgba(253,253,253,.97);
  border-bottom:1px solid rgba(214,218,223,.9);
}
.nav-wrap{
  background:linear-gradient(180deg, rgba(255,255,255,.99), rgba(249,249,250,.97));
  border-top:1px solid rgba(220,223,228,.65);
}
.card{
  background:rgba(255,255,255,.98);
  border:1px solid rgba(224,228,233,.98);
}
.page-hero .card{
  background:linear-gradient(180deg, rgba(255,255,255,.99), rgba(250,250,250,.97));
}
.main-nav a:hover{
  background:#f1f3f6;
}
.main-nav a.active{
  background:linear-gradient(135deg,#375881,#28486f);
  box-shadow:0 10px 22px rgba(28,46,71,.14);
}
.links-grid.variant-b a{
  border:1px solid #dde2e8;
  background:#fff;
  box-shadow:0 10px 22px rgba(22,28,40,.035);
}
.links-grid.variant-b a::after{
  background:linear-gradient(180deg,#456687,#93a4b7);
}
.links-grid.variant-b a span{
  color:#4c647f;
}
.hero-content p .hero-line{
  display:block;
  margin-bottom:.22em;
}
.hero-content p .hero-line:last-child{
  margin-bottom:0;
}
.hero-content p{
  line-height:1.72;
}
.research-section-stack{
  display:grid;
  gap:18px;
}
.research-photo-grid-4{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:18px;
  margin-top:18px;
}
.research-photo-grid-4 .figure-card img{
  width:100%;
  aspect-ratio:16/10;
  object-fit:cover;
}
.pub-year-group{
  padding:18px 20px;
  border:1px solid #e0e6ed;
  border-radius:16px;
  background:linear-gradient(180deg,#fff 0%,#fafbfc 100%);
}
.pub-year-group + .pub-year-group{
  margin-top:14px;
}
.pub-year-group h3{
  margin:0 0 10px;
  color:#25384f;
  font-size:1.05rem;
}
.pub-year-group ul{
  margin:0;
  padding-left:20px;
  color:#516174;
}
.pub-year-group li{
  margin:7px 0;
}
.pub-year-group a{
  color:#2d5ea9;
  font-weight:700;
}
.idea-card{
  padding:20px 22px;
  border:1px solid #e0e6ed;
  border-radius:18px;
  background:linear-gradient(180deg,#fff 0%,#fafbfc 100%);
}
.idea-card + .idea-card{
  margin-top:14px;
}
.idea-card h3{
  margin:0 0 8px;
  color:#24354a;
}
.idea-card p{
  margin:0;
  color:#607082;
}
.year-group{
  padding:18px 20px;
  border:1px solid #e0e6ed;
  border-radius:16px;
  background:linear-gradient(180deg,#fff 0%,#fafbfc 100%);
}
.year-group + .year-group{
  margin-top:14px;
}
.year-group h3{
  margin:0 0 10px;
  color:#25384f;
  font-size:1.05rem;
}
.year-subtitle{
  margin:12px 0 6px;
  color:#466286;
  font-weight:800;
  font-size:.94rem;
}
.year-group ul{
  margin:0;
  padding-left:20px;
  color:#516174;
}
.year-group li{
  margin:5px 0;
}
@media (max-width: 900px){
  .research-photo-grid-4{
    grid-template-columns:1fr;
  }
}

/* v23 refinements */
.hero-content{
  max-width:1100px;
}
.hero-content p{
  max-width:1120px;
}
.hero-content p .hero-line{
  display:block;
  margin-bottom:.16em;
}
.hero-content p .hero-line:last-child{
  margin-bottom:0;
}
.link-year-group{
  padding:18px 20px;
  border:1px solid #e0e6ed;
  border-radius:16px;
  background:linear-gradient(180deg,#fff 0%,#fafbfc 100%);
}
.link-year-group + .link-year-group{
  margin-top:14px;
}
.link-year-group h3{
  margin:0 0 10px;
  color:#25384f;
  font-size:1.05rem;
}
.link-year-group ul{
  margin:0;
  padding-left:20px;
  color:#516174;
}
.link-year-group li{
  margin:7px 0;
}
.link-year-group a{
  color:#2d5ea9;
  font-weight:700;
}
.profile-year-group{
  padding:18px 20px;
  border:1px solid #e0e6ed;
  border-radius:16px;
  background:linear-gradient(180deg,#fff 0%,#fafbfc 100%);
}
.profile-year-group + .profile-year-group{
  margin-top:14px;
}
.profile-year-group h3{
  margin:0 0 10px;
  color:#25384f;
  font-size:1.05rem;
}
.profile-year-group ul{
  margin:0;
  padding-left:20px;
  color:#516174;
}
.profile-year-group li{
  margin:6px 0;
}

/* v24 links/admissions/presentations */
.link-list-card{
  padding:22px 24px;
  border:1px solid #e0e6ed;
  border-radius:18px;
  background:linear-gradient(180deg,#fff 0%,#fafbfc 100%);
}
.link-list-card + .link-list-card{margin-top:14px;}
.link-list-card h3{
  margin:0 0 12px;
  color:#24354a;
  font-size:1.06rem;
}
.link-list-card ul{
  margin:0;
  padding-left:20px;
  color:#516174;
}
.link-list-card li{
  margin:8px 0;
}
.link-list-card a{
  color:#2d5ea9;
  font-weight:700;
}
.talk-list{
  display:grid;
  gap:12px;
}
.talk-item{
  padding:16px 18px;
  border:1px solid #e0e6ed;
  border-radius:16px;
  background:linear-gradient(180deg,#fff 0%,#fafbfc 100%);
}
.talk-item .speaker{
  font-weight:800;
  color:#24354a;
}
.talk-item .title{
  display:block;
  margin-top:3px;
  color:#24354a;
  font-weight:700;
}
.talk-item .meta{
  margin-top:4px;
  color:#607082;
}

/* v26 */
.collapsible-group{
  padding:0;
  border:1px solid #e0e6ed;
  border-radius:16px;
  background:linear-gradient(180deg,#fff 0%,#fafbfc 100%);
  overflow:hidden;
}
.collapsible-group + .collapsible-group{margin-top:14px;}
.collapsible-toggle{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:16px 18px;
  border:0;
  background:transparent;
  font:inherit;
  color:#24354a;
  font-weight:800;
  cursor:pointer;
  text-align:left;
}
.collapsible-toggle .meta{
  color:#607082;
  font-weight:600;
  font-size:.92rem;
}
.collapsible-toggle .caret{
  color:#4f6481;
  transition:transform .2s ease;
}
.collapsible-group.closed .collapsible-toggle .caret{
  transform:rotate(-90deg);
}
.collapsible-content{
  padding:0 18px 18px;
}
.collapsible-group.closed .collapsible-content{
  display:none;
}

.talk-list-compact{
  display:grid;
  gap:8px;
}
.talk-compact{
  padding:10px 0;
  border-top:1px solid #e4e8ee;
}
.talk-compact:first-child{
  border-top:none;
}
.talk-compact .date{
  font-size:.86rem;
  font-weight:800;
  color:#4a6487;
}
.talk-compact .title a{
  color:#24354a;
  font-weight:700;
}
.talk-compact .title a:hover{
  color:#2d5ea9;
}
.talk-compact .meta{
  color:#607082;
  font-size:.95rem;
}

/* v32 mobile refinements */
@media (max-width: 820px){
  .brand-row{align-items:flex-start;gap:10px;padding:10px 0;}
  .brand-link{align-items:flex-start;gap:10px;}
  .brand-link img.logo{height:28px;margin-top:2px;}
  .brand-sub{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.35;}
  .page-hero .card,.content-card{padding:18px 18px 16px;}
  .content-card p,.content-card li{font-size:.95rem;}
  .small-links{gap:8px;}
  .small-links a{width:100%;justify-content:center;}
  .member-table thead{display:none;}
  .member-table tbody,.member-table tr,.member-table td{display:block;width:100%;}
  .member-table tbody tr{border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-top:12px;background:#fff;}
  .member-table tbody td{border-bottom:1px solid var(--line);padding:10px 14px;background:transparent !important;}
  .member-table tbody td:last-child{border-bottom:none;}
  .member-table tbody td::before{content:attr(data-label);display:block;margin-bottom:2px;font-size:.78rem;font-weight:800;color:var(--accent);letter-spacing:.03em;}
  .member-table .name{font-size:1rem;}
}
@media (max-width: 560px){
  .hero-slide{min-height:460px;}
  .hero-content{padding:26px 18px 48px;}
  .hero-content h1{font-size:1.95rem;line-height:1.12;}
  .hero-content p{font-size:.92rem;line-height:1.6;}
  .page-hero h1{font-size:1.9rem;}
  .map-wrap iframe{min-height:260px;}
}

/* final refresh */
.social-icons{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:10px;
}
.social-icons a{
  width:42px;
  height:42px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--accent-soft);
  color:var(--accent);
  border:1px solid var(--line);
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.02em;
  box-shadow:var(--shadow);
}
.social-icons a:hover{
  background:#fff;
  transform:translateY(-1px);
}
.profile-note{
  color:var(--muted);
  margin-top:8px;
}
@media (max-width:820px){
  .social-icons a{
    width:38px;height:38px;font-size:.76rem;
  }
}

.social-icons a svg{
  width:20px;
  height:20px;
  display:block;
  fill:currentColor;
}

.member-name-cell{
  display:flex;
  align-items:center;
  gap:12px;
}
.member-avatar{
  width:88px;
  height:88px;
  border-radius:999px;
  flex:0 0 88px;
  object-fit:cover;
  border:1px solid var(--line);
  background:linear-gradient(180deg,#f3f6fb 0%, #e8eef7 100%);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--muted);
  font-size:.72rem;
  font-weight:700;
}
@media (max-width:820px){
  .member-name-cell{
    gap:10px;
  }
  .member-avatar{
    width:72px;
    height:72px;
    flex-basis:72px;
    font-size:.68rem;
  }
}

.profile-photo-card img{
  width:100%;
  display:block;
  border-radius:18px;
  border:1px solid var(--line);
  box-shadow:var(--shadow);
}

.profile-photo-card{
  overflow:hidden;
}
.profile-photo-card img{
  max-width:340px;
  margin:0 auto;
}
@media (max-width:820px){
  .profile-photo-card img{
    max-width:260px;
  }
}

.context-link{color:#294f8a;font-weight:600;text-decoration:underline;text-underline-offset:2px;}
.context-link:hover{color:#16345f;}
