:root{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;color:#242320;background:var(--paper);font-synthesis:none;font-weight:400;font-size:14px;line-height:1.65;-webkit-font-smoothing:antialiased;--paper:#f7f5f0;--muted:#6e6a64;--line:#e4e0d8;--accent:#81362f;--corner:#b5aea2}
*{box-sizing:border-box}body{margin:0;background:var(--paper)}a{color:inherit;text-decoration:none}a:hover{color:#66615a}a:focus-visible,button:focus-visible{outline:1px solid #222;outline-offset:6px}button{font:inherit;color:inherit;cursor:pointer}h1,h2,h3,p,figure{margin:0}img{display:block;max-width:100%;height:auto}::selection{background:#e4ded3}.skip-link{position:fixed;top:-80px;left:24px;padding:8px 14px;background:var(--paper);z-index:20}.skip-link:focus{top:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{position:fixed;top:139px;left:6.1vw;width:200px}.site-name{font-size:19px;font-weight:500;letter-spacing:-.025em;line-height:1.3;display:inline-block}.site-nav{margin-top:91px;display:flex;flex-direction:column;align-items:flex-start;gap:17px}.nav-group{width:100%}.nav-category{font-size:13px;line-height:1.5;display:inline-block}.nav-category[aria-current="page"],.nav-category[aria-current="true"]{font-weight:600}.nav-about{margin-top:17px}.subnav{list-style:none;padding:14px 0 0 12px;margin:0;display:grid;gap:8px;font-size:11px;color:var(--muted)}.subnav a[aria-current="page"]{color:#222}.nav-footer{margin-top:63px;font-size:10px;letter-spacing:.025em;color:#746f68}.menu-toggle{display:none}.main{margin-left:31%;padding:137px 6.1vw 48px 0;max-width:1110px;min-height:100svh}.home-main{display:flex;align-items:flex-start;justify-content:center;padding-top:105px}.home-figure{width:min(465px,100%);margin:0 auto}.home-image-link{display:block;width:100%}.home-figure img{width:100%;height:auto;max-height:calc(100svh - 175px);object-fit:contain}.home-figure figcaption{font-size:11px;text-align:center;color:#686868;line-height:1.7;margin-top:17px}.home-figure figcaption span{display:block;font-size:10px;color:#8a8a8a}.page-heading{font-size:17px;line-height:1.45;letter-spacing:-.02em;font-weight:500;margin-bottom:54px}.project-index{width:100%;max-width:780px}.film-entry{display:grid;grid-template-columns:minmax(0,1fr) 205px;gap:50px;padding:0 0 50px;margin-bottom:47px;border-bottom:1px solid var(--line)}.film-entry:last-child{border-bottom:0;margin-bottom:0}.film-entry.no-image{grid-template-columns:1fr;max-width:780px;min-height:185px}.entry-title{font-size:23px;line-height:1.3;letter-spacing:-.035em;font-weight:400}.entry-title a:hover{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}.entry-meta{font-size:11px;color:var(--muted);margin:10px 0 23px}.entry-summary{font-size:13px;line-height:1.8;max-width:465px}.entry-link{font-size:11px;display:inline-block;margin-top:24px;border-bottom:1px solid #bebebe;padding-bottom:1px}.entry-poster{display:block;width:205px}.entry-poster img{width:100%;height:auto}.page-footer{font-size:10px;color:#746f68;margin-top:85px;display:flex;justify-content:space-between;max-width:780px;gap:20px}.about-content{max-width:630px}.about-content .page-heading{margin-bottom:38px}.bio p{font-size:14px;line-height:1.9;margin-bottom:23px}.bio strong{font-weight:500}.about-selected{margin-top:40px;font-size:12px;line-height:1.85}.about-selected h2{font-weight:500;font-size:12px;margin-bottom:14px}.about-selected ul{list-style:none;margin:0;padding:0;display:grid;gap:7px;color:#555}.project-content{max-width:780px}.back-link{font-size:11px;color:var(--muted);display:inline-block;margin-bottom:37px}.project-header h1{font-size:28px;font-weight:400;letter-spacing:-.035em;line-height:1.25;margin-bottom:11px}.project-header p{font-size:11px;color:var(--muted)}.film-body{display:grid;grid-template-columns:minmax(0,1fr) 225px;gap:45px;margin-top:43px}.film-body.text-only{display:block;max-width:625px}.film-description p{font-size:14px;line-height:1.9;margin-bottom:23px}.film-description .logline{font-size:16px;line-height:1.8}.credits{margin:35px 0 0;font-size:11px}.credits div{display:grid;grid-template-columns:104px minmax(0,1fr);gap:15px;margin-bottom:10px;line-height:1.7}.credits dt{color:var(--muted)}.credits dd{margin:0}.film-poster{width:225px}.film-poster figcaption{font-size:10px;color:var(--muted);margin-top:10px}.project-bottom{margin-top:70px;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:30px;font-size:11px;color:var(--muted)}.project-bottom a:last-child{text-align:right}
@media(min-width:1700px){.site-header{left:calc((100vw - 1450px)/2);top:145px}.main{margin-left:calc((100vw - 1450px)/2 + 365px);padding-right:100px;max-width:1080px}.home-main{max-width:1080px}}
@media(max-width:1050px) and (min-width:701px){.site-header{left:5vw;width:170px;top:100px}.main{margin-left:29%;padding-top:100px;padding-right:5vw}.home-main{padding-top:80px}.film-entry{gap:25px;grid-template-columns:minmax(0,1fr) 160px}.entry-poster{width:160px}.film-body{grid-template-columns:1fr;gap:35px}.film-poster{width:260px}.home-figure{width:390px}}
@media(max-width:700px){.site-header{position:relative;top:auto;left:auto;width:auto;margin:0 7%;padding:33px 0 0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap}.site-name{font-size:18px}.menu-toggle{display:inline-block;border:0;padding:5px 0 5px 14px;background:none;font-size:12px}.menu-toggle:after{content:'+';display:inline-block;margin-left:13px;font-size:16px;width:10px}.menu-toggle[aria-expanded="true"]:after{content:'−'}.site-nav{display:none;flex-basis:100%;margin:28px 0 0;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:18px}.menu-open .site-nav{display:flex}.nav-category{font-size:13px}.nav-about{margin-top:5px}.subnav{gap:11px;font-size:12px;padding-top:15px}.nav-footer{display:none}.main{margin:0;padding:59px 7% 32px;max-width:none;min-height:calc(100svh - 66px)}.home-main{padding-top:49px;align-items:center;min-height:calc(100svh - 75px);padding-bottom:45px}.home-figure{width:min(400px,100%)}.home-figure img{max-height:calc(100svh - 205px)}.home-figure figcaption{margin-top:16px;font-size:11px}.home-figure figcaption span{font-size:10px}.page-heading{font-size:16px;margin-bottom:39px}.film-entry{grid-template-columns:minmax(0,1fr) 110px;gap:23px;padding-bottom:37px;margin-bottom:37px}.film-entry.no-image{min-height:0}.entry-title{font-size:22px}.entry-meta{font-size:10px;line-height:1.8;margin-top:9px;margin-bottom:17px}.entry-summary{font-size:12px;line-height:1.85}.entry-link{font-size:11px;margin-top:20px}.entry-poster{width:110px}.entry-poster img{width:100%}.page-footer{margin-top:62px;font-size:9px}.about-content .page-heading{margin-bottom:29px}.bio p{font-size:13px;line-height:1.9;margin-bottom:21px}.about-selected{font-size:11px;margin-top:32px}.about-selected h2{font-size:11px}.back-link{margin-bottom:30px}.project-header h1{font-size:26px}.project-header p{font-size:10px}.film-body{display:flex;flex-direction:column;gap:36px;margin-top:30px}.film-description p{font-size:13px;line-height:1.9}.film-description .logline{font-size:15px;line-height:1.8}.credits{font-size:11px;margin-top:27px}.credits div{grid-template-columns:95px minmax(0,1fr);gap:12px}.film-poster{width:min(300px,100%);align-self:center}.project-bottom{margin-top:48px;font-size:10px}}
@media(max-width:370px){.film-entry{grid-template-columns:1fr}.entry-poster{width:125px;grid-row:2}.home-main{padding-top:40px}.credits div{grid-template-columns:86px minmax(0,1fr)}}
.film-selections{margin-top:30px;font-size:11px;line-height:1.9}.film-selections h2{font-size:11px;font-weight:500;margin-bottom:9px}.film-selections ul{list-style:none;margin:0;padding:0;color:#555}.credits div{grid-template-columns:130px minmax(0,1fr)}.bio a{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
@media(max-width:700px){.credits div{grid-template-columns:112px minmax(0,1fr)}}
@media(max-height:740px) and (min-width:701px){.site-header{top:70px}.site-nav{margin-top:55px;gap:14px}.nav-footer{margin-top:35px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.film-entry.has-cover{display:block}.entry-cover{display:block;margin-bottom:27px}.entry-cover img,.project-hero img,.still-grid img{width:100%;height:auto;object-fit:contain}.project-hero{margin-top:35px}.still-link{display:block;cursor:zoom-in}.film-gallery{margin-top:61px}.gallery-heading{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:20px;font-size:10px;color:var(--muted)}.gallery-heading h2{font-size:12px;font-weight:500;color:#222}.still-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.viewer-open{overflow:hidden}.still-viewer{border:0;padding:20px 28px;width:calc(100vw - 48px);max-width:1500px;max-height:calc(100dvh - 48px);background:#111;color:#eee}.still-viewer::backdrop{background:rgba(0,0,0,.92)}.viewer-top,.viewer-controls{display:flex;align-items:center;justify-content:space-between;gap:15px}.viewer-top h2{font-size:13px;font-weight:400}.viewer-top button,.viewer-controls button{border:0;background:transparent;color:inherit;font-size:12px;min-height:44px;padding:7px 9px}.still-viewer button:focus-visible{outline-color:#fff}.viewer-image-wrap{display:flex;align-items:center;justify-content:center;margin:12px 0}.viewer-image{width:100%;height:min(68dvh,800px);object-fit:contain}.viewer-count{font-size:11px;color:#aaa;white-space:nowrap}.viewer-controls button:first-child{padding-left:0}.viewer-controls button:last-child{padding-right:0}
@media(max-width:700px){.entry-cover{margin-bottom:23px}.project-hero{margin-top:27px}.film-gallery{margin-top:42px}.still-grid{grid-template-columns:1fr;gap:18px}.gallery-heading{margin-bottom:15px}.still-viewer{width:100vw;max-width:100vw;max-height:100dvh;padding:12px 16px}.viewer-image{height:auto;max-height:65dvh}.viewer-top h2,.viewer-top button,.viewer-controls button{font-size:11px}.viewer-top{gap:10px}}

/* Modest homepage portrait; display the complete uploaded photograph. */
.home-figure.home-portrait{width:min(260px,100%)}.home-portrait img{max-height:none}
@media(max-width:700px){.home-figure.home-portrait{width:min(220px,100%)}}

/* Centered homepage: a quiet navigation row, portrait and restrained framing. */
.home-page .site-header{position:absolute;top:clamp(32px,6svh,60px);left:0;width:100%;margin:0;padding:0 24px;display:block}
.home-page .site-header>.site-name,.home-page .menu-toggle,.home-page .nav-footer{display:none}
.home-page .site-nav{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:38px;margin:0;padding:0;border:0}
.home-page .nav-group{width:auto}.home-page .nav-about{margin:0}
.home-page .nav-category{font-size:12px;letter-spacing:.015em;padding:10px 0}
.home-page .home-main{margin:0;width:100%;max-width:none;min-height:100svh;padding:110px 28px 145px;display:flex;align-items:center;justify-content:center}
.home-page .home-figure{margin:0}
.home-page .home-image-link{position:relative}
.home-page .home-image-link:before{content:'';position:absolute;inset:-12px;pointer-events:none;background:linear-gradient(var(--corner),var(--corner)) left top/14px 1px,linear-gradient(var(--corner),var(--corner)) left top/1px 14px,linear-gradient(var(--corner),var(--corner)) right top/14px 1px,linear-gradient(var(--corner),var(--corner)) right top/1px 14px,linear-gradient(var(--corner),var(--corner)) left bottom/14px 1px,linear-gradient(var(--corner),var(--corner)) left bottom/1px 14px,linear-gradient(var(--corner),var(--corner)) right bottom/14px 1px,linear-gradient(var(--corner),var(--corner)) right bottom/1px 14px;background-repeat:no-repeat}
.home-page .home-figure figcaption{margin-top:32px;text-align:center}
.home-name{display:flex;align-items:center;justify-content:center;gap:9px;font-size:21px;font-weight:500;letter-spacing:-.025em;line-height:1.4;color:#242320}
.home-name:before{content:'';width:5px;height:5px;border-radius:50%;background:var(--accent);flex:none}
.home-role{margin-top:5px;font-size:11px;line-height:1.7;color:var(--muted)}
.home-location{margin-top:15px;font-size:10px;letter-spacing:.035em;line-height:1.6;color:#746f68}
@media(max-width:700px){.home-page .site-header{top:25px;padding:0 24px}.home-page .site-nav{gap:29px}.home-page .nav-category{font-size:12px}.home-page .home-main{padding:105px 28px 90px}.home-page .home-figure figcaption{margin-top:30px}.home-name{font-size:20px}}
@media(max-height:650px) and (min-width:701px){.home-page .site-header{top:20px}.home-page .home-main{padding-top:98px;padding-bottom:45px}.home-page .home-figure.home-portrait{width:220px}}
@media(max-height:650px) and (max-width:700px){.home-page .home-main{padding-bottom:45px}}

.film-trailer{margin-top:35px}.trailer-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:16px}.trailer-heading h2{font-size:12px;font-weight:500}.trailer-heading a{font-size:10px;color:var(--muted);text-decoration:underline;text-underline-offset:3px}.trailer-frame{aspect-ratio:16/9;background:#111}.trailer-frame iframe{display:block;width:100%;height:100%;border:0}@media(max-width:700px){.film-trailer{margin-top:27px}.trailer-heading{margin-bottom:13px}}

/* A centered opening line with room to breathe beyond the modest portrait. */
.home-page .home-figure.home-portrait{width:min(520px,100%)}
.home-page .home-image-link{width:260px;max-width:100%;margin-inline:auto}
.home-tagline{margin-top:23px;font-size:14px;line-height:1.65;color:#403d38;text-wrap:balance}
@media(max-width:700px),(max-height:650px){.home-page .home-image-link{width:220px}}
@media(max-width:700px){.home-tagline{font-size:13px}}

/* Small dark-red details echo the homepage dot throughout the film pages. */
.project-header h1{position:relative}
.project-header h1:before{content:'';position:absolute;left:-16px;top:.56em;width:5px;height:5px;border-radius:50%;background:var(--accent);pointer-events:none}
.project-content :is(.trailer-heading,.gallery-heading,.film-selections) h2{display:flex;align-items:center;gap:9px}
.project-content :is(.trailer-heading,.gallery-heading,.film-selections) h2:before{content:'';width:12px;height:1px;flex:none;background:var(--accent)}

.project-content :is(.back-link,.project-bottom a):hover{color:var(--accent)}
.project-content a:focus-visible{outline-color:var(--accent)}

/* Contact information appears only on the About Me page. */
.contact-block{margin-top:40px;font-size:12px}
.contact-block h2{font-size:12px;font-weight:500;line-height:1.85;margin-bottom:14px}
.contact-links{display:flex;flex-direction:column;gap:10px}
.contact-link{display:flex;align-items:center;gap:11px;width:fit-content;max-width:100%;min-height:26px;line-height:1.7}
.contact-icon{width:18px;height:18px;flex:none;color:var(--accent)}
.contact-link>span{min-width:0;overflow-wrap:anywhere}
.contact-link:hover{color:var(--accent);text-decoration:underline;text-underline-offset:4px}
.contact-link:focus-visible{outline-color:var(--accent)}
@media(max-width:700px){.contact-block{margin-top:34px}.contact-block h2{font-size:11px}.contact-links{gap:12px}}

/* Neatly justified biography within the original single-column layout. */
.about-content .bio p{text-align:justify;text-align-last:left;hyphens:auto;-webkit-hyphens:auto}
