/* ==========================================================================
   AURORA MOTION LAB — additive motion layer (v1)
   Nothing here restyles the existing site: only motion, depth and light.
   Every module is a self-contained block and can be deleted on its own.
   ========================================================================== */

:root {
  --aura-blue: #58d5ff;
  --aura-ease: cubic-bezier(.2, .75, .25, 1);
}

/* ---- MODULE 01 — AURORA CURSOR (evolves the existing .cursor / .cursor-dot) */
.am-aura {
  position: fixed;
  left: 0;
  top: 0;
  width: 190px;
  height: 190px;
  margin: -95px 0 0 -95px;
  border-radius: 50%;
  pointer-events: none;
  z-index: 149;
  opacity: 0;
  mix-blend-mode: screen;
  background: radial-gradient(circle, rgba(88, 213, 255, .20) 0%, rgba(88, 213, 255, .09) 38%, transparent 70%);
  filter: blur(14px);
  transition: opacity .5s var(--aura-ease);
  will-change: transform;
}
.am-on .am-aura { opacity: 1; }
.am-aura.is-soft { opacity: .55; }
.am-cursor-pulse {
  position: fixed;
  left: 0;
  top: 0;
  width: 46px;
  height: 46px;
  margin: -23px 0 0 -23px;
  border-radius: 50%;
  pointer-events: none;
  z-index: 151;
  opacity: 0;
  border: 1px solid rgba(88, 213, 255, .55);
  box-shadow: 0 0 22px rgba(88, 213, 255, .35);
  will-change: transform, opacity;
}
@media (pointer: coarse) {
  .am-aura, .am-cursor-pulse { display: none !important; }
}

/* ---- MODULE 02 — CINEMATIC HEADLINE REVEAL (big headlines only) */
.am-line {
  display: block;
  overflow: hidden;
  padding-bottom: .14em;
  margin-bottom: -.14em;
}
.am-line > span {
  display: block;
  transform: translate3d(0, 108%, 0);
  filter: blur(9px);
  opacity: 0;
  transition:
    transform 1.05s var(--aura-ease),
    opacity .85s var(--aura-ease),
    filter .9s var(--aura-ease);
  transition-delay: var(--am-d, 0ms);
  will-change: transform, opacity;
}
.am-in .am-line > span,
.visible .am-line > span {
  transform: translate3d(0, 0, 0);
  filter: blur(0);
  opacity: 1;
}

/* ---- MODULE 03 — PREMIUM CASE / IMAGE HOVER (blue edge light + depth) */
.am-hover {
  position: relative;
  transition: transform .8s var(--aura-ease), box-shadow .8s var(--aura-ease);
  will-change: transform;
}
.am-hover > img,
.am-hover > video {
  transition: transform 1.1s var(--aura-ease), filter .8s var(--aura-ease);
  will-change: transform;
}
.am-hover:after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0;
  transition: opacity .7s var(--aura-ease);
  box-shadow: inset 0 0 0 1px rgba(88, 213, 255, .34), inset 0 0 44px rgba(88, 213, 255, .13);
  background: radial-gradient(420px circle at var(--am-mx, 50%) var(--am-my, 50%), rgba(88, 213, 255, .10), transparent 62%);
}
@media (hover: hover) and (pointer: fine) {
  .am-hover:hover { transform: translate3d(0, -4px, 0); }
  .am-hover:hover > img,
  .am-hover:hover > video { transform: scale(1.028); filter: saturate(1.04); }
  .am-hover:hover:after { opacity: 1; }
}

/* ---- MODULE 04 — PROPERTY SCROLL STORY (sticky stage, existing assets only) */
.am-story { position: relative; }
.am-story-steps { position: relative; }
.am-story-step {
  opacity: .28;
  transform: translate3d(0, 10px, 0);
  transition: opacity .7s var(--aura-ease), transform .7s var(--aura-ease);
}
.am-story-step.is-active { opacity: 1; transform: none; }
.am-story-step.is-active .am-story-title { color: #fff; }
.am-story-layer {
  position: absolute;
  inset: 0;
  opacity: 0;
  transform: scale(1.045);
  transition: opacity 1.1s var(--aura-ease), transform 1.6s var(--aura-ease);
  will-change: opacity, transform;
}
.am-story-layer.is-active { opacity: 1; transform: scale(1); }

/* ---- MODULE 05 — MAGNETIC CTA (transform only, click target unchanged) */
.am-magnet { position: relative; }
.am-magnet-inner {
  display: inline-flex;
  align-items: center;
  gap: inherit;
  transition: transform .45s var(--aura-ease);
  will-change: transform;
}
.am-magnet:after {
  content: "";
  position: absolute;
  inset: -2px;
  border-radius: inherit;
  pointer-events: none;
  opacity: 0;
  transition: opacity .5s var(--aura-ease);
  box-shadow: 0 0 26px rgba(88, 213, 255, .34);
}
.am-magnet.is-near:after { opacity: 1; }

/* ---- MODULE 06 — SCROLL DEPTH (very subtle parallax) */
.am-depth { will-change: transform; }

/* ---- MODULE 07 — AMBIENT AURA FIELD (max 2 dark sections) */
.am-ambient {
  position: absolute;
  inset: -20%;
  z-index: 0;
  pointer-events: none;
  opacity: .32;
  mix-blend-mode: screen;
  filter: blur(80px);
  background:
    radial-gradient(38% 34% at 22% 30%, rgba(88, 213, 255, .40), transparent 70%),
    radial-gradient(34% 30% at 78% 70%, rgba(88, 213, 255, .22), transparent 72%);
  animation: am-drift 26s ease-in-out infinite alternate;
  will-change: transform;
}
@keyframes am-drift {
  from { transform: translate3d(-2.5%, -2%, 0) scale(1); }
  to   { transform: translate3d(2.5%, 2.5%, 0) scale(1.05); }
}

/* ---- MODULE 08 — SECTION ARRIVAL (aura first, content follows) */
.am-arrive:before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  width: min(760px, 78vw);
  height: 1px;
  transform: translateX(-50%) scaleX(.2);
  transform-origin: center;
  opacity: 0;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(88, 213, 255, .55), transparent);
  box-shadow: 0 0 22px rgba(88, 213, 255, .35);
  transition: opacity 1s var(--aura-ease), transform 1.4s var(--aura-ease);
}
.am-arrive.am-in:before { opacity: .9; transform: translateX(-50%) scaleX(1); }

/* ---- MODULE 09 — PRICE / NUMBER REVEAL (engagements) */
.am-value {
  display: inline-block;
  opacity: 0;
  transform: translate3d(0, 14px, 0);
  clip-path: inset(0 0 100% 0);
  transition:
    opacity .9s var(--aura-ease),
    transform 1s var(--aura-ease),
    clip-path 1s var(--aura-ease);
  transition-delay: var(--am-d, 0ms);
}
.am-value.am-in {
  opacity: 1;
  transform: none;
  clip-path: inset(0 0 0 0);
}

/* ---- MODULE 10 — EXPERIMENTAL: REFRACTIVE AURA SHEEN (hero, one instance) */
.am-sheen {
  position: absolute;
  inset: 0;
  z-index: 4;
  pointer-events: none;
  opacity: .5;
  mix-blend-mode: screen;
  background: linear-gradient(
    102deg,
    transparent 38%,
    rgba(88, 213, 255, .07) 47%,
    rgba(255, 255, 255, .05) 50%,
    rgba(88, 213, 255, .07) 53%,
    transparent 62%
  );
  transform: translate3d(var(--am-sheen-x, 0), 0, 0);
  transition: transform 1.2s var(--aura-ease);
  will-change: transform;
}

/* ---- ACCESSIBILITY — reduced motion: content immediately available */
@media (prefers-reduced-motion: reduce) {
  .am-aura, .am-cursor-pulse, .am-ambient, .am-sheen { display: none !important; }
  .am-line > span,
  .am-value {
    transform: none !important;
    filter: none !important;
    opacity: 1 !important;
    clip-path: none !important;
    transition: none !important;
  }
  .am-story-step { opacity: 1 !important; transform: none !important; }
  .am-story-layer { transition: opacity .2s linear !important; transform: none !important; }
  .am-arrive:before { display: none; }
  .am-hover, .am-hover > img, .am-hover > video, .am-magnet-inner { transition: none !important; }
}


/* ==========================================================================
   AURORA SHOWROOM / EXPERIENCE FX — additive v2
   Credit-free manual enhancement layer. Safe when Showroom markup is absent.
   ========================================================================== */

/* ---- MODULE 11 — EXPERIENCE PROGRESS RAIL */
.am-experience-progress{
  position:fixed;right:18px;top:50%;z-index:118;display:grid;gap:10px;
  transform:translateY(-50%);opacity:0;pointer-events:none;
  transition:opacity .45s var(--aura-ease);
}
.am-experience-progress.is-visible{opacity:1}
.am-experience-progress i{
  display:block;width:4px;height:4px;border-radius:50%;
  background:rgba(255,255,255,.3);box-shadow:0 0 0 0 rgba(88,213,255,0);
  transition:height .45s var(--aura-ease),background .45s,box-shadow .45s;
}
.am-experience-progress i.is-active{
  height:28px;border-radius:999px;background:var(--aura-blue);
  box-shadow:0 0 18px rgba(88,213,255,.75);
}

/* ---- MODULE 12 — BLUE PATH / SCROLL ENERGY */
.am-blue-path{
  position:absolute;left:clamp(10px,2.1vw,34px);top:8%;bottom:8%;width:1px;
  z-index:2;pointer-events:none;overflow:hidden;
  background:rgba(255,255,255,.07);
}
.am-blue-path:after{
  content:"";position:absolute;left:0;top:0;width:1px;height:100%;
  transform-origin:top;transform:scaleY(var(--am-path,0));
  background:linear-gradient(180deg,transparent 0%,rgba(88,213,255,.45) 8%,#58d5ff 55%,rgba(161,107,255,.65) 92%,transparent 100%);
  box-shadow:0 0 16px rgba(88,213,255,.75);
}
.property.am-experience-zone{isolation:isolate}
.property.am-experience-zone .wrap{position:relative;z-index:3}

/* ---- MODULE 13 — SCROLL FOCUS / PHOTO → EXPERIENCE RHYTHM */
.property-flow.am-cinematic-flow .property-stage{
  opacity:.42;filter:saturate(.76) brightness(.82);
  transform:translate3d(0,14px,0) scale(.992);
  transition:opacity .8s var(--aura-ease),filter .8s var(--aura-ease),transform .9s var(--aura-ease),border-color .7s,box-shadow .7s;
}
.property-flow.am-cinematic-flow .property-stage.am-focus-stage{
  opacity:1;filter:none;transform:translate3d(0,0,0) scale(1);
  border-color:rgba(88,213,255,.38);
  box-shadow:0 28px 100px rgba(24,115,165,.16),0 0 0 1px rgba(88,213,255,.06) inset;
}
.property-flow.am-cinematic-flow .property-stage.am-focus-stage .property-stage-num{
  text-shadow:0 0 18px rgba(88,213,255,.55);
}

/* ---- MODULE 14 — PREMIUM LIGHT SWEEP */
.am-light-sweep{position:relative;isolation:isolate}
.am-light-sweep:before{
  content:"";position:absolute;inset:-12% -45%;z-index:5;pointer-events:none;
  opacity:0;mix-blend-mode:screen;
  background:linear-gradient(103deg,transparent 38%,rgba(88,213,255,.03) 44%,rgba(255,255,255,.18) 49%,rgba(88,213,255,.1) 52%,transparent 59%);
  transform:translate3d(-36%,0,0);
}
.am-light-sweep.am-lit:before{
  animation:am-light-pass 1.55s var(--aura-ease) both;
}
@keyframes am-light-pass{
  0%{opacity:0;transform:translate3d(-36%,0,0)}
  18%{opacity:.78}
  100%{opacity:0;transform:translate3d(36%,0,0)}
}

/* ---- MODULE 15 — CONTEXT CURSOR LABEL */
.am-cursor-label{
  position:fixed;left:0;top:0;z-index:152;pointer-events:none;
  padding:7px 10px;border:1px solid rgba(88,213,255,.35);border-radius:999px;
  background:rgba(4,7,12,.72);backdrop-filter:blur(10px);
  color:#fff;font:600 9px/1 Arial,Helvetica,sans-serif;letter-spacing:.16em;text-transform:uppercase;
  opacity:0;transform:translate3d(18px,18px,0) scale(.92);
  transition:opacity .2s,transform .25s var(--aura-ease);
  box-shadow:0 0 24px rgba(88,213,255,.14);
}
.am-cursor-label.is-visible{opacity:1;transform:translate3d(18px,18px,0) scale(1)}

/* ---- MODULE 16 — PORTAL / TILT LANGUAGE (ready for Showroom markup) */
.showroom-portal,.am-tilt{
  transform-style:preserve-3d;
  will-change:transform;
  transition:transform .7s var(--aura-ease),box-shadow .7s var(--aura-ease);
}
.showroom-portal{
  position:relative;overflow:hidden;isolation:isolate;
}
.showroom-portal:after{
  content:"";position:absolute;inset:0;z-index:6;pointer-events:none;
  opacity:0;border:1px solid rgba(88,213,255,.28);
  box-shadow:inset 0 0 64px rgba(88,213,255,.1),0 0 36px rgba(88,213,255,.08);
  transition:opacity .6s var(--aura-ease);
}
.showroom-portal:hover:after{opacity:1}

/* ---- MODULE 17 — GLASS / HIGH-END REFRACTION HELPERS */
.am-refract{position:relative;overflow:hidden}
.am-refract:after{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:7;
  opacity:.34;mix-blend-mode:screen;
  background:
    radial-gradient(55% 24% at 30% 8%,rgba(88,213,255,.12),transparent 70%),
    linear-gradient(108deg,transparent 42%,rgba(255,255,255,.045) 48%,rgba(88,213,255,.055) 51%,transparent 58%);
  transform:translate3d(var(--am-rx,0),var(--am-ry,0),0) scale(1.02);
  transition:transform 1s var(--aura-ease);
}

/* ---- MOBILE / ACCESSIBILITY */
@media (max-width:899px),(pointer:coarse){
  .am-experience-progress,.am-cursor-label,.am-blue-path{display:none!important}
  .property-flow.am-cinematic-flow .property-stage{opacity:1;filter:none;transform:none}
}
@media (prefers-reduced-motion:reduce){
  .am-experience-progress,.am-cursor-label,.am-blue-path{display:none!important}
  .property-flow.am-cinematic-flow .property-stage{opacity:1!important;filter:none!important;transform:none!important}
  .am-light-sweep:before{display:none!important}
  .showroom-portal,.am-tilt{transform:none!important;transition:none!important}
}
