:root{--background:#f3f1ec;--surface:#fbfaf7;--ink:#171816;--muted:#686a64;--soft:#8d8f88;--line:#ddd9d1;--accent:#65495f;--sage:#dbe2d8;--lilac:#e3dce3;--sand:#e8dfd1;--shadow:0 24px 70px #241f1a14;--shell:1080px}*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:clip}body{background:radial-gradient(circle at 8% 0%, #e3dce38c, transparent 28rem), var(--background);color:var(--ink);text-rendering:optimizelegibility;margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}svg{flex:none}::selection{color:var(--ink);background:#ded4dc}.shell{width:min(var(--shell), calc(100% - 64px));margin-inline:auto}.skip-link{z-index:1000;border:1px solid var(--line);background:var(--surface);padding:8px 12px;position:fixed;top:12px;left:12px;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:50;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f6f6f2f0;border-bottom:1px solid #1718160f;position:sticky;top:0}.header-inner{grid-template-columns:1fr auto auto;align-items:center;gap:42px;min-height:72px;display:grid}.brand{flex-direction:column;justify-self:start;align-items:flex-start;min-width:0;line-height:1.25;display:inline-flex}.brand strong{letter-spacing:-.01em;font-size:.86rem;font-weight:650}.brand small{color:var(--muted);margin-top:3px;font-size:.67rem}.site-nav{align-items:center;gap:27px;display:flex}.site-nav a,.header-cv{color:#4d4f4a;font-size:.77rem;font-weight:600}.site-nav a{border-bottom:1px solid #0000;padding:24px 0 22px}.site-nav a:hover,.site-nav a:focus-visible{border-color:var(--ink);color:var(--ink);outline:none}.header-cv{border-left:1px solid var(--line);justify-self:end;align-items:center;gap:7px;padding-left:25px;display:inline-flex}.header-cv:hover,.header-cv:focus-visible{color:var(--accent)}.eyebrow,.section-label{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;margin:0;font-size:.69rem;font-weight:650}.home-intro{padding-top:clamp(54px,6vw,76px);padding-bottom:clamp(32px,4vw,44px)}.home-intro h1,.page-heading h1,.case-header h1,.not-found h1{letter-spacing:-.052em;margin:18px 0 0;font-weight:560;line-height:1.04}.home-intro h1{max-width:820px;font-size:clamp(2.65rem,5.2vw,4.25rem)}.intro-copy{color:#454741;letter-spacing:-.022em;max-width:790px;margin:32px 0 0;font-size:clamp(1.28rem,2.6vw,1.9rem);line-height:1.42}.intro-actions{flex-wrap:wrap;gap:12px;margin-top:40px;display:flex}.action-button{border:1px solid var(--line);border-radius:3px;justify-content:center;align-items:center;gap:10px;min-height:48px;padding:11px 17px;font-size:.78rem;font-weight:650;transition:background-color .16s,border-color .16s,color .16s,transform .16s;display:inline-flex}.action-button:hover,.action-button:focus-visible{transform:translateY(-2px)}.action-button-primary{border-color:var(--ink);background:var(--ink);color:var(--surface)}.action-button-primary:hover,.action-button-primary:focus-visible{border-color:var(--accent);background:var(--accent)}.action-button-secondary{border-color:var(--ink);color:var(--ink);background:0 0}.action-button-secondary:hover,.action-button-secondary:focus-visible{border-color:var(--accent);color:var(--accent)}.action-button-quiet{background:var(--surface);color:var(--muted)}.action-button-quiet:hover,.action-button-quiet:focus-visible{border-color:var(--ink);color:var(--ink)}.intro-facts{grid-template-columns:repeat(3,1fr);gap:12px;margin:clamp(44px,6vw,66px) 0 0;display:grid}.intro-facts>div{background:#fbfaf7b3;border-radius:16px;min-width:0;padding:20px 22px}.intro-facts>div+div{padding-left:22px}.intro-facts dt{color:var(--soft);font-size:.68rem}.intro-facts dd{margin:5px 0 0;font-size:.83rem;font-weight:600}.plain-section{padding:clamp(48px,6vw,68px) 0 clamp(42px,5vw,56px)}.plain-section+.plain-section,.home-intro+.plain-section{padding-top:clamp(18px,2vw,24px)}.split-heading{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:clamp(50px,9vw,130px);display:grid}.split-heading h2,.case-block h2,.about-layout h2{letter-spacing:-.04em;margin:15px 0 0;font-size:clamp(1.7rem,3.3vw,2.55rem);font-weight:560;line-height:1.15}.split-heading>p{max-width:610px;color:var(--muted);margin:2px 0 0;font-size:1rem}.service-list{grid-template-columns:repeat(3,1fr);gap:18px;margin-top:68px;display:grid}.service-list article{background:var(--surface);border-radius:22px;min-height:230px;padding:25px 27px 30px;transition:transform .18s,box-shadow .18s;box-shadow:0 14px 45px #241f1a0b}.service-list article+article{padding-left:27px}.service-list article:hover{transform:translateY(-4px);box-shadow:0 22px 55px #241f1a14}.service-list span{color:var(--soft);font-size:.67rem}.service-list h3{letter-spacing:-.015em;margin:72px 0 0;font-size:1rem;font-weight:650}.service-list p{color:var(--muted);margin:12px 0 0;font-size:.83rem}.project-index-link{background:var(--surface);border-radius:18px;justify-content:space-between;align-items:center;gap:30px;padding:28px 30px;transition:color .16s,transform .16s,box-shadow .16s;display:flex;box-shadow:0 14px 42px #241f1a0b}.project-index-link>span{display:grid}.project-index-link small,.next-project-link small{color:var(--soft);font-size:.68rem;font-weight:500}.project-index-link strong{margin-top:8px;font-size:clamp(1rem,2vw,1.3rem);font-weight:560}.project-index-link svg,.project-row svg,.next-project-link svg{transition:transform .16s}.project-index-link:hover,.project-index-link:focus-visible{color:var(--accent);outline:none;transform:translateY(-3px);box-shadow:0 20px 48px #241f1a14}.project-index-link:hover svg,.project-index-link:focus-visible svg,.project-row:hover svg,.project-row:focus-visible svg,.next-project-link:hover svg,.next-project-link:focus-visible svg{transform:translate(5px)}.contact-quiet{padding-bottom:130px}.contact-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.contact-links a,.about-links a{align-items:center;gap:12px;font-size:.84rem;font-weight:600;display:inline-flex}.contact-links a{border:1px solid var(--line);background:var(--surface);justify-content:space-between;min-width:190px;padding:17px 18px;transition:border-color .16s,transform .16s}.contact-links a span{display:grid}.contact-links a small{color:var(--soft);margin-bottom:3px;font-size:.64rem;font-weight:500}.about-links a{border-bottom:1px solid var(--line);padding-bottom:3px}.contact-links a:hover,.about-links a:hover{border-color:var(--ink)}.contact-links a:hover,.contact-links a:focus-visible{transform:translateY(-2px)}.page-shell{padding-top:clamp(78px,11vw,126px);padding-bottom:clamp(100px,12vw,150px)}.page-heading{max-width:760px}.page-heading h1{font-size:clamp(2.5rem,4.4vw,3.4rem)}.page-heading>p:last-child{max-width:670px;color:var(--muted);margin:26px 0 0;font-size:1rem}.project-list{border-top:1px solid var(--ink);margin-top:clamp(68px,9vw,100px)}.project-row{border-bottom:1px solid var(--line);grid-template-columns:52px minmax(0,1fr) 180px 24px;align-items:center;gap:28px;min-height:136px;padding:24px 0;display:grid}.project-row:hover,.project-row:focus-visible{color:var(--accent)}.project-number{color:var(--soft);align-self:start;padding-top:5px;font-size:.68rem}.project-row-copy,.project-row-meta{flex-direction:column;min-width:0;display:flex}.project-row-copy strong{letter-spacing:-.025em;font-size:clamp(1.15rem,2.5vw,1.55rem);font-weight:580}.project-row-copy small{max-width:620px;color:var(--muted);margin-top:8px;font-size:.78rem;line-height:1.55}.project-row-meta{color:var(--soft);gap:5px;font-size:.7rem}.project-page{padding-top:clamp(62px,9vw,104px);padding-bottom:100px}.back-link{color:var(--muted);margin-bottom:clamp(62px,8vw,90px);font-size:.75rem;font-weight:600;display:inline-flex}.back-link:hover,.back-link:focus-visible{color:var(--ink)}.case-header h1{max-width:820px;font-size:clamp(2.45rem,4.6vw,3.35rem)}.case-summary{color:#4c4e48;letter-spacing:-.015em;max-width:780px;margin:30px 0 0;font-size:clamp(1.1rem,2.1vw,1.4rem)}.case-meta{grid-template-columns:1fr 1fr 2fr;gap:12px;margin:clamp(60px,8vw,90px) 0 0;display:grid}.case-meta>div{background:#fbfaf7b8;border-radius:14px;padding:18px 20px}.case-meta>div+div{padding-left:20px}.case-meta dt{color:var(--soft);font-size:.65rem}.case-meta dd{margin:6px 0 0;font-size:.77rem;font-weight:560;line-height:1.55}.case-content{margin-top:100px}.case-block,.about-layout{background:var(--surface);border-radius:24px;grid-template-columns:minmax(190px,.66fr) minmax(0,1.34fr);gap:clamp(55px,10vw,145px);padding:62px;display:grid}.case-block:first-child{background:var(--surface)}.case-block+.case-block{margin-top:22px}.case-block:nth-child(3n),.case-block:nth-child(4n){background:var(--surface)}.case-block h2,.about-layout h2{font-size:clamp(1.3rem,2.4vw,1.8rem)}.case-body-copy{color:#42443f;max-width:740px;margin:0;font-size:clamp(1.04rem,1.8vw,1.2rem)}.workflow-list,.simple-list,.evidence-list,.module-list,.approach-list{border-top:0;margin:0;padding:0;list-style:none}.workflow-list li{background:#ffffff7a;border-radius:14px;grid-template-columns:48px 1fr;gap:24px;margin-bottom:9px;padding:20px;display:grid}.workflow-list li>span,.approach-list li>span{color:var(--soft);padding-top:3px;font-size:.66rem}.workflow-list h3{margin:0;font-size:.95rem;font-weight:650}.workflow-list p{max-width:650px;color:var(--muted);margin:7px 0 0;font-size:.84rem}.simple-list li,.evidence-list li{color:#4f514c;padding:14px 0 14px 24px;font-size:.87rem;position:relative}.simple-list li:before,.evidence-list li:before{background:var(--accent);content:"";border-radius:50%;width:5px;height:5px;position:absolute;top:23px;left:0}.privacy-note{background:#1718160e;border-radius:18px;grid-template-columns:minmax(190px,.66fr) minmax(0,1.34fr);gap:clamp(55px,10vw,145px);margin-top:18px;padding:32px;display:grid}.privacy-note strong{font-size:.72rem;font-weight:650}.privacy-note p{color:var(--muted);margin:0;font-size:.78rem}.next-project-link{background:var(--surface);border-radius:18px;justify-content:space-between;align-items:center;gap:30px;margin-top:72px;padding:28px 30px;display:flex;box-shadow:0 14px 42px #241f1a0b}.next-project-link span{display:grid}.next-project-link strong{margin-top:6px;font-size:1.05rem;font-weight:580}.next-project-link:hover,.next-project-link:focus-visible{color:var(--accent);outline:none}.about-heading{max-width:850px}.about-heading h1{font-size:clamp(2.35rem,4.4vw,3.4rem)}.about-portrait{width:min(100%,148px);margin:0}.about-portrait img{aspect-ratio:4/5;border:1px solid var(--line);object-fit:contain;width:100%;height:auto;display:block}.about-layout{margin-top:94px}.about-profile{grid-template-rows:auto auto;row-gap:28px}.about-profile-heading{grid-area:1/1}.about-profile .about-portrait{grid-area:2/1}.about-profile .reading-copy{grid-area:2/2;align-self:center}.about-layout+.about-layout{margin-top:22px}.reading-copy p{color:#4b4d47;max-width:680px;margin:0}.reading-copy p+p{margin-top:22px}.approach-list li{border-bottom:1px solid var(--line);grid-template-columns:46px 1fr;gap:20px;padding:20px 0;display:grid}.approach-list p,.skill-lines p{color:#4b4d47;margin:0;font-size:.86rem}.skill-lines p{border-top:1px solid var(--line);padding:19px 0}.skill-lines p:last-child{border-bottom:1px solid var(--line)}.ranked-skills{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.ranked-skills li{border-bottom:1px solid var(--line);grid-template-columns:42px 1fr;gap:18px;padding:16px 0 17px;display:grid}.skill-rank{color:var(--soft);padding-top:2px;font-size:.65rem}.ranked-skills li>div{grid-template-columns:1fr auto;align-items:center;gap:7px 20px;display:grid}.skill-name{color:#3f413c;font-size:.86rem;font-weight:600}.ranked-skills small{color:var(--soft);font-size:.65rem}.skill-track{background:var(--line);grid-column:1/-1;height:2px;overflow:hidden}.skill-track>span{background:var(--accent);height:100%;display:block}.module-list{border-top:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.module-list li{color:#4f514c;background:#ffffff7a;border-radius:10px;padding:14px 16px;font-size:.82rem}.module-list li:nth-child(2n){border-left:0;padding-left:16px}.skill-track>span[data-rank=highest]{width:96%}.skill-track>span[data-rank=advanced]{width:88%}.skill-track>span[data-rank=strong]{width:76%}.skill-track>span[data-rank=working]{width:62%}.skill-track>span[data-rank=foundational]{width:38%}.about-links{border-top:1px solid var(--ink);flex-wrap:wrap;gap:16px 28px;margin-top:78px;padding-top:30px;display:flex}.experience-heading{max-width:800px}.experience-list{border-top:1px solid var(--ink);margin-top:clamp(68px,9vw,100px)}.experience-role{border-bottom:1px solid var(--line);grid-template-columns:minmax(210px,.7fr) minmax(0,1.3fr);gap:clamp(50px,9vw,130px);padding:76px 0 86px;display:grid}.experience-role-meta p{color:var(--soft);margin:0;font-size:.7rem}.experience-role-meta h2{letter-spacing:-.035em;margin:13px 0 0;font-size:clamp(1.35rem,2.5vw,1.85rem);font-weight:580;line-height:1.2}.experience-role-meta small{color:var(--muted);margin-top:9px;font-size:.73rem;line-height:1.5;display:block}.experience-summary{color:#42443f;max-width:680px;margin:0;font-size:1.03rem}.experience-role-body h3{letter-spacing:.08em;text-transform:uppercase;margin:38px 0 13px;font-size:.73rem;font-weight:650}.achievement-section{border-bottom:0;grid-template-columns:minmax(210px,.7fr) minmax(0,1.3fr);gap:clamp(50px,9vw,130px);padding:86px 0;display:grid}.achievement-section h2{letter-spacing:-.04em;margin:15px 0 0;font-size:clamp(1.3rem,2.4vw,1.8rem);font-weight:560;line-height:1.2}.achievement-list{border-top:1px solid var(--line)}.achievement-list article{border-bottom:1px solid var(--line);grid-template-columns:48px 1fr;gap:22px;padding:24px 0;display:grid}.achievement-list span{color:var(--soft);padding-top:3px;font-size:.66rem}.achievement-list h3{margin:0;font-size:.94rem;font-weight:650}.achievement-list p{max-width:650px;color:var(--muted);margin:7px 0 0;font-size:.84rem}.experience-project-link{background:var(--surface);border-radius:18px;justify-content:space-between;align-items:center;gap:30px;margin-top:42px;padding:28px 30px;transition:color .16s,transform .16s,box-shadow .16s;display:flex;box-shadow:0 14px 42px #241f1a0b}.experience-project-link span{display:grid}.experience-project-link small{color:var(--soft);font-size:.68rem}.experience-project-link strong{margin-top:7px;font-size:1rem;font-weight:580}.experience-project-link svg{transition:transform .16s}.experience-project-link:hover,.experience-project-link:focus-visible{color:var(--accent);outline:none;transform:translateY(-3px);box-shadow:0 20px 48px #241f1a14}.experience-project-link:hover svg,.experience-project-link:focus-visible svg{transform:translate(5px)}.not-found{min-height:68vh;padding-top:130px;padding-bottom:130px}.not-found h1{font-size:clamp(2.5rem,5vw,4rem)}.not-found>p:not(.eyebrow){color:var(--muted);margin:22px 0 28px}.site-footer{border-top:1px solid var(--line);padding:34px 0}.footer-inner{grid-template-columns:1fr auto auto;align-items:end;gap:45px;display:grid}.footer-inner>div{line-height:1.3;display:grid}.footer-inner strong{font-size:.76rem;font-weight:650}.footer-inner small{color:var(--soft);margin-top:4px;font-size:.63rem}.footer-inner nav{flex-wrap:wrap;gap:18px;display:flex}.footer-inner nav a{color:var(--muted);align-items:center;gap:4px;font-size:.7rem;display:inline-flex}.footer-inner nav a:hover,.footer-inner nav a:focus-visible{color:var(--ink)}.footer-inner>small{margin:0}@media (max-width:800px){.shell{width:min(100% - 36px, var(--shell))}.site-header{position:relative}.header-inner{grid-template-columns:1fr auto;gap:18px;min-height:68px;padding:12px 0}.brand small{display:none}.site-nav{border-top:1px solid var(--line);order:3;grid-area:2/1/auto/-1;gap:22px;padding-top:10px}.site-nav a{padding:0 0 10px}.header-cv{grid-area:1/2;padding-left:18px}.intro-actions .action-button{flex:calc(50% - 6px)}.intro-facts{grid-template-columns:1fr}.intro-facts>div,.intro-facts>div+div{border-bottom:0;border-right:0;padding:17px 19px}.intro-facts>div:last-child{border-bottom:0}.split-heading,.case-block,.about-layout,.privacy-note,.experience-role,.achievement-section{grid-template-columns:1fr;gap:34px}.service-list,.contact-links{grid-template-columns:1fr}.contact-links a{min-width:0}.service-list article,.service-list article+article{border-bottom:0;border-right:0;min-height:0;padding:24px 25px 28px}.service-list h3{margin-top:28px}.project-row{grid-template-columns:32px minmax(0,1fr) 20px;gap:16px;min-height:0;padding:25px 0}.project-row-meta{grid-column:2;gap:2px;margin-top:-10px}.project-row>svg{grid-area:1/3}.case-meta{grid-template-columns:1fr}.case-meta>div,.case-meta>div+div{border-bottom:0;border-right:0;padding:15px 17px}.case-meta>div:last-child{border-bottom:0}.case-content{margin-top:70px}.case-block,.about-layout{padding:38px 28px}.about-layout{margin-top:70px}.experience-role,.achievement-section{padding:60px 0}.about-portrait{width:126px}.about-profile{grid-template-rows:auto;row-gap:22px}.about-profile-heading,.about-profile .about-portrait,.about-profile .reading-copy{grid-area:auto/1}.footer-inner{grid-template-columns:1fr;align-items:start;gap:24px}}@media (max-width:480px){.home-intro h1{font-size:2.5rem}.intro-copy{font-size:1.16rem}.intro-actions .action-button{flex-basis:100%}.project-index-link strong{max-width:260px}.workflow-list li{grid-template-columns:35px 1fr;gap:15px}.module-list{grid-template-columns:1fr}.module-list li,.module-list li:nth-child(2n){border-left:0;padding:13px 14px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
