@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Permanent+Marker&display=swap');
:root{color-scheme:dark;--paper:#f0f0e9;--muted:#a5a7a5;--accent:#d6e89a;font-family:'DM Sans',Arial,sans-serif;color:var(--paper);background:#252726}*{box-sizing:border-box}body{margin:0;min-height:100vh}.backdrop{position:fixed;inset:-8%;z-index:-2;background:radial-gradient(ellipse at 53% 15%,#585a58 0%,#353735 38%,#202220 75%);transform:translateY(var(--offset,0px))}#background-video{position:fixed;inset:0;width:100%;height:100%;object-fit:cover;opacity:.28;z-index:-1}header{height:106px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff13}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}.wordmark{font-weight:700;font-size:27px;letter-spacing:-2px}.wordmark span{font-size:12px;letter-spacing:2px;font-weight:500;margin-left:19px}.header-link{font-size:12px;letter-spacing:2px}.header-link span{margin-left:14px;color:var(--accent)}.hero{text-align:center;padding:64px 20px 50px}.eyebrow{font-size:12px;letter-spacing:3px;text-transform:uppercase;color:var(--accent);margin:0 0 24px}.hero h1{font-size:clamp(3rem,6.6vw,6.8rem);font-weight:500;letter-spacing:-.07em;line-height:1.08;margin:0}.hero h1 span{font-weight:400;color:#c2c4be}.hero p{color:#c0c2bc;font-size:17px;letter-spacing:2px;margin:23px 0 0}.logo{max-width:min(650px,90vw);max-height:180px;object-fit:contain}.film{position:relative;background:#101210;border:1px solid #050605;box-shadow:0 24px 70px #0006;padding:35px 22px 29px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.film:before,.film:after{content:'';position:absolute;left:0;right:0;height:11px;background:repeating-linear-gradient(90deg,transparent 0 15px,#76796d 15px 29px,transparent 29px 46px);opacity:.55}.film:before{top:10px}.film:after{bottom:9px}.home-film{width:calc(100% + 12px);margin-left:-6px;transform:rotate(-2deg);padding-left:4%;padding-right:4%}.frame{min-width:0;display:block;position:relative;border:0;background:none;text-align:left}.image-wrap{position:relative;overflow:hidden;aspect-ratio:1.4;background:linear-gradient(135deg,#424940,#171b18);border:1px solid #ffffff18}.frame img{height:100%;width:100%;object-fit:cover;filter:grayscale(1) brightness(.78);transition:filter .65s,transform .8s}.frame:hover img,.frame:focus-visible img,.frame:active img{filter:grayscale(0) brightness(1);transform:scale(1.045)}.frame:hover .image-wrap{border-color:#d6e89a80}.frame:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:6px}.frame-number{position:absolute;top:13px;left:14px;font:12px monospace;color:#fff;z-index:1}.enter{position:absolute;bottom:13px;right:14px;width:32px;height:32px;border:1px solid #ffffff99;border-radius:50%;display:grid;place-items:center;background:#1114;transition:background .3s}.frame:hover .enter{background:var(--accent);color:#111}.frame-title{font-family:'Permanent Marker',cursive;font-size:clamp(16px,1.55vw,25px);line-height:1.3;display:block;padding:15px 0 7px;transform:rotate(-2deg)}.frame-meta{display:flex;justify-content:space-between;font:12px monospace;color:#81877a;padding-top:8px}.below-film{display:flex;justify-content:space-between;margin:58px 5% 70px;gap:20px;color:#aeb1a7;font-size:12px;letter-spacing:2px}.below-film strong{font-weight:400;color:var(--accent)}footer{border-top:1px solid #ffffff1c;margin:0 5%;padding:26px 0;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#91968d;letter-spacing:1px}footer button{background:none;border:0;padding:0;font-size:12px;color:#bbbfb5}.interior{padding:26px 5% 70px}.compact{box-shadow:none;padding:23px 12px 20px;gap:12px}.compact:before,.compact:after{height:6px}.compact:before{top:7px}.compact:after{bottom:6px}.compact .frame{display:flex;align-items:center;gap:12px;padding:3px}.compact .image-wrap{width:62px;flex-shrink:0;aspect-ratio:1.4}.compact .frame-title{font-size:15px;padding:0}.compact .frame-number,.compact .enter,.compact .frame-meta{display:none}.compact .active{color:var(--accent)}.section-heading{display:flex;justify-content:space-between;gap:24px;align-items:end;margin:58px 0 28px}.section-heading h1{font-size:clamp(2rem,4vw,4rem);letter-spacing:-.055em;font-weight:500;line-height:1.1;margin:10px 0 0}.section-heading .eyebrow{margin:0}.count{white-space:nowrap;font:12px monospace;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 22px}.grid .frame{background:#111410;padding:22px 12px 12px;border-top:8px dashed #62695a;border-bottom:8px dashed #62695a}.grid .image-wrap{aspect-ratio:16/9}.grid .frame-title{font-family:inherit;transform:none;font-size:17px;padding:16px 0 8px}.placeholder{height:100%;min-height:100px;display:grid;place-items:center;color:#929c87;font:12px monospace;letter-spacing:2px;background:linear-gradient(135deg,#30372e,#1a1e18)}.placeholder b{font-size:46px;font-weight:400;letter-spacing:-3px;color:#58604f}.back{display:inline-block;margin:32px 0 0;color:#c6cbbd;font-size:14px}.player{aspect-ratio:16/9;background:#10130f;border:1px solid #ffffff20;margin:20px 0;display:grid;place-items:center;text-align:center}.player iframe{width:100%;height:100%;border:0}.empty-play{color:var(--accent);font-size:30px;margin-bottom:15px}.empty p{color:#959e8e;font-size:14px}.description{font-size:18px;line-height:1.8;max-width:750px;color:#c2c7ba;white-space:pre-line}.detail{max-width:1100px;margin:auto}.detail .section-heading{margin-top:28px}.transition-image{position:fixed;z-index:10;object-fit:cover;pointer-events:none;filter:grayscale(0);animation:enter-frame .55s cubic-bezier(.2,.7,.3,1) forwards}@keyframes enter-frame{70%{left:0;top:0;width:100vw;height:100vh;opacity:1}100%{left:0;top:0;width:100vw;height:100vh;opacity:0}}main{animation:reveal .45s ease-out}@keyframes reveal{from{opacity:.3;transform:translateY(8px)}to{opacity:1;transform:none}}.no-motion *{animation:none!important;transition:none!important}.no-motion .backdrop{transform:none}
@media(min-width:1600px){.hero{padding-top:90px;padding-bottom:70px}.below-film{margin-top:70px}}@media(max-width:1000px){.hero{padding-top:55px}.home-film{gap:10px}.frame-title{font-size:18px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.compact .image-wrap{display:none}.compact .frame-title{font-size:14px}.compact .frame{justify-content:center}.below-film{margin-top:45px}}@media(max-width:640px){header{height:80px}.wordmark span{font-size:10px;margin-left:10px}.header-link{font-size:10px;letter-spacing:1px}.hero{padding:43px 16px 35px}.hero h1{font-size:3.6rem}.hero p{font-size:14px;letter-spacing:1px}.hero .eyebrow{font-size:10px}.home-film{width:100%;margin:0;transform:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px;padding:29px 14px}.frame-title{font-size:18px}.frame-meta{font-size:10px}.below-film{margin:28px 5% 40px;font-size:10px;letter-spacing:1px}.below-film span:last-child{max-width:140px;text-align:right}.grid{grid-template-columns:1fr}.compact{gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.compact .frame{justify-content:flex-start;padding:5px}.section-heading{margin-top:36px;align-items:start}.count{margin-top:8px}.interior{padding:20px 5% 45px}.section-heading h1{font-size:2.3rem}footer{flex-wrap:wrap;font-size:10px}footer span:nth-child(2){display:none}.description{font-size:16px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.backdrop{transform:none!important}}

@media(max-width:380px){.header-link{display:none}.hero h1{font-size:3.2rem}}
.transition-image .placeholder{height:100%}
.interior .detail .description{text-align:center;font-weight:700;margin-left:auto;margin-right:auto}
body{overflow-x:clip}
/* Physical film edges: the mask cuts real, rounded perforations through the base. */
.film,.grid .frame{
  --film-pitch:40px;
  --film-rail:26px;
  --film-holes:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='26' viewBox='0 0 40 26'%3E%3Crect x='11' y='7' width='18' height='12' rx='2.4' fill='white'/%3E%3C/svg%3E");
  isolation:isolate;
  border:0;
  border-radius:2px;
  background:transparent;
  box-shadow:none;
  filter:drop-shadow(0 2px 1px #0008) drop-shadow(0 14px 17px #0005);
}
.film::before,.grid .frame::before{
  content:'';
  position:absolute;
  inset:0;
  width:auto;
  height:auto;
  opacity:1;
  z-index:-1;
  pointer-events:none;
  border-radius:2px;
  background:
    linear-gradient(180deg,#ffffff20,transparent 2px,transparent calc(100% - 2px),#ffffff0e),
    repeating-linear-gradient(113deg,#ffffff02 0 1px,transparent 1px 4px),
    linear-gradient(104deg,#111211 0%,#1d1e1b 28%,#11120f 64%,#1b1c19 100%);
  -webkit-mask-image:linear-gradient(#fff 0 0),var(--film-holes),var(--film-holes);
  -webkit-mask-size:100% 100%,var(--film-pitch) var(--film-rail),var(--film-pitch) var(--film-rail);
  -webkit-mask-position:center,top left,bottom left;
  -webkit-mask-repeat:no-repeat,repeat-x,repeat-x;
  -webkit-mask-composite:xor;
  mask-image:linear-gradient(#fff 0 0),var(--film-holes),var(--film-holes);
  mask-size:100% 100%,var(--film-pitch) var(--film-rail),var(--film-pitch) var(--film-rail);
  mask-position:center,top left,bottom left;
  mask-repeat:no-repeat,repeat-x,repeat-x;
  mask-composite:exclude;
}
.film::after,.grid .frame::after{
  content:'';
  position:absolute;
  inset:var(--film-rail) 0;
  height:auto;
  background:none;
  opacity:1;
  border-top:1px solid #b8b49a19;
  border-bottom:1px solid #000a;
  box-shadow:0 -1px 0 #0008,0 1px 0 #c5c3af12;
  pointer-events:none;
  z-index:-1;
}
.home-film{
  --film-tilt:-2deg;
  padding-top:38px;
  padding-bottom:37px;
  gap:18px;
  transform:rotate(var(--film-tilt));
}
.home-film .image-wrap{aspect-ratio:1.5;border-radius:3px}
.film .image-wrap,.grid .image-wrap{
  border:1px solid #040503;
  box-shadow:0 0 0 1px #b7b4a126,inset 0 0 14px #0008;
}
.image-wrap::after{content:'';position:absolute;inset:0;pointer-events:none;border-radius:inherit;box-shadow:inset 0 1px 3px #0009,inset 0 -1px 2px #ffffff0b}
.film .frame-title{text-shadow:0 1px 1px #0008}
.frame-meta{color:#a5a68f}
.compact{--film-pitch:28px;--film-rail:18px;padding:24px 15px;filter:drop-shadow(0 3px 5px #0004)}
.compact .image-wrap{border-radius:2px}
.grid .frame{padding:35px 13px 34px;transition:filter .3s}
.grid .frame:hover,.grid .frame:focus-visible{filter:drop-shadow(0 2px 1px #0008) drop-shadow(0 15px 18px #0007)}
.grid .image-wrap{border-radius:3px}
.grid .frame-title{padding-top:16px;padding-bottom:3px}
.home-film.film-arriving{animation:film-entrance 1250ms cubic-bezier(.16,.72,.24,1) both}
@keyframes film-entrance{
  from{transform:translate3d(-105vw,0,0) rotate(var(--film-tilt))}
  to{transform:translate3d(0,0,0) rotate(var(--film-tilt))}
}
@media(max-width:1000px){.home-film{gap:12px}}
@media(max-width:640px){
  .home-film{--film-tilt:0deg;--film-pitch:32px;--film-rail:22px;padding:32px 14px;gap:24px 14px}
  .home-film.film-arriving{animation-duration:1000ms}
  .home-film .frame-meta{font-size:12px}
  .compact{padding:23px 12px}
}
@media(prefers-reduced-motion:reduce){.home-film.film-arriving{animation:none}}

/* One continuous atmosphere, blended by chapter position. */
.backdrop{--tone0:31 33 32;--tone1:61 64 61;--tone2:38 41 39;inset:-12%;transform:none;overflow:hidden;background:rgb(var(--tone0));isolation:isolate}
.backdrop::before,.backdrop::after{content:'';position:absolute;inset:-18%;pointer-events:none;will-change:transform}
.backdrop::before{background:radial-gradient(ellipse 75% 65% at 28% 25%,rgb(var(--tone1)/.8),transparent 85%);translate:0 var(--parallax-a,0px);animation:atmosphere-drift 34s ease-in-out infinite alternate}
.backdrop::after{background:radial-gradient(ellipse 70% 80% at 78% 75%,rgb(var(--tone2)/.75),transparent 88%);translate:0 var(--parallax-b,0px);animation:atmosphere-drift 47s ease-in-out infinite alternate-reverse}
@keyframes atmosphere-drift{from{transform:translate3d(-2%,-1%,0) scale(1)}to{transform:translate3d(3%,2%,0) scale(1.07)}}
main{animation:none}#home{min-height:calc(100svh - 106px);display:flow-root;padding-bottom:30px}.chapter{padding:80px 5% 70px;scroll-margin-top:82px}.chapter+.chapter{padding-top:100px}.chapter .section-heading{margin-top:0}.section-heading h2{font-size:clamp(2rem,4vw,4rem);letter-spacing:-.055em;font-weight:500;line-height:1.1;margin:10px 0 0}.chapter h2:focus{outline:none}
.chapter-nav{position:fixed;z-index:8;top:16px;left:50%;translate:-50% 0;width:max-content;max-width:calc(100% - 32px);display:flex;align-items:center;gap:5px;padding:8px;border:1px solid #ffffff26;border-radius:12px;background:#121614eF;box-shadow:0 10px 30px #0003;opacity:0;visibility:hidden;transform:translateY(-12px);transition:opacity .25s,transform .25s,visibility .25s}
.chapter-nav.visible{opacity:1;visibility:visible;transform:none}.chapter-nav a{padding:10px 13px;font-size:12px;white-space:nowrap;border-radius:6px}.chapter-nav a:hover,.chapter-nav a[aria-current]{background:#ffffff0c;color:var(--accent)}
.no-motion .backdrop::before,.no-motion .backdrop::after{animation:none!important;translate:none}
@media(max-width:760px){.chapter-nav{top:8px;gap:0;max-width:calc(100% - 16px);width:calc(100% - 16px);overflow-x:auto;justify-content:flex-start}.chapter-nav a{font-size:11px;padding:10px}.chapter{padding:65px 5% 50px}.chapter+.chapter{padding-top:70px}.section-heading h2{font-size:2.3rem}#home{min-height:calc(100svh - 80px)}}
@media(prefers-reduced-motion:reduce){.backdrop::before,.backdrop::after{animation:none;translate:none}}
.contact-link{display:inline-flex;align-items:center;border:1px solid #ffffff38;border-radius:6px;padding:11px 16px}.contact-link:hover{color:var(--accent);border-color:var(--accent)}
.contact-page{max-width:880px;margin:auto;padding:0 5% 80px;min-height:calc(100svh - 180px)}.contact-page .section-heading{margin-top:45px}.contact-intro{color:#c2c7ba;font-size:18px;line-height:1.7;max-width:590px;margin-bottom:35px}.contact-form{padding:30px;border:1px solid #ffffff25;border-radius:10px;background:#14181588}.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:22px}.contact-form label{display:block;font-size:13px;letter-spacing:.3px}.contact-form input:not([type=hidden]),.contact-form textarea{display:block;width:100%;margin:10px 0 24px;border:1px solid #ffffff35;border-radius:5px;padding:13px 14px;font:16px 'DM Sans',Arial,sans-serif;background:#10141180;color:var(--paper)}.contact-form textarea{resize:vertical;min-height:150px;line-height:1.6}.contact-form input:focus,.contact-form textarea:focus{outline:2px solid var(--accent);outline-offset:2px}.contact-form .contact-honey{display:none!important}.contact-note{font-size:12px;color:#a8afa3;line-height:1.7;margin:0 0 22px}.contact-submit{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;padding:14px 21px;background:var(--accent);color:#172013;border:0;border-radius:5px;font:600 14px 'DM Sans',Arial,sans-serif}.contact-submit:hover{background:#e5f5b5}.contact-direct{font-size:14px;color:#acb2a7;margin-top:27px;line-height:1.8}.contact-direct a{color:var(--paper);text-decoration:underline;text-underline-offset:4px}.contact-thanks{border:1px solid #d6e89a44;border-radius:10px;padding:30px;background:#14181588}.contact-thanks h2{font-weight:500}.contact-thanks p{line-height:1.7;color:#c2c7ba;margin-bottom:25px}[hidden]{display:none!important}
@media(max-width:640px){.contact-page{padding-bottom:50px}.contact-form{padding:22px 18px}.contact-fields{grid-template-columns:1fr;gap:0}.contact-page .section-heading{margin-top:32px}.contact-intro{font-size:16px}.contact-link{padding:9px 12px}.contact-link span{margin-left:8px}}
