@media (min-width:768px){.portfolio-cover{padding-top:108px}.cover-title{font-size:clamp(88px,9.7vw,140px);padding-block:22px 20px}.cover-identity-line{display:block}.cover-identity-line .cover-education{width:-moz-fit-content;width:fit-content;border-left:0;padding-left:0;gap:7px 18px}.cover-identity-line .cover-education strong{font-size:clamp(32px,3vw,42px)}.cover-identity-line .cover-role{margin:12px 0 0;font-size:17px}.cover-instrument{top:104px;width:min(430px,36%);opacity:.11}}.cover-positioning{max-width:720px;padding-bottom:12px}.cover-identity-line{align-items:flex-end;justify-content:space-between;gap:24px;padding-bottom:26px}.cover-education{display:grid;grid-template-columns:minmax(0,1fr) auto;max-width:100%;gap:8px 16px;align-items:center;border-left:2px solid var(--signal);padding-left:16px}.cover-education strong{grid-column:1/-1;font-size:clamp(30px,3.5vw,48px);line-height:1.12;font-weight:600;letter-spacing:-.04em;color:var(--signal)}.cover-education>span[lang]{grid-column:2;grid-row:2;font-size:16px;color:var(--signal)}.cover-degree{grid-column:1;grid-row:2;font-size:20px;line-height:1.4;font-weight:500;color:#eee9e2}.cover-identity-line .cover-role{display:block;max-width:none;font-family:var(--font-geist-sans),sans-serif;font-weight:500;line-height:1.4;letter-spacing:0;color:var(--ink-muted)}.cover-evidence-strip{border-top:1px solid #59575a;margin-top:28px;padding-block:24px 0;align-items:start}.cover-evidence-strip .cover-specialty{margin-top:0;font-size:14px}.showcase-scene{grid-template-columns:minmax(0,1fr) 260px;gap:32px;padding:32px 24px 24px;align-items:start}.showcase-copy h2{font-size:clamp(24px,2.6vw,36px)}.showcase-image{aspect-ratio:auto;padding:0;border:1px solid #c3bbae;border-radius:8px;background:#e8e3db;box-shadow:0 0 0 6px #363639,0 24px 40px -24px #000b}.showcase-image img{border-radius:7px}.showcase-image:hover{transform:none}.showcase-copy{display:block;padding-top:8px}.showcase-copy p{margin-top:14px}.showcase-links{display:flex;flex-wrap:wrap;gap:0 24px;margin-top:8px}.showcase-links .showcase-link{margin-top:0}.showcase-story-flow{margin-top:24px;border-top:1px solid #59575a}.showcase-story-flow li{display:grid;grid-template-columns:54px minmax(0,1fr);gap:12px;padding-block:14px;border-bottom:1px solid #444447}.showcase-story-time{padding-top:2px;color:var(--signal);font:10px/1.6 var(--font-geist-mono),monospace}.showcase-story-flow strong{display:block;font-size:12px;font-weight:500;line-height:1.5}.showcase-story-flow li>div>span{display:block;margin-top:4px;color:var(--ink-muted);font-size:11px;line-height:1.6}.showcase-media figcaption{margin-top:20px}.showcase-topline{padding-block:10px}.showcase-tabs button{padding-block:10px;min-height:44px}.selected-work .case-story{grid-template-columns:minmax(0,2.2fr) minmax(0,1fr);gap:40px;align-items:center}.selected-work .case-media{position:static;min-width:0}.selected-work .work-media-mat,.selected-work [data-selected-project=native] .work-media-mat{padding:16px}.case-decision>.mono-label{color:var(--accent-text);margin-bottom:18px}.case-decision-title{font:400 clamp(23px,2.4vw,32px)/1.25 Georgia,serif;letter-spacing:-.03em;text-wrap:balance}.case-decision-context{font-size:14px;line-height:1.8;color:var(--muted);margin-top:24px}.case-decision>a{margin-top:20px;font-size:12px}[data-selected-project=us] .case-story{grid-template-columns:1fr;gap:28px}[data-selected-project=us] .case-decision{display:grid;grid-template-columns:1.4fr 1fr;gap:12px 48px}[data-selected-project=us] .case-decision>.mono-label{grid-column:1/-1;margin:0}[data-selected-project=us] .case-decision-context{margin:0}[data-selected-project=us] .case-decision>a{grid-column:1/-1;margin:0}.commerce-pair{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:36px}.commerce-pair figure{min-width:0}.commerce-pair figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:14px;font-size:14px}.commerce-pair figcaption span{color:var(--muted);font-size:10px}.case-notes{margin-top:28px;border-block:1px solid var(--line)}.architecture-notes>summary,.case-directory>summary,.case-notes>summary,.gallery-more>summary{cursor:pointer;padding-block:20px;font-size:14px;font-weight:500}.case-directory>summary>span,.case-notes>summary>span+span,.gallery-more>summary>span{margin-left:20px;font-size:10px;font-weight:400;color:var(--muted)}.case-notes .case-beats{max-width:800px;margin-inline:auto}.case-notes .case-beats>li{min-height:0;padding:24px 0 28px 64px}.case-notes .case-beat-number{position:absolute;left:0;top:24px;font-size:30px}.case-notes .case-beats>li:before{left:15px;top:66px;height:28px}.case-notes .case-beats>li>p:not(.mono-label){font-size:16px;line-height:1.7}.case-notes .work-tags{margin-top:14px}.case-notes .case-jumps{max-width:800px;margin-inline:auto}.selected-work .work-links{margin-top:16px;border:0}.hiring-proof-detail{margin-top:8px}.article-scope summary,.delivery-notes summary,.engineering-proof-notes summary,.hiring-proof-detail summary,.writing-about summary{cursor:pointer;padding-block:10px;font-size:12px;color:var(--accent-text)}.engineering-proof-notes details p,.hiring-proof-detail p{font-size:14px;line-height:1.8;color:var(--muted);padding-block:8px}.history-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 30px;margin-top:36px}.history-project{min-width:0;padding-block:24px 32px;scroll-margin-top:112px}.history-media{display:grid;place-items:center;min-width:0;padding:16px;background:#eee9e2}.history-media>div{width:100%}.history-media img{width:100%;height:auto;max-height:320px;-o-object-fit:contain;object-fit:contain}.history-copy{padding-top:20px}.history-copy h3{font-size:23px;margin-block:6px}.history-copy>p.text-sm{margin-top:14px;max-width:550px}.history-project-text{display:grid;grid-template-columns:76px minmax(0,1fr);gap:24px}.history-project-text .history-media{padding:0;background:none;align-items:start}.history-project-text .history-copy{padding:0}.history-number{font:48px/1 var(--font-geist-mono),monospace;color:var(--accent-text)}.delivery-story,.engineering-proof-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:40px;margin-top:32px;align-items:start}.delivery-story>figure,.engineering-proof-image{min-width:0}.delivery-story figcaption,.engineering-proof-image figcaption,.release-architecture-image figcaption{margin-top:14px;font-size:11px;line-height:1.7;color:var(--muted)}.engineering-proof-notes{display:grid;gap:24px}.engineering-proof-notes>article{padding:20px 0 0;border:0;border-top:1px solid var(--line)}.engineering-proof-notes h3,.engineering-proof-notes>article>p.mt-4{margin-top:8px}.engineering-proof-notes>article>a{margin-top:4px}.writing-introduction{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.55fr);gap:24px 48px;margin-top:32px;align-items:start}.writing-introduction .writing-lead{grid-column:2;grid-row:1/3}.writing-introduction-copy{grid-column:1}.writing-about{grid-column:1;border-top:1px solid var(--line)}.writing-lead-media{padding:8px}.writing-lead-caption{padding:20px 0 0;margin:0;border:0}.writing-cover-title{font-size:clamp(48px,6vw,78px)}.library-collection{display:block;margin-bottom:88px}.library-collection[hidden]{display:none}.library-collection-heading{display:grid;grid-template-columns:1fr 1fr;gap:12px 40px;position:static;margin-bottom:28px}.library-collection-heading>.mono-label{grid-column:1/-1}.library-collection-heading h2{margin:0;font-size:40px}.library-collection-heading>p:last-child{max-width:540px}.library-visual-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:44px 30px}.library-item{min-width:0}.library-item-feature{grid-column:1/-1}.article-entry-feature .article-entry-image,.article-entry-visual .article-entry-image{padding:8px;max-width:none}.article-entry-visual .article-entry-copy{padding-top:18px}.article-entry-visual h3{font-size:25px;margin-top:10px}.article-entry-feature{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:32px;align-items:center;padding-bottom:32px;border-bottom:1px solid var(--line)}.article-entry-feature .article-entry-copy{padding:0}.article-entry-feature h3{font-size:clamp(28px,3vw,40px)}.article-scope{margin-top:8px}.article-entry-visual .article-entry-link,.article-scope .article-entry-summary{margin-top:4px}.case-cover{padding-top:40px;padding-bottom:28px}.case-cover-title{margin-top:18px}.case-directory{border-block:1px solid var(--line);margin-top:24px}.case-directory>nav{margin-top:4px}.responsive-product-phone{width:100%;min-width:0;max-width:300px;margin-inline:auto}.gallery-more{margin-top:24px;border-block:1px solid var(--line)}.gallery-more[open]{padding-bottom:24px}.delivery-outcomes{display:grid;gap:32px}.delivery-outcome{font-size:16px;line-height:1.7;margin-top:16px}.release-architecture-image{max-width:960px;margin:32px auto}.architecture-notes{border-block:1px solid var(--line)}@media (max-width:1023px){.showcase-scene{grid-template-columns:1fr}.showcase-media{grid-row:1}.showcase-copy{grid-row:2}.selected-work .case-story{grid-template-columns:1fr;gap:24px}.case-decision{max-width:700px}.case-decision-context{margin-top:14px}.case-decision>a{margin-top:8px}.writing-introduction{grid-template-columns:1fr;gap:24px}.writing-about,.writing-introduction .writing-lead,.writing-introduction-copy{grid-column:auto;grid-row:auto}.article-entry-feature{grid-template-columns:1fr;gap:22px}.delivery-story,.engineering-proof-layout{grid-template-columns:1fr;gap:28px}.delivery-story>figure,.engineering-proof-image{max-width:760px}}@media (max-width:767px){.portfolio-cover{padding-top:92px}.cover-kicker{padding-bottom:12px;gap:12px}.cover-title{font-size:clamp(58px,17vw,70px);letter-spacing:-.065em;padding-block:14px 12px}.cover-identity-line{display:flex;flex-direction:column;align-items:start;gap:8px;padding-bottom:18px}.cover-education{width:-moz-fit-content;width:fit-content;gap:5px 10px;border-left:0;padding-left:0}.cover-education strong{font-size:clamp(25px,6.8vw,30px)}.cover-education>span[lang]{font-size:11px;letter-spacing:.08em}.cover-degree{font-size:16px}.cover-identity-line .cover-role{margin:0;font-size:14px}.showcase-tabs button{min-height:52px;padding-inline:10px;line-height:1.45}.cover-instrument{top:88px;right:-8px;width:65%;opacity:.08}.cover-positioning{font-size:16px;line-height:1.5;padding-bottom:10px}.showcase-scene{padding:26px 10px 16px;gap:18px}.showcase-image{padding:0;border-radius:5px;box-shadow:0 0 0 4px #363639,0 16px 24px -20px #000b}.showcase-image img{border-radius:4px}.showcase-copy{padding-top:0}.showcase-copy h2{font-size:23px}.cover-evidence-strip{padding-top:20px;margin-top:20px;gap:18px}.cover-evidence-strip .cover-specialty{font-size:12px}.section-heading{margin-bottom:28px}.selected-work .work-media-mat,.selected-work [data-selected-project=native] .work-media-mat{padding:10px}.case-decision-title{font-size:24px}.case-decision-context{font-size:14px}[data-selected-project=us] .case-decision{display:block}[data-selected-project=us] .case-decision>.mono-label{margin-bottom:18px}[data-selected-project=us] .case-decision-context{margin-top:14px}[data-selected-project=us] .case-decision>a{margin-top:8px}.commerce-pair{grid-template-columns:1fr;gap:28px;margin-top:28px}.case-directory>summary>span,.case-notes>summary>span+span,.gallery-more>summary>span{display:block;margin:8px 0 0 18px}.case-notes .case-beats>li{padding-left:48px}.case-notes .case-beat-number{font-size:24px}.case-notes .case-beats>li:before{left:10px}.history-grid{grid-template-columns:1fr;gap:12px}.history-media img{max-height:300px}.history-project-text{grid-template-columns:52px minmax(0,1fr);gap:16px}.history-number{font-size:36px}.library-collection-heading{grid-template-columns:1fr;gap:16px}.library-collection-heading h2{font-size:32px}.library-collection-heading>.mono-label{grid-column:1}.library-visual-grid{grid-template-columns:1fr;gap:36px}.article-grid-visual .article-entry{display:block}.article-grid-visual .article-entry-image{padding:8px;max-width:none}.article-grid-visual .article-entry-copy{padding-top:18px}.article-entry-feature h3{font-size:28px}.article-entry-visual h3{font-size:24px}.writing-lead-caption{padding-top:16px}.responsive-product-pair{grid-template-columns:1fr}.responsive-product-phone{max-width:240px}.case-cover-title{font-size:44px}}:root{--type-display:clamp(2.5rem,5.8vw,4.5rem);--type-section:clamp(1.875rem,4.1vw,3.5rem);--type-card:clamp(1.375rem,2.25vw,1.75rem);--type-lead:clamp(1.125rem,1.6vw,1.3125rem);--type-body:clamp(1rem,1.25vw,1.125rem);--type-caption:.75rem;--measure-copy:64ch}.article-title,.case-cover-title,.writing-cover-title{font-size:var(--type-display);line-height:1.06;letter-spacing:-.045em;text-wrap:balance}.article-title{max-width:22ch}.case-study-page #release-architecture-title,.case-study-page .case-section>h2,.section-heading .section-title{font-size:var(--type-section);line-height:1.12;letter-spacing:-.04em;text-wrap:balance}.work-chapter-heading h3{font-size:clamp(1.625rem,3vw,2.5rem);line-height:1.18}.article-entry h3,.article-entry-visual h3,.article-grid .article-entry h3{font-size:var(--type-card);line-height:1.25;letter-spacing:-.025em}.article-entry-feature h3{font-size:clamp(1.75rem,3vw,2.25rem);line-height:1.2}.portfolio-lead{max-width:54ch;font-size:var(--type-lead);line-height:1.65;letter-spacing:-.012em}.article-entry-summary,.case-decision-context,.case-study-page .reading-copy,.library-collection-heading>p:last-child,.portfolio-copy,.section-intro{max-width:var(--measure-copy);font-size:var(--type-body);line-height:1.75;letter-spacing:0;text-wrap:pretty}.article-entry-summary{max-width:54ch}[data-article-body]>section>p.reading-paragraph{max-width:62ch;font-size:var(--type-body);line-height:1.85;letter-spacing:0}.case-study-page [data-feature-screen]>figcaption,.case-study-page figure>figcaption,.showcase-media>figcaption,.work-media figcaption,[data-article-figure]>figcaption{font-family:var(--font-geist-sans),sans-serif;font-size:var(--type-caption);line-height:1.6;letter-spacing:0}.work-media figcaption{flex-wrap:wrap;gap:4px 20px}.article-entry .mono-label{font-size:10px;line-height:1.7;letter-spacing:.06em}@media (max-width:767px){.article-entry-feature h3{font-size:1.75rem}.case-decision-title{line-height:1.35;letter-spacing:-.025em}}:root{--page-gutter:16px}@media (min-width:640px){:root{--page-gutter:24px}}@media screen{.header-inner,.page-shell{width:100%;max-width:calc(1320px + 2 * var(--page-gutter));margin-inline:auto;padding-inline:var(--page-gutter)}}.site-footer{padding-block:32px 40px;border-top:0}.site-footer:before{content:"";display:block;border-top:1px solid var(--line);margin-bottom:24px}.selected-work.section-space{padding-block:clamp(48px,6vw,80px) 48px}#hiring-brief{margin-bottom:0;padding-bottom:32px}#earlier-projects{padding-block:48px 56px;border-top:0}#writing{padding-top:0;margin-bottom:56px}#engineering{margin-bottom:0}.experience-section.section-space{padding-block:clamp(56px,6vw,80px) 40px}.product-gallery{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(48px,6vw,80px)}.product-gallery>section{min-width:0}.case-study-page>.case-section{margin-top:0;padding-block:clamp(48px,5vw,72px)}.case-study-page>.product-gallery{padding-bottom:56px}.case-study-page>#architecture{padding-block:clamp(48px,5vw,72px)}.case-study-page>#writing{margin-block:56px}.library-collection{margin-bottom:clamp(48px,6vw,80px)}.library-collection-heading{margin-bottom:32px}.library-visual-grid{row-gap:40px}@media (max-width:767px){.selected-work.section-space{padding-bottom:36px}#earlier-projects{padding-block:40px 48px}#writing{margin-bottom:48px}.case-study-page>.product-gallery{padding-bottom:40px}.library-collection-heading{margin-bottom:24px}.library-visual-grid{row-gap:32px}}.site-header{--nav-line:#dedad3;--nav-active-surface:#242326;--nav-active-ink:#faf8f5}.site-header[data-home=true][data-scrolled=false][data-menu-open=false]{--nav-line:#59575a;--nav-active-surface:#ece7df;--nav-active-ink:#242326}.wordmark{min-height:44px}.desktop-navigation{gap:4px;padding:3px;border:1px solid var(--nav-line);border-radius:28px}.desktop-navigation a{min-height:44px;padding-inline:16px;border-radius:22px;transition:background .18s,color .18s}.desktop-navigation a:after{left:16px;right:16px;width:auto;bottom:7px}.desktop-navigation a[aria-current]{background:var(--nav-active-surface);color:var(--nav-active-ink);font-weight:600}.header-resume{min-height:44px;padding-inline:16px;border:1px solid var(--signal);border-radius:5px;background:var(--signal);color:var(--ink);font-size:12px;font-weight:600}.header-resume:hover{background:#ffad4d}.mobile-navigation{padding:16px var(--page-gutter);box-shadow:0 18px 24px -24px #24232690;animation:none}.mobile-navigation-heading{margin-bottom:12px;color:var(--muted);font:10px/1.6 var(--font-geist-mono),monospace;text-transform:uppercase;letter-spacing:.08em}.mobile-navigation-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.mobile-navigation .mobile-navigation-links>a{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;min-height:76px;padding:10px 12px;border:1px solid var(--line);border-radius:5px;font-size:18px;line-height:1.2;letter-spacing:-.025em}.mobile-navigation-links>a>span{margin:0}.mobile-navigation-links small{color:var(--muted);font-size:10px;line-height:1.5;letter-spacing:0}.mobile-navigation .mobile-navigation-links>a[aria-current]{border-color:var(--accent-text);background:var(--accent-soft)}.mobile-navigation-links>a[aria-current]>span{font-weight:600;text-decoration:underline;text-underline-offset:4px}.mobile-navigation .mobile-download{margin-top:12px;min-height:48px;padding-block:10px;border:0;font-size:12px;letter-spacing:0}#company-letter,#main-content>section[id],.case-study-page>#architecture,.library-collection,.product-gallery>section[id]{scroll-margin-top:0}@media (max-width:767px){.header-contact,.header-resume{padding-inline:10px}}.showcase-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#59575a}.showcase-tabs button{min-width:0;min-height:60px;padding:8px 16px;border:0;background:var(--ink);flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;font-family:var(--font-geist-sans),sans-serif}.showcase-tabs button:after{display:none}.showcase-tabs button:active{transform:none}.showcase-tabs .showcase-tab-label{display:block;font-size:14px;line-height:1.25;font-weight:500;white-space:nowrap}.showcase-tabs .showcase-tab-format{display:flex;align-items:center;gap:5px;color:#c8c3ba;font-size:11px;line-height:1.3;white-space:nowrap}.showcase-tab-check{flex:0 0 10px;visibility:hidden}.showcase-tabs button[aria-selected=true]{background:#ece7df;color:var(--ink);box-shadow:inset 0 -3px var(--signal)}.showcase-tabs button[aria-selected=true] .showcase-tab-label{font-weight:700}.showcase-tabs button[aria-selected=true] .showcase-tab-format{color:#575354}.showcase-tabs button[aria-selected=true] .showcase-tab-check{visibility:visible}.showcase-tabs button:focus-visible{outline:2px solid #faf8f5;outline-offset:-5px}.showcase-tabs button[aria-selected=true]:focus-visible{outline-color:#242326}@media (max-width:767px){.showcase-tabs button{min-height:52px;padding:7px 8px;align-items:center;gap:3px}.showcase-tabs .showcase-tab-label{font-size:12px}.showcase-tabs .showcase-tab-format{font-size:10px;gap:4px}}.selected-work .work-chapter{border-top:2px solid var(--ink);padding-top:24px}.selected-work .work-chapter-heading{position:static;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:start;padding:0;margin-bottom:28px}.work-chapter-kicker{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:11px;line-height:1.5}.work-chapter-kicker>span{display:grid;place-items:center;flex:0 0 28px;height:28px;border:1px solid var(--line);border-radius:50%;color:var(--accent-text);font:10px var(--font-geist-mono),monospace}.selected-work .work-chapter-heading h3{max-width:28ch;margin-top:16px;font-size:clamp(28px,3.2vw,42px);line-height:1.14;letter-spacing:-.04em}.work-product-value{max-width:64ch;margin-top:16px;color:var(--muted);font-size:var(--type-body);line-height:1.7}.selected-work .project-status{grid-column:auto;max-width:195px;margin-top:5px;padding-left:12px;border-left:2px solid var(--accent-text);text-align:left;font:11px/1.6 var(--font-geist-sans),sans-serif}.selected-work .case-decision{display:block;padding:24px 0 24px 24px;border-left:1px solid var(--line)}.work-contribution{display:grid;gap:28px}.work-contribution dt{color:var(--accent-text);font-size:11px;font-weight:600;line-height:1.5}.work-contribution dd{margin-top:10px;font-size:17px;line-height:1.65}.work-contribution .work-decision{color:var(--muted);font-size:15px;line-height:1.75}.selected-work [data-selected-project=us] .work-contribution{grid-template-columns:1fr 1fr;gap:40px}.selected-work .case-decision>a{margin-top:20px}@media (max-width:1023px){.selected-work .case-decision{max-width:none;padding:20px 0 0;border-left:0;border-top:1px solid var(--line)}.work-contribution{grid-template-columns:1fr 1fr;gap:32px}}@media (max-width:767px){.selected-work .work-chapter{padding-top:20px}.selected-work .work-chapter-heading{grid-template-columns:minmax(0,1fr);gap:16px;margin-bottom:22px}.selected-work .work-chapter-heading h3,.work-product-value{margin-top:12px}.selected-work .project-status{margin:0;max-width:none}.selected-work [data-selected-project=us] .work-contribution,.work-contribution{grid-template-columns:minmax(0,1fr);gap:20px}}.commerce-evidence{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);align-items:start;gap:24px}.commerce-lead,.commerce-support,.commerce-support figure{min-width:0}.commerce-support{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}.commerce-support figure{border:1px solid var(--line);border-radius:6px;background:#fffdfa}.commerce-support-media{padding:8px;border-bottom:1px solid var(--line);border-radius:5px 5px 0 0;background:#e9e4de}.commerce-support-media>div{border-radius:3px}.commerce-support-media>div:focus-within{outline:2px solid var(--focus-ring);outline-offset:3px}.commerce-support-media>div>a:focus-visible{outline:none}.commerce-support figcaption{padding:14px 16px}.commerce-support figcaption strong{display:block;font-size:15px;font-weight:500;line-height:1.4}.commerce-support figcaption span{display:block;margin-top:5px;color:var(--muted);font-size:11px;line-height:1.5}@media (max-width:1023px){.commerce-evidence{grid-template-columns:minmax(0,1fr)}.commerce-support{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:767px){.commerce-evidence,.commerce-support{grid-template-columns:minmax(0,1fr);gap:20px}}.case-cover-masthead{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 24px;padding-bottom:16px;border-bottom:1px solid var(--line)}.case-cover-masthead>span{color:var(--muted);font-size:11px;line-height:1.5}.case-cover-intro{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:start;gap:48px;padding-top:32px}.case-cover-intro .case-cover-title{margin:0}.case-cover-ownership{border-left:2px solid var(--accent-text);padding-left:24px}.case-cover-ownership .portfolio-lead{color:var(--muted);font-size:var(--type-body);line-height:1.75}.case-cover-proof{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:20px;padding:12px 16px;min-height:64px;border:1px solid var(--line);background:#fffdfa;border-radius:4px}.case-cover-proof strong{display:block;font-size:13px;font-weight:600}.case-cover-proof>span>span{display:block;margin-top:4px;color:var(--muted);font-size:11px;line-height:1.5}.case-cover-proof>span:last-child{color:var(--accent-text);font-size:20px}.case-cover-proof:hover{border-color:var(--accent-text)}.case-cover-contact{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:8px}.case-cover-contact .text-link{min-height:44px;font-size:12px}.case-section-nav{display:flex;flex-wrap:wrap;gap:4px 28px;padding-top:8px;padding-bottom:8px;border-bottom:1px solid var(--line)}.case-section-nav a{min-height:44px}@media (max-width:1023px){.case-cover-intro{grid-template-columns:minmax(0,1fr);gap:24px;padding-top:24px}.case-cover-ownership{max-width:680px;padding-left:18px}}@media (max-width:767px){.case-cover{padding-top:28px}.case-cover-masthead{padding-bottom:12px}.case-cover-masthead>span{font-size:10px}.case-cover-ownership{padding-left:14px}.case-cover-proof{margin-top:16px;padding-inline:12px}.case-section-nav{-moz-column-gap:20px;column-gap:20px}}.gallery-chapter-heading{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:16px 24px;padding-top:24px;margin-bottom:24px;border-top:2px solid var(--ink)}.gallery-chapter-heading>div{min-width:0}.gallery-chapter-heading h2{margin-top:10px;font-size:clamp(30px,3.5vw,44px);line-height:1.15;letter-spacing:-.035em}.gallery-chapter-heading>a{min-height:44px;padding:10px 14px;border:1px solid var(--line);border-radius:4px;background:#fffdfa;white-space:nowrap}.gallery-group-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px 40px;align-items:baseline;margin-block:32px 20px;padding-top:20px;border-top:1px solid var(--line)}.gallery-group-heading h3{font-size:20px;line-height:1.35;letter-spacing:-.02em}.gallery-group-heading p{max-width:64ch;color:var(--muted);font-size:12px;line-height:1.75}.gallery-group-heading a{display:inline-flex;align-items:center;min-height:44px;color:var(--accent-text);text-decoration:underline;text-underline-offset:4px}.gallery-chapter-note{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}.gallery-chapter-note>.portfolio-copy{max-width:72ch}.product-gallery [data-feature-screen]>figcaption{font-size:13px;line-height:1.5}@media (max-width:767px){.gallery-chapter-heading{padding-top:20px;gap:12px}.gallery-group-heading{grid-template-columns:minmax(0,1fr);gap:8px;margin-top:28px}.gallery-group-heading h3{font-size:18px}.gallery-chapter-note{margin-top:24px;padding-top:20px}}.technical-disclosure{margin-top:24px;border:1px solid #cec7bc;border-radius:6px;background:#fffdfa}.technical-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px;padding:16px 20px;list-style:none;cursor:pointer}.technical-disclosure>summary::-webkit-details-marker{display:none}.technical-disclosure>summary>span:first-child{min-width:0}.technical-disclosure>summary strong{display:block;color:var(--ink);font-size:14px;font-weight:600;line-height:1.4}.technical-disclosure>summary small{display:block;margin-top:5px;color:var(--muted);font-size:11px;line-height:1.6;font-weight:400}.technical-disclosure>summary>.technical-indicator{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;margin:0;color:var(--accent-text);font:24px/1 var(--font-geist-sans),sans-serif}.technical-indicator:before{content:"+"}.technical-disclosure[open]>summary{border-bottom:1px solid var(--line);background:#f1ece4;border-radius:5px 5px 0 0}.technical-disclosure[open] .technical-indicator:before{content:"−"}.technical-disclosure>summary:hover{background:#f5f0e9}.technical-disclosure>summary:focus-visible{outline-offset:3px;border-radius:5px}.technical-body{padding:24px}.technical-body dl{line-height:1.75}.technical-body dt{font-size:12px;font-weight:600}.technical-body dd{max-width:64ch;font-size:15px;line-height:1.75}.product-engineering .technical-body dl>div{padding-top:14px;border-top:1px solid var(--line)}.technical-disclosure.case-notes .technical-body{padding-top:8px;padding-bottom:0}.technical-disclosure.case-notes .case-jumps a{font-size:11px}.technical-disclosure.case-notes .case-beats>li{padding-top:24px;padding-bottom:24px}.technical-disclosure.case-notes .case-beats>li:last-child{border-bottom:0}.technical-disclosure.architecture-notes>.technical-body>ol{margin-top:0}.technical-disclosure.architecture-notes>.technical-body>dl{margin-bottom:0;padding-bottom:0;border-bottom:0}.technical-disclosure.delivery-notes .technical-body>p:first-child{margin-top:0}.selected-work .system-toggle{min-height:72px;padding:14px 18px;background:#fffdfa;color:var(--ink);border:1px solid var(--line);border-top:0;--focus-ring:var(--accent-text)}.selected-work .system-toggle strong{margin:0;font-size:14px;line-height:1.4;letter-spacing:0}.system-toggle small{display:block;margin-top:5px;color:var(--muted);font-size:11px;line-height:1.6}.selected-work .system-toggle-icon{width:28px;height:28px;flex:0 0 28px;border:0;color:var(--accent-text);font-size:24px}.selected-work .system-toggle:hover .system-toggle-icon{transform:none;background:none}.selected-work .system-overview{padding:20px}.selected-work .system-overview h4{margin-block:12px 24px;font-size:24px}.selected-work .system-layers{gap:16px}.selected-work .system-layers li{grid-template-columns:24px minmax(0,1fr);gap:10px;padding:14px}.selected-work .system-layer-number{font-size:17px}.selected-work .system-layers .mono-label{font-size:10px;line-height:1.5}.selected-work .system-layers h5{margin-block:6px;font-size:16px}.selected-work .system-layers p{font-size:13px;line-height:1.7}.selected-work .system-layers svg{left:20px;height:16px}@media (max-width:767px){.technical-disclosure>summary{padding:14px;gap:12px}.technical-body{padding:18px 14px}.technical-disclosure.case-notes .case-jumps a{font-size:10px;gap:4px;padding-inline:6px}.technical-disclosure.case-notes .case-beats>li{padding-left:38px}.selected-work .system-toggle{padding-inline:14px}.selected-work .system-overview{padding:16px}}.archive-heading{display:grid;grid-template-columns:1.1fr 1fr;gap:24px 64px;align-items:end}.archive-heading>p{max-width:54ch;color:var(--muted);font-size:15px;line-height:1.75}.archive-inventory{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;margin-top:32px;padding-block:16px;border-block:1px solid var(--line);font-size:13px;font-weight:600}.archive-inventory span{color:var(--muted);font-size:12px;font-weight:400}.project-archive .history-grid{gap:28px;margin-top:28px}.archive-entry{min-width:0;border:1px solid var(--line);border-radius:6px;background:#fffdfa}.project-archive .history-project{padding:0;height:100%}.archive-entry-index{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:14px 18px;border-bottom:1px solid var(--line);font-size:12px}.archive-entry-index>span:first-child{color:var(--accent-text);font:12px var(--font-geist-mono),monospace}.archive-entry-index>span:last-child{margin-left:auto;color:var(--muted);font-size:11px}.project-archive .history-media{padding:16px;border-bottom:1px solid var(--line);background:#eee9e2}.project-archive .history-media img{max-height:320px}.project-archive .history-copy{padding:24px}.project-archive .history-copy h3{margin:10px 0 0;font-size:clamp(23px,2.3vw,30px);line-height:1.2;letter-spacing:-.035em}.archive-category{color:var(--accent-text);font-size:12px;line-height:1.6}.archive-value{max-width:56ch;margin-top:16px;color:var(--muted);font-size:15px;line-height:1.75}.archive-evidence{margin-top:10px}.archive-evidence a,.archive-extra-links a{min-height:44px;font-size:13px}.archive-notes{margin-top:20px}.archive-notes .technical-body{padding:20px;font-size:14px;line-height:1.8;color:var(--muted)}.archive-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.archive-tags li{padding:4px 10px;border:1px solid var(--line);border-radius:3px;font-size:11px;line-height:1.5}.archive-extra-links{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:16px}.archive-entry-text{grid-column:1/-1}.archive-entry-text .history-copy{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:0 48px}.archive-entry-text .archive-value{margin-top:0}.archive-entry-text .archive-notes{grid-column:1/-1}@media (max-width:767px){.archive-entry-text .history-copy,.archive-heading{grid-template-columns:minmax(0,1fr);gap:16px}.project-archive .history-grid{gap:20px}.project-archive .history-copy{padding:20px}.archive-entry-index{padding-inline:16px}.archive-entry-text .archive-notes{margin-top:4px}}.article-library .article-search{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:24px 64px;padding:32px;border-top:3px solid var(--ink);background:#eee9e2}.article-search-intro>label{display:block;max-width:18ch;margin-top:12px;font:400 clamp(26px,3vw,36px)/1.15 Georgia,serif;letter-spacing:-.035em}.article-search-intro>p:last-child{max-width:44ch;margin-top:16px;color:var(--muted);font-size:13px;line-height:1.75}.article-search-controls{min-width:0}.article-search-field{padding:0 12px;border:1px solid #a8998c;border-radius:4px;background:#fffdfa}.article-search-field:focus-within{outline:2px solid var(--accent-text);outline-offset:3px}.article-search-field input:focus-visible{outline:none}.article-topic-filter{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:16px;margin-top:16px}.article-topic-filter label{font-size:12px;color:var(--muted)}.article-topic-filter select{min-width:0;width:100%;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:4px;background:#fffdfa;font-size:13px;color:var(--ink)}.article-search-suggestions{display:flex;flex-wrap:wrap;align-items:center;gap:0 16px;margin-top:8px;font-size:12px}.article-search-suggestions>span{color:var(--muted)}.article-search-suggestions button{min-height:44px;color:var(--accent-text);text-decoration:underline;text-underline-offset:4px}.article-library .reading-paths{margin-block:24px 32px;gap:12px;border:0}.article-library .reading-paths>a{grid-template-columns:20px minmax(0,1fr) auto;align-items:start;gap:10px;padding:20px;border:1px solid var(--line);border-radius:4px;background:#fffdfa}.article-library .reading-paths>a:hover{border-color:var(--accent-text);background:var(--accent-soft)}.reading-paths strong{display:block;font-size:15px;font-weight:500;line-height:1.4}.reading-paths small{display:block;margin-top:12px;color:var(--muted);font-size:12px;line-height:1.75}.article-result-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 24px;padding-block:12px;margin-bottom:32px;border-bottom:1px solid var(--line);font-size:13px;line-height:1.7}.article-result-bar p{overflow-wrap:anywhere;color:var(--muted)}.article-result-bar strong{color:var(--ink);font-weight:600}.article-result-bar button{min-height:44px;color:var(--accent-text);text-decoration:underline;text-underline-offset:4px}.article-library .library-collection-heading{padding-top:24px;border-top:2px solid var(--ink)}.library-collection-heading>.mono-label{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}.library-collection-heading>.mono-label>span{font:12px var(--font-geist-sans),sans-serif;letter-spacing:0;text-transform:none;color:var(--muted)}.article-library .article-scope>summary{min-height:44px;font-size:12px}.article-library .search-empty{display:flex;flex-direction:column;align-items:center;padding:40px 24px;margin-bottom:48px;border:1px solid var(--line);border-radius:4px;background:#fffdfa}.article-library .search-empty h2{margin-top:12px;font:400 clamp(28px,4vw,40px)/1.2 Georgia,serif}.article-library .search-empty p:not(.eyebrow){max-width:50ch;font-size:15px;line-height:1.75}.search-empty>a{margin-top:16px;font-size:13px}@media (max-width:1023px){.article-library .reading-paths>a{padding:16px}.reading-paths small{font-size:11px}}@media (max-width:767px){.article-library .article-search{grid-template-columns:minmax(0,1fr);padding:20px;gap:24px}.article-search-intro>label{max-width:none}.article-topic-filter{grid-template-columns:minmax(0,1fr);gap:8px}.article-library .reading-paths{gap:8px;margin-bottom:20px}.article-library .reading-paths>a{padding:16px}.reading-paths small{margin-top:6px;font-size:12px}.article-result-bar{margin-bottom:24px}}.article-page .article-cover{padding-bottom:24px}.article-heading-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:32px 64px;margin-top:32px;align-items:end}.article-page .article-title{max-width:24ch;margin-top:16px;font-size:clamp(36px,4.5vw,64px);line-height:1.08;letter-spacing:-.045em}.article-deck .portfolio-lead{max-width:46ch;font-size:clamp(17px,1.6vw,20px);line-height:1.75}.article-byline{display:flex;align-items:center;flex-wrap:wrap;gap:4px 20px;margin-top:20px;padding-top:12px;border-top:1px solid var(--line);color:var(--muted);font-size:12px;line-height:1.7}.article-byline>a{min-height:44px;font-size:13px}.article-byline>time{flex-basis:100%}.article-publication{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:12px 32px;margin-top:32px;padding-top:16px;border-top:1px solid var(--line);color:var(--muted);font-size:12px;line-height:1.8}.article-publication a{display:inline-flex;align-items:center;min-height:44px;color:var(--accent-text);text-decoration:underline;text-underline-offset:4px}.article-publication nav{display:flex;flex-wrap:wrap;gap:4px 24px}.article-page .article-section{padding-top:24px;border-top:1px solid var(--line)}.article-section>h2{max-width:36ch}.article-figure-frame{border-radius:6px;background:#eae5dd}.article-figure figcaption{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 24px;padding:4px 0 16px;border-bottom:1px solid var(--line);font-size:13px;line-height:1.75}.article-figure figcaption>a{display:inline-flex;align-items:center;min-height:44px;font-size:12px}.article-code{border:1px solid #57504a;border-radius:6px;--focus-ring:#f7931a}.article-code>figcaption{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 20px;padding:16px 20px;border-bottom:1px solid #5f5446}.article-code>figcaption>span{color:#e8cba7;font:11px var(--font-geist-mono),monospace}.article-code>figcaption>strong{font-size:14px;line-height:1.6;font-weight:500}.article-scroll-hint{padding:12px 20px 0;color:#cfc4b7;font-size:12px;line-height:1.7}.article-code pre{scrollbar-color:#d2ab76 #39332c;-moz-tab-size:2;-o-tab-size:2;tab-size:2}.article-code pre:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-5px}.article-table{scrollbar-color:#9a4305 #eee9e2}.article-table:focus-visible{outline:2px solid var(--accent-text);outline-offset:3px}.article-table th{color:var(--ink);background:#f5f0e8}.article-table tbody tr:nth-child(2n){background:#faf8f5}.article-callout{border-radius:0 6px 6px 0}.article-evidence{padding-top:28px}.article-evidence-list{margin-top:24px}.article-evidence-list>li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:16px;padding-block:16px;border-top:1px solid var(--line)}.article-evidence-list>li>span{color:var(--accent-text);font:11px/44px var(--font-geist-mono),monospace}.article-evidence-list .text-link{min-height:44px}.article-evidence-list p{max-width:64ch;font-size:13px;line-height:1.75}.article-author{padding:28px;border-radius:6px;border-top:3px solid var(--accent-text);background:#f1ede6}.article-author h3{margin-top:14px;font:400 32px/1.2 Georgia,serif}.article-author-role{margin-top:6px;color:var(--accent-text);font-size:13px}.article-author a{min-height:44px}.article-related-heading{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:16px 32px}.article-related-heading h2{margin-top:12px}.article-related .article-entry-link,.article-related .article-scope>summary{font-size:12px;min-height:44px}@media (min-width:1024px){.article-page .desktop-contents{max-height:calc(100dvh - 150px);overflow-y:auto;scrollbar-width:thin;padding-right:8px}}@media (max-width:1023px){.article-heading-grid{grid-template-columns:minmax(0,1fr);gap:24px}.article-deck .portfolio-lead{max-width:58ch}.article-byline>time{flex-basis:auto}}@media (max-width:767px){.article-heading-grid,.article-publication{margin-top:24px}.article-figure figcaption{grid-template-columns:minmax(0,1fr);gap:4px}.article-figure figcaption>a{justify-self:start}.article-author{padding:24px}}.contact-section .contact-layout{align-items:start;gap:40px 64px;padding-bottom:36px}.contact-actions{min-width:0}.contact-email{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px;border:1px solid #c3ac8c;border-radius:5px;background:#f0e9dd;color:#242326;--focus-ring:#9a4305}.contact-email small{display:block;color:#675a4c;font-size:12px}.contact-email strong{display:block;margin-top:10px;font-size:28px;font-weight:500;letter-spacing:-.035em}.contact-email>span>span{display:block;margin-top:12px;font-size:14px;color:#675a4c;overflow-wrap:anywhere}.contact-email>span:last-child{color:#9a4305;font-size:32px}.contact-email:hover{background:#fff5e6;border-color:var(--signal)}.contact-resume-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.contact-resume-options a{display:flex;align-items:baseline;justify-content:space-between;gap:12px;min-height:88px;padding:18px 16px;border:1px solid #787572;border-radius:4px;font-size:15px;line-height:1.5}.contact-resume-options a:hover{background:#393638;border-color:var(--signal)}.contact-resume-options small{display:block;margin-top:8px;color:#c8c3bb;font-size:11px;line-height:1.7}.contact-linkedin{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:52px;margin-top:8px;font-size:13px}.contact-linkedin:hover{color:var(--signal)}.contact-section .contact-logistics{display:flex;flex-wrap:wrap;gap:8px 24px;font:12px/1.8 var(--font-geist-sans),sans-serif}.resume-closing{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px 64px;margin-top:56px;padding-block:40px;border-top:2px solid var(--ink)}.resume-closing h2{margin-top:16px;font-size:clamp(34px,4vw,52px);line-height:1.1;letter-spacing:-.04em}.resume-closing>div>p:last-child{max-width:44ch;margin-top:20px;color:var(--muted);font-size:13px;line-height:1.8}.resume-closing nav{min-width:0}.resume-closing nav>a{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px;padding-block:16px;border-bottom:1px solid var(--line);font-size:14px;line-height:1.6}.resume-closing nav>.resume-closing-email{padding:20px;margin-bottom:8px;border:1px solid var(--line);border-radius:4px;background:#eee9e2;font-size:22px}.resume-closing-email small{display:block;margin-top:8px;color:var(--muted);font-size:13px;overflow-wrap:anywhere}.resume-closing nav>a:hover{color:var(--accent-text)}.footer-primary{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);align-items:start;gap:24px 48px}.footer-identity>p{font-size:20px;font-weight:500;letter-spacing:-.025em}.footer-identity>span{display:block;margin-top:10px;color:var(--muted);font-size:12px;line-height:1.8}.footer-destinations{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 24px}.footer-destinations .text-link{min-height:44px}.footer-alternatives{display:flex;flex-wrap:wrap;gap:0 24px;margin-top:24px;padding-top:12px;border-top:1px solid var(--line)}.footer-alternatives .text-link{min-height:44px}@media (max-width:767px){.contact-section .contact-layout{gap:28px}.contact-email{padding:20px}.contact-resume-options{grid-template-columns:minmax(0,1fr);gap:8px}.contact-resume-options a{min-height:76px}.footer-primary,.resume-closing{grid-template-columns:minmax(0,1fr);gap:28px}.footer-destinations{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 20px}}.article-entry:hover .article-entry-image img,.writing-lead:hover img{transform:none}.article-entry-image{transition:border-color .2s,background-color .2s}.article-entry:hover .article-entry-image{border-color:var(--accent-text);background:#f6eee1}.writing-lead:hover .writing-lead-media{outline:1px solid var(--accent-text);outline-offset:3px}.article-entry-image img,.article-figure-frame img,.browser-frame img,.history-media img{background:#e9e4de}.article-figure-frame a:focus-visible,.browser-frame a:focus-visible,.history-media a:focus-visible,[data-feature-screen] a[aria-label^="Enlarge:"]:focus-visible{outline:3px solid var(--accent-text);outline-offset:-4px}.mobile-contents>summary{padding-block:8px;min-height:44px}.article-page #sources,.article-page .article-section{scroll-margin-top:12px}.site-footer{padding-bottom:88px}@media (prefers-reduced-motion:reduce){.article-entry-image{transition:none}}.archive-notes>summary{padding:16px}.archive-notes>summary strong{font-size:14px}.archive-notes>summary small{font-size:11px}@media (max-width:767px){.archive-notes>summary{padding:14px}}.project-reading{margin-top:24px;padding:20px;border:1px solid var(--line);border-radius:5px;background:#fffdfa}.project-reading>.eyebrow{font-size:10px;color:var(--accent-text)}.project-reading ul{margin-top:10px}.project-reading li+li{border-top:1px solid var(--line)}.project-reading a{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;padding-block:12px;font-size:14px;line-height:1.65}.project-reading a>span:last-child{color:var(--accent-text);flex-shrink:0}.project-reading a:hover{color:var(--accent-text)}.project-reading summary{min-height:44px;padding-top:14px;margin-top:8px;border-top:1px solid var(--line);color:var(--accent-text);font-size:12px;cursor:pointer}.article-product-links{margin-bottom:32px;padding:16px 20px;border:1px solid var(--line);border-left:3px solid var(--accent-text);border-radius:4px;background:#fffdfa}.article-product-links>.eyebrow{font-size:10px}.article-product-links>div{display:flex;flex-wrap:wrap;gap:0 24px}.article-product-links a{display:inline-flex;gap:12px;line-height:1.6}.article-product-links a,.mobile-menu-email{align-items:center;min-height:44px;color:var(--accent-text);font-size:14px}.mobile-menu-email{display:flex;margin-top:12px}@media (min-width:768px) and (max-width:1100px){.header-inner{gap:12px}.desktop-navigation a{padding-inline:12px}.header-contact{gap:8px;padding-inline:10px}.wordmark-caption{display:none}}@media (max-width:767px){.header-actions>.header-contact{display:none}.project-reading{padding:16px}.article-product-links{padding-inline:16px}}.article-reference-lab{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px 40px;padding:24px;margin-bottom:32px;border:1px solid var(--line);border-top:3px solid var(--ink);border-radius:5px;background:#eee9e2}.article-reference-lab .eyebrow{color:var(--accent-text);font-size:10px}.article-reference-lab h2{margin-top:10px;font:400 28px/1.2 Georgia,serif}.article-reference-lab p:last-child{max-width:66ch;margin-top:12px;color:var(--muted);font-size:14px;line-height:1.8}.article-reference-lab>a{display:inline-flex;align-items:center;gap:16px;min-height:48px;color:var(--accent-text);font-size:13px;text-decoration:underline;text-underline-offset:4px}@media (max-width:767px){.article-reference-lab{grid-template-columns:minmax(0,1fr);gap:12px;padding:20px}}.article-print-source{display:none}@page engineering-article{size:letter;margin:16mm 14mm}@media print{body:has(.article-page) :is(.site-header,.header-offset,.site-footer,.motion-toggle,.product-image-dialog){display:none!important}.article-page{page:engineering-article;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;color:#000!important;font-family:Georgia,serif;font-size:10.5pt;line-height:1.5}.article-page :is(.reading-layout,.article-heading-grid){display:block!important}.article-page :is(.reading-sidebar,#figure-index,[data-library-return],.article-product-links,.article-related,[data-article-print],.article-scroll-hint,.article-code [role=group],.article-publication nav){display:none!important}.article-page :is(.article-cover,.article-deck,.reading-main,.article-author){width:auto!important;max-width:none!important;margin-inline:0!important;padding-inline:0!important;min-width:0}.article-page .article-cover{padding-block:0!important;margin-bottom:12pt!important}.article-page .article-heading-grid{margin-top:12pt!important}.article-page .article-deck .portfolio-lead{max-width:none!important;font-size:12pt!important;line-height:1.5!important}.article-page .article-publication{padding-block:8pt!important;margin-top:12pt!important}.article-page .article-title{font-size:30pt!important;line-height:1.1!important;letter-spacing:-.03em;max-width:none}.article-page .article-print-source{display:block;margin-block:12pt;font-size:9pt;overflow-wrap:anywhere}.article-page :is(h2,h3,h4,caption){-moz-column-break-after:avoid;break-after:avoid-page}.article-page .article-section{padding-top:12pt!important;margin-bottom:16pt!important;-moz-column-break-inside:auto;break-inside:auto}.article-page .article-section>p[aria-hidden=true]{-moz-column-break-after:avoid;break-after:avoid-page}.article-page .article-section>h2{max-width:none!important;font-size:18pt!important}.article-page :is(p,li){orphans:3;widows:3}.article-page .reading-paragraph{max-width:none!important;font-size:10.5pt!important;line-height:1.55!important;color:#000!important}.article-page :is(.article-takeaways,.article-callout,.article-author){background:#fff!important;color:#000!important;box-shadow:none!important;border:1px solid #aaa;border-radius:0;padding:12pt!important}.article-page .article-figure{break-inside:avoid-page;margin-block:16pt!important}.article-page .article-figure-frame{background:#fff!important;padding:0!important;border:0!important}.article-page .article-figure-frame img{max-height:118mm!important;max-width:100%!important;width:auto!important;height:auto!important;-o-object-fit:contain;object-fit:contain;margin-inline:auto}.article-page .article-figure figcaption{display:block!important;font-size:8.5pt!important;color:#222!important}.article-page .article-figure figcaption a[href="#figure-index"]{display:none!important}.article-page .article-figure figcaption>span:last-child{display:block;margin-top:4pt}.article-page .article-figure figcaption a{min-height:0!important;font-size:8pt!important}.article-page .article-figure figcaption a:after{content:" [" attr(href) "]";overflow-wrap:anywhere}.article-page .article-code{-moz-column-break-inside:auto!important;break-inside:auto!important;overflow:visible!important;border:1px solid #aaa;border-radius:0!important;background:#fff!important;color:#000!important}.article-page .article-code figcaption{background:#f4f4f4!important;color:#000!important;padding:9pt!important}.article-page .article-code figcaption>span{color:#000!important}.article-page .article-code pre{white-space:pre-wrap!important;overflow-wrap:anywhere!important;word-break:normal!important;overflow:visible!important;max-height:none!important;font-size:8pt!important;line-height:1.45!important;padding:10pt!important;color:#000!important;background:#fff!important}.article-page .article-table{overflow:visible!important;border-radius:0!important;-moz-column-break-inside:auto;break-inside:auto}.article-page .article-table table{min-width:0!important;width:100%!important;font-size:8.5pt!important;table-layout:auto}.article-page .article-table :is(th,td,caption){padding:6pt!important;overflow-wrap:anywhere;color:#000!important;background:#fff!important}.article-page .article-table tr{break-inside:avoid-page}.article-page .article-table thead{display:table-header-group}.article-page #sources{-moz-column-break-before:auto;break-before:auto;border-top:1px solid #777!important}.article-page :is(.article-evidence-list,.article-reference-lab) a[href]:after{content:" [" attr(href) "]";font-size:8pt;font-weight:400;overflow-wrap:anywhere;color:#222}.article-page a{color:#000!important;text-decoration:underline;overflow-wrap:anywhere}.article-page :is(.article-evidence-list li,.article-callout,.article-author,.article-takeaways){break-inside:avoid-page}}@font-face{font-family:GeistSans;src:url(/_next/static/media/27834908180db20f-s.p.woff2) format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:GeistSans Fallback;src:local("Arial");ascent-override:94.56%;descent-override:27.76%;line-gap-override:0.00%;size-adjust:106.28%}.__className_245d8d{font-family:GeistSans,GeistSans Fallback}.__variable_245d8d{--font-geist-sans:"GeistSans","GeistSans Fallback"}@font-face{font-family:GeistMono;src:url(/_next/static/media/78fec81b34c4a365.p.woff2) format("woff2");font-display:swap;font-weight:100 900}.__className_97c177{font-family:GeistMono,ui-monospace,SFMono-Regular,Roboto Mono,Menlo,Monaco,Liberation Mono,DejaVu Sans Mono,Courier New,monospace}.__variable_97c177{--font-geist-mono:"GeistMono",ui-monospace,SFMono-Regular,Roboto Mono,Menlo,Monaco,Liberation Mono,DejaVu Sans Mono,Courier New,monospace}