:root{--paper: #f7f4ee;--ink: #14120f;--ink2: #453f37;--dim: #6f685e;--faint: #6a635a;--rule: #dcd6c9;--rule2: #c6bfae;--card: #fffdf8;--blue: #12409e;--blue-deep: #0e3585;--blue-soft: rgba(18, 64, 158, .1);--tick: #8c8375;--disp: "Bricolage Grotesque", system-ui, sans-serif;--body: "Public Sans", system-ui, sans-serif;--mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;color-scheme:light}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}::-moz-selection{background:var(--blue);color:var(--paper)}::selection{background:var(--blue);color:var(--paper)}*:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:3px}.wrap{max-width:900px;margin:0 auto;padding:0 34px}@media (max-width: 600px){.wrap{padding:0 22px}body{font-size:16px}}.bar{display:flex;justify-content:space-between;align-items:baseline;padding:26px 0;gap:20px;flex-wrap:wrap}.bar .me{font-family:var(--disp);font-weight:600;font-size:17px;letter-spacing:-.01em}.bar .nav{display:flex;gap:20px;font-size:15px;color:var(--dim);flex-wrap:wrap}.bar .nav a{transition:color .18s;padding-bottom:2px;border-bottom:1.5px solid transparent}.bar .nav a:hover,.bar .nav a.here{color:var(--blue);border-color:var(--blue)}.ext{font-size:11px;vertical-align:1px;color:var(--dim)}.lead{padding:40px 0 0}.hello{font-family:var(--disp);font-size:clamp(26px,3.6vw,39px);line-height:1.32;letter-spacing:-.024em;font-weight:500;max-width:26em}.sub{font-size:clamp(17px,1.6vw,19px);color:var(--ink2);max-width:38em;margin-top:24px;line-height:1.62}.sub b{font-weight:600;color:var(--ink)}.tags{display:flex;gap:9px;flex-wrap:wrap;margin-top:26px;font-size:14.5px}.tags a{color:var(--dim);border-bottom:1.5px solid var(--rule);transition:.18s}.tags a:hover{color:var(--blue);border-color:var(--blue)}.tags i{color:var(--rule2);font-style:normal}.creds{margin-top:14px;font-size:13.5px;color:var(--faint);letter-spacing:.01em;display:flex;gap:0;flex-wrap:wrap;align-items:baseline}.creds a{font-weight:500;color:var(--dim);border-bottom:1px solid var(--rule);transition:.18s}.creds a:hover{color:var(--blue);border-color:var(--blue)}.creds i{color:var(--rule2);font-style:normal;margin:0 9px}.insts{display:flex;align-items:center;gap:0;flex-wrap:wrap;margin-top:40px;padding:16px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.insts .k{font-size:13px;color:var(--faint);letter-spacing:.02em;margin-right:20px}.insts b{font-family:var(--disp);font-size:16px;font-weight:600;color:var(--ink2);letter-spacing:-.01em}.insts i{color:var(--rule2);font-style:normal;margin:0 14px}@media (max-width: 560px){.insts .k{width:100%;margin-bottom:10px}.insts i{margin:0 10px}}section{padding:66px 0 0}h2{font-family:var(--disp);font-size:15px;font-weight:600;letter-spacing:.02em;color:var(--faint);text-transform:uppercase;margin-bottom:6px}.hr{height:1px;background:var(--rule);margin-bottom:4px}.big{padding-top:74px}.big h2{font-size:clamp(24px,3vw,32px);font-weight:600;letter-spacing:-.024em;color:var(--ink);text-transform:none;margin-bottom:10px}.prose{font-size:clamp(17px,1.65vw,19.5px);line-height:1.68;color:var(--ink2);max-width:38em;margin-top:16px}.prose b{color:var(--ink);font-weight:600}.seeall{display:inline-flex;align-items:center;gap:8px;margin-top:22px;font-size:15px;color:var(--dim);transition:.18s}.seeall:hover{color:var(--blue);gap:13px}.cases{display:flex;flex-direction:column;gap:20px;margin-top:30px}.case{padding:28px 28px 26px;background:var(--card);border:1px solid var(--rule);border-radius:4px;border-left:3px solid var(--blue)}.case .ch{display:flex;justify-content:space-between;align-items:baseline;gap:18px;flex-wrap:wrap}.case h3{font-family:var(--disp);font-size:clamp(20px,2.4vw,27px);font-weight:600;letter-spacing:-.024em;line-height:1.18;max-width:24em}.case h3 a{transition:.18s}.case h3 a:hover{color:var(--blue)}.case h3 .go{font-size:.6em;vertical-align:2px;color:var(--dim)}.case .where{font-size:13.5px;color:var(--faint);white-space:nowrap}.case .ctx{font-size:16.5px;color:var(--dim);line-height:1.6;margin-top:14px;max-width:40em}.case ul{list-style:none;margin-top:16px}.case li{font-size:16px;color:var(--ink2);line-height:1.58;padding-left:18px;position:relative;margin-bottom:7px}.case li:before{content:"";position:absolute;left:0;top:.64em;width:7px;height:1.5px;background:var(--blue)}.case .mx{display:flex;gap:34px;flex-wrap:wrap;margin-top:22px;padding-top:20px;border-top:1px solid var(--rule)}.case .mx div{min-width:0}.case .mx .v{font-family:var(--disp);font-size:clamp(19px,2.2vw,25px);font-weight:600;color:var(--ink);letter-spacing:-.02em;line-height:1.1}.case .mx .l{font-size:13.5px;color:var(--dim);margin-top:5px}.case .nda{font-size:13.5px;color:var(--faint);margin-top:20px;padding-top:16px;border-top:1px solid var(--rule);font-style:italic}@media (max-width: 600px){.case{padding:22px 20px}.case .mx{gap:22px}}.row{border-bottom:1px solid var(--rule)}.rh{display:grid;grid-template-columns:1fr auto 22px;gap:18px;align-items:baseline;padding:17px 10px 17px 0;cursor:pointer;transition:background .18s,padding .2s;border-radius:2px;width:100%;text-align:left;background:none;border:0;font:inherit;color:inherit}.rh:hover{background:#12409e0b;padding-left:10px}.rl{font-family:var(--disp);font-size:clamp(18px,1.9vw,21px);font-weight:500;letter-spacing:-.018em;line-height:1.25}.rl .at{color:var(--dim);font-weight:400}.rtxt{min-width:0}.rtxt .rtn{display:block;font-family:var(--body);font-size:13.5px;color:var(--faint);font-weight:400;letter-spacing:0;margin-top:5px}.rh:hover .rl{color:var(--blue)}.per{font-size:13.5px;color:var(--faint);white-space:nowrap;font-variant-numeric:tabular-nums}.pl{justify-self:end;color:var(--dim);font-size:18px;line-height:1;transition:.28s;align-self:center}.rh:hover .pl{color:var(--blue)}.row.on .pl{transform:rotate(45deg);color:var(--blue)}.row.now .rl:after{content:"now";font-family:var(--body);font-size:11.5px;font-weight:600;color:var(--ink2);border:1px solid var(--rule2);padding:2px 7px;border-radius:3px;margin-left:9px;vertical-align:2px;letter-spacing:.02em}.rb{max-height:0;overflow:hidden;transition:max-height .42s cubic-bezier(.2,.7,.2,1)}.rb .in{padding:0 20px 22px 0}.rb li{list-style:none;font-size:15.5px;color:var(--ink2);line-height:1.58;padding-left:17px;position:relative;margin-bottom:6px}.rb li:before{content:"";position:absolute;left:0;top:.62em;width:6px;height:1.5px;background:var(--tick)}.rb a{color:var(--blue);border-bottom:1px solid var(--blue-soft);transition:.18s}.rb a:hover{border-color:var(--blue)}@media (max-width: 700px){.rh{grid-template-columns:1fr 20px;gap:12px}.per{display:none}}.more{margin-top:20px;font-size:15px;color:var(--dim);cursor:pointer;display:inline-flex;gap:8px;align-items:center;transition:.18s;background:none;border:0;font-family:inherit;padding:0}.more:hover{color:var(--blue)}.more .x{transition:.28s;font-size:16px}.more.op .x{transform:rotate(45deg)}.post{display:grid;grid-template-columns:96px 1fr auto;gap:18px;align-items:baseline;padding:17px 0;border-bottom:1px solid var(--rule);transition:.2s}.post:hover{padding-left:9px}.post .d{font-size:14px;color:var(--faint)}.post .t{font-family:var(--disp);font-size:clamp(17px,1.8vw,20px);font-weight:500;letter-spacing:-.016em;line-height:1.3}.post:hover .t{color:var(--blue)}.post .t em{display:block;font-family:var(--body);font-style:normal;font-size:15px;color:var(--dim);font-weight:400;margin-top:4px;letter-spacing:0}.post .r{font-size:13.5px;color:var(--faint);white-space:nowrap}@media (max-width: 640px){.post{grid-template-columns:1fr;gap:6px}.post .r{display:none}}.edu{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:baseline;padding:17px 0;border-bottom:1px solid var(--rule)}.edu .s{font-family:var(--disp);font-size:clamp(17px,1.8vw,20px);font-weight:500;letter-spacing:-.016em;line-height:1.3}.edu .g{display:block;font-size:15px;color:var(--dim);margin-top:4px;line-height:1.5}.edu .n{display:inline-block;font-size:12px;color:var(--dim);border:1px solid var(--rule);padding:3px 9px;border-radius:999px;margin-top:8px}.edu .p{font-size:13.5px;color:var(--faint);white-space:nowrap;font-variant-numeric:tabular-nums}@media (max-width: 640px){.edu{grid-template-columns:1fr;gap:6px}}.end{padding:76px 0 0}.end .q{font-family:var(--disp);font-size:clamp(26px,3.6vw,40px);font-weight:500;letter-spacing:-.024em;line-height:1.24;margin-bottom:18px}.end .q .hl{color:var(--ink);background:var(--blue-soft);padding:0 6px;border-radius:3px;margin:0 -2px}.end p{font-size:17.5px;color:var(--ink2);max-width:32em;margin-bottom:30px}.reach{display:flex;gap:26px;align-items:center;flex-wrap:wrap}.face{width:104px;height:104px;border-radius:50%;overflow:hidden;flex-shrink:0;box-shadow:0 0 0 1.5px var(--rule2)}.face img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center 18%;object-position:center 18%;display:block}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.actions a{font-size:15.5px;font-weight:500;padding:12px 20px;border-radius:3px;transition:.18s;border:1px solid var(--rule2);color:var(--ink)}.actions a:hover{border-color:var(--blue);color:var(--blue)}.actions a.pri{background:var(--blue);border-color:var(--blue);color:#fff}.actions a.pri:hover{background:var(--blue-deep);color:#fff}.mail{display:inline-block;font-family:var(--disp);font-size:clamp(19px,2.2vw,26px);font-weight:500;letter-spacing:-.02em;color:var(--blue);border-bottom:2px solid var(--blue-soft);padding-bottom:4px;transition:.2s}.mail:hover{border-color:var(--blue)}.back{display:inline-flex;align-items:center;gap:8px;font-size:14.5px;color:var(--dim);margin-top:30px;transition:.18s}.back:hover{color:var(--blue)}footer{margin-top:78px;border-top:1px solid var(--rule);padding:22px 0 46px}footer .wrap{display:flex;justify-content:space-between;font-size:14px;color:var(--faint);flex-wrap:wrap;gap:14px}footer .fl{display:flex;gap:18px;flex-wrap:wrap}footer a{transition:.18s}footer a:hover{color:var(--blue)}.rv.in{opacity:1;transform:none}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
