:root{--motion-fast:180ms;--motion-normal:350ms;--motion-slow:650ms;--motion-ease:cubic-bezier(.22,1,.36,1);--header-offset:120px}
@media(min-width:768px){
 .header-inner{height:88px;gap:30px}
 .header .brand{width:160px}
 .header .brand img{width:100%;height:auto}
 .header nav{gap:29px}
 .header .button{min-height:42px;padding:8px 17px}
}
@media(min-width:768px) and (max-width:1199px){.header nav{gap:19px}}
@media(min-width:768px) and (max-width:900px){.header nav{gap:15px}.header .brand{width:136px}}
@media(min-width:1001px) and (max-width:1199px){
 .header-inner{gap:20px}
 .header .brand{width:136px}
 .header nav{gap:16px}
 .header nav>a:not(.button){font-size:12px;white-space:nowrap}
 .header .button{font-size:12px;padding-inline:12px;gap:12px;white-space:nowrap}
}
@media(min-width:768px) and (max-width:1000px){
 .header .menu-toggle{display:flex;align-items:center;gap:14px;min-height:44px;padding:8px 12px;border:1px solid #ffffff50;background:transparent;color:white;font-size:13px}
 .header nav{display:none;position:absolute;top:88px;left:0;right:0;background:var(--deep);padding:20px 32px;flex-direction:column;align-items:stretch;gap:6px;max-height:calc(100dvh - 88px);overflow:auto;border-bottom:1px solid var(--gold)}
 .header nav.is-open{display:flex}
 .header nav>a:not(.button){font-size:16px;padding:12px}
 .header nav>a:not(.button)::after{left:12px;right:12px}
}
html{scroll-padding-top:var(--header-offset)}
.header{position:sticky;top:0;transition:background var(--motion-normal),border-color var(--motion-normal),box-shadow var(--motion-normal)}
.header.is-scrolled{background:#12332f;border-bottom-color:#c7aa7155;box-shadow:0 3px 18px #102a2714}
.header nav>a:not(.button){position:relative;transition:color 250ms}
.header nav>a:not(.button)::after{content:"";position:absolute;bottom:7px;left:0;right:0;height:1px;background:var(--champagne);transform:scaleX(0);transform-origin:left;transition:transform 250ms var(--motion-ease)}
.header nav>a[aria-current="location"]{color:var(--champagne)}
.header nav>a[aria-current="location"]::after{transform:scaleX(1)}
.button,.art-link,.bespoke-explore,.gallery-filters button,.art-gallery-nav button,.bespoke-controls button,.floor-strip-nav button{transition:background 200ms,color 200ms,border-color 200ms}
.button .cta-arrow,.text-link .cta-arrow,.bespoke-explore .cta-arrow{transition:transform var(--motion-fast) var(--motion-ease)}
.image-button img{filter:none!important}
.gallery-mosaic img,.living-photo img,.collection-photo img,.ownership-card figure img,.art-hero img,.bespoke-main>img{transition:transform var(--motion-slow) var(--motion-ease)}
.ownership-card{transition:box-shadow var(--motion-normal),outline-color var(--motion-normal);outline:1px solid transparent;outline-offset:8px}
.policy-preview,.policy-preview:hover{transform:none}
.floor-thumb,.collection-thumb{transition:border-color var(--motion-fast),background var(--motion-fast),box-shadow var(--motion-fast)}
.floor-thumb[aria-pressed=true],.collection-thumb[aria-pressed=true]{border-color:var(--champagne);box-shadow:inset 0 0 0 1px var(--champagne)}
input,select,textarea{transition:border-color var(--motion-fast),box-shadow var(--motion-fast)}
input:focus,select:focus,textarea:focus{border-color:#ac824a}
body.motion-dialog-open{overflow:hidden}
@supports(scrollbar-gutter:stable){html{scrollbar-gutter:stable}}
dialog.motion-dialog-enter::backdrop{animation:motion-backdrop-in 200ms ease both}
dialog.motion-dialog-exit::backdrop{animation:motion-backdrop-out 150ms ease both}
@keyframes motion-backdrop-in{from{opacity:0}to{opacity:1}}
@keyframes motion-backdrop-out{from{opacity:1}to{opacity:0}}
.dialog-image-wrap{overscroll-behavior:contain;touch-action:pan-x pan-y pinch-zoom}
#image-dialog .dialog-image-wrap{height:min(65dvh,720px);max-height:calc(94dvh - 180px);position:relative}
#image-dialog .dialog-image-wrap:not(.is-zoomed) img{height:100%;max-height:100%;object-fit:contain}
.dialog-image-wrap.is-zoomed{cursor:grab}
.dialog-image-wrap.is-dragging{cursor:grabbing;user-select:none}
.dialog-image-wrap img{user-select:none;-webkit-user-drag:none}
.dialog-gallery-navigation{display:flex;justify-content:space-between;gap:12px;padding:8px 16px;border-top:1px solid var(--line)}
.dialog-gallery-navigation button{border:1px solid #aebdb4;background:transparent;color:var(--green);min-height:44px;padding:8px 16px;font-size:13px}
.dialog-gallery-navigation button:disabled{opacity:.35;cursor:default}
@media(hover:hover) and (pointer:fine){
 .header nav>a:not(.button):hover::after{transform:scaleX(1)}
 .button:hover .cta-arrow,.text-link:hover .cta-arrow,.bespoke-explore:hover .cta-arrow{transform:translateX(3px)}
 .gallery-mosaic .image-button:hover img,.living-photo:hover img,.collection-photo:hover img,.ownership-card figure button:hover img,.art-hero button:hover img,.bespoke-main:hover>img{transform:scale(1.025)}
 .ownership-card:hover{outline-color:#d7ad6e80;box-shadow:0 6px 20px #1737350a}
}
@media(hover:none),(pointer:coarse){
 .gallery-mosaic .image-button:hover img,.living-photo:hover img,.collection-photo:hover img,.ownership-card figure button:hover img,.art-hero button:hover img{transform:none}
 .collection-plan>span,.living-photo>span{opacity:1}
}
@media(max-width:767px){
 :root{--header-offset:92px}
 .header nav{max-height:calc(100dvh - 76px);overflow:auto}
 .header nav>a:not(.button)::after{left:12px;right:12px}
 .floor-viewer-heading{scroll-margin-top:0}
 .dialog-toolbar>div{flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
 .gallery-mosaic .image-button:hover img,.living-photo:hover img,.collection-photo:hover img,.ownership-card figure button:hover img,.art-hero button:hover img,.bespoke-main:hover>img,.button:hover .cta-arrow{transform:none}
}
