/* Apple-style motion & type pass: one easing system, press feedback, calmer reveals, optical type, reduced motion */
:root{
  --ease-out:cubic-bezier(.16,1,.3,1);           /* fast start, long settle */
  --ease-io:cubic-bezier(.65,0,.35,1);
  --spring:cubic-bezier(.34,1.3,.64,1);          /* fallback: gentle overshoot */
  --dur-1:.18s;--dur-2:.35s;--dur-3:.6s;
}
@supports (transition-timing-function:linear(0,1)){
  :root{--spring:linear(0,.009,.035 2.1%,.141 4.4%,.723 15.5%,.938 20.7%,1.017 25.3%,1.043 29%,1.045 32.5%,1.026 39.6%,1.004 48.5%,.997 58.5%,1)}
}
/* Reveals: shorter travel, longer settle, no fade-from-nothing jumpiness */
.js .reveal{opacity:0;transform:translate3d(0,12px,0) scale(.99);transition:opacity var(--dur-3) var(--ease-out),transform var(--dur-3) var(--ease-out)}
.js .reveal.is-in{opacity:1;transform:none}
/* Direct feedback: everything you press responds under your finger, then springs back */
.btn,.slot,.chip,.menu,.wa-fab,.qa summary{transition:transform var(--dur-2) var(--spring),background-color var(--dur-1) ease,border-color var(--dur-1) ease,color var(--dur-1) ease;-webkit-tap-highlight-color:transparent}
.btn:active,.slot:active,.chip:active,.menu:active,.wa-fab:active{transform:scale(.97);transition-duration:.08s}
.btn--primary:hover .icon{transform:translateX(3px)}
/* Materials: header and mobile bar read as translucent layers above content */
.site-header,.mobile-bar{background:rgba(244,248,245,.72);-webkit-backdrop-filter:saturate(1.8) blur(20px);backdrop-filter:saturate(1.8) blur(20px)}
/* Type: optical sizing, tighter display tracking, balanced headings, no orphans */
html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
body{font-optical-sizing:auto}
h1,h2,h3,.h2,.fix__title{text-wrap:balance}
p,li{text-wrap:pretty}
.h2{letter-spacing:-.02em}
.price__amount{letter-spacing:-.03em;font-variant-numeric:lining-nums}
/* Reduced motion: keep the content, drop the movement */
@media (prefers-reduced-motion:reduce){
  .js .reveal{transform:none;transition:opacity .3s linear}
  .wall__col{animation:none!important}
  .btn:active,.slot:active,.chip:active{transform:none}
}
