.book-hero.page-hero--compact{min-height:clamp(190px,26svh,300px)}.book-hero.page-hero--compact .page-hero-content{padding-top:var(--hero-top,130px);padding-bottom:22px}.bw{scroll-margin-top:var(--nav-clear,130px)}.bw-stage h2,.bw-top{scroll-margin-top:calc(var(--nav-clear,130px) + 12px)}.book-hero.page-hero--compact h1{font-size:clamp(32px,5vw,64px);max-width:none}.book-hero .page-hero-lede{display:none}@media(min-width:760px){.book-hero .page-hero-lede{display:block}}.book-main{padding-bottom:40px}.bw{--bw-gold:#e8c987;--bw-cream:#fbeee8;--bw-deep:#2a0b17;max-width:1080px;margin:0 auto;padding:22px 16px calc(96px + env(safe-area-inset-bottom));color:var(--bw-cream)}.bw-loading{min-height:40vh;display:grid;place-items:center;color:#d9c9c0}@media(min-width:900px){.bw{padding:36px 28px 56px}}.bw-top{position:sticky;top:0;z-index:20;margin:0 -16px 18px;padding:10px 16px 12px;background:rgba(26,8,14,.92);backdrop-filter:blur(10px);border-bottom:1px solid rgba(232,201,135,.25)}.bw-progress-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.bw-back{justify-self:start;min-height:44px;padding:0 4px;background:none;border:0;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--bw-gold)}.bw-back--ghost{visibility:hidden}.bw-count{margin:0;font-size:12px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--bw-cream)}.bw-bar{height:4px;border-radius:4px;background:rgba(255,255,255,.14);overflow:hidden}.bw-bar i{display:block;height:100%;border-radius:4px;background:linear-gradient(90deg,#c79a4b,#f4dc9c);transition:width .45s cubic-bezier(.2,.7,.2,1)}.bw-stage{animation:bw-in .42s cubic-bezier(.2,.7,.2,1) both;position:relative}.bw-stage[data-dir=back]{animation-name:bw-in-back}@keyframes bw-in{0%{opacity:0;transform:translateX(28px)}to{opacity:1;transform:none}}@keyframes bw-in-back{0%{opacity:0;transform:translateX(-28px)}to{opacity:1;transform:none}}.bw-stage h2{font-family:var(--serif);font-weight:400;font-size:clamp(30px,5vw,48px);letter-spacing:-.02em;line-height:1.08;margin:6px 0 16px;outline:none}.bw-stage h2 em{font-style:italic;color:#f4dc9c}.bw-sub{margin:-6px 0 18px;font-size:14.5px;line-height:1.6;color:#ecd9d0}.bw-types{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:0;padding:0;list-style:none}@media(min-width:900px){.bw-types{grid-template-columns:repeat(3,1fr);gap:18px}}.bw-type{position:relative;display:flex;flex-direction:column;width:100%;height:100%;padding:0;overflow:hidden;text-align:left;border-radius:10px;border:1.5px solid rgba(232,201,135,.35);background:linear-gradient(160deg,#4a0f23,#2a0b17);color:inherit;transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s,border-color .3s}.bw-type:hover{transform:translateY(-4px);border-color:rgba(232,201,135,.8)}.bw-type:active{transform:scale(.98)}.bw-option.is-on,.bw-type.is-on{border-color:#f4dc9c;box-shadow:0 0 0 1px #f4dc9c,0 0 26px -2px rgba(244,220,156,.55)}.bw-type-img{position:relative;display:block;aspect-ratio:4/3;overflow:hidden}.bw-type-img img{transition:transform .7s cubic-bezier(.2,.7,.2,1)}.bw-type:hover .bw-type-img img{transform:scale(1.07)}.bw-type-body{display:flex;flex-direction:column;gap:3px;padding:11px 12px 14px}.bw-icon{font-size:20px;line-height:1}.bw-type-body b{font-family:var(--serif);font-size:clamp(18px,4.6vw,24px);font-weight:600;line-height:1.1;color:#f6dfa6}.bw-type-body small{font-size:12px;line-height:1.4;color:#e6d3cb}.bw-check{position:absolute;top:10px;right:10px;color:#f4dc9c;filter:drop-shadow(0 2px 6px rgba(0,0,0,.5));animation:bw-pop .3s cubic-bezier(.2,.9,.3,1.4)}@keyframes bw-pop{0%{transform:scale(.3);opacity:0}to{transform:none;opacity:1}}.bw-group{margin-bottom:18px}.bw-group-name{margin:0 0 8px;font-size:12px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--bw-gold)}.bw-options{display:grid;gap:12px;margin:0;padding:0;list-style:none}@media(min-width:900px){.bw-options{grid-template-columns:repeat(2,1fr)}}.bw-option{position:relative;display:flex;align-items:stretch;width:100%;padding:0;overflow:hidden;text-align:left;border-radius:10px;border:1.5px solid rgba(232,201,135,.35);background:linear-gradient(160deg,#4a0f23,#2a0b17);color:inherit;transition:transform .3s,border-color .3s,box-shadow .3s}.bw-option:hover{transform:translateY(-3px);border-color:rgba(232,201,135,.8)}.bw-option:active{transform:scale(.98)}.bw-option-img{position:relative;flex:0 0 108px;min-height:104px}.bw-option-body{display:flex;flex-direction:column;gap:3px;padding:12px 40px 12px 14px;justify-content:center}.bw-option-body b{font-family:var(--serif);font-size:20px;font-weight:600;line-height:1.15;color:#f6dfa6}.bw-option-body small{font-size:12.5px;line-height:1.45;color:#e6d3cb}.bw-price{font-style:normal;font-size:13px;font-weight:700;letter-spacing:.04em;color:#f4dc9c}.bw-note{color:#e8c987!important}.bw-fields{display:grid;gap:18px;max-width:640px}.bw-field{display:flex;flex-direction:column;gap:8px}.bw-field>span,.bw-fixed>span{font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--bw-gold)}.bw-field input,.bw-field textarea{width:100%;min-height:50px;padding:12px 14px;border-radius:6px;border:1.5px solid rgba(232,201,135,.4);background:rgba(255,255,255,.07);color:var(--bw-cream);font-size:16px;color-scheme:dark}.bw-field textarea{min-height:88px;resize:vertical}.bw-field input:focus,.bw-field textarea:focus{outline:2px solid #f4dc9c;outline-offset:2px;background:rgba(255,255,255,.1)}.bw-field input[aria-invalid=true]{border-color:#ff9d94}.bw-phone{display:flex;align-items:stretch}.bw-phone i{display:grid;place-items:center;padding:0 14px;border:1.5px solid rgba(232,201,135,.4);border-right:0;border-radius:6px 0 0 6px;background:rgba(255,255,255,.12);font-style:normal;font-weight:700}.bw-phone input{border-radius:0 6px 6px 0}.bw-error{margin:0;font-size:13px;color:#ffb3aa}.bw-fixed{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border-radius:8px;border:1px dashed rgba(232,201,135,.6);background:rgba(232,201,135,.08)}.bw-fixed b{font-family:var(--serif);font-size:22px;color:#f6dfa6}.bw-fixed small{font-size:12.5px;color:#e6d3cb}.bw-nights{margin:0;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#f4dc9c}.bw-chips{display:flex;flex-wrap:wrap;gap:8px}.bw-chip{min-height:44px;padding:0 16px;border-radius:999px;border:1.5px solid rgba(232,201,135,.45);background:rgba(255,255,255,.05);color:var(--bw-cream);font-size:13.5px;font-weight:600;transition:background .2s,transform .15s,border-color .2s}.bw-chip:active{transform:scale(.96)}.bw-chip.is-on{background:linear-gradient(110deg,#c79a4b,#f4dc9c 50%,#d6a74e);border-color:#f4dc9c;color:#2a1306;font-weight:800}.bw-guests{display:grid;gap:10px}.bw-limit{font-size:12.5px;color:#d9c9c0}.bw-stepper{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-radius:8px;border:1.5px solid rgba(232,201,135,.35);background:rgba(255,255,255,.05)}.bw-stepper b{display:block;font-size:15px}.bw-stepper small{display:block;font-size:12px;color:#d9c9c0}.bw-stepper-ctl{display:flex;align-items:center;gap:6px}.bw-stepper-ctl output{min-width:34px;text-align:center;font-family:var(--serif);font-size:26px;color:#f6dfa6}.bw-stepper-ctl button{width:44px;height:44px;border-radius:50%;border:1.5px solid rgba(232,201,135,.6);background:rgba(255,255,255,.06);color:#f6dfa6;font-size:22px;line-height:1}.bw-stepper-ctl button:disabled{opacity:.35}.bw-stepper-ctl button:active:not(:disabled){transform:scale(.92)}.bw-ticket{position:relative;max-width:640px;border-radius:12px;background:#fbf3e4;color:#3a1a14;box-shadow:0 24px 50px -30px #000,0 0 0 1px rgba(201,160,79,.7);-webkit-mask:radial-gradient(circle at 0 38px,#0000 9px,#000 9.5px) left/51% 100% no-repeat,radial-gradient(circle at 100% 38px,#0000 9px,#000 9.5px) right/51% 100% no-repeat;mask:radial-gradient(circle at 0 38px,#0000 9px,#000 9.5px) left/51% 100% no-repeat,radial-gradient(circle at 100% 38px,#0000 9px,#000 9.5px) right/51% 100% no-repeat}.bw-ticket-head{display:flex;align-items:center;gap:10px;padding:18px 24px;border-bottom:2px dashed rgba(122,26,48,.35);font-family:var(--serif);font-size:22px;color:#7a1a30}.bw-ticket dl{margin:0;padding:6px 24px 8px}.bw-sec{padding:10px 0;border-bottom:1px solid rgba(58,26,20,.12)}.bw-sec:last-child{border:0}.bw-sec-head{display:flex;align-items:center;justify-content:space-between}.bw-sec-head p{margin:0;font-size:11.5px;letter-spacing:.2em;color:#8a6a2c}.bw-edit,.bw-sec-head p{font-weight:800;text-transform:uppercase}.bw-edit{min-height:44px;padding:0 4px;background:none;border:0;font-size:12px;letter-spacing:.14em;color:#7a1a30;text-decoration:underline}.bw-row{display:flex;justify-content:space-between;gap:16px;padding:4px 0;font-size:14px}.bw-row dt{color:#7a6258}.bw-row dd{margin:0;text-align:right;font-weight:600;overflow-wrap:anywhere}.bw-fine{padding:12px 24px 18px;font-size:12.5px}.bw-fine,.bw-ref{margin:0;color:#7a6258}.bw-ref{padding:10px 24px 0;font-size:13px;letter-spacing:.06em}.bw-ref b{color:#7a1a30;letter-spacing:.1em}.bw-fail{max-width:640px;margin-top:16px;padding:14px 16px;border-radius:8px;border:1px solid #ff9d94;background:rgba(255,157,148,.1)}.bw-fail p{margin:0 0 10px}.bw-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 30px;border:0;font-family:var(--sans);font-size:13px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#1b1409;background:linear-gradient(110deg,#c79a4b,#f4dc9c 45%,#d6a74e);overflow:hidden;cursor:pointer;transition:transform .25s,filter .25s,opacity .25s;-webkit-mask:radial-gradient(circle at 0 50%,#0000 6px,#000 6.5px) left/51% 100% no-repeat,radial-gradient(circle at 100% 50%,#0000 6px,#000 6.5px) right/51% 100% no-repeat;mask:radial-gradient(circle at 0 50%,#0000 6px,#000 6.5px) left/51% 100% no-repeat,radial-gradient(circle at 100% 50%,#0000 6px,#000 6.5px) right/51% 100% no-repeat}.bw-btn:after{content:"";position:absolute;inset:0 -60%;background:linear-gradient(100deg,transparent 40%,rgba(255,255,255,.7) 50%,transparent 60%);transform:translateX(-130%);animation:bw-shine 4s ease-in-out infinite;pointer-events:none}@keyframes bw-shine{0%,55%{transform:translateX(-130%)}to{transform:translateX(130%)}}.bw-btn:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.05)}.bw-btn:active:not(:disabled){transform:scale(.97)}.bw-btn:disabled{opacity:.45;cursor:not-allowed}.bw-btn:disabled:after{display:none}.bw-btn--ghost{background:transparent;color:var(--bw-gold);box-shadow:inset 0 0 0 1.5px rgba(232,201,135,.7)}.bw-btn--ghost:after{display:none}.bw-spin{width:16px;height:16px;border-radius:50%;border:2px solid rgba(27,20,9,.3);border-top-color:#1b1409;animation:bw-rot .8s linear infinite}@keyframes bw-rot{to{transform:rotate(1turn)}}.bw-cta{position:fixed;left:0;right:0;bottom:0;z-index:36;display:flex;justify-content:center;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:linear-gradient(100deg,rgba(54,10,24,.97),rgba(30,8,16,.97));border-top:1px solid rgba(232,201,135,.6);backdrop-filter:blur(12px)}.bw-cta .bw-btn{width:100%;max-width:520px}@media(min-width:900px){.bw-cta{position:static;justify-content:flex-start;padding:26px 0 0;background:none;border:0;backdrop-filter:none}.bw-cta .bw-btn{width:auto;min-width:240px}}.bw-done{position:relative;text-align:left;overflow:hidden}.bw-done .bw-ticket{margin-bottom:20px}.bw-actions{display:flex;flex-wrap:wrap;gap:12px}.bw-fx{inset:0;pointer-events:none;overflow:hidden}.bw-fx,.bw-fx i{position:absolute}.bw-fx i{top:-12px;left:var(--x);width:var(--s);height:var(--s);border-radius:50%;background:#f4dc9c;box-shadow:0 0 8px #f4dc9c;opacity:0;animation:bw-fall var(--t) ease-in var(--d) 2 forwards}.bw-done[data-theme=snow] .bw-fx i{background:#fff;box-shadow:0 0 6px #fff}.bw-done[data-theme=petals] .bw-fx i{width:calc(var(--s)*1.6);height:var(--s);border-radius:80% 0 80% 0;background:#f4a6b8;box-shadow:none}@keyframes bw-fall{0%{opacity:0;transform:translateY(0) rotate(0)}12%{opacity:1}to{opacity:0;transform:translateY(520px) translateX(24px) rotate(300deg)}}@media(prefers-reduced-motion:reduce){.bw-check,.bw-stage{animation:none}.bw-btn:after,.bw-fx{display:none}.bw-bar i,.bw-btn,.bw-chip,.bw-option,.bw-type,.bw-type-img img{transition:none}.bw-option:hover,.bw-type:hover,.bw-type:hover .bw-type-img img{transform:none}}