/* VELORA: one calm entrance, then movement tied to reading and interaction. */
:root{--motion-ease:cubic-bezier(.22,1,.36,1);--reading-progress:0}
.header{transition:background .3s,box-shadow .3s}
.header.is-scrolled{background:rgba(252,249,243,.96);box-shadow:0 8px 30px #49382d08;backdrop-filter:blur(18px)}
.header:after{content:"";position:absolute;bottom:-1px;left:0;width:100%;height:2px;background:linear-gradient(90deg,#ceb58b,#907046);transform:scaleX(var(--reading-progress));transform-origin:left;pointer-events:none}
.button{position:relative;overflow:hidden;isolation:isolate;transition:background .25s,box-shadow .35s,transform .35s var(--motion-ease)}
.button:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 20%,#fff6dc24 50%,transparent 80%);transform:translateX(-140%);transition:transform .8s var(--motion-ease);pointer-events:none}
.button .arrow,.text-link>span,.service-details .arrow{transition:transform .35s var(--motion-ease)}
.service-image{transition:transform 1s var(--motion-ease)}
.service-image-button{transition:box-shadow .6s var(--motion-ease)}
.service-body h3{transition:color .3s}
.hero-photo{isolation:isolate}
.hero-photo img{transform:translate3d(0,var(--photo-shift,0px),0) scale(1.045);transition:transform 1.2s var(--motion-ease)}
@keyframes velora-rise{from{opacity:0;transform:translate3d(0,22px,0)}to{opacity:1;transform:translateZ(0)}}
@keyframes velora-image{from{opacity:0;clip-path:inset(12% 0 0 0);transform:translate3d(0,24px,0)}to{opacity:1;clip-path:inset(0);transform:translateZ(0)}}
@keyframes velora-dialog{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:no-preference){
  .hero-location{animation:velora-rise .65s var(--motion-ease) both}
  .hero h1 span{animation:velora-rise .85s var(--motion-ease) both;animation-delay:.07s}
  .hero h1 span+span{animation-delay:.18s}
  .hero-script{animation:velora-rise .8s var(--motion-ease) .24s both}
  .hero-description{animation:velora-rise .75s var(--motion-ease) .32s both}
  .hero-buttons,.hero-footnote{animation:velora-rise .7s var(--motion-ease) .4s both}
  .hero-photo{animation:velora-image 1.15s var(--motion-ease) .1s both}
  .hero-caption,.hero-seal{animation:velora-rise .85s var(--motion-ease) .45s both}
  .page-heading>.eyebrow,.page-heading>h1{animation:velora-rise .8s var(--motion-ease) both}
  .page-heading>h1{animation-delay:.08s}
  .page-intro{animation:velora-rise .75s var(--motion-ease) .18s both}
  .detail-visual,.story-image{animation:velora-image 1s var(--motion-ease) .1s both}
  .treatment-summary{animation:velora-rise .85s var(--motion-ease) .2s both}
  .motion-enabled .reveal{opacity:0;transform:translate3d(0,26px,0);transition:opacity .75s var(--motion-ease) var(--reveal-delay,0ms),transform .85s var(--motion-ease) var(--reveal-delay,0ms)}
  .motion-enabled .reveal.is-visible,.motion-enabled .reveal:focus-within{opacity:1;transform:translateZ(0)}
  .motion-enabled .full-steps li{position:relative}
  .motion-enabled .full-steps li:after{content:"";position:absolute;bottom:-1px;left:0;width:100%;height:1px;background:#b49a70;transform:scaleX(0);transform-origin:left;transition:transform 1.1s var(--motion-ease) .2s}
  .motion-enabled .full-steps li.is-visible:after{transform:scaleX(1)}
  dialog[open]{animation:velora-dialog .25s var(--motion-ease) both}
  details[open]>p{animation:velora-rise .28s var(--motion-ease) both}
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  .button:hover{transform:translateY(-2px);box-shadow:0 7px 20px #77563422}
  .button:hover:before{transform:translateX(140%)}
  .button:hover .arrow{transform:translate(3px,-3px)}
  .text-link:hover>span,.service-details:hover .arrow{transform:translateX(5px)}
  .service-card:hover .service-image{transform:scale(1.055)}
  .service-card:hover .service-image-button{box-shadow:0 14px 30px #77563416}
  .service-card:hover .service-body h3{color:var(--gold)}
}
.button:active{transform:translateY(0);box-shadow:none}
@media(max-width:700px){
  .hero-photo img{transform:none}
  .motion-enabled .reveal{transition-duration:.55s,.65s}
  @media(prefers-reduced-motion:no-preference){.nav[data-open=true]{animation:velora-rise .24s var(--motion-ease) both}}
}
@media(prefers-reduced-motion:reduce){
  .hero-photo img{transform:none;transition:none}
  .header,.button,.button:before,.button .arrow,.text-link>span,.service-details .arrow,.service-image,.service-image-button,.service-body h3{transition:none}
  .button:before{display:none}
  .reveal{opacity:1!important;transform:none!important;transition:none!important}
}
