
:root{
  --bg:#f4f5f6; --panel:rgba(255,255,255,.68); --panel-solid:#fff; --text:#101216; --muted:#636971;
  --line:rgba(12,18,28,.11); --line-strong:rgba(12,18,28,.2); --glass:rgba(255,255,255,.64);
  --accent:#6257ff; --accent2:#00b6c9; --accent3:#72dfad; --shadow:0 24px 80px rgba(20,29,45,.10);
  --header:rgba(244,245,246,.72); --input:#fff; --canvas-opacity:.35;
}
html[data-theme="dark"]{
  --bg:#07090c; --panel:rgba(16,19,25,.72); --panel-solid:#11151b; --text:#f4f7fb; --muted:#9299a5;
  --line:rgba(230,238,255,.1); --line-strong:rgba(230,238,255,.18); --glass:rgba(11,14,19,.68);
  --accent:#8e87ff; --accent2:#4bd8df; --accent3:#77f1b8; --shadow:0 32px 90px rgba(0,0,0,.35);
  --header:rgba(7,9,12,.72); --input:#0c1015; --canvas-opacity:.60;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;line-height:1.55;overflow-x:hidden}
body::selection{background:var(--accent);color:white}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
img{max-width:100%;display:block}
#neuralCanvas{position:fixed;inset:0;width:100%;height:100%;z-index:-3;opacity:var(--canvas-opacity);pointer-events:none}
.ambient{position:fixed;border-radius:999px;filter:blur(110px);opacity:.13;z-index:-2;pointer-events:none}
.ambient-a{width:44vw;height:44vw;background:var(--accent);top:-18vw;right:-10vw}
.ambient-b{width:34vw;height:34vw;background:var(--accent2);bottom:-15vw;left:-12vw}
.shell{width:min(1180px,calc(100% - 48px));margin-inline:auto}
.skip-link{position:fixed;left:16px;top:-60px;z-index:1000;background:var(--text);color:var(--bg);padding:10px 14px;border-radius:10px}
.skip-link:focus{top:16px}
.site-header{position:sticky;top:0;z-index:100;border-bottom:1px solid transparent;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);background:var(--header);transition:.25s ease}
.site-header.scrolled{border-color:var(--line)}
.nav-wrap{height:74px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:flex;align-items:center;gap:11px;font-weight:650;letter-spacing:-.02em}
.brand-mark{width:31px;height:31px;display:grid;place-items:center;border:1px solid var(--line-strong);border-radius:10px;font-size:14px;background:linear-gradient(145deg,var(--panel-solid),transparent)}
.brand-name{font-size:15px}
.nav{display:flex;gap:26px;align-items:center;font-size:13px;color:var(--muted)}
.nav a{transition:.2s}
.nav a:hover{color:var(--text)}
.nav-actions{display:flex;align-items:center;gap:8px}
.theme-toggle,.menu-toggle{width:40px;height:40px;border:1px solid var(--line);background:var(--panel);border-radius:13px;display:grid;place-items:center;cursor:pointer}
.theme-toggle{position:relative;overflow:hidden}
.theme-toggle .sun,.theme-toggle .moon{position:absolute;transition:transform .3s,opacity .3s}
html[data-theme="dark"] .theme-toggle .sun{transform:translateY(24px);opacity:0}
html[data-theme="dark"] .theme-toggle .moon{transform:translateY(0);opacity:1}
html[data-theme="light"] .theme-toggle .sun{transform:translateY(0);opacity:1}
html[data-theme="light"] .theme-toggle .moon{transform:translateY(-24px);opacity:0}
.menu-toggle{display:none;position:relative}
.menu-toggle span{position:absolute;width:16px;height:1px;background:var(--text);transition:.2s}
.menu-toggle span:first-child{transform:translateY(-4px)}
.menu-toggle span:last-child{transform:translateY(4px)}
.menu-toggle.open span:first-child{transform:rotate(45deg)}
.menu-toggle.open span:last-child{transform:rotate(-45deg)}

.hero{min-height:calc(100svh - 74px);display:grid;grid-template-columns:1.08fr .92fr;gap:70px;align-items:center;padding-block:88px 96px}
.eyebrow,.kicker,.card-label,.timeline-tag,.journal{font-size:11px;letter-spacing:.16em;font-weight:800;text-transform:uppercase;color:var(--muted)}
.hero h1{font-size:clamp(48px,6.2vw,91px);line-height:.96;letter-spacing:-.062em;margin:24px 0 28px;max-width:850px;font-weight:680}
.gradient-text{background:linear-gradient(110deg,var(--accent) 0%,var(--accent2) 58%,var(--accent3) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-lede{font-size:clamp(17px,1.45vw,21px);color:var(--muted);max-width:700px;line-height:1.62}
.hero-actions{display:flex;gap:12px;margin-top:34px;flex-wrap:wrap}
.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;height:50px;padding:0 20px;border-radius:16px;border:1px solid var(--line);font-weight:700;font-size:14px;cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s}
.button:hover{transform:translateY(-2px)}
.button.primary{color:#fff;border-color:transparent;background:linear-gradient(120deg,#685cf8,#369eca);box-shadow:0 14px 30px rgba(88,81,233,.25)}
.button.ghost{background:var(--panel)}
.hero-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:64px;padding-top:26px;border-top:1px solid var(--line)}
.hero-facts div{display:flex;flex-direction:column;gap:3px}
.hero-facts strong{font-size:13px}
.hero-facts span{font-size:11px;color:var(--muted)}
.portrait-stage{position:relative;min-height:560px;display:grid;place-items:center}
.portrait-halo{position:absolute;width:86%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(98,87,255,.23),rgba(0,182,201,.09) 45%,transparent 68%);filter:blur(12px)}
.portrait-card{position:relative;margin:0;width:min(390px,82%);border:1px solid var(--line);padding:12px;border-radius:42px;background:var(--glass);box-shadow:var(--shadow);backdrop-filter:blur(20px);transform:rotate(1.5deg)}
.portrait-card img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:32px}
.portrait-card figcaption{display:flex;align-items:center;justify-content:center;gap:8px;font-size:11px;color:var(--muted);padding:12px 8px 3px}
.status-dot{width:7px;height:7px;border-radius:50%;background:#52d590;box-shadow:0 0 14px #52d590}
.orbit-card{position:absolute;padding:11px 14px;border:1px solid var(--line);background:var(--glass);backdrop-filter:blur(18px);border-radius:14px;font-size:11px;box-shadow:var(--shadow);white-space:nowrap}
.orbit-card span{color:var(--muted);margin-right:6px}
.orbit-one{top:14%;left:-2%;transform:rotate(-3deg)}
.orbit-two{right:-5%;top:42%;transform:rotate(3deg)}
.orbit-three{left:5%;bottom:9%;transform:rotate(2deg)}

.marquee-band{border-block:1px solid var(--line);overflow:hidden;padding:16px 0;background:var(--glass);backdrop-filter:blur(10px)}
.marquee-track{display:flex;width:max-content;gap:24px;align-items:center;animation:marquee 32s linear infinite;color:var(--muted);font-size:10px;letter-spacing:.14em;font-weight:800}
.marquee-track i{font-style:normal;color:var(--accent)}
@keyframes marquee{to{transform:translateX(-50%)}}

.section{padding-block:130px}
.section-head{max-width:760px;margin-bottom:52px}
.section-head h2,.split-head h2,.teaching-card h2,.contact-copy h2,.source-card h2{font-size:clamp(39px,5vw,67px);line-height:1.02;letter-spacing:-.055em;margin:16px 0 20px;font-weight:650}
.section-head p:last-child,.split-head>p,.teaching-copy>p:last-child,.contact-copy>p{color:var(--muted);font-size:17px;max-width:650px}
.muted{color:var(--muted);font-weight:510}
.work-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:18px}
.feature-card{min-height:350px;padding:30px;border:1px solid var(--line);border-radius:28px;background:var(--panel);backdrop-filter:blur(18px);position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;transition:transform .25s,border-color .25s}
.feature-card:hover{transform:translateY(-5px);border-color:var(--line-strong)}
.feature-card.large{grid-row:span 2;min-height:718px}
.feature-card.wide{grid-column:1/-1;min-height:270px;display:grid;grid-template-columns:1fr auto;align-items:end;gap:50px}
.card-index{font-size:12px;color:var(--muted)}
.card-copy{position:relative;z-index:2;max-width:600px}
.card-copy h3{font-size:clamp(27px,3vw,42px);letter-spacing:-.04em;line-height:1.08;margin:9px 0 14px;font-weight:620}
.card-copy p:last-child{color:var(--muted);max-width:600px}
.icon-orb{width:100px;height:100px;border-radius:50%;display:grid;place-items:center;font-size:34px;background:radial-gradient(circle,var(--panel-solid),transparent 70%);border:1px solid var(--line);align-self:flex-end}
.mini-network{position:absolute;inset:40px 20px auto auto;width:75%;height:55%;opacity:.7;background:
radial-gradient(circle at 20% 25%,var(--accent) 0 3px,transparent 4px),
radial-gradient(circle at 43% 44%,var(--accent2) 0 4px,transparent 5px),
radial-gradient(circle at 72% 20%,var(--accent3) 0 3px,transparent 4px),
radial-gradient(circle at 82% 62%,var(--accent) 0 3px,transparent 4px),
radial-gradient(circle at 45% 76%,var(--accent2) 0 3px,transparent 4px);
filter:blur(.15px)}
.mini-network::before,.mini-network::after{content:"";position:absolute;inset:20%;border:1px solid var(--line-strong);border-radius:50%;transform:skew(20deg) rotate(24deg)}
.mini-network::after{inset:5% 26%;transform:skew(-16deg) rotate(-15deg)}
.metric{padding-left:30px;border-left:1px solid var(--line);min-width:220px}
.metric strong{font-size:34px;display:block;letter-spacing:-.04em}
.metric span{color:var(--muted);font-size:12px}

.timeline-section{border-block:1px solid var(--line);background:linear-gradient(180deg,transparent,var(--panel),transparent)}
.timeline{position:relative}
.timeline::before{content:"";position:absolute;left:170px;top:12px;bottom:12px;width:1px;background:linear-gradient(var(--line),var(--accent),var(--line))}
.timeline-item{display:grid;grid-template-columns:145px 50px 1fr;gap:0;position:relative;padding:24px 0}
.timeline-year{font-variant-numeric:tabular-nums;font-size:12px;color:var(--muted);padding-top:25px}
.timeline-node{width:13px;height:13px;border-radius:50%;border:2px solid var(--bg);background:#727984;margin:26px auto;position:relative;z-index:2;box-shadow:0 0 0 1px var(--line)}
.timeline-node.active{background:var(--accent2);box-shadow:0 0 24px color-mix(in srgb,var(--accent2) 70%,transparent)}
.timeline-card{padding:26px 30px;border:1px solid var(--line);border-radius:22px;background:var(--panel);backdrop-filter:blur(16px)}
.timeline-card.current{border-color:color-mix(in srgb,var(--accent) 42%,var(--line))}
.timeline-card h3{font-size:27px;letter-spacing:-.035em;margin:8px 0 8px}
.timeline-card p{margin:0;color:var(--muted)}
.timeline-card em{color:var(--text)}
.chips{display:flex;gap:7px;flex-wrap:wrap;margin-top:18px}
.chips span{padding:7px 10px;border:1px solid var(--line);border-radius:999px;font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}

.split-head{display:grid;grid-template-columns:1.1fr .9fr;gap:90px;align-items:end;margin-bottom:58px}
.split-head>p{margin-bottom:16px}
.text-link{justify-self:end;align-self:end;font-size:13px;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:4px}
.research-map{height:620px;position:relative;border:1px solid var(--line);border-radius:34px;background:var(--panel);overflow:hidden;backdrop-filter:blur(16px)}
.research-map svg{position:absolute;inset:0;width:100%;height:100%;z-index:0}
.research-map path{fill:none;stroke:var(--line-strong);stroke-width:1.2;stroke-dasharray:5 7}
.map-core,.map-item{position:absolute;z-index:2;border:1px solid var(--line);background:var(--glass);backdrop-filter:blur(14px);box-shadow:0 15px 35px rgba(0,0,0,.06)}
.map-core{left:50%;top:50%;transform:translate(-50%,-50%);width:220px;height:220px;border-radius:50%;display:grid;place-content:center;text-align:center}
.map-core::after{content:"";position:absolute;inset:-14px;border:1px solid color-mix(in srgb,var(--accent) 36%,transparent);border-radius:50%}
.map-core span{font-size:12px;color:var(--muted)}
.map-core strong{font-size:20px;letter-spacing:.06em}
.map-item{padding:14px 18px;border-radius:16px;min-width:160px}
.map-item b{display:block;font-size:13px}
.map-item span{font-size:10px;color:var(--muted)}
.m1{left:7%;top:11%}.m2{right:7%;top:12%}.m3{left:5%;bottom:13%}.m4{right:5%;bottom:14%}.m5{left:50%;top:4%;transform:translateX(-50%)}.m6{left:50%;bottom:4%;transform:translateX(-50%)}

.achievements-section{background:var(--text);color:var(--bg)}
html[data-theme="dark"] .achievements-section{background:#f2f3f5;color:#0c0e12}
.achievements-section .muted,.achievements-section .kicker,.achievements-section .award p,.achievements-section .award span{color:color-mix(in srgb,currentColor 58%,transparent)}
.award-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid color-mix(in srgb,currentColor 18%,transparent);border-left:1px solid color-mix(in srgb,currentColor 18%,transparent)}
.award{min-height:220px;padding:26px;border-right:1px solid color-mix(in srgb,currentColor 18%,transparent);border-bottom:1px solid color-mix(in srgb,currentColor 18%,transparent)}
.award span{font-size:11px}
.award h3{font-size:20px;line-height:1.2;letter-spacing:-.025em;margin:42px 0 8px}
.award p{font-size:12px;margin:0}

.pub-list{border-top:1px solid var(--line)}
.pub{display:grid;grid-template-columns:90px 1fr 40px;gap:20px;padding:28px 8px;border-bottom:1px solid var(--line);align-items:start;transition:padding .2s,background .2s}
a.pub:hover{padding-left:18px;background:var(--panel)}
.pub-year{font-size:12px;color:var(--muted);padding-top:4px}
.pub h3{font-size:clamp(20px,2vw,28px);letter-spacing:-.03em;line-height:1.2;margin:6px 0}
.pub p{color:var(--muted);margin:0;font-size:13px}
.pub-arrow{text-align:right;color:var(--muted);font-size:18px}

.teaching-section{padding-top:30px}
.teaching-card{padding:60px;border:1px solid var(--line);border-radius:34px;background:linear-gradient(135deg,var(--panel),transparent);display:grid;grid-template-columns:1.08fr .92fr;gap:70px;align-items:end}
.course-list{border-top:1px solid var(--line)}
.course-list div{padding:22px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:90px 1fr;gap:18px}
.course-list span{font-size:11px;color:var(--muted)}
.course-list strong{font-size:15px}

.media-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.video-card{border:1px solid var(--line);border-radius:28px;overflow:hidden;background:var(--panel)}
.video-wrap{aspect-ratio:16/9;background:#000}
.video-wrap iframe{width:100%;height:100%;border:0}
.video-meta{padding:24px 26px 28px}
.video-meta span{font-size:10px;letter-spacing:.14em;font-weight:800;color:var(--muted)}
.video-meta h3{font-size:25px;letter-spacing:-.03em;line-height:1.15;margin:9px 0}
.video-meta p{margin:0;color:var(--muted);font-size:13px}

.source-section{padding-top:30px}
.source-card{border:1px solid var(--line);border-radius:28px;padding:44px;display:grid;grid-template-columns:150px 1fr .65fr;gap:40px;background:var(--panel)}
.source-card h2{font-size:38px;margin-top:0}
.source-copy p{color:var(--muted)}
.source-links{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.source-links a{padding:12px 2px;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}

.contact-section{border-top:1px solid var(--line)}
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:start}
.privacy-note{display:flex;gap:10px;margin-top:34px;padding-top:20px;border-top:1px solid var(--line);max-width:420px}
.privacy-note span{color:var(--accent2)}
.privacy-note p{font-size:11px;color:var(--muted);margin:0}
.contact-form{padding:30px;border:1px solid var(--line);border-radius:28px;background:var(--panel);backdrop-filter:blur(16px)}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.contact-form label{display:flex;flex-direction:column;gap:8px;margin-bottom:15px}
.contact-form label>span{font-size:11px;font-weight:700;color:var(--muted)}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid var(--line);background:var(--input);border-radius:14px;padding:13px 14px;outline:none;transition:.2s}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}
.contact-form textarea{resize:vertical;min-height:150px}
.hp{position:absolute!important;left:-10000px!important;opacity:0!important}
.form-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:6px}
.form-footer p{font-size:11px;color:var(--muted);margin:0;min-height:18px}
.form-footer p.ok{color:#37a96e}.form-footer p.error{color:#de5c62}

.site-footer{padding:54px 0 38px;border-top:1px solid var(--line)}
.footer-grid{display:grid;grid-template-columns:1fr auto auto;gap:60px;align-items:end}
.footer-brand{display:inline-flex}
.footer-grid>div:first-child>p{font-size:12px;color:var(--muted);margin:14px 0 0}
.footer-links{display:flex;gap:16px;font-size:11px;color:var(--muted)}
.footer-meta{font-size:10px;color:var(--muted);display:flex;flex-direction:column;align-items:flex-end}

.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}

@media (max-width:980px){
  .nav{position:fixed;top:74px;left:24px;right:24px;display:none;flex-direction:column;align-items:stretch;background:var(--panel-solid);border:1px solid var(--line);border-radius:20px;padding:12px;box-shadow:var(--shadow)}
  .nav.open{display:flex}.nav a{padding:10px 8px}.menu-toggle{display:grid}
  .hero{grid-template-columns:1fr;gap:20px;padding-top:70px}.portrait-stage{min-height:500px;order:-1}.portrait-card{width:min(360px,70%)}
  .hero-copy{text-align:center}.hero-lede{margin-inline:auto}.hero-actions{justify-content:center}.hero-facts{text-align:left}
  .work-grid{grid-template-columns:1fr}.feature-card.large{min-height:560px}.feature-card.wide{grid-column:auto}
  .award-grid{grid-template-columns:repeat(2,1fr)}
  .split-head{grid-template-columns:1fr;gap:10px}.text-link{justify-self:start}
  .teaching-card{grid-template-columns:1fr;gap:30px}
  .source-card{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr;align-items:start}.footer-meta{align-items:flex-start}
}
@media (max-width:700px){
  .shell{width:min(100% - 28px,1180px)}
  .brand-name{font-size:13px}
  .section{padding-block:90px}
  .hero{padding-top:42px;min-height:auto}
  .portrait-stage{min-height:390px}.portrait-card{width:72%;border-radius:30px}.portrait-card img{border-radius:22px}
  .orbit-card{font-size:9px;padding:8px 10px}.orbit-one{left:0}.orbit-two{right:0}.orbit-three{left:2%}
  .hero h1{font-size:clamp(44px,14vw,68px)}
  .hero-facts{grid-template-columns:1fr;gap:12px;text-align:center;margin-top:46px}
  .hero-facts div{padding:8px 0}
  .feature-card{padding:22px;border-radius:22px;min-height:320px}.feature-card.large{min-height:520px}.feature-card.wide{display:flex;min-height:420px}.metric{border-left:0;border-top:1px solid var(--line);padding:20px 0 0}
  .timeline::before{left:13px}.timeline-item{grid-template-columns:28px 1fr;grid-template-areas:"node card";padding:10px 0}.timeline-year{grid-column:2;font-size:10px;padding:0 0 7px 18px}.timeline-node{grid-area:node;margin:25px auto}.timeline-card{grid-area:card;padding:22px}.timeline-card h3{font-size:22px}
  .research-map{height:760px}.research-map svg{display:none}.map-core{width:185px;height:185px}.map-item{min-width:140px}.m1{left:6%;top:8%}.m2{right:5%;top:21%}.m3{left:5%;bottom:21%}.m4{right:4%;bottom:9%}.m5{top:3%}.m6{bottom:3%}
  .award-grid{grid-template-columns:1fr 1fr}.award{padding:20px;min-height:190px}.award h3{font-size:17px;margin-top:35px}
  .pub{grid-template-columns:54px 1fr 20px;gap:10px;padding-block:23px}
  .teaching-card{padding:28px;border-radius:24px}.course-list div{grid-template-columns:1fr;gap:4px}
  .media-grid{grid-template-columns:1fr}
  .source-card{padding:28px}
  .field-row{grid-template-columns:1fr}.contact-form{padding:20px}.form-footer{align-items:flex-start;flex-direction:column-reverse}.form-footer .button{width:100%}
  .footer-links{flex-wrap:wrap}.footer-grid{gap:28px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .reveal{opacity:1;transform:none}
}


/* v2 — social icons + kinetic LinkedIn-style reverse timeline */
.social-icons{display:flex;align-items:center;gap:8px;margin-left:2px}
.social-icons a{width:48px;height:48px;display:grid;place-items:center;border:1px solid var(--line);border-radius:16px;background:var(--panel);backdrop-filter:blur(16px);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease,background .25s ease}
.social-icons a:hover{transform:translateY(-4px) scale(1.04);border-color:color-mix(in srgb,var(--accent2) 55%,var(--line));box-shadow:0 12px 28px rgba(0,0,0,.18);background:color-mix(in srgb,var(--panel-solid) 82%,var(--accent) 18%)}
.social-icons svg{width:18px;height:18px;fill:currentColor}

.timeline-group{margin-top:52px}
.timeline-group + .timeline-group{margin-top:86px}
.timeline-group-label{display:flex;align-items:center;gap:14px;margin:0 0 12px 195px;font-size:11px;letter-spacing:.16em;font-weight:800;color:var(--muted)}
.timeline-group-label span{width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--line);border-radius:9px;font-size:9px}
.timeline.reverse .timeline-item{transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.timeline.reverse .timeline-card{position:relative;overflow:hidden;transition:transform .38s cubic-bezier(.2,.8,.2,1),border-color .3s ease,box-shadow .3s ease,background .3s ease}
.timeline.reverse .timeline-card::before{content:"";position:absolute;left:-7px;top:18%;bottom:18%;width:3px;border-radius:99px;background:linear-gradient(var(--accent),var(--accent2),var(--accent3));opacity:0;transform:translateX(-8px);transition:.35s ease}
.timeline.reverse .timeline-item:hover{transform:translateX(5px)}
.timeline.reverse .timeline-item:hover .timeline-card{transform:translateX(14px);border-color:color-mix(in srgb,var(--accent2) 42%,var(--line));box-shadow:0 24px 70px rgba(0,0,0,.14);background:color-mix(in srgb,var(--panel) 92%,var(--accent) 8%)}
.timeline.reverse .timeline-item:hover .timeline-card::before{opacity:1;transform:translateX(0)}
.timeline.reverse .timeline-item:hover .timeline-node{transform:scale(1.35);box-shadow:0 0 26px color-mix(in srgb,var(--accent2) 70%,transparent)}
.timeline.reverse .timeline-node{transition:transform .3s ease,box-shadow .3s ease}
.timeline-roleline{color:var(--text)!important;font-size:13px;font-weight:650;margin-bottom:10px!important}
.timeline-aux{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:58px 0 0 195px}
.timeline-aux div{border:1px solid var(--line);border-radius:18px;padding:18px;background:var(--panel);transition:transform .25s ease,border-color .25s ease}
.timeline-aux div:hover{transform:translateY(-5px);border-color:var(--line-strong)}
.timeline-aux span{display:block;font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.timeline-aux strong{font-size:12px;line-height:1.35;display:block}

html[data-theme="dark"] body{
  background:
    radial-gradient(circle at 84% 10%,rgba(103,74,255,.08),transparent 28%),
    radial-gradient(circle at 14% 72%,rgba(0,201,220,.055),transparent 30%),
    var(--bg);
}

@media (max-width:980px){
  .timeline-group-label,.timeline-aux{margin-left:0}
  .timeline-aux{grid-template-columns:1fr}
}
@media (max-width:700px){
  .social-icons{width:100%;justify-content:center;margin-top:4px}
  .social-icons a{width:45px;height:45px}
  .timeline-group{margin-top:35px}.timeline-group + .timeline-group{margin-top:65px}
  .timeline.reverse .timeline-item:hover{transform:none}
  .timeline.reverse .timeline-item:hover .timeline-card{transform:translateX(5px)}
}


/* v3 — Living Pathways: recognition + research storytelling */
.recognition-section{position:relative;border-block:1px solid var(--line);overflow:hidden}
.signal-trail{position:relative;max-width:920px;margin:0 auto;padding:10px 0}
.signal-spine{position:absolute;left:91px;top:0;bottom:0;width:1px;background:var(--line)}
.signal-spine i{position:absolute;left:-2px;width:5px;height:90px;border-radius:99px;background:linear-gradient(transparent,var(--accent2),var(--accent),transparent);box-shadow:0 0 22px var(--accent2);animation:signalDown 5s linear infinite}
@keyframes signalDown{from{top:-90px}to{top:100%}}
.signal-award{display:grid;grid-template-columns:70px 1fr 30px;gap:44px;align-items:center;min-height:135px;padding:18px 22px 18px 0;border-bottom:1px solid var(--line);position:relative;transition:transform .38s cubic-bezier(.2,.8,.2,1),background .3s,border-color .3s}
.signal-award::before{content:"";position:absolute;left:86px;width:11px;height:11px;border-radius:50%;background:var(--bg);border:2px solid var(--muted);z-index:2;transition:.3s}
.signal-award:hover{transform:translateX(18px);background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--accent) 7%,transparent));border-color:color-mix(in srgb,var(--accent2) 40%,var(--line))}
.signal-award:hover::before,.signal-award.featured::before{border-color:var(--accent2);background:var(--accent2);box-shadow:0 0 24px var(--accent2)}
.signal-award time{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.signal-award span{font-size:9px;letter-spacing:.14em;color:var(--muted);font-weight:800}
.signal-award h3{font-size:clamp(20px,2.3vw,31px);letter-spacing:-.035em;margin:5px 0;line-height:1.12}
.signal-award p{font-size:12px;color:var(--muted);margin:4px 0 0;max-height:0;opacity:0;transform:translateY(5px);transition:.3s}
.signal-award:hover p,.signal-award.featured p{max-height:50px;opacity:1;transform:none}
.signal-award b{font-weight:400;color:var(--muted);transition:.3s}.signal-award:hover b{transform:translate(4px,-4px);color:var(--accent2)}

.publications-section{position:relative}
.hero-paper{display:block;position:relative;min-height:500px;padding:38px;border:1px solid color-mix(in srgb,var(--accent) 32%,var(--line));border-radius:34px;overflow:hidden;background:linear-gradient(145deg,color-mix(in srgb,var(--panel) 92%,var(--accent) 8%),var(--panel));box-shadow:var(--shadow);transition:transform .4s cubic-bezier(.2,.8,.2,1),border-color .3s}
.hero-paper:hover{transform:translateY(-7px);border-color:color-mix(in srgb,var(--accent2) 60%,var(--line))}
.hero-paper-glow{position:absolute;width:500px;height:500px;border-radius:50%;right:-100px;top:-170px;background:radial-gradient(circle,rgba(103,83,255,.25),rgba(0,197,214,.10) 45%,transparent 68%);filter:blur(25px)}
.paper-top{position:relative;z-index:2;display:flex;justify-content:space-between}
.paper-pill{font-size:10px;letter-spacing:.14em;font-weight:800;padding:9px 12px;border:1px solid var(--line);border-radius:999px;background:var(--glass)}
.paper-open{font-size:24px;color:var(--muted)}
.paper-body{position:absolute;z-index:2;left:38px;right:38px;bottom:42px;max-width:850px}
.paper-topic{font-size:10px;letter-spacing:.16em;color:var(--accent2);font-weight:800}
.paper-body h3{font-size:clamp(38px,5.2vw,68px);letter-spacing:-.055em;line-height:.98;margin:10px 0 18px;font-weight:630}
.paper-body>p:last-child{color:var(--muted);max-width:650px}
.paper-signal{position:absolute;right:5%;bottom:10%;width:28%;height:50%;opacity:.8}
.paper-signal i{position:absolute;width:8px;height:8px;border-radius:50%;background:var(--accent2);box-shadow:0 0 28px var(--accent2);animation:paperPulse 3s ease-in-out infinite}
.paper-signal i:nth-child(1){left:10%;top:20%}.paper-signal i:nth-child(2){left:55%;top:5%;animation-delay:.6s}.paper-signal i:nth-child(3){left:72%;top:55%;animation-delay:1.2s}.paper-signal i:nth-child(4){left:30%;top:75%;animation-delay:1.8s}
@keyframes paperPulse{50%{transform:scale(2.4);opacity:.35}}

.research-stream{position:relative;margin-top:24px;border-top:1px solid var(--line)}
.stream-labels{display:flex;gap:8px;padding:18px 0 4px;flex-wrap:wrap}
.stream-labels span{font-size:9px;text-transform:uppercase;letter-spacing:.12em;border:1px solid var(--line);border-radius:999px;padding:6px 9px;color:var(--muted)}
.stream-line{position:absolute;left:84px;top:65px;bottom:0;width:1px;background:var(--line)}
.stream-line i{position:absolute;left:-1px;width:3px;height:110px;background:linear-gradient(transparent,var(--accent),var(--accent2),transparent);animation:signalDown 6s linear infinite}
.story-paper{display:grid;grid-template-columns:65px 1fr 32px;gap:35px;padding:28px 18px 28px 0;border-bottom:1px solid var(--line);position:relative;transition:transform .35s cubic-bezier(.2,.8,.2,1),background .3s}
.story-paper::before{content:"";position:absolute;left:80px;top:38px;width:9px;height:9px;border-radius:50%;background:var(--bg);border:1px solid var(--muted);transition:.3s;z-index:2}
.story-paper:hover{transform:translateX(14px);background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--accent2) 6%,transparent))}
.story-paper:hover::before{background:var(--accent2);border-color:var(--accent2);box-shadow:0 0 22px var(--accent2)}
.story-year{font-size:11px;color:var(--muted)}
.story-paper h3{font-size:clamp(20px,2.4vw,31px);line-height:1.15;letter-spacing:-.035em;margin:6px 0}
.story-paper p{color:var(--muted);font-size:12px;margin:0;max-height:0;opacity:0;transition:.3s}
.story-paper:hover p{max-height:60px;opacity:1}
.story-paper>b{font-size:10px;color:var(--muted);font-weight:500}
.publication-cta{display:flex;justify-content:space-between;align-items:center;margin-top:24px;padding:20px 22px;border:1px solid var(--line);border-radius:16px;font-size:12px;color:var(--muted);transition:.25s}
.publication-cta:hover{border-color:var(--accent2);color:var(--text);transform:translateY(-2px)}

.video-poster{display:block;position:relative;width:100%;aspect-ratio:16/9;padding:0;border:0;background:#050608;overflow:hidden;cursor:pointer;color:white}
.video-poster img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.8,.2,1),filter .4s}
.video-poster:hover img{transform:scale(1.035);filter:saturate(1.08)}
.video-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(0,0,0,.62))}
.play-button{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:70px;height:70px;border-radius:50%;display:grid;place-items:center;padding-left:4px;background:rgba(255,255,255,.9);color:#090b0e;box-shadow:0 20px 50px rgba(0,0,0,.3);transition:.3s}
.video-poster:hover .play-button{transform:translate(-50%,-50%) scale(1.08);background:white}
.watch-label{position:absolute;left:22px;bottom:18px;font-size:9px;letter-spacing:.15em;font-weight:800}
.video-poster iframe{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:5}

.footer-grid{grid-template-columns:1fr auto auto auto}
.footer-socials{display:flex;gap:7px}
.footer-socials a{width:36px;height:36px;border:1px solid var(--line);border-radius:11px;display:grid;place-items:center;transition:.25s}
.footer-socials a:hover{transform:translateY(-3px);border-color:var(--accent2)}
.footer-socials svg{width:15px;height:15px;fill:currentColor}

@media(max-width:980px){.footer-grid{grid-template-columns:1fr}.footer-socials{justify-content:flex-start}}
@media(max-width:700px){
  .signal-spine{left:61px}.signal-award{grid-template-columns:45px 1fr 20px;gap:28px;padding-right:4px}.signal-award::before{left:56px}.signal-award:hover{transform:translateX(5px)}
  .hero-paper{min-height:570px;padding:24px}.paper-body{left:24px;right:24px;bottom:28px}.paper-signal{width:50%;height:40%}
  .stream-line{left:58px}.story-paper{grid-template-columns:45px 1fr 20px;gap:25px}.story-paper::before{left:54px}.story-paper:hover{transform:translateX(5px)}
}


/* FINAL PATCH — Living Pathways + rebuilt footer */
#neuralCanvas{
  position:fixed;
  inset:0;
  width:100%;
  height:100%;
  z-index:-4;
  opacity:.96;
  pointer-events:none;
}
html[data-theme="light"] #neuralCanvas{opacity:.58}

.site-footer{
  position:relative;
  overflow:hidden;
  min-height:330px;
  padding:92px 0 34px;
  border-top:1px solid var(--line);
  background:
    linear-gradient(180deg, color-mix(in srgb,var(--bg) 72%,transparent), var(--bg) 48%),
    var(--bg);
}
.footer-expressway{
  position:absolute;
  inset:0;
  pointer-events:none;
  overflow:hidden;
  opacity:.92;
}
.footer-flow{
  position:absolute;
  left:-10%;
  width:120%;
  height:2px;
  border-radius:999px;
  filter:drop-shadow(0 0 12px rgba(76,210,235,.25));
}
.footer-flow::after{
  content:"";
  position:absolute;
  width:160px;
  height:100%;
  top:0;
  background:linear-gradient(90deg,transparent,#755cff,#46d7e8,#68eab3,transparent);
  animation:footerPulse 5.6s linear infinite;
}
.footer-flow-a{
  top:31%;
  transform:rotate(-3deg);
  background:linear-gradient(90deg,transparent,rgba(91,91,255,.22),rgba(67,208,227,.20),transparent);
}
.footer-flow-b{
  top:43%;
  transform:rotate(2deg);
  background:linear-gradient(90deg,transparent,rgba(82,235,179,.14),rgba(223,80,190,.14),transparent);
}
.footer-flow-b::after{animation-delay:1.7s}
.footer-flow-c{
  top:55%;
  transform:rotate(-1deg);
  background:linear-gradient(90deg,transparent,rgba(66,130,255,.14),rgba(118,91,255,.20),transparent);
}
.footer-flow-c::after{animation-delay:3s}
@keyframes footerPulse{
  from{left:-180px}
  to{left:calc(100% + 180px)}
}
.footer-junction{
  position:absolute;
  left:18%;
  top:35%;
  width:150px;
  height:150px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(68,215,230,.14),rgba(112,83,255,.08) 36%,transparent 70%);
  filter:blur(18px);
  animation:junctionBreath 4.5s ease-in-out infinite;
}
@keyframes junctionBreath{50%{transform:scale(1.18);opacity:.7}}

.footer-shell{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(360px,1fr) auto;
  grid-template-areas:
    "identity nav"
    "identity meta";
  gap:48px 70px;
  align-items:start;
}
.footer-identity{grid-area:identity;max-width:760px}
.footer-name-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.footer-brand .brand-name{font-size:18px}
.footer-socials{display:flex;gap:8px}
.social-link{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border:1px solid var(--line);
  border-radius:13px;
  background:color-mix(in srgb,var(--panel) 82%,transparent);
  backdrop-filter:blur(14px);
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease,background .25s ease;
}
.social-link svg{width:17px;height:17px;fill:currentColor}
.social-link:hover{transform:translateY(-4px) scale(1.04)}
.social-link.linkedin:hover{
  border-color:rgba(76,141,255,.72);
  box-shadow:0 0 0 1px rgba(76,141,255,.12),0 0 28px rgba(76,141,255,.28);
}
.social-link.instagram:hover{
  border-color:rgba(219,88,198,.72);
  box-shadow:0 0 0 1px rgba(219,88,198,.12),0 0 28px rgba(219,88,198,.26);
}
.social-link.facebook:hover{
  border-color:rgba(72,132,255,.72);
  box-shadow:0 0 0 1px rgba(72,132,255,.12),0 0 28px rgba(72,132,255,.25);
}
.footer-role{
  margin:22px 0 0;
  max-width:760px;
  color:var(--muted);
  font-size:13px;
}
.footer-phrase{
  margin:36px 0 0;
  font-size:clamp(32px,4.5vw,62px);
  line-height:1;
  letter-spacing:-.05em;
  font-weight:620;
  background:linear-gradient(110deg,var(--text),var(--muted) 55%,var(--accent2));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.site-footer .footer-links{
  grid-area:nav;
  display:grid;
  grid-template-columns:repeat(3,auto);
  gap:10px 24px;
  justify-content:end;
  font-size:11px;
}
.site-footer .footer-links a{
  color:var(--muted);
  transition:color .2s ease,transform .2s ease;
}
.site-footer .footer-links a:hover{
  color:var(--text);
  transform:translateX(2px);
}
.site-footer .footer-meta{
  grid-area:meta;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:2px;
  color:var(--muted);
  font-size:10px;
}
@media (max-width:860px){
  .footer-shell{
    grid-template-columns:1fr;
    grid-template-areas:"identity" "nav" "meta";
    gap:34px;
  }
  .site-footer .footer-links{
    justify-content:start;
    grid-template-columns:repeat(3,auto);
  }
  .site-footer .footer-meta{align-items:flex-start}
}
@media (max-width:560px){
  .site-footer{padding-top:72px;min-height:390px}
  .footer-socials{width:100%;margin-top:4px}
  .social-link{width:40px;height:40px}
  .site-footer .footer-links{grid-template-columns:repeat(2,auto)}
  .footer-role{font-size:12px}
  .footer-phrase{font-size:38px}
}


/* FINAL POLISH — slower ambient motion + tighter footer composition */
.site-footer{
  min-height:285px;
  padding:72px 0 30px;
}

.footer-flow-a{top:46%}
.footer-flow-b{top:57%}
.footer-flow-c{top:68%}

.footer-flow::after{
  animation-duration:9.8s;
}

.footer-flow-b::after{animation-delay:2.8s}
.footer-flow-c::after{animation-delay:5.1s}

.footer-junction{
  top:49%;
  animation-duration:7.2s;
}

.footer-shell{
  gap:30px 64px;
}

.footer-name-row{
  gap:14px;
}

.footer-role{
  margin-top:16px;
  font-size:12px;
}

.footer-phrase{
  margin-top:25px;
  font-size:clamp(28px,3.7vw,50px);
  max-width:720px;
}

.site-footer .footer-links{
  gap:8px 20px;
  font-size:10px;
  opacity:.78;
}

.site-footer .footer-meta{
  opacity:.76;
}

@media (max-width:860px){
  .site-footer{
    min-height:310px;
    padding-top:64px;
  }
  .footer-shell{gap:28px}
}

@media (max-width:560px){
  .site-footer{
    min-height:345px;
    padding-top:58px;
  }
  .footer-phrase{
    margin-top:22px;
    font-size:34px;
  }
  .footer-flow-a{top:56%}
  .footer-flow-b{top:65%}
  .footer-flow-c{top:74%}
}


/* CURRENT WORK — scientific micro-infographics */
.science-card{
  overflow:hidden;
  isolation:isolate;
}
.science-viz{
  position:relative;
  width:100%;
  min-height:190px;
  margin:6px 0 22px;
  border:1px solid color-mix(in srgb,var(--line) 78%,transparent);
  border-radius:22px;
  overflow:hidden;
  background:
    radial-gradient(circle at 65% 35%,color-mix(in srgb,var(--accent2) 7%,transparent),transparent 35%),
    linear-gradient(145deg,color-mix(in srgb,var(--panel) 88%,transparent),color-mix(in srgb,var(--bg) 92%,transparent));
}
.science-viz::after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(105deg,transparent 25%,rgba(255,255,255,.025) 46%,transparent 62%);
  transform:translateX(-120%);
  transition:transform 1.2s cubic-bezier(.2,.8,.2,1);
  pointer-events:none;
}
.science-card:hover .science-viz::after{transform:translateX(120%)}
.science-viz svg{display:block;width:100%;height:100%;min-height:190px;color:var(--accent2)}
.science-viz .micro-label text{
  fill:var(--muted);font-size:8px;font-weight:800;letter-spacing:1.5px;
}
.viz-gridline{fill:none;stroke:var(--line);stroke-width:1}.viz-gridline.faint{opacity:.45}

/* Senescence */
.cell-membrane{fill:color-mix(in srgb,var(--accent2) 4%,transparent);stroke:color-mix(in srgb,var(--accent2) 55%,var(--line));stroke-width:1.2}
.cell-membrane.irregular{fill:color-mix(in srgb,var(--accent) 5%,transparent);stroke:color-mix(in srgb,var(--accent) 65%,var(--line))}
.cell-nucleus{fill:color-mix(in srgb,var(--accent2) 25%,transparent);stroke:var(--accent2);stroke-width:1}
.cell-nucleus.stressed{fill:color-mix(in srgb,var(--accent) 24%,transparent);stroke:var(--accent)}
.cell-halo{opacity:.22;transform-origin:center;animation:cellBreathe 5.8s ease-in-out infinite}
.cell-b .cell-halo{animation-delay:1.1s}
.transition-arrow path{fill:none;stroke:var(--muted);stroke-width:1;opacity:.6}
.sasp circle{fill:var(--accent);opacity:.7;animation:saspDrift 4.6s ease-in-out infinite alternate}
.sasp circle:nth-child(2n){fill:var(--accent2);animation-delay:.8s}
.sasp circle:nth-child(3n){animation-delay:1.5s}
@keyframes cellBreathe{50%{transform:scale(1.12);opacity:.38}}
@keyframes saspDrift{to{transform:translate(8px,-7px);opacity:.28}}

/* Imaging */
.scan-stack ellipse,.scan-stack path{fill:none;stroke:color-mix(in srgb,var(--accent2) 50%,var(--line));stroke-width:1}
.scan-stack ellipse:nth-child(2){stroke:color-mix(in srgb,var(--accent) 55%,var(--line))}
.scan-hotspot{opacity:.34;animation:scanHotspot 4.5s ease-in-out infinite}
.scan-beam{stroke:var(--accent2);stroke-width:1.5;opacity:.8;filter:drop-shadow(0 0 7px var(--accent2));animation:scanSweep 5.8s ease-in-out infinite}
.scan-corners path{fill:none;stroke:var(--muted);stroke-width:1}
@keyframes scanSweep{0%,100%{transform:translateX(0)}50%{transform:translateX(230px)}}
@keyframes scanHotspot{50%{opacity:.62;transform:scale(1.12);transform-origin:244px 124px}}

/* Brain x bone */
.brain path,.bone path,.bone circle{fill:none;stroke:color-mix(in srgb,var(--accent2) 64%,var(--line));stroke-width:1.3}
.bone path,.bone circle{stroke:color-mix(in srgb,var(--accent) 62%,var(--line))}
.cross-signal{fill:none;stroke-width:1.2;stroke-dasharray:4 6;animation:signalDash 5s linear infinite}
.signal-one{stroke:var(--accent2)}.signal-two{stroke:var(--accent)}
.signal-dot{fill:var(--accent2);filter:drop-shadow(0 0 7px var(--accent2))}
.dot-one{offset-path:path("M190 94 C222 64 252 72 283 92");animation:travelSignal 3.8s linear infinite}
.dot-two{fill:var(--accent);offset-path:path("M190 131 C226 159 251 150 278 128");animation:travelSignal 4.6s linear infinite reverse}
@keyframes signalDash{to{stroke-dashoffset:-40}}
@keyframes travelSignal{from{offset-distance:0%}to{offset-distance:100%}}

/* Global healthy aging */
.globe-rings circle,.globe-rings ellipse,.globe-rings path{fill:none;stroke:color-mix(in srgb,var(--accent2) 45%,var(--line));stroke-width:1}
.globe-rings path{stroke:color-mix(in srgb,var(--accent) 55%,var(--line));opacity:.7}
.risk-node circle{fill:var(--panel);stroke:var(--accent2);stroke-width:1.2}
.risk-node circle:nth-of-type(even){stroke:var(--accent)}
.risk-node path{fill:none;stroke:var(--line);stroke-width:1;stroke-dasharray:3 5;animation:riskFlow 6s linear infinite}
.healthy-node circle:first-child{fill:var(--accent2);filter:drop-shadow(0 0 9px var(--accent2))}
.healthy-halo{fill:none;stroke:var(--accent2);opacity:.22;animation:healthyPulse 4s ease-out infinite}
@keyframes riskFlow{to{stroke-dashoffset:-32}}
@keyframes healthyPulse{50%{r:48;opacity:.05}}

/* Hover: focus each scientific visualization without turning it into a dashboard */
.science-card .science-viz{transition:transform .45s cubic-bezier(.2,.8,.2,1),border-color .35s,box-shadow .35s}
.science-card:hover .science-viz{
  transform:translateY(-4px) scale(1.012);
  border-color:color-mix(in srgb,var(--accent2) 38%,var(--line));
  box-shadow:0 18px 50px rgba(0,0,0,.12),0 0 45px color-mix(in srgb,var(--accent2) 7%,transparent);
}
.science-card:hover .cell-b{transform:translate(340px,137px) scale(1.04)}
.cell-b{transition:transform .45s ease;transform-origin:340px 137px}

@media(max-width:700px){
  .science-viz{min-height:160px;margin-bottom:18px}
  .science-viz svg{min-height:160px}
}
@media(prefers-reduced-motion:reduce){
  .science-viz *{animation:none!important}
}


/* APPROVED CURRENT WORK CONCEPT — cinematic research panels */
.cinematic-work-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.cinematic-card{
  position:relative;
  min-height:430px;
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--accent2) 24%,var(--line));
  border-radius:24px;
  background:#050a12;
  isolation:isolate;
  box-shadow:0 20px 70px rgba(0,0,0,.14);
  transition:transform .45s cubic-bezier(.2,.8,.2,1),border-color .35s,box-shadow .35s;
}
.cinematic-senescence,.cinematic-global{grid-column:1/-1;min-height:430px}
.cinematic-art{
  position:absolute;inset:0;
  background-repeat:no-repeat;
  background-size:cover;
  background-position:center;
  transform:scale(1.015);
  transition:transform 1.2s cubic-bezier(.2,.8,.2,1),filter .7s ease;
}
.cinematic-senescence .cinematic-art{background-image:url("../assets/work-senescence.webp");background-position:68% center}
.cinematic-imaging .cinematic-art{background-image:url("../assets/work-imaging.webp");background-position:78% center}
.cinematic-brainbone .cinematic-art{background-image:url("../assets/work-brain-bone.webp");background-position:78% center}
.cinematic-global .cinematic-art{background-image:url("../assets/work-global-aging.webp");background-position:66% center}
.cinematic-scrim{
  position:absolute;inset:0;z-index:1;
  background:
    linear-gradient(90deg,rgba(3,8,15,.97) 0%,rgba(3,8,15,.90) 25%,rgba(3,8,15,.40) 53%,rgba(3,8,15,.08) 78%),
    linear-gradient(0deg,rgba(3,8,15,.42),transparent 42%);
}
.cinematic-imaging .cinematic-scrim,.cinematic-brainbone .cinematic-scrim{
  background:linear-gradient(90deg,rgba(3,8,15,.97) 0%,rgba(3,8,15,.88) 40%,rgba(3,8,15,.12) 82%);
}
.cinematic-copy{
  position:relative;z-index:3;
  width:min(43%,560px);
  min-height:430px;
  padding:34px 34px 30px;
  display:flex;flex-direction:column;align-items:flex-start;
}
.cinematic-imaging .cinematic-copy,.cinematic-brainbone .cinematic-copy{width:58%}
.cinematic-eyebrow{
  display:flex;align-items:center;gap:12px;
  color:#c7d2e8;font-size:9px;letter-spacing:.17em;
}
.cinematic-eyebrow span{font-size:10px;letter-spacing:0}
.cinematic-eyebrow i{display:block;width:52px;height:1px;background:rgba(190,215,235,.42)}
.cinematic-eyebrow b{font-weight:700;color:#a9d8ff}
.cinematic-copy h3{
  margin:18px 0 14px;
  max-width:540px;
  color:#f6f8fb;
  font-size:clamp(26px,2.7vw,44px);
  line-height:1.02;
  letter-spacing:-.045em;
}
.cinematic-imaging h3,.cinematic-brainbone h3{font-size:clamp(24px,2.25vw,36px)}
.cinematic-copy p{
  max-width:480px;margin:0;color:#aeb8c8;
  font-size:12px;line-height:1.7;
}
.cinematic-link{
  margin-top:auto;padding-top:26px;
  color:#ded3ff;font-size:11px;font-weight:700;
  border-bottom:1px solid #54dbe9;padding-bottom:5px;
}
.cinematic-link b{display:inline-block;margin-left:16px;color:#a783ff;transition:transform .3s}
.cinematic-card blockquote{
  position:absolute;z-index:3;right:28px;bottom:24px;margin:0;
  color:rgba(230,235,246,.75);font-family:Georgia,serif;font-style:italic;
  font-size:12px;line-height:1.45;
}
.population-key{
  position:absolute;z-index:3;right:30px;top:30px;
  display:flex;flex-direction:column;gap:8px;
  color:#9ec8ef;font-size:8px;letter-spacing:.15em;
}
.population-key span:nth-child(1){color:#a8f0c7}.population-key span:nth-child(2){color:#63d7ef}
.population-key span:nth-child(4){color:#b8caff}.population-key span:nth-child(5){color:#dd82f1}
.cinematic-card:hover{
  transform:translateY(-5px);
  border-color:rgba(83,211,232,.48);
  box-shadow:0 30px 90px rgba(0,0,0,.24),0 0 50px rgba(74,160,220,.06);
}
.cinematic-card:hover .cinematic-art{transform:scale(1.055);filter:saturate(1.08) brightness(1.05)}
.cinematic-card:hover .cinematic-link b{transform:translateX(6px)}
html[data-theme="light"] .cinematic-card{box-shadow:0 20px 70px rgba(25,45,70,.12)}
html[data-theme="light"] .cinematic-scrim{background:linear-gradient(90deg,rgba(6,12,22,.96),rgba(6,12,22,.82) 34%,rgba(6,12,22,.18) 75%)}

@media(max-width:900px){
  .cinematic-work-grid{grid-template-columns:1fr}
  .cinematic-senescence,.cinematic-global{grid-column:auto}
  .cinematic-card{min-height:450px}
  .cinematic-copy,.cinematic-imaging .cinematic-copy,.cinematic-brainbone .cinematic-copy{width:68%;min-height:450px}
  .cinematic-scrim,.cinematic-imaging .cinematic-scrim,.cinematic-brainbone .cinematic-scrim{
    background:linear-gradient(90deg,rgba(3,8,15,.97),rgba(3,8,15,.82) 48%,rgba(3,8,15,.18));
  }
}
@media(max-width:620px){
  .cinematic-card{min-height:500px;border-radius:20px}
  .cinematic-copy,.cinematic-imaging .cinematic-copy,.cinematic-brainbone .cinematic-copy{
    width:100%;min-height:500px;padding:25px 22px;
  }
  .cinematic-art{background-position:70% 28%;opacity:.82}
  .cinematic-scrim,.cinematic-imaging .cinematic-scrim,.cinematic-brainbone .cinematic-scrim{
    background:linear-gradient(180deg,rgba(3,8,15,.24),rgba(3,8,15,.72) 38%,rgba(3,8,15,.98) 68%);
  }
  .cinematic-copy h3{margin-top:auto;font-size:30px}
  .cinematic-copy p{font-size:11px}
  .cinematic-link{margin-top:18px}
  .cinematic-card blockquote,.population-key{display:none}
}
