/* ── Animated BG ── */
.bg-animated{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;clip-path:inset(0)}
.blob{position:absolute;border-radius:50%;filter:blur(120px);opacity:.09;animation:blob-drift 20s ease-in-out infinite}
.b1{width:600px;height:600px;background:radial-gradient(circle,#1d4ed8,transparent 60%);top:-180px;left:-100px;animation-duration:24s}
.b2{width:500px;height:500px;background:radial-gradient(circle,#1e40af,transparent 60%);top:35%;right:-150px;animation-duration:30s;animation-delay:-10s}
.b3{width:400px;height:400px;background:radial-gradient(circle,#0369a1,transparent 60%);bottom:-80px;left:20%;animation-duration:20s;animation-delay:-5s}
.b4{width:300px;height:300px;background:radial-gradient(circle,#2563eb,transparent 60%);bottom:15%;right:10%;animation-duration:26s;animation-delay:-14s}
.veil{position:absolute;inset:0;background:rgba(7,8,10,.7)}
@keyframes blob-drift{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(50px,-40px) scale(1.06)}66%{transform:translate(-40px,50px) scale(.94)}}
.bg-grid{position:fixed;inset:0;z-index:0;background-image:linear-gradient(to right,rgba(255,255,255,.028) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.028) 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(ellipse 80% 60% at 50% 30%,black 15%,transparent 80%);pointer-events:none}
.bg-particles{position:fixed;inset:0;z-index:0;pointer-events:none}

/* ── Nav ── */
html,body{overscroll-behavior:none}
.mk-nav{position:sticky;top:0;z-index:100;background:rgba(7,8,10,.84);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border)}
.mk-nav-inner{display:flex;align-items:center;height:60px;padding:0 5%;max-width:1440px;margin:0 auto;width:100%}
.mk-brand{display:inline-flex;align-items:center;gap:9px;font-size:15px;font-weight:600;letter-spacing:-.01em;color:var(--text);flex-shrink:0}
.brand-mark{width:28px;height:28px;background:linear-gradient(135deg,#3b82f6,#6d28d9);border-radius:7px;display:grid;place-items:center;box-shadow:0 0 20px rgba(59,130,246,.25);flex-shrink:0;overflow:hidden}
.brand-mark img{width:100%;height:100%;object-fit:cover;border-radius:7px;display:block}
.mk-nav-links{display:flex;gap:2px;margin-left:28px}
.mk-nav-link{padding:6px 11px;border-radius:6px;font-size:13px;font-weight:500;color:var(--text-3);transition:all .12s}
.mk-nav-link:hover{color:var(--text);background:rgba(255,255,255,.06)}
.mk-nav-spacer{flex:1}
.mk-nav-auth{display:flex;align-items:center;gap:8px}

/* ── Sections ── */
.mk-section{position:relative;z-index:1;padding:80px 5%;max-width:1440px;margin:0 auto;width:100%}
.mk-section.tight{padding-top:40px;padding-bottom:40px}
.mk-section-head{text-align:center;max-width:680px;margin:0 auto 48px}

/* ── Typography ── */
.mk-eyebrow{display:inline-flex;align-items:center;gap:8px;padding:5px 14px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);border-radius:999px;font-size:12px;font-weight:600;color:var(--text-2);letter-spacing:.03em;margin-bottom:0}
.mk-h1{font-size:clamp(2.2rem,5vw,3.8rem);font-weight:600;line-height:1.08;letter-spacing:-.03em;color:var(--text)}
.mk-h2{font-size:clamp(1.7rem,3vw,2.6rem);font-weight:600;line-height:1.12;letter-spacing:-.025em;color:var(--text)}
.mk-lead{font-size:16px;color:var(--text-2);line-height:1.7}
.shimmer-accent{background:linear-gradient(90deg,#3b82f6 0%,#a855f7 50%,#3b82f6 100%);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:shimmer 3s linear infinite}
@keyframes shimmer{to{background-position:200% center}}

/* ── Hero ── */
.mk-hero{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center;width:100%}
.mk-cta-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}

/* Hero visual / window */
.mk-hero-visual{position:relative}
.mk-hero-window{background:var(--bg-2);border:1px solid var(--border-strong);border-radius:12px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.04);font-size:12px}
.mk-hero-window .dot{display:inline-block;width:10px;height:10px;border-radius:50%;animation:none}
.mk-hero-window .url{font-family:var(--font-mono);font-size:11px;color:var(--text-3);margin-left:8px}
.live-row{display:flex;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid var(--border);font-size:11.5px;font-family:var(--font-mono)}
.live-row:last-child{border-bottom:none}

/* ── Marquee ── */
.mk-marquee{margin-top:48px;overflow:hidden;max-width:100%;width:100%}
.mk-trusted-label-center{text-align:center;font-size:12px;color:var(--text-3);letter-spacing:.04em;margin-bottom:20px;text-transform:uppercase;font-weight:500}
.mk-marquee-track{display:flex;gap:40px;animation:marquee 28s linear infinite;width:max-content}
.mk-logo{font-size:13px;font-weight:500;color:var(--text-3);white-space:nowrap;padding:6px 16px;border:1px solid var(--border);border-radius:6px;background:rgba(255,255,255,.02)}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ── Stats strip ── */
.mk-stats-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:14px;overflow:hidden;max-width:1100px;margin:0 auto}
.mk-stat-block{background:var(--bg-1);padding:32px 28px;text-align:center}
.mk-stat-num{font-size:2.8rem;font-weight:700;letter-spacing:-.03em;background:linear-gradient(180deg,#fff 0%,#8e98ae 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;margin-bottom:6px}
.mk-stat-cap{font-size:13px;color:var(--text-3);line-height:1.5}

/* ── Bento ── */
.bento{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:auto auto;gap:12px;max-width:1100px;margin:0 auto}
.bento-cell{background:var(--bg-1);border:1px solid var(--border);border-radius:14px;padding:26px;transition:border-color .2s}
.bento-cell:hover{border-color:var(--border-strong)}
.b-big{grid-column:span 2}
.bento-icon{width:40px;height:40px;border-radius:10px;background:var(--accent-soft);border:1px solid var(--accent-strong);color:var(--accent-2);display:grid;place-items:center;margin-bottom:14px}
.bento-cell h3{font-size:15px;font-weight:600;margin-bottom:8px}
.bento-cell p{font-size:13px;color:var(--text-2);line-height:1.6}
.bento-visual{margin-top:18px;border-radius:8px;overflow:hidden;background:var(--bg-2);border:1px solid var(--border)}
.bento-map{position:relative;height:160px;overflow:hidden}

/* ── Feature row ── */
.mk-feature-row{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center;max-width:1100px;margin:0 auto;width:100%}

/* ── Code demo ── */
.code-demo{background:var(--bg-2);border:1px solid var(--border);border-radius:12px;overflow:hidden;font-family:var(--font-mono)}
.code-demo-tabs{display:flex;gap:2px;padding:10px 14px;border-bottom:1px solid var(--border)}
.code-demo-tab{background:none;border:none;color:var(--text-3);font-family:var(--font-mono);font-size:12px;padding:4px 10px;border-radius:5px;cursor:pointer;transition:all .12s}
.code-demo-tab:hover{color:var(--text-2);background:rgba(255,255,255,.05)}
.code-demo-tab.on{background:var(--accent-soft);color:var(--accent-2)}
.code-demo-body{padding:20px;font-size:12.5px;line-height:1.75;color:#e2e8f0;white-space:pre;overflow-x:auto;max-width:100%}
.code-demo-body .c{color:#4a5568;font-style:italic}
.code-demo-body .k{color:#60a5fa}
.code-demo-body .s{color:#86efac}
.code-demo-body .v{color:#f9a8d4}
.cursor-blink{display:inline-block;width:1px;height:1em;background:var(--text-2);margin-left:2px;vertical-align:middle;animation:blink 1s step-end infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:0}}

/* ── Products ── */
.mk-products{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;max-width:1200px;margin:0 auto;width:100%}
.mk-product{background:var(--bg-1);border:1px solid var(--border);border-radius:16px;padding:26px;transition:all .2s;border-top:2px solid var(--prod-c1,var(--accent));position:relative}
.mk-product:hover{transform:translateY(-4px);box-shadow:0 20px 50px rgba(0,0,0,.4)}
.mk-product.featured{background:linear-gradient(160deg,rgba(59,130,246,.06),rgba(124,58,237,.04));border-top-width:3px;box-shadow:0 0 0 1px rgba(245,158,11,.15) inset}
.badge-pop{position:absolute;top:-1px;right:20px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;font-size:10px;font-weight:700;padding:3px 10px;border-radius:0 0 8px 8px;text-transform:uppercase;letter-spacing:.04em}
.mk-product-icon{width:44px;height:44px;border-radius:11px;display:grid;place-items:center;margin-bottom:14px;background:color-mix(in srgb,var(--prod-c1,var(--accent)) 15%,transparent);color:var(--prod-c1,var(--accent))}
.mk-product-tag{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--prod-c1,var(--accent));margin-bottom:6px}
.mk-product-name{font-size:17px;font-weight:600;margin-bottom:8px}
.mk-product-desc{font-size:12.5px;color:var(--text-2);line-height:1.6;margin-bottom:18px}
.mk-product-price{display:flex;align-items:baseline;gap:3px;margin-bottom:5px}
.mk-product-price .cur{font-size:16px;font-weight:500;color:var(--text-2)}
.mk-product-price .amt{font-size:2.6rem;font-weight:700;letter-spacing:-.03em;line-height:1}
.mk-product-price .unit{font-size:13px;color:var(--text-3)}
.mk-product-meta{font-size:11px;color:var(--text-3);margin-bottom:18px}
.mk-product-cta{margin-bottom:20px}
.mk-product-cta .btn{width:100%;justify-content:center}
.mk-product-features{list-style:none;display:flex;flex-direction:column;gap:0}
.mk-product-features li{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--text-2);padding:6px 0;border-bottom:1px solid var(--border)}
.mk-product-features li:last-child{border-bottom:none}
.mk-product-features .ico{color:var(--green);flex-shrink:0;display:flex}

/* ── FAQ ── */
.mk-faq{max-width:720px;margin:0 auto}
.mk-faq-item{border-bottom:1px solid var(--border);padding:0}
.mk-faq-q{font-size:15px;font-weight:500;padding:20px 0;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:10px;user-select:none;transition:color .12s}
.mk-faq-q::after{content:'+';font-size:20px;color:var(--text-3);transition:transform .2s;flex-shrink:0;font-weight:300}
.mk-faq-item.open .mk-faq-q{color:var(--text)}
.mk-faq-item.open .mk-faq-q::after{transform:rotate(45deg)}
.mk-faq-a{font-size:13.5px;color:var(--text-2);line-height:1.7;max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s}
.mk-faq-item.open .mk-faq-a{max-height:240px;padding-bottom:18px}

/* ── CTA banner ── */
.mk-cta-banner{background:linear-gradient(120deg,rgba(59,130,246,.1),rgba(124,58,237,.07));border:1px solid rgba(59,130,246,.2);border-radius:20px;padding:60px 40px;text-align:center;max-width:900px;margin:0 auto;position:relative;overflow:hidden}
.mk-cta-banner::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 60% at 50% 0%,rgba(59,130,246,.08),transparent 70%);pointer-events:none}
.mk-cta-banner .mk-h2{position:relative}
.mk-cta-banner .mk-lead{position:relative;max-width:560px;margin:0 auto}

/* ── Footer ── */
.mk-footer{position:relative;z-index:1;background:var(--bg-1);border-top:1px solid var(--border);padding:56px 5% 32px;margin-top:0}
.mk-footer-inner{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr;gap:40px;max-width:1200px;margin:0 auto}
.mk-footer h4{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--text-3);margin-bottom:14px}
.mk-footer-links{display:flex;flex-direction:column;gap:8px}
.mk-footer-links a{font-size:13px;color:var(--text-2);transition:color .1s}
.mk-footer-links a:hover{color:var(--text)}
.mk-footer-status{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--green)}
.mk-footer-status .dot{background:var(--green);animation:ping-green 2s infinite}
.mk-footer-bottom{max-width:1200px;margin:32px auto 0;padding-top:24px;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--text-3)}
.socials{display:flex;gap:8px}
.icon-btn{width:32px;height:32px;border-radius:7px;border:1px solid var(--border);background:var(--bg-2);color:var(--text-3);display:grid;place-items:center;transition:all .12s}
.icon-btn:hover{border-color:var(--border-strong);color:var(--text)}

/* ── Reveal animation ── */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:none}
.reveal-delay-1{transition-delay:.1s}
.reveal-delay-2{transition-delay:.2s}
.reveal-delay-3{transition-delay:.3s}
.reveal-delay-4{transition-delay:.4s}

/* ── Responsive ── */
@media(max-width:1024px){
  .mk-products{grid-template-columns:repeat(2,1fr)}
  .mk-footer-inner{grid-template-columns:1fr 1fr 1fr}
}
@media(max-width:800px){
  .mk-hero,.mk-feature-row{grid-template-columns:1fr}
  .mk-hero .mk-hero-visual{display:none}
  .mk-stats-strip{grid-template-columns:repeat(2,1fr)}
  .mk-stat-num{font-size:2rem!important}
  .mk-stat-block{padding:20px 12px!important}
  .bento{grid-template-columns:1fr}
  .b-big{grid-column:1}
  .mk-nav-links{display:none}
  .mk-nav-inner{padding:0 4%}
  .mk-section{padding:60px 5%}
  .mk-hero-title{font-size:2.2rem!important}
  .mk-hero-sub{font-size:14px!important}
}
@media(max-width:600px){
  .mk-products{grid-template-columns:1fr}
  .mk-footer-inner{grid-template-columns:1fr 1fr}
  .mk-section{padding:48px 4%}
  .mk-hero-title{font-size:1.75rem!important}
  .mk-stats-strip{grid-template-columns:1fr 1fr}
  .mk-stat-num{font-size:1.7rem!important}
  .mk-stat-block{padding:16px 10px!important}
  .mk-stat-cap{font-size:11px!important}
  .mk-footer-inner{grid-template-columns:1fr}
}
@media(max-width:400px){
  .mk-hero-title{font-size:1.5rem!important}
  .mk-section{padding:40px 4%}
}

@media(max-width:360px){
  .mk-stats-strip{grid-template-columns:1fr 1fr}
  .mk-stat-num{font-size:1.5rem!important}
  .mk-stat-block{padding:14px 8px!important}
  .mk-stat-cap{font-size:10px!important}
}

/* ===== CRITICAL MOBILE OVERFLOW FIX ===== */

/* Prevent horizontal scroll - use clip, not hidden (hidden blocks scroll on html) */
html {
  overflow-x: clip;
}
body {
  overflow-x: clip;
}

@media(max-width:800px){
  /* Feature rows: text must wrap, not overflow */
  .mk-feature-row {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    overflow: hidden !important;
  }
  .mk-feature-row > * {
    max-width: 100% !important;
    overflow: hidden !important;
    word-break: break-word !important;
  }
  /* Lists inside feature row */
  .mk-feature-row ul li {
    overflow: hidden !important;
    word-break: break-word !important;
    white-space: normal !important;
  }
  
  /* Code demo: scrollable INSIDE the box, not the whole page */
  .code-demo {
    max-width: 100% !important;
    overflow: hidden !important;
  }
  .code-demo-body {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    font-size: 11px !important;
    padding: 14px !important;
    /* Keep pre formatting but scroll inside */
    white-space: pre !important;
    max-width: 100% !important;
  }
  .code-demo-tabs {
    overflow-x: auto !important;
    flex-wrap: nowrap !important;
  }
  
  /* Products grid */
  .mk-products {
    grid-template-columns: 1fr !important;
  }
  
  /* Section padding */
  .mk-section {
    padding: 48px 4% !important;
  }
  
  /* Footer */
  .mk-footer-inner {
    grid-template-columns: 1fr !important;
  }
  .mk-footer-bottom {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
  
  /* CTA banner */
  .mk-cta-banner {
    padding: 36px 20px !important;
    border-radius: 14px !important;
  }
}

@media(max-width:480px){
  .mk-section {
    padding: 40px 4% !important;
  }
  .mk-h2 {
    font-size: 1.6rem !important;
    word-break: break-word !important;
  }
  .mk-lead {
    font-size: 13px !important;
  }
  .code-demo-body {
    font-size: 10px !important;
    padding: 12px !important;
  }
  .mk-products {
    grid-template-columns: 1fr !important;
  }
  .mk-product {
    padding: 20px !important;
  }
  .mk-cta-row {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
  }
  .mk-cta-row .btn {
    width: 100% !important;
    justify-content: center !important;
  }
  /* Bento */
  .bento {
    grid-template-columns: 1fr !important;
  }
  .b-big { grid-column: 1 !important; }
  /* Marquee */
  .mk-marquee-inner { animation-duration: 20s !important; }
}

/* ===== TEXT OVERFLOW PREVENTION ===== */
.mk-section *,
.mk-section p,
.mk-section li,
.mk-section h1,
.mk-section h2,
.mk-section h3,
.mk-lead {
  max-width: 100%;
  word-wrap: break-word;
  overflow-wrap: break-word;
  -webkit-hyphens: auto;
  hyphens: auto;
}

/* Feature row text must wrap */
.mk-feature-row p,
.mk-feature-row li,
.mk-feature-row h2 {
  white-space: normal !important;
  word-break: break-word !important;
  overflow-wrap: break-word !important;
}

/* The section itself must NOT have overflow:hidden (that clips text) */
/* Instead use a wrapper approach */
.mk-section {
  overflow-x: clip;
}

/* ===== TRUSTED TICKER ===== */
.mk-trusted-wrap{margin-top:60px;text-align:center}
.mk-trusted-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:rgba(148,163,184,.5);margin-bottom:28px}
.mk-ticker-outer{position:relative;overflow:hidden;padding:4px 0}
.mk-ticker-fade{position:absolute;top:0;bottom:0;width:120px;z-index:2;pointer-events:none}
.mk-ticker-fade-l{left:0;background:linear-gradient(to right,var(--bg,#07080a),transparent)}
.mk-ticker-fade-r{right:0;background:linear-gradient(to left,var(--bg,#07080a),transparent)}
.mk-ticker-track{display:flex;gap:12px;width:max-content;animation:ticker-scroll 38s linear infinite}
.mk-ticker-track:hover{animation-play-state:paused}
@keyframes ticker-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.mk-ticker-card{
  display:inline-flex;align-items:center;gap:10px;
  padding:10px 18px;border-radius:12px;
  border:1px solid rgba(37,99,235,.2);
  background:linear-gradient(135deg,rgba(30,58,138,.18),rgba(37,99,235,.08));
  color:rgba(186,213,255,.85);
  font-size:13px;font-weight:600;white-space:nowrap;letter-spacing:.01em;
  transition:border-color .2s,background .2s;
  cursor:default;flex-shrink:0;
}
.mk-ticker-card:hover{border-color:rgba(59,130,246,.45);background:linear-gradient(135deg,rgba(30,58,138,.3),rgba(37,99,235,.18));color:#93c5fd}
.mk-tc-icon{width:28px;height:28px;border-radius:6px;flex-shrink:0}

/* ===== MOBILE NAV MENU ===== */
.mk-burger{
  display:none;
  flex-direction:column;gap:5px;
  background:none;border:1px solid rgba(255,255,255,.1);border-radius:8px;
  padding:8px;cursor:pointer;margin-left:8px;flex-shrink:0;
}
.mk-burger span{
  display:block;width:18px;height:2px;
  background:rgba(168,185,210,.8);border-radius:2px;
  transition:all .22s ease;
}
.mk-burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.mk-burger.open span:nth-child(2){opacity:0;transform:scaleX(0)}
.mk-burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mk-mobile-menu{
  position:fixed;top:0;right:0;bottom:0;
  width:300px;max-width:85vw;
  background:#080c18;
  border-left:1px solid rgba(37,99,235,.2);
  z-index:999;
  transform:translateX(100%);
  transition:transform .24s cubic-bezier(.4,0,.2,1);
  display:flex;flex-direction:column;
  will-change:transform;
}
.mk-mobile-menu.open{transform:translateX(0)}
.mk-mobile-menu-inner{display:flex;flex-direction:column;height:100%;padding:20px}
.mk-mobile-menu-head{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:24px;padding-bottom:16px;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.mk-mobile-close{
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);
  color:rgba(148,163,184,.8);width:32px;height:32px;border-radius:7px;
  cursor:pointer;display:flex;align-items:center;justify-content:center;
}
.mk-mobile-nav{display:flex;flex-direction:column;gap:2px;flex:1}
.mk-mobile-nav a{
  display:block;padding:12px 14px;border-radius:8px;
  font-size:14px;font-weight:600;color:rgba(148,163,184,.85);
  text-decoration:none;transition:all .1s;
}
.mk-mobile-nav a:hover{background:rgba(255,255,255,.05);color:#fff}
.mk-mobile-auth{
  display:flex;flex-direction:column;gap:8px;
  padding-top:16px;border-top:1px solid rgba(255,255,255,.06);margin-top:16px;
}
@media(max-width:800px){
  .mk-nav-links{display:none!important}
  .mk-burger{display:flex!important}
}
