@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&family=Playfair+Display:wght@600;700;800&display=swap";:root{--bg-0:#dbdcde;--bg-1:#ececed;--bg-2:#fafafa;--surface:#ffffff80;--surface-strong:#fffafaa6;--ink-0:#281f1f;--ink-1:#1e0a0a;--ink-w:#fdfdfd;--muted:#484040;--accent:#8f232f;--accent-soft:#7b1f2a24;--accent-less:#783c14;--line:#20262b1a;--shadow:0 18px 50px #2c0a0414;--page-max:1240px;--mobile-max:840px;--desktop-min:841px;--layout-gap:1.25rem;--radius:1.15rem;--mono:"JetBrains Mono", Consolas, "Liberation Mono", monospace;--body:"Inter", "Segoe UI", Tahoma, sans-serif;--heading:"Playfair Display", Georgia, serif;--brand:"Brush Script MT", "Segoe Script", cursive;--code:"JetBrains Mono", Consolas, "Courier New", monospace}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{font-family:var(--body);color:var(--ink-0);background:radial-gradient(circle at 50% 22%, #ffffff80, transparent 52%), linear-gradient(160deg, var(--bg-0), var(--bg-1));text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-size:clamp(12px,1.5vw,30px)}body:before{content:"";pointer-events:none;opacity:.1;z-index:-2;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160'%3E%3Cg fill='none' stroke='%23707680' stroke-opacity='.9' stroke-width='1.15'%3E%3Cpath d='M0 40 40 0h40L40 40Z'/%3E%3Cpath d='M80 0 120 40 80 80 40 40Z'/%3E%3Cpath d='M80 80 120 40h40l-40 40Z'/%3E%3Cpath d='M0 120 40 80l40 40-40 40Z'/%3E%3Cpath d='M80 80 120 120 80 160 40 120Z'/%3E%3Cpath d='M20 20 140 140'/%3E%3Cpath d='M140 20 20 140'/%3E%3Ccircle cx='80' cy='80' r='14'/%3E%3C/g%3E%3C/svg%3E");background-repeat:repeat;background-size:160px 160px;position:fixed;inset:0}body:after{content:"";pointer-events:none;z-index:-1;background:radial-gradient(circle,#0000 0 52%,#1e212529 100%);position:fixed;inset:0}.page-main{width:min(var(--page-max), calc(100% - 2rem));flex:1;align-self:center;margin:.75vw 0}h1,h2,h3,h4,p,ul{color:var(--ink-1);margin:0}p{font-family:var(--body);font-size:inherit;font-weight:300}span{font-family:inherit;font-size:inherit;color:inherit;font-weight:inherit}li{font-family:inherit;font-size:inherit;line-height:inherit;margin:0;padding:.2rem 0}.hero-about{text-align:justify;font-weight:300;line-height:1.5;font-family:var(--body);color:var(--ink-1);margin-bottom:.75rem;font-size:clamp(13px,1.75vw,16.5px)}.hero-welcome{font-family:var(--code);color:var(--accent);letter-spacing:clamp(.02rem,.05vw,.05rem);text-align:center;margin:0;font-size:clamp(22px,3vw,26px)}h3{font-family:var(--code);color:var(--accent);text-transform:uppercase;letter-spacing:.05em;font-size:clamp(12px,1.35rem,21px);font-weight:600}h2{font-family:var(--heading);color:var(--ink-0);font-size:clamp(12px,1.2rem,22px);font-weight:700}h1{font-family:var(--heading);margin:0}button{font:inherit;cursor:pointer}a{font:inherit;color:inherit;font-weight:inherit}img{max-width:100%;display:block}.site-shell{flex-direction:column;min-height:100vh;display:flex}.site-header{z-index:30;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:var(--surface-strong);justify-content:center;align-items:center;display:flex;position:sticky;top:0}.header-inner{border-bottom:.2rem solid var(--accent);min-height:3.5rem;width:min(var(--page-max), calc(100% - 2rem));justify-content:space-between;align-items:center;gap:1rem;padding:0 1rem;display:flex}.brand-mark{font-family:var(--brand);color:var(--accent);letter-spacing:.02em;padding:0;font-size:clamp(1rem,4vw,1.25rem);font-weight:350;text-decoration:none}.desktop-nav{align-items:center;gap:1rem;min-height:2.75rem;display:flex}.nav-link{color:var(--ink-1);padding:.7rem 0;font-size:clamp(12px,1.35vw,15.5px);font-weight:500;text-decoration:none;transition:color .18s,background-color .18s;position:relative}.nav-link:after{content:"";background:0 0;border-radius:999px;height:2px;transition:background-color .18s;position:absolute;bottom:.35rem;left:.85rem;right:.85rem}.nav-link:hover,.nav-link:focus-visible{color:var(--accent);outline:none}.nav-link:hover:after,.nav-link:focus-visible:after{background:var(--accent-soft)}.nav-link-active{color:var(--accent)}.nav-link-active:after{background:var(--accent)}.menu-button{width:2.2rem;height:2rem;color:var(--accent);background:#ffffff73;border:none;border-radius:40%;justify-content:center;align-items:center;display:none;box-shadow:inset 0 0 0 1px #7b1f2ab3}.menu-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.menu-icon{width:1.45rem;height:1.35rem}.drawer-backdrop{opacity:0;pointer-events:none;z-index:20;background:#14181b47;transition:opacity .18s;position:fixed;inset:0}.drawer-backdrop.is-visible{opacity:1;pointer-events:auto}.mobile-drawer{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:25;background:#f5f6f7f5;flex-direction:column;align-items:center;gap:1rem;width:100%;height:100vh;margin-top:2.5rem;padding:1rem;transition:transform .22s;display:flex;position:fixed;top:0;left:0;transform:translate(-102%);box-shadow:16px 0 40px #0000001f}.mobile-drawer.is-open{transform:translate(0)}.drawer-title{font-family:var(--heading);font-size:1.25rem}.drawer-nav{flex-direction:column;gap:.45rem;display:flex}.drawer-link{color:var(--ink-1);border-radius:1rem;grid-template-columns:3rem 1fr;align-items:center;gap:.6rem;padding:.8rem .75rem;text-decoration:none;display:grid}.drawer-link.is-active{color:var(--accent);background:#7b1f2a14}.drawer-index{font-family:var(--mono);color:var(--muted);font-size:.78rem}.site-footer{width:100%;min-height:3.5rem;font-family:var(--body);background:var(--surface-strong);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);justify-content:center;display:flex;position:relative;bottom:0}.footer-inner{width:min(var(--page-max), calc(100% - 2rem));border-top:.2rem solid var(--accent);flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:clamp(12px,3vw,14px);display:flex}.footer-icons{align-items:center;gap:1rem;width:auto;font-size:clamp(18px,4vw,24px);display:flex}@media (width<=760px){.desktop-nav{display:none}.menu-button{width:2.25rem;height:1.75rem;display:flex}.header-inner{width:18rem;min-height:2.75rem;padding:0 1rem}.footer-inner{width:calc(100%-1rem)}.page-main{width:min(var(--page-max), calc(100% - 1rem));margin:.5rem 0 1rem}}@media (width>=761px){.drawer-backdrop,.mobile-drawer{display:none}.footer-inner{flex-direction:row;justify-content:space-between}}.home-page{gap:clamp(1.25rem,3vw,1.75rem);padding:1rem;animation:.48s both rise;display:grid}.hero-grid{grid-template-columns:1fr minmax(0,2.5fr);align-items:stretch;gap:clamp(1.25rem,2vw,1.5rem);display:grid}.hero-profile{text-align:center;background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);grid-template-columns:1fr;justify-content:center;align-self:stretch;place-items:center;gap:clamp(1rem,1.2vw,2rem);padding:clamp(1rem,2vw,2.5rem);display:grid}.name-title{font-size:clamp(20px,3vw,32px);line-height:1}.hero-title{font-family:var(--body);letter-spacing:.02rem;color:var(--ink-1);font-size:clamp(15px,2vw,20px);font-weight:400}.profile-text{flex-direction:column;gap:clamp(.25rem,1.25vw,1rem);display:flex}.hero-subtitle{font-family:var(--body);color:var(--muted);font-size:clamp(12px,1.5vw,16px);font-weight:350}.profile-image{object-fit:cover;border-radius:50%;justify-self:center;width:200px;height:200px}.profile-icons{justify-content:space-between;justify-items:start;justify-self:space-between;grid-template-columns:repeat(2,max-content);gap:clamp(.2rem,1.5vw,.75rem) clamp(1rem,2vw,1.2rem);font-size:clamp(12px,1.5vw,16px);display:grid}.hero-right{background-color:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;align-items:start;gap:.75rem;padding:clamp(1rem,2vw,2.5rem);display:flex}.hero-summary{flex-direction:column;gap:.5rem;width:100%;font-size:clamp(12.5px,1.75vw,16px);line-height:clamp(1.25,2em,1.4);display:flex}.summary-list{line-height:inherit;font-size:inherit;color:var(--ink-1);padding-left:clamp(.75rem,7vw,3rem);list-style-type:disc}.summary-item{justify-content:space-between;align-items:center;gap:.5rem;line-height:1.4;list-style-type:disc;display:flex}.company-date{text-align:right;color:var(--accent-less);font-size:clamp(11.5px,1.5vw,15px);font-family:var(--body);white-space:nowrap;align-self:flex-start;font-weight:400}@keyframes uncurlReveal{0%{clip-path:inset(0 100% 0 0);opacity:0;transform:scaleX(.7)}to{clip-path:inset(0);opacity:1;transform:scaleX(1)}}.transition-band,.transition-band-pre{transform-origin:0;border-radius:100px;height:clamp(3.25rem,8vw,5.75rem);animation:4s cubic-bezier(.4,1,.5,1) forwards uncurlReveal;position:relative;overflow:hidden}.transition-band:hover,.transition-band-pre:hover{filter:blur(1.5px)saturate(.9)brightness(.9)}.transition-band img,.transition-band-pre img{object-fit:cover;filter:blur(.3px)saturate(.95)brightness(.94);width:100%;height:100%;transform:scale(1.1)}.highlights-section{gap:1rem;display:grid}.highlights-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-self:stretch;gap:1rem;display:grid}.highlight-card{background:var(--surface);box-shadow:var(--shadow);border-radius:var(--radius);gap:clamp(.5rem,1.25vw,.75rem);align-items:space-between;border:0;grid-template-columns:1fr;padding:clamp(.75rem,2vw,1.75rem);display:grid}@media (width<=760px){.hero-grid{grid-template-columns:1fr;gap:.7rem;animation:none}.hero-profile{flex-flow:wrap;gap:.75rem clamp(.75rem,2vw,1.5rem);padding:1rem .75rem .75rem;display:flex}.company-link{display:inline-flex}.company-date{justify-content:right}.profile-icons{grid-template-columns:repeat(3,max-content)}.profile-image{width:110px;height:110px}.highlights-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.highlights-section{gap:.5rem}.highlight-card{padding:.75rem}.home-page{gap:1rem;padding:.25rem}.hero-right{gap:.25rem;padding:.9rem}.hero-about{text-align:left;margin-bottom:.4rem;line-height:1.4}.highlight-t{padding-left:.75rem}}@media (width>=761px){.transition-band-pre,.img-pre{display:none}}@media (width<=350px){.hero-title{display:none}.profile-image{width:100px;height:100px}.home-page{gap:.75rem;padding:.1rem}}.highlight-meta{color:var(--ink-0);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;gap:1rem;font-size:.75rem;line-height:1;display:flex}.card-link{color:var(--accent-less);font-family:var(--body);border-top:1px solid var(--accent);justify-content:space-between;align-items:center;margin-bottom:0;padding-top:clamp(.25rem,1vw,.65rem);font-size:clamp(12px,2vw,15px);text-decoration:none;display:inline-flex}.engphys-page{flex-direction:column;justify-content:start;align-items:center;gap:clamp(.75rem,3vw,1.5rem);height:100vh;padding:1rem;display:flex}.e-contents{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;justify-content:start;align-items:center;gap:clamp(.75rem,3vw,1.5rem);padding:clamp(.75rem,2.5vw,2rem);display:flex}.reflections-page{flex-direction:column;align-items:center;gap:clamp(.75rem,2.5vw,1.5rem);height:100vh;padding:1rem;display:flex}.ref-grid{width:100%;height:100%;color:var(--accent);flex-direction:column;grid-template-columns:2fr 6fr;justify-content:start;align-items:center;gap:clamp(.75rem,3vw,1.5rem);display:grid}.r-sidebar{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);text-align:center;flex-direction:column;justify-content:start;align-self:stretch;align-items:center;gap:clamp(1.75rem,3vw,1.5rem);padding:clamp(.75rem,2.5vw,2rem);display:flex}.r-sidebar-title{font-family:var(--heading);color:var(--accent);text-align:center;padding:clamp(.25rem,1vw,.5rem);font-size:clamp(16px,2vw,20px)}.r-num{font-family:var(--mono);color:var(--muted);text-transform:uppercase;margin-right:.25rem;font-size:clamp(12px,1.5vw,16px)}.r-title{font-family:var(--heading);color:var(--accent);text-align:center;font-size:clamp(14px,2vw,18px)}.r-article{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;justify-content:start;align-self:stretch;gap:clamp(.75rem,3vw,1.5rem);padding:clamp(.75rem,2.5vw,2rem);display:flex}@media (width<=760px){.ref-grid{width:100%;height:100%;color:var(--accent);flex-direction:column;grid-template-columns:1fr;justify-content:start;align-items:center;gap:clamp(.75rem,3vw,1.5rem)}.r-sidebar{width:100%;padding:1rem clamp(.75rem,20vw,5rem)}}.projects-page{flex-direction:column;justify-content:start;align-items:center;gap:clamp(.75rem,2.5vw,1.5rem);min-height:60vh;padding:1rem;display:flex}.projects-title{margin-bottom:.5rem;font-size:1.5rem;font-weight:700}.projects-grid{grid-template-columns:repeat(2,1fr);gap:clamp(18px,3.5vw,50px);max-width:1200px;min-height:60vh;display:grid}.project-card{background:var(--surface-strong);cursor:pointer;aspect-ratio:5/4;border-radius:12px;flex-direction:column;transition:transform .4s cubic-bezier(.175,.885,.32,1.275),box-shadow .4s;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 12px #00000014}.project-card:hover{z-index:10;transform:scale(1.05)translateY(-5px);box-shadow:0 12px 24px #0003}.card-header{text-transform:uppercase;letter-spacing:.1em;color:var(--accent);background:var(--surface-strong);border-bottom:1px solid #eee;padding:.75rem 1rem;font-size:clamp(12px,1.2em,14px)}.card-body{flex:1;justify-content:center;align-items:center;height:220px;text-decoration:none;display:flex;position:relative;overflow:hidden}.card-footer{background:var(--surface-strong);justify-content:center;gap:.5rem;padding:.75rem 1rem;display:flex}.card-skills{color:var(--accent);flex-wrap:wrap;justify-content:center;gap:.25rem .75rem;font-size:clamp(12px,1.25vw,14px);display:flex}.card-body:before{content:"";background-image:var(--card-bg);filter:blur(3px);background-position:50%;background-size:cover;transition:filter .3s;position:absolute;inset:0}.project-card:hover .card-body:before{filter:blur()}.card-body:after{content:"";z-index:1;background:#0000004d;position:absolute;inset:0}.card-title{color:var(--ink-w);z-index:2;text-align:center;text-shadow:4px 4px 8px #000000b3;margin:0;padding:1rem 2rem;font-size:clamp(20px,4vw,26px);font-weight:800}@media (width<=1024px){.projects-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.projects-grid{grid-template-columns:1fr;padding:0 .6rem}.card-header,.card-footer{padding:.5rem .75rem;font-size:clamp(12px,.8rem,13px)}}.p-header{grid-template-columns:1.5fr 1fr;gap:1.25rem 1.5rem;display:grid}.p-discript,.p-team,.p-tools,.project-report{background-color:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;align-self:stretch;gap:clamp(.5rem,2vw,1.2rem);padding:clamp(.5rem,2vw,1.25rem);display:flex}.project-report{height:clamp(300px,95vh,2000px)}.p-discript{font-size:clamp(12.5px,1.5vw,16px);font-family:var(--body);text-align:justify;font-weight:300;line-height:1.4}.p-title{color:var(--accent);text-align:center;margin-top:.2rem;margin-bottom:clamp(.1rem,1vw,.5rem);font-size:clamp(20px,3vw,28px);line-height:1}.p-pr{font-size:clamp(13px,1.5vw,16.5px);font-family:var(--code);color:var(--accent);font-weight:500}.p-subtitle{text-align:center;letter-spacing:.05rem;color:var(--accent);font-size:clamp(18px,2.5vw,24px);line-height:1}img{width:100%;height:auto;box-shadow:0 20px 40px #0000001a}.p-gal{text-align:center;letter-spacing:.05rem;color:var(--accent);padding:clamp(.5rem,2vw,1.25rem) clamp(.5rem,2vw,1.25rem) clamp(.25rem,1.75vw,.75rem);font-size:clamp(20px,2.5vw,26px);line-height:1}.p-right{border-radius:var(--radius);background:var(--surface-strong);will-change:transform;backface-visibility:hidden;cursor:pointer;flex-direction:column;align-self:stretch;transition:transform .4s cubic-bezier(.175,.885,.32,1.275),box-shadow .4s;display:flex;position:relative;overflow:hidden;transform:translateZ(0);box-shadow:0 4px 12px #00000014}.slideshow-container{width:100%;height:100%;position:relative;overflow:hidden}.slide{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity 2s ease-in-out;position:absolute;top:0;left:0}.slide.active{opacity:1}.team-members{grid-auto-flow:column;justify-content:center;gap:clamp(.5rem,2vw,2rem);margin-top:clamp(.4rem,1.5vw,.75rem);font-size:15px;list-style:none;display:grid}.member-link{text-align:center;color:inherit;flex-direction:column;align-items:center;gap:clamp(.25rem,1vw,.5rem);font-size:clamp(12px,1.5vw,15px);text-decoration:none;display:flex}.member-img{object-fit:cover;will-change:transform;backface-visibility:hidden;border-radius:25%;width:clamp(40px,4vw,60px);height:clamp(40px,4vw,60px);transition:transform .5s;transform:translateZ(0)}.member-img:hover{transform:scale(1.1)}.member-link:hover{color:var(--accent);text-decoration:underline}.p-tools-list{font-family:var(--body);text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(.25rem,1vw,.5rem) 1rem;margin-top:clamp(.4rem,1.5vw,.75rem);font-size:clamp(12px,1.25vw,15.5px);list-style:none;display:flex}.tool-icon{color:var(--accent);font-size:clamp(16px,2vw,26px)}.project-tool-item{background:var(--accent-2);box-shadow:0 0 2px var(--accent);border-radius:3px;justify-content:center;align-items:center;gap:.45rem;padding:.25rem;font-weight:400;display:flex}iframe{border:none;width:100%;height:100%;overflow:hidden}@media (width<=760px){.projects-page{padding:.25rem}.project-report{padding-left:.25rem;padding-right:.25rem}.p-discript{padding:.75rem}.p-header{grid-template-rows:auto auto;grid-template-columns:1fr;row-gap:.75rem}.p-right{aspect-ratio:4/4}.slide{object-fit:cover}.team-members{flex-flow:wrap;display:flex}.member-link{gap:.25rem}}
