
:root{
  --motion-ease:cubic-bezier(.22,.72,.18,1);
  --motion-ease-soft:cubic-bezier(.25,.65,.2,1);
  --motion-fast:.38s;
  --motion-ui:.52s;
  --motion-reveal:.62s;
  --motion-page-out:.20s;
  --motion-page-in:.34s;
}

html{scroll-behavior:smooth}

body .gallery-head{
  grid-template-columns:minmax(0,1fr)!important;
  gap:0!important;
  align-items:start!important;
}
body .gallery-head .section-title{max-width:760px}

.reveal{
  opacity:0!important;
  transform:translate3d(0,14px,0)!important;
  filter:blur(1.4px)!important;
  transition:
    opacity var(--motion-reveal) var(--motion-ease),
    transform var(--motion-reveal) var(--motion-ease),
    filter var(--motion-reveal) var(--motion-ease)!important;
  transition-delay:0s!important;
  will-change:opacity,transform;
}
.reveal.visible{
  opacity:1!important;
  transform:translate3d(0,0,0)!important;
  filter:blur(0)!important;
}

.hero .eyebrow,.page-hero .eyebrow,.legal-hero .eyebrow,
.hero h1,.page-hero h1,.legal-hero h1,
.hero .hero-content>p:not(.eyebrow),.page-hero .container>p:not(.eyebrow),.legal-hero .container>p:not(.eyebrow){
  animation:texelHeroSoftIn 1.02s var(--motion-ease) .08s both!important;
}
@keyframes texelHeroSoftIn{
  from{opacity:0;transform:translate3d(0,10px,0);filter:blur(2px)}
  to{opacity:1;transform:translate3d(0,0,0);filter:blur(0)}
}

.btn,.footer-contact-btn,.detail-link,.header-cta,
.property-card,.photo-card,.new-project-card,.preview-card,.value,.portfolio-highlight,
button,a{
  transition-timing-function:var(--motion-ease-soft)!important;
}
.property-card,.photo-card,.new-project-card,.preview-card,.value,.portfolio-highlight{
  transition:
    transform var(--motion-ui) var(--motion-ease),
    box-shadow var(--motion-ui) var(--motion-ease),
    border-color var(--motion-fast) ease!important;
}
.property-card:hover,.new-project-card:hover,.preview-card:hover,.value:hover,.portfolio-highlight:hover{
  transform:translate3d(0,-2px,0)!important;
}
.photo-card img,.property-card img,.new-project-card img,.preview-card img{
  transition:transform .82s var(--motion-ease),filter .52s ease!important;
}
.photo-card:hover img,.property-card:hover img,.new-project-card:hover img,.preview-card:hover img{
  transform:scale(1.018)!important;
}
.btn i,.footer-contact-btn i,.detail-link i{
  transition:transform var(--motion-fast) var(--motion-ease)!important;
}
.btn:hover i,.footer-contact-btn:hover i,.detail-link:hover i{transform:translateX(3px)}

.texel-unified-header,
.site-header,#header{
  transition:
    background-color var(--motion-ui) var(--motion-ease),
    box-shadow var(--motion-ui) var(--motion-ease),
    border-color var(--motion-ui) var(--motion-ease),
    backdrop-filter var(--motion-ui) var(--motion-ease)!important;
}
.texel-unified-header__nav a::after,.nav-links a::after{
  transition:right var(--motion-fast) var(--motion-ease)!important;
}

@view-transition{navigation:none}
html{view-transition-name:none!important}
.texel-unified-header{view-transition-name:none!important}
.hero,.page-hero,.legal-hero{view-transition-name:none!important}

::view-transition-group(texel-header){
  z-index:10002;
  animation-duration:var(--motion-page-in);
  animation-timing-function:var(--motion-ease);
}
::view-transition-group(texel-hero){
  animation-duration:var(--motion-page-in);
  animation-timing-function:var(--motion-ease);
}
::view-transition-old(texel-page){animation:texelPageOut var(--motion-page-out) var(--motion-ease-soft) both}
::view-transition-new(texel-page){animation:texelPageIn var(--motion-page-in) var(--motion-ease) both}
::view-transition-old(texel-hero){animation:texelHeroOut var(--motion-page-out) var(--motion-ease-soft) both}
::view-transition-new(texel-hero){animation:texelHeroIn var(--motion-page-in) var(--motion-ease) both}

@keyframes texelPageOut{
  0%{opacity:1;filter:blur(0);transform:scale(1) translate3d(0,0,0)}
  100%{opacity:0;filter:blur(4px);transform:scale(.996) translate3d(0,-3px,0)}
}
@keyframes texelPageIn{
  0%{opacity:0;filter:blur(4px);transform:scale(1.004) translate3d(0,5px,0)}
  52%{opacity:.82;filter:blur(1px)}
  100%{opacity:1;filter:blur(0);transform:scale(1) translate3d(0,0,0)}
}
@keyframes texelHeroOut{
  from{opacity:1;filter:blur(0);transform:scale(1)}
  to{opacity:.08;filter:blur(4px);transform:scale(1.004)}
}
@keyframes texelHeroIn{
  from{opacity:.06;filter:blur(4px);transform:scale(.997)}
  to{opacity:1;filter:blur(0);transform:scale(1)}
}

body.texel-page-leave>*:not(script):not(style):not(.texel-unified-header){
  animation:texelFallbackOut var(--motion-page-out) var(--motion-ease-soft) both!important;
}
body.texel-page-enter>*:not(script):not(style):not(.texel-unified-header){
  opacity:0;
  filter:blur(4px);
  transform:translate3d(0,5px,0) scale(1.004);
}
body.texel-page-enter.is-visible>*:not(script):not(style):not(.texel-unified-header){
  transition:
    opacity var(--motion-page-in) var(--motion-ease),
    filter var(--motion-page-in) var(--motion-ease),
    transform var(--motion-page-in) var(--motion-ease)!important;
  opacity:1;
  filter:blur(0);
  transform:none;
}
@keyframes texelFallbackOut{
  from{opacity:1;filter:blur(0);transform:none}
  to{opacity:0;filter:blur(4px);transform:translate3d(0,-3px,0) scale(.996)}
}

@media(max-width:650px){
  .reveal{transform:translate3d(0,10px,0)!important;filter:blur(.8px)!important}
  .photo-card:hover img,.property-card:hover img,.new-project-card:hover img,.preview-card:hover img{transform:none!important}
  .property-card:hover,.new-project-card:hover,.preview-card:hover,.value:hover,.portfolio-highlight:hover{transform:none!important}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;view-transition-name:none!important}
  .texel-unified-header,.hero,.page-hero,.legal-hero{view-transition-name:none!important}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .reveal,.reveal.visible{opacity:1!important;transform:none!important;filter:none!important}
}

@view-transition{navigation:none}
html,.texel-unified-header,.hero,.page-hero,.legal-hero{view-transition-name:none!important}
body.texel-page-enter,body.texel-page-leave{opacity:1!important;filter:none!important;transform:none!important;animation:none!important}
body.texel-page-enter>*:not(script):not(style),body.texel-page-leave>*:not(script):not(style){opacity:1!important;filter:none!important;transform:none!important;animation:none!important;transition:none!important}
