.language-switcher{display:flex;align-items:center;gap:.25rem}.language-option{min-width:2.75rem;min-height:2.75rem;padding:0 .25rem;background:none;border:none;cursor:pointer;font-family:var(--font-mono);font-size:.75rem;letter-spacing:.09em;color:var(--color-text-muted);transition:color .2s}.language-option:hover,.language-option--active{color:var(--color-ink)}.mobile-menu .language-switcher{gap:.75rem}.mobile-menu .language-option{font-size:.875rem}.nav-links{display:flex;align-items:center;gap:2rem}.nav-link{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.09em;text-transform:uppercase;color:var(--color-text-secondary);text-decoration:none;transition:color .2s;padding-bottom:2px;border-bottom:1px solid transparent}.nav-link:hover{color:var(--color-ink);border-bottom-color:var(--color-rule)}.nav-link--active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.mobile-menu-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background-color:#17150f59;opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease}.mobile-menu-overlay--open{opacity:1;visibility:visible}.mobile-menu{position:absolute;inset:0 0 auto 0;background-color:var(--color-paper);border-bottom:1px solid var(--color-rule);padding:0 var(--page-gutter) 2rem;transform:translateY(-8px);transition:transform .25s ease}.mobile-menu--open{transform:none}.mobile-menu-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid var(--color-rule);margin-bottom:1.5rem}.mobile-menu-title{font-size:.9375rem;font-weight:600;letter-spacing:-.01em;color:var(--color-ink)}.mobile-menu-close{display:flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;margin-right:-.5rem;background:none;border:none;cursor:pointer;color:var(--color-text)}.mobile-menu-close-icon{width:1.25rem;height:1.25rem}.mobile-menu-list{list-style:none;display:flex;flex-direction:column}.mobile-menu-link{display:flex;align-items:center;min-height:3.25rem;font-size:1.75rem;color:var(--color-ink);text-decoration:none}.mobile-menu-link:hover{color:var(--color-accent)}.mobile-menu-divider{height:1px;background-color:var(--color-rule);margin:1rem 0}.header{position:fixed;top:0;left:0;right:0;background-color:#f7f4eeeb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:40;border-bottom:1px solid var(--color-rule)}.header-nav{padding:.5rem 0}.header-content{display:flex;align-items:center;justify-content:space-between;gap:1rem}.header-title{font-size:.9375rem;font-weight:600;letter-spacing:-.01em;color:var(--color-ink)}.header-links{display:none;gap:2rem;align-items:center}.header-mobile{display:flex;align-items:center;gap:.25rem;margin-right:-.5rem}.header-lang-current{font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.09em;color:var(--color-text-muted)}.menu-button{display:flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;background:none;border:none;cursor:pointer;color:var(--color-text);transition:color .2s}.menu-button:hover{color:var(--color-ink)}.menu-icon{width:1.25rem;height:1.25rem}@media(min-width:768px){.header-nav{padding:.875rem 0}.header-links{display:flex}.header-mobile{display:none}}.button{display:inline-flex;align-items:center;justify-content:center;gap:.625rem;min-height:2.75rem;padding:.9375rem 1.625rem;font-family:var(--font-body);font-weight:500;font-size:.875rem;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:background-color .2s,border-color .2s,color .2s}.button-primary{background-color:var(--color-ink);color:var(--color-paper)}.button-primary:hover{background-color:var(--color-accent);color:var(--color-paper)}.button-secondary{background-color:transparent;color:var(--color-ink);border-color:var(--color-rule)}.button-secondary:hover{border-color:var(--color-ink);color:var(--color-ink)}.button-icon{width:.9375rem;height:.9375rem}.hero-section{padding-top:calc(var(--header-height) + 2.25rem);padding-bottom:2.5rem}.hero-content{display:flex;flex-direction:column;gap:1.25rem}.hero-text{display:flex;flex-direction:column;align-items:flex-start;gap:1.25rem;order:2}.hero-name{font-size:3.625rem;line-height:.9;letter-spacing:-.025em;color:var(--color-ink);font-weight:400}.hero-lead{font-size:1.0625rem;line-height:1.6;color:var(--color-text);max-width:34ch;text-wrap:pretty}.hero-actions{display:flex;flex-direction:column;gap:.625rem;width:100%;margin-top:.375rem}.hero-actions .button{width:100%}.hero-portrait{order:1;height:16.25rem;width:100%}.hero-portrait-image{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 22%}@media(min-width:768px){.hero-section{padding-top:calc(var(--header-height) + 3.5rem);padding-bottom:4rem}.hero-content{display:grid;grid-template-columns:1fr 21.25rem;gap:3.5rem;align-items:center}.hero-text{order:1;gap:1.625rem}.hero-name{font-size:5rem}.hero-lead{font-size:1.1875rem;max-width:30em}.hero-actions{flex-direction:row;flex-wrap:wrap;align-items:center;gap:.875rem;width:auto;margin-top:.5rem}.hero-actions .button{width:auto}.hero-portrait{order:2;position:relative;height:29.375rem}.hero-portrait:after{content:"";position:absolute;top:1.125rem;right:-1.125rem;bottom:-1.125rem;left:1.125rem;border:1px solid var(--color-accent);z-index:0}.hero-portrait-image{position:relative;z-index:1;object-position:center}}@media(min-width:1200px){.hero-content{grid-template-columns:1fr 25rem;gap:5.5rem}.hero-name{font-size:6.5rem}.hero-lead{font-size:1.3125rem}}.keyword-band{background-color:var(--color-ink);color:var(--color-on-ink);padding:1rem 0}.keyword-band-list{display:flex;flex-wrap:wrap;gap:.375rem 1.125rem;font-family:var(--font-mono);font-size:.65625rem;letter-spacing:.11em;text-transform:uppercase}@media(min-width:768px){.keyword-band{padding:1.25rem 0}.keyword-band-list{gap:.5rem 1.875rem;font-size:.75rem}}.section-head{display:flex;flex-direction:column-reverse;align-items:flex-start;gap:.75rem;margin-bottom:1.5rem}.section-title{font-size:2.25rem;line-height:1;color:var(--color-ink);font-weight:400}@media(min-width:768px){.section-head{flex-direction:row;align-items:flex-end;justify-content:space-between;gap:2.5rem;margin-bottom:2.75rem}.section-title{font-size:3.25rem}.section-label{padding-bottom:.5rem}}.expertise-row{display:grid;grid-template-columns:1fr;gap:.5rem;border-top:1px solid var(--color-rule);padding:1.25rem 0}.expertise-row:last-child{border-bottom:1px solid var(--color-rule)}.expertise-index{font-size:.6875rem;letter-spacing:.1em;color:var(--color-accent)}.expertise-title{font-size:1.125rem;font-weight:600;letter-spacing:-.01em;color:var(--color-ink)}.expertise-description{font-size:.9375rem;line-height:1.65;color:var(--color-text);text-wrap:pretty}.expertise-keywords{list-style:none;display:flex;flex-wrap:wrap;gap:.375rem;margin-top:.875rem}.expertise-keyword{font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.03em;color:var(--color-text-secondary);border:1px solid var(--color-rule);padding:.1875rem .5625rem}@media(min-width:768px){.expertise-row{grid-template-columns:4.625rem 1fr;gap:.5rem 2rem;padding:1.875rem 0;align-items:start}.expertise-index{grid-row:span 2;font-size:.75rem;padding-top:.375rem}}@media(min-width:1200px){.expertise-row{grid-template-columns:4.625rem 18.75rem 1fr;gap:2.75rem}.expertise-index{grid-row:auto}.expertise-description{font-size:.96875rem}}.work-row{display:grid;grid-template-columns:3.5rem 1fr;gap:.5rem .875rem;align-items:center;border-top:1px solid var(--color-rule);padding:1.25rem .75rem;margin:0 -.75rem;color:inherit;text-decoration:none;transition:background-color .2s}.work-row:last-child{border-bottom:1px solid var(--color-rule)}.work-row:hover{background-color:var(--color-paper-deep);color:inherit}.work-index{font-size:.6875rem;letter-spacing:.1em;color:var(--color-accent);grid-column:2}.work-thumb{grid-column:1;grid-row:1 / span 2;width:3.5rem;height:3.5rem;background-color:var(--color-surface);border:1px solid var(--color-rule);display:flex;align-items:center;justify-content:center;padding:.5625rem}.work-thumb-image{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.work-title{grid-column:2;font-size:1.5rem;line-height:1.05;color:var(--color-ink);font-weight:400}.work-body{grid-column:1 / -1;display:flex;flex-direction:column;gap:.5rem}.work-description{font-size:.9375rem;line-height:1.55;color:var(--color-text)}.work-tags{display:flex;flex-wrap:wrap;gap:.375rem;font-family:var(--font-mono);font-size:.65625rem;color:var(--color-text-muted)}.work-cta{display:none;align-items:center;justify-content:flex-end;gap:.5rem;font-size:.75rem;letter-spacing:.09em;text-transform:uppercase;color:var(--color-accent)}.work-cta-icon{width:.8125rem;height:.8125rem}@media(min-width:768px){.work-row{grid-template-columns:2.75rem 4.5rem 1fr 6.875rem;gap:1.5rem;padding:1.375rem .75rem}.work-index{grid-column:1}.work-thumb{grid-column:2;grid-row:auto;width:4.5rem;height:4.5rem;padding:.6875rem}.work-title{grid-column:3;font-size:1.5rem}.work-body{grid-column:3}.work-cta{display:flex;grid-column:4}}@media(min-width:1200px){.work-row{grid-template-columns:2.75rem 4.5rem 1fr 1.1fr 6.875rem;gap:1.875rem}.work-title{grid-column:3;font-size:1.875rem}.work-body{grid-column:4}.work-cta{grid-column:5}}.experience-section{background-color:var(--color-paper-deep)}.experience-row{display:grid;grid-template-columns:1fr;gap:.4375rem;border-top:1px solid var(--color-rule);padding:1.25rem 0}.experience-row:last-child{border-bottom:1px solid var(--color-rule)}.experience-period{font-size:.6875rem;letter-spacing:.08em;color:var(--color-text-muted)}.experience-company{font-size:1.125rem;font-weight:600;letter-spacing:-.01em;color:var(--color-ink)}.experience-position{font-size:.71875rem;letter-spacing:.06em;color:var(--color-text-muted);margin-top:.3125rem}.experience-description{font-size:.9375rem;line-height:1.65;color:var(--color-text);text-wrap:pretty}@media(min-width:768px){.experience-row{grid-template-columns:11rem 1fr;gap:.75rem 2.75rem;padding:1.75rem 0;align-items:start}.experience-period{grid-row:span 2;font-size:.75rem;padding-top:.3125rem}}@media(min-width:1200px){.experience-row{grid-template-columns:11rem 16.25rem 1fr}.experience-period{grid-row:auto}.experience-description{font-size:.96875rem}}.contact-section{background-color:var(--color-ink);color:var(--color-paper);padding:3rem 0 1.75rem;scroll-margin-top:var(--header-height)}.contact-section a{color:var(--color-paper)}.contact-section a:hover{color:var(--color-accent)}.contact-main{display:flex;flex-direction:column;gap:1.75rem;padding-bottom:1.75rem}.contact-lead{display:flex;flex-direction:column;align-items:flex-start;gap:1.25rem}.contact-title{font-size:2.5rem;line-height:.98;color:var(--color-paper);font-weight:400}.contact-email{font-size:1.3125rem;border-bottom:1px solid var(--color-rule-ink);padding-bottom:.3125rem;word-break:break-word}.contact-links{display:flex;flex-direction:column;gap:.75rem;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase}.contact-links a{color:var(--color-on-ink);min-height:2.75rem;display:inline-flex;align-items:center}.contact-colophon{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1.25rem;border-top:1px solid var(--color-rule-ink);padding-top:1.125rem;font-size:.65625rem;letter-spacing:.06em;color:#7d776b}.contact-langs{display:none}@media(min-width:768px){.contact-section{padding:5.5rem 0 2.5rem}.contact-main{display:grid;grid-template-columns:1fr 15rem;gap:4.5rem;align-items:end;padding-bottom:4rem}.contact-lead{gap:1.375rem}.contact-title{font-size:4.5rem;line-height:.95}.contact-email{font-size:2.125rem;margin-top:.375rem}.contact-links{gap:.875rem}.contact-links a{min-height:0}.contact-colophon{padding-top:1.375rem;font-size:.71875rem}.contact-langs{display:inline}}:root{--color-paper: #f7f4ee;--color-paper-deep: #efeae1;--color-surface: #fffdf9;--color-ink: #17150f;--color-text: #3d392f;--color-text-secondary: #5a554a;--color-text-muted: #8b8475;--color-on-ink: #b9b2a1;--color-rule: #ddd6c9;--color-rule-ink: #35312a;--color-accent: #b04a26;--color-accent-hover: #8f3a1c;--font-display: "Instrument Serif", Georgia, "Times New Roman", serif;--font-body: "Instrument Sans", "Segoe UI", Helvetica, Arial, sans-serif;--font-mono: "JetBrains Mono", "Cascadia Mono", Consolas, monospace;--page-gutter: 1.5rem;--section-gap: 2.75rem;--header-height: 3.75rem}@media(min-width:768px){:root{--page-gutter: 3rem;--section-gap: 4rem;--header-height: 4.25rem}}@media(min-width:1200px){:root{--page-gutter: 7.5rem;--section-gap: 5.5rem}}html{scroll-behavior:smooth}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-body);line-height:1.5;color:var(--color-text);background-color:var(--color-ink);-webkit-font-smoothing:antialiased}.app{background-color:var(--color-paper)}a{color:var(--color-ink);text-decoration:none}a:hover{color:var(--color-accent)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.container{width:100%;max-width:90rem;margin:0 auto;padding:0 var(--page-gutter)}.section{padding:var(--section-gap) 0}.serif{font-family:var(--font-display);font-weight:400;letter-spacing:-.02em}.mono{font-family:var(--font-mono)}.eyebrow{display:flex;align-items:center;gap:.625rem;font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.16em;text-transform:uppercase;color:var(--color-accent)}.eyebrow:before{content:"";width:.4375rem;height:.4375rem;background-color:var(--color-accent);flex:none}.fade-in-up{opacity:0;transform:translateY(24px);transition:opacity .5s ease,transform .5s ease}.fade-in-up.visible{opacity:1;transform:none}.stagger-children>*:nth-child(1){transition-delay:0ms}.stagger-children>*:nth-child(2){transition-delay:80ms}.stagger-children>*:nth-child(3){transition-delay:.16s}.stagger-children>*:nth-child(4){transition-delay:.24s}.stagger-children>*:nth-child(5){transition-delay:.32s}.stagger-children>*:nth-child(6){transition-delay:.4s}.stagger-children>*:nth-child(7){transition-delay:.48s}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.fade-in-up,.fade-in-up.visible{opacity:1;transform:none;transition:none}}
