/* MalaysiaProject.com — effects layer (all pages). Motion turns off for visitors who prefer reduced motion. */
.fx-progress{ position:fixed; top:0; left:0; height:3px; width:100%; transform-origin:0 50%; transform:scaleX(var(--fx-p,0)); background:linear-gradient(90deg,#C9A24B,#F5D061,#C9A24B); z-index:3000; pointer-events:none; }
.fx-scrolled{ background:rgba(11,27,58,.84) !important; -webkit-backdrop-filter:saturate(1.4) blur(14px); backdrop-filter:saturate(1.4) blur(14px); box-shadow:0 12px 32px -18px rgba(0,0,0,.65); transition:background .35s ease, box-shadow .35s ease; }
@media (prefers-reduced-motion:no-preference){
  /* content glides in */
  .fx-in{ opacity:0; transform:translateY(28px); transition:opacity .75s cubic-bezier(.2,.7,.2,1), transform .75s cubic-bezier(.2,.7,.2,1); transition-delay:var(--fx-d,0ms); }
  .fx-in.fx-on{ opacity:1; transform:none; }
  /* banner: soft drifting gold light, parallax photo, shimmering headline */
  .hero > *:not(.hero-bg){ position:relative; z-index:2; }
  .hero::after{ content:""; position:absolute; inset:-25%; pointer-events:none; z-index:1; background:radial-gradient(38% 32% at 22% 30%, rgba(245,208,97,.20), transparent 70%), radial-gradient(32% 28% at 78% 72%, rgba(120,170,255,.10), transparent 70%); animation:fxGlow 16s ease-in-out infinite alternate; }
  @keyframes fxGlow{ 0%{ transform:translate(-5%,-3%) scale(1); } 100%{ transform:translate(6%,4%) scale(1.08); } }
  .hero .hero-bg img{ transform:scale(1.1) translate3d(0,var(--fx-par,0px),0); will-change:transform; }
  .hero h1 em{ background:linear-gradient(100deg,#C9A24B 15%,#FFF3C4 38%,#F5D061 52%,#C9A24B 80%); background-size:260% 100%; -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent; animation:fxShine 7s ease-in-out infinite; }
  @keyframes fxShine{ 0%,100%{ background-position:100% 0; } 50%{ background-position:0 0; } }
  /* buttons: a sweep of light on hover */
  .btn-gold, .btn-wa, .lw-next, .hero-qa button, .rt-cta, .svr-main{ position:relative; overflow:hidden; }
  .btn-gold::after, .btn-wa::after, .lw-next::after, .hero-qa button::after, .rt-cta::after{ content:""; position:absolute; top:0; left:-130%; width:55%; height:100%; background:linear-gradient(100deg,transparent,rgba(255,255,255,.5),transparent); transform:skewX(-20deg); transition:left .75s ease; pointer-events:none; }
  .btn-gold:hover::after, .btn-wa:hover::after, .lw-next:hover::after, .hero-qa button:hover::after, .rt-cta:hover::after{ left:150%; }
  /* cards: lift with a soft gold glow, photo zooms gently */
  .hf, .card, .sv-card, .pcard, .fw-card, .news article, .guides a{ transition:transform .4s cubic-bezier(.2,.7,.2,1), box-shadow .4s ease, opacity .75s cubic-bezier(.2,.7,.2,1) !important; }
  .hf:hover, .card:hover, .sv-card:hover, .pcard:hover, .fw-card:hover, .news article:hover, .guides a:hover{ transform:translateY(-6px) !important; box-shadow:0 28px 52px -26px rgba(11,27,58,.6), 0 0 0 1px rgba(201,162,75,.5) !important; }
  .hf .hf-img img, .pcover img{ transition:transform 1s cubic-bezier(.2,.7,.2,1) !important; }
  .hf:hover .hf-img img, .pcard:hover .pcover img{ transform:scale(1.07) !important; }
  /* section titles: a gold line draws in under them */
  .sec-head h2::after, .sv-head h2::after, .rt-head h2::after{ content:""; display:block; width:0; height:3px; margin-top:10px; border-radius:3px; background:linear-gradient(90deg,#C9A24B,#F5D061); transition:width 1s cubic-bezier(.2,.7,.2,1) .25s; }
  .sv-head h2::after{ margin-left:auto; margin-right:auto; }
  .fx-on h2::after{ width:64px; }
}
