:root{color-scheme:light;--bg: #ffffff;--surface: #f6f6f4;--text: #242625;--muted: #666a67;--line: #e4e6e2;--link: #3f6458;--type-title: clamp(1.65rem, 2.6vw, 2.15rem);--type-subtitle: clamp(1.1rem, 1.8vw, 1.35rem)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.65;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--link);outline-offset:4px}h1,h2,h3{margin:0;font-weight:600;line-height:1.25;letter-spacing:-.025em}p{margin:0;color:var(--muted)}img{display:block;max-width:100%;height:auto}button,input,textarea{font:inherit}.site-shell{min-height:100vh;display:flex;flex-direction:column}main{flex:1}.site-header{position:sticky;top:0;z-index:20;background:var(--bg);border-bottom:1px solid var(--line)}.site-header__inner,.section,.site-footer__inner{width:min(1040px,calc(100% - 5rem));margin-inline:auto}.site-header__inner{min-height:80px;display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand-mark{display:inline-flex;align-items:center}.brand-mark__img{width:116px;height:auto;object-fit:contain}.site-nav{display:flex;align-items:center;gap:2rem}.site-nav__link{padding:.45rem 0;color:var(--muted);font-size:.875rem;border-bottom:1px solid transparent}.site-nav__link:hover,.site-nav__link.is-active{color:var(--text);border-color:var(--text)}.menu-button{display:none;width:44px;height:44px;padding:0;border:0;border-radius:4px;background:transparent;cursor:pointer}.menu-button span{display:block;width:20px;height:1.5px;margin:5px auto;background:var(--text)}.page{padding:0 0 5rem}.section{margin-top:4.5rem}.section+.section{padding-top:3rem;border-top:1px solid var(--line)}.section-kicker{color:var(--muted);font-size:.8rem;font-weight:500;letter-spacing:.035em}.hero{display:grid;grid-template-columns:minmax(0,1fr) 300px;align-items:center;gap:5rem}.hero h1,.hero-block h1{margin-top:.75rem;font-size:clamp(2.1rem,4vw,3rem);letter-spacing:-.045em}.hero__summary{margin-top:1.25rem;max-width:53ch;line-height:1.8}.hero__cta-row{margin-top:1.75rem;display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.65rem 1.1rem;border:1px solid transparent;border-radius:4px;cursor:pointer;font-size:.875rem;font-weight:500;line-height:1.5;transition:background-color .15s ease,border-color .15s ease}.button--primary{color:#fff;background:var(--text)}.button--primary:hover{background:#444945}.button--ghost{background:transparent;color:var(--text);border-color:var(--line)}.button--ghost:hover{background:var(--surface);border-color:#b7bcb7}.button:disabled{opacity:.55;cursor:wait}.hero-details{margin:2rem 0 0;padding-top:1.25rem;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:.75rem 1.5rem;font-size:.85rem}.hero-details dt{font-size:.75rem;color:var(--muted)}.hero-details dd{margin:.1rem 0 0;overflow-wrap:anywhere}.hero-details a:hover{color:var(--link);text-decoration:underline;text-underline-offset:3px}.social-list{margin:1.4rem 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:.35rem 1.25rem}.social-list a{display:inline-flex;align-items:center;gap:.4rem;padding-block:.4rem;font-size:.8rem;color:var(--muted)}.social-list a:hover{color:var(--text);text-decoration:underline;text-underline-offset:4px}.social-list img,.contact-social-grid img{width:16px;height:16px;object-fit:contain;filter:grayscale(1)}.hero__image-wrap{width:100%;overflow:hidden;border-radius:4px;background:var(--surface)}.hero__image-wrap img{width:100%;height:auto}.section-head{max-width:68ch}.section-head h2{margin-top:.65rem;font-size:var(--type-title)}.section-head>p:not(.section-kicker){margin-top:1rem;line-height:1.8}.skills-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:4rem;margin-top:2rem}.content-panel h2,.content-panel h3{font-size:var(--type-subtitle)}.chip-list{margin:1rem 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:.45rem 0}.chip-list li{font-size:.85rem;color:var(--muted);line-height:1.5}.chip-list li:not(:last-child):after{content:"/";display:inline-block;padding-inline:.7rem;color:#c4c8c3}.inline-link,.contact-resume-link a{display:inline-block;margin-top:1.1rem;color:var(--link);font-size:.875rem;text-decoration:underline;text-decoration-color:#c3d0c9;text-underline-offset:5px}.inline-link:hover,.contact-resume-link a:hover{text-decoration-color:var(--link)}.stack-grid{margin-top:2rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5rem 4rem}.stack-card{display:flex;flex-direction:column;align-items:flex-start;gap:.65rem;padding-top:1.25rem;border-top:1px solid var(--line)}.stack-card__category{font-size:.75rem}.stack-card h3{font-size:var(--type-subtitle)}.stack-card p:not(.stack-card__category){font-size:.925rem}.lead-paragraph{font-size:1.05rem}.section-head .lead-spotlight{padding-left:1.25rem;border-left:2px solid var(--line);font-size:1rem}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;margin-top:2.25rem}.stat-card{padding-top:1rem;border-top:1px solid var(--line)}.stat-card__label{font-size:.8rem}.stat-card h2{margin-top:.35rem;font-size:1.1rem}.about-childhood-layout{display:grid;gap:2.5rem}.text-focus-card{display:grid;gap:.9rem}.text-focus-card h2{font-size:var(--type-title)}.text-focus-card>p:not(.section-kicker){max-width:76ch}.origin-list{margin:.5rem 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}.origin-list li{padding-top:1rem;border-top:1px solid var(--line)}.origin-list h3{font-size:1rem}.origin-list p{margin-top:.65rem;font-size:.925rem}.childhood-showcase{display:grid;gap:1.25rem}.childhood-showcase__head h2{margin-top:.5rem}.childhood-image-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,.62fr) minmax(0,1.58fr);gap:1.25rem}.childhood-image-card{margin:0;min-width:0}.childhood-image-card img{width:100%;height:330px;object-fit:cover;border-radius:3px}.childhood-image-card--contain img{object-fit:contain;background:var(--surface)}.childhood-image-card figcaption{margin-top:.6rem;font-size:.8rem;color:var(--muted)}.growth-cinematic{display:grid;gap:1.25rem}.growth-cinematic__header h2{margin-top:.5rem;font-size:var(--type-title)}.growth-cinematic__lead{max-width:68ch}.growth-cinematic__split{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:center}.growth-cinematic__split img{width:100%;height:300px;object-fit:cover;border-radius:3px}.about-offline{display:grid;gap:1.5rem}.about-offline__layout{display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:2.5rem}.about-offline__story{display:grid;gap:.9rem}.about-offline__video-link{display:block;margin-top:.5rem}.about-offline__video-link img{border-radius:3px}.photo-carousel{min-width:0}.photo-carousel__stage{height:480px;padding:1.25rem;background:var(--surface);display:flex;align-items:center;justify-content:center;border-radius:3px}.photo-carousel__image{width:auto;height:auto;max-height:100%;max-width:100%;object-fit:contain}.photo-carousel__footer{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-block:1rem}.photo-carousel__counter{font-size:.75rem;font-variant-numeric:tabular-nums}.photo-carousel__footer h3{margin-top:.2rem;font-size:.925rem}.photo-carousel__controls{display:flex;gap:.5rem}.photo-carousel__controls .button{padding:.45rem .7rem}.photo-carousel__dots{display:flex;flex-wrap:wrap;gap:.15rem}.photo-carousel__dot{position:relative;width:24px;height:24px;border:0;padding:0;cursor:pointer;background:transparent}.photo-carousel__dot:after{content:"";position:absolute;width:5px;height:5px;border-radius:50%;background:#c4c8c3;top:50%;left:50%;transform:translate(-50%,-50%)}.photo-carousel__dot.is-active:after{background:var(--text);width:7px;height:7px}.projects-page .hero-block{margin-top:2rem}.projects-page .hero-block .section-head{max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:.35rem 2rem;align-items:end}.projects-page .hero-block h1{grid-column:1;margin-top:0;font-size:clamp(1.75rem,3vw,2.4rem)}.projects-page .hero-block .section-head>p:not(.section-kicker){grid-column:2;grid-row:1 / 3;margin-top:0;font-size:.875rem;line-height:1.6}.projects-page .projects-list-section{margin-top:1.75rem;padding-top:0}.project-list{display:grid}.project-card{min-width:0;padding-block:1rem}.project-card__header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:baseline}.project-card+.project-card{border-top:1px solid var(--line)}.chip-list--dense{margin:0 0 .7rem}.chip-list--dense li{font-size:.875rem}.chip-list--dense li:not(:last-child):after{padding-inline:.5rem}.project-card h2{font-size:1.25rem;letter-spacing:-.015em;line-height:1.4}.project-card .chip-list{margin:.4rem 0}.project-card__details p{margin-top:.75rem;max-width:75ch;font-size:1rem;line-height:1.8}.project-card__details summary{width:fit-content;color:var(--muted);font-size:.875rem;cursor:pointer}.project-card__details summary:hover{color:var(--text)}.project-card__details summary:focus-visible{outline:2px solid var(--link);outline-offset:4px}.project-card__status{color:var(--muted);font-size:.875rem}.project-card__link{margin-top:0;font-size:.875rem;white-space:nowrap}.work-experience-list{margin-top:1.5rem}.work-experience{display:grid;grid-template-columns:240px minmax(0,1fr);gap:2rem;padding-block:1.5rem;border-top:1px solid var(--line)}.work-experience__meta h3{font-size:1.125rem}.work-experience__meta p{margin-top:.4rem;font-size:.875rem}.work-experience__period{font-variant-numeric:tabular-nums}.work-experience>p{font-size:1rem}.internship-card{display:grid;grid-template-columns:.8fr 1.2fr;gap:3rem;align-items:center}.internship-card img{width:100%;object-fit:contain}.internship-card h2{margin-top:.5rem;font-size:var(--type-subtitle)}.internship-card p+p,.internship-card h2+p{margin-top:.75rem;font-size:.925rem}.contact-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:5rem;align-items:start}.contact-page .section-head p a:hover{text-decoration:underline;text-underline-offset:3px}.contact-resume-link a{margin-top:0}.contact-form{display:grid;gap:1.25rem;margin-top:1.5rem}.contact-form label{display:grid;gap:.45rem;font-size:.85rem}.contact-form input,.contact-form textarea{width:100%;min-width:0;padding:.7rem .8rem;border:1px solid #d4d8d2;border-radius:3px;color:var(--text);background:#fff;font-size:1rem}.contact-form input:hover,.contact-form textarea:hover{border-color:#a0aaa1}.contact-form textarea{resize:vertical;min-height:150px}.contact-form .button{justify-self:start;min-width:140px}.form-status{margin-top:1rem;font-size:.875rem}.form-status--success{color:var(--link)}.form-status--error{color:#a33530}.form-status--loading{color:var(--muted)}.contact-social-grid{margin:2rem 0 0;padding:1rem 0 0;border-top:1px solid var(--line);list-style:none;display:flex;flex-wrap:wrap;gap:.35rem 1.5rem}.contact-social-grid a{display:inline-flex;align-items:center;gap:.4rem;padding-block:.4rem;color:var(--muted);font-size:.8rem}.contact-social-grid a:hover{color:var(--text);text-decoration:underline;text-underline-offset:4px}.contact-social-grid__resume-item{flex-basis:100%}.contact-social-grid__resume-link span{color:var(--link)}.qr-block{margin-top:1.5rem;max-width:260px}.qr-block img{width:100%;height:auto}.site-footer{border-top:1px solid var(--line)}.site-footer__inner{min-height:100px;padding-block:1.5rem;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem}.site-footer__inner p{font-size:.75rem}.site-footer__links{display:flex;flex-wrap:wrap;gap:1.5rem}.site-footer__links .site-nav__link{font-size:.75rem}.route-loading{min-height:100vh;display:grid;place-items:center;color:var(--muted)}@media(max-width:980px){.hero{grid-template-columns:minmax(0,1fr) 260px;gap:2.5rem}.hero-details{grid-template-columns:1fr;gap:.55rem}.hero-details>div{display:grid;grid-template-columns:64px minmax(0,1fr);gap:.5rem}.hero-details dd{margin:0}.skills-layout,.stack-grid{gap:2rem}.contact-grid{gap:3rem}.childhood-image-card img{height:260px}.about-offline__layout{grid-template-columns:1fr 1fr;gap:2rem}.photo-carousel__stage{height:380px}.photo-carousel__footer{align-items:start;flex-direction:column}}@media(max-width:700px){.site-header__inner,.section,.site-footer__inner{width:calc(100% - 2.5rem)}.site-header__inner{min-height:68px}.brand-mark__img{width:104px}.menu-button{display:block}.site-nav{position:absolute;top:100%;left:0;right:0;display:none;padding:.75rem 1.25rem;background:var(--bg);border-bottom:1px solid var(--line)}.site-nav.is-open{display:grid;gap:0}.site-nav__link{padding:.7rem 0}.site-nav__link.is-active{border-color:var(--line)}.page{padding-bottom:3rem}.section{margin-top:2.75rem}.section+.section{padding-top:2rem}.hero{grid-template-columns:1fr;gap:2rem}.hero h1,.hero-block h1{font-size:clamp(2rem,7.5vw,2.75rem)}.hero__summary{font-size:.95rem}.hero__visual{width:min(280px,100%)}.hero-details{margin-top:1.5rem}.skills-layout,.stack-grid,.growth-cinematic__split,.about-offline__layout,.internship-card,.contact-grid,.origin-list{grid-template-columns:1fr;gap:2rem}.skills-layout,.stack-grid{margin-top:1.5rem}.stats-grid{gap:1rem}.stat-card h2{font-size:.925rem}.childhood-image-grid{grid-template-columns:1fr;gap:1.5rem}.childhood-image-card img{height:300px}.growth-cinematic__split img{height:auto}.photo-carousel__stage{height:400px;padding:1rem}.projects-page .hero-block .section-head{grid-template-columns:1fr;gap:.5rem}.projects-page .hero-block .section-head>p:not(.section-kicker){grid-column:1;grid-row:auto}.project-card__header{grid-template-columns:1fr;gap:.35rem}.project-card h2{font-size:1.125rem}.work-experience{grid-template-columns:1fr;gap:1rem}.internship-card img{max-width:300px}.contact-extra-card{padding-top:2rem;border-top:1px solid var(--line)}.site-footer__inner{align-items:flex-start;flex-direction:column;gap:.75rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
