:root{
    --bg:#120b19;
    --purple:#281333;
    --ink:#160d20;
    --cream:#eee9df;
    --gold:#e4af4e;
    --white:#f7f2e9
}
*{
    box-sizing:border-box
}
html{
    scroll-behavior:smooth
}
body{
    margin:0;
    color:var(--white);
    background:var(--bg);
    font-family:'DM Sans',sans-serif;
    overflow-x:hidden
}
body.menu-open{
    overflow:hidden
}
button,a{
    -webkit-tap-highlight-color:transparent
}
a{
    color:inherit;
    text-decoration:none
}
button{
    font:inherit
}
.noise{
    position:fixed;
    inset:0;
    z-index:45;
    pointer-events:none;
    opacity:.11;
    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='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E")
}
.cursor-glow{
    position:fixed;
    pointer-events:none;
    width:280px;
    height:280px;
    border-radius:100%;
    background:radial-gradient(circle,#a16ee715,transparent 66%);
    z-index:20;
    transform:translate(-50%,-50%)
}
.loader{
    position:fixed;
    z-index:200;
    inset:0;
    display:flex;
    justify-content:center;
    align-items:center;
    flex-direction:column;
    background:#100716
}
.loader img{
    width:min(65vw,400px);
    height:auto
}
.loader p{
    font:600 12px 'DM Sans';
    letter-spacing:.4em;
    color:var(--gold);
    margin-top:26px
}
.loader-track{
    width:220px;
    height:1px;
    background:#50384a;
    margin-top:30px;
    overflow:hidden
}
.loader-track span{
    display:block;
    width:100%;
    height:100%;
    background:var(--gold);
    transform:translateX(-100%);
    animation:loadbar 2s ease-out forwards
}
@keyframes loadbar{
    to{
        transform:translateX(0)
    }
}
.header{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    z-index:110;
    padding:21px 3.8vw;
    mix-blend-mode:normal
}
.brand img{
    width:128px;
    display:block;
    filter:drop-shadow(0 2px 5px #0008)
}
.header-tag{
    font-size:10px;
    letter-spacing:.26em;
    font-weight:700;
    text-shadow:0 1px 6px #000
}
.menu-toggle{
    border:0;
    background:#f4efe8;
    border-radius:50%;
    height:55px;
    width:55px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:7px;
    cursor:pointer;
    position:relative;
    z-index:120
}
.menu-toggle i{
    height:2px;
    width:21px;
    background:#201027;
    transition:transform .3s
}
.menu-open .menu-toggle i:first-child{
    transform:translateY(4.5px) rotate(45deg)
}
.menu-open .menu-toggle i:last-child{
    transform:translateY(-4.5px) rotate(-45deg)
}
.menu-panel{
    position:fixed;
    inset:0;
    background:#1f102b;
    z-index:100;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:11vh 10vw;
    transform:translateY(-110%);
    transition:transform .75s cubic-bezier(.76,0,.24,1)
}
.menu-open .menu-panel{
    transform:translateY(0)
}
.menu-panel>a{
    font:900 clamp(44px,8vw,110px)/.99 'Barlow Condensed',sans-serif;
    letter-spacing:-.015em;
    width:fit-content;
    transition:color .25s
}
.menu-panel>a:hover{
    color:var(--gold)
}
.menu-panel small{
    font:600 12px 'DM Sans';
    vertical-align:top;
    color:var(--gold);
    margin-left:18px
}
.menu-bottom{
    position:absolute;
    bottom:45px;
    font-size:11px;
    letter-spacing:.3em;
    color:#bfaab6
}
.hero{
    position:relative;
    height:100svh;
    min-height:690px;
    isolation:isolate;
    overflow:hidden;
    display:flex;
    align-items:center;
    background:#150c1c
}
.hero-video,.hero-tint{
    position:absolute;
    inset:0
}
.hero-video video{
    width:100%;
    height:100%;
    object-fit:cover;
    filter:saturate(.9) contrast(1.1)
}
.hero-tint{
    background:linear-gradient(90deg,rgba(11,4,17,.84),rgba(13,5,19,.28) 70%),linear-gradient(0deg,#140919 0%,transparent 35%,#160c1a40 100%)
}
.hero-content{
    position:relative;
    z-index:2;
    margin-left:9%;
    margin-top:80px
}
.eyebrow{
    font-size:12px;
    font-weight:700;
    letter-spacing:.3em;
    color:var(--gold)
}
.hero-heading{
    font:900 clamp(85px,13vw,220px)/.77 'Barlow Condensed',sans-serif;
    letter-spacing:-.035em;
    margin:37px 0 35px
}
.hero-heading .line{
    display:block;
    overflow:hidden;
    padding:.055em 0
}
.hero-heading .line b{
    display:block
}
.gold{
    color:var(--gold)
}
.hero-description{
    font-size:15px;
    line-height:1.8;
    color:#e1d6df;
    max-width:500px
}
.pill-button{
    display:inline-flex;
    justify-content:space-between;
    align-items:center;
    gap:45px;
    border-radius:100px;
    background:var(--gold);
    color:#221323;
    font-size:12px;
    font-weight:800;
    letter-spacing:.07em;
    padding:18px 21px 18px 27px;
    margin-top:30px;
    transition:transform .25s,background .25s
}
.pill-button:hover{
    transform:translateY(-4px);
    background:#ffd27d
}
.pill-button span{
    font-size:22px;
    line-height:1
}
.hero-foot{
    position:absolute;
    z-index:3;
    bottom:35px;
    left:4%;
    right:4%;
    display:flex;
    align-items:center;
    gap:20px;
    font-size:10px;
    letter-spacing:.2em
}
.scroll-line{
    width:130px;
    height:1px;
    background:linear-gradient(90deg,var(--gold),#ffffff25)
}
.sound-toggle{
    background:transparent;
    border:0;
    color:white;
    letter-spacing:.2em;
    font-size:10px;
    cursor:pointer;
    margin-left:auto
}
.hero-index{
    position:absolute;
    right:4%;
    top:50%;
    transform:rotate(90deg);
    font-size:11px;
    letter-spacing:.25em
}
.section-topline{
    display:flex;
    justify-content:space-between;
    position:relative;
    z-index:3;
    border-top:1px solid #ffffff40;
    padding:20px 5%;
    font-size:10px;
    letter-spacing:.24em;
    font-weight:700
}
.manifesto{
    position:relative;
    min-height:105vh;
    background:radial-gradient(circle at 50% 42%,#29163a 0%,#110b1a 60%);
    display:flex;
    flex-direction:column
}
.manifesto-inside{
    margin:auto;
    text-align:center;
    padding:110px 20px
}
.quote-mark{
    font:900 95px 'Barlow Condensed';
    line-height:.5;
    color:var(--gold)
}
.statement{
    font:900 clamp(64px,9.7vw,168px)/.89 'Barlow Condensed',sans-serif;
    letter-spacing:-.02em;
    margin:35px 0
}
.statement em{
    font-style:normal;
    color:#6d497d
}
.statement strong{
    font:inherit;
    color:var(--gold)
}
.manifesto-caption{
    font-size:13px;
    line-height:1.9;
    color:#aaa0b1;
    max-width:360px;
    margin:30px auto 0
}
.section-endmark{
    text-align:center;
    padding:25px;
    letter-spacing:.34em;
    font-size:10px;
    color:#77657a
}
.signature{
    position:relative;
    min-height:118vh;
    background:#100818;
    overflow:hidden;
    padding-bottom:110px
}
.signature-head{
    text-align:center;
    padding:60px 20px 20px
}
.signature-head h2{
    font:900 clamp(70px,10vw,175px)/.82 'Barlow Condensed',sans-serif;
    letter-spacing:-.02em;
    margin:30px auto
}
.signature-head h2 span{
    color:#56346d
}
.signature-head p{
    font-size:13px;
    color:#a89cac
}
.moment-stage{
    height:620px;
    max-width:1400px;
    margin:0 auto;
    position:relative;
    perspective:1000px
}
.moment-card{
    position:absolute;
    width:24%;
    height:370px;
    min-width:215px;
    padding:8px;
    background:linear-gradient(130deg,#f8d36a,#b56a20,#f8d36a);
    box-shadow:0 25px 80px #000b;
    transition:filter .3s
}
.moment-card:hover{
    filter:brightness(1.2)
}
.m1{
    left:10%;
    top:145px;
    transform:rotate(-10deg)
}
.m2{
    left:39%;
    top:15px;
    z-index:2;
    transform:rotate(5deg)
}
.m3{
    right:8%;
    top:165px;
    transform:rotate(11deg)
}
.card-photo{
    height:83%;
    background-size:cover;
    background-position:center
}
.card-one{
    background-image:linear-gradient(130deg,#50113e60,#1b052350),url('../images/film-still.jpg')
}
.card-two{
    background-image:linear-gradient(130deg,#89085a22,#09001455),url('../images/film-still.jpg');
    background-position:60% 55%
}
.card-three{
    background-image:linear-gradient(0deg,#250622aa,transparent),url('../images/film-still.jpg');
    background-position:25% 65%
}
.card-bottom{
    height:17%;
    background:#120a18;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:5px;
    text-align:center
}
.card-bottom span{
    font-size:8px;
    color:var(--gold);
    letter-spacing:.18em
}
.card-bottom strong{
    font:800 19px 'Barlow Condensed';
    letter-spacing:.07em
}
.giant-watermark{
    position:absolute;
    z-index:0;
    bottom:10px;
    left:50%;
    transform:translateX(-50%);
    font:900 clamp(120px,25vw,380px) 'Barlow Condensed';
    letter-spacing:-.065em;
    color:#251130;
    white-space:nowrap
}
.section-number{
    font:800 36px 'Barlow Condensed';
    text-align:center;
    color:#4f3b5e
}
.interlude{
    background:var(--cream);
    color:#20132b;
    min-height:95vh;
    display:grid;
    place-items:center;
    overflow:hidden
}
.interlude-inner{
    text-align:center;
    padding:100px 20px
}
.interlude-inner>span{
    font-size:12px;
    letter-spacing:.35em;
    font-weight:800
}
.interlude h2{
    font:900 clamp(80px,13vw,220px)/.76 'Barlow Condensed';
    letter-spacing:-.04em;
    margin:70px 0
}
.interlude i{
    font-style:normal;
    color:#9f7341
}
.interlude p{
    font-size:11px;
    letter-spacing:.24em
}
.film{
    padding-bottom:160px;
    background:radial-gradient(circle at 50% 50%,#2d123a,#12091b 70%)
}
.film h2{
    text-align:center;
    font:900 clamp(92px,15vw,240px)/.77 'Barlow Condensed';
    letter-spacing:-.03em;
    margin:120px 0 65px
}
.film h2 span{
    color:var(--gold)
}
.film-frame{
    width:min(78%,1240px);
    height:min(70vh,650px);
    margin:auto;
    position:relative;
    overflow:hidden;
    border:1px solid #d0a35377
}
.film-frame:after{
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(0deg,#150b1a85,transparent 65%);
    pointer-events:none
}
.film-frame video{
    width:100%;
    height:100%;
    object-fit:cover
}
.play-button{
    position:absolute;
    z-index:2;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    width:145px;
    height:145px;
    border-radius:50%;
    background:#e6b35d;
    border:0;
    color:#28182b;
    cursor:pointer;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:9px;
    transition:transform .3s
}
.play-button:hover{
    transform:translate(-50%,-50%) scale(1.1)
}
.play-button span{
    font-size:33px
}
.play-button small{
    font-size:9px;
    font-weight:800;
    letter-spacing:.15em
}
.film-caption{
    text-align:center;
    margin-top:26px;
    font-size:10px;
    letter-spacing:.3em;
    color:#c1aaba
}
.outro{
    min-height:95vh;
    position:relative;
    text-align:center;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    background:radial-gradient(ellipse at 50% 20%,#31153f,#100818 72%);
    padding:100px 25px 100px
}
.outro h2{
    font:900 clamp(83px,13vw,230px)/.8 'Barlow Condensed';
    letter-spacing:-.04em;
    margin:35px 0
}
.outro h2 span{
    color:var(--gold)
}
.outro>img{
    width:min(500px,75vw);
    margin-top:15px
}
.outro-text{
    font-size:11px;
    letter-spacing:.26em;
    margin-top:30px
}
.footer-row{
    position:absolute;
    bottom:24px;
    left:4%;
    right:4%;
    display:flex;
    justify-content:space-between;
    gap:15px;
    font-size:9px;
    letter-spacing:.16em;
    color:#b8a7b8
}
.footer-row a{
    color:var(--gold)
}
@media(max-width:800px){
    .header{
        padding:20px
    }
    .brand img{
        width:105px
    }
    .header-tag{
        display:none
    }
    .menu-toggle{
        width:48px;
        height:48px
    }
    .hero{
        min-height:640px
    }
    .hero-content{
        margin-left:7%;
        margin-right:6%
    }
    .hero-heading{
        font-size:clamp(76px,17vw,145px)
    }
    .hero-description{
        font-size:12px
    }
    .hero-index{
        display:none
    }
    .hero-foot{
        left:7%;
        right:7%
    }
    .manifesto{
        min-height:85vh
    }
    .signature{
        min-height:auto
    }
    .signature-head h2{
        font-size:clamp(65px,12vw,120px)
    }
    .moment-stage{
        height:530px
    }
    .moment-card{
        width:44%;
        min-width:unset;
        height:310px
    }
    .m1{
        left:5%;
        top:100px
    }
    .m2{
        left:29%;
        top:20px
    }
    .m3{
        right:4%;
        top:175px
    }
    .card-bottom strong{
        font-size:14px
    }
    .giant-watermark{
        bottom:18px;
        font-size:32vw
    }
    .interlude{
        min-height:80vh
    }
    .interlude h2{
        font-size:clamp(75px,15vw,130px)
    }
    .film h2{
        font-size:14vw;
        margin:100px 0 55px
    }
    .film-frame{
        width:90%;
        height:65vh
    }
    .outro{
        min-height:85vh
    }
    .footer-row{
        font-size:8px;
        flex-wrap:wrap;
        justify-content:center
    }
    .footer-row>span:nth-child(2){
        display:none
    }
}
@media(max-width:480px){
    .hero-heading{
        font-size:17.5vw
    }
    .hero-description br{
        display:none
    }
    .section-topline{
        font-size:8px
    }
    .section-topline span:last-child{
        max-width:40%;
        text-align:right
    }
    .statement{
        font-size:15vw
    }
    .moment-stage{
        height:420px
    }
    .moment-card{
        height:245px;
        width:48%
    }
    .m1{
        left:0;
        top:75px
    }
    .m2{
        left:26%;
        top:2px
    }
    .m3{
        right:0;
        top:132px
    }
    .card-bottom strong{
        font-size:12px
    }
    .card-bottom span{
        font-size:7px
    }
    .interlude h2{
        font-size:17vw
    }
    .interlude-inner>span,.interlude p{
        font-size:9px
    }
    .film-frame{
        height:440px
    }
    .play-button{
        height:108px;
        width:108px
    }
    .outro h2{
        font-size:17vw
    }
    .outro-text{
        line-height:1.8;
        font-size:9px
    }
    .cursor-glow{
        display:none
    }
}
@media(prefers-reduced-motion:reduce){
    *,*:before,*:after{
        scroll-behavior:auto!important;
        animation-duration:.01ms!important;
        transition-duration:.01ms!important
    }
}
/* Homepage composition matched to supplied reference. */
 .reference-hero{
    height:100svh;
    min-height:580px;
    background:#e5dfd4;
    color:#181222;
    display:block;
    isolation:isolate
}
 .leather-background{
    position:absolute;
    inset:0;
    background-color:#e5dfd4;
    background-image:radial-gradient(ellipse at 25% 32%,#faf8f355,transparent 45%),url('../images/leather.svg');
    background-size:cover,110px 110px
}
 .hero-ghost{
    position:absolute;
    inset:5% -4% auto;
    font:900 29vw/.98 'Barlow Condensed',Impact,sans-serif;
    letter-spacing:-.025em;
    opacity:.085;
    color:#9f978b;
    pointer-events:none;
    text-align:center
}
 .chimp-content{
    position:absolute;
    inset:0;
    margin:0;
    z-index:2;
    pointer-events:none
}
 .chimp-portrait{
    position:absolute;
    top:12%;
    left:50%;
    width:59vw;
    max-width:none;
    height:auto;
    transform:translateX(-50%);
    filter:drop-shadow(0 8px 12px #5a483f18)
}
 .hero-aside{
    position:absolute;
    z-index:4;
    bottom:12.5%;
    width:11.5%;
    max-width:245px;
    font-size:clamp(11px,.86vw,17px);
    line-height:1.45
}
 .hero-left{
    left:2.8%
}
.hero-right{
    right:3%
}
.hero-aside p{
    margin:30px 0 0
}
 .collectible{
    display:block;
    width:83%;
    aspect-ratio: .68;
    padding:5px;
    border-radius:6px;
    background:linear-gradient(135deg,#8c5713,#ffe8a0 25%,#b98425 50%,#fff0a6 80%,#a56e13);
    box-shadow:0 8px 25px #61502f30;
    overflow:hidden;
    position:relative;
    transition:transform .4s
}
 .collectible:hover{
    transform:rotate(-5deg) translateY(-7px)
}
.collectible video{
    width:100%;
    height:100%;
    object-fit:cover;
    border-radius:2px
}
.collectible span{
    position:absolute;
    bottom:8%;
    left:0;
    width:100%;
    text-align:center;
    font:800 14px 'Barlow Condensed',sans-serif;
    color:#ffe3a0;
    text-shadow:0 2px 4px black
}
 .malang-signature{
    display:block;
    font:italic 150px/.85 Georgia,serif;
    color:#5a328b;
    transform:rotate(-14deg);
    margin-left:5%;
    margin-bottom:45px;
    letter-spacing:-20px
}
 .reference-hero .hero-foot{
    bottom:24px;
    left:3%;
    right:3%;
    color:#211827
}
.reference-hero .sound-toggle{
    color:#211827;
    background:#d2cabeaa;
    border-radius:30px;
    padding:14px;
    letter-spacing:.07em
}
 .hero-diagonal{
    position:absolute;
    inset:-12% 0;
    z-index:6;
    background:#120b19;
    transform:translateY(115%) skewY(-5deg);
    pointer-events:none
}
 .header{
    padding:28px 3%;
    transition:background .3s,color .3s
}
.header-tag{
    position:absolute;
    left:50%;
    transform:translateX(-50%);
    font:900 clamp(18px,1.6vw,30px) 'Barlow Condensed',Impact,sans-serif;
    letter-spacing:-.02em;
    color:#181222;
    text-shadow:none
}
.brand img{
    width:68px;
    filter:drop-shadow(0 1px 2px #0003)
}
.menu-toggle{
    background:transparent;
    border-radius:0;
    width:42px;
    height:42px
}
.menu-toggle i{
    width:30px;
    height:5px;
    transform:skew(-35deg);
    background:#181222
}
.header.on-dark .header-tag,.menu-open .header-tag{
    color:#eee9df
}
.header.on-dark .menu-toggle i,.menu-open .menu-toggle i{
    background:#eee9df
}
 @media(max-width:700px){
    .reference-hero{
        min-height:650px
    }
    .header{
        padding:20px 5%
    }
    .brand img{
        width:58px
    }
    .header-tag{
        font-size:20px
    }
    .chimp-portrait{
        width:108vw;
        top:18%;
        left:50%
    }
    .hero-aside{
        bottom:8%;
        font-size:10px;
        line-height:1.45;
        width:24%;
        max-width:none
    }
    .hero-left{
        left:5%
    }
    .hero-right{
        right:5%
    }
    .collectible{
        width:66%;
        padding:3px
    }
    .collectible span{
        font-size:8px
    }
    .hero-aside p{
        margin-top:16px
    }
    .malang-signature{
        font-size:85px;
        margin-bottom:25px;
        margin-left:16%
    }
    .hero-ghost{
        top:14%;
        font-size:31vw
    }
    .reference-hero .hero-foot{
        bottom:16px;
        font-size:8px
    }
    .reference-hero .sound-toggle{
        font-size:8px;
        padding:10px
    }
    .hero-aside p{
        background:#e9e3d5d9;
        padding:7px;
        border-radius:3px
    }
    .reference-hero .hero-foot>span{
        display:none
    }
}
 @media(prefers-reduced-motion:reduce){
    .hero-diagonal{
        display:none
    }
    .collectible{
        transition:none
    }
}
/* Centre the actual gold brand logo;
 remove the right monogram. */
 .header .brand{
    position:absolute;
    left:50%;
    top:18px;
    transform:translateX(-50%);
    z-index:2
}
 .header .brand img{
    width:clamp(140px,12vw,210px);
    height:auto
}
 .header .menu-toggle{
    margin-left:auto
}
 @media(max-width:700px){
    .header .brand{
        top:18px
    }
    .header .brand img{
        width:135px
    }
}
/* Keep current logo dimensions;
 align it to the left. */
 .header .brand{
    left:3%;
    transform:none
}
 @media(max-width:700px){
    .header .brand{
        left:5%
    }
}
/* A pinned camera move into the playing glasses;
 reverse on scroll up. */
 .reference-hero{
    height:320svh;
    min-height:0;
    overflow:visible;
    display:block
}
 .hero-viewport{
    height:100svh;
    min-height:580px;
    position:sticky;
    top:0;
    overflow:hidden;
    background:#e5dfd4;
    isolation:isolate
}
 .chimp-content{
    transform:none!important
}
 .portrait-rig{
    position:absolute;
    top:12%;
    left:50%;
    width:59vw;
    aspect-ratio:2/3;
    transform:translateX(-50%);
    transform-origin:44% 15.3%
}
 .portrait-rig .chimp-portrait{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    transform:none;
    object-fit:contain;
    filter:none
}
 .lens{
    position:absolute;
    z-index:3;
    top:12.8%;
    width:8.35%;
    height:5.58%;
    border-radius:50%;
    overflow:hidden;
    background:#161015;
    box-shadow:inset 0 0 4px #000;
    isolation:isolate
}
 .lens-left{
    left:39.7%
}
.lens-right{
    left:51.55%;
    top:12.95%
}
 .lens video{
    width:100%;
    height:100%;
    object-fit:cover;
    filter:saturate(1.1) contrast(1.07)
}
 .lens:after{
    content:'';
    position:absolute;
    inset:0;
    pointer-events:none;
    border-radius:50%;
    background:linear-gradient(135deg,#ffe2a12e,transparent 48%,#08040829);
    box-shadow:inset 0 0 3px 1px #33210fb0
}
 .lens-fullscreen{
    position:absolute;
    inset:0;
    z-index:8;
    opacity:0;
    pointer-events:none;
    background:#100a15;
    will-change:opacity
}
 .lens-fullscreen video{
    width:100%;
    height:100%;
    object-fit:cover
}
 .hero-aside,.hero-foot,.hero-ghost{
    will-change:opacity
}
 @media(max-width:700px){
    .hero-viewport{
        min-height:0
    }
    .portrait-rig{
        width:108vw;
        top:18%
    }
    .portrait-rig .chimp-portrait{
        top:0;
        left:0;
        width:100%;
        height:100%
    }
}
 @media(prefers-reduced-motion:reduce){
    .reference-hero{
        height:100svh
    }
    .hero-viewport{
        position:relative
    }
    .lens-fullscreen{
        display:none
    }
    .portrait-rig{
        transform:translateX(-50%)!important
    }
}
/* Ten food/drink cards move right with the vertical scroll. */
 .food-gallery{
    height:580svh;
    position:relative;
    background:#0e0a15
}
 .food-gallery-viewport{
    position:sticky;
    top:0;
    height:100svh;
    overflow:hidden;
    background:radial-gradient(ellipse at 35% 35%,#35204166,transparent 64%),#0d0913
}
 .food-gallery-title{
    position:absolute;
    left:5%;
    top:3%;
    margin:0;
    font:900 clamp(80px,17vw,310px)/.85 'Barlow Condensed',Impact,sans-serif;
    letter-spacing:-.025em;
    white-space:nowrap;
    color:#482661;
    opacity:.67;
    pointer-events:none
}
 .food-gallery-track{
    height:100%;
    width:max-content;
    display:flex;
    gap:12vw;
    align-items:flex-start;
    padding:15vh 12vw 0
}
 .menu-gallery-card{
    position:relative;
    flex:0 0 21vw;
    width:21vw;
    margin:0;
    isolation:isolate
}
 .food-gold-frame{
    padding:7px;
    border-radius:8px;
    background:linear-gradient(135deg,#795008,#f9d861 25%,#aa730f 40%,#e0b53f 64%,#fff0a3 82%,#a17517);
    box-shadow:0 15px 35px #0008,inset 0 0 4px #ffed99
}
 .food-photo{
    width:100%;
    aspect-ratio:1;
    background-image:url('../images/food-drinks-atlas.webp');
    background-size:500% 200%;
    border-radius:3px;
    background-repeat:no-repeat
}
 .menu-gallery-card figcaption{
    text-align:center;
    margin-top:22px
}
.menu-gallery-card h3{
    font:600 clamp(12px,1.1vw,22px) 'DM Sans',sans-serif;
    letter-spacing:.14em;
    margin:0 0 14px
}
.menu-gallery-card figcaption p{
    font:500 clamp(10px,.85vw,16px) 'DM Sans',sans-serif;
    letter-spacing:.16em;
    color:#aaa0ad;
    margin:0
}
 .card-level-1{
    margin-top:24vh;
    transform:rotate(-2deg)
}
.card-level-2{
    margin-top:-6vh;
    transform:rotate(4deg)
}
.card-level-0{
    transform:rotate(-1deg)
}
 .gallery-index{
    position:absolute;
    left:46%;
    top:calc(100% + 35px);
    font:600 7vw 'Barlow Condensed',Impact,sans-serif;
    color:#b4aeb8;
    opacity:.1;
    z-index:-1
}
 .gallery-footer{
    position:absolute;
    bottom:24px;
    left:4%;
    right:4%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    font-size:10px;
    letter-spacing:.15em;
    color:#c0b4c7
}
.gallery-footer small{
    font-size:8px;
    color:#89758f
}
 @media(max-width:700px){
    .food-gallery{
        height:650svh
    }
    .food-gallery-title{
        top:14%;
        font-size:23vw
    }
    .food-gallery-track{
        gap:15vw;
        padding:26vh 12vw 0
    }
    .menu-gallery-card{
        width:58vw;
        flex-basis:58vw
    }
    .card-level-1{
        margin-top:12vh
    }
    .card-level-2{
        margin-top:-5vh
    }
    .menu-gallery-card h3{
        font-size:12px
    }
    .menu-gallery-card figcaption p{
        font-size:9px
    }
    .gallery-index{
        font-size:18vw
    }
    .gallery-footer{
        font-size:8px;
        flex-wrap:wrap
    }
    .gallery-footer small{
        width:100%;
        font-size:7px
    }
}
 @media(prefers-reduced-motion:reduce){
    .food-gallery{
        height:auto
    }
    .food-gallery-viewport{
        position:relative;
        height:auto;
        padding:120px 0 60px
    }
    .food-gallery-title{
        font-size:13vw;
        top:25px
    }
    .food-gallery-track{
        width:auto;
        overflow-x:auto;
        height:auto;
        padding:0 8vw 100px;
        transform:none!important;
        gap:30px
    }
    .menu-gallery-card{
        margin-top:0;
        transform:none;
        min-width:230px
    }
    .gallery-footer{
        position:static;
        padding:0 5%
    }
}
/* Watermarks blend into their surfaces;
 images remain in front. */
 .reference-hero .hero-ghost{
    color:#b8afa1;
    opacity:.055;
    mix-blend-mode:multiply;
    z-index:0
}
 .moment-stage{
    isolation:isolate
}
 .moment-stage .giant-watermark{
    z-index:0;
    bottom:0;
    color:#715581;
    opacity:.18;
    pointer-events:none
}
 .moment-stage .moment-card{
    z-index:3
}
 .moment-stage .m2{
    z-index:4
}
 .food-gallery-title{
    font-size:clamp(70px,13.7vw,270px);
    color:#866a98;
    opacity:.14;
    mix-blend-mode:screen;
    z-index:0
}
 .food-gallery-track{
    position:relative;
    z-index:2
}
 @media(max-width:700px){
    .food-gallery-title{
        font-size:17vw;
        top:15%
    }
    .moment-stage .giant-watermark{
        bottom:0
    }
}
 .booking-footer{
    position:relative;
    padding:110px 7% 30px;
    background:radial-gradient(ellipse at 0 0,#39214255,transparent 60%),#100a17
}
 .booking-layout{
    display:grid;
    grid-template-columns:1fr 1.1fr;
    gap:8%;
    align-items:start
}
.booking-intro h2{
    font:900 clamp(55px,6.7vw,110px)/.9 'Barlow Condensed',Impact,sans-serif;
    margin:25px 0
}
.booking-intro h2 span{
    color:var(--gold)
}
.booking-intro>p:not(.eyebrow){
    font-size:14px;
    line-height:1.8;
    max-width:400px;
    color:#afa3b5
}
.booking-intro>img{
    width:200px;
    margin:28px 0
}
.contact-links{
    display:flex;
    flex-direction:column;
    gap:15px;
    font-size:14px
}
.contact-links a:hover{
    color:var(--gold)
}
.social-links{
    display:flex;
    gap:12px;
    margin-top:28px
}
.social-links a{
    display:grid;
    place-items:center;
    width:44px;
    height:44px;
    border:1px solid #b599684f;
    border-radius:50%;
    color:var(--gold);
    transition:.2s
}
.social-links a:hover{
    background:var(--gold);
    color:#140b19
}
.social-links svg{
    width:22px;
    height:22px
}
.booking-form{
    position:relative;
    border:1px solid #93744655;
    padding:35px;
    border-radius:12px;
    background:#1c1123
}
.booking-form h3{
    font:800 28px 'Barlow Condensed',Impact,sans-serif;
    letter-spacing:.035em;
    margin:0 0 25px
}
.booking-fields{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px
}
.booking-fields label{
    display:flex;
    flex-direction:column;
    gap:9px;
    font-size:11px;
    letter-spacing:.04em;
    color:#d5c9dc
}
.booking-fields input,.booking-fields select,.booking-fields textarea{
    width:100%;
    min-width:0;
    border:1px solid #8d779055;
    background:#100a17;
    color:#f7f2e9;
    border-radius:5px;
    padding:12px;
    font:14px 'DM Sans',Arial,sans-serif;
    color-scheme:dark
}
.booking-fields input:focus,.booking-fields select:focus,.booking-fields textarea:focus{
    outline:2px solid var(--gold);
    outline-offset:2px
}
.full-field{
    grid-column:1/-1
}
.booking-fields textarea{
    resize:vertical
}
.booking-submit{
    border:0;
    cursor:pointer;
    width:100%;
    gap:15px;
    justify-content:center;
    margin-top:24px
}
.booking-note{
    font-size:10px;
    line-height:1.7;
    color:#a99ab1;
    margin:16px 0 0
}
.form-honey{
    position:absolute;
    left:-9999px;
    width:1px;
    height:1px;
    overflow:hidden
}
#bookingStatus{
    font-size:12px;
    line-height:1.7;
    color:#edd2a2
}
.booking-continue{
    display:inline-block;
    color:var(--gold);
    font-size:13px;
    text-decoration:underline
}
.booking-continue[hidden]{
    display:none
}
.booking-footer .footer-row{
    margin-top:65px;
    padding-top:24px;
    border-top:1px solid #ffffff20;
    position:static
}
.footer-row a:hover{
    color:var(--gold)
}
.floating-contact{
    position:fixed;
    right:23px;
    bottom:25px;
    z-index:125;
    display:flex;
    flex-direction:column;
    gap:12px
}
.floating-contact a{
    display:grid;
    place-items:center;
    box-shadow:0 4px 18px #0005
}
.floating-whatsapp{
    width:54px;
    height:54px;
    border-radius:50%;
    background:#25d366;
    color:white
}
.floating-whatsapp svg{
    width:29px;
    height:29px
}
.floating-top{
    width:42px;
    height:42px;
    align-self:center;
    border-radius:50%;
    background:#201227;
    color:#ebbe63;
    border:1px solid #d1a65077;
    font-size:23px
}
.floating-contact a:hover{
    filter:brightness(1.15)
}
@media(max-width:800px){
    .booking-layout{
        grid-template-columns:1fr;
        gap:40px
    }
    .booking-footer{
        padding:80px 6% 28px
    }
    .booking-form{
        padding:23px
    }
    .booking-intro h2{
        font-size:70px
    }
    .booking-fields{
        gap:15px
    }
    .floating-contact{
        right:14px;
        bottom:15px
    }
    .floating-whatsapp{
        width:46px;
        height:46px
    }
    .floating-top{
        width:36px;
        height:36px
    }
    .booking-footer .footer-row{
        padding-right:45px;
        gap:18px
    }
    .booking-submit{
        font-size:10px
    }
}
@media(max-width:420px){
    .booking-fields{
        grid-template-columns:1fr
    }
    .full-field{
        grid-column:auto
    }
}
/* Touch layouts and lighter compositing. */
 body{
    overflow-x:clip
}
.lens canvas{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover
}
 @media(hover:none),(pointer:coarse){
    .cursor-glow{
        display:none
    }
    .noise{
        position:absolute;
        height:100svh;
        opacity:.04
    }
    .moment-card,.food-gold-frame{
        box-shadow:0 8px 20px #0005
    }
    .pill-button:hover{
        transform:none
    }
}
 @media(min-width:701px) and (max-width:1100px){
    .portrait-rig{
        width:82vw;
        top:17%
    }
    .hero-aside{
        width:16%;
        font-size:12px;
        bottom:10%
    }
    .hero-left{
        left:3%
    }
    .hero-right{
        right:3%
    }
    .collectible{
        width:76%
    }
    .hero-ghost{
        top:15%;
        font-size:29vw
    }
    .menu-panel>a{
        font-size:9vw
    }
    .moment-card{
        width:28%;
        min-width:0
    }
    .m1{
        left:5%
    }
    .m2{
        left:36%
    }
    .m3{
        right:4%
    }
    .moment-stage{
        height:520px
    }
    .menu-gallery-card{
        flex-basis:30vw;
        width:30vw
    }
    .food-gallery-track{
        gap:13vw
    }
    .card-level-1{
        margin-top:18vh
    }
    .food-gallery-title{
        font-size:14vw
    }
    .booking-layout{
        grid-template-columns:1fr;
        gap:40px
    }
    .booking-intro h2{
        font-size:80px
    }
    .booking-form{
        max-width:760px;
        width:100%
    }
}
 @media(max-width:700px){
    .hero-aside p{
        font-size:10px
    }
    .menu-panel{
        padding:14vh 7vw;
        overflow-y:auto
    }
    .menu-panel>a{
        font-size:clamp(34px,9vw,58px)
    }
    .header .brand img{
        width:135px
    }
    .booking-fields input,.booking-fields select,.booking-fields textarea{
        font-size:16px
    }
    .film-frame{
        height:auto;
        aspect-ratio:9/16;
        max-height:75svh
    }
    .film-frame video{
        height:100%;
        object-fit:cover
    }
    .signature{
        padding-bottom:50px
    }
    .signature-head{
        padding-top:35px
    }
    .moment-stage{
        height:510px
    }
    .moment-card{
        width:30%;
        min-width:0;
        height:270px
    }
    .m1{
        left:2%;
        top:130px
    }
    .m2{
        left:35%;
        top:40px
    }
    .m3{
        right:2%;
        top:160px
    }
    .card-bottom strong{
        font-size:12px
    }
    .card-bottom span{
        font-size:7px
    }
    .giant-watermark{
        font-size:30vw
    }
    .food-gallery{
        height:520svh
    }
    .booking-footer .footer-row{
        line-height:1.8
    }
    .floating-contact{
        bottom:max(15px,env(safe-area-inset-bottom))
    }
}
 @media(max-height:550px) and (orientation:landscape){
    .hero-viewport{
        min-height:0
    }
    .portrait-rig{
        width:52vw;
        top:10%
    }
    .hero-aside{
        width:15%;
        bottom:10%;
        font-size:10px
    }
    .collectible{
        width:40%
    }
    .hero-aside p{
        margin-top:10px
    }
    .food-gallery-track{
        padding-top:21vh
    }
    .menu-gallery-card{
        width:23vw;
        flex-basis:23vw
    }
    .card-level-1{
        margin-top:10vh
    }
    .food-gallery-title{
        font-size:14vw
    }
    .menu-panel>a{
        font-size:7vh
    }
    .menu-bottom{
        bottom:15px
    }
    .header .brand img{
        width:120px
    }
    .header .brand{
        top:10px
    }
    .hero-foot{
        bottom:8px!important
    }
}
 @media(prefers-reduced-motion:reduce){
    *,*::before,*::after{
        animation-duration:.01ms!important;
        transition-duration:.01ms!important
    }
    .cursor-glow{
        display:none
    }
}
 .lens{
    background-image:url('../images/film-still.jpg');
    background-size:cover;
    background-position:center
}
.lens canvas{
    opacity:0
}
.hero-viewport{
    contain:none
}
.portrait-rig{
    backface-visibility:visible
}
.menu-open .hero-viewport{
    pointer-events:none
}
/* The image stays untransformed inside the capped camera layer. */
 .portrait-rig .chimp-portrait{
    opacity:1!important;
    transform:none!important;
    visibility:visible
}
 .lens-fullscreen{
    clip-path:circle(0px at 50% 50%)
}
/* Gallery responsive polish: keep scroll-linked animation and original stagger. */
 .food-gallery-track{
    box-sizing:border-box;
    will-change:transform;
}
 .food-gallery-viewport{
    max-width:100%;
}
 @media(min-width:1101px){
     .food-gallery-track{
        gap:7vw;
        padding-left:6vw;
        padding-right:6vw;
    }
     .menu-gallery-card{
        width:24vw;
        flex-basis:24vw;
    }
     .card-level-1{
        margin-top:15vh;
    }
     .card-level-2{
        margin-top:2vh;
    }
}
 @media(min-width:701px) and (max-width:1100px){
     .food-gallery-track{
        gap:7vw;
        padding:19vh 7vw 0;
    }
     .menu-gallery-card{
        width:27vw;
        flex-basis:27vw;
    }
     .card-level-1{
        margin-top:12vh;
    }
     .card-level-2{
        margin-top:1vh;
    }
     .food-gallery{
        height:600svh;
    }
}
 @media(max-width:700px){
     .food-gallery{
        height:620svh;
    }
     .food-gallery-track{
        gap:8vw;
        padding:27vh 8vw 0;
    }
     .menu-gallery-card{
        width:76vw;
        flex-basis:76vw;
    }
     .card-level-0,.card-level-1,.card-level-2{
        margin-top:0;
    }
     .menu-gallery-card figcaption{
        margin-top:17px;
    }
     .gallery-index{
        top:calc(100% + 12px);
        font-size:16vw;
    }
     .gallery-footer{
        bottom:max(16px,env(safe-area-inset-bottom));
    }
     .gallery-footer>span:nth-child(2){
        display:none;
    }
}
 @media(max-width:390px){
    .food-gallery-track{
        padding-top:30vh
    }
    .menu-gallery-card{
        width:78vw;
        flex-basis:78vw
    }
    .food-gold-frame{
        padding:5px
    }
    .gallery-footer{
        letter-spacing:.07em
    }
}
 @media(prefers-reduced-motion:reduce){
    .food-gallery-track{
        will-change:auto;
    }
}

/*new css*/

/* The Malang footer address */

.footer-address {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  color: #f4e7d5;
  font-size: 14px;
  line-height: 1.8;
  text-decoration: none;
  max-width: 330px;
  transition: color 0.3s ease;
}

.footer-address span {
  color: #d6a74b;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.5px;
}

.footer-address:hover,
.footer-address:hover span {
  color: #ffd47d;
}

@media (max-width: 768px) {
  .footer-address {
    max-width: 100%;
    font-size: 13px;
    line-height: 1.7;
  }
}


/*end here*/
 