/* Avanti 4.1. All controls remain anchored; material responds around them. */
.motion-choice-track{position:relative;isolation:isolate}
.choice-marker{position:absolute;z-index:-1;background:#651d32;border-radius:3px;pointer-events:none;transform-origin:0 0}
.motion-choice-track button{position:relative;z-index:1;background:transparent!important;transition:color 180ms,border-color 180ms!important}
.motion-choice-track button[aria-pressed=true]{background:transparent!important;border-color:transparent!important;color:#fff8ed!important}
html[data-motion=on] .royal-stage .royal-album,html[data-motion=on] .invitation-space .invitation-perspective,html[data-motion=on] .planner-art .planner-scene{translate:0 var(--object-travel,0px)}
html[data-motion=on] .portal-gallery .portal-detail{translate:0 calc(var(--object-travel,0px) * -1)}
.button,.elementor-button{position:relative;isolation:isolate;overflow:hidden}
.photo-open{isolation:isolate;overflow:hidden}
.button:before,.elementor-button:before,.photo-open:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(115deg,transparent 20%,#fff8ed24 48%,transparent 76%);transform:translateX(-115%);pointer-events:none}
html[data-motion=on] .button:is(:hover,:focus-visible):before,html[data-motion=on] .elementor-button:is(:hover,:focus-visible):before,html[data-motion=on] .photo-open:is(:hover,:focus-visible):before{animation:avanti-foil-pass 650ms cubic-bezier(.16,1,.3,1)}
html[data-motion=on] .button span[aria-hidden],html[data-motion=on] .text-link span[aria-hidden]{display:inline-block;transition:transform 280ms cubic-bezier(.16,1,.3,1)}
html[data-motion=on] .button:is(:hover,:focus-visible) span[aria-hidden],html[data-motion=on] .text-link:is(:hover,:focus-visible) span[aria-hidden]{transform:translate(3px,-2px)}
.text-link,.footer-links a,.footer-contact a,.contact-lines a{transition:color 180ms,text-decoration-color 180ms}
.footer-links a,.footer-contact a,.contact-lines a{width:fit-content;background-image:linear-gradient(currentColor,currentColor);background-size:0% 1px;background-position:left bottom;background-repeat:no-repeat;transition:background-size 280ms,color 180ms}
.footer-links a:is(:hover,:focus-visible),.footer-contact a:is(:hover,:focus-visible),.contact-lines a:is(:hover,:focus-visible){background-size:100% 1px}
.form-card{position:relative;isolation:isolate}
.form-card:after{content:'';position:absolute;inset:0;border:1px solid #a67e47;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity 250ms;z-index:-1}
.form-card:focus-within:after{opacity:1}
.field label{transition:color 160ms}
.field:focus-within label{color:#651d32}
.field input,.field select,.field textarea{background-image:linear-gradient(#a67e47,#a67e47);background-repeat:no-repeat;background-size:0 2px;background-position:0 100%;transition:background-size 300ms,border-color 160ms,box-shadow 160ms!important}
.field input:focus,.field select:focus,.field textarea:focus{background-size:100% 2px}
.plan-choice{transition:background 180ms,border-color 180ms,box-shadow 180ms}
.plan-progress li:before,.plan-progress li:after{transition:background 280ms,transform 280ms}
.service-item,.studio-service{transition:background-color 200ms}
.service-item:has(.save-service[aria-pressed=true]),.studio-service:has(.save-service[aria-pressed=true]){background-color:#651d3206}
.save-service span{display:inline-block;transition:transform 240ms}
.save-service:focus-visible span,.save-service:hover span{transform:scale(1.12)}
.room-gallery button{overflow:hidden}
.room-gallery button img{transition:transform 450ms cubic-bezier(.16,1,.3,1),filter 220ms}
html[data-motion=on] .room-gallery button:is(:hover,:focus-visible) img{transform:scale(1.08)}
.room-gallery button:not([aria-pressed=true]) img{filter:saturate(.8)}
.room-gallery button[aria-pressed=true] img{filter:saturate(1)}
.process-grid article{position:relative;border-top-color:transparent!important}
.process-grid article:before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:#c8b497;transform-origin:left}
html[data-motion=on] .process-grid article[data-motion-seen=true]:before{animation:avanti-rule-open 650ms cubic-bezier(.16,1,.3,1)}
.faq-list summary,.faq-page summary,.elementor-tab-title{transition:color 180ms,background-color 180ms}
.faq-list summary:hover,.faq-page summary:hover{color:#925460;background-color:#651d3204}
.faq-list summary span,.faq-page summary span{transition:transform 260ms cubic-bezier(.16,1,.3,1)}
.occasion-tray strong{transform-origin:center;backface-visibility:hidden}
.back-to-top{transition:opacity 220ms,visibility 220ms,background-color 180ms!important}
html[data-motion=on] .back-to-top:hover{animation:avanti-up-cue 400ms ease-out}
.primary-nav.is-open>a{animation:avanti-menu-link 350ms both cubic-bezier(.16,1,.3,1)}
.primary-nav.is-open>a:nth-child(2){animation-delay:35ms}.primary-nav.is-open>a:nth-child(3){animation-delay:70ms}.primary-nav.is-open>a:nth-child(4){animation-delay:105ms}.primary-nav.is-open>a:nth-child(n+5){animation-delay:140ms}
@keyframes avanti-foil-pass{to{transform:translateX(115%)}}
@keyframes avanti-rule-open{from{transform:scaleX(.1)}to{transform:scaleX(1)}}
@keyframes avanti-menu-link{from{opacity:.25;transform:translateX(-15px)}to{opacity:1;transform:translateX(0)}}
@keyframes avanti-up-cue{50%{translate:0 -4px}to{translate:0 0}}
@media(max-width:640px){.choice-marker{border-radius:3px}}
html[data-motion=off] .royal-album,html[data-motion=off] .invitation-perspective,html[data-motion=off] .planner-scene,html[data-motion=off] .portal-detail{translate:none!important}
html[data-motion=off] .button span,html[data-motion=off] .text-link span,html[data-motion=off] .room-gallery button img{transform:none!important}
@media(prefers-reduced-motion:reduce){.royal-album,.invitation-perspective,.planner-scene,.portal-detail{translate:none!important}.button span,.text-link span,.room-gallery button img{transform:none!important}}
