/* VANTELLE — interactive motion and accessible WhatsApp choice v4 */
:root {--v-accent:#ab8d59;--v-interact-ease:cubic-bezier(.2,.74,.22,1)}
/* Clear, visible mouse/trackpad movement. Device detection happens from actual pointer events. */
.v-trail-glow,.v-trail-bead{position:fixed;left:0;top:0;pointer-events:none;opacity:0;z-index:2147483000;will-change:transform,opacity}
.v-trail-glow{width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(193,155,89,.095) 0%,rgba(192,159,103,.065) 27%,rgba(211,183,135,.025) 48%,transparent 72%);filter:blur(5px);transition:opacity .32s ease;}
.v-trail-bead{border-radius:100%;background:rgba(190,151,87,.22);box-shadow:0 0 7px rgba(190,151,87,.1);transition:opacity .3s ease}
.v-trail-glow.is-visible,.v-trail-bead.is-visible{opacity:1}
.v-trail-touch{position:fixed;inset:auto;pointer-events:none;z-index:2147483000;border:0;border-radius:50%;width:58px;height:58px;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(193,155,89,.085) 0%,transparent 75%);filter:blur(4px);animation:v-touchwave .65s ease-out forwards}
@keyframes v-touchwave{from{opacity:.83;scale:.5}to{opacity:0;scale:1.75}}
/* Every interactive control gets consistent feedback. Works with click, hover and keyboard. */
:where(.button,.film-button,.text-link,.menu-trigger,.icon-button,.whatsapp-float,.gallery-filters button,#loadMore,.motion-media,.collection-links>a,.service-ribbon>a,.header-work,.footer-contact a,.footer-wallpaper-link,.menu-links a,.v-contact-option,.v-contact-close){
 transition:transform .33s var(--v-interact-ease),box-shadow .33s ease,background-color .33s ease,color .33s ease,opacity .33s ease!important;
 -webkit-tap-highlight-color:transparent;
}
@media(hover:hover){
 :where(.button,.film-button,.text-link,.menu-trigger,.icon-button,.whatsapp-float,.gallery-filters button,#loadMore,.motion-media,.collection-links>a,.service-ribbon>a,.header-work,.footer-contact a,.footer-wallpaper-link,.menu-links a,.v-contact-option,.v-contact-close):hover{transform:translateY(-3px) scale(1.018);}
 :where(.button,.film-button,.whatsapp-float,.motion-media,.v-contact-option):hover{box-shadow:0 11px 26px rgba(56,41,22,.18)}
 :where(.button,.film-button,.whatsapp-float,.v-contact-option):hover{filter:brightness(1.06)}
}
:where(.button,.film-button,.text-link,.menu-trigger,.icon-button,.whatsapp-float,.gallery-filters button,#loadMore,.motion-media,.collection-links>a,.service-ribbon>a,.header-work,.footer-contact a,.menu-links a,.v-contact-option,.v-contact-close):active{transform:translateY(1px) scale(.97)!important}
:where(a,button,summary):focus-visible{outline:2px solid #b68d4e;outline-offset:4px}
:where(.button,.film-button,.menu-trigger,.icon-button,.whatsapp-float,.gallery-filters button,#loadMore,.motion-media,.v-contact-option){position:relative;isolation:isolate;overflow:hidden}
.v-tap-pulse{position:absolute;left:0;top:0;width:80px;height:80px;pointer-events:none;border-radius:50%;background:rgba(223,180,111,.25);transform:translate(-50%,-50%) scale(0);animation:v-button-ripple .65s ease-out forwards;z-index:3}
@keyframes v-button-ripple{to{opacity:0;transform:translate(-50%,-50%) scale(3.4)}}
.motion-card.v-featured-film .motion-media{outline:1px solid rgba(164,130,73,.62);outline-offset:3px}
.motion-card.v-featured-film figcaption small{color:#80623c;font-weight:600}
/* Accessible WhatsApp contact selection sheet */
.v-contact-dialog{position:fixed;inset:0;margin:auto;border:none;padding:0;max-height:min(96dvh,790px);width:min(92vw,520px);max-width:520px;border-radius:4px;background:#eee9df;color:#28271f;box-shadow:0 36px 100px rgba(0,0,0,.38);overflow-y:auto;overscroll-behavior:contain}
.v-contact-dialog::backdrop{background:rgba(21,19,15,.7);backdrop-filter:blur(6px)}
.v-contact-panel{position:relative;padding:clamp(26px,5vw,49px);}
.v-contact-kicker{font-size:10px;letter-spacing:.16em;color:#817055;margin:0 0 17px}
.v-contact-dialog h2{font-size:clamp(29px,5vw,44px);font-weight:400;line-height:1.07;margin:0 44px 16px 0;letter-spacing:-.03em}
.v-contact-desc{font-size:14px;line-height:1.75;max-width:35ch;margin:0 0 27px;color:#635b4f}
.v-contact-close{position:absolute;right:18px;top:16px;width:44px;height:44px;border:1px solid #c7bdae;background:transparent;color:#27241f;border-radius:50%;font-size:27px;line-height:1;cursor:pointer}
.v-contact-options{display:grid;gap:12px}
.v-contact-option{display:grid;grid-template-columns:1fr 34px;grid-template-rows:auto auto;gap:8px 7px;border:1px solid #c6b89d;padding:20px 22px;text-decoration:none;color:#222;background:#f8f6f0;min-height:112px}
.v-contact-option-caption{font-size:10px;letter-spacing:.12em;text-transform:uppercase;grid-column:1;color:#776347}
.v-contact-option strong{font-weight:500;grid-column:1;font-size:clamp(18px,4.3vw,25px);letter-spacing:.01em;white-space:nowrap}
.v-contact-option-arrow{grid-column:2;grid-row:1/3;align-self:center;justify-self:center;font-size:28px;color:#86704c}
.v-contact-note{font-size:11px;line-height:1.6;color:#716a5e;margin:20px 0 0}
@media(max-width:420px){.v-contact-panel{padding:32px 19px}.v-contact-dialog h2{font-size:31px}.v-contact-option{padding:16px 13px}.v-contact-option strong{font-size:19px}}
@media(prefers-reduced-motion:reduce){.v-trail-glow,.v-trail-bead,.v-trail-touch,.v-tap-pulse{display:none!important} :where(.button,.film-button,.text-link,.menu-trigger,.icon-button,.whatsapp-float,.gallery-filters button,#loadMore,.motion-media,.collection-links>a,.service-ribbon>a,.header-work,.footer-contact a,.footer-wallpaper-link,.menu-links a,.v-contact-option,.v-contact-close){transition:none!important;transform:none!important;filter:none!important}}
