@import "https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;1,400;1,500&family=Noto+Serif+JP:wght@300;400&family=Montserrat:wght@200;300;400;500&display=swap";:root{--bg:#070503;--cream:#f0e6d2;--sepia:#c9a870;--amber:#d4900a;--rust:#9b4a0f;--dimtext:#f0e6d26b;--serif:"Playfair Display", "Georgia", serif;--jp:"Noto Serif JP", serif;--mono:"Courier New", monospace;--sans:"Montserrat", sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--cream);font-family:var(--serif);overflow-x:hidden}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:#2a1a08;border-radius:3px}.grain-overlay{pointer-events:none;z-index:9999;opacity:.55;mix-blend-mode:overlay;will-change:transform;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E");background-size:180px 180px;animation:.1s step-end infinite grain;position:fixed;inset:0}@keyframes grain{0%{background-position:0 0}25%{background-position:-30px 15px}50%{background-position:20px -25px}75%{background-position:-15px 35px}}.progress-bar{background:var(--sepia);z-index:10000;height:2px;transition:width .2s ease-out;position:fixed;top:0;left:0}.scanline{pointer-events:none;z-index:9998;background:#d2a5500a;width:100%;height:3px;animation:12s linear infinite scan;position:fixed;top:0;left:0;box-shadow:0 0 8px #d2a5501a}@keyframes scan{0%{top:-3px}to{top:100%}}#intro{z-index:8000;background:#000;flex-direction:column;justify-content:center;align-items:center;gap:18px;display:flex;position:fixed;inset:0}.intro-rec{font-family:var(--mono);letter-spacing:.35em;color:#d33;font-size:.9rem;animation:1s step-end infinite recBlink}@keyframes recBlink{50%{opacity:0}}.intro-label{font-family:var(--mono);letter-spacing:.28em;color:var(--sepia);opacity:.8;font-size:.72rem}.intro-date{font-family:var(--mono);letter-spacing:.15em;color:#444;margin-top:6px;font-size:.6rem}.reel-divider{background:#000;align-items:center;width:100%;height:34px;display:flex;overflow:hidden}.reel-track{width:200%;animation:3.5s linear infinite reelRoll;display:flex}@keyframes reelRoll{to{transform:translate(-50%)}}.reel-hole{flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.reel-hole:before{content:"";background:#111;border:2px solid #1c1c1c;border-radius:3px;width:13px;height:13px}.scene-hero{background:radial-gradient(80% 60% at 50% 70%,#1c0d04 0%,#000 100%);justify-content:center;align-items:center;width:100%;height:100vh;display:flex;position:relative;overflow:hidden}.hero-lines{pointer-events:none;background:repeating-linear-gradient(0deg,#0000 0 3px,#ffffff02 3px 4px);position:absolute;inset:0}.hero-content{z-index:10;text-align:center;flex-direction:column;align-items:center;gap:1.6rem;max-width:820px;padding:0 28px;display:flex;position:relative}.hero-rec{font-family:var(--mono);letter-spacing:.38em;color:#d33;font-size:.78rem}.hero-title{letter-spacing:-.025em;color:var(--cream);font-size:clamp(3.2rem,9vw,8.5rem);font-weight:400;line-height:1.05}.hero-title em{color:var(--sepia);font-style:italic;display:block}.hero-sub{font-family:var(--sans);letter-spacing:.22em;color:var(--dimtext);font-size:.9rem;font-weight:300}.hero-scroll{color:var(--sepia);opacity:.45;margin-top:2.5rem;font-size:1.3rem}.scene-opening-quote{text-align:center;background:linear-gradient(180deg, var(--bg) 0%, #100804 100%);flex-direction:column;justify-content:center;align-items:center;gap:2.5rem;min-height:60vh;padding:8vh 10vw;display:flex}.oq-line1{font-family:var(--sans);letter-spacing:.08em;color:var(--dimtext);font-size:clamp(1rem,2.5vw,1.5rem);font-weight:300}.oq-highlight{font-family:var(--serif);color:var(--cream);font-size:clamp(1.6rem,4vw,3rem);font-style:italic;line-height:1.5}.oq-highlight span{color:#f0c87a;background:#9b4a0f66;border-radius:2px;padding:0 8px}.oq-attr{font-family:var(--mono);letter-spacing:.3em;color:var(--sepia);opacity:.5;font-size:.7rem}.scene-typewriter{text-align:center;background:#080603;flex-direction:column;justify-content:center;align-items:center;gap:2rem;min-height:50vh;padding:8vh 10vw;display:flex}.tw-quote{font-family:var(--serif);max-width:700px;color:var(--cream);opacity:.9;font-size:clamp(1.2rem,2.8vw,2.2rem);font-style:italic;line-height:1.9}.tw-cursor{color:var(--sepia);animation:1s step-end infinite blink}@keyframes blink{50%{opacity:0}}.tw-attr{font-family:var(--mono);letter-spacing:.32em;color:var(--sepia);opacity:.5;font-size:.72rem}.scene-flashback{background:#000;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.flashback-sky{opacity:.85;background:linear-gradient(#050301 0%,#180c03 20%,#8b3a05 45%,#e07818 55%,#c85c10 65%,#5a1e04 80%,#050301 100%);position:absolute;inset:0}.flashback-canvas{z-index:2;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.flashback-canvas img{object-fit:cover;filter:sepia(.3)contrast(1.2)brightness(.65);width:100%;height:100%}.flashback-canvas:after{content:"";background:radial-gradient(#0000001a 0%,#000000b8 100%);position:absolute;inset:0}.flashback-white{z-index:4;pointer-events:none;background:#fff;position:absolute;inset:0}.flashback-content{z-index:5;text-align:center;flex-direction:column;align-items:center;gap:1.5rem;max-width:700px;padding:4rem 2rem;display:flex;position:relative}.flashback-trigger-btn{cursor:pointer;color:inherit;background:0 0;border:none;flex-direction:column;align-items:center;gap:1.2rem;font-family:inherit;display:flex}.flashback-label{font-family:var(--mono);letter-spacing:.45em;color:var(--sepia);opacity:.55;text-transform:uppercase;font-size:.72rem}.flashback-main-text{font-family:var(--serif);color:var(--cream);opacity:.92;font-size:clamp(1.8rem,4vw,3.5rem);font-style:italic;line-height:1.35}.flashback-sub-text{font-family:var(--sans);letter-spacing:.06em;color:var(--dimtext);max-width:520px;font-size:.9rem;font-weight:300;line-height:1.9}.handshake-cta{font-family:var(--mono);letter-spacing:.3em;color:var(--sepia);cursor:pointer;text-transform:uppercase;background:#c9a8700f;border:1px solid #c9a87059;border-radius:2px;align-items:center;gap:12px;margin-top:1rem;padding:14px 32px;font-size:.7rem;transition:all .4s;display:flex}.handshake-cta:hover{letter-spacing:.4em;background:#c9a87026;border-color:#c9a87099}.handshake-icon{font-size:1.4rem}.post-flash-text{font-family:var(--serif);color:var(--cream);text-align:center;opacity:.9;max-width:600px;font-size:clamp(1.4rem,3vw,2.4rem);font-style:italic;line-height:1.7}.flash-progress-bar{background:#c9a87033;border-radius:2px;width:200px;height:2px;overflow:hidden}.flash-progress-fill{background:linear-gradient(90deg, var(--sepia), #e8b060);border-radius:2px;height:100%;box-shadow:0 0 8px #c9a87080}.scene-pinwall{content-visibility:auto;contain-intrinsic-size:0 8000px;background:radial-gradient(120% 80% at 50% 40%,#140c04 0%,#0b0806 100%);flex-direction:column;align-items:center;gap:0;padding:7vh 3vw 9vh;display:flex}.pinwall-header{text-align:center;flex-direction:column;align-items:center;gap:.7rem;padding-bottom:5vh;display:flex}.hanging-title{font-family:var(--serif);color:var(--sepia);font-size:clamp(2rem,4.5vw,3.5rem);font-style:italic}.hanging-sub{font-family:var(--mono);letter-spacing:.22em;color:var(--dimtext);font-size:.72rem}.pinwall-grid{grid-template-columns:repeat(2,1fr);align-items:start;gap:2.5rem 2rem;width:100%;max-width:1400px;padding:0 1rem;display:grid}@media (width>=540px){.pinwall-grid{grid-template-columns:repeat(3,1fr)}}@media (width>=800px){.pinwall-grid{grid-template-columns:repeat(4,1fr);gap:3rem 2.2rem}}@media (width>=1100px){.pinwall-grid{grid-template-columns:repeat(5,1fr)}}@media (width>=1400px){.pinwall-grid{grid-template-columns:repeat(6,1fr)}}.pin-card-wrap{flex-direction:column;align-items:center;display:flex;position:relative}.pin-head{z-index:2;border-radius:50%;flex-shrink:0;width:16px;height:16px;margin-bottom:-8px;position:relative;box-shadow:0 2px 6px #000000a6,0 0 0 1.5px #0003,inset 0 1px 3px #fff3}.pin-shine{background:#ffffff80;border-radius:50%;width:5px;height:5px;position:absolute;top:3px;left:4px}.pin-card{background-color:#f0e4c8;background-image:linear-gradient(135deg,#ffffff12 0%,#0000 50%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='80' height='80' filter='url(%23n)' opacity='0.025'/%3E%3C/svg%3E");background-position:0 0;background-repeat:repeat;background-size:auto;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;padding:7px 7px 30px;position:relative;overflow:hidden;box-shadow:0 8px 28px #000000a6,0 2px 6px #00000059,inset 0 0 1px #ffffff26}.pin-card img{aspect-ratio:1;object-fit:cover;filter:sepia(.08)contrast(1.04)brightness(.96);width:100%;transition:filter .3s;display:block}.pin-card-wrap:hover .pin-card img{filter:sepia(0)contrast(1.07)brightness(1.02)}.pin-ripple{pointer-events:none;background:#c9a87066;border-radius:50%;width:60px;height:60px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.scene-filmstrip{content-visibility:auto;contain-intrinsic-size:0 500px;background:#070503;flex-direction:column;align-items:center;gap:1.2rem;padding:6vh 0;display:flex;overflow:hidden}.filmstrip-label{font-family:var(--mono);letter-spacing:.42em;color:var(--sepia);opacity:.42;text-transform:uppercase;text-align:center;padding:0 24px;font-size:.68rem}.filmstrip-row{width:100%;overflow:hidden}.filmstrip-inner{gap:0;width:max-content;animation:28s linear infinite filmFwd;display:flex}.filmstrip-inner.rev{animation:34s linear infinite filmRev}@keyframes filmFwd{to{transform:translate(-33.333%)}}@keyframes filmRev{0%{transform:translate(-33.333%)}to{transform:translate(0)}}.film-frame{cursor:zoom-in;border-left:5px solid #000;border-right:5px solid #000;flex-shrink:0;position:relative;overflow:hidden}.film-frame:before,.film-frame:after{content:"";z-index:2;background:repeating-linear-gradient(#000 0 7px,#1a1a1a 7px 13px);width:5px;position:absolute;top:0;bottom:0}.film-frame:before{left:-5px}.film-frame:after{right:-5px}.film-frame img{object-fit:cover;filter:sepia(.28)contrast(1.1)brightness(.78);width:190px;height:140px;transition:all .4s;display:block}.film-frame:hover img{filter:sepia(0)contrast(1.15)brightness(1.05);transform:scale(1.08)}.scene-videos{content-visibility:auto;contain-intrinsic-size:0 900px;background:#050402;flex-direction:column;align-items:center;gap:3rem;padding:8vh 4vw;display:flex}.videos-header{text-align:center;flex-direction:column;gap:.8rem;display:flex}.videos-title{font-family:var(--serif);color:var(--sepia);font-size:clamp(1.8rem,3.5vw,3rem);font-style:italic}.videos-sub{font-family:var(--mono);letter-spacing:.28em;color:var(--dimtext);font-size:.68rem}.videos-grid{grid-template-columns:repeat(3,1fr);align-items:start;gap:1.5rem;width:100%;max-width:1200px;display:grid}@media (width<=900px){.videos-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=580px){.videos-grid{grid-template-columns:1fr;max-width:480px}}.video-card{cursor:pointer;background:#000;border-radius:6px;transition:box-shadow .4s,transform .4s;position:relative;overflow:hidden;box-shadow:0 14px 40px #000000b3}.video-card:hover{transform:translateY(-4px);box-shadow:0 28px 70px #000000e6,0 0 36px #c9a87024}.video-card video{object-fit:contain;background:#000;width:100%;height:100%;display:block}.video-vignette{z-index:2;pointer-events:none;background:radial-gradient(#0000 45%,#000000a6 100%);transition:opacity .4s;position:absolute;inset:0}.video-card:hover .video-vignette{opacity:.45}.video-play-btn{z-index:5;pointer-events:none;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#c9a87029;border:2px solid #c9a87080;border-radius:50%;justify-content:center;align-items:center;width:62px;height:62px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.play-triangle{border-top:11px solid #0000;border-bottom:11px solid #0000;border-left:19px solid #c9a870e0;width:0;height:0;margin-left:5px}.video-label{z-index:4;font-family:var(--mono);letter-spacing:.22em;color:var(--sepia);opacity:0;background:linear-gradient(#0000,#000000e0);padding:2.5rem 1rem 1rem;font-size:.62rem;transition:opacity .4s;position:absolute;bottom:0;left:0;right:0}.video-card:hover .video-label{opacity:1}.scene-ending{background:#000;justify-content:center;align-items:center;min-height:100vh;display:flex}.ending-inner{text-align:center;flex-direction:column;align-items:center;gap:1.5rem;padding:4rem 2rem;display:flex}.heart-pulse{color:var(--sepia);font-size:3.5rem;line-height:1;display:inline-block}.ending-title{font-family:var(--serif);color:var(--cream);font-size:clamp(5rem,12vw,10rem);font-style:italic;font-weight:400;line-height:1}.ending-sub{font-family:var(--mono);letter-spacing:.42em;color:var(--sepia);opacity:.52;text-transform:uppercase;font-size:.73rem}.ending-tape{font-family:var(--mono);color:#2a2a2a;letter-spacing:.22em;margin-top:3rem;font-size:.62rem}.lightbox{z-index:10000;cursor:zoom-out;background:#000000f5;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lightbox-inner{cursor:default;flex-direction:column;align-items:center;gap:0;max-width:88vw;max-height:90vh;display:flex;position:relative}.lightbox-pin{z-index:2;background:radial-gradient(circle at 35% 30%,#e8b060,#7a3e10);border-radius:50%;width:20px;height:20px;margin-bottom:-10px;position:relative;box-shadow:0 2px 8px #000000b3,0 0 12px #c9a8704d}.lightbox-inner img{object-fit:contain;background:#f0e4c8;max-width:100%;max-height:86vh;padding:10px 10px 40px;display:block;box-shadow:0 30px 80px #000000e6,0 0 60px #0009,0 0 120px #c9a87014}.lightbox-close{font-size:1.6rem;font-family:var(--mono);color:var(--sepia);opacity:.65;cursor:pointer;z-index:10000;line-height:1;transition:opacity .2s;position:absolute;top:-8px;right:-36px}.lightbox-close:hover{opacity:1}
