:root{
  --bg:#020202;
  --panel:#090607;
  --panel-2:#12090b;
  --red:#ff183d;
  --red-hot:#ff3558;
  --red-deep:#9d001a;
  --white:#fff7f7;
  --muted:#bfaeb2;
  --line:rgba(255,24,61,.28);
  --soft-line:rgba(255,255,255,.09);
  --glow:0 0 22px rgba(255,24,61,.48),0 0 72px rgba(255,24,61,.2);
  --max:1180px;
  --radius:30px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--white);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;overflow-x:hidden}
a{color:inherit;text-decoration:none}img{display:block;max-width:100%}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background:radial-gradient(circle at 14% 8%,rgba(255,24,61,.22),transparent 34%),radial-gradient(circle at 85% 18%,rgba(140,0,20,.24),transparent 32%),linear-gradient(120deg,transparent 0 48%,rgba(255,24,61,.035) 49% 51%,transparent 52%),repeating-linear-gradient(0deg,rgba(255,255,255,.018) 0 1px,transparent 1px 4px);mix-blend-mode:screen}
.site-bg{position:fixed;inset:0;z-index:-1;overflow:hidden;background:linear-gradient(180deg,#030303 0%,#090305 44%,#020202 100%)}
.site-bg span{position:absolute;border:1px solid rgba(255,24,61,.14);box-shadow:var(--glow);opacity:.22;animation:caveDrift 13s linear infinite}
.site-bg span:nth-child(1){width:440px;height:440px;border-radius:40px;left:-160px;top:20%;transform:rotate(22deg)}
.site-bg span:nth-child(2){width:280px;height:280px;border-radius:50%;right:-90px;top:8%;animation-duration:18s}
.site-bg span:nth-child(3){width:620px;height:180px;right:-240px;bottom:9%;transform:skewX(-18deg);animation-duration:21s}
@keyframes caveDrift{50%{transform:translate3d(16px,-20px,0) rotate(35deg);opacity:.35}}
.site-header{position:sticky;top:14px;z-index:50;width:min(calc(100% - 28px),var(--max));margin:14px auto 0;display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border:1px solid var(--line);border-radius:999px;background:rgba(3,3,3,.78);backdrop-filter:blur(22px);box-shadow:0 18px 60px rgba(0,0,0,.48),0 0 36px rgba(255,24,61,.14)}
.brand{display:flex;align-items:center;gap:10px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.brand img{width:44px;height:44px;border-radius:50%;object-fit:cover;box-shadow:0 0 18px rgba(255,24,61,.8)}.brand span{font-size:.92rem}
.site-nav{display:flex;align-items:center;gap:4px}.site-nav a{padding:12px 16px;border-radius:999px;color:#e8d6da;font-size:.92rem;font-weight:850}.site-nav a:hover,.site-nav a.active{background:rgba(255,24,61,.14);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,24,61,.2)}.site-nav .nav-cta{background:var(--red);color:#fff;box-shadow:var(--glow)}
.menu-toggle{display:none;width:48px;height:48px;border:0;border-radius:50%;background:rgba(255,24,61,.12);position:relative}.menu-toggle span{position:absolute;left:14px;right:14px;height:2px;background:#fff}.menu-toggle span:first-child{top:18px}.menu-toggle span:last-child{bottom:18px}
.section-pad{padding:92px 20px}.hero{min-height:calc(100vh - 90px);display:grid;align-items:center;position:relative;overflow:hidden}.hero-grid{width:min(100%,var(--max));margin:auto;display:grid;grid-template-columns:1fr .95fr;gap:58px;align-items:center}.eyebrow{margin:0 0 14px;color:var(--red-hot);font-size:.75rem;font-weight:950;letter-spacing:.24em;text-transform:uppercase;text-shadow:0 0 24px rgba(255,24,61,.95)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(3.1rem,8.3vw,7.8rem);line-height:.84;letter-spacing:-.08em;margin-bottom:22px;text-transform:uppercase;text-shadow:0 0 32px rgba(255,24,61,.28)}h2{font-size:clamp(2.1rem,5.2vw,4.85rem);line-height:.9;letter-spacing:-.06em;margin-bottom:16px;text-transform:uppercase}h3{letter-spacing:-.03em}.hero-text,.section-heading p,.location-card p,.gallery-hero p,.booking-hero p{color:var(--muted);font-size:1.08rem;line-height:1.72;max-width:700px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 22px;border-radius:999px;font-weight:950;border:1px solid transparent;transition:.25s ease;cursor:pointer}.btn-primary{background:linear-gradient(135deg,var(--red),var(--red-deep));color:#fff;box-shadow:var(--glow)}.btn-primary:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 0 34px rgba(255,24,61,.8),0 0 100px rgba(255,24,61,.32)}.btn-ghost{background:rgba(255,255,255,.045);border-color:var(--line);color:#fff}.btn-ghost:hover{background:rgba(255,24,61,.14);transform:translateY(-3px)}.pulse{animation:pulseGlow 2.1s ease-in-out infinite}@keyframes pulseGlow{50%{box-shadow:0 0 38px rgba(255,24,61,.9),0 0 110px rgba(255,24,61,.35)}}
.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:34px}.hero-stats div{padding:16px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,rgba(255,24,61,.08),rgba(255,255,255,.025))}.hero-stats strong{display:block}.hero-stats span{display:block;color:var(--muted);font-size:.82rem;margin-top:4px}.hero-arena{position:relative;min-height:630px;perspective:1000px}.arena-main{position:absolute;inset:130px 24px 0;border:1px solid var(--line);border-radius:36px;overflow:hidden;box-shadow:0 28px 100px rgba(0,0,0,.75),var(--glow);transform:rotateX(4deg) rotateY(-7deg);animation:arenaTilt 7s ease-in-out infinite}.arena-main img{width:100%;height:100%;object-fit:cover;filter:saturate(1.25) contrast(1.1)}.arena-main::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(0,0,0,.7)),radial-gradient(circle at 70% 10%,rgba(255,24,61,.22),transparent 44%)}.arena-ring{position:absolute;z-index:4;width:210px;height:210px;left:50%;top:0;transform:translateX(-50%);border-radius:50%;padding:8px;background:#080808;border:1px solid var(--line);box-shadow:var(--glow);animation:logoHover 4.8s ease-in-out infinite}.arena-ring img{width:100%;height:100%;object-fit:cover;border-radius:50%}.mini-shot{position:absolute;z-index:6;width:176px;border-radius:24px;overflow:hidden;border:1px solid var(--line);background:#100;box-shadow:0 18px 50px rgba(0,0,0,.6),var(--glow);animation:float 5.5s ease-in-out infinite}.mini-shot img{width:100%;height:190px;object-fit:cover}.shot-one{left:0;bottom:62px}.shot-two{right:0;top:226px;animation-delay:-2s}@keyframes arenaTilt{50%{transform:rotateX(1deg) rotateY(4deg) translateY(-8px)}}@keyframes logoHover{50%{transform:translateX(-50%) translateY(-10px) scale(1.03)}}@keyframes float{50%{transform:translateY(-18px) rotate(2deg)}}
.section-heading{width:min(100%,var(--max));margin:0 auto 36px}.booking-shell{background:linear-gradient(180deg,rgba(255,24,61,.08),rgba(0,0,0,0))}.booking-grid{width:min(100%,var(--max));margin:auto;display:grid;grid-template-columns:1.13fr .87fr;gap:22px}.booking-panel,.booking-output,.feature-card,.tour-card,.location-card,.gallery-hero,.booking-hero{background:linear-gradient(180deg,rgba(255,24,61,.075),rgba(255,255,255,.028));border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 24px 80px rgba(0,0,0,.42);backdrop-filter:blur(18px)}.booking-panel{padding:24px;display:grid;gap:18px;position:relative;overflow:hidden}.booking-panel::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg,transparent,rgba(255,24,61,.12),transparent);transform:translateX(-100%);animation:sweep 7s ease-in-out infinite}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{display:grid;gap:8px;color:#fff;font-weight:850;position:relative}input,select,textarea{width:100%;border:1px solid rgba(255,24,61,.32);background:rgba(0,0,0,.66);color:#fff;border-radius:16px;padding:15px 16px;outline:0;font:inherit}input:focus,select:focus,textarea:focus{border-color:var(--red);box-shadow:0 0 0 4px rgba(255,24,61,.16),0 0 28px rgba(255,24,61,.34)}textarea{resize:vertical}.booking-buttons{display:flex;gap:12px;flex-wrap:wrap}.booking-output{padding:26px;display:flex;flex-direction:column;gap:16px}.booking-output h3{font-size:2rem;margin:10px 0 0}.booking-output p{white-space:pre-line;color:var(--muted);line-height:1.7}.status-dot{width:14px;height:14px;border-radius:50%;background:var(--red);box-shadow:0 0 24px var(--red);animation:blink 1.4s infinite}.copy-btn{align-self:flex-start;background:#fff;color:#100;border:0;border-radius:999px;padding:13px 18px;font-weight:950;cursor:pointer}.hours-card{margin-top:auto;padding:18px;border-radius:18px;background:rgba(255,24,61,.09);border:1px solid var(--line)}.hours-card h4{margin:0 0 10px}.hours-card h4:not(:first-child){margin-top:16px}.hours-card p{margin:3px 0;color:var(--muted)}@keyframes sweep{20%,100%{transform:translateX(100%)}}@keyframes blink{50%{opacity:.45}}
.tour-grid{width:min(100%,var(--max));margin:auto;display:grid;grid-template-columns:1.1fr .9fr;gap:18px}.tour-card{overflow:hidden;position:relative;min-height:330px;transition:.25s ease}.tour-card.wide{grid-row:span 2}.tour-card:hover{transform:translateY(-6px);box-shadow:0 30px 100px rgba(0,0,0,.5),var(--glow)}.tour-card img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;filter:saturate(1.22) contrast(1.08);transition:transform .5s ease}.tour-card:hover img{transform:scale(1.06)}.tour-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 20%,rgba(0,0,0,.9))}.tour-card div{position:absolute;left:22px;right:22px;bottom:22px;z-index:2}.tour-card span{color:var(--red);font-weight:950;text-shadow:0 0 24px var(--red)}.tour-card h3{font-size:2rem;margin:6px 0}.tour-card p{color:#dfc8ce;line-height:1.6}.feature-grid{width:min(100%,var(--max));margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.feature-card{padding:24px;min-height:230px;transition:.25s ease}.feature-card:hover{transform:translateY(-6px);box-shadow:var(--glow)}.feature-card span{font-size:2rem;filter:drop-shadow(0 0 15px var(--red))}.feature-card h3{font-size:1.35rem;margin:20px 0 10px}.feature-card p{color:var(--muted);line-height:1.65}.gallery-strip{overflow:hidden}.marquee{overflow:hidden}.marquee-track{display:flex;gap:16px;width:max-content;animation:marquee 34s linear infinite}.marquee-track img{width:285px;height:380px;object-fit:cover;border-radius:24px;border:1px solid var(--line);box-shadow:0 16px 50px rgba(0,0,0,.5)}@keyframes marquee{to{transform:translateX(-50%)}}.center-action{text-align:center;margin-top:28px}.location-card{width:min(100%,var(--max));margin:auto;padding:20px;display:grid;grid-template-columns:.9fr 1.1fr;gap:22px;align-items:center}.location-card>div{padding:22px}.location-card iframe{width:100%;height:420px;border:0;border-radius:20px;filter:grayscale(1) invert(.9) contrast(1.14)}
.site-footer{padding:54px 20px;text-align:center;border-top:1px solid var(--line);background:#020202}.site-footer img{width:82px;height:82px;object-fit:cover;border-radius:50%;margin:0 auto 14px;box-shadow:var(--glow)}.site-footer p{color:var(--muted)}.site-footer a{font-weight:950;color:var(--red-hot)}
.gallery-page,.booking-page{padding-top:70px}.gallery-hero,.booking-hero{width:min(100%,var(--max));margin:0 auto 24px;padding:34px}.gallery-hero h1,.booking-hero h1{font-size:clamp(2.8rem,7vw,6rem)}.booking-hero{background:linear-gradient(135deg,rgba(255,24,61,.14),rgba(255,255,255,.03)),url('../img/gallery/54-red-pool-room-night.webp') center/cover}.booking-hero p{max-width:620px}.page-booking-grid{margin-top:22px}.filter-bar{width:min(100%,var(--max));margin:0 auto 24px;display:flex;gap:10px;flex-wrap:wrap}.filter-bar button{border:1px solid var(--line);background:rgba(255,255,255,.04);color:#fff;border-radius:999px;padding:12px 16px;font-weight:900;cursor:pointer}.filter-bar button.active,.filter-bar button:hover{background:var(--red);box-shadow:var(--glow)}.gallery-grid{width:min(100%,var(--max));margin:auto;columns:4 230px;column-gap:16px}.gallery-item{break-inside:avoid;margin:0 0 16px;border:1px solid var(--line);border-radius:22px;overflow:hidden;background:rgba(255,255,255,.04);cursor:pointer;box-shadow:0 14px 45px rgba(0,0,0,.38);transition:.25s ease}.gallery-item:hover{transform:translateY(-5px) rotate(.5deg);box-shadow:0 18px 60px rgba(0,0,0,.55),var(--glow)}.gallery-item img{width:100%;height:auto}.gallery-caption{padding:12px 14px}.gallery-caption strong{display:block}.gallery-caption span{font-size:.82rem;color:var(--red-hot);font-weight:900;text-transform:uppercase;letter-spacing:.12em}.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.9);z-index:90;display:none;align-items:center;justify-content:center;padding:22px}.lightbox.active{display:flex}.lightbox img{max-height:82vh;max-width:92vw;border-radius:24px;box-shadow:var(--glow)}.lightbox p{position:absolute;bottom:18px;color:#fff;font-weight:900}.lightbox-close{position:absolute;top:18px;right:18px;width:48px;height:48px;border-radius:50%;border:1px solid var(--line);background:#100;color:#fff;font-size:2rem;cursor:pointer}.reveal{opacity:0;transform:translateY(26px);transition:opacity .75s ease,transform .75s ease}.reveal.visible{opacity:1;transform:none}.delay-1{transition-delay:.1s}.delay-2{transition-delay:.2s}.delay-3{transition-delay:.3s}
@media(max-width:900px){.site-header{top:8px}.menu-toggle{display:block}.site-nav{position:absolute;top:68px;right:0;left:0;display:none;flex-direction:column;padding:12px;border:1px solid var(--line);border-radius:24px;background:rgba(5,5,5,.97)}.site-nav.open{display:flex}.site-nav a{width:100%;text-align:center}.hero-grid,.booking-grid,.tour-grid,.location-card{grid-template-columns:1fr}.hero{min-height:auto}.hero-arena{min-height:530px;order:-1}.arena-main{inset:110px 0 0}.arena-ring{width:172px;height:172px}.shot-one{left:4px}.shot-two{right:4px}.feature-grid{grid-template-columns:1fr 1fr}.location-card iframe{height:330px}}
@media(max-width:560px){.section-pad{padding:68px 14px}.brand span{font-size:.78rem}h1{font-size:3.55rem}.hero-stats,.field-row,.feature-grid{grid-template-columns:1fr}.hero-arena{min-height:470px}.mini-shot{width:135px}.mini-shot img{height:145px}.booking-panel,.booking-output,.gallery-hero,.booking-hero{padding:18px}.tour-card,.tour-card.wide{min-height:360px}.marquee-track img{width:230px;height:320px}.gallery-grid{columns:1}.btn{width:100%}.hero-actions{width:100%}.filter-bar{gap:8px}.filter-bar button{font-size:.82rem;padding:10px 12px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}
