@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/438aa629764e75f3-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/875ae681bfde4580-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/51251f8b9793cdb3-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/e857b654a2caa584-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/cc978ac5ee68c2b6-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/4c9affa5bc8f420e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Manrope Fallback;src:local("Arial");ascent-override:103.31%;descent-override:29.07%;line-gap-override:0.00%;size-adjust:103.19%}.__className_f524cf{font-family:Manrope,Manrope Fallback;font-style:normal}.__variable_f524cf{--font-sans:"Manrope","Manrope Fallback"}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/58f386aa6b1a2a92-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/011e180705008d6f-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/7ba5fb2a8c88521c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/92eeb95d069020cc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/d3ebbfd689654d3a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ef4d5661765d0e49-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/d29838c109ef09b4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e40af3453d7c920a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/99dcf268bda04fe5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/98e207f02528a563-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Mono Fallback;src:local("Arial");ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.00%;size-adjust:134.59%}.__className_9f0762{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.__variable_9f0762{--font-mono:"IBM Plex Mono","IBM Plex Mono Fallback"}

/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer theme{:host,:root{--font-sans:var(--font-sans);--font-mono:var(--font-mono);--radius-sm:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.static{position:static}.block{display:block}.flex{display:flex}}:root{--color-canvas:#f5f3ee;--color-surface:#fffdf8;--color-ink:#18243a;--color-muted:#657080;--color-line:#cbd1da;--color-accent:#315d9b;--color-accent-strong:#244674;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--space-16:4rem;--space-24:6rem;--radius-sm:.25rem;--content-width:84rem;--measure:42rem;--shadow-focus:0 0 0 3px var(--color-canvas),0 0 0 5px var(--color-accent)}@media (prefers-color-scheme:dark){:root{--color-canvas:#111827;--color-surface:#172033;--color-ink:#f3f5f8;--color-muted:#b7c0cd;--color-line:#344156;--color-accent:#83aee8;--color-accent-strong:#b4cef2}}*,:after,:before{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--color-canvas);color:var(--color-ink);font-family:var(--font-sans),system-ui,sans-serif;text-rendering:optimizelegibility;margin:0;font-size:1rem;line-height:1.7}a{color:inherit;text-underline-offset:.22em}a:hover{color:var(--color-accent)}:focus-visible{border-radius:var(--radius-sm);box-shadow:var(--shadow-focus);outline:none}::selection{background:var(--color-accent);color:var(--color-canvas)}.skip-link{z-index:100;top:var(--space-4);left:var(--space-4);padding:var(--space-2) var(--space-4);background:var(--color-ink);color:var(--color-canvas);font-weight:700;position:fixed;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:20;border-bottom:1px solid var(--color-line);position:sticky;top:0}@supports (color:color-mix(in lab,red,red)){.site-header{border-bottom:1px solid color-mix(in srgb,var(--color-line) 75%,transparent)}}.site-header{background:var(--color-canvas)}@supports (color:color-mix(in lab,red,red)){.site-header{background:color-mix(in srgb,var(--color-canvas) 88%,transparent)}}.site-header{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.footer-inner,.header-inner,.page-shell{width:min(calc(100% - 2rem),var(--content-width));margin-inline:auto}.header-inner{justify-content:space-between;align-items:center;gap:var(--space-6);min-height:4.5rem;display:flex}.wordmark{letter-spacing:-.05em;font-size:1.2rem;font-weight:800;text-decoration:none}.wordmark span{color:var(--color-accent)}.desktop-nav ul,.mobile-nav ul{margin:0;padding:0;list-style:none}.desktop-nav>ul{gap:clamp(1.25rem,3vw,2.5rem)}.desktop-nav>ul,.desktop-nav>ul>li,.desktop-nav>ul>li>a{align-items:center;display:flex}.desktop-nav>ul>li>a{min-height:2.75rem}.desktop-nav a,.desktop-nav summary,.mobile-nav a,.mobile-nav summary{font-family:var(--font-mono),monospace;font-size:.875rem;font-weight:500;text-decoration:none}.nav-dropdown{position:relative}.nav-dropdown>summary{align-items:center;gap:var(--space-2);cursor:pointer;min-height:2.75rem;list-style:none;display:flex}.nav-dropdown>summary::-webkit-details-marker{display:none}.nav-dropdown>summary:after{content:"▾";color:var(--color-accent)}.nav-dropdown[open]>summary:after{content:"▴"}.nav-submenu{top:calc(100% + var(--space-3));border:1px solid var(--color-line);background:var(--color-surface);width:14rem;position:absolute;right:0;box-shadow:0 1rem 2.5rem #0000001f}.nav-submenu a{padding:var(--space-3) var(--space-4);display:block}.nav-submenu li+li{border-top:1px solid var(--color-line)}.mobile-nav{display:none;position:relative}.mobile-nav summary{min-height:2.75rem;padding-inline:var(--space-2);margin-right:calc(var(--space-2) * -1);cursor:pointer;align-items:center;list-style:none;display:flex}.mobile-nav summary::-webkit-details-marker{display:none}.hamburger-icon{gap:.3rem;width:1.5rem;display:grid}.hamburger-icon>span{background:currentColor;height:2px;transition:transform .16s,opacity .16s}.mobile-nav[open] .hamburger-icon>span:first-child{transform:translateY(.44rem)rotate(45deg)}.mobile-nav[open] .hamburger-icon>span:nth-child(2){opacity:0}.mobile-nav[open] .hamburger-icon>span:last-child{transform:translateY(-.44rem)rotate(-45deg)}.mobile-nav nav{border:1px solid var(--color-line);background:var(--color-surface);width:min(18rem,100vw - 2rem);position:absolute;top:calc(100% + 1rem);right:0;box-shadow:0 1rem 2.5rem #0000001f}.mobile-nav a{padding:var(--space-4) var(--space-6);display:block}.mobile-nav li+li{border-top:1px solid var(--color-line)}.mobile-parent-label,.mobile-parent-link{color:var(--color-accent)}.mobile-parent-label{padding:var(--space-4) var(--space-6);font-family:var(--font-mono),monospace;font-size:.875rem;font-weight:500;display:block}.mobile-submenu{border-left:1px solid var(--color-line);margin-inline:var(--space-6)!important}.mobile-submenu a{padding-block:var(--space-3)}.home{padding-block:clamp(4.5rem,12vw,10rem)}.intro{grid-template-columns:minmax(15rem,.75fr) minmax(0,1.25fr);align-items:center;gap:clamp(2.5rem,8vw,8rem);padding-bottom:clamp(5rem,12vw,9rem);display:grid}.intro-portrait{width:min(100%,24rem);margin:0}.intro-portrait img{aspect-ratio:1;object-fit:cover;border:1px solid var(--color-line);width:100%;height:auto;box-shadow:0 1.5rem 4rem var(--color-ink);border-radius:50%;display:block}@supports (color:color-mix(in lab,red,red)){.intro-portrait img{box-shadow:0 1.5rem 4rem color-mix(in srgb,var(--color-ink) 14%,transparent)}}.intro-content{text-align:right}.intro-content .intro-copy,.intro-content h1{margin-left:auto}.eyebrow,.section-number{margin:0 0 var(--space-6);color:var(--color-accent);font-family:var(--font-mono),monospace;letter-spacing:.08em;text-transform:uppercase;font-size:.875rem;font-weight:500}h1,h2,p{margin-top:0}h1{max-width:12ch;margin-bottom:var(--space-6);letter-spacing:-.065em;font-size:clamp(3.25rem,10vw,7.75rem);line-height:.96}h2{margin-bottom:var(--space-3);letter-spacing:-.035em;font-size:clamp(1.5rem,3vw,2.25rem);line-height:1.2}.intro-copy{max-width:var(--measure);color:var(--color-muted);margin:0;font-size:clamp(1.125rem,2vw,1.4rem)}.intro-actions{align-items:center;gap:var(--space-6);margin-top:var(--space-8);color:var(--color-muted);flex-wrap:wrap;display:flex}.intro-content .intro-actions{justify-content:flex-end}.primary-link{border-bottom:2px solid var(--color-accent);min-height:2.75rem;color:var(--color-ink);align-items:center;font-weight:700;text-decoration:none;display:inline-flex}.secondary-link{color:var(--color-muted);-webkit-text-decoration-color:var(--color-line);text-decoration-color:var(--color-line);font-weight:700}.resume-section{border-top:1px solid var(--color-line);padding-block:clamp(4rem,8vw,7rem);scroll-margin-top:5.5rem}.section-heading{gap:var(--space-8);margin-bottom:var(--space-12);grid-template-columns:minmax(4rem,.25fr) 1fr;display:grid}.section-heading .section-number,.section-heading h2{margin-bottom:0}.experience-item{padding-block:var(--space-12);border-top:1px solid var(--color-line);grid-template-columns:minmax(12rem,.55fr) 1fr;gap:clamp(2rem,6vw,6rem);display:grid}@supports (color:color-mix(in lab,red,red)){.experience-item{border-top:1px solid color-mix(in srgb,var(--color-line) 65%,transparent)}}.experience-item:first-child{border-top:0;padding-top:0}.certifications h3,.education-item h3,.experience-meta h3,.skill-grid h3{margin:0 0 var(--space-2);font-size:1rem;line-height:1.4}.education-item>p:last-child,.experience-meta p{color:var(--color-muted);font-family:var(--font-mono),monospace;margin-bottom:0;font-size:.8125rem}.role{margin-bottom:var(--space-3);color:var(--color-accent);font-weight:700}.experience-detail li,.experience-detail>p:not(.role){color:var(--color-muted)}.experience-detail ul{margin:var(--space-6) 0 0;padding-left:1.2rem}.experience-detail li{margin-top:var(--space-3);padding-left:var(--space-2)}.earlier-career{margin-top:var(--space-16);padding-top:var(--space-8);border-top:1px solid var(--color-line)}.about-grid h3,.earlier-career>h3{margin:0 0 var(--space-8);text-transform:uppercase;letter-spacing:.08em;font-size:1rem}.compact-grid{gap:var(--space-8) clamp(2rem,6vw,5rem);grid-template-columns:repeat(2,1fr);display:grid}.compact-grid h4{margin:0 0 var(--space-1);font-size:1rem}.compact-grid p:last-child,.compact-grid ul{margin:var(--space-4) 0 0;color:var(--color-muted)}.compact-grid ul{padding-left:1.2rem}.compact-grid li{padding-left:var(--space-2)}.compact-grid li+li{margin-top:var(--space-3)}.compact-date{color:var(--color-muted);font-family:var(--font-mono),monospace;margin:0;font-size:.8125rem}.project-list{border-top:1px solid var(--color-line)}.project-card{border-bottom:1px solid var(--color-line);grid-template-columns:minmax(3rem,.18fr) 1fr;gap:clamp(1.5rem,5vw,5rem);padding-block:clamp(2.5rem,6vw,5rem);display:grid}.project-index{visibility:hidden}.project-body{max-width:50rem}.project-context{margin-bottom:var(--space-3);color:var(--color-accent);font-family:var(--font-mono),monospace;letter-spacing:.06em;text-transform:uppercase;font-size:.8125rem;font-weight:500}.project-card h3{margin:0 0 var(--space-4);letter-spacing:-.04em;font-size:clamp(1.75rem,4vw,3rem);line-height:1.1}.project-description{color:var(--color-muted);font-size:1.1rem}.project-contribution{margin:var(--space-6) 0 0;padding-left:1.2rem}.project-contribution li{padding-left:var(--space-2)}.project-contribution li+li{margin-top:var(--space-3)}.project-technologies{gap:var(--space-2) var(--space-4);margin:var(--space-8) 0 0;color:var(--color-muted);font-family:var(--font-mono),monospace;text-transform:uppercase;flex-wrap:wrap;padding:0;font-size:.75rem;list-style:none;display:flex}.project-technologies li:before{content:"/ ";color:var(--color-accent)}.skill-grid{gap:var(--space-8);grid-template-columns:repeat(3,1fr);display:grid}.skill-grid article{padding-top:var(--space-4);border-top:2px solid var(--color-accent)}.tag-list{gap:var(--space-2);margin:var(--space-6) 0 0;flex-wrap:wrap;padding:0;list-style:none;display:flex}.tag-list li{padding:var(--space-1) var(--space-3);border:1px solid var(--color-line);color:var(--color-muted);border-radius:999px;font-size:.875rem}.education-grid{grid-template-columns:1.2fr .8fr;gap:clamp(3rem,8vw,8rem);display:grid}.education-item+.education-item{margin-top:var(--space-8)}.education-item .role{margin-bottom:var(--space-1)}.certifications{padding:var(--space-8);background:var(--color-surface);border-left:3px solid var(--color-accent);align-self:start}.certifications ul{margin:var(--space-6) 0 0;padding-left:1.2rem}.certifications li+li{margin-top:var(--space-3)}.about-grid{grid-template-columns:.8fr 1.2fr;gap:clamp(3rem,8vw,8rem);display:grid}.language-list{margin:0}.language-list>div{gap:var(--space-4);padding-block:var(--space-3);border-top:1px solid var(--color-line);grid-template-columns:1fr 1.5fr;display:grid}.language-list dt{font-weight:700}.language-list dd{color:var(--color-muted);margin:0}.personal-list{margin:0;padding-left:1.2rem}.personal-list li{padding-left:var(--space-2)}.personal-list li+li{margin-top:var(--space-4)}.calculator-page{padding-block:clamp(3.5rem,8vw,7rem)}.calculator-intro{margin-bottom:clamp(2rem,5vw,4rem)}.calculator-intro h1{max-width:none;font-size:clamp(3rem,8vw,6.5rem)}.calculator-intro>p:last-child{color:var(--color-muted);margin-bottom:0;font-size:1.15rem}.calculator-layout{grid-template-columns:minmax(0,1.1fr) minmax(20rem,.9fr);align-items:stretch;gap:clamp(2rem,6vw,6rem);display:grid}.calculator-panel,.calculator-result{border:1px solid var(--color-line);background:var(--color-surface);padding:clamp(1.5rem,4vw,3rem)}.calculator-panel{gap:var(--space-8);display:grid}.field-grid{gap:var(--space-6);grid-template-columns:1fr 1fr;display:grid}.field-group{gap:var(--space-2);display:grid}.direction-control legend,.field-group label{font-family:var(--font-mono),monospace;letter-spacing:.06em;text-transform:uppercase;font-size:.8rem;font-weight:500}.field-group select{width:100%;min-height:3.25rem;padding:.65rem 2.75rem .65rem var(--space-3);border:1px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-canvas);color:var(--color-ink);font:inherit}.song-source{border-block:1px solid var(--color-line);grid-template-columns:repeat(2,1fr);display:grid}.song-source>div{gap:var(--space-1);padding-block:var(--space-4);display:grid}.song-source>div+div{padding-left:var(--space-6);border-left:1px solid var(--color-line)}.song-source span{color:var(--color-muted);font-size:.8rem}.song-source strong{font-size:1.1rem}.direction-control{border:0;margin:0;padding:0}.direction-control>div{gap:var(--space-4);margin-top:var(--space-3);display:flex}.direction-control label{align-items:center;gap:var(--space-2);min-height:2.75rem;padding:0 var(--space-4);border:1px solid var(--color-line);cursor:pointer;display:flex}.direction-control input{width:1.1rem;height:1.1rem;accent-color:var(--color-accent)}.direction-control p{margin:var(--space-3) 0 0;color:var(--color-muted);font-size:.85rem}.calculator-result{border-top:4px solid var(--color-accent);flex-direction:column;justify-content:center;min-height:26rem;display:flex}.result-kicker{margin-bottom:var(--space-4);color:var(--color-accent);font-family:var(--font-mono),monospace;letter-spacing:.08em;text-transform:uppercase;font-size:.8rem}.calculator-result h2{margin-bottom:var(--space-1);font-size:clamp(2rem,4vw,3.5rem)}.result-artist{color:var(--color-muted)}.range-display{margin-block:var(--space-8) var(--space-4);color:var(--color-accent-strong);font-family:var(--font-mono),monospace;letter-spacing:-.06em;align-items:center;gap:clamp(.75rem,3vw,2rem);font-size:clamp(2rem,6vw,4.5rem);font-weight:500;display:flex}.range-display span[aria-hidden]{color:var(--color-line);font-family:var(--font-sans),sans-serif;font-weight:400}.data-note,.range-unavailable,.shift-summary{color:var(--color-muted)}.data-note{margin:var(--space-4) 0 0;padding-top:var(--space-4);border-top:1px solid var(--color-line);font-size:.875rem}.calculator-help{padding-block:var(--space-8);border-block:1px solid var(--color-line);grid-template-columns:minmax(12rem,.35fr) 1fr;gap:0 clamp(2rem,6vw,6rem);margin-block:clamp(2rem,4vw,4rem);display:grid}.calculator-help h2{margin:0}.calculator-help ol{margin:0;padding-left:1.25rem}.calculator-help li+li{margin-top:var(--space-3)}.calculator-help>p{margin:var(--space-4) 0 0;color:var(--color-muted);grid-column:2}.voice-types{column-gap:clamp(2rem,6vw,6rem);row-gap:var(--space-6);padding-top:var(--space-8);border-top:1px solid var(--color-line);grid-template-columns:minmax(12rem,.7fr) 1.3fr;margin-top:clamp(4rem,9vw,8rem);display:grid}.voice-types-heading h2{margin-bottom:var(--space-3)}.voice-types-heading>p:last-child,.voice-types-note{color:var(--color-muted)}.voice-types-heading>p:last-child{margin-bottom:0}.voice-type-table{border-collapse:collapse;text-align:left;width:100%}.voice-type-table td,.voice-type-table th{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-line)}.voice-type-table thead th{color:var(--color-accent);font-family:var(--font-mono),monospace;letter-spacing:.06em;text-transform:uppercase;font-size:.8rem;font-weight:500}.voice-type-table tbody th{font-weight:500}.voice-type-table tbody td{color:var(--color-ink);font-family:var(--font-mono),monospace}.voice-types-note{grid-column:2;margin:0;font-size:.9rem}.voice-types-note a{color:var(--color-accent-strong);text-underline-offset:.2em}.site-footer{border-top:1px solid var(--color-line);position:static}.footer-inner{gap:var(--space-8);padding-block:var(--space-8);grid-template-columns:1fr auto auto;align-items:center;font-size:.875rem;display:grid}.footer-inner p{margin:0}.footer-inner p:nth-child(2){color:var(--color-muted)}@media (max-width:42rem){.desktop-nav{display:none}.mobile-nav{display:block}.about-grid,.compact-grid,.education-grid,.experience-item,.intro,.project-card,.section-heading,.skill-grid{grid-template-columns:1fr}.intro{gap:var(--space-12)}.intro-portrait{width:min(72vw,17rem);margin-inline:auto}.section-heading{gap:0}.section-number{margin-bottom:var(--space-3)}.footer-inner{gap:var(--space-2)}.calculator-help,.calculator-layout,.field-grid,.footer-inner,.voice-types{grid-template-columns:1fr}.calculator-result{min-height:22rem}.calculator-help>p,.voice-types-note{grid-column:1}.song-source{grid-template-columns:1fr}.song-source>div+div{border-top:1px solid var(--color-line);border-left:0;padding-left:0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (forced-colors:active){.experience-item,.mobile-nav li+li,.mobile-nav nav,.resume-section,.site-footer,.site-header{border-color:canvastext}}