/* RED MOON V40 — premium visual layer */
:root{--rm-red:#e31d3f;--rm-red2:#ff4964;--rm-ink:#f5f0ed;--rm-muted:#938b8e;--rm-line:rgba(255,255,255,.085);--rm-panel:rgba(12,10,12,.78);--rm-gold:#bca06e;--rm-shadow:0 30px 90px rgba(0,0,0,.42)}
html{scroll-behavior:smooth;background:#050506}
body{background:#050506!important;color:var(--rm-ink)!important}
body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:9990;opacity:.045;background-image:radial-gradient(rgba(255,255,255,.7) .6px,transparent .7px);background-size:5px 5px;mix-blend-mode:screen}
.nav{position:fixed!important;top:0;left:0;right:0;height:74px!important;padding:0 clamp(18px,4vw,64px)!important;background:rgba(5,5,7,.68)!important;border-bottom:1px solid rgba(255,255,255,.07)!important;backdrop-filter:blur(22px) saturate(125%);box-shadow:0 18px 60px rgba(0,0,0,.22)!important;transition:background .35s,box-shadow .35s,transform .35s}
.nav.rm-scrolled{background:rgba(5,5,7,.94)!important;box-shadow:0 18px 70px rgba(0,0,0,.48)!important}
.nav:before{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(227,29,63,.65),transparent);opacity:.55}
.nav .brand{font-family:Cinzel,serif!important;font-weight:600;letter-spacing:.13em!important;text-shadow:0 0 24px rgba(227,29,63,.08)}
.nav .brand-mark{font-size:25px!important;color:var(--rm-red2)!important}
.nav nav{gap:20px!important}
.nav nav a{font-size:9px!important;letter-spacing:.17em!important;color:#a9a0a3!important;position:relative;transition:color .25s,transform .25s}
.nav nav a:after{height:1px!important;bottom:-8px!important;background:linear-gradient(90deg,transparent,var(--rm-red2),transparent)!important;box-shadow:0 0 12px rgba(227,29,63,.6)!important}
.nav nav a:hover,.nav nav a.active{color:#fff!important;transform:translateY(-1px)}
.nav .staff-link{border:1px solid rgba(227,29,63,.34)!important;padding:9px 12px!important;background:rgba(227,29,63,.035)}
.sound{border:1px solid rgba(255,255,255,.08)!important;border-radius:999px!important;background:rgba(255,255,255,.025)!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.02),0 8px 25px rgba(0,0,0,.18)!important;transition:.25s!important}
.sound:hover{border-color:rgba(227,29,63,.55)!important;box-shadow:0 0 25px rgba(227,29,63,.10)!important}

/* universal page rhythm */
main{position:relative;z-index:1}
.rm17-hero{min-height:100svh!important;padding-top:74px!important}
.rm17-hero-media{filter:saturate(.78) contrast(1.12) brightness(.78)!important}
.rm17-hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 30%,rgba(255,49,77,.13),transparent 22%),linear-gradient(90deg,rgba(3,3,5,.72),transparent 62%),linear-gradient(180deg,rgba(3,3,5,.05),rgba(3,3,5,.86) 92%);pointer-events:none}
.rm17-hero-content{max-width:900px!important}
.rm17-kicker{display:inline-flex;align-items:center;gap:12px}
.rm17-kicker:before{content:"";width:28px;height:1px;background:var(--rm-red2);box-shadow:0 0 12px rgba(227,29,63,.55)}
.rm17-title{font-size:clamp(76px,13vw,190px)!important;line-height:.76!important;text-shadow:0 18px 60px rgba(0,0,0,.5)!important}
.rm17-title em{-webkit-text-stroke:1px rgba(255,255,255,.56)!important;text-shadow:0 0 35px rgba(255,255,255,.05)}
.rm17-copy{font-size:15px!important;max-width:600px!important;color:#c2babc!important}
.rm17-actions{gap:10px!important}
.rm17-btn{position:relative;overflow:hidden;border-radius:999px!important;padding:14px 19px!important;background:rgba(255,255,255,.025);border-color:rgba(255,255,255,.12)!important;box-shadow:0 10px 35px rgba(0,0,0,.2)!important}
.rm17-btn:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 25%,rgba(255,255,255,.09),transparent 65%);transform:translateX(-120%);transition:transform .6s}
.rm17-btn:hover:before{transform:translateX(120%)}
.rm17-btn.red{background:linear-gradient(135deg,#df1739,#9b0d27)!important;border-color:#f13a58!important;box-shadow:0 12px 38px rgba(227,29,63,.22)!important}

.rm17-strip{background:#08070a!important;border-block-color:rgba(255,255,255,.07)!important}
.rm-neon-line{height:1px!important;background:linear-gradient(90deg,transparent,#e31d3f,transparent)!important;box-shadow:0 0 14px rgba(227,29,63,.5)}

.rm17-section{padding:clamp(82px,10vw,140px) clamp(20px,8vw,120px)!important}
.rm17-section-head{margin-bottom:42px!important}
.rm17-section h2{font-size:clamp(42px,6.3vw,88px)!important}
.rm17-section h2 em{-webkit-text-stroke:1px rgba(255,255,255,.5)!important}
.rm17-story{gap:clamp(40px,8vw,120px)!important}
.rm17-story-art{min-height:600px!important;border-radius:24px!important;border-color:rgba(255,255,255,.09)!important;box-shadow:var(--rm-shadow);transform:translateZ(0);overflow:hidden}
.rm17-story-art:after{background:linear-gradient(90deg,var(--rm-red),transparent);height:1px;left:25px;right:25px;bottom:20px;color:transparent}
.rm17-story-copy{max-width:650px}
.rm17-rule{background:linear-gradient(90deg,var(--rm-red),rgba(255,255,255,.06),transparent)!important}
.rm17-stat,.rm17-drink,.rm17-owner,.rm17-event-card,.rm17-journal-card,.rm17-vip-card{border-color:rgba(255,255,255,.08)!important;background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.012))!important;box-shadow:0 20px 65px rgba(0,0,0,.20);border-radius:20px!important}
.rm17-stat{transition:.35s}
.rm17-stat:hover{transform:translateY(-4px);border-color:rgba(227,29,63,.35)!important;background:linear-gradient(145deg,rgba(227,29,63,.07),rgba(255,255,255,.012))!important}
.rm17-drinks{gap:18px!important}
.rm17-drink{min-height:420px!important;padding:30px!important;transition:transform .4s,border-color .4s,box-shadow .4s!important}
.rm17-drink:before{background:radial-gradient(circle at 65% 25%,rgba(227,29,63,.22),transparent 30%),linear-gradient(145deg,rgba(255,255,255,.025),transparent 55%)!important}
.rm17-drink:hover{transform:translateY(-9px) rotateX(1deg)!important;box-shadow:0 30px 80px rgba(0,0,0,.45)!important}
.rm17-drink h3{font-size:26px!important}
.rm17-drink strong{color:#ff526c!important}
.rm17-event{border-radius:28px!important;padding:48px clamp(24px,5vw,70px)!important;box-shadow:var(--rm-shadow)}
.rm17-countdown div{border-left:1px solid rgba(255,255,255,.08);padding-left:14px}
.rm17-countdown b{font-size:32px!important;color:#fff}
.rm17-event-card{padding:26px!important}
.rm17-event-card:hover{transform:translateY(-3px) translateX(0)!important;box-shadow:0 20px 65px rgba(0,0,0,.3)}
.rm17-date strong{font-size:48px!important}
.rm17-owner{min-height:390px!important;transition:.4s}
.rm17-owner:hover{transform:translateY(-6px);border-color:rgba(227,29,63,.35)!important;box-shadow:0 28px 80px rgba(0,0,0,.4)}
.rm17-avatar{background:radial-gradient(circle at 50% 35%,#350b14,#08080a 68%)!important;box-shadow:0 0 80px rgba(227,29,63,.14)!important}
.rm17-gallery{gap:14px!important}
.rm17-shot{border-radius:18px!important;border-color:rgba(255,255,255,.08)!important}
.rm17-shot:hover{transform:scale(.99)!important;border-color:rgba(227,29,63,.5)!important}
.rm17-vip{background:radial-gradient(circle at 50% 0%,rgba(227,29,63,.10),transparent 36%),#070609!important;border-block:1px solid rgba(227,29,63,.10)}
.rm17-vip-card{padding:28px!important;min-height:210px;transition:.35s}
.rm17-vip-card:hover{transform:translateY(-5px);border-color:rgba(227,29,63,.34)!important}
.rm17-journal-card{padding:30px!important}
.rm17-journal-card.feature{min-height:330px!important}
.rm17-footer{position:relative!important;border-top:1px solid rgba(255,255,255,.08)!important;background:linear-gradient(180deg,#08070a,#050506)!important;padding:55px 8vw!important}
.rm17-footer:before{content:"";position:absolute;top:-1px;left:8vw;right:8vw;height:1px;background:linear-gradient(90deg,transparent,var(--rm-red),transparent);box-shadow:0 0 20px rgba(227,29,63,.25)}
.rm17-footer-brand{font-family:Cinzel,serif!important;letter-spacing:.16em!important}

/* page heroes */
.rm17-page-hero,.menu-premium-hero{min-height:55vh!important;padding-top:130px!important;display:flex;align-items:flex-end!important;padding-left:clamp(22px,8vw,120px)!important;padding-right:clamp(22px,8vw,120px)!important;padding-bottom:70px!important;position:relative!important;overflow:hidden;background:radial-gradient(circle at 78% 25%,rgba(227,29,63,.14),transparent 26%),linear-gradient(180deg,#09070a,#050506 88%)!important}
.rm17-page-hero:after,.menu-premium-hero:after{content:"";position:absolute;inset:auto 0 0;height:42%;background:linear-gradient(0deg,#050506,transparent);pointer-events:none}
.rm17-page-hero>div,.menu-premium-hero>*{position:relative;z-index:2}
.rm17-page-hero h1,.menu-premium-hero h1{font-size:clamp(62px,10vw,150px)!important;line-height:.78!important;text-shadow:0 18px 60px rgba(0,0,0,.5)}

/* menu */
.menu-premium-section{padding:90px clamp(20px,8vw,120px)!important}
.menu-intro{align-items:end!important;margin-bottom:42px!important}
.drink-grid,.featured-grid{gap:16px!important}
.drink-card{border-radius:18px!important;border:1px solid rgba(255,255,255,.08)!important;background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.012))!important;box-shadow:0 20px 65px rgba(0,0,0,.25)!important;overflow:hidden!important;transition:.4s!important}
.drink-card:hover{transform:translateY(-7px)!important;border-color:rgba(227,29,63,.35)!important;box-shadow:0 30px 80px rgba(0,0,0,.42)!important}
.drink-art{background:radial-gradient(circle at 50% 20%,rgba(227,29,63,.10),transparent 48%),#09080a!important}
.drink-art img{transition:transform .55s ease,filter .55s ease!important;filter:saturate(.9) contrast(1.04)}
.drink-card:hover .drink-art img{transform:scale(1.045);filter:saturate(1.04) contrast(1.08)}
.drink-info{background:linear-gradient(180deg,rgba(9,8,10,.88),rgba(9,8,10,.98))!important}

/* live badge */
.rm-live-indicator{border-radius:16px!important;background:rgba(8,6,9,.94)!important;border-color:rgba(227,29,63,.48)!important;box-shadow:0 20px 70px rgba(0,0,0,.5),0 0 45px rgba(227,29,63,.13)!important}

/* Club */
.club-page{background:radial-gradient(circle at 50% 0,rgba(227,29,63,.09),transparent 28%),#050506!important}
.club-shell{padding-top:95px!important}
.club-hero{min-height:430px!important;padding:95px clamp(20px,7vw,110px) 70px!important;border-bottom:1px solid rgba(255,255,255,.07)!important;background:radial-gradient(circle at 75% 35%,rgba(227,29,63,.16),transparent 28%),linear-gradient(180deg,rgba(12,7,10,.94),rgba(5,5,6,.95))!important;position:relative;overflow:hidden}
.club-hero:after{content:"月";position:absolute;right:7vw;bottom:-80px;font:300px/1 Cinzel;color:rgba(227,29,63,.045);pointer-events:none}
.club-hero h1{font-size:clamp(60px,9vw,130px)!important;line-height:.8!important}
.club-grid{gap:18px!important;padding:55px clamp(20px,7vw,110px)!important}
.club-player,.club-side,.club-chat{border:1px solid rgba(255,255,255,.08)!important;background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.012))!important;border-radius:22px!important;box-shadow:0 25px 80px rgba(0,0,0,.3)!important}
.gocast-stage{min-height:340px!important;border-radius:18px!important;background:radial-gradient(circle at 50% 40%,rgba(227,29,63,.16),transparent 26%),linear-gradient(135deg,#12080c,#070608)!important;border:1px solid rgba(227,29,63,.16)!important;overflow:hidden;position:relative}
.gocast-stage:before{content:"";position:absolute;inset:20px;border:1px solid rgba(255,255,255,.05);border-radius:14px;pointer-events:none}
.stage-dot,.room-pulse i{box-shadow:0 0 20px rgba(227,29,63,.75)!important}
.club-action{border-radius:999px!important;border-color:rgba(255,255,255,.08)!important;background:rgba(255,255,255,.025)!important;transition:.25s!important}
.club-action:hover{border-color:rgba(227,29,63,.42)!important;transform:translateY(-2px)}
.chat-list{min-height:260px!important}

/* DJ */
.dj-page{background:radial-gradient(circle at 50% 0,rgba(227,29,63,.08),transparent 30%),#050506!important}
.dj-shell{padding-top:105px!important}
.dj-top{padding:65px clamp(20px,7vw,110px) 35px!important}
.dj-top h1{font-size:clamp(58px,8vw,115px)!important;line-height:.8!important}
.dj-live-card,.dj-panel{border:1px solid rgba(255,255,255,.08)!important;background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.012))!important;border-radius:22px!important;box-shadow:0 25px 80px rgba(0,0,0,.3)!important}
.dj-live-card{margin:0 clamp(20px,7vw,110px) 20px!important}
.dj-panel{transition:border-color .3s,transform .3s}
.dj-panel:hover{border-color:rgba(227,29,63,.22)!important}
.dj-state{letter-spacing:.2em!important;color:#ff4964!important}

/* reduced motion */
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}
@media(max-width:900px){.nav{height:70px!important}.rm17-hero{padding-top:70px!important}.rm17-story{grid-template-columns:1fr!important}.rm17-story-art{min-height:420px!important}.rm17-drinks{grid-template-columns:1fr!important}.rm17-owners{grid-template-columns:1fr!important}.rm17-event{grid-template-columns:1fr!important}.rm17-event-card{grid-template-columns:90px 1fr!important}.rm17-event-card .rm17-btn{grid-column:2;justify-self:start}.rm17-gallery{grid-template-columns:1fr 1fr!important;grid-auto-rows:190px!important}.shot-a{grid-row:span 1!important}.club-grid{grid-template-columns:1fr!important}.drink-grid,.featured-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:560px){.nav{padding:0 15px!important}.rm17-title{font-size:clamp(58px,18vw,90px)!important}.rm17-actions{flex-direction:column;align-items:stretch}.rm17-btn{justify-content:center}.rm17-section{padding:72px 18px!important}.rm17-story-art{min-height:330px!important;border-radius:18px!important}.rm17-stats{grid-template-columns:1fr!important}.rm17-event{padding:28px 20px!important;border-radius:20px!important}.rm17-countdown{flex-wrap:wrap}.rm17-event-card{grid-template-columns:1fr!important;gap:15px!important}.rm17-event-card .rm17-btn{grid-column:auto}.rm17-gallery{grid-template-columns:1fr!important}.drink-grid,.featured-grid{grid-template-columns:1fr!important}.rm17-page-hero,.menu-premium-hero{min-height:48vh!important;padding:115px 18px 55px!important}.club-hero{padding:80px 18px 50px!important}.club-hero h1{font-size:clamp(52px,15vw,82px)!important}.club-grid{padding:35px 18px!important}.dj-top{padding:45px 18px 25px!important}.dj-live-card{margin:0 18px 18px!important}}
.rm40-reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:var(--rm-delay,0ms)}
.rm40-reveal.rm40-in{opacity:1;transform:none}
.rm17-drink,.rm17-owner,.rm17-journal-card,.rm17-vip-card,.drink-card,.dj-panel,.club-player,.club-side,.club-chat{position:relative;overflow:hidden}
.rm17-drink:after,.rm17-owner:after,.rm17-journal-card:after,.rm17-vip-card:after,.drink-card:after,.dj-panel:after,.club-player:after,.club-side:after,.club-chat:after{content:"";position:absolute;inset:0;background:radial-gradient(240px circle at var(--mx,50%) var(--my,20%),rgba(227,29,63,.075),transparent 65%);pointer-events:none;opacity:.9;transition:opacity .25s}
