/* PiM Lab bilingual website — 2026 edition
   System-font, dependency-free, responsive, accessible, print-ready. */
:root{
  color-scheme:light;
  --ink:#162738;
  --ink-2:#31465a;
  --muted:#65778a;
  --line:#d9e3eb;
  --line-strong:#bdcdda;
  --paper:#ffffff;
  --surface:#f5f8fb;
  --surface-2:#edf4f8;
  --surface-3:#e5f0f4;
  --blue:#075c8a;
  --blue-2:#0f78a8;
  --teal:#087c74;
  --orange:#c95a1a;
  --gold:#9b6a08;
  --nav:#112b40;
  --nav-2:#173c58;
  --success:#1b7258;
  --danger:#a33a35;
  --focus:#f7a943;
  --shadow-xs:0 1px 2px rgba(19,44,64,.08);
  --shadow-sm:0 7px 20px rgba(19,44,64,.09);
  --shadow:0 18px 48px rgba(19,44,64,.13);
  --radius-sm:8px;
  --radius:16px;
  --radius-lg:24px;
  --content:1180px;
}
html[data-theme="dark"]{
  color-scheme:dark;
  --ink:#e8f0f5;
  --ink-2:#bfd0dc;
  --muted:#94aabc;
  --line:#304858;
  --line-strong:#496474;
  --paper:#112330;
  --surface:#152b3a;
  --surface-2:#193344;
  --surface-3:#1f3d4f;
  --blue:#70c7f2;
  --blue-2:#4fb2df;
  --teal:#66d3c8;
  --orange:#ff9a5a;
  --gold:#f0c66a;
  --nav:#091a26;
  --nav-2:#122f44;
  --success:#73d4b2;
  --danger:#ff9690;
  --shadow-xs:0 1px 2px rgba(0,0,0,.24);
  --shadow-sm:0 7px 20px rgba(0,0,0,.28);
  --shadow:0 18px 48px rgba(0,0,0,.34);
}
*{box-sizing:border-box}
html{
  scroll-behavior:smooth;
  scroll-padding-top:82px;
  font-size:clamp(15px,.91rem + .18vw,17.5px);
  -webkit-text-size-adjust:100%;
}
body{
  margin:0;
  min-width:320px;
  color:var(--ink);
  background:
    radial-gradient(circle at 12% -10%,rgba(15,120,168,.12),transparent 28rem),
    radial-gradient(circle at 88% 2%,rgba(8,124,116,.10),transparent 26rem),
    #eaf1f5;
  font-family:"Noto Sans TC","PingFang TC","Microsoft JhengHei","Segoe UI",Arial,sans-serif;
  font-size:1rem;
  line-height:1.72;
  letter-spacing:.004em;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
html[data-theme="dark"] body{background:#071723}
img{max-width:100%;height:auto}
svg{display:block}
button,input,select,textarea{font:inherit}
button{color:inherit}
a{color:var(--blue);text-decoration-thickness:.08em;text-underline-offset:.18em}
a:hover{text-decoration:underline}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{
  outline:3px solid var(--focus);outline-offset:3px;border-radius:5px
}
h1,h2,h3,h4,h5{margin-top:0;line-height:1.28;letter-spacing:.006em;text-wrap:balance}
p,li{overflow-wrap:anywhere;text-wrap:pretty}
code,kbd,samp{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.9em;background:var(--surface-2);border:1px solid var(--line);border-radius:5px;padding:.08em .35em}
[hidden]{display:none!important}
.skip-link{position:fixed;left:14px;top:10px;z-index:1000;transform:translateY(-180%);padding:9px 13px;border-radius:9px;background:var(--paper);color:var(--ink);box-shadow:var(--shadow);font-weight:800}
.skip-link:focus{transform:none}
.reading-progress{position:fixed;top:0;left:0;z-index:999;width:0;height:3px;background:linear-gradient(90deg,var(--orange),var(--teal));box-shadow:0 0 10px rgba(201,90,26,.35)}
.site-shell{width:min(100%,var(--content));margin:0 auto;min-height:100vh;background:var(--paper);box-shadow:0 0 0 1px rgba(34,64,91,.07),var(--shadow)}
.utility-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:40px;padding:7px 26px;background:var(--nav);color:#dce9f1;font-size:.82rem}
.utility-bar a{color:#fff;text-decoration:none}
.utility-left,.utility-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.utility-label{display:inline-flex;align-items:center;gap:7px}
.utility-label:before{content:"";width:7px;height:7px;border-radius:50%;background:#63c6bd;box-shadow:0 0 0 4px rgba(99,198,189,.14)}
.utility-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;background:transparent;color:#fff;padding:4px 7px;border-radius:7px;cursor:pointer;font-weight:700}
.utility-button:hover{background:rgba(255,255,255,.1)}
.site-header{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:22px 28px;background:
  linear-gradient(135deg,rgba(255,255,255,.96),rgba(238,247,250,.94)),
  var(--paper);border-bottom:1px solid var(--line)}
html[data-theme="dark"] .site-header{background:linear-gradient(135deg,#122838,#183648)}
.brand-logo{display:flex;align-items:center;gap:15px;color:inherit;text-decoration:none;min-width:0}
.brand-logo:hover{text-decoration:none}
.brand-emblem{width:72px;height:72px;flex:0 0 72px;border-radius:20px;display:grid;place-items:center;background:linear-gradient(145deg,var(--blue),var(--teal));box-shadow:0 10px 24px rgba(7,92,138,.22);color:white;font-weight:900;font-size:1.25rem;letter-spacing:.03em}
.brand-copy{min-width:0}
.brand-copy strong{display:block;color:var(--ink);font-size:clamp(1.1rem,.96rem + .55vw,1.5rem);line-height:1.28}
.brand-copy span{display:block;margin-top:5px;color:var(--muted);font-size:.89rem;line-height:1.45}
.header-badge{justify-self:end;max-width:260px;padding:9px 12px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.68);color:var(--ink-2);font-size:.78rem;line-height:1.45;text-align:right;box-shadow:var(--shadow-xs)}
html[data-theme="dark"] .header-badge{background:rgba(9,26,38,.5)}
.nav-wrap{position:sticky;top:0;z-index:40;background:var(--nav);box-shadow:0 5px 15px rgba(0,0,0,.14)}
.nav-bar{display:flex;align-items:center;min-height:53px;padding:0 14px}
.nav-toggle{display:none;align-items:center;gap:9px;border:0;background:transparent;color:#fff;padding:11px 10px;cursor:pointer;font-weight:800}
.nav-toggle-lines,.nav-toggle-lines:before,.nav-toggle-lines:after{display:block;width:20px;height:2px;background:currentColor;border-radius:3px;content:"";transition:.2s}
.nav-toggle-lines{position:relative}
.nav-toggle-lines:before{position:absolute;top:-6px}
.nav-toggle-lines:after{position:absolute;top:6px}
.main-nav{display:flex;align-items:center;gap:1px;width:100%;overflow-x:auto;scrollbar-width:thin}
.main-nav a{display:flex;align-items:center;white-space:nowrap;color:#eaf3f8;padding:13px 10px 11px;border-bottom:3px solid transparent;font-size:.82rem;font-weight:700;text-decoration:none}
.main-nav a:hover,.main-nav a.active{background:rgba(255,255,255,.08);border-bottom-color:#ffb56e}
.main-nav .nav-spacer{margin-left:auto}
.main-nav .lang-switch{font-weight:900;color:#fff7e7}
.nav-search-button{flex:0 0 auto;margin-left:8px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08);color:#fff;border-radius:9px;padding:7px 10px;cursor:pointer;font-weight:800;font-size:.81rem}
.nav-search-button:hover{background:rgba(255,255,255,.14)}
.page-tools-wrap{padding:12px 28px 0}
.page-tools{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}
button.tool,.tool-link{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line-strong);background:var(--paper);color:var(--ink-2);border-radius:9px;padding:7px 10px;cursor:pointer;font-size:.82rem;font-weight:700;text-decoration:none;box-shadow:var(--shadow-xs)}
button.tool:hover,.tool-link:hover{background:var(--surface);text-decoration:none}
.hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.28fr) minmax(260px,.72fr);gap:42px;align-items:center;padding:56px 42px 42px;background:
  radial-gradient(circle at 91% 8%,rgba(8,124,116,.18),transparent 29%),
  radial-gradient(circle at 6% 104%,rgba(201,90,26,.10),transparent 34%),
  linear-gradient(135deg,var(--paper),var(--surface-2));
}
.hero:after{content:"";position:absolute;right:-80px;bottom:-100px;width:260px;height:260px;border:1px solid rgba(7,92,138,.13);border-radius:50%;box-shadow:0 0 0 32px rgba(7,92,138,.025),0 0 0 68px rgba(7,92,138,.02)}
.hero-copy{position:relative;z-index:1}
.hero h1,.hero h2{margin:0 0 14px;font-size:clamp(2rem,1.34rem + 2.4vw,3.15rem);line-height:1.12;color:var(--ink)}
.hero .latin-name{display:block;margin-top:9px;font-size:.44em;font-weight:650;color:var(--ink-2);letter-spacing:.02em}
.kicker{display:inline-flex;align-items:center;gap:8px;margin-bottom:11px;color:var(--orange);font-size:.8rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.kicker:before{content:"";width:26px;height:3px;border-radius:5px;background:linear-gradient(90deg,var(--orange),var(--gold))}
.hero .lead{max-width:68ch;margin:0;color:var(--ink-2);font-size:clamp(1rem,.95rem + .23vw,1.12rem);line-height:1.75}
.hero-roles{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.pill{display:inline-flex;align-items:center;padding:7px 11px;border-radius:999px;background:var(--surface-3);color:var(--ink-2);border:1px solid var(--line);font-weight:750;font-size:.82rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:23px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 14px;border-radius:10px;border:1px solid var(--line-strong);background:var(--paper);color:var(--ink);font-weight:800;text-decoration:none;box-shadow:var(--shadow-xs)}
.button:hover{text-decoration:none;transform:translateY(-1px);box-shadow:var(--shadow-sm)}
.button.primary{background:linear-gradient(135deg,var(--blue),var(--blue-2));border-color:transparent;color:#fff}
.button.secondary{background:linear-gradient(135deg,var(--teal),#11988f);border-color:transparent;color:#fff}
.hero-photo{position:relative;z-index:1;display:grid;place-items:center}
.hero-photo-frame{position:relative;width:min(100%,355px)}
.hero-photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center;border-radius:26px;border:8px solid var(--paper);box-shadow:0 22px 50px rgba(20,62,89,.22)}
.hero-photo-frame:after{content:"UT Austin";position:absolute;right:16px;bottom:13px;padding:4px 8px;border-radius:7px;background:rgba(12,31,45,.78);color:#fff;font-size:.68rem;letter-spacing:.05em}
.content{padding:36px 38px 66px}
.content-narrow{max-width:970px;margin:0 auto}
.page-head{margin-bottom:28px;padding-bottom:22px;border-bottom:1px solid var(--line)}
.breadcrumb{display:flex;flex-wrap:wrap;gap:5px;margin:0 0 9px;color:var(--muted);font-size:.8rem}
.breadcrumb a{color:var(--muted)}
.page-title{margin:0 0 8px;color:var(--ink);font-size:clamp(1.65rem,1.25rem + 1.3vw,2.25rem)}
.page-subtitle{max-width:76ch;margin:0;color:var(--muted);font-size:1.02rem}
.section{margin:42px 0}
.section:first-child{margin-top:24px}
.section-title{position:relative;margin:0 0 18px;padding:0 0 10px;color:var(--ink);font-size:clamp(1.28rem,1.08rem + .72vw,1.72rem);border-bottom:1px solid var(--line)}
.section-title:after{content:"";position:absolute;left:0;bottom:-1px;width:74px;height:3px;border-radius:4px;background:linear-gradient(90deg,var(--blue),var(--teal))}
.section-intro{max-width:78ch;margin:-7px 0 20px;color:var(--muted)}
.grid{display:grid;gap:18px}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.card{position:relative;display:block;padding:21px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(155deg,var(--paper),var(--surface));box-shadow:var(--shadow-xs);color:inherit;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
a.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-sm);border-color:#91b8cd;text-decoration:none}
.card h2,.card h3{margin:0 0 8px;color:var(--ink);font-size:1.06rem}
.card p{margin:0;color:var(--ink-2);font-size:.93rem}
.card.accent{border-top:4px solid var(--blue)}
.card.teal{border-top:4px solid var(--teal)}
.card.orange{border-top:4px solid var(--orange)}
.card.gold{border-top:4px solid var(--gold)}
.card .eyebrow{display:block;margin-bottom:8px;color:var(--muted);font-size:.72rem;font-weight:850;letter-spacing:.11em;text-transform:uppercase}
.callout{margin:22px 0;padding:18px 20px;border:1px solid #bcd9e7;border-left:5px solid var(--blue);border-radius:12px;background:linear-gradient(135deg,var(--surface-2),var(--paper));color:var(--ink-2);box-shadow:var(--shadow-xs)}
.callout.orange{border-left-color:var(--orange)}
.callout.teal{border-left-color:var(--teal)}
.callout strong{color:var(--ink)}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:0 0 24px}
.stat{min-height:116px;padding:17px 14px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(145deg,var(--paper),var(--surface));text-align:center;box-shadow:var(--shadow-xs)}
.stat strong{display:block;color:var(--blue);font-size:clamp(1.35rem,1.12rem + .75vw,1.92rem);line-height:1.18;font-variant-numeric:tabular-nums}
.stat span{display:block;margin-top:7px;color:var(--muted);font-size:.78rem;line-height:1.4}
.stat small{display:block;margin-top:4px;color:var(--muted);font-size:.66rem}
ul.clean{margin:0;padding-left:1.2em}
ul.clean li{margin:.45em 0}
ul.checklist{list-style:none;margin:0;padding:0}
ul.checklist li{position:relative;margin:.7em 0;padding-left:1.65em}
ul.checklist li:before{content:"✓";position:absolute;left:0;top:.02em;color:var(--success);font-weight:900}
.timeline{position:relative;margin:14px 0 0;padding-left:25px}
.timeline:before{content:"";position:absolute;left:7px;top:4px;bottom:4px;width:2px;background:linear-gradient(var(--blue),var(--teal),var(--line))}
.timeline-item{position:relative;margin:0 0 15px;padding:15px 17px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:var(--shadow-xs)}
.timeline-item:before{content:"";position:absolute;left:-24px;top:21px;width:10px;height:10px;border-radius:50%;background:var(--blue);border:3px solid var(--paper);box-shadow:0 0 0 1px var(--blue)}
.timeline .year{display:inline-block;margin-right:7px;color:var(--orange);font-weight:900;font-variant-numeric:tabular-nums}
.figure{margin:26px 0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--surface);box-shadow:var(--shadow-xs)}
.figure img{display:block;width:100%;background:#fff}
.figure figcaption{padding:10px 14px;color:var(--muted);font-size:.8rem;line-height:1.5}
.media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.media-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.media-grid .figure{margin:0}
.media-grid .figure img{height:220px;object-fit:cover}
.profile-links{display:flex;flex-wrap:wrap;gap:9px}
.profile-links a{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid var(--line-strong);border-radius:9px;background:var(--paper);font-size:.85rem;font-weight:750;text-decoration:none;box-shadow:var(--shadow-xs)}
.profile-links a:hover{background:var(--surface);text-decoration:none}
.badge{display:inline-flex;align-items:center;border-radius:6px;padding:2px 7px;font-size:.72rem;font-weight:850;margin:0 5px 3px 0;background:#dff0f8;color:#125a7c}
html[data-theme="dark"] .badge{background:#17465f;color:#bce8ff}
.badge.orange{background:#ffeadc;color:#98420f}
.badge.teal{background:#dcf2ee;color:#076d66}
.badge.gold{background:#f7edce;color:#7c580c}
.pub{padding:19px 0;border-bottom:1px solid var(--line)}
.pub:last-child{border-bottom:0}
.pub-title{color:var(--ink);font-weight:850;line-height:1.5}
.pub-meta{margin-top:5px;color:var(--muted);font-size:.82rem;line-height:1.55}
.table-wrap{position:relative;max-width:100%;overflow:auto;margin:18px 0;border:1px solid var(--line);border-radius:13px;background:var(--paper);box-shadow:var(--shadow-xs);scrollbar-width:thin}
.table-wrap:after{content:"";position:sticky;right:0;display:block;width:18px;height:1px;float:right;box-shadow:-13px 0 15px 8px rgba(22,39,56,.08);pointer-events:none}
table{width:100%;border-collapse:collapse;background:var(--paper);font-size:.88rem;line-height:1.5}
th,td{padding:10px 12px;border:1px solid var(--line);vertical-align:top;text-align:left;word-break:break-word}
thead th,table>tbody>tr:first-child>th[scope="col"]{position:sticky;top:0;z-index:2;background:linear-gradient(var(--surface-2),var(--surface-3));color:var(--ink);font-weight:850;border-bottom:2px solid var(--line-strong)}
tbody tr:nth-child(even)>td{background:color-mix(in srgb,var(--surface) 68%,var(--paper))}
tbody tr:hover>td{background:var(--surface-2)}
tr>th:first-child:not([scope="col"]){width:1%;white-space:nowrap;background:var(--surface-2);color:var(--ink);font-weight:850}
tr.section-row>td,tr.section-row>th{background:var(--surface-3);color:var(--ink);font-weight:850;border-top:2px solid var(--line-strong);border-bottom:2px solid var(--line-strong)}
table.wide{min-width:900px}
table.compact th,table.compact td{padding:7px 9px;font-size:.82rem}
.archive-page{max-width:1080px;margin:0 auto}
.archive-nav{display:flex;flex-wrap:wrap;gap:7px;margin:20px 0}
.archive-nav a{padding:7px 10px;border:1px solid var(--line-strong);border-radius:999px;background:var(--paper);color:var(--ink-2);font-size:.82rem;font-weight:750;text-decoration:none}
.archive-nav a:hover,.archive-nav a.active{background:var(--surface-3);border-color:#79aabc;text-decoration:none}
.archive-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:25px 0}
.archive-card{display:block;border-left:5px solid var(--blue)}
.archive-card:nth-child(2n){border-left-color:var(--teal)}
.archive-card h2{margin:0 0 7px;color:var(--ink);font-size:1.05rem}
.archive-card span{display:inline-block;margin-top:7px;color:var(--orange);font-weight:850}
.archive-search{position:sticky;top:61px;z-index:12;margin:22px 0;padding:14px 16px;border:1px solid var(--line-strong);border-radius:12px;background:color-mix(in srgb,var(--paper) 93%,transparent);box-shadow:var(--shadow-sm);backdrop-filter:blur(10px)}
.archive-search label{display:block;margin-bottom:5px;color:var(--ink);font-weight:850}
.search-row{display:grid;grid-template-columns:1fr auto;gap:8px}
.search-row input{width:100%;padding:10px 12px;border:1px solid var(--line-strong);border-radius:8px;background:var(--paper);color:var(--ink)}
.search-status{min-height:1.4em;margin:5px 0 0;color:var(--muted);font-size:.78rem}
.legacy-content{overflow-wrap:anywhere;border-top:1px solid var(--line);padding-top:20px;font-size:.94rem;line-height:1.7}
.legacy-content h1,.legacy-content h2,.legacy-content h3,.legacy-content h4{color:var(--ink)}
.legacy-content h2{font-size:1.12rem;margin:25px 0 8px}
.legacy-content h3{font-size:1rem;margin:18px 0 6px}
.legacy-content table{margin:0;font-size:.84rem}
.legacy-content table.layout-table,.legacy-content table.layout-table>tbody>tr>td,.legacy-content table.layout-table>tbody>tr>th,.legacy-content table.layout-table>tr>td,.legacy-content table.layout-table>tr>th{border:0;background:transparent;padding:0}
.legacy-content table.layout-table>tbody>tr:hover>td{background:transparent}
.legacy-content .table-wrap.layout-wrap,.legacy-content .table-wrap:has(>table.layout-table){border:0;border-radius:0;background:transparent;box-shadow:none;margin:12px 0}
.legacy-content table table{margin:7px 0}
.legacy-content td>p,.legacy-content th>p{margin:.12em 0}
.legacy-content td>p:first-child,.legacy-content th>p:first-child{margin-top:0}
.legacy-content td>p:last-child,.legacy-content th>p:last-child{margin-bottom:0}
.legacy-content td>p:empty,.legacy-content th>p:empty{display:none}
.legacy-content img{display:block;max-width:100%;height:auto;margin:11px auto;border-radius:8px}
.legacy-content a[href^="http"]{text-decoration:underline;text-decoration-color:var(--line-strong)}
.download-link{display:inline-flex;align-items:center;padding:8px 11px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);font-weight:800;text-decoration:none}
.impact-figure{margin-top:25px}
.impact-figure img{width:100%}
.metric-chart{display:grid;gap:15px;margin:20px 0}
.metric-row{display:grid;grid-template-columns:minmax(150px,.65fr) minmax(0,1.35fr) 90px;gap:12px;align-items:center}
.metric-label{font-weight:800;color:var(--ink-2)}
.metric-track{height:14px;border-radius:999px;background:var(--surface-3);overflow:hidden;box-shadow:inset 0 0 0 1px var(--line)}
.metric-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--blue),var(--teal))}
.metric-value{text-align:right;color:var(--orange);font-weight:900;font-variant-numeric:tabular-nums}
.source-list{counter-reset:source;list-style:none;padding:0}
.source-list li{counter-increment:source;position:relative;margin:10px 0;padding:13px 15px 13px 48px;border:1px solid var(--line);border-radius:11px;background:var(--surface)}
.source-list li:before{content:counter(source);position:absolute;left:14px;top:12px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--blue);color:white;font-size:.72rem;font-weight:900}
.data-freshness{display:flex;align-items:flex-start;gap:10px;margin:18px 0;padding:12px 14px;border-radius:10px;background:var(--surface-2);color:var(--muted);font-size:.8rem}
.data-freshness:before{content:"i";flex:0 0 22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--blue);color:white;font-weight:900}
.search-dialog{position:fixed;inset:0;z-index:1000;display:grid;place-items:start center;padding:8vh 18px;background:rgba(4,18,28,.72);backdrop-filter:blur(7px)}
.search-panel{width:min(760px,100%);max-height:84vh;overflow:hidden;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:18px;background:var(--paper);box-shadow:0 30px 90px rgba(0,0,0,.38)}
.search-panel-head{display:flex;align-items:center;gap:10px;padding:15px;border-bottom:1px solid var(--line)}
.search-panel-head input{flex:1;padding:12px 13px;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface);color:var(--ink)}
.search-close{border:0;background:var(--surface-2);width:38px;height:38px;border-radius:9px;cursor:pointer;font-size:1.2rem}
.search-results{overflow:auto;padding:8px 15px 17px}
.search-result{display:block;padding:13px 4px;border-bottom:1px solid var(--line);color:inherit;text-decoration:none}
.search-result:hover{text-decoration:none;background:var(--surface)}
.search-result strong{display:block;color:var(--blue)}
.search-result span{display:block;margin-top:3px;color:var(--muted);font-size:.78rem;line-height:1.45}
.search-empty{padding:25px 3px;color:var(--muted);text-align:center}
.back-to-top{position:fixed;right:max(18px,calc((100vw - var(--content))/2 + 18px));bottom:20px;z-index:60;width:42px;height:42px;border:1px solid var(--line-strong);border-radius:12px;background:var(--paper);color:var(--ink);box-shadow:var(--shadow-sm);cursor:pointer;opacity:0;pointer-events:none;transform:translateY(8px);transition:.2s}
.back-to-top.visible{opacity:1;pointer-events:auto;transform:none}
.site-footer{padding:30px;background:linear-gradient(135deg,var(--nav),var(--nav-2));color:#dbe8ef;font-size:.82rem;line-height:1.62}
.site-footer a{color:#fff}
.footer-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(250px,.8fr);gap:28px;align-items:start}
.footer-title{display:block;margin-bottom:7px;color:#fff;font-size:1rem}
.footer-links{display:flex;flex-wrap:wrap;gap:7px 14px;justify-content:flex-end}
.footer-meta{margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.15);color:#aac0cf;font-size:.72rem}
.small{font-size:.83rem;color:var(--muted)}
.note{font-size:.79rem;color:var(--muted)}
.hr{height:1px;background:var(--line);margin:28px 0}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}
@media (max-width:1040px){
  .stats{grid-template-columns:repeat(3,1fr)}
  .grid-4{grid-template-columns:repeat(2,1fr)}
  .header-badge{display:none}
  .site-header{grid-template-columns:1fr}
}
@media (max-width:820px){
  .utility-bar{padding:7px 14px}.utility-left .optional{display:none}
  .site-header{padding:15px 17px}.brand-emblem{width:58px;height:58px;flex-basis:58px;border-radius:16px;font-size:1rem}.brand-copy span{font-size:.78rem}
  .nav-bar{display:block;padding:0}.nav-toggle{display:flex;width:100%;justify-content:flex-start;padding:14px 17px}
  .main-nav{display:none;max-height:calc(100vh - 58px);overflow:auto;flex-direction:column;align-items:stretch;padding:0 10px 13px}
  .nav-wrap[data-open="true"] .main-nav{display:flex}
  .main-nav a{width:100%;padding:10px 11px;border-bottom:0;border-left:3px solid transparent;border-radius:7px}
  .main-nav a:hover,.main-nav a.active{border-left-color:#ffb56e}
  .main-nav .nav-spacer{margin-left:0}
  .nav-search-button{display:none}
  .hero{grid-template-columns:1fr;padding:34px 21px}.hero-photo{order:-1}.hero-photo-frame{width:min(100%,330px)}.hero h1,.hero h2{font-size:2.15rem}
  .content{padding:28px 20px 52px}.page-tools-wrap{padding:10px 18px 0}
  .grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stats{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr}.footer-links{justify-content:flex-start}
  .media-grid,.media-grid-2{grid-template-columns:1fr}
  .archive-search{top:59px}
  .metric-row{grid-template-columns:1fr 76px}.metric-track{grid-column:1/-1;grid-row:2}.metric-value{grid-column:2;grid-row:1}
}
@media (max-width:560px){
  .utility-left{display:none}.utility-bar{justify-content:flex-end}
  .site-header{padding:13px}.brand-logo{gap:11px}.brand-emblem{width:52px;height:52px;flex-basis:52px}.brand-copy strong{font-size:1rem}.brand-copy span{font-size:.71rem}
  .hero{padding:29px 17px}.hero h1,.hero h2{font-size:1.88rem}.hero-photo img{border-width:6px;border-radius:20px}
  .content{padding:24px 15px 45px}.page-tools-wrap{padding:9px 14px 0}.page-tools{justify-content:flex-start}
  .grid-2,.grid-3,.grid-4,.archive-grid{grid-template-columns:1fr}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.stat{min-height:102px;padding:14px 8px}.stat strong{font-size:1.45rem}.stat span{font-size:.71rem}
  .card{padding:17px}.callout{padding:15px 16px}.section{margin:34px 0}
  .legacy-content{font-size:.9rem}table{font-size:.8rem}.legacy-content table{font-size:.78rem}th,td{padding:8px 8px}table.wide{min-width:690px}
  .table-wrap{border-radius:9px}.site-footer{padding:25px 18px}.back-to-top{right:14px;bottom:14px}
}
@media print{
  @page{size:A4;margin:15mm 14mm}
  html{font-size:10.3pt;color-scheme:light!important}
  body{background:#fff!important;color:#111!important;line-height:1.5}
  .reading-progress,.utility-bar,.nav-wrap,.page-tools-wrap,.search-dialog,.back-to-top,.site-footer,.hero-actions{display:none!important}
  .site-shell{width:auto;max-width:none;margin:0;box-shadow:none;background:#fff}
  .site-header{padding:0 0 8mm;border-bottom:1px solid #bbb;background:#fff!important;grid-template-columns:auto 1fr}.brand-emblem{width:45px;height:45px;flex-basis:45px;border-radius:10px}.header-badge{display:none}
  .hero{padding:8mm 0 6mm;background:#fff!important;grid-template-columns:1.3fr .7fr;gap:12mm}.hero:after{display:none}.hero h1,.hero h2{font-size:22pt}.hero-photo img{border:1px solid #bbb;box-shadow:none}.hero-photo-frame:after{display:none}
  .content{padding:6mm 0}.page-head{margin-bottom:6mm}.section{margin:8mm 0}.card,.stat,.callout,.timeline-item,.figure{box-shadow:none;break-inside:avoid;background:#fff!important}.grid{gap:4mm}.stats{gap:3mm}
  a{color:#111;text-decoration:none}.profile-links a{border-color:#aaa}.section-title:after{background:#333}
  .table-wrap{overflow:visible;border:0;border-radius:0;box-shadow:none;margin:5mm 0}table{font-size:8.3pt;line-height:1.35}th,td{padding:3.3pt 4pt;border-color:#aaa}thead{display:table-header-group}tr{break-inside:avoid}table.wide{min-width:0}thead th{position:static;background:#eee!important;color:#111!important}
  tbody tr:nth-child(even)>td{background:#f5f5f5!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .archive-search{display:none}.legacy-content{font-size:8.8pt}.media-grid .figure img{height:auto}
}

/* Executive brief nav highlight */
.main-nav a.nav-brief{position:relative;color:#ffd9a8;font-weight:900}
.main-nav a.nav-brief:before{content:"";position:absolute;left:8px;right:8px;bottom:5px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--focus),#ffc978)}
.main-nav a.nav-brief[aria-current="page"]{color:#fff}
@media print{.main-nav a.nav-brief:before{display:none}}

/* Video link card */
.figure.figure-video{max-width:860px!important;margin:26px auto!important}
.figure .video-link{position:relative!important;display:block!important;width:100%!important;line-height:0;text-decoration:none}
.figure .video-link img{display:block!important;width:100%!important;max-width:100%!important;height:auto!important;margin:0!important;background:#000}
.figure .video-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  display:flex;align-items:center;justify-content:center;
  width:78px;height:54px;border-radius:14px;background:rgba(20,20,20,.78);
  color:#fff;font-size:1.45rem;line-height:1;
  transition:background .18s ease,transform .18s ease}
.figure .video-link:hover .video-play,
.figure .video-link:focus-visible .video-play{background:#c81e1e;transform:translate(-50%,-50%) scale(1.08)}
@media (max-width:640px){.figure .video-play{width:62px;height:44px;font-size:1.15rem}}