* {box-sizing:border-box;}
*, dl, ol, ul {margin:0; padding:0; outline:none; box-shadow:none; text-decoration:none;}
html, body {line-height:1.2; font-size:0.83vw; font-family:'Montserrat', Arial, sans-serif; -webkit-text-size-adjust:100%; overflow-x:hidden;}
body p {line-height:normal;}
p:last-child {margin-bottom:0;}
body {margin:0; padding:0; font-family:'Montserrat', Arial, sans-serif; overflow-x:hidden; overscroll-behavior-x:none; overscroll-behavior-y:auto;}
body.modal-open {overflow:hidden;}
body.modal-open .floating-book-btn, body.modal-open .audio-control, body.modal-open .terms-link-container {opacity:0 !important; visibility:hidden !important; pointer-events:none !important;}
.container {height:100vh; width:100vw; margin:0 auto; max-width:100vw; padding-inline:4.17vw;}
section.web-banner-section {background-image:url(https://cdn.collage.inc/6378219137/4a7f4128ce413c83018c363235f3b8f8); background-position:center center; background-size:cover; background-repeat:no-repeat; height:100%;}
.inner-section {display:flex; height:100%; position:relative; justify-content:space-between;}
.left-section, .right-section {flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center;}
.left-section {align-items:flex-end; max-width:23.44vw;}
.right-section {max-width:26.04vw; justify-content:flex-start;}
.main-logo {width:100%; max-width:20.42vw;}
.main-title {font-family:'Cinzel', serif; font-size:2.6vw; color:#a11a1a; letter-spacing:0.1vw;}
.subtitle {color:#a11a1a; font-size:1.25vw; letter-spacing:0.21vw; margin-top:0.52vw;}
.right-section .red-fabric {background-image:url(../assets/red-overlay.png); background-size:contain; color:#fff; background-position:top center; background-repeat:no-repeat; width:25.26vw; position:relative; padding:2.6vw; padding-top:6.77vw; text-align:center; overflow:visible; height:100%; z-index:1;}
.right-section .red-fabric .right-name-img {width:12.5vw; margin-bottom:0.78vw;}
.red-fabric .desc p + p {margin-top:0.78vw;}
.right-section .red-fabric:before {content:""; background-image:url(../assets/red-overlay-topdesign.png); position:absolute; width:100%; height:4.95vw; background-size:contain; background-repeat:no-repeat; background-position:top; left:0; right:auto; top:0;}
.red-fabric .desc {font-size:0.83vw; margin-bottom:1.56vw; text-align:center; color:#d1cbbd;}
.waitlist-btn {background-image:url(../assets/button-bg.png); color:#a11a1a; background-repeat:no-repeat; background-size:contain; padding:0.89vw 2.08vw; cursor:pointer; text-transform:uppercase; text-decoration:none; font-weight:bold; font-size:1.04vw; display:inline-block;}
.waitlist-btn:hover {text-decoration:underline;}
.event-dates {text-align:center; margin-top:1.04vw; color:#d1cbbd;}
.event-dates p {margin:0;}
.event-dates .date-inline {margin-bottom:0.78vw; font-size:1.04vw; font-weight:700;}
.event-dates .time-inline {font-size:0.94vw; font-weight:600;}
.event-dates strong {font-size:1.25vw;}
sup {font-size:0.7em;}
.audio-control {position:fixed; bottom:1.04vw; left:1.04vw; z-index:1000; transition:opacity .2s ease, visibility .2s ease;}
.popup-modal {display:none; position:fixed; z-index:2000; left:0; top:0; width:100%; height:100%; background:rgba(0,0,0,0.6); justify-content:center; align-items:center;}
.popup-modal.active {display:flex;}
.popup-content {background:#d1cbbd; border-radius:15px; width:1100px; max-width:60%; position:relative; display:flex; flex-direction:column; transform:scale(0); transition:all ease .5s; transform-origin:center;}
/* .popup-content h2 {margin-bottom:0.63vw; color:#a11a1a;} */
/* .popup-content label {font-weight:500; margin-bottom:5px; font-size:12px; display:block;transition: all ease .3s; transform: translateY(30px);} */
/* .popup-content label.focus {transform: translateY(0);margin-bottom: 5px;} */
/* .popup-content input {padding:8px; border-bottom:1px solid #a11a1a !important; border:0; border-radius:0; margin-bottom:15px; display:block; width:100%; font: 13px;background: transparent;} */
/* .submit-btn {background:transparent; outline:0; border:0; background-image:url(../assets/submitbutton-bg.png); color:#d1cbbd; background-repeat:no-repeat; background-size:contain; cursor:pointer; text-transform:uppercase; font-weight:bold; letter-spacing:2px; font-size:1vw; display:inline-block; padding:0.65vw 4.10vw; text-decoration:none;margin-top: 1vw;} */
/* .submit-btn:hover {text-decoration:underline;} */
.close-btn {position:absolute; top:0.42vw; right:0.63vw; font-size:2vw; color:#a11a1a; cursor:pointer;}
.popup-modal {display:flex; opacity:0; visibility:hidden; transition:all ease .3s;}
.popup-modal.active .popup-content {transform:scale(1);}
.popup-modal.active {opacity:1; visibility:visible;}
.spiral-circle {display:none;}
button#audio-toggle { background: transparent; border: 0; cursor: pointer;}
form#waitlist-form p { font-size: 16px; font-weight: 500; margin-bottom: 30px; margin-top: 15px; }
.form-footer p:first-child { font-size: 12px; }
.form-footer p + p { padding-top: 12px; }
.form-footer p {line-height: 18px;}
.form-footer { font-size: 14px; text-align: center; }
.form-group-wrapper {display:flex; width:100%; gap:20px;}
.form-group-wrapper .form-group {width:100%;}
.instagram-input {position:relative;}
label + .instagram-input .instagram-prefix, label + .phone-input .country-code {opacity:0; font-size:13px;}
label.focus + .instagram-input .instagram-prefix, label.focus + .phone-input .country-code {opacity:1;}
.instagram-prefix {position:absolute; left:0; top:50%; transform:translateY(-50%); pointer-events:none; font-size:13px;}
.instagram-input input {padding-left:25px !important;}
.phone-input {position:relative; display:flex; align-items:center;}
.country-code {position:absolute; left:0; top:50%; bottom:-8px; transform:translateY(-50%); pointer-events:none; z-index:1; font-size:13px;}
.phone-input input {padding-left:30px !important;}
.error {color:#e74c3c; font-size:12px; margin-top:5px; display:none;}
.pass-selector {display:flex; gap:15px; align-items:center; flex-wrap:wrap;}
.pass-option {display:flex; align-items:center;}
.pass-option input[type="checkbox"] {width:auto; margin-right:8px;}
.date-selection {padding:15px;}
.date-header {display:flex; align-items:center; margin-bottom:10px;}
.date-header input[type="checkbox"] {width:auto; margin-right:8px;}
.date-dropdown {display:none; margin-top:10px;}
.date-options {display:grid; grid-template-columns:repeat(auto-fit, minmax(200px, 1fr)); gap:10px; margin-top:10px;}
.date-option {display:flex; align-items:center; padding:8px;}
.date-option:hover {background-color:#f8f9fa;}
.date-option input[type="checkbox"] {width:auto; margin-right:8px;}
.date-option label {margin:0; font-weight:normal; cursor:pointer; flex:1;}
.char-count {font-size:12px; color:#666; text-align:right; margin-top:5px;}
.transform-none label {transform:none !important;}
.transform-none label {transform:none !important;}
.form-group textarea {width:100%; background:transparent; border-radius:12px; padding:12px; border:1px solid #a11a1a !important; resize:none;}
.number-selector {position:relative;}
.number-selector .arrows {position:absolute; top:-2px; right:0; display:flex; flex-direction:column;}
.number-selector .arrows > button {background:transparent; border:0; font-size:12px;}
.dropdown-content {display:none; position:absolute; background-color:#f9f9f9; min-width:160px; box-shadow:0px 8px 16px 0px rgba(0,0,0,0.2); z-index:1;}
.dropdown-content label {display:flex; justify-content:flex-start; padding:10px; font-size:13px; gap:10px; margin:0; cursor:pointer; align-items:center;}
.dropdown button {padding:8px; cursor:pointer;}
.dropdown.active .dropdown-content {display:block;}
.dropdown button {width:100%; background:transparent; border:0; text-align:left; border-bottom:1px solid #a11a1a !important; padding-left:0;}
.dropdown.active .dropdown-content input {width:12px; height:12px; margin:0;}
.dropdown:before {content:"▼"; position:absolute; width:10px; height:10px; font-size:10px; right:0; top:50%;}
.dropdown {position:relative;}
.dropdown input {padding-right:20px !important;}
.submit-button-wrapper {text-align:center;}
div#form-response {text-align:center;font-size: 16px !important;}

@media (max-width: 1399.98px) {
.left-section {max-width:16.67vw;}
.right-section {max-width:20.83vw;}
.spiral-circle {width:90vw;}
}

@media (max-width: 1199.98px) {
.container {height:100%;}
.inner-section {flex-direction:column; align-items:center; padding-block:2.08vw; row-gap:2.6vw;}
.spiral-circle {position:static; transform:none;}
.left-section {order:0; max-width:150px;}
.main-logo {max-width:100%;}
.spiral-circle {order:1;}
.right-section {order:3; width:400px; max-width:100%;}
.left-section, .right-section {flex:auto;}
section.web-banner-section {background-image:url(../assets/background-image.jpg) !important;}
.spiral-circle {display:block; left:50%; top:50%; width:170%; margin-block:-50px; height:auto; z-index:0;}
.right-section .red-fabric {padding-inline:30px; padding-bottom:100px; padding-top:85px; width:350px; background-size:cover;}
.right-section .red-fabric:before {height:65px;}
.right-section .red-fabric .right-name-img {width:160px;}
.red-fabric .desc {font-size:13px;}
img.spiral-img {width:100%; height:100%; object-fit:contain;}
.inner-section {justify-content:flex-start;}
.left-section, .right-section {flex:none;}
.waitlist-btn {padding:10px 18px; font-size:13px; margin-block:15px;}
.event-dates .date-inline, .event-dates .time-inline {font-size:13px;}
/* .popup-content {padding:30px 25px;} */
/* .popup-content h2 {font-size:18px;} */
/* .popup-content label {font-size:12px;transform: translateY(20px);} */
/* .popup-content input {padding:0 5px; height:27px; font-size:13px; margin-bottom:12px;} */
/* .submit-btn {font-size:14px; padding:8px 40px; margin-top:25px;} */
.close-btn {font-size:30px; top:15px; right:15px;}
.number-selector .arrows > button {font-size: 11px;}
}

@media (max-width: 991.98px) {
.popup-content {max-width:80%;}
.popup-modal.active .popup-content { height: 500px; overflow: scroll; }
}

@media (max-width: 768px) {
.container {padding-inline:clamp(14px, 4vw, 28px); padding-bottom:28px;}
.inner-section {row-gap:16px; padding-top:18px; padding-bottom:20px;}
.spiral-circle {display:block; width:min(72vw, 300px); margin:0;}
.audio-control {bottom:calc(12px + env(safe-area-inset-bottom)); left:12px; padding:3px; border:1px solid rgba(148, 25, 20, 0.18); border-radius:50%; background:rgba(255,255,255,0.92); box-shadow:0 4px 18px rgba(42,20,14,0.14); backdrop-filter:blur(8px);}
button#audio-toggle {display:grid; width:42px; height:42px; place-items:center;}
button#audio-toggle img {display:block; width:42px; height:42px;}
.popup-content {width:100%; max-width:calc(100% - 24px);}
.popup-modal.active .popup-content {height:calc(100svh - 24px); max-height:760px; overflow:hidden;}
.popup-content iframe {height:100%; min-height:0;}
.form-group-wrapper {flex-direction: column;gap: 0;}
}

@media (max-width: 575.98px) {
html, body {font-size:16px;}
section.web-banner-section {height:auto; min-height:100svh; background-image:url(../assets/background-image.jpg) !important; background-position:center top; background-size:cover;}
.container {width:100%; min-height:100svh; height:auto; padding-inline:14px; padding-bottom:24px;}
.inner-section {justify-content:flex-start; align-items:center; row-gap:10px; padding-top:14px; padding-bottom:18px;}
.left-section {align-self:center; width:min(42vw, 158px); max-width:none; margin:0;}
.main-logo {width:100%; max-width:158px;}
.spiral-circle {display:block; width:min(68vw, 260px); margin:0 auto 4px;}
img.spiral-img {display:block; width:100%; height:auto; object-fit:contain;}
.right-section {width:100%; max-width:380px;}
.right-section .red-fabric {width:min(100%, 360px); height:auto; min-height:0; padding:72px 24px 76px; background-size:100% 100%; background-position:top center; filter:drop-shadow(0 18px 26px rgba(58, 16, 12, 0.16));}
.right-section .red-fabric:before {height:64px; background-size:100% auto;}
.right-section .red-fabric .right-name-img {width:min(48vw, 160px); margin-bottom:10px;}
.red-fabric .desc {margin-bottom:8px; font-size:clamp(12.5px, 3.5vw, 14px); line-height:1.35;}
.red-fabric .desc p {line-height:1.35;}
.red-fabric .desc p + p {margin-top:10px;}
.waitlist-btn {display:inline-flex; align-items:center; justify-content:center; min-width:230px; min-height:52px; margin:14px 0 4px; padding:0 24px; background-size:100% 100%; background-position:center; font-size:14px; line-height:1.1;}
.event-dates {margin-top:13px;}
.event-dates .date-inline, .event-dates .time-inline {font-size:13.5px; line-height:1.3;}
.event-dates .date-inline {margin-bottom:8px;}
.event-dates .time-inline {max-width:250px; margin-inline:auto;}
}
