/* Andara motion language: quiet depth, deliberate pacing, native controls. */
:root{--andara-ease:cubic-bezier(.2,.72,.2,1);--andara-fast:240ms;--andara-slow:600ms}
.vision-image,.closing,.campaign-preview-hero,.offer-visual{overflow:hidden}
.vision-image>img,.closing>img{transform-origin:center}
/* No content depends on motion initialization to become visible. */
:where(.dark-button,.ivory-button,.island-primary,.header-cta,.booking-float,.close-dialog,.mobile-menu-toggle){transition:transform var(--andara-fast) var(--andara-ease),background-color var(--andara-fast),color var(--andara-fast),border-color var(--andara-fast)}
:where(.dark-button,.ivory-button,.booking-float,.header-cta)>span{display:inline-block;transition:transform var(--andara-fast) var(--andara-ease)}
:where(.text-link,.estate-note a,.proposal-transition nav a,footer a,.brand-dropdown a,.official-header nav>a){text-underline-offset:5px;transition:color var(--andara-fast),border-color var(--andara-fast),text-decoration-color var(--andara-fast)}
:where(a,button,summary,input,select):focus-visible{outline:2px solid #ae804c;outline-offset:5px}
:is(.official-header,.island-intro,.investment,.closing,dialog) :where(a,button,summary):focus-visible{outline-color:#d0ad70}
:where(.dark-button,.ivory-button,.island-primary,.header-cta,.booking-float):focus-visible{transform:translateY(-2px)}
:where(.dark-button,.ivory-button,.booking-float,.header-cta):focus-visible>span{transform:translateX(4px)}
:where(.dark-button,.ivory-button,.island-primary,.header-cta,.booking-float):active{transform:translateY(1px)}
.review-grid>a{transition:transform 400ms var(--andara-ease),border-color var(--andara-fast)}
.review-grid>a b{transition:color var(--andara-fast),border-color var(--andara-fast),transform 400ms var(--andara-ease)}
.review-grid>a:focus-visible{transform:translateY(-4px)}
.review-grid>a:focus-visible b{color:#8b633d;border-color:#8b633d;transform:translateX(5px)}
summary{min-height:32px;transition:color var(--andara-fast)}
summary>span,.brand-dropdown summary:after{display:inline-block;transition:transform 300ms var(--andara-ease)}
.brand-dropdown[open] summary:after{transform:rotate(180deg)}
.campaign-controls :is(input,select){transition:border-color var(--andara-fast),box-shadow var(--andara-fast)}
.campaign-controls :is(input,select):focus{border-color:#9e774c;box-shadow:0 0 0 1px #9e774c}
.campaign-controls input[type=checkbox]{accent-color:#003366;width:18px;height:18px;flex-shrink:0}
.campaign-controls .check-label{min-height:44px;cursor:pointer}
.campaign-controls .text-link{min-height:44px}
.campaign-preview-hero>img{transition:none}
.booking-flow article{position:relative;transition:border-color 350ms,background-color 350ms;isolation:isolate}
.booking-flow article:before{content:'';position:absolute;top:-1px;left:-1px;right:-1px;height:2px;background:#a48050;transform:scaleX(0);transform-origin:left;transition:transform 450ms var(--andara-ease)}
.booking-flow article.is-selected{background:#e6e9ec;border-color:#a48050}
.booking-flow article.is-selected:before,.booking-flow article:focus-within:before{transform:scaleX(1)}
.booking-step{display:block;text-align:left;background:transparent;color:inherit;font:inherit;letter-spacing:inherit;padding:8px 0;margin:-8px 0;width:100%;min-height:44px;cursor:pointer}
.booking-step:active{color:#8b633d}
/* Editorial accents have one finite entrance; there is no continuously running loop. */
[data-proposal-motion="rule"]{transform-origin:left center}
/* Keep inspection controls quiet but tactile, with the same response for keyboard/touch. */
.invitation-switch label{transition:background-color 260ms var(--andara-ease),color 260ms,border-color 260ms}
:where(.comparison-view,.comparison-settle,.invitation-follow,.editor-demo-actions button,.editor-demo-actions a,.editor-dialog-controls button,.editor-dialog-heading button){transition:color 240ms,border-color 240ms,background-color 240ms,box-shadow 240ms}
:where(.comparison-view,.comparison-settle,.invitation-follow,.editor-demo-enlarge,.editor-demo-replay):focus-visible{color:#8b633d;border-color:#a48050}
.editor-demo-actions button:not(:disabled):focus-visible,.editor-demo-actions a:focus-visible,.editor-dialog-controls button:focus-visible{box-shadow:0 0 0 3px #bda57d25;border-color:#a48050}
:where(.invitation-switch label,.comparison-settle,.editor-demo-actions button,.editor-demo-actions a,.editor-dialog-controls button):active{box-shadow:inset 0 0 0 1px #a48050}
main details{transition:border-color 260ms}
main details:focus-within,main details[open]{border-color:#a48050}
main summary:active{color:#8b633d}
:where(.comparison-view,.invitation-follow,.editor-demo-meta a,footer>a){text-decoration-thickness:1px;text-underline-offset:5px}
@media(hover:hover) and (pointer:fine){
 .invitation-switch label:hover{box-shadow:inset 0 0 0 1px #b1a18a}
 :where(.comparison-view,.comparison-settle,.invitation-follow,.editor-demo-enlarge,.editor-demo-replay):hover{color:#8b633d;border-color:#a48050}
 .editor-demo-actions .editor-demo-play:hover,.editor-dialog-controls [data-editor-dialog-play]:hover{background:#003366}
 main details:hover{border-color:#a48050}
}
/* Native top-layer dialogs preserve Escape, focus trapping and close semantics. */
dialog[open]{animation:andara-dialog-enter 480ms var(--andara-ease) both}
dialog[open]::backdrop{animation:andara-backdrop-enter 360ms ease both}
.close-dialog{width:44px;height:44px;right:12px;top:12px}
.close-dialog:focus-visible{transform:rotate(90deg)}
@keyframes andara-dialog-enter{from{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes andara-backdrop-enter{from{opacity:0}to{opacity:1}}
@media(hover:hover) and (pointer:fine){
 :where(.dark-button,.ivory-button,.island-primary,.header-cta,.booking-float):hover{transform:translateY(-2px)}
 .island-primary:hover{background:#e0c397}.ivory-button:hover{background:#e5dbc8}
 :where(.dark-button,.ivory-button,.booking-float,.header-cta):hover>span{transform:translateX(4px)}
 .close-dialog:hover{transform:rotate(90deg);background:#e8e1d4}
 :where(.text-link,.estate-note a,.proposal-transition nav a,footer a):hover{color:#9b7548;border-color:#9b7548}
 :where(.brand-dropdown a,.official-header nav>a):hover{color:#d0ad70}
 .review-grid>a:hover{transform:translateY(-4px);border-color:#8b633d}
 .review-grid>a:hover b{color:#8b633d;border-color:#8b633d;transform:translateX(5px)}
 .booking-flow article:hover:before{transform:scaleX(1)}
 .booking-step:hover,main summary:hover{color:#8b633d}
}
@media(pointer:coarse){.proposal-transition nav a,.estate-note a{min-height:44px;display:inline-flex;align-items:center}.review-grid>a:active b{color:#8b633d;transform:translateX(4px)}}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto!important}
 *,*::before,*::after{animation:none!important;transition:none!important}
 .vision-image>img,.closing>img{transform:none!important}
 :where(.dark-button,.ivory-button,.island-primary,.header-cta,.booking-float,.close-dialog,.review-grid>a),.review-grid>a b{transform:none!important}
}
