@font-face{font-family:"Betm Rounded";src:url("../fonts/BetmRounded-Regular.woff2") format("woff2"),url("../fonts/BetmRounded-Regular.woff") format("woff");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Betm Rounded";src:url("../fonts/BetmRounded-Bold.woff2") format("woff2"),url("../fonts/BetmRounded-Bold.woff") format("woff");font-style:normal;font-weight:700;font-display:swap}
:root{--rust:#963f29;--cream:#fffbd5}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{background:var(--rust);color:var(--cream);font-family:"Betm Rounded",Arial,sans-serif;letter-spacing:.12em}a{color:inherit;text-decoration:none}.hero{position:relative;min-height:min(100vh,1080px);overflow:hidden;background:var(--rust) url("../home/background.jpg") center/cover}.hero__video,.hero__wash{position:absolute;inset:0;width:100%;height:100%}.hero__video{object-fit:cover}.hero__video--mobile{display:none}.hero__wash{background:rgba(143,55,34,.63);pointer-events:none}.ornament{position:absolute;z-index:3;left:0;width:100%;height:clamp(48px,6.15vw,80px);background:url("../home/border.png") center/auto 100% repeat-x}.ornament--top{top:0}.ornament--bottom{bottom:0;transform:rotate(180deg)}.hero__content{position:relative;z-index:2;min-height:min(100vh,1080px);display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:clamp(95px,9vw,150px) 8vw}.hero__identity,.waitlist{text-align:center}.hero__identity{display:flex;flex-direction:column;align-items:center}.header-logos{width:min(30vw,336px);height:auto}.taal-logo{width:min(31vw,360px);height:auto;margin:clamp(55px,8vh,90px) 0 50px}.tagline{width:min(35vw,500px);height:auto}.event-details{margin-top:clamp(50px,8vh,90px);text-transform:uppercase;font-size:clamp(12px,1.05vw,20px);line-height:1.3}.event-details p{margin:.25em 0}.event-details span,.footer-contact span{margin:0 .55em}sup{font-size:.55em;position:relative;top:-.25em}.waitlist{width:min(34vw,510px);justify-self:center}.waitlist h1{margin:0 0 clamp(55px,8vh,95px);font-size:clamp(20px,1.8vw,32px);font-weight:400;text-transform:uppercase;letter-spacing:.23em}.waitlist form{display:flex;flex-direction:column;align-items:center}.waitlist label{margin-bottom:14px;text-transform:uppercase;font-size:clamp(16px,1.45vw,26px);letter-spacing:.2em}.waitlist input{width:100%;height:clamp(52px,4.4vw,72px);margin-bottom:27px;border:1px solid rgba(93,63,28,.65);border-radius:11px;outline:0;padding:0 20px;background:var(--cream);color:#5b2b20;font:18px Arial,sans-serif}.waitlist input:focus{box-shadow:0 0 0 3px rgba(255,251,213,.35)}.waitlist button{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.form-status{min-height:1.4em;margin:0;font-size:14px;letter-spacing:.05em}.loader{display:none}.site-footer{position:relative;padding:58px 5vw 105px;display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:space-between;background:var(--rust);text-transform:uppercase}.footer-event p,.footer-contact p{margin:.2em 0}.footer-event{font-size:clamp(22px,2.5vw,48px)}.footer-event p+p{margin-top:.55em;font-size:.72em}.footer-contact{font-size:clamp(18px,1.7vw,31px);line-height:1.15}.site-footer address{font-size:clamp(14px,1.25vw,23px);font-style:normal}.site-footer address span{display:block;margin-bottom:.4em}.ornament--footer{bottom:0;transform:rotate(180deg)}
@media(max-width:700px){body{letter-spacing:.08em}.hero{min-height:1302px}.hero__video--desktop{display:none}.hero__video--mobile{display:block}.hero__wash{background:rgba(143,55,34,.42)}.ornament{height:25px}.hero__content{min-height:1302px;display:block;padding:128px 24px 58px}.header-logos{width:166px}.taal-logo{width:205px;margin:58px 0 40px}.tagline{width:245px}.event-details{margin-top:110px;font-size:9px;line-height:1.25}.waitlist{position:absolute;top:865px;left:50%;transform:translateX(-50%);width:min(250px,68vw)}.waitlist h1{margin-bottom:53px;font-size:14px}.waitlist label{margin-bottom:7px;font-size:13px}.waitlist input{height:34px;margin-bottom:15px;border-radius:5px;font-size:14px;padding:0 10px}.form-status{font-size:10px}.site-footer{padding:45px 22px 55px}.footer-event{font-size:18px}.footer-contact{font-size:15px}.site-footer address{font-size:11px;line-height:1.5}}
@media(max-width:700px) and (min-height:850px){.hero,.hero__content{min-height:max(1302px,140vh)}}
@media(prefers-reduced-motion:reduce){.hero__video{display:none}}
@media(max-width:700px){.hero__video--mobile{inset:590px 0 auto;height:712px}}

.waitlist button {
    position: static;
    width: auto;
    min-width: 220px;
    height: 52px;
    margin: 2px 0 16px;
    padding: 0 28px;
    overflow: visible;
    clip: auto;
    border: 2px solid var(--cream);
    border-radius: 8px;
    background: var(--cream);
    color: var(--rust);
    cursor: pointer;
    font: inherit;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    transition: background-color .2s ease, color .2s ease;
}

.waitlist button:hover,
.waitlist button:focus-visible {
    background: transparent;
    color: var(--cream);
    outline: none;
}

.waitlist button:disabled {
    cursor: wait;
    opacity: .65;
}

@media(max-width:700px) {
    .waitlist button {
        min-width: 190px;
        height: 38px;
        margin-top: 1px;
        padding: 0 18px;
        border-radius: 5px;
        font-size: 11px;
    }
}

.success-modal {
    width: min(470px, calc(100% - 32px));
    padding: 0;
    border: 1px solid rgba(255,251,213,.55);
    border-radius: 18px;
    background: #963f29;
    color: #fffbd5;
    box-shadow: 0 24px 80px rgba(0,0,0,.48);
}

.success-modal::backdrop {
    background: rgba(0,0,0,.72);
    backdrop-filter: blur(4px);
}

.success-modal__content {
    position: relative;
    padding: 42px 38px 36px;
    text-align: center;
}

.success-modal__close {
    position: absolute;
    top: 10px;
    right: 14px;
    border: 0;
    background: transparent;
    color: #fffbd5;
    font: 32px/1 Arial, sans-serif;
    cursor: pointer;
}

.success-modal__logo {
    width: 120px;
    height: auto;
    margin-bottom: 20px;
}

.success-modal h2 {
    margin: 0 0 15px;
    font-size: clamp(21px, 3vw, 28px);
    font-weight: 400;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.success-modal p {
    margin: 0 auto 27px;
    max-width: 350px;
    font: 15px/1.65 Arial, sans-serif;
    letter-spacing: .02em;
}

.success-modal__done {
    min-width: 145px;
    height: 44px;
    border: 1px solid #fffbd5;
    border-radius: 7px;
    background: #fffbd5;
    color: #963f29;
    font: 700 13px "Betm Rounded", Arial, sans-serif;
    letter-spacing: .12em;
    text-transform: uppercase;
    cursor: pointer;
}

@media(max-width:700px) {
    .success-modal__content { padding: 38px 24px 30px; }
    .success-modal__logo { width: 100px; }
    .success-modal p { font-size: 14px; }
}

/* Desktop layering: full video base with texture above its identity half. */
@media(min-width:701px) {
    .hero__video--desktop {
        inset: 0;
        width: 100%;
    }

    .hero::before {
        content: "";
        position: absolute;
        z-index: 1;
        inset: 0 50% 0 0;
        background: url("../home/background.jpg") center / cover no-repeat;
    }
}

.footer-star {
    width: clamp(72px, 5.5vw, 104px);
    height: clamp(72px, 5.5vw, 104px);
    object-fit: contain;
    animation: footer-star-spin 10s linear infinite;
}

@keyframes footer-star-spin {
    to { transform: rotate(360deg); }
}

@media(max-width:700px) {
    .footer-star {
        width: 58px;
        height: 58px;
    }
}

@media(prefers-reduced-motion:reduce) {
    .footer-star { animation: none; }
}

/* Tighter footer spacing to follow the supplied footer composition. */
.site-footer {
    justify-content: flex-start;
    gap: 38px;
}

.footer-event,
.footer-contact {
    line-height: 1.05;
}

.footer-event p,
.footer-contact p {
    margin: 0;
}

.footer-event p + p {
    margin-top: 12px;
}

.site-footer address {
    margin: 0;
    line-height: 1.1;
}

.site-footer .footer-brand {
    margin: 0;
    font-size: clamp(12px, 1vw, 18px);
    letter-spacing: .12em;
    text-transform: uppercase;
}

.site-footer .footer-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px 12px;
    font-size: clamp(12px, 1vw, 17px);
    line-height: 1.5;
    letter-spacing: .08em;
}

.site-footer .footer-links a:hover,
.site-footer .footer-links a:focus-visible {
    text-decoration: underline;
    text-underline-offset: 4px;
}

.site-footer address span {
    margin-bottom: 7px;
}

@media(max-width:700px) {
    .site-footer { gap: 25px; }
    .footer-event p + p { margin-top: 8px; }
    .site-footer .footer-links { gap: 5px 8px; font-size: 10px; }
}

/* Updated mockup: clean hero-to-footer transition and dark waitlist panel. */
.waitlist h1 {
    margin-bottom: 12px;
}

.waitlist__intro {
    margin: 0 0 clamp(55px, 8vh, 90px);
    font-size: clamp(15px, 1.25vw, 22px);
    text-transform: uppercase;
    letter-spacing: .22em;
    white-space: nowrap;
}

.waitlist input {
    font-family: "Betm Rounded", Arial, sans-serif;
    text-transform: uppercase;
}

.site-footer {
    z-index: 4;
    margin-top: -28px;
}

@media(min-width:701px) {
    .hero__video--desktop {
        display: block;
    }

    .hero__wash {
        z-index: 1;
        background:
            linear-gradient(90deg,
                rgba(143,55,34,.16) 0%,
                rgba(143,55,34,.16) 42%,
                rgba(84,31,20,.62) 49%,
                rgba(0,0,0,.68) 58%,
                rgba(0,0,0,.72) 100%);
    }

    .hero::before {
        inset: 0 46% 0 0;
        background: url("../home/background.jpg") center / cover no-repeat;
        -webkit-mask-image: linear-gradient(90deg, #000 0%, #000 84%, transparent 100%);
        mask-image: linear-gradient(90deg, #000 0%, #000 84%, transparent 100%);
    }

    .hero__identity {
        transform: translateX(-2vw);
    }

    .waitlist {
        transform: translateX(2vw);
    }

}

@media(max-width:700px) {
    .waitlist h1 {
        margin-bottom: 8px;
    }

    .waitlist__intro {
        margin-bottom: 45px;
        font-size: 8px;
        white-space: normal;
    }

    .site-footer {
        margin-top: -12px;
    }
}
