:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#202824;background:#f7f8f6;font-synthesis:none;text-rendering:optimizeLegibility;--bg:#f7f8f6;--surface:#fff;--surface-soft:#f0f3f1;--text:#202824;--muted:#69746f;--line:#dfe5e1;--accent:#477f79;--accent-dark:#315f5a;--accent-soft:#e4efec;--header:rgba(247,248,246,.88);--shadow:0 24px 70px rgba(31,54,46,.08);scroll-behavior:smooth;scroll-padding-top:88px}:root[data-theme=dark]{color-scheme:dark;--bg:#141b19;--surface:#1b2421;--surface-soft:#202c28;--text:#edf2ef;--muted:#a0ada6;--line:#33413b;--accent:#8bbdb5;--accent-dark:#b4d5cf;--accent-soft:#263b36;--header:rgba(20,27,25,.9);--shadow:0 24px 70px rgba(0,0,0,.25) }*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);transition:background .25s,color .25s}.skip-link{position:fixed;top:10px;left:10px;z-index:30;padding:11px 14px;transform:translateY(-160%);border-radius:4px;background:var(--text);color:var(--bg);font-size:13px;font-weight:700}.skip-link:focus{transform:translateY(0)}:focus-visible{outline:3px solid var(--accent);outline-offset:4px}main:focus{outline:none}a{color:inherit;text-decoration:none}button{font:inherit}.shell{width:min(1160px,calc(100% - 64px));margin-inline:auto}.site-header{height:76px;position:sticky;top:0;z-index:20;background:var(--header);border-bottom:1px solid color-mix(in srgb,var(--line) 72%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.nav{height:100%;display:flex;align-items:center;justify-content:space-between}.wordmark{font-weight:800;font-size:20px;letter-spacing:-1.5px}.wordmark span,.footer-name span{color:var(--accent)}.nav-links{display:flex;align-items:center;gap:30px}.nav-links>a{font-size:12px;color:var(--muted);transition:color .18s}.nav-links>a:hover{color:var(--accent)}.icon-button{width:36px;height:36px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--text);display:grid;place-items:center;cursor:pointer}.menu-toggle{display:none}.theme-toggle:hover,.icon-button:hover{border-color:var(--accent);color:var(--accent)}.hero{position:relative;min-height:calc(100vh - 76px);padding-top:clamp(100px,15vh,160px);padding-bottom:115px;display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:60px}.availability,.eyebrow,.hero-bottom,.aside-label,.project-number,.back-top{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;letter-spacing:.1em;color:var(--muted)}.availability{display:flex;align-items:center;gap:9px}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}h1{font-size:clamp(62px,9vw,110px);line-height:.98;letter-spacing:-.085em;margin:26px 0 13px;font-weight:700}.accent-period{color:var(--accent)}.hero-role{font-size:19px;letter-spacing:-.035em;margin:0;color:var(--accent-dark);font-weight:600}.hero-intro{color:var(--muted);max-width:510px;line-height:1.8;font-size:15px;margin:22px 0 28px}.hero-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:46px;padding:0 17px;font-size:12px;font-weight:700;border-radius:4px;transition:transform .2s,background .2s,border-color .2s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--accent);color:#fff;border:1px solid var(--accent)}.button-primary:hover{background:var(--accent-dark);border-color:var(--accent-dark)}.button-outline{border:1px solid var(--line);background:var(--surface);color:var(--text)}.button-outline:hover{border-color:var(--accent)}.button-text{padding-inline:6px;color:var(--muted)}.button-text span{color:var(--accent)}.download-mark{font-size:17px;color:var(--accent)}.social-links{display:flex;gap:23px;margin-top:32px}.social-links a{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:11px;transition:color .2s}.social-links a:hover{color:var(--accent)}.social-links a svg:last-child{opacity:.55}.hero-aside{border-left:1px solid var(--line);padding-left:clamp(35px,6vw,80px);max-width:400px}.aside-label{display:flex;align-items:center;gap:14px;white-space:nowrap}.aside-line{height:1px;background:var(--line);width:70px}.portrait-frame{width:min(100%,300px);aspect-ratio:1;margin:18px 0;overflow:hidden;border-radius:50%;border:1px solid var(--line);background:var(--surface-soft);box-shadow:var(--shadow)}.portrait-frame img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 62%}.focus-title{font-size:19px;font-weight:700;letter-spacing:-.045em;margin:0 0 7px}.focus-description{font-size:12px;color:var(--muted);margin:0}.aside-link{display:inline-flex;gap:12px;margin-top:31px;padding-bottom:7px;border-bottom:1px solid var(--line);font-size:11px;font-weight:600}.aside-link span{color:var(--accent)}.hero-bottom{position:absolute;bottom:30px;left:0;right:0;display:flex;justify-content:space-between}.hero-bottom a{color:var(--muted)}.hero-bottom a span{color:var(--accent);margin-left:7px}.section{padding-block:116px;opacity:0;transform:translateY(14px);transition:opacity .65s ease,transform .65s ease}.section.is-visible,.contact-section.is-visible{opacity:1;transform:translateY(0)}.section-tint{background:var(--surface-soft)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:36px;margin-bottom:54px}.eyebrow{display:block;color:var(--accent);margin-bottom:14px}.section-heading h2{font-size:clamp(34px,5vw,52px);line-height:1.1;letter-spacing:-.065em;white-space:pre-line;margin:0}.section-heading>p{max-width:330px;color:var(--muted);line-height:1.8;font-size:13px;margin:0 0 4px}.about-grid{display:grid;grid-template-columns:1.45fr .55fr;gap:100px;align-items:start}.about-copy{font-size:clamp(18px,2.3vw,25px);line-height:1.8;letter-spacing:-.035em;margin:0;max-width:760px}.about-aside{border-left:1px solid var(--line);padding-left:23px}.aside-number{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;color:var(--accent)}.about-aside p{font-size:12px;color:var(--muted);line-height:1.8;margin:13px 0 0}.skills-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.skill-group{min-height:190px;padding:24px 21px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.skill-index{font:10px ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--accent)}.skill-group h3{font-size:14px;letter-spacing:-.03em;margin:20px 0 15px;line-height:1.45}.tag-list{display:flex;flex-wrap:wrap;gap:7px}.tag{padding:6px 9px;border:1px solid var(--line);border-radius:3px;color:var(--muted);background:var(--surface);font-size:10px;line-height:1.2}.timeline-item{display:grid;grid-template-columns:25px 1fr;max-width:850px}.timeline-rail{position:relative;border-left:1px solid var(--line);margin-left:5px}.timeline-dot{position:absolute;left:-5px;top:9px;width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px var(--accent-soft)}.timeline-content{padding:0 0 20px 28px}.timeline-top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.company-name{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--accent);font-size:11px;margin:0 0 8px}.timeline-top h3{margin:0;font-size:23px;letter-spacing:-.05em}.status-pill{white-space:nowrap;padding:7px 10px;border-radius:20px;background:var(--accent-soft);color:var(--accent-dark);font-size:10px;font-weight:700}.detail-list,.project-points{list-style:none;padding:0;margin:25px 0 0;display:grid;gap:13px}.detail-list li,.project-points li{color:var(--muted);font-size:13px;line-height:1.65;padding-left:18px;position:relative}.detail-list li:before,.project-points li:before{content:"";position:absolute;left:0;top:.65em;width:5px;height:5px;border-radius:50%;background:var(--accent)}.projects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.project-card{min-height:310px;padding:27px 28px;background:var(--surface);border:1px solid var(--line);display:flex;flex-direction:column;align-items:flex-start;transition:transform .22s,border-color .22s,box-shadow .22s}.project-card:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--accent) 55%,var(--line));box-shadow:var(--shadow)}.project-featured{grid-column:span 2;min-height:300px;background:linear-gradient(125deg,var(--surface),var(--accent-soft))}.project-top{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%}.project-number{font-size:9px}.project-label{font-size:10px;color:var(--muted);padding:6px 9px;border:1px solid var(--line);border-radius:3px}.label-accent{border-color:var(--accent);color:var(--accent-dark)}.project-card h3{font-size:22px;letter-spacing:-.05em;line-height:1.28;margin:25px 0 15px;max-width:530px}.project-featured h3{font-size:29px;max-width:620px}.project-tags{margin-bottom:3px}.project-points{margin:10px 0 22px;gap:8px}.project-points li{font-size:12px}.project-card:not(.project-featured) .project-points{min-height:62px;margin-top:5px}.repo-placeholder{display:inline-flex;align-items:center;gap:8px;padding:0;border:0;background:transparent;color:var(--muted);font-size:11px;margin-top:auto}.repo-placeholder span{font-size:10px;color:var(--muted);opacity:.75}.repo-placeholder:disabled{cursor:not-allowed}.repo-note{font-size:10px;color:var(--muted);margin:17px 0 0}.education-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}.education-card,.languages-card{padding:28px;border:1px solid var(--line);background:var(--surface)}.edu-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px}.edu-icon{width:37px;height:37px;border-radius:50%;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);font-weight:800}.education-card h3,.languages-card h3{font-size:22px;letter-spacing:-.05em;margin:0 0 8px}.edu-degree{margin:0;color:var(--muted);font-size:13px}.edu-meta{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--line);margin-top:25px;padding-top:17px;color:var(--muted);font-size:11px}.languages-card .eyebrow{margin-bottom:13px}.languages-card h3{font-size:18px;margin-bottom:19px}.languages-card ul{list-style:none;margin:0;padding:0}.languages-card li{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding:11px 0;color:var(--text);font-size:12px}.languages-card li span:last-child{color:var(--muted)}.contact-section{background:#315f5a;color:#f5f8f6;padding-block:94px;opacity:0;transform:translateY(14px);transition:opacity .65s ease,transform .65s ease}.contact-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:end}.contact-section .eyebrow{color:#bfd8d2}.contact-section h2{font-size:clamp(42px,7vw,76px);letter-spacing:-.075em;line-height:1.03;margin:0 0 31px}.contact-section h2 span{color:#b6d5ce}.button-light{background:#f7f8f6;color:#23413c;border:1px solid #f7f8f6}.button-light:hover{background:#e6efec}.contact-details{display:grid;gap:20px;padding-bottom:2px}.contact-details>a,.contact-details>p{display:grid;gap:7px;margin:0;font-size:13px}.contact-details>a:hover{color:#d2e7e2}.contact-details>p{color:#f5f8f6}.contact-details>*>span{font:10px ui-monospace,SFMono-Regular,Menlo,monospace;color:#bfd8d2;letter-spacing:.08em}.contact-details .social-links{margin:4px 0 0;gap:19px}.contact-details .social-links a{color:#f5f8f6}.footer{height:83px;display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:10px}.footer-name{font-size:13px;font-weight:800;color:var(--text);letter-spacing:-.04em}.back-top{font-size:9px;transition:color .2s}.back-top:hover{color:var(--accent)}@media(max-width:850px){.hero{gap:20px;grid-template-columns:1.2fr .8fr}.hero-aside{padding-left:28px}.skills-grid{grid-template-columns:repeat(2,1fr)}.about-grid{gap:45px}.nav-links{gap:18px}.nav-links>a{font-size:11px}}@media(max-width:650px){.shell{width:min(100% - 40px,520px)}.site-header{height:66px}.menu-toggle{display:flex;flex-direction:column;gap:5px;justify-content:center}.menu-toggle span{height:1px;width:14px;background:currentColor}.nav-links{position:absolute;top:65px;left:0;right:0;padding:12px 20px 22px;background:var(--bg);border-bottom:1px solid var(--line);display:none;align-items:stretch;gap:0}.nav-links.is-open{display:flex;flex-direction:column}.nav-links>a{padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}.theme-toggle{margin-top:14px}.hero{min-height:0;padding-top:85px;padding-bottom:100px;grid-template-columns:1fr}.hero h1{font-size:clamp(62px,16vw,88px);margin-top:22px}.hero-role{font-size:17px}.hero-intro{font-size:14px}.hero-aside{border-left:0;border-top:1px solid var(--line);padding:28px 0 0;max-width:none;display:block}.aside-label{grid-column:span 2}.portrait-frame{width:min(240px,100%);height:auto;aspect-ratio:1;margin:18px 0}.focus-title{font-size:16px}.focus-description{font-size:11px}.aside-link{margin-top:18px}.hero-bottom{bottom:25px;font-size:8px}.section{padding-block:78px}.section-heading{align-items:flex-start;flex-direction:column;gap:15px;margin-bottom:35px}.section-heading h2{font-size:38px}.section-heading>p{font-size:12px}.about-grid{grid-template-columns:1fr;gap:25px}.about-copy{font-size:18px}.about-aside{max-width:310px}.skills-grid{grid-template-columns:1fr 1fr}.skill-group{min-height:168px;padding:18px 14px}.skill-group h3{font-size:12px;margin:15px 0 12px}.tag{font-size:9px;padding:5px 7px}.timeline-top{flex-direction:column;gap:12px}.timeline-top h3{font-size:20px}.detail-list li{font-size:12px}.projects-grid{grid-template-columns:1fr}.project-featured{grid-column:auto}.project-card{min-height:0;padding:22px}.project-featured h3{font-size:24px}.project-card h3{font-size:20px}.project-card:not(.project-featured) .project-points{min-height:0}.education-layout{grid-template-columns:1fr}.education-card,.languages-card{padding:22px}.contact-section{padding-block:70px}.contact-inner{grid-template-columns:1fr;gap:50px}.contact-section h2{font-size:54px}.footer{height:auto;min-height:82px;gap:10px;flex-wrap:wrap;padding-block:20px}.footer>span{font-size:9px}.back-top{font-size:8px}}@media(max-width:380px){.shell{width:calc(100% - 32px)}.hero-actions{gap:7px}.button{padding-inline:11px;font-size:11px}.skills-grid{grid-template-columns:1fr}.skill-group{min-height:0}.hero-bottom{letter-spacing:.04em}.contact-section h2{font-size:46px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}.section,.contact-section{opacity:1;transform:none}}
