:root{--color-linen: #f5f1ea;--color-khaki: #d7c9b8;--color-camel: #b2967d;--color-cocoa: #7d5a44;--color-espresso: #4a342a;--font-sans: Helvetica, Arial, sans-serif;--bg-page: var(--color-linen);--bg-surface: var(--color-khaki);--bg-nav: rgba(245, 241, 234, .85);--bg-inverted: var(--color-espresso);--bg-inverted-hover: var(--color-cocoa);--text-primary: var(--color-espresso);--text-secondary: var(--color-cocoa);--text-muted: var(--color-camel);--text-on-inverted: var(--color-linen);--text-on-inverted-muted: var(--color-khaki);--accent: var(--color-camel);--border-soft: var(--color-khaki);color-scheme:light;font-family:var(--font-sans);line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root[data-theme=dark]{--bg-page: #1c1512;--bg-surface: #2a1f19;--bg-nav: rgba(28, 21, 18, .85);--bg-inverted: var(--color-khaki);--bg-inverted-hover: var(--color-camel);--text-primary: var(--color-linen);--text-secondary: var(--color-khaki);--text-muted: var(--color-camel);--text-on-inverted: var(--color-espresso);--text-on-inverted-muted: var(--color-cocoa);--accent: var(--color-camel);--border-soft: var(--color-cocoa);color-scheme:dark}*{box-sizing:border-box}body{margin:0;min-height:100vh;background-color:var(--bg-page);color:var(--text-primary);overflow-x:hidden;transition:background-color .3s ease,color .3s ease}h1,h2,h3,p{margin:0}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}::selection{background-color:var(--color-camel);color:var(--color-espresso)}.nav{position:fixed;top:0;left:0;right:0;z-index:100;background-color:var(--bg-nav);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border-soft);transition:background-color .3s ease,border-color .3s ease}.nav__bar{display:flex;align-items:center;justify-content:space-between;padding:1.5rem clamp(1.5rem,5vw,4rem)}.nav__brand{display:flex;align-items:center;gap:.65rem;color:var(--text-primary);white-space:nowrap}.nav__logo{width:.85rem;height:auto;flex-shrink:0}.nav__wordmark{font-size:.85rem;font-weight:300;letter-spacing:.14em;text-transform:uppercase}.nav__toggle{display:none;align-items:center;justify-content:center;background:none;border:none;padding:.25rem;color:var(--text-primary)}.nav__toggle svg{width:1.35rem;height:1.35rem}.nav__panel{display:flex;align-items:center;justify-content:flex-end;gap:clamp(1rem,3vw,2rem);padding:0 clamp(1.5rem,5vw,4rem) 1.5rem;margin-top:-1.5rem}.nav__links{display:flex;gap:clamp(1rem,3vw,2rem)}.nav__link{font-size:.9rem;color:var(--text-secondary);transition:color .25s ease;white-space:nowrap}.nav__link:hover{color:var(--text-primary)}.nav__controls{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.nav__lang,.nav__theme{display:flex;align-items:center;gap:.4rem;background:none;border:1px solid var(--accent);border-radius:999px;padding:.35rem .75rem;font-size:.8rem;font-weight:600;color:var(--text-secondary);flex-shrink:0}.nav__theme{padding:.4rem;color:var(--text-primary);line-height:0}.nav__theme svg{width:1rem;height:1rem}.nav__lang-option{opacity:.5;transition:opacity .2s ease}.nav__lang-option--active{opacity:1;color:var(--text-primary)}.nav__lang-divider{color:var(--accent)}@media(max-width:640px){.nav__bar{padding:1.25rem 1.5rem}.nav__toggle{display:flex}.nav__panel{flex-direction:column;align-items:flex-start;gap:1.25rem;margin-top:0;padding:0 1.5rem;max-height:0;overflow:hidden;opacity:0;transition:max-height .35s ease,opacity .25s ease,padding-bottom .35s ease}.nav__panel--open{max-height:20rem;opacity:1;padding-bottom:1.5rem}.nav__links{flex-direction:column;gap:1rem;width:100%}.nav__link{font-size:1rem}.nav__controls{padding-top:.5rem;border-top:1px solid var(--border-soft);width:100%}}.hero{position:relative;min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:1rem;padding:0 clamp(1.5rem,8vw,6rem);overflow:hidden}.hero__avatar{position:absolute;top:16%;right:clamp(1.5rem,8vw,6rem);width:clamp(7rem,14vw,11rem);height:clamp(7rem,14vw,11rem);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:clamp(1.75rem,3vw,2.5rem);font-weight:700;color:var(--color-linen);background:linear-gradient(135deg,var(--color-camel),var(--color-espresso));box-shadow:0 1.5rem 3rem #4a342a40}.hero__eyebrow{font-size:.85rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);font-weight:600}.hero__name{font-size:clamp(2.75rem,8vw,6.5rem);font-weight:700;line-height:1.02;letter-spacing:-.02em;color:var(--text-primary)}.hero__title{font-size:clamp(1.1rem,2.2vw,1.6rem);color:var(--text-secondary);max-width:46rem}.hero__divider{color:var(--text-muted)}.hero__location{font-size:.95rem;color:var(--text-muted)}.hero__cta{margin-top:1.5rem;display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 1.75rem;border-radius:999px;background-color:var(--bg-inverted);color:var(--text-on-inverted);font-size:.95rem;font-weight:600;will-change:transform;transition:background-color .25s ease}.hero__cta:hover{background-color:var(--bg-inverted-hover)}@media(max-width:768px){.hero__avatar{position:static;margin-bottom:1rem}}.about{padding:clamp(4rem,12vw,8rem) clamp(1.5rem,8vw,6rem);max-width:60rem}.about__heading{font-size:clamp(2rem,4vw,3rem);font-weight:700;color:var(--text-primary);margin-bottom:2rem}.about__body{display:flex;flex-direction:column;gap:1.25rem}.about__paragraph{font-size:clamp(1.05rem,1.6vw,1.3rem);line-height:1.65;color:var(--text-secondary)}.projects{padding:clamp(4rem,12vw,8rem) clamp(1.5rem,8vw,6rem);--project-tint-1: linear-gradient(135deg, var(--color-khaki), var(--color-camel));--project-tint-2: linear-gradient(135deg, var(--color-camel), var(--color-cocoa));--project-tint-3: linear-gradient(135deg, var(--color-linen), var(--color-khaki));--project-tint-4: linear-gradient(135deg, var(--color-cocoa), var(--color-espresso))}.projects__heading{font-size:clamp(2rem,4vw,3rem);font-weight:700;color:var(--text-primary);margin-bottom:.75rem}.projects__intro{font-size:1.05rem;color:var(--text-secondary);max-width:36rem;margin-bottom:3rem}.projects__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(2rem,4vw,3.5rem)}.project-card__image{position:relative;aspect-ratio:16 / 10;border-radius:1rem;background:var(--tint);margin-bottom:1.25rem;display:flex;align-items:flex-end;padding:1.25rem;overflow:hidden}.project-card__photo{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.project-card__image:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#140c080d,#140c0866)}.project-card__index{position:relative;z-index:1;font-size:.85rem;font-weight:700;letter-spacing:.08em;color:var(--color-linen)}.project-card__title{font-size:1.35rem;font-weight:700;color:var(--text-primary);margin-bottom:.6rem}.project-card__description{font-size:1rem;line-height:1.55;color:var(--text-secondary);margin-bottom:1rem}.project-card__tags{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;margin:0;padding:0}.project-card__tags li{font-size:.8rem;padding:.35rem .75rem;border-radius:999px;border:1px solid var(--accent);color:var(--text-secondary)}@media(max-width:768px){.projects__grid{grid-template-columns:1fr}}.experience{padding:clamp(4rem,12vw,8rem) clamp(1.5rem,8vw,6rem);background-color:var(--bg-surface);transition:background-color .3s ease}.experience__heading{font-size:clamp(2rem,4vw,3rem);font-weight:700;color:var(--text-primary);margin-bottom:3rem}.experience__list{list-style:none;margin:0;padding:0;max-width:50rem;border-top:1px solid var(--accent)}.experience__item{display:grid;grid-template-columns:10rem 1fr;gap:1.5rem;padding:1.75rem 0;border-bottom:1px solid var(--accent)}.experience__period{font-size:.9rem;color:var(--text-secondary);white-space:nowrap}.experience__role{font-size:1.2rem;font-weight:600;color:var(--text-primary)}.experience__meta{margin-top:.35rem;font-size:.95rem;color:var(--text-secondary)}@media(max-width:640px){.experience__item{grid-template-columns:1fr;gap:.5rem}}.skills{padding:clamp(4rem,12vw,8rem) clamp(1.5rem,8vw,6rem)}.skills__heading{font-size:clamp(2rem,4vw,3rem);font-weight:700;color:var(--text-primary);margin-bottom:2.5rem}.skills__group{margin-bottom:2.5rem}.skills__group:last-child{margin-bottom:0}.skills__group-label{font-size:.8rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-bottom:1rem}.skills__grid{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.75rem}.skills__item{padding:.65rem 1.25rem;border:1px solid var(--accent);border-radius:999px;font-size:.95rem;color:var(--text-secondary);transition:background-color .25s ease,color .25s ease,border-color .25s ease}.skills__item:hover{background-color:var(--bg-inverted);border-color:var(--bg-inverted);color:var(--text-on-inverted)}.skills__item--soft{border-style:dashed;border-color:var(--border-soft)}.skills__item--soft:hover{border-color:var(--bg-inverted)}.contact{padding:clamp(5rem,14vw,10rem) clamp(1.5rem,8vw,6rem) 3rem;background-color:var(--bg-inverted);color:var(--text-on-inverted);display:flex;flex-direction:column;gap:1rem;min-height:60vh;justify-content:center;transition:background-color .3s ease,color .3s ease}.contact__heading{font-size:clamp(2rem,5vw,3.5rem);font-weight:700}.contact__message{font-size:1.1rem;color:var(--text-on-inverted-muted);max-width:30rem}.contact__links{display:flex;flex-wrap:wrap;gap:1.5rem;margin-top:1.5rem}.contact__link{font-size:1.05rem;padding-bottom:.25rem;border-bottom:1px solid var(--accent);color:var(--text-on-inverted);transition:color .25s ease,border-color .25s ease}.contact__link:hover{color:var(--accent);border-color:var(--text-on-inverted)}.contact__link--primary{font-weight:600}.contact__footer{margin-top:4rem;font-size:.8rem;color:var(--text-on-inverted-muted)}
