/* Basis */
.esan-card{background:#fff;border-radius:16px;padding:18px;box-shadow:0 10px 30px rgba(0,0,0,.07);border:1px solid rgba(0,0,0,.05)}
.btn{display:inline-flex;gap:10px;align-items:center;padding:10px 16px;border:1px solid #c8a73b;border-radius:999px;text-decoration:none;color:#1b1b1b;background:rgba(200,167,59,.12);transition:.2s}
.btn:hover{transform:translateY(-2px);background:rgba(200,167,59,.16)}

/* Reveal / Stagger */
.reveal{opacity:0;transform:translateY(14px);transition:opacity 600ms ease, transform 600ms ease}
.in.reveal{opacity:1;transform:none}
.stagger>*{opacity:0;transform:translateY(12px)}
.stagger.in>*{opacity:1;transform:none;transition:opacity 500ms ease, transform 500ms ease}
.stagger.in>*:nth-child(2){transition-delay:120ms}
.stagger.in>*:nth-child(3){transition-delay:200ms}
.stagger.in>*:nth-child(4){transition-delay:280ms}

/* Scroll-Zoom */
.scroll-zoom{overflow:hidden;border-radius:16px}
.scroll-zoom img{width:100%;height:64vh;object-fit:cover;transform:scale(1.15);transition:transform .2s linear}

/* Tilt */
.tilt{will-change:transform;transform-style:preserve-3d;transition:transform .15s ease, box-shadow .2s ease;perspective:800px}
.tilt:hover{box-shadow:0 16px 40px rgba(0,0,0,.18)}
.tilt .tilt-inner{transform:translateZ(0);transition:transform .15s ease}

/* Image Tiles */
.img-grid{display:grid;gap:18px;grid-template-columns:repeat(12,1fr)}
.img-tile{grid-column:span 12;position:relative;overflow:hidden;border-radius:16px;box-shadow:0 10px 30px rgba(0,0,0,.07);background:#000}
@media(min-width:700px){.img-tile{grid-column:span 6}}
@media(min-width:1000px){.img-tile{grid-column:span 4}}
.img-tile img{width:100%;height:260px;object-fit:cover;transform:scale(1);transition:transform .5s ease, filter .5s ease;filter:grayscale(.1) contrast(1.02)}
.img-tile:hover img{transform:scale(1.08);filter:grayscale(0)}
.img-cap{position:absolute;inset:auto 0 0 0;padding:14px;color:#fff;background:linear-gradient(180deg,transparent,rgba(0,0,0,.55));transform:translateY(40%);transition:transform .4s ease,opacity .4s ease;opacity:.95}
.img-tile:hover .img-cap{transform:translateY(0);opacity:1}
.img-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(75deg,transparent 0%,rgba(255,255,255,.25) 50%,transparent 100%);transform:translateX(-120%);transition:transform .8s ease}
.img-tile:hover::after{transform:translateX(120%)}

/* Reduced motion */
@media (prefers-reduced-motion:reduce){
  .reveal, .stagger>*, .scroll-zoom img {transition: none !important; transform: none !important}
}

/* Sticky-Parallax (iOS-sicher, ohne JS) */
.esan-parallax .esan-parallax-sticky { transform: translateZ(0); }
.esan-parallax .esan-parallax-text { background:#fff; border-radius:16px; padding:18px; box-shadow:0 10px 30px rgba(0,0,0,.07); border:1px solid rgba(0,0,0,.05); }
@media (max-width: 900px){
  .esan-parallax .esan-parallax-sticky { position:relative !important; top:auto !important; height:auto !important; }
  .esan-parallax-grid { grid-template-columns: 1fr !important; }
}
