.bk{--bk-line:rgba(16,24,32,.12);--bk-mute:var(--ink-3);--bk-brass:var(--brass);--bk-brass-btn:var(--brass-btn);--bk-glow:rgba(181,139,65,.22);--bk-open:#2f9e5f;--bk-tint:rgba(181,139,65,.08);position:relative;color:var(--ink);background:radial-gradient(120% 70% at 100% 0%,var(--bk-tint),transparent 55%),#fff;border:1px solid var(--bk-line);border-radius:18px;padding:clamp(20px,3vw,30px);box-shadow:var(--shadow-2);overflow:hidden;isolation:isolate}.bk.form-card{padding:clamp(20px,3vw,30px)}.bk::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,transparent,var(--bk-brass),transparent)}.bk .form-note,.bk .bk-cal__key{color:var(--bk-mute)}.bk .kicker,.bk .bk-kicker{color:var(--bk-brass-btn);letter-spacing:.14em;font-size:.72rem;text-transform:uppercase;font-weight:700}.bk-head{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-bottom:12px}.bk-price{font-family:var(--font-display);font-size:2.1rem;line-height:1;letter-spacing:-.02em;color:var(--ink)}.bk-price small{display:block;font-family:var(--font-body);font-size:.74rem;color:var(--bk-mute);font-weight:600;letter-spacing:.08em;margin-top:6px}.bk-rating{font-size:.88rem}.bk-live{display:inline-flex;align-items:center;gap:8px;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--ink-2);border:1px solid var(--bk-line);border-radius:999px;padding:6px 12px 6px 9px;background:var(--sand);margin:4px 0 14px}.bk-live i{width:8px;height:8px;border-radius:50%;background:var(--bk-open);animation:bk-pulse 2s infinite}@keyframes bk-pulse{0%{box-shadow:0 0 0 0 rgba(47,158,95,.5)}70%{box-shadow:0 0 0 9px rgba(47,158,95,0)}100%{box-shadow:0 0 0 0 rgba(47,158,95,0)}}@media (prefers-reduced-motion:reduce){.bk-live i{animation:none}}.bk-cal__nav{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:0 0 10px}.bk-cal__nav strong{font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);font-weight:700;text-align:center}.bk-cal__nav button{width:34px;height:34px;border-radius:10px;border:1px solid var(--bk-line);background:#fff;color:var(--ink);font-size:1.25rem;line-height:1;cursor:pointer}.bk-cal__nav button:hover{border-color:var(--bk-brass);background:var(--sand)}.bk-cal__months{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}.bk-cal__m h3{font-family:var(--font-body);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--bk-brass-btn);margin:0 0 8px;text-align:left;font-weight:700}.bk-cal__g{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}.bk-cal__g span{font-size:.66rem;letter-spacing:.08em;color:var(--bk-mute);padding:4px 0 6px;font-weight:600}.bk-cal__g button{position:relative;aspect-ratio:1;border:1px solid var(--bk-line);border-radius:9px;background:#fff;color:var(--ink);font:600 .86rem/1 var(--font-body);cursor:pointer;transition:transform .12s,background .12s,border-color .12s}.bk-cal__g button::after{content:"";position:absolute;left:50%;bottom:5px;width:4px;height:4px;border-radius:50%;transform:translateX(-50%);background:var(--bk-open)}.bk-cal__g button:hover{background:var(--sand);border-color:var(--bk-brass);transform:translateY(-1px)}.bk-cal__g button:disabled{cursor:default;color:#a3a9b0;background:#f6f3ee;border-color:transparent;text-decoration:line-through}.bk-cal__g button:disabled::after{display:none}.bk-cal__g button.is-in{background:var(--sand-2);border-color:rgba(181,139,65,.45)}.bk-cal__g button.is-sel{background:var(--bk-brass-btn);border-color:var(--bk-brass-btn);color:#fff;box-shadow:0 0 0 3px var(--bk-glow)}.bk-cal__g button.is-sel::after,.bk-cal__g button.is-in::after{display:none}.bk-cal__key{display:block;font-size:.78rem;margin:10px 0 0}.bk-cal__key::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--bk-open);margin-right:8px;vertical-align:1px}.bk-cal__go{display:block;width:100%;margin-top:12px;text-align:center}.bk .btn--brass,.bk .bk-cal__go{background:var(--bk-brass-btn);color:#fff;border:0;box-shadow:0 8px 22px rgba(150,112,47,.3);font-weight:700}.bk .btn--brass:hover,.bk .bk-cal__go:hover{background:var(--brass-dark);color:#fff;transform:translateY(-1px)}.bk .btn--outline,.bk .btn--ghost,.bk .btn--ink{background:#fff;color:var(--ink);border:1px solid var(--ink)}.bk .btn--outline:hover,.bk .btn--ghost:hover,.bk .btn--ink:hover{background:var(--sand);color:var(--ink)}.bk-ask{margin-top:14px;border-top:1px solid var(--bk-line);padding-top:4px}.bk-ask summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;padding:12px 0;font-weight:650;color:var(--ink-2)}.bk-ask summary::-webkit-details-marker{display:none}.bk-ask summary::after{content:"+";font-size:1.3rem;color:var(--bk-brass-btn);transition:transform .2s}.bk-ask[open] summary::after{transform:rotate(45deg)}.bk-phone{text-align:center;font-size:.86rem;color:var(--bk-mute);margin:14px 0 0}.bk-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:0 0 22px;padding:0}.bk-steps li{list-style:none;padding:10px 0 0;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--bk-mute);font-weight:600}.bk-steps li::before{content:"";display:block;height:3px;border-radius:3px;background:var(--sand-2);margin-bottom:8px}.bk-steps li.is-done::before,.bk-steps li.is-on::before{background:linear-gradient(90deg,var(--brass-dark),var(--bk-brass));box-shadow:0 0 10px var(--bk-glow)}.bk-steps li.is-on{color:var(--ink);font-weight:700}.bk-steps li.is-done{color:var(--ink-2)}.book-choice{border:1px solid var(--bk-line);border-radius:12px;padding:12px 14px;margin:14px 0 0;background:var(--sand)}.book-choice legend{font-weight:700;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--bk-brass-btn);padding:0 6px}.book-choice label{display:flex;align-items:center;gap:10px;padding:9px 12px;margin:6px 0;border-radius:10px;border:1px solid var(--bk-line);background:#fff;cursor:pointer;color:var(--ink-2)}.book-choice label:has(input:checked){border-color:var(--bk-brass-btn);background:var(--sand-2);color:var(--ink);font-weight:600;box-shadow:0 0 0 2px var(--bk-glow)}.book-choice input{accent-color:var(--bk-brass-btn);margin:0}.book-choice .form-note{margin:2px 0 0!important}.quote{margin-top:18px;border-top:1px solid var(--bk-line);padding-top:14px}.quote__summary{font-weight:700;margin-bottom:8px}.quote__table{width:100%;border-collapse:collapse;font-size:.92rem;font-variant-numeric:tabular-nums}.quote__table td{padding:7px 0;border-bottom:1px solid var(--bk-line);color:var(--ink-2)}.quote__table td:last-child{text-align:right;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--ink)}.quote__total td{font-weight:700;color:var(--ink);border-top:2px solid var(--bk-brass);border-bottom:0}.quote__sched td{color:var(--bk-mute);font-size:.86rem}.bk-total{position:relative;border-radius:16px;padding:20px 22px;margin:16px 0 18px;color:#fff;background:radial-gradient(120% 90% at 100% 0%,rgba(181,139,65,.28),transparent 60%),var(--ink);border:1px solid rgba(181,139,65,.5);box-shadow:0 16px 40px rgba(16,24,32,.18);overflow:hidden}.bk-total__stay{font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.78);margin:0 0 12px}.bk-total__row{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.bk-total__lbl{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--bk-brass);font-weight:700}.bk-total__due{font-family:var(--font-display);font-size:clamp(2.2rem,5vw,3rem);font-weight:700;letter-spacing:-.02em;line-height:1;color:#fff;font-variant-numeric:tabular-nums}.bk-total__sub{font-size:.86rem;color:rgba(255,255,255,.82);margin:12px 0 0}.book-app .section-head{margin-bottom:14px}.book-agree{display:flex;gap:10px;align-items:flex-start;margin:14px 0 6px;font-size:.95rem;color:var(--ink-2)}.book-agree input{accent-color:var(--bk-brass-btn);margin-top:3px}.book-err{color:#8f1d1d;background:#fdf1f1;border:1px solid #f1c8c8;border-radius:10px;padding:10px 12px;margin:12px 0}.book-wait{color:var(--ink-2);padding:10px 0}.book-wait::before{content:"";display:inline-block;width:10px;height:10px;border:2px solid var(--bk-brass-btn);border-right-color:transparent;border-radius:50%;margin-right:10px;vertical-align:-1px;animation:bk-spin .9s linear infinite}@keyframes bk-spin{to{transform:rotate(360deg)}}.book-ref,.bk-mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.04em;background:var(--sand);padding:2px 8px;border-radius:6px}.book-copy{padding:3px 10px;font-size:.78rem;margin-left:6px}.book-tabs{display:flex;gap:6px;margin:16px 0 0}.book-tab{flex:1;padding:11px;border:1px solid var(--bk-line);background:var(--sand);color:var(--ink-2);border-radius:12px 12px 0 0;font-weight:700;cursor:pointer}.book-tab[aria-selected="true"]{background:#fff;color:var(--ink);border-color:var(--bk-brass);border-bottom-color:#fff}.book-panel{border:1px solid var(--bk-brass);border-top:0;border-radius:0 0 12px 12px;padding:16px;text-align:center;background:#fff}.book-steps{text-align:left;max-width:440px;margin:12px auto 0;color:var(--ink-2)}.book-report{margin-top:22px;border-top:1px solid var(--bk-line);padding-top:16px}.bk-idpick{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0}.bk-idpick .btn{flex:1 1 180px;text-align:center}.bk-idfile{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}.bk-cal--book{margin-bottom:6px}@media (max-width:480px){.bk-steps li{font-size:.62rem;letter-spacing:.04em}.bk-cal__g button{font-size:.8rem}.bk{border-radius:14px}}.bk-total__lbl{white-space:nowrap}@media (max-width:480px){.bk-total__row{flex-direction:column;align-items:flex-start;gap:4px}.bk-total__due{font-size:2.4rem}}.bk-oneline{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.74rem;margin:6px 0 0}.bk-cal__key{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.74rem;margin:8px 0 0}.bk-go{margin:10px 0 0}.bk-go .btn{width:100%}.bk-ask .field input,.bk-ask .field select,.bk-ask .field textarea{padding:8px 10px;font-size:.9rem;min-height:0}.bk-ask .field label{font-size:.8rem}.bk-ask .form-grid{gap:8px 10px}.bk-ask .form-fields{margin-bottom:8px}.bk-ask .btn{padding:10px 14px}