:root{--dark-accent:#293d46;--marble-base:#536168;--marble-tint:#293d46;--marble-opacity:.25;--portrait-background:var(--paper);--portrait-border:var(--hero-accent);--light-panel-ink:#34474d;--ink:#eee9dc;--navy:#435660;--deep:#2e414a;--gold:#d4b879;--paper:#475961;--muted:#c3c6be;--line:#e5e0cf3d;--hero-text:#faf8ef;--hero-secondary:#edf1eb;--hero-accent:#ffe0a0}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}.shell{width:min(1320px,89%);margin:auto}.prototype-note{text-align:center;letter-spacing:.16em;color:#34454a;background:#d4bc8f;padding:9px;font-size:9px;font-weight:700}.prototype-note span{padding:0 7px}.header{border-bottom:1px solid #d4d9d6;align-items:center;gap:5rem;height:99px;display:flex}.brand{align-items:center;gap:15px;margin-right:auto;display:flex}.brand-symbol{letter-spacing:-.22em;padding-right:7px;font:32px Georgia,serif}.brand-symbol span{color:#bd9b61}.brand-name{white-space:nowrap;font:16px Georgia,serif}.brand-name small{letter-spacing:.16em;color:#83908c;margin-top:6px;font:8px Arial,sans-serif;display:block}.header nav{gap:37px;font-size:11px;font-weight:700;display:flex}.header-label{letter-spacing:.12em;color:#88928e;white-space:nowrap;font-size:9px}.header-label span{color:#a3834d;margin-left:8px}.hero{grid-template-columns:1fr .78fr;align-items:center;gap:8%;min-height:640px;padding:78px 0 100px;display:grid;position:relative}.kicker{letter-spacing:.18em;color:#9d8050;font-size:9px;font-weight:700}.small-line{vertical-align:middle;background:#b99d6d;width:30px;height:1px;margin-right:10px;display:inline-block}.hero h1 em{color:#617680;font-weight:400}.period,.gold{color:#bb9a61}.hero-description{color:#53676c;max-width:490px;font:21px/1.55 Georgia,serif}.hero-affiliation{letter-spacing:.14em;color:#778685;margin-top:30px;font-size:9px;font-weight:700}.hero-affiliation span{color:#bca16c;margin:0 8px}.profile-links{flex-wrap:wrap;gap:23px;margin-top:37px;display:flex}.profile-links span{letter-spacing:.1em;border-bottom:1px solid #bda673;padding-bottom:7px;font-size:9px;font-weight:700}.portrait-composition{margin-left:5%;padding:0 18px 25px 0;position:relative}.portrait-frame{background:var(--portrait-background);border:1px solid var(--portrait-border);height:420px;position:relative;overflow:hidden}.portrait-frame img{object-fit:cover;object-position:center 25%;filter:saturate(.7);width:100%;height:100%}.portrait-overlay{pointer-events:none;background:linear-gradient(#0000 45%,#27394145);position:absolute;inset:0}.portrait-composition:before{content:"";border:1px solid #cbb889;position:absolute;inset:18px 0 8px 18px}.portrait-caption{letter-spacing:.15em;color:#8a9590;justify-content:space-between;padding-top:13px;font-size:8px;font-weight:700;display:flex}.hero-curve{stroke:#c5a96f;stroke-width:1.3px;width:62%;position:absolute;bottom:22%;left:-25%;overflow:visible}.hero-curve circle{fill:#c5a96f;stroke:none}.hero-index{color:#89948e;letter-spacing:.15em;justify-content:space-between;font-size:8px;font-weight:700;display:flex;position:absolute;bottom:23px;left:0;right:0}.intro-section{background:#e7e9e3;padding:100px 0}.intro-grid{grid-template-columns:25% 1fr;gap:4%;display:grid}.section-label{letter-spacing:.15em;color:#7d8d8a;align-items:start;gap:18px;font-size:9px;font-weight:700;display:flex}.label-line{background:#c0b494;width:40px;height:1px;margin-top:4px}.section-top{justify-content:space-between;display:flex}.star{color:#bba16e;font-size:34px}.intro-body h2,.section-heading h2,.closing h2{letter-spacing:-.04em;margin:22px 0 35px;font:clamp(39px,4.8vw,68px)/1.1 Georgia,serif}.intro-body h2 em,.section-heading h2 em,.closing h2 em{color:#778c8a;font-weight:400}.intro-columns{grid-template-columns:1fr 1fr;gap:55px;max-width:760px;display:grid}.intro-columns p{margin:0;font:16px/1.7 Georgia,serif}.publications{padding:115px 0}.section-heading{justify-content:space-between;align-items:end;gap:30px;margin-bottom:45px;display:flex}.section-heading h2{margin:15px 0 0}.section-link{letter-spacing:.13em;border-bottom:1px solid #baa474;padding-bottom:8px;font-size:9px;font-weight:700}.section-link span{margin-left:20px}.publication-row{border-top:1px solid var(--line);grid-template-columns:15% 1fr auto;gap:15px;padding:27px 0;display:grid}.publication-row:last-of-type{border-bottom:1px solid var(--line)}.pub-year,.placeholder-label{letter-spacing:.12em;color:#99a29d;font-size:9px;font-weight:700}.publication-row h3{margin:10px 0;font:24px Georgia,serif}.publication-row p{color:#87938f;margin:0;font-size:12px}.expand{color:#a58a57;font:24px Georgia}.section-footnote{color:#98a19c;margin-top:22px;font-size:11px}.projects-section{background:var(--deep);color:#e8e9e1;padding:110px 0}.light-heading .kicker{color:#c6ac78}.light-heading h2 em{color:#c8b184}.light-heading>p{color:#aab7b3;max-width:260px;font:15px/1.6 Georgia,serif}.project-grid{grid-template-columns:1.35fr 1fr;gap:35px;display:grid}.project-art{background:#40555b;height:220px;position:relative;overflow:hidden}.chart-grid{background-image:linear-gradient(#81918b22 1px,#0000 1px),linear-gradient(90deg,#81918b22 1px,#0000 1px);background-size:55px 55px;position:absolute;inset:0}.project-art svg{fill:none;stroke:#d2bb86;stroke-width:1.2px;width:100%;height:180px;position:absolute;inset:35px 0 0}.project-art svg path+path{stroke:#9eafa2;opacity:.7}.project-art>span{letter-spacing:.16em;color:#c2cbc0;font-size:8px;position:absolute;top:20px;left:22px}.project-content{padding:30px 34px 35px}.project-meta{letter-spacing:.14em;color:#c4b28c;justify-content:space-between;font-size:8px;font-weight:700;display:flex}.project-content h3,.project-side h3{letter-spacing:-.03em;margin:22px 0 12px;font:34px/1.12 Georgia,serif}.project-content h3 span,.project-side h3 b{color:#c8b07b;font:22px Arial}.project-content p,.project-side p{color:#adbbb7;font:13px/1.6 Arial}.project-tag{letter-spacing:.14em;color:#d1d7c9;border:1px solid #71817b;margin-top:13px;padding:8px 10px;font-size:8px;display:inline-block}.project-side{flex-direction:column;display:flex}.project-side article{border-top:1px solid #66766f;flex:1;padding:24px 0 26px}.project-side article>span,.project-end{letter-spacing:.15em;color:#c3b087;font-size:8px;font-weight:700}.project-side h3{margin:18px 0 10px}.project-end{color:#e5e8dc;border-top:1px solid #66766f;padding-top:22px}.project-end span{float:right}.closing{grid-template-columns:1fr 1fr;gap:10%;padding:115px 0;display:grid}.closing h2{margin-top:22px}.closing-right>div{border-top:1px solid var(--line);padding:23px 0}.closing-right>div>span{letter-spacing:.14em;color:#ae9465;font-size:9px;font-weight:700}.closing-right h3{margin:15px 0 10px;font:25px Georgia,serif}.closing-right h3 b{float:right;color:#b39a69;font:17px Arial}.closing-right p{color:#82908a;font-size:12px}.footer{background:#dce2dc;padding:45px 0}.footer-inner{justify-content:space-between;align-items:end;display:flex}.footer-name{font:25px Georgia,serif}.footer-name span{color:#bb9a61}.footer p{color:#84908a;font-size:11px}.footer-inner>span{letter-spacing:.15em;color:#89958e;font-size:8px;font-weight:700}@media (max-width:800px){.header{gap:1rem;height:80px}.header-label{display:none}.header nav{gap:16px}.hero{grid-template-columns:1fr;gap:50px;padding-top:65px}.hero h1{font-size:80px}.portrait-composition{max-width:420px;margin-left:10%}.portrait-frame{height:380px}.intro-grid{grid-template-columns:1fr;gap:35px}.project-grid{grid-template-columns:1fr}.closing{grid-template-columns:1fr;gap:25px}.publications,.projects-section,.closing{padding-block:80px}}@media (max-width:480px){.shell{width:calc(100% - 40px)}.brand-name small{display:none}.brand-symbol{font-size:26px}.brand-name{font-size:13px}.header nav{gap:12px;font-size:10px}.header nav a:last-child{display:none}.hero h1{font-size:68px}.hero-description{font-size:18px}.portrait-frame{height:320px}.intro-columns{grid-template-columns:1fr;gap:18px}.section-heading{flex-direction:column;align-items:start}.publication-row{grid-template-columns:50px 1fr auto}.publication-row h3{font-size:20px}.footer-inner>span{display:none}}.introduction{color:#718080;margin:0;font:16px Georgia,serif}.brand-name small{text-transform:none;letter-spacing:.03em;font-size:10px}.hero-affiliation{text-transform:none;letter-spacing:.02em;font-size:12px;font-weight:400}.profile-links span{text-transform:none;letter-spacing:0;font-size:12px}.portrait-caption,.hero-index,.section-label,.section-link,.project-meta,.project-side article>span,.project-end,.closing-right>div>span,.footer-inner>span{text-transform:none;letter-spacing:.03em;font-size:11px}.project-art>span:empty{display:none}.section-label{color:#718080;font-weight:400}.publication-row h3{font-size:22px}.intro-body h2{margin-top:0}.hero{grid-template-columns:minmax(0,1fr) minmax(240px,350px);gap:10%;min-height:560px;padding:85px 0 95px}.hero-copy{max-width:650px}.hero .introduction{color:#73817d;font:14px/1.5 Arial,Helvetica,sans-serif}.hero h1{letter-spacing:-.045em;margin:18px 0 12px;font:clamp(52px,6vw,82px)/1.05 Georgia,serif}.hero-affiliation{color:#8b795b;margin:0;font-size:14px}.hero-description{color:#53676c;max-width:530px;margin:32px 0;font:19px/1.65 Georgia,serif}.profile-links{gap:25px;margin-top:35px}.profile-links span{color:#344d53;border-bottom:1px solid #c9b78f;padding-bottom:5px;font-size:12px;font-weight:400}.portrait-composition{margin:0;padding:0}.portrait-composition:before{content:none}.portrait-frame{aspect-ratio:4/5;background:#a7afb0;height:auto}.portrait-frame img{object-position:center 25%;filter:saturate(.85)}.intro-grid{display:block}.intro-body{max-width:900px;margin-left:29%}@media (max-width:800px){.hero{grid-template-columns:1fr;gap:35px;min-height:0;padding:65px 0 75px}.hero h1{font-size:clamp(48px,9vw,70px)}.portrait-composition{max-width:330px;margin:0}.portrait-frame{height:auto}.intro-body{margin-left:0}}@media (max-width:480px){.hero h1{font-size:48px}.hero-description{font-size:17px}.profile-links{gap:18px}}.intro-body{text-align:center;margin-inline:auto}.intro-columns{text-align:left;margin-inline:auto}.intro-body h2 em,.closing h2 em{color:inherit}body{color:var(--ink);background-color:#495b64;background-image:radial-gradient(44% 22% at 8% 15%,#c69b7840,#0000 73%),radial-gradient(43% 20% at 88% 8%,#94a1a13b,#0000 74%),radial-gradient(48% 20% at 78% 43%,#bc977c26,#0000 74%),radial-gradient(46% 22% at 4% 68%,#9aa8a62e,#0000 76%),radial-gradient(48% 20% at 90% 93%,#b891742b,#0000 73%),linear-gradient(145deg,#465a64 0%,#59656a 48%,#3f545e 100%)}.prototype-note{color:#293a40;background:#cdb486}.header{border-color:#eae2ce3b}.brand-symbol span,.gold{color:#dec187}.brand-name small,.hero .introduction{color:#c0c9c5}.header nav a:hover{color:#e5c88b}.hero h1{color:#f3eee2}.hero-description{color:#e2e1d7}.profile-links span{color:#f0eadd;border-color:#c9ad78}.portrait-frame{background-color:var(--portrait-background)}.intro-section{color:var(--light-panel-ink);background:#d6d4c9}.intro-body h2{color:var(--light-panel-ink)}.intro-columns .muted{color:#687875}.publications .section-link{color:#ece7da;border-color:#d6b97e}.publication-row{border-color:#e9e1ce45}.pub-year,.placeholder-label,.publication-row p,.section-footnote{color:#c3cbc5}.expand{color:#dfc38a}.projects-section{background:var(--dark-accent)}.featured-project{background:#3d5056}.project-art{background:#526168}.closing-right>div{border-color:#e9e1ce45}.closing-right>div>span,.closing-right h3 b{color:#e0c28b}.closing-right p{color:#c4cdc7}.footer{background:#354b54}.footer-name,.footer-name span{color:#f0eade}.footer p,.footer-inner>span{color:#bec9c4}body{isolation:isolate;background:var(--marble-base);position:relative}body:before{z-index:-1;pointer-events:none;content:"";background-color:var(--marble-tint);opacity:var(--marble-opacity);position:absolute;inset:0;-webkit-mask-image:url(/assets/marble-veins.svg);mask-image:url(/assets/marble-veins.svg);-webkit-mask-repeat:repeat;mask-repeat:repeat}.portrait-frame{border:2px solid var(--portrait-border);background:var(--portrait-background);overflow:hidden}.hero h1,.hero-description,.profile-links span{color:var(--hero-text)}.hero .introduction{color:var(--hero-secondary)}.hero-affiliation{color:var(--hero-accent)}
