/* royalfx — cinematic interaction layer (24 Jul 2026)
   tilt cards, gold shimmer, depth parallax, royal cinema bands, 3D viewer */

/* ---- 3D tilt on gallery photographs ---- */
.gph{transform-style:preserve-3d;transition:transform .35s cubic-bezier(.2,.6,.2,1),box-shadow .35s;will-change:transform}
.gph.fx-tilt{transition:transform .06s linear,box-shadow .35s}
.gph:hover{box-shadow:0 26px 60px rgba(4,8,24,.55),0 0 0 1px rgba(201,162,39,.35)}
.gph .fx-glare{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:3;
  background:radial-gradient(420px 300px at var(--gx,50%) var(--gy,50%),rgba(255,240,200,.16),transparent 60%);
  opacity:0;transition:opacity .3s}
.gph:hover .fx-glare{opacity:1}

/* ---- gold shimmer sweep on display italics ---- */
h1 em,h2 em{position:relative}
.fx-shimmer{background:linear-gradient(100deg,currentColor 42%,#F2CD62 50%,currentColor 58%);
  background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;
  animation:fxsweep 1.6s ease .2s 1 both}
@keyframes fxsweep{from{background-position:120% 0}to{background-position:-60% 0}}

/* ---- depth parallax ---- */
[data-fxdepth]{will-change:transform}

/* ---- royal cinema band ---- */
.rband{position:relative;border-radius:26px;overflow:hidden;background:#0A0F22;color:#F4F1E6;
  box-shadow:0 40px 90px rgba(4,8,24,.45);margin:26px 0}
.rband video,.rband img.rband__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.92}
.rband__scrim{position:absolute;inset:0;background:linear-gradient(100deg,rgba(6,10,26,.88) 18%,rgba(6,10,26,.5) 52%,rgba(6,10,26,.12));}
.rband__in{position:relative;z-index:2;padding:64px 58px;max-width:560px}
.rband__kick{font-size:.72rem;font-weight:700;letter-spacing:.32em;text-transform:uppercase;color:#D9B23A;margin-bottom:14px}
.rband h2,.rband h3{color:#FFFDF6;line-height:1.12;margin:0 0 14px}
.rband p{color:#CBC6B4;margin:0}
.rband--tall{min-height:420px;display:flex;align-items:center}
@media(max-width:760px){.rband__in{padding:42px 26px}}

/* ---- interactive 3D viewer ---- */
.r3d{position:relative;border-radius:26px;overflow:hidden;min-height:520px;background:radial-gradient(700px 420px at 50% 0%,#182248,#070B1C 70%);
  box-shadow:0 40px 90px rgba(4,8,24,.45)}
.r3d model-viewer{width:100%;height:520px;--poster-color:transparent;background:transparent}
.r3d__hint{position:absolute;left:0;right:0;bottom:14px;text-align:center;font-size:.72rem;letter-spacing:.26em;
  text-transform:uppercase;color:#8E86CFAA;pointer-events:none}
@media(max-width:760px){.r3d model-viewer{height:380px}}
