/* V72 — refined typography and restrained motion */
:root{--relax-ease:cubic-bezier(.22,1,.36,1)}
html{scroll-behavior:smooth}
body{font-family:"Manrope", "Avenir Next", "Segoe UI", sans-serif!important;letter-spacing:-.012em}
h1,h2,h3,h4,h5,h6{font-family:"Manrope", "Avenir Next", "Segoe UI", sans-serif!important;letter-spacing:-.035em;line-height:1.14}
header .nav a,header .nav button,button,input,select,textarea{font-family:inherit}
header .nav a{letter-spacing:.005em}
button,a,.quicklinks a,.rlx-hero-icons a{transition:color .25s ease,background-color .25s ease,border-color .25s ease,transform .35s var(--relax-ease),box-shadow .35s ease}
@media(hover:hover) and (pointer:fine){
  .rlx-hero-icons a:hover,.quicklinks a:hover{transform:translateY(-5px)}
  main a[class*="btn"]:hover,main button:not(:disabled):hover{transform:translateY(-2px)}
  main img{transition:transform .8s var(--relax-ease)}
  main a:hover>img{transform:scale(1.025)}
}
/* Initial hero entrance: no effect on layout or interactivity */
@media(prefers-reduced-motion:no-preference){
  .hero-image,.contact47-hero{animation:relaxHeroIn .85s var(--relax-ease) both}
  .v58-hero-copy,.contact47-hero .container{animation:relaxTextIn .9s .12s var(--relax-ease) both}
  .relax-reveal{opacity:0;transform:translateY(22px);transition:opacity .75s var(--relax-ease),transform .75s var(--relax-ease)}
  .relax-reveal.is-visible{opacity:1;transform:none}
  @keyframes relaxHeroIn{from{opacity:.6;filter:brightness(.83)}to{opacity:1;filter:brightness(1)}}
  @keyframes relaxTextIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.relax-reveal{opacity:1!important;transform:none!important}}
