@font-face{font-family:Geist;src:url('assets/geist-latin-wght-normal-BgDaEnEv.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{--paper:#f7f8fa;--ink:#292831;--muted:#686574;--accent:#514267;--surface:#eeedf2;--line:#dcdbe2;--page:1160px;--reading:880px;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:40px}body{margin:0;background:var(--paper);color:var(--ink);font:400 1rem/1.7 Geist,sans-serif;-webkit-font-smoothing:antialiased}body[data-theme=dark]{--paper:#25232c;--ink:#f1eef5;--muted:#c0b9ca;--accent:#d2c3e8;--surface:#322e3c;--line:#4b4456;color-scheme:dark}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{line-height:1.18;letter-spacing:-.035em;font-weight:500}h2{font-size:1.875rem}h3{font-size:1.5rem}h4{font-size:1.125rem}p{max-width:68ch}svg{flex-shrink:0}::selection{background:#d9e7d8;color:#203b30}[hidden]{display:none!important}:is(a,button,summary,input,[tabindex]):focus-visible{outline:3px solid #8b76a4;outline-offset:5px}.muted{color:var(--muted)}.wrap,.site-header,.site-footer{width:min(var(--page),calc(100% - 96px));margin-inline:auto}.skip{position:fixed;inset-block-start:-100px;inset-inline-start:20px;z-index:100;background:var(--paper);padding:12px 20px}.skip:focus{inset-block-start:12px}.site-header{min-height:112px;display:flex;justify-content:space-between;align-items:center;gap:24px;position:relative;z-index:20;border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center;font-size:.875rem;font-weight:500}.monogram{font-size:1.8rem;letter-spacing:-.1em;font-weight:500;color:var(--accent);padding-inline-end:3px}.site-header nav{display:flex;gap:32px;font-size:.875rem}.site-header nav a{padding-block:12px;position:relative}.site-header nav a:hover{color:var(--accent)}.site-header nav a[aria-current]{color:var(--accent)}.site-header nav a[aria-current]:after{content:'';position:absolute;inset-inline:0;bottom:4px;height:2px;background:var(--accent)}.menu-button{display:none}.button{display:inline-flex;justify-content:center;align-items:center;gap:16px;min-height:48px;padding:12px 20px;border:1px solid var(--accent);background:var(--accent);color:var(--paper);font-size:.875rem;font-weight:500;line-height:1.4;border-radius:8px;transition:background 150ms,color 150ms,border-color 150ms,box-shadow 150ms,scale 150ms cubic-bezier(0.2,0,0,1)}.button svg{width:18px;height:18px;transition:transform .18s}.button:hover{background:var(--ink);border-color:var(--ink);box-shadow:0 3px 10px #17392a10}.button:hover svg{transform:translateX(2px)}.button:active{scale:.96}.button.secondary{background:transparent;color:var(--ink);border-color:var(--line)}.button.secondary:hover{background:var(--surface);border-color:var(--accent)}.button[download]:hover svg{transform:translateY(2px)}.quiet-link,.text-link,.case-link{display:inline-flex;align-items:center;gap:12px;min-height:44px;font-size:.875rem;font-weight:500;padding-block:8px}.quiet-link:hover,.text-link:hover,.case-link:hover{text-decoration:underline;text-underline-offset:5px;color:var(--accent)}.quiet-link svg,.case-link svg{width:16px;height:16px}.section-label{font-size:.75rem;color:var(--muted);font-weight:450;letter-spacing:.015em;margin-bottom:24px}.personal-intro{display:grid;grid-template-columns:1.1fr 1fr;gap:10%;align-items:center;padding-block:76px 84px}.personal-intro h1{font-size:clamp(4rem,7.6vw,6.8rem);line-height:.98;letter-spacing:-.065em;font-weight:450}.personal-intro h1>span{color:var(--accent)}.intro-lead{font-size:1.45rem;line-height:1.4;letter-spacing:-.025em;max-width:26ch;margin-bottom:20px}.intro-note>p:not(.intro-lead):not(.availability){color:var(--muted);font-size:1rem;line-height:1.7}.intro-actions{display:flex;gap:22px;align-items:center;flex-wrap:wrap;margin-top:28px}.availability{display:flex;gap:8px;align-items:center;font-size:.6875rem;color:var(--muted);margin-top:28px}.availability>span{width:6px;height:6px;background:#759771;border-radius:50%;flex-shrink:0}.portfolio-section{border-top:1px solid var(--line);padding-block:64px}.section-heading{display:grid;grid-template-columns:250px 1fr;gap:56px;align-items:start;margin-bottom:40px}.section-heading h2{font-size:1.5rem;letter-spacing:-.025em}.section-heading p{color:var(--muted);font-size:.9375rem;max-width:50ch}.case-row{display:grid;grid-template-columns:250px 1fr;gap:56px;padding-block:40px;border-top:1px solid var(--line)}.case-context{display:flex;flex-direction:column;align-items:flex-start}.case-company{font-size:.9375rem;font-weight:500;max-width:22ch;margin-bottom:8px;line-height:1.5}.case-context>span:not(.domain-tag){font-size:.75rem;color:var(--muted)}.domain-tag{margin-top:20px;font-size:.625rem;padding:4px 9px;background:var(--surface);border-radius:4px;color:var(--muted)}.case-role{font-size:.75rem;color:var(--muted);margin-bottom:12px}.case-summary h3{font-size:clamp(1.5rem,2.3vw,2rem);line-height:1.2;max-width:31ch;letter-spacing:-.035em}.case-summary h3 a{display:flex;align-items:flex-start;gap:24px}.case-summary h3 svg{margin-top:7px;width:21px;height:21px;color:var(--muted)}.case-summary h3 a:hover{color:var(--accent)}.case-summary>p{font-size:.9375rem;color:var(--muted);margin-top:16px;max-width:62ch}.case-summary>p.case-role{margin-top:0;font-size:.75rem}.case-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:22px}.outcome{font-size:.75rem;color:var(--accent);background:var(--surface);border-radius:4px;padding:7px 10px}.case-link{font-size:.75rem;white-space:nowrap}.additional-work{display:grid;grid-template-columns:250px 1fr;gap:56px;margin-top:24px;padding-top:32px;border-top:1px solid var(--line)}.additional-work>h3,.approach>h3{font-size:1rem;letter-spacing:-.015em;padding-top:18px}details{border-bottom:1px solid var(--line)}summary{display:flex;justify-content:space-between;align-items:center;gap:20px;list-style:none;padding-block:18px;cursor:pointer;font-size:.875rem}summary::-webkit-details-marker{display:none}summary:hover{color:var(--accent)}.plus{font-size:21px;font-weight:350;flex-shrink:0;transition:transform .18s}details[open] .plus{transform:rotate(45deg)}details>p,details>div{padding-bottom:22px;font-size:.875rem;color:var(--muted)}.additional-work .case-role{font-size:.75rem;margin-bottom:10px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%}.about-note .large-copy{font-size:1.875rem;letter-spacing:-.035em;line-height:1.3;color:var(--ink);margin-bottom:24px;max-width:20ch}.about-note>p{font-size:1rem;color:var(--muted);margin-bottom:20px}.about-note .button{margin-top:8px}.experience-list h3{font-size:1rem;letter-spacing:-.015em;margin-bottom:10px}.experience-date{font-size:.6875rem;color:var(--muted)}.experience-list h4{font-size:.9375rem;letter-spacing:-.015em;margin-block:4px;line-height:1.4}.experience-list summary p{font-size:.75rem;color:var(--muted)}.experience-list summary{padding-block:15px}.approach{display:grid;grid-template-columns:250px 1fr;gap:56px;margin-top:48px;border-top:1px solid var(--line);padding-top:20px}.approach summary>span:first-child{font-weight:500}.approach summary small{display:block;font-weight:400;color:var(--muted);font-size:.8125rem;margin-top:6px}.toolkit-note{display:grid;grid-template-columns:250px 1fr;gap:56px;margin-top:32px;font-size:.75rem;color:var(--muted)}.writing-row{display:grid;grid-template-columns:250px 1fr 24px;gap:56px;padding-block:28px;border-top:1px solid var(--line)}.writing-date{font-size:.75rem;color:var(--muted);padding-top:3px}.writing-row h3{font-size:1.25rem;line-height:1.35;letter-spacing:-.02em;max-width:43ch}.writing-row p{font-size:.875rem;color:var(--muted);margin-top:12px;max-width:62ch}.writing-row>svg{width:20px;height:20px;color:var(--muted);margin-top:5px}.writing-row:hover h3{color:var(--accent);text-decoration:underline;text-underline-offset:5px}.contact{display:grid;grid-template-columns:1.2fr 1fr;gap:12%;padding-block:64px 72px}.contact .section-label{margin-bottom:16px}.contact h2{font-size:2.5rem;letter-spacing:-.04em;margin-bottom:20px}.contact p:not(.section-label){font-size:.9375rem;color:var(--muted)}.contact-actions{display:flex;gap:12px;align-content:center;align-items:flex-start;flex-wrap:wrap;min-width:0}.email-copy{flex-basis:100%;display:flex;gap:14px;align-items:center;margin-top:10px;color:var(--muted);font-size:.75rem;flex-wrap:wrap}.copy-email{background:none;border:0;color:var(--accent);text-decoration:underline;text-underline-offset:4px;font-size:.75rem;min-height:44px;padding:8px}.copy-status{flex-basis:100%;font-size:.75rem;color:var(--accent)}.site-footer{border-top:1px solid var(--line);padding-block:28px 40px;display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:.75rem;color:var(--muted)}.footer-location{margin-inline-start:8px;color:var(--muted)}.site-footer>div{display:flex;gap:16px;align-items:center}.site-footer button,.site-footer a{background:none;border:0;color:var(--muted);min-height:44px;display:inline-flex;align-items:center;justify-content:center}.ask-launch{font-size:.75rem;text-decoration:underline;text-underline-offset:4px}.theme-button{font-size:20px;width:44px;border-radius:50%}.theme-button:hover{background:var(--surface)}.site-footer>div>a{width:44px;font-size:18px}.site-footer>div>a:hover{color:var(--accent)}#ask-panel{position:fixed;bottom:24px;right:24px;width:390px;max-height:calc(100dvh - 48px);overflow:auto;z-index:30;padding:24px;border:1px solid var(--line);border-radius:12px;background:var(--paper);box-shadow:0 14px 60px #20372a20}.ask-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:24px}.ask-header p{font-size:.75rem;color:var(--muted);margin-top:4px}.ask-close{background:none;border:0;color:var(--ink);font-size:26px;min-width:44px;min-height:44px;margin:-10px -10px 0 0}.search-row{display:flex;margin-top:8px;border:1px solid var(--line);border-radius:6px;overflow:hidden}.search-row input{width:100%;min-width:0;padding:12px;background:var(--surface);color:var(--ink);border:0;font-size:1rem}.search-row button{border:0;min-width:44px;background:var(--accent);color:var(--paper)}#ask-form label{font-size:.8125rem}.question-options{display:flex;gap:8px;flex-wrap:wrap;margin-block:18px}.question-options button{padding:10px 12px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:6px;font-size:.75rem;min-height:44px}.question-options button:hover{border-color:var(--accent)}#answer{font-size:.875rem}#answer h3{font-size:1.25rem;margin-bottom:16px}#answer p{margin-bottom:12px}#answer a{color:var(--accent);text-decoration:underline}
/* Reading pages share a single explicit content width. */
.reading-top{padding-block:36px 48px}.reading-top>.text-link{margin-bottom:36px}.reading-top h1{font-size:clamp(2.25rem,4.3vw,3.75rem);max-width:23ch;line-height:1.1;letter-spacing:-.045em;margin-bottom:24px}.reading-top .section-label{margin-bottom:16px}.lede{font-size:1.25rem;line-height:1.6;color:var(--muted);max-width:64ch}.byline{font-size:.8125rem;color:var(--muted);margin-top:24px}.project-meta{display:flex;gap:20px;font-size:.75rem;color:var(--muted);margin-bottom:20px}.project-meta span:first-child{color:var(--accent)}.resume-top,.resume-body{max-width:var(--reading)}.resume-top h1{font-size:clamp(2.5rem,4.7vw,4rem)}.resume-top>p:not(.lede):not(.section-label){margin-top:10px;font-size:.875rem;color:var(--muted)}.resume-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.resume-body{padding-bottom:48px}.resume-body section{border-top:1px solid var(--line);padding-block:36px}.resume-body h2{font-size:1.5rem;margin-bottom:24px}.resume-body h3{font-size:1.125rem;letter-spacing:-.02em;margin-bottom:8px}.resume-body p{font-size:1rem;line-height:1.8;margin-bottom:16px;max-width:72ch;color:var(--muted)}.resume-body ul{margin:16px 0 0;padding-inline-start:20px;max-width:72ch}.resume-body li{font-size:.9375rem;color:var(--muted);line-height:1.75;margin-bottom:10px}.resume-job{margin-bottom:36px}.resume-job:last-child{margin-bottom:0}.resume-job .muted{font-size:.75rem;margin-bottom:8px}.resume-job>p:has(strong){color:var(--ink);font-size:.875rem;margin-bottom:6px}.resume-job strong{font-weight:500}.case-banner{display:grid;grid-template-columns:1.6fr 1fr;gap:64px;align-items:center;margin-bottom:56px}.case-diagram{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:32px}.case-diagram>span{font-size:.75rem;color:var(--muted)}.case-diagram h2{font-size:1.5rem;line-height:1.25;margin-top:20px;max-width:23ch}.case-diagram ol{display:flex;list-style:none;padding:0;margin:28px 0;gap:12px;flex-wrap:wrap}.case-diagram li{font-size:.75rem;border:1px solid var(--line);padding:9px 12px;border-radius:5px;background:var(--paper)}.case-diagram p{font-size:.8125rem;color:var(--muted)}.case-metrics{display:flex;flex-direction:column;gap:20px}.case-metrics strong{font-size:1.625rem;font-weight:500;letter-spacing:-.03em}.case-metrics p{font-size:.8125rem;color:var(--muted);max-width:32ch;margin-top:5px}.reading-layout{display:grid;grid-template-columns:190px minmax(0,1fr);gap:72px;align-items:start}.contents{position:sticky;top:32px;font-size:.75rem}.contents>span{display:block;margin-bottom:16px;font-weight:500}.contents nav{display:flex;flex-direction:column;gap:2px;border-inline-start:1px solid var(--line);padding-inline-start:16px}.contents a{padding-block:7px;color:var(--muted)}.contents a:hover{color:var(--accent);text-decoration:underline}.reading-body section{padding-bottom:44px;scroll-margin-top:32px}.reading-body h2{font-size:1.65rem;margin-block:8px 24px}.reading-body h3{font-size:1.25rem;margin-bottom:12px}.reading-body p{font-size:1rem;color:var(--muted);line-height:1.8;margin-bottom:20px;max-width:68ch}.reading-body ul,.reading-body ol{color:var(--muted);padding-inline-start:20px}.reading-body li{margin-bottom:10px}.text-group{margin-bottom:28px}.at-glance{padding:28px!important;background:var(--surface);border-radius:8px;margin-bottom:40px}.at-glance h2{font-size:1.375rem}.at-glance dl{margin:0}.at-glance dl>div{display:grid;grid-template-columns:100px 1fr;gap:24px;font-size:.8125rem;padding-block:9px}.at-glance dt{font-weight:500}.at-glance dd{margin:0;color:var(--muted)}.note{padding:20px;background:var(--surface);border-radius:6px}.comparison>div{padding:24px;background:var(--surface);border-radius:8px;margin-top:16px}.next-page{border-top:1px solid var(--line);padding-block:36px 56px;margin-top:24px}.next-page>span{display:block;font-size:.75rem;color:var(--muted);margin-bottom:12px}.next-page>a{font-size:1.65rem;letter-spacing:-.035em;line-height:1.3}.next-page>a:hover{color:var(--accent)}.essay{max-width:760px;padding-block:36px 48px}.essay header{margin-block:36px}.essay header>.muted{font-size:.75rem;margin-bottom:24px}.essay h1{font-size:clamp(2.25rem,4vw,3.5rem);line-height:1.15;letter-spacing:-.04em;margin-bottom:28px}.essay .reading-body h2{margin-top:40px}blockquote{margin:28px 0;padding:24px;background:var(--surface);font-size:1.25rem;letter-spacing:-.02em;line-height:1.5;border-radius:8px}
/* Personal structure with the visual character of the first art direction. */
.personal-intro{grid-template-columns:1.12fr 1fr;gap:4%;padding-block:64px 56px;align-items:center}
.personal-intro h1{font-size:clamp(5rem,8.3vw,7.4rem);letter-spacing:-.065em;line-height:.98}
.intro-note{margin-top:30px;max-width:510px}.intro-lead{font-size:1.25rem;max-width:34ch;margin-bottom:12px}.intro-note>p:not(.intro-lead):not(.availability){font-size:.9375rem}.intro-actions{gap:12px;margin-top:26px}
.hero-art{margin:0;position:relative;align-self:stretch;display:flex;align-items:center;min-width:0}.hero-art img{display:block;width:115%;max-width:none;height:auto;margin-inline-start:-6%;object-fit:contain}.hero-art figcaption{position:absolute;right:12px;bottom:36px;font-size:.6875rem;line-height:1.6;color:var(--muted)}
.personal-meta{display:flex;align-items:center;justify-content:space-between;gap:24px;border-block:1px solid var(--line);padding-block:23px;font-size:.75rem;color:var(--muted)}.personal-meta>span{display:flex;align-items:center;gap:10px}.personal-meta>span+span{border-inline-start:1px solid var(--line);padding-inline-start:40px}.personal-meta i{width:6px;height:6px;background:#7a886c;border-radius:50%}
#work{border-top:0;padding-top:56px}.section-heading{grid-template-columns:1fr 1.15fr;gap:48px;align-items:center}.section-heading h2{font-size:2rem}.section-count{display:inline-block;margin-inline-start:16px;font-size:.625rem;letter-spacing:.06em;color:var(--muted);vertical-align:middle}
.case-row{grid-template-columns:.92fr 1.15fr;gap:48px;align-items:center;padding-block:32px}.case-row:first-child{border-top:0;padding-top:0}.case-context{flex-direction:row;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:14px}.case-company{font-size:.75rem;margin:0;max-width:26ch}.case-context>span:not(.domain-tag){font-size:.6875rem;white-space:nowrap}.case-summary>p.case-role{font-size:.6875rem;margin-bottom:12px}.case-summary h3{font-size:clamp(1.5rem,2.2vw,1.875rem)}.case-summary>p{margin-top:16px}.outcome{background:transparent;padding:0;color:var(--accent)}.case-bottom{border-top:1px solid var(--line);padding-top:14px;margin-top:20px;gap:12px}
.project-visual{min-height:300px;border-radius:10px;padding:24px 28px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;outline:1px solid oklch(0 0 0 / .07);outline-offset:-1px;color:#4f4166;background:#e9e4ef}.visual-top{display:flex;justify-content:space-between;font-size:.6875rem;letter-spacing:.03em}.visual-top>span{opacity:.7}.visual-caption{display:flex;flex-direction:column;gap:5px;position:relative}.visual-caption strong{font-size:1.125rem;line-height:1.3;letter-spacing:-.025em;font-weight:500}.visual-caption>span{font-size:.6875rem;opacity:.85}.visual-motif{height:130px;position:relative;display:flex;justify-content:center;align-items:center;gap:0;margin-block:20px}.visual-motif span{width:90px;height:112px;background:#ffffff45;border:1px solid #73638670;border-radius:8px;transform:rotate(-12deg);box-shadow:8px 12px 20px #4f416610;transition:transform 300ms cubic-bezier(.2,0,0,1)}.visual-motif span+span{margin-inline-start:-30px;transform:translateY(-8px) rotate(4deg)}.visual-motif span:last-child{transform:translateY(-16px) rotate(16deg)}.project-visual:hover .visual-motif span:first-child{transform:translateX(-6px) rotate(-16deg)}.project-visual:hover .visual-motif span:last-child{transform:translate(6px,-16px) rotate(20deg)}
.visual-duchess{background:#e3e8df;color:#45523d}.visual-duchess .visual-motif span{width:110px;height:110px;border-radius:50%;border-color:#62755870;background:#ffffff30;transform:none}.visual-duchess .visual-motif span+span{transform:none;margin-inline-start:-40px}.visual-duchess .visual-motif span:last-child{background:#91a28325}.visual-frontline{background:#e8e5e1;color:#554e46}.visual-frontline .visual-motif span{border-color:#82796e70;border-radius:3px;transform:rotate(-8deg);height:112px;width:85px;background:repeating-linear-gradient(180deg,transparent 0 14px,#82796e20 14px 15px) #ffffff60;background-clip:content-box;padding:14px}.visual-frontline .visual-motif span+span{transform:rotate(4deg)}.visual-frontline .visual-motif span:last-child{transform:rotate(14deg)}
#about{padding-block:72px}.about-note .large-copy{font-size:2.4rem;max-width:21ch}.about-grid{gap:12%}.writing-row{grid-template-columns:170px 1fr 24px;gap:48px}.contact{background:var(--surface);border:0;border-radius:12px;padding:44px;margin-block:16px 56px;gap:8%}.contact h2{font-size:2.6rem}.site-footer{padding-bottom:32px}.button{box-shadow:inset 0 1px 0 #ffffff12,0 2px 3px #29283108}.button.secondary{box-shadow:none;border-color:#a6a0af}.button.secondary:hover{background:var(--surface)}
body[data-theme=dark] .project-visual{outline-color:oklch(1 0 0 / .1)}body[data-theme=dark] .hero-art img{filter:brightness(.85)}
@media(max-width:950px){.wrap,.site-header,.site-footer{width:calc(100% - 64px)}.personal-intro{gap:8%;padding-block:64px}.personal-intro h1{font-size:80px}.intro-lead{font-size:1.25rem}.intro-note>p:not(.intro-lead):not(.availability){font-size:.9375rem}.intro-actions{gap:12px}.section-heading,.case-row,.additional-work,.approach,.toolkit-note{grid-template-columns:190px 1fr;gap:36px}.case-summary h3{font-size:1.625rem}.writing-row{grid-template-columns:150px 1fr 20px;gap:36px}.about-grid{gap:8%}.contact{gap:8%}.contact h2{font-size:2.125rem}.contact p br{display:none}.reading-layout{grid-template-columns:155px minmax(0,1fr);gap:40px}.case-banner{gap:32px}.case-diagram{padding:24px}.case-diagram h2{font-size:1.375rem}.case-diagram ol{gap:8px}.case-diagram li{font-size:.6875rem;padding:8px 10px}}
@media(max-width:720px){.site-header{min-height:88px}.site-header>nav:not(#mobile-nav){display:none}.menu-button{display:flex;gap:18px;align-items:center;min-height:44px;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--ink);padding:9px 14px;font-size:.8125rem}.menu-button>span{font-size:20px;line-height:1}.menu-button[aria-expanded=true]>span{transform:rotate(45deg)}#mobile-nav{position:absolute;top:calc(100% + 8px);inset-inline:0;display:flex;gap:12px;justify-content:space-between;padding:12px 20px;background:var(--paper);border:1px solid var(--line);border-radius:8px;box-shadow:0 10px 24px #24332a0c}.personal-intro{grid-template-columns:1fr;gap:32px;padding-block:48px}.personal-intro h1{font-size:clamp(4.7rem,13vw,6.6rem)}.personal-intro .section-label{margin-bottom:24px}.intro-note{max-width:550px}.intro-lead{font-size:1.5rem;max-width:30ch}.intro-note>p:not(.intro-lead):not(.availability){font-size:1rem}.intro-actions{gap:24px;margin-top:24px}.availability{margin-top:22px}.portfolio-section{padding-block:48px}.section-heading{grid-template-columns:1fr;gap:16px;margin-bottom:28px}.section-heading p br{display:none}.case-row{grid-template-columns:1fr;gap:22px;padding-block:32px}.case-context{flex-direction:row;align-items:baseline;gap:8px 16px;flex-wrap:wrap}.case-company{margin:0;max-width:none;font-size:.875rem}.case-context>span:not(.domain-tag){font-size:.6875rem;margin-inline-start:auto}.domain-tag{margin:0;font-size:.5625rem;padding:2px 6px}.case-summary h3{font-size:1.65rem;max-width:28ch}.case-summary>p{font-size:1rem}.case-bottom{gap:12px;margin-top:20px}.outcome{font-size:.6875rem}.additional-work,.approach,.toolkit-note{grid-template-columns:1fr;gap:12px}.additional-work{padding-top:24px;margin-top:12px}.additional-work>h3,.approach>h3{padding-top:0}.additional-work summary{font-size:.8125rem}.about-grid{grid-template-columns:1fr;gap:40px}.about-note .large-copy{font-size:1.75rem;max-width:24ch}.experience-list{max-width:none}.approach{margin-top:36px;padding-top:24px}.toolkit-note{gap:8px;font-size:.8125rem}.writing-row{grid-template-columns:1fr 20px;gap:12px 16px;padding-block:24px}.writing-date{grid-column:1/-1;padding:0;font-size:.6875rem}.writing-row h3{font-size:1.25rem}.writing-row p{font-size:.9375rem}.contact{grid-template-columns:1fr;gap:28px;padding-block:48px}.contact h2{font-size:2.25rem}.contact-actions{gap:12px}.contact p:not(.section-label){font-size:1rem}.site-footer{flex-wrap:wrap;padding-block:24px;gap:12px}.site-footer>div{gap:12px;flex-wrap:wrap}.site-footer>div .ask-launch{padding-inline-start:0}.reading-layout{display:block}.contents{position:static;margin-bottom:32px}.contents nav{flex-direction:row;flex-wrap:wrap;gap:4px 20px;border:0;padding:0}.reading-top{padding-block:24px 36px}.reading-top>.text-link{margin-bottom:28px}.case-banner{grid-template-columns:1fr;gap:24px;margin-bottom:36px}.case-metrics{flex-direction:row;flex-wrap:wrap;gap:24px}.case-metrics>div{flex:1;min-width:130px}.case-metrics strong{font-size:1.5rem}.case-metrics p{font-size:.75rem}.essay{padding-block:24px}.essay header{margin-block:28px}}
@media(max-width:440px){.wrap,.site-header,.site-footer{width:calc(100% - 40px)}.brand{font-size:.8125rem;gap:10px}.monogram{font-size:1.65rem}.personal-intro{padding-block:40px;gap:28px}.personal-intro .section-label{font-size:.6875rem}.personal-intro h1{font-size:clamp(4.35rem,19vw,5.2rem)}.intro-lead{font-size:1.375rem}.intro-actions{gap:12px 20px}.button{min-height:48px;padding:12px 16px;gap:12px;font-size:.8125rem}.quiet-link{font-size:.8125rem}.availability{font-size:.625rem}.section-heading h2{font-size:1.375rem}.section-heading p{font-size:.875rem}.case-context>span:not(.domain-tag){margin-inline-start:0}.domain-tag{display:none}.case-role{font-size:.6875rem}.case-summary h3{font-size:1.5rem}.case-summary h3 a{gap:16px}.case-summary h3 svg{width:18px;height:18px;margin-top:5px}.case-summary>p{font-size:.9375rem}.case-bottom{display:block}.case-link{margin-top:8px}.outcome{display:inline-block}.additional-work summary{gap:12px}.contact h2{font-size:2rem}.email-copy{font-size:.6875rem;gap:8px}.resume-actions{gap:12px}.resume-actions .button{font-size:.8125rem}.reading-top h1,.essay h1{font-size:2.125rem}.resume-top h1{font-size:2.5rem}.lede{font-size:1.0625rem}.resume-top>p:not(.lede):not(.section-label){font-size:.8125rem}.resume-body section{padding-block:28px}.resume-body p,.resume-body li{font-size:1rem}.resume-body h2{font-size:1.375rem}.reading-body h2{font-size:1.5rem}.reading-body h3{font-size:1.2rem}.reading-body p{font-size:1rem}.at-glance{padding:20px!important}.at-glance dl>div{grid-template-columns:75px 1fr;gap:16px;font-size:.75rem}.reading-body section{padding-bottom:36px}.next-page>a{font-size:1.375rem}.case-diagram{padding:22px}.case-diagram h2{font-size:1.25rem}.case-diagram ol{margin-block:20px}.case-diagram li{font-size:.625rem}.case-diagram p{font-size:.75rem}#ask-panel{inset-inline:14px;bottom:14px;width:auto;padding:20px;max-height:calc(100dvh - 28px)}}
@media(max-width:950px){.personal-intro{gap:3%}.personal-intro h1{font-size:88px}.hero-art img{width:110%;margin-inline-start:-5%}.hero-art figcaption{bottom:60px}.case-row{gap:32px;grid-template-columns:.85fr 1.15fr}.project-visual{padding:22px;min-height:310px}.case-context{flex-direction:column;gap:4px}.personal-meta>span+span{padding-inline-start:24px}.contact{padding:32px}.contact h2{font-size:2.25rem}}
@media(max-width:720px){.personal-intro{grid-template-columns:1fr;gap:0;padding-block:40px 24px}.personal-intro h1{font-size:clamp(4.7rem,14vw,6.6rem)}.intro-note{margin-top:24px;max-width:560px}.hero-art{max-width:460px;width:100%;justify-self:center;margin-top:12px}.hero-art img{width:100%;margin:0}.hero-art figcaption{right:0;bottom:12px;font-size:.625rem}.personal-meta{gap:12px;flex-wrap:wrap;padding-block:18px;font-size:.6875rem}.personal-meta>span+span{padding:0;border:0}.personal-meta>span:last-child{flex-basis:100%}.section-heading{grid-template-columns:1fr;gap:14px}.section-heading h2{font-size:1.75rem}.case-row{grid-template-columns:1fr;gap:24px;padding-block:32px}.project-visual{min-height:260px}.visual-motif{height:110px}.case-context{flex-direction:row;gap:12px}.case-summary h3{max-width:none}.case-bottom{display:flex}.case-link{margin-top:0}.about-note .large-copy{font-size:2rem}#about{padding-block:48px}.writing-row{grid-template-columns:1fr 20px;gap:12px 16px}.contact{padding:28px;margin-block:0 32px}.contact h2{font-size:2rem}}
@media(max-width:440px){.personal-intro h1{font-size:clamp(4.35rem,19vw,5.2rem)}.intro-lead{font-size:1.25rem}.intro-actions{gap:12px}.hero-art{max-width:350px}.case-context{flex-wrap:wrap}.case-context>span:not(.domain-tag){margin:0}.project-visual{min-height:250px;padding:22px}.case-bottom{align-items:flex-start}.contact{padding:24px}.contact h2{font-size:1.875rem}.contact-actions .button{padding-inline:14px}.personal-meta{font-size:.625rem}}
/* Approved hero A and editorial lower sections. */
.personal-intro{grid-template-columns:1.2fr 1fr;gap:4%;padding-block:64px 56px}.personal-intro h1{font-size:clamp(2.6rem,4.3vw,3.85rem);line-height:1.1;letter-spacing:-.055em;white-space:nowrap}.intro-note{margin-top:26px;max-width:550px}.intro-lead{font-size:clamp(1.75rem,2.6vw,2.3rem);line-height:1.25;letter-spacing:-.035em;margin-bottom:24px}.intro-note>p:not(.intro-lead):not(.availability){font-size:1rem;line-height:1.75}.hero-art img{width:112%;margin-inline-start:-6%}.hero-art figcaption{bottom:16px}.intro-actions{margin-top:26px}.about-grid{grid-template-columns:1.15fr 1fr;gap:80px}.about-note h2{font-size:2.3rem;line-height:1.15;letter-spacing:-.04em;margin-bottom:24px}.about-note .section-label,.career>.section-label,.process-section>.section-label,.writing-heading .section-label{font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:18px}.about-note>p:not(.section-label){font-size:.9375rem;line-height:1.8}.career{padding-inline-start:48px;border-inline-start:1px solid var(--line)}.career ol{list-style:none;padding:0 0 0 20px;margin:28px 0 12px;border-inline-start:1px solid var(--line)}.career li{position:relative;padding:0 0 28px 8px}.career li:last-child{padding-bottom:8px}.career li:before{content:'';position:absolute;left:-25px;top:8px;width:9px;height:9px;border-radius:50%;background:var(--accent)}.career h4{font-size:1rem;letter-spacing:-.02em;line-height:1.5;margin-block:4px}.career h4 a:hover{text-decoration:underline;text-underline-offset:4px}.career li p{font-size:.8125rem;color:var(--muted)}.career .quiet-link{font-size:.75rem}.process-section{background:var(--surface);border-radius:12px;padding:40px;margin-block:0 64px}.process-section>h2{font-size:2rem;letter-spacing:-.035em}.process-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;list-style:none;margin:32px 0;padding:0}.process-steps li{position:relative;padding-inline-end:24px}.process-steps li:before{content:'';position:absolute;top:15px;inset-inline:0;height:1px;background:var(--line)}.process-steps li:last-child:before{display:none}.step-number{position:relative;display:flex;width:30px;height:30px;align-items:center;justify-content:center;font-size:.6875rem;border-radius:50%;background:var(--paper);color:var(--accent);border:1px solid var(--line);margin-bottom:14px}.process-steps h3{font-size:.9375rem;letter-spacing:-.015em;margin-bottom:8px}.process-steps p{font-size:.8125rem;line-height:1.6;color:var(--muted);max-width:20ch}.practice-toolkit{border-top:1px solid var(--line);padding-top:26px;display:grid;grid-template-columns:1fr 1.1fr;gap:32px}.practice-toolkit .section-label{font-size:.625rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:14px;color:var(--accent)}.practice>p{font-size:.8125rem;color:var(--muted)}.practice summary{font-size:.75rem;padding-block:12px}.practice details>div{font-size:.8125rem}.practice details h4{font-size:.875rem;margin-block:16px 8px}.practice details p{font-size:.8125rem}.practice-toolkit #toolkit{border-inline-start:1px solid var(--line);padding-inline-start:28px}.practice-toolkit dl{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:0}.practice-toolkit dt{font-size:.6875rem;font-weight:500;margin-bottom:8px}.practice-toolkit dd{margin:0;font-size:.75rem;color:var(--muted);line-height:1.6}.ai-tools{font-size:.6875rem;color:var(--muted);margin-top:20px}#writing{border:0;padding-top:0}.writing-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:28px}.writing-heading h2{font-size:2rem}.writing-heading>p{font-size:.8125rem;color:var(--muted)}.editorial-writing{display:grid;grid-template-columns:1.2fr 1fr;gap:40px}.featured-essay{position:relative;background:#e7ebe3;color:#30372e;border-radius:10px;padding:30px;overflow:hidden;min-height:300px;display:flex;flex-direction:column;align-items:flex-start}.featured-essay .writing-date{color:#586251;font-size:.625rem;text-transform:uppercase;letter-spacing:.06em}.featured-essay h3{font-size:1.65rem;line-height:1.2;max-width:24ch;margin-block:20px 16px;position:relative;z-index:1}.featured-essay>p{font-size:.875rem;max-width:35ch;line-height:1.6;position:relative;z-index:1;color:#586251}.essay-action{display:inline-flex;gap:12px;align-items:center;font-size:.8125rem;margin-top:24px;text-decoration:underline;text-underline-offset:4px;position:relative;z-index:1}.essay-art{position:absolute;right:8px;bottom:34px;width:120px;height:190px;opacity:.3}.essay-art i{position:absolute;border:1px solid #526147;width:78px;height:145px;border-radius:48%;transform:rotate(24deg)}.essay-art i:nth-child(2){transform:rotate(-36deg);top:34px;right:0;background:#87997845}.essay-art i:nth-child(3){transform:rotate(55deg);top:60px;right:30px}.featured-essay:hover h3{text-decoration:underline;text-underline-offset:4px}.essay-list{display:flex;flex-direction:column;justify-content:space-between}.essay-link{display:flex;gap:24px;align-items:center;justify-content:space-between;padding:22px 0;border-bottom:1px solid var(--line)}.essay-link:first-child{padding-top:6px}.essay-link:last-child{border-bottom:0;padding-bottom:6px}.essay-link .writing-date{font-size:.625rem}.essay-link h3{font-size:1.125rem;line-height:1.4;margin-top:10px;letter-spacing:-.02em}.essay-link:hover h3{color:var(--accent);text-decoration:underline;text-underline-offset:4px}.contact{background:none;border-block:1px solid var(--line);border-radius:0;padding:36px 0;margin-block:0 12px;grid-template-columns:1.2fr 1fr}.contact h2{font-size:1.75rem;margin-bottom:12px}.contact .section-label{display:none}.contact p:not(.section-label){font-size:.875rem}.contact-actions{justify-content:flex-end}.email-copy{justify-content:flex-end}.copy-status{text-align:end}.site-footer{border-top:0}
@media(max-width:950px){.personal-intro h1{font-size:clamp(2rem,4.2vw,3rem)}.intro-lead{font-size:1.875rem}.about-grid{gap:40px}.career{padding-inline-start:28px}.about-note h2{font-size:2rem}.process-section{padding:30px}.process-steps li{padding-inline-end:16px}.practice-toolkit{grid-template-columns:1fr;gap:24px}.practice-toolkit #toolkit{padding:0;border:0}.editorial-writing{gap:28px}.featured-essay{padding:24px}.featured-essay h3{font-size:1.4rem}.essay-art{opacity:.15}}
@media(max-width:720px){.personal-intro{grid-template-columns:1fr;padding-block:40px 24px;gap:0}.personal-intro h1{font-size:clamp(2rem,7.6vw,3.2rem);white-space:normal}.intro-note{margin-top:22px}.intro-lead{font-size:1.875rem}.hero-art{max-width:340px;margin-top:12px}.hero-art img{width:100%;margin:0}.hero-art figcaption{bottom:0}.about-grid{grid-template-columns:1fr;gap:36px}.career{border:0;padding:0}.about-note h2{font-size:2rem}.process-section{padding:28px;margin-bottom:48px}.process-section>h2{font-size:1.75rem}.process-steps{grid-template-columns:1fr;gap:0;margin:28px 0}.process-steps li{display:grid;grid-template-columns:32px 1fr;gap:0 16px;padding:0 0 24px}.process-steps li:before{inset-inline-start:15px;top:0;width:1px;height:100%}.step-number{grid-row:1/3;margin:0}.process-steps h3{padding-top:3px;margin-bottom:5px}.process-steps p{max-width:none}.process-steps li:last-child{padding-bottom:0}.practice-toolkit{padding-top:24px}.practice-toolkit dl{gap:16px;grid-template-columns:1fr}.practice-toolkit dl>div{display:grid;grid-template-columns:125px 1fr;gap:12px}.practice-toolkit dt{margin:0}.writing-heading{display:block}.writing-heading h2{font-size:1.875rem}.writing-heading>p{margin-top:14px}.editorial-writing{grid-template-columns:1fr;gap:22px}.featured-essay{min-height:280px}.featured-essay h3{font-size:1.5rem}.essay-link{padding:22px 0}.essay-link:first-child{padding-top:0}.contact{grid-template-columns:1fr;gap:24px}.contact-actions,.email-copy{justify-content:flex-start}.copy-status{text-align:start}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}/* Approved H3 / W2 / E3 / L3 / T2 composition. */
:root{--ease-out-quint:cubic-bezier(.22,1,.36,1)}
.home-page{--page:1320px}.home-page .site-header{min-height:92px;border:0;justify-content:flex-start;gap:70px}.home-page .brand>span:last-child{display:none}.home-page .monogram{font-family:Georgia,serif;font-size:2rem;font-weight:400;text-transform:uppercase;letter-spacing:-.08em}.personal-intro{grid-template-columns:1.35fr 1fr;gap:2%;padding-block:34px 58px;min-height:570px}.hero-name{font-size:.875rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;display:flex;align-items:center;gap:26px;margin-bottom:5px}.hero-status{font-size:.75rem;font-weight:400;letter-spacing:0;text-transform:none;color:var(--muted);display:inline-flex;align-items:center;gap:9px;text-decoration:underline;text-underline-offset:3px}.hero-status:before{content:'';width:9px;height:9px;background:var(--accent);border-radius:50%}.personal-intro .section-label{font-size:.9375rem;margin-bottom:28px}.personal-intro h1{font-size:clamp(2.8rem,4.3vw,4.1rem);line-height:1.04;letter-spacing:-.055em;white-space:normal;font-weight:650}.intro-note{margin-top:24px;max-width:52ch}.intro-note>p:not(.intro-lead):not(.availability){font-size:1.0625rem;line-height:1.55}.intro-actions{margin-top:24px;gap:18px}.hero-art{justify-content:center;align-items:center;min-height:440px;position:relative;width:100%;max-width:none}.hero-art img{width:100%;height:460px;max-width:100%;margin:0 70px 0 -40px;object-fit:contain}.hero-art figcaption{font-size:1rem;right:0;bottom:auto;top:24%;max-width:13ch;line-height:1.3}.hero-art figcaption strong{display:block;font-weight:400;color:var(--ink);text-transform:uppercase;letter-spacing:.06em}.identity>.section-label{text-transform:uppercase;letter-spacing:.04em}.hero-art figcaption span{display:block;margin-top:26px;padding-top:22px;border-top:1px solid var(--line);color:var(--muted)}.section-heading{grid-template-columns:1fr 1.15fr;gap:48px;align-items:center;margin-bottom:32px}.section-heading h2{font-size:2.6rem;font-weight:600}.section-heading>p{font-size:1.125rem;line-height:1.45}#work{border:0;padding-top:32px}.case-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.case-row{display:flex;flex-direction:column;gap:0;align-items:stretch;padding:0;border:0;min-width:0}.case-row:first-child{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:0;align-items:stretch;margin:0;background:#edebf2}.project-visual{width:100%;min-width:0;max-width:100%;padding:0;border:0;border-radius:0;min-height:0;display:flex;align-items:center;justify-content:center;aspect-ratio:3.2;overflow:hidden}.project-visual>svg{width:100%;height:100%;min-width:0;flex-shrink:1;transition:transform 450ms var(--ease-out-quint)}.project-visual:hover>svg{transform:scale(1.035)}.visual-bitasei{background:#dcd6e7;color:#514267}.visual-duchess{background:#d4dfd8;color:#7f9187}.visual-frontline{background:#dedcd6;color:#79757b}.case-row:first-child .project-visual{aspect-ratio:3.05;min-height:230px}.case-summary{padding:20px 2px 0;position:relative}.case-summary h3,.case-row:first-child .case-summary h3{font-size:1.65rem;font-weight:550;letter-spacing:-.035em;max-width:none;margin:0 0 7px;line-height:1.2}.case-summary h3 a{display:block}.case-summary>p.case-role{font-size:1.05rem;margin:0;line-height:1.4;color:var(--muted)}.case-summary .case-domain{font-size:.9375rem;margin:3px 0 0;color:var(--muted)}.case-link{display:inline-flex;align-items:center;gap:10px;color:var(--accent);font-size:1rem;font-weight:500;min-height:44px}.case-row:first-child .case-summary{padding:34px 38px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.case-row:first-child .case-link{margin-top:8px}.case-row:not(:first-child) .case-link{float:none;margin-top:14px}.case-link svg,.quiet-link svg,.essay-link>svg{transition:transform 200ms var(--ease-out-quint)}.case-link:hover svg,.quiet-link:hover svg,.essay-link:hover>svg{transform:translateX(4px)}body[data-theme=dark] .case-row:first-child{background:#39333f}body[data-theme=dark] .project-visual{color:#514267}
.about-grid{grid-template-columns:1fr 1fr;gap:64px}.background-experience>.section-label{font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}.background-experience article{display:grid;grid-template-columns:28px 1fr;gap:16px;margin-bottom:26px}.background-index{font-size:.625rem;color:var(--accent);padding-top:3px}.background-experience h4{font-size:.9375rem;line-height:1.45;letter-spacing:-.02em}.background-experience p{font-size:.8125rem;line-height:1.65;color:var(--muted);margin-top:10px}.background-experience p.background-role{font-size:.625rem;margin-top:5px;color:var(--accent)}
.parallel-career{margin-top:60px;padding-top:40px;border-top:1px solid var(--line)}.career-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:32px}.career-heading .section-label{margin-bottom:12px}.career-heading h3{font-size:1.6rem}.career-axis{margin-inline-start:270px;display:flex;justify-content:space-between;color:var(--muted);font-size:.6875rem;margin-bottom:18px}.career-tracks{list-style:none;margin:0;padding:0}.career-tracks li{display:grid;grid-template-columns:240px 1fr;gap:30px;align-items:center;margin-bottom:18px;min-height:60px}.track-label h4{font-size:.875rem;line-height:1.4;letter-spacing:-.02em}.track-label p{font-size:.625rem;color:var(--muted);margin-top:4px}.track-lane{background:repeating-linear-gradient(90deg,var(--line) 0 1px,transparent 1px 25%);min-height:60px;display:flex;align-items:center;padding-block:8px}.track-bar{position:relative;display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;width:var(--span);margin-inline-start:var(--start);padding:10px 14px;border-radius:6px;font-size:.6875rem;background:#e7e1ef;color:#473957;transform-origin:left;transition:filter 180ms,box-shadow 180ms}.track-bitasei .track-bar{background:#e3e8df;color:#3e4e36}.track-duchess .track-bar{background:#eae2e9;color:#564653}.track-bar:hover{box-shadow:0 4px 12px #29283112;filter:brightness(.97)}.track-bar svg{width:14px}.timeline-note{font-size:.6875rem;color:var(--muted);margin-top:16px}
.practice-toolkit{display:block}.practice{max-width:78ch}.toolkit-section{padding:28px;margin-bottom:64px;background:#efedf4;border:1px solid #d6d0e2;border-radius:18px}.toolkit-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.toolkit-heading h2{font-size:1.75rem}.toolkit-heading>p{color:var(--muted);font-size:.9375rem}.toolkit-groups{display:grid;grid-template-columns:1fr 1.25fr .85fr .9fr;gap:18px}.tool-group{border:1px solid #d6d0e2;border-radius:12px;padding:22px 16px;min-width:0}.tool-group h3{font-size:1.2rem}.tool-group>p{font-size:.8125rem;color:var(--muted);margin-top:6px}.tool-group .logo-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 8px;list-style:none;margin:28px 0 0;padding:0}.tool-group:nth-child(3) .logo-list,.tool-group:nth-child(4) .logo-list{grid-template-columns:repeat(2,minmax(0,1fr))}.tool-group .logo-list li{display:flex;flex-direction:column;align-items:center;gap:9px;font-size:.6875rem;min-width:0}.tool-group .logo-mark{display:grid;place-items:center;width:38px;height:38px;transition:transform 250ms var(--ease-out-quint)}.tool-group .logo-mark img{width:32px;height:32px;object-fit:contain}.tool-group .logo-list li:hover .logo-mark{transform:translateY(-4px)}.logo-mark:has(img[src*="miro"]){background:#ffda26;border-radius:7px}.tool-group .logo-mark:has(img[src*="miro"]) img{width:27px;height:27px}.sql-note{font-size:.8125rem;color:var(--muted);text-align:right;max-width:none;margin-top:20px}body[data-theme=dark] .toolkit-section{background:var(--surface);border-color:var(--line)}body[data-theme=dark] .tool-group{background:#2c2934;color:var(--ink);border-color:var(--line)}body[data-theme=dark] .tool-group>p{color:var(--muted)}body[data-theme=dark] .logo-mark img{filter:none}
@keyframes enter-rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes art-arrive{from{opacity:0;transform:translateY(16px) rotate(-3deg) scale(.96)}to{opacity:1;transform:none}}@keyframes track-arrive{from{transform:scaleX(.04);opacity:.2}to{transform:scaleX(1);opacity:1}}
@media(prefers-reduced-motion:no-preference){.hero-name{animation:enter-rise 600ms var(--ease-out-quint) both}.identity>.section-label{animation:enter-rise 600ms var(--ease-out-quint) 80ms both}.personal-intro h1{animation:enter-rise 700ms var(--ease-out-quint) 160ms both}.intro-note{animation:enter-rise 700ms var(--ease-out-quint) 260ms both}.hero-art{animation:art-arrive 800ms var(--ease-out-quint) 200ms both}.reveal-enter{animation:enter-rise 650ms var(--ease-out-quint) both}.parallel-career.reveal-enter .track-bar{animation:track-arrive 700ms var(--ease-out-quint) both}.parallel-career.reveal-enter li:nth-child(2) .track-bar{animation-delay:100ms}.parallel-career.reveal-enter li:nth-child(3) .track-bar{animation-delay:200ms}details[open]>.logo-list,details[open]>div{animation:enter-rise 250ms var(--ease-out-quint)}#mobile-nav:not([hidden]),#ask-panel:not([hidden]){animation:enter-rise 220ms var(--ease-out-quint)}.copy-status:not(:empty){animation:enter-rise 200ms var(--ease-out-quint)}}
@media(max-width:1050px){.personal-intro{grid-template-columns:1.35fr 1fr;gap:0;min-height:480px}.personal-intro h1{font-size:clamp(2.5rem,4.4vw,3.5rem)}.hero-art img{height:380px;margin:0}.hero-art{min-height:400px}.hero-art figcaption{font-size:.75rem;top:auto;bottom:0;right:10px}.hero-art figcaption span{display:none}.hero-name{gap:12px;flex-wrap:wrap}.case-row:first-child .case-summary{padding:24px}.case-summary h3,.case-row:first-child .case-summary h3{font-size:1.35rem}.case-row:not(:first-child) .case-link{float:none;margin-top:8px}.section-heading h2{font-size:2.2rem}.section-heading>p{font-size:1rem}.about-grid{gap:36px}.career-axis{margin-inline-start:220px}.career-tracks li{grid-template-columns:200px 1fr;gap:20px}.track-bar{padding:10px;font-size:.625rem}.track-bar svg{display:none}.logo-list{gap:12px}.logo-mark{width:56px;height:56px}.logo-mark img{width:48px;height:48px}.logo-list li{font-size:.8125rem}}
@media(max-width:720px){.home-page .site-header{justify-content:space-between;min-height:80px}.personal-intro{grid-template-columns:1fr;min-height:0;padding-block:28px 36px;gap:18px}.hero-name{font-size:.75rem;letter-spacing:.07em}.hero-status{font-size:.625rem}.personal-intro h1{font-size:clamp(2.25rem,7.7vw,3.5rem)}.personal-intro .section-label{font-size:.8125rem;margin-bottom:24px}.intro-note>p:not(.intro-lead):not(.availability){font-size:1rem}.hero-art{min-height:0;max-width:none;width:100%;margin:0;flex-direction:column;gap:12px}.hero-art img{height:320px;max-width:100%}.hero-art figcaption{position:static;max-width:none;text-align:center;font-size:.6875rem}.hero-art figcaption strong{max-width:none}.section-heading{grid-template-columns:1fr;gap:16px;margin-bottom:24px}.section-heading h2{font-size:2rem}.case-list{grid-template-columns:1fr;gap:30px}.case-row:first-child{grid-column:auto;display:flex;gap:0;margin:0}.case-summary h3,.case-row:first-child .case-summary h3{font-size:1.5rem}.case-row:first-child .project-visual,.case-row:not(:first-child) .project-visual{min-height:0;aspect-ratio:2.5}.case-row:first-child .case-summary{padding:24px}.case-summary>p.case-role{font-size:1rem}.case-link{font-size:.9375rem}.case-row:not(:first-child) .case-link{margin-top:8px}.section-heading>p{font-size:.9375rem}.about-grid{grid-template-columns:1fr;gap:40px}.parallel-career{margin-top:32px;padding-top:32px}.career-heading{display:block}.career-heading h3{font-size:1.5rem}.career-heading .quiet-link{margin-top:12px}.career-axis{display:flex;margin-inline-start:0}.career-tracks li{display:block;margin-bottom:24px}.track-label{margin-bottom:10px}.track-label h4{font-size:.9375rem}.track-label p{font-size:.6875rem}.track-lane{min-height:44px;padding:0}.track-bar{margin-inline-start:var(--start);width:var(--span);font-size:.625rem;padding:8px 6px}.track-bar svg{display:none}.timeline-note{font-size:.625rem}.core-toolkit{padding:24px 18px 40px}.toolkit-heading{display:block}.toolkit-heading h2{font-size:1.6rem}.toolkit-heading>p{font-size:.875rem;margin-top:10px}.logo-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 8px}.logo-mark{width:50px;height:50px}.logo-mark img{width:44px;height:44px}.logo-list li{font-size:.6875rem}.toolkit-section{padding-bottom:48px}.more-tools>div{padding:24px 18px}.rest-heading{display:block}.rest-heading p{margin-top:8px;font-size:.8125rem}.sql-note{text-align:left}.more-tools>summary{font-size:.875rem}}
@media(prefers-reduced-motion:reduce){.reveal-enter,.parallel-career.reveal-enter .track-bar,.hero-art,.identity>*{animation:none!important;opacity:1!important;transform:none!important}.logo-list li:hover .logo-mark,.project-visual:hover .visual-motif span{transform:none!important}.button:active{scale:1}}
.case-summary .case-contribution{font-size:.9375rem;line-height:1.6;color:var(--muted);margin-top:5px;max-width:54ch}.case-row:not(:first-child) .case-summary{display:flex;flex-direction:column;align-items:flex-start;flex:1}.case-row:not(:first-child) .case-link{margin-top:4px;padding-top:0}.case-row:not(:first-child) .case-contribution{margin-bottom:8px}.about-grid>.parallel-career{margin:0;padding:0;border:0;min-width:0}.about-grid .career-heading h3{font-size:1.75rem}.about-grid .career-axis{margin-inline-start:0}.about-grid .career-tracks li{display:block;margin-bottom:22px}.about-grid .track-label{margin-bottom:8px}.about-grid .track-label h4{font-size:.9375rem}.about-grid .track-label p{font-size:.6875rem}.about-grid .track-lane{min-height:44px;padding:0}.about-grid .track-bar{white-space:nowrap;font-size:.625rem;padding:8px 10px}.about-grid .track-bar svg{display:none}.about-grid .quiet-link{font-size:.8125rem;display:inline-flex;margin-top:18px}.essay-link .essay-summary{margin-top:10px;font-size:.875rem;line-height:1.6;color:var(--muted);max-width:56ch}.essay-link{align-items:center}.essay-link>svg{margin-top:0}.featured-essay{align-self:stretch;min-height:300px}.essay-list{gap:0}.essay-link:first-child{padding-bottom:22px}.visual-duchess svg{font-weight:500}
@media(max-width:1050px){.toolkit-groups{grid-template-columns:1fr 1fr}.tool-group .logo-list{grid-template-columns:repeat(3,minmax(0,1fr))}.tool-group:nth-child(3) .logo-list,.tool-group:nth-child(4) .logo-list{grid-template-columns:repeat(3,minmax(0,1fr))}.tool-group{padding:22px}.about-grid{grid-template-columns:1fr 1fr;gap:36px}}
@media(max-width:720px){.about-grid{grid-template-columns:1fr}.toolkit-section{padding:22px 18px;margin-bottom:48px}.toolkit-heading{display:block}.toolkit-heading>p{margin-top:10px}.toolkit-groups{grid-template-columns:1fr;gap:14px}.tool-group{padding:20px}.tool-group .logo-list{margin-top:22px}.tool-group .logo-list li{font-size:.75rem}.sql-note{text-align:left}.about-grid .career-axis{display:flex;font-size:.6875rem}.about-grid .track-bar{font-size:clamp(.625rem,2.7vw,.75rem);padding:8px 6px}.about-grid .timeline-note{margin-top:18px}.featured-essay{min-height:300px}.essay-link .essay-summary{font-size:.875rem}.case-summary .case-contribution{font-size:.9375rem}.case-row:first-child .case-summary{padding:24px}.visual-duchess{aspect-ratio:2.3!important}}
.case-link{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}.about-note{display:flex;flex-direction:column;align-items:flex-start}.about-note>.button{margin-top:auto}.about-note>p:not(.section-label){margin-bottom:22px}.process-steps{margin-bottom:0}.toolkit-heading>p{max-width:48ch}.project-visual>svg{overflow:visible}@media(max-width:720px){.about-note>.button{margin-top:8px}.about-note>p:not(.section-label){margin-bottom:18px}}
@media print{.site-header,.site-footer,#ask-panel,.resume-actions,.contents,.skip{display:none!important}.wrap{width:100%;max-width:none}.resume-top{padding:0 0 24px}.resume-body section{break-inside:avoid}body{background:white;color:#202b26;font-size:11pt}.button{display:none}.reading-body p,.resume-body p,.resume-body li{color:#202b26}a{text-decoration:none}}

/* Dark surfaces keep the lavender, sage and stone project palette. */
body[data-theme=dark] .visual-bitasei{background:#3a3246;color:#c9b6df}
body[data-theme=dark] .visual-duchess{background:#2d3d36;color:#a9c3b3}
body[data-theme=dark] .visual-frontline{background:#393837;color:#c9c5bf}
body[data-theme=dark] .project-visual svg [stroke]{stroke:currentColor}
body[data-theme=dark] .visual-bitasei svg [fill]{fill:#51445f}
body[data-theme=dark] .visual-bitasei svg circle[r="6"]{fill:#d2bce8}
body[data-theme=dark] .visual-duchess svg [fill]{fill:#4b6255}
body[data-theme=dark] .visual-duchess svg circle[r="29"]{fill:#2d3d36}
body[data-theme=dark] .visual-duchess svg circle[r="8"]{fill:#b7d2c1}
body[data-theme=dark] .visual-frontline svg [fill]{fill:#595651}
body[data-theme=dark] .visual-frontline svg rect:first-child{fill:#46443f}
body[data-theme=dark] .visual-frontline svg rect:nth-child(2){fill:#504d48}
body[data-theme=dark] .featured-essay{background:#2e3b33;color:#e8f0e9}
body[data-theme=dark] .featured-essay .writing-date,body[data-theme=dark] .featured-essay>p{color:#bdcdbf}
body[data-theme=dark] .essay-art i{border-color:#a6bda9;background:#a6bda914}
body[data-theme=dark] .track-bar{background:#453950;color:#eadff3}
body[data-theme=dark] .track-bitasei .track-bar{background:#35483b;color:#dae9dc}
body[data-theme=dark] .track-duchess .track-bar{background:#4b3949;color:#efdfeb}
body[data-theme=dark] .tool-group img:is([src*="notion"],[src*="v0."],[src*="bolt"],[src*="cursor"]){filter:invert(1)}
.copy-status:empty{display:none}

/* v14: caption sits under the sculpture on tablet widths so it never covers the base. */
@media(min-width:721px) and (max-width:1050px){.hero-art{flex-direction:column;justify-content:center;gap:12px}.hero-art figcaption{position:static;text-align:center}}
#answer .answer-more{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
#answer .answer-more button{padding:8px 12px;min-height:40px;background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:999px;font-size:.75rem}
#answer .answer-more button:hover{border-color:var(--accent)}
#answer .asked{color:var(--muted);font-size:.75rem;margin-bottom:10px}

/* v15: floating "Ask Qazeem" launcher, bottom right. */
.ask-launch{position:fixed;right:24px;bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:29;display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:12px 18px;border:0;border-radius:999px;background:var(--accent);color:var(--paper);font-size:.875rem;font-weight:500;text-decoration:none;box-shadow:0 10px 30px #20203033;transition:transform 150ms ease-out,box-shadow 150ms ease-out}
.ask-launch:hover{transform:translateY(-2px);box-shadow:0 14px 36px #20203040}
.ask-launch:active{transform:scale(.97)}
.ask-launch[aria-expanded=true]{display:none}
.ask-header{align-items:center;margin-bottom:18px}.ask-header strong{font-size:1.0625rem}.ask-close{margin:-10px -10px -10px 0}
.site-footer{padding-bottom:96px}
@media(max-width:440px){.ask-launch{right:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px))}}
@media(prefers-reduced-motion:reduce){.ask-launch{transition:none}}
@media print{.ask-launch{display:none!important}}
