/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{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}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, 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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{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{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,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{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-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{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.table{display:table}.delay-1{transition-delay:1ms}}:root{--background:#fff;--foreground:#1d1d1f;--muted:#6e6e73;--muted-strong:#424245;--line:#e8e8ed;--line-strong:#d2d2d7;--panel:#f5f5f7;--panel-raised:#fff;--accent:#0071e3;--accent-soft:#f0f7ff;--accent-line:#c9def7;--hero-grid-line:#b0bed380;--hero-grid-opacity:1;--shadow:0 24px 70px #0000000f;--header-bg:#ffffffdb;--max-width:1160px}:root[data-theme=dark]{--background:#0b0d10;--foreground:#f5f5f7;--muted:#a1a1a6;--muted-strong:#d2d2d7;--line:#252932;--line-strong:#343946;--panel:#111419;--panel-raised:#171b21;--accent:#6aa9ff;--accent-soft:#102033;--accent-line:#284a74;--hero-grid-line:#4e638052;--hero-grid-opacity:.9;--shadow:0 24px 70px #00000052;--header-bg:#0b0d10d6}*{box-sizing:border-box}html{background:var(--background);scroll-behavior:smooth}body{background:var(--background);color:var(--foreground);text-rendering:optimizelegibility;min-height:100vh;margin:0;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Segoe UI,system-ui,sans-serif;transition:background-color .22s,color .22s}body:before{content:"";pointer-events:none;z-index:-1;background:radial-gradient(at 50% 0,#0071e30f,#0000 34rem),linear-gradient(#f5f5f700,#0000);position:fixed;inset:0}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}::selection{background:var(--accent-soft);color:var(--foreground)}.container{max-width:var(--max-width);width:100%;margin:0 auto;padding:0 28px}.section-pad{padding:128px 0}.site-header{-webkit-backdrop-filter:saturate(180%)blur(28px);backdrop-filter:saturate(180%)blur(28px);background:var(--header-bg);border-bottom:1px solid var(--line);min-height:72px;padding:0 max(28px, calc((100vw - var(--max-width)) / 2 + 28px));z-index:20;grid-template-columns:auto 1fr auto;align-items:center;transition:background-color .22s,border-color .22s;display:grid;position:sticky;top:0}.brand-mark{background:var(--foreground);border:1px solid var(--foreground);color:var(--background);letter-spacing:0;border-radius:8px;justify-content:center;align-items:center;width:48px;height:38px;transition:border-color .18s,transform .18s;display:inline-flex}.brand-mark:hover{border-color:var(--accent);background:var(--accent);transform:translateY(-1px)}.brand-mark span{font-size:.74rem;font-weight:700}.desktop-nav{justify-content:center;align-items:center;gap:28px;display:flex}.desktop-nav a,.mobile-nav a{color:var(--muted);font-size:.92rem;font-weight:500;transition:color .18s}.desktop-nav a:hover,.mobile-nav a:hover{color:var(--foreground)}.header-actions{align-items:center;gap:10px;display:flex}.theme-toggle,.menu-toggle{background:var(--panel-raised);align-items:center}@supports (color:color-mix(in lab, red, red)){.theme-toggle,.menu-toggle{background:color-mix(in srgb, var(--panel-raised) 82%, transparent)}}.theme-toggle,.menu-toggle{border:1px solid var(--line);color:var(--foreground);cursor:pointer;border-radius:999px;justify-content:center;width:40px;height:40px;transition:border-color .18s,transform .18s,background .18s;display:inline-flex}.theme-toggle:hover,.menu-toggle:hover{border-color:var(--accent-line);transform:translateY(-1px)}.theme-toggle span{background:var(--foreground);box-shadow:inset -5px -4px 0 var(--panel);border-radius:50%;width:16px;height:16px;transition:box-shadow .18s,transform .18s;display:block}:root[data-theme=dark] .theme-toggle span{box-shadow:inset 0 0 0 4px var(--panel);transform:rotate(25deg)}.menu-toggle{flex-direction:column;gap:5px;display:none}.menu-toggle span{background:var(--foreground);width:17px;height:1px;display:block}.mobile-nav{background:var(--header-bg);border-bottom:1px solid var(--line);grid-column:1/-1;gap:18px;padding:18px 0 22px;display:none}.hero-section{min-height:calc(100vh - 72px);position:relative;overflow:hidden}.hero-section:after{background:linear-gradient(180deg, transparent, var(--background));content:"";pointer-events:none;height:22vh;position:absolute;bottom:0;left:0;right:0}.hero-backdrop{opacity:.9;pointer-events:none;position:absolute;inset:0}.hero-backdrop:before{background-image:linear-gradient(var(--hero-grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--hero-grid-line) 1px, transparent 1px);content:"";opacity:var(--hero-grid-opacity);background-size:92px 92px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 68%);mask-image:linear-gradient(#000,#0000 68%)}.hero-backdrop span{background:var(--accent);opacity:.16;border-radius:999px;width:6px;height:6px;position:absolute}.hero-backdrop span:first-child{top:28%;left:18%}.hero-backdrop span:nth-child(2){top:36%;right:23%}.hero-backdrop span:nth-child(3){bottom:30%;left:58%}.hero-content{text-align:center;z-index:1;flex-direction:column;align-items:center;min-height:68vh;padding-top:9vh;display:flex;position:relative}.hero-portrait{background:linear-gradient(var(--panel-raised), var(--panel-raised)) padding-box, linear-gradient(145deg, var(--accent-line), transparent 46%, var(--line)) border-box;border:1px solid #0000;border-radius:999px;width:138px;height:138px;margin-bottom:28px;padding:5px;overflow:hidden;box-shadow:0 18px 50px #00000014,inset 0 1px #ffffffb8}.hero-portrait img{border-radius:inherit;object-fit:cover;object-position:center 38%;width:100%;height:100%;display:block}.eyebrow{color:var(--accent);letter-spacing:0;text-transform:uppercase;margin:0 0 20px;font-size:.78rem;font-weight:700}h1,h2,h3,p{margin-top:0}h1{letter-spacing:0;max-width:980px;margin-bottom:28px;font-size:6rem;font-weight:700;line-height:.94}.hero-content h1{white-space:nowrap;max-width:none;font-size:5.4rem;font-weight:720}h2{letter-spacing:0;margin-bottom:22px;font-size:3.8rem;font-weight:680;line-height:1}h3{letter-spacing:0;font-size:1.05rem;font-weight:650;line-height:1.25}.role-stack{color:var(--muted-strong);flex-wrap:wrap;justify-content:center;gap:10px 18px;margin-bottom:26px;font-size:1.24rem;display:flex}.role-stack span{align-items:center;gap:18px;display:inline-flex}.role-stack span:not(:last-child):after{background:var(--accent);content:"";opacity:.45;border-radius:999px;width:5px;height:5px}.hero-intro{color:var(--muted);max-width:760px;margin-bottom:38px;font-size:1.28rem;line-height:1.6}.hero-actions,.contact-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.hero-actions{margin-bottom:clamp(2.75rem,5vw,5rem)}.button{border:1px solid var(--line-strong);border-radius:999px;justify-content:center;align-items:center;min-height:48px;padding:0 24px;font-size:.96rem;font-weight:650;transition:background .18s,border-color .18s,color .18s,transform .18s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--foreground);border-color:var(--foreground);color:var(--background)}.button-secondary{background:var(--panel-raised)}@supports (color:color-mix(in lab, red, red)){.button-secondary{background:color-mix(in srgb, var(--panel-raised) 82%, transparent)}}.button-secondary{color:var(--foreground)}.button-quiet{color:var(--muted-strong);background:0 0}.button-secondary:hover,.button-quiet:hover{border-color:var(--accent);color:var(--foreground)}.signal-strip,.metrics-grid{z-index:1;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:clamp(1rem,2vw,1.75rem);display:grid;position:relative}.metrics-grid{grid-template-columns:repeat(6,minmax(0,1fr));max-width:1240px}.signal-card{background:var(--panel-raised);align-items:center}@supports (color:color-mix(in lab, red, red)){.signal-card{background:color-mix(in srgb, var(--panel-raised) 90%, transparent)}}.signal-card{border:1px solid var(--line);border-radius:8px;gap:12px;min-height:78px;padding:18px;display:flex}.signal-card span{background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:999px;width:12px;height:12px}.signal-card p{color:var(--muted-strong);margin:0;font-size:.94rem;font-weight:620}.metric-card{background:var(--panel-raised)}@supports (color:color-mix(in lab, red, red)){.metric-card{background:color-mix(in srgb, var(--panel-raised) 78%, transparent)}}.metric-card{border:1px solid var(--line)}@supports (color:color-mix(in lab, red, red)){.metric-card{border:1px solid color-mix(in srgb, var(--line) 84%, transparent)}}.metric-card{border-radius:8px;min-height:126px;padding:24px 20px;box-shadow:inset 0 1px #ffffff73}.metric-card p{color:var(--foreground);margin-bottom:12px;font-size:1.38rem;font-weight:720;line-height:1.08}.metric-card span{color:var(--muted);font-size:.82rem;font-weight:620;line-height:1.35;display:block}.two-column{grid-template-columns:.8fr 1.2fr;gap:88px;display:grid}.section-heading{max-width:760px}.section-heading.centered{text-align:center;margin:0 auto 64px}.section-heading p,.body-copy p,.case-card p,.skill-card li,.detail-block p,.detail-block li,.artifact-card p,.case-row p,.contact-section p{color:var(--muted);line-height:1.7}.body-copy{font-size:1.05rem}.principles-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:32px;display:grid}.principle-card,.skill-card,.writing-card,.case-card,.detail-block,.artifact-card,.case-row{background:var(--panel-raised);border:1px solid var(--line)}@supports (color:color-mix(in lab, red, red)){.principle-card,.skill-card,.writing-card,.case-card,.detail-block,.artifact-card,.case-row{border:1px solid color-mix(in srgb, var(--line) 88%, transparent)}}.principle-card,.skill-card,.writing-card,.case-card,.detail-block,.artifact-card,.case-row{box-shadow:none;border-radius:8px;transition:border-color .18s,box-shadow .18s,transform .18s,background-color .18s}.principle-card{padding:20px}.principle-card p{color:var(--muted-strong);margin:0;font-size:.96rem;line-height:1.6}.case-band,.focus-band,.resume-band{background:var(--panel);border-bottom:1px solid var(--line)}@supports (color:color-mix(in lab, red, red)){.case-band,.focus-band,.resume-band{border-bottom:1px solid color-mix(in srgb, var(--line) 72%, transparent)}}.case-band,.focus-band,.resume-band{border-top:1px solid var(--line)}@supports (color:color-mix(in lab, red, red)){.case-band,.focus-band,.resume-band{border-top:1px solid color-mix(in srgb, var(--line) 72%, transparent)}}.case-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.case-card{min-height:340px;padding:32px;position:relative}.case-card:hover,.skill-card:hover,.case-row:hover{border-color:var(--accent-line);box-shadow:var(--shadow);transform:translateY(-4px)}.case-card-featured{grid-column:span 2}.case-index{color:var(--accent);font-size:.8rem;font-weight:700;position:absolute;top:22px;right:24px}.case-eyebrow{text-transform:uppercase;margin-bottom:42px;font-size:.78rem;font-weight:700;color:var(--muted-strong)!important}.case-card h3{max-width:620px;margin-bottom:18px;font-size:1.8rem}.case-tags,.technology-list{flex-wrap:wrap;gap:8px;margin-top:24px;display:flex}.case-tags span,.technology-list span{background:var(--accent-soft);border:1px solid var(--accent-line);color:var(--muted-strong);border-radius:999px;padding:7px 10px;font-size:.78rem;font-weight:620}.skills-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:54px;display:grid}.skill-card{padding:30px}.skill-card h3{margin-bottom:18px}.skill-card ul,.detail-block ul{margin:0;padding:0;list-style:none}.skill-card li{border-top:1px solid var(--line);padding:10px 0}.skill-card li:first-child{border-top:0;padding-top:0}.writing-band{border-top:1px solid var(--line)}.writing-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:54px;display:grid}.writing-card{padding:30px}.writing-card span{background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:999px;width:12px;height:12px;margin-bottom:30px;display:block}.writing-card h3{margin-bottom:12px}.writing-card p{color:var(--muted);margin-bottom:0;line-height:1.7}.resume-layout{grid-template-columns:.82fr 1.18fr;align-items:start;gap:64px;display:grid}.resume-layout .button{margin-top:16px}.resume-viewer{background:var(--panel-raised);border:1px solid var(--line)}@supports (color:color-mix(in lab, red, red)){.resume-viewer{border:1px solid color-mix(in srgb, var(--line) 88%, transparent)}}.resume-viewer{box-shadow:var(--shadow);border-radius:8px;min-height:640px;overflow:hidden}.resume-viewer object{border:0;width:100%;height:72vh;min-height:640px;display:block}.contact-section{text-align:center;max-width:760px;margin:0 auto}.contact-section h2{margin-bottom:18px}.contact-section p{max-width:600px;margin:0 auto 30px;font-size:1.1rem}.site-footer{border-top:1px solid var(--line);padding:28px 0}.site-footer .container{justify-content:space-between;align-items:center;gap:16px;display:flex}.site-footer p{color:var(--muted);margin:0;font-size:.9rem}.page-kicker{color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:48px;font-size:.92rem;display:flex}.page-kicker a{color:var(--muted-strong)}.page-kicker a:hover{color:var(--accent)}.case-list-page h1,.case-detail-page h1{max-width:1040px;font-size:5.2rem}.case-list{gap:18px;margin-top:64px;display:grid}.case-row{grid-template-columns:64px minmax(0,1fr);align-items:start;gap:28px;padding:38px;display:grid}.case-row-number{color:var(--accent);padding-top:7px;font-size:.9rem;font-weight:750;line-height:1}.case-row-content{min-width:0}.case-row h2{margin-bottom:14px;font-size:2.42rem}.case-row p{max-width:820px;margin-bottom:0}.case-row .case-row-eyebrow{color:var(--muted-strong);text-transform:uppercase;margin:0 0 22px;font-size:.76rem;font-weight:700;line-height:1.25}.case-hero{max-width:980px}.case-hero>p:not(.eyebrow){color:var(--muted);max-width:820px;font-size:1.24rem;line-height:1.65}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:84px;display:grid}.detail-block{padding:32px}.detail-block:first-child,.detail-block:nth-child(2),.detail-block:nth-child(4),.detail-block:nth-child(8){grid-column:span 2}.detail-label{text-transform:uppercase;margin-bottom:14px;font-size:.78rem;font-weight:750;color:var(--foreground)!important}.detail-block li{padding:8px 0 8px 22px;position:relative}.detail-block li:before{background:var(--accent);content:"";border-radius:999px;width:5px;height:5px;position:absolute;top:20px;left:0}.artifact-section{margin-top:112px}.artifact-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:38px;display:grid}.artifact-card{overflow:hidden}.artifact-visual{background:linear-gradient(135deg, var(--accent-soft), transparent 68%), linear-gradient(90deg, transparent, var(--line));align-items:center}@supports (color:color-mix(in lab, red, red)){.artifact-visual{background:linear-gradient(135deg, var(--accent-soft), transparent 68%), linear-gradient(90deg, transparent, color-mix(in srgb, var(--line) 52%, transparent))}}.artifact-visual{border-bottom:1px solid var(--line);gap:8px;min-height:150px;padding:22px;display:grid}.artifact-visual span{background:var(--panel-raised);border:1px solid var(--line-strong);border-radius:999px;width:72%;height:10px;display:block}.artifact-visual span:nth-child(2){width:48%}.artifact-visual span:nth-child(3){width:62%}.artifact-card h3,.artifact-card p{padding:0 22px}.artifact-card h3{margin-top:22px}.artifact-card p{margin-bottom:24px}.reveal{animation:.76s cubic-bezier(.2,.8,.2,1) both reveal-up}.delay-1{animation-delay:.12s}@keyframes reveal-up{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media (width<=980px){h1{font-size:4.6rem}.hero-content h1{font-size:4.2rem}h2{font-size:3rem}.role-stack{font-size:1.12rem}.case-list-page h1,.case-detail-page h1{font-size:4rem}.case-row h2{font-size:2.12rem}.desktop-nav{display:none}.menu-toggle{display:inline-flex}.mobile-nav.is-open{display:grid}.site-header{padding-left:22px;padding-right:22px}.signal-strip,.metrics-grid,.case-grid,.skills-grid,.writing-grid,.artifact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.two-column,.resume-layout,.detail-grid{grid-template-columns:1fr}.detail-block:nth-child(n),.case-card-featured{grid-column:auto}}@media (width<=680px){h1,.hero-content h1{font-size:3.1rem}h2{font-size:2.25rem}.hero-intro{font-size:1.08rem}.case-list-page h1,.case-detail-page h1{font-size:2.75rem}.case-card h3,.case-row h2{font-size:1.65rem}.case-hero>p:not(.eyebrow){font-size:1.1rem}.container{padding-left:20px;padding-right:20px}.section-pad{padding:86px 0}.hero-content{min-height:58vh;padding-top:6vh}.hero-portrait{width:112px;height:112px;margin-bottom:24px;padding:4px}.role-stack{flex-direction:column;align-items:center;gap:8px}.role-stack span:after{display:none}.hero-actions,.contact-actions{flex-direction:column;align-items:stretch;width:100%}.button{width:100%}.signal-strip,.metrics-grid,.principles-grid,.case-grid,.skills-grid,.writing-grid,.artifact-grid{grid-template-columns:1fr}.signal-card,.metric-card,.case-card{min-height:auto}.case-card{padding:26px}.resume-viewer,.resume-viewer object{min-height:520px}.case-row{grid-template-columns:1fr;gap:22px;padding:26px}.case-row-number{padding-top:0}.case-row .case-row-eyebrow{margin-bottom:18px}.site-footer .container{flex-direction:column;align-items:flex-start}}@media (width<=520px){.hero-content h1{font-size:2.25rem}}@media (width<=380px){.hero-content h1{font-size:1.78rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
