/* ============================================================
   BackupMaster — single stylesheet for the entire site.
   Order: tokens -> base/reset -> chrome (topbar, nav, footer) ->
   shared components -> page-specific (legal, blog) -> mobile -> responsive.
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Geist:wght@300;400;500;600;700&family=Geist+Mono:wght@400;500&display=swap');

/* ============================================================
   TOKENS
   ============================================================ */
:root {
  /* ---------- Neutral color scale ---------- */
  --bm-white:   #ffffff;
  --bm-gray-50: #fafafa;
  --bm-gray-100:#f5f5f5;
  --bm-gray-150:#ededed;
  --bm-gray-200:#e5e5e5;
  --bm-gray-300:#d4d4d4;
  --bm-gray-400:#a3a3a3;
  --bm-gray-500:#737373;
  --bm-gray-600:#525252;
  --bm-gray-700:#404040;
  --bm-gray-800:#262626;
  --bm-gray-900:#171717;
  --bm-gray-950:#0a0a0a;
  --bm-black:   #000000;

  /* ---------- Semantic status ---------- */
  --bm-success: #16a34a;
  --bm-warn:    #b45309;
  --bm-danger:  #b91c1c;
  --bm-info:    #525252;

  /* ---------- Semantic surfaces (light, default) ---------- */
  --bm-bg:           var(--bm-white);
  --bm-bg-subtle:    var(--bm-gray-50);
  --bm-bg-muted:     var(--bm-gray-100);
  --bm-bg-inverse:   var(--bm-gray-950);
  --bm-fg:           var(--bm-gray-950);
  --bm-fg-muted:     var(--bm-gray-600);
  --bm-fg-subtle:    var(--bm-gray-400);
  --bm-fg-inverse:   var(--bm-white);
  --bm-br:           var(--bm-gray-200);
  --bm-br-strong:    var(--bm-gray-300);
  --bm-br-subtle:    var(--bm-gray-150);
  --bm-accent:       var(--bm-gray-950);
  --bm-accent-fg:    var(--bm-white);
  --bm-accent-hover: var(--bm-gray-800);
  --bm-grid:         rgba(10,10,10,0.05);
  --bm-grid-strong:  rgba(10,10,10,0.08);

  /* ---------- Shorthand aliases (used by chrome + components) ---------- */
  --hair:   var(--bm-gray-200);
  --hair-2: var(--bm-gray-150);
  --hair-3: #f3f3f3;
  --ink:    var(--bm-gray-950);
  --ink-2:  var(--bm-gray-800);
  --ink-3:  var(--bm-gray-600);
  --ink-4:  var(--bm-gray-500);
  --ink-5:  var(--bm-gray-400);
  --ink-6:  var(--bm-gray-300);
  --paper:  var(--bm-white);
  --paper-2:var(--bm-gray-50);
  --paper-3:var(--bm-gray-100);
  --ok:     var(--bm-success);
  --warn:   var(--bm-warn);
  --bad:    var(--bm-danger);

  /* ---------- Typography ---------- */
  --bm-font-sans: 'Geist', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif;
  --bm-font-mono: 'Geist Mono', ui-monospace, 'SF Mono', 'JetBrains Mono', Menlo, Consolas, monospace;

  --bm-w-light:    300;
  --bm-w-regular:  400;
  --bm-w-medium:   500;
  --bm-w-semibold: 600;
  --bm-w-bold:     700;

  --bm-t-display:  56px;  --bm-lh-display:  1.02;  --bm-ls-display:  -0.035em;
  --bm-t-h1:       40px;  --bm-lh-h1:       1.08;  --bm-ls-h1:       -0.028em;
  --bm-t-h2:       28px;  --bm-lh-h2:       1.15;  --bm-ls-h2:       -0.022em;
  --bm-t-h3:       20px;  --bm-lh-h3:       1.25;  --bm-ls-h3:       -0.015em;
  --bm-t-h4:       16px;  --bm-lh-h4:       1.35;  --bm-ls-h4:       -0.01em;
  --bm-t-body:     15px;  --bm-lh-body:     1.55;  --bm-ls-body:     -0.005em;
  --bm-t-sm:       13px;  --bm-lh-sm:       1.5;   --bm-ls-sm:       0;
  --bm-t-xs:       12px;  --bm-lh-xs:       1.45;  --bm-ls-xs:       0;
  --bm-t-eyebrow:  11px;  --bm-lh-eyebrow:  1.4;   --bm-ls-eyebrow:  0;
  --bm-t-mono:     13px;  --bm-lh-mono:     1.5;   --bm-ls-mono:     0;

  /* ---------- Space, radius, motion ---------- */
  --bm-s-0:0;  --bm-s-1:4px;  --bm-s-2:8px;  --bm-s-3:12px;  --bm-s-4:16px;
  --bm-s-5:20px; --bm-s-6:24px; --bm-s-8:32px; --bm-s-10:40px; --bm-s-12:48px;
  --bm-s-16:64px; --bm-s-20:80px; --bm-s-24:96px; --bm-s-32:128px;

  --bm-r-0:0; --bm-r-sm:3px; --bm-r-md:4px; --bm-r-lg:6px; --bm-r-xl:6px; --bm-r-pill:999px;

  --bm-shadow-none: none;
  --bm-shadow-xs:   0 1px 0 rgba(0,0,0,0.03);
  --bm-shadow-sm:   0 1px 2px rgba(0,0,0,0.04), 0 0 0 1px rgba(0,0,0,0.04);
  --bm-shadow-md:   0 4px 12px rgba(0,0,0,0.06), 0 0 0 1px rgba(0,0,0,0.04);
  --bm-ring:        0 0 0 2px var(--bm-bg), 0 0 0 4px var(--bm-gray-950);

  --bm-ease:     cubic-bezier(0.22, 1, 0.36, 1);
  --bm-ease-in:  cubic-bezier(0.4, 0, 1, 1);
  --bm-dur-fast: 120ms;
  --bm-dur:      180ms;
  --bm-dur-slow: 320ms;
}

[data-theme="dark"] {
  --bm-bg:         var(--bm-gray-950);
  --bm-bg-subtle:  var(--bm-gray-900);
  --bm-bg-muted:   var(--bm-gray-800);
  --bm-bg-inverse: var(--bm-white);
  --bm-fg:         var(--bm-white);
  --bm-fg-muted:   var(--bm-gray-400);
  --bm-fg-subtle:  var(--bm-gray-500);
  --bm-fg-inverse: var(--bm-gray-950);
  --bm-br:         var(--bm-gray-800);
  --bm-br-strong:  var(--bm-gray-700);
  --bm-br-subtle:  var(--bm-gray-800);
  --bm-accent:     var(--bm-white);
  --bm-accent-fg:  var(--bm-gray-950);
  --bm-accent-hover: var(--bm-gray-200);
  --bm-grid:       rgba(255,255,255,0.06);
  --bm-grid-strong:rgba(255,255,255,0.10);
}

/* ============================================================
   BASE / RESET
   ============================================================ */
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
html, body {
  font-family: var(--bm-font-sans);
  font-size: var(--bm-t-body);
  line-height: var(--bm-lh-body);
  letter-spacing: var(--bm-ls-body);
  color: var(--bm-fg);
  background: var(--bm-bg);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: 'ss01', 'cv11';
  text-rendering: optimizeLegibility;
}
body{margin:0;background:var(--paper-2)}
img{max-width:100%;display:block}
a {
  color: inherit;
  text-decoration: underline;
  text-decoration-color: var(--bm-gray-300);
  text-underline-offset: 3px;
  transition: text-decoration-color var(--bm-dur) var(--bm-ease);
}
a:hover { text-decoration-color: var(--bm-fg); }
section{border-bottom:1px solid var(--hair)}
::selection { background: var(--bm-gray-950); color: var(--bm-white); }
hr { border:0; border-top:1px solid var(--bm-br); margin: var(--bm-s-8) 0; }

/* ---------- Typography classes ---------- */
h1, .bm-h1 { font-family:var(--bm-font-sans); font-size:var(--bm-t-h1); line-height:var(--bm-lh-h1); letter-spacing:var(--bm-ls-h1); font-weight:var(--bm-w-semibold); color:var(--bm-fg); margin:0; }
h2, .bm-h2 { font-size:var(--bm-t-h2); line-height:var(--bm-lh-h2); letter-spacing:var(--bm-ls-h2); font-weight:var(--bm-w-semibold); margin:0; }
h3, .bm-h3 { font-size:var(--bm-t-h3); line-height:var(--bm-lh-h3); letter-spacing:var(--bm-ls-h3); font-weight:var(--bm-w-semibold); margin:0; }
h4, .bm-h4 { font-size:var(--bm-t-h4); line-height:var(--bm-lh-h4); letter-spacing:var(--bm-ls-h4); font-weight:var(--bm-w-medium); margin:0; }
p, .bm-body { font-size:var(--bm-t-body); line-height:var(--bm-lh-body); letter-spacing:var(--bm-ls-body); color:var(--bm-fg); margin:0; }
.bm-display { font-size:var(--bm-t-display); line-height:var(--bm-lh-display); letter-spacing:var(--bm-ls-display); font-weight:var(--bm-w-semibold); }
.bm-eyebrow { font-family:var(--bm-font-mono); font-size:var(--bm-t-eyebrow); line-height:var(--bm-lh-eyebrow); letter-spacing:var(--bm-ls-eyebrow); font-weight:var(--bm-w-regular); text-transform:none; color:var(--bm-fg-muted); }
.bm-kbd { display:inline-block; font-family:var(--bm-font-mono); font-size:11px; line-height:1; padding:3px 6px; color:var(--bm-fg-muted); background:var(--bm-bg); border:1px solid var(--bm-br); border-bottom-width:2px; border-radius:var(--bm-r-sm); }
.bm-sm { font-size:var(--bm-t-sm); line-height:var(--bm-lh-sm); }
.bm-xs { font-size:var(--bm-t-xs); line-height:var(--bm-lh-xs); }
.bm-muted { color:var(--bm-fg-muted); }
.bm-subtle{ color:var(--bm-fg-subtle); }
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

code, kbd, samp, pre, .bm-mono { font-family:var(--bm-font-mono); font-size:var(--bm-t-mono); line-height:var(--bm-lh-mono); letter-spacing:var(--bm-ls-mono); font-variant-ligatures:none; }
code { background:var(--bm-bg-muted); border:1px solid var(--bm-br-subtle); padding:1px 5px; border-radius:var(--bm-r-sm); color:var(--bm-fg); }

/* ---------- Background helpers ---------- */
.bm-bg-grid {
  background-image: radial-gradient(var(--bm-grid) 1px, transparent 1px);
  background-size: 16px 16px;
  background-position: -1px -1px;
}
.bm-bg-lines {
  background-image:
    linear-gradient(to right, var(--bm-grid) 1px, transparent 1px),
    linear-gradient(to bottom, var(--bm-grid) 1px, transparent 1px);
  background-size: 32px 32px;
}

/* ---------- Layout utility ---------- */
.shell{max-width:1240px;margin:0 auto;padding:0 32px}
.mono{font-family:var(--bm-font-mono)}
.dim{color:var(--ink-3)}

/* ============================================================
   TOPBAR + DESKTOP NAV
   ============================================================ */
.topbar{border-bottom:1px solid var(--hair);background:var(--paper-2);position:sticky;top:0;z-index:10}
.topbar .shell{height:60px;display:flex;align-items:center;justify-content:space-between}
.brand{display:inline-flex;align-items:baseline;font-size:16px;font-weight:600;letter-spacing:-0.022em;color:var(--ink);text-decoration:none}
.brand .mark{display:none}
.brand > span:not(.mark)::after{content:'.';color:var(--ink-5);letter-spacing:0;margin-left:0}
.nav-links{display:flex;align-items:center;gap:22px;font-size:13px;color:var(--ink-2)}
.nav-links a{text-decoration:none}
.nav-links a:hover{color:var(--ink)}
.nav-links a.is-active{color:var(--ink);font-weight:500}
.nav-cta{display:flex;gap:8px;align-items:center}

/* ---------- nav dropdown (Resources / Security) ---------- */
.nav-links .dropdown{position:relative;display:flex;align-items:center;height:60px}
.nav-links .dropdown-trigger{background:transparent;border:0;padding:0;cursor:pointer;font-family:var(--bm-font-sans);font-size:13px;color:var(--ink-2);display:inline-flex;align-items:center;gap:6px;letter-spacing:-0.005em;line-height:1;height:60px;transition:color 120ms}
.nav-links .dropdown-trigger:hover,.nav-links .dropdown-trigger.is-active{color:var(--ink)}
.nav-links .dropdown-trigger.is-active{font-weight:500}
.nav-links .dropdown-trigger .caret{width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-3px;transition:transform 180ms}
.nav-links .dropdown:hover .dropdown-trigger .caret,.nav-links .dropdown:focus-within .dropdown-trigger .caret{transform:rotate(225deg);margin-top:1px}
.nav-links .dropdown-menu{position:absolute;top:100%;left:50%;transform:translateX(-50%);display:none;flex-direction:column;gap:0;background:var(--paper);border:1px solid var(--hair);border-radius:8px;padding:14px 16px;min-width:200px;box-shadow:0 12px 32px rgba(10,10,10,0.06);z-index:20}
.nav-links .dropdown:hover .dropdown-menu,.nav-links .dropdown:focus-within .dropdown-menu{display:flex}
.nav-links .dropdown-menu.wide{flex-direction:initial;grid-template-columns:repeat(3,170px);gap:32px;padding:20px 24px;min-width:auto}
.nav-links .dropdown:hover .dropdown-menu.wide,.nav-links .dropdown:focus-within .dropdown-menu.wide{display:grid}
.nav-links .dropdown-menu.wide .dropdown-col h6{font-family:var(--bm-font-mono);font-size:10.5px;color:var(--ink-4);text-transform:uppercase;letter-spacing:0.06em;margin:0 0 8px;font-weight:400}
.nav-links .dropdown-menu a{display:block;font-size:13px;color:var(--ink-2);padding:6px 4px;text-decoration:none;letter-spacing:-0.005em;border-radius:4px;transition:color 120ms,background 120ms;white-space:nowrap}
.nav-links .dropdown-menu a:hover{color:var(--ink);background:var(--paper-2)}
.nav-links .dropdown-menu a.is-active{color:var(--ink);font-weight:500}

/* ============================================================
   BUTTONS
   ============================================================ */
.btn{font-family:var(--bm-font-sans);font-size:13px;font-weight:500;height:34px;padding:0 14px;border-radius:5px;border:1px solid transparent;cursor:pointer;display:inline-flex;align-items:center;gap:8px;letter-spacing:-0.005em;line-height:1;text-decoration:none;white-space:nowrap;transition:background 120ms,border-color 120ms,color 120ms}
.btn.primary{background:var(--ink);color:#fff}
.btn.primary:hover{background:#000}
.btn.secondary{background:var(--paper);color:var(--ink);border-color:var(--hair)}
.btn.secondary:hover{border-color:var(--ink-5)}
.btn.ghost{background:transparent;color:var(--ink-2)}
.btn.ghost:hover{color:var(--ink)}
.btn.lg{height:40px;padding:0 18px;font-size:14px}

/* ============================================================
   SHARED SECTION HEADER
   ============================================================ */
.sec-head{display:block;padding:0 0 36px}
.sec-head .kicker{font-family:var(--bm-font-mono);font-size:11px;color:var(--ink-4);text-transform:uppercase;letter-spacing:0.08em;margin-bottom:18px}
.sec-head h1{font-size:48px;line-height:1.05;letter-spacing:-0.028em;font-weight:600;margin:0 0 18px;text-wrap:balance;max-width:780px}
.sec-head h2{font-size:34px;line-height:1.1;letter-spacing:-0.025em;font-weight:600;margin:0 0 14px;text-wrap:balance;max-width:780px}
.sec-head h2 .dim{color:var(--ink-3)}
.sec-head p{font-size:16px;line-height:1.55;color:var(--ink-3);margin:0;max-width:680px;letter-spacing:-0.003em}
.sec-head p + p{margin-top:14px}
.sec-head p a{color:var(--ink);border-bottom:1px solid var(--ink-5);text-decoration:none;padding-bottom:1px;transition:border-color 120ms}
.sec-head p a:hover{border-bottom-color:var(--ink)}
.sec-head ul{margin:14px 0 0;padding:0;list-style:none;font-size:16px;color:var(--ink-2);line-height:1.7;max-width:680px;letter-spacing:-0.003em}
.sec-head ul li{padding:4px 0 4px 22px;position:relative}
.sec-head ul li::before{content:'\2014';position:absolute;left:0;color:var(--ink-5);font-family:var(--bm-font-mono)}
.sec-head ul + p{margin-top:14px}

/* ============================================================
   PAGE HERO (sub-page hero, text-only)
   ============================================================ */
.page-hero{padding:88px 0 64px;background:var(--paper-2);border-bottom:1px solid var(--hair)}
.page-hero .kicker{font-family:var(--bm-font-mono);font-size:11px;color:var(--ink-4);text-transform:uppercase;letter-spacing:0.08em;margin-bottom:20px}
.page-hero .kicker-pill{display:inline-flex;align-items:center;gap:8px;padding:5px 12px 5px 8px;border:1px solid var(--hair);border-radius:99px;background:var(--paper);font-family:var(--bm-font-mono);font-size:11px;color:var(--ink-2);text-decoration:none;margin-bottom:24px}
.page-hero .kicker-pill .dot{width:6px;height:6px;border-radius:99px;background:#16a34a;display:inline-block;flex-shrink:0;margin-left:2px}
.page-hero h1{font-size:56px;line-height:1.03;letter-spacing:-0.032em;font-weight:600;margin:0 0 22px;text-wrap:balance;max-width:820px}
.page-hero h1 .dim{color:var(--ink-3)}
.page-hero p.lede{font-size:18px;line-height:1.55;color:var(--ink-3);margin:0;max-width:680px;letter-spacing:-0.003em}
.page-hero p.lede + p.lede{margin-top:14px}
.page-hero .ctas{display:flex;gap:10px;flex-wrap:wrap;margin-top:32px}
.email-line{margin-top:24px;font-size:16px;color:var(--ink-3);letter-spacing:-0.003em}
.email-line a{font-family:var(--bm-font-mono);color:var(--ink);text-decoration:none;border-bottom:1px solid var(--ink-5);padding-bottom:1px;transition:border-color 120ms}
.email-line a:hover{border-bottom-color:var(--ink)}
.cta-band .email-line{margin:0 auto 28px}

/* ============================================================
   HOMEPAGE / PLATFORM HERO (embedded-in-admin showcase)
   ============================================================ */
.hero-v2{padding:96px 0 112px;background:var(--paper-2);border-top:1px solid var(--hair-2)}
.hero-v2 .shell{display:flex;flex-direction:column;align-items:center;gap:56px;text-align:center}
.hero-v2 .h2-head{max-width:760px;display:flex;flex-direction:column;align-items:center}
.hero-v2 .kicker-pill{display:inline-flex;align-items:center;gap:8px;padding:5px 12px 5px 8px;border:1px solid var(--hair);border-radius:99px;background:var(--paper);font-family:var(--bm-font-mono);font-size:11px;color:var(--ink-2);text-decoration:none;margin-bottom:24px;transition:border-color 120ms,color 120ms}
.hero-v2 .kicker-pill:hover{border-color:var(--ink-5);color:var(--ink)}
.hero-v2 .kicker-pill .dot{width:6px;height:6px;border-radius:99px;background:#16a34a;display:inline-block;flex-shrink:0;margin-left:2px}
.hero-v2 .kicker-pill .arr{color:var(--ink-4);transition:transform 180ms,color 120ms}
.hero-v2 .kicker-pill:hover .arr{color:var(--ink);transform:translateX(2px)}
.hero-v2 .h2-h1{font-size:60px;line-height:1.03;letter-spacing:-0.034em;font-weight:600;margin:0;text-wrap:balance;color:var(--ink)}
.hero-v2 .h2-h1 .dim{color:var(--ink-3)}
.hero-v2 .h2-sub{font-size:18px;line-height:1.55;color:var(--ink-2);margin:24px 0 0;max-width:640px;letter-spacing:-0.005em}
.hero-v2 .h2-ctas{display:flex;gap:10px;margin:32px 0 0;flex-wrap:wrap;justify-content:center;align-items:center}
.hero-v2 .h2-frame{margin:0;width:100%;max-width:1180px;border:1px solid var(--hair);border-radius:10px;overflow:hidden;background:var(--paper);box-shadow:0 30px 60px -20px rgba(10,10,10,0.18), 0 12px 28px -12px rgba(10,10,10,0.10)}
.hero-v2 .h2-frame img{display:block;width:100%;height:auto}

@media (max-width: 720px){
  .hero-v2{padding:64px 0 72px}
  .hero-v2 .shell{gap:40px}
  .hero-v2 .h2-h1{font-size:38px}
  .hero-v2 .h2-sub{font-size:16px}
  .hero-v2 .h2-frame{border-radius:8px}
}

/* ============================================================
   GENERIC SECTION
   ============================================================ */
.section{padding:80px 0;border-bottom:1px solid var(--hair);background:var(--paper-2)}
.section.on-paper{background:var(--paper-2)}

/* ============================================================
   CLOSING CTA (centered, large)
   ============================================================ */
.section.closing-cta{padding:128px 0;text-align:center;background:var(--paper-2)}
.section.closing-cta h2{font-size:52px;line-height:1.04;letter-spacing:-0.03em;font-weight:600;margin:0 auto 22px;color:var(--ink);text-wrap:balance;max-width:760px}
.section.closing-cta h2 .dim{color:var(--ink-3)}
.section.closing-cta p{font-size:17px;line-height:1.55;color:var(--ink-3);margin:0 auto 36px;max-width:560px}
.section.closing-cta .actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}

/* ============================================================
   CLONE SECTION (3-card row)
   ============================================================ */
.clone-section{padding:96px 0;border-bottom:1px solid var(--hair)}
.clone-section .head{text-align:center;max-width:760px;margin:0 auto 56px}
.clone-section .head .kicker{font-family:var(--bm-font-mono);font-size:11px;color:var(--ink-4);text-transform:uppercase;letter-spacing:0.06em;display:inline-block;margin-bottom:20px}
.clone-section .head h2{font-size:48px;line-height:1.04;letter-spacing:-0.028em;font-weight:600;margin:0 0 20px;text-wrap:balance;color:var(--ink)}
.clone-section .head p{font-size:18px;color:var(--ink-3);line-height:1.55;margin:0}
.clone-section .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:48px}
.clone-section .cards .card{padding:40px 32px;border:1px solid var(--hair);border-radius:8px;background:var(--paper);transition:border-color 120ms,transform 120ms}
.clone-section .cards .card:hover{border-color:var(--ink-5);transform:translateY(-2px)}
.clone-section .cards .card .num{font-family:var(--bm-font-mono);font-size:11px;color:var(--ink-4);letter-spacing:0.06em;text-transform:uppercase;margin-bottom:28px;display:block}
.clone-section .cards .card h3{font-size:22px;font-weight:600;margin:0 0 12px;letter-spacing:-0.012em;line-height:1.2;color:var(--ink)}
.clone-section .cards .card p{font-size:14.5px;color:var(--ink-3);line-height:1.6;margin:0}
.clone-section .cta-row{text-align:center}

/* ============================================================
   COVERAGE TABLE
   ============================================================ */
.coverage{padding:80px 0;border-bottom:1px solid var(--hair)}
.coverage .cov-table-wrap{position:relative;border:1px solid var(--hair);border-bottom:0;border-radius:8px 8px 0 0;overflow:hidden;background:var(--paper);max-height:500px;-webkit-mask-image:linear-gradient(to bottom, #000 65%, transparent 100%);mask-image:linear-gradient(to bottom, #000 65%, transparent 100%)}
.coverage .cov-table{width:100%;border-collapse:collapse;background:var(--paper);font-family:var(--bm-font-sans)}
.coverage .cov-table th,.coverage .cov-table td{padding:14px 22px;text-align:left;vertical-align:middle;font-size:14px;border-bottom:1px solid var(--hair-2)}
.coverage .cov-table thead th{font-size:13px;color:var(--ink);font-weight:600;background:var(--paper-2);border-bottom:1px solid var(--hair);letter-spacing:-0.005em}
.coverage .cov-table thead th.flag{text-align:center;width:130px}
.coverage .cov-table tbody tr:last-child td{border-bottom:0}
.coverage .cov-table td.name{color:var(--ink);letter-spacing:-0.005em}
.coverage .cov-table td.flag{text-align:center}
.coverage .cov-table .check{display:inline-block;width:9px;height:9px;border-radius:99px;background:var(--ok)}
.coverage .cov-table .empty{color:var(--ink-5);font-family:var(--bm-font-mono);font-size:14px}
.coverage .cov-cta{display:flex;justify-content:center;margin-top:-24px;position:relative;z-index:2}

/* ============================================================
   HOW IT WORKS (2x2 feature grid with images)
   ============================================================ */
.how{padding-bottom:96px}
.how .sec-head{padding:80px 0 48px}
.how-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.how-grid .feat{display:flex;flex-direction:column;border:1px solid var(--hair);border-radius:8px;overflow:hidden;background:var(--paper);transition:border-color 120ms,transform 120ms}
.how-grid .feat:hover{border-color:var(--ink-5);transform:translateY(-2px)}
.how-grid .feat .fv{aspect-ratio:4/3;background:var(--paper-3);border-bottom:1px solid var(--hair);overflow:hidden;position:relative;display:flex;align-items:center;justify-content:center}
.how-grid .feat .fv:not(.illust){border-bottom:0;-webkit-mask-image:linear-gradient(to bottom, #000 72%, transparent 100%);mask-image:linear-gradient(to bottom, #000 72%, transparent 100%)}
.how-grid .feat .fv img{display:block;width:100%;height:100%;object-fit:cover;object-position:top center}
.how-grid .feat .text{padding:24px 28px 28px}
.how-grid .feat h3{font-size:20px;font-weight:600;letter-spacing:-0.012em;margin:0 0 8px;line-height:1.25;color:var(--ink)}
.how-grid .feat p{font-size:14.5px;line-height:1.6;color:var(--ink-3);margin:0 0 16px}
.how-grid .feat .doc-link{display:inline-flex;align-items:center;gap:6px;font-family:var(--bm-font-mono);font-size:11.5px;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--ink-5);padding-bottom:1px;transition:border-color 120ms;letter-spacing:0}
.how-grid .feat .doc-link:hover{border-bottom-color:var(--ink)}
.how-grid .feat .doc-link .arr{transition:transform 180ms}
.how-grid .feat .doc-link:hover .arr{transform:translateX(2px)}

.fv.illust{padding:32px;background-image:linear-gradient(to right, var(--hair-3) 1px, transparent 1px),linear-gradient(to bottom, var(--hair-3) 1px, transparent 1px);background-size:24px 24px;background-position:-1px -1px}
.illust-schedule{padding:24px 28px}
.illust-schedule .rows{display:flex;flex-direction:column;gap:6px;width:100%;max-width:380px;font-family:var(--bm-font-mono);font-size:12px}
.illust-schedule .row{display:flex;justify-content:space-between;padding:9px 14px;background:var(--paper);border:1px solid var(--hair);border-radius:5px;gap:12px}
.illust-schedule .row .k{color:var(--ink-4)}
.illust-schedule .row .v{color:var(--ink);font-weight:500}
.illust-schedule .row .ok{color:var(--ok);font-weight:500}

/* ============================================================
   SECURITY (dark band)
   ============================================================ */
.security{padding:96px 0;background:var(--ink);color:#fff;border-bottom:0}
.security .sec-head{padding:0 0 48px}
.security .sec-head .kicker{font-family:var(--bm-font-mono);font-size:11px;color:rgba(255,255,255,0.55);margin-bottom:20px;text-transform:uppercase;letter-spacing:0.06em}
.security .sec-head h2{font-size:48px;line-height:1.05;letter-spacing:-0.03em;color:#fff;max-width:760px;margin:0 0 18px}
.security .sec-head h2 .dim{color:rgba(255,255,255,0.55)}
.security .sec-head p{font-size:16.5px;color:rgba(255,255,255,0.7);max-width:680px}
.security .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid rgba(255,255,255,0.1);border-radius:8px;overflow:hidden;background:rgba(255,255,255,0.02);margin-bottom:32px}
.security .grid .item{padding:24px;border-right:1px solid rgba(255,255,255,0.1);background:transparent}
.security .grid .item:last-child{border-right:0}
.security .grid .item .lbl{font-family:var(--bm-font-mono);font-size:10.5px;color:rgba(255,255,255,0.5);text-transform:uppercase;letter-spacing:0.06em;margin-bottom:14px;display:flex;align-items:center;gap:6px}
.security .grid .item .lbl .dot{display:inline-block;width:6px;height:6px;border-radius:99px;background:var(--ok);flex-shrink:0}
.security .grid .item h3{font-size:15px;font-weight:600;margin:0 0 6px;color:#fff;letter-spacing:-0.005em}
.security .grid .item p{font-size:13px;color:rgba(255,255,255,0.6);line-height:1.55;margin:0}
.security .actions{display:flex;gap:10px;flex-wrap:wrap}
.security .actions a{font-family:var(--bm-font-sans);font-size:14px;font-weight:500;height:40px;padding:0 18px;border-radius:5px;display:inline-flex;align-items:center;text-decoration:none;line-height:1;letter-spacing:-0.005em;transition:background 120ms,border-color 120ms}
.security .actions .a-w{background:#fff;color:var(--ink);border:1px solid #fff}
.security .actions .a-w:hover{background:rgba(255,255,255,0.9)}
.security .actions .a-wo{background:transparent;color:#fff;border:1px solid rgba(255,255,255,0.22)}
.security .actions .a-wo:hover{border-color:#fff}

/* ============================================================
   SOCIAL PROOF (stats + testimonials)
   ============================================================ */
.proof{padding:96px 0;border-bottom:1px solid var(--hair)}
.proof .stats-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--hair);border-radius:8px;overflow:hidden;background:var(--paper);margin-bottom:20px}
.proof .stats-strip .cell{padding:24px 24px;border-right:1px solid var(--hair)}
.proof .stats-strip .cell:last-child{border-right:0}
.proof .stats-strip .cell .k{font-family:var(--bm-font-mono);font-size:10.5px;color:var(--ink-4);text-transform:uppercase;letter-spacing:0.06em;margin-bottom:10px}
.proof .stats-strip .cell .v{font-size:32px;letter-spacing:-0.025em;font-weight:600;line-height:1.1;color:var(--ink)}
.proof .quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.proof .quotes figure{margin:0;padding:26px;border:1px solid var(--hair);border-radius:8px;background:var(--paper);display:flex;flex-direction:column}
.proof .quotes blockquote{margin:0;font-size:15px;color:var(--ink);line-height:1.6;letter-spacing:-0.005em;flex:1}
.proof .quotes figcaption{margin-top:22px;padding-top:18px;border-top:1px solid var(--hair-2);display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.proof .quotes figcaption .name{font-size:13px;font-weight:600;letter-spacing:-0.005em;color:var(--ink)}
.proof .quotes figcaption .where{font-family:var(--bm-font-mono);font-size:11px;color:var(--ink-4)}
.proof .quotes figure .stars{display:flex;gap:2px;margin-bottom:16px;color:var(--ink)}
.proof .quotes figure .stars svg{width:13px;height:13px;flex-shrink:0}
.proof .source-link{display:flex;justify-content:center;margin-top:32px;font-family:var(--bm-font-mono);font-size:12px}
.proof .source-link a{display:inline-flex;align-items:center;gap:6px;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--ink-5);padding-bottom:2px;transition:border-color 120ms}
.proof .source-link a:hover{border-bottom-color:var(--ink)}
.proof .source-link a .arr{transition:transform 180ms}
.proof .source-link a:hover .arr{transform:translateX(2px)}

/* ============================================================
   DOCS LIST
   ============================================================ */
.docs{padding:96px 0;border-bottom:1px solid var(--hair)}
.docs .sec-head{padding:0 0 48px}
.docs .docs-index{border:1px solid var(--hair);border-radius:8px;background:var(--paper);overflow:hidden;margin-bottom:40px}
.docs .docs-index a.row{display:grid;grid-template-columns:160px 1fr auto;gap:32px;align-items:center;padding:28px 32px;text-decoration:none;color:inherit;border-bottom:1px solid var(--hair-2);transition:background 120ms}
.docs .docs-index a.row:last-child{border-bottom:0}
.docs .docs-index a.row:hover{background:var(--paper-3)}
.docs .docs-index a.row .num{font-family:var(--bm-font-mono);font-size:11px;color:var(--ink-4);text-transform:uppercase;letter-spacing:0.06em}
.docs .docs-index a.row .title{font-size:20px;font-weight:600;letter-spacing:-0.015em;color:var(--ink);line-height:1.3;margin:0}
.docs .docs-index a.row .read{display:inline-flex;align-items:center;gap:6px;font-family:var(--bm-font-mono);font-size:11.5px;color:var(--ink);letter-spacing:0;white-space:nowrap}
.docs .docs-index a.row .read .arr{transition:transform 180ms}
.docs .docs-index a.row:hover .read .arr{transform:translateX(3px)}
.docs .docs-cta{display:flex;justify-content:center;margin-top:8px}

/* ============================================================
   SPLIT (text-left / visual-right)
   ============================================================ */
.split{padding:80px 0;border-bottom:1px solid var(--hair);background:var(--paper-2)}
.split .body{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.split .copy h2{font-size:32px;line-height:1.1;letter-spacing:-0.022em;font-weight:600;margin:0 0 14px;text-wrap:balance;max-width:480px}
.split .copy p{font-size:16px;line-height:1.6;color:var(--ink-3);margin:0 0 22px;max-width:460px}
.split .copy ul{margin:0 0 22px;padding:0;list-style:none;font-size:14.5px;color:var(--ink-2);line-height:1.7}
.split .copy ul li{padding:5px 0 5px 22px;position:relative}
.split .copy ul li::before{content:'\2014';position:absolute;left:0;color:var(--ink-5);font-family:var(--bm-font-mono)}
.split .visual{border:1px solid var(--hair);border-radius:8px;background:var(--paper-3);aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;padding:32px;color:var(--ink-4)}

/* ============================================================
   FEATURE GRID
   ============================================================ */
.feat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.feat-grid.cols-3{grid-template-columns:repeat(3,1fr)}
.feat-grid.cols-4{grid-template-columns:repeat(4,1fr)}
.feat-grid .feat{padding:28px;border:1px solid var(--hair);border-radius:8px;background:var(--paper);transition:border-color 120ms;display:flex;flex-direction:column}
.feat-grid .feat:hover{border-color:var(--ink-5)}
.feat-grid .feat .lbl{font-family:var(--bm-font-mono);font-size:10.5px;color:var(--ink-4);text-transform:uppercase;letter-spacing:0.06em;margin-bottom:14px;display:flex;align-items:center;gap:6px}
.feat-grid .feat .lbl .dot{display:inline-block;width:6px;height:6px;border-radius:99px;background:var(--ok)}
.feat-grid .feat h3{font-size:17px;font-weight:600;letter-spacing:-0.008em;margin:0 0 8px;line-height:1.3;color:var(--ink)}
.feat-grid.cols-4 .feat h3{font-size:15px;font-weight:600;letter-spacing:-0.005em;margin:0 0 8px;line-height:1.3;color:var(--ink)}
.feat-grid .feat p{font-size:14px;color:var(--ink-3);line-height:1.6;margin:0;flex:1}
.feat-grid .feat .btn{align-self:flex-start;margin-top:18px}

/* ============================================================
   OPTION CARDS (2-up large)
   ============================================================ */
.options{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.options .opt{padding:36px 32px;border:1px solid var(--hair);border-radius:8px;background:var(--paper);transition:border-color 120ms,transform 120ms;display:flex;flex-direction:column}
.options .opt:hover{border-color:var(--ink-5);transform:translateY(-2px)}
.options .opt .lbl{font-family:var(--bm-font-mono);font-size:10.5px;color:var(--ink-4);text-transform:uppercase;letter-spacing:0.06em;margin-bottom:22px;display:flex;align-items:center;gap:6px}
.options .opt .lbl .dot{display:inline-block;width:6px;height:6px;border-radius:99px;background:var(--ok)}
.options .opt h3{font-size:22px;font-weight:600;letter-spacing:-0.012em;margin:0 0 14px;line-height:1.25;color:var(--ink)}
.options .opt p{font-size:14.5px;color:var(--ink-3);line-height:1.6;margin:0}

/* ============================================================
   CHIP ROW
   ============================================================ */
.chip-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:36px}
.chip-row .chip{padding:8px 14px;border:1px solid var(--hair);border-radius:99px;background:var(--paper);font-size:13.5px;color:var(--ink);letter-spacing:-0.003em}

/* ============================================================
   STATS STRIP (generic, also scoped under .proof above)
   ============================================================ */
.stats-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--hair);border-radius:8px;overflow:hidden;background:var(--paper)}
.stats-strip .cell{padding:24px;border-right:1px solid var(--hair)}
.stats-strip .cell:last-child{border-right:0}
.stats-strip .cell .k{font-family:var(--bm-font-mono);font-size:10.5px;color:var(--ink-4);text-transform:uppercase;letter-spacing:0.06em;margin-bottom:10px}
.stats-strip .cell .v{font-size:30px;letter-spacing:-0.025em;font-weight:600;line-height:1.1;color:var(--ink)}

/* ============================================================
   KV LIST (mono key / value rows)
   ============================================================ */
.kv-list{display:flex;flex-direction:column;gap:0;border:1px solid var(--hair);border-radius:8px;overflow:hidden;background:var(--paper)}
.kv-list .row{display:grid;grid-template-columns:200px 1fr;gap:24px;padding:18px 22px;border-bottom:1px solid var(--hair-2)}
.kv-list .row:last-child{border-bottom:0}
.kv-list .row .k{font-family:var(--bm-font-mono);font-size:11.5px;color:var(--ink-4);text-transform:uppercase;letter-spacing:0.06em;align-self:flex-start;padding-top:2px}
.kv-list .row .v{font-size:14.5px;color:var(--ink-2);line-height:1.6;letter-spacing:-0.005em}
.kv-list .row .v a{color:var(--ink);border-bottom:1px solid var(--ink-5);text-decoration:none;padding-bottom:1px;transition:border-color 120ms}
.kv-list .row .v a:hover{border-bottom-color:var(--ink)}

/* ============================================================
   FINAL CTA BAND
   ============================================================ */
.cta-band{padding:128px 0;border-bottom:1px solid var(--hair);text-align:center}
.cta-band h2{font-size:52px;line-height:1.04;letter-spacing:-0.03em;font-weight:600;margin:0 auto 22px;color:var(--ink);text-wrap:balance;max-width:760px}
.cta-band h2 .dim{color:var(--ink-3)}
.cta-band p{font-size:17px;line-height:1.55;color:var(--ink-3);margin:0 auto 36px;max-width:560px}
.cta-band .actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}

/* ============================================================
   LEGAL / ARTICLE / BLOG PAGE OVERRIDES
   ============================================================ */
.legal-page .page-hero .shell{max-width:784px}
.legal-page .page-hero{padding:72px 0 48px}
.legal-page .article{padding:48px 0 96px}
.legal-page .article .body h2{margin-top:56px;padding-top:8px;border-top:1px solid var(--hair-2)}
.legal-page .article .body h2:first-of-type{border-top:0;padding-top:0;margin-top:32px}
.legal-page .article .body h3{margin-top:28px}

.article-page .page-hero .shell{max-width:784px}
.article-page .page-hero{padding:64px 0 40px;background:var(--paper-2)}
.article-page .page-hero h1{font-size:40px}
.article-page .page-hero .kicker a{color:inherit;text-decoration:none;border-bottom:1px solid transparent;padding-bottom:1px;transition:color 120ms,border-color 120ms}
.article-page .page-hero .kicker a:hover{color:var(--ink);border-bottom-color:var(--ink-5)}
.article-page .article{padding:40px 0 96px}

.blog-page .page-hero{background:var(--paper-2)}

/* ============================================================
   ARTICLE (legal, about, blog post body)
   ============================================================ */
.article{padding:64px 0 96px;background:var(--paper-2);border-bottom:1px solid var(--hair)}
.article .body{max-width:784px;margin:0 auto;padding:0 32px;font-size:15.5px;line-height:1.65;color:var(--ink-2);letter-spacing:-0.003em}
.article .body h2{font-size:22px;font-weight:600;letter-spacing:-0.012em;margin:48px 0 14px;color:var(--ink);line-height:1.25}
.article .body h2:first-child{margin-top:0}
.article .body h3{font-size:17px;font-weight:600;letter-spacing:-0.005em;margin:36px 0 10px;color:var(--ink)}
.article .body p{margin:0 0 16px}
.article .body ul,.article .body ol{margin:0 0 16px;padding-left:22px}
.article .body li{margin-bottom:6px}
.article .body a{color:var(--ink);border-bottom:1px solid var(--ink-5);text-decoration:none;padding-bottom:1px;transition:border-color 120ms}
.article .body a:hover{border-bottom-color:var(--ink)}
.article .body code{font-family:var(--bm-font-mono);font-size:13px;background:var(--paper-2);border:1px solid var(--hair);border-radius:4px;padding:1px 6px}
.article .body strong{font-weight:600;color:var(--ink)}
.article .body img.hero-img{width:100%;height:auto;display:block;margin:0 0 28px;border-radius:6px;border:1px solid var(--hair-2)}
.article .meta{font-family:var(--bm-font-mono);font-size:11px;color:var(--ink-4);text-transform:uppercase;letter-spacing:0.06em;margin-bottom:32px}
.article .body .related-posts{margin:72px 0 0;padding-top:32px;border-top:1px solid var(--hair-2)}
.article .body .related-posts .related-label{font-family:var(--bm-font-mono);font-size:10.5px;color:var(--ink-4);text-transform:uppercase;letter-spacing:0.08em;margin:0 0 20px;font-weight:400}
.article .body .related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.article .body .related-card{display:flex;flex-direction:column;text-decoration:none;color:inherit;border-bottom:0;padding:0;transition:opacity 120ms}
.article .body .related-card:hover{opacity:0.75;border-bottom:0}
.article .body .related-card .related-img{aspect-ratio:4/3;overflow:hidden;border-radius:5px;margin-bottom:12px;border:1px solid var(--hair-2);background:var(--paper-2)}
.article .body .related-card .related-img img{width:100%;height:100%;object-fit:cover;display:block}
.article .body .related-card .related-meta{font-family:var(--bm-font-mono);font-size:10.5px;color:var(--ink-4);text-transform:uppercase;letter-spacing:0.06em;margin-bottom:6px}
.article .body .related-card h3{font-size:14.5px;font-weight:600;letter-spacing:-0.005em;margin:0;line-height:1.4;color:var(--ink)}
.article .body .back-link{margin-top:48px;font-family:var(--bm-font-mono);font-size:11px;color:var(--ink-4);text-transform:uppercase;letter-spacing:0.06em}
.article .body .back-link a{color:var(--ink-3);border-bottom:0}
.article .body .back-link a:hover{color:var(--ink)}

/* ============================================================
   FOOTER
   Two supported layouts:
     1. Homepage / marketing: <footer.foot> > .shell > .top > .brand-block + .cols (4-col)
     2. Legal / content:      <footer.foot> > .shell (grid 280px+1fr) > .brand-block + .cols (3-col)
   The `:has(.top)` selector swaps to layout 1 when the wrapper is present.
   ============================================================ */
footer.foot{padding:64px 0 48px;background:var(--paper-2);border-top:1px solid var(--hair)}
footer.foot .shell{display:grid;grid-template-columns:280px 1fr;gap:64px}
footer.foot:has(.top) .shell{display:block}
footer.foot .top{display:grid;grid-template-columns:280px 1fr;gap:64px}
footer.foot .top .cols{grid-template-columns:repeat(4,1fr);gap:28px}
footer.foot .foot-bottom{margin-top:48px;padding-top:24px;border-top:1px solid var(--hair);text-align:center;font-family:var(--bm-font-mono);font-size:11px;color:var(--ink-4);letter-spacing:0.02em}
footer.foot .brand-block .brand{margin-bottom:14px}
footer.foot .brand-block .tag{font-size:13.5px;color:var(--ink-3);margin:0 0 18px;line-height:1.55;max-width:240px}
footer.foot .brand-block .email{display:inline-block;font-size:13px;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--ink-5);padding-bottom:1px}
footer.foot .brand-block .email:hover{border-bottom-color:var(--ink)}
footer.foot .brand-block .addr{font-family:var(--bm-font-mono);font-size:11px;color:var(--ink-4);margin-top:14px;line-height:1.7}
footer.foot .cols{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
footer.foot .col h5{font-family:var(--bm-font-mono);font-size:10.5px;color:var(--ink-4);text-transform:uppercase;letter-spacing:0.06em;margin:0 0 14px;font-weight:400}
footer.foot .col a{display:block;font-size:13px;color:var(--ink-2);padding:4px 0;text-decoration:none}
footer.foot .col a:hover{color:var(--ink)}
footer.foot .bottom{margin-top:56px;padding-top:24px;border-top:1px solid var(--hair);display:flex;justify-content:space-between;align-items:center;font-size:11.5px;color:var(--ink-4);font-family:var(--bm-font-mono);flex-wrap:wrap;gap:14px}
footer.foot .bottom .compliance{color:var(--ink-3);display:flex;align-items:center;gap:10px}
footer.foot .bottom .compliance .dot{display:inline-block;width:5px;height:5px;border-radius:99px;background:var(--ok)}
footer.foot .bottom .legal{display:flex;gap:18px;flex-wrap:wrap}
footer.foot .bottom .legal a{color:var(--ink-4);text-decoration:none}
footer.foot .bottom .legal a:hover{color:var(--ink)}

/* ============================================================
   MOBILE NAV
   ============================================================ */
.nav-toggle{display:none;background:transparent;border:0;padding:8px;margin-right:-8px;cursor:pointer;width:36px;height:36px;align-items:center;justify-content:center;color:var(--ink)}
.nav-toggle .bars{position:relative;width:18px;height:12px;display:block}
.nav-toggle .bars span{position:absolute;left:0;width:100%;height:1.5px;background:currentColor;border-radius:1px;transition:transform 200ms ease,opacity 160ms ease,top 200ms ease}
.nav-toggle .bars span:nth-child(1){top:0}
.nav-toggle .bars span:nth-child(2){top:5px}
.nav-toggle .bars span:nth-child(3){top:10px}
.nav-toggle[aria-expanded="true"] .bars span:nth-child(1){top:5px;transform:rotate(45deg)}
.nav-toggle[aria-expanded="true"] .bars span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] .bars span:nth-child(3){top:5px;transform:rotate(-45deg)}

.nav-mobile{display:none;position:fixed;top:60px;left:0;right:0;bottom:0;background:var(--paper);z-index:9;overflow-y:auto;padding:24px 0 32px;border-top:1px solid var(--hair)}
.nav-mobile.is-open{display:block}
.nav-mobile .shell{display:block}
.nav-mobile .m-link{display:block;font-size:17px;color:var(--ink);text-decoration:none;padding:14px 0;border-bottom:1px solid var(--hair-2);letter-spacing:-0.005em}
.nav-mobile .m-link:last-of-type{border-bottom:0}
.nav-mobile .m-section{padding:18px 0 8px;border-bottom:1px solid var(--hair-2)}
.nav-mobile .m-section h6{font-family:var(--bm-font-mono);font-size:10.5px;color:var(--ink-4);text-transform:uppercase;letter-spacing:0.06em;margin:0 0 8px;font-weight:400}
.nav-mobile .m-section a{display:block;font-size:15px;color:var(--ink-2);padding:10px 0;text-decoration:none;letter-spacing:-0.005em}
.nav-mobile .m-section a:hover{color:var(--ink)}
.nav-mobile .m-cta{display:flex;flex-direction:column;gap:10px;margin-top:24px}
.nav-mobile .m-cta .btn{height:44px;font-size:14px;justify-content:center}
body.nav-open{overflow:hidden}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 960px){
  .nav-links{display:none}
  .nav-cta{display:none}
  .nav-toggle{display:inline-flex}

  .sec-head,footer.foot .top{grid-template-columns:1fr;gap:32px}

  .page-hero{padding:56px 0 48px}
  .page-hero h1{font-size:38px}

  .section{padding:56px 0}
  .section.closing-cta{padding:72px 0}
  .section.closing-cta h2{font-size:34px}

  .sec-head h1{font-size:34px}
  .sec-head h2{font-size:26px}

  .clone-section{padding:56px 0}
  .clone-section .head h2{font-size:32px}
  .clone-section .cards{grid-template-columns:1fr}

  .coverage{padding:56px 0}

  .how-grid{grid-template-columns:1fr;gap:40px}

  .security{padding:64px 0}
  .security .grid{grid-template-columns:repeat(2,1fr)}
  .security .grid .item{border-right:0;border-bottom:1px solid rgba(255,255,255,0.1)}
  .security .grid .item:nth-child(odd){border-right:1px solid rgba(255,255,255,0.1)}
  .security .grid .item:nth-last-child(-n+2){border-bottom:0}
  .security .sec-head h2{font-size:34px}

  .proof{padding:64px 0}
  .proof .stats-strip{grid-template-columns:repeat(2,1fr)}
  .proof .stats-strip .cell{border-right:0;border-bottom:1px solid var(--hair)}
  .proof .stats-strip .cell:nth-child(odd){border-right:1px solid var(--hair)}
  .proof .stats-strip .cell:nth-last-child(-n+2){border-bottom:0}
  .proof .quotes{grid-template-columns:1fr}

  .docs{padding:64px 0}
  .docs .docs-index a.row{grid-template-columns:1fr;gap:10px;padding:22px 22px}
  .docs .docs-index a.row .read{justify-self:start}

  .split{padding:56px 0}
  .split .body{grid-template-columns:1fr;gap:32px}
  .split .copy h2{font-size:26px}

  .feat-grid,.feat-grid.cols-3,.feat-grid.cols-4{grid-template-columns:1fr;gap:14px}
  .options{grid-template-columns:1fr}

  .stats-strip{grid-template-columns:repeat(2,1fr)}
  .stats-strip .cell{border-right:0;border-bottom:1px solid var(--hair)}
  .stats-strip .cell:nth-child(odd){border-right:1px solid var(--hair)}
  .stats-strip .cell:nth-last-child(-n+2){border-bottom:0}

  .kv-list .row{grid-template-columns:1fr;gap:6px}

  .cta-band{padding:72px 0}
  .cta-band h2{font-size:32px}

  footer.foot .shell{grid-template-columns:1fr;gap:40px}
  footer.foot .cols{grid-template-columns:1fr 1fr}
  footer.foot .top{grid-template-columns:1fr;gap:40px}
  footer.foot .top .cols{grid-template-columns:1fr 1fr}

  .article .body{padding:0 20px}
  .article .body .related-grid{grid-template-columns:1fr;gap:16px}

  .shell{padding:0 20px}
}
