:root{color-scheme:dark;--bg:#080b10;--text:#e8e8e2;--muted:#a6a9b3;--faint:#747d8e;--accent:#a4b2ff;--line:rgba(180,192,220,.15)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:1px solid var(--accent);outline-offset:7px}a:hover{color:var(--accent)}::selection{background:#6978ad;color:white}.atmosphere{position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at 82% 44%,#0c1421aa,transparent 52%),radial-gradient(ellipse at 20% 75%,#03050766,transparent 60%);z-index:-1}.grain{position:fixed;inset:0;pointer-events:none;z-index:10;opacity:.105;background-repeat:repeat}.skip{position:fixed;top:-100px;left:20px;background:var(--bg);z-index:100;padding:8px}.skip:focus{top:10px}header{position:fixed;top:44px;left:4.5vw;display:flex;gap:30px;z-index:20}.monogram{font-family:Georgia,serif;font-style:normal;font-weight:700;font-size:22px;line-height:1.2;letter-spacing:-1px;width:auto;padding:0}nav{display:flex;flex-direction:column;gap:14px}nav a{font-size:14px;color:#9da4af;line-height:1.5;transition:color .25s}nav a.active{color:var(--text)}.top-links{position:fixed;top:26px;right:5vw;z-index:20;display:flex;gap:28px;font-size:13px;color:var(--muted)}.top-links span{color:var(--faint);font-size:12px;margin-left:4px}main{width:100%;position:relative}.chapter{width:43%;margin-left:17.5%;min-height:100svh;position:relative;display:flex;flex-direction:column;justify-content:center;padding:120px 0}.hero{height:100svh;min-height:730px;padding-top:150px}.hero-copy{max-width:540px}.eyebrow{font-size:12px;letter-spacing:.13em;color:#9099a8;margin:0 0 26px}.eyebrow span{padding:0 8px;color:#515c6e}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.04em;line-height:1.09}h1{font-size:clamp(42px,3.65vw,64px);margin-bottom:25px}h2{font-size:clamp(28px,2.5vw,39px);margin-bottom:28px}.intro{max-width:460px;color:var(--muted);font-size:17px;line-height:1.65}.hero-links{display:flex;gap:32px;font-size:14px;margin-top:36px}.hero-links a:first-child{color:var(--text)}.hero-links a:last-child{color:var(--faint)}.hero-links a:hover{color:var(--accent)}.hero-links span{padding-left:9px}.current{font-size:12px;color:#7e8999;margin-top:48px}.scroll-cue{position:absolute;bottom:37px;display:flex;align-items:center;gap:18px;font-size:11px;color:#788395;letter-spacing:.12em}.hairline{height:1px;width:64px;background:var(--line)}.particle-stage{position:fixed;left:60%;top:16%;width:35%;height:72%;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center}.sculpture{width:100%;height:72%;border:0;padding:0;background:none;cursor:crosshair;position:relative}.sculpture canvas{width:100%;height:100%;display:block;touch-action:pan-y}.sculpture-caption{width:75%;margin-top:18px;max-width:340px}.shape-line{display:flex;justify-content:space-between;gap:10px;font-size:11px;letter-spacing:.06em;color:#788397}.shape-line button{font-size:11px;background:none;border:0;cursor:pointer;color:inherit;padding:0}.shape-line button:hover{color:var(--text)}.sculpture-caption p{font-family:Georgia,serif;font-size:15px;line-height:1.45;margin:20px 0 14px;color:#b6bfd0}.interaction-hint{font-size:11px;letter-spacing:.04em;color:#717c90}.interaction-hint span{margin-left:12px}footer{margin:0 7% 0 17.5%;border-top:1px solid var(--line);padding:30px 0;display:flex;gap:28px;font-size:12px;color:var(--faint);position:relative;z-index:3}footer a:last-child{margin-left:auto}
@media(min-width:1700px){.hero-copy{max-width:600px}.intro{max-width:490px}}
@media(max-width:1000px){header{left:30px;gap:17px}.chapter{margin-left:20%;width:42%}.hero-links{flex-direction:column;gap:14px}.particle-stage{left:62%;width:36%}h1{font-size:42px}.eyebrow{font-size:11px;letter-spacing:.07em}.sculpture-caption{width:85%}}
@media(max-width:700px){html{scroll-padding-top:90px}header{position:fixed;top:0;left:0;width:100%;padding:22px 24px;align-items:center;justify-content:space-between;background:linear-gradient(#080b10 70%,#080b1000)}nav{flex-direction:row;gap:17px}nav a{font-size:12px}.top-links{position:absolute;top:84px;right:25px;font-size:12px;gap:20px}.chapter{width:auto;margin:0 27px;min-height:initial;padding:94px 0}.hero{height:auto;min-height:950px;padding-top:170px;justify-content:flex-start}.hero-copy{max-width:490px}h1{font-size:45px}.intro{font-size:16px;max-width:440px}.eyebrow{font-size:10px;margin-bottom:22px}.hero-links{flex-direction:row;gap:24px;font-size:12px;margin-top:25px}.current{font-size:11px;margin-top:29px}.particle-stage{position:absolute;top:490px;left:7%;width:86%;height:400px}.sculpture{height:310px;flex-shrink:0}.sculpture-caption{margin-top:0;width:78%}.shape-line{font-size:10px}.shape-line button{font-size:10px}.sculpture-caption p{margin:14px 0 8px;font-size:13px}.interaction-hint{font-size:10px}.scroll-cue{bottom:20px;font-size:9px}footer{margin:0 27px;gap:16px;font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.grain{opacity:.032}.section-intro{max-width:460px;color:var(--muted);font-size:16px;margin-bottom:42px}.timeline{max-width:490px}.role{padding:29px 0 31px;border-top:1px solid var(--line)}.role-meta{display:flex;justify-content:space-between;color:#8792a6;font-size:11px;letter-spacing:.09em;margin-bottom:12px}.role h3{font-family:Georgia,serif;font-size:27px;font-weight:400;letter-spacing:-.02em;margin-bottom:4px}.role-title{font-size:14px!important;color:#c5cbd6!important;margin-bottom:14px}.role p{font-size:15px;color:var(--muted);line-height:1.7;margin-bottom:16px}.tagline{display:block;font-size:12px;color:#8590a6;line-height:1.7;margin-top:20px}details{font-size:14px;color:var(--muted)}summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:18px;font-size:13px;padding:6px 0;color:#c0c7d6}summary::-webkit-details-marker{display:none}summary span{color:#838fb0;font-size:18px;transition:transform .25s}details[open] summary span{transform:rotate(45deg)}details p{margin-top:14px}summary:hover{color:var(--accent)}summary:focus-visible{outline:1px solid var(--accent);outline-offset:5px}.skill-row{max-width:490px;padding:26px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:110px 1fr;gap:20px}.skill-row>span{font-size:14px;color:#d0d5df}.skill-row p{color:var(--muted);font-size:15px;margin:0}.education{max-width:490px;margin-top:62px}.education .eyebrow{margin-bottom:19px}.education h3{font-family:Georgia,serif;font-size:23px;font-weight:400;line-height:1.3}.education p:not(.eyebrow){color:var(--muted);font-size:14px}.early-work{max-width:490px;border-top:1px solid var(--line);padding-top:16px;margin-top:27px}.intern{padding:16px 0}.intern h4{font-size:15px;font-weight:400;margin:0;color:#cbd0db}.intern h4 span{float:right;font-size:12px;color:var(--faint)}.intern p{font-size:14px;margin-bottom:0}.article-link{max-width:490px;display:flex;justify-content:space-between;gap:24px;align-items:center;border-top:1px solid var(--line);padding:26px 0}.article-type{font-size:10px;letter-spacing:.12em;color:var(--faint)}.article-link h3{font-family:Georgia,serif;font-size:23px;line-height:1.3;font-weight:400;margin:8px 0 0;transition:color .2s}.article-link>span{color:#a1acc5;transition:transform .2s}.article-link:hover>span{transform:translate(3px,-3px)}.contact{min-height:85svh}.email{font-family:Georgia,serif;font-size:27px;letter-spacing:-.02em;display:inline-block;align-self:flex-start;border-bottom:1px solid var(--line);padding-bottom:12px}.email span{font-family:Arial,sans-serif;font-size:20px;margin-left:18px;color:var(--accent)}.social-links{display:flex;gap:25px;font-size:13px;color:#939eb2;margin-top:30px}
@media(max-width:700px){.skill-row{grid-template-columns:95px 1fr;gap:14px}.role{padding:25px 0}.role p,.skill-row p{font-size:15px}.section-intro{margin-bottom:30px}.contact{min-height:650px}.email{font-size:24px}.email span{margin-left:9px}.social-links{font-size:12px;gap:20px}.article-link h3{font-size:22px}.education h3{font-size:22px}.intern h4 span{float:none;display:block;margin-top:5px}}
@media(max-width:360px){nav{gap:12px}.hero{min-height:1000px}h1{font-size:39px}.hero-links{gap:16px}.particle-stage{top:535px}.email{font-size:21px}}
@media(max-width:700px){.hero{min-height:0;padding-bottom:85px}.particle-stage{position:relative;top:auto;left:auto;width:100%;height:430px;margin:15px auto 0;flex-shrink:0}.sculpture{height:315px}.sculpture-caption{width:86%}.current{margin-bottom:0}.scroll-cue{bottom:25px}}
.sculpture{cursor:grab;user-select:none;-webkit-user-select:none}.sculpture:active{cursor:grabbing}.interaction-hint{display:block;line-height:1.7;font-size:11px}.sculpture canvas{touch-action:pan-y}.shape-line #shape-name{letter-spacing:.06em;text-align:left}
.work-details{margin:14px 0 4px;padding-left:20px;font-size:14px;line-height:1.75}.work-details li{padding-left:3px;margin-bottom:12px}.work-details li::marker{color:var(--faint)}.work-details li:last-child{margin-bottom:0}.achievements{max-width:490px}.achievements>h3{font-family:Georgia,serif;font-size:26px;font-weight:400;letter-spacing:-.02em;margin-bottom:26px}.achievements ul{list-style:none;padding:0;margin:0}.achievements li{padding:24px 0;border-top:1px solid var(--line)}.achievement-label{font-size:10px;letter-spacing:.1em;color:#9099a8}.achievements li h3{font-family:Georgia,serif;font-size:23px;line-height:1.3;font-weight:400;margin:8px 0 0}.achievements p{font-size:14px;color:var(--muted);margin:10px 0 0}
@media(max-width:700px){header{gap:16px}nav{gap:14px}.monogram{flex-shrink:0}}
@media(max-width:360px){header{padding-left:20px;padding-right:20px;gap:12px}nav{gap:10px}nav a{font-size:11px}}


@media(max-width:700px){header{align-items:flex-start}nav{flex-wrap:wrap;justify-content:flex-end;max-width:360px;column-gap:16px;row-gap:9px}html{scroll-padding-top:110px}}

/* Give navigation a dedicated gutter, including around the desktop breakpoint. */
@media(min-width:701px){
  header{left:clamp(24px,3vw,54px);width:122px;flex-direction:column;align-items:flex-start;gap:25px}
  header nav{width:100%}
  header nav a{white-space:nowrap}
  .chapter{margin-left:max(180px,19vw);width:calc(60vw - max(180px,19vw))}
  footer{margin-left:max(180px,19vw)}
  .journal-main{margin-left:max(180px,19vw);width:calc(94vw - max(180px,19vw))}
}
.chapter>.eyebrow{font-size:14px;letter-spacing:.12em;color:#a8b2c4;margin-bottom:22px}
.role summary{min-height:44px;padding:10px 13px;border:1px solid rgba(164,178,255,.22);border-radius:4px;background:rgba(164,178,255,.035);color:#cbd4eb;font-size:14px;transition:background .2s,border-color .2s,color .2s}
.role summary span{font-size:21px;line-height:1;color:var(--accent)}
.role summary:hover,.role details[open] summary{background:rgba(164,178,255,.075);border-color:rgba(164,178,255,.4);color:var(--text)}
.early-work{padding-top:25px;margin-top:42px}
.early-work>h3{font-family:Georgia,serif;font-size:23px;font-weight:400;line-height:1.3;margin-bottom:18px}
.intern{padding:20px 0;border-bottom:1px solid var(--line)}
.intern:last-child{border-bottom:0}
.intern p{color:var(--muted);margin:10px 0 0}
.article-type{text-transform:uppercase;line-height:1.8}
.article-type time{white-space:nowrap}
.article-link h3{overflow-wrap:anywhere}
@media(max-width:700px){
  .chapter>.eyebrow{font-size:13px;letter-spacing:.1em}
  header .monogram{font-size:22px;flex-shrink:0}
  header nav{max-width:calc(100% - 48px)}
}
@media(prefers-reduced-motion:reduce){.role summary{transition:none}}
