@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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}}}@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{.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}}:root{--felt:#073b2b;--felt-dark:#03291d;--table-black:#0c0e0b;--table-soft:#171914;--cream:#f5edda;--cream-deep:#e3d4b7;--red:#bd3141;--red-dark:#842130;--gold:#e6bd58;--muted:#bdb8ad;--display:Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;--sans:Arial, Helvetica, sans-serif;--serif:Georgia, "Times New Roman", serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background-color:var(--felt);background-image:linear-gradient(#0000001f 1px, transparent 1px), linear-gradient(90deg, #0000001f 1px, transparent 1px), repeating-conic-gradient(from 45deg, #ffffff06 0 25%, transparent 0 50%);min-height:100vh;color:var(--cream);font-family:var(--sans);text-rendering:optimizelegibility;background-size:24px 24px,24px 24px,48px 48px;margin:0}body:before,body:after{z-index:0;color:#f5edda0e;font-family:var(--serif);pointer-events:none;font-size:clamp(12rem,25vw,25rem);line-height:1;position:fixed}body:before{content:"♠";top:-6vw;left:-5vw;transform:rotate(-12deg)}body:after{content:"♥";color:#bd31411c;bottom:-10vw;right:-5vw;transform:rotate(12deg)}a{color:inherit}::selection{background:var(--gold);color:var(--table-black)}.skip-link{z-index:100;border:2px solid var(--cream);background:var(--table-black);color:var(--cream);padding:10px 14px;transition:transform .16s;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.site-shell{z-index:1;border:2px solid var(--red);background:var(--table-black);width:min(100% - 32px,1120px);margin:32px auto;position:relative;overflow:hidden;box-shadow:12px 14px #0000003d}.site-header{background:linear-gradient(100deg, transparent 0 38%, #ffffff1a 50%, transparent 62%), linear-gradient(180deg, #c84350, var(--red));text-align:center;place-content:center;min-height:118px;padding:20px;display:grid}.wordmark{font-family:var(--display);letter-spacing:.025em;text-shadow:3px 4px #00000059;font-size:clamp(2rem,5vw,3.8rem);line-height:1;text-decoration:none}.wordmark span:first-child{color:var(--cream)}.wordmark span:nth-child(2){color:var(--gold)}.site-header p{font-family:var(--serif);letter-spacing:.04em;margin:9px 0 0;font-size:.86rem}.nav-links{border-bottom:2px solid var(--red);color:#e1d8c8;background:#12130f;align-items:center;gap:17px;min-height:35px;padding:7px 14px;font-size:.76rem;display:flex}.nav-links strong{color:var(--gold)}.nav-links a{color:#d78b95;text-underline-offset:3px;text-decoration-thickness:1px}.nav-links a:hover,.nav-links a:focus-visible{color:var(--cream)}.nav-status{color:#8f8b82;margin-left:auto}.profile-layout{grid-template-columns:278px minmax(0,1fr);gap:14px;padding:14px;display:grid}.profile-rail,.profile-main{min-width:0}.profile-rail{flex-direction:column;gap:12px;display:flex}.portrait-card{border:3px solid var(--cream);background:var(--cream);color:#161713;min-height:330px;box-shadow:5px 5px 0 var(--red-dark);border-radius:15px;padding:18px;position:relative;overflow:hidden}.portrait-card:after{content:"";pointer-events:none;border:1px solid #0c0e0b73;border-radius:8px;position:absolute;inset:9px}.card-corner{z-index:2;font-family:var(--serif);text-align:center;font-size:1.35rem;font-weight:700;line-height:.9;position:absolute}.card-corner-top{top:18px;left:17px}.card-corner-bottom{bottom:18px;right:17px;transform:rotate(180deg)}.portrait-placeholder{background:radial-gradient(circle at center, #bd31411c, transparent 60%), var(--cream-deep);text-align:center;border:1px dashed #0c0e0b8c;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:55px 40px}.portrait-suit{color:var(--red);font-family:var(--serif);font-size:5.5rem;line-height:.85}.portrait-placeholder p{font-family:var(--display);letter-spacing:.035em;text-transform:uppercase;margin:17px 0 7px;font-size:1.2rem}.portrait-placeholder small{max-width:160px;font-size:.68rem;line-height:1.35}.profile-panel{border:2px solid var(--red);background:#10120e}.profile-panel>h2{background:var(--red);color:var(--cream);font-family:var(--display);letter-spacing:.04em;text-transform:uppercase;margin:0;padding:7px 10px 6px;font-size:1rem;font-weight:400;line-height:1}.profile-panel>h2 span{color:var(--gold)}.panel-body{padding:12px}.profile-links .panel-body{gap:0;display:grid}.profile-links a{color:#d78791;border-bottom:1px dotted #55484a;padding:8px 3px;font-size:.82rem;text-decoration:none}.profile-links a:last-child{border-bottom:0}.profile-links a span{width:20px;color:var(--cream);display:inline-block}.profile-links a:hover,.profile-links a:focus-visible{color:var(--gold)}.mini-details{gap:7px;margin:0;font-size:.75rem;display:grid}.mini-details div{grid-template-columns:86px 1fr;gap:9px;display:grid}.mini-details dt{color:#d78791}.mini-details dd{color:var(--muted);margin:0}.extended-network{border:2px solid var(--red);text-align:center;padding:16px 12px}.extended-network p,.extended-network span{color:#8d8981;margin:0;font-size:.7rem}.extended-network strong{color:var(--red);font-family:var(--display);letter-spacing:.04em;margin:5px 0;font-size:1.15rem;display:block}.profile-main{flex-direction:column;gap:12px;display:flex}.identity-card{border-bottom:1px solid #392c2e;min-height:124px;padding:4px 4px 14px}.identity-kicker{letter-spacing:.16em;font-weight:700;color:var(--gold)!important;margin:0 0 2px!important;font-size:.64rem!important}.identity-card h1{font-family:var(--display);letter-spacing:.02em;text-shadow:3px 3px 0 var(--red-dark);margin:0 0 5px;font-size:clamp(2.5rem,6vw,4.6rem);font-weight:400;line-height:.92}.identity-card p{color:#aaa69d;margin:4px 0;font-size:.78rem}.identity-card strong,.profile-copy .red-suit,.red-suit{color:#e84c5e}.profile-copy{color:#c9c4ba;font-size:.86rem;line-height:1.55}.profile-copy p{margin:0 0 10px}.profile-copy p:last-child{margin-bottom:0}.interest-cloud{color:#c9c4ba;flex-wrap:wrap;gap:8px 16px;font-size:.8rem;display:flex}.interest-cloud b{color:var(--gold)}.mechanical-feature{grid-template-columns:minmax(180px,.78fr) minmax(0,1.22fr);gap:16px;display:grid}.project-photo-slot{outline:1px solid var(--cream-deep);outline-offset:-8px;background:repeating-linear-gradient(135deg, #00000009 0 8px, transparent 8px 16px), var(--cream);color:#171913;text-align:center;border:2px solid #171913;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;min-height:238px;padding:18px;display:flex}.project-photo-slot>span{color:var(--red);font-family:var(--serif);font-size:4.2rem;font-weight:700}.project-photo-slot p{font-family:var(--display);letter-spacing:.03em;text-transform:uppercase;margin:12px 0 5px;font-size:1.2rem}.project-photo-slot small{color:#565247;max-width:190px;font-size:.68rem;line-height:1.4}.mechanical-copy{flex-direction:column;align-items:flex-start;display:flex}.micro-label{color:var(--gold);letter-spacing:.11em;margin:0;font-size:.65rem;font-weight:700}.mechanical-copy h3{font-family:var(--display);letter-spacing:.02em;margin:7px 0 8px;font-size:clamp(2rem,4vw,3.4rem);font-weight:400;line-height:.95}.mechanical-copy>p:not(.micro-label){color:#c2bdb4;margin:0;font-size:.82rem;line-height:1.55}.tag-list{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.tag-list span{color:#d78791;text-transform:uppercase;border:1px solid;padding:5px 8px;font-size:.62rem;line-height:1}.pixel-link,.collection-link{color:var(--gold);text-underline-offset:4px;font-size:.76rem;font-weight:700}.pixel-link{margin-top:auto;padding-top:18px}.software-preview-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.software-preview{background:var(--cream);color:#171913;min-width:0;box-shadow:3px 4px 0 var(--red-dark);border-radius:8px;padding:7px 7px 10px;text-decoration:none;transition:transform .15s}.software-preview:nth-child(2){transform:rotate(1deg)}.software-preview:nth-child(3){transform:rotate(-1deg)}.software-preview:hover,.software-preview:focus-visible{transform:translateY(-3px)rotate(0)}.software-preview-image{aspect-ratio:16/10;background:#151712;border:1px solid #2d2e28;margin-bottom:9px;position:relative;overflow:hidden}.software-preview-image img{object-fit:cover}.software-preview-image.is-contain img{object-fit:contain;padding:6px}.software-preview strong,.software-preview>span{display:block}.software-preview strong{font-family:var(--display);letter-spacing:.025em;font-size:1rem;font-weight:400;line-height:1}.software-preview>span{color:#736b5c;text-transform:uppercase;margin-top:5px;font-size:.58rem}.collection-link{border-top:1px dotted #55484a;justify-content:space-between;margin-top:16px;padding:10px 0 2px;display:flex}.experience-stack{padding-top:0;padding-bottom:0}.experience-entry{border-bottom:1px dotted #55484a;grid-template-columns:155px 1fr;gap:16px;padding:14px 0;display:grid}.experience-entry:last-child{border-bottom:0}.experience-entry span{color:var(--gold);letter-spacing:.07em;text-transform:uppercase;font-size:.63rem}.experience-entry h3{font-family:var(--display);letter-spacing:.02em;margin:5px 0 0;font-size:1.4rem;font-weight:400;line-height:1}.experience-entry p{color:#bdb8af;margin:0;font-size:.76rem;line-height:1.52}.experience-entry .experience-org{color:#d78791;margin-bottom:6px}.skill-table{color:#c9c4ba;gap:8px;font-size:.78rem;display:grid}.skill-table div{grid-template-columns:72px 1fr;gap:8px;display:grid}.skill-table strong{color:#d78791}.outside-grid{grid-template-columns:repeat(3,1fr);gap:9px;display:grid}.outside-grid a{color:#c9c4ba;border:1px solid #534348;min-height:130px;padding:12px;text-decoration:none}.outside-grid a:hover,.outside-grid a:focus-visible{border-color:var(--gold);background:#e6bd580f}.outside-grid a>span{color:var(--gold);font-family:var(--serif);font-size:1.25rem}.outside-grid strong{color:var(--cream);font-family:var(--display);letter-spacing:.03em;text-transform:uppercase;margin-top:14px;font-size:1.05rem;font-weight:400;display:block}.outside-grid p{margin:6px 0 0;font-size:.68rem;line-height:1.4}.contact-panel .panel-body{justify-content:space-between;align-items:center;gap:20px;display:flex}.contact-panel p{color:#c9c4ba;margin:0;font-size:.8rem}.message-button{border:1px solid var(--cream);background:var(--red);font-family:var(--display);letter-spacing:.04em;text-transform:uppercase;box-shadow:3px 3px 0 var(--cream-deep);flex:none;padding:9px 14px;font-size:.95rem;text-decoration:none}.message-button:hover,.message-button:focus-visible{background:var(--red-dark)}.site-footer{border-top:2px solid var(--red);color:#716d67;text-align:center;justify-content:center;align-items:center;gap:20px;min-height:48px;padding:11px 16px;font-size:.62rem;display:flex}.site-footer p{margin:0}.site-footer p span{color:var(--red)}.site-footer a{color:#9e5a63;text-underline-offset:3px}.coding-shell,.detail-shell{background:var(--table-black)}.coding-hero{border-bottom:2px solid var(--red);background:radial-gradient(circle at 85% 30%,#bd314138,#0000 25%),repeating-linear-gradient(135deg,#0000 0 20px,#ffffff05 20px 40px),#10130f;grid-template-columns:minmax(0,1.15fr) minmax(270px,.85fr);align-content:center;gap:18px 50px;min-height:460px;padding:54px clamp(18px,5vw,62px);display:grid;position:relative}.coding-hero:after{content:"A♠";color:#f5edda14;font-family:var(--serif);font-size:clamp(5rem,12vw,10rem);font-weight:700;position:absolute;bottom:20px;right:clamp(18px,4vw,50px)}.breadcrumb,.eyebrow{z-index:1;color:var(--gold);letter-spacing:.11em;text-transform:uppercase;text-underline-offset:4px;font-size:.68rem;font-weight:700;position:relative}.coding-hero .breadcrumb,.coding-hero>.eyebrow{grid-column:1/-1;width:fit-content;margin:0}.coding-hero h1{z-index:1;font-family:var(--display);letter-spacing:.015em;text-shadow:4px 5px 0 var(--red-dark);text-transform:uppercase;margin:0;font-size:clamp(4rem,9vw,7.7rem);font-weight:400;line-height:.84;position:relative}.coding-hero h1 em{color:var(--gold);font-style:normal}.coding-hero-copy{z-index:1;position:relative}.coding-hero-copy>p{color:#c5c0b7;margin:0;font-size:.86rem;line-height:1.65}.coding-meta{flex-wrap:wrap;gap:7px;margin-top:20px;display:flex}.coding-meta span{border:1px solid var(--red);color:#d78791;letter-spacing:.05em;text-transform:uppercase;padding:6px 9px;font-size:.58rem}.coding-grid{background:radial-gradient(circle at 10% 20%, #ffffff06, transparent 30%), var(--felt-dark);grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,3vw,32px);padding:clamp(34px,6vw,68px) clamp(18px,5vw,62px);display:grid}.coding-card{border:8px solid var(--cream);background:var(--cream);color:#171913;min-width:0;box-shadow:7px 8px 0 #00000047, 10px 11px 0 var(--red-dark);border-radius:15px;flex-direction:column;transition:transform .17s;display:flex;overflow:hidden}.coding-card:nth-child(2n){transform:rotate(.65deg)}.coding-card:nth-child(3n){transform:rotate(-.65deg)}.coding-card:hover{transform:translateY(-5px)rotate(0)}.coding-card-featured{grid-column:1/-1;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);display:grid}.coding-card-image{aspect-ratio:16/10;background:#171913;border:1px solid #252720;display:block;position:relative;overflow:hidden}.coding-card-featured .coding-card-image{aspect-ratio:auto;min-height:500px}.coding-card-image img{object-fit:cover;transition:transform .22s}.coding-card-image.is-contain{background:var(--cream-deep)}.coding-card-image.is-contain img{object-fit:contain;padding:20px}.coding-card-image:hover img,.coding-card-image:focus-visible img{transform:scale(1.02)}.coding-card-image>span{z-index:1;aspect-ratio:1;background:var(--cream);width:38px;color:var(--red);font-family:var(--serif);box-shadow:2px 2px 0 var(--red-dark);border-radius:50%;place-items:center;font-size:.7rem;font-weight:700;display:grid;position:absolute;top:10px;left:10px}.coding-card-body{outline-offset:-7px;outline:1px solid #17191359;flex-direction:column;min-height:310px;padding:clamp(18px,3vw,30px);display:flex}.coding-card-status{color:var(--red);letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:.62rem;font-weight:700}.coding-card h2{font-family:var(--display);letter-spacing:.02em;text-transform:uppercase;margin:13px 0 0;font-size:clamp(2rem,4vw,3.6rem);font-weight:400;line-height:.95}.coding-card-body>p:not(.coding-card-status){color:#4f4b41;margin:16px 0 20px;font-size:.8rem;line-height:1.55}.coding-card .tag-list span{color:var(--red-dark)}.coding-card-links{flex-wrap:wrap;gap:14px;margin-top:auto;padding-top:24px;display:flex}.coding-card-links a{color:var(--red-dark);text-underline-offset:4px;font-size:.7rem;font-weight:700}.detail-hero{border-bottom:2px solid var(--red);background:linear-gradient(90deg,#bd31411f,#0000 40%),#11130f;flex-direction:column;justify-content:center;min-height:510px;padding:clamp(45px,8vw,90px) clamp(18px,6vw,76px);display:flex;position:relative;overflow:hidden}.detail-hero:after{content:"♣";color:#e6bd5814;font-family:var(--serif);font-size:clamp(12rem,28vw,24rem);line-height:1;position:absolute;bottom:-6vw;right:-2vw}.detail-hero .breadcrumb,.detail-hero .eyebrow,.detail-hero h1,.detail-intro,.detail-meta{z-index:1;position:relative}.detail-hero .breadcrumb{width:fit-content;margin-bottom:38px}.detail-hero .eyebrow{margin:0 0 9px}.detail-hero h1{max-width:900px;font-family:var(--display);letter-spacing:.015em;text-shadow:4px 5px 0 var(--red-dark);text-transform:uppercase;margin:0;font-size:clamp(4rem,10vw,8.5rem);font-weight:400;line-height:.86}.detail-intro{color:#c8c3ba;max-width:720px;font-family:var(--serif);margin:24px 0 0;font-size:clamp(1rem,2vw,1.3rem);line-height:1.55}.detail-meta{flex-wrap:wrap;gap:12px;margin-top:32px;display:flex}.detail-meta>div{border:1px solid var(--red);background:#0000002e;min-width:190px;padding:9px 12px}.detail-meta span,.detail-meta strong{display:block}.detail-meta span{color:#d78791;letter-spacing:.09em;text-transform:uppercase;font-size:.58rem}.detail-meta strong{margin-top:4px;font-size:.78rem}.detail-layout{background:var(--felt-dark);grid-template-columns:170px minmax(0,1fr);gap:24px;padding:clamp(38px,7vw,74px) clamp(18px,6vw,76px);display:grid}.section-kicker{color:var(--gold);letter-spacing:.1em;text-transform:uppercase;font-size:.63rem}.section-kicker span,.section-kicker p{margin:0 0 5px;display:block}.detail-sections{gap:12px;display:grid}.detail-section{border:2px solid var(--red);background:var(--table-black);grid-template-columns:minmax(170px,.65fr) 1fr;gap:24px;padding:22px;display:grid}.detail-section h2{color:var(--cream);font-family:var(--display);letter-spacing:.025em;text-transform:uppercase;margin:0;font-size:clamp(1.5rem,3vw,2.4rem);font-weight:400;line-height:1}.detail-section p{color:#c2bdb3;margin:0;font-size:.8rem;line-height:1.65}.detail-section a{width:fit-content;color:var(--gold);text-underline-offset:4px;grid-column:2;font-size:.7rem;font-weight:700}.photo-ready{background:var(--cream);color:#171913;padding:clamp(42px,7vw,78px) clamp(18px,6vw,76px)}.photo-ready .eyebrow{color:var(--red);margin:0 0 8px}.photo-ready h2{max-width:780px;font-family:var(--display);letter-spacing:.015em;text-transform:uppercase;margin:0;font-size:clamp(3rem,7vw,6.5rem);font-weight:400;line-height:.9}.photo-ready>div:first-child>p:last-child{color:#565247;max-width:560px;margin:18px 0 0;font-size:.82rem;line-height:1.6}.project-shot-grid,.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:42px;display:grid}.project-shot{box-shadow:5px 6px 0 var(--red-dark);background:#faf4e8;border:1px solid #171913;border-radius:11px;margin:0;padding:9px}.project-shot-frame{aspect-ratio:16/9;background:#171913;border:1px solid #171913;position:relative;overflow:hidden}.project-shot-frame img{object-fit:cover}.project-shot-frame.is-contain{background:var(--cream-deep)}.project-shot-frame.is-contain img{object-fit:contain;padding:20px}.project-shot figcaption{color:#655f54;padding:12px 6px 5px;font-size:.66rem;line-height:1.4}.photo-placeholder{background:radial-gradient(circle,#bd314114,#0000 55%),#eee2cc;border:2px dashed #625c50;border-radius:12px;flex-direction:column;justify-content:space-between;min-height:280px;padding:20px;display:flex}.photo-placeholder span{color:var(--red);letter-spacing:.1em;text-transform:uppercase;font-size:.62rem}.photo-placeholder p{max-width:300px;font-family:var(--display);letter-spacing:.02em;text-transform:uppercase;margin:0;font-size:clamp(1.5rem,3vw,2.6rem);line-height:1}.next-page{border-top:2px solid var(--red);background:#11130f;justify-content:space-between;align-items:center;gap:22px;padding:30px clamp(18px,6vw,76px);text-decoration:none;display:flex}.next-page span{color:#d78791;letter-spacing:.09em;text-transform:uppercase;font-size:.62rem}.next-page strong{color:var(--gold);font-family:var(--display);letter-spacing:.025em;text-align:right;text-transform:uppercase;font-size:clamp(1.5rem,4vw,3rem);font-weight:400;transition:transform .15s}.next-page:hover strong,.next-page:focus-visible strong{transform:translate(5px)}.profile-layout-home{align-items:start}.portrait-card-photo{background:var(--cream);min-height:405px}.portrait-card-photo:after{z-index:1;border-width:2px}.portrait-photo{object-fit:cover;object-position:center 42%;border-radius:17px;padding:12px}.profile-main-home .identity-card{min-height:156px}.now-playing{color:#d88b95!important}.inline-profile-link{color:var(--gold);text-underline-offset:4px;margin-top:3px;font-size:.74rem;font-weight:700;display:inline-block}.profile-facts{color:#c9c4ba;gap:7px;font-size:.8rem;line-height:1.5;display:grid}.profile-facts p{margin:0}.profile-facts strong{color:#d78791}.home-page-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.home-page-links a{background:#10120e;border:1px solid #534348;flex-direction:column;justify-content:flex-end;min-height:105px;padding:12px;text-decoration:none;display:flex;position:relative}.home-page-links a:hover,.home-page-links a:focus-visible{border-color:var(--gold);background:#e6bd580e}.home-page-links a>span{color:var(--red);font-family:var(--serif);font-size:.7rem;position:absolute;top:10px;right:11px}.home-page-links strong,.home-page-links small{display:block}.home-page-links strong{font-family:var(--display);letter-spacing:.03em;text-transform:uppercase;font-size:1.35rem;font-weight:400}.home-page-links small{color:#8f8b82;margin-top:3px;font-size:.65rem}.subpage-hero{border-bottom:2px solid var(--red);background:radial-gradient(circle at 88% 24%,#bd31412e,#0000 28%),repeating-linear-gradient(135deg,#0000 0 22px,#ffffff04 22px 44px),#11130f;flex-direction:column;justify-content:center;min-height:420px;padding:clamp(48px,8vw,92px) clamp(20px,7vw,82px);display:flex;position:relative;overflow:hidden}.subpage-hero:after{content:"K♥";color:#f5edda0e;font-family:var(--serif);font-size:clamp(7rem,18vw,14rem);font-weight:700;line-height:1;position:absolute;bottom:-1.5rem;right:4vw}.subpage-hero .breadcrumb,.subpage-hero .eyebrow,.subpage-hero h1,.subpage-hero>p:last-child{z-index:1;position:relative}.subpage-hero .breadcrumb{width:fit-content;margin-bottom:36px}.subpage-hero .eyebrow{margin:0 0 10px}.subpage-hero h1{max-width:850px;font-family:var(--display);letter-spacing:.012em;text-shadow:4px 5px 0 var(--red-dark);text-transform:uppercase;margin:0;font-size:clamp(3.8rem,9vw,7.5rem);font-weight:400;line-height:.88}.subpage-hero>p:last-child{color:#c7c2b9;max-width:650px;font-family:var(--serif);margin:24px 0 0;font-size:clamp(1rem,2vw,1.25rem);line-height:1.55}.subpage-layout{background:var(--felt-dark);grid-template-columns:minmax(245px,.58fr) minmax(0,1.42fr);gap:18px;padding:clamp(26px,5vw,58px) clamp(14px,4vw,48px);display:grid}.about-photo-card{border:10px solid var(--cream);background:var(--cream);color:#171913;min-height:520px;box-shadow:7px 8px 0 var(--red-dark);border-radius:15px;align-self:start;margin:0;padding:10px;position:relative;overflow:hidden}.about-photo-card img{object-fit:cover;object-position:center 42%;padding:10px}.about-photo-card>span{z-index:2;font-family:var(--display);letter-spacing:.06em;text-align:center;background:#f5eddaeb;padding:7px 9px;font-size:.82rem;position:absolute;bottom:19px;left:20px;right:20px}.subpage-panels{flex-direction:column;gap:13px;min-width:0;display:flex}.long-copy{font-size:.88rem}.subpage-section{background:var(--felt-dark);padding:clamp(34px,6vw,70px) clamp(18px,6vw,76px)}.experience-page-stack .experience-entry{grid-template-columns:190px minmax(0,1fr);gap:28px;padding:26px 4px}.experience-page-stack .experience-entry h3{font-size:clamp(1.8rem,4vw,3rem)}.experience-page-stack .experience-entry p{font-size:.82rem}.project-index{gap:28px;display:grid}.engineering-project-card{border:9px solid var(--cream);background:var(--cream);color:#171913;box-shadow:8px 9px 0 #00000047, 12px 13px 0 var(--red-dark);border-radius:16px;grid-template-columns:minmax(270px,.9fr) minmax(0,1.1fr);gap:clamp(24px,5vw,62px);padding:clamp(18px,4vw,42px);display:grid}.project-photo-slot-large{border-color:#171913;align-self:stretch;min-height:430px}.engineering-project-copy{flex-direction:column;justify-content:center;align-items:flex-start;display:flex}.engineering-project-copy .micro-label{color:var(--red)}.engineering-project-copy h2,.code-detour h2{font-family:var(--display);letter-spacing:.018em;text-transform:uppercase;margin:10px 0 16px;font-size:clamp(3rem,7vw,5.7rem);font-weight:400;line-height:.88}.engineering-project-copy>p:not(.micro-label){color:#514d43;margin:0;font-size:.86rem;line-height:1.65}.engineering-project-copy .tag-list span{color:var(--red-dark)}.engineering-project-copy .message-button{color:var(--cream);margin-top:28px;box-shadow:3px 3px #171913}.code-detour{border:2px solid var(--red);background:#11130f;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:24px;padding:clamp(22px,4vw,38px);display:grid}.code-detour>span{color:var(--gold);font-family:var(--serif);font-size:clamp(3rem,8vw,6rem)}.code-detour h2{margin:4px 0 6px;font-size:clamp(2rem,5vw,4rem)}.code-detour p:not(.micro-label){color:#aaa69d;max-width:560px;margin:0;font-size:.78rem;line-height:1.5}.code-detour>a{color:var(--gold);white-space:nowrap;text-underline-offset:4px;font-size:.76rem;font-weight:700}.contact-page-hero{min-height:470px}.contact-page-links{background:var(--cream);color:#171913;padding:clamp(34px,6vw,70px) clamp(18px,9vw,110px)}.contact-page-links a{border-bottom:1px solid #171913;justify-content:space-between;align-items:center;gap:25px;padding:22px 0;text-decoration:none;display:flex}.contact-page-links a:first-child{border-top:1px solid #171913}.contact-page-links span{color:var(--red);letter-spacing:.1em;text-transform:uppercase;font-size:.68rem;font-weight:700}.contact-page-links strong{font-family:var(--display);letter-spacing:.02em;text-transform:uppercase;font-size:clamp(1.4rem,4vw,3rem);font-weight:400;transition:transform .15s}.contact-page-links a:hover strong,.contact-page-links a:focus-visible strong{transform:translate(5px)}@media (max-width:900px){.profile-layout{grid-template-columns:230px minmax(0,1fr)}.mini-details div{grid-template-columns:1fr;gap:1px}.mechanical-feature,.coding-card-featured,.coding-hero{grid-template-columns:1fr}.coding-hero .breadcrumb,.coding-hero>.eyebrow,.coding-card-featured{grid-column:auto}.coding-card-featured .coding-card-image{aspect-ratio:16/10;min-height:0}.detail-layout,.detail-section,.subpage-layout,.engineering-project-card{grid-template-columns:1fr}.about-photo-card{min-height:620px}.code-detour{grid-template-columns:auto 1fr}.code-detour>a{grid-column:2;justify-self:start}.detail-section a{grid-column:1}}@media (max-width:720px){body{background-size:18px 18px,18px 18px,36px 36px}.site-shell{width:min(100% - 16px,1120px);margin:8px auto;box-shadow:5px 6px #0000003d}.site-header{min-height:100px;padding:17px 12px}.wordmark{font-size:clamp(1.7rem,9vw,2.5rem)}.site-header p{font-size:.66rem}.nav-links{flex-wrap:wrap;gap:7px 12px;padding:8px 10px}.nav-status{display:none}.profile-layout{grid-template-columns:1fr;padding:9px}.profile-rail{grid-template-columns:1fr 1fr;align-items:start;display:grid}.portrait-card{grid-row:span 2;min-height:330px}.extended-network{grid-column:1/-1}.software-preview-grid,.outside-grid,.coding-grid,.project-shot-grid,.photo-grid{grid-template-columns:1fr}.software-preview:nth-child(2),.software-preview:nth-child(3),.coding-card:nth-child(2n),.coding-card:nth-child(3n){transform:none}.experience-entry{grid-template-columns:1fr;gap:7px}.contact-panel .panel-body,.next-page{flex-direction:column;align-items:flex-start}.experience-page-stack .experience-entry{grid-template-columns:1fr;gap:9px}.next-page strong{text-align:left}.coding-hero{min-height:390px}.coding-card-body{min-height:0}.detail-hero{min-height:450px}}@media (max-width:480px){.profile-rail{grid-template-columns:1fr}.portrait-card{grid-row:auto}.extended-network{grid-column:auto}.mechanical-feature{grid-template-columns:1fr}.collection-link{flex-direction:column;align-items:flex-start;gap:7px}.skill-table div{grid-template-columns:1fr;gap:2px}.site-footer{flex-direction:column;gap:6px}.home-page-links{grid-template-columns:1fr}.subpage-hero{min-height:430px}.about-photo-card{min-height:500px}.code-detour{grid-template-columns:1fr}.code-detour>a{grid-column:1}.contact-page-links a{flex-direction:column;align-items:flex-start;gap:7px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}
