:root{
  --ink:#0d1726;
  --ink-2:#243247;
  --muted:#5d6b7e;
  --line:#dbe3ec;
  --line-strong:#c8d3df;
  --paper:#ffffff;
  --soft:#f5f8fb;
  --soft-blue:#edf5ff;
  --navy:#071c32;
  --navy-2:#0b2d4d;
  --blue:#1166ee;
  --cyan:#30d5e8;
  --teal:#0a8a7a;
  --lime:#b9ed68;
  --gold:#e0a83d;
  --danger:#c64141;
  --radius-sm:12px;
  --radius:22px;
  --radius-lg:34px;
  --shadow-sm:0 10px 30px rgba(8,28,50,.08);
  --shadow:0 24px 70px rgba(8,28,50,.13);
  --max:1240px;
  --display:"Segoe UI Variable Display","Segoe UI","Helvetica Neue",Arial,sans-serif;
  --sans:"Segoe UI Variable Text","Segoe UI","Helvetica Neue",Arial,sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);line-height:1.65;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
button{color:inherit}
.container{width:min(calc(100% - 48px),var(--max));margin-inline:auto}
.narrow{max-width:820px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;left:16px;top:-90px;z-index:1000;background:#fff;color:var(--navy);padding:11px 15px;border-radius:10px;box-shadow:var(--shadow-sm)}
.skip-link:focus{top:16px}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.9);backdrop-filter:blur(20px);border-bottom:1px solid rgba(209,220,232,.82)}
.header-inner{height:78px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:flex;align-items:center;gap:13px;min-width:max-content}
.brand-mark{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(145deg,var(--navy),#104c78);color:#fff;font-size:.93rem;font-weight:850;letter-spacing:-.04em;box-shadow:0 10px 26px rgba(7,28,50,.18)}
.brand-copy{display:grid;line-height:1.05}
.brand-copy strong{font-size:.96rem;letter-spacing:.12em}
.brand-copy small{margin-top:6px;color:var(--muted);font-size:.72rem;letter-spacing:.01em}
.site-nav{display:flex;align-items:center;gap:26px}
.site-nav a{font-size:.88rem;font-weight:650;color:#425066;position:relative;padding:9px 0}
.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--navy)}
.site-nav a[aria-current=page]:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;border-radius:999px;background:linear-gradient(90deg,var(--blue),var(--cyan))}
.menu-button{display:none;border:1px solid var(--line);background:#fff;border-radius:12px;padding:9px 13px;font-weight:700;cursor:pointer}

/* Common */
.eyebrow{display:inline-flex;align-items:center;gap:9px;text-transform:uppercase;letter-spacing:.18em;font-weight:800;font-size:.69rem;color:var(--blue)}
.eyebrow:before{content:"";width:22px;height:2px;border-radius:999px;background:currentColor}
.meta-line{font-size:.68rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase;color:var(--teal)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:47px;background:var(--blue);color:#fff;padding:12px 21px;border-radius:999px;font-weight:800;font-size:.9rem;border:1px solid var(--blue);transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.button:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(17,102,238,.25);background:#075ad8}
.button.secondary{background:#fff;color:var(--navy);border-color:var(--line-strong)}
.button.secondary:hover{box-shadow:var(--shadow-sm);background:#f9fbfd}
.text-link{display:inline-flex;gap:8px;align-items:center;font-weight:800;font-size:.88rem;color:var(--navy)}
.text-link span{transition:transform .2s}
.text-link:hover span{transform:translateX(4px)}
.section{padding:96px 0}
.section-muted{background:var(--soft)}
.section-dark{background:var(--navy);color:#fff}
.section-heading{margin-bottom:38px}
.section-heading h2,.two-column-story h2,.research-intro h2,.contact-grid h2{font-family:var(--display);font-size:clamp(2.15rem,4vw,3.65rem);font-weight:760;line-height:1.06;letter-spacing:-.045em;margin:13px 0}
.split-heading{display:flex;align-items:end;justify-content:space-between;gap:48px}
.split-heading>p{max-width:520px;color:var(--muted);margin:0;font-size:1.02rem}
.empty-state{border:1px dashed var(--line-strong);background:#fbfcfe;padding:42px;border-radius:var(--radius);color:var(--muted);text-align:center}

/* Home hero */
.hero{position:relative;overflow:hidden;background:var(--navy);color:#fff;padding:90px 0 78px;isolation:isolate}
.hero:before{content:"";position:absolute;inset:-20% auto auto -12%;width:620px;height:620px;border-radius:50%;background:radial-gradient(circle,rgba(30,112,255,.36),rgba(30,112,255,0) 68%);z-index:-1}
.hero:after{content:"";position:absolute;right:-10%;bottom:-46%;width:720px;height:720px;border-radius:50%;background:radial-gradient(circle,rgba(48,213,232,.2),rgba(48,213,232,0) 66%);z-index:-1}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);gap:72px;align-items:center}
.hero .eyebrow{color:#8edfff}
.hero h1{font-family:var(--display);font-size:clamp(3.7rem,6vw,6.5rem);font-weight:780;letter-spacing:-.065em;line-height:.96;margin:20px 0 26px;max-width:780px}
.hero h1 em{font-style:normal;color:var(--cyan)}
.hero-copy>p{font-size:1.14rem;color:#b8c8d9;max-width:670px;line-height:1.75}
.hero-actions{display:flex;align-items:center;gap:25px;margin-top:34px}
.hero .button{background:var(--lime);border-color:var(--lime);color:#0b2a2f}
.hero .button:hover{background:#c8f785;box-shadow:0 15px 34px rgba(185,237,104,.2)}
.hero .text-link{color:#fff}
.hero-facts{display:flex;gap:34px;flex-wrap:wrap;margin-top:46px;padding-top:28px;border-top:1px solid rgba(255,255,255,.13)}
.hero-fact{display:grid;gap:4px}
.hero-fact strong{font-family:var(--display);font-size:1.55rem;line-height:1;color:#fff}
.hero-fact span{font-size:.72rem;text-transform:uppercase;letter-spacing:.11em;color:#8fa8bf}
.hero-panel{position:relative;min-height:520px;border-radius:var(--radius-lg);overflow:hidden;background:linear-gradient(155deg,rgba(21,71,108,.9),rgba(4,24,43,.98));border:1px solid rgba(255,255,255,.13);box-shadow:0 38px 90px rgba(0,0,0,.32)}
.hero-panel:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:70px 70px;mask-image:linear-gradient(to bottom,black,transparent 92%)}
.visual-top{position:absolute;left:28px;right:28px;top:24px;display:flex;justify-content:space-between;align-items:center;color:#a7bdd0;font-size:.68rem;text-transform:uppercase;letter-spacing:.13em;font-weight:750}
.visual-status{display:flex;align-items:center;gap:7px}
.visual-status:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 16px var(--lime)}
.knowledge-map{position:absolute;inset:78px 26px 92px}
.map-line{position:absolute;height:1px;transform-origin:left center;background:linear-gradient(90deg,rgba(48,213,232,.1),rgba(48,213,232,.72),rgba(48,213,232,.1));box-shadow:0 0 10px rgba(48,213,232,.2)}
.map-line.l1{width:42%;left:21%;top:31%;transform:rotate(-24deg)}
.map-line.l2{width:38%;left:43%;top:33%;transform:rotate(24deg)}
.map-line.l3{width:40%;left:19%;top:55%;transform:rotate(18deg)}
.map-line.l4{width:38%;left:44%;top:56%;transform:rotate(-20deg)}
.map-line.l5{width:27%;left:36%;top:44%;transform:rotate(90deg)}
.map-node{position:absolute;display:grid;place-items:center;text-align:center;width:92px;height:92px;padding:12px;border-radius:50%;background:rgba(8,31,53,.82);border:1px solid rgba(142,223,255,.28);color:#d8f7ff;font-size:.69rem;font-weight:750;line-height:1.25;box-shadow:0 16px 30px rgba(0,0,0,.18),inset 0 0 25px rgba(48,213,232,.05)}
.map-node:before{content:"";position:absolute;inset:-5px;border-radius:50%;border:1px solid rgba(48,213,232,.09)}
.map-node.core{left:calc(50% - 58px);top:calc(50% - 58px);width:116px;height:116px;background:linear-gradient(145deg,#1166ee,#0a8a7a);border-color:rgba(255,255,255,.36);font-size:1.2rem;color:#fff;box-shadow:0 0 42px rgba(48,213,232,.24)}
.map-node.n1{left:1%;top:4%}.map-node.n2{right:0;top:7%}.map-node.n3{left:0;bottom:4%}.map-node.n4{right:1%;bottom:2%}
.hero-panel-content{position:absolute;left:28px;right:28px;bottom:24px;display:flex;justify-content:space-between;gap:16px;align-items:end;padding-top:18px;border-top:1px solid rgba(255,255,255,.1)}
.hero-panel-content span{display:block;color:#88a4bb;text-transform:uppercase;letter-spacing:.13em;font-size:.62rem;margin-bottom:4px}
.hero-panel-content strong{font-size:.92rem;color:#fff}

/* Metric bar */
.metrics-band{position:relative;margin-top:-1px;background:#fff;border-bottom:1px solid var(--line)}
.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.metric{padding:26px 24px;border-right:1px solid var(--line)}
.metric:first-child{border-left:1px solid var(--line)}
.metric strong{display:block;font-family:var(--display);font-size:1.8rem;letter-spacing:-.04em;line-height:1.1}
.metric span{display:block;margin-top:6px;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;font-weight:750}

/* Themes */
.themes-section{background:#fff}
.theme-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.theme-card{position:relative;padding:31px;min-height:245px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(160deg,#fff,#fbfdff);overflow:hidden;transition:transform .22s,box-shadow .22s,border-color .22s}
.theme-card:after{content:"";position:absolute;width:120px;height:120px;border-radius:50%;right:-55px;top:-55px;background:radial-gradient(circle,rgba(17,102,238,.12),rgba(17,102,238,0) 70%)}
.theme-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-sm);border-color:#bbcee2}
.theme-card>span{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:var(--soft-blue);color:var(--blue);font-size:.7rem;font-weight:850}
.theme-card h3{font-size:1.28rem;letter-spacing:-.02em;margin:42px 0 10px}
.theme-card p{color:var(--muted);margin:0;font-size:.94rem}

/* Project and news cards */
.project-grid,.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.project-card,.news-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:transform .22s,box-shadow .22s,border-color .22s}
.project-card:hover,.news-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-sm);border-color:#c3d1e0}
.project-visual,.news-card-image{aspect-ratio:16/10;overflow:hidden;background:#dfe7f0;position:relative}
.project-visual:after,.news-card-image:after{content:"";position:absolute;inset:auto 0 0;height:35%;background:linear-gradient(to top,rgba(7,28,50,.22),transparent);pointer-events:none}
.project-visual img,.news-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease}
.project-card:hover img,.news-card:hover img{transform:scale(1.035)}
.project-body,.news-card-body{padding:27px}
.project-body h3,.news-card-body h3{font-family:var(--display);font-size:1.48rem;font-weight:760;letter-spacing:-.035em;line-height:1.14;margin:11px 0}
.project-body p,.news-card-body p{color:var(--muted);font-size:.94rem}
.section-action{margin-top:34px}
.lead-story{display:grid;grid-template-columns:1.18fr .82fr;gap:54px;align-items:center;padding:28px;border:1px solid var(--line);border-radius:var(--radius-lg);background:linear-gradient(145deg,#fff,#f7faff);box-shadow:var(--shadow-sm)}
.lead-image{aspect-ratio:16/10;overflow:hidden;border-radius:20px;background:#dfe5ec}
.lead-image img{width:100%;height:100%;object-fit:cover;transition:transform .55s}
.lead-story:hover .lead-image img{transform:scale(1.025)}
.lead-content{padding-right:15px}
.lead-content h3{font-family:var(--display);font-size:clamp(2rem,4vw,3.35rem);font-weight:760;line-height:1.02;letter-spacing:-.05em;margin:16px 0}
.lead-content p{color:var(--muted);font-size:1.03rem}
.compact-grid{margin-top:28px}

/* People teaser */
.people-strip{background:linear-gradient(130deg,#071c32,#0d3d60);color:#fff;position:relative;overflow:hidden}
.people-strip:after{content:"";position:absolute;right:-180px;top:-260px;width:560px;height:560px;border-radius:50%;border:1px solid rgba(48,213,232,.15);box-shadow:0 0 0 65px rgba(48,213,232,.04),0 0 0 130px rgba(48,213,232,.025)}
.people-strip-inner{position:relative;z-index:1;display:grid;grid-template-columns:1fr auto;align-items:end;gap:60px}
.people-strip .eyebrow{color:#87e9f3}
.people-strip h2{font-family:var(--display);font-size:clamp(2.3rem,4vw,3.9rem);font-weight:760;line-height:1.05;letter-spacing:-.05em;margin:14px 0}
.people-strip p{max-width:680px;color:#b8cadd}
.people-strip .text-link{color:#fff}
.people-count{display:grid;justify-items:start;min-width:225px}
.people-count strong{font-family:var(--display);font-size:5rem;line-height:.9;color:var(--lime)}
.people-count span{color:#a9bfd3;margin:10px 0 18px}

/* Internal page hero */
.page-hero{position:relative;padding:84px 0 78px;background:linear-gradient(140deg,#f0f6ff,#fbfdff 54%,#effbf8);overflow:hidden;border-bottom:1px solid var(--line)}
.page-hero:after{content:"";position:absolute;right:-180px;top:-240px;width:530px;height:530px;border-radius:50%;background:radial-gradient(circle,rgba(17,102,238,.13),rgba(17,102,238,0) 68%)}
.page-hero.compact{padding:64px 0}
.page-hero h1{position:relative;z-index:1;font-family:var(--display);font-size:clamp(3rem,6vw,5.5rem);font-weight:780;line-height:.98;letter-spacing:-.065em;max-width:1020px;margin:20px 0 24px}
.page-hero p{position:relative;z-index:1;max-width:760px;color:var(--muted);font-size:1.13rem}
.filter-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:34px}
.filter-chip{padding:8px 14px;border:1px solid var(--line);border-radius:999px;font-size:.82rem;font-weight:700;background:#fff}
.filter-chip.active,.filter-chip:hover{background:var(--navy);color:#fff;border-color:var(--navy)}

/* Article */
.article-page{padding:74px 0 104px}
.article-header{text-align:center}
.article-header h1{font-family:var(--display);font-size:clamp(2.8rem,6vw,5.4rem);font-weight:780;line-height:1;letter-spacing:-.06em;margin:20px auto}
.link-eyebrow{display:inline-flex}
.article-deck{font-size:1.18rem;color:var(--muted);max-width:760px;margin:0 auto}
.article-byline{display:flex;justify-content:center;gap:22px;flex-wrap:wrap;color:var(--muted);font-size:.83rem;margin-top:28px}
.article-image-wrap{margin-top:52px}
.article-image{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:26px;box-shadow:var(--shadow-sm)}
.image-caption{color:var(--muted);font-size:.78rem;margin:9px 4px}
.article-layout{display:grid;grid-template-columns:76px minmax(0,780px);justify-content:center;gap:40px;margin-top:56px}
.share-rail{display:flex;flex-direction:column;gap:10px;align-items:center;position:sticky;top:110px;align-self:start}
.share-rail>span{text-transform:uppercase;letter-spacing:.13em;font-size:.62rem;color:var(--muted)}
.share-rail a,.share-rail button{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);background:#fff;font-weight:800;color:var(--ink);cursor:pointer;transition:.2s}
.share-rail a:hover,.share-rail button:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.article-content{font-size:1.12rem;line-height:1.9;color:#26364a}
.article-content p:first-child:first-letter{float:left;font-family:var(--display);font-size:4.25rem;line-height:.82;margin:10px 10px 0 0;color:var(--blue);font-weight:760}
.article-content h2,.article-content h3{font-family:var(--display);color:var(--ink);line-height:1.18;margin-top:2.1em;letter-spacing:-.025em}
.article-content blockquote{border-left:4px solid var(--blue);margin:2em 0;padding:6px 0 6px 25px;font-size:1.28rem;color:var(--navy);font-weight:650}
.article-content a{color:var(--blue);text-decoration:underline}
.article-content img{border-radius:16px;margin:32px auto}
.article-end{text-align:center}
.article-end>span{display:inline-grid;place-items:center;width:56px;height:56px;border-radius:16px;background:var(--navy);color:#fff;font-weight:800}

/* About */
.two-column-story{display:grid;grid-template-columns:.75fr 1.25fr;gap:82px}
.two-column-story p{font-size:1.1rem;color:var(--muted)}
.principle-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.14);border-radius:22px;overflow:hidden}
.principle-grid article{padding:32px;background:var(--navy);min-height:280px}
.principle-grid span{color:#80dff0;font-size:.7rem;font-weight:800}
.principle-grid h3{margin-top:62px;font-size:1.2rem}
.principle-grid p{color:#b6c8d9;font-size:.92rem}
.roadmap{border-top:1px solid var(--line)}
.roadmap article{display:grid;grid-template-columns:135px 1fr;gap:38px;padding:30px 0;border-bottom:1px solid var(--line)}
.roadmap>article>span{font-size:1.7rem;font-family:var(--display);font-weight:760;color:var(--blue)}
.roadmap h3{margin:0 0 6px;font-size:1.15rem}
.roadmap p{margin:0;color:var(--muted)}

/* People */
.people-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(470px,1fr));gap:30px;align-items:start}
.person-card{display:grid;grid-template-columns:minmax(250px,320px) minmax(0,1fr);border:1px solid var(--line);border-radius:28px;overflow:hidden;background:#fff;box-shadow:var(--shadow-sm);min-height:430px}
.people-grid>.person-card:only-child{max-width:1080px;margin-inline:auto;width:100%}
.person-photo{position:relative;overflow:hidden;background:linear-gradient(150deg,#dce8f4,#eff4f8);min-height:430px;isolation:isolate}
.person-photo:before{content:"";position:absolute;inset:-24px;background-image:linear-gradient(rgba(7,28,50,.12),rgba(7,28,50,.12)),var(--person-image);background-size:cover;background-position:center;filter:blur(22px) saturate(.78);opacity:.5;z-index:-1}
.person-photo:after{content:"";position:absolute;inset:auto 0 0;height:22%;background:linear-gradient(to top,rgba(7,28,50,.16),transparent);pointer-events:none}
.person-photo img{width:100%;height:100%;object-fit:contain;object-position:center;position:relative;z-index:1}
.person-body{padding:38px 40px;align-self:center}
.person-body h2{font-family:var(--display);font-size:clamp(1.9rem,3vw,2.65rem);font-weight:780;line-height:1.03;letter-spacing:-.045em;margin:12px 0}
.person-body>p{color:var(--muted);font-size:.96rem}
.person-expertise{font-weight:750;color:var(--navy)!important;line-height:1.55}
.person-links{display:flex;gap:9px;flex-wrap:wrap;margin-top:22px}
.person-links a{display:inline-flex;padding:8px 11px;border-radius:999px;background:var(--soft-blue);border:1px solid #d5e5fb;font-size:.72rem;font-weight:850;color:var(--blue);transition:.2s}
.person-links a:hover{background:var(--blue);color:#fff;border-color:var(--blue)}

/* Research */
.research-intro{display:grid;grid-template-columns:.7fr 1.3fr;gap:74px;align-items:start}
.research-intro p{font-size:1.08rem;color:var(--muted)}
.theme-list{margin-top:50px;border-top:1px solid var(--line)}
.theme-list article{display:grid;grid-template-columns:1fr 1.2fr;gap:44px;padding:27px 0;border-bottom:1px solid var(--line)}
.theme-list h3,.theme-list p{margin:0}
.theme-list h3{font-size:1.05rem}
.theme-list p{color:var(--muted)}
.research-projects{display:grid;gap:30px}
.research-project{display:grid;grid-template-columns:.9fr 1.1fr;gap:0;background:#fff;border:1px solid var(--line);border-radius:28px;overflow:hidden;box-shadow:var(--shadow-sm)}
.research-project-image{min-height:360px;overflow:hidden}
.research-project-image img{width:100%;height:100%;object-fit:cover;transition:transform .55s}
.research-project:hover .research-project-image img{transform:scale(1.025)}
.research-project>div:last-child{padding:44px}
.research-project h3{font-family:var(--display);font-size:2.25rem;font-weight:760;line-height:1.05;letter-spacing:-.045em;margin:12px 0}
.research-project p{color:var(--muted)}
.project-details{color:var(--muted)}

/* Publications */
.publication-list{border-top:1px solid var(--line)}
.publication-list article{display:grid;grid-template-columns:120px 1fr;gap:35px;padding:36px 0;border-bottom:1px solid var(--line)}
.publication-year{font-family:var(--display);font-size:1.9rem;font-weight:760;color:var(--blue)}
.publication-list h2{font-family:var(--display);font-weight:740;font-size:1.58rem;line-height:1.2;letter-spacing:-.025em;margin:8px 0}
.publication-list p{margin:5px 0;color:var(--muted)}
.publication-authors{color:var(--ink)!important}

/* Contact and search */
.contact-grid{display:grid;grid-template-columns:1fr .8fr;gap:72px}
.contact-card{border:1px solid var(--line);border-radius:26px;padding:40px;background:linear-gradient(145deg,#fff,#f7faff);box-shadow:var(--shadow-sm)}
.contact-card h3{font-family:var(--display);font-size:1.65rem;overflow-wrap:anywhere;letter-spacing:-.025em}
.contact-card p{color:var(--muted)}
.search-form{display:flex;gap:12px;max-width:720px;margin-top:28px}
.search-form input{flex:1;border:1px solid var(--line);padding:13px 17px;border-radius:999px;background:#fff;outline:none}
.search-form input:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(17,102,238,.1)}
.search-results article{padding:28px 0;border-bottom:1px solid var(--line)}
.search-results h2{font-family:var(--display);font-size:1.65rem;margin:8px 0;letter-spacing:-.025em}

/* Footer */
.site-footer{padding:68px 0 25px;background:#051526;color:#dce7f2}
.footer-grid{display:grid;grid-template-columns:1.5fr .7fr 1fr;gap:64px}
.footer-brand{font-family:var(--display);font-size:1.42rem;font-weight:760;color:#fff;letter-spacing:-.025em}
.footer-grid p{color:#8fa5ba;max-width:500px}
.footer-grid>div:not(:first-child){display:grid;align-content:start;gap:9px}
.footer-heading{text-transform:uppercase;letter-spacing:.15em;font-size:.67rem;color:#6adce8;font-weight:850;margin-bottom:8px}
.footer-grid a,.footer-grid span{font-size:.86rem;color:#b8c8d7}
.footer-grid a:hover{color:#fff}
.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.12);padding-top:22px;margin-top:48px;color:#738ba2;font-size:.75rem}

@media(max-width:1050px){
  .site-nav{position:absolute;top:78px;left:24px;right:24px;display:none;flex-direction:column;align-items:stretch;gap:0;background:#fff;border:1px solid var(--line);border-radius:18px;padding:10px;box-shadow:var(--shadow)}
  .site-nav.open{display:flex}.site-nav a{padding:12px}.site-nav a[aria-current=page]:after{display:none}.menu-button{display:block}
  .hero-grid{grid-template-columns:1fr;gap:48px}.hero-copy{max-width:850px}.hero-panel{min-height:470px;max-width:700px;width:100%}
  .theme-grid,.project-grid,.news-grid{grid-template-columns:repeat(2,1fr)}
  .principle-grid{grid-template-columns:repeat(2,1fr)}
  .lead-story,.two-column-story,.research-intro,.contact-grid{grid-template-columns:1fr}
  .lead-story{gap:30px}.lead-content{padding:0 6px 10px}
  .people-grid{grid-template-columns:1fr}.person-card{grid-template-columns:300px 1fr}
  .research-project{grid-template-columns:1fr}.research-project-image{min-height:320px}.research-project>div:last-child{padding:36px}
  .footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}
  .article-layout{grid-template-columns:1fr}.share-rail{position:static;flex-direction:row;justify-content:center}
  .people-strip-inner{grid-template-columns:1fr}.people-count{justify-items:start}
  .split-heading{align-items:start;flex-direction:column;gap:18px}
}

@media(max-width:760px){
  .container{width:min(calc(100% - 30px),var(--max))}
  .header-inner{height:70px}.site-nav{top:70px;left:15px;right:15px}.brand-copy small{max-width:150px}
  .hero{padding:66px 0 58px}.hero h1{font-size:clamp(3rem,15vw,4.5rem)}.hero-actions{align-items:flex-start;flex-direction:column;gap:17px}.hero-facts{gap:26px}.hero-panel{min-height:410px;border-radius:25px}.knowledge-map{inset:72px 14px 90px}.map-node{width:72px;height:72px;font-size:.58rem}.map-node.core{width:96px;height:96px;left:calc(50% - 48px);top:calc(50% - 48px);font-size:1rem}.hero-panel-content{left:20px;right:20px}
  .metrics-grid{grid-template-columns:repeat(2,1fr)}.metric:nth-child(2){border-right:0}.metric:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .section{padding:70px 0}.theme-grid,.project-grid,.news-grid,.principle-grid{grid-template-columns:1fr}.theme-card{min-height:auto}.theme-card h3{margin-top:30px}
  .page-hero{padding:64px 0}.page-hero h1{font-size:clamp(2.8rem,14vw,4.2rem)}
  .lead-story{padding:18px;border-radius:24px}.lead-content h3{font-size:2rem}
  .article-page{padding-top:52px}.article-layout{margin-top:38px}.article-content{font-size:1.04rem}.article-content p:first-child:first-letter{font-size:3.6rem}
  .roadmap article,.theme-list article,.publication-list article{grid-template-columns:1fr;gap:10px}
  .person-card{grid-template-columns:1fr;min-height:0}.person-photo{height:auto;min-height:0;aspect-ratio:4/5}.person-body{padding:30px 26px}.person-body h2{font-size:2rem}
  .research-project h3{font-size:1.85rem}.research-project>div:last-child{padding:28px}
  .search-form{flex-direction:column}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.footer-bottom{gap:12px;flex-direction:column}
  .article-byline{gap:10px}.people-count strong{font-size:4.2rem}
}

@media(max-width:430px){
  .brand-mark{width:42px;height:42px}.brand-copy strong{font-size:.86rem}.brand-copy small{font-size:.64rem}
  .hero h1{font-size:3.25rem}.hero-copy>p{font-size:1rem}.hero-fact strong{font-size:1.3rem}.hero-fact span{font-size:.62rem}
  .map-node.n1,.map-node.n3{left:-2%}.map-node.n2,.map-node.n4{right:-2%}
  .metrics-grid{grid-template-columns:1fr}.metric,.metric:first-child{border-left:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
}

@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Lightweight inline icons */
.ui-icon{width:18px;height:18px;display:block;flex:0 0 auto}
.ui-icon-orcid .icon-cut{fill:currentColor;stroke:none}
.button-with-icon{gap:10px}
.button-with-icon .ui-icon{width:19px;height:19px}
.text-link .ui-icon{width:15px;height:15px;transition:transform .2s ease}
.text-link:hover .ui-icon{transform:translate(2px,-2px)}

/* Recognisable social-sharing controls */
.share-rail .ui-icon{width:19px;height:19px}
.share-rail .share-whatsapp{color:#1c9b56}
.share-rail .share-linkedin{color:#0a66c2}
.share-rail .share-facebook{color:#1877f2}
.share-rail .share-x{color:#111827}
.share-rail .share-native{color:var(--navy)}
.share-rail .share-whatsapp:hover{background:#1c9b56;border-color:#1c9b56;color:#fff}
.share-rail .share-linkedin:hover{background:#0a66c2;border-color:#0a66c2;color:#fff}
.share-rail .share-facebook:hover{background:#1877f2;border-color:#1877f2;color:#fff}
.share-rail .share-x:hover{background:#111827;border-color:#111827;color:#fff}
.share-rail .share-native:hover{background:var(--navy);border-color:var(--navy);color:#fff}

/* Academic profile links */
.person-links a{align-items:center;gap:7px}
.person-links .ui-icon{width:15px;height:15px}
.person-links .profile-scholar{color:#2867c7;background:#f1f6ff;border-color:#d6e5fb}
.person-links .profile-scopus{color:#e46f19;background:#fff7ef;border-color:#f4dcc8}
.person-links .profile-orcid{color:#6d9f22;background:#f5faed;border-color:#dbe9c5}
.person-links .profile-sinta{color:#087b91;background:#eef9fb;border-color:#cce8ed}
.person-links .profile-email{color:#334155;background:#f5f7fa;border-color:#dce3ea}
.person-links .profile-scholar:hover{background:#2867c7;border-color:#2867c7;color:#fff}
.person-links .profile-scopus:hover{background:#e46f19;border-color:#e46f19;color:#fff}
.person-links .profile-orcid:hover{background:#6d9f22;border-color:#6d9f22;color:#fff}
.person-links .profile-sinta:hover{background:#087b91;border-color:#087b91;color:#fff}
.person-links .profile-email:hover{background:#334155;border-color:#334155;color:#fff}
.footer-icon-link{display:flex!important;align-items:center;gap:8px;overflow-wrap:anywhere}
.footer-icon-link .ui-icon{width:16px;height:16px}

/* Newsroom v1.3 */
.news-hero{padding:72px 0 62px}
.news-hero h1{max-width:850px}
.newsroom-section{padding-top:58px}
.news-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:34px}
.filter-scroll{display:flex;gap:10px;flex-wrap:wrap;min-width:0}
.filter-chip{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 15px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:.78rem;font-weight:780;color:var(--ink-2);white-space:nowrap;transition:.2s}
.filter-chip:hover{border-color:#aebdcd;background:var(--soft)}
.filter-chip.active{background:var(--navy);border-color:var(--navy);color:#fff}
.news-search{display:flex;min-width:300px;border:1px solid var(--line-strong);border-radius:999px;background:#fff;overflow:hidden}
.news-search:focus-within{border-color:var(--blue);box-shadow:0 0 0 4px rgba(17,102,238,.09)}
.news-search input{min-width:0;flex:1;border:0;outline:0;padding:10px 16px;background:transparent}
.news-search button{border:0;background:var(--navy);color:#fff;padding:10px 17px;font-weight:750;cursor:pointer}
.news-results-note{padding:14px 18px;border:1px solid var(--line);background:var(--soft);border-radius:14px;margin:-10px 0 28px;color:var(--muted)}
.news-feature-layout{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(310px,.75fr);gap:24px;margin-bottom:66px}
.news-lead-card{display:grid;grid-template-rows:auto 1fr;border:1px solid var(--line);border-radius:28px;overflow:hidden;background:#fff;box-shadow:var(--shadow-sm)}
.news-lead-image{display:block;aspect-ratio:16/9;overflow:hidden;background:#dfe7f0}
.news-lead-image img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease}
.news-lead-card:hover .news-lead-image img{transform:scale(1.025)}
.news-lead-body{display:flex;flex-direction:column;padding:34px 36px}
.news-lead-body h2{font-family:var(--display);font-size:clamp(2rem,3.4vw,3.45rem);line-height:1.02;letter-spacing:-.05em;margin:13px 0 16px}
.news-lead-body p{font-size:1.02rem;color:var(--muted);margin:0 0 24px}
.news-feature-side{display:grid;grid-template-rows:repeat(2,minmax(0,1fr));gap:24px}
.news-card{display:flex;flex-direction:column;height:100%}
.news-card-image{display:block;aspect-ratio:16/9;overflow:hidden;background:#dfe7f0;position:relative}
.news-card-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.news-card-body{display:flex;flex-direction:column;flex:1;padding:25px 26px}
.news-card-body h3{font-size:1.38rem;margin:10px 0 12px}
.news-card-body p{margin:0 0 20px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.story-meta{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:auto;color:var(--muted);font-size:.76rem}
.news-card-horizontal{display:grid;grid-template-columns:145px 1fr;border-radius:22px}
.news-card-horizontal .news-card-image{aspect-ratio:auto;height:100%;min-height:170px}
.news-card-horizontal .news-card-body{padding:20px}
.news-card-horizontal .news-card-body h3{font-size:1.12rem;line-height:1.16}
.news-card-horizontal .news-card-body p{font-size:.84rem;-webkit-line-clamp:2}
.news-card-horizontal .story-meta .text-link{font-size:.76rem}
.news-section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:28px}
.news-section-heading h2{font-family:var(--display);font-size:clamp(2rem,3.5vw,3rem);line-height:1.05;letter-spacing:-.04em;margin:10px 0 0}
.news-section-heading>span{color:var(--muted);font-size:.84rem}
.newsroom-grid{align-items:stretch}
.pagination{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:54px;padding-top:26px;border-top:1px solid var(--line)}
.pagination-pages{display:flex;align-items:center;gap:8px}
.pagination a,.pagination span{min-width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:11px;font-size:.82rem;font-weight:750}
.pagination-pages a{border:1px solid var(--line);background:#fff}
.pagination-pages a:hover{border-color:var(--blue);color:var(--blue)}
.pagination-pages a[aria-current=page]{background:var(--navy);color:#fff;border-color:var(--navy)}
.pagination-direction{padding:0 12px;color:var(--navy)}
.pagination-direction.disabled{color:#a8b2bf}
.related-stories .section-heading{margin-bottom:30px}
.article-byline a{font-weight:750;color:var(--navy)}
.article-content figure{margin:36px 0}
.article-content figure img{width:100%;height:auto;margin:0;border-radius:18px}
.article-content figcaption{margin-top:10px;color:var(--muted);font-size:.82rem;text-align:center}

@media(max-width:1050px){
  .news-feature-layout{grid-template-columns:1fr}
  .news-feature-side{grid-template-columns:repeat(2,1fr);grid-template-rows:auto}
  .news-card-horizontal{grid-template-columns:170px 1fr}
}

@media(max-width:760px){
  .menu-button{display:inline-flex;align-items:center;gap:7px}
  .news-hero{padding:54px 0 48px}
  .newsroom-section{padding-top:38px}
  .news-toolbar{align-items:stretch;flex-direction:column;margin-bottom:26px}
  .filter-scroll{flex-wrap:nowrap;overflow-x:auto;padding-bottom:5px;scrollbar-width:none;margin-inline:-15px;padding-inline:15px}
  .filter-scroll::-webkit-scrollbar{display:none}
  .news-search{min-width:0;width:100%}
  .news-feature-layout{margin-bottom:48px}
  .news-lead-card{border-radius:22px}
  .news-lead-body{padding:25px 23px}
  .news-lead-body h2{font-size:2rem}
  .news-feature-side{grid-template-columns:1fr}
  .news-card-horizontal{grid-template-columns:132px 1fr}
  .news-card-horizontal .news-card-image{min-height:155px}
  .news-card-horizontal .news-card-body{padding:17px}
  .news-card-horizontal .news-card-body p{display:none}
  .news-card-horizontal .story-meta span{display:none}
  .news-section-heading{align-items:flex-start;flex-direction:column;gap:8px}
  .news-card-body{padding:22px}
  .pagination{align-items:stretch;flex-wrap:wrap}
  .pagination-pages{order:3;width:100%;justify-content:center}
  .pagination-direction{flex:1}
  .article-image-wrap{margin-top:34px}
  .article-image{border-radius:18px}
}

@media(max-width:430px){
  .news-card-horizontal{grid-template-columns:112px 1fr}
  .news-card-horizontal .news-card-image{min-height:142px}
  .news-card-horizontal .meta-line{font-size:.58rem}
  .news-card-horizontal .news-card-body h3{font-size:1rem}
  .story-meta{align-items:flex-start}
  .pagination-pages{gap:4px}
  .pagination a,.pagination span{min-width:36px;height:36px}
}
