@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/f639721981034f88-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/9766a7e9e2e0ad5a-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/b66cf8e69499582a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/aa016aab0e6d1295-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/22a5144ee8d83bca-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Fallback;src:local("Arial");ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.00%;size-adjust:104.76%}.__className_8eaea4{font-family:Geist,Geist Fallback;font-style:normal}.__variable_8eaea4{--font-geist-sans:"Geist","Geist Fallback"}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/013b72fa676f92e0-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/b9408752a0c24fb9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/65f03d54ccadf4a8-s.woff2) format("woff2");unicode-range:u+2000-2001,u+2004-2008,u+200a,u+23b8-23bd,u+2500-259f}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e038a29029a234f2-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/2b5b02fc7e511755-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/7d4881bb7e1bf84d-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Mono Fallback;src:local("Arial");ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.00%;size-adjust:134.59%}.__className_8c25df{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.__variable_8c25df{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}@font-face{font-family:Bebas Neue;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/8b44c7e6549520b2-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Bebas Neue;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/6c25f6e897d845a3-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Bebas Neue Fallback;src:local("Arial");ascent-override:117.32%;descent-override:39.11%;line-gap-override:0.00%;size-adjust:76.72%}.__className_e75d01{font-family:Bebas Neue,Bebas Neue Fallback;font-weight:400;font-style:normal}.__variable_e75d01{--font-display:"Bebas Neue","Bebas Neue Fallback"}

/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--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{:host,:root{--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:"Geist","Geist Fallback",ui-sans-serif,system-ui,sans-serif;--default-mono-font-family:"Geist Mono","Geist Mono Fallback",ui-monospace,monospace}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden}.absolute,.sr-only{position:absolute}.fixed{position:fixed}.block{display:block}.contents{display:contents}.flex{display:flex}.hidden{display:none}.table{display:table}.h-full{height:100%}.min-h-full{min-height:100%}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.flex-col{flex-direction:column}.lowercase{text-transform:lowercase}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.blur{--tw-blur:blur(8px)}.blur,.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,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--night:#080b10;--paper:#f1eee6;--paper-bright:#fbfaf6;--paper-deep:#e3ded3;--ink:#11110f;--ink-soft:#30302c;--muted:#696a66;--line:#9aa3ac;--line-soft:#c9c8c1;--red:#d83a2e;--green:#b8c79f;--signal-blue:#7bc7d4;--blue-gray:#c7d0d2;--white:#fff;--shell:min(1320px,calc(100vw - 48px))}*{box-sizing:border-box}html{color-scheme:light;scroll-behavior:smooth;scroll-padding-top:84px}body,html{background:var(--paper);min-width:320px}body{min-height:100vh;color:var(--ink);font-family:var(--font-geist-sans),Arial,sans-serif;text-rendering:optimizelegibility;margin:0;overflow-x:clip}::selection{background:var(--red);color:var(--white)}a{color:inherit;text-decoration:none}a,button,summary{-webkit-tap-highlight-color:transparent}button,summary{font:inherit}button{color:inherit}img{display:block}svg{flex:none}:focus-visible{outline:2px solid var(--red);outline-offset:4px}.skip-link{z-index:300;border:1px solid var(--ink);background:var(--ink);color:var(--paper-bright);padding:11px 15px;font-size:.75rem;font-weight:750;transition:transform .18s;position:fixed;top:10px;left:10px;transform:translateY(calc(-100% - 16px))}.skip-link:focus-visible{outline-color:var(--paper-bright);transform:translateY(0)}.scroll-progress{z-index:200;pointer-events:none;background:var(--red);transform-origin:0;height:3px;position:fixed;top:0;left:0;right:0}.site-header{z-index:100;border-bottom:1px solid var(--ink);position:sticky;top:0}@supports (color:color-mix(in lab,red,red)){.site-header{background:color-mix(in srgb,var(--paper) 94%,transparent)}}.site-header{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);animation:header-enter .7s cubic-bezier(.22,1,.36,1) both}.site-header__inner{width:var(--shell);grid-template-columns:1fr auto 1fr;align-items:center;min-height:70px;margin-inline:auto;display:grid}.brand-mark{justify-self:start;align-items:center;gap:11px;width:max-content;display:inline-flex}.brand-mark__initials{background:var(--red);width:38px;height:38px;color:var(--white);font-family:var(--font-display),Impact,sans-serif;place-items:center;font-size:1.15rem;line-height:1;transition:transform .26s cubic-bezier(.22,1,.36,1),background .18s;display:grid}.brand-mark:hover .brand-mark__initials{background:var(--ink);transform:rotate(-7deg)}.brand-mark__copy{gap:1px;display:grid}.brand-mark__copy small,.brand-mark__copy strong{letter-spacing:0}.brand-mark__copy strong{font-size:.78rem;font-weight:760}.brand-mark__copy small{color:var(--muted);font-family:var(--font-geist-mono),monospace;text-transform:uppercase;font-size:.52rem}.nav-pill{justify-content:center;align-items:center;display:flex}.nav-pill a{color:var(--ink-soft);align-items:baseline;gap:6px;padding:25px 17px 23px;font-size:.68rem;font-weight:650;position:relative}.nav-pill a span{color:var(--red);font-family:var(--font-geist-mono),monospace;font-size:.48rem}.nav-pill a:after{background:var(--red);content:"";transform-origin:100%;height:2px;transition:transform .22s;position:absolute;bottom:17px;left:17px;right:17px;transform:scaleX(0)}.nav-pill a:hover:after{transform-origin:0;transform:scaleX(1)}.mobile-menu a[aria-current=location]{color:var(--red)}.header-actions{justify-self:end;align-items:center;gap:10px;display:flex}.header-github{border:1px solid var(--ink);background:var(--ink);min-height:38px;color:var(--paper-bright);align-items:center;gap:7px;padding:0 13px;font-size:.65rem;font-weight:700;transition:background .18s,color .18s;display:inline-flex}.header-github svg{width:13px;height:13px}.header-github svg:last-child{transition:transform .18s}.header-github:hover{background:var(--red);color:var(--white)}.header-github:hover svg:last-child{transform:translate(2px,-2px)}.mobile-menu{display:none;position:relative}.mobile-menu summary{cursor:pointer;border:1px solid var(--ink);place-items:center;width:40px;height:40px;list-style:none;display:grid}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu summary svg{width:18px}.mobile-menu nav{border:1px solid var(--ink);background:var(--paper-bright);width:min(300px,100vw - 28px);box-shadow:7px 7px 0 var(--red);display:grid;position:absolute;top:calc(100% + 16px);right:0}.mobile-menu nav a{border-bottom:1px solid var(--line-soft);grid-template-columns:28px 1fr auto;align-items:center;min-height:51px;padding:0 15px;font-size:.78rem;display:grid}.mobile-menu nav a:last-child{border-bottom:0}.mobile-menu nav a span{color:var(--red);font-family:var(--font-geist-mono),monospace;font-size:.55rem}.mobile-menu nav a svg{width:14px}.mobile-menu nav a:hover{background:var(--ink);color:var(--paper-bright)}.hero{width:var(--shell);grid-template-rows:auto minmax(390px,1fr) auto;min-height:calc(100svh - 112px);margin-inline:auto;padding:22px 0 24px;display:grid;position:relative;overflow:hidden}.hero__topline{z-index:5;justify-content:space-between;align-items:center;min-height:28px;display:flex;position:relative}.about-copy__signature,.experience-meta,.eyebrow,.footer-row,.hero-portrait figcaption,.hero__edition,.hero__facts span,.hero__locator,.hero__role,.module-list span,.project-entry__category,.project-entry__eyebrow,.project-entry__number,.project-entry__stack,.project-filter,.project-visual__masthead,.section-heading__marker,.skill-item__index,.skill-readout__label{font-family:var(--font-geist-mono),monospace;letter-spacing:0;text-transform:uppercase}.hero__edition{color:var(--muted);font-size:.52rem}.hero__stage{min-height:390px;position:relative}.hero__sun{aspect-ratio:1;background:var(--red);border-radius:50%;width:min(34%,420px);top:5%;left:38%}.hero__axis,.hero__sun{z-index:0;position:absolute}.hero__axis--horizontal{height:1px;top:50%;left:0;right:0}.hero__axis--vertical{width:1px;top:0;bottom:0;left:54%}.hero__stage h1{z-index:2;pointer-events:none;font-family:var(--font-display),Impact,sans-serif;letter-spacing:0;text-transform:uppercase;margin:0;font-size:10rem;font-weight:400;line-height:.78;position:absolute;inset:0}.hero__name{white-space:nowrap;display:block;position:absolute}.hero__name--first{z-index:0;color:var(--ink);top:8%;left:0}.hero__name--last{z-index:3;color:var(--red);-webkit-text-stroke:1px var(--paper);paint-order:stroke fill;bottom:4%;right:0}.hero-portrait{z-index:1;width:min(32%,390px);margin:0;position:absolute;top:1%;bottom:1%;left:38%}.hero-portrait__frame{clip-path:polygon(7% 0,100% 0,93% 100%,0 100%);height:calc(100% - 29px);position:relative;overflow:hidden}.hero-portrait__image{object-fit:cover;object-position:center;width:100%;height:100%}.hero-portrait__image--main{z-index:1;filter:grayscale()contrast(1.16);mix-blend-mode:multiply;transition:filter .5s,transform .7s cubic-bezier(.22,1,.36,1);position:relative}.hero-portrait figcaption{min-height:29px;color:var(--muted);justify-content:space-between;align-items:center;gap:12px;font-size:.47rem;display:flex}.hero-portrait figcaption span:last-child{text-align:right;align-items:center;gap:5px;display:inline-flex}.hero-portrait figcaption svg{width:10px;height:10px}.hero__role{z-index:4;color:var(--ink);writing-mode:vertical-rl;align-items:center;gap:9px;margin:0;font-size:.57rem;font-weight:650;display:flex;position:absolute;top:12%;right:0}.hero__footer{z-index:6;border-top:1px solid var(--ink);grid-template-columns:minmax(0,4.6fr) minmax(250px,3fr) minmax(320px,4.4fr);align-items:end;gap:26px 42px;padding-top:20px;display:grid;position:relative}.hero__copy{max-width:560px}.hero__headline{font-family:var(--font-display),Impact,sans-serif;letter-spacing:0;text-transform:uppercase;margin:0 0 8px;font-size:1.55rem;line-height:1}.hero__intro{color:var(--ink-soft);margin:0;font-size:.95rem;line-height:1.62}.hero__actions{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.button{justify-content:center;align-items:center;gap:9px;min-height:44px;font-size:.8rem;font-weight:700;display:inline-flex}.button svg{width:15px;height:15px}.button--primary{border:1px solid var(--ink);background:var(--ink);color:var(--paper-bright);padding:0 15px;transition:background .18s,color .18s,transform .18s}.button--primary:hover{background:var(--red);color:var(--white);transform:translateY(-2px)}.button--primary svg{transition:transform .18s}.button--primary:hover svg{transform:translate(2px,-2px)}.button--quiet{border-bottom:1px solid var(--ink);min-height:42px}.button--quiet svg{transition:transform .18s}.button--quiet:hover svg{transform:translateY(3px)}.hero__facts{border-top:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.hero__facts div{border-left:1px solid var(--line);gap:4px;min-width:0;padding:13px 12px 0;display:grid}.hero__facts strong{font-family:var(--font-display),Impact,sans-serif;letter-spacing:0;font-size:1.45rem;font-weight:400;line-height:1}.hero__facts span{color:var(--muted);font-size:.6rem;line-height:1.4}.scroll-cue{z-index:8;border:1px solid var(--ink);place-items:center;width:38px;height:38px;display:none;position:absolute;bottom:25px;right:0}.scroll-cue svg{width:15px;animation:scroll-nudge 1.7s ease-in-out infinite}.page-section{width:var(--shell);border-top:1px solid var(--ink);margin-inline:auto;padding:120px 0}.section-heading{grid-template-columns:1.4fr minmax(0,7fr) minmax(250px,3.6fr);align-items:start;gap:24px 42px;margin-bottom:72px;display:grid;overflow:hidden}.section-heading__marker{color:var(--muted);align-content:start;gap:4px;font-size:.48rem;display:grid}.section-heading__marker strong{color:var(--red);font-family:var(--font-display),Impact,sans-serif;font-size:2.1rem;font-weight:400;line-height:1}.eyebrow{color:var(--red);margin:0 0 12px;font-size:.55rem;font-weight:700}.section-heading h2{font-family:var(--font-display),Impact,sans-serif;letter-spacing:0;text-transform:uppercase;margin:0;font-size:5.2rem;font-weight:400;line-height:.88}.section-heading h2 span{display:block}.section-heading__description{max-width:390px;margin:25px 0 0;font-size:.83rem;line-height:1.65}.project-showcase{border-top:1px solid var(--ink)}.project-filter{border-bottom:1px solid var(--ink);justify-content:space-between;align-items:stretch;min-height:62px;font-size:.54rem;display:flex}.project-filter__title{color:var(--muted);align-items:center;padding-right:28px;display:flex}.project-filter__options{align-items:stretch;display:flex}.project-filter button{cursor:pointer;border:0;border-left:1px solid var(--line);background:0 0;align-items:center;gap:12px;min-width:110px;min-height:48px;padding:0 15px;font-size:.75rem;transition:background .18s,color .18s;display:flex}.project-filter button small{color:var(--muted)}.project-filter button:hover{background:var(--paper-deep)}.project-filter button.is-active{background:var(--red);color:var(--white)}.project-filter button.is-active small{color:var(--white)}.project-search-row{border-bottom:1px solid var(--line-soft);flex-wrap:wrap;align-items:center;gap:16px 24px;padding-block:20px;display:flex}.project-search{border:1px solid var(--line);flex:280px;align-items:center;gap:12px;min-width:0;max-width:520px;min-height:48px;padding-inline:14px;display:flex}.project-search:focus-within{outline:2px solid var(--red);outline-offset:3px}.project-reset svg,.project-search svg{width:18px;height:18px}.project-search input{width:100%;min-width:0;min-height:46px;color:var(--ink);caret-color:var(--red);font:inherit;background:0 0;border:0;outline:none}.project-search input::placeholder{color:var(--muted)}.project-result-count{color:var(--muted);font-variant-numeric:tabular-nums;margin:0;font-size:.8rem}.project-result-count strong{color:var(--ink)}.project-reset{text-underline-offset:4px;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:8px;font-size:.8rem;text-decoration:underline;display:inline-flex}.project-reset:hover{color:var(--red)}.project-empty{padding:64px 0}.project-empty h3{font-family:var(--font-display),sans-serif;margin:0;font-size:clamp(2.5rem,5vw,4rem);font-weight:400}.project-empty p{color:var(--ink-soft);margin:12px 0 24px;line-height:1.6}.project-empty button{cursor:pointer}.project-entry{border-bottom:1px solid var(--ink);grid-template-columns:repeat(12,minmax(0,1fr));gap:28px 24px;padding:72px 0;display:grid}.project-entry__heading{grid-column:1/-1;grid-template-columns:1fr 8fr 3fr;align-items:end;gap:24px;display:grid}.project-entry__number{color:var(--red);font-size:.66rem}.project-entry__eyebrow{color:var(--muted);margin:0 0 8px;font-size:.5rem}.project-entry__heading h3{font-family:var(--font-display),Impact,sans-serif;letter-spacing:0;text-transform:uppercase;margin:0;font-size:3.65rem;font-weight:400;line-height:.9}.project-entry__category{color:var(--muted);justify-self:end;padding-bottom:5px;font-size:.48rem}.project-visual{border:1px solid var(--ink);background:var(--blue-gray);grid-column:1/span 8;min-height:420px;position:relative;overflow:hidden}.project-entry__body{flex-direction:column;grid-column:9/-1;align-self:stretch;padding-left:18px;display:flex}.project-entry--reverse .project-visual{grid-column:5/-1}.project-entry--reverse .project-entry__body{grid-area:2/1/auto/span 4;padding-left:0;padding-right:18px}.project-visual__masthead{z-index:4;background:var(--ink);min-height:40px;color:var(--paper-bright);grid-template-columns:45px 1fr auto;align-items:center;gap:10px;padding:0 13px;font-size:.46rem;display:grid;position:absolute;top:0;left:0;right:0}.project-visual__masthead strong{text-overflow:ellipsis;white-space:nowrap;font-size:.52rem;overflow:hidden}.project-visual__image{position:absolute;inset:40px 0 0;overflow:hidden}.project-visual--image{--media-accent:var(--red);--media-surface:var(--paper-deep)}.project-visual--institution{--media-accent:#087441;--media-surface:#e9e2cf}.project-visual--agriculture{--media-accent:#376f45;--media-surface:#dce8d5}.project-visual__image--composition{background:var(--media-surface);grid-template-columns:minmax(0,5fr) minmax(300px,7fr);align-items:stretch;gap:32px;padding:34px;display:grid}.project-visual__image--composition:before{background:var(--media-accent);width:1px;position:absolute;top:0;bottom:0;left:42%}@supports (color:color-mix(in lab,red,red)){.project-visual__image--composition:before{background:color-mix(in srgb,var(--media-accent) 34%,transparent)}}.project-visual__image--composition:before{content:""}.project-media__copy{z-index:2;flex-direction:column;justify-content:flex-end;align-items:flex-start;padding:16px 4px 18px;display:flex;position:relative}.project-media__copy small,.project-media__copy span,.project-media__edition,.project-screen__caption{font-family:var(--font-geist-mono),monospace;text-transform:uppercase}.project-media__copy span{color:var(--media-accent);margin-bottom:auto;font-size:.52rem;font-weight:750}.project-media__copy strong{max-width:330px;font-family:var(--font-display),Impact,sans-serif;text-transform:uppercase;font-size:clamp(3.2rem,5.4vw,5.4rem);font-weight:400;line-height:.82}.project-media__copy small{color:var(--muted);margin-top:17px;font-size:.48rem;line-height:1.6}.project-media__asset{z-index:1;border:1px solid var(--media-accent);min-height:270px;position:relative}@supports (color:color-mix(in lab,red,red)){.project-media__asset{border:1px solid color-mix(in srgb,var(--media-accent) 46%,var(--line))}}.project-media__asset{background:var(--paper-bright)}@supports (color:color-mix(in lab,red,red)){.project-media__asset{background:color-mix(in srgb,var(--paper-bright) 72%,transparent)}}.project-media__asset{box-shadow:12px 12px 0 var(--media-accent)}@supports (color:color-mix(in lab,red,red)){.project-media__asset{box-shadow:12px 12px 0 color-mix(in srgb,var(--media-accent) 16%,transparent)}}.project-media__asset img{object-fit:contain;padding:8%;transition:transform .65s cubic-bezier(.22,1,.36,1)}.project-visual--institution .project-media__asset img{padding:11% 17%}.project-visual--agriculture .project-media__asset img{padding:5%}.project-media__edition{color:var(--media-accent);position:absolute;bottom:9px;right:11px}@supports (color:color-mix(in lab,red,red)){.project-media__edition{color:color-mix(in srgb,var(--media-accent) 70%,var(--ink))}}.project-media__edition{writing-mode:vertical-rl;font-size:.42rem}.project-visual__image--screen{background:#153e2a;padding:26px 26px 18px}.project-screen__frame{border:1px solid var(--paper-bright);height:calc(100% - 28px);position:relative;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.project-screen__frame{border:1px solid color-mix(in srgb,var(--paper-bright) 62%,transparent)}}.project-screen__frame{background:var(--paper-bright);box-shadow:10px 10px #0003}.project-screen__frame img{object-fit:cover;object-position:top center;transition:transform .65s cubic-bezier(.22,1,.36,1)}.project-screen__caption{color:#e9eee7;justify-content:space-between;align-items:center;padding-top:10px;font-size:.46rem;display:flex}.project-entry:hover .project-media__asset img,.project-entry:hover .project-screen__frame img{transform:scale(1.025)}.project-visual--interface{background:var(--blue-gray)}.project-visual--market{background:var(--green)}.interface-poster{grid-template-rows:auto 1fr auto;grid-template-columns:1fr 1fr;padding:30px;display:grid;position:absolute;inset:40px 0 0;overflow:hidden}.interface-poster:after,.interface-poster:before{background:var(--ink);position:absolute}@supports (color:color-mix(in lab,red,red)){.interface-poster:after,.interface-poster:before{background:color-mix(in srgb,var(--ink) 30%,transparent)}}.interface-poster:after,.interface-poster:before{content:""}.interface-poster:before{width:1px;top:0;bottom:0;left:50%}.interface-poster:after{height:1px;top:50%;left:0;right:0}.interface-poster__index{z-index:1;font-family:var(--font-display),Impact,sans-serif;font-size:4rem;line-height:1;position:relative}.interface-poster p{z-index:1;font-family:var(--font-geist-mono),monospace;text-transform:uppercase;justify-self:end;margin:0;font-size:.58rem;position:relative}.interface-poster>strong{z-index:2;font-family:var(--font-display),Impact,sans-serif;letter-spacing:0;text-align:center;text-transform:uppercase;grid-column:1/-1;align-self:center;margin-inline:auto;font-size:6.6rem;font-weight:400;line-height:.8;transition:transform .8s cubic-bezier(.22,1,.36,1);position:relative}.interface-poster__signal{z-index:1;opacity:.46;align-items:end;gap:9px;height:24%;display:flex;position:absolute;bottom:19%;left:8%;right:8%}.interface-poster__signal i{background:var(--red);transform-origin:bottom;flex:1;transition:transform .5s cubic-bezier(.22,1,.36,1)}.interface-poster__signal i:first-child{height:40%}.interface-poster__signal i:nth-child(2){height:72%}.interface-poster__signal i:nth-child(3){height:52%}.interface-poster__signal i:nth-child(4){height:90%}.interface-poster__signal i:nth-child(5){height:64%}.interface-poster__stamp{z-index:2;border:1px solid var(--ink);font-family:var(--font-geist-mono),monospace;text-transform:uppercase;place-self:end;padding:6px 9px;font-size:.47rem;position:relative}.project-entry:hover .interface-poster>strong{transform:scale(1.04)}.project-entry:hover .interface-poster__signal i:nth-child(odd){transform:scaleY(.7)}.project-entry:hover .interface-poster__signal i:nth-child(2n){transform:scaleY(1.12)}.project-entry__summary{color:var(--ink-soft);margin:0;font-size:1.03rem;line-height:1.68}.project-entry__note{border-left:1px solid var(--red);color:var(--muted);margin:22px 0 0;padding:16px 0 16px 18px;font-size:.74rem;line-height:1.6}.project-entry__stack{flex-wrap:wrap;gap:7px;margin:auto 0 0;padding:28px 0 0;list-style:none;display:flex}.project-entry__stack li{border:1px solid var(--line);padding:6px 8px;font-size:.48rem}.project-entry__links{border-top:1px solid var(--line);flex-wrap:wrap;gap:10px 20px;margin-top:22px;display:flex}.project-entry__links a{align-items:center;gap:7px;min-height:45px;font-size:.65rem;font-weight:700;display:inline-flex}.project-entry__links svg{width:14px;height:14px;transition:transform .18s}.project-entry__links a:hover{color:var(--red)}.project-entry__links a:hover svg:last-child{transform:translate(2px,-2px)}.experience-section{color:var(--paper-bright);background:var(--ink);box-shadow:0 0 0 100vmax var(--ink);clip-path:inset(0 -100vmax);position:relative}.experience-section .section-heading{border-color:var(--paper-bright)}.experience-section .section-heading__description,.experience-section .section-heading__marker{color:#a8a7a2}.experience-section .eyebrow,.experience-section .section-heading__marker strong{color:#ff5a4e}.experience-layout{border-top:1px solid #676660;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:70px;display:grid}.experience-identity{grid-template-columns:112px 1fr;align-items:start;gap:24px;padding-top:38px;display:grid}.experience-identity__logo{background:var(--paper-bright);place-items:center;width:112px;height:112px;padding:14px;display:grid}.experience-identity__logo img{object-fit:contain;width:100%;height:100%}.experience-identity h3{max-width:430px;font-family:var(--font-display),Impact,sans-serif;letter-spacing:0;text-transform:uppercase;margin:0;font-size:2.85rem;font-weight:400;line-height:.96}.experience-meta{color:#aaa9a4;gap:8px;margin-top:22px;font-size:.48rem;display:grid}.experience-meta span{align-items:center;gap:7px;display:flex}.experience-meta svg{color:#ff5a4e;width:13px;height:13px}.experience-body{border-left:1px solid #676660;padding-top:38px}.experience-body__summary{color:#d8d5ce;max-width:720px;margin:0;padding:0 0 34px 36px;font-size:1rem;line-height:1.7}.module-list{border-top:1px solid #676660;margin:0;padding:0;list-style:none}.module-list li{border-bottom:1px solid #676660;grid-template-columns:50px 1fr auto;align-items:center;min-height:68px;padding:0 0 0 36px;transition:background .18s;display:grid}.module-list li:after{color:#ff5a4e;font-size:1.1rem}.module-list li:hover{background:#181816}.module-list span{color:#ff5a4e;font-size:.5rem}.module-list strong{font-family:var(--font-display),Impact,sans-serif;letter-spacing:0;text-transform:uppercase;font-size:1.45rem;font-weight:400}.privacy-note{color:#96958f;align-items:flex-start;gap:10px;margin:28px 0 0 36px;font-size:.68rem;line-height:1.55;display:flex}.privacy-note svg{color:#ff5a4e;width:16px;height:16px}.skill-explorer{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);grid-template-columns:minmax(0,4.3fr) minmax(0,7.7fr);align-items:start;display:grid}.skill-readout{border-right:1px solid var(--ink);min-height:436px;color:var(--white);grid-template-rows:auto 1fr auto;padding:28px;display:grid;position:sticky;top:94px;overflow:hidden}.skill-readout__label{z-index:2;font-size:.5rem;position:relative}.skill-readout__icon{z-index:2;place-self:center;position:relative}.skill-readout__icon svg{filter:grayscale()brightness(5);width:120px;height:120px}.skill-readout>div{z-index:2;position:relative}.skill-readout h3{font-family:var(--font-display),Impact,sans-serif;letter-spacing:0;text-transform:uppercase;margin:0;font-size:4.2rem;font-weight:400;line-height:.9}.skill-readout p{margin:8px 0 0;font-size:.78rem}.skill-readout__word{z-index:0;color:#ffffff1f;font-family:var(--font-display),Impact,sans-serif;text-align:center;text-transform:uppercase;white-space:nowrap;font-size:7.2rem;line-height:.75;position:absolute;bottom:40px;left:-12px;right:-12px;overflow:hidden}.skill-list{grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.skill-item{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0}.skill-item:nth-child(3n){border-right:0}.skill-item:nth-last-child(-n+3){border-bottom:0}.skill-item__button{cursor:pointer;text-align:left;background:0 0;border:0;grid-template-rows:auto 1fr;grid-template-columns:auto 1fr;gap:10px;width:100%;min-height:145px;padding:16px;transition:background .18s,color .18s;display:grid;position:relative}.skill-item__index{color:var(--muted);font-size:.45rem}.skill-item__icon{grid-area:2/1;align-self:end}.skill-item__icon svg{width:29px;height:29px;color:var(--skill-color);filter:saturate(.7);transition:transform .32s cubic-bezier(.22,1,.36,1),color .18s}.skill-item__copy{text-align:right;grid-area:2/2;place-self:end;min-width:0}.skill-item__copy strong{overflow-wrap:anywhere;font-size:.71rem;display:block}.skill-item.is-active .skill-item__button,.skill-item__button:hover{background:var(--ink);color:var(--paper-bright)}.skill-item.is-active .skill-item__index,.skill-item__button:hover .skill-item__index{color:#9c9b96}.skill-item.is-active .skill-item__icon svg,.skill-item__button:hover .skill-item__icon svg{color:var(--white);transform:rotate(-8deg)scale(1.15)}.about-section{padding-bottom:140px}.about-grid{border-top:1px solid var(--ink);grid-template-columns:minmax(0,7fr) minmax(0,5fr);display:grid}.about-copy{border-right:1px solid var(--ink);min-height:520px;padding:48px 64px 48px 0;position:relative}.about-copy__arrow{width:34px;height:34px;color:var(--red);margin-bottom:54px}.about-copy__lead{max-width:760px;font-family:var(--font-display),Impact,sans-serif;letter-spacing:0;text-transform:uppercase;margin:0;font-size:2.55rem;line-height:1.06}.about-copy__closing{max-width:650px;color:var(--muted);margin:30px 0 0;font-size:.9rem;line-height:1.7}.about-copy__signature{color:var(--red);font-size:.5rem;position:absolute;bottom:0;left:0}.principles-list{display:grid}.principles-list article{border-bottom:1px solid var(--line);grid-template-columns:48px 1fr;gap:12px;padding:32px 0 32px 32px;transition:background .18s;display:grid}.principles-list article:last-child{border-bottom:0}.principles-list__number{color:var(--red);font-family:var(--font-geist-mono),monospace;font-size:.53rem}.principles-list h3{font-family:var(--font-display),Impact,sans-serif;letter-spacing:0;text-transform:uppercase;margin:0;font-size:1.55rem;font-weight:400;line-height:1}.principles-list p{max-width:410px;color:var(--muted);margin:9px 0 0;font-size:.73rem;line-height:1.55}.contact-section{background:var(--ink);color:var(--paper-bright);position:relative;overflow:hidden}.contact-section:before{border:90px solid var(--red);content:"";border-radius:50%;width:430px;height:430px;position:absolute;top:-180px;right:-110px}.contact-section__inner{z-index:1;width:var(--shell);margin-inline:auto;padding:90px 0 28px;position:relative}.contact-section__heading{grid-template-columns:1fr minmax(260px,4fr);align-items:start;gap:24px;display:grid}.contact-section__label{align-items:center;gap:12px;display:flex}.contact-section__label>span{color:#ff5a4e;font-family:var(--font-display),Impact,sans-serif;font-size:2rem}.contact-section__label .eyebrow{color:#ff5a4e;margin:0}.contact-section__heading>p{color:#a9a8a2;justify-self:end;max-width:410px;margin:8px 0 0;font-size:.78rem;line-height:1.65}.contact-section h2{font-family:var(--font-display),Impact,sans-serif;letter-spacing:0;text-transform:uppercase;margin:90px 0 56px;font-size:8.4rem;font-weight:400;line-height:.76}.contact-section h2 span,.contact-section h2 strong{font-weight:400;display:block}.contact-section h2 strong{color:#ff4a3e;text-align:right}.contact-email{border-top:1px solid #62615d;border-bottom:1px solid #62615d;grid-template-columns:34px minmax(0,1fr) 34px;align-items:center;gap:18px;min-height:92px;font-size:1.28rem;transition:color .18s;display:grid}.contact-email span{overflow-wrap:anywhere;min-width:0}.contact-email svg{width:22px;height:22px}.contact-email svg:last-child{justify-self:end;transition:transform .22s}.contact-email:hover{color:#ff5a4e}.contact-email:hover svg:last-child{transform:translate(4px,-4px)}.footer-row{color:#85847f;grid-template-columns:1fr auto auto auto;align-items:center;gap:18px;padding-top:28px;font-size:.65rem;display:grid}.footer-row a{min-height:44px;color:var(--paper-bright);justify-self:end;align-items:center;gap:6px;display:inline-flex}.footer-row svg{width:12px;height:12px}@keyframes header-enter{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}@keyframes scroll-nudge{0%,to{transform:translateY(-2px)}50%{transform:translateY(3px)}}@media (max-width:1200px){.hero__stage h1{font-size:8.2rem}.hero__footer{grid-template-columns:minmax(0,5fr) minmax(250px,3fr) minmax(280px,4fr);gap:24px}.section-heading h2{font-size:4.45rem}.project-visual{min-height:370px}.interface-poster>strong{font-size:5.3rem}.contact-section h2{font-size:7rem}}@media (max-width:1020px){.site-header__inner{grid-template-columns:1fr auto}.nav-pill{display:none}.mobile-menu{display:block}.hero{grid-template-rows:auto minmax(430px,1fr) auto}.hero__stage{min-height:430px}.hero__stage h1{font-size:7rem}.hero__sun{width:40%;left:34%}.hero-portrait{width:37%;left:34%}.hero__footer{grid-template-columns:1fr 1fr}.hero__copy{grid-column:1/-1;max-width:680px}.hero__facts{align-self:stretch}.section-heading{grid-template-columns:1fr 7fr}.section-heading__description{grid-column:2;margin-top:0}.project-entry{gap:26px 18px}.project-visual{grid-column:1/span 7}.project-entry__body{grid-column:8/-1}.project-entry--reverse .project-visual{grid-column:6/-1}.project-entry--reverse .project-entry__body{grid-column:1/span 5}.project-entry__heading h3{font-size:3.15rem}.interface-poster>strong{font-size:4.5rem}.experience-layout{gap:42px}.experience-identity{grid-template-columns:88px 1fr}.experience-identity__logo{width:88px;height:88px}.experience-identity h3{font-size:2.3rem}.skill-readout{min-height:420px}.skill-list{grid-template-columns:repeat(2,minmax(0,1fr))}.skill-item:nth-child(3n){border-right:1px solid var(--line)}.skill-item:nth-child(2n){border-right:0}.skill-item:nth-last-child(-n+3){border-bottom:1px solid var(--line)}.skill-item:nth-last-child(-n+2){border-bottom:0}.contact-section h2{font-size:5.8rem}}@media (max-width:760px){:root{--shell:calc(100% - 40px)}html{scroll-padding-top:72px}.site-header__inner{min-height:64px}.brand-mark__initials{width:34px;height:34px;font-size:1rem}.header-github{justify-content:center;width:40px;padding:0}.header-github span,.header-github svg:last-child{display:none}.hero{grid-template-rows:auto 360px auto;min-height:calc(100svh - 106px);padding-top:14px}.hero__topline{display:none}.hero__stage{min-height:360px}.hero__stage h1{font-size:5.2rem}.hero__name--first{top:9%}.hero__name--last{bottom:6%}.hero__sun{width:55%;top:10%;left:23%}.hero__axis--vertical{left:54%}.hero-portrait{width:54%;top:5%;bottom:2%;left:23%}.hero__role{font-size:.48rem;top:8%}.hero-portrait figcaption span:first-child{display:none}.hero-portrait figcaption span:last-child{margin-left:auto}.hero__footer{grid-template-columns:1fr;gap:18px;padding-top:17px}.hero__headline{font-size:1.32rem}.hero__intro{font-size:.95rem}.hero__actions{grid-row:2}.hero__facts{grid-row:3}.hero__facts div{padding:10px 8px 0}.hero__facts strong{font-size:1.2rem}.page-section{padding:84px 0}.section-heading{grid-template-columns:58px 1fr;gap:18px;margin-bottom:48px}.section-heading h2{font-size:3.55rem}.section-heading__description{grid-column:2;font-size:.76rem}.project-filter{padding-top:14px;display:block}.project-filter__title{padding:0 0 12px}.project-filter__options{grid-template-columns:repeat(2,1fr);display:grid}.project-filter button{border-top:1px solid var(--line);border-left:0;justify-content:space-between;min-width:0;min-height:46px}.project-filter button:nth-child(odd){border-right:1px solid var(--line)}.project-entry{padding:54px 0;display:block}.project-entry__heading{grid-template-columns:40px 1fr;margin-bottom:24px}.project-entry__category{display:none}.project-entry__heading h3{font-size:2.8rem}.project-entry--reverse .project-visual,.project-visual{min-height:350px}.project-entry--reverse .project-entry__body,.project-entry__body{padding:28px 0 0}.project-entry__summary{font-size:.92rem}.interface-poster{padding:23px}.interface-poster>strong{font-size:4rem}.experience-layout{display:block}.experience-identity{grid-template-columns:82px 1fr;padding:30px 0}.experience-identity__logo{width:82px;height:82px}.experience-identity h3{font-size:2rem}.experience-body{border-top:1px solid #676660;border-left:0;padding-top:0}.experience-body__summary{padding:28px 0}.module-list li{padding-left:0}.module-list li:hover{padding-left:8px}.privacy-note{margin-left:0}.skill-explorer{display:block}.skill-readout{border-right:0;border-bottom:1px solid var(--ink);min-height:340px;position:relative;top:auto}.skill-readout__icon svg{width:88px;height:88px}.skill-readout h3{font-size:3.5rem}.skill-readout__word{font-size:5.4rem}.skill-item__button{min-height:120px}.about-grid{display:block}.about-copy{border-right:0;border-bottom:1px solid var(--ink);min-height:0;padding:38px 0 70px}.about-copy__arrow{margin-bottom:38px}.about-copy__lead{font-size:2rem}.principles-list article{padding-left:0}.principles-list article:hover{padding-left:8px}.contact-section:before{border-width:50px;width:240px;height:240px;top:-95px;right:-85px}.contact-section__inner{padding-top:64px}.contact-section__heading{display:block}.contact-section__heading>p{margin:20px 0 0}.contact-section h2{margin:68px 0 42px;font-size:4.4rem}.contact-email{min-height:78px;font-size:.98rem}.footer-row{grid-template-columns:1fr auto}.footer-row>span:nth-child(2){display:none}}@media (max-width:520px){.brand-mark__copy small{display:none}.hero{grid-template-rows:auto 250px auto;min-height:auto}.hero__stage{min-height:250px}.hero__stage h1{font-size:3.65rem}.hero-portrait,.hero__sun{width:60%;left:20%}.hero-portrait figcaption{display:none}.hero-portrait__frame{height:100%}.hero__intro{line-height:1.5}.hero__actions{grid-template-columns:1fr;gap:4px;display:grid}.button--primary{width:100%}.button--quiet{justify-self:start}.section-heading{display:block}.section-heading__marker{align-items:baseline;gap:8px;margin-bottom:18px;display:flex}.section-heading__marker strong{font-size:1.5rem}.section-heading h2{font-size:3rem}.section-heading__description{margin-top:18px}.project-entry__heading h3{font-size:2.45rem}.project-entry--reverse .project-visual,.project-visual{min-height:290px}.project-visual__image--composition{grid-template-rows:auto minmax(175px,1fr);grid-template-columns:1fr;gap:20px;padding:22px}.project-visual__image--composition:before{width:auto;height:1px;inset:42% 0 auto}.project-entry .project-visual--contain{min-height:390px}.project-media__copy{grid-template-columns:1fr auto;align-items:end;padding:2px 0 0;display:grid}.project-media__copy span{grid-column:1/-1;margin:0 0 10px}.project-media__copy strong{max-width:230px;font-size:2.65rem}.project-media__copy small{text-align:right;max-width:120px;margin:0}.project-media__asset{min-height:0;box-shadow:7px 7px 0 var(--media-accent)}@supports (color:color-mix(in lab,red,red)){.project-media__asset{box-shadow:7px 7px 0 color-mix(in srgb,var(--media-accent) 16%,transparent)}}.project-visual__image--screen{padding:18px 18px 13px}.interface-poster__index{font-size:3rem}.interface-poster>strong{font-size:3.15rem}.skill-list{grid-template-columns:1fr 1fr}.skill-item__button{min-height:108px;padding:13px}.skill-item__copy strong{font-size:.62rem}.about-copy__lead{font-size:1.7rem}.contact-section h2{font-size:3.45rem}.contact-email{grid-template-columns:24px minmax(0,1fr) 24px;gap:10px;font-size:.82rem}.contact-email svg{width:18px;height:18px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.opening-sequence{z-index:500;pointer-events:none;background:var(--night);color:var(--paper-bright);animation:opening-hide 1.86s linear both;position:fixed;inset:0;overflow:hidden}.opening-sequence:after,.opening-sequence:before{z-index:1;content:"";position:absolute}.opening-sequence:before{border:1px solid #9aa3ac57;inset:24px}.opening-sequence:after{background:linear-gradient(90deg,var(--red) 0 32%,var(--signal-blue) 32% 34%,#303740 34%);transform-origin:0;width:min(34vw,510px);height:6px;animation:opening-meter 1.35s cubic-bezier(.22,1,.36,1) .12s both;bottom:24px;right:24px}.opening-sequence__grid{opacity:.4;background-image:linear-gradient(#9aa3ac1a 1px,#0000 0),linear-gradient(90deg,#9aa3ac1a 1px,#0000 0);background-size:clamp(48px,7vw,104px) clamp(48px,7vw,104px);animation:opening-grid 1.3s 80ms both;position:absolute;inset:24px}.opening-sequence__rail{z-index:2;background:var(--signal-blue);display:block;position:absolute}.opening-sequence__rail--horizontal{transform-origin:0;height:1px;animation:opening-rail-x .72s cubic-bezier(.22,1,.36,1) 80ms both;top:50%;left:24px;right:24px}.opening-sequence__rail--vertical{transform-origin:top;width:1px;animation:opening-rail-y .72s cubic-bezier(.22,1,.36,1) .22s both;top:24px;bottom:24px;left:62%}.opening-sequence__sun{z-index:2;aspect-ratio:1;background:var(--red);border-radius:50%;width:clamp(130px,18vw,280px);animation:opening-sun .74s cubic-bezier(.22,1,.36,1) .18s both;position:absolute;top:50%;left:62%;transform:translate(-50%,-50%)}.opening-sequence__seal{background:var(--paper-bright);width:76px;height:76px;color:var(--night);font-family:var(--font-display),Impact,sans-serif;place-items:center;font-size:2.1rem;animation:opening-seal .48s cubic-bezier(.22,1,.36,1) .1s both;display:grid;top:24px;left:24px}.opening-sequence__name,.opening-sequence__place,.opening-sequence__role,.opening-sequence__seal{z-index:3;position:absolute}.opening-sequence__role{gap:4px;animation:opening-copy .52s cubic-bezier(.22,1,.36,1) .35s both;display:grid;top:calc(50% - 64px);left:clamp(38px,7vw,108px)}.opening-sequence__role>span{color:var(--signal-blue);letter-spacing:.08em;font-size:.82rem;font-weight:700}.opening-sequence__place,.opening-sequence__role small{font-family:var(--font-geist-mono),monospace;letter-spacing:.08em;text-transform:uppercase;font-size:.55rem;font-weight:650}.opening-sequence__name{font-family:var(--font-display),Impact,sans-serif;text-transform:uppercase;font-size:clamp(3.8rem,9.6vw,9.5rem);font-weight:400;line-height:.8;animation:opening-name .72s cubic-bezier(.22,1,.36,1) .48s both;top:50%;left:clamp(38px,7vw,108px);overflow:hidden;transform:translateY(-1%)}.opening-sequence__place{animation:opening-copy .42s .7s both;bottom:43px;right:42px}.opening-sequence__panel{z-index:8;background:var(--paper);height:50.1%;position:absolute;left:0;right:0}.opening-sequence__panel--top{animation:opening-panel-top .34s cubic-bezier(.76,0,.24,1) 1.45s both;top:0}.opening-sequence__panel--bottom{animation:opening-panel-bottom .34s cubic-bezier(.76,0,.24,1) 1.45s both;bottom:0}.site-header{background:var(--paper)}@supports (color:color-mix(in lab,red,red)){.site-header{background:color-mix(in srgb,var(--paper) 91%,transparent)}}.site-header{animation:header-enter .6s cubic-bezier(.22,1,.36,1) 1.28s both}.brand-mark__initials{box-shadow:inset 0 0 0 1px #11110f38}.nav-pill a{grid-template-columns:18px 28px auto;align-items:center;gap:3px 8px;padding-block:17px 15px;display:grid}.nav-pill__index{font-family:var(--font-geist-mono),monospace;grid-row:1/span 2;color:var(--red)!important;font-size:.45rem!important}.nav-pill a strong{font-size:.63rem;line-height:1}.nav-pill a:after{bottom:12px}.mobile-menu nav a strong{font-size:.76rem}.hero{grid-template-rows:auto clamp(420px,39vw,560px) auto;min-height:0;padding-top:24px}.hero__architecture,.hero__locator{font-family:var(--font-geist-mono),monospace;text-transform:uppercase}.hero__locator{color:var(--ink-soft);align-items:center;gap:8px;font-size:.5rem;font-weight:720;display:inline-flex}.hero__locator>span{color:var(--red);font-size:.62rem}.hero__locator i{background:var(--line);width:18px;height:1px}.hero__stage{min-height:420px}.hero__architecture{z-index:0;color:var(--muted);pointer-events:none;font-size:.45rem;animation:architecture-enter .72s cubic-bezier(.22,1,.36,1) .82s both;position:absolute;inset:6% 2% 9%}.hero__architecture span{position:absolute}.hero__architecture span:first-child{color:var(--red);top:0;left:0}.hero__architecture span:nth-child(2){bottom:0;right:0}.hero__architecture i{background:var(--line-soft);display:block;position:absolute}.hero__architecture i:first-of-type{height:1px;top:22%;left:0;right:0}.hero__architecture i:nth-of-type(2){width:1px;top:0;bottom:0;left:18%}.hero__architecture i:nth-of-type(3){width:1px;top:0;bottom:0;right:13%}.hero__sun{width:min(32%,400px);top:7%;left:40%}.hero__axis{background:var(--line)}@supports (color:color-mix(in lab,red,red)){.hero__axis{background:color-mix(in srgb,var(--line) 72%,transparent)}}.hero__stage h1{font-size:clamp(7rem,14vw,12.5rem)}.hero__name--first{top:10%}.hero__name--last{-webkit-text-stroke:0;bottom:2%}.hero-portrait{width:min(29%,365px);top:5%;bottom:5%;left:40%}.hero-portrait__frame{border:1px solid var(--ink);background:var(--paper-deep);clip-path:none;height:calc(100% - 30px)}.hero-portrait__image--main{filter:none;mix-blend-mode:normal;transition:transform .7s cubic-bezier(.22,1,.36,1)}.hero-portrait:hover .hero-portrait__image--main{filter:none;transform:scale(1.018)}.hero__role{gap:7px;top:10%}.hero__role span{color:var(--red);font-size:.74rem}.hero__role b{font-size:.53rem}.hero__footer{background:var(--paper);animation:hero-footer-enter .65s cubic-bezier(.22,1,.36,1) 1.12s both}.hero__facts{border-top-color:var(--ink)}.page-section{padding-block:128px}.section-heading{grid-template-columns:minmax(110px,1.35fr) minmax(0,7fr) minmax(250px,3.65fr);margin-bottom:78px}.section-heading__marker{border-right:1px solid var(--line);grid-template-columns:1fr auto;align-items:end;padding-right:18px}.section-heading__marker span:first-child,.section-heading__marker strong{grid-column:1}.section-heading h2{font-size:clamp(4.1rem,6.3vw,6rem)}.project-showcase{border-top-width:2px}.project-filter__title{align-content:center;gap:2px;display:grid}.project-filter__title span{color:var(--red);text-transform:none;font-size:.68rem}.project-filter__title b{color:var(--muted);font-size:.48rem;font-weight:650}.project-entry{padding-block:82px;position:relative}.project-entry--spotlight:before{background:var(--red);color:var(--white);content:"FEATURED";font-family:var(--font-geist-mono),monospace;padding:7px 10px;font-size:.45rem;font-weight:700;position:absolute;top:0;right:0}.project-entry__heading h3{max-width:920px}.project-entry--spotlight .project-entry__heading h3{font-size:clamp(4rem,6vw,5.8rem)}.project-visual{box-shadow:8px 8px 0 var(--ink);border-width:1px}.project-entry--reverse .project-visual{box-shadow:-8px 8px 0 var(--red)}.project-visual__masthead{background:var(--night)}.project-entry__note{border-left-width:2px}.project-entry__stack li{background:var(--paper-bright)}@supports (color:color-mix(in lab,red,red)){.project-entry__stack li{background:color-mix(in srgb,var(--paper-bright) 55%,transparent)}}.experience-section{background:var(--night);box-shadow:0 0 0 100vmax var(--night)}.experience-section .section-heading__marker{border-right-color:#424851}.experience-layout{border-top-width:2px;border-top-color:var(--signal-blue)}.experience-identity{position:relative}.experience-identity:before{color:var(--signal-blue);content:"OPERATIONS / 01";font-family:var(--font-geist-mono),monospace;font-size:.46rem;position:absolute;top:0;right:0}.experience-identity__logo{border:1px solid #424851}.experience-body{border-left-color:#424851}.module-list{border-top-color:#424851}.module-list li{border-bottom-color:#424851}.module-list li:after{content:"↗"}.experience-meta svg,.module-list li:after,.module-list span,.privacy-note svg{color:var(--signal-blue)}.skill-explorer{border-top-width:2px;border-color:var(--ink);background:var(--paper-bright)}.skill-readout{background:var(--red)}.skill-readout:before{background:linear-gradient(90deg,var(--signal-blue) 0 46%,var(--night) 46% 54%,var(--paper-bright) 54%);content:"";width:54px;height:8px;position:absolute;top:28px;right:28px}.skill-readout__label span{margin-right:8px;font-size:.72rem}.skill-item__button{min-height:152px}.skill-item.is-active .skill-item__button,.skill-item__button:hover{background:var(--night)}.about-grid{border-top-width:2px;grid-template-columns:minmax(0,7.6fr) minmax(0,4.4fr)}.about-copy{background:linear-gradient(90deg,transparent calc(100% - 1px),var(--line) calc(100% - 1px)),linear-gradient(var(--paper) 49px,var(--line-soft) 50px,var(--paper) 51px);background-size:100% 100%,100% 51px}.about-copy__lead{padding-right:32px;font-size:clamp(2.25rem,3.3vw,3.25rem)}.about-copy__closing,.about-copy__lead{background:var(--paper);position:relative}.about-copy__closing{padding:16px 18px 16px 0}.principles-list article{min-height:144px}.contact-section{background:var(--night)}.contact-section:before{border-width:72px;width:520px;height:520px;top:-220px;right:-130px}.contact-section__inner{padding-top:108px}.contact-section h2{font-size:clamp(6rem,10.2vw,9.8rem)}.contact-email{border-top-color:var(--signal-blue)}@keyframes opening-hide{0%,96%{visibility:visible;opacity:1}to{visibility:hidden;opacity:0}}.hero-pixels{z-index:1;pointer-events:none;width:102%;height:95%;position:absolute;inset:1% -1% 4%;overflow:visible}.hero-pixels__svg{opacity:.45;width:100%;height:100%;display:block;overflow:visible}.hero-pixels__cell{transform-box:fill-box;transform-origin:50%}.hero-pixels__cell--ink{fill:var(--ink)}.hero-pixels__cell--red{fill:var(--red)}.hero-pixels__cell--signal{fill:var(--signal-blue)}@media (max-width:760px){.hero-pixels{opacity:.78;width:110%;height:90%;inset:4% -5% 6%}.hero-pixels__cell:nth-child(3n){display:none}}@media (max-width:520px){.hero-pixels{opacity:.64;width:116%;height:78%;inset:10% -8% 12%}.hero-pixels__cell:nth-child(n+17){display:none}}@media (prefers-reduced-motion:reduce){.hero-pixels,.hero-pixels__cell{transition:none!important;animation:none!important}}@keyframes opening-meter{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes opening-grid{0%{opacity:0;transform:scale(1.03)}to{opacity:.4;transform:scale(1)}}@keyframes opening-rail-x{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes opening-rail-y{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes opening-sun{0%{opacity:0;transform:translate(-50%,-50%)scale(.25)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes opening-seal{0%{opacity:0;transform:translate(-22px,-22px)}to{opacity:1;transform:translate(0)}}@keyframes opening-copy{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes opening-name{0%{clip-path:inset(0 100% 0 0);transform:translateY(10%)}to{clip-path:inset(0);transform:translateY(-1%)}}@keyframes opening-panel-top{0%{transform:translateY(-101%)}to{transform:translateY(0)}}@keyframes opening-panel-bottom{0%{transform:translateY(101%)}to{transform:translateY(0)}}@keyframes architecture-enter{0%{opacity:0;transform:scaleX(.96)}to{opacity:1;transform:scaleX(1)}}@keyframes hero-footer-enter{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media (max-width:1020px){.nav-pill a{grid-template-columns:16px auto;padding-inline:10px}.hero__stage h1{font-size:clamp(6.2rem,13.5vw,8.7rem)}.hero-portrait{width:min(34%,350px);left:38%}.hero__sun{width:36%;left:38%}.section-heading{grid-template-columns:100px minmax(0,1fr)}.section-heading__description{grid-column:2}.project-entry--spotlight .project-entry__heading h3{font-size:clamp(3.3rem,7vw,4.7rem)}}@media (max-width:760px){.opening-sequence:before,.opening-sequence__grid{inset:14px}.opening-sequence__seal{width:58px;height:58px;font-size:1.65rem;top:14px;left:14px}.opening-sequence__rail--horizontal{left:14px;right:14px}.opening-sequence__rail--vertical,.opening-sequence__sun{left:72%}.opening-sequence__name{width:68%;font-size:clamp(3rem,14vw,5.8rem);line-height:.8;left:28px}.opening-sequence__role{left:28px}.opening-sequence__place{bottom:32px;right:26px}.opening-sequence:after{width:58vw;bottom:14px;right:14px}.site-header{animation-delay:1.28s}.hero{grid-template-rows:auto minmax(330px,55vh) auto}.hero__stage{min-height:330px}.hero__architecture{inset-inline:0}.hero__architecture span:nth-child(2){display:none}.hero__architecture i:nth-of-type(2){left:10%}.hero__architecture i:nth-of-type(3){right:8%}.hero__stage h1{font-size:clamp(4.7rem,18vw,7rem)}.hero__name--first{top:7%}.hero__name--last{bottom:4%}.hero-portrait{width:46%;left:27%}.hero__sun{width:48%;left:27%}.hero__role{right:1px}.page-section{padding-block:92px}.section-heading__marker{border-right:0;border-bottom:1px solid var(--line);grid-template-columns:auto auto 1fr;padding:0 0 14px}.section-heading__marker span:first-child,.section-heading__marker strong{grid-area:auto}.project-entry--spotlight:before{top:12px}.project-entry--reverse .project-visual,.project-visual{box-shadow:5px 5px 0 var(--ink)}.experience-section .section-heading__marker{border-bottom-color:#424851}.experience-identity:before{top:20px}.about-copy{background:0 0}}@media (max-width:520px){.hero{grid-template-rows:auto 340px auto}.hero__stage{min-height:340px}.hero__stage h1{font-size:clamp(3.35rem,17.5vw,5.25rem)}.hero-portrait{width:53%;top:30%;bottom:17%;left:24%}.hero__sun{width:55%;top:18%;left:24%}.hero__architecture span:first-child{top:8px}.section-heading{margin-bottom:54px}.section-heading h2{font-size:3.6rem}.project-filter__title{padding:12px 0}.project-entry{padding-block:64px}.project-entry--spotlight .project-entry__heading h3{font-size:3.25rem}.skill-readout:before{top:20px;right:20px}.about-copy__lead{padding-right:0}.contact-section__inner{padding-top:74px}.contact-section h2{font-size:3.6rem}}@media (prefers-reduced-motion:reduce){.opening-sequence{display:none}.hero__architecture,.hero__footer,.site-header{animation:none!important}}.github-archive{border-top:2px solid var(--ink);margin-top:clamp(96px,11vw,154px);padding-top:28px}.github-archive__header{grid-template-columns:minmax(110px,1.3fr) minmax(0,5fr) minmax(260px,4fr) auto;align-items:end;gap:24px 34px;margin-bottom:42px;display:grid}.archive-card__heading,.archive-card__links,.archive-card__stack,.archive-poster__meta,.archive-poster__signal,.github-archive__count,.github-archive__marker{font-family:var(--font-geist-mono),monospace;text-transform:uppercase}.github-archive__marker{color:var(--muted);gap:5px;font-size:.52rem;font-weight:700;display:grid}.github-archive__marker span{color:var(--red);font-size:.76rem}.github-archive__title .eyebrow{margin-bottom:9px}.github-archive__title h3{max-width:670px;font-family:var(--font-display),Impact,sans-serif;text-transform:uppercase;margin:0;font-size:clamp(3.2rem,5.4vw,5.4rem);font-weight:400;line-height:.9}.github-archive__intro{color:var(--ink-soft);margin:0;font-size:.82rem;line-height:1.68}.github-archive__count{border-left:1px solid var(--line);gap:4px;min-width:92px;padding-left:18px;display:grid}.github-archive__count strong{color:var(--red);font-family:var(--font-display),Impact,sans-serif;font-size:2.45rem;font-weight:400;line-height:.8}.github-archive__count span{max-width:74px;color:var(--muted);font-size:.45rem;line-height:1.35}.github-archive__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0;padding:0;list-style:none;display:grid}.archive-card{--archive-accent:var(--red);--archive-contrast:var(--signal-blue);min-width:0}.archive-card--ruby{--archive-accent:#ee4c72;--archive-contrast:#ffd5df}.archive-card--research{--archive-accent:#7bc7d4;--archive-contrast:#d8f3f6}.archive-card--field{--archive-accent:#c9e26c;--archive-contrast:#f2f7ce}.archive-card--loyalty{--archive-accent:#de9aff;--archive-contrast:#f0d9ff}.archive-card--local{--archive-accent:#f0bb4d;--archive-contrast:#fae6ae}.archive-card--hardware{--archive-accent:#47d3a3;--archive-contrast:#c8f5e4}.archive-card--hospitality{--archive-accent:#ff725e;--archive-contrast:#ffd9d2}.archive-card>article{border:1px solid var(--ink);height:100%;box-shadow:6px 6px 0 var(--ink);grid-template-rows:auto 1fr;transition:transform .22s cubic-bezier(.22,1,.36,1),box-shadow .22s;display:grid;overflow:hidden}.archive-card:nth-child(2n)>article{box-shadow:6px 6px 0 var(--archive-accent)}.archive-card>article:hover{box-shadow:10px 10px 0 var(--archive-accent);transform:translate(-4px,-4px)}.archive-poster{border-bottom:1px solid var(--ink);background:linear-gradient(90deg,transparent 0 49.7%,#ffffff14 49.7% 50.3%,transparent 50.3%),linear-gradient(transparent 0 49.7%,#ffffff14 49.7% 50.3%,transparent 50.3%),var(--night);min-height:214px;color:var(--paper-bright);position:relative;overflow:hidden}.archive-poster__meta{z-index:3;color:var(--archive-contrast);letter-spacing:.06em;justify-content:space-between;font-size:.45rem;font-weight:700;display:flex;position:absolute;top:16px;left:16px;right:16px}.archive-poster__matrix{opacity:.88;grid-template-rows:repeat(4,1fr);grid-template-columns:repeat(7,1fr);gap:5px;display:grid;position:absolute;inset:42px 20px 34px}.archive-poster__matrix i{background:0 0;min-width:0}.archive-poster--pattern-1 .archive-poster__matrix i:nth-child(3n),.archive-poster--pattern-2 .archive-poster__matrix i:nth-child(4n+1),.archive-poster--pattern-3 .archive-poster__matrix i:nth-child(5n+2),.archive-poster--pattern-4 .archive-poster__matrix i:nth-child(3n+1){background:var(--archive-accent)}.archive-poster--pattern-1 .archive-poster__matrix i:nth-child(7n+1),.archive-poster--pattern-2 .archive-poster__matrix i:nth-child(6n),.archive-poster--pattern-3 .archive-poster__matrix i:nth-child(4n),.archive-poster--pattern-4 .archive-poster__matrix i:nth-child(7n+3){background:var(--paper-bright);opacity:.5}.archive-poster>strong{z-index:2;color:var(--paper-bright);font-family:var(--font-display),Impact,sans-serif;text-shadow:5px 5px 0 var(--archive-accent);font-size:clamp(5.4rem,8vw,8.5rem);font-weight:400;line-height:.72;transition:transform .26s cubic-bezier(.22,1,.36,1);position:absolute;bottom:10px;right:18px}.archive-card>article:hover .archive-poster>strong{transform:translate(-6px,-3px)}.archive-poster__signal{z-index:3;color:var(--archive-contrast);letter-spacing:.08em;writing-mode:vertical-rl;font-size:.43rem;position:absolute;bottom:14px;left:16px}.archive-card__body{flex-direction:column;min-width:0;padding:24px;display:flex}.archive-card__heading{grid-template-columns:32px minmax(0,1fr);align-items:start;gap:12px;display:grid}.archive-card__number{color:var(--red);font-size:.56rem;font-weight:750}.archive-card__heading p{color:var(--muted);margin:0 0 7px;font-size:.48rem;font-weight:700}.archive-card__heading h4{font-family:var(--font-display),Impact,sans-serif;overflow-wrap:anywhere;text-transform:uppercase;margin:0;font-size:clamp(2.1rem,3vw,3rem);font-weight:400;line-height:.9}.archive-card__summary{color:var(--ink-soft);margin:24px 0 0;font-size:.8rem;line-height:1.66}.archive-card__note{border-top:1px solid var(--line-soft);border-left:2px solid var(--archive-accent);color:var(--muted);margin:16px 0 0;padding:11px 0 0 12px;font-size:.68rem;line-height:1.55}.archive-card__stack{flex-wrap:wrap;gap:7px;margin:auto 0 0;padding:24px 0 0;list-style:none;display:flex}.archive-card__stack li{border:1px solid var(--line-soft);background:var(--paper);padding:7px 9px;font-size:.47rem;font-weight:700}.archive-card__links{flex-wrap:wrap;gap:9px;margin-top:20px;display:flex}.archive-card__links a{border:1px solid var(--ink);justify-content:center;align-items:center;gap:7px;min-height:44px;padding:0 12px;font-size:.52rem;font-weight:750;transition:background .16s,color .16s,transform .16s;display:inline-flex}.archive-card__links a:first-child{background:var(--ink);color:var(--paper-bright)}.archive-card__links a:hover{background:var(--archive-accent);color:var(--night);transform:translateY(-2px)}.archive-card__links svg{width:13px;height:13px}@media (max-width:1100px){.github-archive__header{grid-template-columns:100px minmax(0,1fr) auto}.github-archive__intro{grid-column:2/-1;max-width:680px}.github-archive__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:700px){.github-archive{margin-top:88px}.github-archive__header{grid-template-columns:minmax(0,1fr) auto;align-items:start;margin-bottom:32px}.github-archive__intro,.github-archive__marker,.github-archive__title{grid-column:1/-1}.github-archive__count{grid-area:1/2}.github-archive__title h3{font-size:clamp(3rem,14vw,4.5rem)}.github-archive__grid{grid-template-columns:1fr}.archive-poster{min-height:196px}}@media (max-width:420px){.archive-card__body{padding:21px 18px}.archive-card__heading h4{font-size:2.4rem}}@media (prefers-reduced-motion:reduce){.archive-card>article,.archive-card__links a,.archive-poster>strong{transition:none!important}.archive-card>article:hover,.archive-card>article:hover .archive-poster>strong,.archive-card__links a:hover{transform:none}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@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}:root{--paper:#f4f0e7;--paper-bright:#fdfaf3;--paper-deep:#e8e2d6;--ink:#252720;--ink-soft:#494b43;--muted:#6a6b61;--line:#b2b1a4;--line-soft:#d7d2c5;--red:#b83c2b;--accent-solid:#b83c2b;--panel:#ebe6dc;--inverse-bg:#22251f;--inverse-ink:#f4f0e7;--inverse-muted:#bfbdaf;--ease-folio:cubic-bezier(0.16,1,0.3,1);--shell:min(1240px,calc(100% - 64px))}:root[data-theme=dark]{--paper:#181917;--paper-bright:#20221e;--paper-deep:#292c25;--ink:#f2eee3;--ink-soft:#d1cfc3;--muted:#aaa99d;--line:#62665a;--line-soft:#383d33;--red:#ef8a70;--accent-solid:#b83c2b;--panel:#242720;--inverse-bg:#11140f;--inverse-ink:#f2eee3;--inverse-muted:#b6bbad;color-scheme:dark}html{scrollbar-color:var(--red) var(--paper-deep);scroll-padding-top:100px}body,html{min-width:0}body{padding-inline:env(safe-area-inset-left) env(safe-area-inset-right)}input{caret-color:var(--red)}a,button,summary{touch-action:manipulation}h1,h2,h3{text-wrap:balance}.site-header{animation:none;border-color:var(--line-soft)}.site-header__inner{min-height:82px;grid-template-columns:auto 1fr auto;gap:24px}.brand-mark__initials{border-radius:3px;background:var(--accent-solid);transform:rotate(-3deg)}.brand-mark__copy strong{font-size:.85rem}.brand-mark__copy small{font-size:.6rem}.nav-pill a{display:flex;gap:7px;padding:20px 13px;min-height:56px}.nav-pill__index{display:none}.nav-pill a strong{font-size:.76rem}.nav-pill a:after{bottom:8px}.nav-pill a[aria-current=location]{color:var(--red)}.nav-pill a[aria-current=location]:after{transform:scaleX(1)}.header-actions{gap:12px}.header-github{min-width:44px;min-height:44px;padding-inline:12px;background:transparent;border-color:var(--line);color:var(--ink)}.header-github span,.header-github svg:last-child{display:none}.header-github:hover{background:var(--ink);color:var(--paper)}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:44px;padding:0 12px;border:1px solid var(--line);background:transparent;cursor:pointer;transition:border-color .18s,background .18s}.brand-mark,.skip-link,.theme-toggle{min-height:44px}.theme-toggle:hover{border-color:var(--red);background:var(--paper-deep)}.theme-toggle__icons{position:relative;width:18px;height:18px}.theme-toggle__icons svg{position:absolute;inset:0;width:18px;height:18px;transition:transform .42s var(--ease-folio),opacity .22s}.theme-toggle__moon{opacity:0;transform:rotate(-70deg) scale(.5)}.theme-toggle__label{font-size:.75rem;font-weight:600}.theme-toggle__night{display:none}[data-theme=dark] .theme-toggle__sun{opacity:0;transform:rotate(70deg) scale(.5)}[data-theme=dark] .theme-toggle__moon{opacity:1;transform:rotate(0) scale(1)}[data-theme=dark] .theme-toggle__day{display:none}[data-theme=dark] .theme-toggle__night{display:inline}::view-transition-new(root),::view-transition-old(root){animation:none;mix-blend-mode:normal}::view-transition-old(root){z-index:1}::view-transition-new(root){z-index:2;animation:ink-wash .56s var(--ease-folio) both}@keyframes ink-wash{0%{clip-path:circle(0 at var(--theme-x,90%) var(--theme-y,40px))}to{clip-path:circle(150vmax at var(--theme-x,90%) var(--theme-y,40px))}}.folio-hero{width:var(--shell);margin-inline:auto}.folio-hero__edition{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding-block:24px 0;font-size:.65rem;color:var(--muted)}.folio-hero__year{margin-left:20px}.folio-hero__layout{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:48px;padding-block:48px 52px}.folio-hero__copy{position:relative;z-index:2}.folio-hero__greeting{display:flex;align-items:center;gap:16px;font-size:.9rem;margin-bottom:18px}.folio-hero h1{margin:0;font-family:var(--font-display),sans-serif;font-size:clamp(5rem,8vw,6rem);font-weight:400;line-height:.91;letter-spacing:-.015em;text-transform:uppercase}.folio-hero__name{display:block;animation:type-settle .72s var(--ease-folio) both}.folio-hero__name--accent{color:var(--red);animation-delay:.1s}.folio-hero__period{color:var(--ink)}.folio-hero__role{display:flex;align-items:center;gap:12px;margin:22px 0 28px;font-size:.8rem;font-weight:650;text-transform:uppercase;letter-spacing:.06em}.folio-hero__dash{width:35px;height:1px;background:var(--red);transform-origin:left;animation:rule-draw .6s .3s var(--ease-folio) both}.folio-hero__headline{max-width:390px;font-size:1.45rem;font-weight:550;line-height:1.35;margin:0 0 12px;text-wrap:balance}.folio-hero__intro{max-width:450px;margin:0;font-size:1rem;line-height:1.75;color:var(--ink-soft)}.folio-hero__actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:26px}.button{min-height:48px}.button--primary{padding-inline:20px;background:var(--accent-solid);border-color:var(--accent-solid);color:#fffaf2;position:relative;overflow:hidden;isolation:isolate}.button--primary:before{content:"";position:absolute;inset:0;z-index:-1;background:#7f2c20;transform:translateY(105%);transition:transform .32s var(--ease-folio)}.button--primary:hover{background:var(--accent-solid)}.button--primary:hover:before{transform:translateY(0)}.button--primary:hover svg{transform:translateY(3px)}.button--quiet{border-color:var(--line)}.button--quiet:hover{color:var(--red)}.button--quiet:hover svg{transform:translate(3px,-3px)}.button:active,.project-filter button:active,.theme-toggle:active{transform:scale(.97)}.folio-art{position:relative;min-height:530px;isolation:isolate}.folio-art__sun{position:absolute;width:82%;aspect-ratio:1;top:0;right:0;background:var(--accent-solid);border-radius:50%;z-index:-1}.folio-art__sun:after{content:"";position:absolute;inset:12px;border:1px solid #fff3;border-radius:inherit}.folio-art__vertical{position:absolute;right:0;top:44%;writing-mode:vertical-rl;font-size:1rem;letter-spacing:.25em}.folio-art__portrait{position:absolute;width:69%;max-width:360px;margin:0;top:44px;left:6%;transform:rotate(-3deg);padding:11px 11px 0;border:1px solid var(--line);background:var(--paper-bright);box-shadow:10px 18px 32px #161b161c;transition:transform .6s var(--ease-folio)}.folio-art__photo{position:relative}.folio-art__image-wrap{position:relative;aspect-ratio:4/4.8;overflow:hidden;background:#d9d9db}.folio-art__image-wrap img{width:100%;height:100%;object-fit:cover;object-position:center 28%;filter:saturate(.6);transition:filter .5s,transform .65s var(--ease-folio)}.folio-art__portrait figcaption{display:flex;justify-content:space-between;gap:8px;padding-block:13px;font-size:.58rem;color:var(--ink-soft)}.folio-art__portrait figcaption span:last-child{color:var(--muted)}.folio-art__shutter{position:absolute;inset-block:0;width:51%;background:var(--paper-deep);animation:shutter-open .95s .18s var(--ease-folio) both}.folio-art__shutter--left{left:0;transform-origin:left;border-right:1px solid var(--line)}.folio-art__shutter--right{right:0;transform-origin:right;border-left:1px solid var(--line)}.folio-art__seal{position:absolute;left:-30px;bottom:34px;display:grid;place-content:center;text-align:center;width:72px;height:82px;border:3px double var(--red);color:var(--red);background:var(--paper-bright);transform:rotate(7deg);animation:seal-settle .6s .55s var(--ease-folio) both}.folio-art__seal small{font-size:.55rem;letter-spacing:.12em}.folio-art__caption{position:absolute;right:4px;bottom:4px;font-size:.75rem;line-height:1.5}.folio-art__caption,.folio-hero__footer{display:flex;align-items:center;gap:16px;color:var(--muted)}.folio-hero__footer{flex-wrap:wrap;justify-content:space-between;padding:19px 0;border-top:1px solid var(--line);font-size:.68rem}.folio-hero__footer>a,.folio-hero__footer>span{display:flex;align-items:center;gap:8px}.folio-hero__footer svg{width:14px;height:14px}.folio-hero__footer>a{min-height:44px;color:var(--ink)}.folio-hero__footer>a:hover{color:var(--red)}.folio-hero__craft{flex-direction:column;align-items:flex-end!important;font-size:.62rem}@keyframes type-settle{0%{transform:translateY(18px);clip-path:inset(0 0 20%)}to{transform:translateY(0);clip-path:inset(0)}}@keyframes rule-draw{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes shutter-open{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes seal-settle{0%{transform:rotate(15deg) scale(1.16)}to{transform:rotate(7deg) scale(1)}}.page-section{padding-block:96px}.section-heading{gap:28px;margin-bottom:48px}.section-heading__marker{border-color:var(--line-soft)}.section-heading__marker>span:first-child,.section-heading__marker>strong{display:block}.section-heading h2{font-size:clamp(2.6rem,4.6vw,4.3rem);line-height:.98}.section-heading__description{font-size:.95rem;line-height:1.7;color:var(--muted)}.section-heading__copy .eyebrow{display:block}.project-filter{border-color:var(--line-soft)}.project-filter__options{gap:4px}.project-filter button{position:relative;isolation:isolate;border-color:transparent;padding-inline:20px;font-family:var(--font-geist-sans),sans-serif;font-size:.85rem;min-height:46px;transition:color .18s,background .18s,transform .18s}.project-filter button.is-active{background:transparent;color:var(--paper)}.project-filter__active{position:absolute;inset:0;z-index:-1;background:var(--ink)}.project-filter button small{font-size:.65rem}.project-search{background:var(--paper-bright);border-color:var(--line);min-height:50px}.project-search input{font-size:1rem}.project-result-count{font-size:.78rem}.project-entry{padding-block:55px;border-color:var(--line-soft)}.project-entry--spotlight .project-entry__heading h3,.project-entry__heading h3{font-size:clamp(2.35rem,4.2vw,3.7rem)}.project-entry__eyebrow{font-family:var(--font-geist-sans),sans-serif;font-size:.7rem}.project-entry__summary{font-size:1rem;line-height:1.75}.project-entry__note{font-size:.85rem;line-height:1.65}.project-visual{--paper-bright:#fdfaf3;--paper-deep:#e8e2d6;--ink:#252720;--muted:#63675c;--line:#b2b1a4;--red:#b83c2b}.project-entry--reverse .project-visual,.project-visual{box-shadow:5px 10px 24px #171e1612;border-color:var(--line);transition:transform .45s var(--ease-folio),box-shadow .45s}.project-visual__masthead{color:#262b24}.project-visual--interface .project-visual__masthead{color:#f6f4e9}.project-visual__image--composition,.project-visual__image--screen{color:#252720}.project-entry__links a{min-height:44px;font-size:.82rem}.project-entry__stack li{font-size:.68rem}.github-archive__intro{font-size:.95rem}.archive-card>article{background:var(--paper-bright)}.archive-card:nth-child(2n)>article,.archive-card>article{box-shadow:none;border-color:var(--line-soft)}.archive-card>article:hover{box-shadow:4px 12px 26px #171e161c;transform:translateY(-4px)}.archive-card:nth-child(2n)>article{background:var(--panel)}.archive-card__summary{font-size:.95rem}.archive-card__note{font-size:.82rem}.archive-card__links a{font-size:.75rem}.archive-poster{--paper-bright:#fdfaf3;--ink:#252720;color:#fdfaf3}.archive-poster>strong{text-shadow:2px 4px 12px #0008}.archive-card__note{border-left-width:1px}.archive-card__stack li{font-size:.6rem}.archive-card__heading p{font-family:var(--font-geist-sans),sans-serif;font-size:.65rem}.contact-section,.experience-section{background:var(--inverse-bg);color:var(--inverse-ink)}.contact-section{--signal-blue:#ef8a70}.contact-section:before{top:-340px;right:-250px;width:620px;height:620px;border:1px solid #ef8a7040;pointer-events:none}.experience-section{box-shadow:0 0 0 100vmax var(--inverse-bg)}.contact-section__heading>p,.experience-meta,.experience-section .section-heading__description,.experience-section .section-heading__marker,.footer-row,.privacy-note{color:var(--inverse-muted)}.experience-section .section-heading{border-color:#62665a}.experience-identity__logo{background:#fdfaf3;border-color:#a5ac9c}.experience-meta{font-size:.7rem;line-height:1.6}.privacy-note{font-size:.85rem;line-height:1.65}.experience-body__summary{color:#deded0}.module-list li:hover{background:#30362a}.module-list li strong{transition:transform .25s var(--ease-folio)}.module-list li:hover strong{transform:translateX(7px)}.skill-readout{background:var(--panel)}.skill-readout p{color:var(--ink-soft);font-size:1rem;line-height:1.6}.skill-item__button{min-height:110px}.skill-item.is-active .skill-item__button,.skill-item__button:hover{background:var(--paper-deep);color:var(--ink)}.skill-item__copy strong{font-size:.9rem}.skill-item__icon svg{color:var(--ink-soft)}.skill-item.is-active .skill-item__icon svg,.skill-item__button:hover .skill-item__icon svg{color:var(--red)}[data-theme=dark] .skill-readout__icon{color:var(--red)!important}.about-copy__lead{font-family:var(--font-geist-sans),sans-serif;font-size:clamp(1.45rem,2.5vw,2rem);font-weight:500;text-transform:none;line-height:1.5}.about-copy__closing,.principles-list p{font-size:1rem;line-height:1.75}.principles-list article{transition:background .2s,transform .3s var(--ease-folio)}.principles-list article:hover{background:var(--paper-deep);transform:translateX(4px)}.contact-section h2{font-size:clamp(3.3rem,7vw,6rem);line-height:.95;margin-block:60px 40px}.contact-section h2 strong{color:#ef8a70}.contact-section__heading>p{font-size:.95rem}.contact-section__label .eyebrow,.contact-section__label>span{display:block}.contact-email{font-size:clamp(.9rem,2.3vw,1.6rem)}.footer-row a{color:var(--inverse-ink)}.contact-section__inner{padding-bottom:max(28px,env(safe-area-inset-bottom))}@media (hover:hover) and (pointer:fine){.folio-art__portrait:hover{transform:rotate(0deg) translateY(-5px)}.folio-art__portrait:hover img{transform:scale(1.025);filter:saturate(1)}.project-entry:hover .project-visual{transform:translateY(-5px);box-shadow:8px 18px 32px #171e1624}}@media (max-width:1100px){.site-header__inner{gap:12px}.nav-pill a{padding-inline:10px}.folio-hero__layout{gap:24px}.folio-art{min-height:510px}.folio-art__portrait{width:78%;left:2%}.folio-art__seal{left:-24px}}@media (max-width:850px){.nav-pill{display:none}.mobile-menu{display:block}.site-header__inner{display:flex;justify-content:space-between;min-height:72px}.mobile-menu summary{width:44px;height:44px;border:1px solid var(--line);display:grid;place-items:center}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu[open] summary{background:var(--ink);color:var(--paper)}.mobile-menu[open] summary svg{transform:rotate(90deg)}.mobile-menu summary svg{transition:transform .25s var(--ease-folio)}.mobile-menu nav{right:0;top:calc(100% + 12px);width:min(330px,calc(100vw - 40px));max-height:calc(100dvh - 100px);overflow-y:auto;background:var(--paper-bright);border:1px solid var(--line);box-shadow:0 12px 32px #10181020;padding:10px}.mobile-menu[open] nav{animation:menu-unfold .26s var(--ease-folio) both}.mobile-menu nav a{min-height:52px;font-size:.9rem}.mobile-menu nav a strong{font-size:.9rem}.mobile-menu nav a[aria-current=location]{background:var(--paper-deep);color:var(--red)}.folio-hero__layout{grid-template-columns:1.1fr 1fr;padding-block:40px}.folio-hero h1{font-size:5rem}.folio-hero__headline{font-size:1.2rem}.folio-art{min-height:430px}.folio-art__portrait figcaption{font-size:.5rem}.folio-art__seal{width:55px;height:65px}.folio-art__vertical{font-size:.85rem}.folio-art__caption{font-size:.65rem;gap:8px}.folio-hero__footer .folio-hero__craft{display:none}.project-filter button{padding-inline:14px}}@keyframes menu-unfold{0%{clip-path:inset(0 0 100%);transform:translateY(-8px)}to{clip-path:inset(0);transform:translateY(0)}}@media (max-width:600px){:root{--shell:calc(100% - 40px)}.header-actions{gap:8px}.header-github{display:none}.brand-mark{gap:9px}.brand-mark__copy strong{font-size:.75rem}.brand-mark__copy small{font-size:.52rem}.theme-toggle{padding-inline:10px}.theme-toggle__label{display:none}.folio-hero__edition{font-size:.6rem;padding-top:18px}.folio-hero__edition>span:last-child{display:none}.folio-hero__layout{grid-template-columns:1fr;gap:20px;padding-block:28px}.folio-hero__copy{display:contents}.folio-hero__greeting{margin:0;font-size:.8rem;gap:12px}.folio-hero h1{font-size:clamp(4.35rem,19vw,6rem);margin-top:-10px}.folio-hero__role{margin:-4px 0 0;font-size:.7rem}.folio-art{grid-row:4;min-height:360px;margin:0 auto;width:min(100%,380px)}.folio-art__sun{top:0;width:80%;right:2%}.folio-art__portrait{width:64%;left:14%;top:25px;padding:8px 8px 0}.folio-art__image-wrap{aspect-ratio:4/4.5}.folio-art__portrait figcaption{font-size:.5rem;padding-block:10px}.folio-art__seal{left:-20px;width:61px;height:72px}.folio-art__vertical{right:1%;top:37%}.folio-art__caption{bottom:0}.folio-hero__headline{max-width:100%;margin:0;font-size:1.5rem;line-height:1.35}.folio-hero__intro{margin:-6px 0 0;font-size:1rem;line-height:1.75}.folio-hero__actions{margin-top:0;gap:22px}.folio-hero__footer{padding-block:14px;gap:4px;font-size:.65rem}.folio-hero__footer>span{flex-basis:100%}.page-section{padding-block:64px}.section-heading{gap:20px;margin-bottom:28px}.section-heading__marker{display:flex;justify-content:flex-start;padding-bottom:14px}.section-heading h2{font-size:clamp(2.7rem,11.5vw,3.8rem)}.section-heading__description{font-size:1rem}.project-filter__title{padding-block:4px 12px}.project-filter__title small{font-size:.72rem}.project-filter__options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:5px;padding-bottom:12px}.project-filter button{justify-content:space-between;width:100%;padding-inline:12px;border:1px solid var(--line-soft)}.project-search-row{gap:12px;margin-bottom:12px}.project-entry{padding-block:40px}.project-entry--spotlight .project-entry__heading h3,.project-entry__heading h3{font-size:2.5rem;line-height:1}.project-entry__heading{gap:12px}.project-entry__category{font-size:.65rem}.project-entry__body{padding-top:24px}.project-entry__summary{font-size:1rem}.project-entry__stack li{font-size:.65rem;padding:7px 9px}.project-entry__links{gap:20px}.github-archive{margin-top:28px;padding-top:40px}.github-archive__header{margin-bottom:28px}.github-archive__title h3{font-size:2.8rem}.github-archive__grid{gap:0}.archive-card:nth-child(2n)>article,.archive-card>article{padding:24px 0 28px;background:transparent}.archive-card__summary{font-size:1rem}.archive-card__links a{min-height:44px}.experience-identity{gap:18px}.experience-identity h3{font-size:2.35rem}.experience-meta{font-size:.75rem}.skill-explorer{gap:20px}.skill-readout{min-height:280px}.skill-readout__word{font-size:4rem}.skill-item__button{min-height:94px;padding:12px}.skill-item__copy strong{font-size:.8rem}.skill-item__index{font-size:.58rem}.about-copy__lead{font-size:1.55rem}.contact-section__inner{padding-top:60px}.contact-section h2{font-size:clamp(3rem,13vw,4.4rem);margin-block:40px}.contact-email{gap:12px;grid-template-columns:20px minmax(0,1fr) 20px;min-height:80px}.contact-email svg{width:19px;height:19px}.footer-row{font-size:.68rem;row-gap:8px}}@media (max-width:360px){:root{--shell:calc(100% - 32px)}.brand-mark__copy strong{font-size:.68rem}.brand-mark__initials{width:32px;height:36px}.folio-art{min-height:318px}.folio-hero__actions{gap:15px}.button{font-size:.75rem}.button--primary{padding-inline:14px}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.project-visual{animation:print-reveal linear both;animation-timeline:view();animation-range:entry 0 entry 65%}@keyframes print-reveal{0%{clip-path:inset(0 0 14% 0);opacity:.65}to{clip-path:inset(0);opacity:1}}}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;animation:none!important;transition-duration:.01ms!important}.folio-art__shutter{display:none}.folio-art__portrait:hover,.module-list li:hover strong,.principles-list article:hover,.project-entry:hover .project-visual{transform:none}}.github-activity{width:var(--shell);margin:72px auto;--activity-0:#e5e8e0;--activity-1:#a4cf94;--activity-2:#63ac65;--activity-3:#368544;--activity-4:#246333}[data-theme=dark] .github-activity{--activity-0:#2d332d;--activity-1:#174f2b;--activity-2:#267b3e;--activity-3:#36a653;--activity-4:#66d47b}.github-activity__footer,.github-activity__heading,.github-calendar__detail-row,.github-calendar__summary{display:flex;align-items:center;justify-content:space-between;gap:16px}.github-activity__heading{margin-bottom:22px}.github-activity__heading .eyebrow{display:flex;align-items:center;gap:9px;margin-bottom:9px;font-size:.65rem}.github-activity__heading .eyebrow svg{width:16px;height:16px}.github-activity h2{margin:0;font-family:var(--font-display),sans-serif;font-size:clamp(2.2rem,4vw,3.2rem);font-weight:400;line-height:1}.github-activity a{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:.8rem}.github-activity a:hover{color:var(--red)}.github-activity a svg{width:16px;height:16px}.github-activity__panel{min-height:252px;padding:28px 32px 22px;border:1px solid var(--line-soft);border-radius:6px;background:var(--paper-bright)}.github-calendar__summary{margin-bottom:22px;font-size:.85rem}.github-calendar__summary p{margin:0}.github-calendar__summary strong{font-size:1.15rem;font-weight:650}.github-calendar__summary>span{color:var(--muted);font-size:.7rem}.github-calendar__scroll{overflow-x:auto;overscroll-behavior-x:contain;padding:3px 3px 12px;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.github-calendar{--calendar-cell:14px;--calendar-gap:4px;display:grid;grid-template-columns:34px max-content;grid-template-rows:18px auto;gap:8px 6px;width:max-content;margin-inline:auto}.github-calendar__months{grid-column:2;display:grid;grid-template-columns:repeat(var(--calendar-weeks),var(--calendar-cell));gap:var(--calendar-gap);font-size:.65rem;color:var(--ink-soft)}.github-calendar__months span{white-space:nowrap}.github-calendar__weekdays{grid-row:2;display:grid;grid-template-rows:repeat(7,var(--calendar-cell));row-gap:var(--calendar-gap);align-items:center;color:var(--muted);font-size:.6rem}.github-calendar__days{grid-column:2;grid-row:2;display:grid;grid-template-columns:repeat(var(--calendar-weeks),var(--calendar-cell));grid-template-rows:repeat(7,var(--calendar-cell));grid-auto-flow:column;gap:var(--calendar-gap)}.github-calendar__day{display:block;width:var(--calendar-cell);height:var(--calendar-cell);padding:0;border:1px solid #2527200c;border-radius:2px;cursor:pointer}.github-activity [data-level="0"]{background:var(--activity-0)}.github-activity [data-level="1"]{background:var(--activity-1)}.github-activity [data-level="2"]{background:var(--activity-2)}.github-activity [data-level="3"]{background:var(--activity-3)}.github-activity [data-level="4"]{background:var(--activity-4)}.github-calendar__day.is-selected,.github-calendar__day:hover{outline:1px solid var(--ink-soft);outline-offset:2px}.github-calendar__day:focus-visible{outline:2px solid var(--red);outline-offset:2px}.github-calendar__detail-row{margin-top:6px}.github-calendar__detail{margin:0;min-height:18px;font-size:.72rem;color:var(--ink-soft)}.github-calendar__legend{display:flex;align-items:center;gap:4px;color:var(--muted);font-size:.65rem}.github-calendar__legend span:first-child{margin-right:3px}.github-calendar__legend span:last-child{margin-left:3px}.github-calendar__legend i{width:12px;height:12px;border-radius:2px}.github-calendar__instructions{margin:12px 0 0;color:var(--muted);font-size:.65rem;line-height:1.6}.github-activity__footer{align-items:flex-start;margin-top:14px;font-size:.65rem;line-height:1.6;color:var(--muted)}.github-activity__placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:202px;gap:8px;color:var(--muted);text-align:center}.github-activity__placeholder>svg{width:24px;height:24px}.github-activity__placeholder p{margin:0;color:var(--ink-soft);font-size:.9rem}.github-activity__placeholder>span{font-size:.75rem}.about-copy__design-note{margin:22px 0 0;border-top:1px solid var(--line-soft);padding-top:18px;font-size:.82rem;line-height:1.7;color:var(--muted)}.folio-art__seal>span{font-size:1.3rem;font-weight:700}@media (max-width:600px){.github-activity{margin-block:48px}.github-activity__heading{align-items:flex-start;flex-direction:column;gap:8px;margin-bottom:14px}.github-activity__heading .eyebrow{font-size:.6rem}.github-activity__panel{padding:20px 16px 18px}.github-calendar__summary{flex-wrap:wrap;gap:6px;margin-bottom:18px}.github-calendar__detail-row{align-items:flex-start;flex-direction:column;gap:12px}.github-activity__footer{flex-direction:column;gap:4px}}