@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Outfit:wght@300;400;500&display=swap";html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-behavior:allow-discrete;transition-property:overflow;transition-duration:1ms}:root{--bg:#000;--text:#f2f2f0;--muted:#9a9a96;--accent:#c4a574;--serif:"Cormorant Garamond", Georgia, serif;--sans:"Outfit", system-ui, sans-serif}*,:before,:after{box-sizing:border-box}html{scroll-behavior:auto}body{background:var(--bg);color:var(--text);font-family:var(--sans);margin:0;font-weight:300;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit;color:inherit}.app{background:#000}.topnav{z-index:50;pointer-events:none;justify-content:space-between;align-items:center;padding:1.1rem 1.75rem;display:flex;position:fixed;inset:0 0 auto}.topnav a,.topnav button{pointer-events:auto}.nav-brand{font-family:var(--serif);letter-spacing:.04em;font-size:1.05rem}.topnav nav{align-items:center;gap:1.25rem;display:flex}.topnav nav a{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:.8rem}.nav-link{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:.8rem}.nav-link:hover{color:#fff}.nav-cv{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);border:1px solid #0000;padding:.45rem .75rem;font-size:.72rem;transition:color .2s}.nav-cv:hover{color:#fff}.nav-contact{letter-spacing:.14em;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid #ffffff59;padding:.45rem .9rem;font-size:.72rem}.nav-contact:hover{border-color:#fff}.hero{z-index:4;text-align:center;background:radial-gradient(60% 40% at 50% 40%,#28241e8c,#0000 70%),#000;place-items:center;min-height:100vh;padding:4rem 1.5rem;display:grid;position:relative}.hero h1{font-family:var(--serif);letter-spacing:.06em;text-transform:uppercase;color:#f2f2f0;margin:0;font-size:clamp(3rem,9vw,6.5rem);font-weight:400}.hero-bio{color:#c8c8c4;letter-spacing:.06em;max-width:28rem;margin:1.5rem auto 0;font-size:.9rem;line-height:1.5}.scroll-cue{letter-spacing:.35em;text-transform:uppercase;color:#666;font-size:.65rem;position:absolute;bottom:2rem;left:50%;transform:translate(-50%)}.about{background:linear-gradient(#000 0%,#0a0a0a 50%,#000 100%);place-items:center;min-height:100vh;padding:6rem 1.5rem;display:grid}.about-inner{max-width:40rem}.about h2{font-family:var(--serif);margin:0 0 2rem;font-size:clamp(2.4rem,5vw,3.5rem);font-weight:400}.about p{color:#c8c8c4;margin:0 0 1.35rem;font-size:1.05rem;line-height:1.75}.category-pin{z-index:3;height:420vh;position:relative}.category-sticky{background:0 0;height:100vh;position:sticky;top:0;overflow:hidden}.category-copy{z-index:8;pointer-events:none;max-width:min(42vw,28rem);position:absolute;top:4.5rem;left:1.75rem}.category-copy h2{font-family:var(--serif);margin:0;font-size:clamp(2rem,5vw,3.4rem);font-weight:400;line-height:1.05}.tagline{letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin:.4rem 0 0;font-size:.75rem}.category-canvas{z-index:3;pointer-events:none;background:radial-gradient(55% 70% at 50% 55%,#1c18148c 0%,#0000 70%);place-items:center;transition:opacity 50ms linear;display:grid;position:absolute;inset:0}.sequence-rig{pointer-events:none;backface-visibility:hidden;place-items:end center;width:min(52vw,560px);height:min(82vh,860px);display:grid;position:relative}.sequence-frame{object-fit:contain;object-position:center bottom;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;filter:drop-shadow(0 28px 60px #000000a6);backface-visibility:hidden;width:100%;height:100%}@media (width<=720px){.sequence-rig{width:min(78vw,420px);height:min(70vh,640px)}}.sequence-frame-a,.sequence-frame-b{grid-area:1/1}.sequence-loading,.sequence-pending{color:#888;letter-spacing:.06em;text-align:center;padding:1rem;font-size:.85rem}.seq-progress-track{background:#222;width:10rem;height:2px;margin:.75rem auto 0;overflow:hidden}.seq-progress-bar.indeterminate{background:#c4a574;width:40%;height:100%;animation:1.1s ease-in-out infinite seq-indeterminate}@keyframes seq-indeterminate{0%{transform:translate(-120%)}to{transform:translate(320%)}}.shared-scene{z-index:2;pointer-events:none;position:fixed;inset:0}.shared-scene canvas{width:100%!important;height:100%!important}.shared-scene-fallback{color:#888;background:#050505;place-items:center;display:grid;position:absolute;inset:0}.device-controls{z-index:35;pointer-events:auto;text-align:center;position:fixed;bottom:1.75rem;left:50%;transform:translate(-50%)}.device-meta-overlay{background:#00000073;margin-top:0;padding:.5rem 1rem}.device-screen{transform-origin:50%;will-change:transform, opacity;touch-action:pan-y;cursor:grab;pointer-events:auto;flex-direction:column;align-items:center;display:flex}.device-centered{pointer-events:auto}.device-centered .device-bezel{max-height:min(68vh,720px)}.device-centered.device-phone .device-bezel{width:min(48vw,480px);max-height:min(90vh,860px)}.device-centered.device-cinema .device-bezel,.device-centered.device-tv .device-bezel,.device-centered.device-monitor .device-bezel{width:min(68vw,880px)}.device-centered.device-macbook .device-bezel{width:min(62vw,780px)}.device-centered.device-ipad .device-bezel{width:min(42vw,460px)}.device-bezel.is-loading .device-video{opacity:0}.device-bezel.is-ready .device-video{opacity:1;transition:opacity .25s}.device-meta{transition:opacity .2s}.chapter-gate{text-align:center;scroll-snap-align:start;background:#000;border-top:1px solid #1a1a1a;place-content:center;min-height:100vh;padding:2rem 1.5rem;display:grid}.chapter-gate-index{letter-spacing:.28em;text-transform:uppercase;color:#666;margin:0;font-size:.7rem}.chapter-gate-title{font-family:var(--serif);margin:.75rem 0 0;font-size:clamp(2.8rem,8vw,5rem);font-weight:400}.chapter-gate-tag{letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin:.75rem 0 0;font-size:.75rem}.category-pin{scroll-snap-align:start}.device-bezel{background:#0d0d0d;border:1px solid #2a2a2a;overflow:hidden;box-shadow:0 20px 60px #000000a6}.device-cinema .device-bezel,.device-tv .device-bezel,.device-monitor .device-bezel{aspect-ratio:16/9;border-radius:4px;width:min(52vw,720px);padding:8px}.device-macbook .device-bezel{aspect-ratio:16/10;background:linear-gradient(#3a3a3a,#1a1a1a);border-radius:10px 10px 4px 4px;width:min(48vw,640px);padding:10px 10px 28px}.device-ipad .device-bezel{aspect-ratio:3/4;border-radius:18px;width:min(36vw,420px);padding:12px}.device-phone .device-bezel{aspect-ratio:9/16;border:2px solid #333;border-radius:28px;width:min(48vw,480px);padding:10px}.device-orient{transform-origin:50%;transform-style:preserve-3d}.device-screen.is-portrait-video .device-orient,.device-screen.is-landscape-video .device-orient{transform:rotate(0)}.device-screen.is-portrait-video .device-bezel{aspect-ratio:9/16!important;width:min(48vw,480px)!important;height:auto!important;max-height:min(90vh,860px)!important}.device-screen.is-portrait-video.device-ipad .device-bezel{border-radius:22px;width:min(48vw,480px)!important}.device-screen.is-landscape-video .device-bezel{aspect-ratio:16/9!important;width:min(68vw,880px)!important;height:auto!important;max-height:min(68vh,720px)!important}.device-screen.is-landscape-video.device-ipad .device-bezel{border-radius:14px}.device-screen.anim-portrait.device-phone .device-orient{animation:.55s cubic-bezier(.34,1.1,.64,1) forwards device-portrait-settle}@keyframes device-portrait-settle{0%{transform:scale(.92)}to{transform:scale(1)}}.device-screen.anim-portrait:not(.device-phone) .device-orient{animation:.72s cubic-bezier(.34,1.18,.64,1) forwards device-to-portrait}.device-screen.anim-landscape-spin .device-orient{animation:.95s cubic-bezier(.22,1.28,.36,1) forwards device-landscape-spin}@keyframes device-to-portrait{0%{transform:rotate(90deg)scale(.9)}to{transform:rotate(0)scale(1)}}@keyframes device-landscape-spin{0%{transform:rotateY(0)scale(1)}55%{transform:rotateY(392deg)scale(1.05)}to{transform:rotateY(360deg)scale(1)}}.device-video{object-fit:cover;border-radius:inherit;background:#111;width:100%;height:100%;display:block}.device-meta{text-align:center;color:var(--muted);margin-top:.75rem;font-size:.75rem}.swipe-dots{justify-content:center;gap:.4rem;margin-top:.55rem;display:flex}.swipe-dots button{cursor:pointer;background:0 0;border:1px solid #666;border-radius:50%;width:7px;height:7px;padding:0}.swipe-dots button.active{background:var(--accent);border-color:var(--accent)}.swipe-hint{letter-spacing:.12em;text-transform:uppercase;opacity:.55;margin:.4rem 0 0;font-size:.65rem}.thankyou{z-index:4;text-align:center;background:radial-gradient(50% 35% at 50% 35%,#50371e59,#0000 65%),#000;place-content:center;min-height:100vh;padding:4rem 1.5rem;display:grid;position:relative}.thankyou-script{font-family:var(--serif);opacity:0;margin:0;font-size:clamp(3.5rem,10vw,7rem);font-style:italic;font-weight:400;transition:opacity 1.4s,transform 1.4s;transform:translateY(12px)}.thankyou-script.write{opacity:1;transform:none}.thankyou-name{letter-spacing:.35em;text-transform:uppercase;color:var(--muted);margin:1.25rem 0 0;font-size:.75rem}.site-footer{z-index:4;text-align:center;color:#555;background:#000;padding:3rem 1.5rem 4rem;font-size:.8rem;position:relative}.category-canvas-placeholder{background:#000}.page-overlay{z-index:80;background:#000;animation:.35s pageIn;position:fixed;inset:0;overflow-y:auto}@keyframes pageIn{0%{opacity:0}to{opacity:1}}.page-close{z-index:81;color:#aaa;cursor:pointer;background:0 0;border:none;font-size:2rem;line-height:1;position:fixed;top:1rem;right:1.25rem}.page-close:hover{color:#fff}.page-overlay-inner{max-width:40rem;margin:0 auto;padding:6rem 1.5rem 4rem}.page-overlay-inner h2{font-family:var(--serif);margin:0 0 2rem;font-size:clamp(2.4rem,5vw,3.5rem);font-weight:400}.about-page p{color:#c8c8c4;margin:0 0 1.35rem;font-size:1.05rem;line-height:1.75}.page-lead{color:var(--muted);margin:-1rem 0 1.75rem}.contact-form label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:.85rem;font-size:.75rem;display:block}.contact-form input,.contact-form textarea{background:#0a0a0a;border:1px solid #333;width:100%;margin-top:.35rem;padding:.65rem .75rem;display:block}.footer-link{color:var(--muted);cursor:pointer;background:0 0;border:none;margin-top:.5rem;padding:0;display:inline-block}.footer-link:hover{color:#fff}.modal-backdrop{z-index:100;background:#000000bf;place-items:center;padding:1.25rem;display:grid;position:fixed;inset:0}.modal{background:#111;border:1px solid #2a2a2a;width:min(420px,100%);padding:2rem 1.5rem 1.5rem;position:relative}.modal h2{font-family:var(--serif);margin:0 0 .35rem;font-size:2rem;font-weight:400}.modal-note{color:var(--muted);margin:0 0 1.25rem;font-size:.85rem}.modal-close{cursor:pointer;color:#888;background:0 0;border:none;font-size:1.5rem;position:absolute;top:.6rem;right:.85rem}.modal label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:.85rem;font-size:.75rem;display:block}.modal input,.modal textarea{background:#0a0a0a;border:1px solid #333;width:100%;margin-top:.35rem;padding:.65rem .75rem;display:block}.btn-primary{color:#000;cursor:pointer;letter-spacing:.1em;text-transform:uppercase;background:#f2f2f0;border:none;width:100%;margin-top:.5rem;padding:.85rem;font-size:.75rem}.form-status{color:var(--accent);margin:.85rem 0 0;font-size:.85rem}.form-status-ok{color:#9dcea0}.form-status-err{color:#e8a0a0}@media (width<=800px){.device-cinema .device-bezel,.device-tv .device-bezel,.device-monitor .device-bezel,.device-macbook .device-bezel{width:min(88vw,520px)}.device-phone .device-bezel,.device-screen.is-portrait-video .device-bezel{width:min(80vw,400px);max-height:min(88vh,1240px)}.device-screen.is-landscape-video .device-bezel{width:min(88vw,520px);max-height:none}.device-ipad .device-bezel{width:min(48vw,280px)}.category-copy{top:4rem;left:1rem}}html,body,#root{background:#000;min-height:100%;margin:0}
