:root{--motion-ease-out:cubic-bezier(.23,1,.32,1);--motion-ease-in-out:cubic-bezier(.77,0,.175,1)}
button,a,.heritage-button,.btn,.chip,.room-radio{transition:transform 150ms var(--motion-ease-out),color 180ms ease,background-color 180ms ease,border-color 180ms ease,opacity 180ms ease}
button:active,a:active,.heritage-button:active,.btn:active,.chip:active,.room-radio:active{transform:scale(.97)}
.date-click-target{cursor:pointer}.date-click-target input[type=date]{cursor:pointer}
.motion-copy{opacity:0;transform:translateY(9px);transition:opacity 360ms var(--motion-ease-out) var(--motion-delay,0ms),transform 360ms var(--motion-ease-out) var(--motion-delay,0ms)}
.motion-copy.is-visible{opacity:1;transform:translateY(0)}
.motion-image{opacity:0;clip-path:inset(0 0 10% 0);transform:translateY(10px);transition:opacity 500ms var(--motion-ease-out) var(--motion-delay,0ms),transform 500ms var(--motion-ease-out) var(--motion-delay,0ms),clip-path 580ms var(--motion-ease-in-out) var(--motion-delay,0ms)}
.motion-image.is-visible{opacity:1;clip-path:inset(0 0 0 0);transform:translateY(0)}
@media(hover:hover) and (pointer:fine){.heritage-button:hover,.btn:hover{transform:translateY(-2px)}.stay-card:hover,.room-radio:hover{transform:translateY(-2px)}}
.site-splash{position:fixed;z-index:10000;inset:0;display:grid;place-items:center;color:#fff;background:#211822;opacity:1;transition:opacity 480ms var(--motion-ease-out);isolation:isolate}.site-splash.leaving{opacity:0;pointer-events:none}.site-splash-inner{text-align:center}.site-splash img{width:150px;height:120px;object-fit:contain}.site-splash p{margin:15px 0 18px;color:#ead8ac;font:600 13px/1.2 system-ui,sans-serif;letter-spacing:.18em;text-transform:uppercase}.site-splash-line{width:180px;height:2px;overflow:hidden;background:#ffffff1f}.site-splash-line span{display:block;width:55%;height:100%;background:#d9bd7d;animation:splash-progress 850ms linear infinite}@keyframes splash-progress{from{transform:translateX(-105%)}to{transform:translateX(185%)}}
.site-loading-overlay{position:fixed;z-index:9998;inset:0;display:grid;place-items:center;background:#211822a8;backdrop-filter:blur(4px);opacity:0;pointer-events:none;transition:opacity 180ms var(--motion-ease-out)}.site-loading-overlay.visible{opacity:1;pointer-events:auto}.site-loader{display:flex;align-items:center;gap:13px;padding:16px 20px;color:#fff;background:#2b1b2e;border:1px solid #d9bd7d66;box-shadow:0 18px 60px #0004}.site-loader strong{font:600 14px system-ui,sans-serif}.site-loader-ring{width:20px;height:20px;border:2px solid #ffffff38;border-top-color:#d9bd7d;border-radius:50%;animation:loader-spin .65s linear infinite}@keyframes loader-spin{to{transform:rotate(360deg)}}
.cookie-banner{position:fixed;z-index:9997;right:18px;bottom:18px;width:min(640px,calc(100% - 36px));display:grid;grid-template-columns:1.1fr .9fr;gap:22px;padding:24px;color:#2b1b2e;background:#faf7f0;border:1px solid #d9bd7d;box-shadow:0 22px 70px #160e1c42;opacity:0;transform:translateY(18px) scale(.98);transform-origin:bottom right;transition:opacity 220ms var(--motion-ease-out),transform 220ms var(--motion-ease-out)}.cookie-banner.visible{opacity:1;transform:translateY(0) scale(1)}.cookie-kicker{margin:0 0 7px!important;color:#782a82!important;font:700 10px/1.2 system-ui,sans-serif!important;letter-spacing:.16em;text-transform:uppercase}.cookie-banner h2,.cookie-dialog h2{margin:0 0 9px;font:700 24px/1.2 Georgia,serif}.cookie-banner-copy>p:not(.cookie-kicker){margin:0;color:#655a65;font-size:13px;line-height:1.55}.cookie-policy-link,.cookie-settings-link{border:0;padding:0;color:inherit;background:none;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.cookie-policy-link{margin-top:11px;color:#5b2364}.cookie-options{display:grid;gap:8px}.cookie-options label{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 11px;background:#fff;border:1px solid #e5ddd1}.cookie-options span{display:grid}.cookie-options strong{font-size:12px}.cookie-options small{color:#786e76;font-size:10px}.cookie-options input{width:18px;height:18px;accent-color:#67236f}.cookie-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px}.cookie-actions button{min-height:39px;border:1px solid #4c2853;padding:8px 14px;background:transparent;color:#3d2043;font-weight:700;cursor:pointer}.cookie-actions .cookie-accept{color:#fff;background:#3d2043}.cookie-actions .cookie-essential{margin-right:auto;border-color:transparent}.cookie-dialog{position:fixed;z-index:10001;inset:0;display:grid;place-items:center;padding:18px;background:#160e1ca8;opacity:0;transition:opacity 180ms var(--motion-ease-out)}.cookie-dialog.visible{opacity:1}.cookie-dialog-panel{position:relative;width:min(680px,100%);max-height:min(760px,calc(100vh - 36px));overflow:auto;padding:34px;color:#2b1b2e;background:#faf7f0;transform:scale(.97);transition:transform 220ms var(--motion-ease-out)}.cookie-dialog.visible .cookie-dialog-panel{transform:scale(1)}.cookie-dialog-close{position:absolute;top:15px;right:16px;width:36px;height:36px;border:1px solid #ded4c5;background:#fff;font-size:24px;cursor:pointer}.cookie-policy-list{display:grid;gap:1px;margin-top:22px;background:#ddd3c7;border:1px solid #ddd3c7}.cookie-policy-list section{padding:16px 18px;background:#fff}.cookie-policy-list h3{margin:0 0 5px;font:700 16px Georgia,serif}.cookie-policy-list p,.cookie-contact{margin:0;color:#655a65;font-size:13px;line-height:1.6}.cookie-contact{margin-top:20px}.cookie-settings-link{color:inherit;font-size:11px}
@media(max-width:700px){.cookie-banner{grid-template-columns:1fr;max-height:calc(100vh - 30px);overflow:auto}.cookie-actions{grid-column:auto;display:grid;grid-template-columns:1fr 1fr}.cookie-actions .cookie-essential{grid-column:1/-1;margin:0}.cookie-dialog-panel{padding:28px 20px}.motion-copy{transform:translateY(5px)}}
@media(prefers-reduced-motion:reduce){button,a,.heritage-button,.btn,.chip,.room-radio{transition:color 120ms ease,background-color 120ms ease,opacity 120ms ease}button:active,a:active,.heritage-button:active,.btn:active,.chip:active,.room-radio:active{transform:none}.motion-copy,.motion-image{transform:none;clip-path:none;transition:opacity 180ms ease}.site-splash-line span,.site-loader-ring{animation-duration:1.2s}.cookie-banner,.cookie-dialog-panel{transform:none}}
