/*! tailwindcss v4.2.1 | 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-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{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::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,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;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{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{.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.static{position:static}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.grid{display:grid}.table{display:table}.rounded{border-radius:.25rem}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--paper:#f5f5f0;--paper-strong:#ebebe6;--ink:#1a1a1a;--muted:#6e6e73;--line:#d7d7d2;--blue:#06c;--white:#fff;--sans:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Segoe UI",sans-serif;--mono:"SF Mono",ui-monospace,Menlo,Consolas,monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--sans);margin:0;font-size:16px;line-height:1.45}a{color:inherit;text-decoration:none}a:focus-visible,summary:focus-visible{outline:2px solid var(--blue);outline-offset:4px}h1,h2,h3,p{margin:0}h1,h2,h3{letter-spacing:-.045em;font-weight:650}.shell{width:min(1080px,100% - 48px);margin-inline:auto}.site-header{border-bottom:1px solid var(--line);min-height:68px}.site-header-inner{justify-content:space-between;align-items:center;gap:28px;width:min(1080px,100% - 48px);min-height:68px;margin-inline:auto;display:flex}.wordmark{letter-spacing:-.02em;white-space:nowrap;align-items:center;gap:10px;font-size:14px;font-weight:600;display:inline-flex}.wordmark-mark{background:var(--ink);width:27px;height:27px;color:var(--white);font-family:var(--mono);letter-spacing:-.08em;border-radius:7px;place-items:center;font-size:9px;display:grid}.desktop-nav{color:var(--muted);align-items:center;gap:23px;font-size:13px;display:flex}.desktop-nav a:hover,.footer-links a:hover{color:var(--ink)}.nav-cta{font-weight:600;color:var(--ink)!important}.arrow{margin-left:5px;font-size:1em;transition:transform .18s;display:inline-block}a:hover .arrow{transform:translate(2px,-2px)}.mobile-menu{display:none;position:relative}.mobile-menu summary{cursor:pointer;color:var(--muted);font-size:13px;list-style:none}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu summary:after{content:"⌄";color:var(--ink);margin-left:6px}.mobile-menu[open] summary:after{content:"⌃"}.mobile-menu nav{z-index:5;border:1px solid var(--line);background:var(--paper);border-radius:12px;width:190px;padding:8px;display:grid;position:absolute;top:31px;right:0;box-shadow:0 12px 30px #00000014}.mobile-menu nav a{padding:10px 11px;font-size:14px}.mobile-menu nav a:hover{background:var(--paper-strong);border-radius:7px}.button{border-radius:999px;justify-content:center;align-items:center;min-height:40px;padding:10px 16px;font-size:13px;font-weight:600;transition:background .18s,color .18s,transform .18s;display:inline-flex}.button:hover{transform:translateY(-1px)}.button-dark{background:var(--ink);color:var(--white)}.button-dark:hover{background:#333}.button-quiet{border:1px solid var(--line);background:0 0}.button-quiet:hover{background:var(--paper-strong)}.inline-link{width:max-content;color:var(--blue);align-items:center;font-size:13px;font-weight:600;display:inline-flex}.inline-link:hover{text-underline-offset:4px;text-decoration:underline}.eyebrow,.section-label{color:var(--muted);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:600}.eyebrow{margin-bottom:18px}.section-label{margin-bottom:0}.mono-label{color:var(--muted);font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;font-size:10px}.home-hero{padding:104px 0 92px}.home-hero h1{letter-spacing:-.065em;max-width:830px;font-size:clamp(3.2rem,7.2vw,6.4rem);line-height:.98}.home-lede{max-width:690px;color:var(--muted);margin-top:28px;font-size:clamp(1.15rem,2vw,1.45rem);line-height:1.38}.home-actions{gap:10px;margin-top:30px}.hero-actions,.home-actions{flex-wrap:wrap;align-items:center;display:flex}.hero-actions{gap:12px;margin-top:24px}.quick-facts{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);display:grid}.quick-facts>div{border-right:1px solid var(--line);flex-direction:column;justify-content:space-between;min-height:126px;padding:20px 18px 20px 0;display:flex}.quick-facts>div+div{padding-left:18px}.quick-facts>div:last-child{border-right:0}.quick-facts strong{letter-spacing:-.055em;font-size:32px;font-weight:600;line-height:1}.quick-facts span{max-width:190px;color:var(--muted);font-size:12px;line-height:1.35}.home-section{padding:92px 0}.section-heading{border-bottom:1px solid var(--ink);grid-template-columns:1fr 1fr;align-items:start;gap:30px;padding-bottom:20px;display:grid}.section-note{max-width:360px;color:var(--muted);font-size:14px}.case-list,.work-list{border-top:1px solid var(--line)}.case-row,.work-row{border-bottom:1px solid var(--line);grid-template-columns:42px 190px minmax(0,1fr) 120px 18px;align-items:center;gap:18px;min-height:106px;padding:18px 0;display:grid}.case-row:hover,.work-row:hover{background:#00000006}.case-row-number,.work-number{color:var(--muted);font-family:var(--mono);font-size:11px}.work-company{color:var(--muted);font-size:13px}.work-main{gap:5px;display:grid}.case-row-title strong,.work-main strong{letter-spacing:-.025em;font-size:16px;font-weight:600}.case-row-title span,.work-main span{color:var(--muted);font-size:13px}.case-row-metric,.work-metric{color:var(--ink);text-align:right;font-size:13px;font-weight:600}.case-row>.arrow,.work-row>.arrow{color:var(--blue);justify-self:end}.home-section>.inline-link{margin-top:24px}.home-section-muted{background:var(--paper-strong)}.section-split{grid-template-columns:.78fr 1.22fr;gap:12%;display:grid}.contact-row h2,.section-split h2{max-width:480px;font-size:clamp(2.2rem,4.5vw,4.2rem);line-height:1.02}.capability-list{border-top:1px solid var(--line)}.capability-list a{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) 25px;align-items:start;gap:4px 18px;padding:17px 0;display:grid}.capability-list a:hover strong{color:var(--blue)}.capability-list strong{letter-spacing:-.02em;font-size:15px;font-weight:600}.capability-list span{color:var(--muted);grid-column:1;font-size:13px}.capability-list .arrow{color:var(--blue);grid-area:1/2/span 2;justify-self:end}.home-secondary{padding-top:75px}.secondary-links{grid-template-columns:1fr 1fr;gap:14px;margin-top:24px;display:grid}.secondary-links a{border:1px solid var(--line);border-radius:12px;grid-template-columns:1fr 20px;gap:4px 14px;padding:20px;display:grid}.secondary-links a:hover{border-color:var(--ink)}.secondary-links strong{font-size:17px;font-weight:600}.secondary-links span{color:var(--muted);font-size:13px}.secondary-links .arrow{color:var(--blue);grid-area:1/2/span 2;justify-self:end}.home-contact{padding:80px 0}.contact-band,.home-contact{background:var(--ink);color:var(--white)}.contact-band{padding:64px 0}.contact-content{width:min(1080px,100% - 48px);margin-inline:auto}.contact-content .eyebrow{color:#a1a1a6}.contact-content h2{max-width:650px;font-size:clamp(2.2rem,4.5vw,4.2rem);line-height:1.02}.contact-content p{color:#b6b6bb;max-width:600px;margin-top:16px;font-size:15px}.button-light{background:var(--white);color:var(--ink)}.contact-light-link{color:var(--white);font-size:13px;font-weight:600}.contact-row{justify-content:space-between;align-items:end;gap:40px;display:flex}.contact-row .section-label{color:#a1a1a6}.contact-row h2{color:var(--white)}.contact-row>div:first-child>p:last-child{color:#b6b6bb;max-width:520px;margin-top:16px;font-size:15px}.contact-row .button-quiet{color:var(--white);border-color:#555}.contact-row .button-quiet:hover{background:#333}.site-footer{justify-content:space-between;align-items:center;gap:30px;min-height:150px;display:flex}.site-footer p{margin-top:9px}.footer-links,.site-footer p{color:var(--muted);font-size:12px}.footer-links{flex-wrap:wrap;gap:18px;display:flex}.footer-meta{color:var(--muted);font-family:var(--mono);font-size:10px}.portfolio-hero{padding:104px 0 78px}.portfolio-hero h1{letter-spacing:-.065em;max-width:840px;font-size:clamp(3.2rem,7.2vw,6.4rem);line-height:.98}.portfolio-lede{max-width:760px;color:var(--muted);margin-top:28px;font-size:clamp(1.15rem,2vw,1.45rem);line-height:1.4}.portfolio-index{padding:86px 0 96px}.portfolio-index-heading{grid-template-columns:.9fr 1.1fr;align-items:end;gap:34px;display:grid}.portfolio-index-heading h2{max-width:570px;font-size:clamp(2.2rem,4.8vw,4.5rem);line-height:1.02}.portfolio-index-heading>p:last-child{max-width:430px;color:var(--muted);font-size:15px;line-height:1.5}.category-grid{border-top:1px solid var(--ink);border-left:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin-top:44px;display:grid}.category-link{border-right:1px solid var(--line);border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;min-height:204px;padding:18px;transition:background .18s;display:flex;position:relative}.category-link:hover{background:var(--paper-strong)}.category-link>span{color:var(--muted);font-family:var(--mono);font-size:10px}.category-link strong{letter-spacing:-.03em;max-width:235px;margin-top:auto;font-size:19px;line-height:1.06}.category-link p{max-width:275px;color:var(--muted);margin-top:10px;font-size:12px;line-height:1.42}.category-link .arrow{color:var(--blue);position:absolute;bottom:17px;right:18px}.portfolio-reading-note{background:var(--paper-strong);border-block:1px solid var(--line);padding:23px 0}.portfolio-reading-note p{max-width:850px;color:var(--muted);font-size:14px;line-height:1.5}.portfolio-reading-note strong{color:var(--ink)}.portfolio-section{padding:104px 0;scroll-margin-top:74px}.portfolio-section+.portfolio-section{border-top:1px solid var(--line)}.portfolio-section-header{border-bottom:1px solid var(--ink);grid-template-columns:.9fr 1.1fr;align-items:end;gap:11%;padding-bottom:28px;display:grid}.portfolio-section-header h2{max-width:530px;margin-top:14px;font-size:clamp(2.4rem,5vw,4.8rem);line-height:1}.portfolio-section-overview{max-width:520px;color:var(--muted);font-size:16px;line-height:1.52}.implementation-lens{border-bottom:1px solid var(--line);grid-template-columns:1.05fr .95fr;gap:10%;padding:26px 0 32px;display:grid}.implementation-lens .mono-label{margin-bottom:9px}.implementation-lens>div>p:last-child{max-width:620px;color:var(--muted);font-size:14px;line-height:1.52}.implementation-lens ul{flex-wrap:wrap;align-content:start;gap:7px;margin:0;padding:0;list-style:none;display:flex}.implementation-lens li,.technical-tags span{border:1px solid var(--line);min-height:25px;color:var(--muted);border-radius:999px;align-items:center;padding:4px 8px;font-size:11px;line-height:1.1;display:inline-flex}.portfolio-records{border-top:1px solid var(--line)}.portfolio-record{border-bottom:1px solid var(--line);grid-template-columns:166px minmax(0,1fr);gap:34px;padding:29px 0 31px;display:grid}.portfolio-record-meta{align-content:start;gap:7px;display:grid}.portfolio-record-meta>span{color:var(--muted);font-family:var(--mono);font-size:10px}.portfolio-record-meta strong{letter-spacing:-.015em;font-size:13px;font-weight:600;line-height:1.32}.portfolio-record-meta small{color:var(--muted);font-size:11px;line-height:1.35}.portfolio-record-content{max-width:720px}.portfolio-record-title{justify-content:space-between;align-items:baseline;gap:18px;display:flex}.portfolio-record h3{font-size:clamp(1.25rem,2.3vw,1.55rem);line-height:1.07}.record-link{color:var(--blue);white-space:nowrap;flex:none;font-size:11px;font-weight:600}.portfolio-record-content>p{color:var(--muted);margin-top:12px;font-size:14px;line-height:1.52}.portfolio-record-content>.record-note{color:#777;margin-top:9px;font-size:12px;font-style:italic}.technical-tags{flex-wrap:wrap;gap:6px;margin-top:16px;display:flex}.technical-tags span{color:var(--ink);background:#ffffff6b}.portfolio-disclosure{background:var(--paper-strong);border-block:1px solid var(--line);padding:48px 0}.portfolio-disclosure>.shell{grid-template-columns:.9fr 1.1fr;gap:11%;display:grid}.portfolio-disclosure .section-label{align-self:start}.portfolio-disclosure p:last-child{max-width:650px;color:var(--muted);font-size:13px;line-height:1.52}.page-hero{border-bottom:1px solid var(--line);padding:82px 0 68px}.page-hero h1{max-width:820px;font-size:clamp(2.8rem,6vw,5.6rem);line-height:1}.page-hero p{max-width:680px;color:var(--muted);margin-top:22px;font-size:clamp(1.1rem,2vw,1.35rem);line-height:1.42}.content-section{padding-block:72px}.work-index-note{border-bottom:1px solid var(--ink);justify-content:space-between;gap:30px;padding:25px 0;display:flex}.work-index-note p{max-width:500px;color:var(--muted);font-size:14px}.case-row{grid-template-columns:42px minmax(190px,.8fr) minmax(0,1.3fr) 130px 18px}.case-row-title{gap:5px;display:grid}.case-row-summary{color:var(--muted);font-size:13px}.case-row-metric{gap:3px;display:grid}.case-row-metric small{color:var(--muted);font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;font-size:9px;font-weight:400}.archive-callout{border-top:1px solid var(--line);justify-content:space-between;align-items:end;gap:30px;padding:72px 0 15px;display:flex}.archive-callout h2{max-width:590px;margin-top:14px;font-size:clamp(1.9rem,4vw,3.4rem);line-height:1.04}.archive-callout p:last-child{color:var(--muted);margin-top:12px;font-size:14px}.capability-list .capability-detail-card{border-bottom:1px solid var(--line);grid-template-columns:55px minmax(0,1fr);gap:20px;padding:34px 0;display:grid}.capability-detail-card .capability-index{color:var(--muted);font-family:var(--mono);font-size:11px}.capability-detail-card h2{max-width:700px;font-size:clamp(1.8rem,4vw,3.4rem);line-height:1.02}.capability-summary{max-width:680px;margin-top:12px;font-size:18px;line-height:1.35}.capability-detail-copy{max-width:700px;color:var(--muted);margin:11px 0 18px;font-size:14px;line-height:1.5}.technical-map{background:var(--paper-strong);border-block:1px solid var(--line);padding:72px 0}.technical-map h2{max-width:760px;font-size:clamp(2.3rem,4.8vw,4.4rem);line-height:1.02}.technical-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin-top:40px;display:grid}.technical-grid article{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:170px;padding:18px}.technical-grid article>span{color:var(--muted);font-family:var(--mono);font-size:10px}.technical-grid h3{margin-top:28px;font-size:17px;line-height:1.05}.technical-grid p{color:var(--muted);margin-top:9px;font-size:13px;line-height:1.45}.principles-grid{grid-template-columns:.8fr 1.2fr;gap:12%;display:grid}.principles-grid h2{max-width:470px;font-size:clamp(2.3rem,4.5vw,4.1rem);line-height:1.02}.principle-copy{border-top:1px solid var(--ink)}.principle-copy p{border-bottom:1px solid var(--line);color:var(--muted);padding:17px 0;font-size:14px}.principle-copy strong{color:var(--ink);margin-bottom:4px;font-size:15px;display:block}.experience-page{padding-bottom:80px}.experience-intro{justify-content:space-between;align-items:end;gap:30px;padding:66px 0 82px;display:flex}.large-copy{letter-spacing:-.035em;max-width:760px;font-size:clamp(1.45rem,2.8vw,2.2rem);line-height:1.16}.timeline{border-top:1px solid var(--ink)}.timeline-item{border-bottom:1px solid var(--line);grid-template-columns:140px minmax(0,1fr);gap:30px;padding:27px 0;display:grid}.timeline-item-link:hover h2{color:var(--blue)}.timeline-period{color:var(--muted);font-family:var(--mono);font-size:11px}.timeline-item h2{font-size:24px;line-height:1.05}.timeline-item h3{color:var(--muted);letter-spacing:0;margin-top:6px;font-size:13px;font-weight:400}.timeline-item p{max-width:700px;color:var(--muted);margin-top:12px;font-size:14px;line-height:1.5}.timeline-link{color:var(--blue);margin-top:14px;font-size:12px;font-weight:600;display:inline-flex}.industry-band{border-top:1px solid var(--ink);grid-template-columns:140px minmax(0,1fr);gap:30px;margin-top:62px;padding-top:18px;display:grid}.industry-band p{max-width:700px;font-size:17px;line-height:1.4}.about-page,.contact-page,.creative-page,.resume-page{padding-bottom:80px}.about-columns,.contact-details,.education-row,.principles-grid,.resume-columns{grid-template-columns:.8fr 1.2fr;gap:12%;display:grid}.about-columns{padding:66px 0 82px}.about-columns h2,.education-row h2{max-width:500px;font-size:clamp(2.3rem,4.5vw,4rem);line-height:1.02}.about-columns p{max-width:650px;color:var(--muted);margin-bottom:17px;font-size:15px;line-height:1.55}.about-principles{background:var(--paper-strong);padding:45px 0 65px}.principle-grid{border-top:1px solid var(--line);grid-template-columns:repeat(4,1fr);margin-top:20px;display:grid}.principle-grid article{border-right:1px solid var(--line);min-height:190px;padding:17px 17px 17px 0}.principle-grid article+article{padding-left:17px}.principle-grid article:last-child{border-right:0}.principle-grid article>span{color:var(--muted);font-family:var(--mono);font-size:10px}.principle-grid h3{margin-top:34px;font-size:17px;line-height:1.1}.principle-grid p{color:var(--muted);margin-top:10px;font-size:13px;line-height:1.45}.education-row{padding-top:70px}.education-row p{max-width:650px;color:var(--muted);font-size:14px;line-height:1.55}.resume-actions{border-bottom:1px solid var(--line);align-items:center;gap:14px;padding:42px 0;display:flex}.resume-summary{max-width:840px;padding:68px 0}.resume-columns{border-top:1px solid var(--ink);padding:30px 0 66px}.resume-columns ul{margin:16px 0 0;padding:0;list-style:none}.resume-columns li{border-bottom:1px solid var(--line);color:var(--muted);padding:12px 0 12px 17px;font-size:14px;position:relative}.resume-columns li:before{content:"";background:var(--blue);border-radius:50%;width:5px;height:5px;position:absolute;top:20px;left:0}.resume-note{border:1px solid var(--line);border-radius:10px;padding:16px}.resume-note p{color:var(--muted);font-size:13px}.contact-intents{grid-template-columns:1fr 1fr;gap:14px;padding:58px 0 72px;display:grid}.intent-card{border:1px solid var(--line);border-radius:12px;gap:13px;padding:24px;display:grid}.intent-card:hover{border-color:var(--ink)}.intent-card .eyebrow{margin:0}.intent-card h2{font-size:27px;line-height:1.05}.intent-card p{color:var(--muted);font-size:14px;line-height:1.5}.intent-action{color:var(--blue);font-size:12px;font-weight:600}.contact-details{border-top:1px solid var(--ink);padding:30px 0}.contact-details h2{max-width:450px;font-size:clamp(2rem,4vw,3.5rem);line-height:1.02}.contact-details ul{margin:0;padding:0;list-style:none}.contact-details li{border-bottom:1px solid var(--line);color:var(--muted);padding:12px 0;font-size:14px}.contact-disclosure p{max-width:700px;color:var(--muted);font-size:14px}.contact-email{border-top:1px solid var(--ink);justify-content:space-between;align-items:center;gap:20px;padding:25px 0;display:flex}.contact-email>a{color:var(--blue);font-size:clamp(1.3rem,3vw,2.4rem);font-weight:600}.creative-note{border-bottom:1px solid var(--line);padding:48px 0}.creative-note>p{max-width:720px;margin-top:12px;font-size:18px}.creative-links{flex-wrap:wrap;gap:18px;margin-top:18px;display:flex}.creative-grid{grid-template-columns:1fr 1fr;gap:14px;padding:22px 0 72px;display:grid}.creative-card{border:1px solid var(--line);border-radius:12px;gap:18px;padding:24px;display:grid}.creative-card:hover{border-color:var(--ink)}.creative-card h2{font-size:clamp(1.7rem,3.5vw,3rem);line-height:1.02}.creative-card p{color:var(--muted);font-size:14px}.creative-card .card-link{color:var(--blue);font-size:12px;font-weight:600}.creative-archive-copy{border-top:1px solid var(--ink);padding-top:22px}.case-page{background:var(--paper)}.case-hero{border-bottom:1px solid var(--line);padding:62px 0 70px}.back-link{color:var(--blue);margin-bottom:45px;font-size:13px;display:inline-block}.case-hero h1{max-width:850px;font-size:clamp(2.8rem,6vw,5.5rem);line-height:1}.case-summary{max-width:700px;color:var(--muted);margin-top:20px;font-size:clamp(1.1rem,2vw,1.4rem)}.case-meta{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:20px;margin-top:45px;padding-top:17px;display:grid}.case-meta div{gap:5px;display:grid}.case-meta small,.case-meta span{color:var(--muted);font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;font-size:9px}.case-meta strong{font-size:15px;font-weight:600}.case-body{padding-block:68px 90px}.case-executive{border-bottom:1px solid var(--line);max-width:760px;padding-bottom:50px}.case-executive h2{font-size:clamp(2rem,4.3vw,3.8rem);line-height:1.02}.case-executive p{color:var(--muted);margin-top:17px;font-size:15px;line-height:1.55}.case-layout{grid-template-columns:minmax(0,1.1fr) minmax(230px,.5fr);gap:13%;padding-top:52px;display:grid}.case-layout section{border-top:1px solid var(--ink);padding:20px 0}.case-layout section+section{margin-top:24px}.case-layout section>p{color:var(--muted);font-size:14px;line-height:1.55}.case-layout ul{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.case-layout li{border-bottom:1px solid var(--line);color:var(--muted);padding:11px 0;font-size:14px}.case-aside{border:1px solid var(--line);border-radius:10px;align-self:start;gap:8px;padding:18px;display:grid}.case-aside strong{letter-spacing:-.05em;margin-top:19px;font-size:28px}.case-aside>span:not(.mono-label){color:var(--muted);font-size:12px}.case-aside .inline-link{margin-top:20px}.not-found{padding:100px 0 150px}.not-found h1{max-width:700px;font-size:clamp(2.8rem,6vw,5rem);line-height:1}.not-found p{max-width:560px;color:var(--muted);margin-top:20px;font-size:17px}@media (max-width:860px){.desktop-nav{gap:15px}.desktop-nav a:nth-child(3),.desktop-nav a:nth-child(4){display:none}.implementation-lens,.portfolio-disclosure>.shell,.portfolio-index-heading,.portfolio-section-header{grid-template-columns:1fr;gap:24px}.category-grid{grid-template-columns:repeat(2,1fr)}.about-columns,.contact-details,.education-row,.principles-grid,.resume-columns,.section-split{grid-template-columns:1fr;gap:34px}.technical-grid{grid-template-columns:repeat(2,1fr)}.work-row{grid-template-columns:34px 150px minmax(0,1fr) 18px}.work-metric{display:none}.case-row{grid-template-columns:34px minmax(160px,.8fr) minmax(0,1.2fr) 18px}.case-row-metric{display:none}.contact-row{flex-direction:column;align-items:start}}@media (max-width:620px){.shell,.site-header-inner{width:min(100% - 32px,1080px)}.site-header-inner{min-height:62px}.desktop-nav{display:none}.mobile-menu{display:block}.home-hero{padding:70px 0 62px}.home-hero h1{font-size:clamp(2.7rem,13vw,4.6rem)}.home-lede{font-size:1.05rem}.portfolio-hero{padding:70px 0 62px}.portfolio-hero h1{font-size:clamp(2.7rem,13vw,4.6rem)}.portfolio-lede{font-size:1.05rem}.portfolio-index{padding:64px 0}.portfolio-index-heading h2{font-size:clamp(2.2rem,11vw,3.6rem)}.category-grid{grid-template-columns:1fr;margin-top:30px}.category-link{min-height:170px}.portfolio-section{padding:68px 0;scroll-margin-top:62px}.portfolio-section-header h2{font-size:clamp(2.35rem,11vw,3.7rem)}.portfolio-section-overview{font-size:15px}.implementation-lens{padding:22px 0 27px}.portfolio-record{grid-template-columns:1fr;gap:12px;padding:24px 0}.portfolio-record-meta{grid-template-columns:28px minmax(0,1fr);align-items:baseline;gap:5px 9px}.portfolio-record-meta>span{grid-row:1/span 2}.portfolio-record-meta small{grid-column:2}.portfolio-record-title{flex-direction:column;align-items:start;gap:8px}.portfolio-record h3{font-size:1.32rem}.portfolio-disclosure{padding:38px 0}.quick-facts{grid-template-columns:1fr 1fr}.quick-facts>div{min-height:112px}.quick-facts>div:nth-child(2){border-right:0}.quick-facts>div:nth-child(n+3){border-top:1px solid var(--line)}.home-section{padding:64px 0}.section-heading{grid-template-columns:1fr;gap:10px}.case-row,.work-row{grid-template-columns:28px minmax(0,1fr) 17px;gap:10px;min-height:0;padding:18px 0}.work-company{grid-area:1/2;font-size:12px}.work-main{grid-area:2/2}.work-main strong{font-size:15px}.work-row>.arrow{grid-area:1/3/span 2}.case-row-title{grid-area:1/2}.case-row-summary{grid-area:2/2}.case-row>.arrow{grid-area:1/3/span 2}.contact-intents,.creative-grid,.secondary-links{grid-template-columns:1fr}.home-contact{padding:64px 0}.site-footer{flex-direction:column;align-items:start;padding:40px 0}.page-hero{padding:64px 0 50px}.page-hero h1{font-size:clamp(2.6rem,12vw,4.5rem)}.archive-callout,.contact-email,.experience-intro,.work-index-note{flex-direction:column;align-items:start}.principle-grid,.technical-grid{grid-template-columns:1fr}.principle-grid article,.principle-grid article+article{border-right:0;border-bottom:1px solid var(--line);min-height:0;padding:17px 0}.principle-grid article:last-child{border-bottom:0}.industry-band,.timeline-item{grid-template-columns:1fr;gap:10px}.case-meta{gap:16px}.case-layout,.case-meta{grid-template-columns:1fr}.case-layout{gap:35px}.capability-list .capability-detail-card{grid-template-columns:36px 1fr;gap:14px}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important}}@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}