@font-face{font-family:'Imperia Head';src:url('../fonts/Oswald-VariableFont_wght.ttf') format('truetype');font-weight:200 700;font-display:swap;}
@font-face{font-family:'Imperia Script';src:url('../fonts/MarckScript-Regular.ttf') format('truetype');font-display:swap;}
@font-face{font-family:'Imperia Body';src:url('../fonts/Manrope-VariableFont_wght.ttf') format('truetype');font-weight:200 800;font-display:swap;}

:root{--head:'Imperia Head','Oswald','Bebas Neue','Arial Narrow',Impact,sans-serif;--script:'Imperia Script','Marck Script','Segoe Script','Bradley Hand',cursive;--body:'Imperia Body','Manrope','Segoe UI',Roboto,Arial,sans-serif;--bg:#0a0a0a;--gold:#d8b566;--cream:#f3e6c4;--ink:#f4f1ea;--muted:#9a9384;--line:rgba(216,181,102,.22);}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--ink);font-family:var(--body);line-height:1.6;text-align:center;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
a{color:inherit;}
.col{max-width:1000px;margin:0 auto;padding:0 22px;}

/* hero */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:50px 0 70px;overflow:hidden;
  background:radial-gradient(500px circle at var(--mx,50%) var(--my,30%),rgba(216,181,102,.12),transparent 60%);}
#dust{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;}
.hero-in{position:relative;z-index:1;padding:0 20px;}
.logo-wrap{width:clamp(230px,44vw,380px);margin:0 auto;transition:transform .25s ease-out;cursor:pointer;}
.logo{width:100%;height:auto;display:block;overflow:visible;animation:glow 4s ease-in-out infinite;}
@keyframes glow{50%{filter:drop-shadow(0 0 26px rgba(216,181,102,.35));}}
.logo.pre *{visibility:hidden;}
.logo .dots{stroke-linecap:round;transform-box:fill-box;transform-origin:center;animation:spin 60s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}
.logo .ring{stroke-dasharray:1;transform-box:fill-box;transform-origin:center;transform:rotate(-90deg);}
.logo.play .ring{animation:draw 1.8s ease-out both;}
@keyframes draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.logo .stem{stroke-dasharray:1;}
.logo.play .stem{animation:draw 1.2s .3s ease-out both;}
.logo .leaf{transform-box:fill-box;transform-origin:center;}
.logo.play .leaf{animation:leafIn .5s cubic-bezier(.3,1.5,.5,1) both;}
@keyframes leafIn{from{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}
.logo .ltr{font-family:var(--head);font-weight:600;transform-box:fill-box;transform-origin:center;}
.logo.play .ltr{animation:ltrIn .7s cubic-bezier(.2,.9,.3,1.2) both;}
@keyframes ltrIn{from{opacity:0;transform:translateY(22px) scale(.6)}to{opacity:1;transform:none}}
.logo .sub{font-family:var(--script);font-size:30px;fill:var(--cream);}
.logo.play .sub{animation:fadeUp .8s 2s both;}
.logo .under{transform-box:fill-box;transform-origin:center;}
.logo.play .under{animation:grow 1s 2.2s ease-out both;}
@keyframes grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

.cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:34px;}
.btn{position:relative;overflow:hidden;padding:14px 32px;font-size:15px;font-weight:600;text-decoration:none;border:1px solid var(--gold);color:var(--gold);transition:transform .25s,background .25s,color .25s;}
.btn.fill{background:var(--gold);color:#120e05;}
.btn::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-20deg);}
.btn:hover::after{left:130%;transition:left .7s;}
.btn:not(.fill):hover{background:var(--gold);color:#120e05;}

.title{margin-top:56px;font-family:var(--head);font-weight:600;font-size:clamp(46px,9vw,96px);line-height:1;letter-spacing:.02em;}
.title .l{display:inline-block;animation:rise .7s both;}
.title .l.hop{animation:hop .5s;}
@keyframes rise{from{opacity:0;transform:translateY(40px) rotate(6deg)}to{opacity:1;transform:none}}
@keyframes hop{40%{transform:translateY(-14px);color:var(--gold)}}
.script{font-family:var(--script);font-size:clamp(26px,4vw,40px);color:var(--cream);min-height:1.5em;margin-top:4px;}
.script::after{content:"|";color:var(--gold);animation:blink .8s steps(1) infinite;}
@keyframes blink{50%{opacity:0}}
.rot{margin-top:22px;min-height:125px;}
.rot-t{display:block;font-family:var(--head);font-weight:500;font-size:clamp(24px,4vw,36px);color:var(--gold);letter-spacing:.06em;}
.rot-d{display:block;color:var(--ink);font-size:16px;margin-top:2px;}
.rot-a{display:block;color:var(--muted);font-size:14px;margin-top:2px;}
.down{display:inline-block;margin-top:26px;font-size:14px;color:var(--muted);text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:2px;transition:.25s;}
.down:hover{color:var(--gold);border-color:var(--gold);}

/* sections */
section{padding:90px 0;border-top:1px solid var(--line);}
h2{font-family:var(--head);font-weight:600;font-size:clamp(30px,5vw,46px);letter-spacing:.03em;margin-bottom:12px;}
.sub-t{color:var(--muted);max-width:46ch;margin:0 auto 34px;}
.rv{opacity:0;transform:translateY(24px);transition:opacity .8s,transform .8s;}
.rv.in{opacity:1;transform:none;}

.chips{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:34px;}
.chip{font-family:inherit;font-size:14px;padding:9px 20px;background:transparent;border:1px solid var(--line);color:var(--ink);cursor:pointer;border-radius:40px;transition:.25s;}
.chip:hover{border-color:var(--gold);}
.chip.on{background:var(--gold);border-color:var(--gold);color:#120e05;font-weight:600;}

.grid{display:flex;flex-wrap:wrap;justify-content:center;gap:26px;max-width:960px;margin:0 auto;}
.grid .card{flex:0 0 calc((100% - 52px)/3);}
@media (max-width:820px){.grid .card{flex-basis:calc((100% - 26px)/2);}}
@media (max-width:520px){.grid .card{flex-basis:100%;max-width:400px;}}
.card{position:relative;display:block;font-family:inherit;color:inherit;text-align:center;cursor:zoom-in;background:#111;border:1px solid var(--line);padding:0;
  transform:perspective(800px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .2s ease-out,box-shadow .3s,border-color .3s;animation:pop .5s both;}
.card[hidden]{display:none;}
@keyframes pop{from{opacity:0;transform:scale(.9)}to{opacity:1}}
.card:hover{border-color:var(--gold);box-shadow:0 20px 50px rgba(0,0,0,.6),0 0 30px rgba(216,181,102,.15);}
.card img{display:block;width:100%;height:auto;}
.card::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(220px circle at var(--sx,50%) var(--sy,50%),rgba(255,240,200,.18),transparent 60%);opacity:0;transition:opacity .3s;}
.card:hover::after{opacity:1;}
.cap{display:block;padding:12px 10px 14px;}
.cap b{display:block;font-family:var(--head);font-weight:500;letter-spacing:.05em;font-size:18px;}
.cap i{font-style:normal;font-size:13px;color:var(--muted);}
.more{margin-top:34px;color:var(--muted);font-size:15px;}

.cl{margin-top:22px;}
.cl span{display:block;font-size:13px;color:var(--muted);}
.cl a{font-size:20px;text-decoration:none;border-bottom:1px solid var(--gold);transition:.25s;}
.cl a:hover{color:var(--gold);letter-spacing:.03em;}
footer{padding:30px 0 40px;font-size:13px;color:var(--muted);border-top:1px solid var(--line);}

/* lightbox */
.lb{position:fixed;inset:0;z-index:50;background:rgba(0,0,0,.97);display:flex;align-items:center;justify-content:center;animation:fade .25s;}
.lb[hidden]{display:none;}
@keyframes fade{from{opacity:0}}
/* lightbox */
.lb{flex-direction:column;padding:20px;}
.lb-stage{position:relative;display:flex;align-items:center;justify-content:center;}
.lb-stage img{display:block;width:auto;height:auto;max-width:min(88vw,720px);max-height:76vh;border:1px solid var(--line);box-shadow:0 30px 80px rgba(0,0,0,.7);animation:zoomIn .3s;}
@keyframes zoomIn{from{opacity:0;transform:scale(.94)}}
.lb button{background:rgba(20,18,12,.85);color:var(--gold);border:1px solid var(--line);font-size:26px;width:48px;height:48px;border-radius:50%;cursor:pointer;transition:.2s;}
.lb button:hover{background:var(--gold);color:#120e05;}
.lb-x{position:absolute;top:16px;right:16px;}
.lb-n{position:absolute;top:50%;margin-top:-24px;}
.lb-p{left:-68px;}.lb-nx{right:-68px;}
.lb-cap{margin-top:16px;font-size:14px;color:var(--muted);text-align:center;}
@media (max-width:860px){.lb-p{left:8px;}.lb-nx{right:8px;}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;}.rv{opacity:1;transform:none;}.logo.pre *{visibility:visible;}}

footer .f-line{margin:4px 0;}
footer .f-name{color:var(--ink);font-weight:600;margin-bottom:6px;}
footer a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--gold);transition:color .25s;}
footer a:hover{color:var(--gold);}
