﻿.resume-header{padding:calc(var(--nav-height) + var(--space-xl)) 0 var(--space-xl);border-bottom:1px solid var(--border)}.resume-header__accent{width:40px;height:4px;background-color:var(--accent);margin-bottom:var(--space-md);border-radius:2px}.resume-header__name{font-family:var(--font-display);font-weight:700;font-size:clamp(2rem,5vw,3rem);letter-spacing:-0.03em;line-height:1;color:var(--text-primary);margin-bottom:var(--space-xs)}.resume-header__title{font-family:var(--font-display);font-weight:600;font-size:clamp(.9rem,2vw,1.1rem);letter-spacing:-0.025em;line-height:1.1;color:var(--accent);margin-bottom:var(--space-md)}.resume-header__summary{font-size:1rem;line-height:1.65;letter-spacing:.01em;color:var(--text-secondary);max-width:640px;margin-bottom:var(--space-lg)}.resume-header__contact{display:grid;grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));gap:var(--space-sm) var(--space-lg);margin-bottom:var(--space-lg)}.resume-header__contact a{color:var(--accent-mid);transition:color .2s}.resume-header__contact a:hover,.resume-header__contact a:focus-visible{color:var(--accent)}.resume-header__label{display:block;font-family:var(--font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-tertiary);margin-bottom:2px}.resume-header__actions{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.resume-project__card{display:grid;grid-template-columns:1fr 240px;gap:var(--col-gap);padding:var(--space-lg);background-color:var(--card-bg);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:var(--radius-md)}.resume-project__title-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-xs)}.resume-project__title{font-family:var(--font-display);font-weight:700;font-size:1.35rem;letter-spacing:-0.025em;line-height:1.1;color:var(--text-primary)}.resume-project__type{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.04em;color:var(--text-secondary);white-space:nowrap}.resume-project__url{display:inline-block;font-family:var(--font-mono);font-size:.8rem;letter-spacing:.04em;color:var(--accent-mid);margin-bottom:var(--space-sm);transition:color .2s}.resume-project__url:hover,.resume-project__url:focus-visible{color:var(--accent)}.resume-project__stack-label{font-family:var(--font-mono);font-size:.7rem;font-weight:400;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);margin-bottom:var(--space-xs)}.resume-project__stack-text{font-size:.875rem;line-height:1.55;color:var(--text-secondary)}.resume-list{list-style:none}.resume-list li{position:relative;padding-left:14px;margin-top:var(--space-xs);font-size:.9rem;line-height:1.55;color:var(--text-secondary)}.resume-list li::before{content:"";position:absolute;left:0;top:.6em;width:4px;height:4px;border-radius:50%;background-color:var(--accent)}.resume-body{padding-bottom:var(--space-xl)}.resume-grid{display:grid;grid-template-columns:1fr 280px;gap:var(--col-gap);align-items:start}.resume-job{margin-top:var(--space-lg)}.resume-job:first-of-type{margin-top:0}.resume-job__role{font-family:var(--font-display);font-weight:600;font-size:1.15rem;letter-spacing:-0.025em;line-height:1.1;color:var(--text-primary);margin-bottom:var(--space-xs)}.resume-job__company{font-size:.95rem;font-weight:400;color:var(--text-primary);margin-bottom:2px}.resume-job__meta{display:flex;justify-content:space-between;gap:var(--space-md);font-family:var(--font-mono);font-size:.75rem;letter-spacing:.04em;color:var(--accent-mid);font-style:italic;margin-bottom:var(--space-sm)}.resume-sidebar-section{margin-top:var(--space-lg)}.resume-sidebar-section:first-child{margin-top:0}.resume-skills{display:grid;gap:var(--space-sm)}.resume-skill-group{padding-bottom:var(--space-sm);border-bottom:1px solid var(--border)}.resume-skill-group:last-child{border-bottom:none;padding-bottom:0}.resume-skill-group__label{font-family:var(--font-mono);font-size:.7rem;font-weight:400;text-transform:uppercase;letter-spacing:.08em;color:var(--text-primary);margin-bottom:var(--space-xs)}.resume-skill-group__text{font-size:.875rem;line-height:1.55;color:var(--text-secondary)}.resume-edu{margin-top:var(--space-sm)}.resume-edu:first-of-type{margin-top:0}.resume-edu__degree{font-family:var(--font-body);font-weight:400;font-size:.95rem;color:var(--text-primary);margin-bottom:2px}.resume-edu__school{font-size:.875rem;color:var(--text-secondary)}.resume-edu__dates{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.04em;color:var(--text-tertiary)}.resume-focus__title{font-family:var(--font-body);font-weight:400;font-size:.95rem;color:var(--text-primary);margin-bottom:var(--space-xs)}.resume-focus__text{font-size:.875rem;line-height:1.55;color:var(--text-secondary)}@media(max-width: 768px){.resume-project__card{grid-template-columns:1fr;padding:var(--space-md)}.resume-grid{grid-template-columns:1fr}.resume-job__meta{flex-direction:column;gap:2px}.resume-project__title-row{flex-direction:column;gap:var(--space-xs)}.resume-header__contact{grid-template-columns:1fr 1fr}}@media(max-width: 480px){.resume-header__contact{grid-template-columns:1fr}.resume-header__actions{flex-direction:column}.resume-header__actions .btn{justify-content:center}}@media print{.site-header,.skip-link,.footer,.resume-header__actions{display:none !important}@page{size:Letter;margin:.5in}body{background:#fff !important;font-size:10px;line-height:1.35}.resume-header{padding-top:0 !important;padding-bottom:12px !important;border-bottom:2px solid var(--text-primary)}.resume-header__name{font-size:2rem}.resume-header__summary{margin-bottom:16px}.resume-header__contact{margin-bottom:0;gap:4px var(--space-lg)}.section{padding:16px 0 !important}.section__inner{padding:0 !important;max-width:none}.section--surface{background:rgba(0,0,0,0) !important}.resume-project__card{background:#f6f8fa !important;print-color-adjust:exact;-webkit-print-color-adjust:exact;padding:12px 16px}.resume-body{padding-bottom:0 !important}.resume-grid{grid-template-columns:1fr 240px;gap:24px}.section-label{margin-bottom:8px !important}.resume-job{margin-top:14px !important;break-inside:avoid}.resume-job:first-of-type{margin-top:0 !important}.resume-sidebar-section{margin-top:14px !important}.resume-sidebar-section:first-child{margin-top:0 !important}.resume-list li{margin-top:3px;font-size:.85rem}}:root{--accent: #2A3A8C;--accent-mid: #4A5DB0;--accent-rule: #B8C0E0;--accent-pale: #E8EBF7;--bg: #F8F6F2;--surface: #EFECE6;--border: #DBD8D2;--text-primary: #1A1C24;--text-secondary: #5A5E6E;--text-tertiary: #8A8E9E;--card-bg: var(--bg);--space-xs: 6px;--space-sm: 12px;--space-md: 24px;--space-lg: 48px;--space-xl: 80px;--space-2xl: 128px;--radius-sm: 4px;--radius-md: 8px;--radius-pill: 100px;--max-width: 1100px;--inline-pad: clamp(20px, 5vw, 48px);--col-gap: clamp(24px, 4vw, 48px);--nav-height: 56px;--font-display: 'Syne', sans-serif;--font-body: 'DM Sans', sans-serif;--font-mono: 'DM Mono', monospace}*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--nav-height)}body{font-family:var(--font-body);font-weight:400;line-height:1.6;color:var(--text-primary);background-color:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}ul,ol{list-style:none}::selection{background-color:var(--accent-pale);color:var(--text-primary)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}a:focus:not(:focus-visible),button:focus:not(:focus-visible){outline:none}.skip-link{position:absolute;top:-100%;left:var(--space-md);z-index:1000;padding:var(--space-xs) var(--space-sm);background:var(--accent);color:#fff;font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;border-radius:var(--radius-sm)}.skip-link:focus{top:var(--space-sm)}.site-header{position:fixed;top:0;left:0;right:0;z-index:100;height:var(--nav-height);transition:background-color .3s,box-shadow .3s}.site-header.scrolled{background-color:rgba(248,246,242,.85);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--border)}.site-header.scrolled .nav__logo{color:var(--text-primary)}.site-header.scrolled .nav__link{color:var(--text-primary)}.site-header.scrolled .nav__link:hover,.site-header.scrolled .nav__link:focus-visible{color:var(--accent)}.site-header.scrolled .nav__link.active{color:var(--accent)}.site-header.scrolled .nav__link--cta{border-color:var(--border);color:var(--text-primary)}.site-header.scrolled .nav__link--cta:hover,.site-header.scrolled .nav__link--cta:focus-visible{border-color:var(--accent);color:var(--accent)}.site-header.scrolled .nav__toggle span{background:var(--text-primary)}.nav{display:flex;align-items:center;justify-content:space-between;max-width:calc(var(--max-width) + var(--inline-pad)*2);margin:0 auto;padding:0 var(--inline-pad);height:100%}.nav__logo{font-family:var(--font-display);font-weight:700;font-size:1.25rem;color:#fff;transition:color .3s}.nav__links{display:flex;align-items:center;gap:var(--space-lg)}.nav__link{font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:hsla(0,0%,100%,.7);transition:color .2s}.nav__link:hover,.nav__link:focus-visible{color:#fff}.nav__link.active{color:#fff}.nav__link--cta{padding:var(--space-xs) var(--space-sm);border:1px solid hsla(0,0%,100%,.3);border-radius:var(--radius-sm)}.nav__link--cta:hover,.nav__link--cta:focus-visible{border-color:hsla(0,0%,100%,.6);color:#fff}.nav__toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:32px;height:32px;background:none;border:none;cursor:pointer;padding:4px}.nav__toggle span{display:block;width:100%;height:2px;background:#fff;border-radius:1px;transition:transform .3s,opacity .3s}.nav__toggle[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav__toggle[aria-expanded=true] span:nth-child(2){opacity:0}.nav__toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.btn{display:inline-flex;align-items:center;gap:var(--space-xs);font-family:var(--font-mono);font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);border:1px solid rgba(0,0,0,0);cursor:pointer;transition:background-color .2s,border-color .2s,color .2s;white-space:nowrap}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn--primary{background-color:var(--accent);color:#fff;border-color:var(--accent)}.btn--primary:hover,.btn--primary:focus-visible{background-color:var(--accent-mid);border-color:var(--accent-mid)}.btn--secondary{background-color:rgba(0,0,0,0);color:var(--text-primary);border-color:var(--border)}.btn--secondary:hover,.btn--secondary:focus-visible{border-color:var(--accent);color:var(--accent)}.btn--secondary-light{background-color:rgba(0,0,0,0);color:hsla(0,0%,100%,.85);border-color:hsla(0,0%,100%,.3)}.btn--secondary-light:hover,.btn--secondary-light:focus-visible{border-color:hsla(0,0%,100%,.6);color:#fff}.btn--ghost{background-color:rgba(0,0,0,0);color:var(--text-secondary);border-color:var(--border)}.btn--ghost:hover,.btn--ghost:focus-visible{border-color:var(--accent-rule);color:var(--accent-mid)}.section{padding:var(--space-2xl) 0}.section--surface{background-color:var(--surface)}.section__inner{max-width:var(--max-width);margin:0 auto;padding:0 var(--inline-pad)}.section-label{font-family:var(--font-mono);font-size:.75rem;font-weight:400;text-transform:uppercase;letter-spacing:.1em;color:var(--accent-mid);margin-bottom:var(--space-lg)}.section-label::before{content:"——  ";color:var(--accent-rule)}.hero{min-height:100vh;min-height:100svh;display:flex;align-items:center;background-color:#1a1c24;position:relative;padding:calc(var(--nav-height) + var(--space-xl)) 0 var(--space-xl)}.hero ::selection{background-color:var(--accent);color:#fff}.hero__inner{max-width:var(--max-width);margin:0 auto;padding:0 var(--inline-pad);width:100%}.hero__accent{width:40px;height:4px;background-color:var(--accent);margin-bottom:var(--space-lg);border-radius:2px}.hero__name{font-family:var(--font-display);font-weight:700;font-size:clamp(3.5rem,10vw,6.5rem);letter-spacing:-0.03em;line-height:1;color:#fff;margin-bottom:var(--space-md)}.hero__title{font-family:var(--font-body);font-size:clamp(.95rem,2vw,1.125rem);font-weight:300;color:hsla(0,0%,100%,.5);letter-spacing:.01em;line-height:1.65;max-width:600px;margin-bottom:var(--space-lg)}.hero__statement{border-left:3px solid var(--accent);padding-left:var(--space-md);margin-bottom:var(--space-lg);max-width:700px}.hero__statement p{font-size:clamp(1rem,1.8vw,1.15rem);line-height:1.65;letter-spacing:.01em;color:hsla(0,0%,100%,.75)}.hero__actions{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.hero__scroll{position:absolute;bottom:var(--space-lg);left:var(--inline-pad);display:flex;align-items:center;gap:var(--space-xs);font-family:var(--font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:hsla(0,0%,100%,.25)}.hero__scroll svg{animation:scrollBounce 2s ease-in-out infinite}@keyframes scrollBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(4px)}}.project-card{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-lg);max-width:640px}.project-card__header{margin-bottom:var(--space-md)}.project-card__status{display:inline-flex;align-items:center;gap:var(--space-xs);font-family:var(--font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--accent-mid)}.project-card__dot{width:8px;height:8px;background-color:#4a8c5e;border-radius:50%;display:inline-block}.project-card__title{font-family:var(--font-display);font-weight:700;font-size:clamp(1.75rem,4vw,2.5rem);letter-spacing:-0.03em;line-height:1;color:var(--text-primary);margin-bottom:var(--space-sm)}.project-card__url{display:inline-block;font-family:var(--font-mono);font-size:.8rem;letter-spacing:.04em;color:var(--accent-mid);margin-bottom:var(--space-md);transition:color .2s}.project-card__url:hover,.project-card__url:focus-visible{color:var(--accent)}.project-card__desc{font-size:1rem;line-height:1.6;color:var(--text-secondary);margin-bottom:var(--space-md)}.project-card__highlights{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-bottom:var(--space-lg)}.project-card__highlights li{font-family:var(--font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);padding:var(--space-xs) var(--space-sm);border:1px solid var(--border);border-radius:var(--radius-sm)}.experience-list{display:grid;gap:var(--space-md)}.experience-item{padding:var(--space-md) var(--space-lg);background-color:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-md)}.experience-item__role{font-family:var(--font-display);font-weight:600;font-size:1.15rem;letter-spacing:-0.025em;line-height:1.1;color:var(--text-primary);margin-bottom:var(--space-xs)}.experience-item__company{font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-mid);margin-bottom:var(--space-sm)}.experience-item__desc{font-size:.925rem;line-height:1.6;color:var(--text-secondary)}.skills-grid{display:grid;grid-template-columns:repeat(2, 1fr);gap:var(--space-lg)}.skill-group__label{font-family:var(--font-mono);font-size:.75rem;font-weight:400;text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary);margin-bottom:var(--space-sm)}.skill-group__tags{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.tag{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.02em;padding:var(--space-xs) var(--space-sm);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary)}.tag--accent{border-color:var(--accent-rule);color:var(--accent-mid);background-color:var(--accent-pale)}.contact__intro{font-size:clamp(1rem,1.5vw,1.125rem);line-height:1.65;letter-spacing:.01em;color:var(--text-secondary);max-width:640px;margin-bottom:var(--space-lg)}.contact-rows{display:grid;gap:var(--space-sm);max-width:640px}.contact-row{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);background-color:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-md);transition:border-color .2s}.contact-row:hover,.contact-row:focus-visible{border-color:var(--accent-rule)}.contact-row:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.contact-row__icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background-color:var(--surface);border-radius:var(--radius-md);color:var(--accent-mid);flex-shrink:0}.section--surface .contact-row__icon{background-color:var(--border)}.contact-row__label{display:block;font-family:var(--font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-tertiary);margin-bottom:2px}.contact-row__value{display:block;font-size:.925rem;color:var(--text-primary)}.footer{padding:var(--space-lg) 0;border-top:1px solid var(--border)}.footer__inner{max-width:var(--max-width);margin:0 auto;padding:0 var(--inline-pad);display:flex;align-items:center;justify-content:space-between}.footer__logo{font-family:var(--font-display);font-weight:700;font-size:1rem;color:var(--text-primary)}.footer__copy{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.04em;color:var(--text-tertiary)}@media(max-width: 768px){.nav__toggle{display:flex}.nav__links{position:absolute;top:var(--nav-height);left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background-color:rgba(248,246,242,.95);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);padding:var(--space-sm) var(--inline-pad);border-bottom:1px solid var(--border);transform:translateY(-100%);opacity:0;visibility:hidden;transition:transform .3s,opacity .3s,visibility .3s}.nav__links.open{transform:translateY(0);opacity:1;visibility:visible}.nav__link{display:block;padding:var(--space-sm) 0;color:var(--text-primary);border-bottom:1px solid var(--border)}.nav__link--cta{border:none;border-bottom:1px solid var(--border);border-radius:0;padding:var(--space-sm) 0}.nav__link:last-child,.nav__link--cta:last-child{border-bottom:none}.hero__name{font-size:clamp(2.5rem,12vw,4rem)}.hero__scroll{display:none}.section{padding:var(--space-xl) 0}.project-card{padding:var(--space-md)}.experience-item{padding:var(--space-md)}.contact-row{padding:var(--space-sm) var(--space-md)}.skills-grid{grid-template-columns:1fr;gap:var(--space-lg)}}@media(max-width: 480px){.hero__actions{flex-direction:column}.hero__actions .btn{justify-content:center}}@media(prefers-color-scheme: dark){:root{--bg: #1D1F29;--surface: #252835;--border: #363949;--text-primary: #EFECE7;--text-secondary: #9DA0AE;--text-tertiary: #6A6D7A;--accent: #7B92F0;--accent-mid: #9AADE6;--accent-rule: #3A4575;--accent-pale: #252840;--card-bg: #2E3148}.hero{background-color:#111318}.btn--primary{color:#1a1c24}.site-header.scrolled{background-color:rgba(29,31,41,.85);box-shadow:0 1px 0 var(--border)}.project-card__dot{background-color:#5ab87a}.section--surface .contact-row__icon{background-color:var(--card-bg)}}@media(prefers-color-scheme: dark)and (max-width: 768px){.nav__links{background-color:rgba(29,31,41,.95)}.nav__link{color:var(--text-primary);border-bottom-color:var(--border)}}@media(prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}}/*# sourceMappingURL=main.css.map */
