:root{--paper:#f4efe6;--paper-deep:#e9e1d4;--desk:#e4dccd;--sheet-2:#efe9de;--sheet-3:#e9e2d5;--sheet-edge:#5e534633;--grain:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.24 0 0 0 0 0.19 0 0 0 0 0.13 0 0 0 0.16 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)'/%3E%3C/svg%3E");--fibers:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='600'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.004 0.5' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.35 0 0 0 0 0.29 0 0 0 0 0.2 0 0 0 0.1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)'/%3E%3C/svg%3E");--surface:#fffcf6b3;--ink:#151515;--muted:#66615b;--subtle:#8d867e;--line:#cfc5b7;--red:#b62f21;--green:#176b4a;--navy:#142d4c;--header:#f4efe6d1;--menu:#f4efe6fa;--wash-red:#b62f2112;--wash-navy:#142d4c0f;--grid-dot:#231d1714;--soft-fill:#fffcf685;--card-hover:#fffcf6c2;--inverse:#151515;--inverse-ink:#f4efe6;--logo-surface:#fff;--shadow:0 24px 70px #2c23181f;--sans:"Space Grotesk",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--serif:"Fraunces",Georgia,serif;--ease-out:cubic-bezier(0.22,1,0.36,1)}*,:after,:before{box-sizing:border-box}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;background-color:#e4dccd;background-color:var(--desk);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.24 0 0 0 0 0.19 0 0 0 0 0.13 0 0 0 0.16 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)'/%3E%3C/svg%3E"),url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='600'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.004 0.5' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.35 0 0 0 0 0.29 0 0 0 0 0.2 0 0 0 0.1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)'/%3E%3C/svg%3E");background-image:var(--grain),var(--fibers);color:#151515;color:var(--ink);font-family:Space Grotesk,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--sans);margin:0;min-width:320px;overflow-x:hidden;text-rendering:optimizeLegibility}body:after{background:radial-gradient(ellipse at 50% 0,#0000 55%,#3c302214);content:"";inset:0;pointer-events:none;position:fixed;z-index:-1}a,button{-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:inherit}img{display:block;max-width:100%}::selection{background:#b62f21;background:var(--red);color:#fff}:focus-visible{outline:2px solid #b62f21;outline:2px solid var(--red);outline-offset:4px}.portfolio-shell{min-height:100vh}main{background-color:#f4efe6;background-color:var(--paper);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.24 0 0 0 0 0.19 0 0 0 0 0.13 0 0 0 0.16 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)'/%3E%3C/svg%3E"),url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='600'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.004 0.5' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.35 0 0 0 0 0.29 0 0 0 0 0.2 0 0 0 0.1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)'/%3E%3C/svg%3E");background-image:var(--grain),var(--fibers);border:1px solid #5e534633;border:1px solid var(--sheet-edge);box-shadow:0 1px 2px #3c30220f,6px 6px 0 -1px #efe9de,6px 6px 0 0 #5e534633,12px 12px 0 -1px #e9e2d5,12px 12px 0 0 #5e534633,0 40px 80px -40px #2c23184d;box-shadow:0 1px 2px #3c30220f,6px 6px 0 -1px var(--sheet-2),6px 6px 0 0 var(--sheet-edge),12px 12px 0 -1px var(--sheet-3),12px 12px 0 0 var(--sheet-edge),0 40px 80px -40px #2c23184d;margin:28px auto 64px;padding:0 clamp(24px,4.5vw,64px) 8px;position:relative;width:min(1260px,calc(100% - 72px))}.skip-link{background:#151515;background:var(--ink);color:#fff;left:12px;padding:10px 14px;position:fixed;text-decoration:none;top:12px;transform:translateY(-150%);z-index:1000}.site-header,.skip-link:focus{transform:translateY(0)}.site-header{backdrop-filter:blur(18px) saturate(130%);-webkit-backdrop-filter:blur(18px) saturate(130%);background:#f4efe6d1;background:var(--header);border-bottom:1px solid #5e534633;position:-webkit-sticky;position:sticky;top:0;transition:transform .3s cubic-bezier(.22,1,.36,1),background .18s ease;transition:transform .3s var(--ease-out),background .18s ease;will-change:transform;z-index:100}.site-header.is-hidden{transform:translateY(calc(-100% - 3px))}.nav-shell{align-items:center;display:flex;gap:24px;justify-content:space-between;margin:0 auto;min-height:72px;width:min(1280px,calc(100% - 48px))}.scroll-progress{background:#b62f21;background:var(--red);bottom:-1px;height:2px;left:0;position:absolute;right:0;transform-origin:left;will-change:transform}.header-controls{align-items:center;display:flex;gap:8px}.brand{align-items:center;background:#0000;border:0;color:#151515;color:var(--ink);cursor:pointer;display:inline-flex;gap:11px;padding:0;text-align:left}.brand-mark{border:1px solid #151515;border:1px solid var(--ink);display:grid;font-family:Fraunces,Georgia,serif;font-family:var(--serif);font-size:12px;font-style:italic;font-weight:700;height:38px;place-items:center;transition:color .18s ease,background .18s ease,transform .18s ease;width:38px}.brand:hover .brand-mark{background:#151515;background:var(--ink);color:#f4efe6;color:var(--paper);transform:rotate(-3deg)}.brand-copy{display:flex;flex-direction:column}.brand-copy strong{font-size:13px;line-height:1.2}.brand-copy span{color:#66615b;color:var(--muted);font-size:9px;letter-spacing:.11em;margin-top:2px;text-transform:uppercase}.primary-nav{align-items:center;display:flex;gap:2px}.nav-resume,.primary-nav button{background:#0000;border:0;color:#66615b;color:var(--muted);cursor:pointer;font-family:Space Grotesk,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--sans);font-size:10px;font-weight:600;letter-spacing:.09em;padding:10px 9px;position:relative;text-decoration:none;text-transform:uppercase;transition:color .18s ease}.primary-nav button:after{background:#b62f21;background:var(--red);bottom:5px;content:"";height:1px;left:9px;position:absolute;right:9px;transform:scaleX(0);transform-origin:right;transition:transform .22s cubic-bezier(.22,1,.36,1);transition:transform .22s var(--ease-out)}.primary-nav button.is-active,.primary-nav button:hover{color:#151515;color:var(--ink)}.primary-nav button.is-active:after,.primary-nav button:hover:after{transform:scaleX(1);transform-origin:left}.nav-resume{border:1px solid #151515;border:1px solid var(--ink);color:#151515;color:var(--ink);margin-left:8px;padding:10px 13px;transition:color .18s ease,background .18s ease,transform .18s ease}.nav-resume:hover{background:#151515;background:var(--ink);color:#f4efe6;color:var(--paper);transform:translateY(-1px)}.menu-toggle{background:#0000;border:1px solid #151515;border:1px solid var(--ink);color:#151515;color:var(--ink);cursor:pointer;display:none;font-size:10px;font-weight:700;letter-spacing:.12em;min-height:44px;padding:9px 12px;text-transform:uppercase}section{scroll-margin-top:92px}.content-section{padding:108px 0 18px}.section-heading{grid-gap:64px;align-items:end;border-bottom:1px solid #151515;border-bottom:1px solid var(--ink);display:grid;gap:64px;grid-template-columns:minmax(0,1fr) minmax(260px,380px);margin-bottom:48px;padding-bottom:26px}.section-index{color:#b62f21;color:var(--red);display:block;font-size:10px;font-weight:700;letter-spacing:.22em;margin-bottom:13px;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Fraunces,Georgia,serif;font-family:var(--serif);font-weight:550}.section-heading h2{font-size:clamp(38px,5.3vw,66px);letter-spacing:-.04em;line-height:.98;margin-bottom:0}.section-heading p{color:#66615b;color:var(--muted);font-size:14px;line-height:1.65;margin-bottom:0}[data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s cubic-bezier(.22,1,.36,1);transition:opacity .7s ease,transform .7s var(--ease-out)}[data-reveal].is-visible{opacity:1;transform:translateY(0)}.button{align-items:center;border:1px solid #151515;border:1px solid var(--ink);color:#151515;color:var(--ink);display:inline-flex;font-size:10px;font-weight:700;gap:12px;justify-content:center;letter-spacing:.12em;min-height:46px;padding:13px 18px;text-decoration:none;text-transform:uppercase;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease}.button:hover{transform:translateY(-2px)}.button-primary{background:#151515;background:var(--ink);box-shadow:4px 4px 0 #b62f21;box-shadow:4px 4px 0 var(--red);color:#f4efe6;color:var(--paper)}.button-primary:hover{box-shadow:6px 6px 0 #b62f21;box-shadow:6px 6px 0 var(--red)}.tag-list{display:flex;flex-wrap:wrap;gap:7px}.tag-list span{border:1px solid #cfc5b7;border:1px solid var(--line);color:#66615b;color:var(--muted);font-size:9px;font-weight:600;letter-spacing:.07em;padding:5px 9px;text-transform:uppercase}.hero-section{grid-gap:68px;align-items:center;display:grid;gap:68px;grid-template-columns:minmax(0,1fr) 355px;min-height:calc(100vh - 72px);padding:clamp(84px,11vh,128px) 0 48px;position:relative}.hero-copy{position:relative;z-index:2}.availability,.upcoming-label{align-items:center;color:#66615b;color:var(--muted);display:flex;font-size:10px;font-weight:700;gap:9px;letter-spacing:.18em;text-transform:uppercase}.availability span,.upcoming-label span{background:#176b4a;background:var(--green);border-radius:50%;box-shadow:0 0 0 4px #176b4a1f;height:7px;width:7px}.hero-kicker{color:#151515;color:var(--ink);font-size:13px;font-weight:650;letter-spacing:.2em;margin:32px 0 16px;text-transform:uppercase}.hero-section h1{font-size:clamp(52px,7vw,94px);letter-spacing:-.055em;line-height:.94;margin-bottom:30px;max-width:820px}.contact-section h2 em,.hero-section h1 em{color:#b62f21;color:var(--red);font-weight:450}.hero-summary{color:#66615b;color:var(--muted);font-size:clamp(16px,1.6vw,19px);line-height:1.65;margin-bottom:0;max-width:680px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}.upcoming-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffcf6b3;background:var(--surface);border:1px solid #151515;border:1px solid var(--ink);box-shadow:10px 10px 0 #e9e1d4,11px 11px 0 #151515;box-shadow:10px 10px 0 var(--paper-deep),11px 11px 0 var(--ink);padding:30px;position:relative;z-index:2}.upcoming-card:before{background:#6da9d2;content:"";height:6px;position:absolute;right:-1px;top:-1px;width:64px}.upcoming-logo-wrap{align-items:center;background:#fff;background:var(--logo-surface);border:1px solid #cfc5b7;border:1px solid var(--line);display:flex;justify-content:center;margin:32px 0 28px;min-height:84px;padding:19px}.upcoming-logo-wrap img{height:auto;max-height:52px;object-fit:contain;width:min(186px,100%)}.goldman-fallback{color:#111;font-family:Georgia,Times New Roman,serif;font-size:31px;font-weight:700;letter-spacing:-.075em;line-height:.72;text-align:left}.upcoming-role{font-family:Fraunces,Georgia,serif;font-family:var(--serif);font-size:30px;letter-spacing:-.03em;line-height:1.08}.upcoming-company{color:#b62f21;color:var(--red);font-size:12px;font-weight:700;letter-spacing:.08em;margin-top:6px;text-transform:uppercase}.upcoming-card p{border-top:1px dashed #cfc5b7;border-top:1px dashed var(--line);color:#66615b;color:var(--muted);font-size:13px;line-height:1.55;margin:20px 0 0;padding-top:18px}.stat-strip{border-bottom:1px solid #151515;border-bottom:1px solid var(--ink);border-top:1px solid #151515;border-top:1px solid var(--ink);grid-column:1/-1;grid-template-columns:repeat(4,1fr);margin-top:22px}.practice-map,.stat-strip{display:grid;position:relative;z-index:2}.practice-map{grid-gap:32px;align-items:center;background:#fffcf6b3;background:var(--surface);border:1px solid #cfc5b7;border:1px solid var(--line);gap:32px;grid-column:1/-1;grid-template-columns:minmax(210px,.8fr) 170px minmax(0,1.45fr);margin:6px 0 0;padding:24px}.practice-map figcaption{border-right:1px solid #cfc5b7;border-right:1px solid var(--line);padding-right:24px}.practice-map figcaption span,.practice-map figcaption strong{display:block}.practice-map figcaption span{color:#b62f21;color:var(--red);font-size:8px;font-weight:750;letter-spacing:.16em;margin-bottom:5px;text-transform:uppercase}.practice-map figcaption strong{font-family:Fraunces,Georgia,serif;font-family:var(--serif);font-size:20px;font-weight:550;line-height:1.25}.practice-map figcaption p{color:#66615b;color:var(--muted);font-size:10px;line-height:1.5;margin:10px 0 0}.practice-graphic{display:grid;height:150px;place-items:center;position:relative;width:150px}.practice-core{background:#f4efe6;background:var(--paper);border:1px solid #b62f21;border:1px solid var(--red);border-radius:50%;color:#151515;color:var(--ink);display:grid;font:650 9px/1 Space Grotesk,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font:650 9px/1 var(--sans);height:74px;letter-spacing:.1em;place-items:center;position:relative;text-transform:uppercase;width:74px;z-index:2}.practice-orbit{border:1px solid #cfc5b7;border:1px solid var(--line);border-radius:50%;inset:16px;position:absolute}.practice-orbit-two{border-style:dashed;inset:1px}.practice-orbit:after,.practice-orbit:before{background:#b62f21;background:var(--red);border-radius:50%;content:"";height:8px;position:absolute;width:8px}.practice-orbit:before{left:calc(14.6% - 4px);top:calc(14.6% - 4px)}.practice-orbit:after{left:calc(93.3% - 4px);top:calc(75% - 4px)}.practice-orbit-two:before{left:-4px;top:calc(50% - 4px)}.practice-orbit-two:after{left:calc(85.4% - 4px);top:calc(14.6% - 4px)}.practice-pulse{animation:practice-pulse 4s ease-out infinite;border:1px solid #b62f21;border:1px solid var(--red);border-radius:50%;inset:0;opacity:0;position:absolute}.practice-areas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));list-style:none;margin:0;padding:0}.practice-area{border-left:1px solid #cfc5b7;border-left:1px solid var(--line);border-top:1px solid #cfc5b7;border-top:1px solid var(--line);min-height:76px;min-width:0;padding:12px 14px}.practice-area:nth-child(-n+2){border-top:0}.practice-area:nth-child(odd){border-left:0}.practice-area small,.practice-area strong,.practice-area>span{display:block}.practice-area>span{color:#b62f21;color:var(--red);font-size:7px;font-weight:750;letter-spacing:.14em;margin-bottom:6px}.practice-area strong{font-size:11px;line-height:1.3}.practice-area small{color:#8d867e;color:var(--subtle);font-size:7px;font-weight:650;letter-spacing:.06em;line-height:1.45;margin-top:4px;text-transform:uppercase}@keyframes practice-pulse{0%{opacity:.5;transform:scale(.46)}65%,to{opacity:0;transform:scale(1)}}.stat-item{border-right:1px solid #cfc5b7;border-right:1px solid var(--line);min-width:0;padding:20px 24px}.stat-item:last-child{border-right:0}.stat-item strong{display:block;font-family:Fraunces,Georgia,serif;font-family:var(--serif);font-size:34px;font-style:italic;line-height:1}.stat-item span{color:#66615b;color:var(--muted);display:block;font-size:9px;font-weight:650;letter-spacing:.11em;margin-top:8px;text-transform:uppercase}.circuit-field{inset:35px 0 35px 42%;opacity:.42;overflow:hidden;pointer-events:none;position:absolute;z-index:0}.circuit-field:before{background-image:linear-gradient(#b62f211f 1px,#0000 0),linear-gradient(90deg,#b62f211f 1px,#0000 0);background-size:28px 28px;content:"";inset:0;-webkit-mask-image:linear-gradient(270deg,#000,#0000 88%);mask-image:linear-gradient(270deg,#000,#0000 88%);position:absolute}.trace{border-color:#b62f21;border-color:var(--red);border-style:solid;opacity:.65;position:absolute}.trace:after{background:#f4efe6;background:var(--paper);border:1px solid #b62f21;border:1px solid var(--red);border-radius:50%;content:"";height:8px;position:absolute;width:8px}.trace-one{border-width:1px 0 0 1px;height:27%;right:3%;top:24%;width:72%}.trace-one:after{left:-5px;top:-5px}.trace-two{border-width:0 1px 1px 0;bottom:19%;height:22%;right:18%;width:58%}.trace-two:after{bottom:-5px;right:-5px}.chip-shape{border:1px solid #b62f21;border:1px solid var(--red);color:#b62f21;color:var(--red);display:grid;font:700 10px/1 JetBrains Mono,monospace;height:64px;letter-spacing:.18em;place-items:center;position:absolute;right:22%;top:33%;width:96px}.experience-list{border-top:1px solid #cfc5b7;border-top:1px solid var(--line)}.experience-item{border-bottom:1px solid #cfc5b7;border-bottom:1px solid var(--line);display:grid;grid-template-columns:195px minmax(0,1fr)}.experience-rail{border-right:1px solid #cfc5b7;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:48px;justify-content:space-between;padding:34px 28px 34px 0}.experience-rail>span{color:#b62f21;color:var(--red);font:700 10px/1 Space Grotesk,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font:700 10px/1 var(--sans);letter-spacing:.18em}.experience-rail time{color:#66615b;color:var(--muted);font-size:11px;font-weight:600;line-height:1.4;text-transform:uppercase}.experience-body{padding:34px 0 34px 42px}.experience-title-row{align-items:flex-start;display:flex;gap:30px;justify-content:space-between}.experience-body h3{font-size:clamp(23px,2.6vw,32px);letter-spacing:-.02em;line-height:1.14;margin-bottom:6px}.company-name{color:#b62f21;color:var(--red);font-size:12px;font-weight:700;letter-spacing:.06em;margin-bottom:0;text-transform:uppercase}.company-logo{filter:grayscale(1) contrast(1.25);height:40px;object-fit:contain;object-position:right center;width:110px}.experience-body ul,.modal-highlights{list-style:none;margin:22px 0;padding:0}.experience-body li,.modal-highlights li{color:#66615b;color:var(--muted);font-size:14px;line-height:1.62;margin-top:10px;padding-left:20px;position:relative}.experience-body li:before,.modal-highlights li:before{background:#b62f21;background:var(--red);content:"";height:1px;left:0;position:absolute;top:.76em;width:9px}.project-grid{border-left:1px solid #cfc5b7;border-left:1px solid var(--line);border-top:1px solid #151515;border-top:1px solid var(--ink);display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.project-card{align-items:stretch;background:#0000;border:0;border-bottom:1px solid #cfc5b7;border-bottom:1px solid var(--line);border-right:1px solid #cfc5b7;border-right:1px solid var(--line);color:#151515;color:var(--ink);cursor:pointer;display:flex;flex-direction:column;min-width:0;padding:30px;text-align:left;transition:background .22s ease,transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s cubic-bezier(.22,1,.36,1);transition:background .22s ease,transform .3s var(--ease-out),box-shadow .3s var(--ease-out)}.project-card:hover{background:#fffcf6c2;background:var(--card-hover);box-shadow:0 24px 70px #2c23181f;box-shadow:var(--shadow);transform:translateY(-4px);z-index:2}.project-illustration{background-color:#fffcf699;border:1px solid #cfc5b7;border:1px solid var(--line);color:#151515;color:var(--ink);margin:0 0 22px}.figure-canvas{background-image:linear-gradient(#5e534612 1px,#0000 0),linear-gradient(90deg,#5e534612 1px,#0000 0);background-position:-1px -1px;background-size:20px 20px}.project-illustration svg{aspect-ratio:2/1;display:block;height:auto;overflow:visible;width:100%}.project-illustration figcaption{grid-gap:12px;align-items:baseline;border-top:1px solid #cfc5b7;border-top:1px solid var(--line);color:#8d867e;color:var(--subtle);display:grid;font-size:8px;font-weight:700;gap:12px;grid-template-columns:auto minmax(0,1fr) auto;letter-spacing:.12em;min-width:0;padding:8px 12px;text-transform:uppercase}.project-illustration figcaption span:first-child{color:#b62f21;color:var(--red)}.project-illustration figcaption span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-illustration figcaption span:last-child{color:#151515;color:var(--ink);text-align:right}.project-illustration text{fill:#151515;fill:var(--ink);text-anchor:middle;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace}.project-illustration .dg-start{text-anchor:start}.project-illustration .dg-end{text-anchor:end}.dg-label{font-size:8.5px;font-weight:700;letter-spacing:.06em}.project-illustration .dg-sub{fill:#66615b;fill:var(--muted);font-size:7px;font-weight:600;letter-spacing:.1em}.project-illustration .dg-note{fill:#b62f21;fill:var(--red);font-size:7.5px;font-weight:700;letter-spacing:.08em}.project-illustration .dg-value{fill:#b62f21;fill:var(--red);font-family:Fraunces,Georgia,serif;font-family:var(--serif);font-size:24px;font-style:italic;font-weight:500}.dg-box,.dg-cell{fill:#f4efe6;fill:var(--paper);stroke:#151515;stroke:var(--ink);stroke-width:1}.dg-cell{fill:#142d4c0f;stroke:#66615b;stroke:var(--muted);stroke-width:.75}.dg-box-paper{fill:#fffdf8;stroke:#66615b;stroke:var(--muted)}.dg-box-accent{fill:#b62f2112;stroke:#b62f21;stroke:var(--red)}.dg-box-ink{fill:#151515;fill:var(--ink);stroke:#151515;stroke:var(--ink)}.project-illustration .dg-box-ink+.dg-label,.project-illustration .dg-box-ink~.dg-label{fill:#f4efe6;fill:var(--paper)}.project-illustration .dg-box-ink~.dg-sub{fill:#f4efe6b8}.dg-axis,.dg-bus,.dg-curve,.dg-room,.dg-rule,.dg-surface,.dg-trace,.dg-wire{fill:none;stroke-linecap:round;stroke-linejoin:round}.dg-wire{stroke:#151515;stroke:var(--ink);stroke-width:1}.dg-thin{stroke:#8d867e;stroke:var(--subtle);stroke-width:.75}.dg-bus{stroke:#151515;stroke:var(--ink);stroke-width:2.2}.dg-rule{stroke:#cfc5b7;stroke:var(--line);stroke-width:1}.dg-axis{stroke:#8d867e;stroke:var(--subtle);stroke-width:.8}.dg-clock{stroke:#b62f21;stroke:var(--red);stroke-dasharray:3 2.5}.dg-accent-line{stroke:#b62f21;stroke:var(--red)}.dg-head{fill:#151515;fill:var(--ink)}.dg-flow .dg-wire,.dg-wire.dg-flow{stroke:#b62f21;stroke:var(--red);stroke-dasharray:4 3;animation:dg-dash 1.6s linear infinite}.dg-flow .dg-head{fill:#b62f21;fill:var(--red)}.dg-dot{fill:#cfc5b7;fill:var(--line)}.dg-lens{fill:none;stroke:#151515;stroke:var(--ink);stroke-width:1}.dg-boundary{fill:none;stroke:#66615b;stroke:var(--muted);stroke-width:1;stroke-dasharray:5 4}.dg-cloud{fill:none;stroke:#8d867e;stroke:var(--subtle);stroke-width:1}.dg-blocked,.dg-cross{stroke:#b62f21;stroke:var(--red);stroke-width:1.2;stroke-linecap:round}.dg-blocked{stroke-dasharray:2 3}.dg-figure{fill:#142d4c29;stroke:none}.dg-detect{fill:none;stroke:#b62f21;stroke:var(--red);stroke-width:1.2}.dg-tag{fill:#b62f21;fill:var(--red)}.project-illustration .dg-tag-text{fill:#fff;font-size:5.5px;font-weight:700;letter-spacing:.08em}.dg-trace{stroke:#142d4c;stroke:var(--navy);stroke-width:1.2}.dg-trace-alert{stroke:#b62f21;stroke:var(--red)}.dg-room{stroke:#66615b;stroke:var(--muted);stroke-width:1}.dg-led{fill:#176b4a;fill:var(--green)}.dg-led-alert{fill:#b62f21;fill:var(--red)}.dg-sensor{fill:#151515;fill:var(--ink)}.dg-heat{stroke:#fffdf8e6;stroke-width:1}.dg-heat-0{fill:#142d4c73}.dg-heat-1{fill:#142d4c33}.dg-heat-2{fill:#b62f2140}.dg-heat-3{fill:#b62f2180}.dg-heat-4{fill:#b62f21d9}.dg-hotspot{fill:none;stroke:#b62f21;stroke:var(--red);stroke-width:1;stroke-dasharray:3 2}.dg-surface{stroke:#142d4c;stroke:var(--navy);stroke-width:.9;opacity:.75}.dg-surface:nth-child(odd){stroke:#b62f21;stroke:var(--red);opacity:.55}.dg-charge{fill:#176b4a59}.dg-charge-high{fill:#b62f2173}.dg-charge-low{fill:#142d4c47}.dg-curve{stroke:#142d4c;stroke:var(--navy);stroke-width:1.1}.dg-curve-1{stroke:#176b4a;stroke:var(--green)}.dg-curve-2{stroke:#b62f21;stroke:var(--red)}.dg-curve-3{stroke:#66615b;stroke:var(--muted)}.dg-tile{fill:#176b4a47;stroke:#176b4a8c;stroke-width:.6}.dg-tile-alert{fill:#b62f218c;stroke:#b62f21;stroke:var(--red)}.dg-pulse{animation:dg-pulse 2.4s ease-in-out infinite;transform-box:fill-box;transform-origin:center}@keyframes dg-dash{to{stroke-dashoffset:-14}}@keyframes dg-pulse{0%,to{opacity:.45}50%{opacity:1}}.project-card-top{color:#8d867e;color:var(--subtle);display:flex;font-size:9px;font-weight:650;gap:18px;justify-content:space-between;letter-spacing:.12em;margin-bottom:22px;text-transform:uppercase}.project-badge{align-self:flex-start;border:1px solid #b62f21;border:1px solid var(--red);color:#b62f21;color:var(--red);font-size:8px;font-weight:750;letter-spacing:.11em;margin-bottom:14px;padding:5px 8px;text-transform:uppercase}.project-card h3{font-size:30px;letter-spacing:-.03em;line-height:1.08;margin-bottom:8px}.modal-subtitle,.project-subtitle{color:#b62f21;color:var(--red);font-size:11px;font-weight:650;letter-spacing:.06em;margin-bottom:18px;text-transform:uppercase}.project-overview{color:#66615b;color:var(--muted);flex:1 1;font-size:14px;line-height:1.62;margin-bottom:24px}.metric-grid{border-bottom:1px dashed #cfc5b7;border-bottom:1px dashed var(--line);border-top:1px dashed #cfc5b7;border-top:1px dashed var(--line);display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.metric-grid>div{border-right:1px dashed #cfc5b7;border-right:1px dashed var(--line);min-width:0;padding:14px 9px}.metric-grid>div:last-child{border-right:0}.metric-grid span,.metric-grid strong{display:block}.metric-grid strong{font-family:Fraunces,Georgia,serif;font-family:var(--serif);font-size:18px;line-height:1;overflow-wrap:anywhere}.metric-grid span{color:#8d867e;color:var(--subtle);font-size:7px;letter-spacing:.08em;line-height:1.3;margin-top:5px}.metric-grid span,.project-card-footer{font-weight:700;text-transform:uppercase}.project-card-footer{align-items:center;color:#66615b;color:var(--muted);display:flex;font-size:9px;justify-content:space-between;letter-spacing:.13em;margin-top:22px}.project-card-footer span:last-child{font-size:16px;transition:transform .22s ease}.project-card:hover .project-card-footer span:last-child{transform:translate(3px,-3px)}.modal-backdrop{animation:backdrop-in .18s ease both;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#141210a8;display:grid;inset:0;padding:24px;place-items:center;position:fixed;z-index:300}.project-modal{animation:modal-in .3s cubic-bezier(.22,1,.36,1) both;animation:modal-in .3s var(--ease-out) both;background-color:#f4efe6;background-color:var(--paper);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.24 0 0 0 0 0.19 0 0 0 0 0.13 0 0 0 0.16 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)'/%3E%3C/svg%3E");background-image:var(--grain);border:1px solid #151515;border:1px solid var(--ink);box-shadow:12px 12px 0 #b62f21;box-shadow:12px 12px 0 var(--red);display:flex;flex-direction:column;max-height:min(88vh,880px);max-height:min(88dvh,880px);overflow:hidden;position:relative;width:min(820px,100%)}.modal-scroll{-webkit-overflow-scrolling:touch;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:clamp(28px,5vw,48px)}.modal-header{border-bottom:1px solid #cfc5b7;border-bottom:1px solid var(--line);margin-bottom:26px;padding:0 56px 22px 0}.modal-meta{align-items:center;display:flex;flex-wrap:wrap;gap:8px 14px;margin-bottom:18px}.modal-meta .project-badge{margin:0}.modal-meta time{color:#8d867e;color:var(--subtle);font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.project-modal h2{font-size:clamp(32px,5.2vw,52px);letter-spacing:-.035em;line-height:1.04;margin:0 0 12px;overflow-wrap:break-word}.project-modal .modal-subtitle{margin:0}.modal-close{background:#f4efe6;background:var(--paper);border:1px solid #151515;border:1px solid var(--ink);color:#151515;color:var(--ink);cursor:pointer;font-size:22px;height:40px;line-height:1;position:absolute;right:18px;top:18px;transition:background .18s ease,color .18s ease,transform .18s ease;width:40px;z-index:2}.modal-close:hover{background:#151515;background:var(--ink);color:#f4efe6;color:var(--paper);transform:rotate(4deg)}.project-modal .project-illustration{margin-bottom:0}.modal-overview{color:#66615b;color:var(--muted);font-size:16px;line-height:1.68;margin:24px 0}.modal-metrics{margin-bottom:30px}.modal-heading{font-family:Space Grotesk,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--sans);font-size:10px;font-weight:750;letter-spacing:.16em;margin:0;text-transform:uppercase}.modal-link{margin-top:30px}@keyframes backdrop-in{0%{opacity:0}}@keyframes modal-in{0%{opacity:0;transform:translateY(18px) scale(.985)}}.scroll-cue{display:none}@keyframes cue-drift{0%{opacity:.35;transform:translateY(-4px)}45%{opacity:1;transform:translateY(2px)}to{opacity:.35;transform:translateY(6px)}}.skills-grid{border-left:1px solid #cfc5b7;border-left:1px solid var(--line);border-top:1px solid #151515;border-top:1px solid var(--ink);display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.skill-card{border-bottom:1px solid #cfc5b7;border-bottom:1px solid var(--line);border-right:1px solid #cfc5b7;border-right:1px solid var(--line);padding:30px;position:relative}.skill-number{color:#b62f21;color:var(--red);font-size:9px;font-weight:700;letter-spacing:.15em;position:absolute;right:28px;top:28px}.skill-card h3{font-size:26px;letter-spacing:-.02em;margin-bottom:24px;max-width:80%;text-transform:capitalize}.skill-list{display:flex;flex-wrap:wrap;gap:8px}.skill-list span{background:#fffcf685;background:var(--soft-fill);border:1px solid #cfc5b7;border:1px solid var(--line);color:#66615b;color:var(--muted);font-size:11px;line-height:1.2;padding:7px 10px}.education-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(2,minmax(0,1fr))}.education-card{grid-gap:24px;background:#fffcf6b3;background:var(--surface);border:1px solid #cfc5b7;border:1px solid var(--line);display:grid;gap:24px;grid-template-columns:74px minmax(0,1fr);min-width:0;padding:30px;transition:transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s ease;transition:transform .25s var(--ease-out),box-shadow .25s ease}.education-card:hover{box-shadow:0 24px 70px #2c23181f;box-shadow:var(--shadow);transform:translateY(-4px)}.education-logo{background:#fff;background:var(--logo-surface);border:1px solid #cfc5b7;border:1px solid var(--line);display:grid;height:74px;padding:10px;place-items:center;width:74px}.education-logo img{max-height:52px;object-fit:contain}.education-meta{color:#b62f21;color:var(--red);display:flex;font-size:9px;font-weight:700;gap:16px;justify-content:space-between;letter-spacing:.08em;text-transform:uppercase}.education-card h3{font-size:24px;letter-spacing:-.025em;line-height:1.15;margin:15px 0 8px}.education-detail,.education-institution{color:#66615b;color:var(--muted);font-size:12px;line-height:1.5}.education-facts{grid-gap:18px;border-bottom:1px dashed #cfc5b7;border-bottom:1px dashed var(--line);border-top:1px dashed #cfc5b7;border-top:1px dashed var(--line);display:grid;gap:18px;grid-template-columns:.75fr 1.25fr;margin:22px 0 16px;padding:16px 0}.education-facts span,.education-facts strong{display:block}.education-facts strong{font-family:Fraunces,Georgia,serif;font-family:var(--serif);font-size:16px;line-height:1.25}.education-facts span{color:#8d867e;color:var(--subtle);font-size:8px;font-weight:700;letter-spacing:.12em;margin-top:5px;text-transform:uppercase}.education-detail{margin-bottom:0}.research-layout{grid-gap:24px;display:grid;gap:24px;grid-template-columns:minmax(0,1.5fr) minmax(280px,.5fr)}.research-list{border-top:1px solid #151515;border-top:1px solid var(--ink)}.research-item{grid-gap:24px;align-items:start;border-bottom:1px solid #cfc5b7;border-bottom:1px solid var(--line);display:grid;gap:24px;grid-template-columns:130px minmax(0,1fr) auto;padding:28px 0}.research-item>span,.research-item>strong{color:#b62f21;color:var(--red);font-size:9px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.research-item h3{font-size:24px;margin-bottom:7px}.research-item p{color:#66615b;color:var(--muted);font-size:13px;line-height:1.55;margin-bottom:0}.recognition-card{background:#151515;background:var(--inverse);border:1px solid #151515;border:1px solid var(--ink);color:#f4efe6;color:var(--inverse-ink);display:flex;flex-direction:column;justify-content:flex-end;padding:30px}.recognition-card .section-index{color:#e97a6f;margin-bottom:auto}.recognition-card>strong{font-family:Fraunces,Georgia,serif;font-family:var(--serif);font-size:64px;font-style:italic;font-weight:500;line-height:1}.recognition-card h3{font-size:25px;margin:12px 0 6px}.recognition-card p{color:#f4efe6;color:var(--inverse-ink);font-size:13px;line-height:1.5;margin-bottom:0;opacity:.72}.certification-list{background:#fffcf6b3;background:var(--surface);border:1px solid #cfc5b7;border:1px solid var(--line);margin-top:34px;padding:26px}.certification-header{align-items:flex-end;display:flex;gap:24px;justify-content:space-between;padding-bottom:18px}.certification-header .section-index{margin-bottom:5px}.certification-header p{color:#8d867e;color:var(--subtle);font-size:10px;font-weight:650;letter-spacing:.08em;margin:0;text-transform:uppercase}.certificate-search{grid-gap:11px;align-items:center;display:grid;gap:11px;grid-template-columns:auto minmax(0,1fr);width:min(290px,100%)}.certificate-search>span{color:#8d867e;color:var(--subtle);font-size:8px;font-weight:750;letter-spacing:.12em;text-transform:uppercase}.certificate-search input{-webkit-appearance:none;appearance:none;background:#f4efe6;background:var(--paper);border:1px solid #cfc5b7;border:1px solid var(--line);border-radius:0;color:#151515;color:var(--ink);font:11px/1.4 Space Grotesk,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font:11px/1.4 var(--sans);min-height:44px;padding:10px 12px;width:100%}.certificate-search input::placeholder{color:#8d867e;color:var(--subtle)}.certificate-search input:focus{border-color:#b62f21;border-color:var(--red);outline:none}.certificate{grid-gap:20px;border-top:1px dashed #cfc5b7;border-top:1px dashed var(--line);color:#66615b;color:var(--muted);display:grid;font-size:12px;gap:20px;grid-template-columns:minmax(0,1fr) 180px 100px;padding:14px 0}.certificate-title>span{color:#151515;color:var(--ink);font-weight:600}.certificate-title small{color:#8d867e;color:var(--subtle);display:block;font-size:8px;letter-spacing:.04em;margin-top:5px;overflow-wrap:anywhere}.certificate time{text-align:right}.certificate-empty{border-top:1px dashed #cfc5b7;border-top:1px dashed var(--line);color:#66615b;color:var(--muted);font-size:13px;margin:0;padding:24px 0}.certificate-disclosure{background:#0000;border:0;border-bottom:1px solid #151515;border-bottom:1px solid var(--ink);color:#151515;color:var(--ink);cursor:pointer;font-size:9px;font-weight:750;letter-spacing:.11em;margin-top:10px;min-height:44px;padding:10px 0;text-transform:uppercase}.certificate-disclosure:hover{border-color:#b62f21;border-color:var(--red);color:#b62f21;color:var(--red)}.contact-section{border-top:2px solid #151515;border-top:2px solid var(--ink);margin-top:112px;padding:58px 0 26px}.contact-grid{grid-gap:80px;align-items:start;display:grid;gap:80px;grid-template-columns:minmax(0,1fr) minmax(360px,.8fr)}.contact-section h2{font-size:clamp(44px,6.4vw,78px);letter-spacing:-.045em;line-height:.98;margin-bottom:22px}.contact-section p{color:#66615b;color:var(--muted);font-size:15px}.contact-links{border-top:1px solid #151515;border-top:1px solid var(--ink)}.contact-links a{grid-gap:14px;align-items:center;border-bottom:1px solid #cfc5b7;border-bottom:1px solid var(--line);display:grid;gap:14px;grid-template-columns:86px minmax(0,1fr) auto;padding:17px 0;text-decoration:none;transition:padding .2s ease,color .2s ease}.contact-links a:hover{color:#b62f21;color:var(--red);padding-left:7px}.contact-links span{color:#8d867e;color:var(--subtle);font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.contact-links strong{font-family:Fraunces,Georgia,serif;font-family:var(--serif);font-size:16px;font-style:italic;font-weight:500;overflow-wrap:anywhere}.contact-links i{font-size:15px;font-style:normal}footer{border-top:1px solid #151515;border-top:1px solid var(--ink);color:#66615b;color:var(--muted);display:flex;font-size:9px;font-weight:650;gap:24px;justify-content:space-between;letter-spacing:.12em;margin-top:76px;padding-top:17px;text-transform:uppercase}@media (max-width:1080px){.brand-copy{display:none}.nav-resume,.primary-nav button{font-size:9px;padding-left:7px;padding-right:7px}.hero-section{gap:42px;grid-template-columns:minmax(0,1fr) 320px}.education-grid{grid-template-columns:1fr}}@media (max-width:840px){main{padding-left:28px;padding-right:28px;width:min(100% - 40px,760px)}.nav-shell{min-height:64px;width:min(100% - 32px,720px)}.brand-copy{display:flex}.menu-toggle{display:inline-flex}.primary-nav{grid-gap:0;background:#f4efe6fa;background:var(--menu);box-shadow:0 18px 36px #231c141f;display:grid;gap:0;grid-template-columns:repeat(2,1fr);left:0;max-height:0;opacity:0;overflow:hidden;position:absolute;right:0;top:calc(100% + 1px);transition:max-height .32s cubic-bezier(.22,1,.36,1),opacity .18s ease,visibility .18s ease;transition:max-height .32s var(--ease-out),opacity .18s ease,visibility .18s ease;visibility:hidden}.primary-nav.is-open{max-height:440px;opacity:1;visibility:visible}.nav-resume,.primary-nav button{align-items:center;border:0;border-bottom:1px solid #cfc5b7;border-bottom:1px solid var(--line);border-right:1px solid #cfc5b7;border-right:1px solid var(--line);color:#151515;color:var(--ink);display:flex;font-size:11px;justify-content:space-between;line-height:1;margin:0;min-height:50px;padding:0 20px;text-align:left}.primary-nav button:after{bottom:10px;left:20px;right:20px}.nav-resume{background:#151515;background:var(--ink);color:#f4efe6;color:var(--paper)}.hero-section{grid-template-columns:1fr;min-height:auto;padding-top:80px}.hero-copy{max-width:700px}.upcoming-card{max-width:520px}.practice-map{gap:22px;grid-template-columns:minmax(190px,.7fr) 150px minmax(0,1.4fr)}.practice-map figcaption{padding-right:18px}.practice-graphic{height:138px;width:138px}.section-heading{gap:20px;grid-template-columns:1fr}.section-heading p{max-width:560px}.experience-item{grid-template-columns:145px minmax(0,1fr)}.experience-body{padding-left:30px}.project-grid{border:0;gap:16px;grid-template-columns:1fr}.project-card{background:#fffcf68c;border:1px solid #cfc5b7;border:1px solid var(--line);box-shadow:0 1px 0 #3c30220a,0 14px 30px -24px #2c231859}.project-card:hover{transform:none}.research-layout{grid-template-columns:1fr}.recognition-card{min-height:300px}.contact-grid{gap:48px;grid-template-columns:1fr}}@media (max-width:600px){body{background-color:#f4efe6;background-color:var(--paper)}body:after{display:none}main{background:#0000;border:0;box-shadow:none;margin:0;padding:0 16px 24px;width:100%}.scroll-cue{color:#151515;color:var(--ink);display:grid;height:34px;margin:22px auto 0;opacity:.78;place-items:center;transition:opacity .3s ease,visibility .3s ease;width:34px}.scroll-cue svg{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;animation:cue-drift 2.2s ease-in-out infinite;height:22px;width:22px}.scroll-cue.is-hidden{opacity:0;pointer-events:none;visibility:hidden}.nav-shell{width:calc(100% - 28px)}.brand-copy span{display:none}.content-section{padding-top:82px}.section-heading{margin-bottom:32px}.hero-section{gap:44px;padding-top:64px}.hero-section h1{font-size:clamp(45px,14vw,66px)}.hero-summary{font-size:15px}.hero-actions{flex-direction:column}.hero-actions .button{width:100%}.upcoming-card{box-shadow:7px 7px 0 #e9e1d4,8px 8px 0 #151515;box-shadow:7px 7px 0 var(--paper-deep),8px 8px 0 var(--ink);padding:24px}.practice-map{gap:20px;grid-template-columns:1fr;padding:20px}.practice-map figcaption{border-bottom:1px solid #cfc5b7;border-bottom:1px solid var(--line);border-right:0;padding:0 0 18px}.practice-graphic{height:120px;margin:0 auto;width:120px}.practice-core{height:60px;width:60px}.practice-map figcaption span{font-size:9px}.practice-map figcaption strong{font-size:18px}.practice-map figcaption p{font-size:12px}.practice-area{min-height:0;padding:14px 12px}.practice-area>span{font-size:9px}.practice-area strong{font-size:13px}.practice-area small{font-size:9px;letter-spacing:.04em}.practice-areas{border-left:1px solid #cfc5b7;border-left:1px solid var(--line);border-top:1px solid #cfc5b7;border-top:1px solid var(--line)}.practice-area,.practice-area:nth-child(-n+2),.practice-area:nth-child(odd){border-bottom:1px solid #cfc5b7;border-bottom:1px solid var(--line);border-left:0;border-right:1px solid #cfc5b7;border-right:1px solid var(--line);border-top:0}.stat-strip{grid-template-columns:repeat(2,1fr)}.stat-item{padding:18px 15px}.stat-item:nth-child(2){border-right:0}.stat-item:nth-child(-n+2){border-bottom:1px solid #cfc5b7;border-bottom:1px solid var(--line)}.experience-item{grid-template-columns:1fr;padding:26px 0}.experience-rail{border-right:0;flex-direction:row;gap:20px;padding:0 0 14px}.experience-body{padding:0}.experience-title-row{gap:16px}.company-logo{height:34px;width:82px}.experience-body li{font-size:13px;padding-left:17px}.project-card{padding:24px 20px}.project-card .project-illustration{border-left:0;border-right:0;margin-left:-20px;margin-right:-20px}.project-modal .project-illustration{border-left:0;border-right:0;margin-left:-18px;margin-right:-18px}.project-illustration figcaption{gap:4px 10px;grid-template-columns:auto minmax(0,1fr);padding:7px 10px}.project-illustration figcaption span:last-child{grid-column:1/-1;text-align:left}.project-card h3{font-size:27px}.metric-grid{grid-template-columns:repeat(2,1fr)}.metric-grid>div:nth-child(2){border-right:0}.metric-grid>div:nth-child(-n+2){border-bottom:1px dashed #cfc5b7;border-bottom:1px dashed var(--line)}.project-modal{box-shadow:6px 6px 0 #b62f21;box-shadow:6px 6px 0 var(--red)}.modal-scroll{padding:22px 18px 26px}.modal-header{margin-bottom:20px;padding:0 48px 18px 0}.modal-meta{margin-bottom:14px}.project-modal h2{font-size:clamp(28px,8.4vw,36px)}.modal-backdrop{padding:12px 14px 18px 12px}.modal-close{height:36px;right:14px;top:14px;width:36px}.skills-grid{grid-template-columns:1fr}.skill-card{padding:25px 20px}.education-card{gap:16px;grid-template-columns:52px minmax(0,1fr);padding:22px 18px}.education-logo{height:52px;padding:7px;width:52px}.education-meta{flex-direction:column;gap:5px}.education-card h3{font-size:21px}.education-facts{gap:13px;grid-template-columns:1fr}.research-item{gap:8px;grid-template-columns:1fr}.research-item>strong{margin-top:7px}.certification-header{align-items:stretch;flex-direction:column;gap:16px}.certificate-search{width:100%}.certificate{gap:5px;grid-template-columns:1fr}.certificate time{text-align:left}.contact-section{margin-top:88px}.contact-links a{grid-template-columns:72px minmax(0,1fr) auto}footer{flex-direction:column;gap:7px;margin-top:56px}}@media (prefers-contrast:more){:root{--line:currentColor;--muted:var(--ink);--subtle:var(--ink)}.certification-list,.education-card,.practice-map,.project-illustration,.site-header,.upcoming-card{-webkit-backdrop-filter:none;backdrop-filter:none;background:#f4efe6;background:var(--paper)}}@media (prefers-reduced-transparency:reduce){.certification-list,.education-card,.practice-map,.primary-nav,.project-illustration,.site-header,.upcoming-card{backdrop-filter:none;-webkit-backdrop-filter:none;background:#f4efe6;background:var(--paper)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}[data-reveal]{opacity:1;transform:none}}
/*# sourceMappingURL=main.8fa39016.css.map*/