/* A quiet canvas for engineering work. */
:root{--ink:#182321;--muted:#596661;--paper:#fafbf8;--line:#dce2db;--accent:#236447;--header:76px;font-family:Inter,Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;line-height:1.65}html{scroll-behavior:smooth;scroll-padding-top:100px}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}img,video{display:block;max-width:100%}button{border:0;background:none}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-family:'Space Grotesk',Arial,sans-serif;line-height:1.2}ul{padding-left:19px}li+li{margin-top:10px}[hidden]{display:none!important}:focus-visible{outline:3px solid #26745a;outline-offset:5px}.container{width:min(1160px,100%);margin:auto;padding:0 32px}.skip-link{position:fixed;top:-80px;left:20px;z-index:300;background:white;padding:12px}.skip-link:focus{top:10px}.navbar{height:var(--header);position:sticky;top:0;z-index:50;background:#fafbf8f2;backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.nav-container{max-width:1160px;height:100%;margin:auto;padding:0 32px;display:flex;align-items:center;justify-content:space-between;gap:24px}.logo{font-weight:700;display:flex;gap:10px;align-items:center}.logo .icon{color:var(--accent)}.nav-menu{display:flex;gap:28px;font-size:.88rem}.nav-link{padding:8px 0}.nav-link.active,.nav-link:hover{color:var(--accent);text-decoration:underline;text-underline-offset:8px}.menu-toggle{display:none}.mobile-nav{position:fixed;inset:var(--header) 0 auto;z-index:49;background:var(--paper);padding:24px;display:flex;flex-direction:column;gap:20px;border-bottom:1px solid var(--line)}
.hero-section{padding:84px 0 56px;background:radial-gradient(ellipse at 85% 25%,#e2ecdf,transparent 55%)}.hero-header{max-width:870px}.badge{display:block;color:var(--accent);font-size:.72rem;font-weight:700;letter-spacing:2px;margin-bottom:25px}.hero-title{font-size:clamp(2.7rem,6vw,5.2rem);letter-spacing:-3px;max-width:850px;line-height:1.06}.hero-subtitle{font-size:clamp(1.15rem,2vw,1.5rem);margin:24px 0 14px}.hero-description{max-width:720px;color:var(--muted);font-size:1.04rem}.hero-stats{display:flex;flex-wrap:wrap;gap:36px;margin:30px 0}.stat-card{display:flex;flex-direction:column;border-left:2px solid #9bb79f;padding-left:16px}.stat-number{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:1.35rem}.stat-label{font-size:.76rem;color:var(--muted)}.hero-ctas{display:flex;gap:14px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 22px;border-radius:6px;font-size:.88rem;font-weight:600}.btn-primary{background:var(--ink);color:white}.btn-outline{border:1px solid #aab6aa}.btn:hover{background:var(--accent);color:white}.hero-meta{display:flex;gap:20px;flex-wrap:wrap;margin-top:30px;font-size:.75rem;color:var(--muted)}.meta-item{display:flex;gap:8px;align-items:center}.social-links{display:flex;gap:16px;font-size:1rem}
section.container{padding-top:76px;padding-bottom:30px}.section-title{font-size:clamp(1.8rem,3vw,2.4rem);letter-spacing:-1px;margin-bottom:12px}.section-description{color:var(--muted);max-width:650px;margin-bottom:32px}.projects-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 30px}.project-card{min-width:0;border-bottom:1px solid var(--line);padding-bottom:28px}.project-card.featured-project{grid-column:auto}.project-media-header,.project-media-side,.talk-media-side{min-width:0;height:auto}.media-stage-wrapper{position:relative;aspect-ratio:16/10;background:#e9ece5;border-radius:10px;overflow:hidden}.stage-open{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:0;position:relative}.stage-media{width:100%;height:100%;object-fit:contain}.stage-caption{position:absolute;bottom:0;left:0;right:0;padding:25px 14px 10px;background:linear-gradient(transparent,#142018dc);color:white;font-size:.74rem;pointer-events:none}.stage-open::after{content:'↗';position:absolute;right:12px;top:12px;background:#fffdf5e8;color:var(--ink);border-radius:50%;height:30px;width:30px;display:grid;place-items:center}.visible-thumbs-grid{display:flex;overflow-x:auto;gap:8px;padding:12px 3px 8px;scrollbar-width:thin}.thumb-tile{position:relative;flex:0 0 72px;height:50px;padding:2px;border:2px solid transparent;border-radius:5px}.thumb-tile img{width:100%;height:100%;object-fit:cover;border-radius:2px}.thumb-tile.active{border-color:var(--accent)}.thumb-play-overlay{position:absolute;inset:0;display:grid;place-items:center;color:white;text-shadow:0 1px 5px black;font-size:14px;pointer-events:none}.gallery-controls{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:.65rem;color:var(--muted);margin:3px 0 20px}.gallery-toggle{font-size:.68rem;padding:7px 9px;border:1px solid var(--line);border-radius:4px;flex-shrink:0}.project-category,.talk-tag{font-size:.66rem;letter-spacing:1.4px;text-transform:uppercase;color:var(--accent);display:flex;align-items:center;gap:8px;font-weight:700;margin-bottom:9px}.project-header h3{font-size:1.45rem}.project-details{margin-top:16px;font-size:.88rem;color:var(--muted)}summary{cursor:pointer;font-weight:600;color:var(--ink);padding:4px 0}.project-body ul{margin-bottom:0}.project-tags,.skill-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:18px}.tag,.skill-tag{font-size:.67rem;color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:3px 8px}.no-media{display:flex;align-items:center;background:#eef2e9;padding:32px;border-radius:10px}.no-media .project-category{margin-bottom:18px}.no-media h3{font-size:1.9rem}.talk-card{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:40px;align-items:center}.talk-header h3{font-size:2rem}.location{font-weight:400;color:var(--muted);margin:8px 0 24px}.talk-body{color:var(--muted)}.recognition-card{display:flex;gap:20px;align-items:center;border-top:1px solid var(--line);margin-top:24px;padding:24px 0}.rec-icon-box{font-size:1.5rem;color:var(--accent)}.rec-content h3{font-size:1.1rem;margin-bottom:6px}.rec-content p{font-size:.9rem;color:var(--muted)}
.timeline{margin-top:30px}.timeline-item{display:grid;grid-template-columns:190px minmax(0,1fr);gap:32px;padding:26px 0;border-top:1px solid var(--line)}.timeline-dot{display:none}.timeline-date{color:var(--muted);font-size:.8rem}.job-header h3{font-size:1.25rem}.company{font-size:.9rem;font-weight:500;color:var(--accent);margin-top:8px}.company .loc{color:var(--muted)}.mode{font-size:.85rem}.job-details{font-size:.88rem;color:var(--muted);margin-bottom:0}.skills-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.skill-card{border:1px solid var(--line);border-radius:8px;padding:24px;min-width:0}.skill-header{display:flex;gap:12px;align-items:center}.skill-header h3{font-size:1rem}.skill-icon{color:var(--accent)}.about-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:48px}.about-text{color:var(--muted);font-size:.95rem}.about-text p+p{margin-top:18px}.about-quote-box{background:#eaf0e5;padding:30px;border-radius:8px;align-self:start}.quote-icon{color:var(--accent)}.about-quote{font-family:'Space Grotesk',sans-serif;font-size:1.25rem;margin:18px 0}.quote-author{font-size:.8rem;color:var(--muted)}.education-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.edu-card{border-top:1px solid var(--line);padding:24px 0}.edu-header{display:flex;gap:15px}.edu-header h3{font-size:1.2rem}.edu-icon{color:var(--accent)}.degree,.edu-meta{font-size:.85rem;color:var(--muted)}.edu-meta{display:flex;gap:20px;margin:20px 0}.edu-gpa{font-size:.85rem}.gpa-val{font-weight:700}.contact-card-wrapper{background:var(--ink);color:#f7faf4;padding:44px;border-radius:12px;margin-bottom:45px}.contact-heading{font-size:2.5rem}.contact-lead{color:#c4d2c8;max-width:640px;margin:16px 0 32px}.contact-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:30px}.contact-info{display:flex;flex-direction:column;gap:18px}.contact-info-item{display:flex;gap:14px;align-items:center;min-width:0}.contact-info-item span{display:block;font-size:.7rem;color:#c4d2c8}.contact-info-item a,.contact-info-item p{font-size:.88rem;overflow-wrap:anywhere}.social-grid{display:flex;gap:14px;flex-wrap:wrap}.social-card{display:flex;gap:10px;align-items:center;font-size:.82rem;padding:15px;border:1px solid #6f8178;border-radius:6px;align-self:start}.footer-container{display:flex;justify-content:space-between;gap:20px;font-size:.73rem;color:var(--muted);padding-top:20px;padding-bottom:30px}
.lightbox{border:0;background:#111b17;color:white;padding:50px 22px 20px;width:min(1100px,95vw);max-height:94dvh;border-radius:10px}.lightbox::backdrop{background:#06120bdd;backdrop-filter:blur(5px)}.lightbox-content-wrapper{display:flex;justify-content:center;align-items:center}.lightbox-media{max-width:100%;max-height:72dvh;object-fit:contain}.lightbox-close{position:absolute;right:16px;top:10px;color:white;padding:5px 10px}.lightbox-close:focus-visible{outline-color:white}#lightbox-caption{text-align:center;font-size:.88rem;margin-top:14px}.media-error{padding:30px;color:var(--ink);text-align:center}
@media(max-width:900px){.nav-menu{gap:16px}.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-section{padding-top:55px}.talk-card{gap:24px}.hero-title{letter-spacing:-2px}}
@media(max-width:700px){:root{--header:66px}.container,.nav-container{padding-left:20px;padding-right:20px}.nav-menu{display:none}.menu-toggle{display:block}.hero-section{padding:40px 0}.hero-title{letter-spacing:-1.7px}.hero-stats{gap:20px}.stat-number{font-size:1.1rem}.stat-label{font-size:.66rem}.hero-meta{gap:12px}.projects-grid,.talk-card,.about-grid,.education-grid,.contact-grid{grid-template-columns:minmax(0,1fr)}.project-card{padding-bottom:25px}.no-media{padding:25px}.timeline-item{grid-template-columns:minmax(0,1fr);gap:12px}.skills-grid{gap:12px}.skill-card{padding:16px}.skill-header{align-items:flex-start}.about-grid{gap:25px}.contact-card-wrapper{padding:26px 20px}.contact-heading{font-size:2rem}.footer-container{flex-direction:column;gap:8px}section.container{padding-top:48px}.gallery-controls{font-size:.6rem}.hero-meta .meta-item:first-child{width:100%}}
@media(max-width:380px){.skills-grid{grid-template-columns:minmax(0,1fr)}.hero-stats{flex-direction:column;gap:12px}.hero-title{font-size:2.6rem}.gallery-controls{align-items:flex-start}.edu-meta{flex-direction:column;gap:6px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
/* Keep the introduction compact enough to lead naturally into the work. */
@media(min-width:701px){.hero-section{padding:44px 0 32px}.hero-title{font-size:clamp(3rem,5vw,4.2rem);max-width:100%}.hero-header{max-width:1050px}.badge{margin-bottom:18px}.hero-subtitle{margin-top:18px}.hero-stats{margin:22px 0}.hero-meta{margin-top:22px}#projects{padding-top:48px}}

.hero-role{font-family:"Space Grotesk",Arial,sans-serif;font-size:clamp(1.5rem,3vw,2.3rem);font-weight:600;line-height:1.2;color:var(--accent);margin:0 0 18px}.hero-header .badge{margin-bottom:10px}

.project-summary{font-size:.95rem;color:var(--muted);margin-top:14px;line-height:1.65}
