.intro-story-visual .image-one>img{width:100%;height:100%;object-fit:cover}.reservation-path{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--color-stone-200)}.reservation-path article{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:start;grid-gap:16px;gap:16px;padding:28px 28px 28px 0;border-bottom:1px solid var(--color-stone-200)}.reservation-path article+article{padding-left:28px;border-left:1px solid var(--color-stone-200)}.reservation-path article>span{display:grid;width:44px;height:44px;place-items:center;color:var(--color-accent-hover);background:var(--color-cream)}.reservation-path h3{margin-bottom:7px;font-size:1.15rem}.reservation-path p{margin:0;font-size:.88rem;line-height:1.6}@media (max-width:900px){.reservation-path{grid-template-columns:1fr}.reservation-path article,.reservation-path article+article{padding:24px 0;border-left:0}}.booking-page{min-height:100vh;min-height:100dvh;padding:calc(var(--header-height) + 54px) 20px 110px;color:var(--color-stone-900);background:var(--color-stone-50)}.reservation-entry{min-height:calc(100vh - var(--header-height));min-height:calc(100dvh - var(--header-height));padding:calc(var(--header-height) + 82px) 20px 92px;color:var(--color-stone-900);background:var(--color-white)}.reservation-entry-inner{display:grid;justify-items:center;text-align:center}.reservation-entry-heading{max-width:780px}.reservation-entry-heading h1{margin-bottom:22px;font-size:clamp(2.8rem,6vw,5.2rem)}.reservation-entry-heading>p:last-child{max-width:680px;margin-inline:auto;font-size:1.02rem}.reservation-entry-actions{display:grid;width:min(100%,850px);margin:52px auto 30px;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px;text-align:left}.reservation-entry-actions>a{position:relative;display:grid;min-height:150px;align-content:center;grid-gap:11px;gap:11px;padding:28px 64px 28px 28px;border:1px solid var(--color-stone-200);border-radius:var(--radius-lg);color:var(--color-stone-900);background:var(--color-stone-50);box-shadow:var(--shadow-soft);transition:border-color .2s ease,transform .2s ease}.reservation-entry-actions>a:hover{border-color:var(--color-accent);transform:translateY(-3px)}.reservation-entry-actions>a>span{display:flex;align-items:center;gap:10px}.reservation-entry-actions>a svg{color:var(--color-accent-hover)}.reservation-entry-actions>a>svg{position:absolute;top:50%;right:25px;transform:translateY(-50%)}.reservation-entry-actions small{color:var(--color-stone-600);line-height:1.45}.form-layout .reservation-entry-actions{width:100%;margin:0;grid-template-columns:1fr}.form-layout .reservation-entry-actions>a{min-height:126px}.form-aside .booking-manage-link{margin-top:18px}.booking-shell{width:min(100%,1120px);margin-inline:auto}.booking-loading{min-height:70dvh;display:grid;place-items:center;color:var(--color-stone-600)}.booking-intro{text-align:center}.booking-kicker{margin-bottom:15px;color:var(--color-accent-hover);font-size:.76rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase}.booking-intro h1{margin-bottom:22px;font-size:clamp(2.65rem,5vw,4.6rem)}.booking-manage-link{display:inline-flex;min-height:50px;align-items:center;justify-content:center;gap:10px;padding:11px 18px;border:1px solid var(--color-accent);border-radius:var(--radius-md);color:var(--color-stone-900);background:var(--color-cream);font-weight:700;box-shadow:0 10px 24px rgb(184 137 27/.12);transition:color .2s ease,background-color .2s ease,transform .2s ease}.booking-manage-link:hover{color:var(--color-stone-900);background:var(--color-accent);transform:translateY(-2px)}.booking-progress{position:relative;display:grid;width:min(100%,720px);margin:60px auto 70px;padding:0;grid-template-columns:repeat(3,1fr);list-style:none}.booking-progress:before{content:"";position:absolute;top:38px;left:17%;right:17%;height:1px;background:var(--color-stone-200)}.booking-progress li{position:relative;z-index:1;display:grid;justify-items:center;grid-gap:11px;gap:11px;color:var(--color-stone-600);font-size:.8rem;font-weight:500;text-transform:uppercase}.booking-progress li>span{display:grid;width:76px;height:76px;place-items:center;border:1px solid var(--color-stone-200);border-radius:50%;background:var(--color-stone-100)}.booking-progress li.active{color:var(--color-stone-900)}.booking-progress li.active>span{border-color:var(--color-accent);color:var(--color-stone-900);background:var(--color-accent);box-shadow:0 12px 30px rgb(184 137 27/.18)}.booking-progress li.complete>span{border-color:var(--color-cream);color:var(--color-accent-hover);background:var(--color-cream)}.booking-stage{width:min(100%,980px);margin-inline:auto}.booking-stage-heading{margin-bottom:50px;text-align:center}.booking-stage-heading h2{margin-bottom:12px;font-size:clamp(2rem,4vw,3rem)}.booking-stage-heading p{max-width:650px;margin:0 auto;font-size:1.02rem}.booking-fieldset{min-width:0;margin:0 0 52px;padding:0;border:0}.booking-fieldset legend{display:flex;align-items:center;gap:10px;margin-bottom:22px;color:var(--color-accent-hover);font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.booking-location-options{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.booking-location-options button{display:grid;min-height:102px;align-content:center;grid-gap:5px;gap:5px;padding:20px 24px;border:1px solid var(--color-stone-200);border-radius:var(--radius-lg);text-align:left;color:var(--color-stone-900);background:var(--color-stone-50);cursor:pointer;transition:border-color .2s ease,background .2s ease,transform .2s ease}.booking-location-options button:hover{border-color:var(--color-accent);transform:translateY(-2px)}.booking-location-options button.selected{border-color:var(--color-accent);background:var(--color-cream);box-shadow:inset 4px 0 0 var(--color-accent)}.booking-location-options strong{font-size:1rem}.booking-location-options small{color:var(--color-stone-600);font-size:.76rem}.booking-guests{display:grid;grid-template-columns:repeat(9,minmax(58px,1fr));grid-gap:12px;gap:12px}.booking-guests button{width:100%;aspect-ratio:1;border:1px solid var(--color-stone-200);border-radius:50%;color:var(--color-stone-900);background:var(--color-stone-50);cursor:pointer;font-size:1.15rem;transition:border-color .2s ease,background .2s ease,transform .2s ease}.booking-guests button:hover{border-color:var(--color-accent);transform:translateY(-2px)}.booking-guests button.selected{border-color:var(--color-accent);background:var(--color-accent);box-shadow:0 10px 24px rgb(184 137 27/.18)}.booking-guests .booking-more-guests{border-style:dashed;border-color:var(--color-accent-hover)}.booking-guest-adjust{display:flex;align-items:center;gap:18px;margin-top:16px}.booking-guest-adjust button{min-height:42px;padding:0 18px;border:1px solid var(--color-stone-200);border-radius:var(--radius-md);background:var(--color-stone-50);cursor:pointer}.booking-guest-adjust span{font-weight:600}.booking-calendar{width:min(100%,470px);margin-inline:auto;padding:28px;border:1px solid var(--color-stone-200);border-radius:var(--radius-lg);background:var(--color-stone-50)}.booking-calendar-heading{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;margin-bottom:24px;text-align:center}.booking-calendar-heading strong{font-size:1.05rem;text-transform:capitalize}.booking-calendar-heading button{display:grid;width:44px;height:44px;place-items:center;border:0;border-radius:50%;background:transparent;cursor:pointer}.booking-calendar-heading button:hover:not(:disabled){background:var(--color-cream)}.booking-calendar-heading button:disabled{opacity:.25;cursor:not-allowed}.booking-calendar-grid,.booking-calendar-week{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:7px;gap:7px}.booking-calendar-week{margin-bottom:7px;color:var(--color-stone-600);font-size:.78rem;text-align:center}.booking-calendar-grid button{aspect-ratio:1;border:0;border-radius:var(--radius-md);color:var(--color-stone-900);background:transparent;cursor:pointer}.booking-calendar-grid button:hover:not(:disabled){background:var(--color-cream)}.booking-calendar-grid button.selected{color:var(--color-stone-900);background:var(--color-accent);font-weight:700}.booking-calendar-grid button:disabled{color:var(--color-stone-400);cursor:not-allowed}.booking-slots{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:12px;gap:12px}.booking-slots button{min-height:66px;border:1px solid var(--color-stone-200);border-radius:var(--radius-md);color:var(--color-stone-900);background:var(--color-stone-50);cursor:pointer;font-size:1rem;transition:border-color .2s ease,background .2s ease,transform .2s ease}.booking-slots button:hover{border-color:var(--color-accent);transform:translateY(-2px)}.booking-slots button.selected{border-color:var(--color-accent);background:var(--color-accent);font-weight:700}.booking-empty,.booking-slots-loading{padding:30px;text-align:center;color:var(--color-stone-600)}.booking-empty,.booking-slots-loading,.booking-summary{border:1px solid var(--color-stone-200);border-radius:var(--radius-lg);background:var(--color-stone-100)}.booking-summary{display:grid;margin-bottom:45px;grid-template-columns:repeat(4,1fr)}.booking-summary span{display:flex;min-height:76px;align-items:center;justify-content:center;gap:9px;padding:14px;border-right:1px solid var(--color-stone-200);color:var(--color-stone-700);font-size:.84rem;text-align:center;text-transform:capitalize}.booking-summary span:last-child{border-right:0}.booking-summary svg{flex:0 0 auto;color:var(--color-accent-hover)}.booking-contact-card{padding:clamp(24px,4vw,40px);border:1px solid var(--color-stone-200);border-radius:var(--radius-lg);background:var(--color-white);box-shadow:var(--shadow-soft)}.booking-contact-card .booking-stage-heading{margin-bottom:34px;text-align:left}.booking-contact-fields{display:grid;grid-gap:24px;gap:24px}.booking-phone-control{display:grid;grid-template-columns:minmax(220px,.38fr) minmax(0,1fr);grid-gap:10px;gap:10px}.booking-country-select{position:relative;min-width:0}.booking-country-select>button{display:flex;width:100%;min-height:58px;align-items:center;gap:9px;padding:0 13px;border:1px solid var(--color-stone-200);border-radius:var(--radius-md);color:var(--color-stone-900);background:var(--color-stone-50);cursor:pointer;text-align:left}.booking-country-select>button:focus-visible{border-color:var(--color-accent);outline:0;box-shadow:0 0 0 3px rgb(212 175 55/.2)}.booking-country-select .fi{width:22px;height:16px;flex:0 0 auto;border-radius:2px;background-size:cover;box-shadow:0 0 0 1px rgb(28 25 23/.12)}.booking-country-code{flex:0 0 auto;font-weight:700}.booking-country-name{min-width:0;overflow:hidden;color:var(--color-stone-600);font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.booking-country-caret{flex:0 0 auto;margin-left:auto;color:var(--color-accent-hover)}.booking-country-options{position:absolute;z-index:20;top:calc(100% + 7px);left:0;width:min(360px,calc(100vw - 48px));max-height:300px;padding:7px;overflow-y:auto;border:1px solid var(--color-stone-200);border-radius:var(--radius-md);background:var(--color-white);box-shadow:0 20px 45px rgb(28 25 23/.16);overscroll-behavior:contain}.booking-country-options>button{display:grid;width:100%;min-height:44px;grid-template-columns:24px minmax(0,1fr) auto 18px;align-items:center;grid-gap:9px;gap:9px;padding:7px 9px;border:0;border-radius:var(--radius-sm);color:var(--color-stone-900);background:transparent;cursor:pointer;text-align:left}.booking-country-options>button:hover,.booking-country-options>button[aria-selected=true]{background:var(--color-cream)}.booking-country-options small{color:var(--color-stone-600)}.booking-country-options svg{color:var(--color-accent-hover)}.booking-contact-fields label,.booking-edit-grid label{display:grid;grid-gap:9px;gap:9px}.booking-contact-fields label>span,.booking-edit-grid label>span{display:flex;align-items:center;gap:8px;color:var(--color-stone-900);font-size:.9rem;font-weight:600}.booking-contact-fields label>span svg,.booking-edit-grid label>span svg{color:var(--color-accent-hover)}.booking-contact-fields .booking-reservation-privacy{display:flex;grid-column:1/-1;align-items:flex-start;gap:11px}.booking-contact-fields .booking-reservation-privacy>span{display:inline;color:var(--color-stone-600);font-size:.74rem;font-weight:400;line-height:1.55}.booking-contact-fields .booking-reservation-privacy input[type=checkbox]{width:19px;height:19px;min-height:19px;flex:0 0 19px;margin:2px 0 0;padding:0;accent-color:var(--color-accent-hover)}.booking-contact-fields input,.booking-contact-fields textarea,.booking-edit-grid input,.booking-edit-grid select,.booking-edit-grid textarea{width:100%;min-height:58px;padding:14px 16px;border:1px solid var(--color-stone-200);border-radius:var(--radius-md);outline:0;color:var(--color-stone-900);background:var(--color-stone-50)}.booking-contact-fields textarea,.booking-edit-grid textarea{min-height:130px;resize:vertical}.booking-contact-fields input:focus,.booking-contact-fields textarea:focus,.booking-edit-grid input:focus,.booking-edit-grid select:focus,.booking-edit-grid textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px rgb(212 175 55/.2)}.booking-review-list{margin:0 0 32px;border-top:1px solid var(--color-stone-200)}.booking-review-list>div{display:grid;grid-template-columns:180px 1fr;grid-gap:20px;gap:20px;padding:17px 0;border-bottom:1px solid var(--color-stone-200)}.booking-review-list dt{color:var(--color-stone-600)}.booking-review-list dd{margin:0;font-weight:600;overflow-wrap:anywhere}.booking-review-note{max-width:680px}.booking-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:48px}.booking-actions-end{justify-content:flex-end}.booking-primary,.booking-secondary{display:inline-flex;min-height:54px;align-items:center;justify-content:center;gap:11px;padding:13px 24px;border-radius:var(--radius-md);cursor:pointer;font-weight:700;transition:transform .2s ease,background .2s ease,border-color .2s ease}.booking-primary{border:1px solid var(--color-accent);color:var(--color-stone-900);background:var(--color-accent)}.booking-primary:hover:not(:disabled){background:var(--color-accent-hover);transform:translateY(-2px)}.booking-secondary{border:1px solid var(--color-stone-300,#d6d3d1);color:var(--color-stone-900);background:var(--color-stone-50)}.booking-secondary:hover{border-color:var(--color-accent);transform:translateY(-2px)}.booking-primary:disabled{opacity:.55;cursor:wait}.booking-error,.booking-success{display:flex;align-items:center;gap:9px;margin:26px 0 0;padding:15px 17px;border-radius:var(--radius-md);font-size:.88rem}.booking-error{color:#991b1b;border:1px solid #fecaca;background:#fef2f2}.booking-success{color:#166534;border:1px solid #bbf7d0;background:#f0fdf4}.booking-manage-shell{width:min(100%,920px)}.booking-manage-page .booking-intro{margin-bottom:64px}.booking-lookup{width:min(100%,680px)}.booking-status-line{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:32px;padding:16px 18px;border-radius:var(--radius-md);background:var(--color-stone-100)}.booking-status-line span{padding:7px 10px;border-radius:var(--radius-sm);color:var(--color-accent-hover);background:var(--color-cream);font-size:.72rem;font-weight:700}.booking-cancel-visible{display:inline-flex;min-height:42px;align-items:center;justify-content:center;gap:8px;padding:8px 13px;border:1px solid #dc2626;border-radius:var(--radius-md);color:#991b1b;background:var(--color-white);cursor:pointer;font-size:.76rem;font-weight:700}.booking-cancel-visible:hover{color:#7f1d1d;background:#fef2f2;transform:translateY(-1px)}.booking-edit-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:24px;gap:24px}.booking-edit-message{grid-column:1/-1}.booking-cancel-confirm{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px;border:1px solid #fecaca;border-radius:var(--radius-md);background:#fef2f2}.booking-cancel-confirm strong{color:#7f1d1d}.booking-cancel-confirm p{margin:5px 0 0;color:#991b1b;font-size:.78rem}.booking-cancel-confirm>div:last-child{display:flex;flex:0 0 auto;gap:9px}.booking-cancel-confirm button{min-height:42px;padding:8px 13px;border:1px solid #d6d3d1;border-radius:var(--radius-md);color:var(--color-stone-900);background:var(--color-white);cursor:pointer;font-size:.76rem;font-weight:700}.booking-cancel-confirm .booking-cancel-danger{border-color:#991b1b;color:#fff;background:#991b1b}.booking-cancel-confirm button:disabled{cursor:wait;opacity:.55}.booking-cancelled-state{display:grid;width:min(100%,720px);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:20px;gap:20px;padding:28px;border:1px solid var(--color-stone-200);border-radius:var(--radius-lg);background:var(--color-white);box-shadow:var(--shadow-soft)}.booking-cancelled-state>svg{color:var(--color-accent-hover)}.booking-cancelled-state h2{margin:0 0 6px;font-size:1.875rem}.booking-cancelled-state p{margin:0 0 8px;font-size:.88rem}.booking-cancelled-state>div>strong{color:var(--color-stone-600);font-size:.78rem}.booking-cancelled-state .booking-primary{text-decoration:none;white-space:nowrap}@media (max-width:760px){.reservation-entry{min-height:auto;padding:calc(var(--header-height) + 48px) 16px 68px}.reservation-entry-heading h1{font-size:clamp(2.55rem,13vw,3.5rem)}.reservation-entry-actions{margin-top:38px;grid-template-columns:1fr}.reservation-entry-actions>a{min-height:126px;padding:23px 58px 23px 22px}.booking-page{padding:calc(var(--header-height) + 34px) 16px 76px}.booking-intro h1{font-size:clamp(2.45rem,12vw,3.25rem)}.booking-manage-link{font-size:.86rem}.booking-phone-control{grid-template-columns:112px minmax(0,1fr);gap:8px}.booking-country-select>button{gap:7px;padding-inline:10px}.booking-country-name{display:none}.booking-country-options{width:min(330px,calc(100vw - 32px))}.booking-progress{margin:42px auto 52px}.booking-progress:before{top:29px}.booking-progress li{gap:8px;font-size:.62rem}.booking-progress li>span{width:58px;height:58px}.booking-stage-heading{margin-bottom:36px}.booking-stage-heading p{font-size:.92rem}.booking-fieldset{margin-bottom:40px}.booking-location-options{grid-template-columns:1fr}.booking-location-options button{min-height:88px}.booking-guests{grid-template-columns:repeat(5,1fr);gap:9px}.booking-calendar{padding:20px 14px}.booking-calendar-grid,.booking-calendar-week{gap:4px}.booking-calendar-grid button{min-height:41px}.booking-slots{grid-template-columns:repeat(3,1fr);gap:9px}.booking-slots button{min-height:56px}.booking-summary{grid-template-columns:1fr 1fr}.booking-summary span{min-height:68px;border-bottom:1px solid var(--color-stone-200)}.booking-summary span:nth-child(2){border-right:0}.booking-summary span:nth-child(3),.booking-summary span:nth-child(4){border-bottom:0}.booking-review-list>div{grid-template-columns:1fr;gap:3px}.booking-contact-card{padding:24px 18px}.booking-actions{align-items:stretch;flex-direction:column-reverse}.booking-actions button{width:100%}.booking-actions-end{flex-direction:column}.booking-edit-grid{grid-template-columns:1fr}.booking-edit-message{grid-column:auto}.booking-status-line{align-items:flex-start;flex-direction:column}.booking-status-line .booking-cancel-visible{width:100%}.booking-cancel-confirm{align-items:stretch;flex-direction:column}.booking-cancel-confirm>div:last-child{display:grid;grid-template-columns:1fr}.booking-cancelled-state{grid-template-columns:1fr;justify-items:start}.booking-cancelled-state .booking-primary{width:100%}}@media (max-width:390px){.booking-page{padding-inline:12px}.booking-progress li>span{width:52px;height:52px}.booking-progress:before{top:26px}.booking-guests{grid-template-columns:repeat(5,minmax(0,1fr))}.booking-slots{grid-template-columns:repeat(2,1fr)}}@media (prefers-reduced-motion:reduce){.booking-page *,.booking-page :after,.booking-page :before{scroll-behavior:auto!important;transition:none!important}}