/* PRIMAL RESET — booking page (matches site brand system) */
:root{--mint:#e9e6da;--burnt:#d98761;--charcoal:#121a15;--stroke:#bec3b7}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.portal-page{background:#eae8df;color:#18241c}.portal-hero{min-height:570px;position:relative;display:flex;align-items:center;padding:155px 0 80px;background:#0e1b15;overflow:hidden;color:#fff}
.portal-hero-img,.portal-hero-shade{position:absolute;inset:0;width:100%;height:100%}.portal-hero-img{object-fit:cover;object-position:50% 55%}.portal-hero-shade{background:linear-gradient(90deg,#06100df2 0%,#091813c2 40%,#10171232 100%),linear-gradient(0deg,#030a07a8,transparent 40%)}.portal-head-content{position:relative;z-index:2}.portal-head-content h1{font-size:clamp(62px,7vw,112px);line-height:.9;letter-spacing:-.065em;margin:20px 0 29px}.portal-head-content h1 em{font-style:italic;color:#dfa080}.portal-head-content>p:last-child{font-size:17px;line-height:1.7;color:#e5e6df;max-width:580px}.portal-hero-bottom{display:flex;justify-content:space-between;position:absolute;bottom:26px;left:0;right:0;color:#eee7db;font-size:10px;font-weight:800;letter-spacing:.14em;z-index:2}
.booking-intro{background:#eae8df;padding:38px 0 50px}.steps{display:flex;border-bottom:1px solid #c8c9bf;padding-bottom:28px;gap:0}.step{display:flex;align-items:center;gap:14px;flex:1;color:#5d675b;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.step b{display:flex;width:37px;height:37px;align-items:center;justify-content:center;border:1px solid #abb2a7;font-size:11px;border-radius:50%;color:#566456}.step.active b{background:#17261b;color:#fff;border-color:#17261b}.intro-line{display:grid;grid-template-columns:1fr .65fr;align-items:end;gap:9%;padding:66px 0 0}.intro-line h2{font-size:clamp(48px,5.5vw,77px);line-height:.92;letter-spacing:-.06em;margin-top:20px}.intro-line h2 em{color:#ac5f40}.intro-line>p{font-size:16px;line-height:1.7;max-width:495px;color:#555f55}
.portal-body{background:#eae8df;padding:10px 0 115px}.portal-columns{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(340px,.82fr);gap:55px;align-items:start}.portal-left{min-width:0}.room-options{border:0;margin:0;padding:0;display:grid;gap:18px}.room-option{position:relative;display:grid;grid-template-columns:190px 1fr;background:#f9f7f1;border:2px solid #d3d4cb;min-height:184px;cursor:pointer;overflow:hidden;box-shadow:0 10px 30px #19251e08}.room-option:hover{border-color:#8e9c8d}.room-option.selected{border-color:#304a34;box-shadow:0 0 0 2px #304a3423}.room-option>input{position:absolute;opacity:0;width:1px;height:1px;top:25px;right:20px}.room-option:focus-within{outline:3px solid #e2a17b;outline-offset:3px}.room-photo{position:relative;display:block;min-height:184px;background:#19231d}.room-photo img{height:100%;width:100%;object-fit:cover}.room-photo small{position:absolute;bottom:0;left:0;right:0;background:#0d1813cc;color:#f0eee7;padding:9px;font-size:8px;line-height:1.4;letter-spacing:.07em}.room-details{display:flex;flex-direction:column;justify-content:center;padding:27px 27px 22px;min-width:0}.room-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.room-row>strong{font-size:16px;letter-spacing:.1em}.capacity{font-size:9px;letter-spacing:.06em;color:#647165;font-weight:700;text-align:right}.room-caption{font-size:14px;color:#667168;line-height:1.5;margin:12px 0 21px}.price-line{align-items:baseline}.price-line>b{font-family:Georgia,serif;font-size:33px;font-weight:400;letter-spacing:-.05em}.price-tag{font-size:9px;letter-spacing:.06em;font-weight:700;color:#657065}.room-indicator{position:absolute;right:12px;top:12px;border:1px solid #a8b0a6;color:#637364;border-radius:50%;width:25px;height:25px;display:flex;align-items:center;justify-content:center;font-size:14px;background:#fff}.room-option.selected .room-indicator{background:#2b4933;color:#fff;border-color:#2b4933}
.promo-card,.guest-details,.guest-agreement{padding:42px 0;border-bottom:1px solid #c7c8bd}.tiny-number{color:#b56d4b;font-size:10px;font-weight:800;letter-spacing:.18em}.promo-card h3,.guest-details h3{font-family:Georgia,serif;font-size:37px;font-weight:400;letter-spacing:-.04em;margin:15px 0}.promo-card p{font-size:14px;color:#687066;line-height:1.6}.promo-row{display:flex;margin-top:22px}.promo-row>input{min-width:0;flex:1;padding:18px;font-size:15px;letter-spacing:.05em;border:1px solid #aab5a7;background:#fffdf7;color:#142119;border-right:0;border-radius:0}.promo-row button{padding:0 26px;background:#1b3021;color:#fff;border:1px solid #1b3021;font-size:12px;letter-spacing:.12em;font-weight:800}.promo-row button:hover{background:#294932}.promo-row button span{margin-left:13px}.promo-feedback{font-size:12px!important;margin-top:12px;color:#636c63!important}.promo-feedback.success{color:#226c3e!important;font-weight:700}.promo-feedback.error{color:#a13e2b!important;font-weight:700}.guest-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:25px}.guest-fields label{display:block;font-size:11px;color:#425348;font-weight:800;text-transform:uppercase;letter-spacing:.09em}.guest-fields label span{color:#b4563a}.guest-fields label em{font-size:10px;color:#8f978e;font-style:normal;font-weight:400;letter-spacing:0;text-transform:none}.guest-fields input{display:block;width:100%;padding:16px 13px;border:1px solid #abb5a9;background:#fffdf7;font-size:15px;margin-top:11px;color:#19261c}.guest-fields .span-all{grid-column:1/-1}.data-note{margin-top:16px;font-size:12px;color:#667368;line-height:1.6}.guest-agreement{padding-bottom:0;border:0}.guest-agreement label{display:flex;align-items:flex-start;gap:12px;font-size:13px;color:#536052;line-height:1.7}.guest-agreement input{margin-top:5px;accent-color:#27462e;flex:none;width:17px;height:17px}.guest-agreement a{font-weight:700;text-decoration:underline;text-underline-offset:3px}
.order-panel{position:sticky;top:110px}.order-card{background:#14221a;color:#fff;padding:39px 38px;box-shadow:0 28px 45px #0b1d1220}.tiny-number.amber{color:#df9b78}.order-card h2{font-family:Georgia,serif;font-size:clamp(41px,4vw,62px);line-height:.94;letter-spacing:-.055em;margin:21px 0 37px}.order-card h2 em{font-weight:400;color:#dd926f}.order-line{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:13px 0;font-size:13px;color:#c2cabf;border-bottom:1px solid #ffffff20}.order-line>b{font-size:14px;color:#fff;white-space:nowrap}.order-line small{display:block;margin-top:6px;font-size:10px;color:#9ba79b}.order-line.discount-row{color:#b3dbb9}.order-line.discount-row>b{color:#a8e9ad}.total-row{border-bottom:0;padding-top:21px}.total-row>b{font-size:19px}.due-block{background:#283a2d;margin:19px -16px 17px;padding:25px 20px 22px}.due-heading{display:flex;justify-content:space-between;gap:15px;font-size:10px;font-weight:800;letter-spacing:.14em;color:#e7d0c0}.due-money{font-family:Georgia,serif;font-weight:400;font-size:clamp(53px,5vw,79px);letter-spacing:-.058em;line-height:1;margin:19px 0 13px;color:#fff}.due-block>p{font-size:11px;color:#b9cabb;line-height:1.5}.balance-row{margin-bottom:7px}.divider-line{height:1px;background:#ffffff2c;margin:24px 0}.pay-button{display:flex;justify-content:space-between;align-items:center;width:100%;background:#d98963;border:0;color:#142119;padding:23px 21px;font-size:12px;font-weight:800;letter-spacing:.11em;text-align:left}.pay-button:not(:disabled):hover{background:#eba784}.pay-button:disabled{opacity:.85;cursor:not-allowed;background:#9eaea0;color:#213a2a}.pay-button span:last-child{font-size:20px}.payment-feedback{font-size:11px;line-height:1.6;color:#c0cdbd;margin:17px 0}.payment-feedback.error{color:#ffb9a7}.secure-line{border-top:1px solid #ffffff27;padding-top:19px;display:flex;align-items:center;gap:10px;font-size:11px;color:#b8c7b7;line-height:1.5}.secure-line>span:first-child{border:1px solid #9bb1a0;border-radius:50%;height:24px;width:24px;display:flex;align-items:center;justify-content:center}.capacity-disclaimer{padding:24px 9px 0}.capacity-disclaimer strong{font-size:10px;color:#92644f;letter-spacing:.15em}.capacity-disclaimer p{color:#68746b;font-size:12px;line-height:1.7;margin-top:9px}
.after-booking{background:#17271b;color:#fff;padding:90px 0}.after-booking>.container{display:grid;grid-template-columns:1fr .74fr;gap:12%;align-items:end}.after-booking h2{font-size:clamp(50px,5vw,78px);letter-spacing:-.06em;line-height:.95;margin:20px 0}.after-booking h2 em{color:#d98b64}.after-booking p:not(.eyebrow){font-size:16px;color:#bfcbbd;line-height:1.8}.after-booking a{border-bottom:1px solid #aab8a6;padding:10px 0;font-size:13px;grid-column:2;justify-self:start;font-weight:700}.after-booking a span{margin-left:24px}.portal-footer{padding:24px 0}.portal-footer a{color:#e4e7dc}
@media(max-width:1050px){.portal-columns{grid-template-columns:1fr .83fr;gap:25px}.room-option{grid-template-columns:150px 1fr}.room-details{padding:24px 16px}.room-row{flex-direction:column;align-items:flex-start;gap:7px}.room-row .capacity{text-align:left}.room-row.price-line{flex-direction:row;align-items:baseline}.order-card{padding:31px 25px}}@media(max-width:850px){.portal-columns{grid-template-columns:1fr}.order-panel{position:static;max-width:700px}.portal-hero{min-height:550px}.after-booking>.container{grid-template-columns:1fr;gap:20px}.after-booking a{grid-column:1}.intro-line{grid-template-columns:1fr;gap:25px;padding-top:45px}.room-option{grid-template-columns:230px 1fr}}@media(max-width:600px){.portal-hero{min-height:590px;padding-top:140px}.portal-head-content h1{font-size:clamp(55px,12vw,79px)}.portal-head-content>p:last-child{font-size:15px}.portal-hero-bottom{font-size:8px;letter-spacing:.04em}.step{gap:8px;font-size:9px;align-items:flex-start}.step b{width:28px;height:28px;flex:none}.steps{gap:8px}.booking-intro{padding-top:28px}.intro-line h2{font-size:59px}.portal-body{padding-bottom:75px}.room-option{grid-template-columns:1fr}.room-photo{height:175px;min-height:175px}.room-details{padding:20px 20px 26px}.room-row{flex-direction:row}.room-row .capacity{text-align:right}.price-line>b{font-size:32px}.price-tag{font-size:8px;text-align:right}.room-indicator{top:10px;right:10px}.guest-fields{grid-template-columns:1fr}.guest-fields .span-all{grid-column:auto}.promo-row button{padding:0 16px;font-size:11px}.promo-card h3,.guest-details h3{font-size:34px}.order-card{padding:30px 21px}.due-money{font-size:62px}.after-booking{padding:68px 0}}
