@font-face{font-family:'RagInter';src:url('fonts/raginter-normal-100-900.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{--font-ui:'RagInter',Inter,Arial,sans-serif;--type-label:12px;--type-control:14px;--control-radius:8px}
body{font-family:var(--font-ui)!important}
h1,h2,h3,h4,h5,h6,p,li,dt,dd,blockquote,small,summary,label,button,input,textarea,select,a,span,strong,b,em,svg text{font-family:var(--font-ui)!important;font-style:normal!important}
h1,h2,h3,h4,h5,h6{font-weight:500;letter-spacing:-.025em!important}
button,input,textarea,select,summary{letter-spacing:0!important}
strong,b{font-weight:600}em{font-weight:500}
code,pre,code *,pre *{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace!important}
.pill-button,.resume-download,.work-case-close,.case-return{font-size:var(--type-control)!important;font-weight:500!important}
.case-chapter-nav button,.work-filter,.work-directory>summary,.about-step-control button{font-size:13px!important;font-weight:500!important}
.about-network-node{font-size:14px!important;line-height:1.25!important}.about-network-node.is-hub{font-size:17px!important}
.about-network-filters button,.about-network-header button,.about-network-detail a,.about-note-paper a,.about-notebook-contact>div a{font-size:14px!important}
.about-character-controls>span,.about-character-note{font-size:18px!important;line-height:1.4!important}
.about-bio a,.about-footer a,.about-note-paper a,.work-menu-link,.case-related-heading a,.resume-back,.resume-contact-note a,.resume-footer-links a,.signature-options-link{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.signature-options-link{display:inline-flex;align-items:center;min-height:40px;color:var(--site-muted);font-size:12px}
.call-mark{display:grid;place-items:center;color:var(--site-accent);background:var(--site-on-accent)}.call-mark svg{display:block;width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
@media(min-width:961px){.site-footer{height:calc(100svh - 44px);min-height:520px;padding-top:clamp(32px,8svh,110px)}}
@media(max-width:960px){.site-footer{min-height:0;padding-top:40px;padding-bottom:90px}.site-footer-portrait{height:400px}.case-chapter-nav button{font-size:13px!important}}

/* Readable text: ordinary spacing and a small, repeatable weight hierarchy. */
body{font-kerning:normal;font-synthesis:none}
:is(p,li,dd,blockquote){letter-spacing:0!important}
.skill-text{font-weight:600;letter-spacing:-.035em!important}
.right-copy .description,.case-editorial p,.about-note-paper p,.resume-profile-copy,.resume-list li{line-height:1.65}
.case-editorial .case-page-heading h3{font-size:clamp(42px,6vw,82px);font-weight:500;line-height:1.1}
.case-editorial .case-page-heading .case-deck{font-size:clamp(20px,2.1vw,29px);line-height:1.45;letter-spacing:0;font-weight:400}
.case-editorial .case-chapter>h4{font-size:clamp(28px,3vw,40px);line-height:1.2;font-weight:500}
.case-editorial .case-question p,.case-editorial .case-principle p{font-size:clamp(20px,2vw,28px);line-height:1.45;font-weight:400}
.about-note-paper h3{font-size:clamp(28px,3vw,36px);line-height:1.2;font-weight:500}
.about-note-paper h4{font-size:25px;line-height:1.25;font-weight:500}
.cutout-caption h3{font-weight:500;letter-spacing:-.025em!important;font-size:1.95cqw;line-height:1.15}
.resume-paper h2{font-weight:500;line-height:1.2}
.menu-header h2,.menu-preview-heading h3{font-weight:500;font-size:21px;line-height:1.3}
:is(.case-eyebrow,.case-facts dt,.case-visual-bar,.case-sketchbook-top,.work-kicker,.rag-eyebrow,.rag-nav-note,.about-note-label,.about-notebook-heading>p,.about-network-header p,.resume-eyebrow,.resume-index a,.menu-preview-heading>span,.about-character-angle){font-size:var(--type-label)!important;letter-spacing:0!important;text-transform:none!important;font-weight:400}
.case-chapter-nav::before{font-family:var(--font-ui);font-size:12px;letter-spacing:0;text-transform:none;content:'On this page'}
.case-facts dt,.case-role-note h5{font-size:13px!important;font-weight:500}
.case-product-stage figcaption em,.case-drawing-board figcaption em,.case-sketchbook-top em,.case-sketchbook-footer{font-size:14px!important;font-weight:400}

/* Actions share one quiet border treatment. Primary actions carry the ink. */
:root[data-style] :is(.pill-button,.resume-download,.case-return,.work-case-close,.about-back,.interface-enlarge,.menu-preview-actions a:first-child,.about-network-header button,.signature-option button){
 border:1px solid var(--site-line);border-radius:var(--control-radius);background:var(--site-surface);color:var(--site-ink);box-shadow:none;text-shadow:none;text-decoration:none;font-weight:500;line-height:1.25;letter-spacing:0;rotate:0deg;transition:background-color .16s,color .16s,border-color .16s
}
:root[data-style] :is(.pill-button.work,.resume-download){background:var(--site-accent);border-color:var(--site-accent);color:var(--site-on-accent)}
.resume-download svg{stroke:currentColor}.resume-download span{color:inherit;letter-spacing:0;opacity:.8}
:root[data-style] :is(.pill-button,.resume-download,.case-return,.work-case-close,.about-back,.interface-enlarge,.menu-preview-actions a:first-child,.about-network-header button,.signature-option button):hover{background:var(--site-subtle);color:var(--site-ink);border-color:var(--site-accent);box-shadow:none;transform:none;translate:0 0;text-decoration:none}
:root[data-style] :is(.pill-button.work,.resume-download):hover{background:var(--site-accent);color:var(--site-on-accent);filter:brightness(.94)}
:root[data-style="sketch"]{--control-radius:4px 9px 4px 7px}
:root[data-style] :is(.menu-categories button,.work-filters button,.about-network-filters button,.case-chapter-nav button,.appearance-modes button){font-weight:500;box-shadow:none;rotate:0deg;text-transform:none;letter-spacing:0;border-radius:6px}
:root[data-style] :is(.menu-categories button,.work-filters button,.about-network-filters button):not([aria-pressed="true"]){background:transparent;color:var(--site-muted);border-color:var(--site-line)}
:root[data-style] :is(.menu-categories button,.work-filters button,.about-network-filters button)[aria-pressed="true"]{background:var(--site-accent-soft);color:var(--site-ink);border-color:var(--site-accent);box-shadow:none}
.case-chapter-nav button:hover{translate:0 0}
.case-chapter-nav button::after{background:currentColor;rotate:0deg}
:root[data-style] .top-actions .call-button{box-shadow:none;letter-spacing:0;font-weight:500}
@media(min-width:961px){:root[data-style] .top-actions .call-button{border-radius:var(--control-radius)}}
:root[data-style] .signature-option button[aria-pressed="true"]{background:var(--site-accent);color:var(--site-on-accent);border-color:var(--site-accent)}

/* Text links look like text links; cards, signatures and navigation keep their structure. */
:is(.about-bio a,.about-footer a,.about-note-paper>a,.about-network-detail a,.work-menu-link,.work-bottom>a,.case-related-heading a,.resume-back,.resume-index a,.resume-contact-note a,.resume-footer-links a,.signature-options-link,.signature-back,.signature-option footer a,.signature-page-footer a){text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.22em;text-decoration-color:currentColor;border-bottom:0;box-shadow:none;letter-spacing:0;rotate:0deg}
:root[data-style] :is(.about-note-paper>a,.about-network-detail a){background:transparent;border:0;border-radius:0;color:var(--site-ink)}
:is(.about-bio a,.about-footer a,.about-note-paper>a,.about-network-detail a,.work-menu-link,.work-bottom>a,.case-related-heading a,.resume-back,.resume-index a,.resume-contact-note a,.resume-footer-links a,.signature-options-link,.signature-back,.signature-option footer a,.signature-page-footer a):hover{color:var(--site-accent);text-decoration-thickness:2px}
.site-footer-email{letter-spacing:-.025em;border:0;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.15em}
.site-footer-links a{letter-spacing:-.02em;font-weight:500;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.22em}
.site-footer-links a:hover span{translate:0 0}
.resume-header nav a{font-size:14px;font-weight:500;min-height:40px;display:inline-flex;align-items:center;text-decoration:none;letter-spacing:0}
@media(max-width:960px){
 .case-editorial .case-page-heading h3{font-size:clamp(36px,9vw,56px)}
 .case-editorial .case-page-heading .case-deck{font-size:21px}
 .cutout-caption h3{font-size:5.2cqw}
 .resume-header nav a{font-size:13px;min-height:44px}
 .menu-header h2,.menu-preview-heading h3{font-size:21px}
}
@media(prefers-reduced-motion:reduce){:root[data-style] :is(button,a){transition:none}}
