*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#333;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}html{scroll-behavior:smooth}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--bg:#f3efe7;--bg-elevated:#fffcf7;--ink:#1c1915;--muted:#5e584f;--faint:#8a8378;--line:#e3dace;--accent:#1d4a42;--accent-ink:#f7f3ea;--accent-soft:#e5f0ec;--copper:#8d4b2c;--shadow:0 16px 40px #30241214;--radius:18px;--header:76px;--max:1120px;--serif:"Fraunces","Iowan Old Style",Georgia,serif;--sans:"Outfit","Segoe UI",sans-serif;color-scheme:light}[data-theme=dark]{--bg:#121311;--bg-elevated:#1c1d1a;--ink:#f4efe6;--muted:#c2bbb0;--faint:#8f887d;--line:#31332d;--accent:#9ed9ce;--accent-ink:#10211e;--accent-soft:#1b2c28;--copper:#e2b08a;--shadow:0 16px 40px #00000059;color-scheme:dark}body,html{max-width:100%;overflow-x:hidden}body{background:#f3efe7;background:var(--bg);color:#1c1915;color:var(--ink);font-family:Outfit,Segoe UI,sans-serif;font-family:var(--sans);line-height:1.6}a{color:inherit}img{display:block;max-width:100%}.container{margin:0 auto;padding:0 22px;width:min(1120px,100%);width:min(var(--max),100%)}.section{padding:88px 0;scroll-margin-top:16px}.section-head{grid-gap:10px;display:grid;gap:10px;margin-bottom:40px;max-width:680px}.eyebrow{color:#8d4b2c;color:var(--copper);font-size:.78rem;font-weight:600;letter-spacing:.16em;margin:0;text-transform:uppercase}.hero-title,.section-head h2{font-family:Fraunces,Iowan Old Style,Georgia,serif;font-family:var(--serif);font-weight:560;letter-spacing:-.03em;line-height:1.05}.section-head h2{font-size:clamp(2rem,4vw,3.1rem);margin:0}.lede{color:#5e584f;color:var(--muted);font-size:1.05rem;margin:0}.btn{align-items:center;background:#1d4a42;background:var(--accent);border:1px solid #0000;border-radius:999px;color:#f7f3ea;color:var(--accent-ink);cursor:pointer;display:inline-flex;font-family:inherit;font-size:.95rem;font-weight:560;gap:8px;justify-content:center;min-height:46px;padding:0 18px;text-decoration:none;transition:transform .2s ease,background .2s ease,border-color .2s ease}.btn:hover{transform:translateY(-1px)}.btn-ghost{background:#0000;border-color:#e3dace;border-color:var(--line);color:#1c1915;color:var(--ink)}.btn-ghost:hover{border-color:#1d4a42;border-color:var(--accent);color:#1d4a42;color:var(--accent)}.btn:disabled{cursor:wait;opacity:.6;transform:none}.header{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:color-mix(in srgb,#f3efe7 88%,#0000);background:color-mix(in srgb,var(--bg) 88%,#0000);border-bottom:1px solid #0000;height:76px;height:var(--header);position:-webkit-sticky;position:sticky;top:0;z-index:20}.header.scrolled{border-bottom-color:#e3dace;border-bottom-color:var(--line)}.header .container{gap:20px;height:100%;justify-content:space-between}.header .container,.nav-brand{align-items:center;display:flex}.nav-brand{gap:10px;min-width:-webkit-max-content;min-width:max-content;text-decoration:none}.monogram{background:#1c1915;background:var(--ink);border-radius:50%;color:#f3efe7;color:var(--bg);display:grid;font-size:.72rem;font-weight:650;height:36px;letter-spacing:.04em;place-items:center;width:36px}.brand-name{font-weight:600;letter-spacing:-.02em}.nav{align-items:center;display:flex;gap:22px}.nav a{color:#5e584f;color:var(--muted);font-size:.95rem;font-weight:500;text-decoration:none}.nav a:hover{color:#1c1915;color:var(--ink)}.header-actions{align-items:center;display:flex;gap:8px}.menu-toggle,.theme-toggle{background:#fffcf7;background:var(--bg-elevated);border:1px solid #e3dace;border:1px solid var(--line);border-radius:999px;color:#1c1915;color:var(--ink);cursor:pointer;font:inherit;font-size:.82rem;font-weight:600;height:40px}.theme-toggle{padding:0 14px}.menu-toggle{align-items:center;display:none;flex-direction:column;gap:5px;justify-content:center;width:40px}.menu-toggle span{background:currentColor;display:block;height:1.5px;width:16px}.hero{padding:28px 0 72px}.hero-grid{grid-gap:48px;align-items:center;display:grid;gap:48px;grid-template-columns:minmax(0,1.35fr) minmax(0,.75fr)}.about-layout>*,.hero-grid>*,.project-card,.timeline-card>*{min-width:0}.kicker{color:#1d4a42;color:var(--accent);font-weight:600;letter-spacing:.04em;margin:0 0 14px}.hero-title{display:flex;flex-direction:column;font-size:clamp(2.6rem,6.4vw,5.4rem);margin:0;max-width:100%}.hero-role{color:#5e584f;color:var(--muted);font-size:1.25rem;margin:14px 0 0}.hero-summary{color:#1c1915;color:var(--ink);font-size:1.08rem;margin:18px 0 0;max-width:min(62ch,100%)}.hero-actions{gap:10px}.hero-actions,.hero-meta{display:flex;flex-wrap:wrap;margin-top:28px}.hero-meta{gap:8px;list-style:none;padding:0}.hero-meta li{background:#fffcf7;background:var(--bg-elevated);border:1px solid #e3dace;border:1px solid var(--line);border-radius:999px;color:#5e584f;color:var(--muted);font-size:.88rem;padding:8px 12px}.portrait-wrap{justify-self:end;width:min(100%,340px)}.portrait{aspect-ratio:4/5;background:#e5f0ec;background:var(--accent-soft);border-radius:28px;box-shadow:0 16px 40px #30241214;box-shadow:var(--shadow);object-fit:cover}.portrait-caption{color:#8a8378;color:var(--faint);display:flex;font-size:.85rem;gap:12px;justify-content:space-between;margin-top:12px}.about-layout,.background-layout,.contact-layout{grid-gap:28px;align-items:start;display:grid;gap:28px;grid-template-columns:1.4fr .8fr}.prose p{color:#5e584f;color:var(--muted);font-size:1.05rem;margin:0 0 16px}.prose p:last-child{margin-bottom:0}.achievement-card,.contact-card,.form-card,.panel,.project-card,.skill-group,.stat-list,.timeline-card{background:#fffcf7;background:var(--bg-elevated);border:1px solid #e3dace;border:1px solid var(--line);border-radius:18px;border-radius:var(--radius);box-shadow:0 16px 40px #30241214;box-shadow:var(--shadow)}.stat-list{grid-gap:0;display:grid;gap:0;overflow:hidden}.stat{border-bottom:1px solid #e3dace;border-bottom:1px solid var(--line);padding:22px 24px}.stat:last-child{border-bottom:0}.stat strong{display:block;font-family:Fraunces,Iowan Old Style,Georgia,serif;font-family:var(--serif);font-size:2rem;font-weight:560;letter-spacing:-.03em}.stat span{color:#5e584f;color:var(--muted);font-size:.95rem}.timeline{grid-gap:16px;display:grid;gap:16px}.timeline-card{grid-gap:18px;display:grid;gap:18px;grid-template-columns:190px 1fr;padding:24px}.timeline-meta{color:#5e584f;color:var(--muted);font-size:.92rem}.achievement-card p,.contact-card p,.project-copy p,.role-row p,.timeline-meta p{margin:0}.role-row{align-items:baseline;display:flex;gap:16px;justify-content:space-between}.achievement-card h3,.contact-card h3,.edu-copy h3,.project-copy h3,.role-row h3,.skill-group h3{font-size:1.15rem;letter-spacing:-.02em;margin:0}.company{color:#1d4a42;color:var(--accent);font-weight:600}.points{color:#5e584f;color:var(--muted);margin:12px 0 0;padding-left:18px}.points li+li{margin-top:8px}.points a{color:#1d4a42;color:var(--accent);font-weight:600}.achievement-grid,.project-grid,.skill-grid{grid-gap:16px;display:grid;gap:16px}.project-grid{grid-template-columns:1fr 1fr}.achievement-grid{grid-template-columns:repeat(3,1fr)}.project-card{display:flex;flex-direction:column;overflow:hidden}.project-visual{background:linear-gradient(145deg,#e5f0ec,#0000 60%),#f3efe7;background:linear-gradient(145deg,var(--accent-soft),#0000 60%),var(--bg);display:grid;height:210px;place-items:center}.project-visual img{height:100%;object-fit:cover;width:100%}.project-mark{color:#1d4a42;color:var(--accent);font-family:Fraunces,Iowan Old Style,Georgia,serif;font-family:var(--serif);font-size:2.4rem}.project-copy{display:flex;flex:1 1;flex-direction:column;gap:12px;padding:22px}.card-links,.chip-row,.contact-list,.project-topline{display:flex;flex-wrap:wrap;gap:8px}.project-topline{color:#8a8378;color:var(--faint);font-size:.85rem;justify-content:space-between}.award{color:#8d4b2c;color:var(--copper);font-weight:600}.achievement-card p,.edu-copy p,.project-copy p{color:#5e584f;color:var(--muted)}.chip,.year-pill{background:#e5f0ec;background:var(--accent-soft);border-radius:999px;font-size:.78rem;padding:4px 10px}.chip,.text-link,.year-pill{color:#1d4a42;color:var(--accent);font-weight:600}.text-link{text-decoration:none}.text-link:hover{text-decoration:underline}.card-links{margin-top:auto}.skill-grid{grid-template-columns:repeat(3,1fr)}.skill-group{padding:22px}.skill-group h3{margin-bottom:14px}.chip-row{gap:8px}.chip.quiet{background:#0000;border:1px solid #e3dace;border:1px solid var(--line);color:#1c1915;color:var(--ink);font-weight:500}.background-layout{grid-template-columns:1fr 1fr}.achievement-grid,.edu-list{grid-gap:12px;display:grid;gap:12px}.achievement-card,.edu-item{padding:20px 22px}.edu-item{background:#fffcf7;background:var(--bg-elevated);border:1px solid #e3dace;border:1px solid var(--line);border-radius:18px;border-radius:var(--radius)}.edu-copy{grid-gap:4px;display:grid;gap:4px}.edu-meta{color:#8a8378;color:var(--faint);font-size:.9rem;margin-top:8px}.achievement-card h3{color:#8d4b2c;color:var(--copper);font-size:.95rem;letter-spacing:.06em;text-transform:uppercase}.contact-card,.form-card{padding:24px}.contact-list{flex-direction:column;gap:14px;margin-top:18px}.contact-list a{color:#1c1915;color:var(--ink);display:block;font-weight:600;text-decoration:none}.contact-list span{color:#8a8378;color:var(--faint);display:block;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.form-card{grid-gap:14px;display:grid;gap:14px}.form-card label{grid-gap:6px;display:grid;font-size:.88rem;font-weight:600;gap:6px}.form-card input,.form-card textarea{background:#f3efe7;background:var(--bg);border:1px solid #e3dace;border:1px solid var(--line);border-radius:12px;color:#1c1915;color:var(--ink);font:inherit;padding:12px 14px;width:100%}.form-card input:focus,.form-card textarea:focus{outline:2px solid #1d4a42;outline:2px solid var(--accent);outline-offset:1px}.form-note{font-size:.92rem;margin:0}.form-note.success{color:#1d4a42;color:var(--accent)}.form-note.error{color:#8d4b2c;color:var(--copper)}.footer{border-top:1px solid #e3dace;border-top:1px solid var(--line);padding:28px 0 36px}.footer-row{align-items:end;display:flex;gap:16px;justify-content:space-between}.footer p{color:#5e584f;color:var(--muted);margin:4px 0 0}.footer nav{display:flex;flex-wrap:wrap;gap:14px}.footer a{color:#5e584f;color:var(--muted);text-decoration:none}.footer a:hover{color:#1c1915;color:var(--ink)}@media (max-width:900px){.about-layout,.achievement-grid,.background-layout,.contact-layout,.hero-grid,.project-grid,.skill-grid,.timeline-card{grid-template-columns:minmax(0,1fr)}.portrait-wrap{justify-self:start;width:min(100%,280px)}.menu-toggle{display:flex}.nav{align-items:stretch;background:#fffcf7;background:var(--bg-elevated);border:1px solid #e3dace;border:1px solid var(--line);border-radius:16px;box-shadow:0 16px 40px #30241214;box-shadow:var(--shadow);display:none;flex-direction:column;gap:4px;left:20px;padding:14px;position:absolute;right:20px;top:68px;top:calc(var(--header) - 8px)}.nav.nav-open{display:flex}.nav a{padding:10px 8px}.footer-row,.role-row{align-items:start;flex-direction:column}}@media (max-width:640px){.container{padding:0 18px;width:100%}.section{padding:64px 0}.hero-title{font-size:2.35rem}.hero-summary{font-size:1rem;max-width:34ch}.hero-meta{align-items:flex-start;flex-direction:column}.project-grid,.skill-grid{grid-template-columns:1fr}}@media (min-width:640px) and (max-width:900px){.achievement-grid,.project-grid,.skill-grid{grid-template-columns:1fr 1fr}}
/*# sourceMappingURL=main.96e9493d.css.map*/