/* =========================================================
   POINTFEX — Live Presentation
   Stage: 1920 x 1080 (16:9), scaled to fit any screen by JS
   ========================================================= */

:root {
  /* Pointfex mark (extracted from Pictures/logo.png) — inlined so masks work from file:// */
  --logo-mask: url("data:image/png;base64,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");
  --navy: #0A1E5E;
  --navy-2: #0B2470;
  --royal: #0A47E0;
  --electric: #1E8BFF;
  --electric-2: #00A3FF;
  --ink: #0B1640;
  --muted: #3C4A6B;
  --line: #DCE5F5;
  --soft: #F3F7FF;
  --ease-out: cubic-bezier(.16, 1, .3, 1);
  --ease-io: cubic-bezier(.65, 0, .35, 1);
  --font-display: "Plus Jakarta Sans", "Inter", system-ui, sans-serif;
  --font-body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; margin: 0; padding: 0; }

html, body {
  width: 100%;
  min-height: 100%;
  background: #fff;
  color: var(--ink);
  font-family: var(--font-body);
  -webkit-font-smoothing: antialiased;
}

body.idle.mode-present { cursor: none; }

/* ---------- Modes: overview (grid of slides) / present (single slide) ---------- */
body.mode-present { overflow: hidden; }
body.mode-overview .viewport,
body.mode-overview .hud,
body.mode-overview .progress { display: none; }
body.mode-present .overview { display: none; }

/* ---------- Stage scaling ---------- */
.viewport {
  position: fixed;
  inset: 0;
  overflow: hidden;
  background: #fff;
}

/* Stage is always 1920x1080, centered, then scaled to fit (letterboxed in white) */
.deck {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 1920px;
  height: 1080px;
  transform-origin: center center;
  /* --scale set by JS */
  transform: translate(-50%, -50%) scale(var(--scale, 1));
}

/* ---------- Slide engine ---------- */
.slide {
  position: absolute;
  inset: 0;
  overflow: hidden;
  background: #fff;
  opacity: 0;
  visibility: hidden;
  transition: opacity .8s var(--ease-io), visibility 0s linear .8s;
}

.slide.is-active {
  opacity: 1;
  visibility: visible;
  transition: opacity .8s var(--ease-io), visibility 0s;
  z-index: 2;
}

/* Generic entrance: elements with .a reveal with a stagger (--d) */
.a {
  opacity: 0;
  transform: translateY(28px);
  filter: none;
}

.is-active .a {
  opacity: 1;
  transform: none;
  filter: blur(0);
  transition:
    opacity .9s var(--ease-out) var(--d, 0s),
    transform 1.1s var(--ease-out) var(--d, 0s),
    filter .9s var(--ease-out) var(--d, 0s);
}

/* =========================================================
   SLIDE 1 — BACKGROUND
   ========================================================= */
.network {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 2s ease 1s;
}
.is-active .network { opacity: 1; }

.bg-plane {
  position: absolute;
  background: linear-gradient(180deg, #F4F8FF 0%, rgba(244, 248, 255, 0) 100%);
  transform: skewX(-24deg);
  opacity: 0;
}
.plane-a { top: -10%; left: 46%; width: 520px; height: 120%; }
.plane-b { top: -10%; left: 78%; width: 260px; height: 120%; background: linear-gradient(180deg, #EEF4FF, rgba(238, 244, 255, 0)); }

.is-active .bg-plane {
  opacity: 1;
  transition: opacity 1.6s ease .2s;
}

.dot-grid {
  position: absolute;
  right: 130px;
  top: 150px;
  width: 220px;
  height: 160px;
  background-image: radial-gradient(#C9D8F5 1.6px, transparent 1.7px);
  background-size: 20px 20px;
  opacity: 0;
}
.is-active .dot-grid { opacity: .9; transition: opacity 1.2s ease 1.6s; }

/* Faint brand-mark watermark */
.watermark {
  position: absolute;
  right: 300px;
  top: 90px;
  width: 560px;
  height: 783px; /* keeps logo ratio 639:893 */
  background: linear-gradient(160deg, #EDF3FF, #E3ECFD);
  -webkit-mask: var(--logo-mask) center / contain no-repeat;
          mask: var(--logo-mask) center / contain no-repeat;
  opacity: 0;
  scale: .92;
}
.is-active .watermark {
  opacity: 1;
  scale: 1;
  transition: opacity 1.8s ease .4s, scale 2.4s var(--ease-out) .4s;
}

/* Corner ribbons */
.ribbon { position: absolute; pointer-events: none; }
.ribbon i {
  position: absolute;
  display: block;
  transform-origin: center;
}

.ribbon-tl { top: 0; left: 0; width: 260px; height: 220px; }
.ribbon-tl i:nth-child(1) {
  width: 340px; height: 46px; left: -120px; top: 40px;
  background: linear-gradient(90deg, var(--royal), var(--electric));
  transform: rotate(-40deg) translateX(-120%);
}
.ribbon-tl i:nth-child(2) {
  width: 300px; height: 12px; left: -70px; top: 104px;
  background: var(--electric-2);
  opacity: .55;
  transform: rotate(-40deg) translateX(-120%);
}

.ribbon-br { right: 0; bottom: 0; width: 420px; height: 380px; }
.ribbon-br i:nth-child(1) {
  width: 520px; height: 18px; right: -110px; bottom: 210px;
  background: var(--electric-2);
  opacity: .5;
  transform: rotate(-40deg) translateX(120%);
}
.ribbon-br i:nth-child(2) {
  width: 520px; height: 56px; right: -150px; bottom: 120px;
  background: linear-gradient(90deg, var(--electric), var(--royal));
  transform: rotate(-40deg) translateX(120%);
}
.ribbon-br i:nth-child(3) {
  width: 520px; height: 90px; right: -190px; bottom: 20px;
  background: var(--navy);
  transform: rotate(-40deg) translateX(120%);
}

.is-active .ribbon i {
  transform: rotate(-40deg) translateX(0);
  transition: transform 1.4s var(--ease-out);
}
.is-active .ribbon-tl i:nth-child(1) { transition-delay: .1s; }
.is-active .ribbon-tl i:nth-child(2) { transition-delay: .25s; }
.is-active .ribbon-br i:nth-child(1) { transition-delay: 2.1s; }
.is-active .ribbon-br i:nth-child(2) { transition-delay: 2.0s; }
.is-active .ribbon-br i:nth-child(3) { transition-delay: 1.9s; }

/* =========================================================
   SLIDE 1 — HEADER
   ========================================================= */
.s1-header {
  position: absolute;
  top: 78px;
  left: 150px;
  right: 130px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  z-index: 3;
}

.brand { display: flex; align-items: center; gap: 30px; }

.brand-mark {
  width: 80px;
  height: 112px;
  background: linear-gradient(155deg, var(--electric-2) 0%, var(--royal) 50%, var(--navy) 100%);
  -webkit-mask: var(--logo-mask) center / contain no-repeat;
          mask: var(--logo-mask) center / contain no-repeat;
}

.brand-sep { width: 2px; height: 104px; background: var(--line); }

.brand-text { display: flex; flex-direction: column; gap: 10px; }
.brand-name {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 64px;
  line-height: 1;
  letter-spacing: -1.5px;
  color: var(--ink);
}
.brand-tag {
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 9px;
  color: var(--navy-2);
}

.pillars {
  display: flex;
  align-items: center;
  gap: 26px;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 6px;
  color: var(--ink);
  align-self: flex-start;
  margin-top: 10px;
}
.pillars b {
  width: 9px; height: 9px; border-radius: 50%;
  background: var(--electric);
  box-shadow: 0 0 0 0 rgba(30, 139, 255, .5);
  animation: ping 2.4s ease-out infinite;
}
.pillars b:nth-of-type(2) { animation-delay: 1.2s; }

@keyframes ping {
  0%   { box-shadow: 0 0 0 0 rgba(30, 139, 255, .45); }
  80%, 100% { box-shadow: 0 0 0 12px rgba(30, 139, 255, 0); }
}

/* =========================================================
   SLIDE 1 — LEFT COLUMN
   ========================================================= */
.s1-body {
  position: absolute;
  top: 235px;
  left: 150px;
  right: 110px;
  bottom: 150px;
  display: grid;
  grid-template-columns: 860px 1fr;
  z-index: 2;
}

.s1-left { display: flex; flex-direction: column; align-items: flex-start; }

.bar-lg, .bar-sm {
  height: 6px;
  border-radius: 6px;
  background: linear-gradient(90deg, var(--royal), var(--electric));
}
.bar-lg { width: 130px; margin-bottom: 26px; }
.bar-sm { width: 110px; margin: 24px 0 24px; }

.is-active .bar-lg, .is-active .bar-sm { transform-origin: left; }

.title {
  display: flex;
  flex-direction: column;
  font-family: var(--font-display);
  line-height: .95;
}

.t-welcome {
  font-size: 80px;
  font-weight: 700;
  letter-spacing: -2px;
  color: var(--ink);
}

.t-brand {
  font-size: 178px;
  font-weight: 800;
  letter-spacing: -5px;
  margin-top: 4px;
  display: block;
}

/* Letter-by-letter reveal */
.split { display: inline-flex; overflow: hidden; padding: 0 12px 18px 0; margin-bottom: -18px; }
.split .ch {
  display: inline-block;
  background: linear-gradient(180deg, #1E7BFF 0%, #0A47E0 55%, #0A2E9E 100%);
  -webkit-background-clip: text;
          background-clip: text;
  color: transparent;
  transform: translateY(110%) rotate(8deg);
  opacity: 0;
}
.is-active .split .ch {
  transform: none;
  opacity: 1;
  transition:
    transform 1s var(--ease-out) calc(.7s + var(--i) * .055s),
    opacity .6s ease calc(.7s + var(--i) * .055s);
}

/* The dot of the 'i' gets a little bounce — a nod to the logo's dot */
.split .ch.is-i { position: relative; }

.subtitle {
  font-size: 46px;
  font-weight: 400;
  color: var(--navy-2);
  letter-spacing: -.5px;
  line-height: 1.25;
  white-space: nowrap;
}
.subtitle strong {
  font-weight: 700;
  color: var(--royal);
  position: relative;
}
.subtitle strong::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 2px;
  height: 10px;
  background: rgba(30, 139, 255, .16);
  border-radius: 4px;
  transform: scaleX(0);
  transform-origin: left;
  z-index: -1;
}
.is-active .subtitle strong::after { transform: scaleX(1); transition: transform .9s var(--ease-out) 1.9s; }

/* Rotating word */
.rotator {
  display: inline-block;
  position: relative;
  height: 1.25em;
  vertical-align: top;
  overflow: hidden;
  font-weight: 600;
  color: var(--ink);
  transition: width .6s var(--ease-out);
}
.rotator span {
  display: inline-block;
  position: absolute;
  left: 0;
  top: 0;
  white-space: nowrap;
}
.rotator span.in  { animation: rotIn .6s var(--ease-out) forwards; }
.rotator span.out { animation: rotOut .5s var(--ease-io) forwards; }
@keyframes rotIn  { from { transform: translateY(100%); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes rotOut { from { transform: none; opacity: 1; } to { transform: translateY(-100%); opacity: 0; } }

.mission {
  position: relative;
  max-width: 880px;
  padding-left: 28px;
  font-size: 25px;
  line-height: 1.6;
  color: var(--muted);
}
.mission::before {
  content: "";
  position: absolute;
  left: 0; top: 6px; bottom: 6px;
  width: 4px;
  border-radius: 4px;
  background: linear-gradient(180deg, var(--royal), var(--electric));
}

/* Domains */
.domains {
  list-style: none;
  display: flex;
  margin-top: 30px;
}
.domain {
  position: relative;
  width: 190px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 10px 10px 8px;
  border-radius: 18px;
  cursor: pointer;
  text-align: center;
}
.domain + .domain::before {
  content: "";
  position: absolute;
  left: 0; top: 14px; bottom: 14px;
  width: 1.5px;
  background: var(--line);
}
.domain .ico {
  width: 64px; height: 64px;
  display: grid; place-items: center;
  border-radius: 18px;
  color: var(--royal);
  transition: transform .4s var(--ease-out), background .3s, color .3s, box-shadow .3s;
}
.domain svg {
  width: 40px; height: 40px;
  fill: none; stroke: currentColor; stroke-width: 1.7;
  stroke-linecap: round; stroke-linejoin: round;
}
.domain .lbl { font-size: 20px; line-height: 1.3; font-weight: 500; color: var(--ink); }

.domain:hover .ico,
.domain.spot .ico {
  background: linear-gradient(150deg, var(--electric), var(--royal));
  color: #fff;
  transform: translateY(-6px);
  box-shadow: 0 14px 30px -10px rgba(10, 71, 224, .55);
}

/* Icon stroke drawing on enter */
.domain svg * { stroke-dasharray: 120; stroke-dashoffset: 120; }
.is-active .domain svg * { stroke-dashoffset: 0; transition: stroke-dashoffset 1.6s var(--ease-out) calc(var(--d) + .2s); }

/* =========================================================
   SLIDE 1 — RIGHT SCENE
   ========================================================= */
.s1-right { position: relative; }

.scene {
  position: absolute;
  inset: 0;
}

.a-scene { opacity: 0; transform: translateX(80px); }
.is-active .a-scene {
  opacity: 1;
  transform: none;
  transition: opacity 1.2s var(--ease-out) .8s, transform 1.6s var(--ease-out) .8s;
}

.glow-disc {
  position: absolute;
  left: 50%; top: 52%;
  width: 760px; height: 760px;
  translate: -50% -50%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(30, 139, 255, .10) 0%, rgba(30, 139, 255, 0) 65%);
}

/* Laptop */
.laptop {
  position: absolute;
  left: 30px;
  top: 90px;
  width: 660px;
  perspective: 2200px;
}

.lid {
  width: 590px;
  height: 384px;
  margin: 0 auto;
  padding: 16px 16px 22px;
  border-radius: 24px 24px 6px 6px;
  background: linear-gradient(180deg, #2A3142, #11151F);
  box-shadow: 0 0 0 2px #C5CBD6 inset, 0 30px 60px -30px rgba(10, 30, 94, .5);
  transform-origin: bottom center;
  transform: rotateX(-88deg);
}
.is-active .lid { transform: rotateX(0); transition: transform 1.5s var(--ease-out) 1.2s; }

.screen {
  position: relative;
  width: 100%;
  height: 100%;
  border-radius: 10px;
  overflow: hidden;
  background: #081236;
  display: grid;
  place-items: center;
  filter: brightness(0);
}
.is-active .screen { filter: brightness(1); transition: filter 1s ease 2.4s; }

.screen img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 60% 50%;
  display: block;
}

.screen .scan {
  position: absolute;
  inset: 0;
  background: linear-gradient(115deg, transparent 35%, rgba(255, 255, 255, .14) 50%, transparent 65%);
  transform: translateX(-100%);
}
.is-active .screen .scan { animation: sweep 5s ease-in-out 3s infinite; }
@keyframes sweep {
  0% { transform: translateX(-100%); }
  35%, 100% { transform: translateX(100%); }
}

.url-pill {
  position: absolute;
  bottom: 18px;
  left: 50%;
  translate: -50% 0;
  display: flex; align-items: center; gap: 10px;
  padding: 8px 18px;
  border-radius: 40px;
  background: rgba(255, 255, 255, .1);
  border: 1px solid rgba(255, 255, 255, .2);
  backdrop-filter: none;
  color: #DDE8FF;
  font-size: 15px;
  letter-spacing: .5px;
}
.url-pill i {
  width: 8px; height: 8px; border-radius: 50%;
  background: #3DDC97;
  box-shadow: 0 0 8px #3DDC97;
}

.base {
  position: relative;
  width: 660px;
  height: 24px;
  margin-top: -2px;
  border-radius: 2px 2px 20px 20px;
  background: linear-gradient(180deg, #E9EDF3 0%, #C3CAD5 60%, #9EA6B4 100%);
  box-shadow: 0 2px 0 #fff inset;
}
.base span {
  position: absolute;
  left: 50%; top: 0;
  width: 120px; height: 9px;
  translate: -50% 0;
  border-radius: 0 0 10px 10px;
  background: #B5BCC8;
}
.shadow {
  width: 720px; height: 30px;
  translate: -30px 0;
  background: radial-gradient(ellipse at center, rgba(10, 30, 94, .22), transparent 70%);
}

/* Mug */
.mug {
  position: absolute;
  right: 0;
  top: 340px;
  width: 120px;
  height: 160px;
  border: 0;
  background: none;
  cursor: pointer;
  transform-origin: bottom center;
}
.mug-body {
  position: absolute;
  left: 0; bottom: 0;
  width: 100px; height: 120px;
  border-radius: 8px 8px 20px 20px;
  background: linear-gradient(90deg, #0A1A4F, #12307F 45%, #0A1A4F);
  box-shadow: 0 20px 30px -14px rgba(10, 30, 94, .5);
  display: grid; place-items: center;
}
.mug-body::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 12px;
  border-radius: 50%;
  background: #1A3A92;
  box-shadow: inset 0 3px 0 #3B2416;
}
.mug-logo {
  width: 40px; height: 56px;
  background: #fff;
  -webkit-mask: var(--logo-mask) center / contain no-repeat;
          mask: var(--logo-mask) center / contain no-repeat;
}
.mug-handle {
  position: absolute;
  left: 88px; bottom: 34px;
  width: 38px; height: 58px;
  border: 12px solid #0E2565;
  border-left: 0;
  border-radius: 0 30px 30px 0;
}
.steam { position: absolute; left: 22px; top: 0; width: 60px; height: 50px; }
.steam i {
  position: absolute;
  bottom: 0;
  width: 6px; height: 32px;
  border-radius: 6px;
  background: linear-gradient(180deg, transparent, rgba(30, 139, 255, .35));
  animation: steam 2.6s ease-in-out infinite;
  opacity: 0;
}
.steam i:nth-child(1) { left: 8px; }
.steam i:nth-child(2) { left: 26px; animation-delay: .8s; }
.steam i:nth-child(3) { left: 44px; animation-delay: 1.6s; }
@keyframes steam {
  0%   { transform: translateY(10px) scaleY(.6); opacity: 0; }
  40%  { opacity: 1; }
  100% { transform: translateY(-26px) scaleY(1.1) skewX(10deg); opacity: 0; }
}
.mug:hover { animation: wiggle .6s ease; }
.mug.sip { animation: sip 1.1s var(--ease-io); }
@keyframes wiggle {
  0%, 100% { transform: rotate(0); }
  25% { transform: rotate(-5deg); }
  75% { transform: rotate(4deg); }
}
@keyframes sip {
  0%   { transform: none; }
  35%  { transform: translate(-40px, -70px) rotate(-28deg); }
  65%  { transform: translate(-40px, -70px) rotate(-34deg); }
  100% { transform: none; }
}

/* Floating chips */
.chip {
  position: absolute;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 22px 16px 16px;
  border-radius: 18px;
  background: rgba(255, 255, 255, .92);
  border: 1px solid #E4EBF8;
  box-shadow: 0 24px 48px -24px rgba(10, 30, 94, .35);
  backdrop-filter: blur(8px);
  opacity: 0;
  scale: .8;
}
.chip b { display: block; font-family: var(--font-display); font-size: 21px; color: var(--ink); }
.chip small { display: block; font-size: 15px; color: var(--muted); margin-top: 2px; }

.chip-dot {
  width: 42px; height: 42px; border-radius: 12px;
  background: linear-gradient(150deg, var(--electric-2), var(--royal));
  position: relative;
}
.chip-dot::after {
  content: "";
  position: absolute;
  inset: 13px;
  border-radius: 50%;
  background: #fff;
}
.chip-ico {
  width: 42px; height: 42px; border-radius: 12px;
  display: grid; place-items: center;
  font-size: 22px;
  background: #EAF2FF;
  color: var(--royal);
}
.chip-ico.up { background: var(--navy); color: #fff; font-weight: 700; }

.chip-1 { left: -20px; top: 40px; }
.chip-2 { left: 40px; top: 548px; }
.chip-3 { right: -20px; top: 150px; }

.is-active .chip {
  opacity: 1;
  scale: 1;
  transition: opacity .8s var(--ease-out), scale .9s cubic-bezier(.34, 1.56, .64, 1);
}
.is-active .chip-1 { transition-delay: 2.7s; animation: float 6s ease-in-out 3.6s infinite; }
.is-active .chip-2 { transition-delay: 2.9s; animation: float 7s ease-in-out 3.8s infinite reverse; }
.is-active .chip-3 { transition-delay: 3.1s; animation: float 6.5s ease-in-out 4s infinite; }

@keyframes float {
  0%, 100% { translate: 0 0; }
  50% { translate: 0 -14px; }
}

/* =========================================================
   SLIDE 1 — FOOTER
   ========================================================= */
.s1-footer {
  position: absolute;
  left: 150px;
  right: 420px;
  bottom: 52px;
  display: flex;
  align-items: center;
  gap: 40px;
  z-index: 3;
}

.site-pill {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 12px 12px 12px 28px;
  border-radius: 60px;
  border: 2px solid #CFDCF4;
  background: #fff;
  color: var(--ink);
  font-size: 27px;
  font-weight: 600;
  text-decoration: none;
  transition: border-color .3s, box-shadow .3s, transform .3s var(--ease-out);
}
.site-pill:hover {
  border-color: var(--electric);
  box-shadow: 0 16px 34px -18px rgba(10, 71, 224, .6);
  transform: translateY(-2px);
}
.site-pill svg { fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.globe { width: 30px; height: 30px; color: var(--navy); }
.is-active .globe { animation: spin 14s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }

.arrow {
  width: 50px; height: 50px; border-radius: 50%;
  display: grid; place-items: center;
  margin-left: 10px;
  background: linear-gradient(150deg, var(--electric), var(--royal));
  color: #fff;
}
.arrow svg { width: 22px; height: 22px; stroke-width: 2.6; transition: transform .3s var(--ease-out); }
.site-pill:hover .arrow svg { transform: translateX(4px); }

.foot-line { flex: 1; height: 2px; background: var(--line); position: relative; overflow: hidden; }
.foot-line span {
  position: absolute; inset: 0;
  background: linear-gradient(90deg, var(--navy), var(--electric));
  transform: scaleX(0);
  transform-origin: left;
}
.is-active .foot-line span { transform: scaleX(1); transition: transform 1.6s var(--ease-out) 2.3s; }

.motto {
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 5px;
  color: var(--navy-2);
  white-space: nowrap;
}

/* =========================================================
   INTRO CURTAIN
   ========================================================= */
.intro {
  position: fixed;
  inset: 0;
  z-index: 50;
  background: #fff;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 26px;
  display: none;
  transition: transform 1.1s var(--ease-io), opacity .6s ease .6s;
}
.intro.play { display: flex; }
.intro.leave { transform: translateY(-100%); opacity: 0; pointer-events: none; }

.intro-mark {
  width: min(11vw, 150px);
  aspect-ratio: 639 / 893;
  background: linear-gradient(155deg, var(--electric-2), var(--royal) 50%, var(--navy));
  -webkit-mask: var(--logo-mask) center / contain no-repeat;
          mask: var(--logo-mask) center / contain no-repeat;
  animation: markIn 1.2s var(--ease-out) both;
}
.intro-word {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: min(4.6vw, 64px);
  letter-spacing: -1px;
  color: var(--ink);
  animation: fadeUp .9s var(--ease-out) .35s both;
}
.intro-bar { width: min(18vw, 240px); height: 3px; border-radius: 3px; background: var(--line); overflow: hidden; }
.intro-bar span {
  display: block; height: 100%;
  background: linear-gradient(90deg, var(--royal), var(--electric));
  transform: scaleX(0);
  transform-origin: left;
  animation: fill 1.4s var(--ease-io) .4s forwards;
}
@keyframes markIn { from { opacity: 0; transform: scale(.6) rotate(-12deg); } to { opacity: 1; transform: none; } }
@keyframes fadeUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: none; } }
@keyframes fill { to { transform: scaleX(1); } }

/* =========================================================
   TOAST / HUD / PROGRESS
   ========================================================= */
.toast {
  position: fixed;
  left: 50%;
  bottom: 5vh;
  z-index: 40;
  translate: -50% 20px;
  padding: 14px 26px;
  border-radius: 40px;
  background: #fff;
  border: 1px solid #E1E9F7;
  box-shadow: 0 20px 50px -20px rgba(10, 30, 94, .45);
  color: var(--ink);
  font-size: clamp(14px, 1.1vw, 20px);
  font-weight: 500;
  opacity: 0;
  pointer-events: none;
  transition: opacity .4s ease, translate .5s var(--ease-out);
  white-space: nowrap;
}
.toast.show { opacity: 1; translate: -50% 0; }

.hud {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 45;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 6px 6px 14px;
  border-radius: 40px;
  background: rgba(255, 255, 255, .9);
  border: 1px solid #E1E9F7;
  box-shadow: 0 10px 30px -14px rgba(10, 30, 94, .4);
  font-size: 13px;
  font-weight: 600;
  color: var(--navy);
  transition: opacity .4s ease, translate .4s var(--ease-out);
}
body.idle .hud { opacity: 0; translate: 0 10px; pointer-events: none; }

.hud-live { display: flex; align-items: center; gap: 6px; letter-spacing: 2px; margin-right: 6px; }
.hud-live i { width: 7px; height: 7px; border-radius: 50%; background: #FF3B5C; animation: blink 1.4s infinite; }
@keyframes blink { 50% { opacity: .25; } }
.hud-count { color: var(--muted); margin-right: 6px; font-variant-numeric: tabular-nums; }
.hud button {
  width: 32px; height: 32px; border-radius: 50%;
  border: 0;
  background: var(--soft);
  color: var(--navy);
  font-size: 16px;
  cursor: pointer;
  transition: background .2s, color .2s;
}
.hud button:hover { background: var(--royal); color: #fff; }

.progress { position: fixed; left: 0; right: 0; top: 0; height: 3px; z-index: 45; }
.progress span {
  display: block; height: 100%; width: 0;
  background: linear-gradient(90deg, var(--royal), var(--electric));
  transition: width .8s var(--ease-out);
}

/* =========================================================
   OVERVIEW PAGE
   ========================================================= */
.overview {
  min-height: 100vh;
  padding: 0 clamp(20px, 4vw, 64px) 40px;
  background:
    radial-gradient(circle at 85% 0%, #EEF4FF 0, rgba(238, 244, 255, 0) 40%),
    #fff;
}

.ov-head {
  position: sticky;
  top: 0;
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
  padding: 22px 0;
  background: rgba(255, 255, 255, .88);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid #EEF2FA;
}
.ov-brand { display: flex; align-items: center; gap: 16px; }
.ov-mark {
  width: 34px; height: 48px;
  background: linear-gradient(155deg, var(--electric-2), var(--royal) 50%, var(--navy));
  -webkit-mask: var(--logo-mask) center / contain no-repeat;
          mask: var(--logo-mask) center / contain no-repeat;
}
.ov-title { font-family: var(--font-display); font-size: 24px; font-weight: 800; color: var(--ink); letter-spacing: -.4px; }
.ov-title span { font-weight: 500; color: var(--royal); }
.ov-sub { font-size: 13px; color: var(--muted); letter-spacing: 2px; text-transform: uppercase; margin-top: 2px; }

.ov-actions { display: flex; gap: 10px; }
.ov-btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 12px 20px;
  border-radius: 40px;
  font: 600 15px var(--font-body);
  cursor: pointer;
  transition: transform .2s var(--ease-out), box-shadow .2s, background .2s;
}
.ov-btn svg { width: 14px; height: 14px; fill: currentColor; }
.ov-btn.primary {
  border: 0;
  color: #fff;
  background: linear-gradient(150deg, var(--electric), var(--royal));
  box-shadow: 0 10px 24px -12px rgba(10, 71, 224, .7);
}
.ov-btn.ghost { border: 1.5px solid #CFDCF4; background: #fff; color: var(--navy); }
.ov-btn:hover { transform: translateY(-2px); }

.ov-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 420px), 1fr));
  gap: 32px;
  padding-top: 32px;
}

.ov-card {
  position: relative;
  border-radius: 16px;
  background: #fff;
  border: 1px solid #E4EBF8;
  box-shadow: 0 18px 40px -28px rgba(10, 30, 94, .45);
  overflow: hidden;
  cursor: pointer;
  transition: transform .35s var(--ease-out), box-shadow .35s, border-color .35s;
  animation: fadeUp .7s var(--ease-out) both;
  animation-delay: calc(var(--i, 0) * .07s);
}
.ov-card:hover, .ov-card:focus-visible {
  transform: translateY(-6px);
  border-color: #B9CDF5;
  box-shadow: 0 30px 60px -30px rgba(10, 71, 224, .55);
  outline: none;
}

.ov-thumb {
  position: relative;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #fff;
  border-bottom: 1px solid #EEF2FA;
}
.ov-thumb .slide {
  /* clone of the real slide, scaled down via --s */
  width: 1920px;
  height: 1080px;
  inset: auto;
  left: 0;
  top: 0;
  transform: scale(var(--s, .2));
  transform-origin: 0 0;
  pointer-events: none;
}
.ov-thumb .rotator { width: auto !important; }
.ov-thumb .rotator span { position: static; }
/* Force all animated elements visible in thumbnails */
.ov-thumb .a { opacity: 1 !important; transform: none !important; filter: none !important; }
.ov-thumb .pan { opacity: 1 !important; visibility: visible !important; }
.ov-thumb .pan:not(.vis) { display: none !important; }
.ov-thumb .ribbon i { transform: rotate(-40deg) translateX(0) !important; }
.ov-thumb .split .ch { opacity: 1 !important; transform: none !important; }
.ov-thumb .wlid { transform: none !important; }
.ov-thumb .wscreen img { filter: none !important; }

.ov-meta {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 14px 14px 18px;
}
.ov-num {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 15px;
  color: var(--royal);
  background: var(--soft);
  border-radius: 8px;
  padding: 4px 9px;
}
.ov-name { flex: 1; font-weight: 600; color: var(--ink); font-size: 16px; }
.ov-fs {
  width: 38px; height: 38px;
  border-radius: 50%;
  border: 0;
  background: var(--soft);
  color: var(--navy);
  font-size: 17px;
  cursor: pointer;
  transition: background .2s, color .2s;
}
.ov-fs:hover { background: var(--royal); color: #fff; }

.ov-foot {
  margin-top: 36px;
  text-align: center;
  font-size: 14px;
  color: var(--muted);
  line-height: 2;
}
kbd {
  display: inline-block;
  min-width: 24px;
  padding: 1px 7px;
  border-radius: 6px;
  border: 1px solid #D6E0F2;
  border-bottom-width: 2px;
  background: #fff;
  font: 600 12px var(--font-body);
  color: var(--navy);
}

/* Accessibility: respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; transition-delay: 0s !important; }
}
