/* =========================================================
   NAIRL — Scientific Frontier detail + Research Archive pages
   Ported from the design system (frontier.css + research.css).
   Header/footer chrome and resets come from main.css/nav.css;
   font sizes route through the global --fs-scale knob.
   ========================================================= */

/* Scientific Frontiers sub-pages run 10% smaller than the body scale — the
   same 0.9 factor as the header/footer chrome. This makes the sub-nav (2nd-level
   menu) match the top menu's font size, and shrinks the rest of the page in
   proportion. Tracks --fs-base automatically. */
.subnav,
.fhero,
.pubs,
.focus,
.filters,
.org-section,
.band,
.people,
.partners-sec,
.roster,
.overseas,
.inst-sec,
.media-sec,
.ev-sec,
.sem-sec,
.nl-sec,
.vision,
.mission,
.leader,
.dir-sec,
.exec,
.team-sec,
.fac-sec,
.contact-sec,
.search-sec { --fs-scale: calc(var(--fs-base) * 0.9); }

/* ---- Frontier sub-nav (sticks below the top bar) ---- */
.subnav{position:sticky;top:57px;z-index:30;border-bottom:1px solid var(--border);background:var(--navy-050)}
.subnav-inner{max-width:var(--container);margin:0 auto;padding:0 var(--gutter);display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.subnav a.tab{font-size:calc(13px * var(--fs-scale));font-weight:600;color:var(--fg-muted);padding:8.4px 16px;border-bottom:2px solid transparent;transition:color 120ms,border-color 120ms;margin-bottom:-1px}
.subnav a.tab:hover{color:var(--navy-900)}
.subnav a.tab.active{color:var(--navy-900);border-bottom-color:var(--accent-500)}

/* ---- Hero / header ---- */
.fhero{max-width:var(--container);margin:0 auto;padding:72px var(--gutter) 12px}
.fhero .eyebrow{font-size:calc(12px * var(--fs-scale));letter-spacing:.18em;text-transform:uppercase;color:var(--accent-500);font-weight:700;margin:0 0 18px}
.fhero .eyebrow::after{content:"";display:block;width:44px;height:2px;background:var(--accent-500);margin-top:10px}
.fhero h1{font-family:var(--font-display);font-weight:400;font-size:calc(clamp(38px,5vw,64px) * var(--fs-scale));line-height:1.06;letter-spacing:-.02em;color:var(--navy-900);margin:0;text-wrap:balance;max-width:none}
.fhero-grid{display:grid;grid-template-columns:30fr 70fr;gap:20px;align-items:center;margin-top:40px}
.fhero-grid>*{margin:0}
.fhero-lede{margin-top:38px;max-width:820px}
.fhero-lede p{font-family:var(--font-body);font-size:calc(18px * var(--fs-scale));line-height:1.62;color:var(--fg-muted);margin:0 0 26px}
.fhero-grid p{font-family:var(--font-body);font-size:calc(18px * var(--fs-scale));line-height:1.62;color:var(--fg-muted);margin:0 0 28px}
.fhero .figure{position:relative;align-self:start;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border);box-shadow:var(--shadow-md);min-height:300px;display:flex;flex-direction:column;justify-content:flex-end;background:repeating-linear-gradient(135deg,var(--gray-050),var(--gray-050) 12px,var(--gray-100) 12px,var(--gray-100) 24px);margin:0}
.fhero .figure img{display:block;width:100%;height:auto}
.fhero .figure figcaption{font-size:calc(12px * var(--fs-scale));color:var(--fg-subtle);padding:11px 14px;letter-spacing:.02em;background:var(--gray-050);border-top:1px solid var(--border)}
.fhero .figure.has-img{background:var(--white);min-height:0;justify-content:flex-start}

/* hero CTA (arrow); base color/padding inherited from main.css .btn.primary */
.fhero .btn{display:inline-flex;align-items:center;gap:8px}
.btn .arr{transition:transform 150ms}
.btn:hover .arr{transform:translateX(3px)}

/* ---- Publications ---- */
.pubs{max-width:var(--container);margin:0 auto;padding:80px var(--gutter) 96px}
.pubs-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:32px;gap:24px}
.pubs-head h2{font-family:var(--font-display);font-weight:500;font-size:calc(34px * var(--fs-scale));letter-spacing:-.02em;color:var(--navy-900);margin:0}
.pubs-head .count{font-size:calc(13px * var(--fs-scale));color:var(--fg-subtle);font-weight:600}
.pub-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.pub-grid>*{margin:0}
.pub{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-sm);padding:26px 28px;display:flex;flex-direction:column;gap:14px;transition:all 200ms var(--ease-standard)}
.pub:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);border-color:var(--navy-200)}
.pub .tag{align-self:flex-start;font-size:calc(11px * var(--fs-scale));font-weight:600;letter-spacing:.04em;color:var(--accent-600);background:var(--accent-100);border-radius:var(--radius-pill);padding:5px 12px}
.pub h3{font-family:var(--font-display);font-weight:500;font-size:calc(20px * var(--fs-scale));line-height:1.28;letter-spacing:-.01em;color:var(--navy-900);margin:0;transition:color 150ms}
.pub:hover h3{color:var(--accent-600)}
.pub .meta{font-family:var(--font-body);font-size:calc(13px * var(--fs-scale));line-height:1.6;color:var(--fg-muted);margin-top:auto}
.pub .meta b{color:var(--navy-800);font-weight:600}
.pubs-foot{margin-top:36px;display:flex;justify-content:center}
.pubs-foot .more-btn{font-size:calc(14px * var(--fs-scale));font-weight:600;color:var(--navy-800);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:12px 28px;transition:all 150ms}
.pubs-foot .more-btn:hover{background:var(--navy-050);border-color:var(--navy-300)}

/* ---- Site search results ---- */
.search-sec{max-width:var(--container);margin:0 auto;padding:8px var(--gutter) 96px}
.search-results{display:flex;flex-direction:column;gap:14px}
.search-results .sresult{display:block;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);padding:22px 26px;transition:box-shadow 200ms var(--ease-standard),transform 200ms var(--ease-standard),border-color 200ms}
.search-results .sresult:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);border-color:var(--navy-200)}
.search-results .sresult .stype{display:inline-block;font-family:var(--font-body);font-size:calc(11px * var(--fs-scale));font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-600);background:var(--accent-100);border-radius:var(--radius-pill);padding:4px 11px;margin-bottom:10px}
.search-results .sresult h3{font-family:var(--font-display);font-weight:500;font-size:calc(20px * var(--fs-scale));line-height:1.3;letter-spacing:-.01em;color:var(--navy-900);margin:0;transition:color 150ms}
.search-results .sresult:hover h3{color:var(--accent-600)}
.search-results .sresult .sline{font-family:var(--font-body);font-size:calc(13.5px * var(--fs-scale));line-height:1.55;color:var(--fg-muted);margin:8px 0 0}
.search-empty{font-family:var(--font-body);font-size:calc(16px * var(--fs-scale));line-height:1.6;color:var(--fg-muted);max-width:60ch}

/* ---- Back link (design-consistent arrow link, e.g. Publications → Research Archive) ---- */
.back-link{display:inline-flex;align-items:center;gap:8px;margin-top:6px;font-family:var(--font-body);font-size:calc(14px * var(--fs-scale));font-weight:600;color:var(--navy-800);text-decoration:none}
.back-link:hover{color:var(--accent-600)}
.back-link .arr{transition:transform 150ms var(--ease-standard)}
.back-link:hover .arr{transform:translateX(-3px)}

/* ---- Publications full-archive pagination ---- */
.pubs-pagination{margin-top:40px;display:flex;justify-content:center}
.pubs-pagination ul{list-style:none;display:flex;flex-wrap:wrap;gap:6px;padding:0;margin:0;border:0;background:none}
.pubs-pagination li{margin:0}
.pubs-pagination li .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 13px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:calc(14px * var(--fs-scale));font-weight:600;color:var(--navy-800);text-decoration:none;background:var(--white);transition:all 150ms}
.pubs-pagination li a.page-numbers:hover{background:var(--navy-050);border-color:var(--navy-300)}
.pubs-pagination li .page-numbers.current{background:var(--navy-900);color:#fff;border-color:var(--navy-900)}
.pubs-pagination li .page-numbers.dots{border:none;background:none;color:var(--fg-subtle)}

/* ---- Research Focus (archive) ---- */
.focus{max-width:var(--container);margin:0 auto;padding:64px var(--gutter) 8px}
.focus-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px}
.focus-head h2{font-family:var(--font-display);font-weight:500;font-size:calc(34px * var(--fs-scale));letter-spacing:-.02em;color:var(--navy-900);margin:0}
.focus-head .sub{font-size:calc(13px * var(--fs-scale));color:var(--fg-subtle);font-weight:600;max-width:360px;text-align:right;line-height:1.5}
/* Korean research archive: keep the focus sub-title on a single line (desktop/tablet). */
.nairl-ko .focus-head .sub{max-width:none}
@media (min-width:881px){ .nairl-ko .focus-head .sub{white-space:nowrap} }
.focus-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.focus-grid>*{margin:0}
.fcard{position:relative;display:flex;flex-direction:column;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);padding:30px 30px 26px;overflow:hidden;transition:box-shadow 200ms var(--ease-standard),transform 200ms var(--ease-standard),border-color 200ms}
.fcard:hover{box-shadow:var(--shadow-md);transform:translateY(-3px);border-color:var(--navy-200)}
.fcard .idx{font-family:var(--font-body);font-size:calc(12px * var(--fs-scale));font-weight:700;letter-spacing:.14em;color:var(--accent-600);margin-bottom:18px}
.fcard h3{font-family:var(--font-display);font-weight:500;font-size:calc(21px * var(--fs-scale));line-height:1.24;letter-spacing:-.01em;color:var(--navy-900);margin:0 0 14px;transition:color 150ms}
.fcard:hover h3{color:var(--accent-600)}
.fcard p{font-family:var(--font-body);font-size:calc(14px * var(--fs-scale));line-height:1.6;color:var(--fg-muted);margin:0 0 22px}
.fcard .go{margin-top:auto;font-family:var(--font-body);font-size:calc(13px * var(--fs-scale));font-weight:600;color:var(--navy-800);display:inline-flex;align-items:center;gap:7px}
.fcard .go .arr{transition:transform 150ms var(--ease-standard)}
.fcard:hover .go .arr{transform:translateX(4px)}
.fcard .rule{position:absolute;left:0;top:0;height:3px;width:0;background:var(--accent-500);transition:width 260ms var(--ease-standard)}
.fcard:hover .rule{width:100%}

/* ---- Publications filter bar ---- */
.filters{max-width:var(--container);margin:0 auto;padding:0 var(--gutter)}
.filters-row{display:flex;flex-wrap:wrap;gap:10px;padding-bottom:30px;border-bottom:1px solid var(--border)}
.chip{font-family:var(--font-body);font-size:calc(13px * var(--fs-scale));font-weight:600;color:var(--fg-muted);background:var(--white);border:1px solid var(--border-strong);border-radius:var(--radius-pill);padding:9px 18px;cursor:pointer;transition:all 150ms var(--ease-standard);display:inline-flex;align-items:center;gap:8px}
.chip:hover{border-color:var(--navy-300);color:var(--navy-900)}
a.chip{text-decoration:none}
.chip.active{background:var(--navy-800);border-color:var(--navy-800);color:#fff}
.chip .n{font-size:calc(11px * var(--fs-scale));font-weight:700;opacity:.65}
.chip.active .n{opacity:.8}
.pubs.archive{padding-top:36px}
.pub[hidden]{display:none}
.pubs-empty{display:none;font-family:var(--font-body);font-size:calc(15px * var(--fs-scale));color:var(--fg-subtle);padding:40px 0;text-align:center}

@media (max-width:880px){
  .fhero-grid,.pub-grid{grid-template-columns:1fr;gap:28px}
  .focus-grid{grid-template-columns:1fr}
  .focus-head{flex-direction:column;align-items:flex-start;gap:10px}
  .focus-head .sub{text-align:left}
  .subnav-inner{overflow-x:auto;overflow-y:hidden;flex-wrap:nowrap}
}

/* =========================================================
   Governance pages — Organization & Structure, Strategic Advisors
   (reuse .subnav / .fhero / .fhero-lede above)
   ========================================================= */

/* ---- Org chart ---- */
.org-section{max-width:var(--container);margin:0 auto;padding:24px var(--gutter) 8px}
.org-chart{display:flex;flex-direction:column;align-items:center;gap:0}
.tier{width:100%;display:flex;flex-direction:column;align-items:center}
.tier-label{font-size:calc(11px * var(--fs-scale));font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-600);margin-bottom:16px}
.tier-row{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;width:100%}
.stem{width:2px;height:30px;background:var(--border-strong)}
.node{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-sm);padding:18px 22px;text-align:center;min-width:170px;transition:box-shadow 180ms var(--ease-standard),transform 180ms var(--ease-standard),border-color 180ms}
.node-role{font-size:calc(11px * var(--fs-scale));font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-subtle);margin-bottom:6px}
.node-name{font-family:var(--font-display);font-weight:500;font-size:calc(19px * var(--fs-scale));color:var(--navy-900);line-height:1.2}
.node-sub{font-size:calc(13px * var(--fs-scale));color:var(--fg-muted);margin-top:5px;line-height:1.4}
.node.muted{background:var(--gray-050);border-style:dashed;min-width:0;padding:12px 20px}
.node.muted .node-name{font-size:calc(15px * var(--fs-scale));font-weight:500}
.node.advisory{border-style:dashed;align-self:center}
.node.uni{min-width:0;flex:1 1 0}
.node .badge{display:inline-block;font-size:calc(10px * var(--fs-scale));font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#fff;background:var(--navy-800);border-radius:var(--radius-pill);padding:3px 10px;margin-bottom:10px}
.node .badge.alt{background:var(--accent-500)}
.tier-row.four,.tier-row.three{max-width:880px}
a.node.thrust{display:block;text-decoration:none;text-align:left;flex:1 1 0}
a.node.thrust .node-role{color:var(--accent-600)}
a.node.thrust .node-name{font-size:calc(17px * var(--fs-scale));margin-bottom:8px}
a.node.thrust .lead-pi{font-size:calc(13px * var(--fs-scale));color:var(--fg-muted);margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}
a.node.thrust .lead-pi b{color:var(--navy-800);font-weight:600}
a.node.thrust:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);border-color:var(--navy-200)}
a.node.thrust .go{font-size:calc(12px * var(--fs-scale));font-weight:600;color:var(--accent-600);margin-top:10px;display:inline-flex;gap:5px}

/* ---- Generic band (operating model / infrastructure) ---- */
.band{padding:72px var(--gutter)}
.band.tint{background:var(--gray-050);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.band-inner{max-width:var(--container);margin:0 auto}
.band-inner .eyebrow{font-size:calc(12px * var(--fs-scale));letter-spacing:.16em;text-transform:uppercase;color:var(--accent-600);font-weight:600;margin:0 0 10px}
.band-inner .eyebrow::after{content:"";display:block;width:44px;height:2px;background:var(--accent-500);margin-top:10px}
.band h2{font-family:var(--font-display);font-weight:500;font-size:calc(30px * var(--fs-scale));letter-spacing:-.02em;color:var(--navy-900);margin:0 0 12px}
.band-lead{font-family:var(--font-body);font-size:calc(16px * var(--fs-scale));line-height:1.6;color:var(--fg-muted);margin:0 0 36px;max-width:64ch}
/* Korean band-leads are short enough to sit on one line — don't cap them. */
.nairl-ko .band-lead{max-width:none}
.model-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.model-grid>*{margin:0}
.model-card{display:block;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-sm);padding:24px;text-decoration:none;transition:box-shadow 180ms,transform 180ms,border-color 180ms}
.model-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);border-color:var(--navy-200)}
.model-card .role{font-size:calc(11px * var(--fs-scale));font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-600);margin-bottom:12px}
.model-card h3{font-family:var(--font-display);font-weight:500;font-size:calc(19px * var(--fs-scale));color:var(--navy-900);margin:0 0 8px;line-height:1.25}
.model-card p{font-family:var(--font-body);font-size:calc(13.5px * var(--fs-scale));line-height:1.55;color:var(--fg-muted);margin:0 0 14px}
.model-card .go{font-size:calc(12px * var(--fs-scale));font-weight:600;color:var(--navy-700);display:inline-flex;gap:5px}
.model-card:hover .go{color:var(--accent-600)}
.infra-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.infra-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-sm);padding:28px 30px}
.infra-card .ico.logo{width:auto;height:44px;background:none;border-radius:0;display:flex;align-items:center;justify-content:flex-start;margin-bottom:18px}
.infra-card .ico.logo img{height:44px;width:auto;max-width:220px;object-fit:contain;object-position:left center}
.infra-card h3{font-family:var(--font-display);font-weight:500;font-size:calc(20px * var(--fs-scale));color:var(--navy-900);margin:0 0 6px}
.infra-card .where{font-size:calc(13px * var(--fs-scale));color:var(--fg-muted);line-height:1.5;margin:0 0 14px}
.infra-card .tags{display:flex;flex-wrap:wrap;gap:8px}
.infra-card .tag{font-size:calc(12px * var(--fs-scale));font-weight:500;color:var(--navy-800);background:var(--gray-050);border:1px solid var(--border);border-radius:var(--radius-pill);padding:5px 12px}
.infra-card .map{margin-top:18px;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--border)}
.infra-card .map iframe{display:block;width:100%;height:220px;border:0}
.infra-card .map img.facility-photo{display:block;width:100%;height:220px;object-fit:cover}

/* ---- People grid (Strategic Advisors) ---- */
.people{padding:8px var(--gutter) 88px}
.people-inner{max-width:var(--container);margin:0 auto}
.people-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.people-grid>*{margin:0}
.person{display:flex;flex-direction:column}
.person .portrait{aspect-ratio:4/5;border-radius:var(--radius-sm);overflow:hidden;background:var(--navy-050);margin-bottom:16px}
.person .portrait img{width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform 320ms var(--ease-standard)}
.person:hover .portrait img{transform:scale(1.04)}
.person h3{font-family:var(--font-display);font-weight:500;font-size:calc(20px * var(--fs-scale));letter-spacing:-.01em;color:var(--navy-900);margin:0 0 5px;line-height:1.15}
.person .role{font-family:var(--font-body);font-size:calc(14px * var(--fs-scale));line-height:1.45;color:var(--fg-muted);margin:0}

@media (max-width:980px){ .people-grid{grid-template-columns:repeat(3,1fr)} }
@media (max-width:880px){
  .model-grid{grid-template-columns:1fr 1fr}
  .infra-grid{grid-template-columns:1fr}
  .tier-row.four,.tier-row.three{flex-direction:column;align-items:stretch}
  .node{min-width:0}
}
@media (max-width:720px){ .people-grid{grid-template-columns:repeat(2,1fr);gap:22px} }
@media (max-width:560px){ .model-grid{grid-template-columns:1fr} }

/* =========================================================
   Ecosystem pages — Academic / Industry / Public / Global
   (reuse .subnav / .fhero / .fhero-lede). Partner card uses
   .partner-card (NOT .pcard — that's the homepage pillar).
   ========================================================= */

/* ---- Partner cards (Industry / Public / Global) ---- */
.partners-sec{padding:8px var(--gutter) 88px}
.partners-sec-inner{max-width:var(--container);margin:0 auto}
.partner-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.partner-grid>*{margin:0}
.partner-card{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);padding:30px 30px 26px;transition:box-shadow 200ms var(--ease-standard),transform 200ms var(--ease-standard),border-color 200ms}
.partner-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px);border-color:var(--navy-200)}
.partner-card .logo-wrap{height:56px;display:flex;align-items:center;margin-bottom:22px}
.partner-card .logo-wrap img{max-height:48px;max-width:180px;width:auto;object-fit:contain;object-position:left center;mix-blend-mode:multiply}
.partner-card h3{font-family:var(--font-display);font-weight:500;font-size:calc(21px * var(--fs-scale));letter-spacing:-.01em;color:var(--navy-900);margin:0 0 10px;line-height:1.2}
.partner-card p{font-family:var(--font-body);font-size:calc(14px * var(--fs-scale));line-height:1.6;color:var(--fg-muted);margin:0 0 20px}
.partner-card .visit{margin-top:auto;font-family:var(--font-body);font-size:calc(13px * var(--fs-scale));font-weight:600;color:var(--navy-700);text-decoration:none;display:inline-block;transition:color 160ms}
.partner-card .visit:hover{color:var(--accent-600)}
.partners-sec.cols-2 .partner-grid{grid-template-columns:repeat(2,1fr);max-width:900px;margin:0 auto}

/* ---- Global page: section headers + institutional band ---- */
.gsec-head{max-width:var(--container);margin:0 auto 24px}
.gsec-head .eyebrow{font-size:calc(12px * var(--fs-scale));letter-spacing:.16em;text-transform:uppercase;color:var(--accent-600);font-weight:600;margin:0 0 8px}
.gsec-head .eyebrow::after{content:"";display:block;width:44px;height:2px;background:var(--accent-500);margin-top:10px}
.gsec-head h2{font-family:var(--font-display);font-weight:500;font-size:calc(28px * var(--fs-scale));letter-spacing:-.02em;color:var(--navy-900);margin:0}
.gsec-head p{font-family:var(--font-body);font-size:calc(15px * var(--fs-scale));line-height:1.6;color:var(--fg-muted);margin:8px 0 0;max-width:64ch}
.inst-sec{background:var(--gray-050);border-top:1px solid var(--border);padding:64px var(--gutter) 88px}
.inst-sec .partner-grid{grid-template-columns:repeat(3,1fr);max-width:var(--container);margin:0 auto}

/* ---- Academic roster ---- */
.roster{padding:8px var(--gutter) 40px}
.roster-inner{max-width:var(--container);margin:0 auto}
.uni-group{padding:40px 0}
.uni-group + .uni-group{border-top:1px solid var(--border)}
.uni-logo{height:46px;width:auto;max-width:300px;object-fit:contain;object-position:left center;display:block;margin-bottom:32px}
.roster-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:24px 20px}
.roster-grid>*{margin:0}
.rperson{display:flex;flex-direction:column}
.rperson .portrait{aspect-ratio:4/5;border-radius:var(--radius-sm);overflow:hidden;background:var(--navy-050);margin-bottom:12px;position:relative}
.rperson .portrait img{width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform 320ms var(--ease-standard)}
.rperson:hover .portrait img{transform:scale(1.04)}
.rperson .pi{position:absolute;top:8px;left:8px;font-size:calc(10px * var(--fs-scale));font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#fff;background:var(--accent-500);border-radius:var(--radius-pill);padding:3px 9px}
.rperson h3{font-family:var(--font-display);font-weight:500;font-size:calc(16px * var(--fs-scale));letter-spacing:-.01em;color:var(--navy-900);margin:0 0 3px;line-height:1.2}
.rperson .role{font-family:var(--font-body);font-size:calc(12.5px * var(--fs-scale));line-height:1.35;color:var(--fg-muted);margin:0}
.overseas{background:var(--gray-050);border-top:1px solid var(--border);padding:64px var(--gutter) 88px}
.overseas-inner{max-width:var(--container);margin:0 auto}
.overseas .eyebrow{font-size:calc(12px * var(--fs-scale));letter-spacing:.16em;text-transform:uppercase;color:var(--accent-600);font-weight:600;margin:0 0 8px}
.overseas .eyebrow::after{content:"";display:block;width:44px;height:2px;background:var(--accent-500);margin-top:10px}
.overseas h2{font-family:var(--font-display);font-weight:500;font-size:calc(28px * var(--fs-scale));letter-spacing:-.02em;color:var(--navy-900);margin:0 0 32px}
.overseas .rperson .role{color:var(--accent-700);font-weight:500}

@media (max-width:920px){.partner-grid,.inst-sec .partner-grid,.partners-sec.cols-2 .partner-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:900px){.roster-grid{grid-template-columns:repeat(4,1fr)}}
@media (max-width:680px){.roster-grid{grid-template-columns:repeat(3,1fr);gap:20px 16px}}
@media (max-width:600px){.partner-grid,.inst-sec .partner-grid,.partners-sec.cols-2 .partner-grid{grid-template-columns:1fr}}
@media (max-width:440px){.roster-grid{grid-template-columns:repeat(2,1fr)}}

/* =========================================================
   Knowledge Hub pages — Media / Symposium / Seminars / Newsletter
   (reuse .subnav / .fhero / .fhero-lede)
   ========================================================= */

/* ---- Media: featured + filter pills + news grid ---- */
.media-sec{padding:8px var(--gutter) 96px}
.media-inner{max-width:var(--container);margin:0 auto}
.media-filters{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 40px}
.media-filters button{font-family:var(--font-body);font-size:calc(13px * var(--fs-scale));font-weight:600;letter-spacing:.01em;color:var(--fg-muted);background:var(--white);border:1px solid var(--border);border-radius:var(--radius-pill);padding:9px 18px;cursor:pointer;transition:color 150ms,background 150ms,border-color 150ms}
.media-filters button:hover{border-color:var(--navy-200);color:var(--navy-800)}
.media-filters button.active{background:var(--navy-900);border-color:var(--navy-900);color:#fff}
.feature{display:grid;grid-template-columns:1.25fr 1fr;gap:0;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;margin-bottom:48px;background:var(--white)}
.feature .ph{min-height:340px;background:var(--navy-900) center/cover no-repeat;position:relative;display:flex;align-items:flex-end;padding:30px}
.feature .ph.tile{background:linear-gradient(150deg,var(--navy-800),var(--navy-900))}
.feature .ph .glyph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:500;font-size:120px;color:rgba(255,255,255,.07);letter-spacing:-.03em;pointer-events:none}
.feature .body{padding:44px 46px;display:flex;flex-direction:column;justify-content:center}
.feature .meta,.mcard .meta{display:flex;gap:10px;align-items:center;font-size:calc(11px * var(--fs-scale));letter-spacing:.12em;text-transform:uppercase;color:var(--fg-subtle);font-weight:600}
.feature .meta b,.mcard .meta b{color:var(--accent-500)}
.feature h2{font-family:var(--font-display);font-weight:500;font-size:calc(32px * var(--fs-scale));line-height:1.18;letter-spacing:-.02em;color:var(--navy-900);margin:14px 0 14px}
.feature p{font-family:var(--font-body);font-size:calc(15px * var(--fs-scale));line-height:1.65;color:var(--fg-muted);margin:0 0 22px;max-width:52ch}
.feature .read,.mcard .read{margin-top:auto;font-family:var(--font-body);font-size:calc(13px * var(--fs-scale));font-weight:600;color:var(--navy-700);text-decoration:none;display:inline-block;transition:color 160ms}
.feature .read:hover,.mcard .read:hover{color:var(--accent-600)}
.mgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.mgrid>*{margin:0}
.mcard{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;transition:box-shadow 200ms var(--ease-standard),transform 200ms var(--ease-standard),border-color 200ms}
.mcard:hover{box-shadow:var(--shadow-md);transform:translateY(-3px);border-color:var(--navy-200)}
.mcard .ph{aspect-ratio:1/1;background:var(--gray-100) center/cover no-repeat;position:relative;overflow:hidden}
.mcard .ph.tile{display:flex;align-items:center;justify-content:center}
.mcard .ph.tile span{font-family:var(--font-display);font-weight:500;font-size:calc(30px * var(--fs-scale));color:rgba(255,255,255,.16);letter-spacing:-.02em;text-align:center;padding:0 18px;line-height:1.1}
.mcard .ph.navy{background:linear-gradient(150deg,var(--navy-800),var(--navy-900))}
.mcard .ph.slate{background:linear-gradient(150deg,var(--navy-700),var(--navy-900))}
.mcard .ph.accent{background:linear-gradient(150deg,#b5532f,#7d3217)}
.mcard .c{padding:22px 24px 26px;display:flex;flex-direction:column;flex:1}
.mcard .meta{margin-bottom:12px}
.mcard h3{font-family:var(--font-display);font-weight:500;font-size:calc(19px * var(--fs-scale));line-height:1.28;letter-spacing:-.01em;color:var(--navy-900);margin:0 0 18px}
.mcard.hide,.feature.hide{display:none}

/* ---- Symposium & Open Lab ---- */
.ev-sec{padding:8px var(--gutter) 40px}
.ev-sec.tint{background:var(--gray-050);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:72px var(--gutter)}
.ev-inner{max-width:var(--container);margin:0 auto}
.ev-eyebrow{font-size:calc(12px * var(--fs-scale));letter-spacing:.16em;text-transform:uppercase;color:var(--accent-600);font-weight:600;margin:0 0 10px}
.ev-eyebrow::after{content:"";display:block;width:44px;height:2px;background:var(--accent-500);margin-top:10px}
.ev-title{font-family:var(--font-display);font-weight:500;font-size:calc(34px * var(--fs-scale));line-height:1.15;letter-spacing:-.02em;color:var(--navy-900);margin:0 0 18px;max-width:20ch}
.ev-lead{font-family:var(--font-body);font-size:calc(16px * var(--fs-scale));line-height:1.65;color:var(--fg-muted);margin:0 0 24px;max-width:66ch}
.ev-meta{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 36px}
.ev-meta .chip{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-body);font-size:calc(13px * var(--fs-scale));font-weight:500;color:var(--navy-800);background:var(--white);border:1px solid var(--border);border-radius:var(--radius-pill);padding:8px 15px;cursor:default}
.ev-meta .chip svg{width:15px;height:15px;stroke:var(--accent-600);stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}
.ev-sec.tint .ev-meta .chip{background:var(--gray-050)}
.sub-h{font-family:var(--font-body);font-size:calc(12px * var(--fs-scale));font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-subtle);margin:0 0 18px}
.speakers{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:44px}
.spk{display:flex;gap:18px;align-items:flex-start;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);padding:22px 24px}
.spk .av{flex:0 0 auto;width:56px;height:56px;border-radius:50%;background:var(--navy-900);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:calc(20px * var(--fs-scale));font-weight:500;letter-spacing:.02em}
.spk h4{font-family:var(--font-display);font-weight:500;font-size:calc(19px * var(--fs-scale));color:var(--navy-900);margin:0 0 3px}
.spk .aff{font-size:calc(13px * var(--fs-scale));color:var(--fg-muted);margin:0 0 9px;line-height:1.4}
.spk .talk{font-size:calc(13.5px * var(--fs-scale));color:var(--navy-700);margin:0;line-height:1.45}
.spk .talk b{color:var(--accent-600);font-weight:600}
.sessions{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.sess{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);padding:26px 28px;position:relative}
.sess .no{font-family:var(--font-display);font-size:calc(14px * var(--fs-scale));font-weight:600;color:var(--accent-500);letter-spacing:.04em;margin-bottom:10px}
.sess h4{font-family:var(--font-display);font-weight:500;font-size:calc(21px * var(--fs-scale));line-height:1.25;color:var(--navy-900);margin:0 0 8px}
.sess p{font-family:var(--font-body);font-size:calc(14px * var(--fs-scale));line-height:1.6;color:var(--fg-muted);margin:0}
.agenda{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:8px}
.ag{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);padding:26px}
.ag .tnum{font-family:var(--font-body);font-size:calc(11px * var(--fs-scale));font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-600);margin-bottom:12px}
.ag h4{font-family:var(--font-display);font-weight:500;font-size:calc(19px * var(--fs-scale));line-height:1.25;color:var(--navy-900);margin:0 0 8px}
.ag p{font-family:var(--font-body);font-size:calc(13.5px * var(--fs-scale));line-height:1.6;color:var(--fg-muted);margin:0}
.ev-foot{font-family:var(--font-body);font-size:calc(14px * var(--fs-scale));color:var(--fg-muted);margin:30px 0 0}
.ev-foot a{color:var(--navy-700);font-weight:600;text-decoration:none}
.ev-foot a:hover{color:var(--accent-600)}

/* ---- Seminars: poster card grid ---- */
.sem-sec{padding:8px var(--gutter) 96px}
.sem-inner{max-width:var(--container);margin:0 auto}
.sem-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.sem-grid>*{margin:0}
.scard{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;text-decoration:none;transition:box-shadow 200ms var(--ease-standard),transform 200ms var(--ease-standard),border-color 200ms}
.scard:hover{box-shadow:var(--shadow-md);transform:translateY(-3px);border-color:var(--navy-200)}
.scard .poster{aspect-ratio:1/1;background:var(--navy-900) center/cover no-repeat;overflow:hidden}
.scard .poster img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 400ms var(--ease-standard)}
.scard:hover .poster img{transform:scale(1.03)}
.scard .c{padding:22px 24px 26px;display:flex;flex-direction:column;flex:1}
.scard .date{font-family:var(--font-body);font-size:calc(11px * var(--fs-scale));font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-600);margin-bottom:12px}
.scard h3{font-family:var(--font-display);font-weight:500;font-size:calc(18px * var(--fs-scale));line-height:1.3;letter-spacing:-.01em;color:var(--navy-900);margin:0 0 14px}
.scard .who{margin-top:auto;display:flex;flex-direction:column;gap:2px;padding-top:14px;border-top:1px solid var(--border)}
.scard .who .nm{font-family:var(--font-body);font-size:calc(14px * var(--fs-scale));font-weight:600;color:var(--navy-800)}
.scard .who .org{font-family:var(--font-body);font-size:calc(13px * var(--fs-scale));color:var(--fg-muted)}

/* ---- Newsletter: issue cards ---- */
.nl-sec{padding:8px var(--gutter) 40px}
.nl-inner{max-width:var(--container);margin:0 auto}
.nl-head{margin:0 0 30px}
.nl-head .eyebrow{font-size:calc(12px * var(--fs-scale));letter-spacing:.16em;text-transform:uppercase;color:var(--accent-600);font-weight:600;margin:0 0 10px}
.nl-head .eyebrow::after{content:"";display:block;width:44px;height:2px;background:var(--accent-500);margin-top:10px}
.nl-head h2{font-family:var(--font-display);font-weight:500;font-size:calc(30px * var(--fs-scale));letter-spacing:-.02em;color:var(--navy-900);margin:0 0 10px}
.nl-head p{font-family:var(--font-body);font-size:calc(15px * var(--fs-scale));line-height:1.6;color:var(--fg-muted);margin:0;max-width:62ch}
.issues{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.issues>*{margin:0}
.issue{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;transition:box-shadow 200ms var(--ease-standard),transform 200ms var(--ease-standard),border-color 200ms}
.issue:hover{box-shadow:var(--shadow-md);transform:translateY(-3px);border-color:var(--navy-200)}
.issue .cover{aspect-ratio:4/3;background:var(--gray-050);border-bottom:1px solid var(--border);overflow:hidden}
.issue .cover img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.issue .c{padding:24px 26px 26px;display:flex;flex-direction:column;flex:1}
.issue .vol{font-family:var(--font-display);font-weight:500;font-size:calc(21px * var(--fs-scale));color:var(--navy-900);margin:0 0 4px}
.issue .when{font-family:var(--font-body);font-size:calc(13px * var(--fs-scale));color:var(--fg-muted);margin:0 0 20px}
.issue .dl{margin-top:auto;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-body);font-size:calc(13px * var(--fs-scale));font-weight:600;color:#fff;background:var(--navy-900);border:1px solid var(--navy-900);border-radius:var(--radius-sm);padding:11px 18px;text-decoration:none;transition:background 160ms,border-color 160ms}
.issue .dl:hover{background:var(--navy-800);border-color:var(--navy-800)}
.issue .dl svg{width:15px;height:15px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.issue.latest{border-color:var(--navy-300)}
.issue .tagline{display:inline-block;align-self:flex-start;font-size:calc(10px * var(--fs-scale));font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:var(--accent-500);border-radius:var(--radius-pill);padding:3px 10px;margin-bottom:12px}

@media (max-width:920px){
  .feature{grid-template-columns:1fr}
  .feature .ph{min-height:220px}
  .mgrid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:880px){
  .speakers,.sessions{grid-template-columns:1fr}
  .agenda{grid-template-columns:1fr}
  .ev-title{font-size:calc(28px * var(--fs-scale))}
  .sem-grid{grid-template-columns:repeat(2,1fr);gap:24px}
  .issues{grid-template-columns:1fr;max-width:440px;margin:0 auto}
}
@media (max-width:600px){
  .mgrid{grid-template-columns:1fr}
  .feature .body{padding:30px}
}
@media (max-width:560px){.sem-grid{grid-template-columns:1fr}}

/* ---- Media / News single article ---- */
.news-article{--fs-scale:calc(var(--fs-base) * 0.9);max-width:var(--container);margin:0 auto;padding:56px var(--gutter) 88px}
.news-article-inner{max-width:780px;margin:0 auto}
.news-article .news-title{font-family:var(--font-display);font-weight:600;font-size:calc(40px * var(--fs-scale));line-height:1.12;letter-spacing:-.02em;color:var(--navy-900);margin:0 0 12px}
.news-article .news-date{font-size:calc(12px * var(--fs-scale));font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-subtle);margin:0 0 30px}
.news-body{font-family:var(--font-body);font-size:calc(17px * var(--fs-scale));line-height:1.75;color:var(--navy-900)}
.news-body p{margin:0 0 20px}
.news-body img{max-width:100%;height:auto;border-radius:var(--radius-sm);display:block;margin:24px auto}
.news-body figure{margin:24px 0}
.news-body figcaption{font-size:calc(13px * var(--fs-scale));color:var(--fg-subtle);margin-top:8px;line-height:1.5;text-align:center}
.news-body h2,.news-body h3,.news-body h4{font-family:var(--font-display);font-weight:600;color:var(--navy-900);margin:34px 0 12px;letter-spacing:-.01em;line-height:1.25}
.news-body h2{font-size:calc(26px * var(--fs-scale))}
.news-body h3{font-size:calc(21px * var(--fs-scale))}
.news-body ul,.news-body ol{margin:0 0 20px;padding-left:24px;line-height:1.7}
.news-body li{margin-bottom:8px}
.news-body a{color:var(--navy-600);text-decoration:underline;text-underline-offset:3px}
.news-body a:hover{color:var(--accent-600)}
.news-body blockquote{margin:24px 0;padding:8px 0 8px 22px;border-left:3px solid var(--accent-500);color:var(--fg-muted);font-style:italic}
.news-source{margin-top:40px;padding-top:22px;border-top:1px solid var(--border)}
.news-source a{font-size:calc(14px * var(--fs-scale));font-weight:600;color:var(--navy-700);text-decoration:none}
.news-source a:hover{color:var(--accent-600)}

/* Seminar single — poster hero (uses .news-article container) */
.seminar-poster{margin:0 0 30px}
.seminar-poster img{display:block;width:100%;max-width:420px;border-radius:var(--radius-md);border:1px solid var(--border)}

/* Seminar event-info list (일자 / 시간 / 장소) on the Korean single page. */
.news-body .sem-meta{list-style:none;margin:14px 0 0;padding:18px 22px;background:#f6f8fa;border:1px solid var(--border);border-radius:var(--radius-md)}
.news-body .sem-meta li{margin:0 0 9px;padding:0;display:flex;gap:12px;line-height:1.6}
.news-body .sem-meta li:last-child{margin-bottom:0}
.news-body .sem-meta strong{flex:0 0 68px;color:var(--fg-muted);font-weight:600}

/* =========================================================
   About › Mission & Vision (overview)
   Vision band + mission pillars + director's message.
   ========================================================= */
.vision{background:var(--navy-900);color:#fff;padding:calc(84px * var(--fs-scale)) var(--gutter)}
.vision-inner{max-width:var(--container);margin:0 auto;position:relative}
.vision .eyebrow{font-size:calc(12px * var(--fs-scale));letter-spacing:.18em;text-transform:uppercase;color:var(--accent-300);font-weight:600;margin:0 0 18px}
.vision .eyebrow::after{content:"";display:block;width:44px;height:2px;background:var(--accent-400);margin-top:10px}
.vision h2{font-family:var(--font-display);font-weight:500;font-size:calc(clamp(30px,4vw,46px) * var(--fs-scale));line-height:1.15;letter-spacing:-.025em;color:#fff;margin:0;max-width:none}
.vision p{font-family:var(--font-body);font-size:calc(18px * var(--fs-scale));line-height:1.6;color:var(--navy-200);margin:24px 0 0;max-width:none}

.mission{padding:calc(84px * var(--fs-scale)) var(--gutter)}
.mission-inner{max-width:var(--container);margin:0 auto}
.mission .eyebrow{font-size:calc(12px * var(--fs-scale));letter-spacing:.16em;text-transform:uppercase;color:var(--accent-600);font-weight:600;margin:0 0 14px}
.mission .eyebrow::after{content:"";display:block;width:44px;height:2px;background:var(--accent-500);margin-top:10px}
.mission h2{font-family:var(--font-display);font-weight:500;font-size:calc(clamp(24px,2.6vw,32px) * var(--fs-scale));line-height:1.3;letter-spacing:-.02em;color:var(--navy-900);margin:0 0 48px;max-width:none}
.pillars3{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.pillars3 .pillar{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);padding:0 0 30px;overflow:hidden}
.pillars3 .pillar .pillar-banner{aspect-ratio:2.4/1;background:var(--navy-050);border-bottom:1px solid var(--border);margin:0 0 24px;overflow:hidden}
.pillars3 .pillar .pillar-banner img{width:100%;height:100%;object-fit:cover;display:block}
.pillars3 .pillar h3{font-family:var(--font-display);font-weight:500;font-size:calc(21px * var(--fs-scale));color:var(--navy-900);margin:0 30px 10px}
.pillars3 .pillar p{font-family:var(--font-body);font-size:calc(14.5px * var(--fs-scale));line-height:1.62;color:var(--fg-muted);margin:0 30px}

.leader{background:var(--gray-050);border-top:1px solid var(--border);padding:calc(84px * var(--fs-scale)) var(--gutter)}
.leader-inner{max-width:var(--container);margin:0 auto;display:grid;grid-template-columns:300px 1fr;gap:56px;align-items:start}
.leader .aside{position:sticky;top:96px}
.leader .portrait{width:100%;aspect-ratio:4/5;border-radius:var(--radius-md);overflow:hidden;background:var(--navy-100);border:1px solid var(--border)}
.leader .portrait img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block}
.leader .who{margin-top:18px}
.leader .who .nm{font-family:var(--font-display);font-weight:500;font-size:calc(20px * var(--fs-scale));color:var(--navy-900)}
.leader .who .ttl{font-family:var(--font-body);font-size:calc(13.5px * var(--fs-scale));color:var(--fg-muted);margin-top:3px;line-height:1.45}
.leader .body .eyebrow{font-size:calc(12px * var(--fs-scale));letter-spacing:.16em;text-transform:uppercase;color:var(--accent-600);font-weight:600;margin:0 0 14px}
.leader .body .eyebrow::after{content:"";display:block;width:44px;height:2px;background:var(--accent-500);margin-top:10px}
.leader .body h2{font-family:var(--font-display);font-weight:500;font-size:calc(clamp(23px,2.4vw,30px) * var(--fs-scale));line-height:1.3;letter-spacing:-.02em;color:var(--navy-900);margin:0 0 28px;max-width:26ch}
.leader .body p{font-family:var(--font-body);font-size:calc(16px * var(--fs-scale));line-height:1.75;color:var(--fg);margin:0 0 18px;max-width:64ch}
.leader .body p em{font-style:italic;color:var(--navy-800)}
.leader .sign{font-family:var(--font-display);font-weight:500;font-size:calc(18px * var(--fs-scale));color:var(--navy-900);margin-top:30px}
.leader .sign>span{display:block;font-family:var(--font-body);font-size:calc(13.5px * var(--fs-scale));font-weight:500;color:var(--fg-muted);margin-top:4px}

@media (max-width:880px){
  .pillars3{grid-template-columns:1fr}
  .leader-inner{grid-template-columns:1fr;gap:32px}
  .leader .aside{position:static;max-width:280px}
}

/* =========================================================
   About › Leadership
   Director feature + executive leadership grid.
   ========================================================= */
.dir-sec{padding:8px var(--gutter)}
.dir-inner{max-width:var(--container);margin:0 auto}
.dir-head .eyebrow{font-size:calc(12px * var(--fs-scale));letter-spacing:.16em;text-transform:uppercase;color:var(--accent-600);font-weight:600;margin:0 0 14px}
.dir-head .eyebrow::after{content:"";display:block;width:44px;height:2px;background:var(--accent-500);margin-top:10px}
.dir-head h2{font-family:var(--font-display);font-weight:500;font-size:calc(clamp(24px,2.6vw,32px) * var(--fs-scale));line-height:1.3;letter-spacing:-.02em;color:var(--navy-900);margin:0 0 40px;max-width:30ch}
.dir-card{display:grid;grid-template-columns:300px 1fr;gap:48px;align-items:start;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);padding:40px;border-top:3px solid var(--accent-500)}
.dir-card .portrait{width:100%;aspect-ratio:4/5;border-radius:var(--radius-sm);overflow:hidden;background:var(--navy-100);border:1px solid var(--border)}
.dir-card .portrait img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block}
.dir-card .role{font-family:var(--font-body);font-size:calc(11px * var(--fs-scale));font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-600);margin:0 0 8px}
.dir-card h3{font-family:var(--font-display);font-weight:500;font-size:calc(30px * var(--fs-scale));color:var(--navy-900);margin:0 0 6px;letter-spacing:-.01em}
.dir-card .aff{font-family:var(--font-body);font-size:calc(14px * var(--fs-scale));color:var(--fg-muted);margin:0 0 22px;line-height:1.5}
.dir-card p{font-family:var(--font-body);font-size:calc(15.5px * var(--fs-scale));line-height:1.72;color:var(--fg);margin:0 0 16px;max-width:62ch}

.exec{padding:72px var(--gutter) 96px}
.exec-inner{max-width:var(--container);margin:0 auto}
.exec-head{margin:0 0 40px}
.exec-head .eyebrow{font-size:calc(12px * var(--fs-scale));letter-spacing:.16em;text-transform:uppercase;color:var(--accent-600);font-weight:600;margin:0 0 14px}
.exec-head .eyebrow::after{content:"";display:block;width:44px;height:2px;background:var(--accent-500);margin-top:10px}
.exec-head h2{font-family:var(--font-display);font-weight:500;font-size:calc(clamp(22px,2.4vw,30px) * var(--fs-scale));line-height:1.3;letter-spacing:-.02em;color:var(--navy-900);margin:0 0 14px;max-width:28ch}
.exec-head p{font-family:var(--font-body);font-size:calc(15px * var(--fs-scale));line-height:1.65;color:var(--fg-muted);margin:0;max-width:66ch}
.lgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.lcard{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;transition:box-shadow 200ms var(--ease-standard),transform 200ms var(--ease-standard),border-color 200ms}
.lcard:hover{box-shadow:var(--shadow-md);transform:translateY(-3px);border-color:var(--navy-200)}
.lcard .portrait{aspect-ratio:1/1;background:var(--navy-100);overflow:hidden}
.lcard .portrait img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block}
.lcard .c{padding:22px 24px 26px}
.lcard h3{font-family:var(--font-display);font-weight:500;font-size:calc(21px * var(--fs-scale));color:var(--navy-900);margin:0 0 4px;letter-spacing:-.01em}
.lcard .aff{font-family:var(--font-body);font-size:calc(13.5px * var(--fs-scale));color:var(--fg-muted);margin:0 0 14px}
.lcard .roles{display:flex;flex-direction:column;gap:6px;padding-top:14px;border-top:1px solid var(--border)}
.lcard .roles .r{font-family:var(--font-body);font-size:calc(13px * var(--fs-scale));color:var(--navy-800);position:relative;padding-left:14px;line-height:1.45}
.lcard .roles .r::before{content:"";position:absolute;left:0;top:.55em;width:5px;height:5px;border-radius:50%;background:var(--accent-500)}

/* =========================================================
   About › Team (NAIRL Office)
   ========================================================= */
.team-sec{padding:8px var(--gutter) 96px}
.team-inner{max-width:var(--container);margin:0 auto}
.tgroup{margin-top:56px}
.tgroup:first-child{margin-top:8px}
.tgroup-head{display:flex;align-items:baseline;gap:14px;margin:0 0 26px;padding-bottom:14px;border-bottom:1px solid var(--border)}
.tgroup-head h2{font-family:var(--font-display);font-weight:500;font-size:calc(23px * var(--fs-scale));letter-spacing:-.01em;color:var(--navy-900);margin:0}
.tgroup-head .count{font-family:var(--font-body);font-size:calc(13px * var(--fs-scale));color:var(--fg-subtle)}
.tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.tcard{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;transition:box-shadow 200ms var(--ease-standard),transform 200ms var(--ease-standard),border-color 200ms}
.tcard:hover{box-shadow:var(--shadow-md);transform:translateY(-3px);border-color:var(--navy-200)}
.tcard .portrait{aspect-ratio:1/1;background:var(--navy-100);overflow:hidden}
.tcard .portrait img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block}
.tcard .c{padding:22px 24px 24px;display:flex;flex-direction:column;flex:1}
.tcard h3{font-family:var(--font-display);font-weight:500;font-size:calc(20px * var(--fs-scale));color:var(--navy-900);margin:0 0 3px;letter-spacing:-.01em}
.tcard .team{font-family:var(--font-body);font-size:calc(11px * var(--fs-scale));font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-600);margin:0 0 12px}
.tcard .resp{font-family:var(--font-body);font-size:calc(13.5px * var(--fs-scale));line-height:1.55;color:var(--fg-muted);margin:0 0 18px}
.tcard .contact{margin-top:auto;display:flex;flex-direction:column;gap:7px;padding-top:16px;border-top:1px solid var(--border)}
.tcard .contact a,.tcard .contact span{font-family:var(--font-body);font-size:calc(13px * var(--fs-scale));color:var(--navy-700);text-decoration:none;display:flex;align-items:center;gap:9px;word-break:break-all}
.tcard .contact a:hover{color:var(--accent-600)}
.tcard .contact svg{flex:0 0 auto;width:14px;height:14px;stroke:var(--fg-subtle);stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}

/* =========================================================
   About › Facilities & Contact
   ========================================================= */
.fac-sec{padding:8px var(--gutter)}
.fac-inner{max-width:var(--container);margin:0 auto}
.fac-head{margin:0 0 36px}
.fac-head .eyebrow{font-size:calc(12px * var(--fs-scale));letter-spacing:.16em;text-transform:uppercase;color:var(--accent-600);font-weight:600;margin:0 0 12px}
.fac-head .eyebrow::after{content:"";display:block;width:44px;height:2px;background:var(--accent-500);margin-top:10px}
.fac-head h2{font-family:var(--font-display);font-weight:500;font-size:calc(clamp(22px,2.4vw,30px) * var(--fs-scale));letter-spacing:-.02em;color:var(--navy-900);margin:0 0 12px}
.fac-head p{font-family:var(--font-body);font-size:calc(15px * var(--fs-scale));line-height:1.65;color:var(--fg-muted);margin:0;max-width:64ch}
.fac-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.fac-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);padding:32px 32px 30px;display:flex;flex-direction:column;overflow:hidden}
.fac-card .fac-banner{margin:-32px -32px 22px;aspect-ratio:16/7;overflow:hidden;background:var(--navy-100);border-bottom:1px solid var(--border)}
.fac-card .fac-banner img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.fac-card .fac-map{margin-top:auto;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--border);background:var(--navy-100)}
.fac-card .fac-map iframe{display:block;width:100%;height:220px;border:0}
.fac-card .ico{width:46px;height:46px;border-radius:var(--radius-sm);background:var(--navy-050);display:flex;align-items:center;justify-content:center;color:var(--navy-700);margin-bottom:20px}
.fac-card .ico svg{width:24px;height:24px;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}
.fac-card h3{font-family:var(--font-display);font-weight:500;font-size:calc(22px * var(--fs-scale));color:var(--navy-900);margin:0 0 14px;letter-spacing:-.01em}
.fac-card .addr{font-family:var(--font-body);font-size:calc(14px * var(--fs-scale));line-height:1.6;color:var(--fg-muted);margin:0 0 20px}
.fac-card .specs{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}
.fac-card .spec{font-family:var(--font-body);font-size:calc(12px * var(--fs-scale));font-weight:500;color:var(--navy-800);background:var(--gray-050);border:1px solid var(--border);border-radius:var(--radius-pill);padding:6px 13px}

.contact-sec{background:var(--gray-050);border-top:1px solid var(--border);margin-top:80px;padding:80px var(--gutter)}
.contact-inner{max-width:var(--container);margin:0 auto;display:grid;grid-template-columns:1fr 1.2fr;gap:56px;align-items:start}
.contact-info .eyebrow{font-size:calc(12px * var(--fs-scale));letter-spacing:.16em;text-transform:uppercase;color:var(--accent-600);font-weight:600;margin:0 0 12px}
.contact-info .eyebrow::after{content:"";display:block;width:44px;height:2px;background:var(--accent-500);margin-top:10px}
.contact-info h2{font-family:var(--font-display);font-weight:500;font-size:calc(clamp(26px,3vw,38px) * var(--fs-scale));letter-spacing:-.02em;color:var(--navy-900);margin:0 0 28px}
.crow{display:flex;gap:16px;align-items:flex-start;padding:18px 0;border-top:1px solid var(--border)}
.crow:last-child{border-bottom:1px solid var(--border)}
.crow .ico{flex:0 0 auto;width:38px;height:38px;border-radius:var(--radius-sm);background:var(--white);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--navy-700)}
.crow .ico svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}
.crow .k{font-family:var(--font-body);font-size:calc(11px * var(--fs-scale));font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-subtle);margin:0 0 4px}
.crow .v{font-family:var(--font-body);font-size:calc(15px * var(--fs-scale));line-height:1.55;color:var(--navy-900);margin:0}
.crow .v a{color:var(--navy-700);text-decoration:none}
.crow .v a:hover{color:var(--accent-600)}
.crow .v .sub{display:block;font-size:calc(13px * var(--fs-scale));color:var(--fg-muted);margin-top:6px}
.contact-sec .map{border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border);background:var(--navy-100);min-height:420px;height:100%}
.contact-sec .map iframe{width:100%;height:100%;min-height:420px;border:0;display:block}

@media (max-width:880px){
  .dir-card{grid-template-columns:1fr;gap:28px}
  .dir-card .portrait{max-width:280px}
  .lgrid{grid-template-columns:repeat(2,1fr)}
  .tgrid{grid-template-columns:repeat(2,1fr)}
  .fac-grid{grid-template-columns:1fr}
  .contact-inner{grid-template-columns:1fr;gap:36px}
  .contact-sec .map{min-height:320px}
}
@media (max-width:560px){.lgrid{grid-template-columns:1fr}.tgrid{grid-template-columns:1fr}}
