:root{--paper:#f7f6f2;--ink:#20221e;--muted:#62665d;--line:#d4d6cc;--accent:#5a6142}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 Arial,Helvetica,sans-serif}a{color:inherit;text-underline-offset:5px}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #847133;outline-offset:5px}header,main,footer{max-width:1600px;margin:auto}header{padding:35px 5%;display:flex;justify-content:space-between;gap:30px;align-items:center;border-bottom:1px solid var(--line)}.brand{text-decoration:none;letter-spacing:.16em;font-size:23px}.brand span{display:block;font-size:11px;letter-spacing:.15em;margin-top:4px;color:var(--muted)}nav{display:flex;gap:30px;flex-wrap:wrap}nav a{text-decoration:none;font-size:14px}nav a:hover,nav a[aria-current]{text-decoration:underline}main{padding:0 5%}.intro{display:grid;grid-template-columns:1fr 1.1fr;gap:8%;padding:65px 0 90px}.intro-copy{display:flex;flex-direction:column}.eyebrow{font-size:12px;letter-spacing:.18em;font-weight:600;color:var(--muted)}h1,h2,p,figure{margin:0}h1,h2{font-weight:400;line-height:1.05}h1{font-family:Georgia,serif;font-size:clamp(60px,7.8vw,124px);letter-spacing:-.065em;margin:30px 0}h1 em,h2 em{font-weight:400}h2{font-family:Georgia,serif;font-size:clamp(34px,4vw,62px);letter-spacing:-.035em}.intro-bottom{display:flex;justify-content:space-between;align-items:flex-end;margin-top:auto;padding-top:35px;color:var(--muted)}.circle-link{border:1px solid var(--line);border-radius:50%;width:60px;height:60px;display:grid;place-items:center;font-size:26px;text-decoration:none}.hero{display:flex;flex-direction:column;justify-content:center}.hero img{width:100%;max-height:690px;object-fit:contain;background:#e8e9e1}.hero figcaption,figcaption{display:flex;justify-content:space-between;gap:15px;font-size:13px;color:var(--muted);padding-top:14px}.empty-art{min-height:430px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;padding:40px;background:#eeefe8}.empty-art span{font:80px Georgia,serif;color:#a5aa97}.empty-art p{font:30px Georgia,serif;margin:25px 0 10px}.empty-art small{font-size:14px;color:var(--muted)}.portfolio{padding-bottom:95px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:25px;flex-wrap:wrap;margin-bottom:35px;border-top:1px solid var(--line);padding-top:25px}.section-heading h2{font-size:38px}.section-heading h2 span{font:12px Arial,sans-serif;vertical-align:top;display:inline-block;margin-left:14px;color:var(--muted)}.gallery{columns:2;column-gap:40px}.gallery figure{break-inside:avoid;margin-bottom:45px}.gallery figure:nth-child(3n){padding:0 7%}.photo{border:0;padding:0;display:block;width:100%;background:transparent;cursor:zoom-in}.photo img{display:block;width:100%;height:auto}.photo:hover img{filter:brightness(.94)}.empty{padding:55px 0;color:var(--muted)}.about{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 2fr;gap:35px;padding:60px 0 90px}.bio{max-width:680px;white-space:normal;margin-top:30px;font-size:20px;line-height:1.7;color:var(--muted)}.contact{background:#23271f;color:#f5f4ed;padding:65px;margin:0 -5.56%}.contact .eyebrow{color:#bbc0b0}.contact h2{font-size:clamp(45px,6vw,86px);margin:25px 0 40px}.contact-links{display:flex;gap:35px;flex-wrap:wrap}.contact-links a{text-decoration:none;border-bottom:1px solid #6c7461;overflow-wrap:anywhere}footer{padding:30px 5%;display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:12px}.skip{position:absolute;top:-100px}.skip:focus{top:10px;left:10px;z-index:20;background:white;padding:15px}dialog{border:0;padding:25px;color:#fff;background:#141512;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh}dialog[open]{display:flex;flex-direction:column}dialog::backdrop{background:#141512}.lightbox-bar,.lightbox-controls{display:flex;justify-content:space-between;align-items:center;gap:15px}.lightbox-bar{padding-bottom:15px}.lightbox-controls{padding-top:15px}dialog img{flex:1;min-height:0;width:100%;object-fit:contain}dialog button{background:transparent;color:white;border:1px solid #61665a;padding:10px 15px;cursor:pointer}.modal-open{overflow:hidden}.admin{padding-top:40px;padding-bottom:70px}.admin h1{font-size:58px}.admin h2{font-size:30px;margin-bottom:20px}.admin-nav{margin-bottom:40px}.panel{border:1px solid var(--line);padding:30px;margin:0 0 30px}.panel>p{margin-bottom:25px;color:var(--muted)}.login{max-width:520px;margin:30px auto 70px}.admin form label{display:block;font-size:14px;margin-bottom:18px}.admin input:not([type=checkbox]),textarea,select{display:block;width:100%;border:1px solid #aeb4a3;border-radius:0;background:#fff;color:var(--ink);padding:12px;margin-top:7px;min-height:48px}.admin button{background:#303925;color:white;border:1px solid #303925;padding:12px 20px;cursor:pointer}.admin button:hover{background:#4a533e}.admin button:disabled{opacity:.55;cursor:wait}.admin button.secondary{background:transparent;color:var(--ink)}.admin .check{display:flex;align-items:center;gap:10px}.check input{width:20px;height:20px;accent-color:#303925}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 25px}.wide{grid-column:1/-1}.form-grid button{align-self:start;justify-self:start}.admin-photos{display:grid;grid-template-columns:1fr 1fr;gap:25px}.photo-editor img{width:100%;height:300px;object-fit:contain;background:#e8ebe1;margin-bottom:20px}.alert{padding:18px;background:#e1ead7;margin-bottom:25px}.alert.error{background:#f5dfd7;color:#702915}.section-heading>span{font-size:14px;color:var(--muted)}
@media(max-width:700px){header{padding:23px 6%;display:block}.brand{font-size:20px}header nav{margin-top:20px;gap:25px}main{padding:0 6%}.intro{grid-template-columns:1fr;gap:35px;padding:35px 0 55px}h1{font-size:76px;margin:20px 0}.intro-bottom{padding-top:0}.hero img{max-height:570px}.empty-art{min-height:280px}.gallery{columns:1}.gallery figure:nth-child(3n){padding:0}.section-heading{align-items:flex-start}.section-heading nav{gap:23px}.about{grid-template-columns:1fr;padding:40px 0 60px}.contact{margin:0 -6.82%;padding:40px 7%}.contact-links{gap:20px}.bio{font-size:18px}.admin-photos,.form-grid{grid-template-columns:1fr}.panel{padding:20px}.admin h1{font-size:45px}.admin .section-heading{gap:10px}.admin-nav{gap:18px}dialog{padding:15px}.lightbox-bar{font-size:14px}dialog button{padding:10px;font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.series-nav{padding:0 0 30px;gap:12px 25px}.series-nav a{border-bottom:1px solid var(--line);padding:8px 0}.series-intro{max-width:760px;padding:10px 0 40px}.series-intro h2{margin:15px 0}.series-intro>p:last-child{font-size:18px;color:var(--muted)}.series-editor{padding:16px 0;border-top:1px solid var(--line)}.series-editor summary{cursor:pointer;font-size:18px}.series-editor form{padding-top:20px}.previews{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:15px;margin-bottom:20px}.previews img{width:100%;height:130px;object-fit:contain}.previews figcaption{overflow-wrap:anywhere;display:block}.move-controls{display:flex;gap:8px;margin-bottom:15px;flex-wrap:wrap}.drag-handle{cursor:grab!important}#reorder-form{margin-bottom:25px}#order-status{padding-top:10px}#upload-status{overflow-wrap:anywhere}small{display:block;color:var(--muted)}
/* Photoplasticon — Exhibition / v3 */
:root{color-scheme:dark;--paper:#151515;--ink:#efeeea;--muted:#aaa9a5;--line:#383838;--accent:#d3d0c8}body{font-family:Arial,Helvetica,sans-serif;background:var(--paper);color:var(--ink)}header{max-width:none;padding:26px 4%;border-bottom:1px solid #303030;gap:20px}.brand{font-size:19px;letter-spacing:.22em;font-weight:400}.brand span{font-size:11px;letter-spacing:.12em;margin-top:7px}header nav{gap:28px}header nav a{font-size:14px;color:#d4d3cf}header nav a:hover{color:white}main{max-width:1640px;padding:0 4%}h1,h2,h3{font-family:Arial,Helvetica,sans-serif;font-weight:400;letter-spacing:-.025em}h2{font-size:32px;line-height:1.25}.eyebrow{font-size:12px;letter-spacing:.16em;color:#aaa}.exhibition{padding:26px 0 70px}.exhibition-image>a{display:block;background:#101010;text-align:center}.exhibition-image img{display:block;width:100%;height:72vh;max-height:900px;min-height:340px;object-fit:contain}.exhibition-image figcaption{display:flex;align-items:center;justify-content:space-between;padding:22px 0;border-bottom:1px solid var(--line);gap:25px}.exhibition-image h1{margin:0;font-size:20px;letter-spacing:0;color:var(--ink);line-height:1.5}.exhibition-image h1 span{display:inline-block;font:14px Arial,sans-serif;color:var(--muted);margin-left:22px}.exhibition-image figcaption>a{font-size:14px;text-decoration:none;color:var(--ink);white-space:nowrap}.exhibition-empty{padding:75px 0}.exhibition-empty h1{font-size:36px;letter-spacing:0}.series-section{padding:0 0 75px}.section-heading{border-top:0;border-bottom:1px solid var(--line);padding:0 0 22px;margin-bottom:30px}.section-heading h2{font-size:29px}.series-covers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:35px}.series-cover{text-decoration:none;min-width:0}.series-cover img{width:100%;height:420px;object-fit:contain;display:block;background:#101010}.series-cover>div{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:16px 0}.series-cover h3{font-size:20px;margin:0;overflow-wrap:anywhere}.series-cover span{font-size:13px;color:var(--muted);white-space:nowrap}.portfolio{padding:40px 0 80px}.series-nav{gap:15px 25px;padding-bottom:30px}.series-nav a{font-size:14px}.series-intro{padding:15px 0 30px}.series-intro h2{font-size:38px}.series-intro p:last-child{font-size:17px;line-height:1.8;max-width:660px}.gallery{columns:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:60px 35px;align-items:start}.gallery figure,.gallery figure:nth-child(3n){padding:0;margin:0;min-width:0}.gallery img{width:100%;height:auto;max-height:780px;object-fit:contain;background:#101010}.gallery figcaption{font-size:13px;letter-spacing:.01em;padding-top:15px}.gallery figcaption span:first-child{overflow-wrap:anywhere;color:#d3d2ce}.gallery figcaption span:last-child{white-space:nowrap}.photo:hover img{filter:brightness(1.06)}.about{padding:65px 0 80px;grid-template-columns:1fr 2fr;border-top:1px solid var(--line)}.about h2{font-size:32px}.bio{font-size:18px;max-width:620px;margin-top:24px;color:#bcbab5}.contact{margin:0;padding:55px 0 65px;border-top:1px solid var(--line);background:transparent;color:var(--ink)}.contact h2{font-size:32px;margin:18px 0 30px}.contact-links a{font-size:16px;border-color:#656565}.contact .eyebrow{color:var(--muted)}footer{max-width:none;padding:25px 4%;border-top:1px solid var(--line);font-size:12px;color:#aaa}.skip:focus{background:#eee;color:#111}.admin h1{font-size:42px;letter-spacing:-.03em}.admin .panel{background:#1c1c1c}.admin input:not([type=checkbox]),.admin textarea,.admin select{background:#242424;border:1px solid #666;color:#f3f3ef}.admin button{background:#e0ded7;color:#171717;border-color:#e0ded7}.admin button:hover{background:#fff}.admin button.secondary{background:transparent;color:#ddd;border-color:#777}.admin .check input{accent-color:#ddd}.photo-editor img{background:#111}.admin .alert{color:#dbe7d2;background:#293426}.admin .alert.error{color:#ffded7;background:#482823}.admin .previews{color:#eee}.admin small{color:#bbb}dialog{background:#0e0e0e}dialog::backdrop{background:#0e0e0e}.lightbox-bar{font-size:14px}.lightbox-controls{font-size:14px}
@media(min-width:1100px){.gallery figure:nth-child(4n+2){margin-top:75px}}
@media(max-width:700px){header{padding:22px 6%;display:flex;flex-direction:column;align-items:flex-start;gap:18px}.brand{font-size:18px}.brand span{font-size:10px}header nav{margin:0;gap:24px}main{padding:0 6%}.exhibition{padding:18px 0 42px}.exhibition-image img{height:62svh;min-height:260px;max-height:620px}.exhibition-image figcaption{align-items:flex-start;padding-top:17px;gap:12px}.exhibition-image h1{font-size:17px}.exhibition-image h1 span{display:block;margin:5px 0 0;font-size:13px}.exhibition-image figcaption>a{font-size:13px;padding-top:4px}.series-covers{grid-template-columns:1fr;gap:25px}.series-cover img{height:390px;max-height:65svh}.series-section{padding-bottom:30px}.section-heading h2{font-size:26px}.section-heading{gap:20px}.section-heading nav{gap:25px}.portfolio{padding-top:25px;padding-bottom:55px}.gallery{grid-template-columns:1fr;gap:38px}.gallery figure{margin-top:0}.gallery img{max-height:none}.about{grid-template-columns:1fr;gap:20px;padding:40px 0 50px}.about h2,.contact h2{font-size:28px}.bio{font-size:17px;margin-top:20px}.contact{margin:0;padding:40px 0 45px}.contact-links{gap:22px}.series-intro h2{font-size:30px}.admin h1{font-size:34px}.admin .panel{padding:18px}footer{padding:22px 6%;font-size:11px}}

/* Photoplasticon — Editorial / v4 */
.portfolio-page{color-scheme:light;background:#f4f4f1;color:#171715;font-family:Arial,Helvetica,sans-serif}
.portfolio-page header{position:sticky;top:0;z-index:10;max-width:none;padding:18px 3.2%;background:rgba(244,244,241,.94);border-bottom:1px solid #c8c8c2;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.portfolio-page .brand{font-size:16px;font-weight:600;letter-spacing:.18em;color:#171715}
.portfolio-page .brand span{display:none}
.portfolio-page header nav{gap:8px 27px}
.portfolio-page header nav a{font-size:13px;color:#343430;letter-spacing:.015em}
.portfolio-page main{max-width:none;padding:0 3.2%}
.portfolio-page h1,.portfolio-page h2,.portfolio-page h3{color:#171715}
.editorial-hero{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(310px,.82fr);gap:clamp(30px,5vw,90px);min-height:calc(100svh - 64px);padding:clamp(24px,4vw,58px) 0 6vw;align-items:stretch;border-bottom:1px solid #c8c8c2}
.editorial-hero__image{margin:0;min-width:0;display:flex}
.editorial-hero__image>a{display:flex;width:100%;background:#e8e8e3;overflow:hidden}
.editorial-hero__image img{display:block;width:100%;height:calc(100svh - 11vw);min-height:580px;max-height:900px;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.editorial-hero__image a:hover img{transform:scale(1.012)}
.editorial-hero__copy{display:flex;flex-direction:column;padding:2px 0 6px}
.folio{margin:0;font-size:11px;letter-spacing:.17em;color:#686862}
.editorial-hero__copy h1,.editorial-hero__empty h1{font-size:clamp(66px,7.4vw,128px);line-height:.82;letter-spacing:-.072em;margin:auto 0 40px;font-weight:500}
.editorial-hero__copy h1 em,.editorial-hero__empty h1 em{font-family:Georgia,'Times New Roman',serif;font-weight:400}
.discipline{font:italic clamp(19px,1.7vw,28px)/1.4 Georgia,'Times New Roman',serif;margin:0 0 8vh;color:#343430}
.hero-meta{margin-top:auto;display:flex;justify-content:space-between;align-items:flex-end;gap:18px;border-top:1px solid #b8b8b2;padding-top:17px;font-size:12px;color:#62625c}
.hero-meta a{color:#171715;text-decoration:none;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}
.hero-meta b{font-size:18px;margin-left:8px;font-weight:400}
.editorial-hero__empty{min-height:70svh;grid-column:1/-1;padding:8vh 0;display:flex;flex-direction:column;justify-content:center}
.editorial-hero__empty h1{margin:8vh 0 35px}
.portfolio-page .series-section{padding:9vw 0 5vw}
.portfolio-page .section-heading{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:20px;align-items:end;border:0;border-bottom:1px solid #bebeb8;margin:0 0 clamp(32px,4vw,62px);padding:0 0 15px}
.section-index,.work-number{font-size:11px;letter-spacing:.13em;color:#74746d}
.portfolio-page .section-heading h2{font-size:clamp(31px,4vw,62px);letter-spacing:-.05em;line-height:.95;margin:0}
.portfolio-page .section-heading h2 span{font:11px Arial,sans-serif;letter-spacing:.1em;margin-left:12px;color:#74746d}
.portfolio-page .section-heading>span{font-size:12px;color:#74746d;text-align:right}
.portfolio-page .series-covers{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(20px,3vw,48px)}
.portfolio-page .series-cover{grid-column:span 6;color:#171715}
.portfolio-page .series-cover:nth-child(3n+2){grid-column:3/span 7;margin-top:7vw}
.portfolio-page .series-cover:nth-child(3n){grid-column:9/span 4;margin-top:-2vw}
.series-cover__image{background:#e2e2dc;overflow:hidden}
.portfolio-page .series-cover img{display:block;width:100%;height:min(64vw,690px);object-fit:cover;transition:transform .65s ease,filter .4s ease}
.portfolio-page .series-cover:nth-child(3n) img{height:min(46vw,540px)}
.portfolio-page .series-cover:hover img{transform:scale(1.015);filter:contrast(1.03)}
.portfolio-page .series-cover>div:last-child{display:grid;grid-template-columns:32px 1fr auto;gap:16px;padding:14px 0;border-bottom:1px solid #c8c8c2;align-items:baseline}
.portfolio-page .series-cover h3{font:italic 27px/1.15 Georgia,'Times New Roman',serif;color:#171715}
.portfolio-page .series-cover>div>span:last-child{font-size:12px;color:#65655f}
.portfolio-page .portfolio{padding:8vw 0 10vw}
.portfolio-page .series-nav{display:flex;gap:8px 24px;padding:0 0 45px;flex-wrap:wrap}
.portfolio-page .series-nav a,.portfolio-page .section-heading nav a{font-size:12px;color:#55554f;text-decoration:none;padding:4px 0;border:0}
.portfolio-page .series-nav a[aria-current],.portfolio-page .section-heading nav a[aria-current]{color:#171715;border-bottom:1px solid #171715}
.portfolio-page .series-intro{max-width:820px;padding:0 0 7vw}
.portfolio-page .series-intro h2{font:italic clamp(48px,8vw,116px)/.95 Georgia,'Times New Roman',serif;letter-spacing:-.055em;margin:28px 0;color:#171715}
.portfolio-page .series-intro>p:last-child{max-width:600px;font-size:17px;line-height:1.8;color:#5f5f58}
.portfolio-page .gallery{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(55px,8vw,130px) clamp(18px,3vw,50px);align-items:start}
.portfolio-page .gallery figure{grid-column:span 7;margin:0;padding:0;min-width:0}
.portfolio-page .gallery figure:nth-child(4n+2){grid-column:9/span 4;margin-top:10vw}
.portfolio-page .gallery figure:nth-child(4n+3){grid-column:2/span 4}
.portfolio-page .gallery figure:nth-child(4n){grid-column:7/span 6;margin-top:5vw}
.portfolio-page .gallery .photo{width:100%;background:#e4e4df;overflow:hidden}
.portfolio-page .gallery img{display:block;width:100%;height:auto;max-height:none;object-fit:initial;background:#e4e4df;transition:transform .65s ease,filter .35s ease}
.portfolio-page .photo:hover img{transform:scale(1.012);filter:contrast(1.02)}
.portfolio-page .gallery figcaption{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:14px;padding:13px 0 0;color:#696963;font-size:12px}
.work-title{color:#242421;overflow-wrap:anywhere}
.portfolio-page .about{display:grid;grid-template-columns:42px .7fr 1.4fr;gap:20px;border-top:1px solid #bebeb8;padding:8vw 0 10vw}
.portfolio-page .about h2{font:italic clamp(42px,6vw,86px)/1 Georgia,'Times New Roman',serif;letter-spacing:-.045em}
.portfolio-page .bio{font-size:18px;line-height:1.8;color:#565650;max-width:680px;margin-top:36px}
.portfolio-page .contact{display:grid;grid-template-columns:42px .7fr 1.4fr;gap:20px;margin:0;padding:7vw 0 8vw;border-top:1px solid #bebeb8;background:transparent;color:#171715}
.portfolio-page .contact h2{font-size:clamp(48px,7vw,108px);line-height:.92;letter-spacing:-.065em;margin:0;color:#171715}
.portfolio-page .contact h2 em{font-family:Georgia,'Times New Roman',serif;font-weight:400}
.portfolio-page .contact-links{grid-column:3;display:flex;gap:15px 35px;flex-wrap:wrap;margin-top:2vw}
.portfolio-page .contact-links a{font-size:14px;color:#171715;text-decoration:none;border-bottom:1px solid #777770;padding-bottom:4px}
.portfolio-page footer{max-width:none;padding:22px 3.2%;border-top:1px solid #c8c8c2;color:#686862;background:#f4f4f1}
.reveal-ready .portfolio-page .reveal{opacity:0;transform:translateY(28px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.7,.2,1)}
.reveal-ready .portfolio-page .reveal.is-visible{opacity:1;transform:none}
@media(max-width:900px){.editorial-hero{grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:30px}.editorial-hero__copy h1{font-size:74px}.portfolio-page .gallery figure{grid-column:span 8}.portfolio-page .gallery figure:nth-child(4n+2){grid-column:9/span 4}.portfolio-page .gallery figure:nth-child(4n+3){grid-column:2/span 5}.portfolio-page .gallery figure:nth-child(4n){grid-column:7/span 6}}
@media(max-width:700px){.portfolio-page header{padding:17px 5%;display:flex;flex-direction:row;align-items:center;gap:18px}.portfolio-page .brand{font-size:14px}.portfolio-page header nav{margin:0 0 0 auto;gap:15px}.portfolio-page header nav a:nth-last-child(2){display:none}.portfolio-page main{padding:0 5%}.editorial-hero{display:grid;grid-template-columns:1fr;min-height:auto;gap:18px;padding:18px 0 40px}.editorial-hero__image{order:1}.editorial-hero__image img{height:62svh;min-height:420px;max-height:650px}.editorial-hero__copy{order:2;display:grid;grid-template-columns:1fr auto;gap:12px;padding:0}.editorial-hero__copy .folio{grid-column:1/-1;margin-top:2px}.editorial-hero__copy h1{font-size:58px;line-height:.86;margin:12px 0 22px}.discipline{font-size:17px;text-align:right;margin:16px 0 0}.hero-meta{grid-column:1/-1;margin-top:0}.portfolio-page .section-heading{grid-template-columns:30px 1fr;gap:10px}.portfolio-page .section-heading>span,.portfolio-page .section-heading nav{grid-column:2;text-align:left}.portfolio-page .section-heading nav{display:flex;gap:20px}.portfolio-page .series-section{padding:70px 0 35px}.portfolio-page .series-covers{display:grid;grid-template-columns:1fr;gap:42px}.portfolio-page .series-cover,.portfolio-page .series-cover:nth-child(n){grid-column:1;margin:0}.portfolio-page .series-cover img,.portfolio-page .series-cover:nth-child(n) img{height:auto;max-height:72svh;object-fit:contain;background:#e4e4df}.portfolio-page .portfolio{padding:65px 0 80px}.portfolio-page .gallery{grid-template-columns:repeat(6,1fr);gap:65px 16px}.portfolio-page .gallery figure,.portfolio-page .gallery figure:nth-child(n){grid-column:1/-1;margin:0}.portfolio-page .gallery figure:nth-child(3n+2){grid-column:2/-1}.portfolio-page .gallery figure:nth-child(3n){grid-column:1/6}.portfolio-page .about,.portfolio-page .contact{grid-template-columns:30px 1fr;gap:10px;padding:65px 0 75px}.portfolio-page .about>div,.portfolio-page .contact h2,.portfolio-page .contact-links{grid-column:2}.portfolio-page .about h2{font-size:48px}.portfolio-page .bio{font-size:16px;margin-top:26px}.portfolio-page .contact h2{font-size:55px;margin-top:12px}.portfolio-page .contact-links{margin-top:28px}.portfolio-page footer{padding:20px 5%}}
@media(prefers-reduced-motion:reduce){.portfolio-page img,.portfolio-page .reveal{transition:none!important;transform:none!important}}

/* Photoplasticon — Cinematic / v5 */
.portfolio-page{color-scheme:dark;background:#0b0b0a;color:#f0efeb;font-family:Arial,Helvetica,sans-serif}
.portfolio-page header{position:fixed;inset:0 0 auto 0;z-index:30;max-width:none;height:68px;padding:0 2.2%;display:flex;align-items:center;background:linear-gradient(#090909d9,transparent);border:0;backdrop-filter:none;-webkit-backdrop-filter:none}
.portfolio-page .brand{font-size:15px;letter-spacing:.22em;color:#fff;font-weight:600;text-shadow:0 1px 10px #000}
.portfolio-page .brand span{display:none}
.portfolio-page header nav{margin-left:auto;gap:26px}
.portfolio-page header nav a{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#e9e8e3;text-shadow:0 1px 10px #000}
.portfolio-page main{max-width:none;padding:0}
.portfolio-page h1,.portfolio-page h2,.portfolio-page h3{color:#f1f0ec}
.cinema{height:100svh;min-height:600px;position:relative;background:#080808;overflow:hidden}
.cinema__stage{position:absolute;inset:0}
.cinema__slide{position:absolute;inset:0;margin:0;display:grid;place-items:center;opacity:0;visibility:hidden;transition:opacity .85s ease,visibility .85s}
.cinema__slide.is-active{opacity:1;visibility:visible}
.cinema__slide::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.24),transparent 32%,transparent 70%,rgba(0,0,0,.25)),linear-gradient(0deg,rgba(0,0,0,.52),transparent 32%)}
.cinema__slide img{width:100%;height:100%;object-fit:contain;display:block}
.cinema__overlay{position:absolute;z-index:2;inset:0;pointer-events:none;padding:86px 2.2% 28px;display:grid;grid-template-columns:1fr auto;grid-template-rows:1fr auto;align-items:end}
.cinema__name{align-self:start;margin:0;font:italic clamp(28px,3.5vw,60px)/.95 Georgia,'Times New Roman',serif;text-shadow:0 2px 20px #000}
.cinema__name span{display:block;margin-top:13px;font:11px Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase}
.cinema__caption{display:grid;grid-template-columns:80px minmax(130px,1fr) auto;gap:18px;grid-column:1;max-width:600px;align-items:baseline;font-size:12px;text-shadow:0 2px 12px #000}
.cinema__caption span:first-child,.cinema__caption span:last-child{color:#b8b7b2;letter-spacing:.1em;text-transform:uppercase}
.cinema__controls{grid-column:2;display:flex;gap:8px;pointer-events:auto}
.cinema__controls button{width:48px;height:48px;border:1px solid #ffffff80;border-radius:50%;background:#1116;color:#fff;font-size:19px;cursor:pointer;transition:background .2s,color .2s}
.cinema__controls button:hover{background:#fff;color:#111}
.cinema__rail{position:absolute;z-index:3;right:2.2%;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:8px;max-height:52vh;overflow:auto;padding:4px}
.cinema__rail button{width:48px;height:63px;padding:0;border:1px solid transparent;background:#222;opacity:.42;cursor:pointer;transition:opacity .25s,border-color .25s,transform .25s}
.cinema__rail button:hover,.cinema__rail button.is-active{opacity:1;border-color:#fff;transform:translateX(-4px)}
.cinema__rail img{width:100%;height:100%;object-fit:cover;display:block}
.cinema__empty{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:70px 5%}
.cinema__empty p{font-size:12px;letter-spacing:.3em}.cinema__empty h1{font:italic clamp(55px,10vw,150px)/1 Georgia,serif;margin:25px 0}.cinema__empty span{color:#aaa}
.portals{padding:12vh 2.2%;display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:min(72vh,780px);gap:1px;background:#30302e}
.portal{position:relative;overflow:hidden;background:#111;color:#fff;text-decoration:none;padding:32px;display:flex;flex-direction:column;justify-content:flex-end;isolation:isolate}
.portal::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.72),transparent 62%);transition:background .4s}
.portal img{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(.15);transition:transform .9s cubic-bezier(.2,.7,.2,1),filter .4s}
.portal:hover img{transform:scale(1.025);filter:grayscale(0)}
.portal:hover::after{background:linear-gradient(0deg,rgba(0,0,0,.82),transparent 72%)}
.portal__index{position:absolute;top:30px;left:30px;font-size:11px;letter-spacing:.15em;color:#c1c0ba}
.portal h2{font:italic clamp(55px,7vw,118px)/.82 Georgia,'Times New Roman',serif;letter-spacing:-.06em;margin:0 0 24px}
.portal__action{font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.portal--act{background:#e7e5df;color:#111;justify-content:center}
.portal--act::after{display:none}.portal--act h2{color:#111}.portal--act p{color:#575750;margin:0 0 50px}.portal--act .portal__index{color:#64645d}.portal--act .portal__action{color:#111}.portal__age{position:absolute;right:30px;top:24px;font:italic 56px Georgia,serif;color:#111}
.portal--series{grid-column:1/-1}.portal--series img{object-position:center 34%}
.project-series{padding:10vh 2.2% 14vh;background:#0b0b0a}
.project-series__heading{display:flex;justify-content:space-between;border-bottom:1px solid #393937;padding-bottom:18px;font-size:11px;letter-spacing:.16em;color:#8c8b86}
.project-row{position:relative;display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:25px;min-height:145px;border-bottom:1px solid #393937;color:#efeee9;text-decoration:none;z-index:1}
.project-row>span{font-size:11px;color:#8c8b86;letter-spacing:.12em}.project-row>span:nth-of-type(2){text-transform:uppercase}
.project-row h2{font:italic clamp(38px,5vw,78px)/1 Georgia,'Times New Roman',serif;margin:0;letter-spacing:-.04em}
.project-row img{position:absolute;z-index:-1;width:190px;height:130px;right:16%;object-fit:cover;opacity:0;transform:scale(.9) rotate(-2deg);transition:opacity .25s,transform .35s;pointer-events:none}
.project-row:hover img{opacity:1;transform:scale(1) rotate(0)}
.cinema-collection{background:#111;padding:14vh 0 9vh}
.collection-head{display:flex;justify-content:space-between;align-items:end;gap:35px;padding:0 2.2% 55px}
.collection-head>div{max-width:750px}.collection-head .eyebrow{color:#8f8e88}.collection-head h1{font:italic clamp(55px,9vw,140px)/.84 Georgia,'Times New Roman',serif;letter-spacing:-.065em;margin:25px 0 0}.collection-head>div>p:last-child:not(.eyebrow){max-width:600px;margin-top:28px;color:#adaca6;line-height:1.7}
.collection-head nav{display:flex;gap:22px;flex-wrap:wrap;padding-bottom:8px}.collection-head nav a{font-size:12px;text-decoration:none;text-transform:uppercase;letter-spacing:.09em;color:#8e8d87;padding-bottom:5px}.collection-head nav a[aria-current]{color:#fff;border-bottom:1px solid #fff}
.horizontal-gallery{display:flex;gap:clamp(25px,4vw,70px);overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;padding:0 12vw 25px 2.2%;scrollbar-width:thin;scrollbar-color:#777 #292929}
.horizontal-gallery figure{flex:0 0 auto;width:min(72vw,1040px);height:min(72vh,760px);margin:0;display:flex;flex-direction:column;scroll-snap-align:start}
.horizontal-gallery figure:nth-child(3n+2){width:min(45vw,620px)}
.horizontal-gallery .photo{flex:1;min-height:0;width:100%;display:grid;place-items:center;background:#090909;overflow:hidden}
.horizontal-gallery .photo img{width:100%;height:100%;object-fit:contain;background:#090909;transition:transform .55s ease}
.horizontal-gallery .photo:hover img{transform:scale(1.012)}
.horizontal-gallery figcaption{display:grid;grid-template-columns:85px minmax(0,1fr) auto;gap:15px;padding-top:15px;font-size:12px;color:#8d8c86}.horizontal-gallery figcaption span:nth-child(2){color:#e4e3de}
.swipe-hint{margin:18px 2.2% 0;color:#7e7d78;font-size:11px;text-transform:uppercase;letter-spacing:.12em}
.cinema-about,.cinema-contact{display:grid;grid-template-columns:.7fr 1.4fr;gap:6vw;padding:13vh 8%;border-top:1px solid #363634;background:#0b0b0a}
.cinema-about .eyebrow,.cinema-contact .eyebrow{grid-column:1/-1;color:#8d8c87}.cinema-about h2,.cinema-contact h2{font:italic clamp(60px,8vw,120px)/.82 Georgia,'Times New Roman',serif;letter-spacing:-.06em;margin:0}.cinema-about>p:last-child{max-width:650px;color:#aaa9a4;font-size:18px;line-height:1.8;align-self:end}
.cinema-contact{background:#eceae4;color:#121211}.cinema-contact h2{color:#121211}.cinema-contact .eyebrow{color:#66665f}.cinema-contact>div{display:flex;flex-direction:column;gap:20px;align-self:end}.cinema-contact a{font-size:17px;color:#121211;text-decoration:none;border-bottom:1px solid #8b8a83;padding-bottom:7px;width:max-content;max-width:100%;overflow-wrap:anywhere}
.age-gate{min-height:100svh;display:grid;place-items:center;padding:100px 5%;background:#0b0b0a}.age-gate__inner{width:min(850px,100%);position:relative;border-top:1px solid #4b4b48;padding-top:35px}.age-gate__mark{position:absolute;right:0;top:22px;font:italic 70px Georgia,serif;color:#fff}.age-gate h1{font:italic clamp(48px,8vw,102px)/.95 Georgia,serif;letter-spacing:-.055em;margin:12vh 0 35px;max-width:800px}.age-gate__inner>p:not(.age-gate__mark):not(.eyebrow){color:#aaa9a3;font-size:17px}.age-gate__actions{display:flex;gap:28px;align-items:center;margin-top:50px}.age-gate button{border:1px solid #eee;background:#eee;color:#111;padding:16px 22px;cursor:pointer;font:inherit}.age-gate a{color:#ccc;font-size:14px}
.portfolio-page footer{max-width:none;padding:24px 2.2%;border-top:1px solid #373735;background:#0b0b0a;color:#777771}
@media(max-width:720px){.portfolio-page header{height:62px;padding:0 5%;display:flex;flex-direction:row;align-items:center}.portfolio-page header nav{gap:15px}.portfolio-page header nav a:nth-child(3),.portfolio-page header nav a:nth-child(4){display:none}.cinema{min-height:540px}.cinema__overlay{padding:76px 5% 22px;display:flex;flex-direction:column;justify-content:space-between;align-items:stretch}.cinema__name{font-size:31px}.cinema__caption{grid-template-columns:58px 1fr auto;gap:10px;margin-top:auto;padding-right:0}.cinema__controls{align-self:flex-end;margin-top:20px}.cinema__rail{display:none}.cinema__slide::after{background:linear-gradient(0deg,rgba(0,0,0,.7),transparent 45%)}.portals{padding:70px 5%;grid-template-columns:1fr;grid-auto-rows:min(70svh,620px);gap:1px}.portal,.portal--series{grid-column:1;padding:23px}.portal__index{top:22px;left:22px}.portal__age{right:22px;top:18px}.portal h2{font-size:70px}.project-series{padding:75px 5% 95px}.project-row{grid-template-columns:40px 1fr;gap:10px;min-height:110px}.project-row>span:nth-of-type(2){grid-column:2}.project-row h2{font-size:39px}.project-row img{display:none}.cinema-collection{padding:95px 0 70px}.collection-head{display:block;padding:0 5% 40px}.collection-head h1{font-size:63px}.collection-head nav{margin-top:35px}.horizontal-gallery{gap:24px;padding:0 10vw 20px 5%}.horizontal-gallery figure,.horizontal-gallery figure:nth-child(n){width:82vw;height:68svh}.horizontal-gallery figcaption{grid-template-columns:62px 1fr;gap:8px}.horizontal-gallery figcaption span:last-child{grid-column:2}.swipe-hint{margin-left:5%}.cinema-about,.cinema-contact{grid-template-columns:1fr;padding:85px 8%;gap:35px}.cinema-about h2,.cinema-contact h2{font-size:64px}.cinema-about>p:last-child{font-size:16px}.age-gate{padding:85px 7%}.age-gate__mark{font-size:50px}.age-gate h1{font-size:49px;margin-top:90px}.age-gate__actions{align-items:flex-start;flex-direction:column}.portfolio-page footer{padding:22px 5%}}
@media(prefers-reduced-motion:reduce){.cinema__slide,.portal img,.project-row img,.horizontal-gallery img{transition:none!important}}
