/* Isolated portfolio direction. Existing sections, IDs and applications stay intact. */
:root{--bg:#080e16;--bg-card:#0d1722;--bg-card2:#111e2c;--text:#edf4fa;--text-muted:#afbecb;--border:#293d4c;--accent:#61d8e4;--accent2:#8de8ed;--accent-strong:#12596c;--accent-strong-hover:#196f81;--accent-glow:rgba(97,216,228,.10);--radius:16px}
body{font-size:16px} .container,.nav-inner{max-width:1180px}.nav-inner{height:76px}.nav-links{gap:24px}.nav-links a{font-size:.83rem}.nav-logo{border:0;background:transparent;padding:0;color:var(--text);font-size:1.35rem;letter-spacing:-.06em}.nav-logo::after{content:'.';color:var(--accent)}
#navbar{background:rgba(8,14,22,.91);border-color:rgba(159,200,223,.13)}
main>section{padding:88px 0;border-bottom:1px solid rgba(159,200,223,.09)}main>section:nth-child(odd){background:var(--bg)}main>section:nth-child(even){background:var(--bg-card)}section[id]{scroll-margin-top:92px}
.section-title{font-size:clamp(1.85rem,3.3vw,2.75rem);font-weight:600;letter-spacing:-.045em;margin-bottom:20px}.section-title::after{display:none}.section-intro{font-size:1rem;max-width:690px;margin-bottom:36px;line-height:1.75}
.portfolio-eyebrow{font:500 .7rem/1.6 var(--mono);text-transform:uppercase;letter-spacing:.18em;color:var(--accent2);margin-bottom:16px}
#hero.portfolio-hero{display:block;min-height:760px;padding:145px 24px 60px;isolation:isolate;overflow:hidden;background:#070e18 url('Images/portfolio/abstract-motion.webp') right center/cover no-repeat}
#hero::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,12,21,.74),rgba(5,12,21,.35) 48%,transparent 76%),linear-gradient(0deg,#080e16,transparent 24%);z-index:-1}
.portfolio-hero-inner{max-width:1132px;margin:auto;position:relative}.portfolio-identity{display:flex;align-items:center;gap:15px;margin-bottom:36px}.portfolio-identity img{width:56px;height:56px;object-fit:cover;border-radius:50%;border:2px solid #8de8ed70}.portfolio-identity h1{font-size:1.1rem;line-height:1.5;letter-spacing:-.015em}.portfolio-identity p{font-size:.75rem;color:var(--text-muted)}
.portfolio-headline{font-size:clamp(2.6rem,5.5vw,4.6rem);max-width:740px;line-height:1.07;letter-spacing:-.055em;font-weight:600;text-wrap:balance;margin:0 0 25px}.portfolio-headline span{color:var(--accent2)}
.portfolio-lead{max-width:510px;font-size:1.06rem;line-height:1.85;color:#c5d2dc;margin-bottom:21px}.portfolio-affiliation{font:400 .76rem/1.7 var(--mono);color:var(--text-muted);margin-bottom:28px}.portfolio-hero-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.btn{border-radius:6px;font-size:.87rem;padding:13px 21px;min-height:46px;transition:background .2s,border-color .2s}.btn-primary{background:#91e8eb;border-color:#91e8eb;color:#09202a;font-weight:650}.btn-primary:hover{background:#b6f6f7;border-color:#b6f6f7;color:#09202a}.btn-outline{color:#d3e5ef;border-color:#526879;background:rgba(8,14,22,.5)}.btn-outline:hover{background:#182d3b;border-color:#8de8ed}.portfolio-orcid{display:inline-block;font-size:.75rem;margin-top:20px;color:#b4cad9}
.portfolio-evidence{position:absolute;right:0;bottom:6px;width:230px;padding:10px;background:rgba(8,18,28,.88);border:1px solid #3e6673;border-radius:12px;backdrop-filter:blur(10px);box-shadow:0 12px 35px #0003}.portfolio-evidence img{display:block;width:100%;height:118px;object-fit:cover;border-radius:6px}.portfolio-evidence figcaption{font-size:.72rem;line-height:1.55;margin-top:8px;color:#d1e2ec}.portfolio-hero-caption{max-width:1132px;margin:25px auto 0;font:400 .6rem/1.5 var(--mono);color:#98afbf;text-align:right}
.portfolio-about-lead{font-size:1.22rem;line-height:1.8;letter-spacing:-.015em;margin-bottom:20px;max-width:740px}.about-grid{gap:56px;align-items:start}.about-text p{font-size:1rem;line-height:1.85}.portfolio-details summary{font-size:.85rem;color:var(--accent2);cursor:pointer;padding:10px 0}.portfolio-details[open] summary{margin-bottom:12px}.about-stats{gap:14px}.stat{background:transparent;border-left:2px solid #61d8e4;border-radius:0;text-align:left;padding:12px 20px}.stat-number{font-size:2.5rem}
.rproject-grid{grid-template-columns:1.35fr 1fr 1fr;gap:22px;align-items:stretch}.rproject-card{background:#111d29;box-shadow:none;border:1px solid #29404f;border-radius:12px}.rproject-card .rproject-media,.rproject-card .rproject-media.is-photo{aspect-ratio:4/3;min-height:0;padding:0;background:#182631}.rproject-card .rproject-media img,.rproject-card .rproject-media.is-photo img{width:100%;height:100%;max-height:none;object-fit:cover;border-radius:0}.rproject-body{padding:23px}.rproject-card h3,.rproject-card h4{font-size:1.14rem;line-height:1.4;letter-spacing:-.02em;margin-bottom:12px}.rproject-card p{font-size:.92rem;line-height:1.75}.rproject-card.portfolio-featured{border-color:#567d86}.rproject-card.portfolio-featured h3,.rproject-card.portfolio-featured h4{font-size:1.45rem}.rproject-cta{margin-top:auto;font-size:.75rem;color:#91e8eb}
.rproject-card,.project-card,.pub-item,.tl-item,.stat,.contact-item,.exp-extra-card{opacity:1!important;clip-path:none!important;transform:none!important}.print-in::after{display:none!important}.portfolio-collapsed-item{display:none!important}.portfolio-expand{display:block;margin:27px auto 0;cursor:pointer;font-family:var(--font)}
.sw-label b{font-size:15px}.sw-desc{font-size:12.5px;line-height:1.6}.sw .sw-node,.sw .sw-hub{opacity:1!important}.sw .sw-node .sw-bub{transform:none}.sw .sw-hub{transform:translate(-50%,-50%)}.sw .sw-arc{stroke-dashoffset:0}.sw .sw-tick{opacity:1}.tools .chip{font-size:11px;background:#142633;color:#d0e6ef;border-color:#324d60}.sw-ring{animation:none}.sw-hub{box-shadow:0 0 70px #61d8e414;border-color:#62bccb}.sw-bub{border-color:#477888}
.timeline-wrap{margin-top:30px;margin-bottom:28px}.tl-item{padding-bottom:30px}.tl-nozzle,.tl-spool{display:none}.tl-content{background:transparent}.pub-item{border-radius:8px;padding:22px 24px;background:#101b27}.pub-title{font-size:1.05rem}.pub-authors,.pub-venue{font-size:.85rem}.pub-filters{gap:7px}.pub-filter,.pub-sort-btn{min-height:38px}.pub-filter.active,.pub-sort-btn.active{background:#1b4652;color:#ebffff;border-color:#50828e}
.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.project-card.has-media{border-radius:12px;background:#111d29}.project-media img{aspect-ratio:16/9;object-fit:cover}.project-body{padding:26px}.project-card.has-media h3{font-size:1.5rem;letter-spacing:-.035em}.project-card p{font-size:.96rem;line-height:1.8}.portfolio-coming-soon:hover{transform:none;box-shadow:none;border-color:var(--border)}.portfolio-status{display:inline-flex;align-items:center;gap:8px;background:#293326;border:1px solid #606940;color:#e1e9b4;border-radius:30px;padding:5px 11px;font:500 .65rem/1.5 var(--mono);margin-bottom:15px}.portfolio-status::before{content:'';width:5px;height:5px;border-radius:50%;background:#d2e293}.portfolio-project-note{font-size:.8rem!important;margin-top:14px;color:#acbec9}
#contact{background:radial-gradient(ellipse at 20% 70%,#163341,transparent 65%),#0c1721}.portfolio-contact-lead{font-size:clamp(1.25rem,2.7vw,2rem);line-height:1.5;letter-spacing:-.025em;max-width:700px;margin:0 0 35px}.contact-item{background:#0d1d29;border-color:#304c5c}.where-card{background:transparent}.rmodal-dialog{border-radius:14px}.rmodal-about{color:#b8c8d5}a:focus-visible,button:focus-visible,summary:focus-visible,[role=button]:focus-visible{outline:3px solid #91e8eb;outline-offset:5px}
@media(min-width:761px) and (max-width:1050px){.nav-links{gap:13px}.portfolio-headline{max-width:620px}.portfolio-evidence{width:185px}.portfolio-evidence img{height:100px}.portfolio-lead{max-width:480px}}
@media(max-width:760px){.nav-inner{height:64px}.nav-links{top:64px;background:#101b27}.container{padding:0 22px}main>section,#skills{padding:56px 0}.section-intro{font-size:.96rem;margin-bottom:25px}.portfolio-eyebrow{font-size:.63rem;letter-spacing:.13em;margin-bottom:12px}#hero.portfolio-hero{min-height:0;padding:101px 22px 32px;background-position:67% top;background-size:auto 510px;background-color:#080e16}#hero::before{background:linear-gradient(90deg,#080e16bd,#080e1677),linear-gradient(0deg,#080e16 18%,transparent 90%)}.portfolio-identity{margin-bottom:26px}.portfolio-identity img{width:44px;height:44px}.portfolio-identity h1{font-size:.95rem}.portfolio-identity p{font-size:.67rem}.portfolio-headline{font-size:clamp(2.35rem,8.8vw,3.7rem);max-width:600px;line-height:1.1;margin-bottom:20px}.portfolio-lead{font-size:.96rem;line-height:1.75;max-width:560px}.portfolio-affiliation{font-size:.69rem;margin-bottom:22px}.portfolio-hero-actions{gap:9px}.portfolio-hero-actions .btn{font-size:.8rem;padding:11px 15px}.portfolio-orcid{font-size:.7rem;margin-top:15px}.portfolio-evidence{position:static;width:100%;margin-top:26px;display:flex;gap:15px;align-items:center;padding:10px}.portfolio-evidence img{width:96px;height:70px;flex:none}.portfolio-evidence figcaption{margin:0;font-size:.74rem}.portfolio-hero-caption{font-size:.55rem;margin-top:13px;text-align:left}.about-grid{gap:25px}.portfolio-about-lead{font-size:1.08rem}.about-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.stat{padding:7px 10px}.stat-number{font-size:1.8rem}.stat-label{font-size:.6rem}.rproject-grid{grid-template-columns:1fr}.rproject-card .rproject-media,.rproject-card .rproject-media.is-photo{aspect-ratio:16/10}.rproject-body{padding:22px}.rproject-card.portfolio-featured h3,.rproject-card.portfolio-featured h4{font-size:1.25rem}.sw-desc{font-size:.84rem}.sw-label b{font-size:1rem}.sw .sw-hub{transform:none}.sw-node{padding:20px 0;align-items:start}.tools .chip{font-size:.68rem}.project-grid{grid-template-columns:1fr}.pub-item{padding:18px}.pub-title{font-size:1rem}.contact-grid{gap:24px}.contact-item{padding:14px;font-size:.84rem}section[id]{scroll-margin-top:80px}}
@media(min-width:761px){.rproject-card .rproject-media,.rproject-card .rproject-media.is-photo{height:255px;aspect-ratio:auto}.portfolio-hero-inner.container{padding:0}.sw-node[data-pos="left"] .sw-label,.sw-node[data-pos="right"] .sw-label{width:250px}.sw-node:nth-child(5) .sw-label{top:20px}.sw-node:nth-child(6) .sw-label{top:-12px}}
.portfolio-hero-inner.container{padding:0}
@media(max-width:760px){.portfolio-headline{font-size:clamp(2rem,8.3vw,3.7rem)}.portfolio-hero-actions .btn{font-size:.76rem;padding:11px 12px}.portfolio-evidence-copy{padding:0}}
.portfolio-evidence-copy .portfolio-eyebrow{margin:0}.portfolio-expand[hidden]{display:none!important}
.portfolio-headline{white-space:pre-line}.portfolio-evidence{color:var(--text);text-decoration:none!important}.portfolio-evidence-copy{display:flex;flex-direction:column;gap:7px;padding:9px 3px 3px}.portfolio-evidence-copy strong{font-size:.8rem;line-height:1.55;font-weight:500}.portfolio-evidence-copy span:first-child{font:400 .55rem/1.7 var(--mono);letter-spacing:.10em;color:var(--accent2)}.portfolio-evidence-copy span:last-child{font-size:.68rem;line-height:1.5;color:var(--accent2)}.portfolio-coming-soon .project-cta::after{content:none}.portfolio-coming-soon .project-cta{cursor:default;color:var(--text-muted);font-family:var(--font);font-size:.8rem}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media print{.portfolio-collapsed-item{display:revert!important}.portfolio-expand,.portfolio-hero-caption,.portfolio-evidence{display:none!important}#hero.portfolio-hero{min-height:0;padding:0;background:none}.portfolio-headline{font-size:24pt}.portfolio-identity{margin-bottom:15px}main>section{padding:16px 0}.portfolio-status{border:1px solid #777;color:#222}}
