﻿/* Native planes bend entire content blocks, including their interactive areas.
   Navigation and dialogs stay in their own fixed layers. */
@property --bend-hover{
  syntax:'<length>';
  inherits:false;
  initial-value:0px;
}
.page-bending main,.page-bending .footer{position:relative;z-index:2}
.page-bending .bend-surface{
  transform-origin:var(--bend-origin,50% 50%);
  transform:perspective(var(--bend-perspective,1200px)) translateY(calc(var(--bend-shift,0px) + var(--bend-hover,0px))) rotateX(var(--bend-angle,0deg)) scale(var(--bend-scale,1));
  /* Frame-by-frame transforms must not queue behind the reveal/hover transition. */
  transition-property:opacity,box-shadow,background-color,border-color,--bend-hover;
  backface-visibility:hidden;
}
.page-bending .bend-surface.bend-visible{will-change:transform}
.page-bending :is(.service-card,.project-card){
  transition-duration:.45s;
  transition-timing-function:cubic-bezier(.22,1,.36,1);
}
/* Animate only the lift; scroll-driven rotation stays immediate and responsive. */
.page-bending .service-card:is(:hover,:focus-visible){--bend-hover:-6px}
.page-bending .project-card:is(:hover,:focus-visible){--bend-hover:-4px}
.bend-measuring .bend-surface{transform:none!important}
@media(prefers-reduced-motion:reduce){
  .page-bending .bend-surface{transform:none!important;will-change:auto;transition:none!important}
}
