*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%;overflow:hidden}body{color:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#000;font-family:Inter,sans-serif}canvas{width:100%;height:100%;display:block;position:fixed;top:0;left:0}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit;font:inherit;background:0 0;border:none}:root{--font-display:"Bebas Neue", sans-serif;--font-mono:"DM Mono", monospace;--color-bg:#000;--color-text:#f0ece4;--color-accent:#e07a5f;--color-muted:#f0ece459}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-display), sans-serif;-webkit-font-smoothing:antialiased}#landing-page{width:100vw;height:100vh;position:relative;overflow:hidden}#three-renderer{z-index:0;position:fixed;inset:0}#title-panel{z-index:10;flex-direction:column;gap:.5rem;display:flex;position:fixed;bottom:10vh;left:6vw}#title-panel .label{font-family:var(--font-mono), monospace;letter-spacing:.15em;color:var(--color-accent);text-transform:lowercase;font-size:.7rem}#title-panel h1{color:var(--color-text);mix-blend-mode:exclusion;font-size:5rem;font-weight:800;line-height:.8}#title-panel h2{font-family:var(--font-mono), monospace;color:var(--color-muted);letter-spacing:.05em;margin-top:.75rem;font-size:clamp(.75rem,1.2vw,1rem);font-style:italic;font-weight:400}#title-panel h3{font-family:var(--font-mono), monospace;color:var(--color-muted);letter-spacing:.05em;margin-top:.5rem;font-size:clamp(.65rem,1vw,.9rem);font-style:italic;font-weight:400}#title-panel .hint{font-family:var(--font-mono), monospace;color:var(--color-muted);letter-spacing:.1em;margin-top:1.5rem;font-size:.65rem}#title-panel a:hover{color:var(--color-accent);animation:2s ease-in-out infinite pulse-line}#scroll-indicator{z-index:10;flex-direction:column;align-items:center;gap:.75rem;display:flex;position:fixed;bottom:10vh;right:5vw}#scroll-indicator span{font-family:var(--font-mono), monospace;letter-spacing:.2em;color:var(--color-muted);writing-mode:vertical-rl;text-orientation:mixed;font-size:.6rem}#scroll-indicator .line{background:linear-gradient(to bottom, var(--color-accent), transparent);width:1px;height:60px;animation:2s ease-in-out infinite pulse-line}@keyframes pulse-line{0%,to{color:var(--color-accent)}50%{color:var(--color-text)}}#menu-btn{z-index:100;cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:8px;display:flex;position:fixed;top:24px;right:24px}#menu-btn span{background:#fff;width:24px;height:1px;transition:opacity .2s;display:block}#menu-btn:hover span{opacity:.6}#gallery-overlay{z-index:99;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);opacity:0;pointer-events:none;background:#000000d9;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:fixed;inset:0}#gallery-overlay.open{opacity:1;pointer-events:all}#gallery-grid{grid-template-columns:repeat(3,180px);gap:24px;display:grid}.gallery-thumb{cursor:pointer;border:1px solid #ffffff1a;border-radius:8px;transition:border-color .2s,transform .2s;overflow:hidden}.gallery-thumb:hover{border-color:#fff6;transform:scale(1.03)}.gallery-thumb canvas,.gallery-thumb img{aspect-ratio:1;object-fit:cover;width:100%;display:block}.gallery-thumb p{color:#ffffff80;margin:0;padding:8px 10px;font-family:DM Mono,monospace;font-size:11px}
