@font-face{font-family:Manrope;font-style:normal;font-weight:400 800;font-display:swap;src:url(/assets/fonts/manrope-latin-variable.woff2)format("woff2")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500 700;font-display:swap;src:url(/assets/fonts/cormorant-garamond-latin-variable.woff2)format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/ibm-plex-mono-latin-400.woff2)format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/ibm-plex-mono-latin-500.woff2)format("woff2")}:root{--font-heading:"Cormorant Garamond", serif;--font-body:"Manrope", sans-serif;--font-mono:"IBM Plex Mono", monospace;--bg:#f2ece3;--surface:#f8f4ee;--surface-muted:#eadfce;--surface-elevated:#fbf8f2;--text:#18130f;--text-muted:#5a4b3d;--line:#d8c6b4;--accent:#94502a;--accent-strong:#743918;--button-text:#fffaf5}:root[data-theme=dark]{--bg:#0d141b;--surface:#121c25;--surface-muted:#223040;--surface-elevated:#17222d;--text:#f2f7fb;--text-muted:#c1ccd7;--line:#324355;--accent:#ebb08a;--accent-strong:#f5c9ab;--button-text:#170f0a}*{box-sizing:border-box}html,body{margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--text);background:radial-gradient(circle at top left, color-mix(in srgb, var(--accent) 10%, transparent), transparent 36%), linear-gradient(180deg, color-mix(in srgb, var(--surface) 75%, var(--bg)) 0%, var(--bg) 18%, var(--bg) 100%);line-height:1.7}a{color:inherit}a:hover{color:var(--accent)}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.content-width{width:min(1080px,100% - 2.6rem);margin-inline:auto}.top-nav{z-index:40;backdrop-filter:blur(8px);border-bottom:1px solid color-mix(in srgb, var(--line) 70%, transparent);background:color-mix(in srgb, var(--surface) 88%, transparent);position:sticky;top:0}.top-nav-inner{grid-template-columns:auto 1fr auto;align-items:center;gap:.8rem;min-height:66px;display:grid}.brand{font-family:var(--font-heading);letter-spacing:.01em;font-size:1.8rem;line-height:1;text-decoration:none}.menu-button{border:1px solid var(--line);color:var(--text);min-height:42px;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:.42rem;padding:.42rem .8rem;font-size:.78rem;transition:border-color .14s,background-color .14s,color .14s;display:none}.menu-button:hover{border-color:color-mix(in srgb, var(--line) 62%, var(--accent));color:var(--accent)}.menu-button-label{line-height:1}.menu-button-icon{justify-content:center;align-items:center;width:.86rem;height:.86rem;display:inline-flex}.menu-button-icon svg{stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%}.menu-button-icon-close{display:none}.menu-button[aria-expanded=true]{background:color-mix(in srgb, var(--surface-muted) 56%, transparent)}.menu-button[aria-expanded=true] .menu-button-icon-open{display:none}.menu-button[aria-expanded=true] .menu-button-icon-close{display:inline-flex}.top-nav-actions{flex-wrap:nowrap;justify-content:flex-end;justify-self:end;align-items:center;gap:.5rem;display:flex}.top-nav-links ul{flex-wrap:wrap;justify-content:center;gap:.2rem;margin:0;padding:0;list-style:none;display:flex}.top-nav-links a{color:var(--text-muted);border-radius:999px;padding:.35rem .72rem;font-weight:700;text-decoration:none;transition:color .15s,background-color .15s}.theme-toggle{display:inline-grid;position:relative}.theme-toggle-trigger{border:1px solid var(--line);width:2.25rem;height:2.25rem;color:var(--text);cursor:pointer;background:0 0;border-radius:999px;justify-content:center;align-items:center;padding:0;transition:border-color .14s,background-color .14s,color .14s;display:inline-flex}.theme-toggle-trigger:hover{border-color:color-mix(in srgb, var(--line) 60%, var(--accent));color:var(--accent)}.theme-toggle-trigger[aria-expanded=true]{background:color-mix(in srgb, var(--surface-muted) 54%, transparent)}.theme-toggle-icon,.theme-option-icon{justify-content:center;align-items:center;width:.98rem;height:.98rem;display:inline-flex}.theme-toggle-icon{display:none}.theme-toggle-icon-system,:root[data-theme-preference=light] .theme-toggle-icon-light,:root[data-theme-preference=dark] .theme-toggle-icon-dark{display:inline-flex}:root[data-theme-preference=light] .theme-toggle-icon-dark,:root[data-theme-preference=light] .theme-toggle-icon-system,:root[data-theme-preference=dark] .theme-toggle-icon-light,:root[data-theme-preference=dark] .theme-toggle-icon-system{display:none}.theme-toggle-icon svg,.theme-option-icon svg{stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%}.theme-toggle-menu{border:1px solid var(--line);background:color-mix(in srgb, var(--surface-elevated) 96%, transparent);z-index:70;border-radius:10px;gap:.1rem;min-width:8rem;padding:.26rem;display:grid;position:absolute;top:calc(100% + .4rem);right:0;box-shadow:0 14px 30px #0003}.theme-toggle-menu[hidden]{display:none}.theme-toggle-option{width:100%;color:var(--text);font-family:var(--font-mono);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:.46rem;padding:.38rem .44rem;font-size:.82rem;display:flex}.theme-toggle-option:hover,.theme-toggle-option:focus-visible{background:color-mix(in srgb, var(--surface-muted) 68%, transparent);outline:none}.theme-toggle-option.is-selected{color:var(--accent-strong);background:color-mix(in srgb, var(--accent) 16%, transparent)}.theme-option-label{line-height:1.1}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.page-main{padding:3.35rem 0 3.5rem}.page-content{gap:3rem;display:grid}.hero-block{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:2.4rem;padding-bottom:2.6rem;display:grid}.hero-copy,.hero-aside{align-content:start;gap:1rem;display:grid}.hero-eyebrow{color:var(--accent-strong);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.75rem}.timeline-meta,.timeline-company,.project-meta,.project-location,.post-meta-line,.education-school{color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.03em;margin:0;font-size:.73rem}.hero-copy h1,.page-title,.section-heading,.post-header h1,.section-intro h1,.section-intro h2,.timeline-card h3,.project-preview h3,.featured-post h3,.post-list-item h4,.education-card h3,.post-content h1,.post-content h2,.post-content h3,.post-content h4,.principle-card h3{font-family:var(--font-heading);margin:0;font-weight:600;line-height:1.12}.hero-copy h1{max-width:11ch;font-size:clamp(2.8rem,5vw,4.7rem)}.page-title{margin:0;font-size:clamp(2.35rem,5vw,3.8rem)}.section-heading{margin:0;font-size:clamp(1.35rem,3vw,2rem)}.hero-subhead{max-width:56ch;margin:0;font-size:1.12rem}.hero-intro{max-width:60ch;color:var(--text-muted);margin:0}.hero-actions{flex-wrap:wrap;gap:.5rem;margin-top:.2rem;display:flex}.button{border-radius:999px;justify-content:center;align-items:center;min-height:46px;padding:.62rem 1.05rem;font-weight:700;text-decoration:none;transition:transform .14s,border-color .14s,color .14s,background-color .14s;display:inline-flex}.button:hover{transform:translateY(-1px)}.button-primary{border:1px solid var(--accent);background:var(--accent);color:var(--button-text);box-shadow:0 12px 24px color-mix(in srgb, var(--accent) 20%, transparent)}.button-primary:hover{border-color:var(--accent-strong);background:var(--accent-strong);color:var(--button-text)}.button-secondary{border:1px solid var(--line);color:var(--text);background:color-mix(in srgb, var(--surface-elevated) 84%, transparent)}.button-secondary:hover{border-color:color-mix(in srgb, var(--line) 54%, var(--accent))}.hero-aside{border:1px solid var(--line);background:color-mix(in srgb, var(--surface-elevated) 92%, transparent);border-radius:22px;place-self:start end;width:min(100%,296px);padding:1rem;box-shadow:0 18px 40px #00000012}.hero-portrait{border:1px solid var(--line);aspect-ratio:.95;background:color-mix(in srgb, var(--surface-muted) 62%, transparent);border-radius:18px;margin:0;overflow:hidden}.hero-portrait picture{width:100%;height:100%;display:block}.hero-portrait img{object-fit:cover;object-position:center 20%;width:100%;height:100%;display:block}.hero-profile-meta{justify-items:start;gap:.5rem;display:grid}.hero-meta-line{color:var(--text-muted);margin:0;font-size:.92rem;line-height:1.45}.hero-meta-email a{color:inherit;text-decoration:underline;text-decoration-color:color-mix(in srgb, var(--line) 56%, var(--accent));text-underline-offset:.16em}.hero-socials{flex-wrap:wrap;gap:.42rem;display:flex}.hero-socials a{border:1px solid var(--line);color:var(--text-muted);background:color-mix(in srgb, var(--surface-elevated) 88%, transparent);border-radius:999px;align-items:center;gap:.34rem;padding:.28rem .54rem;font-size:.76rem;font-weight:700;text-decoration:none;display:inline-flex}.hero-social-icon{filter:grayscale()brightness(0);flex:none;width:15px;height:15px;display:block}:root[data-theme=dark] .hero-social-icon{filter:grayscale()brightness(0)invert()}.principle-card{border:1px solid color-mix(in srgb, var(--line) 82%, transparent);background:color-mix(in srgb, var(--surface) 90%, transparent);border-radius:20px;gap:.5rem;padding:1rem 1rem 1.1rem;display:grid;box-shadow:0 16px 30px #0000000d}.content-section{border-top:1px solid var(--line);gap:1.05rem;padding-top:1.6rem;display:grid}.content-section-no-border{border-top:0;padding-top:0}.section-intro{gap:.48rem;display:grid}.section-intro h1,.section-intro h2{font-size:clamp(1.4rem,3.3vw,2.15rem)}.section-intro p{max-width:62ch;color:var(--text-muted);margin:0}.section-intro-main{justify-content:space-between;align-items:end;gap:.9rem;display:flex}.section-intro-link,.section-tail-link,.home-inline-links a,.home-contact-note a{border-bottom:1px solid var(--line);text-decoration:none}.section-intro-link{white-space:nowrap;font-weight:700}.section-tail-link{white-space:nowrap;justify-self:end;font-weight:700}.lead-copy{max-width:62ch;margin:0}.approach-copy{gap:.7rem;max-width:72ch;display:grid}.approach-copy p{color:var(--text-muted);margin:0}.principles-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.principle-index{font-family:var(--font-mono);letter-spacing:.08em;color:var(--accent-strong);margin:0;font-size:.76rem}.project-grid-home-resume{grid-template-columns:repeat(2,minmax(0,1fr))}.timeline-stack{gap:1.3rem;display:grid}.timeline-card,.project-preview,.featured-post,.post-list-item,.education-card{border:1px solid var(--line);border-left:3px solid color-mix(in srgb, var(--accent) 60%, var(--line));background:color-mix(in srgb, var(--surface) 90%, transparent);border-radius:20px;gap:.65rem;padding:1rem 1rem 1rem 1.05rem;display:grid;box-shadow:0 16px 30px #0000000d}.timeline-card h3,.project-preview h3,.featured-post h3,.post-list-item h4{font-size:1.34rem}.timeline-company{flex-wrap:wrap;align-items:center;gap:.44rem;display:flex}.timeline-company-link{color:inherit;border:1px solid color-mix(in srgb, var(--line) 72%, transparent);background:color-mix(in srgb, var(--surface-elevated) 84%, transparent);border-radius:10px;align-items:center;gap:.44rem;padding:.22rem .42rem;text-decoration:none;transition:border-color .14s,background-color .14s,color .14s;display:inline-flex}.timeline-company-link:hover,.timeline-company-link:focus-visible{border-color:color-mix(in srgb, var(--line) 50%, var(--accent));background:color-mix(in srgb, var(--surface-muted) 56%, transparent);color:var(--text);outline:none}.timeline-company-name{text-decoration:underline;text-decoration-color:color-mix(in srgb, var(--line) 56%, var(--accent));text-underline-offset:.14em;text-decoration-thickness:1px}.timeline-company-external{color:var(--text-muted);font-size:.78rem;line-height:1}.timeline-company-location{color:var(--text-muted)}.timeline-company-logo-wrap{border:1px solid color-mix(in srgb, var(--line) 75%, transparent);background:color-mix(in srgb, var(--surface) 82%, transparent);border-radius:6px;justify-content:center;align-items:center;padding:.12rem .26rem;line-height:0;display:inline-flex}.timeline-company-logo{object-fit:contain;width:auto;max-width:104px;height:18px;display:block}.timeline-summary,.project-preview p,.featured-post p,.post-list-item p{margin:0}.timeline-card ul{gap:.25rem;margin:0;padding:0;list-style:none;display:grid}.timeline-card li,.skill-group-card li{color:var(--text-muted);font-size:.93rem}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem;display:grid}.project-grid-full,.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-grid-home{grid-template-columns:1fr}.writing-home-layout,.writing-index-layout{grid-template-columns:1fr;gap:1rem;display:grid}.writing-home-layout-minimal{max-width:64ch}.post-list-stack{gap:.9rem;display:grid}.tag-list{flex-wrap:wrap;gap:.34rem;display:flex}.tag-list span{border:1px solid var(--line);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);border-radius:999px;padding:.18rem .4rem;font-size:.68rem}.home-inline-links{flex-wrap:wrap;gap:.65rem;margin:.15rem 0 0;font-weight:700;display:flex}.education-grid{gap:1rem;display:grid}.education-card h3,.skill-group-card h3{font-size:1.43rem}.education-card p{margin:0}.home-contact-inline{color:var(--text-muted);margin:-1rem 0 0;font-size:.95rem}.home-contact-actions{flex-wrap:wrap;align-items:center;gap:.85rem;display:flex}.home-contact-note{color:var(--text-muted);margin:0;font-size:.92rem}.home-contact-note a{color:inherit}.content-section-post{gap:.92rem}.post-header{gap:.55rem;max-width:70ch;display:grid}.post-header h1{font-size:clamp(2rem,4.4vw,3.3rem)}.post-header p{margin:0}.post-content{gap:.7rem;max-width:70ch;display:grid}.post-content p,.post-content ul,.post-content ol,.post-content blockquote,.post-content pre{margin:0}.post-content ul,.post-content ol{padding-left:1.2rem}.post-content blockquote{border-left:2px solid var(--accent);color:var(--text-muted);padding-left:.8rem}.post-content code{font-family:var(--font-mono);background:color-mix(in srgb, var(--surface-muted) 55%, transparent);border-radius:4px;padding:.08rem .2rem;font-size:.9em}.post-content pre{border:1px solid var(--line);border-radius:8px;padding:.72rem;overflow-x:auto}.post-content pre code{background:0 0;padding:0}.post-footer-nav{border-top:1px solid var(--line);flex-direction:column;gap:.36rem;padding-top:.86rem;display:flex}.site-footer{border-top:1px solid var(--line);padding:1.2rem 0 1.6rem}.site-footer-inner{justify-content:space-between;align-items:center;gap:1rem;display:flex}.site-footer p{color:var(--text-muted);margin:0;font-size:.9rem}.site-footer ul{flex-wrap:wrap;gap:.36rem;margin:0;padding:0;list-style:none;display:flex}.site-footer a{color:var(--text-muted);font-size:.78rem;text-decoration:none}.top-nav-links a.is-active,.top-nav-links a:hover{color:var(--text);background:color-mix(in srgb, var(--surface-muted) 70%, transparent)}.section-intro-link:hover,.section-tail-link:hover,.home-inline-links a:hover,.home-contact-note a:hover{color:var(--accent);border-bottom-color:var(--accent)}.principle-card p:last-child{color:var(--text-muted);margin:0}.reveal{animation:.26s both fade-rise}@keyframes fade-rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (width<=980px){.hero-block{grid-template-columns:1fr;gap:1.4rem}.principles-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-grid,.project-grid-full,.project-grid-home-resume,.skills-grid{grid-template-columns:1fr}}@media (width<=820px){.top-nav{backdrop-filter:none;background:var(--surface)}.page-main{padding:2rem 0 2.4rem}.page-content{gap:2.2rem}.content-width{width:min(980px,100% - 1.2rem)}.top-nav-inner{grid-template-columns:minmax(0,1fr) auto;gap:.6rem;min-height:72px}.brand{font-size:clamp(1.55rem,8vw,2rem)}.top-nav-actions{align-self:center;align-items:center;gap:.42rem}.top-nav-actions>*{flex:none}.theme-toggle-trigger{width:44px;height:44px}.menu-button{min-height:44px;padding:.44rem .84rem;display:inline-flex}.top-nav-links{border:1px solid var(--line);background:var(--surface);backdrop-filter:none;isolation:isolate;z-index:70;border-radius:22px;padding:.48rem;display:none;position:absolute;top:calc(100% + .35rem);left:.6rem;right:.6rem;overflow:hidden;box-shadow:0 14px 34px #00000047}.top-nav-links.is-open{display:block}.top-nav-links ul{flex-direction:column;align-items:stretch;gap:.14rem;width:100%;margin-inline:0}.top-nav-links a{border-radius:10px;align-items:center;width:100%;min-height:44px;padding:.5rem .65rem;display:inline-flex}.section-intro-main{flex-direction:column;align-items:start}.hero-copy h1{max-width:12ch}.hero-actions{width:100%}.hero-actions .button{flex:11.5rem}.hero-aside{grid-template-columns:minmax(0,148px) minmax(0,1fr);align-items:start;width:100%}.hero-profile-meta{align-content:start}.principles-grid{grid-template-columns:1fr}.section-tail-link{justify-self:start;align-items:center;min-height:44px;display:inline-flex}.timeline-company{align-items:flex-start;gap:.3rem}.timeline-company-link{flex-wrap:wrap;min-height:40px;padding:.26rem .4rem}.timeline-company-location{width:100%}.site-footer-inner{flex-direction:column;align-items:start}body.is-menu-open{touch-action:none;overflow:hidden}}@media (width<=620px){.hero-aside{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.menu-button,.top-nav-links a,.theme-toggle-trigger,.button,.timeline-company-link{transition:none}.reveal{animation:none}}
