body.has-open-panel{overflow:hidden}.bottom-bar{transition:opacity .2s ease,transform .25s ease}.bottom-bar.is-obscured{opacity:0;pointer-events:none;transform:translate(-50%,20px)}.tabs a{transition:color .2s,border-color .2s,background .2s}.tabs a.active{color:var(--theme-175b42);border-color:var(--theme-175b42)}.panel-is-active{box-shadow:0 0 0 2px var(--theme-175b4222)}.soft-image{opacity:0;transform:scale(1.035);transition:opacity .85s ease,transform 1.3s cubic-bezier(.18,.7,.2,1);background:var(--theme-e2e9df)}.soft-image.image-ready{opacity:1;transform:scale(1)}.intro .soft-image.image-ready{animation:hero-drift 16s ease-in-out alternate infinite}.preview-track{scroll-snap-type:none;position:relative}.preview-track button{transform:translateZ(0);transition:box-shadow .3s,transform .3s}.preview-track button:active{transform:scale(.975)}.preview-track button img{height:235px}.carousel-controls{display:flex;align-items:center;justify-content:space-between;padding:12px 24px 0}.carousel-dots{display:flex;align-items:center;gap:7px}.carousel-dots button{width:8px;height:8px;min-height:0;border:0;border-radius:8px;padding:0;background:var(--theme-c9d5c8);transition:width .35s,background .35s;position:relative}.carousel-dots button:after{content:'';position:absolute;inset:-14px -6px}.carousel-dots button.is-current{width:27px;background:var(--theme-175b42)}.carousel-toggle{width:35px;height:35px;background:var(--theme-e8f0e5);color:var(--theme-175b42);border:0;border-radius:50%;font-size:13px;line-height:1}.policy-hero{background:var(--theme-e7f0e4);padding:22px;border-radius:18px;margin-bottom:22px;position:relative;overflow:hidden}.policy-hero:after{content:'✓';position:absolute;right:-12px;bottom:-38px;font-size:150px;font-weight:800;line-height:1;color:var(--theme-cfe1c7);transform:rotate(-12deg);pointer-events:none;z-index:0}.policy-hero>*{position:relative;z-index:1}.policy-kicker{font-size:11px;color:var(--theme-46643b);display:block;margin-bottom:11px}.policy-hero h2{font-size:29px;max-width:250px;line-height:1.15}.policy-hero p{font-size:13px;color:var(--theme-52694b);margin-top:12px;max-width:240px}.policy-cards{display:flex;flex-direction:column;gap:12px}.policy-card{display:flex;align-items:start;gap:14px;background:var(--brand-surface);border:1px solid var(--theme-e2e9df);border-radius:16px;padding:19px 17px;animation:card-arrive .45s ease both}.policy-card:nth-child(2){animation-delay:.08s}.policy-card:nth-child(3){animation-delay:.16s}.policy-card:nth-child(4){animation-delay:.24s}.policy-number{width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:var(--theme-edf4e9);border-radius:11px;color:var(--theme-175b42);flex-shrink:0;font-size:11px;font-weight:700}.sheet .policy-card h3{font-size:17px;line-height:1.3;margin:2px 0 9px}.policy-card p{font-size:13px;line-height:1.8;color:var(--theme-596751)}.policy-note{font-size:11px;line-height:1.7;color:var(--theme-78836e);margin:18px 4px}.policy-contact{position:sticky;bottom:-1px;background:var(--theme-f6f7f8f5);backdrop-filter:blur(10px);padding:14px 0 max(12px,env(safe-area-inset-bottom));z-index:2}.calendar-native-value{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0}.date-picker-button{margin-top:7px;display:flex;align-items:center;gap:10px;width:100%;min-height:52px;background:var(--brand-surface);color:var(--theme-576650);border:1px solid var(--theme-dce4de);border-radius:12px;padding:12px;font-size:15px;text-align:left}.date-picker-button.has-date{color:var(--theme-17201c);border-color:var(--theme-92b58b);background:var(--theme-f5fbf1)}.date-icon{font-size:23px;color:var(--theme-175b42);line-height:1}.date-chevron{margin-left:auto;color:var(--theme-84967b)}.calendar-sheet{max-height:88dvh}.calendar-content{padding:21px 23px 28px}.calendar-content h2{font-size:28px}.calendar-month{display:flex;align-items:center;justify-content:space-between;margin:24px 0 18px}.calendar-month strong{font-size:16px;font-weight:650;text-transform:capitalize}.calendar-month button{width:40px;height:40px;border:1px solid var(--theme-dce7d6);background:var(--theme-edf4e9);border-radius:12px;color:var(--theme-175b42);font-size:26px;line-height:1}.calendar-month button:disabled{opacity:.25;cursor:default}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.calendar-weekdays{text-align:center;margin-bottom:10px;font-size:10px;color:var(--theme-73856a)}.calendar-grid button{border:0;background:var(--theme-edf3e9);border-radius:12px;aspect-ratio:1;min-height:36px;display:flex;align-items:center;justify-content:center;font-size:14px;position:relative;color:var(--theme-35452d)}.calendar-grid button:disabled{background:transparent;color:var(--theme-c2cabe);cursor:default}.calendar-grid button.date-selected{background:var(--theme-175b42);color:var(--brand-surface);box-shadow:0 3px 12px var(--theme-175b4230);animation:date-pick .28s cubic-bezier(.2,1.5,.4,1)}.calendar-grid button.date-today:after{content:'';width:4px;height:4px;position:absolute;bottom:6px;background:var(--theme-6a9560);border-radius:50%}.calendar-grid button.date-selected.date-today:after{background:var(--theme-d1f8a9)}.calendar-legend{display:flex;align-items:start;gap:7px;margin-top:17px}.calendar-legend>span{width:5px;height:5px;background:var(--theme-7b9c68);border-radius:50%;margin-top:5px;flex-shrink:0}.calendar-legend p{font-size:10px;line-height:1.6;color:var(--theme-73856a)}.calendar-today{border:0;background:transparent;color:var(--theme-175b42);font-size:12px;padding:12px 0}.calendar-selected{text-align:center;font-size:17px;font-weight:600;padding:12px 0 18px}.calendar-content .primary{width:100%;margin:0!important;position:static!important}.calendar-content .primary:disabled{opacity:.4}.sheet[open]{animation:lift-in .42s cubic-bezier(.16,1,.3,1)}.booking-step{animation:card-arrive .38s cubic-bezier(.2,.7,.3,1)}@keyframes hero-drift{from{transform:scale(1)}to{transform:scale(1.07)}}@keyframes lift-in{from{transform:translateY(100%);opacity:.6}to{transform:translateY(0);opacity:1}}@keyframes card-arrive{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes date-pick{from{transform:scale(.82)}to{transform:scale(1)}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.soft-image{opacity:1;transform:none}.bottom-bar.is-obscured{transform:translate(-50%,0)}}
