/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--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,-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;-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:where(:not(iframe)){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}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.float-left{float:left}.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}}.m-1{margin:var(--spacing)}.m-2{margin:calc(var(--spacing) * 2)}.m-3{margin:calc(var(--spacing) * 3)}.m-4{margin:calc(var(--spacing) * 4)}.m-5{margin:calc(var(--spacing) * 5)}.mx-1{margin-inline:var(--spacing)}.mx-2{margin-inline:calc(var(--spacing) * 2)}.mx-3{margin-inline:calc(var(--spacing) * 3)}.mx-4{margin-inline:calc(var(--spacing) * 4)}.mx-5{margin-inline:calc(var(--spacing) * 5)}.my-1{margin-block:var(--spacing)}.my-2{margin-block:calc(var(--spacing) * 2)}.my-3{margin-block:calc(var(--spacing) * 3)}.my-4{margin-block:calc(var(--spacing) * 4)}.my-5{margin-block:calc(var(--spacing) * 5)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mr-1{margin-right:var(--spacing)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mr-3{margin-right:calc(var(--spacing) * 3)}.mr-4{margin-right:calc(var(--spacing) * 4)}.mr-5{margin-right:calc(var(--spacing) * 5)}.mb-1{margin-bottom:var(--spacing)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.ml-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-3{margin-left:calc(var(--spacing) * 3)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-5{margin-left:calc(var(--spacing) * 5)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.flex-shrink{flex-shrink:1}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.border{border-style:var(--tw-border-style);border-width:1px}.p-1{padding:var(--spacing)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.px-1{padding-inline:var(--spacing)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.py-1{padding-block:var(--spacing)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.pt-1{padding-top:var(--spacing)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pr-1{padding-right:var(--spacing)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pr-5{padding-right:calc(var(--spacing) * 5)}.pb-1{padding-bottom:var(--spacing)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-5{padding-bottom:calc(var(--spacing) * 5)}.pl-1{padding-left:var(--spacing)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-5{padding-left:calc(var(--spacing) * 5)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.overline{text-decoration-line:overline}.underline{text-decoration-line:underline}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{font-family:var(--font-sans);color:var(--text);background:var(--background);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;--background:#0c121b;--surface:#121b28;--surface-raised:#192536;--surface-inset:#0a1018;--text:#edf2f8;--muted:#a9b6c8;--accent:#9ebcff;--accent-hover:#c5d6ff;--accent-soft:#1b2d4a;--action:#365dce;--action-hover:#426bdf;--border:#2c3b50;--control-border:#63758f;--button-text:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{overflow-wrap:anywhere;margin:0;line-height:1.65}a,button,input,select,summary{-webkit-tap-highlight-color:transparent}a{color:inherit}button,input,select{font:inherit}button,summary{cursor:pointer}button{color:inherit}h1,h2,h3,p,ul,ol,dl,figure{margin:0}h1,h2,h3{text-wrap:balance;line-height:1.2}h1{letter-spacing:-.04em;font-size:clamp(2rem,5vw,3.5rem);font-weight:700}h2{letter-spacing:-.025em;font-size:clamp(1.5rem,3vw,2rem);font-weight:650}h3{letter-spacing:-.015em;font-size:1.125rem;font-weight:650}p,li,dd,a{overflow-wrap:anywhere}svg{max-width:100%;display:block}:focus-visible{outline:3px solid var(--accent);outline-offset:4px;border-radius:3px}#main-content:focus{outline:none}::selection{color:var(--text);background:#314c79}[id]{scroll-margin-top:6rem}.container{width:100%;max-width:76rem;margin-inline:auto;padding-inline:1rem}.app-layout{flex-direction:column;min-height:100vh;display:flex}.app-layout main{flex:1;min-width:0}.section{padding-block:3rem}.section-surface{background:var(--surface)}.section-bordered{border-top:1px solid var(--border)}.eyebrow{color:var(--accent);margin-bottom:.875rem;font-size:.8125rem;font-weight:650}.section-heading{max-width:46rem}.section-description{color:var(--muted);max-width:65ch;margin-top:1rem}.section-title-row{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1.5rem;display:flex}.text-link{color:var(--accent);text-underline-offset:.25em;font-weight:600;text-decoration:underline}.text-link:hover{color:var(--accent-hover)}.muted{color:var(--muted)}.button-primary,.button-secondary{border:1px solid #0000;border-radius:.5rem;justify-content:center;align-items:center;gap:.625rem;min-height:2.75rem;padding:.625rem 1.125rem;font-weight:600;text-decoration:none;transition:background-color .15s,border-color .15s;display:inline-flex}.button-primary{background:var(--action);color:var(--button-text);border-color:#5279e4;box-shadow:0 4px 12px #00000029}.button-primary:hover{background:var(--action-hover)}.button-secondary{border-color:var(--control-border);background:var(--surface);color:var(--text)}.button-secondary:hover{background:var(--surface-raised);border-color:var(--control-border)}.actions{flex-wrap:wrap;gap:.75rem;margin-top:1.75rem;display:flex}.skip-link{z-index:100;background:var(--action);color:var(--button-text);border-radius:.5rem;padding:.625rem 1rem;font-weight:600;position:fixed;top:1rem;left:1rem;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:40;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0}.header-row{justify-content:space-between;align-items:center;gap:1rem;min-height:4.75rem;display:flex}.brand{align-items:center;gap:.75rem;font-size:.9375rem;font-weight:650;line-height:1.3;text-decoration:none;display:inline-flex}.brand-mark{background:var(--accent-soft);width:2.25rem;height:2.25rem;color:var(--accent);border-radius:.5rem;flex-shrink:0;place-items:center;font-size:.8125rem;font-weight:700;display:grid}.brand-name{max-width:12rem}.menu-toggle{flex-shrink:0}.main-navigation{padding-bottom:1rem;display:none}.main-navigation.is-open{display:block}.main-navigation ul{flex-direction:column;gap:.25rem;padding:0;list-style:none;display:flex}.nav-link{min-height:2.75rem;color:var(--muted);border-radius:.375rem;padding:.625rem .875rem;font-size:.875rem;font-weight:600;text-decoration:none;display:block}.nav-link:hover,.nav-link[aria-current]{color:var(--accent);background:var(--accent-soft)}.nav-contact{color:var(--accent)}.hero{background:radial-gradient(ellipse at 84% 0%, #3e5b951f, transparent 60%), var(--surface);padding-block:3.5rem}.hero-content{max-width:54rem}.hero-role{color:var(--accent);letter-spacing:-.025em;margin-top:.75rem;font-size:clamp(1.25rem,3vw,1.875rem);font-weight:500}.hero-description{max-width:61ch;color:var(--muted);margin-top:1.5rem;font-size:1.125rem;line-height:1.75}.hero-skills{border-top:1px solid var(--border);color:var(--muted);flex-wrap:wrap;gap:.625rem 1.5rem;margin-top:2.5rem;padding-top:1.5rem;font-size:.875rem;display:flex}.hero-skills span{align-items:center;gap:.5rem;display:inline-flex}.hero-skills span:before{content:"";background:var(--muted);border-radius:50%;width:.375rem;height:.375rem}.project-grid{grid-template-columns:minmax(0,1fr);gap:1.5rem;margin-top:2rem;display:grid}.project-card{border:1px solid var(--border);background:var(--surface);border-radius:.75rem;flex-direction:column;min-width:0;transition:border-color .15s;display:flex;overflow:hidden;box-shadow:0 8px 22px #0000001f}.project-card:hover,.project-card:focus-within{border-color:var(--control-border)}.project-card-visual{background:linear-gradient(120deg, var(--surface-raised), var(--surface));border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;min-height:8.5rem;padding:1rem 1.5rem;display:flex}.project-card-visual svg{flex-shrink:1;width:min(8.5rem,45%);height:5.5rem}.visual-caption{min-width:0;color:var(--muted);text-align:right;max-width:11rem;font-size:.8125rem;line-height:1.6}.project-card-body{flex-direction:column;flex:1;padding:1.5rem;display:flex}.card-meta{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.875rem;font-size:.75rem;display:flex}.domain-label{color:var(--accent);font-weight:600}.confidential-label{border:1px solid var(--border);color:var(--muted);border-radius:.25rem;padding:.125rem .375rem;font-size:.6875rem}.project-card-title{font-size:1.375rem}.project-card-summary{color:var(--muted);flex:1;margin-top:.875rem;font-size:.9375rem}.badges{flex-wrap:wrap;gap:.5rem;margin-top:1.25rem;display:flex}.tech-badge{border:1px solid var(--border);background:var(--background);color:var(--muted);border-radius:.25rem;padding:.25rem .5rem;font-size:.75rem;line-height:1.4;display:inline-block}.card-link{width:fit-content;color:var(--accent);align-items:center;gap:.5rem;min-height:2.75rem;margin-top:1.5rem;font-size:.875rem;font-weight:600;text-decoration:none;display:inline-flex}.card-link:hover{text-underline-offset:.25em;text-decoration:underline}.skills-grid{gap:2rem;margin-top:2rem;display:grid}.skill-block{border-top:2px solid var(--border);padding-top:1.5rem}.skill-block p{color:var(--muted);margin-top:.75rem}.skills-list{color:var(--text);flex-wrap:wrap;gap:.25rem .875rem;margin-top:1rem;padding:0;font-size:.8125rem;font-weight:550;list-style:none;display:flex}.experience-preview{border-top:1px solid var(--border);gap:1.5rem;margin-top:3rem;padding-top:2rem;display:grid}.experience-preview p{max-width:65ch;color:var(--muted)}.contact-layout{gap:2rem;display:grid}.contact-list{gap:.75rem;padding:0;list-style:none;display:grid}.contact-list a{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0;text-decoration:none;display:flex}.contact-list a:hover .contact-detail{text-underline-offset:.25em;text-decoration:underline}.contact-label{color:var(--muted);margin-bottom:.25rem;font-size:.8125rem;display:block}.contact-detail{color:var(--accent);font-weight:600}.site-footer{background:var(--surface);border-top:1px solid var(--border);color:var(--muted);padding-block:1.75rem;font-size:.8125rem}.footer-layout{flex-direction:column;gap:1.25rem;display:flex}.footer-links{flex-wrap:wrap;gap:.75rem 1.5rem;padding:0;list-style:none;display:flex}.footer-links a{align-items:center;min-height:2.75rem;text-decoration:none;display:inline-flex}.footer-links a:hover{color:var(--accent);text-decoration:underline}.page-intro{border-bottom:1px solid var(--border);background:var(--surface);padding-block:3rem}.page-intro h1{max-width:20ch}.page-intro p:not(.eyebrow){max-width:65ch;color:var(--muted);margin-top:1.25rem;font-size:1.125rem}.filter-section{margin-top:2rem}.filter-section fieldset{border:none;min-width:0;margin:0;padding:0}.filter-section legend{margin-bottom:.875rem;font-size:.875rem;font-weight:600}.filter-options{flex-wrap:wrap;gap:.5rem;display:flex}.filter-button{border:1px solid var(--control-border);background:var(--surface);border-radius:.375rem;min-height:2.75rem;padding:.5rem .875rem;font-size:.8125rem}.filter-button[aria-pressed=true]{color:var(--button-text);background:var(--action);border-color:#5279e4}.filter-button:hover{border-color:var(--accent)}.filter-status{color:var(--muted);justify-content:space-between;align-items:center;gap:1rem;margin-top:1.5rem;font-size:.875rem;display:flex}.filter-reset{background:0 0;border:0;min-height:2.75rem;padding:.5rem;font-size:.875rem}.project-group{margin-top:2rem}.project-group>h2{font-size:1.25rem}.project-group+.project-group{margin-top:3.5rem}.empty-state{border:1px solid var(--border);background:var(--surface);border-radius:.75rem;margin-top:2rem;padding:2rem}.empty-state p{color:var(--muted);margin-top:.75rem}.case-header{background:var(--surface);border-bottom:1px solid var(--border);padding-block:2rem 3rem}.case-header .eyebrow{margin-top:2rem}.case-header h1{max-width:23ch;font-size:clamp(2rem,4vw,3rem)}.case-summary{max-width:65ch;color:var(--muted);margin-top:1.25rem;font-size:1.125rem}.case-header .confidential-note{margin-top:1.5rem}.confidential-note{border-left:3px solid var(--control-border);color:var(--muted);max-width:70ch;padding-left:1rem;font-size:.8125rem}.case-layout{gap:2rem;padding-block:2.5rem 4rem;display:grid}.case-article{min-width:0}.case-section+.case-section{border-top:1px solid var(--border);margin-top:3rem;padding-top:2.5rem}.case-section>p{color:var(--muted);max-width:70ch;margin-top:1rem}.case-section>h2{font-size:1.625rem}.case-audience{border-left:3px solid var(--accent-soft);margin-top:1.5rem;padding-left:1rem}.case-audience dt{color:var(--accent);font-size:.8125rem;font-weight:650}.case-audience dd{color:var(--muted);margin:.375rem 0 0;font-size:.9375rem}.contents{min-width:0;font-size:.875rem;display:block}.contents details{border:1px solid var(--border);background:var(--surface);border-radius:.5rem}.contents summary{padding:.875rem 1rem;font-weight:600}.contents nav{padding:0 1rem 1rem}.contents ul{padding:0;list-style:none}.contents a{color:var(--muted);padding:.5rem 0;text-decoration:none;display:block}.contents a:hover{color:var(--accent);text-underline-offset:.25em;text-decoration:underline}.contents-desktop{display:none}.feature-grid{gap:1.75rem;margin-top:1.75rem;display:grid}.feature-block{min-width:0}.feature-block h3{align-items:baseline;gap:.5rem;display:flex}.feature-block p{color:var(--muted);margin-top:.625rem;font-size:.9375rem}.architecture{gap:.875rem;margin-top:1.75rem;display:grid}.architecture-part{border:1px solid var(--border);background:var(--surface);border-radius:.5rem;min-width:0;padding:1.25rem}.architecture-part p{color:var(--muted);margin-top:.625rem;font-size:.875rem}.figure-caption{color:var(--muted);margin-top:1rem;font-size:.8125rem}.stack-group{margin-top:1.5rem}.stack-group+.stack-group{margin-top:2rem}.stack-group p{color:var(--muted);margin-top:.875rem;font-size:.9375rem}.notes-disclosure{border:1px solid var(--border);background:var(--surface);border-radius:.5rem;margin-top:1.75rem}.notes-disclosure summary{padding:1rem;font-size:.9375rem;font-weight:600}.notes-list{color:var(--muted);padding:0 1.25rem 1.25rem 2.25rem;font-size:.875rem}.notes-list li+li{margin-top:.875rem}.capability-list{color:var(--muted);margin-top:1.25rem;padding-left:1.25rem}.capability-list li+li{margin-top:.75rem}.case-next{background:var(--surface);border:1px solid var(--border);border-radius:.75rem;margin-top:3rem;padding:1.5rem}.case-next p{color:var(--muted);margin-top:.5rem;font-size:.9375rem}.about-layout{gap:3rem;display:grid}.experience-list{margin-top:1.75rem;padding:0;list-style:none}.experience-list li{border-left:2px solid var(--border);padding-left:1.25rem}.experience-list li+li{margin-top:2rem}.experience-role{color:var(--accent);margin-top:.375rem;font-size:.875rem;font-weight:600}.experience-detail{color:var(--muted);max-width:65ch;margin-top:.75rem}.education{margin-top:1.75rem}.education p{margin-top:.625rem}.education .period{color:var(--muted);font-size:.875rem}.not-found{padding-block:5rem}.not-found p{color:var(--muted);margin-top:1.25rem}@media (width>=640px){.container{padding-inline:1.5rem}.section{padding-block:3.5rem}.hero{padding-block:4.5rem}.feature-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));gap:2rem}.footer-layout{flex-direction:row;justify-content:space-between;align-items:center}}@media (width>=768px){.header-container{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;display:flex}.header-row{flex-shrink:0}.brand-name{max-width:none}.menu-toggle{display:none}.main-navigation,.main-navigation.is-open{padding:0;display:block}.main-navigation ul{flex-flow:wrap;gap:.25rem}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.skills-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}.experience-preview{grid-template-columns:1fr 2fr}.contact-layout{grid-template-columns:1fr 1fr;gap:3rem}.page-intro,.case-header{padding-block:3rem}}@media (width>=1024px){.container{padding-inline:2rem}.section{padding-block:4.5rem}.hero{padding-block:5rem}.project-grid-index{grid-template-columns:repeat(3,minmax(0,1fr))}.project-grid-index .project-card-visual{min-height:7.5rem;padding-inline:1.25rem}.project-grid-index .project-card-visual svg{width:6.5rem}.project-grid-index .visual-caption{font-size:.75rem}.project-grid-index .project-card-title{font-size:1.25rem}.case-layout{grid-template-columns:12rem minmax(0,1fr);gap:3rem;padding-block:3rem 4.5rem}.contents details{display:none}.contents-desktop{display:block;position:sticky;top:7rem}.contents-desktop>p{margin-bottom:.75rem;font-size:.8125rem;font-weight:650}.contents-desktop nav{padding:0}.case-article{max-width:52rem}.architecture{grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr))}.about-layout{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:4rem}}@media (width<=399px){.brand-name{max-width:10rem;font-size:.8125rem}.actions{flex-direction:column;align-items:stretch}.project-card-body{padding:1.25rem}.project-card-visual{padding-inline:1.25rem}}@media (height<=500px){.site-header,.contents-desktop{position:static}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}
