@charset "UTF-8";
:root{color-scheme:light;--paper:#f3efe5;--surface:#faf7f0;--ink:#2c2c25;--ink-muted:#64645a;--line:#d2d0c4;--line-strong:#a6a99a;--olive:#4b5940;--olive-soft:#e2e6d9;--accent:#a3492e;--glass:rgba(250,247,240,.76);--glass-edge:rgba(255,255,255,.88);--shadow:0 5px 24px rgba(44,44,37,.04);--sans:Arial,Helvetica,sans-serif;--serif:Georgia,'Times New Roman',serif;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--s9:96px;--radius:18px;--pill:999px;--tap:44px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px;background:var(--paper)}body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.55 var(--sans);-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-underline-offset:4px}button{font:inherit;cursor:pointer}button,a{touch-action:manipulation}button:disabled{cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid var(--olive);outline-offset:4px}[hidden]{display:none!important}::selection{background:var(--olive);color:var(--surface)}.page-shell{width:min(1440px,100%);margin:auto;padding:0 var(--s7)}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;top:12px;left:12px;z-index:10;transform:translateY(-180%);background:var(--ink);color:var(--surface);padding:12px 20px;border-radius:var(--pill)}.skip-link:focus{transform:none}
.site-header{min-height:120px;display:flex;align-items:center;justify-content:space-between;gap:var(--s5);border-bottom:1px solid var(--line)}.wordmark{display:inline-flex;align-items:center;gap:var(--s3);text-decoration:none;font-size:12px;font-weight:700;line-height:1.15;text-transform:uppercase;letter-spacing:.1em;min-height:var(--tap)}.wordmark-symbol{display:grid;place-items:center;border:1px solid var(--ink);border-radius:50%;width:43px;height:43px;font:italic 34px/.7 var(--serif);text-transform:none;letter-spacing:-.09em;padding-right:6px;padding-bottom:6px}.header-links{display:flex;align-items:center;gap:var(--s5)}.linkedin-badge{display:inline-flex;align-items:center;gap:var(--s2);min-height:var(--tap);font-size:13px;font-weight:700;text-decoration:none}.linkedin-icon{display:inline-grid;place-items:center;background:var(--ink);color:var(--surface);width:20px;height:20px;font-size:14px;line-height:1;border-radius:3px;letter-spacing:-.06em;padding-right:1px}.arrow{font-size:17px;font-weight:400}.apps-link{display:inline-flex;align-items:center;gap:var(--s2);min-height:var(--tap);font-size:12px;color:var(--ink-muted);text-decoration:none;padding-left:var(--s5);border-left:1px solid var(--line)}.apps-link svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.4}.header-links a:hover{text-decoration:underline}
.hero{display:grid;grid-template-columns:minmax(0,1fr) 27%;gap:var(--s6);padding:var(--s8) 0 var(--s8);align-items:end;min-height:620px}.eyebrow{font-size:11px;font-weight:700;line-height:1.5;letter-spacing:.12em;text-transform:uppercase;margin:0}.hero .eyebrow{display:flex;gap:var(--s2);align-items:center;margin-bottom:var(--s6)}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--olive)}h1,h2,h3,p{margin-top:0}h1{font-family:var(--serif);font-size:clamp(88px,11.4vw,164px);line-height:.84;font-weight:400;letter-spacing:-.07em;margin:0 0 0 -.065em}h1>span{font-family:var(--sans);font-size:1.18em;line-height:.95;letter-spacing:-.085em;font-weight:800}.name-period{color:var(--accent)}.hero-aside{padding-bottom:var(--s2)}.hero-description{font:400 clamp(18px,1.7vw,24px)/1.35 var(--sans);letter-spacing:-.035em;margin:var(--s6) 0 var(--s5)}.explore-link{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);font-size:12px;min-height:var(--tap);border-top:1px solid var(--line-strong);text-decoration:none;padding-top:var(--s2);max-width:240px}.explore-link span{font-size:24px;font-family:var(--serif)}.explore-link:hover{color:var(--olive)}.practice-mark{width:min(220px,100%);height:208px;position:relative;border:1px solid var(--line-strong);border-radius:50% 50% 0 0;overflow:hidden;background:linear-gradient(125deg,rgba(255,255,255,.44),transparent 70%)}.practice-mark:before{content:"";position:absolute;width:158px;height:158px;border:1px solid var(--line-strong);border-radius:50%;left:32px;top:24px}.mark-top,.mark-bottom{position:absolute;font:400 98px/1 var(--serif);letter-spacing:-.06em}.mark-top{top:10px;left:33px}.mark-bottom{top:57px;left:102px;transform:rotate(9deg);font-style:italic}.mark-line{height:1px;background:var(--line-strong);width:120%;position:absolute;top:106px;left:-10%;transform:rotate(-36deg)}.mark-caption{position:absolute;left:16px;bottom:13px;font-size:9px;line-height:1.2;text-transform:uppercase;letter-spacing:.08em}
.collection{padding-bottom:var(--s9);outline:none}.collection-topline{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);margin-bottom:var(--s4)}.collection-note{font-family:var(--serif);font-size:15px;font-style:italic;color:var(--ink-muted)}.section-nav{display:grid;grid-template-columns:1fr 1fr 1.45fr 1fr;gap:var(--s2);padding:var(--s2);border:1px solid var(--line);border-radius:var(--pill);box-shadow:inset 0 1px 0 var(--glass-edge),var(--shadow);background:var(--surface)}@supports(backdrop-filter:blur(12px)){.glass{background:var(--glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}}.section-nav a{display:flex;align-items:center;justify-content:center;gap:var(--s3);min-height:56px;border-radius:var(--pill);text-decoration:none;font-size:14px;font-weight:700;white-space:nowrap;border:1px solid transparent;transition:background .18s,color .18s}.nav-number{font-size:10px;font-weight:400;letter-spacing:.03em;color:var(--ink-muted)}.section-nav a:hover{background:var(--olive-soft)}.section-nav a[aria-current=page]{background:var(--ink);color:var(--surface);box-shadow:0 2px 6px rgba(44,44,37,.12)}.section-nav a[aria-current=page] .nav-number{color:#cbcbbf}.nav-count{font-size:10px;opacity:.7;min-width:1ch;font-weight:400}.nav-count:empty{display:none}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--s7);padding:var(--s7) 0 var(--s6)}.section-kicker{color:var(--ink-muted);margin-bottom:var(--s3)}h2{font-family:var(--serif);font-weight:400;font-size:clamp(42px,5vw,64px);line-height:1;letter-spacing:-.055em;margin:0}.heading-period{color:var(--accent)}.section-heading>p{max-width:320px;font-size:14px;line-height:1.6;color:var(--ink-muted);margin:0 0 3px}.art-filters{display:flex;gap:var(--s2);flex-wrap:wrap;margin:0 0 var(--s6)}.art-filters button,.reset-filter,.retry-button{min-height:var(--tap);border:1px solid var(--line-strong);border-radius:var(--pill);padding:9px 18px;background:var(--surface);box-shadow:inset 0 1px 0 var(--glass-edge);color:var(--ink);font-size:12px;line-height:1.3;transition:background .18s,border-color .18s}.art-filters button:hover,.reset-filter:hover,.retry-button:hover{background:var(--olive-soft);border-color:var(--olive)}.art-filters button[aria-pressed=true]{background:var(--olive);color:var(--surface);border-color:var(--olive);box-shadow:none}.collection-content{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s5);min-height:220px}
.resume-card{grid-column:1/-1;display:grid;grid-template-columns:240px 1fr auto;gap:var(--s7);position:relative;align-items:center;min-height:310px;background:var(--ink);color:var(--surface);border:1px solid var(--ink);border-radius:var(--radius);padding:var(--s7);text-decoration:none;overflow:hidden}.resume-card:hover .resume-action{text-decoration:underline}.resume-card:focus-visible{outline-offset:5px}.document-mark{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s2);padding:var(--s5);width:170px;height:216px;transform:rotate(-7deg);background:var(--paper);color:var(--ink);box-shadow:6px 8px 0 rgba(255,255,255,.1);margin:auto}.document-mark>span:first-child{font:400 36px/1 var(--serif);letter-spacing:-.08em;margin-bottom:var(--s5)}.document-mark i{display:block;height:1px;width:100%;background:var(--line-strong)}.document-mark i:nth-of-type(2){width:80%}.document-mark i:nth-of-type(4){width:60%}.document-mark-footer{font-size:9px;letter-spacing:.1em;text-transform:uppercase;margin-top:auto}.resume-copy .eyebrow{color:#cecec3;font-size:10px}.resume-copy h3{font:400 56px/1.1 var(--serif);letter-spacing:-.035em;margin:var(--s3) 0 var(--s3)}.resume-copy p{font-size:14px;color:#cecec3;margin-bottom:var(--s5)}.resume-action{display:inline-flex;align-items:center;gap:var(--s6);font-size:13px;font-weight:700;min-height:var(--tap)}.resume-action span{font-size:20px;font-weight:400}.resume-index{align-self:start;font:400 14px/1 var(--serif);color:#cecec3}
.project-card{min-width:0;border-top:1px solid var(--line-strong);padding-top:var(--s4)}.project-card a{display:block;text-decoration:none;min-height:var(--tap)}.project-card a:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}.project-visual{aspect-ratio:4/3;border-radius:10px;overflow:hidden;background:var(--olive-soft);margin-bottom:var(--s5);display:grid;place-items:center;border:1px solid var(--line)}.project-visual img{display:block;object-fit:cover;width:100%;height:100%}.file-visual{width:58px;height:72px;border:1px solid var(--line-strong);display:flex;align-items:flex-end;padding:8px;font-size:10px;text-transform:uppercase;letter-spacing:.08em;background:var(--surface);transform:rotate(-5deg)}.web-visual{width:74%;height:65%;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);display:grid;place-items:center;font:400 30px/1 var(--serif);color:var(--olive);position:relative}.web-visual:before{content:"";height:12px;border-bottom:1px solid var(--line);position:absolute;top:0;left:0;right:0}.project-meta{display:flex;gap:var(--s2);justify-content:space-between;color:var(--ink-muted);font-size:10px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:var(--s2)}.project-card h3{font:400 27px/1.2 var(--serif);letter-spacing:-.03em;margin-bottom:var(--s3);display:flex;gap:var(--s3);justify-content:space-between;overflow-wrap:anywhere}.project-card h3 span{font-family:var(--sans);font-size:20px;font-weight:400;flex:none}.project-card p{font-size:14px;color:var(--ink-muted);margin:0;overflow-wrap:anywhere}.project-type{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);margin-top:var(--s4);display:block}.empty-state,.error-state{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:var(--s6);padding:var(--s7);min-height:230px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(125deg,rgba(255,255,255,.32),transparent 80%)}.empty-copy{max-width:520px}.empty-state h3,.error-state h3{font:400 32px/1.15 var(--serif);letter-spacing:-.04em;margin:0 0 var(--s3)}.empty-state p,.error-state p{font-size:14px;color:var(--ink-muted);margin:0;max-width:470px}.empty-symbol{font:italic 88px/1 var(--serif);color:var(--line-strong);flex:none;user-select:none}.empty-state .reset-filter,.error-state .retry-button{margin-top:var(--s5)}.error-state{border-color:var(--accent)}.error-state .eyebrow{color:var(--accent);margin-bottom:var(--s3)}.loading-state{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:var(--s3);font-size:13px;color:var(--ink-muted);min-height:140px}.loading-dot{width:7px;height:7px;background:var(--olive);border-radius:50%;animation:pulse 1.4s ease-in-out infinite}.notice{padding:var(--s5);border:1px solid var(--line);border-radius:var(--radius);font-size:14px}.site-footer{border-top:1px solid var(--line-strong);padding:var(--s6) 0 var(--s7);display:grid;grid-template-columns:1fr 1fr;gap:var(--s5);align-items:start}.footer-name{font:400 32px/1.2 var(--serif);letter-spacing:-.05em;text-decoration:none;display:inline-flex;align-items:center;gap:var(--s5);min-height:var(--tap);justify-self:start}.footer-name span{font-family:var(--sans);font-size:22px}.site-footer>p{font-size:12px;color:var(--ink-muted);text-align:right;margin:var(--s3) 0 0}.footer-credit{grid-column:1/-1;color:var(--ink-muted);font-size:10px;letter-spacing:.1em;text-transform:uppercase}@keyframes pulse{50%{opacity:.3}}
@media(min-width:1440px){.hero{min-height:700px}.hero-aside{padding-left:var(--s5)}}
@media(max-width:960px){.page-shell{padding:0 var(--s6)}.hero{min-height:520px;grid-template-columns:minmax(0,1fr) 30%;padding:var(--s8) 0}.practice-mark{height:180px}.mark-top{font-size:78px;left:25px}.mark-bottom{font-size:78px;left:80px;top:55px}.practice-mark:before{left:20px;top:20px;width:135px;height:135px}.hero-description{font-size:18px}.section-nav a{gap:var(--s2);font-size:12px}.nav-number{display:none}.resume-card{grid-template-columns:180px 1fr auto;padding:var(--s6);gap:var(--s6)}.collection-content{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.page-shell{padding:0 var(--s5)}.site-header{min-height:94px;gap:var(--s4)}.wordmark{font-size:10px;gap:var(--s2)}.wordmark-symbol{width:35px;height:35px;font-size:28px}.header-links{gap:var(--s3)}.linkedin-badge{font-size:11px;gap:6px}.linkedin-badge>.arrow{display:none}.apps-link{font-size:11px;padding-left:var(--s3);gap:5px}.apps-link svg{width:16px}.hero{grid-template-columns:1fr;gap:var(--s6);min-height:0;padding:var(--s7) 0 var(--s7)}h1{font-size:clamp(76px,20vw,126px)}.hero .eyebrow{font-size:10px;margin-bottom:var(--s6)}.hero-aside{display:grid;grid-template-columns:1fr 1fr;gap:var(--s4);align-items:end;padding:0}.practice-mark{display:none}.hero-description{margin:0;font-size:16px;line-height:1.35}.explore-link{font-size:10px;max-width:none;gap:var(--s2);padding:var(--s2) 0;min-height:var(--tap)}.explore-link span{font-size:20px}.collection-topline{margin-bottom:var(--s3)}.collection-topline .eyebrow{font-size:9px}.collection-note{font-size:12px}.section-nav{grid-template-columns:1fr 1fr;gap:var(--s1);padding:6px;border-radius:24px}.section-nav a{min-height:48px;gap:var(--s2);font-size:12px}.nav-count{font-size:9px}.section-heading{display:block;padding:var(--s6) 0 var(--s5)}.section-kicker{font-size:9px;margin-bottom:var(--s2)}h2{font-size:43px}.section-heading>p{font-size:13px;max-width:100%;margin:var(--s4) 0 0}.art-filters{gap:6px;margin-bottom:var(--s5)}.art-filters button{font-size:11px;padding:8px 13px;min-height:44px}.collection-content{grid-template-columns:1fr;gap:var(--s6)}.resume-card{min-height:250px;grid-template-columns:90px 1fr;gap:var(--s5);padding:var(--s5);border-radius:14px}.document-mark{width:88px;height:128px;padding:var(--s3);gap:6px}.document-mark>span:first-child{font-size:23px;margin-bottom:var(--s3)}.document-mark-footer{font-size:7px}.resume-index{position:absolute;right:20px;top:20px;font-size:10px}.resume-copy .eyebrow{font-size:8px}.resume-copy h3{font-size:39px;margin-top:var(--s3)}.resume-copy p{font-size:12px;margin-bottom:var(--s3)}.resume-action{font-size:11px;gap:var(--s4)}.resume-action span{font-size:18px}.empty-state,.error-state{padding:var(--s5);gap:var(--s4);min-height:220px;border-radius:14px}.empty-state h3,.error-state h3{font-size:27px}.empty-state p,.error-state p{font-size:13px}.empty-symbol{font-size:58px}.collection{padding-bottom:var(--s8)}.site-footer{grid-template-columns:1fr;gap:var(--s4);padding:var(--s5) 0 var(--s6)}.footer-name{font-size:29px}.site-footer>p{text-align:left;margin:0}.footer-credit{margin-top:var(--s3)}.project-card h3{font-size:28px}.project-visual{margin-bottom:var(--s4)}}
@media(max-width:359px){.page-shell{padding:0 var(--s4)}.header-links{gap:var(--s2)}.apps-link{padding-left:var(--s2)}.apps-link>span{max-width:38px;line-height:1.2}.hero-description{font-size:14px}.resume-card{padding:var(--s4);gap:var(--s4);grid-template-columns:78px 1fr}.document-mark{width:72px;height:114px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media(prefers-reduced-transparency:reduce),(prefers-contrast:more){.glass{background:var(--surface);backdrop-filter:none;-webkit-backdrop-filter:none}.art-filters button{background:var(--surface)}.art-filters button[aria-pressed=true]{background:var(--olive)}.empty-state,.error-state,.practice-mark{background:var(--surface)}:root{--line:#9a9b90;--line-strong:#777c6e}}
@media(forced-colors:active){.glass,.resume-card,.document-mark,.project-visual,.empty-state,.error-state{background:Canvas;color:CanvasText;border-color:CanvasText;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.section-nav a[aria-current=page],.art-filters button[aria-pressed=true]{border-color:Highlight;outline:1px solid Highlight;color:CanvasText}.name-period,.heading-period,.resume-copy p,.resume-copy .eyebrow{color:CanvasText}.linkedin-icon,.status-dot,.loading-dot{background:CanvasText;color:Canvas}button:focus-visible,a:focus-visible{outline-color:Highlight}}
