/* ============================================================================
   MAISI — presentation ported to a responsive scroll page.
   Each slide keeps the deck's native 1920×1080 coordinate system and is scaled
   to the viewport width (--ms is set per-frame by inline JS in maisi.html), so
   every section stays pixel-faithful to the deck at any width.
   All rules are namespaced under .maisi-deck to avoid clashing with site CSS.
   ============================================================================ */

/* ───────────── fonts (self-hosted, offline) ───────────── */
@font-face{ font-family:"Cormorant Garamond"; font-style:normal; font-weight:400; font-display:swap;
  src: url(../fonts/cormorant-garamond-400-normal.woff2) format("woff2"); }
@font-face{ font-family:"Cormorant Garamond"; font-style:italic; font-weight:400; font-display:swap;
  src: url(../fonts/cormorant-garamond-400-italic.woff2) format("woff2"); }

/* ───────────── deck tokens ───────────── */
.maisi-deck{
  --navy:#1D2A35; --navy-2:#243340; --navy-3:#2B3A47;
  --white:#FFFFFF; --soft:#F9FEFC; --paper:#F2EEE6; --bone:#EAE3D3;
  --muted:#4B5480; --beige:#DBCAB0; --beige-2:#C9B695;
  --green:#5E806C; --sage:#95B8A3; --gold:#C9A36B; --gold-2:#E0C181;
  --line: rgba(255,255,255,0.12); --line-dark: rgba(29,42,53,0.12);
  --serif-en: "Cormorant Garamond", "FiraGO", "Times New Roman", serif;
  --sans-en: "FiraGO", "Fira Sans", system-ui, sans-serif;
  --serif-ge: "FiraGO", "Cormorant Garamond", serif;
  --sans-ge: "FiraGO", system-ui, sans-serif;

  display:block; width:100%; background:#000;
}

/* ───────────── responsive scale frame ───────────── */
.maisi-deck .mframe{
  position:relative; width:100%; overflow:hidden;
  background:#000; display:block;
}
.maisi-deck .mframe::before{ content:""; display:block; padding-top:56.25%; } /* 1080/1920 */
.maisi-deck .mslide{
  position:absolute; top:0; left:0;
  width:1920px; height:1080px;
  transform: scale(var(--ms, 0.5)); transform-origin: top left;
  color:var(--navy); font-family:var(--sans-ge);
  overflow:hidden; box-sizing:border-box;
}
.maisi-deck .mslide.dark{ background:var(--navy); color:var(--soft); }
.maisi-deck .mslide.light{ background:var(--soft); color:var(--navy); }
.maisi-deck .mslide.dark::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(1200px 700px at 80% -10%, rgba(219,202,176,0.06), transparent 60%),
    radial-gradient(900px 600px at -10% 110%, rgba(94,128,108,0.08), transparent 60%);
}

/* ───────────── video wall (2×2) ───────────── */
.maisi-deck .vid-grid{
  position:absolute; inset:64px;
  display:grid; grid-template-columns:1fr 1fr; grid-template-rows:1fr 1fr;
  gap:32px; z-index:1;
}
.maisi-deck .vid-cell{
  position:relative; overflow:hidden; border-radius:8px;
  border:1px solid var(--line); background:#000;
}
.maisi-deck .vid-cell iframe{
  position:absolute; inset:0; width:100%; height:100%; border:0; display:block;
}

/* ───────────── common typography ───────────── */
.maisi-deck .eyebrow{
  font-family:var(--sans-en); font-size:14px; letter-spacing:0.32em;
  text-transform:uppercase; color:var(--gold); font-weight:500;
  display:inline-flex; align-items:center; gap:14px; margin:0;
}
.maisi-deck .eyebrow.dark-bg{ color:var(--gold-2); }
.maisi-deck .eyebrow .rule{ width:48px; height:1px; background:currentColor; opacity:.7; }
.maisi-deck .h-title{
  font-family:var(--serif-ge); font-weight:400; font-size:84px;
  line-height:1.05; letter-spacing:-0.01em; margin:0;
}
.maisi-deck .body{
  font-family:var(--sans-ge); font-size:20px; line-height:1.55; font-weight:400;
  color: color-mix(in oklab, currentColor 78%, transparent); text-wrap:pretty;
}

/* ───────────── slide chrome ───────────── */
.maisi-deck .chrome{
  position:absolute; inset:0; pointer-events:none;
  display:flex; padding:48px 64px; justify-content:space-between; align-items:flex-end;
  font-family:var(--sans-en); font-size:12px; letter-spacing:0.32em; text-transform:uppercase;
  color: color-mix(in oklab, currentColor 55%, transparent); z-index:5;
}
.maisi-deck .chrome .lhs, .maisi-deck .chrome .rhs{ display:flex; gap:24px; align-items:center; }
.maisi-deck .chrome .mark{
  position:absolute; top:48px; left:64px;
  font-family:var(--serif-en); font-style:italic; font-weight:500; font-size:18px;
  letter-spacing:0; color: color-mix(in oklab, currentColor 75%, transparent);
  text-transform:none; z-index:5;
}
.maisi-deck .chrome .mark.brand-mark{ width:140px; font-size:0; }
.maisi-deck .chrome .mark.brand-mark .logo-lockup{ width:100%; }

/* ───────────── reusable ───────────── */
.maisi-deck .gold-rule{ height:1px; background:linear-gradient(90deg, transparent, var(--gold-2), transparent); width:160px; }
.maisi-deck .logo-lockup{ position:relative; display:inline-block; line-height:0; }
.maisi-deck .logo-lockup img{ display:block; width:100%; height:auto; }
.maisi-deck .brand-mark{ display:inline-block; width:140px; }
.maisi-deck .brand-mark .logo-lockup{ width:100%; }
.maisi-deck img.ph{ width:100%; height:100%; object-fit:cover; display:block; }

/* SLIDE 01 — COVER */
.maisi-deck .cover{ background:var(--navy); color:var(--soft); }
.maisi-deck .cover-bg{ position:absolute; inset:0; overflow:hidden; }
.maisi-deck .cover-bg::before{
  content:""; position:absolute; inset:-2%;
  background:
    radial-gradient(1400px 900px at 18% 28%, rgba(219,202,176,0.10), transparent 55%),
    radial-gradient(1100px 800px at 90% 100%, rgba(94,128,108,0.14), transparent 60%),
    linear-gradient(180deg, #15212B 0%, #1D2A35 50%, #15212B 100%);
}
.maisi-deck .cover-bg svg.threads{ position:absolute; inset:0; opacity:.16; }
.maisi-deck .cover-pageno{ position:absolute; left:64px; bottom:48px; z-index:5; font-family:var(--sans-en); font-size:14px; letter-spacing:0.18em; color:rgba(249,254,252,0.55); }
.maisi-deck .cover-inner{ position:absolute; inset:0; display:grid; grid-template-rows:1fr auto 1fr; padding:80px 120px; box-sizing:border-box; }
.maisi-deck .cover-wordmark{ display:flex; flex-direction:column; align-items:center; justify-content:center; grid-row:2; }
.maisi-deck .cover-wordmark .logo-lockup{ width:1000px; filter:drop-shadow(0 4px 40px rgba(0,0,0,0.25)); }
.maisi-deck .cover-top{ display:flex; justify-content:space-between; align-items:flex-start; font-family:var(--sans-en); font-size:13px; letter-spacing:0.32em; text-transform:uppercase; color:rgba(255,255,255,0.6); grid-row:1; }
.maisi-deck .cover-bottom{ grid-row:3; display:flex; flex-direction:column; align-items:center; justify-content:flex-end; gap:28px; text-align:center; }
.maisi-deck .cover-bottom .sub{ font-family:var(--sans-ge); font-size:26px; letter-spacing:0.04em; color:rgba(255,255,255,0.85); font-weight:400; line-height:1.6; }
.maisi-deck .cover-bottom .sub .sub-city{ color:var(--gold-2); font-weight:500; }

/* SLIDE 02 — VOICE */
.maisi-deck .s-voice{ padding:0; color:var(--white); }
.maisi-deck .s-voice .bg{ position:absolute; inset:0; overflow:hidden; background:#1D2A35; }
.maisi-deck .s-voice .bg img{ width:100%; height:100%; object-fit:cover; object-position:70% 35%; }
.maisi-deck .s-voice .bg::after{
  content:""; position:absolute; inset:0;
  background:
    linear-gradient(90deg, rgba(21,33,43,0.92) 0%, rgba(21,33,43,0.78) 28%, rgba(21,33,43,0.30) 52%, rgba(21,33,43,0.05) 72%, rgba(21,33,43,0.0) 100%),
    linear-gradient(180deg, rgba(21,33,43,0.25) 0%, rgba(21,33,43,0.0) 30%, rgba(21,33,43,0.0) 70%, rgba(21,33,43,0.35) 100%);
}
.maisi-deck .s-voice .inner{ position:absolute; inset:0; padding:130px 120px 110px; display:grid; grid-template-columns:880px 1fr; align-items:stretch; box-sizing:border-box; }
.maisi-deck .s-voice .panel{ display:flex; flex-direction:column; justify-content:center; gap:40px; padding-right:80px; }
.maisi-deck .s-voice .panel .quotemark{ font-family:var(--serif-en); font-style:italic; font-size:140px; line-height:.6; color:var(--gold-2); margin-bottom:-20px; opacity:.85; }
.maisi-deck .s-voice .panel .q1, .maisi-deck .s-voice .panel .q2{ font-family:var(--serif-ge); font-weight:400; font-size:32px; line-height:1.32; color:var(--white); margin:0; max-width:760px; text-wrap:pretty; }
.maisi-deck .s-voice .panel .quotemark.close{ align-self:flex-start; margin-top:-10px; margin-bottom:-40px; line-height:.6; }
.maisi-deck .s-voice .panel .attrib{ font-family:var(--serif-ge); font-style:italic; font-size:26px; color:var(--gold-2); margin-top:4px; }

/* SLIDE 03 — VISION (ORBITAL) */
.maisi-deck .s-vision{ padding:60px 0 60px; }
.maisi-deck .vision-layout{ display:grid; grid-template-columns:360px 1fr; gap:40px; padding:0 80px; align-items:stretch; }
.maisi-deck .vision-text{ display:flex; flex-direction:column; gap:28px; padding-top:8px; justify-content:center; }
.maisi-deck .vision-text .h-title{ color:var(--navy); font-size:64px; }
.maisi-deck .vision-text .signoff{ font-family:var(--serif-ge); font-style:italic; font-size:22px; color:var(--navy); border-left:1px solid var(--gold); padding-left:18px; line-height:1.4; margin-top:8px; }
.maisi-deck .vision-wrap{ position:relative; height:880px; align-self:center; }
.maisi-deck .orbit-svg{ position:absolute; inset:0; width:100%; height:100%; }
.maisi-deck .vision-mark{ position:absolute; left:50%; top:50%; transform:translate(-50%, -46%); width:400px; height:auto; pointer-events:none; filter:drop-shadow(0 4px 20px rgba(224,193,129,0.25)); }
.maisi-deck .vision-labels{ position:absolute; inset:0; pointer-events:none; }
.maisi-deck .vision-labels .b{ position:absolute; font-family:var(--sans-ge); font-size:23px; color:var(--navy); white-space:nowrap; letter-spacing:0.01em; }
.maisi-deck .vision-labels .b.dir-n{ transform:translate(-50%, calc(-100% - 18px)); }
.maisi-deck .vision-labels .b.dir-ne{ transform:translate(18px, calc(-100% - 4px)); }
.maisi-deck .vision-labels .b.dir-e{ transform:translate(20px, -50%); }
.maisi-deck .vision-labels .b.dir-se{ transform:translate(18px, 4px); }
.maisi-deck .vision-labels .b.dir-s{ transform:translate(-50%, 18px); }
.maisi-deck .vision-labels .b.dir-sw{ transform:translate(calc(-100% - 18px), 4px); }
.maisi-deck .vision-labels .b.dir-w{ transform:translate(calc(-100% - 20px), -50%); }
.maisi-deck .vision-labels .b.dir-nw{ transform:translate(calc(-100% - 18px), calc(-100% - 4px)); }

/* SLIDE 04 — PROJECTS */
.maisi-deck .s-projects{ padding:110px 120px 80px; }
.maisi-deck .projects-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:40px; margin-top:60px; }
.maisi-deck .pcard{ display:flex; flex-direction:column; gap:24px; }
.maisi-deck .pcard .img-wrap{ position:relative; width:100%; height:500px; overflow:hidden; background:#ECE6D7; border-radius:4px; }
.maisi-deck .pcard .img-wrap.maisi-card{ background:var(--navy); border:2px solid #C29A3F; display:flex; align-items:center; justify-content:center; }
.maisi-deck .pcard .img-wrap.maisi-card .silhouette{ max-width:84%; max-height:60%; object-fit:contain; opacity:1; }
.maisi-deck .pcard .pill{ position:absolute; top:24px; left:24px; width:fit-content; max-width:max-content; background:rgba(29,42,53,0.85); color:var(--white); backdrop-filter:blur(6px); padding:10px 20px; border-radius:999px; font-family:var(--sans-ge); font-size:15px; letter-spacing:0.06em; display:inline-flex; align-items:center; gap:10px; white-space:nowrap; }
.maisi-deck .pcard .pill .dot{ width:8px; height:8px; border-radius:50%; background:var(--sage); }
.maisi-deck .pcard .pill.coming .dot{ background:var(--gold-2); }
.maisi-deck .pcard .pill.progress .dot{ background:var(--beige); }
.maisi-deck .pcard .meta{ display:flex; justify-content:space-between; align-items:baseline; font-family:var(--sans-en); font-size:12px; letter-spacing:0.32em; color:var(--muted); text-transform:uppercase; }
.maisi-deck .pcard h3{ font-family:var(--serif-ge); font-size:40px; font-weight:400; margin:0; color:var(--navy); line-height:1.05; }
.maisi-deck .pcard .place{ font-family:var(--sans-ge); font-size:18px; color:var(--muted); }

/* SLIDE 05 — MAISI CONCEPT / STAGE */
.maisi-deck .s-stage{ padding:0; }
.maisi-deck .stage-grid{ display:grid; grid-template-columns:1fr 1.1fr; height:1080px; }
.maisi-deck .stage-l{ padding:92px 70px 46px 120px; display:flex; flex-direction:column; gap:18px; box-sizing:border-box; }
.maisi-deck .stage-r{ position:relative; background:var(--navy); overflow:hidden; }
.maisi-deck .stage-r img.ph{ position:absolute; inset:0; }
.maisi-deck .stage-r::after{ content:""; position:absolute; inset:0; background:linear-gradient(220deg, transparent 50%, rgba(29,42,53,0.4) 100%); pointer-events:none; }
.maisi-deck .stage-l .features{ display:flex; flex-direction:column; gap:13px; margin-top:8px; }
.maisi-deck .stage-l .feat{ display:flex; align-items:center; gap:18px; }
.maisi-deck .stage-l .feat .fi{ flex:0 0 auto; width:48px; height:48px; border-radius:50%; border:1.5px solid #C29A3F; display:flex; align-items:center; justify-content:center; color:#B68B2C; background:rgba(194,154,63,0.10); }
.maisi-deck .stage-l .feat .fi svg{ width:24px; height:24px; }
.maisi-deck .stage-l .feat .ft{ font-family:var(--serif-ge); font-size:25px; color:var(--navy); line-height:1.15; }
.maisi-deck .s-stage .facts{ display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line-dark); margin-top:16px; }
.maisi-deck .s-stage .facts .f{ padding:24px 24px 8px 0; border-right:1px solid var(--line-dark); }
.maisi-deck .s-stage .facts .f:last-child{ border-right:none; padding-right:0; }
.maisi-deck .s-stage .facts .f:nth-child(2), .maisi-deck .s-stage .facts .f:nth-child(3){ padding-left:28px; }
.maisi-deck .s-stage .facts .n{ font-family:var(--serif-en); font-size:56px; font-weight:400; color:var(--navy); line-height:1; }
.maisi-deck .s-stage .facts .n small{ font-family:var(--sans-en); font-size:22px; color:var(--gold); margin-left:4px; }
.maisi-deck .s-stage .facts .l{ font-family:var(--sans-ge); font-size:15px; color:var(--muted); margin-top:10px; letter-spacing:0.04em; }

/* SLIDE 06 — WALKING-DISTANCE MAP */
.maisi-deck .s-map{ padding:0; background:#0E1820; overflow:hidden; color:var(--soft); }
.maisi-deck .mw-bg{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.maisi-deck .mw-bg img{ height:100%; width:auto; min-width:100%; object-fit:cover; display:block; }
.maisi-deck .mw-bg::after{ content:""; position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(1200px 760px at 6% 0%, rgba(10,18,26,0.74), rgba(10,18,26,0.0) 58%),
    linear-gradient(180deg, rgba(10,18,26,0.30) 0%, rgba(10,18,26,0.0) 22%, rgba(10,18,26,0.0) 72%, rgba(10,18,26,0.55) 100%); }
.maisi-deck .mw-rings{ position:absolute; left:50%; top:0; width:79.79%; height:100%; transform:translateX(-50%); z-index:2; pointer-events:none; }
.maisi-deck .mw-rings svg{ width:100%; height:100%; display:block; }
.maisi-deck .mw-header{ position:absolute; top:140px; left:88px; z-index:6; display:flex; flex-direction:column; gap:14px; }
.maisi-deck .mw-header .eyebrow{ color:var(--gold-2); }
.maisi-deck .mw-header .eyebrow .rule{ background:var(--gold-2); }
.maisi-deck .mw-header h2{ font-family:var(--serif-ge); font-weight:400; font-size:52px; color:var(--white); margin:0; line-height:1.02; max-width:560px; text-shadow:0 2px 14px rgba(10,18,26,0.55); }
.maisi-deck .mw-title-row{ display:flex; align-items:center; gap:20px; }
.maisi-deck .mw-walk-ic{ flex:0 0 auto; width:58px; height:58px; display:flex; align-items:center; justify-content:center; color:var(--gold-2); filter:drop-shadow(0 2px 10px rgba(10,18,26,0.6)); }
.maisi-deck .mw-walk-ic svg{ width:58px; height:58px; }
.maisi-deck .mw-header .strap{ font-family:var(--sans-ge); font-size:17px; line-height:1.5; color:rgba(249,254,252,0.82); max-width:420px; text-wrap:pretty; text-shadow:0 1px 10px rgba(10,18,26,0.5); }
.maisi-deck .mw-page{ position:absolute; left:60px; bottom:24px; z-index:6; font-family:var(--sans-en); font-size:14px; letter-spacing:0.18em; color:rgba(249,254,252,0.7); }
.maisi-deck .mw-logo{ position:absolute; top:54px; left:88px; z-index:7; }
.maisi-deck .mw-logo img{ height:42px; display:block; }
.maisi-deck .mw-legend{ position:absolute; right:72px; bottom:64px; z-index:6; background:rgba(255,255,255,0.94); border:1px solid rgba(29,42,53,0.12); border-radius:18px; padding:26px 34px; box-shadow:0 6px 18px rgba(0,0,0,0.14); display:flex; flex-direction:column; gap:14px; }
.maisi-deck .mw-legend .h{ font-family:var(--sans-en); font-size:15px; letter-spacing:0.26em; text-transform:uppercase; color:rgba(29,42,53,0.6); }
.maisi-deck .mw-legend .row{ display:flex; align-items:center; gap:16px; font-family:var(--sans-ge); font-size:24px; color:var(--navy); }
.maisi-deck .mw-legend .row .dash{ width:46px; border-top:4px dashed; }
.maisi-deck .mw-legend .row.r5 .dash{ border-color:#2BC47E; }
.maisi-deck .mw-legend .row.r10 .dash{ border-color:#F2B22E; }
.maisi-deck .mw-legend .row.r15 .dash{ border-color:#4F8BE6; }
.maisi-deck .mw-pois{ position:absolute; inset:0; z-index:3; }
.maisi-deck .mw-poi{ position:absolute; transform:translate(-50%,-50%); }
.maisi-deck .mw-poi .chip{ background:#fff; border:1px solid rgba(29,42,53,0.18); border-radius:16px; padding:8px 15px 7px; text-align:center; box-shadow:0 3px 9px rgba(0,0,0,0.18); white-space:nowrap; }
.maisi-deck .mw-poi .chip .nm{ font-family:var(--serif-ge); font-size:18px; color:var(--navy); line-height:1.06; }
.maisi-deck .mw-poi .chip .min{ font-family:var(--sans-ge); font-weight:700; font-size:11px; color:#2A4A8A; margin-top:3px; letter-spacing:0.02em; }
.maisi-deck .mw-poi .chip .ic{ width:28px; height:28px; border-radius:50%; display:flex; align-items:center; justify-content:center; margin:-16px auto 5px; color:#fff; box-shadow:0 2px 5px rgba(0,0,0,0.28); border:2px solid #fff; }
.maisi-deck .mw-poi .chip.z5 .min{ color:#1F9D63; }
.maisi-deck .mw-poi .chip.z10 .min{ color:#C28E2E; }
.maisi-deck .mw-poi .chip.z15 .min{ color:#2A4A8A; }
.maisi-deck .mw-poi .chip.z5{ border-color:rgba(31,157,99,0.45); }
.maisi-deck .mw-poi .chip.z10{ border-color:rgba(194,142,46,0.45); }
.maisi-deck .mw-poi .chip.z15{ border-color:rgba(42,74,138,0.40); }
.maisi-deck .mw-pois .mw-poi:nth-of-type(8n+1) .chip .ic{ background:#D8642F; }
.maisi-deck .mw-pois .mw-poi:nth-of-type(8n+2) .chip .ic{ background:#189E74; }
.maisi-deck .mw-pois .mw-poi:nth-of-type(8n+3) .chip .ic{ background:#E0A52E; }
.maisi-deck .mw-pois .mw-poi:nth-of-type(8n+4) .chip .ic{ background:#3E77B0; }
.maisi-deck .mw-pois .mw-poi:nth-of-type(8n+5) .chip .ic{ background:#9B4E86; }
.maisi-deck .mw-pois .mw-poi:nth-of-type(8n+6) .chip .ic{ background:#6AA13B; }
.maisi-deck .mw-pois .mw-poi:nth-of-type(8n+7) .chip .ic{ background:#C0392B; }
.maisi-deck .mw-pois .mw-poi:nth-of-type(8n+8) .chip .ic{ background:#2A6FA8; }
.maisi-deck .mw-poi .chip .ic svg{ width:15px; height:15px; }
.maisi-deck .mw-maisi{ position:absolute; transform:translate(-50%,-50%); z-index:5; }
.maisi-deck .mw-maisi .box{ background:var(--navy); border:1.5px solid var(--navy); border-radius:14px; padding:16px 30px; box-shadow:0 8px 22px rgba(0,0,0,0.26); }
.maisi-deck .mw-maisi .box img{ height:48px; display:block; }
.maisi-deck .s-map .mw-pois{ transform:none; }
/* zoomable map layer — cursor reflects next action (zoom-in / zoom-out) */
.maisi-deck .s-map .mw-zoom{ position:absolute; inset:0; z-index:1; cursor:zoom-in;
  transform-origin:center center; transition:transform .45s cubic-bezier(.4,0,.2,1); will-change:transform; }
.maisi-deck .s-map .mw-zoom.is-zoomed{ cursor:zoom-out; }
@media (prefers-reduced-motion: reduce){ .maisi-deck .s-map .mw-zoom{ transition:none; } }

/* SLIDE 07 — CONCEPT (lifestyle) */
.maisi-deck .s-concept{ padding:0; color:var(--white); }
.maisi-deck .s-concept .bg{ position:absolute; inset:0; background:#1D2A35; overflow:hidden; }
.maisi-deck .s-concept .bg img.ph{ position:absolute; inset:0; }
.maisi-deck .s-concept .bg::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(29,42,53,0.10) 0%, rgba(29,42,53,0.0) 32%, rgba(29,42,53,0.45) 66%, rgba(29,42,53,0.92) 100%); }
.maisi-deck .s-concept .inner{ position:absolute; inset:0; padding:120px 120px 100px; display:flex; flex-direction:column; justify-content:flex-end; gap:28px; box-sizing:border-box; }
.maisi-deck .s-concept .big{ font-family:var(--serif-ge); font-size:120px; line-height:1; letter-spacing:-0.01em; max-width:1500px; color:var(--white); margin:0; }
.maisi-deck .s-concept .big em{ color:var(--gold-2); font-style:italic; }
.maisi-deck .s-concept .copy{ display:grid; grid-template-columns:1fr 1fr; gap:80px; padding-top:28px; border-top:1px solid rgba(255,255,255,0.18); }

/* SLIDE 08 — PARKING */
.maisi-deck .s-park{ padding:0; color:var(--white); overflow:hidden; }
.maisi-deck .s-park .park-grid{ position:absolute; inset:0; z-index:2; display:grid; grid-template-columns:800px 1fr; grid-template-rows:100%; }
.maisi-deck .s-park .park-left{ display:flex; flex-direction:column; justify-content:center; gap:34px; padding:0 64px 30px 116px; }
.maisi-deck .s-park .park-left .eyebrow{ color:var(--gold-2); }
.maisi-deck .s-park .park-left .eyebrow .rule{ background:var(--gold-2); }
.maisi-deck .s-park h2{ font-family:var(--serif-ge); font-weight:400; font-size:62px; line-height:1.12; color:var(--white); margin:0; text-wrap:pretty; }
.maisi-deck .s-park h2 em{ font-style:normal; color:var(--gold-2); font-weight:700; }
.maisi-deck .s-park .pfacts{ display:flex; flex-direction:column; align-items:flex-start; gap:20px; padding-top:32px; margin-top:2px; border-top:1px solid rgba(255,255,255,0.18); }
.maisi-deck .s-park .pfacts .pf{ display:flex; flex-direction:column; gap:4px; max-width:420px; }
.maisi-deck .s-park .pfacts .n{ font-family:var(--serif-en); font-size:140px; color:var(--gold-2); line-height:.82; }
.maisi-deck .s-park .pfacts .t{ font-family:var(--sans-ge); font-size:22px; line-height:1.32; color:rgba(249,254,252,0.88); }
.maisi-deck .s-park .park-right{ position:relative; padding:56px 56px 56px 0; min-height:0; display:grid; grid-template-rows:minmax(0,1fr) minmax(0,1fr); gap:26px; box-sizing:border-box; }
.maisi-deck .s-park .park-shot{ position:relative; margin:0; min-height:0; overflow:hidden; border-radius:18px; box-shadow:0 24px 60px rgba(8,12,16,0.5); outline:1px solid rgba(219,202,176,0.22); outline-offset:-1px; }
.maisi-deck .s-park .park-shot img{ width:100%; height:100%; object-fit:cover; display:block; }

/* SLIDE 09 — PAYMENT TERMS & TIMELINE */
.maisi-deck .s-build{ padding:100px 120px 96px; background:var(--soft); display:flex; flex-direction:column; }
.maisi-deck .build-head{ display:grid; grid-template-columns:1.2fr 1fr; gap:80px; align-items:end; }
.maisi-deck .build-dates{ flex:1 1 auto; display:flex; align-items:center; gap:48px; }
.maisi-deck .bd-block{ display:flex; flex-direction:column; flex:0 0 auto; }
.maisi-deck .bd-block.end{ align-items:flex-end; text-align:right; }
.maisi-deck .bd-lbl{ display:flex; align-items:center; gap:14px; font-family:var(--sans-en); font-size:14px; letter-spacing:0.32em; text-transform:uppercase; color:var(--gold); }
.maisi-deck .bd-block.end .bd-lbl{ flex-direction:row-reverse; }
.maisi-deck .bd-lbl::before{ content:""; width:40px; height:1px; background:var(--gold); display:block; }
.maisi-deck .bd-month{ font-family:var(--serif-ge); font-size:52px; color:var(--navy); line-height:1; margin-top:26px; font-weight:400; }
.maisi-deck .bd-year{ font-family:var(--serif-en); font-size:132px; color:var(--navy); line-height:0.9; margin-top:8px; font-weight:400; letter-spacing:-0.01em; }
.maisi-deck .bd-seq{ flex:1 1 auto; position:relative; display:flex; align-items:center; margin-top:70px; }
.maisi-deck .bd-seq .rail{ position:relative; flex:1 1 auto; height:1px; background:var(--line-dark); }
.maisi-deck .bd-seq .node{ position:absolute; top:50%; transform:translate(-50%, -50%); width:10px; height:10px; border-radius:50%; background:var(--gold); }
.maisi-deck .bd-seq .node.hollow{ width:7px; height:7px; background:var(--soft); border:1px solid var(--gold); }
.maisi-deck .bd-seq .cap{ position:absolute; top:50%; transform:translateY(-50%); width:12px; height:12px; border-radius:50%; background:var(--gold); }
.maisi-deck .bd-seq .cap.l{ left:0; transform:translate(-50%, -50%); }
.maisi-deck .bd-seq .cap.r{ right:0; transform:translate(50%, -50%); }
.maisi-deck .bd-seq .dur{ position:absolute; left:50%; top:50%; transform:translate(-50%, -150%); font-family:var(--sans-ge); font-size:28px; color:var(--muted); letter-spacing:0.04em; white-space:nowrap; background:var(--soft); padding:0 14px; }
.maisi-deck .bd-seq .dur b{ font-family:var(--serif-en); font-weight:400; color:var(--navy); font-size:40px; margin-right:5px; }
.maisi-deck .s-build .build-pricing{ flex:0 0 auto; display:grid; grid-template-columns:repeat(3,1fr); margin-top:52px; padding-top:44px; border-top:1px solid var(--line-dark); }
.maisi-deck .s-build .build-pricing .pcol{ padding:0 56px; border-left:1px solid var(--line-dark); display:flex; flex-direction:column; gap:16px; }
.maisi-deck .s-build .build-pricing .pcol:first-child{ border-left:none; padding-left:0; }
.maisi-deck .s-build .build-pricing .pcol .v{ font-family:var(--serif-en); font-size:86px; color:var(--navy); line-height:.9; display:flex; align-items:baseline; gap:10px; white-space:nowrap; }
.maisi-deck .s-build .build-pricing .pcol .v small{ font-family:var(--sans-ge); font-size:20px; color:var(--gold); font-weight:500; }
.maisi-deck .s-build .build-pricing .pcol .l{ font-family:var(--sans-ge); font-size:20px; color:rgba(29,42,53,0.72); line-height:1.32; }

/* SLIDE 10 — LOCATION & CONTACT */
.maisi-deck .s-loc{ padding:0; background:#0E1820; color:var(--soft); }
.maisi-deck .s-loc .loc-bg{ position:absolute; inset:0; overflow:hidden; }
.maisi-deck .s-loc .loc-bg img{ width:100%; height:100%; object-fit:cover; object-position:center bottom; filter:blur(6px); transform:scale(1.05); }
.maisi-deck .s-loc .loc-bg::after{ content:""; position:absolute; inset:0; background:
  radial-gradient(1300px 1000px at 50% 50%, rgba(21,33,43,0.62), rgba(21,33,43,0.30) 60%, transparent 80%),
  linear-gradient(180deg, rgba(21,33,43,0.45) 0%, rgba(21,33,43,0.25) 40%, rgba(21,33,43,0.45) 100%); }
.maisi-deck .s-loc .panel{ position:absolute; inset:0; z-index:4; background:none; padding:120px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; box-sizing:border-box; }
.maisi-deck .s-loc .panel .eyebrow{ color:var(--gold-2); justify-content:center; }
.maisi-deck .s-loc .panel .eyebrow .rule{ background:var(--gold-2); }
.maisi-deck .s-loc .panel h2{ font-family:var(--serif-ge); font-weight:400; font-size:96px; line-height:1.0; margin:28px 0 80px; color:var(--white); }
.maisi-deck .s-loc .clist{ display:flex; flex-direction:row; justify-content:center; gap:120px; }
.maisi-deck .s-loc .cblock{ display:flex; flex-direction:row; align-items:center; gap:22px; text-align:left; }
.maisi-deck .s-loc .cblock .nm{ font-family:var(--sans-ge); font-size:16px; letter-spacing:0.30em; text-transform:uppercase; color:var(--gold-2); font-weight:600; }
.maisi-deck .s-loc .cblock .addr{ font-family:var(--sans-ge); font-size:36px; line-height:1.4; color:rgba(249,254,252,0.95); margin-top:14px; }
.maisi-deck .s-loc .ccontact{ margin-top:64px; text-align:center; display:flex; flex-direction:column; align-items:center; gap:18px; font-family:var(--sans-en); font-size:44px; letter-spacing:0.02em; color:rgba(249,254,252,0.97); font-weight:600; }
.maisi-deck .s-loc .ccontact span{ white-space:nowrap; }
.maisi-deck .s-loc .ccontact .email{ color:var(--gold-2); font-size:40px; font-weight:500; }
.maisi-deck .s-loc .cblock .pinic{ width:34px; height:42px; color:var(--gold-2); display:block; flex:0 0 auto; position:relative; top:9px; }
.maisi-deck .s-loc .cblock .pinic svg{ width:100%; height:100%; }
.maisi-deck .s-loc .ccontact .crow{ display:flex; align-items:center; justify-content:center; gap:20px; }
.maisi-deck .s-loc .ccontact .crow .ci{ width:40px; height:40px; flex:0 0 auto; color:var(--gold-2); display:flex; align-items:center; justify-content:center; }
.maisi-deck .s-loc .ccontact .crow .ci svg{ width:100%; height:100%; }
.maisi-deck .s-loc .ccontact .web{ color:var(--gold-2); font-size:40px; font-weight:500; white-space:nowrap; }
.maisi-deck .s-loc .ccontact .ccols{ display:flex; justify-content:center; gap:110px; }
.maisi-deck .s-loc .ccontact .ccol{ display:flex; flex-direction:column; align-items:flex-start; gap:24px; }
.maisi-deck .s-loc .ccontact .num{ white-space:nowrap; }

.maisi-deck ::selection{ background:var(--gold-2); color:var(--navy); }

/* ============================================================================
   ENTRANCE & EFFECT ANIMATIONS (triggered by .is-inview added in maisi.js)
   ============================================================================ */
@keyframes mFadeUp{ to{ opacity:1; transform:translateY(0); } }
@keyframes mLogoIn{ to{ opacity:1; transform:scale(1); filter:blur(0); } }
@keyframes mKen{ from{ transform:scale(1.03); } to{ transform:scale(1.18); } }
@keyframes mBlink{ 50%{ opacity:0; } }
@keyframes mSpin{ to{ transform:rotate(360deg); } }
@keyframes mDraw{ to{ stroke-dashoffset:0; } }
@keyframes mPop{ to{ opacity:1; transform:scale(1); } }
@keyframes mGlowPulse{ 0%,100%{ opacity:.22; } 50%{ opacity:.46; } }
@keyframes mMarkIn{ from{ opacity:0; transform:translate(-50%,-46%) scale(.82); } to{ opacity:1; transform:translate(-50%,-46%) scale(1); } }
@keyframes mFloat{ 0%,100%{ transform:translate(-50%,-46%) translateY(0); } 50%{ transform:translate(-50%,-46%) translateY(-12px); } }
@keyframes mHaloIn{ to{ opacity:.55; } }
@keyframes mHaloPulse{ 0%,100%{ opacity:.5; transform:translate(-50%,-50%) scale(1); } 50%{ opacity:.9; transform:translate(-50%,-50%) scale(1.1); } }

/* ── SLIDE 01 — cover logo reveal + subtitle fade ── */
.maisi-deck .cover-wordmark .logo-lockup{ opacity:0; transform:scale(1.14); filter:blur(16px); }
.maisi-deck .mframe.is-inview .cover-wordmark .logo-lockup{ animation:mLogoIn 1.5s cubic-bezier(.16,.84,.3,1) .15s forwards; }
.maisi-deck .cover-top, .maisi-deck .cover-bottom .gold-rule, .maisi-deck .cover-bottom .sub{ opacity:0; transform:translateY(20px); }
.maisi-deck .mframe.is-inview .cover-top{ animation:mFadeUp .9s ease .9s forwards; }
.maisi-deck .mframe.is-inview .cover-bottom .gold-rule{ animation:mFadeUp .9s ease 1.15s forwards; }
.maisi-deck .mframe.is-inview .cover-bottom .sub{ animation:mFadeUp 1s ease 1.4s forwards; }

/* ── SLIDE 02 — voice: photo push-in, typing caret, fade-ins ── */
.maisi-deck .s-voice .bg img{ transform:scale(1.03); }
.maisi-deck .mframe.is-inview .s-voice .bg img{ animation:mKen 14s ease-out forwards; }
.maisi-deck .s-voice .eyebrow, .maisi-deck .s-voice .quotemark,
.maisi-deck .s-voice .q1, .maisi-deck .s-voice .q2, .maisi-deck .s-voice .attrib{ opacity:0; transform:translateY(18px); }
.maisi-deck .mframe.is-inview .s-voice .eyebrow{ animation:mFadeUp .8s ease .15s forwards; }
.maisi-deck .mframe.is-inview .s-voice .quotemark:not(.close){ animation:mFadeUp .8s ease .30s forwards; }
.maisi-deck .mframe.is-inview .s-voice .q1{ animation:mFadeUp .9s ease .45s forwards; }
.maisi-deck .mframe.is-inview .s-voice .q2{ animation:mFadeUp .9s ease .62s forwards; }
.maisi-deck .mframe.is-inview .s-voice .quotemark.close{ animation:mFadeUp .8s ease .80s forwards; }
.maisi-deck .mframe.is-inview .s-voice .attrib{ animation:mFadeUp .9s ease .92s forwards; }

/* ── SLIDE 03 — redesigned vision (centered constellation) ── */
.maisi-deck .s-vision{ padding:0; overflow:hidden; }
.maisi-deck .vision2{ position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; padding:40px 80px; box-sizing:border-box; }
.maisi-deck .vision2-head{ text-align:center; display:flex; flex-direction:column; align-items:center; gap:14px; }
.maisi-deck .vision2-head .eyebrow{ justify-content:center; }
.maisi-deck .vision2-title{ color:var(--navy); font-size:66px; }
.maisi-deck .vision2-sign{ font-family:var(--serif-ge); font-style:italic; font-size:21px; color:var(--muted); max-width:780px; line-height:1.45; margin:0; }
.maisi-deck .s-vision .vision-wrap{ position:relative; width:1240px; height:802px; align-self:center; }
.maisi-deck .vision-halo{ position:absolute; left:50%; top:46%; width:380px; height:380px; transform:translate(-50%,-50%); border-radius:50%; background:radial-gradient(circle, rgba(224,193,129,.4), rgba(224,193,129,0) 68%); pointer-events:none; opacity:0; z-index:0; }
.maisi-deck .vision-mark{ z-index:2; }
.maisi-deck .vision-labels{ z-index:3; }

/* head entrance */
.maisi-deck .vision2-head .eyebrow, .maisi-deck .vision2-title, .maisi-deck .vision2-sign{ opacity:0; transform:translateY(20px); }
.maisi-deck .mframe.is-inview .vision2-head .eyebrow{ animation:mFadeUp .8s ease .1s forwards; }
.maisi-deck .mframe.is-inview .vision2-title{ animation:mFadeUp .9s ease .25s forwards; }
.maisi-deck .mframe.is-inview .vision2-sign{ animation:mFadeUp .9s ease .4s forwards; }

/* rotating rings (continuous) */
.maisi-deck .orbit-ring{ transform-box:view-box; transform-origin:840px 360px; animation:mSpin 70s linear infinite; }
.maisi-deck .orbit-ring--rev{ animation-duration:95s; animation-direction:reverse; }

/* spokes draw outward, staggered */
.maisi-deck .orbit-spokes line{ stroke-dasharray:130; stroke-dashoffset:130; }
.maisi-deck .mframe.is-inview .orbit-spokes line{ animation:mDraw .7s ease forwards; }
.maisi-deck .mframe.is-inview .orbit-spokes line:nth-child(1){ animation-delay:.55s; }
.maisi-deck .mframe.is-inview .orbit-spokes line:nth-child(2){ animation-delay:.67s; }
.maisi-deck .mframe.is-inview .orbit-spokes line:nth-child(3){ animation-delay:.79s; }
.maisi-deck .mframe.is-inview .orbit-spokes line:nth-child(4){ animation-delay:.91s; }
.maisi-deck .mframe.is-inview .orbit-spokes line:nth-child(5){ animation-delay:1.03s; }
.maisi-deck .mframe.is-inview .orbit-spokes line:nth-child(6){ animation-delay:1.15s; }
.maisi-deck .mframe.is-inview .orbit-spokes line:nth-child(7){ animation-delay:1.27s; }
.maisi-deck .mframe.is-inview .orbit-spokes line:nth-child(8){ animation-delay:1.39s; }

/* nodes pop in as each spoke arrives */
.maisi-deck .orbit-nodes circle, .maisi-deck .orbit-glow circle{ transform-box:fill-box; transform-origin:center; opacity:0; transform:scale(.2); }
.maisi-deck .mframe.is-inview .orbit-nodes circle{ animation:mPop .5s cubic-bezier(.2,1.35,.4,1) forwards; }
.maisi-deck .mframe.is-inview .orbit-glow circle{ animation:mPop .6s ease forwards; }
.maisi-deck .mframe.is-inview .orbit-nodes circle:nth-child(1),
.maisi-deck .mframe.is-inview .orbit-glow circle:nth-child(1){ animation-delay:1.05s; }
.maisi-deck .mframe.is-inview .orbit-nodes circle:nth-child(2),
.maisi-deck .mframe.is-inview .orbit-glow circle:nth-child(2){ animation-delay:1.17s; }
.maisi-deck .mframe.is-inview .orbit-nodes circle:nth-child(3),
.maisi-deck .mframe.is-inview .orbit-glow circle:nth-child(3){ animation-delay:1.29s; }
.maisi-deck .mframe.is-inview .orbit-nodes circle:nth-child(4),
.maisi-deck .mframe.is-inview .orbit-glow circle:nth-child(4){ animation-delay:1.41s; }
.maisi-deck .mframe.is-inview .orbit-nodes circle:nth-child(5),
.maisi-deck .mframe.is-inview .orbit-glow circle:nth-child(5){ animation-delay:1.53s; }
.maisi-deck .mframe.is-inview .orbit-nodes circle:nth-child(6),
.maisi-deck .mframe.is-inview .orbit-glow circle:nth-child(6){ animation-delay:1.65s; }
.maisi-deck .mframe.is-inview .orbit-nodes circle:nth-child(7),
.maisi-deck .mframe.is-inview .orbit-glow circle:nth-child(7){ animation-delay:1.77s; }
.maisi-deck .mframe.is-inview .orbit-nodes circle:nth-child(8),
.maisi-deck .mframe.is-inview .orbit-glow circle:nth-child(8){ animation-delay:1.89s; }
.maisi-deck .mframe.is-inview .orbit-glow{ animation:mGlowPulse 3.4s ease-in-out 2.2s infinite; }

/* labels fade/slide in, staggered around the ring */
.maisi-deck .vision-labels .b span{ display:inline-block; opacity:0; transform:translateY(8px); }
.maisi-deck .mframe.is-inview .vision-labels .b span{ animation:mFadeUp .7s ease forwards; }
.maisi-deck .mframe.is-inview .vision-labels .b:nth-child(1) span{ animation-delay:1.20s; }
.maisi-deck .mframe.is-inview .vision-labels .b:nth-child(2) span{ animation-delay:1.32s; }
.maisi-deck .mframe.is-inview .vision-labels .b:nth-child(3) span{ animation-delay:1.44s; }
.maisi-deck .mframe.is-inview .vision-labels .b:nth-child(4) span{ animation-delay:1.56s; }
.maisi-deck .mframe.is-inview .vision-labels .b:nth-child(5) span{ animation-delay:1.68s; }
.maisi-deck .mframe.is-inview .vision-labels .b:nth-child(6) span{ animation-delay:1.80s; }
.maisi-deck .mframe.is-inview .vision-labels .b:nth-child(7) span{ animation-delay:1.92s; }
.maisi-deck .mframe.is-inview .vision-labels .b:nth-child(8) span{ animation-delay:2.04s; }

/* centre mark: scale-in then gentle float; halo pulse */
.maisi-deck .vision-mark{ opacity:0; }
.maisi-deck .mframe.is-inview .vision-mark{ animation:mMarkIn 1s ease .3s forwards, mFloat 5.5s ease-in-out 1.3s infinite; }
.maisi-deck .mframe.is-inview .vision-halo{ animation:mHaloIn 1s ease .4s forwards, mHaloPulse 4s ease-in-out 1.5s infinite; }

@keyframes mFadeIn{ to{ opacity:1; transform:translateY(0); } }

/* ============================================================================
   SLIDE 03 v2 — dark editorial "ჩვენი ხედვა"
   ============================================================================ */
.maisi-deck .s-vision.dark{ background:linear-gradient(135deg,#15212B 0%,#1D2A35 55%,#172430 100%); }
.maisi-deck .s-vision::after{ content:""; position:absolute; inset:0; pointer-events:none; z-index:1;
  background:
    radial-gradient(900px 620px at 12% 16%, rgba(224,193,129,0.12), transparent 60%),
    radial-gradient(760px 540px at 98% 96%, rgba(94,128,108,0.14), transparent 62%); }
.maisi-deck .vz-ghost{ position:absolute; right:70px; bottom:-70px; z-index:0; font-family:var(--serif-en); font-style:italic; font-size:360px; line-height:1; color:rgba(224,193,129,0.06); letter-spacing:0.03em; pointer-events:none; white-space:nowrap; opacity:0; }

.maisi-deck .vz{ position:absolute; inset:0; z-index:2; display:grid; grid-template-columns:720px 1fr; align-items:center; gap:90px; padding:0 130px; box-sizing:border-box; }
.maisi-deck .vz-head{ display:flex; flex-direction:column; align-items:flex-start; gap:26px; }
.maisi-deck .vz-head .eyebrow{ color:var(--gold-2); }
.maisi-deck .vz-title{ font-family:var(--serif-ge); font-weight:400; font-size:104px; line-height:0.98; color:var(--white); margin:0; letter-spacing:-0.01em; }
.maisi-deck .vz-title em{ font-style:italic; color:var(--gold-2); }
.maisi-deck .vz-rule{ display:block; width:120px; height:2px; background:linear-gradient(90deg,var(--gold-2),transparent); }
.maisi-deck .vz-sign{ font-family:var(--serif-ge); font-style:italic; font-size:23px; line-height:1.5; color:rgba(249,254,252,0.74); max-width:560px; margin:0; }

.maisi-deck .vz-grid{ display:grid; grid-template-columns:1fr 1fr; column-gap:56px; row-gap:0; }
.maisi-deck .vz-item{ position:relative; display:flex; align-items:center; gap:22px; padding:28px 6px; border-bottom:1px solid rgba(255,255,255,0.12); }
.maisi-deck .vz-num{ flex:0 0 auto; width:42px; font-family:var(--serif-en); font-size:27px; color:var(--gold-2); opacity:.9; }
.maisi-deck .vz-ic{ flex:0 0 auto; width:54px; height:54px; border-radius:50%; border:1.5px solid rgba(201,163,107,0.55); display:flex; align-items:center; justify-content:center; color:var(--gold-2); background:rgba(201,163,107,0.08); transition:background .35s ease, color .35s ease, transform .35s ease; }
.maisi-deck .vz-ic svg{ width:26px; height:26px; }
.maisi-deck .vz-name{ font-family:var(--serif-ge); font-size:26px; color:var(--white); line-height:1.2; }
.maisi-deck .vz-item:hover .vz-ic{ background:var(--gold-2); color:var(--navy); transform:translateY(-2px); }

/* entrance */
.maisi-deck .vz-head .eyebrow, .maisi-deck .vz-title, .maisi-deck .vz-rule, .maisi-deck .vz-sign, .maisi-deck .vz-item{ opacity:0; transform:translateY(24px); }
.maisi-deck .mframe.is-inview .vz-head .eyebrow{ animation:mFadeUp .8s ease .15s forwards; }
.maisi-deck .mframe.is-inview .vz-title{ animation:mFadeUp .9s ease .28s forwards; }
.maisi-deck .mframe.is-inview .vz-rule{ animation:mFadeUp .8s ease .42s forwards; }
.maisi-deck .mframe.is-inview .vz-sign{ animation:mFadeUp .9s ease .52s forwards; }
.maisi-deck .mframe.is-inview .vz-ghost{ animation:mFadeIn 1.4s ease .3s forwards; }
.maisi-deck .mframe.is-inview .vz-item{ animation:mFadeUp .7s ease forwards; }
.maisi-deck .mframe.is-inview .vz-item:nth-child(1){ animation-delay:.55s; }
.maisi-deck .mframe.is-inview .vz-item:nth-child(2){ animation-delay:.64s; }
.maisi-deck .mframe.is-inview .vz-item:nth-child(3){ animation-delay:.73s; }
.maisi-deck .mframe.is-inview .vz-item:nth-child(4){ animation-delay:.82s; }
.maisi-deck .mframe.is-inview .vz-item:nth-child(5){ animation-delay:.91s; }
.maisi-deck .mframe.is-inview .vz-item:nth-child(6){ animation-delay:1.00s; }
.maisi-deck .mframe.is-inview .vz-item:nth-child(7){ animation-delay:1.09s; }
.maisi-deck .mframe.is-inview .vz-item:nth-child(8){ animation-delay:1.18s; }

/* ============================================================================
   SLIDE 07 — lifestyle concept: title fade-in, paragraphs fade-up
   ============================================================================ */
.maisi-deck .s-concept .eyebrow{ opacity:0; transform:translateY(14px); }
.maisi-deck .s-concept .big{ opacity:0; transform:translateY(10px); }
.maisi-deck .s-concept .copy .body{ opacity:0; transform:translateY(24px); }
.maisi-deck .mframe.is-inview .s-concept .eyebrow{ animation:mFadeUp .8s ease .15s forwards; }
.maisi-deck .mframe.is-inview .s-concept .big{ animation:mFadeIn 1.2s ease .35s forwards; }
.maisi-deck .mframe.is-inview .s-concept .copy .body:nth-child(1){ animation:mFadeUp .9s ease .7s forwards; }
.maisi-deck .mframe.is-inview .s-concept .copy .body:nth-child(2){ animation:mFadeUp .9s ease .9s forwards; }

/* ============================================================================
   SLIDE 06 — choreographed intro: blue cover → logo center → shrink to map
   → rings pulse 3× → POI icons pop in
   ============================================================================ */
.maisi-deck .mw-intro{ position:absolute; inset:0; z-index:8; pointer-events:none;
  background:radial-gradient(circle at 50% 46%, #2B3A47 0%, #1D2A35 48%, #15212B 100%); }
.maisi-deck .mw-maisi{ z-index:9; }

.maisi-deck .mframe.is-inview .mw-intro{ animation:mwIntro 3s ease forwards; }
.maisi-deck .mframe.is-inview .mw-maisi{ animation:mwLogo 3s cubic-bezier(.6,.02,.2,1) forwards; }
@keyframes mwIntro{ 0%,40%{ opacity:1; } 72%,100%{ opacity:0; visibility:hidden; } }
@keyframes mwLogo{
  0%   { opacity:0; transform:translate(-50%,-50%) translate(28px,-132px) scale(3); }
  12%  { opacity:1; transform:translate(-50%,-50%) translate(28px,-132px) scale(3); }
  40%  { opacity:1; transform:translate(-50%,-50%) translate(28px,-132px) scale(3); }
  100% { opacity:1; transform:translate(-50%,-50%) translate(0,0) scale(1); }
}

/* rings: reveal then pulse three cycles */
.maisi-deck .mw-rings{ opacity:0; }
.maisi-deck .mframe.is-inview .mw-rings{ animation:mwRingsIn .6s ease 2.4s forwards, mwRingPulse .7s ease-in-out 3.0s 3; }
@keyframes mwRingsIn{ to{ opacity:1; } }
@keyframes mwRingPulse{ 0%,100%{ opacity:1; } 50%{ opacity:.5; } }

/* header + corner logo fade in once the map is revealed */
.maisi-deck .mw-header, .maisi-deck .mw-logo, .maisi-deck .mw-page{ opacity:0; }
.maisi-deck .mframe.is-inview .mw-header{ animation:mFadeIn .9s ease 2.5s forwards; }
.maisi-deck .mframe.is-inview .mw-logo{ animation:mFadeIn .9s ease 2.7s forwards; }
.maisi-deck .mframe.is-inview .mw-page{ animation:mFadeIn .9s ease 2.7s forwards; }

/* POI chips pop in (staggered via --d set in maisi.js) after the 3 ring cycles */
.maisi-deck .mw-poi{ opacity:0; transform:translate(-50%,-50%) scale(.5); }
.maisi-deck .mframe.is-inview .mw-poi{ animation:mwPoi .5s cubic-bezier(.2,1.3,.4,1) forwards; animation-delay:calc(5.1s + var(--d, 0) * 0.05s); }
@keyframes mwPoi{ from{ opacity:0; transform:translate(-50%,-50%) scale(.5); } to{ opacity:1; transform:translate(-50%,-50%) scale(1); } }
.maisi-deck .mw-legend{ opacity:0; }
.maisi-deck .mframe.is-inview .mw-legend{ animation:mFadeUp .8s ease 5.1s forwards; }

/* ============================================================================
   SLIDE 03 — NAVI logo in the head
   ============================================================================ */
.maisi-deck .vz-logo{ display:block; height:58px; width:auto; margin-bottom:6px; opacity:0; transform:translateY(20px); }
.maisi-deck .mframe.is-inview .vz-logo{ animation:mFadeUp .8s ease .05s forwards; }

/* ============================================================================
   SLIDE 05 — text entrance + count-up facts
   ============================================================================ */
.maisi-deck .s-stage .eyebrow, .maisi-deck .s-stage .h-title,
.maisi-deck .stage-l > .body, .maisi-deck .stage-l .feat,
.maisi-deck .s-stage .facts .f{ opacity:0; transform:translateY(22px); }
.maisi-deck .mframe.is-inview .s-stage .eyebrow{ animation:mFadeUp .8s ease .12s forwards; }
.maisi-deck .mframe.is-inview .s-stage .h-title{ animation:mFadeUp .9s ease .24s forwards; }
.maisi-deck .mframe.is-inview .stage-l > .body:nth-of-type(1){ animation:mFadeUp .9s ease .38s forwards; }
.maisi-deck .mframe.is-inview .stage-l .feat:nth-child(1){ animation:mFadeUp .65s ease .50s forwards; }
.maisi-deck .mframe.is-inview .stage-l .feat:nth-child(2){ animation:mFadeUp .65s ease .58s forwards; }
.maisi-deck .mframe.is-inview .stage-l .feat:nth-child(3){ animation:mFadeUp .65s ease .66s forwards; }
.maisi-deck .mframe.is-inview .stage-l .feat:nth-child(4){ animation:mFadeUp .65s ease .74s forwards; }
.maisi-deck .mframe.is-inview .stage-l .feat:nth-child(5){ animation:mFadeUp .65s ease .82s forwards; }
.maisi-deck .mframe.is-inview .stage-l > .body:nth-of-type(2){ animation:mFadeUp .9s ease .92s forwards; }
.maisi-deck .mframe.is-inview .s-stage .facts .f:nth-child(1){ animation:mFadeUp .8s ease 1.02s forwards; }
.maisi-deck .mframe.is-inview .s-stage .facts .f:nth-child(2){ animation:mFadeUp .8s ease 1.14s forwards; }
.maisi-deck .mframe.is-inview .s-stage .facts .f:nth-child(3){ animation:mFadeUp .8s ease 1.26s forwards; }

/* ============================================================================
   SLIDE 07 — slow drifting background photo (Ken-Burns loop)
   ============================================================================ */
.maisi-deck .s-concept .bg img.ph{ transform-origin:60% 50%; will-change:transform; animation:mConceptDrift 22s ease-in-out infinite alternate; }
@keyframes mConceptDrift{
  0%   { transform:scale(1.08) translate(0,0); }
  50%  { transform:scale(1.16) translate(-2.4%, -1.6%); }
  100% { transform:scale(1.1) translate(1.8%, 1%); }
}

/* ============================================================================
   SLIDE 10 — contact info (left) + submission form (right)
   ============================================================================ */
.maisi-deck .s-loc .panel{ display:grid; grid-template-columns:1.02fr 0.78fr; gap:90px; align-items:center; justify-content:initial; text-align:left; padding:110px 120px; }
.maisi-deck .s-loc .loc-info{ display:flex; flex-direction:column; align-items:flex-start; }
.maisi-deck .s-loc .panel .eyebrow{ justify-content:flex-start; }
.maisi-deck .s-loc .panel h2{ font-size:74px; text-align:left; margin:22px 0 50px; }
.maisi-deck .s-loc .clist{ flex-direction:column; justify-content:flex-start; gap:26px; }
.maisi-deck .s-loc .cblock .addr{ font-size:28px; margin-top:8px; }
.maisi-deck .s-loc .ccontact{ align-items:flex-start; margin-top:48px; font-size:30px; gap:16px; }
.maisi-deck .s-loc .ccontact .ccols{ justify-content:flex-start; gap:72px; }
.maisi-deck .s-loc .ccontact .email, .maisi-deck .s-loc .ccontact .web{ font-size:27px; }

/* form card */
.maisi-deck .loc-form{ background:rgba(18,28,38,0.55); backdrop-filter:blur(12px); border:1px solid rgba(224,193,129,0.30); border-radius:24px; padding:46px 44px; display:flex; flex-direction:column; gap:18px; box-shadow:0 26px 64px rgba(8,12,16,0.5); }
.maisi-deck .loc-form__head{ display:flex; flex-direction:column; gap:8px; margin-bottom:6px; }
.maisi-deck .loc-form__title{ font-family:var(--serif-ge); font-size:38px; color:var(--white); line-height:1.1; }
.maisi-deck .loc-form__sub{ font-family:var(--sans-ge); font-size:17px; color:rgba(249,254,252,0.62); line-height:1.4; }
.maisi-deck .lf-field{ display:flex; flex-direction:column; gap:8px; }
.maisi-deck .lf-field > span{ font-family:var(--sans-ge); font-size:15px; letter-spacing:0.03em; color:rgba(249,254,252,0.66); }
.maisi-deck .lf-field input{ font-family:var(--sans-ge); font-size:20px; color:var(--white); background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.18); border-radius:12px; padding:14px 18px; outline:none; transition:border-color .25s ease, background .25s ease; }
.maisi-deck .lf-field input::placeholder{ color:rgba(249,254,252,0.38); }
.maisi-deck .lf-field input:focus{ border-color:var(--gold-2); background:rgba(255,255,255,0.08); }
.maisi-deck .lf-submit{ margin-top:10px; display:inline-flex; align-items:center; justify-content:center; gap:12px; font-family:var(--sans-ge); font-size:20px; color:var(--navy); background:var(--gold-2); border:none; border-radius:12px; padding:16px 22px; cursor:pointer; transition:transform .25s ease, background .25s ease; }
.maisi-deck .lf-submit:hover{ background:#eccd8f; transform:translateY(-2px); }
.maisi-deck .lf-submit svg{ flex:0 0 auto; }
.maisi-deck .lf-thanks{ display:flex; align-items:center; gap:14px; font-family:var(--serif-ge); font-size:23px; color:var(--gold-2); padding:18px 0; }
.maisi-deck .lf-thanks svg{ flex:0 0 auto; color:var(--gold-2); }
.maisi-deck .loc-form.is-sent .loc-form__sub,
.maisi-deck .loc-form.is-sent .lf-field,
.maisi-deck .loc-form.is-sent .lf-submit{ display:none; }

/* entrance */
.maisi-deck .s-loc .loc-info, .maisi-deck .loc-form{ opacity:0; transform:translateY(26px); }
.maisi-deck .mframe.is-inview .s-loc .loc-info{ animation:mFadeUp .9s ease .2s forwards; }
.maisi-deck .mframe.is-inview .loc-form{ animation:mFadeUp .9s ease .4s forwards; }

/* ── REDESIGN: satellite map background + info top-left + form bottom-left ── */
.maisi-deck .s-loc .loc-bg{ filter:none; }
.maisi-deck .s-loc .loc-map{ position:absolute; inset:0; width:100%; height:100%; z-index:1; background:#0E1820; }
.maisi-deck .s-loc .loc-map .leaflet-control-attribution{ display:none; }
/* neutralise the old background-image styling (blur/cover/scale) for Leaflet tiles */
.maisi-deck .s-loc .loc-bg img{ filter:none; transform:none; max-width:none; object-fit:fill; }
/* dark scrim — heavy on the left where the cards sit, fading to clear on the right */
.maisi-deck .s-loc .loc-bg::after{ z-index:2; background:
  linear-gradient(90deg, rgba(13,22,30,0.92) 0%, rgba(13,22,30,0.78) 30%, rgba(13,22,30,0.28) 56%, rgba(13,22,30,0.05) 74%, transparent 88%),
  linear-gradient(180deg, rgba(13,22,30,0.55) 0%, transparent 26%, transparent 74%, rgba(13,22,30,0.55) 100%); pointer-events:none; }

/* panel becomes a left column: info pinned top, form pinned bottom */
.maisi-deck .s-loc .panel{ display:flex; flex-direction:column; align-items:flex-start; justify-content:space-between;
  text-align:left; padding:84px 96px; gap:32px; pointer-events:none; }
.maisi-deck .s-loc .panel > *{ pointer-events:auto; }

/* TOP-LEFT — contact info as a glass card (condensed to share height with the form) */
.maisi-deck .s-loc .loc-info{ width:680px; max-width:50%;
  background:rgba(18,28,38,0.55); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);
  border:1px solid rgba(224,193,129,0.30); border-radius:24px; padding:40px 44px;
  box-shadow:0 26px 64px rgba(8,12,16,0.5); }
.maisi-deck .s-loc .panel h2{ font-size:46px; margin:18px 0 28px; }
.maisi-deck .s-loc .clist{ gap:20px; }
.maisi-deck .s-loc .cblock .nm{ font-size:14px; }
.maisi-deck .s-loc .cblock .addr{ font-size:22px; margin-top:6px; }
.maisi-deck .s-loc .cblock .pinic{ width:28px; height:34px; top:6px; }
.maisi-deck .s-loc .ccontact{ margin-top:30px; font-size:23px; gap:14px; }
.maisi-deck .s-loc .ccontact .ccols{ gap:56px; }
.maisi-deck .s-loc .ccontact .ccol{ gap:16px; }
.maisi-deck .s-loc .ccontact .email, .maisi-deck .s-loc .ccontact .web{ font-size:21px; }
.maisi-deck .s-loc .ccontact .crow .ci{ width:30px; height:30px; }

/* BOTTOM-LEFT — submission form (condensed) */
.maisi-deck .s-loc .loc-form{ width:680px; max-width:50%; padding:34px 40px; gap:14px; }
.maisi-deck .s-loc .loc-form__title{ font-size:32px; }
.maisi-deck .s-loc .loc-form__sub{ font-size:16px; }
.maisi-deck .s-loc .lf-field input{ font-size:18px; padding:11px 16px; }
.maisi-deck .s-loc .lf-submit{ font-size:18px; padding:13px 20px; }

/* map pins — gold dot + pulse ring + name label */
.maisi-deck .s-loc .mpin{ position:relative; }
.maisi-deck .s-loc .mpin__dot{ position:absolute; left:50%; top:50%; width:18px; height:18px; margin:-9px 0 0 -9px;
  background:var(--gold-2); border:3px solid #fff; border-radius:50%; box-shadow:0 2px 8px rgba(0,0,0,0.6); }
.maisi-deck .s-loc .mpin__ring{ position:absolute; left:50%; top:50%; width:18px; height:18px; margin:-9px 0 0 -9px;
  border-radius:50%; border:2px solid var(--gold-2); animation:mPinPulse 2.4s ease-out infinite; }
@keyframes mPinPulse{ 0%{ transform:scale(1); opacity:.8; } 100%{ transform:scale(3.4); opacity:0; } }
.maisi-deck .s-loc .mpin__lbl{ position:absolute; left:50%; bottom:24px; transform:translateX(-50%);
  font-family:var(--sans-ge); font-size:20px; font-weight:600; letter-spacing:0.04em; white-space:nowrap; color:#fff;
  background:rgba(13,22,30,0.78); border:1px solid rgba(224,193,129,0.45); border-radius:999px; padding:5px 16px;
  box-shadow:0 6px 18px rgba(0,0,0,0.45); }
/* MAISI pin uses the brand lockup instead of a text label.
   Strong dark halo (drop-shadows on the logo itself — NOT a background box) keeps
   the white lockup legible over bright satellite imagery. */
/* NB: must override the generic `.s-loc .loc-bg img` rule (higher specificity)
   which otherwise forces width/height:100% + object-fit and shrinks the logo to
   the ~18px marker box. !important keeps the logo at its real size + aspect. */
.maisi-deck .s-loc .mpin__logo{ position:absolute; left:50%; bottom:26px;
  width:190px !important; height:auto !important; max-width:none !important;
  object-fit:none !important; transform:translateX(-50%) !important; pointer-events:none;
  filter: drop-shadow(0 0 1px #000) drop-shadow(0 0 2px #000) drop-shadow(0 0 4px rgba(0,0,0,0.95)) drop-shadow(0 0 9px rgba(0,0,0,0.9)) drop-shadow(0 2px 14px rgba(0,0,0,0.85)) !important; }

/* contact slide: taller frame → bigger map + room for the full form (no bottom clip) */
.maisi-deck #contact::before{ padding-top:68.75%; }   /* 1320 / 1920 */
.maisi-deck #contact .mslide{ height:1320px; }

/* ============================================================================
   INVESTMENT GROWTH slide — animated 10-year growth chart
   ============================================================================ */
.maisi-deck .inv{ padding:0; overflow:hidden; color:#fff; background:#0E1B2A; }
.maisi-deck .inv-bg{ position:absolute; inset:0; z-index:0;
  background:
    radial-gradient(1300px 760px at 76% 10%, rgba(224,193,129,0.18), transparent 60%),
    radial-gradient(1100px 900px at 96% 64%, rgba(90,169,230,0.12), transparent 62%),
    radial-gradient(900px 700px at 50% 120%, rgba(224,193,129,0.10), transparent 60%),
    linear-gradient(180deg, #17283b 0%, #0e1b2a 55%, #0a1320 100%); }

.maisi-deck .inv-logo{ position:absolute; left:90px; top:62px; height:62px; width:auto; z-index:4; }

.maisi-deck .inv-head{ position:absolute; left:90px; top:196px; z-index:4; }
.maisi-deck .inv-title{ font-family:var(--sans-en); font-weight:700; font-size:76px; line-height:1.02; letter-spacing:0.005em; margin:0; color:#fff; text-transform:uppercase; }
.maisi-deck .inv-title .y{ color:var(--gold-2); }
.maisi-deck .inv-rule{ display:block; width:120px; height:3px; background:var(--gold-2); margin:28px 0 20px; }
.maisi-deck .inv-sub{ font-family:var(--sans-en); font-size:24px; font-weight:500; letter-spacing:0.2em; color:rgba(255,255,255,0.82); margin:0; text-transform:uppercase; }

.maisi-deck .inv-return{ position:absolute; right:90px; top:68px; z-index:4; display:flex; flex-direction:column; align-items:flex-end; text-align:right; }
.maisi-deck .inv-return__lbl{ font-family:var(--sans-en); font-size:18px; font-weight:600; letter-spacing:0.2em; color:var(--gold-2); text-transform:uppercase; }
.maisi-deck .inv-return__big{ font-family:var(--sans-en); font-weight:800; font-size:92px; line-height:1; color:#fff; margin-top:4px; }
.maisi-deck .inv-return__pill{ margin-top:16px; background:var(--gold-2); color:var(--navy); font-family:var(--sans-en); font-weight:700; font-size:36px; padding:10px 30px; border-radius:10px; box-shadow:0 10px 30px rgba(224,193,129,0.25); }

.maisi-deck .inv-chart{ position:absolute; inset:0; z-index:1; width:100%; height:100%; }
.maisi-deck .inv-val{ position:absolute; z-index:3; font-family:var(--sans-en); font-weight:700; font-size:30px; transform:translateY(-50%); white-space:nowrap; }
.maisi-deck .inv-val--blue{ color:#7CC0F2; }
.maisi-deck .inv-val--white{ color:#E8EDF2; }

.maisi-deck .inv-legend{ position:absolute; left:0; right:0; bottom:50px; z-index:4; display:flex; align-items:center; justify-content:center; gap:46px; }
.maisi-deck .inv-leg{ display:flex; flex-direction:column; align-items:center; gap:12px; font-family:var(--sans-en); font-size:21px; font-weight:600; letter-spacing:0.12em; text-transform:uppercase; }
.maisi-deck .inv-leg svg{ width:40px; height:40px; }
.maisi-deck .inv-leg--blue{ color:#7CC0F2; }
.maisi-deck .inv-leg--white{ color:#E8EDF2; }
.maisi-deck .inv-leg--gold{ color:var(--gold-2); }
.maisi-deck .inv-op{ font-family:var(--sans-en); font-size:36px; font-weight:400; color:rgba(255,255,255,0.5); }

/* entrance */
.maisi-deck .inv-logo, .maisi-deck .inv-head, .maisi-deck .inv-return, .maisi-deck .inv-legend{ opacity:0; transform:translateY(24px); }
.maisi-deck .mframe.is-inview .inv-logo{ animation:mFadeUp .8s ease .10s forwards; }
.maisi-deck .mframe.is-inview .inv-head{ animation:mFadeUp .9s ease .24s forwards; }
.maisi-deck .mframe.is-inview .inv-return{ animation:mFadeUp .9s ease .40s forwards; }
.maisi-deck .mframe.is-inview .inv-legend{ animation:mFadeUp .9s ease 2.7s forwards; }

.maisi-deck .inv-grid{ opacity:0; }
.maisi-deck .mframe.is-inview .inv-grid{ animation:mFadeIn 1s ease .3s forwards; }
.maisi-deck .inv-xlabels{ opacity:0; }
.maisi-deck .mframe.is-inview .inv-xlabels{ animation:mFadeIn .9s ease .5s forwards; }
.maisi-deck .inv-vline{ opacity:0; }
.maisi-deck .mframe.is-inview .inv-vline{ animation:mFadeIn .8s ease 2.2s forwards; }

.maisi-deck .inv-line{ stroke-dasharray:2300; stroke-dashoffset:2300; }
.maisi-deck .mframe.is-inview .inv-line--white{ animation:invDraw 2s ease .45s forwards; }
.maisi-deck .mframe.is-inview .inv-line--blue{ animation:invDraw 2s ease .60s forwards; }
.maisi-deck .mframe.is-inview .inv-line--gold{ animation:invDraw 2s ease .75s forwards; }
@keyframes invDraw{ to{ stroke-dashoffset:0; } }

.maisi-deck .inv-dot{ opacity:0; }
.maisi-deck .mframe.is-inview .inv-dot{ animation:mFadeIn .5s ease 2.45s forwards; }
.maisi-deck .inv-val{ opacity:0; }
.maisi-deck .mframe.is-inview .inv-val{ animation:mFadeIn .7s ease 2.55s forwards; }

@media (prefers-reduced-motion: reduce){
  .maisi-deck .inv-logo, .maisi-deck .inv-head, .maisi-deck .inv-return, .maisi-deck .inv-legend,
  .maisi-deck .inv-grid, .maisi-deck .inv-xlabels, .maisi-deck .inv-vline, .maisi-deck .inv-dot, .maisi-deck .inv-val{
    opacity:1 !important; transform:none !important; animation:none !important;
  }
  .maisi-deck .inv-line{ stroke-dashoffset:0 !important; animation:none !important; }
}

/* ── reduced motion: show everything, drop motion ── */
@media (prefers-reduced-motion: reduce){
  .maisi-deck .s-loc .loc-info, .maisi-deck .loc-form{ opacity:1 !important; transform:none !important; animation:none !important; }
  .maisi-deck .s-concept .bg img.ph{ animation:none !important; transform:scale(1.08) !important; }
  .maisi-deck .vz-logo,
  .maisi-deck .s-stage .eyebrow, .maisi-deck .s-stage .h-title,
  .maisi-deck .stage-l > .body, .maisi-deck .stage-l .feat, .maisi-deck .s-stage .facts .f{
    opacity:1 !important; transform:none !important; animation:none !important;
  }
  .maisi-deck .cover-wordmark .logo-lockup,
  .maisi-deck .cover-top, .maisi-deck .cover-bottom .gold-rule, .maisi-deck .cover-bottom .sub,
  .maisi-deck .s-voice .eyebrow, .maisi-deck .s-voice .quotemark,
  .maisi-deck .s-voice .q1, .maisi-deck .s-voice .q2, .maisi-deck .s-voice .attrib,
  .maisi-deck .vz-head .eyebrow, .maisi-deck .vz-title, .maisi-deck .vz-rule, .maisi-deck .vz-sign, .maisi-deck .vz-item, .maisi-deck .vz-ghost,
  .maisi-deck .s-concept .eyebrow, .maisi-deck .s-concept .big, .maisi-deck .s-concept .copy .body,
  .maisi-deck .mw-header, .maisi-deck .mw-logo, .maisi-deck .mw-page, .maisi-deck .mw-rings, .maisi-deck .mw-legend, .maisi-deck .mw-poi{
    opacity:1 !important; transform:none !important; filter:none !important; animation:none !important;
  }
  .maisi-deck .mw-poi{ transform:translate(-50%,-50%) !important; }
  .maisi-deck .mw-maisi{ animation:none !important; transform:translate(-50%,-50%) !important; opacity:1 !important; }
  .maisi-deck .mw-intro{ display:none !important; }
  .maisi-deck .s-voice .bg img{ transform:scale(1.08) !important; animation:none !important; }
}
