:root{color:#111827;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#111827;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;overscroll-behavior:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#111827;min-width:320px;scroll-padding-top:0}body{will-change:auto;backface-visibility:hidden;min-width:320px;min-height:100svh;margin:0;transform:translateZ(0)}button,input,textarea,select{font:inherit}#root{min-height:100svh}.landing{color:#fff;contain:layout style;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#111827;min-height:118svh;position:relative;overflow-x:hidden}.landing--placeholder{min-height:100svh}.landing__image{object-fit:cover;object-position:center;will-change:transform;backface-visibility:hidden;width:100%;height:100%;position:absolute;inset:0;transform:scale(1.02)translateZ(0)}.landing__shade{pointer-events:none;will-change:auto;backface-visibility:hidden;background:linear-gradient(90deg,#070c166b 0%,#070c1685 50%,#070c163d 100%),linear-gradient(#070c1614 42%,#070c169e 100%);position:absolute;inset:0;transform:translateZ(0)}.side-menu{z-index:3;will-change:auto;backface-visibility:hidden;position:absolute;top:clamp(98px,13vw,160px);left:clamp(16px,3vw,36px);transform:translateZ(0)}.side-menu__toggle{display:none}.side-menu__list{backface-visibility:hidden;contain:layout style paint;background:#070c16f2;border:1px solid #fff3;border-radius:8px;width:210px;padding:8px;display:grid}.side-menu__list a{color:#fff;letter-spacing:0;border-radius:6px;padding:12px 14px;font-size:17px;font-weight:800;line-height:1;text-decoration:none;display:block}.side-menu__list a:hover,.side-menu__list a:focus-visible,.side-menu__list a.is-active{color:#111827;background:#fbbf24;transition:background .12s,color .12s}.side-menu__list a:focus-visible{outline-offset:2px;outline:2px solid #fff}.hero{z-index:1;box-sizing:border-box;text-align:center;will-change:auto;backface-visibility:hidden;contain:layout style paint;flex-direction:column;justify-content:flex-start;align-items:center;width:100%;min-height:100svh;margin:0 auto;padding:clamp(22px,4vw,46px) clamp(16px,4vw,56px) 72px;display:flex;position:relative;transform:translateZ(0)}.destinations-section{z-index:2;text-align:center;will-change:auto;contain:layout style paint;backface-visibility:hidden;width:90%;max-width:800px;position:absolute;top:50%;left:50%;transform:translate(-50%)translateY(-50%)translateZ(0)}.destinations-heading{color:#ffffffe0;letter-spacing:.5px;text-shadow:0 2px 6px #0009;margin:0 0 28px;font-size:clamp(22px,2.5vw,32px);font-weight:800;line-height:1.2}.destinations-subtitle{color:#fbbf24e6;letter-spacing:.3px;margin:0 0 20px;font-size:clamp(16px,1.8vw,20px);font-weight:700;line-height:1.4;animation:2s infinite bounce}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.destinations{will-change:auto;contain:layout style paint;pointer-events:auto;grid-template-columns:repeat(3,minmax(140px,1fr));gap:clamp(16px,2vw,28px);max-width:700px;margin:32px auto 0;display:grid;transform:translateZ(0)}.destination-card{will-change:auto;backface-visibility:hidden;contain:layout style paint;background:#070c16eb;border:1px solid #ffffff38;border-radius:8px;overflow:hidden;transform:translateZ(0)}.destination-card--clickable{cursor:pointer;transition:transform .12s,box-shadow .12s,border-color .12s}.destination-card--clickable:hover{border-color:#fbbf24;transform:translateY(-6px)translateZ(0);box-shadow:0 12px 24px #fbbf2440}.destination-card--clickable:focus-visible{outline-offset:2px;outline:2px solid #fbbf24}.destination-card--clickable:active{transform:translateY(-3px)translateZ(0)}.destination-card img{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}.destination-card__body{text-align:center;padding:12px 12px 14px}.destination-card p{color:#fbbf24;letter-spacing:0;margin:0;font-family:Georgia,Times New Roman,serif;font-size:20px;font-style:italic;font-weight:700;line-height:1.12}.page-content{z-index:2;color:#fff;contain:layout style paint;will-change:auto;backface-visibility:hidden;width:min(860px,100% - 320px);margin-left:clamp(260px,25vw,360px);padding:clamp(96px,12vw,150px) clamp(24px,4vw,56px) 80px;position:relative;transform:translateZ(0)}.page-content h1{color:#fff;letter-spacing:0;text-shadow:0 2px 8px #000c;margin:0 0 28px;font-size:clamp(42px,6vw,82px);font-weight:900;line-height:.95}.page-content__section{margin-top:34px}.page-content h2{color:#fbbf24;letter-spacing:0;text-shadow:0 2px 6px #000000b3;margin:0 0 14px;font-size:clamp(26px,3vw,42px);font-weight:900;line-height:1}.page-content p{color:#fffffff0;letter-spacing:0;text-shadow:0 1px 4px #0009;margin:0 0 20px;font-size:clamp(18px,1.55vw,24px);font-weight:650;line-height:1.48}.booking-page{z-index:2;color:#fff;contain:layout style paint;will-change:auto;backface-visibility:hidden;width:min(980px,100% - 320px);margin-left:clamp(260px,25vw,360px);padding:clamp(88px,10vw,128px) clamp(24px,4vw,56px) 90px;position:relative;transform:translateZ(0)}.booking-page h1{color:#fff;letter-spacing:0;text-shadow:0 2px 8px #000c;margin:0 0 34px;font-size:clamp(42px,6vw,82px);font-weight:900;line-height:.95}.calendar{will-change:auto;contain:layout style paint;backface-visibility:hidden;background:#070c16f2;border:1px solid #ffffff38;border-radius:8px;width:100%;padding:clamp(18px,2.8vw,32px);transform:translateZ(0)}.calendar__header{justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:22px;display:flex}.calendar__header h2{color:#fbbf24;letter-spacing:0;margin:0;font-size:clamp(28px,3.5vw,48px);font-weight:900;line-height:1}.calendar__header p{color:#ffffffeb;letter-spacing:0;margin:0;font-size:clamp(15px,1.4vw,18px);font-weight:800;line-height:1.2}.calendar__controls{grid-template-columns:54px minmax(0,1fr) 54px;align-items:center;gap:12px;margin-bottom:20px;display:grid;position:relative}.calendar__arrow,.calendar__month-button,.calendar__month-option,.calendar__schedule{color:#fff;cursor:pointer;font:inherit;letter-spacing:0;background:#ffffff1a;border:1px solid #fff3;border-radius:8px}.calendar__arrow{place-items:center;min-height:54px;font-size:42px;font-weight:900;line-height:1;display:grid}.calendar__arrow:disabled,.calendar__schedule:disabled{cursor:not-allowed;opacity:.38}.calendar__month-picker{position:relative}.calendar__month-button{color:#fbbf24;width:100%;min-height:54px;padding:10px 18px;font-size:clamp(24px,3vw,38px);font-weight:900;line-height:1}.calendar__month-menu{z-index:5;will-change:auto;backface-visibility:hidden;contain:layout style paint;background:#070c16fa;border:1px solid #ffffff38;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px;display:grid;position:absolute;top:calc(100% + 8px);left:0;right:0;transform:translateZ(0)}.calendar__month-option{min-height:42px;padding:8px 10px;font-size:15px;font-weight:900}.calendar__arrow:not(:disabled):hover,.calendar__arrow:not(:disabled):focus-visible,.calendar__month-button:hover,.calendar__month-button:focus-visible,.calendar__month-option:hover,.calendar__month-option:focus-visible,.calendar__month-option--active,.calendar__schedule:not(:disabled):hover,.calendar__schedule:not(:disabled):focus-visible{color:#111827;background:#fbbf24;border-color:#fbbf24}.calendar__arrow:focus-visible,.calendar__month-button:focus-visible,.calendar__month-option:focus-visible,.calendar__schedule:focus-visible{outline-offset:2px;outline:2px solid #fff}.calendar__weekdays,.calendar__grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.calendar__weekdays{margin-bottom:8px}.calendar__weekdays span{color:#ffffffb8;letter-spacing:0;text-transform:uppercase;place-items:center;min-height:34px;font-size:14px;font-weight:900;display:grid}.calendar__day,.calendar__empty{aspect-ratio:1;border-radius:8px;min-height:50px}.calendar__day{color:#fff;cursor:pointer;letter-spacing:0;will-change:auto;backface-visibility:hidden;background:#28634a;border:1px solid #a7f3d0ad;font-size:clamp(18px,2vw,26px);font-weight:900;line-height:1;transition:background 80ms,border-color 80ms,color 80ms;transform:translateZ(0)}.calendar__day--unavailable{color:#fff;cursor:not-allowed;opacity:.72;background:#b91c1c;border-color:#ef4444}.calendar__day--booked{color:#fff;cursor:not-allowed;opacity:1;background:#dc2626;border-color:#f87171}.calendar__day:not(:disabled):hover,.calendar__day:focus-visible,.calendar__day--selected{color:#111827;background:#fbbf24;border-color:#fbbf24}.calendar__day:not(:disabled):hover{transform:translateY(-2px)}.calendar__day:focus-visible{outline-offset:2px;outline:2px solid #fff}.calendar__empty{background:#ffffff0a}.calendar__legend{color:#ffffffd1;flex-wrap:wrap;gap:16px;margin-top:16px;font-size:14px;font-weight:800;display:flex}.calendar__legend span{align-items:center;gap:7px;display:inline-flex}.calendar__legend i{border-radius:4px;width:16px;height:16px}.calendar__legend-booked{background:#dc2626;border:1px solid #f87171}.calendar__legend-selected{background:#fbbf24;border:1px solid #fbbf24}.calendar__schedule{justify-content:center;align-items:center;gap:10px;min-height:52px;margin-top:20px;padding:12px 20px;font-size:clamp(17px,1.6vw,22px);font-weight:900;display:inline-flex}.calendar__schedule span{font-size:1.25em;line-height:1}.booking-cancellation{border-top:1px solid #ffffff29;grid-template-columns:minmax(0,1fr) minmax(220px,.7fr) auto;align-items:end;gap:14px;margin-top:28px;padding-top:24px;display:grid}.booking-cancellation__intro h3{color:#fff;margin:0 0 6px;font-size:20px;font-weight:900}.booking-cancellation__intro p{color:#ffffffb8;margin:0;font-size:14px;font-weight:650;line-height:1.4}.booking-cancellation label{gap:8px;display:grid}.booking-cancellation label span{color:#fff;font-size:14px;font-weight:900}.booking-cancellation input,.booking-cancellation button{color:#fff;background:#ffffff1a;border:1px solid #ffffff38;border-radius:8px;outline:none;min-height:48px;padding:10px 13px}.booking-cancellation input{text-transform:uppercase;width:100%;font-size:16px;font-weight:800}.booking-cancellation input:focus{border-color:#fbbf24;box-shadow:0 0 0 2px #fbbf2442}.booking-cancellation button{cursor:pointer;font-size:16px;font-weight:900}.booking-cancellation button:hover,.booking-cancellation button:focus-visible{background:#b91c1c;border-color:#ef4444}.booking-cancellation button:focus-visible{outline-offset:2px;outline:2px solid #fff}.booking-cancellation button:disabled{cursor:wait;opacity:.58}.booking-cancellation__message{border:1px solid;border-radius:8px;grid-column:1/-1;margin:0;padding:10px 12px;font-size:14px;font-weight:800}.booking-cancellation__message--success{color:#86efac;background:#16653461}.booking-cancellation__message--error{color:#fca5a5;background:#991b1b61}.booking-form{will-change:transform;contain:layout;background:#070c16f2;border:1px solid #ffffff38;border-radius:8px;gap:18px;width:100%;padding:clamp(18px,2.8vw,32px);display:grid;transform:translateZ(0)}.booking-form__header{justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:4px;display:flex}.booking-form__header h2{color:#fbbf24;letter-spacing:0;margin:0;font-size:clamp(28px,3.5vw,48px);font-weight:900;line-height:1}.booking-form__header p{color:#ffffffeb;letter-spacing:0;margin:0;font-size:clamp(15px,1.4vw,18px);font-weight:800;line-height:1.2}.booking-form label{gap:8px;display:grid}.booking-form label span{color:#fff;letter-spacing:0;font-size:16px;font-weight:900}.booking-form input,.booking-form select{color:#fff;letter-spacing:0;background:#ffffff1a;border:1px solid #ffffff38;border-radius:8px;outline:none;width:100%;min-height:52px;padding:12px 14px;font-size:18px;font-weight:750}.booking-form input:focus,.booking-form select:focus{border-color:#fbbf24;box-shadow:0 0 0 2px #fbbf2442}.booking-form .booking-form__time{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;cursor:pointer}.booking-form .booking-form__time option{color:#fff;background:#111827}.booking-form .booking-form__honeypot{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;left:-10000px}.booking-form__message{letter-spacing:0;border:1px solid;border-radius:8px;margin:0;padding:12px 14px;font-size:16px;font-weight:800}.booking-form__message p,.booking-form__message small{margin:0;display:block}.booking-form__message p+p{margin-top:6px}.booking-form__message small{margin-top:8px;line-height:1.4}.booking-form__message strong{letter-spacing:.08em;font-size:1.12em}.booking-form__message--success{color:#86efac;background:#16653461}.booking-form__message--error{color:#fca5a5;background:#991b1b61}.booking-form__actions{flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:6px;display:flex}.booking-form__actions button{color:#fff;cursor:pointer;letter-spacing:0;background:#ffffff1a;border:1px solid #ffffff38;border-radius:8px;min-height:50px;padding:12px 18px;font-size:17px;font-weight:900}.booking-form__actions button:hover,.booking-form__actions button:focus-visible{color:#111827;background:#fbbf24;border-color:#fbbf24}.booking-form__actions button:focus-visible{outline-offset:2px;outline:2px solid #fff}.booking-form__actions button:disabled{cursor:wait;opacity:.58}.booking-form__actions button:disabled:hover{color:#fff;background:#ffffff1a;border-color:#ffffff38}.contact-page{z-index:2;color:#fff;width:min(760px,100% - 320px);margin-left:clamp(260px,25vw,360px);padding:clamp(96px,12vw,150px) clamp(24px,4vw,56px) 90px;position:relative}.contact-page h1{color:#fff;letter-spacing:0;text-shadow:0 5px 28px #00000094;margin:0 0 34px;font-size:clamp(42px,6vw,82px);font-weight:900;line-height:.95}.contact-card{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#070c16c7;border:1px solid #ffffff38;border-radius:8px;gap:12px;padding:clamp(20px,3vw,34px);display:grid;box-shadow:0 18px 44px #00000057}.contact-card__row{border-bottom:1px solid #ffffff1f;grid-template-columns:120px minmax(0,1fr);align-items:baseline;gap:18px;padding:14px 0;display:grid}.contact-card__row:last-child{border-bottom:0}.contact-card__row span{color:#fbbf24;letter-spacing:0;text-transform:uppercase;font-size:15px;font-weight:900}.contact-card__row strong,.contact-card__row a{color:#fff;letter-spacing:0;overflow-wrap:anywhere;font-size:clamp(20px,2.2vw,30px);font-weight:850;line-height:1.15;text-decoration:none}.contact-card__row a:hover,.contact-card__row a:focus-visible{color:#fbbf24}.contact-card__row a:focus-visible{outline-offset:4px;outline:2px solid #fbbf24}.hero h1{color:#fff;letter-spacing:0;white-space:nowrap;text-shadow:0 5px 28px #00000094;margin:0;font-size:clamp(30px,5.4vw,82px);font-weight:900;line-height:.98}.hero p{color:#fbbf24;letter-spacing:0;text-shadow:0 4px 20px #00000080;margin:18px 0 0;font-size:clamp(24px,4vw,58px);font-weight:800;line-height:1.1}.hero__intro{color:#fff;letter-spacing:0;text-shadow:0 4px 22px #00000085;gap:8px;max-width:820px;margin-top:clamp(24px,3.5vw,42px);font-size:clamp(18px,2.2vw,32px);font-weight:700;line-height:1.18;display:grid}@media (width<=720px){.landing__image{object-position:58% center}.landing__shade{background:linear-gradient(90deg,#070c1694 0%,#070c16a3 56%,#070c164d 100%),linear-gradient(#070c161a 44%,#070c16ad 100%)}.hero{min-height:42svh;padding-top:28px}.hero h1{white-space:normal;font-size:clamp(24px,7.1vw,40px)}.side-menu{inset:auto 16px 16px}.side-menu__list{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.side-menu__list a{text-align:center}.destinations{grid-template-columns:repeat(2,minmax(0,1fr));width:calc(100% - 32px);margin:0 16px 260px;position:relative;top:auto;left:auto;right:auto}.page-content{width:auto;margin:0;padding:28px 20px 260px}.page-content h1{font-size:clamp(36px,12vw,56px)}.booking-page{width:auto;margin:0;padding:28px 20px 260px}.booking-page h1{font-size:clamp(36px,12vw,56px)}.calendar__header,.booking-form__header{flex-direction:column;align-items:flex-start}.booking-cancellation{grid-template-columns:1fr;align-items:stretch}.booking-cancellation__message{grid-column:1}.calendar__arrow{font-size:32px}.calendar__month-menu{grid-template-columns:1fr}.calendar__day,.calendar__empty{min-height:40px}.booking-form__actions{flex-direction:column-reverse}.booking-form__actions button{width:100%}.contact-page{width:auto;margin:0;padding:28px 20px 260px}.contact-page h1{font-size:clamp(36px,12vw,56px)}.contact-card__row{grid-template-columns:1fr;gap:6px}.landing,.landing--home,.landing--placeholder{min-height:100svh}.side-menu{z-index:20;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#070c16d1;width:100%;padding:10px 12px;position:sticky;inset:0 auto auto;box-shadow:0 8px 24px #0000003d}.side-menu__toggle{color:#111827;cursor:pointer;background:#fbbf24;border:1px solid #ffffff3d;border-radius:8px;justify-content:center;align-items:center;gap:10px;width:100%;min-height:48px;font-size:17px;font-weight:900;display:flex}.side-menu__toggle:focus-visible{outline-offset:2px;outline:2px solid #fff}.side-menu__toggle-icon{gap:4px;width:20px;display:grid}.side-menu__toggle-icon i{background:currentColor;border-radius:99px;width:100%;height:2px;display:block}.side-menu__list{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;max-height:calc(100svh - 78px);margin-top:8px;padding:6px;display:none;overflow-y:auto}.side-menu__list.is-open{display:grid}.side-menu__list a{text-align:center;align-items:center;min-height:48px;padding:10px 8px;font-size:15px;line-height:1.2;display:grid}.hero{min-height:auto;padding:clamp(34px,10vw,58px) 18px 34px}.hero h1{max-width:620px;font-size:clamp(34px,10vw,54px);line-height:1}.hero p{margin-top:14px;font-size:clamp(24px,7.5vw,38px)}.hero__intro{gap:7px;margin-top:22px;font-size:clamp(17px,5vw,23px);line-height:1.28}.destinations{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:auto;margin:0 16px 36px;position:relative;top:auto;left:auto;right:auto;transform:none}.destination-card img{aspect-ratio:4/3}.destination-card__body{padding:10px 8px 12px}.destination-card p{font-size:clamp(16px,4.7vw,20px)}.page-content,.booking-page,.contact-page{width:auto;margin:0;padding:34px 16px 64px}.page-content h1,.booking-page h1,.contact-page h1{margin-bottom:24px;font-size:clamp(38px,12vw,56px)}.page-content h2{font-size:clamp(28px,8vw,38px)}.page-content p{font-size:clamp(17px,4.8vw,21px);line-height:1.55}.calendar,.booking-form{min-width:0;padding:16px 12px}.calendar__header,.booking-form__header{gap:10px;margin-bottom:18px}.calendar__header h2,.booking-form__header h2{font-size:clamp(28px,8vw,38px)}.calendar__controls{grid-template-columns:44px minmax(0,1fr) 44px;gap:6px}.calendar__arrow,.calendar__month-button{min-height:48px}.calendar__month-button{padding:8px 6px;font-size:clamp(20px,6vw,28px)}.calendar__weekdays,.calendar__grid{gap:4px}.calendar__weekdays span{min-height:28px;font-size:11px}.calendar__day,.calendar__empty{border-radius:6px;min-height:38px}.calendar__day{font-size:clamp(15px,4.8vw,21px)}.calendar__schedule{width:100%}.booking-cancellation{gap:12px}.booking-cancellation input,.booking-cancellation button,.booking-form input,.booking-form select,.booking-form__actions button{min-height:50px}.booking-form input,.booking-form select{min-width:0;font-size:16px}.contact-card{padding:18px 16px}.contact-card__row{padding:11px 0}.contact-card__row strong,.contact-card__row a{font-size:clamp(18px,5.5vw,24px)}}@media (width<=390px){.side-menu__list{grid-template-columns:1fr}.destinations{gap:8px;margin-left:12px;margin-right:12px}.page-content,.booking-page,.contact-page{padding-left:12px;padding-right:12px}.calendar,.booking-form{padding-left:9px;padding-right:9px}.calendar__weekdays,.calendar__grid{gap:3px}.calendar__day,.calendar__empty{min-height:34px}}
