    /* ── Reset & base ────────────────────────────────────────────────────── */
    *, *::before, *::after { box-sizing: border-box; -webkit-font-smoothing: antialiased; }
    html, body {
      margin: 0; padding: 0;
      background: #070809;
      color: #F5F6F8;
      min-height: 100vh;
      min-height: 100dvh;
      font-family: -apple-system, "SF Pro Text", "SF Pro Display", system-ui, sans-serif;
      overscroll-behavior: none;
    }
    a { color: inherit; text-decoration: none; }
    button { font-family: inherit; cursor: pointer; border: 0; }
    img { display: block; max-width: 100%; }
    ::selection { background: rgba(34,166,220,0.4); color: #fff; }

    /* ── Tokens ──────────────────────────────────────────────────────────── */
    :root {
      --bg:        #070809;
      --text:      #F5F6F8;
      --text-dim:  #AEB3BD;
      --text-mute: #8E8E93;
      --text-faint:#909499;
      --blue:      #22A6DC;
      --blue-text: #4EC4F0;
      --red:       #FF453A;
      --orange:    #FF9F0A;
      --green:     #30D158;
      --purple:    #BF5AF2;
    }

    /* ── Page container ──────────────────────────────────────────────────── */
    .mk-page { position: relative; }
    .mk-skip {
      position: absolute; top: -40px; left: 12px;
      padding: 8px 14px; border-radius: 0 0 8px 8px;
      background: var(--blue); color: #000;
      font-size: 13px; font-weight: 700;
      z-index: 100; transition: top 0.15s;
    }
    .mk-skip:focus { top: 0; }
    .mk-btn-primary:focus-visible,
    .mk-btn-ghost:focus-visible,
    .mk-pill-download:focus-visible,
    .mk-nav-lang:focus-visible,
    .mk-nav-links a:focus-visible,
    .mk-foot a:focus-visible,
    .mk-skip:focus-visible {
      outline: 2px solid var(--blue);
      outline-offset: 3px;
      border-radius: 6px;
    }
    /* Inner content cap — sections themselves stretch full-width so the
       hero glow spans the viewport. */
    .mk-hero-grid,
    .mk-section-opener,
    .mk-feature-block,
    .mk-cta-strip,
    .mk-foot { max-width: 1440px; margin-left: auto; margin-right: auto; }
    .mk-page-pad { padding-left: clamp(20px, 5vw, 88px); padding-right: clamp(20px, 5vw, 88px); }

    /* ── Hero ────────────────────────────────────────────────────────────── */
    .mk-hero {
      position: relative;
      min-height: calc(100vh - 64px);
      min-height: calc(100svh - 64px);
      padding-top: 32px;
      padding-bottom: 64px;
      display: flex;
      flex-direction: column;
      overflow: hidden;
    }
    .mk-hero-orb-cyan {
      position: absolute; top: -200px; right: -100px; width: 700px; height: 700px;
      background: radial-gradient(circle, rgba(34,166,220,0.12), transparent 60%);
      filter: blur(40px); pointer-events: none; z-index: 0;
    }
    .mk-hero-orb-red {
      position: absolute; bottom: -300px; left: -200px; width: 700px; height: 700px;
      background: radial-gradient(circle, rgba(255,69,58,0.08), transparent 60%);
      filter: blur(40px); pointer-events: none; z-index: 0;
    }

    /* ── Nav ─────────────────────────────────────────────────────────────── */
    .mk-nav {
      display: flex; justify-content: space-between; align-items: center;
      height: 64px; position: relative; z-index: 50;
      max-width: 1440px; margin: 0 auto;
    }
    .mk-nav-brand   { display: flex; align-items: center; gap: 10px; }
    .mk-nav-actions { display: flex; align-items: center; gap: 12px; }
    .mk-logo {
      width: 30px; height: 30px; border-radius: 8px;
      box-shadow: 0 4px 14px rgba(34,166,220,0.35);
      display: block; flex-shrink: 0;
    }
    .mk-brand-text { font-weight: 800; font-size: 18px; letter-spacing: -0.02em; }
    .mk-brand-stack { display: flex; flex-direction: column; line-height: 1.05; }
    .mk-brand-tagline {
      font-size: 11px; font-weight: 500; color: var(--text-dim);
      letter-spacing: 0.01em; margin-top: 1px;
    }
    @media (max-width: 640px) {
      .mk-brand-tagline { display: none; }
    }
    .mk-nav-links {
      display: flex; align-items: center; gap: 28px;
      font-size: 14px; color: var(--text-dim); font-weight: 500;
    }
    .mk-nav-links a { color: var(--text-dim); transition: color .15s; }
    .mk-nav-links a:hover { color: #fff; }
    .mk-nav-lang {
      font-size: 12px; color: var(--text-dim); padding: 5px 9px; border-radius: 999px;
      border: 1px solid rgba(255,255,255,0.12); transition: color .15s, border-color .15s;
      letter-spacing: 0.06em; min-height: 24px; display: inline-flex; align-items: center;
    }
    .mk-nav-lang:hover { color: #fff; border-color: rgba(255,255,255,0.3); }

    .mk-pill-download {
      background: #fff; color: #000; border-radius: 999px;
      padding: 9px 16px; font-weight: 700; font-size: 13px;
      transition: transform .15s, box-shadow .15s;
    }
    .mk-pill-download:hover { transform: translateY(-1px); box-shadow: 0 8px 20px -8px rgba(255,255,255,0.4); }
    .mk-pill-download:active { transform: scale(0.97); }

    /* ── Hero grid ───────────────────────────────────────────────────────── */
    .mk-hero-grid {
      flex: 1; display: grid;
      grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
      gap: clamp(24px, 4vw, 64px);
      align-items: center;
      margin-top: clamp(24px, 4vw, 56px);
      position: relative; z-index: 2;
    }
    .mk-headline {
      font-size: clamp(56px, 9vw, 132px);
      font-weight: 800;
      letter-spacing: -0.045em;
      line-height: 0.92;
      margin: 24px 0 0;
      font-family: -apple-system, "SF Pro Display", system-ui, sans-serif;
      text-wrap: balance;
    }
    .mk-headline span { display: block; }
    .mk-h-cyan { color: var(--blue); }
    .mk-h-red  { color: var(--red); }
    .mk-h-pink { color: #FF375F; }
    .mk-h-mute { color: var(--text-faint); font-style: italic; font-size: 0.55em; font-weight: 500; letter-spacing: 0; }

    .mk-hero-sub {
      font-size: clamp(15px, 1.2vw, 18px); color: var(--text-dim);
      max-width: min(520px, 68ch); margin-top: 28px; line-height: 1.62;
    }

    .mk-cta-buttons {
      display: flex; align-items: center; gap: 14px;
      margin-top: 32px; flex-wrap: wrap;
    }
    .mk-btn-primary {
      background: #fff; color: #000; border-radius: 14px;
      padding: 14px 22px; font-weight: 700; font-size: 15px;
      display: inline-flex; align-items: center; gap: 10px;
      box-shadow: 0 10px 30px -10px rgba(255,255,255,0.3);
      transition: transform .15s, box-shadow .15s;
    }
    .mk-btn-primary:hover { transform: translateY(-1px); box-shadow: 0 14px 36px -10px rgba(255,255,255,0.4); }
    .mk-btn-primary:active:not([aria-disabled="true"]) { transform: scale(0.97); }
    .mk-btn-primary[aria-disabled="true"] { opacity: 0.6; cursor: not-allowed; box-shadow: none; transform: none; }
    .mk-btn-ghost {
      background: transparent; color: #fff;
      border: 1px solid rgba(255,255,255,0.18); border-radius: 14px;
      padding: 13px 22px; font-weight: 600; font-size: 15px;
      transition: border-color .15s, background .15s, transform .15s;
    }
    .mk-btn-ghost:hover { border-color: rgba(255,255,255,0.4); background: rgba(255,255,255,0.04); }
    .mk-btn-ghost:active { transform: scale(0.97); }

    .mk-meta {
      display: flex; align-items: center; gap: 18px; margin-top: 32px;
      color: var(--text-faint); font-size: 13px;
    }
    .mk-meta b { color: #fff; }

    /* ── Hero devices ────────────────────────────────────────────────────── */
    .mk-hero-devices {
      position: relative; height: 720px;
      display: flex; align-items: center; justify-content: center;
    }
    .mk-hero-orb-soft {
      position: absolute; width: 520px; height: 520px; border-radius: 50%;
      background: radial-gradient(circle, rgba(34,166,220,0.18), transparent 60%);
      filter: blur(20px);
      top: 50%; left: 50%; transform: translate(-50%, -50%);
    }
    .mk-phone-wrap {
      position: absolute; right: 0; top: 50%;
      transform: translateY(-50%);
    }
    /* Decorative peek-watch shell — positioned inside .mk-phone-wrap so it
       overlaps the phone's bottom-left corner consistently across viewports
       (independent of grid column width or copy length). Chassis from
       devices.css. */
    .mk-watch-wrap {
      position: absolute; left: -100px; bottom: 80px;
      transform: rotate(-3deg) scale(0.6);
      transform-origin: bottom left;
      filter: drop-shadow(0 30px 50px rgba(0,0,0,0.6));
    }
    .mk-scroll-hint {
      position: absolute; bottom: 28px; left: 50%; transform: translateX(-50%);
      background: transparent; color: var(--text-faint); font-size: 11px;
      font-family: ui-monospace, "SF Mono", monospace;
      letter-spacing: 0.18em; text-transform: uppercase;
      display: flex; flex-direction: column; align-items: center; gap: 6px;
      z-index: 5;
    }
    .mk-scroll-hint::after {
      content: ""; width: 1px; height: 24px;
      background: linear-gradient(to bottom, var(--text-faint), transparent);
    }

    /* ── iPhone shell — owns tint glow and positioning. Chassis comes from devices.css. ─ */
    .mk-phone {
      display: inline-block;
    }
    .mk-phone[data-tint="cyan"]   { filter: drop-shadow(0 60px 80px rgba(34,166,220,0.20)); }
    .mk-phone[data-tint="indigo"] { filter: drop-shadow(0 60px 80px rgba(88,86,214,0.20)); }
    .mk-phone[data-tint="red"]    { filter: drop-shadow(0 60px 80px rgba(255,69,58,0.20)); }
    .mk-phone[data-tint="orange"] { filter: drop-shadow(0 60px 80px rgba(255,159,10,0.20)); }
    .mk-phone[data-tint="green"]  { filter: drop-shadow(0 60px 80px rgba(48,209,88,0.20)); }
    .mk-phone[data-tint="purple"] { filter: drop-shadow(0 60px 80px rgba(191,90,242,0.20)); }
    .mk-phone[data-tint="pink"]   { filter: drop-shadow(0 60px 80px rgba(255,55,95,0.20)); }

    /* devices.css iPhone 14 Pro intrinsic ~433x868. Scales tuned per slot,
       progressively larger on wider viewports. */
    .mk-phone-wrap .mk-phone     { transform: scale(0.7); }
    .mk-feature-image .mk-phone  { transform: scale(0.7); }
    @media (min-width: 1280px) {
      .mk-phone-wrap .mk-phone    { transform: scale(0.8); }
      .mk-feature-image .mk-phone { transform: scale(0.8); }
    }
    @media (min-width: 1920px) {
      .mk-phone-wrap .mk-phone    { transform: scale(0.9); }
      .mk-feature-image .mk-phone { transform: scale(0.9); }
    }

    /* devices.css doesn't set overflow:hidden on .device-screen, so the
       screenshot rectangle would bleed past the rounded corners. Also
       size + cover-crop the screenshot to fill the chassis screen.
       Applies to both .mk-phone and .mk-watch-wrap (peek). */
    .mk-phone .device-screen,
    .mk-watch-wrap .device-screen { overflow: hidden; }
    .mk-phone .device-screen img,
    .mk-phone .device-screen picture,
    .mk-watch-wrap .device-screen img,
    .mk-watch-wrap .device-screen picture {
      width: 100%; height: 100%;
      display: block;
    }
    .mk-phone .device-screen img { object-fit: cover; object-position: top center; }
    .mk-watch-wrap .device-screen img { object-fit: cover; }

    @media (max-width: 768px) {
      .mk-phone-wrap .mk-phone,
      .mk-feature-image .mk-phone { transform: scale(0.45) !important; }
    }

    /* ── Section: "What's inside" ────────────────────────────────────────── */
    .mk-features {
      padding-bottom: clamp(56px, 8vw, 120px);
      border-top: 1px solid rgba(255,255,255,0.06);
      background: var(--bg);
      position: relative;
    }
    .mk-section-opener { padding-top: clamp(80px, 12vw, 160px); }
    .mk-section-kicker {
      font-family: ui-monospace, "SF Mono", monospace;
      font-size: 12px; letter-spacing: 0.18em; text-transform: uppercase;
      color: var(--blue);
    }
    .mk-section-h2 {
      font-size: clamp(48px, 6vw, 96px); font-weight: 800;
      letter-spacing: -0.04em; margin: 12px 0 0; max-width: 900px;
      line-height: 0.98;
    }
    .mk-section-sub {
      font-size: 18px; color: var(--text-dim); line-height: 1.55;
      margin-top: 20px; max-width: 620px;
    }

    /* ── Feature block ───────────────────────────────────────────────────── */
    .mk-feature-block {
      display: grid; grid-template-columns: 1fr 1fr;
      gap: clamp(40px, 6vw, 96px);
      align-items: center;
      padding: clamp(60px, 9vw, 140px) 0;
      border-top: 1px solid rgba(255,255,255,0.06);
    }
    .mk-feature-image {
      display: flex; justify-content: center; align-items: center;
      position: relative; min-height: 680px;
    }
    /* Skip painting off-screen phase blocks until near viewport — meaningful
       relief on slower hardware where 8 stacked iPhone chassis × heavy
       box-shadows can stutter scroll. */
    .mk-feature-block {
      content-visibility: auto;
      contain-intrinsic-size: auto 680px;
    }
    @media (min-width: 1280px) {
      .mk-feature-image { min-height: 770px; }
    }
    @media (min-width: 1920px) {
      .mk-feature-image { min-height: 855px; }
    }
    /* .mk-tilt wrapper kept in HTML but carries no own styles; tint/scale live on .mk-phone */
    .mk-feature-block.is-reverse .mk-feature-image { order: 2; }
    .mk-feature-block.is-reverse .mk-feature-text  { order: 1; }
    .mk-feature-text { max-width: 520px; }

    .mk-kicker-pill {
      display: inline-flex; align-items: center; gap: 8px;
      padding: 5px 12px; border-radius: 999px;
      background: var(--accent-1f, rgba(34,166,220,0.12));
      border: 1px solid var(--accent-40, rgba(34,166,220,0.25));
      color: var(--accent, #22A6DC);
      font-size: 11px; font-weight: 700;
      font-family: ui-monospace, "SF Mono", monospace;
      letter-spacing: 0.16em; text-transform: uppercase;
    }
    .mk-feature-h2 {
      font-size: clamp(40px, 5vw, 72px); font-weight: 800;
      letter-spacing: -0.035em; line-height: 0.98;
      margin: 20px 0 0;
      text-wrap: balance;
    }
    .mk-feature-h2 .mk-h-accent { color: var(--accent, #22A6DC); }
    .mk-feature-body {
      font-size: 18px; color: var(--text-dim); line-height: 1.62;
      margin-top: 22px; max-width: min(480px, 68ch);
    }
    .mk-bullets {
      list-style: none; padding: 0; margin: 32px 0 0;
      display: flex; flex-direction: column; gap: 14px;
    }
    .mk-bullets li {
      display: flex; gap: 14px; align-items: flex-start;
      font-size: 15px; color: #F5F6F8; line-height: 1.45;
    }
    .mk-bullets li > span:first-child {
      flex-shrink: 0; margin-top: 3px;
      width: 20px; height: 20px; border-radius: 999px;
      background: var(--accent-28, rgba(34,166,220,0.16));
      color: var(--accent, #22A6DC);
      display: flex; align-items: center; justify-content: center;
      font-size: 11px; font-weight: 800;
    }
    .mk-bullets b { color: #fff; font-weight: 700; }
    .mk-bullets i { color: var(--text-dim); font-style: normal; }

    /* ── CTA strip ───────────────────────────────────────────────────────── */
    .mk-cta-strip {
      margin-top: clamp(56px, 8vw, 100px);
      /* Mid-page strips use less padding + softer border so the final strip reads as the climax */
      padding: clamp(20px, 3vw, 36px);
      border-radius: 28px;
      background: linear-gradient(135deg, rgba(34,166,220,0.05), rgba(34,166,220,0.01));
      border: 1px solid rgba(34,166,220,0.12);
      display: flex; justify-content: space-between; align-items: center;
      gap: 24px; flex-wrap: wrap;
    }
    .mk-cta-strip--final {
      /* Final strip: larger padding + stronger teal to mark the page climax */
      padding: clamp(28px, 4vw, 48px);
      background: linear-gradient(135deg, rgba(34,166,220,0.22), rgba(34,166,220,0.08));
      border: 1px solid rgba(34,166,220,0.45);
    }
    .mk-cta-strip h3 {
      font-size: clamp(24px, 3vw, 36px); font-weight: 700;
      letter-spacing: -0.02em; line-height: 1.1; margin: 0;
    }
    .mk-cta-strip h3 .mk-h-cyan { color: var(--blue); }
    .mk-cta-strip h3 .mk-h-pink { color: #FF375F; }
    .mk-cta-strip p { color: var(--text-dim); margin: 8px 0 0; font-size: 14px; }
    .mk-cta-strip .mk-btn-primary { padding: 16px 24px; }

    /* ── Footer ──────────────────────────────────────────────────────────── */
    .mk-foot {
      margin-top: 64px; padding-top: 24px; padding-bottom: clamp(40px, 6vw, 64px);
      border-top: 1px solid rgba(255,255,255,0.06);
      display: flex; justify-content: space-between;
      color: var(--text-faint); font-size: 12px;
      font-family: ui-monospace, "SF Mono", monospace;
      letter-spacing: 0.1em; text-transform: uppercase;
      flex-wrap: wrap; gap: 12px;
    }
    .mk-foot a { transition: color .15s; }
    .mk-foot a:hover { color: #fff; }
    .mk-foot-links { display: flex; gap: 20px; }

    /* ── Responsive: tablet & phone shared ─────────────────────────────── */
    @media (max-width: 960px) {
      body { padding-top: 56px; }
      .mk-nav {
        position: fixed !important; top: 0; left: 0; right: 0;
        height: 56px;
        background: rgba(7,8,9,0.92);
        backdrop-filter: blur(12px);
        -webkit-backdrop-filter: blur(12px);
        border-bottom: 1px solid rgba(255,255,255,0.06);
      }
      .mk-nav-links { display: none !important; }
      .mk-pill-download { padding: 7px 14px; font-size: 12px; }
      .mk-nav-lang { padding: 4px 8px; font-size: 11px; }

      .mk-hero {
        min-height: 0 !important;
        padding-top: 24px !important;
        padding-bottom: 48px !important;
      }
      .mk-hero-grid {
        grid-template-columns: 1fr !important;
        gap: 36px !important;
        margin-top: 16px !important;
      }
      .mk-hero-devices {
        height: auto !important; min-height: 0 !important;
        order: 2; width: 100%;
        padding: 8px 0 0;
      }
      .mk-phone-wrap {
        position: relative !important;
        right: auto !important; top: auto !important;
        transform: rotate(2deg) !important;
        margin: 0 auto;
      }
      .mk-watch-wrap { display: none !important; }
      .mk-hero-orb-soft { display: none !important; }
      .mk-feature-block {
        grid-template-columns: 1fr !important;
        gap: 48px !important;
        padding: 72px 0 !important;
      }
      .mk-feature-image { order: 2 !important; min-height: 560px !important; }
      .mk-feature-text  { order: 1 !important; }
      .mk-scroll-hint { display: none !important; }
      .mk-cta-strip { flex-direction: column; align-items: flex-start !important; }
    }

    /* ── Responsive: phone ──────────────────────────────────────────────── */
    @media (max-width: 560px) {
      .mk-page-pad { padding-left: 20px !important; padding-right: 20px !important; }
      .mk-headline {
        font-size: clamp(40px, 11vw, 56px) !important;
        line-height: 0.95 !important;
        margin-top: 8px !important;
      }
      .mk-hero-sub {
        font-size: 15px !important; margin-top: 16px !important;
        max-width: none !important;
      }
      .mk-cta-buttons {
        margin-top: 20px !important;
        gap: 10px !important;
      }
      .mk-cta-buttons .mk-btn-primary { width: 100% !important; justify-content: center; }
      .mk-cta-buttons .mk-btn-ghost   { display: none !important; }
      .mk-meta { margin-top: 18px !important; flex-wrap: wrap; gap: 8px 14px; }
      #cta-note { display: none !important; }

      .mk-phone-wrap  { transform: rotate(2deg) !important; }
      .mk-phone-wrap .mk-phone,
      .mk-feature-image .mk-phone { transform: scale(0.45) !important; transform-origin: center !important; }
      .mk-feature-image { min-height: 500px !important; }
      .mk-section-h2 { font-size: clamp(40px, 11vw, 56px) !important; }
      .mk-cta-strip { padding: 24px !important; }
      .mk-cta-strip .mk-btn-primary { width: 100%; justify-content: center; }
      .mk-os-line { display: none !important; }
    }

    /* ── Entrance / scroll-reveal motion ────────────────────────────────────
       Hero elements stagger-fade-up on first load; feature blocks fade/
       translate-up as they enter the viewport (IntersectionObserver, once).
       - Only transform + opacity animated (layout-safe, GPU-composited).
       - ease-out-quint: cubic-bezier(0.22, 1, 0.36, 1) — confident deceleration.
       - Reduced-motion: no transform motion; instant-opacity fallback only.    */

    /* Initial hidden state — applied by JS before DOMContentLoaded so there is
       no flash of unstyled content. Without JS the class is never added and
       content is always visible. */
    .mk-reveal {
      opacity: 0;
      transform: translateY(36px);
      transition: opacity 520ms cubic-bezier(0.22, 1, 0.36, 1),
                  transform 520ms cubic-bezier(0.22, 1, 0.36, 1);
      will-change: opacity, transform;
    }
    .mk-reveal.is-visible {
      opacity: 1;
      transform: translateY(0);
    }

    /* Reduced motion: drop transform/position motion and all keyframe animation,
       but keep gentle opacity/color transitions. "Fewer and gentler, not zero" —
       killing every transition makes hover and crossfades snap harshly. */
    @media (prefers-reduced-motion: reduce) {
      *, *::before, *::after {
        animation: none !important;
        transition-property: opacity, color, background-color, border-color, fill !important;
        transition-duration: 150ms !important;
      }
      /* In reduced-motion: reveal elements are visible immediately; the opacity
         transition that lands is the allowed 150ms opacity-only fade. */
      .mk-reveal { transform: none !important; }
    }
