@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:block))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--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}}}@layer theme{:root,:host{--font-sans:-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-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,-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}.static{position:static}.sticky{position:sticky}.shell{width:min(1440px,100% - 80px);margin-inline:auto}.block{display:block}.contents{display:contents}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.w-full{width:100%}.grow{flex-grow:1}.resize{resize:both}.items-center{align-items:center}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.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, )}}:root{--bg:#0d0d0c;--surface:#141413;--surface-raised:#1a1a18;--text:#f2f0eb;--muted:#9c9b95;--faint:#5f5e59;--line:#f2f0eb21;--line-strong:#f2f0eb40;--accent:#e6a15c;--accent-soft:#e6a15c1f;--selection:#e6a15c4d;--contrast-bg:#171716;--contrast-fg:#f2f0eb}html[data-theme=light]{--bg:#f3f1ec;--surface:#ebe8e0;--surface-raised:#fff;--text:#191917;--muted:#686762;--faint:#9a9890;--line:#19191724;--line-strong:#19191742;--accent:#995218;--accent-soft:#a65e221a;--selection:#a65e2238;--contrast-bg:#191917;--contrast-fg:#f3f1ec}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.6;transition:background-color .24s,color .24s}::selection{background:var(--selection)}a{color:inherit;text-decoration:none}button{color:inherit;font:inherit}.site-frame{min-height:100vh;overflow:clip}.back-to-top{z-index:25;border:1px solid var(--bg);justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex;position:fixed;bottom:22px;right:22px}@supports (color:color-mix(in lab, red, red)){.back-to-top{border:1px solid color-mix(in srgb, var(--bg) 30%, var(--text))}}.back-to-top{background:var(--text);color:var(--bg);cursor:pointer;opacity:0;pointer-events:none;visibility:hidden;box-shadow:0 12px 28px var(--text);border-radius:50%;transform:translateY(9px)}@supports (color:color-mix(in lab, red, red)){.back-to-top{box-shadow:0 12px 28px color-mix(in srgb, var(--text) 16%, transparent)}}.back-to-top{transition:opacity .18s,transform .18s,visibility .18s,background .18s,color .18s}.back-to-top.is-visible{opacity:1;pointer-events:auto;visibility:visible;transform:translateY(0)}.back-to-top:hover,.back-to-top:focus-visible{background:var(--accent);color:var(--text)}.back-to-top:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.mono,.meta,.header-note,.project-number,.footer-kicker,.visual-topline,.visual-bottomline{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace}.site-header{z-index:20;border-bottom:1px solid var(--line);background:var(--bg);position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.site-header{background:color-mix(in srgb, var(--bg) 90%, transparent)}}.site-header{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.header-inner{justify-content:space-between;align-items:center;height:70px;display:flex}.wordmark{letter-spacing:-.02em;align-items:center;gap:10px;font-size:15px;font-weight:650;display:inline-flex}.wordmark-mark{border:1px solid var(--line-strong);background:#292633;border-radius:50%;width:34px;height:34px;display:block;overflow:hidden}.wordmark-mark img{object-fit:cover;width:100%;height:100%;display:block}.desktop-nav{align-items:center;gap:25px;display:flex}.nav-link{color:var(--muted);align-items:center;gap:4px;font-size:13px;transition:color .18s;display:inline-flex}.nav-link:hover,.nav-link.active{color:var(--text)}.external-nav-link{color:var(--accent)}.icon-button{cursor:pointer;border:1px solid var(--line);background:0 0;border-radius:50%;place-items:center;width:34px;height:34px;transition:border-color .18s,background-color .18s;display:grid}.icon-button:hover{border-color:var(--line-strong);background:var(--accent-soft)}.mobile-actions,.mobile-nav{display:none}.hero{padding:64px 0 72px;position:relative}.hero:before{display:none}.hero-grid{grid-template-columns:minmax(0,1fr) minmax(360px,460px);align-items:center;gap:clamp(44px,8vw,96px);display:grid}.hero-copy{max-width:680px}.hero-identity{color:var(--muted);letter-spacing:-.01em;align-items:center;gap:10px;margin:0 0 24px;font-size:13px;font-weight:560;display:flex}.hero-identity span:first-child{color:var(--text)}.hero-identity-divider{color:var(--faint);font-weight:400}.eyebrow{color:var(--muted);letter-spacing:-.01em;margin:0 0 22px;font-family:inherit;font-size:12px;font-weight:600;line-height:1.3;display:block}.eyebrow-dot{display:none}.hero h1{letter-spacing:-.065em;max-width:730px;margin:0;font-size:clamp(3.2rem,5.5vw,5.6rem);font-weight:500;line-height:.94}.hero h1 em{color:var(--accent);font-style:normal}.hero-intro{max-width:540px;color:var(--muted);margin:24px 0 0;font-size:17px;line-height:1.55}.hero-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:28px;display:flex}.button{border:1px solid var(--text);background:var(--text);min-height:44px;color:var(--bg);border-radius:999px;justify-content:center;align-items:center;gap:9px;padding:0 18px;font-size:13px;font-weight:650;transition:transform .18s,background-color .18s,color .18s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button.secondary{border-color:var(--line-strong);color:var(--text);background:0 0}.button.secondary:hover{background:var(--accent-soft)}.hero-side{padding:0}.portrait-placeholder{border:1px solid var(--line-strong);background:var(--surface);flex-direction:column;justify-content:space-between;min-height:360px;padding:20px;display:flex;position:relative;overflow:hidden}.portrait-placeholder:before{border:1px solid var(--line);content:"";position:absolute;inset:21px}.portrait-placeholder:after{border:1px solid var(--line-strong);content:"";border-radius:50%;width:230px;height:230px;position:absolute;bottom:-100px;right:-80px}.placeholder-meta{z-index:1;color:var(--faint);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;font:10px/1.4 SFMono-Regular,Consolas,monospace;display:flex;position:relative}.placeholder-center{z-index:1;min-height:210px;color:var(--muted);text-align:center;place-items:center;display:grid;position:relative}.placeholder-center strong{color:var(--text);margin-top:12px;font-size:15px;font-weight:500;display:block}.placeholder-center span{color:var(--faint);margin-top:4px;font:11px SFMono-Regular,Consolas,monospace;display:block}.portrait-glyph{border:1px solid var(--line-strong);width:74px;height:74px;color:var(--accent);border-radius:50%;place-items:center;font:20px SFMono-Regular,Consolas,monospace;display:grid}.portrait{border:1px solid var(--line-strong);background:var(--surface);min-height:460px;position:relative;overflow:hidden}.portrait img{object-fit:cover;object-position:50% 30%;filter:saturate(.75)contrast(1.03);transition:transform .7s,filter .7s}.portrait:hover img{filter:saturate(.95)contrast(1.04);transform:scale(1.035)}.portrait-overlay{pointer-events:none;background:linear-gradient(#0000 45%,#0d0d0cb8);position:absolute;inset:0}.portrait-caption{color:#f2f0eb;letter-spacing:.08em;justify-content:space-between;font:10px SFMono-Regular,Consolas,monospace;display:flex;position:absolute;bottom:18px;left:20px;right:20px}.portrait-compact{min-height:310px}.rule-section{border-top:1px solid var(--line);padding:62px 0}.section-heading{max-width:680px;margin-bottom:40px}.section-heading h2{letter-spacing:-.055em;max-width:620px;margin:0;font-size:clamp(2.2rem,4.6vw,4.1rem);font-weight:500;line-height:.99}.section-description{max-width:540px;color:var(--muted);margin:18px 0 0;font-size:16px}.section-heading .eyebrow{margin-bottom:20px}.projects-list{gap:2px;display:grid}.project-row{border-top:1px solid var(--line);grid-template-columns:minmax(220px,.85fr) 1.15fr;align-items:start;gap:6%;padding:30px 0;display:grid}.project-row:last-child{border-bottom:1px solid var(--line)}.project-row:nth-child(2n) .project-visual{order:2}.project-row:nth-child(2n) .project-copy{order:1}.project-copy{padding:8px 0}.project-number{color:var(--faint);margin:0 0 20px;font-size:11px}.project-copy h3{letter-spacing:-.055em;margin:0;font-size:clamp(2rem,3.5vw,3.1rem);font-weight:510;line-height:.98}.project-copy h3 a{transition:color .18s}.project-copy h3 a:hover{color:var(--accent)}.project-eyebrow{color:var(--accent);letter-spacing:.04em;text-transform:uppercase;margin:12px 0 0;font:11px SFMono-Regular,Consolas,monospace}.project-summary{max-width:440px;color:var(--muted);margin:18px 0 0;font-size:15px}.project-role{color:var(--faint);margin:16px 0 0;font:11px SFMono-Regular,Consolas,monospace}.home-project-row{border-top:1px solid var(--line);grid-template-columns:minmax(0,1.25fr) minmax(220px,.75fr);align-items:end;gap:8%;padding:22px 0;display:grid}.home-project-row:last-child{border-bottom:1px solid var(--line)}.home-project-row .project-copy{padding:0}.home-project-row .project-number{margin-bottom:12px}.home-project-row .project-summary{max-width:590px;margin-top:12px}.home-project-row .text-link{margin-top:18px}.home-project-meta{align-self:center}.home-project-meta .project-role{margin:0}.home-project-meta .tech-list{margin-top:13px}.home-work-heading{grid-template-columns:minmax(0,1fr) minmax(260px,.7fr);align-items:end;gap:8%;margin-bottom:32px;display:grid}.home-work-heading .eyebrow{margin-bottom:18px}.home-work-heading h2{letter-spacing:-.06em;max-width:620px;margin:0;font-size:clamp(2.4rem,4.4vw,4.2rem);font-weight:500;line-height:.96}.home-work-heading-side{justify-items:start;gap:12px;padding-bottom:2px;display:grid}.home-work-heading-side p{max-width:330px;color:var(--muted);margin:0;font-size:14px;line-height:1.5}.home-work-heading-side .text-link{margin:0}.home-project-grid{border-top:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.home-project-card{border-bottom:1px solid var(--line);flex-direction:column;min-height:330px;padding:20px 24px 22px 0;display:flex}.home-project-card+.home-project-card{border-left:1px solid var(--line);padding-left:24px}.home-project-card-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.home-project-card .project-number{margin:0}.home-project-status{color:var(--faint);letter-spacing:.06em;text-transform:uppercase;font:10px SFMono-Regular,Consolas,monospace}.home-project-card h3{letter-spacing:-.06em;margin:44px 0 0;font-size:clamp(1.9rem,3vw,2.8rem);font-weight:500;line-height:.98}.home-project-card h3 a{transition:color .18s}.home-project-card h3 a:hover{color:var(--accent)}.home-project-card .project-eyebrow{margin-top:12px}.home-project-card .project-summary{max-width:330px;margin-top:16px;font-size:14px;line-height:1.55}.home-project-card-bottom{align-content:end;gap:10px;margin-top:auto;display:grid}.home-project-card-bottom .tech-list,.home-project-card-bottom .text-link{margin:0}.home-project-section{background:var(--surface);padding:76px 0 92px}.home-project-heading{justify-content:space-between;align-items:end;gap:30px;margin-bottom:32px;display:flex}.home-project-heading .eyebrow{margin-bottom:18px}.home-project-heading h2{letter-spacing:-.065em;max-width:680px;margin:0;font-size:clamp(2.3rem,4.2vw,4rem);font-weight:500;line-height:.96}.home-project-heading .text-link{white-space:nowrap;margin:0 0 3px}.project-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.project-carousel-shell{min-width:0}.project-carousel{overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;gap:18px;margin:0 -2px;padding:2px 2px 0;display:flex;overflow-x:auto}.project-carousel::-webkit-scrollbar{display:none}.project-carousel-item{scroll-snap-align:start;flex:0 0 calc(30.7692% - 16.6154px);min-width:0;display:flex}.project-carousel-item>.project-card{width:100%;height:100%}.project-carousel-more{border:1px solid var(--contrast-fg);flex-direction:column;min-height:100%;padding:24px 22px 22px}@supports (color:color-mix(in lab, red, red)){.project-carousel-more{border:1px solid color-mix(in srgb, var(--contrast-fg) 20%, transparent)}}.project-carousel-more{background:var(--contrast-bg);color:var(--contrast-fg);border-radius:16px;text-decoration:none;transition:background .18s,color .18s,transform .18s}.project-carousel-more:hover,.project-carousel-more:focus-visible{background:var(--accent);color:var(--contrast-fg);transform:translateY(-5px)}.project-carousel-more:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.project-carousel-more-kicker{color:currentColor}@supports (color:color-mix(in lab, red, red)){.project-carousel-more-kicker{color:color-mix(in srgb, currentColor 62%, transparent)}}.project-carousel-more-kicker{letter-spacing:.08em;text-transform:uppercase;font:10px SFMono-Regular,Consolas,monospace}.project-carousel-more-title{letter-spacing:-.06em;align-items:center;gap:8px;margin-top:19px;font-size:clamp(1.45rem,2.35vw,2.1rem);font-weight:550;line-height:1;display:inline-flex}.project-carousel-more-copy{color:currentColor;max-width:250px;margin-top:14px}@supports (color:color-mix(in lab, red, red)){.project-carousel-more-copy{color:color-mix(in srgb, currentColor 70%, transparent)}}.project-carousel-more-copy{font-size:14px;line-height:1.5}.project-carousel-more-list{gap:0;margin-top:auto;padding-top:22px;display:grid}.project-carousel-more-list>span{border-top:1px solid;grid-template-columns:24px 1fr;gap:8px;padding:10px 0;display:grid}@supports (color:color-mix(in lab, red, red)){.project-carousel-more-list>span{border-top:1px solid color-mix(in srgb, currentColor 22%, transparent)}}.project-carousel-more-list>span{color:currentColor}@supports (color:color-mix(in lab, red, red)){.project-carousel-more-list>span{color:color-mix(in srgb, currentColor 78%, transparent)}}.project-carousel-more-list>span{font-size:12px}.project-carousel-more-list b{color:currentColor}@supports (color:color-mix(in lab, red, red)){.project-carousel-more-list b{color:color-mix(in srgb, currentColor 54%, transparent)}}.project-carousel-more-list b{font:10px SFMono-Regular,Consolas,monospace}.project-carousel-more-footer{border-top:1px solid;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;padding-top:14px;display:flex}@supports (color:color-mix(in lab, red, red)){.project-carousel-more-footer{border-top:1px solid color-mix(in srgb, currentColor 35%, transparent)}}.project-carousel-more-footer{letter-spacing:.05em;text-transform:uppercase;font:10px SFMono-Regular,Consolas,monospace}.project-carousel-controls{justify-content:space-between;align-items:center;margin-top:14px;display:flex}.project-carousel-count{color:var(--faint);letter-spacing:.08em;font:10px SFMono-Regular,Consolas,monospace}.project-carousel-buttons{gap:7px;display:flex}.project-carousel-button{border:1px solid var(--line);width:34px;height:34px;color:var(--text);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;transition:border-color .18s,background .18s,color .18s,opacity .18s;display:inline-flex}.project-carousel-button:hover:not(:disabled),.project-carousel-button:focus-visible:not(:disabled){border-color:var(--text);background:var(--text);color:var(--bg)}.project-carousel-button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.project-carousel-button:disabled{cursor:not-allowed;opacity:.35}.project-card{border:1px solid var(--line);background:var(--bg);min-width:0;color:var(--text);border-radius:16px;flex-direction:column;text-decoration:none;transition:border-color .22s,transform .22s,box-shadow .22s;display:flex;overflow:hidden}.project-card:hover,.project-card:focus-visible{border-color:var(--line-strong);box-shadow:0 18px 34px var(--text)}@supports (color:color-mix(in lab, red, red)){.project-card:hover,.project-card:focus-visible{box-shadow:0 18px 34px color-mix(in srgb, var(--text) 10%, transparent)}}.project-card:hover,.project-card:focus-visible{transform:translateY(-5px)}.project-card:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.project-card-art{flex-direction:column;justify-content:center;align-items:center;gap:17px;height:220px;transition:filter .22s,transform .22s;display:flex;position:relative;overflow:hidden}.project-card:hover .project-card-art,.project-card:focus-visible .project-card-art{filter:saturate(1.1);transform:scale(1.018)}.project-card-art span{letter-spacing:.12em;text-transform:uppercase;font:10px SFMono-Regular,Consolas,monospace}.project-card-art-prg32{background:#292531}.project-card-art-prg32 img{padding:28px;object-fit:contain!important}.project-card-art-emporion{color:#2a2622;background:#dccdbd}.project-card-art-event-bridge{color:#1d3a34;background:#d7e2dc}.project-card-art-spotted-train{color:#253946;background:#d7e4ed}.project-card-art-server-playbook{color:#2d3a30;background:#d8ddd6}.project-card-art-cartridge-store{color:#463a2d;background:#e0d5c3}.project-card-art-hackintosh{color:#f0ede8;background:#2d2a37}.project-card-body{flex-direction:column;flex:1;padding:21px 22px 20px;display:flex}.project-card-meta{min-height:28px;color:var(--faint);letter-spacing:.05em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:12px;font:10px SFMono-Regular,Consolas,monospace;display:flex}.project-card-meta span:last-child{color:var(--accent)}.project-card-content h3{letter-spacing:-.06em;margin:28px 0 0;font-size:clamp(1.7rem,2.7vw,2.35rem);font-weight:550;line-height:.98;transition:color .18s}.project-card:hover .project-card-content h3,.project-card:focus-visible .project-card-content h3{color:var(--accent)}.project-card-content p{max-width:360px;color:var(--muted);margin:14px 0 0;font-size:14px;line-height:1.55}.project-card-footer{justify-content:space-between;align-items:flex-end;gap:14px;margin-top:auto;padding-top:20px;display:flex}.project-card-footer .tech-list{margin:0}.project-card-hint{color:var(--text);opacity:0;flex:none;align-items:center;gap:7px;font-size:12px;font-weight:650;transition:opacity .18s,transform .18s,color .18s;display:inline-flex;transform:translateY(5px)}.project-card:hover .project-card-hint,.project-card:focus-visible .project-card-hint{opacity:1;transform:translateY(0)}.project-card:hover .project-card-hint{color:var(--accent)}.projects-browser{min-width:0}.projects-browser-toolbar{justify-content:space-between;align-items:flex-start;gap:28px;margin-bottom:28px;display:flex}.project-filter-list{flex-wrap:wrap;gap:8px;display:flex}.project-filter{border:1px solid var(--line-strong);min-height:34px;color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;padding:0 12px;font-size:12px;transition:background-color .18s,border-color .18s,color .18s,transform .18s}.project-filter:hover{border-color:var(--text);color:var(--text);transform:translateY(-1px)}.project-filter.active{border-color:var(--text);background:var(--text);color:var(--bg)}.projects-browser-count{color:var(--faint);white-space:nowrap;flex:none;margin:9px 0 0;font:11px SFMono-Regular,Consolas,monospace}.tech-list{flex-wrap:wrap;gap:0;margin:18px 0 0;padding:0;list-style:none;display:flex}.tech-list li{color:var(--muted);padding:0;font:10px SFMono-Regular,Consolas,monospace}.tech-list li:not(:last-child):after{color:var(--faint);content:"/";margin:0 8px}.tech-list-nowrap{white-space:nowrap;flex-wrap:nowrap;flex:auto;min-width:0;overflow:hidden}.tech-list-nowrap li{flex:none}.tech-list-nowrap li:last-child{text-overflow:ellipsis;min-width:0;overflow:hidden}.text-link{color:var(--text);align-items:center;gap:7px;margin-top:25px;font-size:13px;font-weight:600;display:inline-flex}.text-link:hover{color:var(--accent)}.section-after-link{justify-content:flex-end;display:flex}.project-detail-hero{max-width:900px;margin:0 auto}.detail-grid{grid-template-columns:1fr 1fr;gap:10%;display:grid}.detail-copy{color:var(--muted);margin:0;font-size:17px}.project-media-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin-top:82px;display:grid}.project-media-grid figure{margin:0}.project-media-grid img{border:1px solid var(--line);image-rendering:auto;background:#000;width:100%;height:auto;display:block}.project-media-grid figure:first-child{grid-column:span 2}.project-media-grid figcaption{color:var(--faint);letter-spacing:.06em;text-transform:uppercase;margin-top:9px;font:10px SFMono-Regular,Consolas,monospace}.editorial-note{border-left:2px solid var(--accent);max-width:680px;margin-top:90px;padding:20px 0 20px 20px}.editorial-note span{color:var(--accent);letter-spacing:.08em;font:10px SFMono-Regular,Consolas,monospace}.editorial-note p{color:var(--muted);margin:10px 0 0}.project-visual{border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);background:0 0;flex-direction:column;justify-content:space-between;min-height:250px;padding:17px 0;display:flex;position:relative;overflow:hidden}.project-visual.compact{min-height:260px}.project-visual:hover .visual-grid{opacity:.7;transform:scale(1.05)}.visual-grid{display:none}.visual-topline,.visual-bottomline{z-index:1;color:var(--faint);letter-spacing:.03em;text-transform:uppercase;justify-content:space-between;align-items:center;font-size:10px;display:flex;position:relative}.visual-core{z-index:1;margin:auto 0;position:relative}.visual-icon{border:1px solid var(--line-strong);width:46px;height:46px;color:var(--accent);border-radius:12px;place-items:center;display:grid}.visual-title{letter-spacing:-.06em;margin-top:17px;font-size:clamp(2rem,4.5vw,4rem);font-weight:500;line-height:.94}.visual-line{background:var(--line-strong);width:100%;max-width:280px;height:1px;margin-top:28px}.visual-line.short{background:var(--accent);opacity:.7;max-width:170px;margin-top:8px}.visual-signal{background:var(--accent);width:6px;height:6px;box-shadow:0 0 0 5px var(--accent-soft);border-radius:50%}.interest-grid{border-top:1px solid var(--line);grid-template-columns:1fr;display:grid}.interest-item{border-bottom:1px solid var(--line);grid-template-columns:56px minmax(180px,.8fr) 1.2fr;align-items:baseline;gap:20px;padding:18px 0;display:grid;background:0 0!important}.interest-index{color:var(--accent);font:11px SFMono-Regular,Consolas,monospace}.interest-item h3{letter-spacing:-.035em;margin:0;font-size:20px;font-weight:500}.interest-item p{color:var(--muted);margin:0;font-size:14px}.statement{grid-template-columns:.65fr 1.35fr;align-items:start;gap:10%;display:grid}.statement-label{color:var(--accent);letter-spacing:.1em;text-transform:uppercase;margin:0;font:11px SFMono-Regular,Consolas,monospace}.statement p{letter-spacing:-.07em;margin:0;font-size:clamp(1.8rem,3.8vw,3.6rem);font-weight:450;line-height:1.03}.project-page-intro{padding-bottom:55px}.project-page-intro .eyebrow{margin-top:44px}.project-detail-content{padding-top:55px}.project-detail-statement{margin-top:80px}.project-detail-grid{margin-top:75px}.project-detail-links{margin-top:70px}.project-generic-hero{background:var(--surface);padding:54px 0 84px}.project-generic-back-link{margin-top:0}.project-generic-hero-grid{grid-template-columns:minmax(0,1fr) minmax(340px,460px);align-items:center;gap:clamp(44px,8vw,100px);margin-top:60px;display:grid}.project-generic-hero-copy{max-width:700px}.project-generic-hero-copy h1{letter-spacing:-.075em;margin:0;font-size:clamp(2.8rem,5vw,5.2rem);font-weight:500;line-height:.94}.project-generic-hero-copy>p:last-child{max-width:600px;color:var(--muted);margin:25px 0 0;font-size:18px;line-height:1.55}.project-generic-hero .project-visual{border:1px solid var(--line-strong);background:var(--bg);border-radius:16px;min-height:360px;padding:20px}.project-generic-hero .visual-title{font-size:clamp(2.4rem,4vw,4.4rem)}.spotted-train-hero{grid-template-columns:minmax(0,1fr);align-items:end;margin-top:22px;display:grid}.spotted-train-hero h1{letter-spacing:-.08em;margin:0;font-size:clamp(3.1rem,6vw,5.8rem);font-weight:520;line-height:.91}.spotted-train-hero p{max-width:650px;color:var(--muted);margin:27px 0 0;font-size:clamp(1.05rem,1.55vw,1.35rem);line-height:1.45}.app-store-actions{align-items:center;gap:16px;margin-top:27px;display:flex}.app-store-actions>span{color:var(--faint);letter-spacing:.06em;text-transform:uppercase;font:10px SFMono-Regular,Consolas,monospace}.app-store-cta{border:1px solid var(--line-strong);background:var(--text);min-width:225px;color:var(--bg);border-radius:10px;align-items:center;gap:12px;padding:14px 16px;transition:background-color .18s,color .18s,transform .18s;display:inline-flex}.app-store-cta:hover{background:var(--accent);color:var(--text);transform:translateY(-2px)}.app-store-cta span{flex:1;gap:3px;display:grid}.app-store-cta small{color:currentColor}@supports (color:color-mix(in lab, red, red)){.app-store-cta small{color:color-mix(in srgb, currentColor 66%, transparent)}}.app-store-cta small{letter-spacing:.08em;text-transform:uppercase;font-size:10px}.app-store-cta strong{font-size:13px}.app-store-badge-link{border-radius:7px;align-items:center;transition:transform .18s,filter .18s;display:inline-flex}.app-store-badge-link:hover{filter:brightness(.92);transform:translateY(-2px)}.app-store-badge-link img{width:166px;height:auto;display:block}.spotted-train-content{padding-top:55px}.spotted-train-layout{grid-template-columns:minmax(0,1.35fr) minmax(230px,.65fr);align-items:start;gap:9%;display:grid}.spotted-train-copy{max-width:720px}.spotted-train-copy p{color:var(--muted);margin:0 0 22px;font-size:17px;line-height:1.65}.spotted-train-copy p:last-child{margin-bottom:0}.spotted-train-copy .statement-label{color:var(--text);letter-spacing:.08em;text-transform:uppercase;margin-bottom:22px;font:11px SFMono-Regular,Consolas,monospace}.spotted-train-aside{border-top:1px solid var(--line-strong);gap:0;display:grid}.spotted-train-aside div{border-bottom:1px solid var(--line);color:var(--muted);align-items:center;gap:12px;padding:16px 0;font-size:13px;display:flex}.spotted-train-aside svg{color:var(--accent)}.spotted-train-meta{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:9%;margin-top:46px;padding:18px 0;display:grid}.spotted-train-meta div{gap:8px;display:grid}.spotted-train-meta span{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;font:10px SFMono-Regular,Consolas,monospace}.spotted-train-meta strong{color:var(--muted);font-size:13px;font-weight:500;line-height:1.5}.spotted-train-section{border-top:1px solid var(--line-strong);grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:9%;margin-top:72px;padding-top:32px;display:grid}.spotted-train-section h2{letter-spacing:-.07em;max-width:390px;margin:15px 0 0;font-size:clamp(1.9rem,3.2vw,3.1rem);font-weight:520;line-height:1}.spotted-train-scope{max-width:390px;color:var(--faint);margin:26px 0 0;font-size:13px;line-height:1.55}.spotted-train-contribution-grid{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:0 30px;display:grid}.spotted-train-contribution-grid>div{border-bottom:1px solid var(--line);padding:18px 0 20px}.spotted-train-contribution-grid h3{margin:0 0 9px;font-size:15px;font-weight:650}.spotted-train-contribution-grid p{color:var(--muted);margin:0;font-size:14px;line-height:1.55}.spotted-train-learning{align-items:start}.spotted-train-footer-note{border-top:1px solid var(--line);justify-content:space-between;gap:30px;margin-top:72px;padding-top:22px;display:flex}.spotted-train-footer-note p{max-width:600px;color:var(--faint);margin:0;font-size:12px;line-height:1.55}.spotted-train-footer-note .text-link{white-space:nowrap;align-self:start}.prg32-hero{background:var(--surface);padding:44px 0 64px}.prg32-back-link{margin-top:0}.prg32-hero-grid{grid-template-columns:minmax(0,1fr) minmax(340px,460px);align-items:center;gap:clamp(44px,8vw,100px);margin-top:46px;display:grid}.prg32-hero-copy h1{letter-spacing:-.075em;max-width:700px;margin:0;font-size:clamp(2.8rem,5vw,5.2rem);font-weight:500;line-height:.94}.prg32-hero-copy h1 em{color:var(--accent);font-style:normal}.prg32-official-name{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin:14px 0 22px;font:11px SFMono-Regular,Consolas,monospace}.prg32-hero-lede{max-width:600px;color:var(--muted);margin:25px 0 0;font-size:18px;line-height:1.55}.prg32-hero-actions{flex-wrap:wrap;gap:10px;margin-top:30px;display:flex}.prg32-hero-actions .button{min-height:40px;font-size:12px}.prg32-hero-visual{border:1px solid var(--line);background:#292531;border-radius:16px;place-items:center;min-height:420px;display:grid;position:relative;overflow:hidden}.prg32-hero-visual img{padding:35px;object-fit:contain!important}.prg32-hero-visual span{color:#f2f0eb;letter-spacing:.08em;text-transform:uppercase;font:10px SFMono-Regular,Consolas,monospace;position:absolute;bottom:18px;left:22px;right:22px}.prg32-section{border-top:1px solid var(--line);padding:66px 0}.prg32-surface-section{background:var(--surface)}.prg32-section-heading{max-width:760px}.prg32-section-heading.compact{max-width:660px}.prg32-label{color:var(--accent);letter-spacing:.1em;text-transform:uppercase;margin:0 0 18px;font:11px SFMono-Regular,Consolas,monospace}.prg32-section-heading h2{letter-spacing:-.065em;margin:0;font-size:clamp(2.4rem,4.4vw,4.6rem);font-weight:500;line-height:.96}.prg32-gallery-note{max-width:560px;color:var(--muted);margin:22px 0 0;font-size:14px;line-height:1.55}.prg32-gallery-note a{color:var(--text);text-decoration:underline;-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:4px}.prg32-overview-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:10%;margin-top:36px;display:grid}.prg32-lede{max-width:430px;color:var(--text);margin:0;font-size:20px;line-height:1.45}.prg32-facts{border-top:1px solid var(--line)}.prg32-fact{border-bottom:1px solid var(--line);grid-template-columns:130px 1fr;gap:24px;padding:16px 0;display:grid}.prg32-fact span{color:var(--accent);text-transform:uppercase;font:11px SFMono-Regular,Consolas,monospace}.prg32-fact p{color:var(--muted);margin:0;font-size:15px;line-height:1.5}.prg32-contribution-grid{border-top:1px solid var(--line);margin-top:36px}.prg32-contribution-row{border-bottom:1px solid var(--line);grid-template-columns:48px minmax(170px,.65fr) 1.35fr;align-items:baseline;gap:22px;padding:17px 0;display:grid}.prg32-contribution-row>span{color:var(--accent);font:11px SFMono-Regular,Consolas,monospace}.prg32-contribution-row h3{letter-spacing:-.03em;margin:0;font-size:17px;font-weight:600}.prg32-contribution-row p{max-width:680px;color:var(--muted);margin:0;font-size:14px;line-height:1.55}.prg32-credits-section{background:var(--surface)}.prg32-credits-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(30px,7vw,100px);margin-top:36px;display:grid}.prg32-credit-list,.prg32-appearances{border-top:1px solid var(--line)}.prg32-credit-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:20px;padding:15px 0;display:flex}.prg32-credit-heading span,.prg32-appearance-top span,.prg32-publication>span{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;font:10px SFMono-Regular,Consolas,monospace}.prg32-credit-heading strong{color:var(--muted);font-size:13px;font-weight:500}.prg32-credit-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(150px,.8fr) 1fr;gap:20px;padding:14px 0;display:grid}.prg32-credit-row strong{font-size:15px;font-weight:600}.prg32-credit-row span{color:var(--muted);font-size:13px}.prg32-appearance{border-bottom:1px solid var(--line);padding:15px 0 18px}.prg32-appearance-top{justify-content:space-between;align-items:center;display:flex}.prg32-appearance-top a{color:var(--accent);display:inline-grid}.prg32-appearance h3{letter-spacing:-.04em;margin:14px 0 7px;font-size:21px;font-weight:600}.prg32-appearance p,.prg32-publication p{max-width:650px;color:var(--muted);margin:0;font-size:14px;line-height:1.55}.prg32-publication{padding-top:20px}.prg32-publication .text-link{color:var(--text);margin-top:14px;font-size:13px}.prg32-workflow-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin-top:36px;display:grid}.prg32-workflow-card{border:1px solid var(--line);background:var(--bg);border-radius:12px;min-height:220px;padding:20px}.prg32-workflow-top{color:var(--accent);justify-content:space-between;align-items:center;display:flex}.prg32-workflow-top span{font:11px SFMono-Regular,Consolas,monospace}.prg32-workflow-card h3{margin:50px 0 10px;font-size:22px;font-weight:550}.prg32-workflow-card p{color:var(--muted);margin:0;font-size:14px;line-height:1.5}.prg32-gallery-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin-top:36px;display:grid}.prg32-gallery-grid figure{border:1px solid var(--line);background:var(--bg);border-radius:12px;margin:0;padding:12px}.prg32-gallery-grid figure:first-child{grid-column:span 2}.project-media-gallery-featured{grid-column:1/-1!important}.project-media-gallery-featured img{object-fit:contain;max-height:460px}.prg32-gallery-grid img{width:100%;height:auto;display:block}.prg32-gallery-grid figcaption{color:var(--faint);text-transform:uppercase;margin:12px 2px 2px;font:10px SFMono-Regular,Consolas,monospace}.prg32-links-section{padding-bottom:82px}.prg32-links-description{max-width:500px;color:var(--muted);margin:20px 0 0;font-size:15px;line-height:1.55}.prg32-link-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:42px;display:grid}.prg32-link-card{border:1px solid var(--line-strong);background:var(--surface);border-radius:12px;flex-direction:column;min-height:190px;padding:18px 20px 20px;transition:background-color .18s,border-color .18s,transform .18s;display:flex}.prg32-link-card:hover,.prg32-link-card:focus-visible{border-color:var(--accent);background:var(--accent-soft);transform:translateY(-3px)}.prg32-link-card:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.prg32-link-card-top{color:var(--accent);justify-content:space-between;align-items:center;display:flex}.prg32-link-card-icon{border:1px solid var(--line-strong);border-radius:9px;place-items:center;width:36px;height:36px;display:grid}.prg32-link-card-arrow{color:var(--muted);transition:color .18s,transform .18s}.prg32-link-card:hover .prg32-link-card-arrow,.prg32-link-card:focus-visible .prg32-link-card-arrow{color:var(--accent);transform:translate(2px,-2px)}.prg32-link-card strong{letter-spacing:-.02em;margin-top:34px;font-size:17px;font-weight:650}.prg32-link-card p{max-width:300px;color:var(--muted);margin:9px 0 0;font-size:13px;line-height:1.5}.event-bridge-page{--bridge-bg:#13201f;--bridge-text:#edf7f3;--bridge-muted:#9cb4ae;--bridge-line:#edf7f329;--bridge-accent:#68e5c7;--bridge-accent-soft:#68e5c71f;--bridge-console:#1a2a28;background:var(--bg)}html[data-theme=light] .event-bridge-page{--bridge-bg:#e5f0ec;--bridge-text:#16211f;--bridge-muted:#52635f;--bridge-line:#16211f2b;--bridge-accent:#0f6f5e;--bridge-accent-soft:#0f6f5e1c;--bridge-console:#d6e6e1}.event-bridge-hero{background:var(--bridge-bg);color:var(--bridge-text);padding:30px 0 52px}.event-bridge-back-link{color:var(--bridge-text);margin-top:0}.event-bridge-back-link:hover{color:var(--bridge-accent)}.event-bridge-hero-grid{grid-template-columns:minmax(0,1fr);gap:0;margin-top:30px;display:grid}.event-bridge-hero-copy{max-width:940px}.event-bridge-hero-copy .eyebrow{color:var(--bridge-muted)}.event-bridge-hero-copy h1{letter-spacing:-.08em;margin:0;font-size:clamp(2.8rem,5vw,5.2rem);font-weight:500;line-height:.94}.event-bridge-hero-copy h1 em{color:var(--bridge-accent);font-style:normal}.event-bridge-hero-lede{max-width:570px;color:var(--bridge-muted);margin:28px 0 0;font-size:18px;line-height:1.55}.event-bridge-tags{flex-wrap:wrap;gap:8px;margin-top:30px;display:flex}.event-bridge-tags span{border:1px solid var(--bridge-line);color:var(--bridge-text);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:7px 10px;font:10px SFMono-Regular,Consolas,monospace}.event-bridge-console{border:1px solid var(--bridge-line);background:var(--bridge-console);border-radius:16px;flex-direction:column;justify-content:space-between;min-height:390px;padding:19px;display:flex}.event-bridge-console-top,.event-bridge-console-bottom{color:var(--bridge-muted);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;gap:12px;font:10px SFMono-Regular,Consolas,monospace;display:flex}.event-bridge-console-top span:last-child{color:var(--bridge-accent)}.event-bridge-console-body{justify-content:center;align-items:center;gap:13px;display:flex}.event-bridge-console-mark{border:1px solid var(--bridge-line);min-width:94px;min-height:112px;color:var(--bridge-muted);text-align:center;border-radius:10px;align-content:center;place-items:center;gap:13px;display:grid}.event-bridge-console-mark.accent{border-color:var(--bridge-accent);background:var(--bridge-accent-soft);color:var(--bridge-accent)}.event-bridge-console-mark span{letter-spacing:.08em;font:9px/1.4 SFMono-Regular,Consolas,monospace}.event-bridge-console-line{color:var(--bridge-accent);align-items:center;gap:4px;display:flex}.event-bridge-console-line:before,.event-bridge-console-line:after{background:var(--bridge-accent);content:"";opacity:.55;width:28px;height:1px}.event-bridge-console-line span{background:var(--bridge-accent);border-radius:50%;width:4px;height:4px}.event-bridge-section{border-top:1px solid var(--line);padding:60px 0}.event-bridge-surface{background:var(--surface)}.event-bridge-section-heading{max-width:780px}.event-bridge-section-heading.compact{max-width:690px}.event-bridge-label{color:var(--accent);letter-spacing:.1em;text-transform:uppercase;margin:0 0 18px;font:11px SFMono-Regular,Consolas,monospace}.event-bridge-section-heading h2{letter-spacing:-.07em;margin:0;font-size:clamp(2.15rem,3.7vw,3.8rem);font-weight:500;line-height:.98}.event-bridge-intro-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:12%;margin-top:40px;display:grid}.event-bridge-lede{max-width:540px;color:var(--text);letter-spacing:-.02em;margin:0;font-size:18px;line-height:1.55}.event-bridge-detail-stack{border-top:1px solid var(--line)}.event-bridge-detail-stack>div{border-bottom:1px solid var(--line);grid-template-columns:115px 1fr;gap:24px;padding:17px 0;display:grid}.event-bridge-detail-stack span{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;font:10px SFMono-Regular,Consolas,monospace}.event-bridge-detail-stack p{color:var(--muted);margin:0;font-size:15px;line-height:1.55}.event-bridge-pipeline{grid-template-columns:repeat(4,1fr);gap:12px;margin-top:38px;display:grid}.event-bridge-pipeline-item{border:1px solid var(--line);background:var(--bg);border-radius:12px;min-height:190px;padding:20px;position:relative}.event-bridge-pipeline-icon{border:1px solid var(--line-strong);width:42px;height:42px;color:var(--accent);border-radius:9px;place-items:center;display:grid}.event-bridge-pipeline-item strong{letter-spacing:-.03em;margin-top:38px;font-size:17px;font-weight:600;display:block}.event-bridge-pipeline-item span{color:var(--muted);margin-top:5px;font:11px/1.45 SFMono-Regular,Consolas,monospace;display:block}.event-bridge-pipeline-arrow{color:var(--faint);position:absolute;top:26px;right:22px}.event-bridge-pipeline-note{max-width:600px;color:var(--muted);margin:25px 0 0;font-size:14px}.event-bridge-lifecycle{border-top:1px solid var(--line);margin-top:38px}.event-bridge-lifecycle-item{border-bottom:1px solid var(--line);grid-template-columns:70px 1fr 22px;align-items:start;gap:25px;padding:23px 0;display:grid}.event-bridge-lifecycle-item>span{color:var(--accent);font:11px SFMono-Regular,Consolas,monospace}.event-bridge-lifecycle-item h3{letter-spacing:-.035em;margin:0;font-size:22px;font-weight:550}.event-bridge-lifecycle-item p{max-width:650px;color:var(--muted);margin:6px 0 0;font-size:15px;line-height:1.55}.event-bridge-lifecycle-item>svg{color:var(--faint);margin-top:3px}.event-bridge-lifecycle-item:last-child>svg{color:var(--accent)}.event-bridge-capabilities-section{background:var(--surface);padding-bottom:70px}.event-bridge-capabilities{grid-template-columns:repeat(4,1fr);gap:12px;margin-top:38px;display:grid}.event-bridge-capability{border:1px solid var(--line);background:var(--bg);border-radius:12px;min-height:200px;padding:21px}.event-bridge-capability>svg{color:var(--accent)}.event-bridge-capability h3{letter-spacing:-.04em;margin:42px 0 8px;font-size:20px;font-weight:550}.event-bridge-capability p{color:var(--muted);margin:0;font-size:14px;line-height:1.5}.event-bridge-cta{border-top:1px solid var(--line-strong);justify-content:space-between;align-items:end;gap:30px;margin-top:54px;padding:24px 0 0;display:flex}.event-bridge-cta .event-bridge-label{margin-bottom:14px}.event-bridge-cta h3{letter-spacing:-.06em;max-width:610px;margin:0;font-size:clamp(1.8rem,3.4vw,3rem);font-weight:500;line-height:1}.emporion-page{--emporion-bg:#1b1a18;--emporion-text:#f2f0eb;--emporion-muted:#aaa79e;--emporion-line:#f2f0eb29;--emporion-accent:#e6a15c;--emporion-accent-soft:#e6a15c1f;--emporion-card:#26231f;background:var(--bg)}html[data-theme=light] .emporion-page{--emporion-bg:#f0ede7;--emporion-text:#191917;--emporion-muted:#686762;--emporion-line:#1919172b;--emporion-accent:#995218;--emporion-accent-soft:#9952181c;--emporion-card:#e6e1d7}.emporion-hero{background:var(--emporion-bg);color:var(--emporion-text);padding:44px 0 64px}.emporion-back-link{color:var(--emporion-text);margin-top:0}.emporion-back-link:hover{color:var(--emporion-accent)}.emporion-hero-grid{grid-template-columns:minmax(0,1fr) minmax(360px,500px);align-items:center;gap:clamp(48px,8vw,110px);margin-top:52px;display:grid}.emporion-hero-copy{max-width:670px}.emporion-hero-copy .eyebrow{color:var(--emporion-muted)}.emporion-hero-copy h1{letter-spacing:-.08em;margin:0;font-size:clamp(2.8rem,5vw,5.2rem);font-weight:500;line-height:.94}.emporion-hero-copy h1 em{color:var(--emporion-accent);font-style:normal}.emporion-hero-lede{max-width:590px;color:var(--emporion-muted);margin:28px 0 0;font-size:18px;line-height:1.55}.emporion-hero-actions{flex-wrap:wrap;gap:10px;margin-top:30px;display:flex}.emporion-hero-actions .button{min-height:41px;font-size:12px}.emporion-hero-actions .button:first-child{border-color:var(--emporion-text);background:var(--emporion-text);color:var(--emporion-bg)}.emporion-hero-actions .button:first-child:hover{background:var(--emporion-accent);color:var(--emporion-bg)}.emporion-hero-actions .button.secondary{border-color:var(--emporion-line);color:var(--emporion-text)}.emporion-architecture-card{border:1px solid var(--emporion-line);background:var(--emporion-card);border-radius:16px;flex-direction:column;justify-content:space-between;min-height:390px;padding:19px;display:flex}.emporion-card-top,.emporion-card-bottom{color:var(--emporion-muted);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;gap:12px;font:10px SFMono-Regular,Consolas,monospace;display:flex}.emporion-card-top span:last-child{color:var(--emporion-accent)}.emporion-architecture-stack{align-content:center;gap:14px;display:grid}.emporion-architecture-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.emporion-architecture-node{border:1px solid var(--emporion-line);min-height:62px;color:var(--emporion-muted);border-radius:9px;justify-content:center;align-items:center;gap:9px;display:flex}.emporion-architecture-node span,.emporion-service-row{letter-spacing:.08em;font:10px SFMono-Regular,Consolas,monospace}.emporion-architecture-node.gateway{border-color:var(--emporion-accent);background:var(--emporion-accent-soft);color:var(--emporion-accent)}.emporion-architecture-connector{justify-content:center;align-items:center;gap:4px;height:18px;display:flex}.emporion-architecture-connector:before,.emporion-architecture-connector:after{background:var(--emporion-accent);content:"";opacity:.45;width:48px;height:1px}.emporion-architecture-connector span{background:var(--emporion-accent);border-radius:50%;width:4px;height:4px}.emporion-service-row{color:var(--emporion-muted);text-align:center;grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.emporion-service-row span{border:1px solid var(--emporion-line);border-radius:7px;padding:13px 5px}.emporion-card-bottom span:last-child{color:var(--emporion-accent)}.emporion-section{border-top:1px solid var(--line);padding:54px 0}.emporion-surface{background:var(--surface)}.emporion-section-heading{max-width:800px}.emporion-section-heading.compact{max-width:700px}.emporion-label{color:var(--accent);letter-spacing:.1em;text-transform:uppercase;margin:0 0 18px;font:11px SFMono-Regular,Consolas,monospace}.emporion-section-heading h2{letter-spacing:-.065em;margin:0;font-size:clamp(2rem,3.2vw,3.35rem);font-weight:500;line-height:1}.emporion-intro-grid,.emporion-role-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:12%;margin-top:40px;display:grid}.emporion-services-intro{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:9%;margin-top:34px;display:grid}.emporion-lede{max-width:540px;color:var(--text);letter-spacing:-.02em;margin:0;font-size:18px;line-height:1.55}.emporion-detail-stack{border-top:1px solid var(--line)}.emporion-detail-stack>div{border-bottom:1px solid var(--line);grid-template-columns:125px minmax(0,1fr);align-items:baseline;gap:22px;padding:16px 0;display:grid}.emporion-detail-stack span{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;font:10px SFMono-Regular,Consolas,monospace}.emporion-detail-stack p{color:var(--muted);margin:0;font-size:15px;line-height:1.55}.emporion-boundaries{border-top:1px solid var(--line);grid-template-columns:repeat(4,1fr);gap:0;margin-top:34px;display:grid}.emporion-boundary{border-bottom:1px solid var(--line);background:0 0;border-radius:0;min-height:190px;padding:20px 22px 18px 0}.emporion-boundary+.emporion-boundary{border-left:1px solid var(--line);padding-left:22px}.emporion-boundary>svg,.emporion-principles svg{color:var(--accent)}.emporion-boundary h3{letter-spacing:-.04em;margin:34px 0 8px;font-size:19px;font-weight:600}.emporion-boundary p{color:var(--muted);margin:0;font-size:14px;line-height:1.5}.emporion-runtime{border-top:1px solid var(--line);margin-top:34px}.emporion-runtime-item{border-bottom:1px solid var(--line);grid-template-columns:52px minmax(0,1fr) 22px;align-items:baseline;gap:22px;padding:20px 0;display:grid}.emporion-runtime-item>span{color:var(--accent);font:11px SFMono-Regular,Consolas,monospace}.emporion-runtime-item h3{letter-spacing:-.035em;margin:0;font-size:20px;font-weight:600}.emporion-runtime-item p{max-width:700px;color:var(--muted);margin:6px 0 0;font-size:15px;line-height:1.55}.emporion-runtime-item>svg{color:var(--faint);margin-top:3px}.emporion-runtime-item:last-child>svg{color:var(--accent)}.emporion-service-catalog{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px;display:grid}.emporion-service-catalog-item{border-bottom:1px solid var(--line);grid-template-columns:38px minmax(0,1fr);align-content:start;gap:14px;min-height:132px;padding:17px 0;display:grid}.emporion-service-catalog-item>span{color:var(--accent);font:11px SFMono-Regular,Consolas,monospace}.emporion-service-catalog-item h3{letter-spacing:-.035em;margin:0;font-size:17px;font-weight:600}.emporion-service-catalog-item p{max-width:680px;color:var(--muted);margin:5px 0 0;font-size:14px;line-height:1.5}.emporion-final-section{padding-bottom:80px}.emporion-principles{grid-template-columns:repeat(4,1fr);gap:12px;margin-top:38px;display:grid}.emporion-principles>div{border:1px solid var(--line);background:var(--bg);border-radius:12px;min-height:200px;padding:21px}.emporion-principles h3{letter-spacing:-.04em;margin:42px 0 8px;font-size:20px;font-weight:550}.emporion-principles p{color:var(--muted);margin:0;font-size:14px;line-height:1.5}.emporion-cta{border-top:1px solid var(--line-strong);justify-content:space-between;align-items:end;gap:30px;margin-top:54px;padding:24px 0 0;display:flex}.emporion-cta .emporion-label{margin-bottom:14px}.emporion-cta h3{letter-spacing:-.06em;max-width:610px;margin:0;font-size:clamp(1.8rem,3.4vw,3rem);font-weight:500;line-height:1}.cartridge-store-page{--cartridge-bg:#211f1c;--cartridge-text:#f4f0e8;--cartridge-muted:#b9b1a5;--cartridge-line:#f4f0e82b;--cartridge-accent:#d17a36;--cartridge-accent-soft:#d17a3621;background:var(--bg)}html[data-theme=light] .cartridge-store-page{--cartridge-bg:#e8e0d4;--cartridge-text:#211f1c;--cartridge-muted:#625c52;--cartridge-line:#211f1c2e;--cartridge-accent:#8f4d16;--cartridge-accent-soft:#8f4d161f}.cartridge-store-hero{background:var(--cartridge-bg);color:var(--cartridge-text);padding:44px 0 64px}.cartridge-store-back-link{color:var(--cartridge-text);margin-top:0}.cartridge-store-back-link:hover{color:var(--cartridge-accent)}.cartridge-store-hero-grid{grid-template-columns:minmax(0,1fr) minmax(340px,460px);align-items:center;gap:clamp(44px,8vw,100px);margin-top:46px;display:grid}.cartridge-store-hero-copy{max-width:700px}.cartridge-store-hero-copy .eyebrow{color:var(--cartridge-muted)}.cartridge-store-hero-copy h1{letter-spacing:-.08em;margin:0;font-size:clamp(2.8rem,5vw,5.2rem);font-weight:500;line-height:.94}.cartridge-store-hero-copy h1 em{color:var(--cartridge-accent);font-style:normal}.cartridge-store-hero-copy>p:last-of-type{max-width:600px;color:var(--cartridge-muted);margin:27px 0 0;font-size:18px;line-height:1.55}.cartridge-store-hero-actions{flex-wrap:wrap;gap:10px;margin-top:30px;display:flex}.cartridge-store-hero-actions .button{border-color:var(--cartridge-text);background:var(--cartridge-text);min-height:41px;color:var(--cartridge-bg);font-size:12px}.cartridge-store-hero-actions .button:hover{background:var(--cartridge-accent);color:var(--cartridge-bg)}.cartridge-store-hero-actions .button.secondary{border-color:var(--cartridge-line);color:var(--cartridge-text);background:0 0}.cartridge-store-hero-card{border:1px solid var(--cartridge-line);background:var(--cartridge-bg);border-radius:16px;flex-direction:column;justify-content:space-between;min-height:360px;padding:20px;display:flex}@supports (color:color-mix(in lab, red, red)){.cartridge-store-hero-card{background:color-mix(in srgb, var(--cartridge-bg) 78%, white 6%)}}.cartridge-store-card-top,.cartridge-store-card-bottom{color:var(--cartridge-muted);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;gap:12px;font:10px SFMono-Regular,Consolas,monospace;display:flex}.cartridge-store-card-top span:last-child,.cartridge-store-card-bottom span:last-child{color:var(--cartridge-accent)}.cartridge-store-card-core{text-align:center;justify-items:center;gap:9px;display:grid}.cartridge-store-card-icon{border:1px solid var(--cartridge-accent);background:var(--cartridge-accent-soft);width:72px;height:72px;color:var(--cartridge-accent);border-radius:18px;place-items:center;display:grid}.cartridge-store-card-core strong{letter-spacing:-.04em;font-size:20px;font-weight:600}.cartridge-store-card-core span{color:var(--cartridge-muted);font:11px SFMono-Regular,Consolas,monospace}.cartridge-store-section{border-top:1px solid var(--line);padding:62px 0}.cartridge-store-surface{background:var(--surface)}.cartridge-store-final{padding-bottom:110px}.cartridge-store-section-heading{max-width:820px}.cartridge-store-section-heading.compact{max-width:700px}.cartridge-store-label{color:var(--accent);letter-spacing:.1em;text-transform:uppercase;margin:0 0 18px;font:11px SFMono-Regular,Consolas,monospace}.cartridge-store-section-heading h2{letter-spacing:-.07em;margin:0;font-size:clamp(2.15rem,3.7vw,3.8rem);font-weight:500;line-height:.98}.cartridge-store-intro-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:12%;margin-top:40px;display:grid}.cartridge-store-lede{max-width:540px;color:var(--text);letter-spacing:-.02em;margin:0;font-size:18px;line-height:1.55}.cartridge-store-detail-stack{border-top:1px solid var(--line)}.cartridge-store-detail-stack>div{border-bottom:1px solid var(--line);grid-template-columns:115px 1fr;gap:24px;padding:17px 0;display:grid}.cartridge-store-detail-stack span{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;font:10px SFMono-Regular,Consolas,monospace}.cartridge-store-detail-stack p{color:var(--muted);margin:0;font-size:15px;line-height:1.55}.cartridge-store-map{border:1px solid var(--line-strong);background:var(--bg);border-radius:16px;margin-top:38px;padding:20px}.cartridge-store-map-top{color:var(--faint);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;gap:16px;font:10px SFMono-Regular,Consolas,monospace;display:flex}.cartridge-store-map-grid{grid-template-columns:minmax(160px,.85fr) minmax(240px,1.25fr) minmax(160px,.85fr);align-items:center;gap:18px;margin-top:34px;display:grid}.cartridge-store-map-column,.cartridge-store-map-center{gap:12px;display:grid}.cartridge-store-map-node{border:1px solid var(--line);background:var(--surface);border-radius:12px;align-content:center;gap:7px;min-height:106px;padding:17px;display:grid}.cartridge-store-map-node svg{color:var(--accent)}.cartridge-store-map-node strong{letter-spacing:-.03em;font-size:15px;font-weight:620}.cartridge-store-map-node span{color:var(--muted);font:10px/1.4 SFMono-Regular,Consolas,monospace}.cartridge-store-map-node.primary{border-color:var(--accent);background:var(--accent-soft);min-height:142px}.cartridge-store-map-node.primary strong{font-size:19px}.cartridge-store-map-node.secondary{min-height:82px}.cartridge-store-map-connector{color:var(--accent);justify-content:center;gap:5px;display:flex}.cartridge-store-map-connector i{background:currentColor;border-radius:50%;width:5px;height:5px}.cartridge-store-map-data{border-top:1px solid var(--line);color:var(--muted);align-items:center;gap:10px;margin-top:18px;padding:14px 16px;font-size:13px;display:flex}.cartridge-store-map-data svg{color:var(--accent);flex:none}.cartridge-store-map-data strong{color:var(--text);font-weight:600}.cartridge-store-flow-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin-top:38px;display:grid}.cartridge-store-flow-card{border:1px solid var(--line);background:var(--surface);border-radius:12px;min-height:218px;padding:20px}.cartridge-store-flow-top{color:var(--accent);justify-content:space-between;align-items:center;display:flex}.cartridge-store-flow-top span{font:11px SFMono-Regular,Consolas,monospace}.cartridge-store-flow-card h3{letter-spacing:-.04em;margin:48px 0 9px;font-size:20px;font-weight:550}.cartridge-store-flow-card p{color:var(--muted);margin:0;font-size:14px;line-height:1.55}.cartridge-store-link-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:34px;display:grid}.cartridge-store-link-card{border:1px solid var(--line-strong);background:var(--surface);border-radius:10px;justify-content:space-between;align-items:center;min-height:72px;padding:0 20px;font-size:14px;font-weight:600;transition:background-color .18s,border-color .18s;display:flex}.cartridge-store-link-card:hover{border-color:var(--accent);background:var(--accent-soft)}.experience-preview{grid-template-columns:.9fr 1.1fr;gap:9%;display:grid}.experience-lead{max-width:340px;color:var(--muted)}.experience-list{border-top:1px solid var(--line)}.experience-item{border-bottom:1px solid var(--line);grid-template-columns:110px 1fr;gap:28px;padding:22px 0;display:grid}.experience-period{color:var(--faint);font:11px SFMono-Regular,Consolas,monospace}.experience-item h3{margin:0;font-size:17px;font-weight:550}.experience-item p{color:var(--muted);margin:4px 0 0;font-size:14px}.experience-tag{color:var(--accent);text-transform:uppercase;margin-top:10px;font:10px SFMono-Regular,Consolas,monospace;display:inline-block}.cta-section{padding:90px 0 110px}.cta-box{border-top:1px solid var(--line-strong);padding:60px 0 0;position:relative}.cta-box:after{background:var(--accent);content:"";width:80px;height:2px;position:absolute;top:-1px;left:0}.cta-box h2{letter-spacing:-.065em;max-width:760px;margin:0;font-size:clamp(3rem,6.5vw,6.2rem);font-weight:500;line-height:.92}.cta-box p{max-width:450px;color:var(--muted);margin:30px 0 0;font-size:17px}.home-contact-section{padding:0}.home-contact-panel{background:var(--contrast-bg);color:var(--contrast-fg)}.home-contact-inner{grid-template-columns:minmax(0,1.25fr) minmax(240px,.75fr);align-items:end;gap:8%;min-height:350px;padding-top:clamp(46px,6vw,76px);padding-bottom:clamp(46px,6vw,76px);display:grid}.home-contact-eyebrow{color:var(--contrast-fg);margin-bottom:26px}@supports (color:color-mix(in lab, red, red)){.home-contact-eyebrow{color:color-mix(in srgb, var(--contrast-fg) 68%, transparent)}}.home-contact-copy h2{letter-spacing:-.07em;max-width:650px;margin:0;font-size:clamp(2.6rem,5vw,5.2rem);font-weight:500;line-height:.92}.home-contact-copy h2 em{color:var(--accent);font-style:normal}.home-contact-copy>p:last-child{max-width:460px;color:var(--contrast-fg);margin:24px 0 0}@supports (color:color-mix(in lab, red, red)){.home-contact-copy>p:last-child{color:color-mix(in srgb, var(--contrast-fg) 68%, transparent)}}.home-contact-copy>p:last-child{font-size:16px;line-height:1.55}.home-contact-card{border-top:1px solid var(--contrast-fg);flex-direction:column;align-self:end;padding:17px 0 3px;display:flex}@supports (color:color-mix(in lab, red, red)){.home-contact-card{border-top:1px solid color-mix(in srgb, var(--contrast-fg) 25%, transparent)}}.home-contact-card{border-bottom:1px solid var(--contrast-fg)}@supports (color:color-mix(in lab, red, red)){.home-contact-card{border-bottom:1px solid color-mix(in srgb, var(--contrast-fg) 25%, transparent)}}.home-contact-card-top{color:var(--contrast-fg);justify-content:space-between;align-items:center;gap:16px;display:flex}@supports (color:color-mix(in lab, red, red)){.home-contact-card-top{color:color-mix(in srgb, var(--contrast-fg) 58%, transparent)}}.home-contact-card-top{letter-spacing:.08em;text-transform:uppercase;font:10px SFMono-Regular,Consolas,monospace}.home-contact-card-top svg{color:var(--accent)}.home-contact-email{border-bottom:1px solid var(--contrast-fg);justify-content:space-between;align-items:center;gap:16px;margin-top:16px;padding-bottom:15px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.home-contact-email{border-bottom:1px solid color-mix(in srgb, var(--contrast-fg) 25%, transparent)}}.home-contact-email{color:var(--contrast-fg);letter-spacing:-.035em;font-size:clamp(1.08rem,2vw,1.48rem);font-weight:560}.home-contact-email:hover{color:var(--accent)}.home-contact-card-note{max-width:330px;color:var(--contrast-fg);margin:14px 0 0}@supports (color:color-mix(in lab, red, red)){.home-contact-card-note{color:color-mix(in srgb, var(--contrast-fg) 62%, transparent)}}.home-contact-card-note{font-size:13px;line-height:1.5}.home-contact-links{flex-wrap:wrap;gap:18px 26px;margin-top:19px;display:flex}.home-contact-links a{color:var(--contrast-fg);align-items:center;gap:6px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.home-contact-links a{color:color-mix(in srgb, var(--contrast-fg) 72%, transparent)}}.home-contact-links a{font-size:13px;font-weight:600}.home-contact-links a:hover{color:var(--accent)}.page-intro{border-bottom:1px solid var(--line);padding:78px 0 65px}.page-intro h1{letter-spacing:-.065em;max-width:860px;margin:0;font-size:clamp(3.2rem,6.5vw,6.6rem);font-weight:500;line-height:.92}.page-intro p{max-width:580px;color:var(--muted);margin:30px 0 0;font-size:18px}.project-page-intro-grid{grid-template-columns:minmax(0,1fr) minmax(360px,500px);align-items:center;gap:clamp(44px,8vw,100px);display:grid}.project-page-intro-grid h1{max-width:680px}.project-page-intro-grid>div:first-child>p:last-child{max-width:560px}.projects-index{padding-top:58px}.project-system-map{border:1px solid var(--line-strong);background:var(--surface);border-radius:16px;padding:19px}.project-system-map-topline{color:var(--faint);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:16px;font:10px SFMono-Regular,Consolas,monospace;display:flex}.project-system-map-core{border:1px solid var(--line);background:var(--bg);border-radius:10px;min-height:320px;margin-top:18px;padding:16px;display:grid;position:relative}.project-system-map-core:before,.project-system-map-core:after{background:var(--line-strong);content:"";position:absolute}.project-system-map-core:before{height:1px;top:50%;left:24px;right:24px}.project-system-map-core:after{width:1px;top:24px;bottom:24px;left:50%}.project-system-map-center{z-index:3;border:1px solid var(--accent);background:var(--surface-raised);text-align:center;width:126px;height:96px;box-shadow:0 0 0 9px var(--bg);border-radius:10px;align-content:center;place-items:center;gap:5px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.project-system-map-center span{color:var(--accent);letter-spacing:.1em;font:10px SFMono-Regular,Consolas,monospace}.project-system-map-center strong{letter-spacing:-.03em;font-size:13px;font-weight:600;line-height:1.05}.project-system-map-nodes{z-index:2;grid-template-rows:repeat(3,minmax(0,1fr));grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid;position:relative}.project-system-map-node:first-child{grid-area:1/1}.project-system-map-node:nth-child(2){grid-area:1/3}.project-system-map-node:nth-child(3){grid-area:2/1}.project-system-map-node:nth-child(4){grid-area:2/3}.project-system-map-node:nth-child(5){grid-area:3/1}.project-system-map-node:nth-child(6){grid-area:3/3}.project-system-map-node{background:var(--surface);border:1px solid #0000;border-radius:8px;align-items:center;gap:9px;min-width:0;padding:9px;display:flex}@supports (color:color-mix(in lab, red, red)){.project-system-map-node{background:color-mix(in srgb, var(--surface) 82%, transparent)}}.project-system-map-node{color:var(--muted);cursor:pointer;text-align:left;transition:border-color .18s,color .18s,background .18s,transform .18s}.project-system-map-node:hover,.project-system-map-node.active{border-color:var(--accent);background:var(--surface-raised);color:var(--text);transform:translateY(-2px)}.project-system-map-node-icon{border:1px solid var(--line-strong);width:28px;height:28px;color:var(--accent);border-radius:7px;flex:none;place-items:center;display:grid}.project-system-map-node span:last-child{gap:2px;min-width:0;display:grid}.project-system-map-node strong{font-size:12px;font-weight:650;line-height:1.15}.project-system-map-node small{color:var(--faint);font:10px SFMono-Regular,Consolas,monospace}.project-system-map-detail{border-top:1px solid var(--line);grid-template-columns:120px 1fr;align-items:baseline;gap:18px;margin-top:15px;padding-top:14px;display:grid}.project-system-map-detail>span{color:var(--accent);letter-spacing:.06em;text-transform:uppercase;font:10px SFMono-Regular,Consolas,monospace}.project-system-map-detail p{color:var(--muted);margin:0;font-size:12px;line-height:1.45}.hackintosh-hero{border-bottom:1px solid var(--line);padding:42px 0 60px}.hackintosh-hero-top{justify-content:space-between;align-items:center;gap:24px;display:flex}.hackintosh-kicker,.hackintosh-hero-index,.hackintosh-label{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin:0;font:11px SFMono-Regular,Consolas,monospace}.hackintosh-kicker{align-items:center;gap:10px;display:flex}.section-dot{background:var(--accent);width:8px;height:8px;box-shadow:0 0 0 6px var(--accent-soft);border-radius:50%;display:inline-block}.hackintosh-hero-index{color:var(--faint)}.hackintosh-hero-grid{grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);align-items:start;gap:clamp(52px,9vw,120px);margin-top:50px;display:grid}.hackintosh-hero-grid h1{letter-spacing:-.075em;max-width:760px;margin:0;font-size:clamp(3rem,5.4vw,5.8rem);font-weight:500;line-height:.92}.hackintosh-hero-lede{max-width:660px;color:var(--muted);margin:28px 0 0;font-size:18px;line-height:1.58}.hackintosh-hero-links{flex-wrap:wrap;align-items:center;gap:20px;margin-top:30px;display:flex}.hackintosh-hero-links .text-link{margin:0}.hackintosh-signal-card{border:1px solid var(--line-strong);background:var(--surface);box-shadow:0 16px 35px var(--text);border-radius:18px;margin-top:8px;padding:20px 22px 8px}@supports (color:color-mix(in lab, red, red)){.hackintosh-signal-card{box-shadow:0 16px 35px color-mix(in srgb, var(--text) 7%, transparent)}}.hackintosh-signal-card-head{color:var(--faint);letter-spacing:.08em;justify-content:space-between;align-items:center;padding-bottom:15px;font:10px SFMono-Regular,Consolas,monospace;display:flex}.hackintosh-signal-card-head svg{color:var(--accent)}.hackintosh-signal-row{border-top:1px solid var(--line);grid-template-columns:34px minmax(0,1fr);gap:2px 10px;padding:16px 0;display:grid}.hackintosh-signal-row span{color:var(--accent);grid-row:span 2;font:11px SFMono-Regular,Consolas,monospace}.hackintosh-signal-row strong{letter-spacing:-.03em;font-size:16px;font-weight:620}.hackintosh-signal-row small{color:var(--muted);font-size:12px}.hackintosh-page-body{padding:74px 0 120px}.hackintosh-content{gap:0;display:grid}.hackintosh-section{border-bottom:1px solid var(--line);padding:0 0 64px}.hackintosh-section+.hackintosh-section{padding-top:64px}.hackintosh-section-heading{grid-template-columns:minmax(150px,.55fr) minmax(0,1.45fr);gap:10%;display:grid}.hackintosh-section-heading.compact{display:block}.hackintosh-section-heading.compact .hackintosh-label{margin-bottom:24px}.hackintosh-section-heading h2{letter-spacing:-.07em;max-width:720px;margin:0;font-size:clamp(2.1rem,3.5vw,3.7rem);font-weight:500;line-height:.98}.hackintosh-section-heading p:not(.hackintosh-label){max-width:690px;color:var(--muted);margin:22px 0 0;font-size:16px;line-height:1.65}.hackintosh-work-grid{border:1px solid var(--line);background:var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:40px;display:grid}.hackintosh-work-card{background:var(--surface);min-height:250px;padding:25px}.hackintosh-card-icon{border:1px solid var(--line-strong);width:36px;height:36px;color:var(--accent);border-radius:10px;place-items:center;display:grid}.hackintosh-work-card h3{letter-spacing:-.04em;margin:30px 0 0;font-size:19px;font-weight:620}.hackintosh-work-card p{max-width:460px;color:var(--muted);margin:12px 0 0;font-size:14px;line-height:1.65}.hackintosh-scope-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:38px;display:grid}.hackintosh-scope-grid>div{border:1px solid var(--line);background:var(--surface);padding:22px}.hackintosh-scope-mark{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;font:11px SFMono-Regular,Consolas,monospace}.hackintosh-scope-grid p{color:var(--muted);margin:18px 0 0;font-size:15px;line-height:1.65}.hackintosh-trail-list{border-top:1px solid var(--line);margin-top:38px}.hackintosh-trail-link{border-bottom:1px solid var(--line);grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:18px;padding:17px 0;display:grid}.hackintosh-trail-link:hover strong{color:var(--accent)}.hackintosh-trail-number{color:var(--faint);font:11px SFMono-Regular,Consolas,monospace}.hackintosh-trail-link span:nth-child(2){gap:3px;display:grid}.hackintosh-trail-link strong{letter-spacing:-.03em;font-size:16px;font-weight:620;transition:color .18s}.hackintosh-trail-link small{color:var(--muted);font-size:13px;line-height:1.45}.hackintosh-trail-link>svg{color:var(--muted)}.hackintosh-case-study{padding-top:58px}.hackintosh-section-heading .hackintosh-lede{max-width:700px;color:var(--text);margin:25px 0 0;font-size:19px;line-height:1.48}.hackintosh-section-heading .hackintosh-copy{max-width:700px;color:var(--muted);margin:18px 0 0;font-size:15px;line-height:1.68}.hackintosh-tool-list{border-top:1px solid var(--line);margin-top:38px}.hackintosh-tool-row{border-bottom:1px solid var(--line);grid-template-columns:36px minmax(0,1fr) auto;align-items:start;gap:17px;padding:16px 0;display:grid}.hackintosh-tool-row:hover strong,.hackintosh-tool-row:hover>svg{color:var(--accent)}.hackintosh-tool-icon{border:1px solid var(--line-strong);width:30px;height:30px;color:var(--accent);border-radius:8px;place-items:center;display:grid}.hackintosh-tool-row>span:nth-child(2){gap:4px;display:grid}.hackintosh-tool-row strong{letter-spacing:-.03em;font-size:16px;font-weight:650;transition:color .18s}.hackintosh-tool-row small{color:var(--muted);font-size:13px;line-height:1.5}.hackintosh-tool-row>svg{color:var(--muted);margin-top:6px;transition:color .18s}.hackintosh-inline-link{margin-top:26px}.page-content{padding:68px 0 100px}.internal-page-body{grid-template-columns:160px minmax(0,1fr);align-items:start;gap:58px;display:grid}.internal-page-sidebar{padding-top:13px;position:sticky;top:104px}.internal-page-main{min-width:0}.page-toc{padding:0 0 4px 21px;position:relative}.page-toc:before{z-index:0;background:var(--line-strong);content:"";width:1px;position:absolute;top:30px;bottom:7px;left:4px}.page-toc-title{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin:0 0 17px;font:12px SFMono-Regular,Consolas,monospace}.page-toc-list{gap:9px;margin:0;padding:0;list-style:none;display:grid}.page-toc-list li{position:relative}.page-toc-link{color:var(--muted);font-size:13px;line-height:1.45;transition:color .18s;display:block;position:relative}.page-toc-link:before{z-index:1;border:1px solid var(--line-strong);background:var(--bg);content:"";border-radius:50%;width:9px;height:9px;transition:background-color .18s,border-color .18s,transform .18s;position:absolute;top:.52em;left:-17px;transform:translate(-50%)}.page-toc-link:hover,.page-toc-link.active{color:var(--text)}.page-toc-link.active{font-weight:650}.page-toc-link.active:before{border-color:var(--text);background:var(--text);transform:translate(-50%)scale(1.18)}.project-case-study-layout{grid-template-columns:minmax(0,1fr) 188px;gap:48px;width:min(1380px,100% - 48px);margin-inline:auto;display:grid;position:relative}.project-case-study-content{min-width:0}.project-case-study-aside{z-index:8;pointer-events:none;grid-area:1/2;width:auto;padding-top:clamp(68px,6vw,88px);position:relative}.project-case-study-aside .page-toc{pointer-events:auto;padding-top:0;position:sticky;top:104px}.project-page-toc{display:none}section[id],div[id],header[id]{scroll-margin-top:110px}.open-source-hero{border-bottom:1px solid var(--line);padding:36px 0 54px}.open-source-back{margin:0}.open-source-hero-grid{grid-template-columns:minmax(0,1.15fr) minmax(290px,.85fr);align-items:end;gap:clamp(48px,8vw,112px);margin-top:44px;display:grid}.open-source-hero-copy h1{letter-spacing:-.075em;max-width:760px;margin:0;font-size:clamp(3rem,5vw,5.6rem);font-weight:500;line-height:.93}.open-source-hero-copy>p:last-child{max-width:650px;color:var(--muted);margin:27px 0 0;font-size:17px;line-height:1.62}.open-source-signal{border:1px solid var(--line-strong);background:var(--surface);box-shadow:0 14px 30px var(--text);border-radius:15px;padding:19px 21px 9px}@supports (color:color-mix(in lab, red, red)){.open-source-signal{box-shadow:0 14px 30px color-mix(in srgb, var(--text) 6%, transparent)}}.open-source-signal-head{color:var(--faint);letter-spacing:.08em;justify-content:space-between;align-items:center;padding-bottom:14px;font:10px SFMono-Regular,Consolas,monospace;display:flex}.open-source-signal-head svg{color:var(--accent)}.open-source-signal-row{border-top:1px solid var(--line);grid-template-columns:30px minmax(0,1fr);gap:2px 10px;padding:13px 0;display:grid}.open-source-signal-row>span{color:var(--accent);grid-row:span 2;font:11px SFMono-Regular,Consolas,monospace}.open-source-signal-row strong{letter-spacing:-.03em;font-size:15px;font-weight:620}.open-source-signal-row small{color:var(--muted);font-size:12px}.open-source-signal-link{color:var(--text);align-items:center;gap:6px;margin:14px 0 8px 40px;font-size:13px;font-weight:650;display:inline-flex}.open-source-signal-link:hover,.open-source-final-link:hover{color:var(--accent)}.open-source-section{border-bottom:1px solid var(--line);padding-top:58px;padding-bottom:68px}.open-source-section-heading{grid-template-columns:minmax(150px,.55fr) minmax(0,1.45fr);gap:10%;display:grid}.open-source-section-heading.compact{align-items:start}.open-source-label{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin:4px 0 0;font:11px SFMono-Regular,Consolas,monospace}.open-source-section-heading h2{letter-spacing:-.075em;max-width:700px;margin:0;font-size:clamp(2.25rem,3.8vw,4rem);font-weight:500;line-height:.98}.open-source-lede{max-width:700px;color:var(--text);margin:25px 0 0;font-size:19px;line-height:1.48}.open-source-copy{max-width:700px;color:var(--muted);margin:18px 0 0;font-size:15px;line-height:1.68}.open-source-work-grid{border:1px solid var(--line);background:var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:38px;display:grid}.open-source-work-card{background:var(--surface);min-height:258px;padding:23px}.open-source-card-top{color:var(--accent);justify-content:space-between;align-items:center;display:flex}.open-source-card-top span{letter-spacing:.07em;text-transform:uppercase;font:10px SFMono-Regular,Consolas,monospace}.open-source-card-top svg{opacity:.85}.open-source-work-card h3{letter-spacing:-.045em;max-width:280px;margin:53px 0 0;font-size:20px;font-weight:620;line-height:1.08}.open-source-work-card p{color:var(--muted);margin:13px 0 0;font-size:13px;line-height:1.62}.open-source-repository-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 58px;margin-top:38px;display:grid}.open-source-repository-group:last-child{grid-column:1/-1}.open-source-group-title{border-bottom:1px solid var(--line-strong);color:var(--accent);align-items:center;gap:9px;padding-bottom:13px;display:flex}.open-source-group-title h3{color:var(--text);letter-spacing:-.025em;margin:0;font-size:15px;font-weight:650}.open-source-repository-list{border-top:1px solid var(--line)}.open-source-repository{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:17px;padding:17px 0;display:grid}.open-source-repository:hover strong,.open-source-repository:hover>svg{color:var(--accent)}.open-source-repository-copy{gap:5px;display:grid}.open-source-repository-copy strong{letter-spacing:-.035em;font-size:16px;font-weight:650;transition:color .18s}.open-source-repository-copy>span{color:var(--muted);font-size:13px;line-height:1.5}.open-source-repository-copy small{color:var(--faint);letter-spacing:.04em;font:10px SFMono-Regular,Consolas,monospace}.open-source-repository>svg{color:var(--muted);margin-top:2px;transition:color .18s}.open-source-principles{border-top:1px solid var(--line);margin-top:38px}.open-source-principle{border-bottom:1px solid var(--line);grid-template-columns:40px minmax(170px,.65fr) minmax(0,1.35fr);align-items:baseline;gap:20px;padding:17px 0;display:grid}.open-source-principle>span{color:var(--accent);font:11px SFMono-Regular,Consolas,monospace}.open-source-principle h3{letter-spacing:-.03em;margin:0;font-size:16px;font-weight:650}.open-source-principle p{color:var(--muted);margin:0;font-size:14px;line-height:1.55}.open-source-final-link{margin-top:27px}.server-playbook-hero{border-bottom:1px solid var(--line);padding:36px 0 54px}.server-playbook-back{margin:0}.server-playbook-hero-grid{grid-template-columns:minmax(0,1.15fr) minmax(290px,.85fr);align-items:end;gap:clamp(48px,8vw,112px);margin-top:44px;display:grid}.server-playbook-hero-copy h1{letter-spacing:-.075em;max-width:760px;margin:0;font-size:clamp(3rem,5vw,5.6rem);font-weight:500;line-height:.93}.server-playbook-hero-copy>p:last-child{max-width:650px;color:var(--muted);margin:27px 0 0;font-size:17px;line-height:1.62}.server-playbook-signal{border:1px solid var(--line-strong);background:var(--surface);box-shadow:0 14px 30px var(--text);border-radius:15px;padding:19px 21px 9px}@supports (color:color-mix(in lab, red, red)){.server-playbook-signal{box-shadow:0 14px 30px color-mix(in srgb, var(--text) 6%, transparent)}}.server-playbook-signal-head{color:var(--faint);letter-spacing:.08em;justify-content:space-between;align-items:center;padding-bottom:14px;font:10px SFMono-Regular,Consolas,monospace;display:flex}.server-playbook-signal-head svg{color:var(--accent)}.server-playbook-signal-row{border-top:1px solid var(--line);grid-template-columns:30px minmax(0,1fr);gap:2px 10px;padding:13px 0;display:grid}.server-playbook-signal-row>span{color:var(--accent);grid-row:span 2;font:11px SFMono-Regular,Consolas,monospace}.server-playbook-signal-row strong{letter-spacing:-.03em;font-size:15px;font-weight:620}.server-playbook-signal-row small{color:var(--muted);font-size:12px}.server-playbook-section{border-bottom:1px solid var(--line);padding-top:58px;padding-bottom:68px}.server-playbook-section-heading{grid-template-columns:minmax(150px,.55fr) minmax(0,1.45fr);gap:10%;display:grid}.server-playbook-section-heading.compact{align-items:start}.server-playbook-label{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin:4px 0 0;font:11px SFMono-Regular,Consolas,monospace}.server-playbook-section-heading h2{letter-spacing:-.075em;max-width:700px;margin:0;font-size:clamp(2.25rem,3.8vw,4rem);font-weight:500;line-height:.98}.server-playbook-lede{max-width:700px;color:var(--text);margin:25px 0 0;font-size:19px;line-height:1.48}.server-playbook-copy{max-width:700px;color:var(--muted);margin:18px 0 0;font-size:15px;line-height:1.68}.server-playbook-tags{flex-wrap:wrap;gap:8px;margin-top:25px;display:flex}.server-playbook-tags span{border:1px solid var(--line-strong);color:var(--muted);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:7px 10px;font:10px SFMono-Regular,Consolas,monospace}.server-playbook-chapters{border-top:1px solid var(--line);margin-top:38px}.server-playbook-chapter{border-bottom:1px solid var(--line);grid-template-columns:42px minmax(170px,.6fr) minmax(0,1.4fr);align-items:baseline;gap:20px;padding:16px 0;display:grid}.server-playbook-chapter>span{color:var(--accent);font:11px SFMono-Regular,Consolas,monospace}.server-playbook-chapter strong{letter-spacing:-.03em;font-size:15px;font-weight:650}.server-playbook-chapter p{color:var(--muted);margin:0;font-size:14px;line-height:1.55}.server-playbook-discipline-grid{border:1px solid var(--line);background:var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:38px;display:grid}.server-playbook-discipline-card{background:var(--surface);min-height:240px;padding:23px}.server-playbook-card-icon{border:1px solid var(--line-strong);width:36px;height:36px;color:var(--accent);border-radius:10px;place-items:center;display:grid}.server-playbook-discipline-card h3{letter-spacing:-.04em;margin:45px 0 0;font-size:18px;font-weight:650}.server-playbook-discipline-card p{color:var(--muted);margin:12px 0 0;font-size:13px;line-height:1.62}.server-playbook-source{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:25px minmax(0,1fr) auto;align-items:start;gap:11px;max-width:700px;margin-top:36px;padding:17px 0;display:grid}.server-playbook-source>svg{color:var(--accent)}.server-playbook-source span{gap:4px;display:grid}.server-playbook-source strong{font-size:15px;font-weight:650}.server-playbook-source small{color:var(--muted);font-size:13px;line-height:1.5}.server-playbook-source a{color:var(--muted)}.server-playbook-source a:hover{color:var(--accent)}.project-section-heading{display:block}.project-section-heading>p:first-child{margin-top:0;margin-bottom:24px}.about-hero{border-bottom:1px solid var(--line);padding:54px 0 88px}.about-overline{color:var(--muted);justify-content:space-between;align-items:center;font-size:13px;font-weight:600;display:flex}.about-overline span:last-child{color:var(--faint);font-weight:450}.about-hero-grid{grid-template-columns:minmax(0,1fr) minmax(320px,420px);align-items:end;gap:clamp(48px,10vw,132px);margin-top:56px;display:grid}.about-hero-copy h1{letter-spacing:-.08em;max-width:760px;margin:0;font-size:clamp(3.2rem,6.2vw,6.4rem);font-weight:500;line-height:.91}.about-hero-lede{max-width:570px;color:var(--muted);margin:28px 0 0;font-size:18px;line-height:1.55}.about-hero .portrait{min-height:430px}.about-links{flex-wrap:wrap;gap:22px;margin-top:30px;display:flex}.about-links .text-link{margin:0}.about-content{padding:82px 0 110px}.about-story-grid,.about-now-grid{border-top:1px solid var(--line);grid-template-columns:minmax(150px,.55fr) minmax(0,1.45fr);gap:10%;padding:28px 0 72px;display:grid}.about-label{color:var(--muted);letter-spacing:-.01em;margin:0;font-size:12px;font-weight:650}.about-story{max-width:680px}.about-story p{color:var(--muted);margin:0 0 22px;font-size:17px;line-height:1.65}.about-story p:last-child{margin-bottom:0}.about-story .about-story-lede{color:var(--text);letter-spacing:-.055em;font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.08}.about-now-grid{padding-bottom:72px}.about-now-content{grid-template-columns:minmax(200px,.75fr) minmax(0,1.25fr);gap:10%;display:grid}.about-now-summary{align-content:start;gap:6px;display:grid}.about-now-summary strong{letter-spacing:-.03em;font-size:18px;font-weight:600}.about-now-summary span{color:var(--muted);font-size:14px}.about-now-content ul{border-top:1px solid var(--line);gap:0;margin:0;padding:0;list-style:none;display:grid}.about-now-content li{border-bottom:1px solid var(--line);color:var(--muted);padding:13px 0;font-size:15px}.about-tools{border-top:1px solid var(--line);grid-template-columns:minmax(150px,.55fr) minmax(0,1.45fr);gap:10%;padding-top:28px;display:grid}.about-tools-heading h2{letter-spacing:-.065em;max-width:430px;margin:20px 0 0;font-size:clamp(2rem,3.4vw,3.2rem);font-weight:500;line-height:.98}.about-skill-list{border-top:1px solid var(--line)}.about-skill-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(150px,.75fr) minmax(0,1.25fr);gap:10%;padding:16px 0;display:grid}.about-skill-row h3{letter-spacing:-.02em;margin:0;font-size:15px;font-weight:600}.about-skill-row p{color:var(--muted);margin:0;font-size:14px;line-height:1.6}.about-grid{grid-template-columns:.8fr 1.2fr;gap:12%;display:grid}.about-copy p{max-width:650px;color:var(--muted);margin:0 0 25px;font-size:18px;line-height:1.7}.about-copy p:first-child{color:var(--text);letter-spacing:-.03em;font-size:25px;line-height:1.35}.side-note{border-top:1px solid var(--line);padding-top:10px}.side-note h2{margin:0 0 16px;font-size:13px;font-weight:600}.side-note ul{color:var(--muted);gap:12px;margin:0;padding:0;font-size:14px;list-style:none;display:grid}.side-note li:before{color:var(--accent);content:"—";margin-right:10px}.skills-grid{border:1px solid var(--line);background:var(--line);grid-template-columns:repeat(5,1fr);gap:1px;margin-top:80px;display:grid}.skill-group{background:var(--surface);min-height:180px;padding:20px}.skill-group h3{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin:0 0 27px;font:10px SFMono-Regular,Consolas,monospace}.skill-group ul{color:var(--muted);gap:7px;margin:0;padding:0;font-size:13px;list-style:none;display:grid}.timeline{border-top:1px solid var(--line)}.timeline-item{border-bottom:1px solid var(--line);grid-template-columns:160px .8fr 1.2fr;gap:30px;padding:28px 0;display:grid}.timeline-period,.timeline-tag{color:var(--faint);font:11px SFMono-Regular,Consolas,monospace}.timeline-item h2{letter-spacing:-.04em;margin:0;font-size:22px;font-weight:500}.timeline-org{color:var(--accent);margin:5px 0 0;font-size:13px}.timeline-description{color:var(--muted);margin:0;font-size:15px}.contact-grid{grid-template-columns:.7fr 1.3fr;gap:12%;display:grid}.contact-copy h2{letter-spacing:-.09em;margin:0;font-size:clamp(2.7rem,6vw,6rem);font-weight:500;line-height:.9}.contact-copy p{max-width:370px;color:var(--muted);margin:28px 0 0}.contact-links{border-top:1px solid var(--line)}.contact-link{border-bottom:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;padding:20px 0;transition:color .18s,padding .18s;display:flex}.contact-link:hover{color:var(--text);padding-left:8px}.contact-link span:first-child{color:var(--faint);text-transform:uppercase;font:11px SFMono-Regular,Consolas,monospace}.contact-link span:last-child{align-items:center;gap:9px;display:flex}.resume-page{max-width:1320px;padding:42px 0 100px}.resume-toolbar{justify-content:space-between;align-items:center;margin-bottom:34px;display:flex}.resume-kicker{color:var(--muted);margin:0;font-size:13px;font-weight:650}.resume-download-action{border:1px solid var(--line-strong);background:var(--surface);color:var(--text);text-align:left;border-radius:4px;align-items:center;gap:10px;padding:8px 12px 8px 8px;text-decoration:none;transition:border-color .18s,background .18s,transform .18s;display:inline-flex}.resume-download-action:hover,.resume-download-action:focus-visible{border-color:var(--accent);background:var(--surface-raised);color:var(--text);transform:translateY(-1px)}.resume-download-action:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.resume-download-icon{border:1px solid var(--line-strong);width:31px;height:31px;color:var(--accent);place-items:center;display:grid}.resume-download-action span:last-child{gap:1px;display:grid}.resume-download-action strong{font-size:12px;font-weight:650}.resume-download-action small{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;font:9px SFMono-Regular,Consolas,monospace}.resume-profile{border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);background:var(--surface);grid-template-columns:220px minmax(0,1fr);gap:32px;padding:22px 0 26px;display:grid}.resume-profile-photo .portrait{border-color:var(--line-strong);border-radius:0;min-height:250px}.resume-profile-main{align-self:center;min-width:0}.resume-profile-label{color:var(--muted);margin:0 0 12px;font-size:13px;font-weight:600}.resume-profile-main h1{letter-spacing:-.08em;max-width:860px;margin:0;font-size:clamp(2.8rem,5vw,5.3rem);font-weight:500;line-height:.9}.resume-role{color:var(--text);letter-spacing:-.025em;margin:14px 0 0;font-size:16px;font-weight:600}.resume-intro{max-width:900px;color:var(--muted);margin:14px 0 0;font-size:16px;line-height:1.55}.resume-contact{color:var(--muted);flex-wrap:wrap;gap:10px 24px;margin-top:18px;font-size:12px;display:flex}.resume-contact>a,.resume-contact>span{align-items:flex-start;gap:8px;min-height:29px;display:inline-flex}.resume-contact>a>span{align-items:baseline;gap:6px;display:inline-flex}.resume-contact strong{color:var(--text);font-size:12px;font-weight:600}.resume-contact small{color:var(--muted);font:10px SFMono-Regular,Consolas,monospace}.resume-contact a:hover{color:var(--text)}.resume-contact svg{color:var(--accent);flex:none;margin-top:1px}.resume-layout{grid-template-columns:minmax(0,1.35fr) minmax(250px,.65fr);align-items:start;gap:58px;margin-top:38px;display:grid}.resume-section{border-bottom:1px solid var(--line);box-shadow:none;background:0 0;margin-bottom:0;padding:0 0 48px}.resume-section+.resume-section{padding-top:48px}.resume-sidebar{border-left:1px solid var(--line);padding-left:30px;position:sticky;top:94px}.resume-sidebar .resume-section{position:static}.resume-section-heading{margin-bottom:24px}.resume-section-label{color:var(--faint);align-items:center;gap:8px;margin-bottom:9px;display:flex}.resume-section-label svg{color:var(--accent)}.resume-section-label span{color:var(--accent);font-size:12px;font-weight:650}.resume-section-heading h2{letter-spacing:-.05em;max-width:420px;margin:0;font-size:24px;font-weight:550;line-height:1.05}.resume-timeline,.resume-project-list,.resume-skill-list{border-top:0}.resume-timeline-item{border-bottom:1px solid var(--line);grid-template-columns:110px 1fr;gap:24px;margin-top:0;padding:20px 0;display:grid}.resume-period{color:var(--faint);margin:2px 0 0;font:11px/1.4 SFMono-Regular,Consolas,monospace}.resume-timeline-item h3,.resume-project h3{letter-spacing:-.04em;margin:0;font-size:19px;font-weight:600}.resume-organization{color:var(--muted);margin:4px 0 0;font-size:14px}.resume-description{max-width:620px;color:var(--muted);margin:12px 0 0;font-size:14px;line-height:1.55}.resume-tag{color:var(--faint);margin-top:12px;font-size:11px;display:inline-block}.resume-project{border-bottom:1px solid var(--line);grid-template-columns:1fr auto;align-items:end;gap:30px;margin-top:0;padding:20px 0;display:grid}.resume-project p{max-width:620px;color:var(--muted);margin:8px 0 0;font-size:14px;line-height:1.55}.resume-project .text-link{white-space:nowrap;margin:0}.resume-skill-row{border-bottom:1px solid var(--line);grid-template-columns:1fr;gap:6px;margin-top:0;padding:15px 0;display:grid}.resume-skill-row h3{margin:0;font-size:14px;font-weight:650}.resume-skill-row p{color:var(--muted);margin:0;font-size:14px;line-height:1.5}.skills-page{padding:68px 0 110px}.skills-page-main{min-width:0}.skills-header{border-bottom:1px solid var(--line-strong);grid-template-columns:minmax(0,1.2fr) minmax(240px,.8fr);align-items:end;gap:10%;padding-bottom:58px;display:grid}.skills-kicker{color:var(--accent);margin:0 0 17px;font-size:12px;font-weight:650}.skills-header h1{letter-spacing:-.08em;max-width:720px;margin:0;font-size:clamp(3rem,6vw,6rem);font-weight:500;line-height:.91}.skills-intro{max-width:650px;color:var(--muted);margin:25px 0 0;font-size:17px;line-height:1.6}.skills-map{padding-top:16px}.skills-map-header{margin-bottom:18px;display:block}.skills-map-header h2{letter-spacing:-.08em;max-width:900px;margin:0;font-size:clamp(2.4rem,4.5vw,4.4rem);font-weight:500;line-height:.94}.skills-map-header>p{max-width:700px;color:var(--muted);margin:16px 0 0;font-size:14px;line-height:1.55}.skills-map-workspace{border:1px solid var(--line);background:var(--surface);border-radius:6px;grid-template-columns:minmax(0,1fr) 285px;gap:14px;padding:14px;display:grid}@supports (color:color-mix(in lab, red, red)){.skills-map-workspace{background:color-mix(in srgb, var(--surface) 72%, transparent)}}.skills-map-canvas{border:1px solid var(--line);background:radial-gradient(circle at 50% 50%, var(--accent), transparent 38%), var(--bg);border-radius:3px;min-height:480px;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.skills-map-canvas{background:radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--accent) 8%, transparent), transparent 38%), var(--bg)}}.skills-map-lines{width:100%;height:100%;position:absolute;inset:0}.skills-map-line{stroke:var(--line-strong);stroke-width:1px;stroke-dasharray:3 7;transition:stroke .18s,stroke-width .18s}.skills-map-line.active{stroke:var(--accent);stroke-width:1.7px}.skills-map-line-dot{fill:var(--line-strong);transition:fill .18s,r .18s}.skills-map-line-dot.active{fill:var(--accent)}.skills-map-core{border:1px solid var(--accent);background:var(--surface-raised);text-align:center;border-radius:4px;place-content:center;width:142px;height:110px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.skills-map-core span{color:var(--accent);letter-spacing:.12em;font:10px SFMono-Regular,Consolas,monospace}.skills-map-core strong{color:var(--text);letter-spacing:-.045em;margin-top:7px;font-size:15px;font-weight:650;line-height:1}.skills-map-core small{color:var(--faint);text-transform:uppercase;margin-top:9px;font:9px SFMono-Regular,Consolas,monospace}.skills-map-node{border:1px solid var(--line);background:var(--surface);width:164px;min-height:54px;color:var(--text);cursor:pointer;text-align:left;border-radius:4px;align-items:center;gap:9px;padding:9px 10px;transition:border-color .18s,background .18s,transform .18s;display:flex;position:absolute;transform:translate(-50%,-50%)}.skills-map-node:hover,.skills-map-node.active{border-color:var(--accent);background:var(--surface-raised);transform:translate(-50%,-50%)translateY(-2px)}.skills-map-node-icon{border:1px solid var(--line-strong);width:29px;height:29px;color:var(--accent);border-radius:3px;flex:none;place-items:center;display:grid}.skills-map-node-copy{gap:3px;min-width:0;display:grid}.skills-map-node-copy strong{letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:650;overflow:hidden}.skills-map-node-copy small{color:var(--faint);text-transform:uppercase;font:9px SFMono-Regular,Consolas,monospace}.skills-map-detail{border:1px solid var(--line);background:var(--surface);border-radius:3px;min-width:0;padding:20px 18px}.skills-map-detail-heading{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding-bottom:16px;display:flex}.skills-map-detail-icon{border:1px solid var(--line-strong);width:35px;height:35px;color:var(--accent);border-radius:3px;flex:none;place-items:center;display:grid}.skills-map-detail-heading p{color:var(--text);letter-spacing:-.025em;margin:0;font-size:14px;font-weight:650}.skills-map-detail-heading span:not(.skills-map-detail-icon){color:var(--faint);text-transform:uppercase;margin-top:4px;font:9px SFMono-Regular,Consolas,monospace;display:block}.skills-map-detail-description{color:var(--muted);margin:16px 0 0;font-size:13px;line-height:1.5}.skills-map-detail ul{gap:0;max-height:318px;margin:18px 0 0;padding:0;list-style:none;display:grid;overflow:auto}.skills-map-detail li{border-top:1px solid var(--line);grid-template-columns:8px 1fr;gap:9px;padding:10px 0;display:grid}.skills-map-skill-dot{border:1px solid var(--accent);border-radius:50%;width:6px;height:6px;margin-top:5px}.skills-map-detail li strong{color:var(--text);font-size:12px;font-weight:600;display:block}.skills-map-detail li small{color:var(--muted);margin-top:3px;font-size:11px;line-height:1.35;display:block}.skills-working-style{padding-top:68px}.skills-working-style-heading{border-bottom:1px solid var(--line-strong);padding-bottom:22px;display:block}.skills-working-style-heading h2{letter-spacing:-.075em;max-width:800px;margin:0;font-size:clamp(2.2rem,4vw,4rem);font-weight:500;line-height:.95}.skills-working-style-heading>p{max-width:700px;color:var(--muted);margin:16px 0 0;font-size:14px;line-height:1.55}.skills-working-style-list{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.skills-working-style-item{border-bottom:1px solid var(--line);grid-template-columns:28px 34px 1fr;align-items:start;gap:12px;min-width:0;padding:22px 18px 22px 0;display:grid}.skills-working-style-item+.skills-working-style-item{border-left:1px solid var(--line);padding-left:18px}.skills-working-style-index{color:var(--accent);font:10px SFMono-Regular,Consolas,monospace}.skills-working-style-icon{border:1px solid var(--line-strong);width:30px;height:30px;color:var(--accent);place-items:center;display:grid}.skills-working-style-item h3{letter-spacing:-.035em;margin:0;font-size:17px;font-weight:650}.skills-working-style-item p{color:var(--muted);margin:7px 0 0;font-size:13px;line-height:1.45}.writing-archive-section{padding-top:62px}.writing-archive-layout{grid-template-columns:190px minmax(0,1fr);align-items:start;gap:60px;display:grid}.writing-category-panel{position:sticky;top:104px}.writing-category-heading{color:var(--accent);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:9px;margin-bottom:17px;font:11px SFMono-Regular,Consolas,monospace;display:flex}.writing-category-list{gap:4px;display:grid}.writing-category-filter{color:var(--muted);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:7px;justify-content:space-between;align-items:center;gap:14px;padding:9px 10px;font-size:13px;transition:border-color .18s,background .18s,color .18s;display:flex}.writing-category-filter small{color:var(--faint);font:10px SFMono-Regular,Consolas,monospace}.writing-category-filter:hover,.writing-category-filter.active{border-color:var(--line);background:var(--surface);color:var(--text)}.writing-category-filter.active small{color:var(--accent)}.writing-archive-results{min-width:0}.writing-archive-results-top{border-bottom:1px solid var(--line-strong);color:var(--faint);letter-spacing:.06em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:20px;padding:0 0 13px;font:10px SFMono-Regular,Consolas,monospace;display:flex}.writing-list{border-top:0}.writing-row{border-bottom:1px solid var(--line);grid-template-columns:110px 1fr 24px;align-items:start;gap:25px;padding:25px 0;display:grid}.writing-row:hover h2{color:var(--accent)}.writing-date{color:var(--faint);font:11px SFMono-Regular,Consolas,monospace}.writing-row h2{letter-spacing:-.045em;margin:0;font-size:23px;font-weight:500;transition:color .18s}.writing-excerpt{color:var(--muted);margin:7px 0 0;font-size:14px}.writing-row-meta{color:var(--accent);letter-spacing:.05em;text-transform:uppercase;margin-top:12px;font:10px SFMono-Regular,Consolas,monospace;display:block}.writing-row-arrow{color:var(--faint);margin-top:4px;transition:color .18s,transform .18s}.writing-row:hover .writing-row-arrow{color:var(--accent);transform:translate(2px,-2px)}.writing-intro{padding-top:62px;padding-bottom:48px}.writing-intro h1{max-width:760px}.writing-intro p{margin-top:20px}.writing-count{color:var(--faint);letter-spacing:.08em;text-transform:uppercase;margin-top:28px;font:10px SFMono-Regular,Consolas,monospace;display:block}.article-header{max-width:1120px;padding:58px 0 48px}.article-back-link{margin-top:0}.article-eyebrow{margin-top:44px;margin-bottom:20px}.article-header h1{letter-spacing:-.08em;max-width:900px;margin:0;font-size:clamp(2.8rem,6vw,5.7rem);font-weight:500;line-height:.92}.article-meta{color:var(--muted);text-transform:uppercase;flex-wrap:wrap;gap:17px;margin-top:22px;font:11px SFMono-Regular,Consolas,monospace;display:flex}.article-layout{grid-template-columns:minmax(0,760px) 190px;gap:64px;padding-bottom:100px;display:grid}.article-content{min-width:0;color:var(--muted);grid-column:1;font-size:17px;line-height:1.75}.article-content h1,.article-content h2,.article-content h3,.article-content h4{color:var(--text);letter-spacing:-.04em;scroll-margin-top:110px;font-weight:550;line-height:1.15}.article-content h1{margin:55px 0 20px;font-size:38px}.article-content h2{margin:45px 0 16px;font-size:29px}.article-content h3{margin:32px 0 12px;font-size:22px}.article-content p{margin:0 0 22px}.article-content a{color:var(--text);text-decoration:underline;-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:4px}.article-content ul,.article-content ol{margin:0 0 24px;padding-left:25px}.article-content li{margin:6px 0;padding-left:5px}.article-content blockquote{border-left:2px solid var(--accent);color:var(--text);margin:30px 0;padding:5px 0 5px 22px}.article-content code{border:1px solid var(--line);background:var(--surface);color:var(--text);padding:2px 5px;font:.85em SFMono-Regular,Consolas,monospace}.article-content pre{border:1px solid var(--line);background:var(--surface);max-width:100%;margin:28px 0;padding:20px;overflow-x:auto}.article-content pre code{background:0 0;border:0;padding:0}.article-content img{border:1px solid var(--line);max-width:100%;height:auto;margin:30px 0;display:block}.article-aside{color:var(--faint);letter-spacing:.04em;text-transform:uppercase;grid-area:1/2;align-self:start;padding-top:14px;font:10px/1.6 SFMono-Regular,Consolas,monospace;position:sticky;top:100px}.article-toc{padding:0 0 4px 21px;position:relative}.article-toc:before{z-index:0;background:var(--line-strong);content:"";width:1px;position:absolute;top:30px;bottom:7px;left:4px}.article-toc-title{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin:0 0 17px;font:12px SFMono-Regular,Consolas,monospace}.article-toc-list{gap:9px;margin:0;padding:0;list-style:none;display:grid}.article-toc-list li{position:relative}.article-toc-link{color:var(--muted);letter-spacing:0;text-transform:none;font:14px/1.45 Inter,ui-sans-serif,system-ui,sans-serif;transition:color .18s;display:block;position:relative}.article-toc-link:before{z-index:1;border:1px solid var(--line-strong);background:var(--bg);content:"";border-radius:50%;width:9px;height:9px;transition:background-color .18s,border-color .18s,transform .18s;position:absolute;top:.52em;left:-17px;transform:translate(-50%)}.article-toc-link:hover,.article-toc-link.active{color:var(--text)}.article-toc-link.active{font-weight:600}.article-toc-link.active:before{border-color:var(--text);background:var(--text);transform:translate(-50%)scale(1.18)}.article-toc .toc-level-2{color:var(--faint);padding-left:14px}.article-toc .toc-level-3{color:var(--faint);padding-left:28px}.article-toc .toc-level-2.active,.article-toc .toc-level-3.active{color:var(--text)}.article-aside-meta{margin-top:24px}.article-aside-meta p{margin:0 0 5px}.article-aside-meta p:not(:first-child){margin-top:18px}.article-aside-meta span{color:var(--accent);margin-top:12px;display:block}.not-found h1{letter-spacing:-.1em;margin:0;font-size:6rem;font-weight:500;line-height:.9}.site-footer{border-top:1px solid var(--line);padding:0 0 28px}.footer-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1.2fr) minmax(150px,.55fr);gap:clamp(30px,7vw,90px);padding:30px 0 36px;display:grid}.footer-brand,.footer-connect,.footer-meta{min-width:0}.footer-wordmark{color:var(--text);letter-spacing:-.02em;align-items:center;gap:10px;font-size:15px;font-weight:650;display:inline-flex}.footer-wordmark-mark{border:1px solid var(--line-strong);border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex;overflow:hidden}.footer-wordmark-mark img{object-fit:cover;width:100%;height:100%}.footer-note{max-width:220px;color:var(--muted);margin:16px 0 0;font-size:13px;line-height:1.5}.footer-label{color:var(--accent);letter-spacing:.1em;text-transform:uppercase;margin:0 0 15px;font:10px SFMono-Regular,Consolas,monospace}.footer-links{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.footer-links a{border-top:1px solid var(--line);min-width:0;color:var(--muted);justify-content:space-between;align-items:flex-start;gap:10px;padding-top:10px;font-size:13px;display:flex}.footer-links a:hover{color:var(--text)}.footer-links a span{gap:5px;min-width:0;display:grid}.footer-links small{color:var(--faint);text-transform:uppercase;font:10px SFMono-Regular,Consolas,monospace}.footer-links strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:550;overflow:hidden}.footer-meta{text-align:right;flex-direction:column;align-items:flex-end;display:flex}.footer-meta strong{color:var(--text);font-size:13px;font-weight:550}.footer-meta span{color:var(--faint);margin-top:9px;font:10px SFMono-Regular,Consolas,monospace}.footer-bottom{border-top:1px solid var(--line);color:var(--faint);justify-content:space-between;align-items:center;gap:20px;padding-top:17px;font:10px SFMono-Regular,Consolas,monospace;display:flex}.footer-bottom-links{align-items:center;gap:18px;display:inline-flex}.footer-bottom a{color:var(--muted);align-items:center;gap:5px;display:inline-flex}.footer-bottom a:hover{color:var(--text)}@media (max-width:860px){.shell{width:min(100% - 36px,680px)}.desktop-nav{display:none}.mobile-actions{align-items:center;gap:8px;display:flex}.mobile-nav{border-top:1px solid var(--line);background:var(--bg);display:block}.mobile-nav-inner{padding:9px 0 19px}.mobile-nav-link{border-bottom:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;padding:15px 0;font-size:18px;display:flex}.mobile-nav-link.active{color:var(--accent)}.hero{padding:56px 0 64px}.hero-grid,.about-grid,.contact-grid,.experience-preview,.statement{grid-template-columns:1fr;gap:45px}.project-page-intro-grid{grid-template-columns:1fr;gap:36px}.project-system-map-core{min-height:290px}.internal-page-body{grid-template-columns:1fr;gap:0}.internal-page-sidebar{margin-bottom:32px;padding:0;position:static}.internal-page-sidebar .page-toc{max-width:300px}.project-case-study-layout{width:100%;margin:0;display:block}.project-case-study-aside{width:min(100% - 36px,680px);height:auto;margin:0 auto;padding:24px 0 0;position:static}.project-case-study-aside .page-toc{position:static}.hero h1{font-size:clamp(3.2rem,14vw,5.4rem)}.hero-side{max-width:440px}.portrait{min-height:380px}.about-hero{padding:42px 0 64px}.about-hero-grid{grid-template-columns:1fr;gap:42px;margin-top:44px}.about-hero-copy h1{font-size:clamp(3rem,12vw,5.4rem)}.about-hero .portrait{max-width:520px;min-height:380px}.about-content{padding:62px 0 80px}.about-story-grid,.about-now-grid,.about-tools{grid-template-columns:1fr;gap:24px;padding-bottom:54px}.about-now-content{grid-template-columns:1fr;gap:30px}.about-tools{padding-top:24px}.about-tools-heading h2{margin-top:14px}.about-skill-row{grid-template-columns:1fr;gap:7px}.hackintosh-hero{padding:36px 0 48px}.hackintosh-hero-top{flex-direction:column;align-items:flex-start;gap:14px}.hackintosh-hero-grid{grid-template-columns:1fr;gap:30px;margin-top:36px}.hackintosh-hero-grid h1{font-size:clamp(3rem,12vw,5.3rem)}.hackintosh-hero-lede{font-size:16px}.hackintosh-signal-card{max-width:560px;margin-top:0}.hackintosh-page-body{padding:58px 0 82px}.hackintosh-case-study{padding-top:46px}.hackintosh-section{padding-bottom:52px}.hackintosh-section+.hackintosh-section{padding-top:52px}.hackintosh-section-heading{grid-template-columns:1fr;gap:22px}.hackintosh-work-grid{grid-template-columns:1fr;margin-top:30px}.hackintosh-work-card{min-height:0}.hackintosh-scope-grid{grid-template-columns:1fr;margin-top:30px}.hackintosh-trail-list,.hackintosh-tool-list{margin-top:30px}.hackintosh-tool-row{grid-template-columns:32px minmax(0,1fr) auto;gap:12px}.project-row{grid-template-columns:1fr;gap:20px}.project-row:nth-child(2n) .project-visual,.project-row:nth-child(2n) .project-copy{order:initial}.project-visual{min-height:220px}.project-media-grid{grid-template-columns:repeat(2,1fr);margin-top:58px}.prg32-hero-grid{grid-template-columns:1fr}.prg32-hero-visual{max-width:520px;min-height:350px}.project-generic-hero-grid,.cartridge-store-hero-grid{grid-template-columns:1fr;gap:38px}.open-source-hero{padding:38px 0 56px}.open-source-hero-grid{grid-template-columns:1fr;gap:36px;margin-top:44px}.open-source-hero-copy h1{font-size:clamp(3rem,12vw,5.2rem)}.open-source-hero-copy>p:last-child{font-size:16px}.open-source-section{padding-top:48px;padding-bottom:56px}.open-source-section-heading{grid-template-columns:1fr;gap:22px}.open-source-work-grid,.open-source-repository-groups{grid-template-columns:1fr;margin-top:30px}.open-source-repository-group:last-child{grid-column:auto}.open-source-work-card{min-height:0}.open-source-work-card h3{margin-top:37px}.open-source-principle{grid-template-columns:36px 1fr;gap:9px 16px}.open-source-principle p{grid-column:2}.server-playbook-hero{padding:38px 0 56px}.server-playbook-hero-grid{grid-template-columns:1fr;gap:36px;margin-top:44px}.server-playbook-hero-copy h1{font-size:clamp(3rem,12vw,5.2rem)}.server-playbook-hero-copy>p:last-child{font-size:16px}.server-playbook-section{padding-top:48px;padding-bottom:56px}.server-playbook-section-heading{grid-template-columns:1fr;gap:22px}.server-playbook-chapters,.server-playbook-discipline-grid{margin-top:30px}.server-playbook-discipline-grid{grid-template-columns:1fr}.server-playbook-discipline-card{min-height:0}.server-playbook-discipline-card h3{margin-top:32px}.server-playbook-chapter{grid-template-columns:35px 1fr;gap:8px 15px}.server-playbook-chapter p{grid-column:2}.project-generic-hero .project-visual,.cartridge-store-hero-card{max-width:560px}.cartridge-store-map-grid{grid-template-columns:1fr;gap:12px}.cartridge-store-map-center{order:-1}.cartridge-store-link-grid{grid-template-columns:1fr}.prg32-overview-grid,.prg32-credits-grid{grid-template-columns:1fr;gap:42px}.prg32-contribution-row{grid-template-columns:36px 1fr;gap:10px 16px}.prg32-contribution-row p{grid-column:2}.prg32-workflow-grid,.prg32-gallery-grid{grid-template-columns:repeat(2,1fr)}.prg32-link-grid{grid-template-columns:1fr}.project-generic-hero,.cartridge-store-hero{padding-bottom:60px}.project-generic-hero-grid,.cartridge-store-hero-grid{margin-top:42px}.project-generic-hero-copy h1,.cartridge-store-hero-copy h1{font-size:clamp(2.7rem,12vw,4.6rem)}.project-generic-hero-copy>p:last-child,.cartridge-store-hero-copy>p:last-of-type{font-size:16px}.cartridge-store-hero-actions .button{width:100%}.cartridge-store-section{padding:54px 0}.cartridge-store-intro-grid{grid-template-columns:1fr;gap:30px}.cartridge-store-detail-stack>div{grid-template-columns:1fr;gap:8px}.cartridge-store-map{padding:14px}.cartridge-store-map-top{flex-direction:column;align-items:start;gap:8px}.cartridge-store-flow-grid{grid-template-columns:1fr}.cartridge-store-flow-card{min-height:0}.event-bridge-hero-grid{grid-template-columns:1fr}.event-bridge-console{max-width:620px;min-height:330px}.event-bridge-intro-grid{grid-template-columns:1fr;gap:30px}.event-bridge-pipeline,.event-bridge-capabilities{grid-template-columns:repeat(2,1fr)}.emporion-hero-grid{grid-template-columns:1fr}.emporion-architecture-card{max-width:620px;min-height:330px}.emporion-intro-grid,.emporion-role-grid,.emporion-services-intro{grid-template-columns:1fr;gap:30px}.emporion-boundaries,.emporion-principles{grid-template-columns:repeat(2,1fr)}.spotted-train-layout,.spotted-train-section{grid-template-columns:1fr;gap:30px}.spotted-train-hero h1{font-size:clamp(2.8rem,12vw,4.8rem)}.spotted-train-hero p{font-size:16px}.app-store-cta{width:fit-content}.spotted-train-footer-note{flex-direction:column;align-items:start}.home-project-row{grid-template-columns:1fr;align-items:start;gap:12px}.home-project-meta{align-self:start}.home-work-heading{grid-template-columns:1fr;gap:22px}.home-project-grid{grid-template-columns:1fr}.home-project-card{min-height:0;padding:22px 0 26px}.home-project-card+.home-project-card{border-left:0;padding-left:0}.home-project-card h3{margin-top:30px}.home-project-card-bottom{margin-top:28px}.home-project-heading{flex-direction:column;align-items:start;gap:20px}.project-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-carousel-item{flex-basis:calc(45.4545% - 8.18182px)}.project-card-hint{opacity:1;transform:none}.home-contact-inner{grid-template-columns:1fr;gap:30px;min-height:0}.resume-page{padding:44px 0 80px}.resume-toolbar{margin-bottom:48px}.resume-profile{grid-template-columns:190px minmax(0,1fr);gap:30px;padding:24px 0 34px}.resume-profile-photo .portrait{min-height:260px}.resume-contact{align-content:start}.resume-layout{grid-template-columns:1fr;gap:0}.resume-section{padding:34px 0}.resume-section+.resume-section{padding-top:34px}.resume-sidebar{border-left:0;padding-left:0;position:static}.skills-page{padding:52px 0 80px}.skills-header{grid-template-columns:1fr;gap:28px}.skills-map-workspace{grid-template-columns:1fr}.skills-map-detail{grid-template-columns:minmax(180px,.7fr) minmax(0,1.3fr);gap:0 24px;display:grid}.skills-map-detail-heading{align-self:start}.skills-map-detail-description{margin-top:0}.skills-map-detail ul{grid-column:1/-1;max-height:none}.skills-header{padding-bottom:44px}.skills-working-style-list{grid-template-columns:1fr}.skills-working-style-item{padding-right:0}.skills-working-style-item+.skills-working-style-item{border-left:0;padding-left:0}.skills-grid{grid-template-columns:1fr 1fr}.interest-item{grid-template-columns:45px 1fr;gap:10px 16px}.interest-item p{grid-column:2}.timeline-item{grid-template-columns:110px 1fr}.timeline-description,.timeline-tag{grid-column:2}.resume-sheet{padding:30px}.article-layout{grid-template-columns:1fr;gap:15px}.article-content{order:2;grid-column:auto}.article-aside{order:1;grid-area:auto;position:static}.article-header{padding-top:48px}.article-eyebrow{margin-top:38px}.footer-grid{grid-template-columns:1fr 1fr}.footer-meta{text-align:left;align-items:start}}@media (max-width:1120px) and (min-width:861px){.project-case-study-layout{width:100%;margin:0;display:block}.project-case-study-aside{width:min(100% - 48px,920px);height:auto;margin:0 auto;padding:24px 0 0;position:static}.project-case-study-aside .page-toc{position:static}}@media (max-width:520px){.shell{width:min(100% - 28px,680px)}.header-inner{height:68px}.hero{padding-top:50px}.portrait{min-height:340px}.hero-intro,.section-description,.about-copy p{font-size:16px}.project-system-map{padding:14px}.project-system-map-core{min-height:270px;padding:10px}.project-system-map-nodes{grid-template-columns:minmax(0,1fr) 78px minmax(0,1fr);gap:8px}.project-system-map-center{width:92px;height:76px}.project-system-map-center strong{font-size:11px}.project-system-map-node{padding:7px}.project-system-map-node strong{font-size:10px}.project-system-map-detail{grid-template-columns:1fr;gap:7px}.project-carousel-item{flex-basis:min(86vw,380px)}.resume-page{padding-top:34px}.resume-toolbar{flex-direction:column;align-items:start;gap:18px}.resume-profile{grid-template-columns:1fr;gap:28px;padding:20px 0 30px}.resume-profile-photo .portrait{max-width:330px;min-height:360px}.resume-profile-main h1{font-size:clamp(3rem,14vw,5.2rem)}.resume-role,.resume-intro{font-size:16px}.resume-timeline-item,.resume-skill-row{grid-template-columns:1fr;gap:8px}.resume-project{grid-template-columns:1fr;align-items:start;gap:15px}.skills-page{padding-top:40px}.skills-header h1{font-size:clamp(3rem,14vw,5.4rem)}.skills-intro{font-size:16px}.skills-map{padding-top:8px}.skills-map-header{margin-bottom:14px}.skills-map-header h2{font-size:clamp(2.5rem,13vw,4rem)}.skills-map-workspace{padding:9px}.skills-map-canvas{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;min-height:0;padding:9px;display:grid}.skills-map-lines,.skills-map-core{display:none}.skills-map-node{width:auto;min-height:54px;position:relative;transform:none;top:auto!important;left:auto!important}.skills-map-node:hover,.skills-map-node.active{transform:translateY(-2px)}.skills-map-node-copy strong{font-size:10px}.skills-map-node-copy small{font-size:8px}.skills-map-detail{padding:17px 15px;display:block}.skills-map-detail-description{margin-top:15px}.skills-map-detail ul{max-height:none}.skills-working-style{padding-top:54px}.skills-working-style-heading{padding-bottom:18px}.skills-working-style-item{grid-template-columns:25px 32px 1fr;padding-top:18px;padding-bottom:18px}.prg32-hero{padding-bottom:60px}.prg32-hero-grid{margin-top:42px}.prg32-hero-copy h1{font-size:clamp(2.7rem,12vw,4.6rem)}.prg32-hero-lede{font-size:16px}.prg32-hero-actions .button{width:100%}.prg32-section{padding:64px 0}.prg32-fact{grid-template-columns:1fr;gap:8px}.prg32-credit-heading{flex-direction:column;align-items:flex-start;gap:8px}.prg32-credit-row{grid-template-columns:1fr;gap:4px}.prg32-workflow-grid,.prg32-gallery-grid{grid-template-columns:1fr}.prg32-gallery-grid figure:first-child{grid-column:auto}.event-bridge-hero{padding-bottom:64px}.event-bridge-hero-grid{margin-top:32px}.event-bridge-hero-copy h1{font-size:clamp(2.7rem,12vw,4.6rem)}.event-bridge-hero-lede{font-size:16px}.event-bridge-section{padding:66px 0}.event-bridge-detail-stack>div{grid-template-columns:1fr;gap:8px}.event-bridge-pipeline{grid-template-columns:1fr}.event-bridge-pipeline-item{min-height:150px}.event-bridge-capabilities{grid-template-columns:1fr}.event-bridge-cta{flex-direction:column;align-items:start}.emporion-hero{padding-bottom:64px}.emporion-hero-grid{margin-top:48px}.emporion-hero-copy h1{font-size:clamp(2.7rem,12vw,4.6rem)}.emporion-hero-lede{font-size:16px}.emporion-section{padding:66px 0}.emporion-hero-actions .button{width:100%}.emporion-detail-stack>div{grid-template-columns:1fr;gap:8px}.emporion-boundaries,.emporion-principles,.emporion-service-catalog{grid-template-columns:1fr}.emporion-boundary+.emporion-boundary{border-left:0;padding-left:0}.emporion-boundary,.emporion-principles>div{min-height:0}.emporion-runtime-item{grid-template-columns:45px 1fr;gap:18px}.emporion-runtime-item>svg{grid-area:1/2;justify-self:end}.emporion-cta{flex-direction:column;align-items:start}.spotted-train-hero{gap:28px}.app-store-actions{flex-direction:column;align-items:flex-start;gap:9px}.spotted-train-content{padding-top:38px}.spotted-train-copy p{font-size:16px}.spotted-train-meta{grid-template-columns:1fr;gap:18px;margin-top:42px}.spotted-train-section{gap:28px;margin-top:68px;padding-top:24px}.spotted-train-section h2{font-size:clamp(2.1rem,10vw,3.4rem)}.spotted-train-contribution-grid{grid-template-columns:1fr}.spotted-train-section,.spotted-train-footer-note{margin-top:56px}.project-card-grid{grid-template-columns:1fr}.rule-section{padding:62px 0}.skills-grid,.resume-skill-grid{grid-template-columns:1fr}.interest-item{grid-template-columns:36px 1fr}.writing-archive-layout{grid-template-columns:1fr;gap:34px}.writing-category-panel{position:static}.writing-category-list{grid-template-columns:repeat(2,minmax(0,1fr))}.writing-row{grid-template-columns:1fr 20px;gap:8px 14px}.writing-date{grid-column:1/-1}.writing-row-arrow{grid-area:2/2}.resume-contact{margin-top:22px}.timeline-item{grid-template-columns:1fr;gap:8px}.timeline-description,.timeline-tag{grid-column:auto}.footer-grid{grid-template-columns:1fr}.footer-meta{text-align:left;align-items:start}.footer-links{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-bottom{flex-direction:column;align-items:start;gap:10px}.back-to-top{width:40px;height:40px;bottom:14px;right:14px}}@media print{.site-header,.site-footer,.resume-toolbar,.page-toc,.project-page-toc,.project-case-study-aside{display:none}body{color:#000;background:#fff}.resume-page{max-width:none;padding:0}.resume-profile,.resume-section,.resume-timeline,.resume-project-list,.resume-skill-list,.resume-timeline-item,.resume-project,.resume-skill-row{border-color:#d6d6d6}.resume-profile,.resume-section,.resume-timeline-item,.resume-project,.resume-skill-row{box-shadow:none;background:#fff;border-radius:0}.resume-profile-main h1,.resume-profile-label,.resume-role,.resume-intro,.resume-contact,.resume-contact a,.resume-contact span,.resume-section-heading h2,.resume-timeline-item h3,.resume-project h3,.resume-skill-row h3{color:#000}.resume-organization,.resume-description,.resume-project p,.resume-skill-row p{color:#555}.resume-shell{max-width:none}.resume-sheet{background:#fff;border:0;padding:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.nfc-page{background:var(--bg)}.nfc-shell{min-height:auto;padding:72px 0 90px}.nfc-topbar{justify-content:space-between;align-items:center;gap:20px;display:flex}.nfc-wordmark{color:var(--text);letter-spacing:-.02em;align-items:center;gap:9px;font-size:14px;font-weight:650;display:inline-flex}.nfc-wordmark-mark{border:1px solid var(--line-strong);background:#292633;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex;overflow:hidden}.nfc-wordmark-mark img{object-fit:cover;width:100%;height:100%;display:block}.nfc-signal{color:var(--faint);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:8px;font:10px SFMono-Regular,Consolas,monospace;display:inline-flex}.nfc-signal span,.nfc-eyebrow-dot{background:var(--accent);width:7px;height:7px;box-shadow:0 0 0 5px var(--accent-soft);border-radius:50%}.nfc-card{border:1px solid var(--line-strong);background:var(--surface);width:min(100%,960px);box-shadow:0 24px 70px var(--text);border-radius:22px;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);gap:clamp(34px,6vw,78px);margin:auto;padding:clamp(24px,4vw,42px);display:grid}@supports (color:color-mix(in lab, red, red)){.nfc-card{box-shadow:0 24px 70px color-mix(in srgb, var(--text) 8%, transparent)}}.nfc-card-visual{background:var(--contrast-bg);min-height:430px;color:var(--contrast-fg);border-radius:15px;flex-direction:column;justify-content:space-between;padding:17px;display:flex}.nfc-card-visual-top,.nfc-card-visual-bottom{letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:12px;font:10px SFMono-Regular,Consolas,monospace;display:flex}.nfc-card-visual-top svg{color:var(--accent)}.nfc-portrait{border:1px solid var(--contrast-fg);min-height:310px;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.nfc-portrait{border:1px solid color-mix(in srgb, var(--contrast-fg) 18%, transparent)}}.nfc-portrait{background:#302d39}.nfc-portrait img{object-fit:cover;object-position:50% 30%;filter:saturate(.75)contrast(1.04)}.nfc-card-content{flex-direction:column;justify-content:center;min-width:0;display:flex}.nfc-eyebrow{color:var(--accent);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:12px;margin:0 0 24px;font:11px SFMono-Regular,Consolas,monospace;display:flex}.nfc-eyebrow-dot{flex:none;width:7px;height:7px;display:inline-block}.nfc-card-content h1{letter-spacing:-.085em;margin:0;font-size:clamp(3.1rem,6vw,5.8rem);font-weight:500;line-height:.9}.nfc-role{color:var(--muted);flex-wrap:wrap;gap:8px;margin:18px 0 0;font-size:15px;display:flex}.nfc-intro{max-width:430px;color:var(--muted);margin:22px 0 0;font-size:16px;line-height:1.55}.nfc-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:30px;display:grid}.nfc-action{border:1px solid var(--line);background:var(--bg);min-width:0;color:var(--text);border-radius:10px;align-items:center;gap:10px;padding:11px 12px;transition:border-color .18s,background-color .18s,transform .18s;display:flex}.nfc-action:hover,.nfc-action:focus-visible{border-color:var(--accent);background:var(--accent-soft);transform:translateY(-2px)}.nfc-action:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.nfc-action-primary{border-color:var(--text);background:var(--text);color:var(--bg);grid-column:1/-1}.nfc-action-primary:hover,.nfc-action-primary:focus-visible{border-color:var(--accent);background:var(--accent);color:var(--text)}.nfc-action-icon{width:31px;height:31px;color:var(--accent);border:1px solid;border-radius:8px;flex:none;place-items:center;display:grid}.nfc-action-primary .nfc-action-icon{color:currentColor}.nfc-action-copy{flex:1;gap:2px;min-width:0;display:grid}.nfc-action-copy strong{letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:650;overflow:hidden}.nfc-action-copy small{color:currentColor;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.nfc-action-copy small{color:color-mix(in srgb, currentColor 62%, transparent)}}.nfc-action-copy small{text-overflow:ellipsis;white-space:nowrap;font-size:10px}.nfc-action-arrow{color:currentColor;flex:none}@supports (color:color-mix(in lab, red, red)){.nfc-action-arrow{color:color-mix(in srgb, currentColor 58%, transparent)}}.nfc-card-footer{border-top:1px solid var(--line);color:var(--faint);letter-spacing:.04em;justify-content:space-between;align-items:center;gap:18px;margin-top:23px;padding-top:18px;font:10px SFMono-Regular,Consolas,monospace;display:flex}.nfc-card-footer span,.nfc-card-footer a{align-items:center;gap:7px;display:inline-flex}.nfc-card-footer a{color:var(--text)}.nfc-card-footer a:hover{color:var(--accent)}@media (max-width:680px){.nfc-shell{width:min(100% - 28px,520px);padding:20px 0 22px}.nfc-topbar{flex-direction:column;align-items:flex-start;gap:12px}.nfc-card{border-radius:17px;grid-template-columns:1fr;gap:28px;margin:0 0 28px;padding:17px}.nfc-card-visual{min-height:335px}.nfc-portrait{min-height:235px}.nfc-card-content h1{font-size:clamp(3rem,16vw,5rem)}.nfc-actions{grid-template-columns:1fr;margin-top:25px}.nfc-action-primary{grid-column:auto}.nfc-card-footer{flex-direction:column;align-items:flex-start;gap:10px}}.not-found{text-align:left;padding:92px 0 120px}.not-found-grid{grid-template-columns:minmax(0,1fr) minmax(300px,430px);align-items:center;gap:clamp(48px,10vw,140px);min-height:560px;display:grid}.not-found-copy{max-width:690px}.not-found-kicker{color:var(--accent);letter-spacing:.1em;align-items:center;gap:12px;margin:0 0 24px;font:11px SFMono-Regular,Consolas,monospace;display:flex}.not-found-kicker>span:first-child{background:var(--accent);width:7px;height:7px;box-shadow:0 0 0 5px var(--accent-soft);border-radius:50%}.not-found-copy h1{letter-spacing:-.09em;max-width:690px;margin:0;font-size:clamp(3.3rem,6.5vw,6.6rem);font-weight:500;line-height:.9}.not-found-lede{max-width:470px;color:var(--muted);margin:27px 0 0;font-size:17px;line-height:1.55}.not-found-actions{flex-wrap:wrap;align-items:center;gap:22px;margin-top:31px;display:flex}.not-found-actions .text-link{margin:0}.not-found-console{border:1px solid var(--line-strong);background:var(--surface);box-shadow:0 18px 45px var(--text);border-radius:16px;padding:19px 20px 17px;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.not-found-console{box-shadow:0 18px 45px color-mix(in srgb, var(--text) 7%, transparent)}}.not-found-console:before{border:1px solid var(--line);content:"";border-radius:50%;width:210px;height:210px;position:absolute;bottom:-82px;right:-70px}.not-found-console-top,.not-found-console-bottom{z-index:1;color:var(--faint);letter-spacing:.07em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:15px;font:10px SFMono-Regular,Consolas,monospace;display:flex;position:relative}.not-found-console-top span,.not-found-console-bottom span{align-items:center;gap:7px;display:inline-flex}.not-found-console-body{z-index:1;border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:13px;margin:86px 0 76px;padding:16px 0;display:grid;position:relative}.not-found-command,.not-found-output{color:var(--muted);align-items:center;gap:11px;font:12px/1.5 SFMono-Regular,Consolas,monospace;display:flex}.not-found-command span{color:var(--accent)}.not-found-command code{color:var(--text)}.not-found-output-mark{border:1px solid var(--accent);width:17px;height:17px;color:var(--accent);border-radius:50%;place-items:center;font-size:14px;line-height:1;display:grid}.not-found-output-mark.ok{color:var(--text);border-color:var(--line-strong)}.not-found-console-bottom strong{color:var(--accent);font-weight:500}@media (max-width:860px){.nfc-shell{padding:54px 0 70px}.not-found{padding:68px 0 88px}.not-found-grid{grid-template-columns:1fr;gap:46px;min-height:0}.not-found-console{max-width:540px}}@media (max-width:520px){.not-found-copy h1{font-size:clamp(3rem,14vw,5.2rem)}.not-found-lede{font-size:16px}.not-found-console-body{margin:62px 0 54px}}.nfc-shell{padding:82px 0 100px}.nfc-card{border:0;border-bottom:1px solid var(--line-strong);width:100%;box-shadow:none;background:0 0;border-radius:0;grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr);margin:0;padding:0 0 62px}.nfc-card-visual{border-radius:0;min-height:480px;padding:20px}.nfc-portrait{border-radius:0;min-height:355px}.nfc-card-content{padding-top:8px}.nfc-actions{border-top:1px solid var(--line);grid-template-columns:1fr;gap:0;margin-top:38px}.nfc-action,.nfc-action-primary{border:0;border-bottom:1px solid var(--line);min-height:62px;color:var(--text);background:0 0;border-radius:0;grid-column:1/-1;padding:14px 0;transform:none}.nfc-action:hover,.nfc-action:focus-visible,.nfc-action-primary:hover,.nfc-action-primary:focus-visible{border-color:var(--line);background:var(--accent-soft);color:var(--text);transform:none}.nfc-action-primary{border-top:1px solid var(--line-strong)}.nfc-action-icon,.nfc-action-primary .nfc-action-icon{width:29px;height:29px;color:var(--accent);border:0;border-radius:0}.nfc-action-copy strong{font-size:14px}.nfc-action-copy small{font-size:11px}.nfc-card-footer{margin-top:21px;padding-top:16px}@media (max-width:680px){.nfc-shell{padding:54px 0 72px}.nfc-card{grid-template-columns:1fr;gap:34px;padding-bottom:44px}.nfc-card-visual{min-height:350px;padding:16px}.nfc-portrait{min-height:260px}}@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}
