:root{--bg:#121410;--panel:#1a1d17;--cream:#f5efdf;--gold:#c8a466;--muted:#acae9c;--line:#454333;--serif:Georgia,'Times New Roman',serif;--sans:Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--cream);font-family:var(--serif);font-size:18px;line-height:1.5}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}img{max-width:100%;display:block}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400;line-height:1.08}h2{font-size:clamp(36px,4vw,58px);letter-spacing:-1.6px}h3{font-size:24px}p{margin:20px 0}a:hover{color:var(--gold)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #f1ca7b;outline-offset:5px}.wrap{max-width:1400px;margin:auto;padding:65px 5%}.eyebrow{font:11px/1.8 var(--sans);letter-spacing:3px;color:var(--gold);display:block;margin-bottom:24px}.button{border:1px solid var(--gold);border-radius:40px;display:inline-flex;align-items:center;justify-content:center;gap:22px;padding:13px 24px;font:17px var(--serif);transition:background .2s;color:var(--cream);background:transparent;min-height:49px}.button:hover{background:#d7b77b;color:#15160e}.gold{background:var(--gold);color:#17170d}.outline{color:var(--gold)}.full{width:100%}.text-link{color:var(--gold);border:0;border-bottom:1px solid #66563c;padding:4px 0;background:none;font:15px var(--serif)}.text-link span{margin-left:14px}.muted{color:var(--muted)}.small{font-size:14px}.skip{position:fixed;left:12px;top:-100px;z-index:100;background:var(--cream);color:var(--bg);padding:12px}.skip:focus{top:12px}#preview{background:#30362b;text-align:center;font:11px var(--sans);padding:8px 12px;letter-spacing:1px}#preview a{color:#ecd9ae;margin-left:20px}header{height:100px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;border-bottom:1px solid #6d5b37;position:relative;z-index:5;background:#11140fea}header nav{display:flex;gap:28px;font-size:16px}.brand{display:flex;align-items:center;gap:16px;flex-shrink:0}.brand img{width:76px;height:76px;object-fit:contain}.brand>span{font-size:49px;letter-spacing:4px;line-height:1}.brand small{display:block;font:11px var(--sans);letter-spacing:5px;color:var(--gold);margin-top:10px}.header-right{display:flex;align-items:center;gap:28px}.location{font:11px var(--sans);letter-spacing:3px;color:var(--gold)}.hero{height:620px;position:relative;overflow:hidden;border-bottom:1px solid #6d5b37}.hero-photo{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 54%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#080b08e8 0%,#080b08a8 27%,transparent 52%)}.hero-copy{position:relative;padding:60px 0 0 8.5%;width:49%;z-index:1}.hero h1{font-size:clamp(50px,5vw,79px);letter-spacing:-2px;line-height:.99}.hero p{font-size:21px;line-height:1.45;margin:27px 0 31px}.hero-foot{position:absolute;bottom:22px;left:8.5%;font:9px var(--sans);letter-spacing:2px;color:#aaac97}.welcome{display:grid;grid-template-columns:1fr 1.25fr 1.25fr;gap:30px;padding-top:38px;padding-bottom:70px}.welcome>div{padding-top:23px}.welcome figure img{width:100%;height:355px;object-fit:cover;border:1px solid #393a2c;object-position:center 42%}.welcome figcaption{font-size:13px;font-style:italic;color:var(--muted);padding-top:10px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:40px}.section-heading p{font-size:18px;line-height:1.65;max-width:430px}.reservation{background:#eae7db;color:#252d22;scroll-margin-top:20px}.reservation .eyebrow{color:#806a45}.reservation .muted{color:#64705d}.reservation .wrap{max-width:1440px}.booking-shell{background:#f6f3e9;border:1px solid #d4d2c4;border-radius:4px;padding:30px;box-shadow:0 10px 50px #30362908}.steps{display:flex;list-style:none;padding:0;margin:0 0 28px;gap:30px;color:#8a8f7f;font:12px var(--sans);letter-spacing:1px}.steps li{display:flex;gap:10px;align-items:center}.steps .current{color:#4c5b3e}.steps span{font-size:12px}.search-form{display:grid;grid-template-columns:1fr 1fr 1fr 1.35fr;gap:14px;align-items:end}label{display:flex;flex-direction:column;gap:8px;font:12px var(--sans);color:inherit}input,select{min-width:0;width:100%;border:1px solid #bfc5b4;border-radius:4px;padding:13px 12px;min-height:49px;background:#fffdf5;color:#273421;font:15px var(--sans)}.booking-note{font:12px/1.6 var(--sans);color:#6b7462;margin:15px 0 0}.booking-note a{text-decoration:underline}.reservation .gold{background:#33442d;border-color:#33442d;color:#fff8e8}.reservation .gold:hover{background:#4a603f}.map-heading{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #d2d7c9;padding-top:25px;gap:16px;margin-bottom:25px}.room-tabs{display:flex;border-bottom:1px solid #c5cbba;gap:10px}.room-tabs button{padding:12px 18px;border:0;border-bottom:2px solid transparent;background:transparent;color:#65705c;font:16px var(--serif)}.room-tabs button[aria-pressed=true]{color:#293c22;border-color:#293c22}.room-tabs small{font:11px var(--sans);display:block;margin-top:4px}.legend{display:flex;gap:14px;font:10px var(--sans)}.legend span{display:flex;gap:5px;align-items:center}.legend i{height:9px;width:9px;border-radius:50%;background:#f8f5e8;border:1px solid #758965}.legend .chosen{background:#3c5030}.legend .unavailable{background:#cfd2c8;border-color:#b9bdaf}.selection-grid{display:grid;grid-template-columns:1fr 280px;gap:30px}.floor{height:400px;position:relative;border:5px solid #989d8d;background:repeating-linear-gradient(0deg,#ebe9db,#ebe9db 31px,#e3e1d2 32px);border-radius:5px;overflow:visible;margin:12px 6px}.floor .room-label{position:absolute;top:43%;left:36%;color:#c9ccba;font:32px var(--serif);letter-spacing:4px;pointer-events:none}.landmark{position:absolute;font:10px var(--sans);letter-spacing:1.5px;color:#67725b}.bar{right:7%;bottom:0;background:#d2c5a4;border:1px solid #9f987d;width:24%;height:36px;display:grid;place-items:center}.entry{right:auto;left:80%;top:-9px;transform:translateX(-50%);background:#ebe9db;padding:2px 12px}.passage{left:-8px;top:45%;background:#ebe9db;padding:18px 2px}.passage.right{left:auto;right:-8px}.wc{bottom:-9px;left:65%;background:#ebe9db;padding:2px 9px}.table{position:absolute;transform:translate(-50%,-50%);border:1px solid #7e8b71;border-radius:6px;background:#f7f4e7;color:#35442b;width:60px;height:91px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;box-shadow:0 3px 5px #25352116;font:17px var(--serif)}.table small{font:10px var(--sans)}.table.square{width:59px;height:59px}.table.round{width:72px;height:72px;border-radius:50%}.table:before,.table:after{content:'';position:absolute;left:-12px;top:14%;width:7px;height:70%;background:#b9bea8;border:1px solid #8f987e;border-radius:4px}.table:after{left:auto;right:-12px}.table.square:before,.table.square:after{height:22px;top:30%}.table[aria-pressed=true]{background:#3c5030;color:#fff7e6;outline:2px solid #b19864;outline-offset:3px}.table:disabled{background:#d5d7cc;color:#8b9181;opacity:.7;box-shadow:none}.table.available:hover{background:#dedfcb}.table[aria-pressed=true]:hover{background:#3c5030}.map-note{font:11px/1.6 var(--sans);color:#758068;margin:12px 0}.selection-grid aside{border-left:1px solid #d4d8cb;padding-left:25px}.selection-grid aside .eyebrow{font-size:9px;letter-spacing:1.5px}.selection-grid h3{margin-bottom:18px}.option{display:block;width:100%;text-align:left;background:transparent;border:1px solid #d0d5c6;color:#38482f;border-radius:4px;padding:13px;margin-bottom:10px;font:15px var(--serif)}.option span{display:block;font:11px var(--sans);color:#738069;margin-top:5px}.option[aria-pressed=true]{border-color:#465d39;background:#e4e9d9}.option:hover{border-color:#637955}#chosen-summary{font:13px/1.5 var(--sans)}#booking-status{font:14px/1.6 var(--sans);margin:18px 0}.gallery{padding-top:85px;padding-bottom:85px}.gallery-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px}.image-open{padding:0;border:0;background:none;overflow:hidden}.gallery-grid img{height:370px;width:100%;object-fit:cover;transition:transform .3s}.image-open:hover img{transform:scale(1.035)}.contact{display:grid;grid-template-columns:1.1fr 1fr 1.1fr 1fr;gap:30px;border-top:1px solid var(--line)}.contact h3{font-size:21px}.contact p,.contact dl{font-size:15px;color:#c5c6b7;line-height:1.9}.contact dl div{display:flex;justify-content:space-between;gap:18px}.contact dd{margin:0}footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);font:10px var(--sans);letter-spacing:2px;padding-top:25px!important;padding-bottom:30px!important}footer .text-link{font-size:12px;letter-spacing:0}dialog{background:#f2eee2;color:#253021;max-width:650px;width:calc(100% - 30px);max-height:90vh;overflow:auto;border:1px solid #95856b;border-radius:5px;padding:42px;box-shadow:0 25px 100px #0008}dialog::backdrop{background:#050905b8;backdrop-filter:blur(5px)}dialog h2{font-size:40px}.close{position:absolute;right:16px;top:8px;border:0;background:none;font:30px var(--sans);color:inherit;width:40px;height:40px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:25px 0}.consent{display:flex;flex-direction:row;align-items:start;line-height:1.6}.consent input{width:18px;height:18px;min-height:18px;margin-top:2px}.consent .text-link{font:12px var(--sans)}dialog .muted{color:#6f7865}dialog .gold{color:#182114}.trap{display:none}#form-error{color:#973d2c;font:13px var(--sans)}.confirmation-icon{display:block;width:55px;height:55px;border:1px solid #8c9d77;border-radius:50%;text-align:center;font:32px/55px var(--serif);margin-bottom:22px;color:#45613b}#confirmation-content{background:#e5e7da;border:1px solid #c4cbb7;padding:15px;margin-top:20px;font:15px/1.7 var(--sans)}#confirmation .text-link{margin-top:20px}#lightbox{padding:20px;background:#141811;max-width:900px}#lightbox img{max-height:82vh;margin:auto;object-fit:contain}#lightbox .close{background:#141811;color:white}#privacy p{font-size:16px}body:has(dialog[open]){overflow:hidden}[hidden]{display:none!important}
@media(min-width:1650px){.hero{height:700px}.hero-copy{padding-top:90px}}
@media(max-width:1100px){header nav{gap:17px;font-size:14px}.location{display:none}.brand img{width:60px;height:60px}.brand>span{font-size:40px}.hero{height:570px}.welcome{gap:20px;grid-template-columns:.9fr 1fr 1fr}.welcome figure img{height:310px}.contact{grid-template-columns:1fr 1fr}.selection-grid{grid-template-columns:1fr 240px;gap:20px}.legend{gap:7px}.search-form{grid-template-columns:1fr 1fr 1fr}.search-form>button{grid-column:1/-1}header{padding:0 4%}}
@media(max-width:760px){body{font-size:16px}header{height:80px;padding:0 5%}header nav{display:none}.brand img{width:49px;height:49px}.brand{gap:9px}.brand>span{font-size:34px}.brand small{font-size:8px;letter-spacing:3px;margin-top:5px}.header-right .button{font-size:13px;padding:11px 15px;min-height:42px}.hero{height:720px}.hero-photo{height:400px;top:320px;object-fit:cover;object-position:70% center}.hero-shade{background:linear-gradient(180deg,#090d09 0%,#090d09 37%,#090d0900 70%)}.hero-copy{width:100%;padding:33px 7% 0}.hero .eyebrow{font-size:9px;margin-bottom:15px;line-height:1.6}.hero .eyebrow br{display:none}.hero h1{font-size:51px;line-height:.98;letter-spacing:-1.5px}.hero h1 br:nth-child(2){display:none}.hero p{font-size:17px;margin:18px 0}.hero .button{font-size:14px;min-height:42px;padding:10px 18px}.hero-foot{display:none}.wrap{padding:44px 6%}.welcome{grid-template-columns:1fr 1fr;gap:16px}.welcome>div{grid-column:1/-1;padding-top:0}.welcome>div h2 br{display:none}.welcome figure img{height:240px}.welcome figcaption{font-size:11px}.welcome .eyebrow{margin-bottom:15px}.welcome p{margin:15px 0}.welcome .text-link{display:inline-block;margin-bottom:12px}.section-heading{display:block;margin-bottom:25px}.section-heading p{font-size:16px;margin-bottom:0}.booking-shell{padding:18px 13px}.steps{gap:12px;justify-content:space-between}.steps li{gap:5px;font-size:10px}.steps span{font-size:9px;letter-spacing:0}.search-form{gap:9px}.search-form label{font-size:11px}.search-form input,.search-form select{padding:10px 5px;font-size:12px}.booking-note{font-size:11px}.selection-grid{grid-template-columns:1fr}.selection-grid aside{padding:18px 0 0;border-left:0;border-top:1px solid #ccd1c2}.map-heading{display:block}.legend{margin-top:17px}.floor{height:350px;margin:12px 3px}.table{width:42px;height:77px;font-size:14px}.table.square{width:43px;height:46px}.table.round{width:58px;height:58px}.table small{font-size:8px}.table:before{left:-9px;width:5px}.table:after{right:-9px;width:5px}.floor .room-label{font-size:23px}.landmark{font-size:8px;letter-spacing:.5px}.gallery-grid{gap:12px}.gallery-grid img{height:210px}.contact{gap:32px 16px}.contact>div:first-child{grid-column:1/-1}.contact>div:last-child{grid-column:1/-1}.contact h2 br{display:none}footer{display:flex;gap:18px;flex-wrap:wrap;letter-spacing:1px;font-size:9px}dialog{padding:30px 22px}dialog h2{font-size:34px}.form-grid{grid-template-columns:1fr;gap:15px}#preview{font-size:9px;line-height:1.5}#preview a{display:block;margin:4px 0 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.position-1-1{left:22%;top:25%}.position-1-2{left:59%;top:25%}.position-1-3{left:19%;top:73%}.position-1-4{left:51%;top:73%}.position-2-1{left:16%;top:22%}.position-2-2{left:16%;top:48%}.position-2-3{left:16%;top:74%}.position-2-4{left:49%;top:24%}.position-2-5{left:80%;top:24%}.position-2-6{left:48%;top:75%}.hero-gift{position:absolute;right:5%;bottom:22px;z-index:2;background:#11190de8;border:1px solid #7c6942;padding:12px 18px;border-radius:4px;font:12px var(--sans);color:#dfd1ae;backdrop-filter:blur(6px)}.hero-gift span{display:block;font:15px var(--serif);margin-top:5px;color:var(--gold)}.wheel-section{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;padding-top:70px;padding-bottom:80px;border-top:1px solid var(--line);position:relative}.wheel-copy>p{max-width:420px}.wheel-rules{font:11px/1.9 var(--sans);color:var(--muted)}.wheel-stage{max-width:480px;width:100%;position:relative;justify-self:center;padding:12px}.wheel-stage img{width:100%;filter:drop-shadow(0 12px 35px #0007)}.wheel-pointer{position:absolute;top:-4px;left:calc(50% - 14px);color:#efd29a;z-index:2;font:29px var(--sans);text-shadow:0 3px 5px #000}.wheel-hub{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border:2px solid #b69860;background:#cbb079;color:#172013;width:98px;height:98px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;font:31px var(--serif);box-shadow:0 3px 20px #0007}.wheel-hub small{font:8px var(--sans);letter-spacing:3px;margin-top:5px}.gift-result{grid-column:1/-1;border:1px solid #a58951;padding:32px;background:#1e281b;display:flex;gap:22px;flex-wrap:wrap;align-items:center}.gift-result .eyebrow{width:100%;margin-bottom:0}.gift-result h3{font-size:34px}.gift-result p{font:13px var(--sans);color:var(--muted);margin:0}.gift-result .text-link{border:0}.booking-gift{padding:15px 20px;border:1px solid #a9b398;background:#e1e8d6;font-size:16px}.booking-gift:before{content:'✧ ';color:#6c794e}#wheel-status{font:13px var(--sans);color:var(--gold)}#claim-code{font:19px/1.8 var(--serif);padding:18px;background:#e2e7d9}#claim-error{color:#973d2c;font:13px var(--sans)}
@media(max-width:760px){.hero-gift{right:6%;bottom:15px;font-size:10px;padding:9px 13px}.hero-gift span{font-size:13px}.wheel-section{grid-template-columns:1fr;gap:30px}.wheel-stage{max-width:340px}.wheel-copy h2{font-size:39px}.wheel-hub{width:78px;height:78px;font-size:25px}.gift-result{padding:22px;display:block}.gift-result h3{margin:15px 0}.gift-result .button{margin:20px 0 12px;width:100%;font-size:14px}.gift-result .text-link{font-size:14px}}

#reset-wheel{display:block;margin-top:18px;font-size:13px}#reset-wheel[hidden]{display:none}

/* Joined tables retain individual IDs; positions are schematic, not measured clearance. */
.floor.combined .joined{height:60px;width:76px;border-radius:2px;outline:none;box-shadow:0 0 0 2px #b19864;z-index:2}
.floor.combined .joined.square{width:54px;height:60px}
.floor.combined .joined:before,.floor.combined .joined:after{left:12%;top:-11px;right:auto;width:76%;height:6px}
.floor.combined .joined:after{top:auto;bottom:-11px}
.end-chair{position:absolute;width:7px;height:25px;top:17px;background:#b19864;border:1px solid #746340;border-radius:3px}
.end-chair.start{left:-13px}.end-chair.end{right:-13px}
.floor.combined .room-label{top:53%}
.floor.group-1_1-1_2 .position-1-1{left:calc(52% + -38.0px);top:27%}
.floor.group-1_1-1_2 .position-1-2{left:calc(52% + 38.0px);top:27%}
.floor.group-1_1-1_3 .position-1-1{left:calc(52% + -27.0px);top:27%}
.floor.group-1_1-1_3 .position-1-3{left:calc(52% + 38.0px);top:27%}
.floor.group-1_2-1_4 .position-1-2{left:calc(52% + -27.0px);top:27%}
.floor.group-1_2-1_4 .position-1-4{left:calc(52% + 38.0px);top:27%}
.floor.group-1_3-1_4 .position-1-3{left:calc(52% + -27.0px);top:27%}
.floor.group-1_3-1_4 .position-1-4{left:calc(52% + 27.0px);top:27%}
.floor.group-2_1-2_2 .position-2-1{left:calc(52% + -27.0px);top:27%}
.floor.group-2_1-2_2 .position-2-2{left:calc(52% + 27.0px);top:27%}
.floor.group-2_2-2_3 .position-2-2{left:calc(52% + -27.0px);top:27%}
.floor.group-2_2-2_3 .position-2-3{left:calc(52% + 27.0px);top:27%}
.floor.group-2_1-2_4 .position-2-1{left:calc(52% + -38.0px);top:27%}
.floor.group-2_1-2_4 .position-2-4{left:calc(52% + 27.0px);top:27%}
.floor.group-2_4-2_5 .position-2-4{left:calc(52% + -38.0px);top:27%}
.floor.group-2_4-2_5 .position-2-5{left:calc(52% + 38.0px);top:27%}
.floor.group-2_1-2_2-2_3 .position-2-1{left:20%;top:calc(48% + -60px)}
.floor.group-2_1-2_2-2_3 .position-2-2{left:20%;top:calc(48% + 0px)}
.floor.group-2_1-2_2-2_3 .position-2-3{left:20%;top:calc(48% + 60px)}
.floor.group-2_1-2_2-2_3 .joined:before,.floor.group-2_1-2_2-2_3 .joined:after{left:-11px;top:17px;width:6px;height:25px;bottom:auto}
.floor.group-2_1-2_2-2_3 .joined:after{left:auto;right:-11px}
.floor.group-2_1-2_2-2_3 .end-chair{width:25px;height:7px;left:14px;right:auto}
.floor.group-2_1-2_2-2_3 .end-chair.start{top:-13px}
.floor.group-2_1-2_2-2_3 .end-chair.end{top:auto;bottom:-13px}
.floor.group-2_4-2_5 .position-2-4{left:calc(52% + -38.0px);top:27%}
.floor.group-2_4-2_5 .position-2-5{left:calc(52% + 38.0px);top:27%}
.floor.group-2_1-2_4-2_5 .position-2-1{left:calc(52% + -76.0px);top:27%}
.floor.group-2_1-2_4-2_5 .position-2-4{left:calc(52% + -11.0px);top:27%}
.floor.group-2_1-2_4-2_5 .position-2-5{left:calc(52% + 65.0px);top:27%}

.floor.group-2_4-2_5 .position-2-4{left:calc(62% - 38px);top:32%}.floor.group-2_4-2_5 .position-2-5{left:calc(62% + 38px);top:32%}
.floor.group-1_1-1_3 .position-1-2{left:25%;top:73%}.floor.group-1_1-1_3 .position-1-4{left:65%;top:73%}
.floor.group-1_2-1_4 .position-1-1{left:25%;top:73%}.floor.group-1_2-1_4 .position-1-3{left:65%;top:73%}
.floor.group-1_3-1_4 .joined{top:73%}

/* Keep assembled groups in room 1 shifted left as well. */
.floor[class*="group-1_"] .table{margin-left:-6%}
.floor[class*="group-1_"] .table:not(.joined){margin-left:0}
.floor.group-1_1-1_3 .position-1-2,.floor.group-1_2-1_4 .position-1-1{left:19%}
.floor.group-1_1-1_3 .position-1-4,.floor.group-1_2-1_4 .position-1-3{left:59%}

.mobile-booking-bar,.mobile-plan-title,.mobile-detail-step{display:none}.details-back{display:inline-block;margin-bottom:20px}
@media(max-width:760px){
 body.booking-open{overflow:hidden}
 .booking-shell[data-open="true"]{position:fixed;inset:0;z-index:1000;background:#f2eee2;border:0;border-radius:0;overflow-y:auto;overscroll-behavior:contain;padding:18px 20px calc(110px + env(safe-area-inset-bottom));height:100dvh;box-sizing:border-box}
 .booking-shell[data-open="true"] .mobile-booking-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:26px;font:12px var(--sans)}
 .mobile-booking-bar button{border:0;background:none;color:inherit;min-height:44px;padding:0 5px;font:14px var(--sans)}#booking-close{font-size:30px;min-width:44px}
 .booking-shell[data-open="true"] .steps{margin-bottom:30px}
 .booking-shell[data-step="1"] #selection{display:none!important}
 .booking-shell[data-open="true"][data-step="2"] .search-form,.booking-shell[data-open="true"][data-step="3"] .search-form,.booking-shell[data-open="true"] .booking-note{display:none}
 .booking-shell[data-open="true"] .search-form{grid-template-columns:1fr;gap:24px;padding-top:12px}
 .booking-shell[data-open="true"] .search-form label{font-size:14px}
 .booking-shell[data-open="true"] input,.booking-shell[data-open="true"] select,#details input{font-size:16px;padding:14px;min-height:50px}
 .booking-shell[data-open="true"] #search-button{margin-top:10px}
 .mobile-plan-title{display:block;font-size:29px;margin:0 0 20px;outline:none}
 .booking-shell[data-open="true"] .floor{height:330px}
 .booking-shell[data-open="true"] .selection-grid aside{padding-bottom:12px}
 .booking-shell[data-open="true"] #next{position:fixed;bottom:calc(16px + env(safe-area-inset-bottom));left:20px;width:calc(100% - 40px);z-index:2;box-shadow:0 0 0 12px #f2eee2,0 8px 22px #0002}
 #details{inset:0;margin:0;max-width:none;width:100%;height:100dvh;max-height:100dvh;border:0;border-radius:0;padding:24px 22px calc(30px + env(safe-area-inset-bottom));box-sizing:border-box}
 #details .close{top:20px}#details .details-back{margin:4px 45px 24px 0;font-size:14px;min-height:36px}
 .mobile-detail-step{display:block;font:11px var(--sans);letter-spacing:2px;color:#7a6847;margin-bottom:20px}
 #details .eyebrow{display:none}#details h2{font-size:32px}#details .consent input{min-height:18px;width:18px;padding:0}
}

@media(max-width:760px){.booking-shell #next{display:none}.booking-shell[data-open="true"]{padding-bottom:calc(30px + env(safe-area-inset-bottom))}}

.date-field{display:flex;flex-direction:column;gap:9px}#date-picker{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:49px;background:#fffdf6;border:1px solid #bfc5b3;border-radius:4px;color:#253021;padding:13px 12px;font:16px var(--sans);text-align:left}#date-picker svg{flex-shrink:0}
#date-calendar{max-width:400px;padding:28px 24px}#date-calendar h2{font-size:30px;margin:8px 0 24px}.calendar-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.calendar-nav h3{font-size:21px;margin:0}.calendar-nav button{border:1px solid #c9cebe;background:transparent;color:#253021;border-radius:50%;width:40px;height:40px;font-size:27px}.calendar-week,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}.calendar-week{font:12px var(--sans);color:#64715a;margin-bottom:10px}.calendar-days button{min-width:0;aspect-ratio:1;border:0;border-radius:50%;background:transparent;color:#253021;font:15px var(--sans)}.calendar-days button:not(:disabled):hover{background:#e4e7d9}.calendar-days button[aria-pressed=true]{background:#35472d;color:#fff}.calendar-days button:disabled,.calendar-nav button:disabled{opacity:.28;cursor:default}.calendar-help{font:12px/1.6 var(--sans);color:#64715a;margin:22px 0 0}
@media(max-width:760px){.date-field{gap:9px}.date-field label{font-size:11px}.booking-shell[data-open=true] .date-field label{font-size:14px}.booking-shell[data-open=true] #date-picker{min-height:52px;padding:14px}#date-calendar{width:calc(100% - 24px);padding:28px 20px}.calendar-days button{min-height:40px}}

@media(max-width:760px){.hero h1{font-size:clamp(34px,10.5vw,51px);line-height:1.04;letter-spacing:-1px}.hero h1 br:nth-child(2){display:block}.hero-copy{max-width:100%;box-sizing:border-box}}

/* Prominent invitation to the existing prize wheel. */
.gift-invite{display:flex;align-items:center;justify-content:center;gap:48px;padding:30px 6%;background:radial-gradient(ellipse at 20% 100%,#38432b 0,transparent 65%),#1c241b;border-bottom:1px solid #78643e;position:relative;overflow:hidden;color:#f5efdf}
.gift-mini{position:relative;width:180px;flex-shrink:0;filter:drop-shadow(0 12px 20px #0007)}.gift-mini img{width:100%;transition:transform 1.2s cubic-bezier(.2,.8,.2,1)}.gift-mini span{position:absolute;inset:36%;display:grid;place-items:center;background:#cfb277;color:#182114;border-radius:50%;font:22px Georgia;border:1px solid #e7ce97}.gift-mini i{position:absolute;top:-4px;left:calc(50% - 8px);border-left:8px solid transparent;border-right:8px solid transparent;border-top:15px solid #efcf8a;filter:drop-shadow(0 2px 2px #0008)}
.gift-invite:hover{color:#f5efdf}.gift-invite:hover .gift-mini img{transform:rotate(35deg)}.gift-invite-copy small{font:9px Arial;letter-spacing:2.4px;color:#d6b679}.gift-invite-copy h2{font-size:38px;letter-spacing:-.8px;margin:9px 0}.gift-invite-copy h2 br{display:none}.gift-invite-copy h2 br:after{content:' '}.gift-invite-copy p{font:14px/1.5 Arial;color:#d0d3c1;margin:8px 0 17px}.gift-invite-cta{display:inline-flex;border-radius:40px;padding:12px 26px;background:#cfb277;color:#172013;font:16px Georgia;box-shadow:0 4px 15px #0003}.gift-invite-copy em{font:10px Arial;color:#bfc5b3;margin-left:15px;font-style:normal}
@media(max-width:760px){.gift-invite{gap:20px;padding:27px 6%;justify-content:flex-start}.gift-mini{width:120px;margin-left:-25px}.gift-mini span{font-size:17px}.gift-invite-copy{flex:1;min-width:0}.gift-invite-copy small{font-size:8px;letter-spacing:1.5px}.gift-invite-copy h2{font-size:30px;line-height:1.04;letter-spacing:-.5px}.gift-invite-copy h2 br{display:block}.gift-invite-copy p{font-size:12px;line-height:1.5;margin:10px 0 14px}.gift-invite-cta{padding:12px 25px;font-size:15px}.gift-invite-copy em{display:block;margin:9px 0 0;font-size:9px}.welcome>div h2 br{display:block}}
@media(prefers-reduced-motion:reduce){.gift-mini img{transition:none}}
