:root{
    --ink:#1f2421;
    --paper:#f7f5f0;
    --brass:#a8763e;
    --brass-dark:#8a5e2f;
    --line:#ddd6c8;
    --slate:#5b6760;
}
/*.launch-btn{*/
/*    background:var(--brass);*/
/*    border:none;*/
/*    color:#fff;*/
/*    font-weight:600;*/
/*    letter-spacing:.03em;*/
/*    padding:14px 28px;*/
/*    border-radius:2px;*/
/*    text-transform:uppercase;*/
/*    font-size:.85rem;*/
/*}*/
/*.launch-btn:hover{background:var(--brass-dark);color:#fff;}*/

.modal-content{
    background:var(--paper);
    border:none;
    border-radius:2px;
    overflow:hidden;
}
.modal-header{
    border-bottom:1px solid var(--line);
    padding:28px 36px 20px;
    position:relative;
}
.modal-header .eyebrow{
    font-size:.7rem;
    letter-spacing:.18em;
    text-transform:uppercase;
    color:var(--brass);
    font-weight:600;
    margin-bottom:6px;
    display:block;
}
.modal-title{
    font-family:'Fraunces',serif;
    font-size:1.45rem;
    font-weight:600;
    color:var(--ink);
    margin:0;
}
.btn-close{
    position:absolute;
    top:28px;
    right:28px;
}
.modal-body{padding:20px;}
.form-label{
    font-size:.78rem;
    text-transform:uppercase;
    letter-spacing:.06em;
    color:var(--slate);
    font-weight:600;
    margin-bottom:6px;
}
.form-control, .form-select{
    border:1px solid var(--line);
    border-radius:5px;
    background:#fff;
    padding:10px 12px;
    font-size:.95rem;
    height: 35px;
}
.form-control:focus, .form-select:focus{
    border-color:var(--brass);
    box-shadow:0 0 0 3px rgba(168,118,62,0.15);
}
.hall-card{
    border:1px solid var(--line);
    border-radius:2px;
    padding:14px 16px;
    cursor:pointer;
    transition:border-color .15s ease, background .15s ease;
    background:#fff;
}
.hall-card:hover{border-color:var(--brass);}
.hall-card input{margin-right:10px;}
.hall-card .cap{
    font-size:.78rem;
    color:var(--slate);
}
.form-check-input:checked{
    background-color:var(--brass);
    border-color:var(--brass);
}
.divider-label{
    font-family:'Fraunces',serif;
    font-size:.95rem;
    color:var(--slate);
    margin:22px 0 14px;
    display:flex;
    align-items:center;
    gap:12px;
}
.divider-label::after{
    content:'';
    flex:1;
    height:1px;
    background:var(--line);
}
.modal-footer{
    border-top:1px solid var(--line);
    padding:20px 36px 30px;
    justify-content:space-between;
}
.footnote{
    font-size:.78rem;
    color:var(--slate);
}
.btn-confirm{
    background:var(--ink);
    color:#fff;
    border:none;
    padding:12px 30px;
    border-radius:1px;
    font-weight:600;
    letter-spacing:.03em;
    font-size:.85rem;
    text-transform:uppercase;
}
.btn-confirm:hover{background:#000;color:#fff;}
