:root{--ivory:#f7f3ed;--blush:#eadbd4;--rose:#a97367;--deep:#24302a;--gold:#b7a27c;--hero-shift:0px}
body{background:var(--ivory);cursor:default;overflow-x:hidden}
body:not(.loaded){overflow:hidden}.grain{position:fixed;z-index:90;inset:0;opacity:.035;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E")}
.preloader{position:fixed;z-index:999;inset:0;display:grid;place-content:center;gap:28px;background:var(--ivory);color:var(--deep);transition:opacity 1s cubic-bezier(.76,0,.24,1),visibility 1s}.loaded .preloader{opacity:0;visibility:hidden}.preloader__mark{font:400 46px 'Cormorant Garamond',serif;text-align:center}.preloader__mark i{color:var(--rose);font-weight:400}.preloader__line{width:160px;height:1px;background:rgba(36,48,42,.15);overflow:hidden}.preloader__line span{display:block;width:45%;height:100%;background:var(--rose);animation:loading 1.5s ease-in-out infinite}.scroll-progress{position:fixed;z-index:100;left:0;top:0;width:100%;height:2px;background:var(--blush);transform:scaleX(0);transform-origin:left;will-change:transform}@keyframes loading{from{transform:translateX(-110%)}to{transform:translateX(340%)}}
.hero::before{transform:translateY(var(--hero-shift)) scale(1.08)!important}.hero::after{transform:translateY(var(--hero-shift)) scale(.985);transition:transform .1s linear}.hero{height:100svh}.hero__veil{background:linear-gradient(180deg,rgba(13,22,17,.2),rgba(13,22,17,.02) 42%,rgba(13,22,17,.56))}.nav{padding:26px 4.5vw;backdrop-filter:blur(8px);background:linear-gradient(180deg,rgba(12,18,15,.2),transparent);transition:padding .5s}.monogram{font-size:30px}.nav__download{border:1px solid rgba(255,255,255,.5);border-radius:99px;padding:12px 18px 11px;transition:background .35s,color .35s,border-color .35s}.nav__download:hover{background:#fff;color:var(--deep);border-color:#fff}.hero__content{padding:115px 5vw 62px!important;align-items:center!important;text-align:center!important}.hero__kicker{opacity:0;margin:0 0 20px;text-transform:uppercase;letter-spacing:.44em;font-size:9px;transform:translateY(18px);transition:opacity .9s .7s,transform .9s .7s}.loaded .hero__kicker{opacity:.9;transform:none}.hero h1{display:flex;align-items:center;justify-content:center;gap:.13em;margin:0 0 25px!important;font-size:clamp(64px,8.4vw,144px)!important;line-height:.78!important;max-width:none!important;text-shadow:0 4px 35px rgba(8,14,10,.34)}.hero h1 span,.hero h1 i{display:inline-block;opacity:0;filter:blur(10px);transform:translateY(32px);transition:opacity 1.1s,filter 1.1s,transform 1.1s cubic-bezier(.16,1,.3,1)}.hero h1 span:first-child{transition-delay:.4s}.hero h1 i{transition-delay:.58s}.hero h1 span:last-child{transition-delay:.72s}.loaded .hero h1 span,.loaded .hero h1 i{opacity:1;filter:none;transform:none}.date{opacity:0;transform:translateY(15px);transition:.9s 1s}.loaded .date{opacity:1;transform:none}.scroll{opacity:0;transition:opacity 1s 1.3s}.loaded .scroll{opacity:1}.scroll b{animation:float 1.8s ease-in-out infinite}@keyframes float{50%{transform:translateY(6px)}}
.intro{padding:160px 24px 135px}.intro h2{font-size:clamp(54px,7.6vw,96px);letter-spacing:-.025em}.intro__text{font-size:13px;max-width:520px}.stats{margin-top:52px}.stats i{background:var(--gold)}
.reveal{opacity:0;transform:translateY(55px);transition:opacity 1.1s ease,transform 1.1s cubic-bezier(.16,1,.3,1)}.reveal.is-revealed{opacity:1;transform:none}
.gallery-wrap{padding:0 2vw 130px}.toolbar{position:sticky;z-index:20;top:0;align-items:center;padding:20px 1.5vw;margin-bottom:24px;background:rgba(247,243,237,.88);backdrop-filter:blur(18px);border-color:rgba(36,48,42,.1)}.toolbar p{font-size:38px}.filters{padding:4px;border:1px solid rgba(36,48,42,.12);border-radius:99px}.filters button{border-radius:99px;padding:10px 18px!important;transition:.3s}.filters button.active{border:0!important;background:var(--deep);color:#fff}
.gallery{display:grid!important;grid-template-columns:repeat(12,1fr);grid-auto-flow:dense;gap:10px;columns:auto!important;transition:opacity .22s}.gallery.is-changing{opacity:0}.photo{grid-column:span 3;position:relative;margin:0!important;aspect-ratio:4/5;background:#e9e2d9;overflow:hidden}.photo.wide{grid-column:span 6;aspect-ratio:3/2}.photo.tall{grid-column:span 3;aspect-ratio:2/3}.photo.feature{grid-column:span 8;grid-row:span 2;aspect-ratio:16/10}.photo img{width:100%;height:100%;object-fit:cover;transform:scale(1.01);filter:saturate(.88);transition:transform 1.2s cubic-bezier(.16,1,.3,1),filter .8s}.photo:hover img{transform:scale(1.055);filter:saturate(1)}.photo:after{content:""!important;inset:0;left:0!important;bottom:0!important;background:linear-gradient(180deg,transparent 65%,rgba(16,23,19,.35));opacity:0;transform:none!important;transition:opacity .5s}.photo:hover:after{opacity:1}.photo__index{position:absolute;z-index:2;right:14px;bottom:12px;color:#fff;font-size:8px;letter-spacing:.16em;opacity:0;transition:opacity .4s}.photo:hover .photo__index{opacity:.8}.reveal-photo{opacity:0;transform:translateY(20px);transition:opacity .7s,transform .8s cubic-bezier(.16,1,.3,1)}.reveal-photo.is-visible{opacity:1;transform:none}
.download-section{position:relative;overflow:hidden;padding:150px 24px;background:linear-gradient(145deg,#eee3dc,#f7f2eb 60%,#e8ddd4)}.download-section:before{content:'V · R';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font:400 min(30vw,460px)/1 'Cormorant Garamond',serif;color:rgba(169,115,103,.055);white-space:nowrap}.download-section>*{position:relative}.download-all{border-color:rgba(36,48,42,.6);background:rgba(255,255,255,.22);backdrop-filter:blur(8px);transition:transform .35s,background .35s,color .35s}.download-all:hover{transform:translateY(-4px);box-shadow:0 18px 50px rgba(62,46,40,.1)}footer{height:220px}
.lightbox{opacity:0;transition:opacity .45s;background:rgba(22,27,24,.97)}.lightbox[open]{opacity:1}.lightbox figure{transform:scale(.97);opacity:0;transition:transform .7s cubic-bezier(.16,1,.3,1),opacity .5s}.lightbox.ready figure{transform:none;opacity:1}.lightbox img{max-height:88vh}.lightbox figcaption{font-size:9px}.lightbox__close{font-weight:100;transition:transform .35s}.lightbox__close:hover{transform:rotate(90deg)}
.cursor{display:none;position:fixed;z-index:1000;left:0;top:0;width:72px;height:72px;margin:-36px 0 0 -36px;border:1px solid rgba(255,255,255,.75);border-radius:50%;background:rgba(28,36,32,.28);backdrop-filter:blur(5px);color:#fff;pointer-events:none;place-items:center;opacity:0;transition:width .3s,height .3s,margin .3s,opacity .3s}.cursor span{font-size:8px;letter-spacing:.12em;text-transform:uppercase}.cursor.active{opacity:1}
@media(pointer:fine){.cursor{display:grid}.photo{cursor:none}}
@media(max-width:1050px){.gallery{grid-template-columns:repeat(8,1fr)}.photo{grid-column:span 2}.photo.wide{grid-column:span 4}.photo.feature{grid-column:span 6}}
@media(max-width:700px){.grain{opacity:.025}.hero h1{display:block;font-size:clamp(52px,14vw,76px)!important;line-height:.82!important}.hero h1 i{margin:.08em}.hero__kicker{margin-bottom:14px}.intro{padding:105px 20px 85px}.gallery-wrap{padding:0 8px 90px}.toolbar{margin:0 -8px 8px;padding:13px 12px}.toolbar p{font-size:28px}.filters{overflow:visible}.filters button{padding:8px 11px!important}.gallery{grid-template-columns:repeat(4,1fr);gap:5px}.photo,.photo.tall{grid-column:span 2}.photo.wide,.photo.feature{grid-column:span 4;aspect-ratio:3/2}.download-section{padding:105px 20px}.lightbox figcaption{padding:10px 10px 0}.cursor{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition-duration:.01ms!important}.reveal,.reveal-photo{opacity:1;transform:none}.hero::before,.hero::after{transform:none!important}}
