:root {
  --bg:#f4f1eb;--surface:#fbfaf7;--surface-2:#eae6dd;--ink:#111316;--muted:#62656a;
  --line:rgba(17,19,22,.12);--red:#b72f25;--red-bright:#d84334;--red-soft:#f0d8d3;
  --black:#0b0d10;--white:#fff;--radius:22px;--shadow:0 20px 60px rgba(15,18,22,.09)
}
[data-theme=dark]{--bg:#0b0d10;--surface:#111418;--surface-2:#181c21;--ink:#f3f1ec;--muted:#a3a7ad;
--line:rgba(255,255,255,.11);--red:#df4b3c;--red-bright:#f15d4e;--red-soft:#3b201e;--black:#f4f1eb;--white:#0b0d10;--shadow:0 20px 70px rgba(0,0,0,.35)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Manrope,system-ui,sans-serif;line-height:1.65;transition:background .3s,color .3s}
a{color:inherit;text-decoration:none}button{font:inherit}.container{width:min(1180px,calc(100% - 48px));margin:auto}
.noise{position:fixed;inset:0;pointer-events:none;z-index:20;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.site-header{position:fixed;top:0;left:0;right:0;z-index:50;border-bottom:1px solid transparent;background:color-mix(in srgb,var(--bg) 80%,transparent);backdrop-filter:blur(18px);transition:.25s}
.site-header.scrolled{border-color:var(--line)}.nav-wrap{height:82px;display:flex;align-items:center;gap:26px}.brand{width:146px;display:flex}.brand img{width:100%}
.main-nav{margin-left:auto;display:flex;gap:24px}.main-nav a{font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.main-nav a:hover{color:var(--red)}
.nav-tools{display:flex;align-items:center;gap:12px}.language-switcher{display:flex;gap:6px;align-items:center;font:500 .62rem "DM Mono";color:var(--muted)}.lang-button{border:0;background:none;color:var(--muted);padding:5px 2px;cursor:pointer;font:500 .62rem "DM Mono"}.lang-button.active{color:var(--red);font-weight:700}
.theme-toggle{width:40px;height:40px;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--ink);cursor:pointer;display:grid;place-items:center}.theme-icon{font-size:1.15rem}
.menu-toggle{display:none}.hero{min-height:100svh;position:relative;overflow:hidden;display:flex;align-items:center;border-bottom:1px solid var(--line)}.hero-grid{position:absolute;inset:0;opacity:.45;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(to bottom,#000,transparent 75%)}
.hero-grid:after{content:"";position:absolute;width:52vw;height:52vw;right:-16vw;top:7vh;border-radius:50%;background:var(--red-soft);filter:blur(90px);opacity:.6}.hero-inner{display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:4rem;padding-top:80px}
.eyebrow,.mini-label{margin:0 0 18px;color:var(--red);font:500 .69rem "DM Mono";letter-spacing:.12em;text-transform:uppercase}.eyebrow-dot{display:inline-block;width:7px;height:7px;margin-right:8px;border-radius:50%;background:var(--red);box-shadow:0 0 0 6px var(--red-soft)}
.hero h1{font:700 clamp(4rem,8vw,7.5rem)/.89 "Space Grotesk";letter-spacing:-.075em;margin:0}.hero h1 em{color:var(--red);font-style:normal}.hero-lead{max-width:590px;margin:30px 0;color:var(--muted);font-size:1.04rem}.hero-lead strong{color:var(--ink)}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:0 19px;border-radius:999px;border:1px solid var(--line);font-size:.77rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;transition:.25s}
.button-primary{color:#fff;background:var(--red);border-color:var(--red)}.button-primary:hover{transform:translateY(-2px);background:var(--red-bright)}.button-ghost:hover{border-color:var(--ink)}.button-outline:hover{background:var(--ink);color:var(--bg)}.button-dark{color:#fff;background:#101215;border-color:#101215}.button-dark:hover{transform:translateY(-2px)}
.hero-meta{display:flex;flex-wrap:wrap;gap:30px;margin-top:50px}.hero-meta div{display:grid;gap:3px}.hero-meta strong{font:500 .72rem "DM Mono";color:var(--red)}.hero-meta span{color:var(--muted);font-size:.66rem;max-width:150px;line-height:1.4}
.hero-visual{position:relative;width:min(500px,45vw);aspect-ratio:1;justify-self:end}.orbit{position:absolute;border:1px solid var(--line);border-radius:50%}.orbit-a{inset:5%;transform:rotate(22deg) scaleY(.6)}.orbit-b{inset:18%;transform:rotate(-35deg) scaleY(.72);border-color:color-mix(in srgb,var(--red) 40%,var(--line))}
.visual-center{position:absolute;inset:38%;display:grid;place-items:center;border-radius:50%;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);font:700 3rem "Space Grotesk";letter-spacing:-.1em}.visual-center span{color:var(--red)}
.curve{position:absolute;height:35%;width:75%;left:12%;border-top:3px solid var(--red);border-radius:50%;transform:rotate(-17deg)}.curve-a{top:30%}.curve-b{top:52%;transform:rotate(16deg);border-color:var(--ink);opacity:.8}
.data-point{position:absolute;width:11px;height:11px;background:var(--ink);border-radius:50%;box-shadow:0 0 0 6px var(--bg)}.p1{top:25%;left:17%}.p2{top:19%;left:65%}.p3{top:42%;left:76%}.p4{top:64%;left:25%}.p5{top:73%;left:57%}.p6{top:45%;left:44%}.visual-label{position:absolute;font:500 .59rem "DM Mono";letter-spacing:.12em;color:var(--muted)}.label-top{top:5%;right:5%}.label-bottom{bottom:6%;left:5%}
.scroll-cue{position:absolute;left:24px;bottom:24px;font:500 .6rem "DM Mono";text-transform:uppercase;letter-spacing:.12em;color:var(--muted);writing-mode:vertical-rl;display:flex;gap:8px;align-items:center}.scroll-cue span{width:1px;height:35px;background:var(--red)}
.section{padding:135px 0;border-bottom:1px solid var(--line)}.two-col{display:grid;grid-template-columns:.9fr 1.1fr;gap:7vw}.section-heading h2{margin:0;font:700 clamp(2.8rem,5vw,5rem)/.96 "Space Grotesk";letter-spacing:-.065em}.section-heading h2 span{color:var(--red)}
.intro-copy{max-width:670px;color:var(--muted);font-size:1rem}.intro-copy .lead{font-size:1.35rem;line-height:1.45;color:var(--ink)}.intro-copy strong{color:var(--ink)}.source-note{margin-top:35px;padding-top:18px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font:500 .63rem "DM Mono";text-transform:uppercase;letter-spacing:.06em}.source-note a{color:var(--red)}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:100px;border-top:1px solid var(--line);border-left:1px solid var(--line)}.stat-card{padding:28px;min-height:220px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.stat-number,.card-index{color:var(--red);font:500 .62rem "DM Mono";letter-spacing:.1em}.stat-card h3{font:600 1.35rem "Space Grotesk";margin:44px 0 10px}.stat-card p{margin:0;color:var(--muted);font-size:.78rem;line-height:1.55}
.research,.publications{background:var(--surface)}.centered{text-align:center;max-width:740px;margin:0 auto 70px}.centered>p:last-child{color:var(--muted);max-width:600px;margin:25px auto 0}.research-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:16px}.research-card{min-height:330px;padding:28px;border:1px solid var(--line);border-radius:var(--radius);position:relative;overflow:hidden;background:var(--bg);transition:.3s}.research-card:hover{transform:translateY(-5px);border-color:color-mix(in srgb,var(--red) 45%,var(--line))}.research-card.large{grid-row:span 2;min-height:676px;background:var(--red);color:#fff;border-color:var(--red)}.research-card.large .card-index,.research-card.large .tags span{color:#fff;border-color:rgba(255,255,255,.28)}.card-icon{font:3rem "Space Grotesk";margin:75px 0 35px}.research-card h3{font:600 1.45rem "Space Grotesk";letter-spacing:-.03em;margin:0 0 13px}.research-card p{color:var(--muted);font-size:.79rem;margin:0;max-width:420px}.research-card.large p{color:rgba(255,255,255,.8);font-size:.95rem}.tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:25px}.tags span{border:1px solid var(--line);border-radius:99px;padding:5px 9px;font:500 .56rem "DM Mono";color:var(--muted)}.dark-card{background:var(--black);color:var(--bg);border-color:var(--black)}.dark-card p{color:color-mix(in srgb,var(--bg) 65%,transparent)}.dark-card .mini-label{color:var(--red-bright)}.text-link{position:absolute;bottom:27px;left:28px;font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.text-link span:last-child{color:var(--red);margin-left:8px}
.people-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:65px}.person-card{border:1px solid var(--line);border-radius:var(--radius);padding:35px;background:var(--surface)}.person-top{display:flex;gap:20px;align-items:flex-start}.avatar{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;background:var(--red);color:#fff;font:700 1.2rem "Space Grotesk"}.avatar-alt{background:var(--ink);color:var(--bg)}.person-role{margin:2px 0 7px;color:var(--red);font:500 .6rem "DM Mono";text-transform:uppercase;letter-spacing:.1em}.person-card h3{font:600 2rem/.98 "Space Grotesk";letter-spacing:-.05em;margin:0}.person-bio{margin:32px 0;color:var(--muted);font-size:.83rem}.person-facts{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:25px}.person-facts span{padding:7px 10px;border:1px solid var(--line);border-radius:999px;font:500 .57rem "DM Mono";color:var(--muted)}.person-facts b{color:var(--ink)}.person-links{display:grid;border-top:1px solid var(--line)}.person-links a{padding:12px 0;border-bottom:1px solid var(--line);color:var(--muted);font-size:.7rem}.person-links a:hover{color:var(--red)}
.collab-banner{margin-top:16px;border-radius:var(--radius);padding:32px;background:var(--red-soft);display:flex;justify-content:space-between;align-items:center;gap:30px}.collab-banner .mini-label{margin-bottom:9px}.collab-banner h3{font:600 1.45rem "Space Grotesk";margin:0 0 6px}.collab-banner p{margin:0;max-width:700px;color:var(--muted);font-size:.78rem}
.pub-list{border-top:1px solid var(--line)}.pub-item{display:grid;grid-template-columns:90px 1fr 30px;gap:20px;padding:27px 0;border-bottom:1px solid var(--line);align-items:start}.pub-year{font:500 .65rem "DM Mono";color:var(--red);padding-top:4px}.pub-item h3{margin:0 0 8px;font:600 1.05rem/1.35 "Space Grotesk"}.pub-item p{margin:0;color:var(--muted);font-size:.68rem}.pub-arrow{color:var(--red)}.center-action{text-align:center;margin-top:45px}
.contact{padding-bottom:150px}.contact-box{background:var(--red);color:#fff;border-radius:30px;padding:65px;display:grid;grid-template-columns:1fr .85fr;gap:80px}.contact-box .eyebrow{color:rgba(255,255,255,.8)}.contact-box h2{font:700 clamp(3rem,5vw,5rem)/.93 "Space Grotesk";letter-spacing:-.07em;margin:0 0 25px}.contact-box h2 span{color:#ffcdc7}.contact-box>div>p:last-child{color:rgba(255,255,255,.78);max-width:520px}.contact-details{display:grid;align-content:center}.contact-line{display:grid;gap:4px;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.2)}.contact-line:first-child{border-top:1px solid rgba(255,255,255,.2)}.contact-line span,.contact-line small{color:rgba(255,255,255,.67);font:500 .59rem "DM Mono";text-transform:uppercase;letter-spacing:.06em}.contact-line strong{font-size:.85rem}.contact-line:hover strong{text-decoration:underline}
.site-footer{padding:55px 0 25px;background:var(--black);color:var(--bg)}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr .7fr;gap:50px;align-items:start}.footer-logo{width:160px;margin-bottom:12px}.site-footer p{color:color-mix(in srgb,var(--bg) 58%,transparent);font-size:.67rem;margin:0}.footer-links{display:grid;gap:9px}.footer-links a{color:color-mix(in srgb,var(--bg) 75%,transparent);font-size:.68rem}.footer-links a:hover{color:var(--red-bright)}.footer-note{display:grid;gap:6px;justify-items:end;color:color-mix(in srgb,var(--bg) 55%,transparent);font:500 .56rem "DM Mono";text-transform:uppercase;letter-spacing:.07em}.legal{border-top:1px solid rgba(255,255,255,.1);margin-top:45px;padding-top:20px}.legal p{font-size:.58rem}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s,transform .7s}.reveal.visible{opacity:1;transform:none}.reveal-delay{transition-delay:.08s}.reveal-delay-2{transition-delay:.16s}.reveal-delay-3{transition-delay:.24s}
@media(max-width:900px){.container{width:min(100% - 32px,720px)}.main-nav{position:fixed;inset:82px 0 auto;background:var(--bg);padding:25px 24px 35px;border-bottom:1px solid var(--line);display:none;flex-direction:column;align-items:flex-start}.main-nav.open{display:flex}.menu-toggle{display:flex;margin-left:auto;width:40px;height:40px;border:0;background:none;flex-direction:column;justify-content:center;gap:6px;cursor:pointer}.menu-toggle span{display:block;width:22px;height:1.5px;background:var(--ink)}.hero-inner{grid-template-columns:1fr;padding-top:130px}.hero-visual{width:min(470px,90vw);justify-self:center;margin-top:-10px}.hero{min-height:auto;padding-bottom:70px}.hero h1{font-size:clamp(3.8rem,16vw,6rem)}.two-col,.contact-box{grid-template-columns:1fr;gap:45px}.stats-grid{grid-template-columns:repeat(2,1fr)}.research-grid{grid-template-columns:1fr 1fr}.research-card.large{grid-row:span 1;min-height:400px}.people-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-note{justify-items:start}}
@media(max-width:580px){.section{padding:90px 0}.nav-wrap{gap:12px}.brand{width:128px}.language-switcher{margin-left:auto}.hero-meta{gap:17px;margin-top:35px}.hero-meta span{max-width:120px}.hero-visual{display:none}.scroll-cue{display:none}.stats-grid,.research-grid{grid-template-columns:1fr}.stat-card{min-height:180px}.research-card,.research-card.large{min-height:300px}.card-icon{margin:50px 0 25px}.person-card{padding:25px}.person-card h3{font-size:1.7rem}.collab-banner,.contact-box{padding:28px}.collab-banner{align-items:flex-start;flex-direction:column}.pub-item{grid-template-columns:52px 1fr}.pub-arrow{display:none}.footer-grid{grid-template-columns:1fr;gap:30px}.footer-note{justify-items:start}.source-note{flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
