/* Daily public landing scenes. Authentication remains owned by index.php. */
:root {
  --landing-a1: #f967fb;
  --landing-a2: #53bc28;
  --landing-a3: #6958d5;
}

html, body { width: 100%; height: 100%; overflow: hidden; overscroll-behavior: none; }
body { min-height: 100vh; min-height: 100svh; }
.landing-scene { position: fixed; inset: 0; width: 100%; height: 100vh; height: 100svh; overflow: hidden; isolation: isolate; }
.landing-shell { position: relative; z-index: 4; width: min(1180px, calc(100% - 40px)); height: 100%; margin: 0 auto; }
.landing-cta {
  pointer-events: auto;
  border: 1px solid rgba(255,255,255,.25);
  border-radius: 999px;
  padding: 13px 25px;
  background: linear-gradient(120deg, var(--landing-a1), var(--landing-a3));
  color: #fff;
  font: inherit;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: .02em;
  cursor: pointer;
  box-shadow: 0 14px 40px rgba(0,0,0,.3);
  transition: transform .2s ease, filter .2s ease;
}
.landing-cta:hover { transform: translateY(-2px); filter: brightness(1.1); }
.landing-cta:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.landing-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 8px 13px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  color: rgba(255,255,255,.83);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
  backdrop-filter: blur(12px);
}
.landing-eyebrow::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--landing-a2); box-shadow: 0 0 14px var(--landing-a2); }

/* Existing interactive tubes scene. */
.scene-tubes { background: #000; }
.scene-tubes canvas { position: absolute; }
.scene-tubes .overlay { height: 100%; gap: 21px; padding: 72px 18px 84px; }
.scene-tubes .tubes-title { margin: 0; font-size: clamp(56px,11vw,126px); line-height: .86; }
.scene-tubes .tubes-subtitle { margin: 7px 0 0; font-size: clamp(24px,5vw,62px); line-height: 1; }
.scene-tubes .tubes-copy { max-width: 590px; margin: 0; color: rgba(255,255,255,.76); font-size: clamp(13px,1.6vw,16px); line-height: 1.65; }
.scene-tubes .hint { bottom: max(22px, env(safe-area-inset-bottom)); }

/* Supplied Synapse reference, reduced to a fast one-screen CRM hero. */
.scene-pulse {
  background:
    radial-gradient(circle at 15% 18%, color-mix(in srgb,var(--landing-a3) 34%,transparent), transparent 35%),
    radial-gradient(circle at 82% 78%, color-mix(in srgb,var(--landing-a2) 20%,transparent), transparent 30%),
    linear-gradient(135deg,#050507 0%,#090910 48%,#030304 100%);
}
.scene-pulse::before {
  content: "";
  position: absolute;
  inset: -25%;
  z-index: -1;
  opacity: .52;
  background:
    radial-gradient(circle at 35% 45%,var(--landing-a1),transparent 15%),
    radial-gradient(circle at 64% 38%,var(--landing-a3),transparent 18%),
    radial-gradient(circle at 53% 70%,var(--landing-a2),transparent 14%);
  filter: blur(100px);
  animation: landingDrift 16s ease-in-out infinite alternate;
}
.scene-pulse::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: .16;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.22'/%3E%3C/svg%3E");
}
.pulse-nav {
  position: absolute;
  top: max(24px,env(safe-area-inset-top));
  left: 0;
  right: 0;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 12px 10px 20px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 999px;
  background: rgba(9,9,12,.62);
  backdrop-filter: blur(18px);
  box-shadow: 0 16px 50px rgba(0,0,0,.28);
}
.pulse-brand { display: flex; align-items: center; gap: 11px; font-weight: 900; letter-spacing: -.02em; }
.pulse-brand-mark { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 9px; background: linear-gradient(135deg,var(--landing-a1),var(--landing-a2)); }
.pulse-main { position: relative; z-index: 2; display: grid; height: 100%; place-items: center; padding: 104px 20px 72px; text-align: center; }
.pulse-content { width: min(920px,100%); }
.pulse-title {
  max-width: 900px;
  margin: 21px auto 18px;
  font-family: Georgia,"Times New Roman",serif;
  font-size: clamp(48px,8.7vw,108px);
  font-weight: 400;
  line-height: .88;
  letter-spacing: -.055em;
  text-transform: none;
}
.pulse-title em { font-weight: 400; background: linear-gradient(100deg,var(--landing-a1),var(--landing-a2),var(--landing-a3)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.pulse-copy { max-width: 670px; margin: 0 auto 24px; color: rgba(255,255,255,.72); font-size: clamp(13px,1.5vw,17px); line-height: 1.65; }
.capability-row { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; margin: 24px auto; }
.capability-row span { padding: 8px 12px; border: 1px solid rgba(255,255,255,.13); border-radius: 999px; background: rgba(255,255,255,.055); color: rgba(255,255,255,.72); font-size: 11px; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.pulse-date { position: absolute; right: 0; bottom: max(22px,env(safe-area-inset-bottom)); left: 0; z-index: 3; max-width: none; margin: 0; color: rgba(255,255,255,.45); text-align: center; text-shadow: none; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }

/* Supplied editorial reference, with a CSS fallback and optional deferred video. */
.scene-cinematic {
  background:
    linear-gradient(120deg,rgba(0,0,0,.96) 5%,rgba(0,0,0,.56) 50%,rgba(0,0,0,.84) 100%),
    radial-gradient(circle at 72% 28%,var(--landing-a3),transparent 36%),
    radial-gradient(circle at 24% 82%,var(--landing-a2),transparent 34%),
    #050607;
}
.cinematic-video { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; opacity: 0; filter: saturate(.74) contrast(1.08); transition: opacity 1.1s ease; }
.cinematic-video.is-ready { opacity: .68; }
.scene-cinematic::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg,rgba(0,0,0,.22),transparent 38%,rgba(0,0,0,.7)); }
.cinematic-nav { position: absolute; top: max(25px,env(safe-area-inset-top)); right: 0; left: 0; z-index: 3; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.cinematic-brand { font-size: clamp(18px,2.2vw,25px); font-weight: 900; letter-spacing: -.035em; }
.cinematic-brand small { display: block; margin-top: 4px; color: rgba(255,255,255,.56); font-size: 8px; letter-spacing: .18em; text-transform: uppercase; }
.cinematic-modules { display: flex; gap: clamp(12px,2.6vw,31px); color: rgba(255,255,255,.67); font-size: 10px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.cinematic-main { position: relative; z-index: 2; display: flex; height: 100%; flex-direction: column; align-items: flex-start; justify-content: center; padding: 112px 0 88px; }
.cinematic-title {
  width: min(920px,92%);
  margin: 18px 0 20px;
  font-family: Georgia,"Times New Roman",serif;
  font-size: clamp(52px,9.5vw,126px);
  font-weight: 400;
  line-height: .84;
  letter-spacing: -.06em;
  text-transform: none;
  text-wrap: balance;
}
.cinematic-title span { color: transparent; -webkit-text-stroke: 1px rgba(255,255,255,.68); }
.cinematic-copy { max-width: 590px; margin: 0 0 25px; color: rgba(255,255,255,.74); font-size: clamp(13px,1.45vw,17px); line-height: 1.65; }
.cinematic-foot { position: absolute; right: 0; bottom: max(23px,env(safe-area-inset-bottom)); left: 0; z-index: 3; display: flex; justify-content: space-between; color: rgba(255,255,255,.46); font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }

/* Flying Posters reference: a centred 4:5 gallery with an isolated, connection-aware 3D track. */
.scene-gallery { display: grid; place-items: center; padding: clamp(16px,5vw,80px); background: #1a1a1b; }
.gallery-showcase {
  position: relative;
  width: min(56rem,calc(100vw - clamp(32px,10vw,160px)),72svh);
  max-height: calc(100svh - clamp(32px,10vw,160px));
  aspect-ratio: 4/5;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 1.5rem;
  background:
    radial-gradient(circle at 20% 14%,color-mix(in srgb,var(--landing-a1) 20%,transparent),transparent 30%),
    radial-gradient(circle at 80% 88%,color-mix(in srgb,var(--landing-a3) 24%,transparent),transparent 34%),
    #08090c;
  box-shadow: 0 40px 100px rgba(0,0,0,.52);
  user-select: none;
}
.flying-posters { position: absolute; inset: 0; overflow: hidden; perspective: 1050px; touch-action: none; cursor: grab; }
.flying-posters.is-dragging { cursor: grabbing; }
.flying-poster-track { position: absolute; inset: 0; transform-style: preserve-3d; }
.flying-poster {
  position: absolute;
  top: 50%; left: 50%;
  width: min(49%,400px);
  aspect-ratio: 20/27;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: clamp(16px,2.4vw,27px);
  background: linear-gradient(145deg,color-mix(in srgb,var(--landing-a1) 50%,#10121a),color-mix(in srgb,var(--landing-a3) 45%,#050608));
  background-position: center;
  background-size: cover;
  box-shadow: 0 28px 65px rgba(0,0,0,.42);
  transform: translate3d(-50%,-50%,0);
  transform-origin: 50% 50%;
  will-change: transform,filter,opacity;
}
.flying-poster::before { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 35%,rgba(0,0,0,.88)); }
.flying-poster::after { content:""; position:absolute; inset:0; opacity:.13; background-image:linear-gradient(rgba(255,255,255,.22) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px); background-size:38px 38px; mix-blend-mode:overlay; }
.flying-poster span,.flying-poster small { position:absolute; z-index:2; left:20px; right:20px; text-shadow:0 2px 15px rgba(0,0,0,.72); }
.flying-poster span { bottom:39px; color:#fff; font-size:clamp(17px,2.2vw,27px); font-weight:850; letter-spacing:-.035em; }
.flying-poster small { bottom:19px; color:rgba(255,255,255,.7); font-size:clamp(8px,1vw,11px); font-weight:750; letter-spacing:.08em; text-transform:uppercase; }
.gallery-title-overlay { position:absolute; top:3rem; left:3rem; z-index:10; pointer-events:none; }
.gallery-title-overlay h1 { margin:0; color:#fff; font-size:1.5rem; line-height:2rem; font-weight:600; letter-spacing:-.025em; text-transform:none; }
.gallery-title-overlay p { max-width:none; margin:.5rem 0 0; color:rgba(255,255,255,.45); font-size:.875rem; line-height:1.25rem; text-shadow:none; }
.gallery-login { position:absolute; bottom:3rem; left:3rem; z-index:10; display:inline-flex; align-items:center; gap:8px; padding:.75rem 1.5rem; border:1px solid rgba(255,255,255,.12); border-radius:999px; background:rgba(255,255,255,.1); backdrop-filter:blur(12px); color:#fff; font:inherit; font-size:.875rem; font-weight:700; cursor:pointer; transition:background .15s ease,transform .15s ease; }
.gallery-login::after { content:"\2192"; }
.gallery-login:hover { background:rgba(255,255,255,.2); transform:translateY(-1px); }
.gallery-login:focus-visible { outline:3px solid var(--landing-a1); outline-offset:3px; }
.gallery-scroll-hint { position:absolute; right:3rem; bottom:3rem; z-index:10; display:flex; flex-direction:column; align-items:flex-end; pointer-events:none; }
.gallery-scroll-hint span { margin-bottom:.5rem; color:rgba(255,255,255,.35); font-size:.75rem; line-height:1rem; letter-spacing:.2em; text-transform:uppercase; }
.gallery-scroll-hint i { width:1px; height:3rem; background:linear-gradient(to bottom,rgba(255,255,255,.45),transparent); }
.scene-gallery.gallery-lite .flying-poster { transition:none!important; }

/* Masonry operations: local imagery, no third-party runtime or network dependency. */
.scene-masonry {
  display: grid;
  grid-template-rows: auto minmax(0,1fr) auto;
  gap: clamp(12px,2vh,22px);
  padding: max(22px,env(safe-area-inset-top)) clamp(18px,4vw,64px) max(18px,env(safe-area-inset-bottom));
  background:
    radial-gradient(circle at 15% 20%,color-mix(in srgb,var(--landing-a1) 20%,transparent),transparent 28%),
    radial-gradient(circle at 88% 82%,color-mix(in srgb,var(--landing-a3) 24%,transparent),transparent 31%),
    #09090f;
}
.scene-masonry::before { content:""; position:absolute; inset:0; z-index:-1; opacity:.15; background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px); background-size:44px 44px; mask-image:linear-gradient(to bottom,#000,transparent 75%); }
.masonry-header { position:relative; z-index:4; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:20px; }
.masonry-brand { display:flex; flex-direction:column; line-height:1; }
.masonry-brand span { font-size:clamp(18px,2vw,25px); font-weight:900; letter-spacing:-.04em; text-transform:uppercase; }
.masonry-brand small { margin-top:6px; color:rgba(255,255,255,.46); font-size:8px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.masonry-heading { text-align:center; }
.masonry-heading span { color:rgba(255,255,255,.42); font-size:9px; font-weight:800; letter-spacing:.21em; }
.masonry-heading h1 { margin:4px 0 0; font-family:Georgia,"Times New Roman",serif; font-size:clamp(27px,4vw,52px); font-weight:400; line-height:1; letter-spacing:-.045em; text-transform:none; }
.masonry-login { justify-self:end; border:1px solid rgba(255,255,255,.2); border-radius:999px; padding:11px 23px; background:rgba(255,255,255,.08); color:#fff; font:inherit; font-size:13px; font-weight:800; cursor:pointer; backdrop-filter:blur(12px); }
.masonry-login:hover { background:rgba(255,255,255,.17); }
.masonry-login:focus-visible { outline:3px solid var(--landing-a2); outline-offset:3px; }
.masonry-board { position:relative; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); grid-template-rows:repeat(2,minmax(0,1fr)); gap:12px; min-height:0; overflow:hidden; border-radius:22px; }
.masonry-card { position:relative; min-width:0; overflow:hidden; border:1px solid rgba(255,255,255,.12); border-radius:18px; background:linear-gradient(145deg,color-mix(in srgb,var(--landing-a1) 35%,#151622),color-mix(in srgb,var(--landing-a3) 36%,#090a0f)); background-position:center; background-size:cover; box-shadow:0 17px 42px rgba(0,0,0,.3); opacity:1; filter:none; transform:none; transition:opacity .55s ease,filter .55s ease,transform .55s cubic-bezier(.2,.8,.2,1),box-shadow .2s ease; }
.masonry-board.is-enhanced { display:block; }
.masonry-board.is-enhanced .masonry-card { position:absolute; opacity:0; filter:blur(12px); transform:translateY(24px) scale(.97); }
.masonry-card::before { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.04) 25%,rgba(4,5,10,.9)); }
.masonry-card::after { content:""; position:absolute; inset:0; opacity:.12; background-image:linear-gradient(rgba(255,255,255,.2) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.14) 1px,transparent 1px); background-size:34px 34px; mix-blend-mode:overlay; }
.masonry-board.is-enhanced .masonry-card.is-ready { opacity:1; filter:none; transform:none; }
.masonry-card:hover { z-index:3; transform:scale(1.018); box-shadow:0 24px 60px rgba(0,0,0,.46); }
.masonry-card div { position:absolute; right:16px; bottom:15px; left:16px; z-index:2; }
.masonry-card strong { display:block; color:#fff; font-size:clamp(14px,1.5vw,21px); letter-spacing:-.025em; text-shadow:0 2px 14px rgba(0,0,0,.8); }
.masonry-card small { display:block; margin-top:5px; color:rgba(255,255,255,.7); font-size:clamp(8px,.8vw,10px); font-weight:750; letter-spacing:.07em; text-transform:uppercase; text-shadow:0 2px 12px rgba(0,0,0,.9); }
.masonry-card-accent { background:linear-gradient(145deg,color-mix(in srgb,var(--landing-a1) 58%,#181524),color-mix(in srgb,var(--landing-a2) 40%,#090a10)); }
.masonry-card-accent::before { background:radial-gradient(circle at 78% 15%,rgba(255,255,255,.22),transparent 20%),linear-gradient(180deg,transparent,rgba(0,0,0,.72)); }
.masonry-date { z-index:4; max-width:none; margin:0; color:rgba(255,255,255,.38); text-align:center; text-shadow:none; font-size:9px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.scene-masonry.masonry-lite .masonry-card { transition:none; opacity:1; filter:none; transform:none; }

/* Aurora operations: a lightweight interactive CSS orb adapted to Visiontek CRM. */
.scene-aurora { background:linear-gradient(145deg,#fbf8ed 0%,#f2f8f6 49%,#edf0ff 100%); color:#132b2d; }
.scene-aurora::before { content:""; position:absolute; inset:0; z-index:-1; background:radial-gradient(circle at 78% 44%,rgba(78,220,202,.18),transparent 33%),radial-gradient(circle at 12% 88%,rgba(105,88,213,.11),transparent 29%); }
.aurora-header { position:absolute; top:max(25px,env(safe-area-inset-top)); right:clamp(20px,5vw,76px); left:clamp(20px,5vw,76px); z-index:4; display:flex; align-items:center; justify-content:space-between; }
.aurora-brand { display:flex; align-items:center; gap:11px; font-size:clamp(17px,2vw,23px); letter-spacing:-.03em; }
.aurora-brand-mark { display:grid; width:34px; height:34px; place-items:center; border-radius:11px; background:linear-gradient(135deg,#17d9b2,#5f67ed); color:#fff; box-shadow:0 9px 24px rgba(41,179,173,.23); }
.aurora-login,.aurora-primary { border:0; border-radius:999px; background:#142f31; color:#fff; font:inherit; font-weight:850; cursor:pointer; box-shadow:0 12px 32px rgba(20,47,49,.18); }
.aurora-login { padding:12px 24px; font-size:13px; }
.aurora-primary { padding:15px 27px; font-size:14px; }
.aurora-login:hover,.aurora-primary:hover { background:#0d2224; transform:translateY(-1px); }
.aurora-login:focus-visible,.aurora-primary:focus-visible { outline:3px solid #27c9ae; outline-offset:3px; }
.aurora-copy { position:absolute; top:50%; left:clamp(24px,7vw,112px); z-index:4; width:min(530px,43vw); transform:translateY(-50%); }
.aurora-kicker { color:#178f82; font-size:10px; font-weight:900; letter-spacing:.18em; text-transform:uppercase; }
.aurora-copy h1 { margin:15px 0 19px; color:#173234; font-family:Georgia,"Times New Roman",serif; font-size:clamp(48px,6vw,86px); font-weight:400; line-height:.91; letter-spacing:-.055em; text-transform:none; text-shadow:none; }
.aurora-copy p { max-width:510px; margin:0 0 21px; color:#53696b; font-size:clamp(13px,1.35vw,17px); line-height:1.65; text-shadow:none; }
.aurora-modules { display:flex; flex-wrap:wrap; gap:7px; margin-bottom:25px; }
.aurora-modules span { padding:7px 10px; border:1px solid rgba(20,47,49,.11); border-radius:999px; background:rgba(255,255,255,.55); color:#486365; font-size:9px; font-weight:850; letter-spacing:.09em; }
.aurora-orb-stage { --aurora-tilt-x:0deg; --aurora-tilt-y:0deg; position:absolute; top:50%; right:clamp(2vw,7vw,120px); z-index:2; width:min(45vw,560px); aspect-ratio:1; transform:translateY(-50%); perspective:900px; }
.aurora-orb { position:absolute; inset:7%; overflow:hidden; border-radius:50%; transform:rotateX(var(--aurora-tilt-x)) rotateY(var(--aurora-tilt-y)); transform-style:preserve-3d; background:radial-gradient(circle at var(--aurora-light-x,32%) var(--aurora-light-y,25%),#d9fff8 0%,#76f2df 19%,#34cdd0 44%,#6170e9 77%,#5c3bb3 100%); box-shadow:inset -28px -36px 65px rgba(40,22,128,.3),inset 16px 18px 35px rgba(255,255,255,.64),0 42px 80px rgba(55,91,139,.25),0 0 0 1px rgba(76,115,143,.15); transition:transform .16s ease-out; animation:auroraFloat 5.8s ease-in-out infinite; }
.aurora-orb-core { position:absolute; inset:5%; border-radius:50%; background:radial-gradient(circle at 38% 27%,rgba(255,255,255,.7),transparent 23%),radial-gradient(circle at 66% 68%,rgba(54,71,218,.45),transparent 42%); filter:blur(2px); }
.aurora-current { position:absolute; border-radius:50%; border:clamp(20px,3vw,40px) solid rgba(255,255,255,.18); filter:blur(9px); mix-blend-mode:screen; }
.aurora-current-one { width:90%; height:49%; top:23%; left:-8%; transform:rotate(-23deg); animation:auroraCurrent 8s ease-in-out infinite alternate; }
.aurora-current-two { width:78%; height:65%; right:-16%; bottom:3%; border-color:rgba(111,70,235,.2); transform:rotate(27deg); animation:auroraCurrent 10s ease-in-out infinite alternate-reverse; }
.aurora-rim { position:absolute; inset:1%; border:2px solid rgba(255,255,255,.4); border-radius:50%; box-shadow:inset 9px 9px 21px rgba(255,255,255,.3); }
.aurora-shine { position:absolute; top:11%; left:17%; width:34%; height:17%; border-radius:50%; background:rgba(255,255,255,.47); filter:blur(17px); transform:rotate(-28deg); }
.aurora-face { position:absolute; inset:11%; width:78%; height:78%; overflow:visible; transform:translate(var(--aurora-gaze-x,0px),var(--aurora-gaze-y,0px)); transition:transform .13s ease-out; filter:drop-shadow(0 5px 7px rgba(32,44,93,.18)); }
.aurora-face path { fill:none; stroke:#173b55; stroke-width:8; stroke-linecap:round; }
.aurora-eye { fill:#173b55; transform-box:fill-box; transform-origin:center; animation:auroraBlink 6.7s infinite; }
.aurora-nose { opacity:.52; stroke-width:6!important; }
.aurora-mouth { stroke-width:9!important; }
.aurora-orb.is-happy .aurora-mouth { d:path("M120 218 Q180 286 240 218"); }
.aurora-orbit { position:absolute; border:1px solid rgba(57,129,142,.18); border-radius:50%; pointer-events:none; }
.aurora-orbit-one { inset:0; animation:auroraSpin 16s linear infinite; }
.aurora-orbit-one::after { content:""; position:absolute; top:4%; left:25%; width:11px; height:11px; border-radius:50%; background:#27d8b9; box-shadow:0 0 18px #27d8b9; }
.aurora-orbit-two { inset:3% -5%; transform:rotate(65deg); animation:auroraSpinReverse 20s linear infinite; }
.aurora-orbit-two::after { content:""; position:absolute; right:10%; bottom:20%; width:8px; height:8px; border-radius:50%; background:#6961dc; box-shadow:0 0 16px #6961dc; }
.aurora-pulse { position:absolute; z-index:1; width:14px; height:14px; margin:-7px; border:2px solid rgba(33,184,171,.52); border-radius:50%; pointer-events:none; animation:auroraPulse .75s ease-out forwards; }
.aurora-date { position:absolute; right:0; bottom:max(20px,env(safe-area-inset-bottom)); left:0; z-index:4; max-width:none; margin:0; color:rgba(20,47,49,.42); text-align:center; text-shadow:none; font-size:9px; font-weight:850; letter-spacing:.14em; text-transform:uppercase; }
.scene-aurora.aurora-lite .aurora-orb,.scene-aurora.aurora-lite .aurora-current,.scene-aurora.aurora-lite .aurora-eye,.scene-aurora.aurora-lite .aurora-orbit { animation:none!important; }

/* Keep the shared login within the viewport even on short phones. */
.login-modal { padding: max(14px,env(safe-area-inset-top)) 14px max(14px,env(safe-area-inset-bottom)); overflow: hidden; }
.login-panel { width: min(420px,calc(100vw - 28px)); max-width: 100%; max-height: calc(100svh - 28px); overflow: auto; scrollbar-width: thin; }

@keyframes landingDrift { from { transform: translate3d(-2%,-1%,0) scale(1); } to { transform: translate3d(3%,2%,0) scale(1.08); } }
@keyframes auroraFloat { 0%,100% { translate:0 -7px; } 50% { translate:0 7px; } }
@keyframes auroraCurrent { from { translate:-2% -2%; scale:.96; } to { translate:3% 2%; scale:1.05; } }
@keyframes auroraBlink { 0%,44%,48%,100% { scale:1 1; } 46% { scale:1 .08; } }
@keyframes auroraSpin { to { rotate:360deg; } }
@keyframes auroraSpinReverse { to { rotate:-295deg; } }
@keyframes auroraPulse { from { opacity:.75; transform:scale(.5); } to { opacity:0; transform:scale(12); } }

@media (max-width:700px) {
  .landing-shell { width: min(100% - 28px,1180px); }
  .pulse-nav { padding-left: 15px; }
  .pulse-nav .landing-cta { padding: 11px 18px; }
  .pulse-main { padding-inline: 5px; }
  .pulse-title { font-size: clamp(47px,17vw,80px); }
  .capability-row { max-width: 350px; margin-block: 19px; }
  .cinematic-modules { display: none; }
  .cinematic-main { align-items: center; text-align: center; }
  .cinematic-title { width: 100%; font-size: clamp(52px,17vw,83px); }
  .cinematic-copy { max-width: 460px; }
  .cinematic-foot { justify-content: center; }
  .cinematic-foot span:last-child { display: none; }
  .scene-gallery { padding:1rem; }
  .gallery-showcase { width:min(100%,72svh); max-height:calc(100svh - 2rem); }
  .gallery-title-overlay { top:1.5rem; left:1.5rem; }
  .gallery-login { bottom:1.5rem; left:1.5rem; }
  .gallery-scroll-hint { right:1.5rem; bottom:1.5rem; }
  .flying-poster { width:min(64%,330px); }
  .scene-masonry { padding-inline:14px; }
  .masonry-header { grid-template-columns:1fr auto; }
  .masonry-heading { position:absolute; top:51px; left:0; text-align:left; }
  .masonry-heading h1 { margin-top:2px; font-size:24px; }
  .masonry-board { margin-top:45px; border-radius:16px; }
  .masonry-board:not(.is-enhanced) { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:repeat(4,minmax(0,1fr)); gap:8px; }
  .masonry-card { border-radius:14px; }
  .masonry-card div { right:11px; bottom:10px; left:11px; }
  .masonry-card strong { font-size:13px; }
  .masonry-card small { margin-top:3px; font-size:7px; }
  .aurora-header { right:20px; left:20px; }
  .aurora-copy { top:auto; right:24px; bottom:max(47px,env(safe-area-inset-bottom)); left:24px; width:auto; transform:none; text-align:center; }
  .aurora-copy h1 { margin:11px auto 12px; max-width:480px; overflow-wrap:break-word; font-size:clamp(34px,10vw,48px); }
  .aurora-copy p { margin:0 auto 14px; max-width:430px; font-size:12px; line-height:1.5; }
  .aurora-modules { justify-content:center; margin-bottom:15px; }
  .aurora-orb-stage { top:15%; right:50%; width:min(73vw,360px); transform:translateX(50%); }
  .aurora-date { display:none; }
}

@media (max-height:690px) {
  .scene-tubes .overlay { gap: 13px; padding-block: 60px; }
  .scene-tubes .tubes-title { font-size: clamp(47px,10vw,86px); }
  .scene-tubes .tubes-subtitle { font-size: clamp(23px,4vw,43px); }
  .pulse-main { padding-block: 82px 52px; }
  .pulse-title { margin-block: 12px; font-size: clamp(43px,8.1vw,76px); }
  .pulse-copy { margin-bottom: 15px; line-height: 1.45; }
  .capability-row { margin-block: 14px; }
  .cinematic-main { padding-block: 86px 62px; }
  .cinematic-title { margin-block: 12px; font-size: clamp(47px,8.5vw,84px); }
  .cinematic-copy { margin-bottom: 16px; line-height: 1.45; }
  .login-panel { padding-block: 22px; }
  .login-panel .login-copy { margin-bottom: 12px; }
  .login-field { margin-top: 10px; }
  .login-row { margin-block: 8px 12px; }
  .gallery-title-overlay { top:1.35rem; left:1.35rem; }
  .gallery-login { bottom:1.35rem; left:1.35rem; }
  .gallery-scroll-hint { right:1.35rem; bottom:1.35rem; }
  .scene-masonry { gap:9px; padding-block:13px; }
  .masonry-board { margin-top:36px; }
  .masonry-heading { top:42px; }
  .masonry-heading h1 { font-size:21px; }
  .masonry-date { display:none; }
  .aurora-header { top:14px; }
  .aurora-copy { bottom:18px; }
  .aurora-copy h1 { font-size:clamp(31px,9vw,47px); }
  .aurora-copy p { line-height:1.38; }
  .aurora-modules { margin-bottom:10px; }
  .aurora-modules span { padding-block:5px; }
  .aurora-primary { padding-block:12px; }
  .aurora-orb-stage { top:10%; width:min(58vh,330px); }
}

@media (prefers-reduced-motion:reduce) {
  .scene-pulse::before, .scene-tubes .hint { animation: none; }
  .cinematic-video { display: none; }
  .gallery-scroll-hint { display:none; }
  .masonry-card { transition:none; opacity:1; filter:none; transform:none; }
  .aurora-orb,.aurora-current,.aurora-eye,.aurora-orbit { animation:none!important; }
}
