:root{color-scheme:dark;--bg:#111211;--fg:#f0f0e9;--muted:#a3a59e;--line:#343630;--accent:#d8b983}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--bg);color:var(--fg);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,summary,a{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:7px}.shell{max-width:1640px;margin:auto;padding:0 5.2vw}header{height:92px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.signature{font-size:36px;letter-spacing:-5px;font-weight:900}.signature span{font-size:11px;letter-spacing:0;vertical-align:top;margin-left:8px}.location,.overline,.section-label,.small,.path-heading{font-size:12px;letter-spacing:1.8px}.location{color:var(--muted)}.contact{font-size:15px;display:flex;gap:26px}.contact span{color:var(--accent)}.intro{padding:43px 0 35px}.overline{display:flex;align-items:center;gap:10px;color:var(--muted)}.dot{width:6px;height:6px;background:var(--accent);border-radius:50%}h1{font-size:clamp(65px,10.6vw,164px);font-weight:500;line-height:1.06;letter-spacing:-.075em;margin:15px 0 22px}.period{color:var(--accent)}.intro-bottom{display:flex;justify-content:space-between;align-items:flex-end}.intro-bottom p{margin:0;font-size:17px;line-height:1.55;color:#babcb5}.text-link{font-size:14px;border-bottom:1px solid #72756a;padding:0 0 6px;display:inline-block}.intro-bottom .text-link{margin-bottom:3px}.gateway{display:grid;grid-template-columns:.78fr 1.22fr;gap:7%;padding-bottom:75px}.portrait{position:relative;overflow:hidden;min-height:475px;background:#222}.portrait>img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:45% center;filter:grayscale(1) brightness(.8);transition:filter .5s}.portrait:hover>img{filter:grayscale(0) brightness(.95)}.portrait:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.8));pointer-events:none}.portrait-caption{position:absolute;z-index:1;bottom:29px;left:28px;display:grid;gap:12px}.portrait-caption span:first-child{font-size:11px;letter-spacing:1.4px;color:#bbb}.portrait-caption span:last-child{font-family:Georgia,serif;font-style:italic;font-size:29px}.corner{position:absolute;right:25px;top:18px;color:var(--accent);font-size:27px;font-weight:200}.path-heading{display:flex;justify-content:space-between;color:var(--muted);padding:0 0 17px;border-bottom:1px solid var(--line)}.path{display:grid;grid-template-columns:34px 1fr 30px;gap:14px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line);cursor:pointer;transition:padding .25s,color .25s}.path:hover{padding-left:9px;color:var(--accent)}.number{align-self:start;padding-top:5px;font-family:monospace;font-size:12px;color:var(--muted)}.path h2{font-size:clamp(24px,2.6vw,39px);font-weight:400;letter-spacing:-1.2px;margin:0 0 6px;line-height:1.05}.path p{font-size:13px;color:var(--muted);line-height:1.5;margin:0}.arrow{font-size:27px;color:var(--accent);justify-self:end}.plus{font-size:30px;font-weight:200;transition:transform .2s}details[open] .plus{transform:rotate(45deg)}summary{list-style:none}summary::-webkit-details-marker{display:none}.path-detail{padding:20px 30px 22px 48px;border-bottom:1px solid var(--line);background:#181a17}.path-detail p{font-size:16px;line-height:1.6;color:#b7bab1;margin:0 0 20px}.path-detail h3{font-size:18px;margin:0 0 7px;font-weight:500}.path-detail a{color:var(--accent);font-size:14px}.bio{border-top:1px solid var(--line);padding:80px 0 90px;display:grid;grid-template-columns:.78fr 1.22fr;gap:7%}.section-label{color:var(--muted)}.bio h2{font-size:clamp(36px,4vw,62px);letter-spacing:-2px;font-weight:400;line-height:1.04;margin:0 0 30px}.bio h2 span,.work h2 span{color:var(--accent)}.bio-copy{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-bottom:22px}.bio p{font-size:16px;line-height:1.7;color:#b7bab1;margin:0}.work{padding:0 0 95px}.section-top{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:30px}.work h2{font-size:clamp(29px,3.3vw,49px);font-weight:400;letter-spacing:-1.7px;margin:18px 0 0}.small{color:var(--muted);font-size:11px}.films{display:grid;grid-template-columns:1fr 1fr;gap:26px}.frame{aspect-ratio:16/10;overflow:hidden;position:relative;background:#242824}.frame img{height:100%;width:100%;object-fit:cover;transition:transform .6s,filter .6s;filter:saturate(.6)}.film:hover img{transform:scale(1.025);filter:saturate(1)}.film:nth-child(2) img{object-position:center 35%}.play{position:absolute;bottom:20px;right:20px;background:rgba(16,18,16,.65);backdrop-filter:blur(8px);width:44px;height:44px;border:1px solid #85877d;border-radius:50%;display:grid;place-items:center;font-size:25px}.film-label{display:flex;justify-content:space-between;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}.film-label h3{font-size:20px;font-weight:400;margin:0}.film-label span{font-size:11px;letter-spacing:1px;color:var(--muted)}.closing{border-top:1px solid var(--line);padding:50px 0}.big-contact{font-size:clamp(65px,11vw,165px);letter-spacing:-.065em;display:flex;justify-content:space-between;line-height:1.2;margin:12px 0 25px}.big-contact span{color:var(--accent);font-size:.8em;transition:transform .3s}.big-contact:hover span{transform:translate(8px,-8px)}.contact-bottom{display:flex;gap:30px;align-items:center;font-size:16px}.contact-bottom>span{margin-left:auto;font-size:13px;color:var(--muted)}footer{padding:25px 0 30px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:22px;font-size:12px;color:var(--muted)}footer div{display:flex;gap:24px}footer a:hover{color:var(--fg)}.skip{position:fixed;top:-100px;background:var(--accent);color:#111;z-index:5;padding:15px}.skip:focus{top:10px}@media(min-width:1600px){.portrait{min-height:545px}.path{padding:23px 0}}@media(max-width:850px){.shell{padding:0 6vw}header{height:75px}.location{display:none}.intro{padding-top:32px}.intro-bottom{gap:18px}.intro-bottom p{font-size:15px}.gateway{gap:5%;grid-template-columns:.6fr 1fr}.path{padding:17px 0;gap:6px;grid-template-columns:24px 1fr 24px}.path h2{font-size:25px}.path p{font-size:12px}.portrait-caption{left:17px}.portrait-caption span:last-child{font-size:23px}.bio{grid-template-columns:1fr;padding:48px 0;gap:25px}.small{display:none}.film-label{align-items:start;gap:10px;flex-direction:column}.contact-bottom{flex-wrap:wrap}.contact-bottom>span{margin-left:0}}@media(max-width:580px){h1{font-size:clamp(57px,14.7vw,84px);margin-bottom:20px}.intro-bottom{display:block}.intro-bottom .text-link{margin-top:18px}.gateway{display:flex;flex-direction:column;gap:28px;padding-bottom:48px}.paths{order:-1}.portrait{min-height:0;aspect-ratio:4/3}.path{padding:17px 0;grid-template-columns:28px 1fr 27px}.path h2{font-size:29px}.path p{font-size:13px}.path-heading{font-size:11px}.bio-copy{grid-template-columns:1fr;gap:15px}.films{grid-template-columns:1fr;gap:30px}.work{padding-bottom:55px}.contact-bottom{gap:16px;flex-direction:column;align-items:start}.big-contact{font-size:19vw}footer{flex-direction:column;gap:20px}footer div{flex-wrap:wrap}.portrait-caption span:last-child{font-size:30px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Expanded paths and social links */
.gateway{align-items:start}.portrait{height:475px}.path-detail .detail-contact{display:inline-flex;align-items:center;padding:12px 0 7px;border-bottom:1px solid var(--accent);line-height:1.5}.elsewhere{border-top:1px solid var(--line);padding:48px 0 60px;display:grid;grid-template-columns:.78fr 1.22fr;gap:7%}.elsewhere h2{font-size:clamp(29px,3vw,44px);font-weight:400;letter-spacing:-1.5px;margin:20px 0 16px}.elsewhere h2 span{color:var(--accent)}.elsewhere p{font-size:16px;line-height:1.6;color:var(--muted);max-width:330px}.social-links{display:grid;grid-template-columns:1fr 1fr;gap:0 28px}.social-links a{display:flex;justify-content:space-between;gap:15px;padding:20px 0;border-bottom:1px solid var(--line);font-size:15px;line-height:1.5}.social-links a>span:last-child{color:var(--accent)}.social-links a:hover{color:var(--accent)}@media(min-width:1600px){.portrait{height:545px}}@media(max-width:850px){.elsewhere{grid-template-columns:1fr;gap:15px}}@media(max-width:580px){.portrait{height:auto;width:100%}.social-links{grid-template-columns:1fr}.elsewhere{padding:36px 0 42px}}

/* Portfolio: two large pieces per view, native swipe on mobile. */
.films{display:flex;gap:26px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--line) transparent;padding-bottom:12px}.films .film{flex:0 0 calc((100% - 26px)/2);min-width:0;scroll-snap-align:start}.films:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.carousel-controls{display:flex;align-items:center;justify-content:space-between;margin-top:20px;color:var(--muted);font-size:12px;letter-spacing:2px}.carousel-controls>div{display:flex;gap:12px}.carousel-controls button{width:48px;height:48px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--fg);font-size:24px;cursor:pointer}.carousel-controls button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.carousel-controls button:disabled{opacity:.25;cursor:default}@media(max-width:580px){.films .film{flex-basis:100%}}

/* Personal introduction without a monogram. */
header .contact{margin-left:auto}.bio-copy p:last-child{grid-column:1/-1}@media(min-width:581px){.bio-copy p:last-child{max-width:620px}}
