@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;1,300;1,400&family=Cormorant:ital,wght@0,200;0,300;1,200;1,300&display=swap";*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:auto}:root{--bg: #f4f4f4;--ink: #111110;--mid: #888;--thin: rgba(17, 17, 16, .1)}body{background:var(--bg);color:var(--ink);font-family:Cormorant Garamond,serif;cursor:none;overflow-x:hidden}.preloader{position:fixed;inset:0;z-index:10000;background:var(--bg);display:flex;align-items:center;justify-content:center}.preloader-content{display:flex;flex-direction:column;align-items:center;gap:24px}.preloader-logo{font-family:Cormorant,serif;font-size:28px;font-weight:200;letter-spacing:.5em;text-transform:uppercase;color:var(--ink)}.preloader-bar{width:120px;height:1px;background:var(--thin);overflow:hidden;border-radius:1px}.preloader-bar-fill{width:30%;height:100%;background:var(--ink);animation:preloaderSlide 1.2s ease-in-out infinite}@keyframes preloaderSlide{0%{transform:translate(-100%)}50%{transform:translate(250%)}to{transform:translate(-100%)}}#c{position:fixed;z-index:9999;width:9px;height:9px;background:var(--ink);border-radius:50%;pointer-events:none;transform:translate(-50%,-50%);transition:width .3s,height .3s,background .3s,border-radius .3s}#c.expand{width:56px;height:56px;background:transparent;border:1px solid rgba(17,17,16,.3)}nav{position:absolute;top:0;left:0;right:0;z-index:200;padding:38px 56px;display:flex;justify-content:space-between;align-items:center;pointer-events:none}.logo{font-size:13px;letter-spacing:.5em;text-transform:uppercase;font-weight:300;color:#fff;pointer-events:all;text-decoration:none}.hero{height:100vh;display:flex;flex-direction:column;justify-content:flex-end;padding:0 56px 72px;position:relative;border-bottom:1px solid var(--thin);overflow:hidden}.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.55) 0%,rgba(0,0,0,.15) 40%,transparent 100%);z-index:1}.hero-top{position:absolute;top:38px;right:56px;font-size:11px;letter-spacing:.25em;text-transform:uppercase;font-weight:300;color:#ffffff80;z-index:2}.hero-h1{font-family:Cormorant,serif;font-size:clamp(80px,12vw,180px);font-weight:200;line-height:.88;letter-spacing:-.025em;color:#fff;z-index:2}.hero-h1 em{font-style:italic;font-weight:300}.hero-sub{margin-top:40px;font-size:13px;letter-spacing:.2em;text-transform:uppercase;font-weight:300;color:#ffffff80;display:flex;align-items:center;gap:24px;z-index:2}.hero-sub:before{content:"";display:block;width:40px;height:1px;background:#ffffff4d}.scroll-cue{position:absolute;right:56px;bottom:72px;writing-mode:vertical-rl;font-size:10px;letter-spacing:.25em;text-transform:uppercase;font-weight:300;color:#fff6;z-index:2;display:flex;align-items:center;gap:12px}.scroll-cue:after{content:"";display:block;width:1px;height:56px;background:var(--mid);animation:dropLine 1.8s ease-in-out infinite}@keyframes dropLine{0%,to{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}}.transform-stage{position:relative;height:100vh;overflow:hidden;background:var(--bg)}.stage-intro{position:absolute;top:0;left:0;right:0;display:flex;justify-content:center;align-items:center;padding:72px 56px 0;z-index:5;pointer-events:none}.stage-title{font-family:Cormorant,serif;font-size:clamp(26px,3.2vw,44px);font-weight:200;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);text-align:center;display:flex;align-items:center;gap:.4em}.stage-arrow{width:clamp(40px,5vw,80px);height:12px;color:var(--mid);flex-shrink:0}.stage-cards{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;gap:16px;padding:0 56px;z-index:3}.stage-card{position:relative;width:30%;aspect-ratio:2/3;perspective:1400px;cursor:none;will-change:transform}.stage-card .flip-inner{width:100%;height:100%;transform-style:preserve-3d;position:relative}.stage-card .flip-front,.stage-card .flip-back{position:absolute;inset:0;backface-visibility:hidden;overflow:hidden}.stage-card .flip-front{background:#ccc}.stage-card .flip-front img{width:100%;height:100%;object-fit:cover}.stage-card .front-label{position:absolute;bottom:20px;left:20px;font-size:10px;letter-spacing:.2em;text-transform:uppercase;font-weight:300;color:#ffffff80}.stage-card .grain-overlay{position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23g)' opacity='0.07'/%3E%3C/svg%3E");background-size:200px;pointer-events:none;mix-blend-mode:multiply;z-index:1}.stage-card .flip-back{background:#111;transform:rotateY(180deg)}.stage-card .flip-back img{width:100%;height:100%;object-fit:cover}.stage-card .back-label{position:absolute;bottom:20px;right:20px;font-size:10px;letter-spacing:.2em;text-transform:uppercase;font-weight:300;color:#ffffff73;text-align:right}.stage-card .card-num{position:absolute;top:18px;left:20px;font-family:Cormorant,serif;font-size:11px;letter-spacing:.2em;color:#ffffff4d;z-index:4;pointer-events:none}.full-reveal{height:100vh;position:relative;overflow:hidden;margin-bottom:3px}.full-reveal img{width:100%;height:100%;object-fit:cover}.full-reveal-text{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:72px;background:linear-gradient(to top,rgba(0,0,0,.5) 0%,transparent 55%)}.full-reveal-text h2{font-family:Cormorant,serif;font-size:clamp(48px,6vw,88px);font-weight:200;line-height:.92;color:#fff;letter-spacing:-.02em}.full-reveal-text h2 em{font-style:italic;font-weight:300}.full-reveal-text p{margin-top:20px;font-size:11px;letter-spacing:.3em;text-transform:uppercase;font-weight:300;color:#fff6}.gallery-section{position:relative;height:100vh;overflow:hidden;display:flex;background:#111}.gallery-before{position:absolute;bottom:40px;left:40px;width:240px;z-index:10;overflow:hidden;border-radius:4px;box-shadow:0 8px 40px #00000080}.gallery-before img{width:100%;display:block}.gallery-before-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:12px;background:linear-gradient(to top,rgba(0,0,0,.45) 0%,transparent 60%)}.gallery-before-num{font-family:Cormorant,serif;font-size:28px;font-weight:200;color:#ffffff40;line-height:1;position:absolute;top:10px;left:12px}.gallery-before-tag{font-size:8px;letter-spacing:.25em;text-transform:uppercase;font-weight:300;color:#fff9}.gallery-track{display:flex;height:100%;will-change:transform;gap:0}.gallery-slide{position:relative;height:100%;flex-shrink:0;width:auto;cursor:none}.gallery-slide img{height:100%;width:auto;display:block}.gallery-slide-num{position:absolute;bottom:24px;right:28px;font-family:Cormorant,serif;font-size:11px;letter-spacing:.2em;color:#ffffff4d;pointer-events:none}.cta{padding:180px 56px 200px;display:flex;flex-direction:column;align-items:flex-start;border-top:1px solid var(--thin)}.cta-h{font-family:Cormorant,serif;font-size:clamp(60px,9vw,128px);font-weight:200;line-height:.9;letter-spacing:-.025em;max-width:900px;margin-bottom:72px}.cta-h em{font-style:italic;font-weight:300}.btn{display:inline-flex;align-items:center;gap:20px;border:1px solid var(--ink);padding:20px 52px;font-family:Cormorant Garamond,serif;font-size:15px;font-weight:300;letter-spacing:.15em;text-decoration:none;color:var(--ink);position:relative;overflow:hidden;transition:color .5s}.btn:before{content:"";position:absolute;inset:0;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .6s cubic-bezier(.16,1,.3,1);z-index:0}.btn:hover:before{transform:scaleX(1)}.btn:hover{color:var(--bg)}.btn span{position:relative;z-index:1}.btn .arr{font-size:18px;transition:transform .3s;position:relative;z-index:1}.btn:hover .arr{transform:translate(8px)}.cta-note{margin-top:28px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:300;color:var(--mid)}footer{padding:32px 56px;border-top:1px solid var(--thin);display:flex;justify-content:space-between;font-size:10px;letter-spacing:.2em;text-transform:uppercase;font-weight:300;color:#bbb}.appear{opacity:0;transform:translateY(40px);transition:opacity 1s cubic-bezier(.16,1,.3,1),transform 1s cubic-bezier(.16,1,.3,1)}.appear.on{opacity:1;transform:none}.ap2{transition-delay:.12s}.ap3{transition-delay:.24s}
