
* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; background: #050505; color: #eee; }
body { font-family: Georgia, "Times New Roman", serif; overflow-x: hidden; }
.home { min-height: 100vh; position: relative; display: grid; place-items: center; }
.objects { width: min(1100px, 90vw); display: grid; grid-template-columns: repeat(4, 1fr); align-items: center; gap: clamp(30px, 6vw, 100px); }
.object { display: flex; justify-content: center; align-items: center; text-decoration: none; }
.object img { display: block; width: min(195px, 19vw); max-width: 100%; height: auto; object-fit: contain; transition: transform .35s ease, filter .35s ease; }
.object:nth-child(2) img { width: min(255px, 25vw); max-width: none; }
.object:hover img { transform: translateY(-7px) scale(1.04); filter: brightness(1.12); }
.page { min-height: 100vh; padding: 7vh 7vw 10vh; }
.back { display: inline-block; color: #aaa; text-decoration: none; font-size: 15px; margin-bottom: 7vh; }
.back:hover { color: #fff; }
.content { max-width: 1000px; margin: 0 auto; }
.hero { width: min(700px, 100%); margin: 0 auto 50px; }
.hero img { width: 100%; display: block; }
h1 { font-size: clamp(42px, 8vw, 90px); font-weight: normal; line-height: .95; margin: 0 0 30px; }
p { max-width: 680px; font-size: 20px; line-height: 1.55; }
@media (max-width: 700px) {
  .objects { grid-template-columns: repeat(2, 1fr); gap: 38px 24px; width:92vw; }
  .object img { width: min(155px, 34vw); }
  .object:nth-child(1) { transform: translateX(12px); }
  .object:nth-child(1) img { width: min(155px, 34vw); }
  .object:nth-child(2) img { width: min(232px, 51vw); }
  .object:nth-child(3) { transform: translateX(12px); }
  .object:nth-child(3) img { width: min(178px, 39vw); transform: rotate(-2deg); }
  .object:nth-child(4) img { width: min(140px, 31vw); }
  .page { padding: 30px 25px 70px; }
  p { font-size: 18px; }
}

/* ABOUT PAGE */
.about-body { background: #050505; margin: 0; }
.about-page { min-height: 100vh; background: #050505; }
.about-back { position: fixed; z-index: 100; top: 28px; left: 32px; color: #bbb; text-decoration: none; font: 28px/1 Georgia, "Times New Roman", serif; transition: color .25s ease, transform .25s ease; }
.about-back:hover { color: #fff; transform: translateX(-3px); }
.about-poster-section { min-height: 100vh; display: flex; position: relative; align-items: center; justify-content: center; padding: 4vh 24px 7vh; }
.about-poster { display: block; width: auto; height: min(88vh, 820px); max-width: 92vw; object-fit: contain; animation: aboutFade .75s ease both; }
.scroll-cue { position: absolute; bottom: 18px; left: 50%; transform: translateX(-50%); color: #aaa; font: 34px/1 Avenir,"Avenir Next","Century Gothic",sans-serif; opacity: .9; }
.about-copy { min-height: 72vh; max-width: 720px; margin: 0 auto; padding: 13vh 32px 20vh; display: flex; align-items: flex-start; }
.about-copy p { margin: 0; color: #ddd; font-size: clamp(20px, 2.1vw, 28px); line-height: 1.55; }
@keyframes aboutFade { from { opacity: 0; transform: scale(.985); } to { opacity: 1; transform: scale(1); } }
@media (max-width: 700px) { .about-back { top: 20px; left: 20px; } .about-poster-section { padding-left: 6px; padding-right: 6px; padding-bottom: 145px; } .about-poster { height: auto; width: 98vw; max-width: 98vw; } .scroll-cue { bottom: calc(92px + env(safe-area-inset-bottom)); font-size: 38px; color:#bbb; } .about-copy { padding: 12vh 26px 18vh; } }
@media (prefers-reduced-motion: reduce) { .about-poster { animation: none; } }
body { transition: opacity .26s ease; }
body.page-leave { opacity: 0; }
@media (prefers-reduced-motion: reduce) { body { transition: none; } }

/* FILMS PAGE */
.films-body,.films-page{margin:0;background:#050505;color:#eee}.films-back{position:fixed;z-index:10;top:28px;left:32px;color:#777;text-decoration:none;font:28px/1 Georgia,serif}.films-back:hover{color:#fff}.films-intro-section{min-height:100vh;position:relative;display:flex;align-items:center;justify-content:center;padding:7vh 6vw 10vh}.films-intro{display:block;width:min(1120px,84vw);height:auto;max-height:78vh;object-fit:contain;animation:filmsFade .75s ease both}.film-list{width:min(1050px,84vw);margin:0 auto;padding:15vh 0 20vh}.film-entry{margin:0 0 22vh}.film-entry:last-child{margin-bottom:0}.film-placeholder{aspect-ratio:16/9;width:100%;border:1px solid #282828;background:#0b0b0b;display:grid;place-items:center;color:#444;font:12px Arial,sans-serif;letter-spacing:.18em}.film-meta{margin-top:18px;font-family:Arial,sans-serif}.film-meta h2{margin:0 0 5px;font:400 20px/1.2 Arial,sans-serif}.film-meta p{margin:0;font:14px/1.3 Arial,sans-serif;color:#777}@keyframes filmsFade{from{opacity:0;transform:scale(.99)}to{opacity:1;transform:scale(1)}}@media(max-width:700px){.films-back{top:20px;left:20px}.films-intro-section{padding-left:20px;padding-right:20px}.films-intro{width:92vw;max-height:none}.film-list{width:calc(100vw - 40px);padding-top:10vh}.film-entry{margin-bottom:14vh}}@media(prefers-reduced-motion:reduce){.films-intro{animation:none}}

/* WRITING INDEX */
.writing-body,.writing-page{margin:0;background:#050505;color:#eee}.writing-page{min-height:100vh}.writing-back,.story-back{position:fixed;z-index:20;top:28px;left:32px;color:#777;text-decoration:none;font:28px/1 Arial,sans-serif}.writing-back:hover,.story-back:hover{color:#fff}.writing-layout{min-height:100vh;display:grid;grid-template-columns:minmax(340px,520px) minmax(430px,1fr);gap:7vw;align-items:center;width:min(1120px,86vw);margin:0 auto}.writing-image{display:block;width:100%;height:auto}.writing-list{display:flex;flex-direction:column;gap:30px;align-items:center;text-align:center}.writing-list a,.writing-list span{color:#eee;text-decoration:none;font:600 clamp(17px,1.7vw,24px)/1.2 Arial,sans-serif;letter-spacing:.01em;transition:opacity .2s ease,transform .2s ease}.writing-list a:hover{opacity:.62;transform:translateX(3px)}.writing-list span{cursor:default}
/* STORY READER */
.story-body{margin:0;background:#050505;color:#eee;overflow:hidden}.story-reader{height:100vh;width:100vw;position:relative;outline:none;cursor:pointer}.story-screen{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;opacity:0;pointer-events:none;transition:opacity .38s ease;padding:10vh 10vw}.story-screen.active{opacity:1;pointer-events:auto}.title-screen{align-items:center;text-align:center}.title-screen h1{margin:0;font:500 clamp(38px,6vw,86px)/.98 Arial,sans-serif;letter-spacing:.015em}.story-hint{position:absolute;bottom:7vh;color:#555;font:13px Arial,sans-serif;letter-spacing:.08em}.passage p{max-width:760px;margin:0 0 1.5em;font:400 clamp(21px,2.25vw,32px)/1.55 Arial,sans-serif}.passage-one{align-items:flex-start}.passage-two{align-items:center}.passage-two p{max-width:800px}.passage-three{align-items:flex-end}.passage-three p{max-width:820px}.passage-four{align-items:center}.passage-four p{max-width:760px}.story-end{margin-top:3em;color:#777;font:13px Arial,sans-serif;letter-spacing:.18em}@media(max-width:760px){.writing-layout{grid-template-columns:1fr;gap:7vh;padding:12vh 0 10vh}.writing-image-wrap{width:min(78vw,430px);margin:0 auto}.writing-list{gap:24px}.writing-back,.story-back{top:20px;left:20px}.story-screen{padding:12vh 8vw}.passage p{font-size:20px;line-height:1.55}}@media(prefers-reduced-motion:reduce){.story-screen{transition:none}}
/* CONTACT */
.contact-body{margin:0;background:#050505;color:#eee;overflow:hidden}.contact-page{height:100vh;display:flex;align-items:center;justify-content:center;padding:8vw;box-sizing:border-box}.contact-email{color:#e8e8e8;text-decoration:none;font:400 clamp(20px,2.2vw,32px)/1.2 Arial,sans-serif;opacity:0;animation:contactFade 1.15s ease .15s forwards;transition:opacity .2s ease}.contact-email:hover{opacity:.58!important}.contact-back{position:fixed;z-index:20;top:28px;left:32px;color:#777;text-decoration:none;font:28px/1 Arial,sans-serif}.contact-back:hover{color:#fff}@keyframes contactFade{to{opacity:1}}@media(max-width:760px){.contact-back{top:20px;left:20px}.contact-email{font-size:20px}}@media(prefers-reduced-motion:reduce){.contact-email{animation:none;opacity:1}}
/* FILMS — single-screen index */
.films-list-body{margin:0;background:#050505;color:#eee;overflow:hidden}.films-list-page{min-height:100vh}.films-list-back{position:fixed;z-index:20;top:28px;left:32px;color:#777;text-decoration:none;font:28px/1 Arial,sans-serif}.films-list-back:hover{color:#fff}.films-list-layout{min-height:100vh;display:grid;grid-template-columns:minmax(350px,540px) minmax(400px,1fr);gap:7vw;align-items:center;width:min(1140px,86vw);margin:0 auto}.films-list-image{display:block;width:100%;height:auto}.films-title-list{display:flex;flex-direction:column;gap:31px;align-items:center;text-align:center}.films-title-list a{color:#eee;text-decoration:none;font:600 clamp(18px,1.8vw,25px)/1.15 Arial,sans-serif;letter-spacing:.01em;transition:opacity .2s ease,transform .2s ease}.films-title-list a:hover{opacity:.62;transform:translateX(3px)}@media(max-width:760px){.films-list-body{overflow:auto}.films-list-layout{grid-template-columns:1fr;gap:7vh;padding:12vh 0 10vh}.films-list-image-wrap{width:min(82vw,480px);margin:0 auto}.films-title-list{gap:24px}.films-list-back{top:20px;left:20px}}
/* INDIVIDUAL FILM */
.film-player-body{margin:0;background:#050505;color:#eee;overflow:hidden}.film-player-page{height:100vh;display:flex;align-items:center;justify-content:center;padding:7vh 8vw;box-sizing:border-box}.film-frame{width:min(1120px,84vw);aspect-ratio:16/9;background:#000}.film-frame iframe{display:block;width:100%;height:100%;border:0}.film-player-back{position:fixed;z-index:20;top:28px;left:32px;color:#777;text-decoration:none;font:28px/1 Arial,sans-serif}.film-player-back:hover{color:#fff}@media(max-width:760px){.film-player-page{padding:8vh 4vw}.film-frame{width:92vw}.film-player-back{top:20px;left:20px}}
.writing-kicker{margin-bottom:2px;color:#777;font:400 12px/1 Arial,sans-serif;letter-spacing:.18em}
/* UNIFIED TYPOGRAPHY */
html,body,button,input,textarea,select{font-family:Avenir,"Avenir Next","Century Gothic",sans-serif !important}body *{font-family:inherit}.films-title-list a,.writing-list a,.writing-list span,.writing-kicker,.contact-email,.title-screen h1,.passage p,.story-hint,.story-end,.films-list-back,.writing-back,.story-back,.contact-back,.film-player-back{font-family:Avenir,"Avenir Next","Century Gothic",sans-serif !important;font-weight:400 !important}
