:root{--paper:#f5f5f0;--white:#fff;--sage-tint:#eaeee2;--ink:#111;--charcoal:#252525;--muted:#5c5f5c;--sage:#6d8768;--sage-deep:#5c7458;--sage-ink:#52684e;--border:rgba(17,17,17,.12);--gutter:clamp(24px,5vw,64px);--serif:'PT Serif',Georgia,'Times New Roman',serif;--sans:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;--mono:ui-monospace,SFMono-Regular,Menlo,monospace}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-padding-top:90px;background:var(--paper);color-scheme:light}body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:var(--sage-deep);text-underline-offset:4px}a:hover{color:var(--sage-ink)}a:focus-visible,button:focus-visible{outline:2px solid var(--sage);outline-offset:4px}.container{max-width:1200px;margin:0 auto;padding:0 var(--gutter)}h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:-.02em;overflow-wrap:break-word}h2{font-size:46px;line-height:1.08}h3{font-size:27px;line-height:1.16}p{overflow-wrap:break-word}.skip{position:absolute;top:-120px;left:24px;z-index:30;background:var(--white);padding:10px 16px}.skip:focus{top:12px}
.nav{position:sticky;top:0;z-index:20;background:var(--paper);border-bottom:1px solid var(--border)}.nav-inner{display:flex;align-items:center;gap:28px;padding:16px var(--gutter);max-width:1200px;margin:0 auto}.brand{font-family:var(--serif);font-style:italic;font-size:22px;letter-spacing:-.01em;color:var(--ink);text-decoration:none;display:inline-flex;align-items:center;line-height:1;min-height:44px;flex-shrink:0}.brand b{font-weight:700;color:var(--sage-deep)}.links{display:flex;gap:24px;align-items:center;margin-left:auto}.navlink{color:var(--muted);text-decoration:none;font-size:14px;font-weight:600;display:inline-flex;align-items:center;min-height:44px}.navlink:hover{text-decoration:underline}.language{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:14px;flex-shrink:0}.language a{display:inline-flex;align-items:center;justify-content:center;min-width:32px;min-height:44px;color:var(--muted);text-decoration:none}.language a[aria-current]{color:var(--sage-ink);font-weight:700;text-decoration:underline;text-underline-offset:5px}.nav-toggle{display:none;align-items:center;justify-content:center;flex-direction:column;gap:5px;border:0;background:transparent;cursor:pointer;width:44px;height:44px;padding:9px;color:var(--ink)}.nav-toggle span{height:2px;width:24px;background:currentColor}
.hero{padding:72px 0 40px}.hero-grid{display:grid;grid-template-columns:1fr clamp(240px,26vw,330px);gap:42px;align-items:center}.portrait{display:flex;justify-content:flex-end}.portrait img{width:100%;max-width:330px;height:auto;display:block;aspect-ratio:1/1}.hero h1{font-size:clamp(38px,5vw,54px);line-height:1.1}.hero h1 em{color:var(--sage)}.lede{font-size:18px;color:var(--muted);max-width:54ch;margin-top:22px}.hero-cta{display:flex;gap:14px;margin-top:30px;flex-wrap:wrap}.btn{font-family:var(--sans);font-weight:500;font-size:16px;line-height:1.25;border:1px solid transparent;border-radius:5px;padding:13px 29px;min-height:46px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.btn-primary{background:var(--sage-ink);color:var(--paper)}.btn-primary:hover{background:var(--sage-deep);color:var(--paper)}.btn-outline{background:var(--paper);color:var(--ink);border-color:var(--muted)}.btn-outline:hover{border-color:var(--ink);color:var(--ink);background:#edede7}.strip{border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin-top:48px}.strip-inner{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 22px;padding:22px 0}.chan{font-size:14px;color:var(--muted);font-weight:500}
.block{padding:72px 0}.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:46px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 56px}.pcard{display:flex;flex-direction:column;height:100%;padding:28px 0;border-top:1px solid var(--border)}.top{display:flex;justify-content:space-between;align-items:baseline;gap:16px}.cat{font-size:13px;font-weight:600;color:var(--muted)}.num{font-family:var(--mono);font-size:14px;font-weight:400;color:var(--sage-ink)}.pcard h3{margin-top:12px}.pcard p{color:var(--muted);font-size:16px;margin-top:9px}.pcard .result{color:var(--sage-ink);margin-top:16px}.foot{display:flex;align-items:center;margin-top:auto;padding-top:16px}.dom{font-size:14px;overflow-wrap:anywhere}.other{margin-top:28px;border-top:1px solid var(--border);padding-top:28px}.other ul{list-style:none;margin-top:16px;color:var(--muted)}.other li{padding:6px 0}.other strong{color:var(--ink);font-weight:500}.secondary{color:var(--muted);font-size:14px;margin-top:26px}
.exp{background:var(--white)}.xrow{display:grid;grid-template-columns:220px 1fr;gap:36px;padding:32px 0;border-top:1px solid var(--border)}.xrow:last-of-type{border-bottom:1px solid var(--border)}.when{font-size:14px;color:var(--muted)}.org{display:flex;align-items:center;gap:10px;margin-bottom:9px}.org b{color:var(--ink);font-family:var(--serif);font-weight:400;font-size:27px;line-height:1.16;letter-spacing:-.02em}.orgmark{flex:0 0 28px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;color:var(--ink)}.orgmark img,.orgmark svg{width:100%;height:100%;display:block;object-fit:contain}.orgmark img{filter:grayscale(1)}.monogram{font:400 27px/1 var(--serif);border:1px solid var(--ink);width:28px;height:28px;text-align:center}.xrow p{color:var(--muted);font-size:16px;line-height:1.6;margin-top:10px;max-width:70ch}
.about{background:var(--sage-tint)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px}.about-grid p{color:#41473d}.education{margin-top:24px;font-size:14px}.tool-row+.tool-row{margin-top:22px}.tool-row h3{font-family:var(--sans);font-size:14px;font-weight:600;letter-spacing:0}.tool-row p{font-size:14px;margin-top:6px}
.contact{background:var(--charcoal)}.contact-panel{max-width:1200px;margin:0 auto;padding:90px var(--gutter) 40px}.contact h2{color:var(--paper)}.clinks{display:flex;gap:36px 56px;margin-top:46px;flex-wrap:wrap;padding-top:34px;border-top:1px solid rgba(245,245,240,.14)}.clink{color:var(--paper);text-decoration:none;display:inline-block;max-width:100%}.clink .k{font-size:13px;font-weight:600;color:#a5aaa2;display:block;margin-bottom:9px}.clink .v{font-size:16px;color:var(--paper);overflow-wrap:anywhere}.clink:hover .v{text-decoration:underline}footer{background:var(--charcoal);color:#b7bab3}.foot-inner{max-width:1200px;margin:0 auto;padding:26px var(--gutter);display:flex;justify-content:space-between;align-items:center;font-size:13px;flex-wrap:wrap;gap:14px 28px}.foot-links{display:flex;gap:26px;align-items:center;flex-wrap:wrap}.foot-links a{display:inline-flex;align-items:center;min-height:44px;font-size:13px;color:#b7bab3;text-decoration:none}.foot-links a:hover{color:var(--paper)}
@media(max-width:1000px){.nav-inner{gap:18px}.links{gap:16px}.navlink{font-size:13px}}
@media(max-width:860px){.hero{padding:24px 0 28px}.hero-grid{grid-template-columns:1fr;gap:20px}.portrait{order:-1;justify-content:flex-start;min-height:128px}.portrait img{max-width:128px;width:128px;height:128px}.hero h1{font-size:38px}.lede{margin-top:16px}.hero-cta{margin-top:20px}.grid{grid-template-columns:1fr;gap:0}.xrow{grid-template-columns:1fr;gap:16px}.about-grid{grid-template-columns:1fr;gap:32px}.sec-head{align-items:flex-start}.sec-head h2,.contact h2{font-size:34px}.block{padding:52px 0}}
@media(max-width:760px){.nav-inner{position:relative;padding-top:10px;padding-bottom:10px;gap:14px}.language{margin-left:auto}.nav-toggle{display:flex}.links{position:absolute;top:100%;left:0;right:0;display:none;flex-direction:column;align-items:stretch;gap:0;margin:0;background:var(--paper);border-bottom:1px solid var(--border);padding:0 var(--gutter) 12px}.nav.open .links{display:flex}.links .navlink{min-height:48px;border-top:1px solid var(--border);font-size:14px}.strip-inner{justify-content:flex-start;gap:12px 20px}.contact-panel{padding-top:64px}.clinks{flex-direction:column;gap:24px}.foot-inner{align-items:flex-start}.brand{font-size:21px}.hero-cta .btn{padding-left:20px;padding-right:20px}.sec-head{margin-bottom:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.tenure{margin-top:24px;display:grid;gap:12px}.tenure div{display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--border);padding-top:10px;font-size:14px}.tenure dt{max-width:32ch;color:var(--muted)}.tenure dd{white-space:nowrap;color:var(--sage-ink);font-weight:500}.methods{font-size:14px;margin-top:22px}.count{font-size:14px;color:var(--muted);white-space:nowrap}@media(max-width:860px){.count{align-self:flex-start}.sec-head:has(.count){flex-direction:column;gap:16px}}

.pcard details{margin-top:16px}.pcard summary{cursor:pointer;font-size:14px;text-decoration:underline;text-underline-offset:4px;list-style:none}.pcard summary::-webkit-details-marker{display:none}.pcard details p{font-size:16px}
.document-link{border:0;background:transparent;padding:0;min-height:44px;font:inherit;font-size:14px;color:var(--sage-deep);text-decoration:underline;text-underline-offset:4px;cursor:pointer}.document-open{overflow:hidden}.document-modal{margin:auto;width:min(1060px,calc(100% - 40px));height:min(900px,calc(100dvh - 48px));max-width:none;max-height:none;border:1px solid #d8dce0;border-radius:12px;background:#f0f2f4;color:var(--ink);overflow:hidden;box-shadow:0 20px 80px #171b2240}.document-modal::backdrop{background:#20252c88}.document-modal[open]{display:flex;flex-direction:column}.document-header{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-shrink:0;padding:12px 20px;background:#f8fafc;border-bottom:1px solid #d8dce0;font-size:16px}.document-close{flex-shrink:0;width:44px;height:44px;border:0;border-radius:50%;background:transparent;color:var(--ink);font:28px/1 var(--sans);cursor:pointer}.document-close:hover{background:#e5e8eb}.document-scroll{overflow:auto;overscroll-behavior:contain;padding:32px;min-height:0}.document-page{width:100%;max-width:794px;margin:auto;padding:64px 72px 80px;background:#fff;border:1px solid #dadce0;box-shadow:0 2px 5px #20252c0d}.document-meta{font-size:14px;color:var(--muted);margin-bottom:16px}.document-page h2{font-size:32px;line-height:1.25;margin-bottom:32px}.document-page section+section{margin-top:30px}.document-page h3{font-size:23px;line-height:1.3;margin-bottom:12px}.document-page ul{padding-left:22px}.document-page li{font-size:16px;line-height:1.7;margin-bottom:10px}.document-page li:last-child{margin-bottom:0}@media(max-width:760px){.document-modal{width:100%;height:100dvh;border-radius:0;border:0}.document-header{padding:8px 16px;font-size:14px;gap:12px}.document-scroll{padding:16px 10px}.document-page{padding:28px 20px 40px}.document-page h2{font-size:26px}.document-page h3{font-size:21px}}
.nav-inner{justify-content:space-between}.links{gap:30px}.navlink{font-size:13px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.case-card{padding:30px 0 34px}.case-card h3{margin-bottom:22px}.case-label{display:block;font-size:12px;letter-spacing:.06em;font-weight:600;color:var(--muted)}.case-description p{margin-top:6px}.case-outcome{margin-top:22px;padding:16px 20px;border-left:2px solid var(--sage);background:var(--sage-tint)}.case-outcome p{margin-top:6px;color:var(--ink)}.case-card .foot{margin-top:0}.document-page p{margin:14px 0;line-height:1.7}.document-page h3{margin-top:32px}.document-page h4{font-family:var(--sans);font-size:17px;margin:22px 0 12px}.document-page ol,.document-page ul{padding-left:24px;margin:12px 0}.document-page hr{border:0;border-top:1px solid #dadce0;margin:28px 0}.document-page table{border-collapse:collapse;display:block;overflow-x:auto;max-width:100%;font-size:14px;margin:20px 0}.document-page td,.document-page th{border:1px solid #dadce0;padding:9px 12px;text-align:left;min-width:100px}.document-page th{background:#f0f2f4}.document-page aside{padding:14px 18px;background:#f0f2f4;margin:20px 0}.document-page a{overflow-wrap:anywhere}@media(max-width:1000px){.links{gap:18px}.nav-inner{gap:16px}}@media(max-width:760px){.links{gap:0}.case-card h3{margin-bottom:18px}.case-outcome{padding:14px 16px}}
/* Shared narrow-screen behavior, aligned with the reference portfolio. */
.hero-grid>*,.grid>*,.about-grid>*,.xrow>*{min-width:0}
.strip{overflow-x:auto;scrollbar-width:none}.strip::-webkit-scrollbar{display:none}
.strip-inner{flex-wrap:nowrap;width:max-content;margin-inline:auto;gap:clamp(20px,3vw,36px);justify-content:flex-start}.chan{white-space:nowrap}
@media(max-width:860px){
 .hero{padding:16px 0 28px}.hero h1{font-size:38px;line-height:1.1}
 .hero-cta{display:flex;gap:14px;flex-wrap:wrap}.hero-cta .btn{width:auto;padding:14px 30px;min-height:44px;line-height:1}
 .block{padding:72px 0}.sec-head{flex-direction:column;align-items:flex-start;margin-bottom:46px}.sec-head h2{margin-top:16px}
 .pcard{padding:28px 0;height:auto}.pcard h3{font-size:27px;line-height:1.12}
 .xrow{padding:32px 0;gap:10px}
}
@media(max-width:760px){
 .nav-inner{gap:8px;padding-top:14px;padding-bottom:14px}.brand{font-size:22px}
 .language{gap:2px}.language a{min-width:30px}
 .nav-toggle{flex:0 0 44px;padding:10px 8px}.nav-toggle span{width:100%;border-radius:2px}
 .nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
 .nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
 .nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
 .links{max-height:calc(100dvh - 72px);overflow-y:auto;overscroll-behavior:contain;padding-bottom:10px;box-shadow:0 14px 34px #1111111a}
 .links .navlink{font-size:13px;letter-spacing:.05em;min-height:52px}.nav.open .links>:first-child{border-top:0}
 .top{gap:16px}.cat{overflow-wrap:anywhere}.num{flex-shrink:0}
 .tenure dt{min-width:0}.tenure div{gap:16px}.clink{min-height:44px}
 .document-modal{height:100vh;height:100dvh}.document-header{padding-top:calc(8px + env(safe-area-inset-top));gap:10px}.document-header>span{min-width:0;overflow-wrap:anywhere}
 .document-scroll{padding:12px 8px calc(12px + env(safe-area-inset-bottom));overflow-x:hidden}
 .document-page{min-width:0;padding:24px 16px 32px}.document-page h2{font-size:25px;line-height:1.25}.document-page li,.document-page p{overflow-wrap:anywhere}
 .document-page table{width:100%;max-width:100%;overscroll-behavior-x:contain}.document-page td,.document-page th{min-width:110px}.document-page pre{max-width:100%;overflow:auto}
}
@media(max-width:640px){.hero h1 br{display:none}.hero h1 em::before{content:" "}}
@media(max-width:400px){.nav-inner{padding-left:16px;padding-right:16px}.brand{font-size:17px}}

.compact-toggle{display:none}
@media(max-width:760px){
 .compact-toggle{display:inline-flex;align-items:center;align-self:flex-start;min-height:44px;margin-top:8px;padding:0;border:0;background:transparent;color:var(--sage-deep);font:500 14px/1.4 var(--sans);text-decoration:underline;text-underline-offset:4px;cursor:pointer}
 .compact-card:not(.expanded) .case-description{display:none}
 .compact-card:not(.expanded) .case-outcome{margin-top:0}
 .compact-card:not(.expanded) .case-outcome p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
 .xrow.compact-card:not(.expanded) .compact-body{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
 .xrow.compact-card .compact-body p:first-child{margin-top:10px}
 .case-card.compact-card h3{margin-bottom:16px}
}
