.rw-hero{max-width:1220px;margin:28px auto;padding:34px;border-radius:28px;background:linear-gradient(135deg,#07182d,#154d70);color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center}.rw-hero-copy{padding:12px}.rw-hero h1{font-size:clamp(38px,5vw,66px);line-height:1.02;margin:10px 0 16px}.rw-hero p{font-size:18px;line-height:1.6;color:#d9e7f1}.rw-media{width:100%;aspect-ratio:16/9;border-radius:22px;overflow:hidden;background:#06111f;box-shadow:0 18px 50px #0018}.rw-media img,.rw-media video{display:block;width:100%;height:100%;object-fit:cover}.rw-placeholder{height:100%;display:grid;place-items:center;font-size:90px}.rw-offer{display:inline-block;padding:9px 14px;background:#fff;color:#b51359;border-radius:999px;font-weight:900;margin:6px 0 12px}.rw-member-offer{border-left:4px solid #ffe36e;background:#ffffff12;padding:12px 15px;margin:8px 0 18px;border-radius:0 12px 12px 0}.rw-member-offer strong{display:block;font-size:20px;color:#ffe36e}.rw-hero-actions{display:flex;gap:10px;flex-wrap:wrap}.rw-btn{display:inline-block;border:0;background:#ff2f85;color:#fff;padding:14px 22px;border-radius:12px;text-decoration:none;font-weight:900;cursor:pointer}.rw-btn-light{background:#fff;color:#102f4e}.rw-proof{max-width:1180px;margin:0 auto 40px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.rw-proof div{background:#fff;border:1px solid #dfe8ef;border-radius:16px;padding:18px;text-align:center}.rw-proof b,.rw-proof span{display:block}.rw-proof span{color:#647484;margin-top:5px}.rw-benefits{max-width:1180px;margin:55px auto;display:grid;grid-template-columns:.8fr 1.2fr;gap:34px;align-items:center}.rw-benefits h2,.rw-section-head h2,.rw-membership h2,.rw-contact h2{font-size:clamp(30px,4vw,46px);line-height:1.08;margin:8px 0 12px}.rw-benefits small,.rw-section-head small,.rw-membership small,.rw-contact small{font-weight:900;letter-spacing:2px;color:#e32476}.rw-benefits p,.rw-membership p,.rw-contact p{color:#5f6d79;line-height:1.7}.rw-benefit-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.rw-benefit-grid article{background:#f4f8fb;border-radius:18px;padding:22px;min-height:115px}.rw-benefit-grid b,.rw-benefit-grid span{display:block}.rw-benefit-grid b{font-size:18px;margin-bottom:8px}.rw-benefit-grid span{color:#647484;line-height:1.45}.rw-wrap{max-width:1050px;margin:45px auto 65px;padding:0 16px}.rw-section-head{text-align:center;margin-bottom:24px}.rw-section-head p{color:#65727e}.rw-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:18px}.rw-progress span{padding:11px;text-align:center;border-radius:12px;background:#e8edf2;font-weight:800;color:#667}.rw-progress span.active{background:#102f4e;color:#fff}.rw-step{display:none;background:#fff;border:1px solid #e0e7ef;border-radius:24px;padding:28px;box-shadow:0 16px 40px #0c284112}.rw-step.active{display:block}.rw-kicker{color:#e32476}.rw-packages,.rw-slots{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}.rw-package,.rw-slots label{display:flex;flex-direction:column;gap:8px;padding:20px;border:2px solid #dbe4ed;border-radius:18px;cursor:pointer;background:#f9fbfd;transition:.18s}.rw-package:hover,.rw-slots label:hover{transform:translateY(-2px);border-color:#9db5c9}.rw-package:has(input:checked),.rw-slots label:has(input:checked){outline:3px solid #ff2f85;background:#fff}.rw-package-top{display:flex;justify-content:space-between;gap:10px}.rw-package-top strong{font-size:19px}.rw-package-top span{font-weight:800;color:#667}.rw-package em{font-size:24px;font-weight:900;font-style:normal;color:#102f4e}.rw-package small{color:#667}.rw-inline-people{margin-top:4px;font-weight:800}.rw-inline-people select{margin-left:7px;padding:7px 10px;border:1px solid #ccd7e1;border-radius:8px;background:#fff}.rw-back{margin-top:18px;border:0;background:none;font-weight:800;cursor:pointer}.rw-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.rw-fields label,.rw-contact label{font-weight:800}.rw-fields input,.rw-fields textarea,.rw-contact input,.rw-contact select{box-sizing:border-box;width:100%;padding:12px;border:1px solid #ccd7e1;border-radius:10px;margin-top:6px}.rw-fields .full{grid-column:1/-1}.rw-pay{padding:15px;border-radius:14px;background:#fff4d8;margin:18px 0}.rw-membership{max-width:1180px;margin:55px auto;padding:38px;border-radius:26px;background:linear-gradient(120deg,#111,#222);color:#fff;display:grid;grid-template-columns:1.4fr .6fr;gap:30px;align-items:center}.rw-membership p{color:#d4d4d4}.rw-membership-badge{border:2px solid #ffe36e;border-radius:22px;padding:28px;text-align:center}.rw-membership-badge b,.rw-membership-badge span,.rw-membership-badge strong{display:block}.rw-membership-badge b{font-size:38px;color:#ffe36e}.rw-membership-badge span{font-weight:900}.rw-membership-badge strong{margin-top:12px;font-size:21px;color:#63c7ff}.rw-contact{max-width:1180px;margin:55px auto 70px;padding:34px;border-radius:24px;background:#eef7fb;display:grid;grid-template-columns:.8fr 1.2fr;gap:34px}.rw-contact form{display:grid;grid-template-columns:1fr 1fr;gap:12px;background:#fff;padding:22px;border-radius:18px}.rw-contact form .rw-btn{align-self:end}.alert{padding:15px;border-radius:12px;background:#fff4d8}@media(max-width:800px){.rw-hero,.rw-benefits,.rw-membership,.rw-contact{grid-template-columns:1fr;margin-left:12px;margin-right:12px}.rw-hero{padding:22px}.rw-proof{grid-template-columns:1fr;margin:0 12px 35px}.rw-benefit-grid{grid-template-columns:1fr 1fr}.rw-fields,.rw-contact form{grid-template-columns:1fr}.rw-progress{font-size:12px}.rw-media{aspect-ratio:16/9}.rw-membership-badge{max-width:320px}}@media(max-width:520px){.rw-benefit-grid{grid-template-columns:1fr}.rw-packages,.rw-slots{grid-template-columns:1fr}.rw-progress span{padding:9px 4px}.rw-hero h1{font-size:38px}}

/* V22 Mobile booking polish */
.rw-date-time-picker{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0 10px}
.rw-picker-field{display:block;font-weight:900;color:#10202d}
.rw-picker-field span{display:block;margin-bottom:8px}
.rw-picker-field input,.rw-picker-field select{width:100%;min-height:52px;padding:12px 14px;border:1px solid #cbd8e3;border-radius:12px;background:#fff;font:inherit;color:#10202d}
.rw-slot-help{color:#65727e;font-size:14px;margin:8px 0 18px}.rw-time-continue{min-width:160px}.rw-time-continue:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:600px){
 body{overflow-x:hidden}.rw-hero{margin:12px 10px 22px;padding:18px;border-radius:20px;gap:18px}.rw-hero-copy{padding:2px}.rw-hero h1{font-size:34px;margin:8px 0 12px}.rw-hero p{font-size:15px;line-height:1.5}.rw-media{border-radius:16px}.rw-hero-actions{display:grid;grid-template-columns:1fr 1fr}.rw-hero-actions .rw-btn{text-align:center;padding:13px 10px}
 .rw-proof{margin:0 10px 28px;gap:8px}.rw-proof div{padding:14px}.rw-benefits{margin:34px 12px;gap:20px}.rw-benefits h2,.rw-section-head h2,.rw-membership h2,.rw-contact h2{font-size:29px}.rw-benefit-grid article{padding:17px;min-height:auto}
 .rw-wrap{margin:28px auto 42px;padding:0 10px}.rw-section-head{margin-bottom:16px}.rw-section-head p{font-size:14px}.rw-progress{gap:5px;position:sticky;top:0;z-index:20;background:#f4f7f9;padding:6px 0}.rw-progress span{font-size:11px;padding:9px 3px;border-radius:9px}.rw-step{padding:19px 15px;border-radius:18px}.rw-step h2{font-size:24px;margin-top:8px}.rw-package{padding:16px;border-radius:15px}.rw-package-top strong{font-size:17px}.rw-package em{font-size:21px}.rw-inline-people{display:flex;align-items:center;justify-content:space-between}.rw-inline-people select{min-width:92px;min-height:42px}
 .rw-date-time-picker{grid-template-columns:1fr;gap:12px}.rw-picker-field input,.rw-picker-field select{min-height:54px;font-size:16px}.rw-time-continue{width:100%}.rw-fields input,.rw-fields textarea,.rw-contact input,.rw-contact select{font-size:16px;min-height:48px}.rw-fields textarea{min-height:90px}.rw-pay{font-size:14px;line-height:1.5}.rw-step>.rw-btn{width:100%;text-align:center}.rw-back{width:100%;padding:14px 0;text-align:center}
 .rw-membership{margin:34px 10px;padding:22px 18px;border-radius:20px}.rw-membership-badge{padding:20px}.rw-contact{margin:34px 10px 45px;padding:20px 15px;gap:18px}.rw-contact form{padding:15px}.rw-contact form .rw-btn{width:100%}
}

/* V16 mobile compatibility: the viewport fix above now lets these rules use
   the phone's true CSS width instead of a scaled desktop canvas. */
@media(max-width:520px){
 .rw-hero{margin:10px 8px 18px;padding:16px}
 .rw-hero h1{font-size:32px}
 .rw-proof{margin-left:8px;margin-right:8px}
 .rw-wrap{padding-left:8px;padding-right:8px}
 .rw-packages,.rw-slots{grid-template-columns:minmax(0,1fr)!important}
 .rw-package{width:100%;min-width:0}
 .rw-package-top{align-items:flex-start}
 .rw-membership,.rw-contact{margin-left:8px;margin-right:8px}
}
