*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:#1f2528;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f7f4ef;min-width:320px;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,textarea,select{font:inherit}#root{min-height:100vh}:root{--bg:#edf6f1;--bg-deep:#dceee7;--surface:#ffffffb8;--surface-strong:#ffffffe6;--ink:#11231f;--muted:#627772;--line:#11231f1f;--forest:#143f38;--teal:#238579;--cyan:#79d8cf;--moss:#7f9f6b;--earth:#b88752;--sky:#5e9ed1;--shadow:0 24px 80px #1037311f;--header-bg:#edf6f1c7;--glass:#ffffff9e;--primary-bg:#143f38;--primary-text:#fff;--soft-glow:0 0 0 10px #79d8cf2e, 0 26px 80px #143f383d;--page-wash-1:#79d8cf29;--page-wash-2:#7f9f6b29;--hero-glow:#ffffff5c;--hero-shade:#06151333;--glass-shine:#ffffff4d;--accent-soft:#79d8cf24;--accent-strong:#79d8cf2e;--earth-soft:#b8875229;--section-wash:#ffffff8a;--shadow-color:#143f3824;--art-sky-1:#d8f4ef;--art-sky-2:#9ad7d0;--art-sky-3:#efc37d;--art-land-1:#174b43;--art-land-2:#347b69;--art-land-3:#9c8a53;--art-land-shadow:#0f3934;--art-water-1:#235b70;--art-water-2:#49a99d;--art-water-3:#bdd9c6;--art-cloud:#f7fff9;--art-grid:#fff;--art-ring-1:#e9fff9;--art-ring-2:#16483f;--art-line-1:#f8fff8;--art-line-2:#7ee1d5;--serif:Georgia, "Times New Roman", serif}.portfolio-page.theme-lavender{--bg:#f5effb;--bg-deep:#e7def4;--surface:#ffffffbd;--surface-strong:#ffffffeb;--ink:#2f2440;--muted:#76658a;--line:#4f377026;--forest:#5c6f58;--teal:#7d5ca7;--cyan:#d0b6f4;--moss:#91a77d;--earth:#bd8a86;--sky:#a99bdd;--shadow:0 24px 82px #5b3d842b;--header-bg:#f8f2fbd1;--glass:#ffffffa8;--primary-bg:#6a4d90;--primary-text:#fff;--soft-glow:0 0 0 10px #d0b6f447, 0 26px 80px #6a4d9042;--page-wash-1:#d0b6f44d;--page-wash-2:#b093e02e;--hero-glow:#ffffff61;--hero-shade:#482d6938;--glass-shine:#ffffff5c;--accent-soft:#d0b6f43d;--accent-strong:#d0b6f457;--earth-soft:#bd8a8626;--section-wash:#fff9;--shadow-color:#6a4d9030;--art-sky-1:#f4eaff;--art-sky-2:#c9aef0;--art-sky-3:#f2c8c0;--art-land-1:#604283;--art-land-2:#8f73b8;--art-land-3:#9aa874;--art-land-shadow:#4a326f;--art-water-1:#7862a5;--art-water-2:#c1a3ef;--art-water-3:#e2d5f6;--art-cloud:#fffaf2;--art-grid:#fff;--art-ring-1:#fff9ff;--art-ring-2:#6f4d9c;--art-line-1:#fffaf2;--art-line-2:#d2b7f6}.portfolio-page.theme-twilight{--bg:#120f25;--bg-deep:#21173d;--surface:#23193dcc;--surface-strong:#2c1f4eed;--ink:#faf7ff;--muted:#c9bfdd;--line:#f4ecff29;--forest:#f0e8ff;--teal:#d0b7ff;--cyan:#d8c2ff;--moss:#a99bd4;--earth:#e2b8de;--sky:#9f9de8;--shadow:0 28px 90px #0000006b;--header-bg:#120f25d6;--glass:#ffffff17;--primary-bg:#f0e8ff;--primary-text:#120f25;--soft-glow:0 0 0 10px #d8c2ff33, 0 30px 90px #36196985;--page-wash-1:#8e5cff38;--page-wash-2:#d0b7ff29;--hero-glow:#d8c2ff38;--hero-shade:#120a2685;--glass-shine:#d8c2ff29;--accent-soft:#a87aff2e;--accent-strong:#d8c2ff47;--earth-soft:#e2b8de29;--section-wash:#d8c2ff12;--shadow-color:#00000057;--art-sky-1:#251846;--art-sky-2:#6d4fb0;--art-sky-3:#b99af2;--art-land-1:#160f2f;--art-land-2:#4a2f84;--art-land-3:#8f73c4;--art-land-shadow:#0e0920;--art-water-1:#2b2258;--art-water-2:#7b5bd1;--art-water-3:#d8c2ff;--art-cloud:#f0ecff;--art-grid:#fff;--art-ring-1:#f0ecff;--art-ring-2:#c8b7ff;--art-line-1:#f8f5ff;--art-line-2:#d8c2ff}.portfolio-page.theme-aurora{--bg:#f1f5ee;--bg-deep:#dfeee8;--surface:#ffffffba;--surface-strong:#ffffffeb;--ink:#16262b;--muted:#657576;--line:#16262b1f;--forest:#245b55;--teal:#257f78;--cyan:#8ddfd5;--moss:#91a97d;--earth:#a77d67;--sky:#9baee2;--shadow:0 24px 84px #23535424;--header-bg:#f6f8f2cc;--glass:#ffffffa3;--primary-bg:#245b55;--primary-text:#fff;--soft-glow:0 0 0 10px #8ddfd533, 0 26px 80px #36537b33;--page-wash-1:#8ddfd533;--page-wash-2:#c7b6ea29;--hero-glow:#ffffff61;--hero-shade:#16262b2e;--glass-shine:#ffffff57;--accent-soft:#8ddfd52e;--accent-strong:#c7b6ea3d;--earth-soft:#a77d6721;--section-wash:#ffffff8f;--shadow-color:#23535429;--art-sky-1:#ddf6ee;--art-sky-2:#9fe4d9;--art-sky-3:#d5c3ef;--art-land-1:#235b55;--art-land-2:#5f927b;--art-land-3:#9d8ab4;--art-land-shadow:#173d3a;--art-water-1:#2c7586;--art-water-2:#75d9cf;--art-water-3:#ddd4f0;--art-cloud:#fffdf5;--art-grid:#fff;--art-ring-1:#f8fff9;--art-ring-2:#6c6fa8;--art-line-1:#fffdf5;--art-line-2:#b9a8e3}.portfolio-page.theme-twilight .hero-scene:after{background:radial-gradient(circle at 50% 42%, var(--hero-glow), transparent 22rem), linear-gradient(180deg, #0a0e181a, var(--hero-shade))}.portfolio-page{min-height:100vh;color:var(--ink);background:linear-gradient(135deg, var(--page-wash-1), transparent 30%), linear-gradient(225deg, var(--page-wash-2), transparent 34%), linear-gradient(180deg, var(--bg) 0%, var(--bg-deep) 52%, var(--bg) 100%);transition:background .25s,color .25s;position:relative;overflow-x:hidden}.portfolio-page:before{content:"";z-index:0;background:radial-gradient(circle at 12% 20%, var(--accent-soft), transparent 18rem), radial-gradient(circle at 88% 72%, var(--earth-soft), transparent 22rem), repeating-linear-gradient(115deg, transparent 0 38px, var(--line) 39px 40px), repeating-radial-gradient(circle at 18% 24%, transparent 0 34px, var(--line) 35px 36px);opacity:.22;pointer-events:none;position:fixed;inset:0}.portfolio-page:after{content:"";z-index:0;border:1px solid var(--line);opacity:.14;pointer-events:none;border-radius:50%;width:min(72vw,920px);position:fixed;top:18%;bottom:8%;left:50%;transform:translate(-50%)}.portfolio-page main,.site-header{z-index:1;position:relative}.container{width:min(1160px,100% - 48px);margin:0 auto}.site-header{z-index:30;border-bottom:1px solid var(--line);background:var(--header-bg);-webkit-backdrop-filter:blur(22px)saturate(140%);backdrop-filter:blur(22px)saturate(140%);box-shadow:0 6px 24px var(--shadow-color);position:fixed;top:0;left:0;right:0}main section[id]{scroll-margin-top:92px}.nav{justify-content:space-between;align-items:center;gap:18px;min-height:72px;display:flex}.brand{border:1px solid var(--line);width:46px;height:46px;color:var(--forest);background:var(--glass);font-family:var(--serif);border-radius:50%;justify-content:center;align-items:center;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex}.nav-actions,.nav-links{align-items:center;display:flex}.nav-actions{gap:18px}.menu-toggle{border:1px solid var(--line);background:var(--glass);width:46px;height:46px;color:var(--forest);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;font-size:25px;display:none}.menu-toggle:focus-visible{outline:2px solid var(--forest);outline-offset:3px}.nav-links{border:1px solid var(--line);background:var(--glass);border-radius:999px;gap:4px;padding:4px}.nav-links a{min-height:40px;color:var(--ink);letter-spacing:0;text-transform:none;border-radius:999px;justify-content:center;align-items:center;padding:8px 11px;font-size:13px;font-weight:600;text-decoration:none;transition:background .18s,color .18s,box-shadow .18s;display:inline-flex;position:relative}.nav-links a:hover{color:var(--forest);background:var(--accent-soft)}.nav-links a[aria-current=location]{color:var(--forest);background:var(--bg);box-shadow:inset 0 -3px var(--forest), 0 2px 8px var(--shadow-color);font-weight:700}.nav-links a:focus-visible,.brand:focus-visible{outline:2px solid var(--forest);outline-offset:3px}.theme-picker{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:8px;font-size:13px;font-weight:900;display:inline-flex}.theme-dropdown{text-transform:none;letter-spacing:0;min-width:210px;position:relative}.theme-dropdown summary{border:1px solid var(--line);min-height:44px;color:var(--forest);background:var(--glass);cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;font-size:13px;font-weight:600;list-style:none;display:flex}.theme-dropdown summary::-webkit-details-marker{display:none}.theme-dropdown summary:after{content:"";border-bottom:2px solid;border-right:2px solid;width:7px;height:7px;transform:rotate(45deg)}.theme-dropdown[open] summary:after{transform:rotate(225deg)}.theme-options{z-index:40;border:1px solid var(--line);background:var(--bg);width:max-content;min-width:100%;max-width:calc(100vw - 32px);box-shadow:var(--shadow);border-radius:12px;gap:4px;padding:8px;display:grid;position:absolute;top:calc(100% + 10px);right:0}.theme-options button{min-height:48px;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;padding:12px 16px;font-size:13px;font-weight:500;line-height:1.4}.theme-options button:hover,.theme-options button[aria-pressed=true]{background:var(--accent-soft)}.theme-options button[aria-pressed=true]{border-color:var(--forest);box-shadow:inset 3px 0 var(--forest);font-weight:700}.theme-options button:focus-visible,.theme-dropdown summary:focus-visible{outline:2px solid var(--forest);outline-offset:2px}.hero{isolation:isolate;padding:0;position:relative}.hero-banner{border-block:1px solid var(--line);width:100%;min-height:58vh;box-shadow:var(--shadow);justify-content:center;align-items:center;margin:0 auto;padding:112px 24px 68px;display:flex;position:relative;overflow:hidden}.hero-scene{z-index:0;position:absolute;inset:0;overflow:hidden}.hero-scene:after{content:"";background:radial-gradient(circle at 50% 42%, var(--hero-glow), transparent 22rem), linear-gradient(180deg, transparent, var(--hero-shade));pointer-events:none;position:absolute;inset:0}.hero-art{opacity:.94;filter:drop-shadow(0 34px 70px #0d443e38);width:min(1540px,126vw);min-width:1120px;animation:18s ease-in-out infinite alternate artworkDrift;position:absolute;bottom:-92px;right:50%;transform:translate(50%)}.art-grid{animation:5.5s ease-in-out infinite dataPulse}.art-ring{transform-origin:68% 38%;animation:9s ease-in-out infinite ringFloat}.art-ring.delay,.art-line.delay{animation-delay:-3s}.art-land,.art-river{animation:12s ease-in-out infinite alternate landscapeBreath}.art-land.slow{animation-duration:16s}.art-line{stroke-dasharray:16 18;animation:12s linear infinite dataFlow}.art-nodes,.art-bars{animation:4s ease-in-out infinite dataPulse}.particle-field{pointer-events:none;position:absolute;inset:0}.particle{border:1px solid var(--cyan);opacity:.7;border-radius:2px;width:9px;height:9px;animation:8s ease-in-out infinite particleFloat;position:absolute;transform:rotate(45deg)}.p1{top:22%;left:12%}.p2{animation-delay:-2s;top:34%;left:46%}.p3{animation-delay:-4s;top:18%;right:18%}.p4{animation-delay:-1s;bottom:28%;right:9%}.p5{animation-delay:-5s;bottom:22%;left:18%}.p6{animation-delay:-3s;top:58%;left:56%}.eyebrow,.card-label{color:var(--teal);letter-spacing:.18em;text-transform:uppercase;margin:0 0 16px;font-size:11px;font-weight:900}.hero h1{max-width:920px;color:var(--ink);font-family:var(--serif);letter-spacing:0;white-space:nowrap;margin:0;font-size:clamp(54px,7vw,88px);font-weight:500;line-height:.98}.hero-affiliation{border:1px solid var(--line);width:max-content;max-width:min(92vw,460px);color:var(--forest);background:linear-gradient(135deg, var(--glass-shine), transparent 48%), var(--glass);box-shadow:0 16px 38px var(--shadow-color);-webkit-backdrop-filter:blur(18px)saturate(130%);backdrop-filter:blur(18px)saturate(130%);text-align:center;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:8px;margin:18px 0 0;padding:14px 30px;font-size:15px;font-weight:800;line-height:1.35;display:inline-flex}.hero-affiliation span:not(.affiliation-dot){white-space:nowrap}.hero-tagline{color:var(--earth);font-family:var(--serif);margin:20px 0 0;font-size:28px;font-style:italic;line-height:1.25}.hero-intro{max-width:650px;color:var(--muted);margin:18px 0 0;font-size:18px;line-height:1.68}.hero-actions{flex-wrap:wrap;justify-content:center;gap:14px;margin-top:34px;display:flex}.button{border:1px solid var(--forest);min-height:50px;color:var(--forest);background:var(--glass);border-radius:8px;justify-content:center;align-items:center;padding:0 22px;font-size:15px;font-weight:800;text-decoration:none;transition:transform .2s,box-shadow .2s,background .2s;display:inline-flex}.button:hover{box-shadow:0 16px 34px var(--shadow-color);transform:translateY(-3px)}.button.primary{color:var(--primary-text);background:var(--primary-bg)}.portrait-wrap{z-index:3;flex-direction:column;align-items:center;width:min(180px,42vw);margin:0 auto;display:flex;position:relative}.portrait-frame{aspect-ratio:1;background:linear-gradient(135deg, var(--accent-strong), var(--earth-soft)), var(--glass);width:min(180px,42vw);box-shadow:var(--soft-glow);border:1px solid #ffffff80;border-radius:50%;place-items:center;display:grid;position:relative}.portrait-frame:before,.portrait-frame:after{content:"";border:1px solid var(--accent-strong);pointer-events:none;border-radius:50%;position:absolute}.portrait-frame:before{border-top-color:#0000;animation:12s linear infinite portraitOrbit;inset:-17px}.portrait-frame:after{border-bottom-color:#0000;border-right-color:#0000;inset:16px}.profile-photo{z-index:1;border:6px solid #ffffffd1;border-radius:50%;width:calc(100% - 26px);height:calc(100% - 26px);position:relative;overflow:hidden}.profile-photo img{object-fit:cover;object-position:center;width:100%;height:100%;display:block}.banner-tags{z-index:2;justify-content:flex-end;gap:12px;display:flex;position:absolute;top:24px;left:24px;right:24px}.banner-tags span{border:1px solid var(--line);min-height:38px;color:var(--forest);background:var(--glass);box-shadow:0 14px 34px var(--shadow-color);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:8px;align-items:center;padding:0 13px;font-size:13px;font-weight:800;display:inline-flex}.hero-content-panel{z-index:2;text-align:center;flex-direction:column;align-items:center;max-width:900px;margin-top:0;padding:68px 24px 86px;display:flex;position:relative}.section{isolation:isolate;padding:112px 0;position:relative;overflow:hidden}.section:not(.hero):not(.projects-section):after{content:"";z-index:0;border-top:1px solid var(--line);background:radial-gradient(ellipse at 28% 0%, var(--accent-soft), transparent 34rem), var(--bg);opacity:.72;pointer-events:none;border-radius:50% 50% 0 0;height:128px;position:absolute;bottom:-74px;left:-8%;right:-8%}.section>.container{z-index:1;position:relative}.section-header{max-width:760px;margin-bottom:44px}.section-header h2,.contact-panel h2{color:var(--ink);font-family:var(--serif);letter-spacing:0;margin:0;font-size:52px;font-weight:500;line-height:1.1}.section-intro,.about-note p,.explorer-copy p,.contact-panel p{color:var(--muted);font-size:16px;line-height:1.82}.section-intro{margin:18px 0 0}.section-header{position:relative}.section-header:after{content:"";background:linear-gradient(90deg, var(--cyan), var(--moss), transparent);opacity:.88;width:118px;height:1px;margin-top:22px;display:block}.curved-divider{background:var(--bg);clip-path:ellipse(68% 82% at 50% 100%);height:86px;position:absolute;top:-54px;left:0;right:0}.about-section{background:radial-gradient(ellipse at 82% 22%, var(--accent-soft), transparent 28rem), linear-gradient(135deg, var(--section-wash), transparent 40%), var(--bg)}.about-section:before,.journey-section:before,.formation-section:before,.publications-section:before,.skills-section:before,.contact-section:before{content:"";z-index:0;background:linear-gradient(90deg, transparent, var(--cyan), var(--moss), transparent);opacity:.46;pointer-events:none;height:1px;position:absolute;inset:34px 6% auto}.about-grid{grid-template-columns:minmax(0,1fr) minmax(260px,.46fr);align-items:end;gap:56px;display:grid}.about-note{border:1px solid var(--line);background:linear-gradient(145deg, var(--accent-soft), transparent), var(--surface);box-shadow:var(--shadow);border-radius:8px;padding:30px;position:relative;overflow:hidden}.about-note:before{content:"";border:1px solid var(--line);background:var(--accent-soft);opacity:.62;pointer-events:none;border-radius:48% 52% 44% 56%;width:160px;height:160px;position:absolute;bottom:-76px;right:-72px}.journey-section{background:radial-gradient(ellipse at 14% 8%, var(--accent-soft), transparent 28rem), linear-gradient(180deg, var(--bg-deep), var(--bg));padding:82px 0}.formation-section{background:radial-gradient(ellipse at 84% 4%, var(--earth-soft), transparent 24rem), var(--bg);padding:72px 0}.journey-section .section-header,.formation-section .section-header{max-width:900px;margin-bottom:26px}.journey-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:28px;display:grid}.summary-chip{border:1px solid var(--line);background:linear-gradient(135deg, var(--glass-shine), transparent 48%), var(--surface);min-height:86px;box-shadow:0 14px 44px var(--shadow-color);border-radius:8px;padding:16px}.summary-chip span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:900;display:block}.summary-chip strong{color:var(--ink);font-family:var(--serif);margin-top:8px;font-size:18px;font-weight:500;line-height:1.28;display:block}.journey-timeline{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid;position:relative}.formation-section .journey-timeline{grid-template-columns:repeat(4,minmax(0,1fr));max-width:none}.formation-section .journey-timeline:before{width:auto;height:1px;top:30px;left:8%;right:8%}.journey-timeline:before{content:"";background:linear-gradient(90deg, var(--cyan), var(--moss), var(--earth));opacity:.42;pointer-events:none;height:1px;position:absolute;top:30px;left:8%;right:8%}.milestone-card{z-index:1;border:1px solid var(--line);background:linear-gradient(145deg, var(--glass-shine), transparent 42%), var(--surface);box-shadow:0 14px 42px var(--shadow-color);border-radius:8px;padding:16px;transition:transform .2s,border-color .2s,box-shadow .2s;position:relative;overflow:hidden}.milestone-card:before{content:"";background:linear-gradient(180deg, var(--cyan), var(--moss), var(--earth));opacity:0;width:3px;transition:opacity .2s;position:absolute;inset:0 auto 0 0}.milestone-card:hover{border-color:var(--cyan);box-shadow:0 22px 64px var(--shadow-color);transform:translateY(-3px)}.milestone-card:hover:before,.milestone-card.current:before{opacity:.9}.milestone-card.current{border-color:var(--cyan);background:linear-gradient(135deg, var(--accent-strong), transparent 50%), var(--surface-strong)}.milestone-top{grid-template-columns:42px minmax(0,1fr) auto;align-items:start;gap:10px;display:grid}.journey-icon{border:1px solid var(--line);width:38px;height:38px;color:var(--primary-text);background:var(--primary-bg);border-radius:12px 12px 6px;justify-content:center;align-items:center;font-size:13px;font-weight:900;display:inline-flex}.icon-sustainability{background:var(--moss)}.icon-data{background:var(--teal)}.icon-visualization{background:var(--cyan);color:var(--ink)}.icon-teaching{background:var(--earth)}.icon-education{background:var(--sky)}.milestone-period{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 4px;font-size:11px;font-weight:900}.milestone-card h3{color:var(--ink);font-family:var(--serif);margin:0;font-size:21px;font-weight:500;line-height:1.18}.current-badge{border:1px solid var(--line);color:var(--primary-text);background:var(--primary-bg);letter-spacing:.07em;text-transform:uppercase;border-radius:999px;align-self:start;padding:5px 8px;font-size:10px;font-weight:900}.milestone-org,.milestone-context,.milestone-summary{color:var(--muted);margin:0;font-size:14px;line-height:1.55}.milestone-org{color:var(--forest);margin-top:13px;font-weight:900}.milestone-context{margin-top:4px}.milestone-summary{margin-top:10px}.milestone-details{color:var(--muted);margin-top:12px;font-size:13px;line-height:1.55}.milestone-details summary{width:max-content;color:var(--forest);cursor:pointer;letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:900}.milestone-details ul{gap:5px;margin:10px 0 0;padding-left:18px;display:grid}.research-section{background:radial-gradient(circle at 16% 28%, var(--earth-soft), transparent 24rem), linear-gradient(180deg, transparent 0%, var(--accent-soft) 45%, transparent 100%), var(--bg-deep)}.research-section:before{content:"";background:linear-gradient(90deg, transparent, var(--cyan), transparent);opacity:.8;height:1px;position:absolute;inset:28px 5% auto}.interest-cloud{flex-wrap:wrap;gap:14px;max-width:980px;display:flex;position:relative}.interest-cloud:before{content:"";border:1px dashed var(--accent-strong);opacity:.58;pointer-events:none;border-radius:48% 52% 44% 56%;animation:24s linear infinite explorerDash;position:absolute;inset:-30px -22px}.interest-pill{z-index:1;border:1px solid var(--line);min-height:50px;color:var(--forest);background:var(--glass);box-shadow:0 12px 30px var(--shadow-color);border-radius:8px;align-items:center;padding:0 18px;font-weight:800;transition:transform .22s,border-color .22s,background .22s;animation:9s ease-in-out infinite tagFloat;display:inline-flex;position:relative}.interest-pill:hover{border-color:var(--cyan);background:linear-gradient(135deg, var(--accent-strong), transparent), var(--surface-strong);transform:translateY(-6px)scale(1.02)}.interest-2,.interest-5,.interest-9{background:linear-gradient(135deg, var(--accent-strong), transparent), var(--glass)}.interest-3,.interest-7,.interest-11{background:linear-gradient(135deg, var(--earth-soft), transparent), var(--glass)}.interest-pill:nth-child(2n){animation-delay:-2s}.interest-pill:nth-child(3n){animation-delay:-4s}.projects-section{background:repeating-linear-gradient(145deg, transparent 0 44px, var(--line) 45px 46px), radial-gradient(circle at 12% 18%, var(--accent-strong), transparent 19rem), radial-gradient(circle at 88% 62%, var(--earth-soft), transparent 22rem), linear-gradient(180deg, var(--bg), var(--bg-deep));padding:56px 0;overflow:hidden}.projects-section:before,.projects-section:after{content:"";border:1px solid var(--line);opacity:.46;pointer-events:none;position:absolute}.projects-section:before{background:var(--glass);border-radius:46% 54% 42% 58%;width:280px;height:280px;animation:12s ease-in-out infinite explorerFloat;top:120px;right:-90px}.projects-section:after{background:linear-gradient(135deg, var(--accent-soft), transparent);border-radius:58% 42% 52% 48%;width:190px;height:190px;animation:14s ease-in-out infinite reverse explorerFloat;bottom:90px;left:-54px}.projects-section .section-header{margin-bottom:26px}.research-explorer{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:1060px;margin:0 auto;padding:0;display:grid;position:relative}.explorer-path,.explorer-path:before{display:none}.explorer-stop{min-height:0;position:relative}.explorer-stop:nth-of-type(odd) .explorer-content,.explorer-stop:nth-of-type(2n) .explorer-content{grid-column:auto}.explorer-stop:nth-of-type(2n) .explorer-marker,.explorer-stop:nth-of-type(odd) .explorer-marker{grid-column:2}.explorer-marker{z-index:2;border:1px solid var(--line);width:54px;height:54px;color:var(--primary-text);background:radial-gradient(circle at 30% 20%, var(--cyan), transparent 32%), var(--primary-bg);box-shadow:var(--soft-glow);border-radius:50%;place-items:center;display:grid;position:relative}.explorer-marker span{font-family:var(--serif);font-size:18px}.explorer-content{z-index:2;border:1px solid var(--line);background:linear-gradient(135deg, var(--glass-shine), transparent 38%), var(--surface);height:100%;min-height:198px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(20px)saturate(130%);backdrop-filter:blur(20px)saturate(130%);border-radius:28px 8px;grid-template-columns:58px minmax(0,1fr);align-items:start;gap:14px;padding:18px;transition:transform .22s,border-color .22s,box-shadow .22s;display:grid;position:relative}.explorer-content:before{content:"";border:1px solid var(--line);opacity:.38;pointer-events:none;border-radius:50%;width:42px;height:42px;position:absolute;inset:auto 18px 14px auto}.explorer-stop:nth-of-type(2n) .explorer-content{border-radius:8px 28px}.explorer-content:hover{border-color:var(--cyan);box-shadow:0 30px 90px var(--shadow-color);transform:translateY(-4px)rotate(-.25deg)}.explorer-stop:nth-of-type(2n) .explorer-content:hover{transform:translateY(-4px)rotate(.25deg)}.project-glyph{border:1px solid var(--line);background:radial-gradient(circle at 28% 24%, var(--accent-strong), transparent 34%), linear-gradient(145deg, var(--glass), transparent), var(--surface-strong);border-radius:32px 32px 12px;place-items:center;width:58px;height:58px;display:grid;position:relative;overflow:hidden}.project-glyph span{display:block;position:absolute}.glyph-wind span:first-child{border-top:3px solid var(--cyan);border-radius:50%;width:56px;height:18px;transform:translateY(-18px)}.glyph-wind span:nth-child(2){border-top:3px solid var(--teal);border-radius:50%;width:46px;height:18px;transform:translate(4px)}.glyph-wind span:nth-child(3){border-top:3px solid var(--earth);border-radius:50%;width:34px;height:18px;transform:translate(-6px,18px)}.glyph-flood span:first-child{border-bottom:3px solid var(--teal);border-radius:50%;width:58px;height:20px;transform:translateY(-15px)rotate(-5deg)}.glyph-flood span:nth-child(2){border-bottom:3px solid var(--cyan);border-radius:50%;width:54px;height:22px;transform:translateY(1px)rotate(4deg)}.glyph-flood span:nth-child(3){border:2px solid var(--earth);border-top:0;border-radius:0 0 8px 8px;width:36px;height:26px;transform:translate(10px,17px)}.glyph-storm span:first-child{background:var(--accent-strong);border-radius:50%;width:52px;height:32px;transform:translateY(-10px)}.glyph-storm span:nth-child(2){background:var(--cyan);border-radius:999px;width:3px;height:48px;transform:rotate(24deg)}.glyph-storm span:nth-child(3){background:var(--earth);width:48px;height:2px;transform:translateY(22px)}.glyph-cell span:first-child{border:2px solid var(--teal);border-radius:45% 55% 52% 48%;width:54px;height:54px}.glyph-cell span:nth-child(2),.glyph-cell span:nth-child(3){background:var(--cyan);border-radius:50%;width:14px;height:14px}.glyph-cell span:nth-child(2){transform:translate(-10px,-6px)}.glyph-cell span:nth-child(3){background:var(--earth);transform:translate(13px,12px)}.glyph-tracking span:first-child{border:2px solid var(--teal);border-radius:10px;width:58px;height:42px}.glyph-tracking span:nth-child(2){border:2px solid var(--cyan);background:var(--cyan);border-radius:6px;width:16px;height:16px;transform:translate(-14px,-7px)}.glyph-tracking span:nth-child(3){border:2px solid var(--earth);border-radius:50%;width:14px;height:14px;transform:translate(15px,9px)}.glyph-secure-nature span:first-child{border:2px solid var(--teal);border-radius:8px 8px 12px 12px;width:34px;height:38px;transform:translateY(8px)}.glyph-secure-nature span:nth-child(2){border:3px solid var(--cyan);border-bottom:0;border-radius:16px 16px 0 0;width:28px;height:22px;transform:translateY(-13px)}.glyph-secure-nature span:nth-child(3){background:var(--earth);border-radius:100% 0;width:22px;height:28px;transform:translate(18px,9px)rotate(-18deg)}.explorer-copy h3{color:var(--ink);font-family:var(--serif);margin:0 0 6px;font-size:24px;font-weight:500;line-height:1.22}.explorer-copy p{margin:0;line-height:1.5}.project-tech-list{flex-wrap:wrap;gap:6px;margin:10px 0 12px;display:flex}.project-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.project-details{color:var(--muted);font-size:13px;line-height:1.55}.project-details summary{width:max-content;color:var(--forest);cursor:pointer;letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:900}.project-details p{margin-top:10px}.project-tech-list span{border:1px solid var(--line);min-height:27px;color:var(--forest);background:var(--glass);border-radius:999px;align-items:center;padding:0 9px;font-size:11px;font-weight:900;display:inline-flex}.project-link{color:var(--forest);letter-spacing:.06em;text-transform:uppercase;align-items:center;font-size:12px;font-weight:900;text-decoration:none;display:inline-flex}.project-link:after{content:"";background:var(--cyan);width:32px;height:1px;margin-left:10px;transition:width .2s}.project-link:hover:after{width:48px}.publications-section{background:radial-gradient(circle at 16% 24%, var(--earth-soft), transparent 24rem), radial-gradient(circle at 84% 22%, var(--accent-soft), transparent 25rem), linear-gradient(180deg, transparent 0%, var(--section-wash) 46%, transparent 100%), var(--bg-deep);padding-top:86px}.publications-section:before{content:"";z-index:0;background:radial-gradient(circle at 10% 62%, var(--cyan) 0 3px, transparent 4px), radial-gradient(circle at 31% 28%, var(--moss) 0 3px, transparent 4px), radial-gradient(circle at 54% 68%, var(--earth) 0 3px, transparent 4px), radial-gradient(circle at 78% 34%, var(--cyan) 0 3px, transparent 4px), linear-gradient(24deg, transparent 8%, var(--line) 8.3% 8.6%, transparent 9%), linear-gradient(151deg, transparent 30%, var(--line) 30.3% 30.6%, transparent 31%), linear-gradient(9deg, transparent 56%, var(--line) 56.3% 56.6%, transparent 57%);opacity:.44;pointer-events:none;height:220px;animation:18s ease-in-out infinite alternate constellationDrift;position:absolute;inset:40px 6% auto}.publications-section:after{background:radial-gradient(ellipse at 24% 0%, var(--accent-soft), transparent 26rem), repeating-radial-gradient(circle at 18% 24%, transparent 0 38px, var(--line) 39px 40px);opacity:.22}.publication-stats{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:18px;display:grid;position:relative}.publication-stat{border:1px solid var(--line);background:linear-gradient(145deg, var(--glass-shine), transparent 44%), var(--surface);box-shadow:var(--shadow);border-radius:8px;padding:20px;position:relative;overflow:hidden}.publication-stat:after{content:"";border:1px solid var(--line);pointer-events:none;background:#bfa4e81a;border-radius:50%;width:84px;height:84px;position:absolute;bottom:-44px;right:-36px}.publication-stat strong{color:var(--forest);font-family:var(--serif);font-size:34px;font-weight:500;line-height:1;display:block}.publication-stat span{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin-top:10px;font-size:12px;font-weight:900;display:block}.publication-links{flex-wrap:wrap;gap:10px;margin:0 0 38px;display:flex;position:relative}.publication-links a{border:1px solid var(--line);min-height:42px;color:var(--forest);background:var(--glass);border-radius:8px;align-items:center;gap:9px;padding:0 14px;font-size:13px;font-weight:900;text-decoration:none;transition:transform .2s,border-color .2s;display:inline-flex}.publication-links a:hover{border-color:var(--cyan);transform:translateY(-3px)}.social-icon{border:1px solid var(--line);width:24px;height:24px;color:var(--primary-text);background:var(--primary-bg);letter-spacing:0;border-radius:7px;flex:none;justify-content:center;align-items:center;font-size:10px;font-weight:900;line-height:1;display:inline-flex}.social-linkedin{background:#0a66c2}.social-google-scholar{background:#4a7bd9}.social-researchgate{background:#00a78e}.social-email{background:var(--forest)}.social-orcid{color:#173018;background:#a6ce39}.publication-timeline{gap:24px;display:grid;position:relative}.publication-timeline:before{content:"";z-index:0;border-left:1px dashed var(--accent-strong);opacity:.52;pointer-events:none;position:absolute;inset:6px 2% 6px 94px}.publication-year-group{z-index:1;grid-template-columns:110px minmax(0,1fr);gap:24px;display:grid;position:relative}.publication-year-group:before{content:"";background:linear-gradient(180deg, var(--cyan), var(--moss), transparent);opacity:.7;width:1px;position:absolute;top:42px;bottom:-30px;left:54px}.publication-year-group:last-child:before{display:none}.timeline-year{border:1px solid var(--line);width:76px;height:42px;color:var(--forest);background:linear-gradient(135deg, var(--accent-strong), transparent 54%), var(--glass);box-shadow:0 14px 34px var(--shadow-color);font-family:var(--serif);z-index:1;border-radius:999px;justify-content:center;align-self:start;align-items:center;font-size:20px;display:inline-flex;position:sticky;top:96px}.timeline-year:after{content:"";border:1px solid var(--cyan);background:var(--glass);width:12px;height:12px;box-shadow:0 0 20px var(--accent-strong);border-radius:50%;position:absolute;right:-20px}.publication-list{gap:16px;display:grid}.publication-card{border:1px solid var(--line);background:radial-gradient(circle at 94% 14%, var(--accent-soft), transparent 7rem), linear-gradient(145deg, var(--glass-shine), transparent 38%), var(--surface);box-shadow:0 14px 42px var(--shadow-color);-webkit-backdrop-filter:blur(18px)saturate(130%);backdrop-filter:blur(18px)saturate(130%);border-radius:8px;padding:24px;transition:transform .22s,border-color .22s,box-shadow .22s;position:relative;overflow:hidden}.publication-card:before{content:"";background:linear-gradient(90deg, var(--cyan), var(--moss), transparent);opacity:.58;height:3px;position:absolute;inset:0 0 auto}.publication-card:after{content:"";border:1px dashed var(--accent-strong);opacity:.34;pointer-events:none;border-radius:50%;width:86px;height:86px;transition:transform .22s,opacity .22s;position:absolute;bottom:-38px;right:-34px}.publication-card:hover{border-color:var(--cyan);box-shadow:0 22px 58px var(--shadow-color);transform:translateY(-4px)}.publication-card:hover:after{opacity:.74;transform:scale(1.08)rotate(14deg)}.publication-card-top{justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;display:flex}.publication-badge,.publication-year{border:1px solid var(--line);border-radius:8px;align-items:center;min-height:30px;padding:0 10px;font-size:12px;font-weight:900;display:inline-flex}.publication-badge{color:var(--forest);background:linear-gradient(135deg, var(--accent-strong), transparent), var(--glass)}.publication-year{color:var(--muted);background:var(--glass)}.publication-card h3{color:var(--ink);font-family:var(--serif);margin:0;font-size:25px;font-weight:500;line-height:1.25}.publication-authors,.publication-venue,.publication-abstract{color:var(--muted);font-size:15px;line-height:1.72}.publication-authors{margin:14px 0 0}.author-me{color:var(--forest);font-weight:900}.publication-venue{margin:8px 0 0;font-weight:800}.publication-actions{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.publication-actions a,.publication-actions button{border:1px solid var(--line);min-height:38px;color:var(--forest);background:var(--glass);cursor:pointer;border-radius:8px;align-items:center;padding:0 12px;font-size:13px;font-weight:900;text-decoration:none;display:inline-flex}.publication-actions a:hover,.publication-actions button:hover{border-color:var(--cyan)}.publication-actions a:hover,.publication-actions button:hover,.publication-links a:hover,.contact-links a:hover{background:linear-gradient(135deg, var(--accent-strong), transparent), var(--glass)}.publication-abstract{border:1px solid var(--line);background:linear-gradient(135deg, var(--accent-soft), transparent), var(--glass);border-radius:8px;margin:18px 0 0;padding:16px}.skills-section{background:repeating-radial-gradient(circle at 82% 18%, transparent 0 30px, var(--line) 31px 32px), radial-gradient(ellipse at 18% 0%, var(--accent-soft), transparent 30rem), radial-gradient(ellipse at 88% 18%, var(--earth-soft), transparent 24rem), var(--bg-deep);padding:72px 0}.skills-grid{display:block}.skills-section .section-header{max-width:860px;margin-bottom:26px}.skill-constellation{border:1px solid var(--line);background:linear-gradient(90deg, transparent, var(--line), transparent) 0 54px / 100% 1px no-repeat, linear-gradient(135deg, var(--accent-soft), transparent 50%), var(--surface);box-shadow:var(--shadow);border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:16px;display:grid;position:relative}.skill-constellation:before{content:"";border:1px dashed var(--accent-strong);pointer-events:none;border-radius:8px;position:absolute;inset:20px}.skill-group{z-index:1;border:1px solid var(--line);background:linear-gradient(135deg, var(--glass-shine), transparent 48%), var(--glass);border-radius:8px;padding:14px;transition:transform .22s,border-color .22s,box-shadow .22s;position:relative;overflow:hidden}.skill-group:before{content:"";background:linear-gradient(90deg, var(--cyan), var(--moss), var(--earth));opacity:.78;height:3px;position:absolute;inset:0 0 auto}.skill-group:hover{border-color:var(--cyan);box-shadow:0 20px 58px var(--shadow-color);transform:translateY(-3px)}.skill-group-toggle{width:100%;color:var(--ink);cursor:pointer;font-family:var(--serif);text-align:left;background:0 0;border:0;padding:0;display:block;position:relative}.skill-group-toggle span{font-size:20px;font-weight:500;line-height:1.15;display:block}.skill-group-toggle small{color:var(--muted);margin-top:7px;font-family:Inter,system-ui,sans-serif;font-size:13px;font-weight:700;line-height:1.45;display:block}.skill-group-toggle:after{content:"+";color:var(--forest);font-family:Inter,system-ui,sans-serif;font-size:18px;font-weight:900;position:absolute;top:0;right:0}.skill-group.is-open .skill-group-toggle:after{content:"-"}.skill-pill-list{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.skill-pill{z-index:1;border:1px solid var(--line);min-height:28px;color:var(--forest);background:var(--glass);border-radius:8px;align-items:center;padding:0 9px;font-size:11px;font-weight:900;transition:transform .2s,border-color .2s,background .2s;display:inline-flex;position:relative}.skill-pill:hover{border-color:var(--cyan);background:var(--accent-strong);transform:translateY(-2px)}.contact-section{background:radial-gradient(ellipse at 16% 16%, var(--accent-soft), transparent 22rem), linear-gradient(180deg, transparent, var(--earth-soft)), var(--bg);padding-bottom:128px}.contact-panel{border:1px solid var(--line);background:linear-gradient(135deg, var(--accent-soft), transparent 48%), linear-gradient(225deg, var(--earth-soft), transparent 46%), var(--surface-strong);box-shadow:var(--shadow);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:42px;padding:44px;display:grid;position:relative;overflow:hidden}.contact-panel:before{content:"";border:1px dashed var(--accent-strong);opacity:.7;pointer-events:none;border-radius:50%;width:220px;height:220px;animation:26s linear infinite explorerDash;position:absolute;top:-118px;right:-78px}.contact-panel p:not(.eyebrow){max-width:650px;margin-top:18px}.contact-links{grid-template-columns:repeat(2,minmax(140px,1fr));gap:14px;display:grid}.contact-links a{border:1px solid var(--line);min-height:48px;color:var(--forest);background:var(--glass);border-radius:8px;justify-content:center;align-items:center;gap:10px;padding:0 16px;font-weight:900;text-decoration:none;transition:transform .2s,border-color .2s;display:inline-flex}.contact-links a:hover{border-color:var(--cyan);transform:translateY(-3px)}.reveal{animation:.75s both revealUp}@keyframes revealUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes artworkDrift{0%{transform:translate(50%)rotate(0)}to{transform:translate(calc(50% - 18px),-12px)rotate(-1deg)}}@keyframes landscapeBreath{0%{transform:translateY(0)}to{transform:translateY(-10px)}}@keyframes dataFlow{to{stroke-dashoffset:-120px}}@keyframes dataPulse{50%{opacity:.46}}@keyframes ringFloat{50%{transform:translateY(-12px)scale(1.02)}}@keyframes particleFloat{50%{opacity:.28;transform:translateY(-22px)rotate(45deg)}}@keyframes portraitOrbit{to{transform:rotate(360deg)}}@keyframes tagFloat{50%{transform:translateY(-9px)}}@keyframes explorerFloat{50%{transform:translateY(-18px)rotate(5deg)}}@keyframes explorerDash{to{transform:rotate(360deg)}}@keyframes constellationDrift{0%{transform:translateY(0)}to{transform:translateY(-14px)}}@media (width<=1060px){.hero-banner{min-height:56vh;padding:112px 24px 60px}.hero-art{opacity:.9;min-width:980px}.portrait-wrap,.portrait-frame{width:min(168px,38vw)}.banner-tags{justify-content:flex-start}.about-grid,.skills-grid,.contact-panel{grid-template-columns:1fr}.journey-summary,.journey-timeline,.formation-section .journey-timeline,.skill-constellation{grid-template-columns:repeat(2,minmax(0,1fr))}.publication-stats{grid-template-columns:1fr}.publication-year-group{grid-template-columns:82px minmax(0,1fr);gap:18px}.publication-year-group:before{left:38px}.research-explorer{grid-template-columns:repeat(2,minmax(0,1fr));max-width:920px}.explorer-path,.explorer-path:before{display:none}.explorer-stop{min-height:auto}.explorer-stop:nth-of-type(odd) .explorer-content,.explorer-stop:nth-of-type(2n) .explorer-content{grid-column:auto}.explorer-stop:nth-of-type(odd) .explorer-marker,.explorer-stop:nth-of-type(2n) .explorer-marker{grid-column:1}.contact-links{max-width:430px}}@media (width<=760px){.container{width:min(100% - 32px,1160px)}}@media (width<=1060px){.nav{flex-wrap:wrap;align-items:center;gap:14px;min-height:auto;padding:14px 0}.nav-actions{border:1px solid var(--line);background:var(--bg);width:100%;max-height:calc(100dvh - 90px);box-shadow:var(--shadow);border-radius:16px;flex-direction:column;align-items:flex-start;gap:16px;padding:16px;display:none;overflow-y:auto}.menu-toggle,.nav-actions.is-open{display:flex}.nav-links{background:0 0;border:0;border-radius:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px;width:100%;padding:0;display:grid}.nav-links a{letter-spacing:0;text-transform:none;color:var(--ink);background:0 0;border:0;border-radius:8px;flex:none;justify-content:flex-start;align-items:center;min-height:48px;padding:10px 8px;font-size:13px;line-height:1.4;display:flex}.theme-picker,.theme-dropdown{width:100%}.nav-links a:hover,.nav-links a:focus-visible{background:var(--glass);color:var(--forest)}.theme-picker{border-top:1px solid var(--line);color:var(--ink);letter-spacing:0;text-transform:none;flex-direction:column;align-items:stretch;padding-top:16px;font-size:13px}.theme-dropdown{min-width:0}.theme-options{width:100%;box-shadow:none;margin-top:8px;position:static}}@media (width<=760px){.banner-tags{gap:8px;top:16px;left:16px;right:16px}.banner-tags span{min-height:34px;padding:0 10px;font-size:12px}.hero{min-height:auto;padding:0}.hero-banner{width:100%;min-height:54vh;padding:164px 18px 44px}.hero-art{opacity:.86;width:920px;min-width:920px;bottom:-10px}.hero h1{font-size:clamp(34px,8vw,44px);line-height:1.04}.hero-affiliation{font-size:16px}.hero-tagline{font-size:23px}.hero-intro{max-width:560px;font-size:16px;line-height:1.7}.contact-links{grid-template-columns:1fr}.button{width:100%}.portrait-wrap,.portrait-frame{width:min(136px,40vw)}.hero-content-panel{width:min(100% - 32px,900px);padding:54px 0 66px}.hero-affiliation{padding:12px 22px;font-size:13px}.section{padding:72px 0}.projects-section{padding:48px 0}.journey-section,.formation-section{padding:58px 0}.skills-section{padding:52px 0}.section-header{margin-bottom:28px}.section-header h2,.contact-panel h2{font-size:34px;line-height:1.16}.section-intro,.about-note p,.explorer-copy p,.contact-panel p{font-size:15px;line-height:1.65}.about-note,.explorer-content,.publication-card,.skill-constellation,.contact-panel{padding:24px}.projects-section:before,.projects-section:after{display:none}.journey-summary,.journey-timeline{grid-template-columns:1fr}.journey-timeline:before{width:1px;height:auto;top:0;bottom:0;left:19px}.summary-chip{min-height:auto}.milestone-card{padding:14px}.milestone-top{grid-template-columns:38px minmax(0,1fr)}.current-badge{grid-column:2;width:max-content;margin-top:4px}.milestone-card h3{font-size:20px}.research-explorer{grid-template-columns:1fr;gap:12px;padding-top:0}.explorer-stop{min-height:auto}.explorer-path{left:21px}.explorer-marker{width:42px;height:42px}.explorer-marker span{font-size:14px}.explorer-content,.explorer-stop:nth-of-type(2n) .explorer-content{border-radius:24px 8px;grid-template-columns:50px minmax(0,1fr);gap:12px;min-height:0;padding:14px}.project-glyph{width:46px;height:46px}.explorer-copy h3{font-size:21px}.project-actions{gap:10px}.publication-year-group{grid-template-columns:1fr;gap:12px}.publication-year-group:before{display:none}.timeline-year{width:max-content;padding:0 14px;position:static}.timeline-year:after,.publication-timeline:before{display:none}.publication-card h3{font-size:22px}.publication-links a,.publication-actions a,.publication-actions button{justify-content:center;width:100%}.interest-pill{text-align:center;justify-content:center;width:100%}.skill-pill{text-align:center;justify-content:center}.skill-constellation{grid-template-columns:1fr;gap:10px;min-height:auto;padding:12px}.skill-constellation:before{display:none}.skill-group{padding:13px}.skill-group-toggle span{padding-right:24px;font-size:18px}.skill-group-toggle small{font-size:12px}}@media (width<=430px){.hero h1{font-size:clamp(29px,8.4vw,36px)}.hero-intro{font-size:15px}.section-header h2,.contact-panel h2{font-size:30px}.portrait-wrap,.portrait-frame{width:min(118px,38vw)}.hero-banner{min-height:52vh;padding-top:156px}.hero-tagline{font-size:21px}.hero-affiliation{border-radius:18px;padding:11px 16px}}.site-footer{z-index:1;color:var(--muted);text-align:center;position:absolute;bottom:12px;left:16px;right:16px}.site-footer p{text-wrap:balance;margin:0;font-size:13px;line-height:1.7}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
