
/* Casa Mia Premium Motion v2 — animations only; locked-master layout and identity unchanged. */
html{scroll-padding-top:98px}
.cm-scroll-progress{position:fixed;top:0;left:0;z-index:9999;width:100%;height:3px;transform:scaleX(0);transform-origin:left center;background:linear-gradient(90deg,#c09b61,#f1dbb8);pointer-events:none}
.cm-property-hero{overflow:hidden}
.cm-property-hero>img{will-change:transform;transform:translate3d(0,var(--cm-hero-shift,0px),0) scale(1.05);transition:filter .8s ease}
.cm-property-hero-copy{animation:cm-hero-text 1.15s cubic-bezier(.23,.75,.25,1) both}
.hero-content{animation:cm-hero-text 1.25s cubic-bezier(.23,.75,.25,1) both}
@keyframes cm-hero-text{from{opacity:.25;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}
.cm-room-photo{overflow:hidden}
.cm-room-photo img{transition:transform 1.2s cubic-bezier(.23,.75,.25,1),filter .85s ease}
.cm-room-detail:hover .cm-room-photo img{transform:scale(1.045)}
.cm-room-copy>a,.cm-feature-copy a{position:relative}
.cm-room-copy>a span,.text-link span{display:inline-block;transition:transform .3s ease}
.cm-room-copy>a:hover span,.text-link:hover span{transform:translateX(6px)}
.cm-gallery-tools{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;padding:17px 0 23px;border-top:1px solid #bea98d50}
.cm-gallery-selection-note{font:400 16px/1.5 'Cormorant Garamond',Georgia,serif;color:#6d6256;margin:0;flex:1 1 320px}
.cm-gallery-tools button{font:600 10px/1.3 Arial,sans-serif;letter-spacing:.11em;text-transform:uppercase;cursor:pointer;color:#342d26;border:1px solid #ae9980;background:transparent;padding:13px 17px;transition:background .35s ease,color .35s ease,transform .35s ease}
.cm-gallery-tools button:hover,.cm-gallery-tools button:focus-visible{background:#302920;color:#f3ece1;transform:translateY(-2px)}
.cm-gallery-tile[hidden]{display:none!important}
.cm-gallery-tile img{transition:transform .85s cubic-bezier(.2,.7,.2,1),filter .55s ease}
.cm-gallery-tile:hover img{transform:scale(1.045);filter:contrast(1.04)}
.cm-gallery-tile.cm-gallery-added{animation:cm-tile-arrive .55s cubic-bezier(.2,.7,.2,1) both}
@keyframes cm-tile-arrive{from{opacity:.15;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
.cm-photo-panel,.feature-brand{transition:box-shadow .5s ease,transform .55s cubic-bezier(.2,.7,.2,1)}
.cm-photo-panel:hover,.feature-brand:hover{box-shadow:0 20px 50px #130f0c22;transform:translateY(-3px)}
.cm-editorial-grid .cm-photo-panel:nth-child(2){transition-delay:.08s}
.cm-editorial-grid .cm-photo-panel:nth-child(3){transition-delay:.12s}
.cm-lightbox{transition:opacity .24s ease;animation:cm-lightbox-show .24s ease-out both}
@keyframes cm-lightbox-show{from{opacity:.6}to{opacity:1}}
.cm-lightbox figure img{animation:cm-lightbox-image .3s ease-out both}
@keyframes cm-lightbox-image{from{opacity:.65;transform:scale(.985)}to{opacity:1;transform:scale(1)}}
.cm-smart-jump{scroll-margin-top:98px}
.cm-smart-jump a{transition:color .3s ease,background .3s ease}
.cm-smart-jump a:hover{color:#c49d5f}
.cm-room-detail:nth-child(2n) .cm-room-copy{transition:transform .85s cubic-bezier(.2,.7,.2,1)}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto!important}
 .cm-scroll-progress{transition:none!important}
 .cm-property-hero>img{transform:none!important}
 .cm-property-hero-copy,.hero-content,.cm-gallery-tile.cm-gallery-added{animation:none!important}
 .cm-room-photo img,.cm-gallery-tile img,.cm-photo-panel,.feature-brand,.cm-gallery-tools button,.cm-lightbox figure img{animation:none!important;transition:none!important;transform:none!important}
}
