:root {
    --bg: #ffffff;
    --soft: #f6f6f3;
    --ink: #151515;
    --muted: #666866;
    --line: #ddddda;
    --yellow: #f7c800;
    --yellow-2: #ffdc38;
    --purple: #5f2d83;
    --purple-deep: #2f163f;
    --dark: #151515;
    --dark-2: #1c1c1c;
    --max: 1200px;
    --radius: 22px;
    --shadow: 0 22px 70px rgba(0,0,0,.08);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    color: var(--ink);
    background: var(--bg);
    font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
    font-size: 16px;
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
}
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; height: auto; }
button, input, textarea, select { font: inherit; }
.container { width: min(calc(100% - 48px), var(--max)); margin: 0 auto; }
.section { padding: 112px 0; }
.section-soft { background: var(--soft); }
.section-dark { background: var(--dark); color: #fff; }
.screen-reader-text {
    clip: rect(1px,1px,1px,1px); clip-path: inset(50%); height: 1px; width: 1px;
    overflow: hidden; position: absolute !important; white-space: nowrap;
}
.skip-link { position: fixed; left: 16px; top: -100px; z-index: 9999; background: #fff; color: #000; padding: 10px 16px; border-radius: 8px; }
.skip-link:focus { top: 16px; }

/* Header */
.site-header {
    position: fixed; inset: 0 0 auto 0; z-index: 1000;
    background: rgba(21,21,21,.78); color: #fff;
    border-bottom: 1px solid rgba(255,255,255,.10);
    backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
    transition: background .25s ease, box-shadow .25s ease;
}
.site-header.scrolled { background: rgba(21,21,21,.95); box-shadow: 0 8px 30px rgba(0,0,0,.12); }
.nav-wrap { height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.brand-group { display:inline-flex; align-items:center; gap:12px; min-width:210px; flex:0 1 auto; }
.brand-logo { flex:0 0 auto; display:flex; align-items:center; }
.brand-logo .custom-logo-link { display:flex; align-items:center; }
.brand-logo img { display:block; max-height:50px; width:auto; max-width:170px; object-fit:contain; }
.brand-mark-link { display:flex; align-items:center; flex:0 0 auto; }
.brand-mark { width: 36px; height: 36px; position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 4px; transform: rotate(45deg); }
.brand-mark span { display: block; background: var(--yellow); border-radius: 2px; }
.brand-mark span:nth-child(2), .brand-mark span:nth-child(3) { opacity: .55; }
.brand-text { display:flex; flex-direction:column; line-height:1.1; min-width:0; color:#fff; }
.brand-text:hover, .brand-text:focus { color:#fff; }
.brand-text strong { font-size:1.22rem; letter-spacing:.06em; white-space:nowrap; }
.brand-text small { max-width:220px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.64rem; color:rgba(255,255,255,.64); margin-top:4px; letter-spacing:.01em; }
.primary-menu { margin: 0; padding: 0; list-style: none; display: flex; align-items: center; gap: 30px; }
.primary-menu a { display: block; padding: 8px 0; color: rgba(255,255,255,.75); font-size: .86rem; font-weight: 650; letter-spacing: .01em; position: relative; }
.primary-menu a::after { content:""; position:absolute; left:0; bottom:1px; width:0; height:2px; background:var(--yellow); transition:width .2s ease; }
.primary-menu a:hover, .primary-menu a:focus { color: #fff; }
.primary-menu a:hover::after, .primary-menu a:focus::after { width:100%; }
.menu-toggle { display:none; border:0; background:transparent; width:42px; height:42px; padding:9px; cursor:pointer; }
.menu-toggle > span:not(.screen-reader-text) { display:block; height:2px; background:#fff; margin:5px 0; border-radius:2px; transition:.2s ease; }

/* Hero */
.hero { min-height: 760px; padding: 164px 0 50px; position: relative; overflow: hidden; }
.hero::before { content:""; position:absolute; width:580px; height:580px; right:-180px; top:-180px; border-radius:50%; background:radial-gradient(circle, rgba(95,45,131,.62), rgba(95,45,131,0) 68%); pointer-events:none; }
.hero::after { content:""; position:absolute; width:540px; height:540px; left:-260px; bottom:-330px; border-radius:50%; background:radial-gradient(circle, rgba(247,200,0,.18), rgba(247,200,0,0) 68%); pointer-events:none; }
.hero-grid-bg { position:absolute; inset:0; opacity:.15; background-image: linear-gradient(rgba(255,255,255,.12) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.12) 1px, transparent 1px); background-size: 64px 64px; mask-image: linear-gradient(to bottom, #000, transparent 92%); }
.hero-layout { display:grid; grid-template-columns: 1.08fr .92fr; align-items:center; gap:70px; position:relative; z-index:2; }
.eyebrow, .section-kicker { text-transform: uppercase; letter-spacing: .14em; font-size: .72rem; font-weight: 800; }
.eyebrow { color: rgba(255,255,255,.66); display:flex; align-items:center; gap:10px; margin-bottom:26px; }
.eyebrow-dot { width:8px; height:8px; border-radius:50%; background:var(--yellow); box-shadow:0 0 0 6px rgba(247,200,0,.12); }
.hero h1 { margin:0; max-width:760px; font-size:clamp(3.6rem, 7vw, 6.8rem); line-height:.93; letter-spacing:-.06em; font-weight:760; }
.hero h1::after { content:""; display:inline-block; width:.18em; height:.18em; margin-left:.05em; border-radius:50%; background:var(--yellow); }
.hero-lead { max-width:680px; margin:30px 0 0; font-size:1.13rem; line-height:1.75; color:rgba(255,255,255,.70); }
.hero-actions { display:flex; gap:14px; flex-wrap:wrap; margin-top:38px; }
.btn { min-height:50px; padding:13px 20px; border:1px solid transparent; border-radius:999px; display:inline-flex; align-items:center; justify-content:center; gap:12px; font-size:.88rem; font-weight:800; letter-spacing:.01em; transition:transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease; }
.btn:hover { transform:translateY(-2px); }
.btn-primary { background:var(--yellow); color:#161616; }
.btn-primary:hover { background:var(--yellow-2); }
.btn-ghost { color:#fff; border-color:rgba(255,255,255,.25); background:rgba(255,255,255,.03); }
.btn-ghost:hover { border-color:rgba(255,255,255,.55); background:rgba(255,255,255,.07); }
.hero-visual { min-height:480px; position:relative; display:flex; align-items:center; justify-content:center; }
.data-core { width:230px; height:230px; border-radius:50%; background:radial-gradient(circle at 38% 30%, #7d45a4, var(--purple-deep)); box-shadow:0 36px 100px rgba(0,0,0,.38), inset 0 0 0 1px rgba(255,255,255,.12); display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; z-index:3; padding:28px; }
.data-core::before { content:""; width:48px; height:48px; border:10px solid var(--yellow); border-left-color:transparent; border-radius:50%; margin-bottom:15px; transform:rotate(-35deg); }
.core-label { font-size:.68rem; letter-spacing:.18em; color:rgba(255,255,255,.65); margin-bottom:5px; }
.data-core strong { font-size:1rem; line-height:1.35; }
.data-orbit { position:absolute; border:1px solid rgba(255,255,255,.14); border-radius:50%; }
.orbit-one { width:350px; height:350px; animation:spin 22s linear infinite; }
.orbit-two { width:455px; height:455px; animation:spinReverse 30s linear infinite; border-style:dashed; opacity:.72; }
.data-orbit i { position:absolute; width:12px; height:12px; border-radius:50%; background:var(--yellow); box-shadow:0 0 0 6px rgba(247,200,0,.08); }
.orbit-one i:nth-child(1){left:19px;top:94px}.orbit-one i:nth-child(2){right:15px;top:128px}.orbit-one i:nth-child(3){bottom:9px;left:190px}
.orbit-two i { background:#9f6bc3; box-shadow:0 0 0 6px rgba(159,107,195,.08); }
.orbit-two i:nth-child(1){top:15px;left:118px}.orbit-two i:nth-child(2){right:8px;top:238px}.orbit-two i:nth-child(3){bottom:49px;left:40px}.orbit-two i:nth-child(4){top:215px;left:-6px}
@keyframes spin { to { transform:rotate(360deg); } } @keyframes spinReverse { to { transform:rotate(-360deg); } }
.metric-chip { position:absolute; min-width:145px; padding:13px 15px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.13); border-radius:14px; backdrop-filter:blur(12px); display:flex; justify-content:space-between; align-items:center; gap:14px; z-index:4; box-shadow:0 18px 60px rgba(0,0,0,.22); }
.metric-chip small { color:rgba(255,255,255,.64); font-size:.72rem; }.metric-chip b{font-size:.8rem;color:var(--yellow)}
.chip-one{top:56px;right:8px}.chip-two{bottom:76px;left:-10px}.chip-three{bottom:32px;right:32px}
.hero-meta { position:relative; z-index:2; margin-top:70px; border-top:1px solid rgba(255,255,255,.10); padding-top:24px; display:grid; grid-template-columns:repeat(4,1fr); gap:16px; color:rgba(255,255,255,.52); font-size:.76rem; text-transform:uppercase; letter-spacing:.09em; }

/* Sections */
.section-kicker { color:var(--purple); display:block; margin-bottom:18px; }
.section-kicker.light { color:var(--yellow); }
.section-heading { max-width:850px; margin-bottom:50px; }
.section-heading.narrow { max-width:760px; }
.section-heading h2, .split-layout h2, .focus-bar h2, .impact-copy h2, .contact-copy h2 { margin:0; font-size:clamp(2.2rem,4.3vw,4.3rem); line-height:1.04; letter-spacing:-.045em; }
.section-heading-row { max-width:none; display:flex; justify-content:space-between; align-items:flex-end; gap:40px; }
.section-heading-row > div { max-width:800px; }
.split-layout { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:start; }
.section-copy { font-size:1.08rem; color:#505250; padding-top:24px; }
.section-copy p { margin:0 0 22px; }.section-copy strong{color:#191919}
.service-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.service-card { position:relative; min-height:360px; padding:34px; border-radius:var(--radius); background:#fff; border:1px solid var(--line); overflow:hidden; transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.service-card:hover { transform:translateY(-5px); box-shadow:var(--shadow); border-color:#c9c9c5; }
.service-card::after { content:""; position:absolute; width:140px; height:140px; right:-70px; bottom:-70px; border:24px solid rgba(95,45,131,.06); transform:rotate(45deg); }
.service-index { position:absolute; right:28px; top:24px; font-size:.72rem; color:#999; font-weight:800; letter-spacing:.12em; }
.service-icon { width:56px; height:56px; border-radius:16px; background:var(--yellow); display:grid; place-items:center; font-size:1.35rem; font-weight:900; margin-bottom:54px; }
.service-card:nth-child(2) .service-icon, .service-card:nth-child(4) .service-icon { background:#ede4f3; color:var(--purple); }
.service-card h3 { margin:0 0 13px; font-size:1.45rem; letter-spacing:-.025em; }.service-card p{margin:0;color:var(--muted);max-width:90%}
.service-tags { display:flex; flex-wrap:wrap; gap:7px; margin-top:24px; }.service-tags span{padding:5px 9px;border:1px solid #e3e3df;border-radius:999px;font-size:.7rem;color:#777;background:#fafaf8}
.focus-section { padding-top:80px; padding-bottom:80px; }
.focus-bar { display:grid; grid-template-columns:.85fr 1.15fr; gap:60px; align-items:center; padding:55px; border:1px solid var(--line); border-radius:28px; }
.focus-bar h2 { font-size:clamp(2rem,3.5vw,3.25rem); }
.focus-cloud { display:flex; flex-wrap:wrap; gap:10px; align-content:center; }
.focus-cloud span { border-radius:999px; padding:10px 14px; background:var(--soft); border:1px solid #e4e4e0; font-size:.82rem; font-weight:650; }
.focus-cloud span:nth-child(3n+1) { background:#f5efbd; border-color:#e8dc7b; }.focus-cloud span:nth-child(4n+2){background:#eee6f3;border-color:#d9c4e6;color:#593176}

/* Projects */
.projects-section { position:relative; overflow:hidden; }
.projects-section::after { content:""; position:absolute; top:80px; right:-160px; width:400px; height:400px; border:1px solid rgba(255,255,255,.08); transform:rotate(45deg); pointer-events:none; }
.project-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; position:relative; z-index:2; }
.project-card { background:#222; border:1px solid rgba(255,255,255,.08); border-radius:20px; overflow:hidden; transition:transform .22s ease, border-color .22s ease; }
.project-card:hover { transform:translateY(-5px); border-color:rgba(247,200,0,.45); }
.project-thumb { display:block; aspect-ratio:1.4/1; overflow:hidden; background:#292929; }.project-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.project-card:hover .project-thumb img{transform:scale(1.035)}
.thumb-placeholder { width:100%; height:100%; min-height:210px; display:grid; place-items:center; background:linear-gradient(135deg,#2b2b2b,#1c1c1c); position:relative; overflow:hidden; }
.thumb-placeholder::before { content:""; position:absolute; width:180px;height:180px;border:34px solid rgba(247,200,0,.13);transform:rotate(45deg);right:-65px;top:-55px}.thumb-placeholder::after{content:"";position:absolute;width:120px;height:120px;border:22px solid rgba(95,45,131,.35);transform:rotate(45deg);left:-50px;bottom:-45px}.thumb-placeholder span{font-size:1.7rem;letter-spacing:.16em;font-weight:900;color:rgba(255,255,255,.7)}
.thumb-2::before{border-color:rgba(95,45,131,.42)}.thumb-3::after{border-color:rgba(247,200,0,.20)}
.project-card-body { padding:25px 26px 28px; position:relative; min-height:210px; }.card-type{font-size:.67rem;letter-spacing:.12em;text-transform:uppercase;color:var(--yellow);font-weight:800}.project-card h3{font-size:1.3rem;line-height:1.25;margin:10px 40px 10px 0;letter-spacing:-.02em}.project-card h3 a:hover{color:var(--yellow)}.project-card p{font-size:.88rem;color:rgba(255,255,255,.58);margin:0;line-height:1.6}.card-arrow{position:absolute;right:24px;top:24px;width:35px;height:35px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.15);color:var(--yellow)}
.text-link { font-weight:800; font-size:.86rem; border-bottom:1px solid currentColor; padding-bottom:2px; }.light-link{color:#fff}

/* Impact */
.impact-section { padding:90px 0; }
.impact-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:end; }.impact-copy p{color:var(--muted);max-width:620px;margin:22px 0 0}.impact-stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.stat-box{padding:32px 20px 30px;border-right:1px solid var(--line)}.stat-box:last-child{border-right:0}.stat-box strong{display:block;font-size:2.4rem;line-height:1;color:var(--purple);letter-spacing:-.04em}.stat-box span{display:block;font-size:.74rem;color:var(--muted);margin-top:10px;line-height:1.4}

/* Training */
.training-list { border-top:1px solid #d8d8d4; }
.training-row { display:grid; grid-template-columns:70px 1fr 42px; align-items:center; gap:22px; min-height:116px; border-bottom:1px solid #d8d8d4; transition:padding .2s ease, background .2s ease; }
a.training-row:hover { padding-left:12px; background:rgba(255,255,255,.52); }.training-num{font-size:.72rem;font-weight:800;letter-spacing:.12em;color:#999}.training-title{display:flex;flex-direction:column;gap:4px}.training-title strong{font-size:1.28rem;letter-spacing:-.02em}.training-title small{color:var(--muted);font-size:.82rem}.training-arrow{width:36px;height:36px;border:1px solid #d2d2cd;border-radius:50%;display:grid;place-items:center;font-weight:800}

/* Publications */
.publication-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }.publication-card{border-top:3px solid var(--ink);padding:25px 0 20px;min-height:300px;display:flex;flex-direction:column}.publication-card:nth-child(2){border-top-color:var(--purple)}.publication-card:nth-child(3){border-top-color:var(--yellow)}.publication-meta{font-size:.68rem;letter-spacing:.12em;font-weight:800;color:#8a8a86;text-transform:uppercase}.publication-card h3{font-size:1.4rem;line-height:1.3;letter-spacing:-.025em;margin:22px 0 12px}.publication-card h3 a:hover{color:var(--purple)}.publication-card p{color:var(--muted);font-size:.92rem;margin:0 0 26px}.publication-card .text-link{margin-top:auto;align-self:flex-start}

/* Team */
.team-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }.team-card{padding-bottom:10px}.team-photo{aspect-ratio:1/1.08;border-radius:18px;overflow:hidden;background:#e9e9e5;margin-bottom:17px}.team-photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(18%)}.team-placeholder{width:100%;height:100%;display:grid;place-items:center;font-size:2.4rem;font-weight:800;color:#fff;background:linear-gradient(145deg,#d9cfdf,#6f4e84)}.team-card:nth-child(2n) .team-placeholder{background:linear-gradient(145deg,#efe6a0,#c7a800);color:#4a4000}.team-card h3{margin:0;font-size:1.05rem;letter-spacing:-.01em}.team-card p{margin:5px 0 0;color:var(--muted);font-size:.82rem;line-height:1.5}

/* Contact & footer */
.contact-section { position:relative; overflow:hidden; }.contact-section::before{content:"";position:absolute;width:420px;height:420px;border:70px solid rgba(247,200,0,.06);right:-210px;bottom:-210px;transform:rotate(45deg)}
.contact-layout { display:grid; grid-template-columns:1.1fr .9fr; gap:90px; align-items:center; position:relative;z-index:2}.contact-copy h2{max-width:800px}.contact-copy p{max-width:700px;color:rgba(255,255,255,.62);font-size:1.03rem;margin:24px 0 32px}.contact-card{background:#202020;border:1px solid rgba(255,255,255,.11);border-radius:22px;padding:34px;display:flex;flex-direction:column;gap:6px}.contact-label{font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;font-weight:800;color:var(--yellow);margin-top:15px}.contact-label:first-child{margin-top:0}.contact-card a,.contact-card>span:not(.contact-label){color:rgba(255,255,255,.86)}.contact-card a{font-size:1.08rem;font-weight:750}.contact-rule{height:1px;background:rgba(255,255,255,.1);margin:22px 0 14px}.contact-card small{color:rgba(255,255,255,.45);line-height:1.6}
.site-footer { background:#0d0d0d;color:#fff;padding:62px 0 25px;border-top:1px solid rgba(255,255,255,.08) }.footer-grid{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:start}.footer-brand{font-size:1.5rem;font-weight:900;letter-spacing:.09em;color:var(--yellow)}.footer-grid p{max-width:560px;color:rgba(255,255,255,.46);font-size:.82rem}.footer-links{display:grid;grid-template-columns:repeat(2,auto);gap:10px 28px;font-size:.82rem;color:rgba(255,255,255,.7)}.footer-links a:hover{color:var(--yellow)}.footer-bottom{border-top:1px solid rgba(255,255,255,.08);margin-top:40px;padding-top:20px;display:flex;justify-content:space-between;color:rgba(255,255,255,.35);font-size:.72rem}.footer-bottom a:hover{color:#fff}

/* Inner pages */
.content-page { padding:150px 0 100px; min-height:75vh; }.page-header{max-width:850px;margin-bottom:50px}.page-header h1,.single-header h1{font-size:clamp(2.8rem,5vw,5.2rem);line-height:1;letter-spacing:-.05em;margin:0}.archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.archive-card{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff}.archive-thumb{display:block;aspect-ratio:1.45/1;overflow:hidden}.archive-thumb img{width:100%;height:100%;object-fit:cover}.archive-body{padding:24px}.archive-body h2{font-size:1.3rem;line-height:1.3;margin:10px 0}.archive-body p{color:var(--muted);font-size:.9rem}.pagination-wrap{margin-top:50px}.nav-links{display:flex;gap:8px;flex-wrap:wrap}.page-numbers{min-width:38px;height:38px;padding:0 10px;border:1px solid var(--line);border-radius:8px;display:grid;place-items:center}.page-numbers.current{background:var(--ink);color:#fff}
.prose-wrap{max-width:880px}.back-link{display:inline-block;margin-bottom:35px;font-weight:700;font-size:.86rem;color:var(--purple)}.single-header{margin-bottom:38px}.single-deck{font-size:1.18rem;line-height:1.65;color:var(--muted);max-width:760px}.single-featured{border-radius:20px;overflow:hidden;margin:45px 0}.prose{font-size:1.05rem}.prose h2{font-size:2rem;line-height:1.2;margin-top:2.1em}.prose h3{font-size:1.45rem;margin-top:1.8em}.prose p,.prose ul,.prose ol{margin:0 0 1.35em}.prose a{color:var(--purple);text-decoration:underline}.prose blockquote{margin:2em 0;padding:20px 26px;border-left:4px solid var(--yellow);background:var(--soft)}.error-page .prose-wrap{padding:70px 0}.error-page h1{font-size:4rem;line-height:1;margin:0 0 20px}

/* Reveal */
.reveal { opacity:0; transform:translateY(18px); transition:opacity .65s ease, transform .65s ease; }.reveal.is-visible{opacity:1;transform:none}.no-js .reveal{opacity:1;transform:none}

/* Responsive */
@media (max-width: 1040px) {
    .primary-menu { gap:18px; }.primary-menu a{font-size:.8rem}
    .hero-layout{grid-template-columns:1fr;gap:20px}.hero{padding-top:145px}.hero-copy{max-width:800px}.hero-visual{min-height:440px}.hero-meta{margin-top:35px}
    .project-grid{grid-template-columns:repeat(2,1fr)}.team-grid{grid-template-columns:repeat(2,1fr)}
    .impact-grid,.contact-layout{grid-template-columns:1fr;gap:50px}
}
@media (max-width: 820px) {
    .container{width:min(calc(100% - 32px),var(--max))}.section{padding:82px 0}
    .site-header,.site-header.scrolled{background:#151515;backdrop-filter:none;-webkit-backdrop-filter:none}
    .nav-wrap{height:72px;gap:12px}
    .brand-group{min-width:0;max-width:calc(100% - 58px)}
    .menu-toggle{display:block;position:relative;z-index:1003;flex:0 0 42px;border-radius:10px;background:rgba(255,255,255,.06)}
    .primary-navigation{position:fixed;top:72px;left:0;right:0;height:calc(100dvh - 72px);overflow-y:auto;overscroll-behavior:contain;background:#151515;border-top:1px solid rgba(255,255,255,.09);box-shadow:0 18px 40px rgba(0,0,0,.34);padding:10px 18px 24px;transform:translateX(100%);transition:transform .24s ease;z-index:1002}
    .primary-navigation.is-open{transform:translateX(0)}
    .primary-menu{display:flex;flex-direction:column;align-items:stretch;gap:0;width:100%}
    .primary-menu li{width:100%;border-bottom:1px solid rgba(255,255,255,.08)}
    .primary-menu li:last-child{border-bottom:0}
    .primary-menu a{width:100%;font-size:1rem;line-height:1.25;padding:12px 4px;color:rgba(255,255,255,.9);font-weight:700}
    .primary-menu a::after{display:none}
    .primary-menu a:hover,.primary-menu a:focus{color:var(--yellow)}
    .menu-open .menu-toggle{background:rgba(255,255,255,.1)}
    .menu-open .menu-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-open .menu-toggle span:nth-child(2){opacity:0}.menu-open .menu-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
    .admin-bar .primary-navigation{top:118px;height:calc(100dvh - 118px)}
    .split-layout,.focus-bar{grid-template-columns:1fr;gap:30px}.service-grid{grid-template-columns:1fr}.service-card{min-height:330px}.focus-bar{padding:34px}
    .section-heading-row{display:block}.section-heading-row .text-link{display:inline-block;margin-top:22px}.project-grid,.publication-grid,.archive-grid{grid-template-columns:1fr}.impact-stats{margin-top:10px}.hero-meta{grid-template-columns:repeat(2,1fr)}
}
@media (max-width: 560px) {
    .nav-wrap{height:68px}.primary-navigation{top:68px;height:calc(100dvh - 68px);padding:8px 14px 18px}.primary-menu a{font-size:.96rem;padding:11px 4px}.admin-bar .primary-navigation{top:114px;height:calc(100dvh - 114px)}.brand-text small{display:none}.brand-mark{width:31px;height:31px}
    .hero{min-height:auto;padding:130px 0 38px}.hero h1{font-size:clamp(3rem,14vw,4.6rem)}.hero-lead{font-size:1rem}.hero-actions{align-items:stretch}.btn{width:100%}.hero-visual{min-height:360px;transform:scale(.82);margin:-20px -30px}.data-core{width:200px;height:200px}.orbit-one{width:300px;height:300px}.orbit-two{width:390px;height:390px}.chip-one{right:-3px}.chip-two{left:-4px}.chip-three{right:8px}.hero-meta{grid-template-columns:1fr 1fr;gap:12px;font-size:.64rem}
    .section-heading h2,.split-layout h2,.focus-bar h2,.impact-copy h2,.contact-copy h2{font-size:2.25rem}.service-card{padding:27px}.service-icon{margin-bottom:40px}
    .project-grid{grid-template-columns:1fr}.impact-stats{grid-template-columns:1fr;border-bottom:0}.stat-box{border-right:0;border-bottom:1px solid var(--line);padding-left:0}.training-row{grid-template-columns:42px 1fr 34px;gap:10px;min-height:105px}.training-title strong{font-size:1.03rem}.training-title small{font-size:.74rem}.team-grid{grid-template-columns:1fr 1fr;gap:14px}.contact-card{padding:26px}.footer-grid{grid-template-columns:1fr}.footer-bottom{display:block}.footer-bottom a{display:block;margin-top:8px}
}

/* Floating page navigation */
.page-scroll-controls {
    position:fixed; right:24px; bottom:24px; z-index:950;
    display:flex; flex-direction:column; gap:10px;
}
.page-scroll-btn {
    width:46px; height:46px; border-radius:50%; border:1px solid rgba(21,21,21,.12);
    background:rgba(255,255,255,.94); color:var(--dark); box-shadow:0 10px 28px rgba(0,0,0,.14);
    display:grid; place-items:center; font:800 1.25rem/1 sans-serif; cursor:pointer;
    backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
    transition:transform .2s ease, opacity .2s ease, visibility .2s ease, background .2s ease, color .2s ease;
}
.page-scroll-btn:hover, .page-scroll-btn:focus-visible { transform:translateY(-2px); background:var(--yellow); color:#111; outline:none; }
.page-scroll-btn.is-hidden { opacity:0; visibility:hidden; pointer-events:none; transform:scale(.85); }
.admin-bar .page-scroll-controls { bottom:24px; }

@media (max-width: 560px) {
    .brand-group{gap:9px;min-width:0}.brand-logo img{max-height:40px;max-width:105px}.brand-text strong{font-size:1rem}.brand-text small{display:none}
    .page-scroll-controls{right:14px;bottom:14px;gap:8px}.page-scroll-btn{width:42px;height:42px}
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
    .reveal { opacity:1; transform:none; }
}

section[id] { scroll-margin-top: 76px; }
.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .site-header { top: 46px; } }

/* Structured Team / People module — v1.5 */
.team-grid{grid-template-columns:repeat(3,1fr);gap:26px 22px}
.team-card{padding-bottom:18px;min-width:0}
.team-photo{display:block;transition:transform .22s ease,box-shadow .22s ease}
.team-card:hover .team-photo{transform:translateY(-3px);box-shadow:0 18px 38px rgba(0,0,0,.09)}
.team-card-body{padding:0 2px}
.team-card-group{font-size:.62rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase;color:var(--purple);margin-bottom:6px}
.team-card h3{font-size:1.15rem;line-height:1.3}
.team-card h3 a:hover{color:var(--purple)}
.team-degrees{font-weight:560;color:#555}
.team-role{margin-top:5px;font-size:.84rem;font-weight:750;color:#303130}
.team-affiliation{margin-top:2px;font-size:.76rem;line-height:1.45;color:var(--muted)}
.team-expertise{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.team-expertise span{padding:5px 8px;border:1px solid #dddcd7;border-radius:999px;background:#fff;font-size:.65rem;font-weight:700;line-height:1.15;color:#5a5a56}
.team-card p.team-bio{margin-top:12px;font-size:.78rem;line-height:1.55}
.team-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:13px;padding-top:11px;border-top:1px solid #e2e1dd}
.team-links a{font-size:.68rem;font-weight:800;color:var(--purple)}
.team-links a:hover{text-decoration:underline}

/* Team member profile */
.team-profile-page{background:#fff}
.team-profile-page>.container{max-width:1100px}
.team-profile-hero{display:grid;grid-template-columns:minmax(260px,360px) 1fr;gap:62px;align-items:center;padding-bottom:58px;border-bottom:1px solid var(--line)}
.team-profile-photo{aspect-ratio:1/1.12;border-radius:24px;overflow:hidden;background:var(--soft);box-shadow:var(--shadow)}
.team-profile-photo img{width:100%;height:100%;object-fit:cover}
.team-profile-intro h1{margin:0;font-size:clamp(2.7rem,5vw,5rem);line-height:1;letter-spacing:-.05em}
.team-profile-degrees{display:block;margin-top:10px;font-size:.42em;line-height:1.25;letter-spacing:-.02em;font-weight:550;color:#5c5d5a}
.team-profile-role{margin-top:25px;font-size:1.15rem;font-weight:800;color:var(--purple)}
.team-profile-affiliation{margin-top:5px;max-width:660px;color:var(--muted);font-size:.93rem}
.team-profile-summary{max-width:680px;margin:24px 0 0;font-size:1.06rem;line-height:1.72;color:#4e504e}
.team-profile-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
.team-profile-links a{display:inline-flex;align-items:center;min-height:38px;padding:8px 13px;border:1px solid var(--line);border-radius:999px;font-size:.75rem;font-weight:800;background:#fff}
.team-profile-links a:hover{border-color:var(--purple);color:var(--purple)}
.team-profile-content{display:grid;grid-template-columns:260px 1fr;gap:70px;padding-top:54px}
.team-profile-sidebar{align-self:start;position:sticky;top:120px}
.profile-label{display:block;margin-bottom:13px;font-size:.67rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase;color:#7b7c79}
.team-profile-expertise{display:flex;flex-wrap:wrap;gap:8px}
.team-profile-expertise span{display:inline-block;padding:7px 10px;border-radius:999px;background:var(--soft);border:1px solid var(--line);font-size:.73rem;font-weight:700}
.team-profile-bio{max-width:none}
.team-profile-bio h2:first-child{margin-top:0}

@media (max-width:1040px){
    .team-grid{grid-template-columns:repeat(2,1fr)}
    .team-profile-hero{grid-template-columns:300px 1fr;gap:42px}
    .team-profile-content{grid-template-columns:220px 1fr;gap:45px}
}
@media (max-width:720px){
    .team-profile-hero{grid-template-columns:1fr;gap:30px}
    .team-profile-photo{max-width:390px;width:100%}
    .team-profile-content{grid-template-columns:1fr;gap:30px}
    .team-profile-sidebar{position:static}
}
@media (max-width:560px){
    .team-grid{grid-template-columns:1fr;gap:28px}
    .team-card{max-width:430px}
    .team-profile-intro h1{font-size:2.8rem}
}


/* Insights & Articles — v1.7 */
.articles-section{background:#fff}
.articles-section .section-heading p{max-width:720px;margin:18px 0 0;color:var(--muted);font-size:.98rem;line-height:1.65}
.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:42px}
.article-card{min-width:0;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff;display:flex;flex-direction:column;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.article-card:hover{transform:translateY(-4px);box-shadow:0 18px 42px rgba(0,0,0,.08);border-color:#d0cfc9}
.article-thumb{display:block;aspect-ratio:16/9;overflow:hidden;background:var(--soft)}
.article-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.article-card:hover .article-thumb img{transform:scale(1.025)}
.article-thumb-placeholder{width:100%;height:100%;display:grid;place-items:center;font-size:.75rem;font-weight:850;letter-spacing:.18em;color:#777;background:linear-gradient(135deg,#f1f0eb,#faf9f5)}
.article-card-body{display:flex;flex-direction:column;flex:1;padding:22px}
.article-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.66rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#858581}
.article-meta span:first-child{color:var(--purple)}
.article-card h3{font-size:1.35rem;line-height:1.28;letter-spacing:-.025em;margin:15px 0 10px}
.article-card h3 a:hover{color:var(--purple)}
.article-card p{margin:0 0 22px;color:var(--muted);font-size:.88rem;line-height:1.6}
.article-card .text-link{margin-top:auto;align-self:flex-start}
.article-empty{grid-column:1/-1;padding:32px;border:1px dashed #cac9c3;border-radius:18px;background:var(--soft)}
.article-empty h3{margin:8px 0 10px;font-size:1.4rem}
.article-empty p{margin:0;max-width:760px;color:var(--muted)}
.single-article-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:18px;color:var(--muted);font-size:.78rem;font-weight:650}

@media (max-width:900px){.article-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:650px){.article-grid{grid-template-columns:1fr;gap:18px;margin-top:30px}.article-card-body{padding:19px}.article-card h3{font-size:1.2rem}.article-meta{font-size:.62rem}}


/* Partners & Collaborators — v1.9 running logo marquee */
.partners-section{
    padding:44px 0 46px;
    background:#fff;
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
    overflow:hidden;
}
.partners-intro{
    text-align:center;
    margin-bottom:22px;
}
.partners-intro .section-kicker{margin-bottom:7px}
.partners-intro h2{
    margin:0 auto;
    max-width:760px;
    font-size:clamp(1.25rem,1.8vw,1.7rem);
    line-height:1.2;
    letter-spacing:-.03em;
}
.partner-marquee{
    position:relative;
    width:100%;
    overflow:hidden;
    padding:8px 0;
    -webkit-mask-image:linear-gradient(to right,transparent 0,#000 6%,#000 94%,transparent 100%);
    mask-image:linear-gradient(to right,transparent 0,#000 6%,#000 94%,transparent 100%);
}
.partner-marquee-track{
    display:flex;
    width:max-content;
    will-change:transform;
    animation:pkbik-partner-marquee 34s linear infinite;
}
.partner-marquee-group{
    display:flex;
    flex-shrink:0;
    align-items:center;
    gap:48px;
    padding-right:48px;
}
.partner-marquee-item{
    flex:0 0 auto;
    width:150px;
    height:74px;
    padding:8px 10px;
    display:flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    border:0;
    background:transparent;
    border-radius:10px;
    transition:background-color .2s ease,transform .2s ease;
}
a.partner-marquee-item{cursor:pointer}
.partner-marquee-item:hover,
.partner-marquee-item:focus-visible{
    background:#f7f6f2;
    transform:translateY(-1px);
    outline:none;
}
.partner-marquee-logo{
    width:100%;
    height:58px;
    display:flex;
    align-items:center;
    justify-content:center;
}
.partner-marquee-logo img{
    display:block;
    width:auto;
    max-width:100%;
    height:auto;
    max-height:54px;
    object-fit:contain;
    opacity:.68;
    filter:saturate(.72) grayscale(.12);
    transition:opacity .2s ease,filter .2s ease,transform .2s ease;
}
.partner-marquee-item:hover .partner-marquee-logo img,
.partner-marquee-item:focus-visible .partner-marquee-logo img,
.partner-marquee-item.is-featured .partner-marquee-logo img{
    opacity:1;
    filter:saturate(1) grayscale(0);
}
.partner-marquee-item:hover .partner-marquee-logo img{transform:scale(1.025)}
.partner-logo-fallback{
    display:block;
    max-width:145px;
    text-align:center;
    font-size:.78rem;
    line-height:1.2;
    font-weight:800;
    color:#555650;
}
.partner-marquee:hover .partner-marquee-track,
.partner-marquee:focus-within .partner-marquee-track{
    animation-play-state:paused;
}
@keyframes pkbik-partner-marquee{
    from{transform:translate3d(0,0,0)}
    to{transform:translate3d(-50%,0,0)}
}
@media (max-width:650px){
    .partners-section{padding:34px 0 36px}
    .partners-intro{margin-bottom:14px;padding:0 20px}
    .partners-intro h2{font-size:1.22rem}
    .partner-marquee{
        -webkit-mask-image:linear-gradient(to right,transparent 0,#000 4%,#000 96%,transparent 100%);
        mask-image:linear-gradient(to right,transparent 0,#000 4%,#000 96%,transparent 100%);
    }
    .partner-marquee-track{animation-duration:27s}
    .partner-marquee-group{gap:26px;padding-right:26px}
    .partner-marquee-item{width:122px;height:62px;padding:6px}
    .partner-marquee-logo{height:48px}
    .partner-marquee-logo img{max-height:44px}
}
@media (prefers-reduced-motion:reduce){
    .partner-marquee{overflow-x:auto;-webkit-mask-image:none;mask-image:none;scrollbar-width:none}
    .partner-marquee::-webkit-scrollbar{display:none}
    .partner-marquee-track{animation:none}
    .partner-marquee-group[aria-hidden="true"]{display:none}
}


/* v2.0 partner marquee robustness */
.partner-marquee-track{min-width:max-content}
.partner-marquee-group{min-width:max-content}
