@media (pointer:fine){*,:after,:before{cursor:none!important}}.nav-container{display:flex;width:100%;justify-content:space-between;align-items:center}.cursor-dot{position:fixed;top:0;left:0;width:8px;height:8px;background:var(--white,#ffffff);border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:opacity .2s ease,width .2s ease,height .2s ease;will-change:transform;opacity:0}.cursor-dot.is-visible{opacity:1}.cursor-dot.is-bento,.cursor-dot.is-link{opacity:0;width:0;height:0}.cursor-ring{position:fixed;top:0;left:0;width:40px;height:40px;border:1px solid rgba(255,255,255,.5);border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:width .35s ease,height .35s ease,border-color .3s ease,background-color .3s ease,opacity .2s ease;mix-blend-mode:difference;will-change:transform;display:flex;align-items:center;justify-content:center;opacity:0}.cursor-ring.is-visible{opacity:1}.cursor-text{font-family:var(--font-sans,"Outfit",sans-serif);font-size:0;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--white,#ffffff);opacity:0;transition:font-size .3s ease,opacity .3s ease;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.cursor-ring.is-link{width:60px;height:60px;border-color:rgba(255,255,255,.8);background-color:rgba(255,255,255,.06)}.cursor-ring.is-bento{width:100px;height:100px;border-color:rgba(255,255,255,.9);background-color:rgba(255,255,255,.05)}.cursor-ring.is-bento .cursor-text{font-size:.6rem;opacity:1}.cursor-ring.is-lightbox{width:50px;height:50px;border-color:rgba(255,255,255,.3)}@media (hover:none),(pointer:coarse){.cursor-dot,.cursor-ring{display:none!important}}*,:after,:before{margin:0;padding:0;box-sizing:border-box}:root{--bg:#000000;--fg:#e8e8e8;--fg-muted:rgba(232,232,232,0.65);--fg-faint:rgba(232,232,232,0.38);--fg-ghost:rgba(232,232,232,0.08);--font-display:var(--font-bodoni-moda),"Didot",Georgia,serif;--font-body:var(--font-outfit),sans-serif;--font-mono:var(--font-ibm-plex-mono),monospace;--ease:cubic-bezier(0.16,1,0.3,1);--ease-develop:cubic-bezier(0.4,0,0.2,1);--darkroom-red:#c41e1e}html{scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--darkroom-red) var(--bg)}body{background:var(--bg);color:var(--fg);font-family:var(--font-body);font-weight:300;line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{cursor:pointer}button,input,textarea{font-family:inherit;border:none;background:none;color:inherit}input,textarea{outline:none}.grain-overlay{position:fixed;inset:0;z-index:9000;pointer-events:none;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:200px}.grain-overlay:after{content:"";position:absolute;inset:0;background:rgba(180,140,80,.02);pointer-events:none}::-webkit-scrollbar{width:3px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--darkroom-red);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#e02424}#navbar{position:fixed;top:0;left:0;right:0;z-index:1000;padding:clamp(1.2rem,3vw,2rem) clamp(1.5rem,4vw,2.5rem);display:flex;justify-content:space-between;align-items:center;mix-blend-mode:difference}.nav-logo{font-family:var(--font-display);font-style:italic;font-weight:400;font-size:1.2rem;letter-spacing:.02em;color:var(--fg);text-decoration:none;transition:opacity .3s ease;z-index:1001}.nav-logo:hover{opacity:.6}.nav-toggle{position:relative;z-index:1001;width:32px;height:20px;display:flex;flex-direction:column;justify-content:space-between;background:none;border:none;padding:0}.nav-toggle span{display:block;width:100%;height:1.5px;background:var(--fg);transition:transform .5s var(--ease),opacity .3s ease;transform-origin:center}.nav-toggle.is-open span:first-child{transform:translateY(9.25px) rotate(45deg)}.nav-toggle.is-open span:last-child{transform:translateY(-9.25px) rotate(-45deg)}#menuOverlay{position:fixed;inset:0;z-index:999;background:var(--bg);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:6rem 6vw;-webkit-clip-path:circle(0 at calc(100% - 3.5rem) 2.8rem);clip-path:circle(0 at calc(100% - 3.5rem) 2.8rem);transition:-webkit-clip-path .9s var(--ease);transition:clip-path .9s var(--ease);transition:clip-path .9s var(--ease),-webkit-clip-path .9s var(--ease);visibility:hidden}#menuOverlay.is-open{-webkit-clip-path:circle(150% at calc(100% - 3.5rem) 2.8rem);clip-path:circle(150% at calc(100% - 3.5rem) 2.8rem);visibility:visible}.menu-links{display:flex;flex-direction:column;gap:.5rem}.menu-link{display:block;font-family:var(--font-display);font-style:italic;font-weight:400;font-size:clamp(3rem,15vw,12rem);line-height:1;color:var(--fg);text-decoration:none;position:relative;padding-left:2.5rem;opacity:0;transform:translateY(80px);transition:opacity .6s var(--ease),transform .6s var(--ease),color .3s ease}.menu-link:before{content:attr(data-index);position:absolute;left:0;top:.3em;font-family:var(--font-body);font-style:normal;font-size:.65rem;font-weight:300;letter-spacing:.1em}.menu-link:before,.menu-link:hover{color:var(--fg-muted)}#menuOverlay.is-open .menu-link{opacity:1;transform:translateY(0)}#menuOverlay.is-open .menu-link:first-child{transition-delay:.15s}#menuOverlay.is-open .menu-link:nth-child(2){transition-delay:.25s}#menuOverlay.is-open .menu-link:nth-child(3){transition-delay:.35s}.menu-footer{position:absolute;bottom:3rem;left:6vw;right:6vw;display:flex;gap:2.5rem;border-top:1px solid var(--fg-ghost);padding-top:2rem}.menu-footer a{font-family:var(--font-body);font-size:.65rem;font-weight:400;text-transform:uppercase;letter-spacing:.25em;color:var(--fg-muted);text-decoration:none;transition:color .3s ease}.menu-footer a:hover{color:var(--fg)}#hero{position:relative;height:100vh;height:100dvh;display:flex;align-items:flex-end;overflow:hidden;padding:0 6vw 8vh}.hero-bg{position:absolute;inset:-5%;z-index:-1;background:url(/images/hero.webp) 50%/cover no-repeat;filter:contrast(1.1);opacity:.85}@media (max-width:767px){.hero-bg{background-image:url(/images/hero-sm.webp)}}.hero-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.15) 0,rgba(0,0,0,0) 40%,rgba(0,0,0,.3) 75%,rgba(0,0,0,.95))}.hero-content{position:relative;z-index:1;width:100%}.hero-eyebrow{font-family:var(--font-body);font-size:.65rem;font-weight:400;text-transform:uppercase;letter-spacing:.5em;color:var(--fg-muted);margin-bottom:2rem;opacity:0;animation:heroFadeIn 1s var(--ease) .3s forwards}.hero-title{font-family:var(--font-display);font-style:italic;font-weight:400;font-size:clamp(5rem,13vw,15rem);line-height:.88;letter-spacing:-.03em;-webkit-user-select:none;-moz-user-select:none;user-select:none}.hero-line{display:block;opacity:0;transform:translateY(60px);animation:heroLineReveal 1.4s var(--ease) forwards}.hero-line:first-child{animation-delay:.4s}.hero-line:nth-child(2){animation-delay:.6s}.hero-line-indent{margin-left:clamp(3rem,15vw,18rem)}.hero-location{font-family:var(--font-body);font-size:.65rem;font-weight:300;text-transform:uppercase;letter-spacing:.4em;color:var(--fg-faint);margin-top:3rem;opacity:0;animation:heroFadeIn 1s var(--ease) 1s forwards}.hero-scroll{position:absolute;bottom:8vh;right:6vw;display:flex;flex-direction:column;align-items:center;gap:1rem;opacity:0;animation:heroFadeIn 1s var(--ease) 1.4s forwards}.hero-scroll span{font-family:var(--font-body);font-size:.6rem;font-weight:400;text-transform:uppercase;letter-spacing:.3em;color:var(--fg-muted);writing-mode:vertical-rl}.hero-scroll-line{width:1px;height:60px;background:linear-gradient(to bottom,var(--fg-muted),transparent);position:relative;overflow:hidden}.hero-scroll-line:after{content:"";position:absolute;top:-100%;left:0;width:100%;height:100%;background:var(--fg);animation:scrollLine 2s var(--ease) infinite}@keyframes heroLineReveal{0%{opacity:0;transform:translateY(60px)}to{opacity:1;transform:translateY(0)}}@keyframes heroFadeIn{0%{opacity:0}to{opacity:1}}@keyframes scrollLine{0%{top:-100%}50%{top:100%}50.01%{top:-100%}to{top:100%}}#featured{padding:clamp(5rem,10vw,10rem) 0 clamp(4rem,8vw,8rem);overflow:hidden}.strip-header{display:flex;justify-content:space-between;align-items:center;padding:0 6vw;margin-bottom:3rem}.strip-label{letter-spacing:.4em;color:var(--darkroom-red)}.strip-drag,.strip-label{font-family:var(--font-body);font-size:.6rem;font-weight:400;text-transform:uppercase}.strip-drag{letter-spacing:.3em;color:var(--fg-muted)}.film-strip{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 6vw;cursor:-webkit-grab;cursor:grab;-ms-overflow-style:none;scrollbar-width:none;counter-reset:film-frame}.film-strip::-webkit-scrollbar{display:none}.film-strip:active{cursor:-webkit-grabbing;cursor:grabbing}.film-item{flex:0 0 auto;width:85vw;aspect-ratio:3/2;position:relative;overflow:hidden;scroll-snap-align:start;counter-increment:film-frame}.film-item:before{content:"";top:0;left:0;right:0;height:18px;z-index:2;background:repeating-linear-gradient(90deg,transparent 0,transparent 12px,rgba(255,255,255,.06) 0,rgba(255,255,255,.06) 22px,transparent 0,transparent 34px);border-bottom:1px solid rgba(255,255,255,.04)}.film-item:after,.film-item:before{position:absolute;pointer-events:none}.film-item:after{content:counter(film-frame,decimal-leading-zero);top:6px;right:12px;z-index:3;font-family:var(--font-mono);font-size:.5rem;font-weight:400;letter-spacing:.1em;color:rgba(255,255,255,.15)}.film-item img{width:100%;height:100%;object-fit:cover;filter:grayscale(30%);transition:transform .8s var(--ease),filter .6s ease}.film-item:hover img{transform:scale(1.05);filter:grayscale(0)}.film-item-info{position:absolute;bottom:0;left:0;right:0;padding:2rem;background:linear-gradient(0deg,rgba(0,0,0,.7) 0,transparent);transform:translateY(100%);transition:transform .6s var(--ease)}.film-item:hover .film-item-info{transform:translateY(0)}.film-item-title{font-family:var(--font-display);font-style:italic;font-weight:400;font-size:clamp(1.2rem,2vw,1.8rem);color:var(--fg)}@media (min-width:768px){.film-item{width:35vw}}.section-header{padding:0 6vw;margin-bottom:4rem;position:relative}.section-number{position:absolute;top:-.3em;left:0;font-size:clamp(7rem,16vw,13rem);line-height:.85;letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1px rgba(232,232,232,.12);margin-bottom:0;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.section-number,.section-title{font-family:var(--font-display);font-style:italic;font-weight:400}.section-title{font-size:clamp(2.5rem,6vw,5rem);line-height:1;letter-spacing:-.02em;color:var(--fg);position:relative;z-index:1}#work{padding:clamp(4rem,8vw,8rem) 6vw}.filter-bar{display:flex;gap:0;margin-bottom:2rem;padding:0 6vw;flex-wrap:wrap}.filter-btn{font-family:var(--font-mono);font-size:.75rem;font-weight:400;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-muted);background:transparent;border:1px solid rgba(255,255,255,.08);border-radius:0;padding:.6rem 1.2rem;cursor:pointer;transition:color .3s ease,border-color .3s ease,background-color .3s ease;-webkit-tap-highlight-color:transparent}.filter-btn+.filter-btn{margin-left:-1px}.filter-btn:hover{color:var(--fg);border-color:rgba(255,255,255,.2);z-index:1}.filter-btn.is-active{color:var(--fg);border-color:var(--darkroom-red);background:rgba(196,30,30,.08);z-index:2}.bento-item.is-hiding{opacity:0;transform:scale(.95);transition:opacity .4s ease,transform .4s ease}.bento-item.is-hidden{display:none}@media (pointer:coarse){.filter-btn{padding:.7rem 1rem;font-size:.7rem}.filter-btn:hover{color:var(--fg-muted);border-color:rgba(255,255,255,.08)}.filter-btn.is-active:hover{color:var(--fg);border-color:var(--darkroom-red)}}@media (prefers-reduced-motion:reduce){.bento-item.is-hiding{transition:none}}.bento-grid{display:grid;grid-template-columns:1fr;grid-gap:4px;gap:4px;grid-auto-rows:280px}.bento-item{position:relative;overflow:hidden;cursor:pointer;opacity:0;transform:scale(.97);transition:opacity .7s var(--ease),transform .7s var(--ease)}.bento-item img{width:100%;height:100%;object-fit:cover;filter:brightness(.85);transition:transform .8s var(--ease),filter .6s ease}.bento-item:hover img{transform:scale(1.04);filter:brightness(1)}.bento-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:1.8rem;background:linear-gradient(0deg,rgba(0,0,0,.75) 0,rgba(0,0,0,0) 50%);opacity:0;transition:opacity .5s var(--ease);pointer-events:none}.bento-item:hover .bento-overlay{opacity:1}.bento-overlay-title{font-family:var(--font-display);font-style:italic;font-weight:400;font-size:1.4rem;color:var(--fg);transform:translateY(12px);transition:transform .5s var(--ease)}.bento-item:hover .bento-overlay-title{transform:translateY(0)}.bento-overlay-location{font-family:var(--font-body);font-size:.55rem;font-weight:300;text-transform:uppercase;letter-spacing:.3em;color:var(--fg-muted);margin-top:.3rem;transform:translateY(12px);transition:transform .5s var(--ease) .05s}.bento-item:hover .bento-overlay-location{transform:translateY(0)}@media (min-width:768px){.bento-grid{grid-template-columns:repeat(3,1fr);grid-auto-rows:320px}.bento-item.size-2x2{grid-column:span 2;grid-row:span 2}.bento-item.size-2x1{grid-column:span 2}.bento-item.size-1x2{grid-row:span 2}}@media (min-width:1024px){.bento-grid{grid-template-columns:repeat(4,1fr)}}#about{padding:clamp(6rem,10vw,12rem) 6vw}.about-container{max-width:1400px;margin:0 auto;display:flex;flex-direction:column;gap:5rem}.about-image{position:relative;width:100%;height:70vh;overflow:hidden}.about-image img{width:100%;height:100%;object-fit:cover;filter:grayscale(100%) contrast(1.05)}.about-content{max-width:620px}.about-quote{position:relative;padding-left:2rem;border-left:1px solid var(--darkroom-red);font-family:var(--font-display);font-style:italic;font-weight:400;font-size:clamp(1.4rem,2.5vw,2rem);line-height:1.7;color:var(--fg)}.about-bio{font-size:.9rem;font-weight:300;line-height:1.9}.about-bio,.about-link{font-family:var(--font-body);color:var(--fg-muted);margin-top:3rem}.about-link{display:inline-block;font-size:.6rem;font-weight:400;text-transform:uppercase;letter-spacing:.4em;text-decoration:none;position:relative;transition:color .3s ease}.about-link:after{content:"";position:absolute;bottom:-4px;left:0;width:100%;height:1px;background:var(--fg-faint);transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}.about-link:hover{color:var(--fg)}.about-link:hover:after{transform:scaleX(1);transform-origin:left}@media (min-width:900px){.about-container{flex-direction:row;align-items:stretch;gap:6vw}.about-image{width:55%;flex-shrink:0;height:auto;min-height:70vh}.about-content{flex:1 1;display:flex;flex-direction:column;justify-content:center}}#contact{padding:clamp(6rem,10vw,12rem) 6vw}.contact-main{max-width:1200px;margin:0 auto 8rem;text-align:center}.contact-cta{font-size:clamp(1.2rem,2.5vw,1.6rem);color:var(--fg-muted);margin-bottom:2rem}.contact-cta,.contact-email{font-family:var(--font-display);font-style:italic;font-weight:400}.contact-email{display:inline-block;position:relative;font-size:clamp(2.5rem,6vw,5rem);line-height:1.1;color:var(--fg);text-decoration:none;transition:color .4s var(--ease);text-shadow:0 0 80px rgba(196,30,30,.25)}.contact-email:after{content:"";position:absolute;bottom:-4px;left:0;width:100%;height:2px;background:var(--darkroom-red);transform:scaleX(0);transform-origin:right;transition:transform .4s var(--ease)}.contact-email:hover{color:var(--fg-muted)}.contact-email:hover:after{transform:scaleX(1);transform-origin:left}.contact-form{max-width:860px;margin:0 auto;display:flex;flex-direction:column;gap:2.5rem}.form-row{display:grid;grid-template-columns:1fr;grid-gap:2.5rem;gap:2.5rem}@media (min-width:768px){.form-row{grid-template-columns:1fr 1fr}}.form-group{position:relative}.form-label{display:block;font-family:var(--font-mono);font-size:.65rem;font-weight:400;text-transform:uppercase;letter-spacing:.3em;color:var(--fg-faint);margin-bottom:.8rem;transition:color .3s ease}.form-group:focus-within .form-label{color:var(--fg-muted)}.form-group:focus-within{box-shadow:0 0 20px rgba(196,30,30,.06)}.form-group input,.form-group textarea{width:100%;background:transparent;padding:.8rem 0;font-family:var(--font-body);font-size:1rem;font-weight:300;color:var(--fg)}.form-group input::placeholder,.form-group textarea::placeholder{color:transparent}.form-group textarea{resize:none}.form-line{position:relative;width:100%;height:1px;background:var(--fg-ghost)}.form-line-fill{position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--darkroom-red);transition:width .6s var(--ease)}.form-group:focus-within .form-line-fill{width:100%}.form-error{display:block;margin-top:.5rem;font-size:.7rem;letter-spacing:.05em;color:#ef4444;opacity:0;transition:opacity .3s ease}.form-group.error .form-error{opacity:1}.form-group.error .form-line{background:rgba(239,68,68,.3)}.form-submit{align-self:flex-start;display:inline-flex;align-items:center;gap:1rem;padding:1.2rem 2.5rem;border:1px solid var(--darkroom-red);background:transparent;font-family:var(--font-body);font-size:.65rem;font-weight:400;text-transform:uppercase;letter-spacing:.3em;color:var(--fg);cursor:pointer;transition:all .4s var(--ease);margin-top:1rem}.form-submit svg{width:16px;height:16px;transition:transform .4s var(--ease)}.form-submit:hover{background:var(--darkroom-red);color:var(--fg);border-color:var(--darkroom-red);letter-spacing:.4em}.form-submit:hover svg{transform:translateX(4px)}#footer{padding:3rem 6vw;border-top:none;position:relative}#footer:before{content:"";position:absolute;top:0;left:0;right:0;height:12px;background:repeating-linear-gradient(90deg,transparent 0,transparent 10px,rgba(255,255,255,.04) 0,rgba(255,255,255,.04) 18px,transparent 0,transparent 28px);border-bottom:1px solid var(--fg-ghost)}.footer-container{max-width:1800px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1.5rem}.footer-name{font-family:var(--font-display);font-style:italic;font-weight:400;font-size:.85rem;color:var(--fg-muted)}.footer-links{display:flex;gap:2rem}.footer-links a{font-family:var(--font-body);font-size:.6rem;font-weight:400;text-transform:uppercase;letter-spacing:.2em;color:var(--fg-faint);text-decoration:none;transition:color .3s ease}.footer-links a:hover{color:var(--fg)}.footer-copy{font-family:var(--font-mono);font-size:.55rem;font-weight:400;letter-spacing:.15em;color:var(--darkroom-red)}.footer-motto{font-family:var(--font-display);font-style:italic;font-weight:400;font-size:.75rem;color:var(--fg-faint);letter-spacing:.05em}.lightbox{position:fixed;inset:0;z-index:2000;background:rgba(0,0,0,.98);display:none;align-items:center;justify-content:center;flex-direction:column;opacity:0;transition:opacity .4s var(--ease)}.lightbox.active{display:flex;opacity:1}.lightbox-close,.lightbox-next,.lightbox-prev{position:absolute;z-index:10;background:transparent;border:none;color:var(--fg-faint);cursor:pointer;transition:color .3s ease,transform .3s var(--ease);padding:1rem}.lightbox-close svg,.lightbox-next svg,.lightbox-prev svg{width:24px;height:24px;stroke:currentColor;stroke-width:1.5;fill:none}.lightbox-close:hover,.lightbox-next:hover,.lightbox-prev:hover{color:var(--fg)}.lightbox-close{top:1.5rem;right:1.5rem}.lightbox-close:hover{transform:rotate(90deg)}.lightbox-prev{left:2rem;top:50%;transform:translateY(-50%)}.lightbox-prev:hover{transform:translateY(-50%) translateX(-4px)}.lightbox-next{right:2rem;top:50%;transform:translateY(-50%)}.lightbox-next:hover{transform:translateY(-50%) translateX(4px)}.lightbox-content{position:relative;width:100%;height:100%;max-width:1536px;max-height:85vh;padding:4rem 5rem}.lightbox-content img{width:100%;height:100%;object-fit:contain;transition:opacity .3s ease;border:3px solid rgba(30,30,30,.9);box-shadow:0 0 30px rgba(0,0,0,.5)}.lightbox-content:after,.lightbox-content:before{opacity:0;transition:opacity .8s var(--ease) .3s}.lightbox.active .lightbox-content:after,.lightbox.active .lightbox-content:before{opacity:1}.lightbox-caption{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);text-align:center;white-space:nowrap;opacity:0;transition:opacity .8s var(--ease)}.lightbox-caption.is-active{opacity:1}.lightbox-title{font-family:var(--font-display);font-style:italic;font-weight:400;font-size:1.1rem;color:var(--fg)}.lightbox-location{font-family:var(--font-body);font-size:.55rem;font-weight:400;text-transform:uppercase;letter-spacing:.3em;color:var(--fg-faint);margin-top:.3rem}.lightbox-counter{position:absolute;top:2rem;left:2rem;font-family:var(--font-mono);font-size:.7rem;font-weight:300;letter-spacing:.1em;color:var(--fg-faint)}#lightboxCurrent{color:var(--darkroom-red)}.reveal{opacity:0;transform:translateY(40px);transition:opacity .8s var(--ease),transform .8s var(--ease)}.reveal.is-visible{opacity:1;transform:translateY(0)}.reveal-stagger>*{opacity:0;transform:translateY(25px);transition:opacity .8s var(--ease),transform .8s var(--ease)}.reveal-stagger.is-visible>*{opacity:1;transform:translateY(0)}.reveal-stagger.is-visible>:first-child{transition-delay:0s}.reveal-stagger.is-visible>:nth-child(2){transition-delay:.1s}.reveal-stagger.is-visible>:nth-child(3){transition-delay:.15s}.reveal-stagger.is-visible>:nth-child(4){transition-delay:.2s}.shutter-bar{position:absolute;left:0;right:0;height:20%;background:var(--bg);z-index:10;transform:scaleY(1);transform-origin:center;will-change:transform}.shutter-bar:first-child{top:0;transform-origin:top}.shutter-bar:nth-child(2){top:20%;transform-origin:top}.shutter-bar:nth-child(3){top:40%}.shutter-bar:nth-child(4){top:60%;transform-origin:bottom}.shutter-bar:nth-child(5){top:80%;transform-origin:bottom}.shutter-bar.is-open{animation:shutterOpen .5s var(--ease-develop) forwards}.shutter-bar:after{content:"";position:absolute;inset:0;background:var(--darkroom-red);opacity:0;pointer-events:none}.shutter-bar.is-open:after{animation:redSweep .5s ease forwards}@keyframes redSweep{0%{opacity:0}30%{opacity:.15}to{opacity:0}}.shutter-bar:first-child.is-open{animation-delay:.05s}.shutter-bar:nth-child(2).is-open{animation-delay:.12s}.shutter-bar:nth-child(3).is-open{animation-delay:0s}.shutter-bar:nth-child(4).is-open{animation-delay:.12s}.shutter-bar:nth-child(5).is-open{animation-delay:.05s}@keyframes shutterOpen{0%{transform:scaleY(1)}to{transform:scaleY(0)}}.frame-num{display:block;font-family:var(--font-mono);font-size:.55rem;font-weight:400;letter-spacing:.2em;color:var(--darkroom-red);margin-bottom:1.5rem;opacity:0;animation:heroFadeIn 1s var(--ease) 1.2s forwards;text-shadow:0 0 15px rgba(196,30,30,.4)}.page-vignette{position:fixed;inset:0;z-index:8999;pointer-events:none;background:radial-gradient(ellipse at center,transparent 50%,rgba(0,0,0,.3) 80%,rgba(0,0,0,.6) 100%)}.lightbox-content:after,.lightbox-content:before{content:"";position:absolute;top:0;bottom:0;width:28px;z-index:5;background:repeating-linear-gradient(180deg,transparent 0,transparent 8px,rgba(255,255,255,.04) 0,rgba(255,255,255,.04) 20px,transparent 0,transparent 28px);pointer-events:none}.lightbox-content:before{left:0}.lightbox-content:after{right:0}.word-reveal .word{display:inline-block;opacity:0;transform:translateY(8px);transition:opacity 1.2s var(--ease-develop),transform 1.2s var(--ease-develop)}.word-reveal.is-revealed .word{opacity:1;transform:translateY(0)}.chemical-divider{width:100%;height:2px;margin:0 auto;background:linear-gradient(90deg,transparent 0,var(--darkroom-red) 20%,var(--darkroom-red) 50%,rgba(196,30,30,.3) 80%,transparent 100%);opacity:.4;position:relative;box-shadow:0 0 20px rgba(196,30,30,.15),0 0 60px rgba(196,30,30,.06)}.chemical-divider:after{content:"";position:absolute;left:50%;bottom:-8px;width:1px;height:8px;background:linear-gradient(to bottom,var(--darkroom-red),transparent);opacity:.6}.film-scratch{position:fixed;top:0;bottom:0;width:1px;background:linear-gradient(180deg,transparent 0,rgba(255,255,255,.02) 20%,rgba(255,255,255,.05) 50%,rgba(255,255,255,.02) 80%,transparent);z-index:9001;pointer-events:none;animation:filmScratchDrift 30s linear infinite;opacity:.4}@keyframes filmScratchDrift{0%{left:20%}20%{left:55%}40%{left:30%}60%{left:80%}80%{left:40%}to{left:20%}}.page-vignette:before{top:1.2rem;left:1.2rem;border-top:1px solid rgba(196,30,30,.2);border-left:1px solid rgba(196,30,30,.2)}.page-vignette:after,.page-vignette:before{content:"";position:absolute;width:18px;height:18px;z-index:1}.page-vignette:after{bottom:1.2rem;right:1.2rem;border-bottom:1px solid rgba(196,30,30,.2);border-right:1px solid rgba(196,30,30,.2)}.hero-rule{display:block;width:0;height:1px;background:var(--darkroom-red);margin-top:2.5rem;opacity:0;animation:heroRuleReveal 1.4s var(--ease) .9s forwards}@keyframes heroRuleReveal{0%{opacity:0;width:0}to{opacity:.6;width:clamp(50px,8vw,100px)}}.bento-overlay:after,.bento-overlay:before{content:"";position:absolute;width:20px;height:20px;opacity:0;transition:opacity .5s var(--ease),transform .5s var(--ease)}.bento-overlay:before{top:1rem;left:1rem;border-top:1px solid rgba(255,255,255,.5);border-left:1px solid rgba(255,255,255,.5);transform:translate(-4px,-4px)}.bento-overlay:after{bottom:1rem;right:1rem;border-bottom:1px solid rgba(255,255,255,.5);border-right:1px solid rgba(255,255,255,.5);transform:translate(4px,4px)}.bento-item:hover .bento-overlay:after,.bento-item:hover .bento-overlay:before{opacity:.7;transform:translate(0)}.bento-item:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--darkroom-red);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease);z-index:3}.bento-item:hover:after{transform:scaleX(1)}.bento-item.is-visible{opacity:1;transform:scale(1)}.about-quote:before{content:"\201C";position:absolute;top:-1.5rem;left:2rem;font-family:var(--font-display);font-size:clamp(5rem,10vw,8rem);line-height:1;color:var(--darkroom-red);opacity:.1;pointer-events:none}.about-image:before{content:"";inset:0;border:1px solid rgba(255,255,255,.05)}.about-image:after,.about-image:before{position:absolute;z-index:2;pointer-events:none}.about-image:after{content:"TRI-X 400  \00a0\00a0  KODAK";bottom:10px;right:14px;font-family:var(--font-mono);font-size:.4rem;font-weight:400;letter-spacing:.25em;color:rgba(255,255,255,.1);text-transform:uppercase}.film-item{transition:box-shadow .4s var(--ease)}.film-item:hover{box-shadow:inset 0 -3px 0 0 var(--darkroom-red)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.bento-item,.frame-num,.hero-eyebrow,.hero-line,.hero-location,.hero-rule,.hero-scroll,.reveal,.reveal-stagger>*,.word-reveal .word{opacity:1!important;transform:none!important}.shutter-bar{transform:scaleY(0)!important}.film-scratch{display:none!important}}@media (hover:none){.nav-logo:hover{opacity:1}.menu-link:hover{color:var(--fg)}.menu-footer a:hover{color:var(--fg-muted)}.film-item:hover img{transform:none;filter:grayscale(30%)}.film-item-info,.film-item:hover .film-item-info{transform:translateY(0)}.bento-item:hover img{transform:none;filter:brightness(.85)}.bento-item:hover .bento-overlay,.bento-overlay{opacity:1}.bento-item:hover .bento-overlay-location,.bento-item:hover .bento-overlay-title,.bento-overlay-location,.bento-overlay-title{transform:translateY(0)}.about-link:hover{color:var(--fg-muted)}.about-link:hover:after{transform:scaleX(0)}.contact-email:hover{color:var(--fg)}.contact-email:hover:after{transform:scaleX(0)}.form-submit:hover{background:transparent;letter-spacing:.3em}.form-submit:hover svg{transform:none}.footer-links a:hover,.lightbox-close:hover,.lightbox-next:hover,.lightbox-prev:hover{color:var(--fg-faint)}.lightbox-close:hover{transform:none}.lightbox-next:hover,.lightbox-prev:hover{transform:translateY(-50%)}.bento-item:hover:after{transform:scaleX(0)}.bento-overlay:after,.bento-overlay:before{display:none}.film-item:hover{box-shadow:none}}.bento-item:active,.film-item:active{transform:scale(.98);transition:transform .1s ease}.form-submit:active{background:var(--darkroom-red);border-color:var(--darkroom-red);transition:background .1s ease,border-color .1s ease}.lightbox-close:active,.lightbox-next:active,.lightbox-prev:active{transform:scale(.9);transition:transform .1s ease}.lightbox-next:active,.lightbox-prev:active{transform:translateY(-50%) scale(.9)}.nav-logo:active,.nav-toggle:active{opacity:.5;transition:opacity .1s ease}@media (max-width:767px){#menuOverlay{padding:4rem 6vw}.menu-footer{gap:1.5rem}.hero-location{margin-top:2rem}.hero-scroll{bottom:4vh;right:4vw}.hero-line-indent{margin-left:clamp(1.5rem,8vw,3rem)}.bento-grid{grid-auto-rows:220px}.about-image{height:50vh}.about-container{gap:3rem}.contact-form,.form-row{gap:1.5rem}.form-group input,.form-group textarea{min-height:44px}.lightbox-content{padding:1rem .5rem}.lightbox-content img{border-width:1px}.lightbox-content:after,.lightbox-content:before{width:16px}.lightbox-prev{left:.25rem}.lightbox-next{right:.25rem}.lightbox-close,.lightbox-next,.lightbox-prev{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}.footer-container{flex-direction:column;align-items:center;text-align:center}}