:root{--bg:#090d1b;--panel:#141a2c;--muted:#aeb7cf;--white:#f7f9ff;--cyan:#46e4f1;--purple:#9c6dff;--border:#30374d}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--white);font:16px/1.6 'DM Sans',sans-serif}h1,h2,h3,p{margin-top:0}h1,h2,h3,.logo,.price{font-family:Outfit,sans-serif}h2{font-size:clamp(2.8rem,6vw,5.5rem);line-height:1;letter-spacing:-.05em}h2 span,h1 span{color:var(--cyan)}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}.container{width:min(1180px,calc(100% - 44px));margin:auto}.skip{position:absolute;left:-9999px}.skip:focus{left:10px;top:10px;z-index:100;background:white;color:black;padding:10px}.site-header{position:sticky;top:0;z-index:50;background:#090d1be9;backdrop-filter:blur(18px);border-bottom:1px solid #ffffff15}.nav{display:flex;align-items:center;justify-content:space-between;min-height:78px;gap:20px}.logo{font-weight:900;font-size:1.3rem;letter-spacing:-.055em;white-space:nowrap}.logo em{font-style:normal;color:var(--cyan)}.logo-icon{color:var(--cyan);font-size:2rem;vertical-align:middle;margin-right:8px}.nav-links{display:flex;align-items:center;gap:30px;font-size:.88rem;font-weight:700}.nav-links>a:not(.nav-cta):hover,.text-link:hover{color:var(--cyan)}.nav-cta{background:var(--cyan);color:#08101b;padding:11px 17px;border-radius:7px}.menu-toggle{display:none;background:none;border:0;color:white;font-size:1.8rem}.hero{position:relative;overflow:hidden;background:radial-gradient(ellipse at 80% 40%,#20275d 0,transparent 48%),linear-gradient(150deg,#0c1022,#090d1b 75%)}.hero-glow{position:absolute;right:0;top:0;width:50%;height:100%;background:radial-gradient(circle,#823cfc24,transparent 70%);pointer-events:none}.hero-layout{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;min-height:720px;padding:90px 0 55px;gap:25px}.eyebrow,.kicker,.feature-num,.price-label{font-size:.75rem;font-weight:800;letter-spacing:.16em;color:var(--cyan)}.dot{display:inline-block;width:8px;height:8px;background:var(--cyan);border-radius:50%;margin-right:7px;box-shadow:0 0 13px var(--cyan)}h1{font-size:clamp(3.9rem,6.8vw,7.4rem);letter-spacing:-.075em;line-height:.91;margin:27px 0}h1 span{background:linear-gradient(95deg,var(--cyan),var(--purple));-webkit-background-clip:text;background-clip:text;color:transparent}.hero-copy>p{max-width:510px;color:#c0c8db;font-size:1.1rem}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0 50px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:15px 22px;border-radius:8px;font-weight:800;font-size:.9rem;border:1px solid transparent;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--cyan);color:#06111b}.btn-outline{border-color:#536078;background:transparent;color:white}.hero-stats{display:flex;gap:38px}.hero-stats div{display:flex;flex-direction:column}.hero-stats strong{font:800 2rem Outfit}.hero-stats span{font-size:.64rem;letter-spacing:.13em;color:#aeb9d4;font-weight:800}.hero-art{height:540px;position:relative;display:grid;place-items:center;isolation:isolate}.hero-art:before{content:'';position:absolute;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,#744bff80,#33278a30 53%,transparent 70%);filter:blur(22px)}.orbit{position:absolute;width:95%;aspect-ratio:1;border:1px solid #72e9ff27;border-radius:50%;transform:rotateX(65deg)}.orbit-two{width:72%}.tub-scene{position:relative;width:90%;max-width:460px;transform:rotate(-8deg);filter:drop-shadow(0 35px 40px #02050d)}.tub-rim{height:245px;border-radius:50%;padding:24px;background:linear-gradient(145deg,#dce8f9,#72849d 48%,#f7f9ff 55%,#556e90);border:8px solid #b3c5dd;box-shadow:inset 0 0 15px #1c345c,0 0 40px #55d9ff77;position:relative;z-index:2}.water{position:relative;width:100%;height:100%;overflow:hidden;border-radius:50%;background:radial-gradient(ellipse at 35% 25%,#92f5ff,#14b5de 40%,#3046ac 85%);box-shadow:inset 0 0 50px #13256b}.ripple{position:absolute;border:3px solid #c5ffff80;border-radius:50%;width:130px;height:60px;left:20%;top:20%;transform:rotate(12deg)}.r2{left:48%;top:47%;width:95px;height:40px}.r3{left:5%;top:55%;width:75px;height:40px}.tub-base{height:135px;margin:-110px 28px 0;border-radius:0 0 48% 48%;background:linear-gradient(90deg,#27334d,#5d70a0,#26324e);border-bottom:10px solid #54cce9;box-shadow:0 16px 30px #4ce6ff44}.art-tag{position:absolute;z-index:3;background:#161c34ed;border:1px solid #6373a7;padding:12px 18px;border-radius:9px;font-size:.73rem;font-weight:800;letter-spacing:.12em;box-shadow:0 12px 35px #030513}.top-tag{right:0;top:50px}.bottom-tag{bottom:42px;left:5%}.sparkle{position:absolute;color:var(--cyan);font-size:3rem}.sp1{left:5%;top:16%}.sp2{right:10%;bottom:18%;color:var(--purple)}.hero-bottom{display:flex;justify-content:space-between;padding-bottom:25px;color:#8996b6;font-size:.68rem;letter-spacing:.17em;font-weight:800}.marquee{overflow:hidden;background:var(--cyan);color:#08111e;padding:14px 0;white-space:nowrap;font:800 1rem Outfit;letter-spacing:.15em}.marquee div{width:max-content;animation:marquee 27s linear infinite}@keyframes marquee{to{transform:translateX(-40%)}}.section{padding:115px 0;scroll-margin-top:78px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:40px}.section-heading>p{max-width:350px;color:var(--muted)}.kicker{margin-bottom:18px}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.feature-card{background:#141a2b;border:1px solid var(--border);border-radius:15px;overflow:hidden;min-height:330px}.feature-main{grid-column:span 3;display:grid;grid-template-columns:1fr 1fr;min-height:330px}.feature-visual{min-height:185px;display:grid;place-items:center;font-size:6rem;color:var(--cyan);background:radial-gradient(circle at 45% 45%,#5d4ac9,#1d2545 70%)}.feature-main .feature-visual{font-size:10rem;background:radial-gradient(circle,#00d9ff55,#171d43 65%)}.feature-visual.music{color:#e6b6ff;background:radial-gradient(circle,#6538a3,#171d43)}.feature-visual.lights{color:#eab4ff;background:radial-gradient(circle,#7234a2,#171d43)}.feature-visual.lounge{background:radial-gradient(circle,#2c70a2,#171d43)}.feature-text{padding:28px}.feature-main .feature-text{display:flex;flex-direction:column;justify-content:center;padding:50px}.feature-text h3{font-size:1.65rem;line-height:1.1;margin:12px 0}.feature-main h3{font-size:3rem}.feature-text p{color:var(--muted);margin:0}.occasions{background:linear-gradient(120deg,#191c44,#321b59)}.occasions-inner{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.occasions p{max-width:480px;color:#c9c7df}.occasion-cloud{display:flex;flex-wrap:wrap;gap:14px;align-content:center}.occasion-cloud span{padding:18px 20px;background:#ffffff13;border:1px solid #ffffff32;border-radius:40px;font-weight:700;transform:rotate(-3deg)}.occasion-cloud span:nth-child(even){transform:rotate(4deg)}.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:50px}.steps-grid article{border-top:1px solid #44506c;padding-top:22px}.step-count{color:var(--cyan);font:800 2.8rem Outfit}.steps-grid h3{font-size:1.5rem;margin:18px 0 8px}.steps-grid p,.faq-layout>div>p{color:var(--muted)}.requirements{margin-top:55px;padding:25px 30px;background:#161f36;border:1px solid #3b4c67;border-radius:12px;display:flex;align-items:center;gap:30px}.requirements span{color:var(--cyan);font-size:.7rem;letter-spacing:.12em;font-weight:900;min-width:145px}.requirements p{margin:0;color:#cbd3e7}.pricing{background:#11172a}.price-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.price-card{padding:42px;border:1px solid #3b4562;border-radius:15px;background:#181f35}.price-card.featured{border-color:var(--cyan);background:linear-gradient(145deg,#172b45,#171d31)}.price-card h3{font-size:2rem;margin:25px 0 0}.price{font-size:4rem;font-weight:900;letter-spacing:-.06em}.price span{font:500 .95rem 'DM Sans';color:var(--muted);letter-spacing:0}.price-card p{color:var(--muted)}.price-card ul{padding-left:20px;line-height:2.1;margin:28px 0}.price-card li::marker{color:var(--cyan)}.holiday{display:flex;flex-wrap:wrap;gap:15px 26px;padding:25px 0;border-bottom:1px solid var(--border);font-size:.85rem}.holiday strong{color:var(--cyan)}.fineprint{color:#9da8c2;font-size:.8rem;margin:16px 0 0}.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.text-link{color:var(--cyan);font-weight:800}.faq-list details{border-bottom:1px solid #38425d}.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:22px 0;font-weight:800;cursor:pointer;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:1.6rem;color:var(--cyan)}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{color:var(--muted);padding-right:35px}.booking{background:radial-gradient(ellipse at 0 80%,#303e8a66,transparent 55%),#12172c}.booking-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px}.booking-layout>div>p{color:var(--muted);max-width:390px}.contact-note{margin-top:30px;color:var(--cyan);overflow-wrap:anywhere}.booking-form{background:#f6f8ff;color:#131a2b;border-radius:15px;padding:38px}.booking-form h3{font-size:1.8rem}.booking-form label{display:block;font-size:.78rem;font-weight:800;margin-bottom:18px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.booking-form input,.booking-form textarea{display:block;width:100%;padding:12px 13px;border:1px solid #c8d0df;border-radius:7px;background:white;color:#111827;margin-top:7px;min-width:0}.booking-form input:focus,.booking-form textarea:focus{outline:2px solid #14a6bb}.booking-form .btn{border:0}.form-note{font-size:.73rem;color:#657085;margin:16px 0 0}footer{padding:45px 0;background:#080b15}.footer-inner{display:grid;grid-template-columns:1.3fr 1fr .7fr;gap:25px;align-items:start}.footer-inner p{color:#a2aec7;font-size:.85rem}.footer-inner>div{display:flex;gap:20px}.footer-inner small{grid-column:1/-1;border-top:1px solid #2c3345;padding-top:22px;color:#8995ae}@media(max-width:900px){.nav-links{gap:15px}.hero-layout{grid-template-columns:1fr;padding-top:70px}.hero-art{height:410px}.hero-copy{max-width:700px}.section{padding:80px 0}.steps-grid{grid-template-columns:1fr 1fr}.faq-layout,.booking-layout{gap:35px}.feature-main{min-height:290px}}@media(max-width:650px){.container{width:min(100% - 32px,1180px)}.nav{min-height:65px}.logo{font-size:1.1rem}.menu-toggle{display:block}.nav-links{display:none;position:absolute;top:65px;left:0;right:0;background:#11182a;padding:20px;flex-direction:column;align-items:stretch}.nav-links.open{display:flex}.hero-layout{padding:60px 0 15px;gap:0;min-height:0}h1{font-size:clamp(3.5rem,13vw,5rem)}h2{font-size:3rem}.hero-actions{margin-bottom:30px}.hero-stats{gap:18px}.hero-stats strong{font-size:1.6rem}.hero-stats span{font-size:.54rem}.hero-art{height:340px}.tub-rim{height:185px}.tub-base{height:110px;margin-top:-85px}.art-tag{font-size:.56rem;padding:9px}.top-tag{top:15px}.bottom-tag{bottom:10px}.hero-bottom{font-size:.52rem}.section-heading,.occasions-inner,.faq-layout,.booking-layout{display:block}.section-heading>p{margin-top:20px}.feature-grid,.price-grid,.steps-grid{grid-template-columns:1fr}.feature-main{grid-column:auto;display:block}.feature-main .feature-text{padding:28px}.feature-main h3{font-size:2rem}.occasions-inner .occasion-cloud{margin-top:45px}.requirements{display:block}.requirements p{margin-top:10px}.faq-list{margin-top:30px}.booking-form{margin-top:35px;padding:23px}.form-row{grid-template-columns:1fr;gap:0}.footer-inner{grid-template-columns:1fr}.footer-inner small{grid-column:auto}.price-card{padding:30px}.price{font-size:3.4rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.marquee div{animation:none}.btn{transition:none}}

.hero-photo{position:relative;min-width:0;border-radius:22px;overflow:hidden;border:1px solid #5c71a0;box-shadow:0 25px 85px #0008,0 0 75px #32d9ff22;aspect-ratio:4/4.3}.hero-photo img{width:100%;height:100%;object-fit:cover;display:block}.photo-label{position:absolute;bottom:18px;left:18px;right:18px;padding:12px 14px;border:1px solid #ffffff55;border-radius:8px;background:#08111bcf;backdrop-filter:blur(10px);font-size:.7rem;font-weight:800;letter-spacing:.1em;color:#b5faff}.gallery{background:#0c1223}.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.gallery-grid figure{margin:0;background:#172039;border:1px solid #34435d;border-radius:13px;overflow:hidden}.gallery-grid img{display:block;width:100%;height:280px;object-fit:cover}.gallery-grid .gallery-large{grid-column:span 2}.gallery-grid .gallery-large img{height:440px}.gallery-grid figcaption{padding:14px 20px;font-weight:700;color:#d6e5f8}@media(max-width:900px){.hero-photo{aspect-ratio:16/10;max-width:750px}}@media(max-width:650px){.hero-photo{aspect-ratio:4/3;margin:25px 0}.gallery-grid{grid-template-columns:1fr}.gallery-grid .gallery-large{grid-column:auto}.gallery-grid img,.gallery-grid .gallery-large img{height:240px}}
/* Party Tub Social 2.0 additions */
.brand-logo{display:block;width:174px;max-height:66px;object-fit:contain;background:#fff;border-radius:8px;padding:5px 9px}.hero-tagline{font-size:1.2rem!important;font-weight:800;color:var(--cyan)!important}.seasons{background:#101b31}.seasons>.container>p,.service-area>.container>p{max-width:760px;color:var(--muted)}.season-grid,.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:34px}.season-card,.service-grid article{padding:35px;border:1px solid #455474;border-radius:18px;background:#19263e}.season-card.summer{background:linear-gradient(145deg,#13566b,#162d4d)}.season-card.winter{background:linear-gradient(145deg,#34316d,#1b2945)}.season-icon{font-size:3rem}.season-card h3,.service-grid h3{font-size:1.7rem}.season-card p,.service-grid p{color:#d1dded}.service-grid a{color:var(--cyan);font-weight:800}.section-outro{margin-top:32px;font-weight:800;color:var(--cyan)}.event-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:35px 0}.event-grid article{display:flex;flex-direction:column;gap:8px;background:#ffffff13;border:1px solid #ffffff32;padding:25px;border-radius:15px;font-size:1.5rem}.event-grid b{font-size:1.1rem}.event-grid span{font-size:.85rem;color:#d2cfe9}.occasions>.container>p{max-width:680px}.service-area{background:#0d1425}.utility-fieldset{border:1px solid #c8d0df;border-radius:9px;margin:0 0 20px;padding:15px}.utility-fieldset legend{font-size:.88rem;font-weight:800;padding:0 5px}.utility-fieldset label{display:flex;align-items:flex-start;gap:9px;font-size:.84rem;font-weight:500;margin:10px 0}.utility-fieldset input[type=radio]{width:auto;margin:5px 0 0;flex:none}.utility-note{font-size:.76rem;color:#59677d;margin:12px 0 0}.franchise{background:linear-gradient(110deg,#172a46,#3b2360)}.franchise-inner{display:flex;justify-content:space-between;align-items:center;gap:40px}.franchise-inner h2{font-size:clamp(2.4rem,5vw,4.5rem)}.franchise-inner p{color:#d7d5e9;max-width:650px}.franchise-inner .btn{white-space:nowrap}.nav-links{gap:18px}.nav-links>a{font-size:.82rem}@media(max-width:1050px){.nav-links{gap:12px}.brand-logo{width:140px}}@media(max-width:750px){.season-grid,.service-grid,.event-grid{grid-template-columns:1fr}.franchise-inner{display:block}.franchise-inner .btn{margin-top:20px}.brand-logo{width:145px}.nav-links{gap:16px}}
