html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:#0B0806;color:#F1E7DB}
*{box-sizing:border-box}
img{max-width:100%}
a{color:#F1E7DB}a:hover{color:#DCC19A}
summary{list-style:none;cursor:pointer}
summary::-webkit-details-marker{display:none}
details>summary svg{transition:transform .35s ease}
details[open]>summary svg{transform:rotate(45deg)}
:focus-visible{outline:2px solid #DCC19A;outline-offset:3px}

/* Desktop and mobile layouts: one is shown, depending on screen width */
.v-mobile{display:none}
@media (max-width:900px){.v-desktop{display:none}.v-mobile{display:block}}

/* Smaller laptops and tablets in landscape */
@media (max-width:1240px){
.lb-moon{width:560px !important;height:560px !important;right:-10px !important;top:170px !important}
.lb-card{transform:none !important;flex:1 1 calc(50% - 13px) !important}
.lb-nav{gap:26px !important}
}
@media (max-width:1100px){.lb-nav{gap:18px !important;letter-spacing:.12em !important}}

/* Mobile menu */
.lb-menu{position:fixed;top:0;left:0;right:0;bottom:0;z-index:100;overflow-y:auto;background:rgba(11,8,6,.97);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
.lb-menu[hidden]{display:none}

/* Motion */
@keyframes lbFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
@keyframes lbSpin{to{transform:rotate(360deg)}}
@keyframes lbTwinkle{0%,100%{opacity:.2}50%{opacity:1}}
@keyframes lbGrain{0%{transform:translate(0,0)}20%{transform:translate(-4%,3%)}40%{transform:translate(3%,-4%)}60%{transform:translate(-3%,-2%)}80%{transform:translate(4%,3%)}100%{transform:translate(0,0)}}
@keyframes lbSheen{0%{background-position:130% 0}60%,100%{background-position:-30% 0}}
@keyframes lbRise{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
@keyframes lbMarquee{to{transform:translateX(-50%)}}
@keyframes lbPulse{0%{transform:scale(.5);opacity:.8}100%{transform:scale(2.6);opacity:0}}
@keyframes lbBreath{0%,100%{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}
@keyframes lbScroll{0%{transform:translateY(-100%)}100%{transform:translateY(260%)}}
.lb-float{animation:lbFloat 10s ease-in-out infinite}
.lb-float2{animation:lbFloat 13s ease-in-out 2s infinite}
.lb-spin{animation:lbSpin 22s linear infinite}
.lb-spin-slow{animation:lbSpin 60s linear infinite reverse}
.lb-tw{animation:lbTwinkle 4.5s ease-in-out infinite}
.lb-tw2{animation:lbTwinkle 6s ease-in-out 1.4s infinite}
.lb-tw3{animation:lbTwinkle 5.2s ease-in-out 2.8s infinite}
.lb-grain{background-image:url(img/grain.png);animation:lbGrain 1s steps(5) infinite}
.lb-sheen{background-size:260% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:lbSheen 8s ease-in-out 1.6s infinite}
.lb-rise{animation:lbRise 1.2s cubic-bezier(.2,.7,.2,1) both}
.lb-d1{animation-delay:.12s}.lb-d2{animation-delay:.26s}.lb-d3{animation-delay:.4s}.lb-d4{animation-delay:.54s}
.lb-track{animation:lbMarquee 46s linear infinite}
.v-mobile .lb-track{animation-duration:36s}
.lb-marquee:hover .lb-track{animation-play-state:paused}
.lb-pulse{transform-box:fill-box;transform-origin:center;animation:lbPulse 3s ease-out infinite}
.lb-pulse2{transform-box:fill-box;transform-origin:center;animation:lbPulse 3s ease-out 1.5s infinite}
.lb-breath{animation:lbBreath 8s ease-in-out infinite}
.lb-scroll{animation:lbScroll 2.6s cubic-bezier(.6,0,.4,1) infinite}
.lb-card{transition:transform .7s cubic-bezier(.2,.7,.2,1),border-color .7s,box-shadow .7s}
.lb-card:hover{transform:translateY(-12px) rotateY(0deg) !important;border-color:rgba(220,193,154,.5) !important;box-shadow:0 60px 120px rgba(0,0,0,.7),0 0 60px rgba(220,193,154,.12) !important}
.lb-tilt{transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.lb-tilt:hover{transform:rotateY(0deg) rotateX(0deg) translateZ(30px) !important}
.lb-btn{transition:transform .35s,box-shadow .35s}
.lb-btn:hover{transform:translateY(-2px);box-shadow:0 20px 60px rgba(233,213,180,.38)}
.lb-lift{transition:transform .6s cubic-bezier(.2,.7,.2,1),border-color .6s}
.lb-lift:hover{transform:translateY(-6px);border-color:rgba(220,193,154,.45) !important}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none !important;transition:none !important}}
