@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;0,9..40,800;1,9..40,300;1,9..40,400;1,9..40,500;1,9..40,600&family=Instrument+Serif:ital@0;1&display=swap');

/* ═══════════════════════════════════════════════════════════
   ROOT / RESET
   ═══════════════════════════════════════════════════════════ */
.msv-root,
.msv-root *,
.msv-root *::before,
.msv-root *::after{
  box-sizing:border-box;
  margin:0;
  padding:0;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

.msv-root{
  --msv-black:#111111;
  --msv-dark:#1a1a1a;
  --msv-gray-950:#141414;
  --msv-gray-900:#222222;
  --msv-gray-800:#3b3b3b;
  --msv-gray-700:#555555;
  --msv-gray-600:#6c6c6c;
  --msv-gray-500:#8b8b8b;
  --msv-gray-400:#a9a9a9;
  --msv-gray-300:#cfcfcf;
  --msv-gray-200:#e8e8e8;
  --msv-gray-150:#efefef;
  --msv-gray-100:#f7f7f7;
  --msv-white:#ffffff;
  --msv-coral:#ff6b5b;
  --msv-coral-light:#ff8a7a;
  --msv-orange:#ff9f43;
  --msv-pink:#ffcec7;
  --msv-pink-light:#ffe8e4;
  --msv-peach:#ffecd2;
  --msv-bg:#f8f8f8;
  --msv-border:rgba(0,0,0,.07);
  --msv-border-soft:rgba(0,0,0,.05);
  --msv-shadow-sm:0 1px 3px rgba(0,0,0,.04),0 1px 2px rgba(0,0,0,.05);
  --msv-shadow-md:0 8px 30px rgba(0,0,0,.06),0 2px 8px rgba(0,0,0,.04);
  --msv-shadow-lg:0 18px 60px rgba(0,0,0,.08),0 6px 20px rgba(0,0,0,.05);
  --msv-shadow-xl:0 28px 100px rgba(0,0,0,.10),0 10px 36px rgba(0,0,0,.06);
  --msv-radius-sm:8px;
  --msv-radius-md:12px;
  --msv-radius-lg:16px;
  --msv-radius-xl:24px;
  --msv-radius-2xl:28px;
  --msv-radius-pill:999px;
  --msv-font:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --msv-serif:'Instrument Serif',Georgia,serif;
  --msv-transition:cubic-bezier(.25,.46,.45,.94);
  font-family:var(--msv-font);
  color:var(--msv-black);
  background:var(--msv-bg);
  line-height:1.5;
  overflow-x:hidden;
  position:relative;
  width:100%;
}

.msv-root img{display:block;max-width:100%}
.msv-root a{text-decoration:none;color:inherit}
.msv-root button{border:none;background:none;font:inherit;cursor:pointer;color:inherit}
.msv-root input,
.msv-root textarea,
.msv-root select{font:inherit;outline:none;color:inherit;background:none;border:none}
.msv-root ::selection{background:var(--msv-black);color:#fff}

.msv-container{
  position:relative;
  z-index:1;
  max-width:1240px;
  margin:0 auto;
  padding:0 32px;
  width:100%;
}

/* ═══════════════════════════════════════════════════════════
   ANIMATIONS
   ═══════════════════════════════════════════════════════════ */
@keyframes msv-fadeInUp{
  from{opacity:0;transform:translateY(30px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes msv-fadeIn{
  from{opacity:0}
  to{opacity:1}
}
@keyframes msv-scaleIn{
  from{opacity:0;transform:scale(.96)}
  to{opacity:1;transform:scale(1)}
}
@keyframes msv-slideDown{
  from{opacity:0;transform:translateY(-15px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes msv-float{
  0%,100%{transform:translateY(0) rotate(0)}
  33%{transform:translateY(-8px) rotate(.35deg)}
  66%{transform:translateY(4px) rotate(-.2deg)}
}
@keyframes msv-blobMove1{
  0%,100%{transform:translate(0,0) scale(1)}
  25%{transform:translate(30px,-20px) scale(1.05)}
  50%{transform:translate(-12px,18px) scale(.97)}
  75%{transform:translate(18px,10px) scale(1.03)}
}
@keyframes msv-blobMove2{
  0%,100%{transform:translate(0,0) scale(1)}
  25%{transform:translate(-25px,16px) scale(1.03)}
  50%{transform:translate(15px,-18px) scale(.96)}
  75%{transform:translate(-10px,-8px) scale(1.05)}
}
@keyframes msv-marquee{
  0%{transform:translateX(0)}
  100%{transform:translateX(-50%)}
}
@keyframes msv-spin{
  to{transform:rotate(360deg)}
}
@keyframes msv-sparkle{
  0%,100%{opacity:1;transform:scale(1) rotate(0deg)}
  50%{opacity:.75;transform:scale(1.12) rotate(12deg)}
}

/* ═══════════════════════════════════════════════════════════
   BG BLOBS
   ═══════════════════════════════════════════════════════════ */
.msv-bg-blobs{
  position:absolute;
  inset:0;
  pointer-events:none;
  overflow:hidden;
  z-index:0;
}
.msv-blob{
  position:absolute;
  border-radius:50%;
  filter:blur(80px);
  opacity:.36;
}
.msv-blob--1{
  width:500px;height:500px;
  background:radial-gradient(circle,var(--msv-pink) 0%,transparent 70%);
  top:-110px;left:-150px;
  animation:msv-blobMove1 20s ease-in-out infinite;
}
.msv-blob--2{
  width:420px;height:420px;
  background:radial-gradient(circle,var(--msv-peach) 0%,transparent 70%);
  top:-40px;right:-120px;
  animation:msv-blobMove2 18s ease-in-out infinite;
}
.msv-blob--3{
  width:360px;height:360px;
  background:radial-gradient(circle,var(--msv-pink-light) 0%,transparent 70%);
  top:390px;left:50%;
  transform:translateX(-50%);
  animation:msv-blobMove1 22s ease-in-out infinite reverse;
}
.msv-blob--4{
  width:290px;height:290px;
  background:radial-gradient(circle,rgba(255,159,67,.18) 0%,transparent 70%);
  top:220px;right:7%;
  animation:msv-blobMove2 16s ease-in-out infinite;
}

/* ═══════════════════════════════════════════════════════════
   NAV
   ═══════════════════════════════════════════════════════════ */
.msv-nav{
  position:relative;
  z-index:110;
  padding:20px 0;
  animation:msv-slideDown .6s var(--msv-transition) both;
}
.msv-nav__inner{
  max-width:1240px;
  margin:0 auto;
  padding:0 32px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.msv-nav__left{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
}
.msv-nav__logo{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}
.msv-nav__logo-mark{
  width:38px;
  height:38px;
  border-radius:11px;
  background:var(--msv-black);
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  box-shadow:var(--msv-shadow-sm);
}
.msv-nav__logo-mark img{
  width:18px;
  height:18px;
  object-fit:contain;
  filter:brightness(0) invert(1);
}
.msv-nav__logo-text{
  display:flex;
  flex-direction:column;
  min-width:0;
}
.msv-nav__logo-title{
  font-size:18px;
  line-height:1;
  font-weight:800;
  letter-spacing:-.03em;
  color:var(--msv-black);
  white-space:nowrap;
}
.msv-nav__logo-sub{
  font-size:11px;
  line-height:1.1;
  color:var(--msv-gray-500);
  margin-top:3px;
  white-space:nowrap;
}
.msv-nav__separator{
  width:1px;
  height:24px;
  background:var(--msv-gray-300);
  margin:0 8px 0 16px;
  flex-shrink:0;
}
.msv-nav__links{
  display:flex;
  align-items:center;
  gap:4px;
  list-style:none;
}
.msv-nav__link{
  font-size:15px;
  font-weight:400;
  color:var(--msv-gray-600);
  padding:8px 14px;
  border-radius:var(--msv-radius-sm);
  transition:all .25s var(--msv-transition);
  white-space:nowrap;
}
.msv-nav__link:hover{
  color:var(--msv-black);
  background:rgba(0,0,0,.03);
}
.msv-nav__link--active{
  color:var(--msv-black);
  font-weight:600;
}
.msv-nav__link--active::before{
  content:'- ';
}
.msv-nav__center{
  display:flex;
  align-items:center;
}
.msv-nav__menu-btn{
  display:flex;
  align-items:center;
  gap:8px;
  padding:9px 18px;
  border:1px solid var(--msv-gray-200);
  border-radius:var(--msv-radius-pill);
  background:var(--msv-white);
  color:var(--msv-black);
  font-size:14px;
  font-weight:500;
  box-shadow:var(--msv-shadow-sm);
  transition:all .25s var(--msv-transition);
}
.msv-nav__menu-btn:hover{
  border-color:var(--msv-gray-300);
  box-shadow:var(--msv-shadow-md);
}
.msv-nav__menu-btn svg{
  width:16px;height:16px;
}
.msv-nav__right{
  display:flex;
  align-items:center;
  gap:8px;
}
.msv-nav__ghost{
  display:flex;
  align-items:center;
  gap:8px;
  padding:9px 18px;
  border-radius:var(--msv-radius-pill);
  font-size:14px;
  font-weight:500;
  color:var(--msv-black);
  transition:all .25s var(--msv-transition);
}
.msv-nav__ghost:hover{
  background:rgba(0,0,0,.03);
}
.msv-nav__ghost svg{
  width:18px;height:18px;
}
.msv-nav__cta{
  display:flex;
  align-items:center;
  gap:8px;
  padding:10px 22px;
  background:var(--msv-white);
  border:1px solid var(--msv-gray-200);
  border-radius:var(--msv-radius-pill);
  box-shadow:var(--msv-shadow-sm);
  color:var(--msv-black);
  font-size:14px;
  font-weight:600;
  transition:all .25s var(--msv-transition);
  white-space:nowrap;
}
.msv-nav__cta:hover{
  border-color:var(--msv-gray-300);
  box-shadow:var(--msv-shadow-md);
}
.msv-nav__hamburger{
  display:none;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  width:44px;height:44px;
  background:var(--msv-white);
  border:1px solid var(--msv-gray-200);
  border-radius:var(--msv-radius-md);
  gap:5px;
  box-shadow:var(--msv-shadow-sm);
  position:relative;
  z-index:111;
  transition:all .25s var(--msv-transition);
}
.msv-nav__hamburger span{
  display:block;
  width:20px;height:2px;
  border-radius:2px;
  background:var(--msv-black);
  transition:all .3s var(--msv-transition);
  transform-origin:center;
}
.msv-nav__hamburger.msv-active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.msv-nav__hamburger.msv-active span:nth-child(2){opacity:0}
.msv-nav__hamburger.msv-active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}

.msv-nav__mobile{
  display:none;
  position:fixed;
  inset:0;
  background:rgba(255,255,255,.97);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  z-index:109;
  flex-direction:column;
  padding:100px 24px 36px;
  opacity:0;
  transition:opacity .3s var(--msv-transition);
}
.msv-nav__mobile.msv-active{
  display:flex;
  opacity:1;
}
.msv-nav__mobile-links{
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:4px;
}
.msv-nav__mobile-link{
  display:block;
  padding:16px 0;
  font-size:28px;
  font-weight:700;
  color:var(--msv-black);
  border-bottom:1px solid var(--msv-gray-100);
}
.msv-nav__mobile-actions{
  margin-top:auto;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.msv-nav__mobile-ghost,
.msv-nav__mobile-cta{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:16px 24px;
  border-radius:var(--msv-radius-pill);
  font-size:16px;
  font-weight:600;
}
.msv-nav__mobile-ghost{
  background:var(--msv-white);
  border:1px solid var(--msv-gray-200);
  box-shadow:var(--msv-shadow-sm);
}
.msv-nav__mobile-cta{
  background:var(--msv-black);
  color:#fff;
}

/* ═══════════════════════════════════════════════════════════
   HERO
   ═══════════════════════════════════════════════════════════ */
.msv-hero{
  position:relative;
  z-index:1;
  text-align:center;
  padding:48px 0 0;
}
.msv-hero__badge{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:8px 22px 8px 16px;
  background:var(--msv-white);
  border:1px solid var(--msv-gray-200);
  border-radius:var(--msv-radius-pill);
  box-shadow:var(--msv-shadow-sm);
  margin-bottom:36px;
  animation:msv-fadeInUp .7s var(--msv-transition) .1s both;
  transition:all .3s var(--msv-transition);
}
.msv-hero__badge:hover{
  box-shadow:var(--msv-shadow-md);
  border-color:var(--msv-gray-300);
}
.msv-hero__badge-sparkle{
  display:flex;
  align-items:center;
  animation:msv-sparkle 2s ease-in-out infinite;
}
.msv-hero__badge-sparkle svg{
  width:18px;height:18px;
}
.msv-hero__badge-new{
  font-size:14px;
  font-weight:700;
  color:var(--msv-coral);
}
.msv-hero__badge-text{
  font-size:14px;
  font-weight:400;
  color:var(--msv-gray-700);
}
.msv-hero__badge-version{
  color:var(--msv-coral);
  font-weight:700;
}
.msv-hero__heading{
  font-size:clamp(38px,5.6vw,72px);
  line-height:1.06;
  letter-spacing:-.045em;
  font-weight:800;
  color:var(--msv-black);
  max-width:900px;
  margin:0 auto 22px;
  animation:msv-fadeInUp .7s var(--msv-transition) .24s both;
}
.msv-hero__heading em{
  font-family:var(--msv-serif);
  font-style:italic;
  font-weight:400;
}
.msv-hero__heading-gradient{
  background:linear-gradient(135deg,var(--msv-coral) 0%,var(--msv-orange) 60%,var(--msv-coral-light) 100%);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
  font-style:italic;
}
.msv-hero__subtitle{
  font-size:clamp(15px,1.35vw,18px);
  font-weight:400;
  color:var(--msv-gray-600);
  max-width:760px;
  line-height:1.7;
  margin:0 auto 38px;
  animation:msv-fadeInUp .7s var(--msv-transition) .38s both;
}
.msv-hero__actions{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  flex-wrap:wrap;
  margin-bottom:56px;
  animation:msv-fadeInUp .7s var(--msv-transition) .52s both;
}
.msv-hero__btn-secondary,
.msv-hero__btn-primary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:14px 30px;
  border-radius:var(--msv-radius-pill);
  font-size:15px;
  font-weight:600;
  transition:all .3s var(--msv-transition);
  white-space:nowrap;
}
.msv-hero__btn-secondary{
  background:var(--msv-white);
  border:1px solid var(--msv-gray-200);
  box-shadow:var(--msv-shadow-sm);
}
.msv-hero__btn-secondary:hover{
  border-color:var(--msv-gray-300);
  box-shadow:var(--msv-shadow-md);
  transform:translateY(-1px);
}
.msv-hero__btn-primary{
  background:var(--msv-black);
  color:#fff;
  border:1px solid var(--msv-black);
  box-shadow:0 4px 15px rgba(0,0,0,.2);
}
.msv-hero__btn-primary:hover{
  background:var(--msv-gray-900);
  transform:translateY(-1px);
  box-shadow:0 8px 26px rgba(0,0,0,.24);
}
.msv-hero__btn-primary svg,
.msv-hero__btn-secondary svg{
  width:16px;height:16px;
}

/* ═══════════════════════════════════════════════════════════
   DASHBOARD PREVIEW
   ═══════════════════════════════════════════════════════════ */
.msv-dashboard{
  position:relative;
  z-index:1;
  max-width:1160px;
  margin:0 auto;
  padding:0 32px 26px;
  animation:msv-scaleIn .8s var(--msv-transition) .66s both;
}
.msv-dashboard__frame{
  position:relative;
  width:100%;
  overflow:hidden;
  border-radius:22px;
  border:1px solid rgba(0,0,0,.06);
  background:rgba(255,255,255,.82);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  box-shadow:var(--msv-shadow-xl);
  transition:all .4s var(--msv-transition);
  animation:msv-float 8s ease-in-out infinite;
}
.msv-dashboard__frame:hover{
  box-shadow:0 32px 100px rgba(0,0,0,.12),0 10px 40px rgba(0,0,0,.06);
}
.msv-dashboard__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 18px;
  border-bottom:1px solid rgba(0,0,0,.05);
  background:rgba(255,255,255,.72);
}
.msv-dashboard__dots{
  display:flex;
  gap:7px;
}
.msv-dashboard__dots span{
  width:10px;height:10px;border-radius:50%;
  background:rgba(0,0,0,.08);
}
.msv-dashboard__url{
  font-size:11px;
  color:var(--msv-gray-500);
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  display:flex;
  align-items:center;
  gap:6px;
}
.msv-dashboard__url svg{width:12px;height:12px;opacity:.45}

.msv-dash{
  display:grid;
  grid-template-columns:220px 1fr;
  min-height:520px;
}
.msv-dash__side{
  border-right:1px solid rgba(0,0,0,.05);
  padding:18px 14px;
  background:linear-gradient(180deg,rgba(255,255,255,.84) 0%,rgba(247,247,247,.92) 100%);
}
.msv-dash__side-logo{
  height:16px;width:auto;opacity:.7;margin:2px 6px 18px;
}
.msv-dash__side-label{
  font-size:10px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--msv-gray-500);
  font-weight:700;
  padding:8px 8px 4px;
}
.msv-dash__side-item{
  display:flex;
  align-items:center;
  gap:8px;
  padding:10px 10px;
  border-radius:12px;
  font-size:13px;
  color:var(--msv-gray-700);
  transition:all .2s var(--msv-transition);
}
.msv-dash__side-item svg{
  width:15px;height:15px;opacity:.5;flex-shrink:0;
}
.msv-dash__side-item.is-active{
  background:rgba(0,0,0,.045);
  color:var(--msv-black);
  font-weight:600;
}
.msv-dash__side-count{
  margin-left:auto;
  font-size:10px;
  color:var(--msv-gray-500);
}

.msv-dash__main{
  padding:20px;
  background:linear-gradient(180deg,rgba(255,255,255,.68) 0%,rgba(247,247,247,.92) 100%);
  display:flex;
  flex-direction:column;
  gap:14px;
}
.msv-dash__main-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.msv-dash__path{
  font-size:11px;
  color:var(--msv-gray-500);
}
.msv-dash__live{
  display:flex;
  align-items:center;
  gap:6px;
  font-size:10px;
  color:var(--msv-gray-500);
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
}
.msv-dash__live::before{
  content:'';
  width:6px;height:6px;border-radius:50%;
  background:#34c759;
  box-shadow:0 0 8px rgba(52,199,89,.45);
}
.msv-dash__hero{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  gap:14px;
}
.msv-dash__profile{
  background:rgba(255,255,255,.9);
  border:1px solid rgba(0,0,0,.05);
  border-radius:18px;
  overflow:hidden;
  box-shadow:var(--msv-shadow-sm);
}
.msv-dash__banner{
  height:76px;
  background:linear-gradient(135deg,#ffd7d1 0%,#ffe9d2 100%);
}
.msv-dash__profile-row{
  display:flex;
  align-items:flex-end;
  gap:12px;
  padding:0 18px 16px;
  margin-top:-24px;
}
.msv-dash__avatar{
  width:52px;height:52px;border-radius:16px;
  background:var(--msv-black);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:14px;
  font-weight:700;
  border:3px solid #fff;
  box-shadow:0 8px 18px rgba(0,0,0,.12);
  flex-shrink:0;
}
.msv-dash__profile-text{
  flex:1;
  min-width:0;
}
.msv-dash__name{
  display:flex;
  align-items:center;
  gap:6px;
  font-size:15px;
  font-weight:700;
  color:var(--msv-black);
  white-space:nowrap;
}
.msv-dash__name svg{
  width:15px;height:15px;flex-shrink:0;color:#007aff;
}
.msv-dash__role{
  font-size:12px;
  color:var(--msv-gray-500);
  margin-top:2px;
}
.msv-dash__save{
  flex-shrink:0;
  align-self:flex-end;
  margin-bottom:3px;
  padding:8px 12px;
  border-radius:999px;
  background:var(--msv-black);
  color:#fff;
  font-size:11px;
  font-weight:700;
}
.msv-dash__tabs{
  display:flex;
  gap:4px;
  padding:0 14px 14px;
  flex-wrap:wrap;
}
.msv-dash__tab{
  font-size:11px;
  padding:7px 11px;
  border-radius:999px;
  color:var(--msv-gray-600);
  background:rgba(0,0,0,.03);
}
.msv-dash__tab.is-active{
  color:var(--msv-black);
  background:rgba(0,0,0,.07);
  font-weight:700;
}

.msv-dash__insights{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
}
.msv-dash__metric{
  background:rgba(255,255,255,.9);
  border:1px solid rgba(0,0,0,.05);
  border-radius:18px;
  padding:18px;
  box-shadow:var(--msv-shadow-sm);
}
.msv-dash__metric-label{
  font-size:11px;
  color:var(--msv-gray-500);
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:700;
  margin-bottom:10px;
}
.msv-dash__metric-value{
  font-size:34px;
  line-height:1;
  letter-spacing:-.05em;
  font-weight:800;
  color:var(--msv-black);
}
.msv-dash__metric-sub{
  margin-top:8px;
  font-size:12px;
  color:var(--msv-gray-600);
}

.msv-dash__rows{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.msv-dash__row{
  background:rgba(255,255,255,.92);
  border:1px solid rgba(0,0,0,.05);
  border-radius:16px;
  padding:14px 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  box-shadow:var(--msv-shadow-sm);
}
.msv-dash__row-text{
  min-width:0;
}
.msv-dash__row-title{
  font-size:14px;
  font-weight:700;
  color:var(--msv-black);
}
.msv-dash__row-sub{
  font-size:12px;
  color:var(--msv-gray-500);
  margin-top:3px;
}
.msv-dash__badge{
  flex-shrink:0;
  font-size:11px;
  font-weight:700;
  padding:7px 11px;
  border-radius:999px;
  border:1px solid transparent;
}
.msv-dash__badge--live{
  background:rgba(255,107,91,.08);
  color:#cf4e40;
  border-color:rgba(255,107,91,.15);
}
.msv-dash__badge--soft{
  background:rgba(0,0,0,.03);
  color:var(--msv-gray-600);
  border-color:rgba(0,0,0,.05);
}

/* ═══════════════════════════════════════════════════════════
   HERO METRICS
   ═══════════════════════════════════════════════════════════ */
.msv-hero-metrics{
  padding:8px 32px 26px;
}
.msv-hero-metrics__grid{
  max-width:1160px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}
.msv-hero-metrics__card{
  background:rgba(255,255,255,.82);
  border:1px solid rgba(0,0,0,.06);
  border-radius:18px;
  padding:18px 20px;
  box-shadow:var(--msv-shadow-sm);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  animation:msv-fadeInUp .7s var(--msv-transition) .78s both;
}
.msv-hero-metrics__card:nth-child(2){animation-delay:.86s}
.msv-hero-metrics__card:nth-child(3){animation-delay:.94s}
.msv-hero-metrics__num{
  font-family:var(--msv-serif);
  font-style:italic;
  font-size:28px;
  line-height:1;
  color:var(--msv-black);
  margin-bottom:10px;
}
.msv-hero-metrics__text{
  font-size:13px;
  line-height:1.65;
  color:var(--msv-gray-600);
}

/* ═══════════════════════════════════════════════════════════
   MARQUEE
   ═══════════════════════════════════════════════════════════ */
.msv-marquee{
  position:relative;
  z-index:1;
  overflow:hidden;
  border-top:1px solid rgba(0,0,0,.05);
  border-bottom:1px solid rgba(0,0,0,.05);
  background:rgba(255,255,255,.58);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.msv-marquee__track{
  display:flex;
  gap:36px;
  width:max-content;
  white-space:nowrap;
  animation:msv-marquee 30s linear infinite;
  padding:18px 0;
}
.msv-marquee__item{
  display:flex;
  align-items:center;
  gap:14px;
  font-size:12px;
  color:var(--msv-gray-500);
  font-weight:500;
  flex-shrink:0;
}
.msv-marquee__dot{
  width:4px;height:4px;border-radius:50%;
  background:var(--msv-gray-400);
  opacity:.45;
}

/* ═══════════════════════════════════════════════════════════
   SECTIONS
   ═══════════════════════════════════════════════════════════ */
.msv-section{
  position:relative;
  z-index:1;
  padding:88px 0;
  scroll-margin-top:100px;
}
.msv-section__label{
  font-size:11px;
  letter-spacing:.11em;
  text-transform:uppercase;
  font-weight:700;
  color:var(--msv-gray-500);
  margin-bottom:12px;
}
.msv-section__head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:38px;
}
.msv-section__title{
  font-size:clamp(28px,3.8vw,48px);
  line-height:1.08;
  letter-spacing:-.045em;
  font-weight:800;
  max-width:760px;
  color:var(--msv-black);
}
.msv-section__title em{
  font-family:var(--msv-serif);
  font-style:italic;
  font-weight:400;
}
.msv-section__sub{
  max-width:420px;
  font-size:14px;
  line-height:1.7;
  color:var(--msv-gray-600);
}

/* reveal */
.msv-rv{
  opacity:0;
  transform:translateY(26px);
  transition:opacity .75s var(--msv-transition),transform .75s var(--msv-transition);
}
.msv-rv.is-visible{
  opacity:1;
  transform:translateY(0);
}
.msv-rv-d1{transition-delay:.08s}
.msv-rv-d2{transition-delay:.16s}
.msv-rv-d3{transition-delay:.24s}
.msv-rv-d4{transition-delay:.32s}

/* ═══════════════════════════════════════════════════════════
   APPROACH CARDS
   ═══════════════════════════════════════════════════════════ */
.msv-approach{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}
.msv-approach__card{
  background:rgba(255,255,255,.86);
  border:1px solid rgba(0,0,0,.06);
  border-radius:22px;
  padding:28px 24px;
  box-shadow:var(--msv-shadow-sm);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  transition:transform .35s var(--msv-transition),box-shadow .35s var(--msv-transition),border-color .35s var(--msv-transition);
}
.msv-approach__card:hover{
  transform:translateY(-4px);
  box-shadow:var(--msv-shadow-lg);
  border-color:rgba(0,0,0,.08);
}
.msv-approach__num{
  font-family:var(--msv-serif);
  font-style:italic;
  font-size:40px;
  line-height:1;
  color:rgba(0,0,0,.16);
  margin-bottom:18px;
}
.msv-approach__title{
  font-size:17px;
  line-height:1.25;
  font-weight:700;
  letter-spacing:-.02em;
  margin-bottom:10px;
}
.msv-approach__desc{
  font-size:13px;
  line-height:1.72;
  color:var(--msv-gray-600);
}

/* ═══════════════════════════════════════════════════════════
   PORTFOLIO
   ═══════════════════════════════════════════════════════════ */
.msv-portfolio-wrap{
  background:var(--msv-black);
  color:#fff;
}
.msv-portfolio-wrap .msv-section__label{color:rgba(255,255,255,.30)}
.msv-portfolio-wrap .msv-section__title{color:#fff}
.msv-portfolio-wrap .msv-section__sub{color:rgba(255,255,255,.38)}

.msv-portfolio{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.msv-portfolio__card{
  background:#151515;
  border:1px solid rgba(255,255,255,.06);
  border-radius:22px;
  overflow:hidden;
  box-shadow:none;
  transition:transform .35s var(--msv-transition),border-color .35s var(--msv-transition),box-shadow .35s var(--msv-transition);
}
.msv-portfolio__card:hover{
  transform:translateY(-4px);
  border-color:rgba(255,255,255,.12);
  box-shadow:0 18px 40px rgba(0,0,0,.22);
}
.msv-portfolio__media{
  aspect-ratio:16/10;
  overflow:hidden;
}
.msv-portfolio__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:top;
  transition:transform .6s var(--msv-transition);
}
.msv-portfolio__card:hover .msv-portfolio__media img{
  transform:scale(1.02);
}
.msv-portfolio__body{
  padding:22px 22px 20px;
  border-top:1px solid rgba(255,255,255,.06);
}
.msv-portfolio__title{
  font-family:var(--msv-serif);
  font-size:26px;
  line-height:1.1;
  font-weight:400;
  margin-bottom:6px;
}
.msv-portfolio__desc{
  font-size:12px;
  line-height:1.7;
  color:rgba(255,255,255,.42);
  margin-bottom:14px;
}
.msv-portfolio__tag{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:11px;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:rgba(255,255,255,.48);
  font-weight:700;
}
.msv-portfolio__tag svg{
  width:12px;height:12px;
  transition:transform .25s var(--msv-transition);
}
.msv-portfolio__card:hover .msv-portfolio__tag{
  color:#fff;
}
.msv-portfolio__card:hover .msv-portfolio__tag svg{
  transform:translateX(3px);
}

/* ═══════════════════════════════════════════════════════════
   PROCESS
   ═══════════════════════════════════════════════════════════ */
.msv-process{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  background:rgba(0,0,0,.06);
  border-radius:24px;
  overflow:hidden;
}
.msv-process__step{
  background:rgba(255,255,255,.84);
  padding:28px 22px;
  min-height:220px;
  position:relative;
  transition:background .3s var(--msv-transition);
}
.msv-process__step:hover{
  background:#fff;
}
.msv-process__phase{
  font-family:var(--msv-serif);
  font-style:italic;
  font-size:13px;
  color:var(--msv-gray-500);
  margin-bottom:16px;
}
.msv-process__title{
  font-size:16px;
  line-height:1.25;
  font-weight:700;
  letter-spacing:-.02em;
  margin-bottom:8px;
}
.msv-process__desc{
  font-size:13px;
  line-height:1.72;
  color:var(--msv-gray-600);
}
.msv-process__step::after{
  content:'';
  position:absolute;
  left:22px;right:22px;bottom:0;
  height:2px;
  background:var(--msv-black);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .45s var(--msv-transition);
}
.msv-process__step:hover::after{
  transform:scaleX(1);
}

/* ═══════════════════════════════════════════════════════════
   CTA
   ═══════════════════════════════════════════════════════════ */
.msv-cta{
  position:relative;
  overflow:hidden;
  background:var(--msv-black);
  color:#fff;
  padding:92px 0;
}
.msv-cta::before{
  content:'';
  position:absolute;
  top:-38%;
  left:50%;
  transform:translateX(-50%);
  width:70vw;
  height:70vw;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.04) 0%,transparent 58%);
  pointer-events:none;
}
.msv-cta .msv-section__label{
  color:rgba(255,255,255,.26);
  text-align:center;
}
.msv-cta__title{
  color:#fff;
  font-size:clamp(30px,4.2vw,54px);
  line-height:1.08;
  letter-spacing:-.045em;
  font-weight:800;
  max-width:760px;
  margin:0 auto 14px;
  text-align:center;
}
.msv-cta__title em{
  font-family:var(--msv-serif);
  font-style:italic;
  font-weight:400;
}
.msv-cta__sub{
  max-width:520px;
  margin:0 auto 28px;
  text-align:center;
  font-size:14px;
  line-height:1.75;
  color:rgba(255,255,255,.38);
}
.msv-cta__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:14px 30px;
  background:#fff;
  color:var(--msv-black);
  border-radius:999px;
  font-size:15px;
  font-weight:700;
  box-shadow:0 4px 18px rgba(255,255,255,.08);
  transition:all .3s var(--msv-transition);
}
.msv-cta__btn:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 28px rgba(255,255,255,.12);
}
.msv-cta__btn svg{width:14px;height:14px}
.msv-cta__center{
  text-align:center;
}

/* ═══════════════════════════════════════════════════════════
   FOOTER
   ═══════════════════════════════════════════════════════════ */
.msv-footer{
  position:relative;
  z-index:1;
  padding:48px 0 26px;
}
.msv-footer__top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:40px;
  flex-wrap:wrap;
  margin-bottom:36px;
}
.msv-footer__brand{
  max-width:280px;
}
.msv-footer__brand-logo{
  height:18px;width:auto;
  opacity:.72;
  margin-bottom:14px;
}
.msv-footer__brand-text{
  font-size:13px;
  line-height:1.72;
  color:var(--msv-gray-600);
}
.msv-footer__cols{
  display:flex;
  gap:48px;
  flex-wrap:wrap;
}
.msv-footer__col h4{
  font-size:10px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--msv-gray-500);
  font-weight:700;
  margin-bottom:10px;
}
.msv-footer__col a{
  display:block;
  font-size:13px;
  color:var(--msv-gray-600);
  margin-bottom:8px;
  transition:color .2s var(--msv-transition);
}
.msv-footer__col a:hover{
  color:var(--msv-black);
}
.msv-footer__bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:8px;
  border-top:1px solid rgba(0,0,0,.05);
  padding-top:16px;
  font-size:11px;
  color:var(--msv-gray-500);
  letter-spacing:.03em;
}



/* ═══════════════════════════════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════════════════════════════ */
@media screen and (max-width: 991px){
  .msv-nav__links,
  .msv-nav__center,
  .msv-nav__separator,
  .msv-nav__ghost,
  .msv-nav__cta{
    display:none;
  }
  .msv-nav__hamburger{display:flex}
  .msv-hero{padding:38px 0 0}
  .msv-hero__heading{max-width:700px}
  .msv-dashboard{padding:0 20px 24px}
  .msv-dash{
    grid-template-columns:1fr;
    min-height:auto;
  }
  .msv-dash__side{
    display:none;
  }
  .msv-dash__hero{
    grid-template-columns:1fr;
  }
  .msv-hero-metrics{
    padding:6px 20px 24px;
  }
  .msv-hero-metrics__grid{
    grid-template-columns:1fr;
  }
  .msv-section__head{
    flex-direction:column;
    align-items:flex-start;
    gap:14px;
  }
  .msv-approach{
    grid-template-columns:1fr;
  }
  .msv-portfolio{
    grid-template-columns:1fr;
  }
  .msv-process{
    grid-template-columns:1fr 1fr;
  }
}

@media screen and (max-width: 640px){
  .msv-container{padding:0 20px}
  .msv-nav{padding:16px 0}
  .msv-nav__inner{padding:0 20px}
  .msv-nav__logo-title{font-size:17px}
  .msv-nav__logo-sub{font-size:10px}
  .msv-nav__logo-mark{
    width:34px;height:34px;border-radius:10px;
  }
  .msv-nav__logo-mark img{
    width:16px;height:16px;
  }

  .msv-hero{padding:26px 0 0}
  .msv-hero__badge{
    padding:7px 16px 7px 12px;
    gap:7px;
    margin-bottom:28px;
  }
  .msv-hero__badge-new{font-size:13px}
  .msv-hero__badge-text{font-size:12px}
  .msv-hero__heading{
    font-size:36px;
    line-height:1.08;
    letter-spacing:-.04em;
    max-width:350px;
    margin-bottom:16px;
    padding:0 4px;
  }
  .msv-hero__subtitle{
    font-size:14px;
    max-width:330px;
    margin-bottom:30px;
    padding:0 8px;
  }
  .msv-hero__actions{
    flex-direction:column;
    gap:10px;
    margin-bottom:38px;
    padding:0 16px;
  }
  .msv-hero__btn-secondary,
  .msv-hero__btn-primary{
    width:100%;
    padding:15px 22px;
  }
  .msv-dashboard{
    padding:0 16px 18px;
  }
  .msv-dashboard__frame{
    border-radius:16px;
  }
  .msv-dashboard__top{
    padding:12px 14px;
  }
  .msv-dashboard__url{
    font-size:10px;
    max-width:52%;
    justify-content:flex-end;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .msv-dash__main{
    padding:14px;
    gap:10px;
  }
  .msv-dash__profile-row{
    padding:0 14px 14px;
  }
  .msv-dash__avatar{
    width:46px;height:46px;border-radius:14px;
  }
  .msv-dash__name{
    font-size:14px;
  }
  .msv-dash__save{
    padding:7px 10px;
    font-size:10px;
  }
  .msv-dash__tabs{
    padding:0 10px 12px;
    gap:6px;
  }
  .msv-dash__tab{
    font-size:10px;
    padding:7px 9px;
  }
  .msv-dash__metric{
    padding:14px;
  }
  .msv-dash__metric-value{
    font-size:28px;
  }
  .msv-dash__row{
    padding:12px 13px;
    align-items:flex-start;
    flex-direction:column;
    gap:10px;
  }
  .msv-dash__badge{
    align-self:flex-start;
  }
  .msv-hero-metrics{
    padding:4px 16px 22px;
  }
  .msv-hero-metrics__card{
    padding:16px 16px;
    border-radius:16px;
  }
  .msv-hero-metrics__num{font-size:24px}
  .msv-marquee__track{padding:16px 0}

  .msv-section{
    padding:72px 0;
  }
  .msv-section__title{
    font-size:30px;
    max-width:100%;
  }
  .msv-section__sub{
    max-width:100%;
    font-size:13px;
  }

  .msv-process{
    grid-template-columns:1fr;
  }

  .msv-cta{
    padding:76px 0;
  }
  .msv-cta__title{
    font-size:32px;
  }
  .msv-cta__sub{
    font-size:13px;
    padding:0 8px;
  }

  .msv-footer__top{
    flex-direction:column;
    gap:28px;
    margin-bottom:30px;
  }
  .msv-footer__cols{
    gap:24px;
  }

  .msv-fov__box{
    top:0;left:0;right:0;bottom:0;
    width:100%;
    max-width:100%;
    max-height:100%;
    border-radius:0;
    transform:translateY(100%);
  }
  .msv-fov.is-open .msv-fov__box{
    transform:translateY(0);
  }
  .msv-fov__head{
    padding:18px 18px 12px;
  }
  .msv-fov__progress{
    padding:0 18px;
  }
  .msv-fov__step{
    padding:20px 18px;
  }
  .msv-fov__step-q{
    font-size:22px;
  }
  .msv-fov__foot{
    padding:12px 18px 16px;
  }

  .msv-blob--1{
    width:280px;height:280px;top:-60px;left:-80px;
  }
  .msv-blob--2{
    width:220px;height:220px;top:-30px;right:-60px;
  }
  .msv-blob--3{
    width:200px;height:200px;top:300px;
  }
  .msv-blob--4{
    width:180px;height:180px;top:180px;
  }
}

@media screen and (max-width:390px){
  .msv-hero__heading{
    font-size:32px;
    max-width:305px;
  }
  .msv-hero__subtitle{font-size:13px}
  .msv-nav__logo-title{font-size:16px}
  .msv-nav__logo-sub{display:none}
}

@media screen and (min-width:1400px){
  .msv-dashboard{max-width:1200px}
  .msv-blob--1{width:640px;height:640px}
  .msv-blob--2{width:560px;height:560px}
}

@media (prefers-reduced-motion: reduce){
  .msv-root *,
  .msv-root *::before,
  .msv-root *::after{
    animation:none !important;
    transition:none !important;
    scroll-behavior:auto !important;
  }
}
