:root{--bg: #050505;--bg-soft: #0d0d0d;--panel: #111111;--panel-alt: #171717;--line: #2b2b2b;--text: #ececec;--muted: #9a9a9a;--soft: #717171;--bright: #ffffff;--glow: rgba(255, 255, 255, .08)}*{box-sizing:border-box;margin:0;padding:0}html,body,#app{min-height:100%}body{font-family:Sora,sans-serif;background:radial-gradient(circle at 70% -20%,#212121 0%,var(--bg) 52%) fixed;color:var(--text);line-height:1.65;-webkit-font-smoothing:antialiased}body.cursor-enabled *{cursor:none}.shell{width:min(1160px,92vw);margin:0 auto;padding:7vh 0 3rem;position:relative;z-index:2}.section-block{padding:6.8rem 0;border-top:1px solid rgba(255,255,255,.06)}.hero{min-height:90vh;border-top:0;display:grid;align-content:center}.meta{display:flex;flex-wrap:wrap;gap:.75rem;color:var(--muted);font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:2rem}.meta span{padding:.2rem .6rem;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:#ffffff05}h1,h2,h3,h4{font-family:Bodoni Moda,serif;font-weight:700;letter-spacing:.01em}h1{font-size:clamp(3.1rem,9vw,6.5rem);line-height:.95;margin-bottom:1.8rem}.intro{max-width:760px;color:#d4d4d4;font-size:clamp(1rem,1.8vw,1.25rem)}.stats{margin-top:3rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.stat{padding:1.2rem;border:1px solid var(--line);background:linear-gradient(155deg,#ffffff0a,#ffffff03);border-radius:14px}.stat strong{display:block;font-size:clamp(2.1rem,4vw,3rem);font-family:Bodoni Moda,serif;color:var(--bright);line-height:1}.stat span{display:block;color:var(--soft);font-size:.8rem;text-transform:uppercase;letter-spacing:.11em;margin-top:.5rem}.section-head{display:flex;align-items:baseline;gap:1rem;margin-bottom:2.4rem}.section-head .index{font-family:Sora,sans-serif;color:#7d7d7d;letter-spacing:.16em;font-size:.75rem}.section-head h2{font-size:clamp(1.8rem,4vw,2.8rem)}.interest-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.interest-card{padding:1.6rem;background:linear-gradient(180deg,var(--panel-alt),var(--panel));border:1px solid var(--line);border-radius:14px;transition:transform .32s ease,border-color .32s ease,box-shadow .32s ease}.interest-card:hover{transform:translateY(-7px);border-color:#545454;box-shadow:0 14px 34px -22px #ffffff85}.interest-card h3{font-size:1.3rem;margin-bottom:.8rem}.interest-card p{color:var(--muted)}.columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem}.timeline-wrap{border:1px solid var(--line);border-radius:14px;background:linear-gradient(180deg,#ffffff08,#ffffff03);padding:1.6rem}.timeline-wrap h3{font-size:1.45rem;margin-bottom:1.4rem}.timeline-item{border-left:1px solid #3f3f3f;padding:0 0 1.1rem 1rem;margin-left:.2rem}.timeline-item+.timeline-item{margin-top:1rem}.timeline-item .date{color:#c6c6c6;letter-spacing:.08em;text-transform:uppercase;font-size:.72rem}.timeline-item h4{margin-top:.45rem;font-size:1.05rem}.timeline-item h5{color:var(--soft);font-family:Sora,sans-serif;font-weight:500;font-size:.9rem;margin-top:.2rem}.timeline-item p{color:var(--muted);margin-top:.35rem;font-size:.93rem}.pub-list{display:grid;gap:1rem}.pub-card{border:1px solid var(--line);background:linear-gradient(165deg,#ffffff0d,#ffffff03);border-radius:14px;padding:1.4rem;position:relative;transition:transform .32s ease,border-color .32s ease}.pub-card:before{content:"";width:3px;height:100%;background:linear-gradient(180deg,#3f3f3f,#1d1d1d);position:absolute;top:0;left:0;border-radius:14px 0 0 14px}.pub-card:hover{transform:translateY(-4px);border-color:#656565}.pub-card h3{font-size:1.1rem;line-height:1.5}.pub-card .authors{margin-top:.7rem;color:#bcbcbc;font-size:.92rem}.pub-card .journal{margin-top:.2rem;color:var(--soft);font-style:italic;font-size:.9rem}.tag-list{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1rem}.tag{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:#d4d4d4;border:1px solid #505050;border-radius:999px;padding:.3rem .65rem;background:#ffffff08}.footer{text-align:center}.contact-list{display:flex;justify-content:center;flex-wrap:wrap;gap:.7rem}.contact-btn{color:var(--text);text-decoration:none;padding:.62rem 1rem;border-radius:999px;border:1px solid #525252;background:#ffffff08;transition:border-color .22s ease,background-color .22s ease}.contact-btn:hover{border-color:var(--bright);background:#ffffff14}.footer p{margin-top:1.2rem;color:var(--soft);font-size:.88rem}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1}.grain,.vignette,.aura{position:absolute;top:0;right:0;bottom:0;left:0}.grain{opacity:.06;background-image:radial-gradient(circle at 30% 20%,rgba(255,255,255,.15) 0 1px,transparent 1px),radial-gradient(circle at 80% 80%,rgba(255,255,255,.15) 0 1px,transparent 1px);background-size:3px 3px,4px 4px}.vignette{background:radial-gradient(circle at center,#fff0 45%,#000000a6)}.aura{background:radial-gradient(circle at 72% 16%,#ffffff14,#fff0 56%);filter:blur(38px);animation:pulse 9s ease-in-out infinite alternate}.cursor{position:fixed;top:0;left:0;width:12px;aspect-ratio:1;border-radius:50%;pointer-events:none;border:1px solid rgba(255,255,255,.7);background:#ffffff1a;z-index:9999;transition:width .18s ease,border-color .18s ease,background-color .18s ease,opacity .18s ease}.cursor-realtime{width:8px;border-color:#fffffff5;background:#ffffffd1;box-shadow:0 0 12px #ffffff73;mix-blend-mode:normal}.cursor-smooth{width:30px;border-color:#ffffff73;background:#ffffff05;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);mix-blend-mode:difference}.cursor.hover{border-color:#fff}.cursor-realtime.hover{width:11px;background:#fff}.cursor-smooth.hover{width:40px;background:#ffffff0f}.reveal{opacity:0;transform:translateY(24px);transition:opacity .86s cubic-bezier(.16,1,.3,1),transform .86s cubic-bezier(.16,1,.3,1);transition-delay:var(--reveal-delay, 0ms)}.reveal.active{opacity:1;transform:translateY(0)}@keyframes pulse{0%{transform:scale(.96);opacity:.55}to{transform:scale(1.05);opacity:.85}}@media(max-width:980px){.stats,.interest-grid,.columns{grid-template-columns:1fr}.shell{width:91vw}.section-block{padding:4.2rem 0}}@media(prefers-reduced-motion:reduce){.reveal,.aura,.cursor,.interest-card,.pub-card,.contact-btn{animation:none;transition:none;transform:none}.reveal{opacity:1}}
