/* == self-hosted fonts (local woff2, no third-party requests) == */
@font-face{font-family:'Anton';font-style:normal;font-weight:400;font-display:swap;src:url('/static/fonts/anton-400.woff2') format('woff2');}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:400;font-display:swap;src:url('/static/fonts/barlow-condensed-400.woff2') format('woff2');}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:500;font-display:swap;src:url('/static/fonts/barlow-condensed-500.woff2') format('woff2');}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:600;font-display:swap;src:url('/static/fonts/barlow-condensed-600.woff2') format('woff2');}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:700;font-display:swap;src:url('/static/fonts/barlow-condensed-700.woff2') format('woff2');}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url('/static/fonts/ibm-plex-mono-400.woff2') format('woff2');}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:600;font-display:swap;src:url('/static/fonts/ibm-plex-mono-600.woff2') format('woff2');}

:root {
      --ink: #070908;
      --coal: #0C100E;
      --panel: #101512;
      --line: #1D2521;
      --silver: #C7CBD1;
      --mute: #8FA098;
      --dim: #5A6660;
      --white: #F2F2F0;
      --accent: #E11D48;
      --accent-deep: #9F1239;
      --accent-soft: rgba(225, 29, 72, .10);
      --font-display: 'Anton', Impact, sans-serif;
      --font-body: 'Barlow Condensed', Arial Narrow, sans-serif;
      --font-mono: 'IBM Plex Mono', monospace;
    }

    * { margin: 0; padding: 0; box-sizing: border-box; }
    html { scroll-behavior: smooth; scroll-padding-top: 84px; }
    body {
      background: var(--ink);
      color: var(--mute);
      font-family: var(--font-body);
      font-size: 17px;
      font-weight: 500;
      line-height: 1.45;
      -webkit-font-smoothing: antialiased;
      overflow-x: hidden;
    }

    ::selection { background: var(--accent); color: var(--ink); }
    ::-webkit-scrollbar { width: 10px; }
    ::-webkit-scrollbar-track { background: var(--ink); }
    ::-webkit-scrollbar-thumb { background: #232B27; border: 2px solid var(--ink); }
    ::-webkit-scrollbar-thumb:hover { background: var(--accent); }
    a { color: inherit; text-decoration: none; }
    img { display: block; max-width: 100%; }
    ul { list-style: none; }
    :focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

    .container { max-width: 1240px; margin: 0 auto; padding: 0 24px; }
    h1, h2, h3, .display {
      font-family: var(--font-display);
      font-weight: 400;
      text-transform: uppercase;
      color: var(--white);
      line-height: .92;
      letter-spacing: .005em;
    }
    .mono { font-family: var(--font-mono); font-size: 11px; letter-spacing: .22em; text-transform: uppercase; }
    .kicker {
      display: flex; align-items: center; gap: 12px;
      font-family: var(--font-mono); font-size: 11px; letter-spacing: .24em; text-transform: uppercase; color: var(--accent);
    }
    .kicker::before { content: ""; width: 10px; height: 10px; background: var(--accent); flex: none; }
    .stroke { color: transparent; -webkit-text-stroke: 2px var(--accent); }
    @supports not (-webkit-text-stroke: 1px #000) { .stroke { color: var(--accent); } }

    .btn {
      display: inline-flex; align-items: center; justify-content: center; gap: 12px;
      border: 1px solid transparent; cursor: pointer;
      font-family: var(--font-body); font-weight: 700; font-size: 15px; letter-spacing: .16em; text-transform: uppercase;
      padding: 16px 26px; transition: transform .25s ease, background .25s ease, color .25s ease, border-color .25s ease, box-shadow .25s ease;
    }
    .btn .arr { transition: transform .25s ease; font-weight: 400; }
    .btn:hover .arr { transform: translateX(6px); }
    .btn-primary { background: var(--accent); color: var(--ink); }
    .btn-primary:hover { transform: translateY(-2px); box-shadow: 0 8px 30px rgba(225, 29, 72, .30); }
    .btn-ghost { border-color: #2C3531; color: var(--white); background: transparent; }
    .btn-ghost:hover { border-color: var(--accent); color: var(--accent); transform: translateY(-2px); }

    .reveal { opacity: 0; transform: translateY(26px); transition: opacity .7s ease, transform .7s cubic-bezier(.2,.7,.2,1); transition-delay: var(--d,0s); }
    .reveal.in { opacity: 1; transform: none; }

    /* Nav */
    .nav { position: fixed; top: 0; left: 0; right: 0; z-index: 1000; border-bottom: 1px solid transparent; transition: background .3s, border-color .3s; }
    .nav.scrolled { background: rgba(7, 9, 8, .92); backdrop-filter: blur(10px); border-color: var(--line); }
    .nav-inner { display: flex; align-items: center; justify-content: space-between; height: 70px; }
    .brand { display: flex; align-items: center; gap: 12px; }
    .brand-mark { width: 32px; height: 32px; flex: none; color: var(--accent); filter: drop-shadow(0 0 5px rgba(225,29,72,.4)) drop-shadow(0 0 12px rgba(225,29,72,.2)); transition: filter .3s ease; }
    .brand:hover .brand-mark { filter: drop-shadow(0 0 7px rgba(225,29,72,.6)) drop-shadow(0 0 18px rgba(225,29,72,.3)); }
    .brand-name { display: flex; flex-direction: column; line-height: 1; }
    .brand-name b { font-family: var(--font-display); font-weight: 400; font-size: 1.4rem; color: var(--white); letter-spacing: .04em; }
    .brand-name b i { font-style: normal; color: var(--accent); }
    .brand-name span { font-family: var(--font-mono); font-size: 8px; letter-spacing: .44em; color: var(--dim); margin-top: 3px; }

    .nav-links { display: flex; align-items: center; gap: 32px; }
    .nav-links a:not(.btn) { font-weight: 600; font-size: 15px; letter-spacing: .14em; text-transform: uppercase; color: var(--silver); position: relative; transition: color .2s; }
    .nav-links a:not(.btn)::after { content: ""; position: absolute; left: 0; bottom: -6px; width: 0; height: 2px; background: var(--accent); transition: width .25s; }
    .nav-links a:not(.btn):hover, .nav-links a.active { color: var(--accent); }
    .nav-links a:not(.btn):hover::after, .nav-links a.active::after { width: 100%; }
    .nav-cta { padding: 11px 20px; font-size: 13px; }

    .nav-toggle { display: none; background: none; border: 1px solid var(--line); width: 44px; height: 44px; cursor: pointer; position: relative; }
    .nav-toggle span { position: absolute; left: 11px; right: 11px; height: 2px; background: var(--white); transition: .3s; }
    .nav-toggle span:nth-child(1) { top: 14px; }
    .nav-toggle span:nth-child(2) { top: 21px; }
    .nav-toggle span:nth-child(3) { top: 28px; }
    .nav-toggle.open span:nth-child(1) { top: 21px; transform: rotate(45deg); background: var(--accent); }
    .nav-toggle.open span:nth-child(2) { opacity: 0; }
    .nav-toggle.open span:nth-child(3) { top: 21px; transform: rotate(-45deg); background: var(--accent); }

    .mobile-menu { position: fixed; inset: 0; z-index: 900; background: rgba(7, 9, 8, .98); display: flex; flex-direction: column; justify-content: center; padding: 0 30px; gap: 6px; opacity: 0; pointer-events: none; transition: opacity .3s; }
    .mobile-menu.open { opacity: 1; pointer-events: auto; }
    .mobile-menu a:not(.btn) { font-family: var(--font-display); font-size: clamp(2rem, 8vw, 3.2rem); color: var(--white); text-transform: uppercase; padding: 10px 0; border-bottom: 1px solid var(--line); }
    .mobile-menu a:not(.btn):hover { color: var(--accent); }
    .mobile-menu .btn { margin-top: 26px; }

    /* Hero */
    .hero { position: relative; min-height: 100vh; display: flex; flex-direction: column; overflow: hidden; background: var(--ink); }
    .hero-bg { position: absolute; inset: 0; z-index: 0; background: radial-gradient(120% 120% at 70% 20%, #1A1611 0%, #0C0A08 55%, #070908 100%); }
    .hero-bg::after {
      content: ""; position: absolute; inset: 0;
      background: linear-gradient(100deg, rgba(7,9,8,.97) 8%, rgba(7,9,8,.82) 46%, rgba(7,9,8,.40) 100%),
                  radial-gradient(700px 460px at 85% 18%, rgba(225,29,72,.10), transparent 70%),
                  linear-gradient(to top, var(--ink) 2%, transparent 40%);
    }
    .hero-grid {
      position: absolute; inset: 0; z-index: 1; opacity: .5;
      background-image: linear-gradient(rgba(225,29,72,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(225,29,72,.05) 1px, transparent 1px);
      background-size: 56px 56px;
      -webkit-mask-image: linear-gradient(to bottom, transparent, #000 30%, #000 70%, transparent);
      mask-image: linear-gradient(to bottom, transparent, #000 30%, #000 70%, transparent);
    }
    .hero-content { position: relative; z-index: 2; flex: 1; display: flex; flex-direction: column; justify-content: center; padding: 130px 0 40px; }
    .hero-topline { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 26px; flex-wrap: wrap; }
    .hero h1 { font-size: clamp(3rem, 8.4vw, 7.6rem); max-width: 1100px; }
    .hero-sub { max-width: 600px; margin-top: 26px; font-size: 19px; font-weight: 500; color: var(--silver); }
    .hero-sub b { color: var(--white); }
    .hero-ctas { display: flex; gap: 14px; margin-top: 34px; flex-wrap: wrap; }
    .hero-fine { margin-top: 18px; font-family: var(--font-mono); font-size: 10px; letter-spacing: .18em; text-transform: uppercase; color: var(--dim); }
    .hero-side { position: absolute; right: 20px; top: 50%; transform: translateY(-50%); writing-mode: vertical-rl; font-family: var(--font-mono); font-size: 10px; letter-spacing: .4em; color: var(--dim); z-index: 2; }

    .chip { display: inline-flex; align-items: center; font-family: var(--font-mono); font-size: 10px; letter-spacing: .2em; text-transform: uppercase; color: var(--silver); border: 1px solid var(--line); padding: 8px 12px; background: rgba(7, 9, 8, .6); }
    .chip::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--accent); margin-right: 9px; animation: pulse 1.6s infinite; }
    @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: .25; } }

    .lineup { position: relative; z-index: 2; border-top: 1px solid rgba(255,255,255,.08); padding: 18px 0 26px; display: flex; align-items: center; gap: 22px; flex-wrap: wrap; }
    .lu-label { display: flex; flex-direction: column; gap: 4px; }
    .lu-label .mono { color: var(--dim); }
    .lu-label strong { font-family: var(--font-display); font-weight: 400; font-size: 1.05rem; color: var(--white); letter-spacing: .06em; }
    .lu-cards { display: flex; gap: 10px; flex-wrap: wrap; }
    .lu-card { display: flex; align-items: center; gap: 10px; border: 1px solid var(--line); background: rgba(7, 9, 8, .7); padding: 9px 14px; transition: border-color .25s, transform .25s; }
    .lu-card:hover { border-color: var(--accent); transform: translateY(-3px); }
    .lu-card svg { width: 20px; height: 20px; color: var(--accent); flex: none; }
    .lu-card b { font-weight: 700; font-size: 15px; letter-spacing: .08em; color: var(--white); }
    .lu-card span { font-family: var(--font-mono); font-size: 9px; letter-spacing: .14em; color: var(--dim); text-transform: uppercase; }
    .lu-note { margin-left: auto; display: flex; align-items: center; gap: 22px; flex-wrap: wrap; }
    .lu-note .mono { color: var(--mute); }
    .lu-note .mono b { color: var(--accent); font-weight: 600; }
    .lu-note a { font-family: var(--font-mono); font-size: 11px; letter-spacing: .2em; color: var(--accent); border-bottom: 1px solid var(--accent); padding-bottom: 2px; }

    /* Marquee */
    .marquee { background: var(--accent); overflow: hidden; padding: 13px 0; border-block: 1px solid #000; }
    .marquee.ghost { background: transparent; border-color: var(--line); padding: 15px 0; }
    .marquee-track { display: flex; width: max-content; animation: scroll 28s linear infinite; }
    .marquee.ghost .marquee-track { animation-direction: reverse; animation-duration: 34s; }
    .marquee:hover .marquee-track { animation-play-state: paused; }
    .m-set { display: flex; align-items: center; flex: none; }
    .m-set span { font-family: var(--font-display); font-size: 1.35rem; letter-spacing: .05em; color: var(--ink); white-space: nowrap; padding: 0 18px; }
    .m-set i { font-style: normal; font-family: var(--font-mono); font-weight: 600; font-size: .9rem; color: var(--ink); }
    .marquee.ghost .m-set span { color: transparent; -webkit-text-stroke: 1px #4A4239; }
    @supports not (-webkit-text-stroke: 1px #000) { .marquee.ghost .m-set span { color: #4A4239; } }
    .marquee.ghost .m-set i { color: var(--accent); }
    @keyframes scroll { to { transform: translateX(-50%); } }

    /* Stats Grid */
    .stats { border-bottom: 1px solid var(--line); background: var(--ink); }
    .stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
    .stat { padding: 34px 26px; border-left: 1px solid var(--line); }
    .stat:first-child { border-left: none; }
    .stat-num { font-family: var(--font-display); font-size: 3rem; color: var(--white); line-height: 1; }
    .stat-num em { font-style: normal; color: var(--accent); }
    .stat-label { display: block; margin-top: 8px; font-family: var(--font-mono); font-size: 10px; letter-spacing: .2em; text-transform: uppercase; color: var(--dim); }

    /* Sections Global */
    section { padding: 84px 0; }
    .sec-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; margin-bottom: 44px; flex-wrap: wrap; }
    .sec-head h1, .sec-head h2 { font-size: clamp(2.3rem, 5.2vw, 4.2rem); margin-top: 14px; }
    .sec-copy { max-width: 380px; font-size: 17px; color: var(--mute); border-left: 2px solid var(--accent); padding-left: 16px; }
    .sec-copy b { color: var(--white); }

    /* Features Grid */
    .products-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 16px; }
    .product { background: var(--panel); border: 1px solid var(--line); display: flex; flex-direction: column; transition: transform .3s, border-color .3s; }
    .product:hover { transform: translateY(-5px); border-color: var(--accent); }
    .p-head { position: relative; padding: 30px 24px 22px; border-bottom: 1px solid var(--line); overflow: hidden; }
    .p-head::before {
      content: ""; position: absolute; inset: 0; opacity: .5;
      background-image: radial-gradient(rgba(225,29,72,.14) 1px, transparent 1px); background-size: 18px 18px;
    }
    .p-icon { position: relative; width: 52px; height: 52px; color: var(--accent); }
    .p-icon svg { width: 100%; height: 100%; }
    .p-num { position: absolute; right: 18px; top: 12px; font-family: var(--font-display); font-size: 3rem; color: transparent; -webkit-text-stroke: 1.5px rgba(255,255,255,.28); }
    @supports not (-webkit-text-stroke: 1px #000) { .p-num { color: rgba(255,255,255,.28); } }
    .p-body { padding: 22px; display: flex; flex-direction: column; gap: 14px; flex: 1; }
    .p-tag { font-family: var(--font-mono); font-size: 10px; letter-spacing: .22em; text-transform: uppercase; color: var(--accent); }
    .p-body h3 { font-size: 2.2rem; }
    .p-desc { font-size: 16.5px; color: var(--mute); }
    .p-feats { display: flex; flex-direction: column; gap: 2px; }
    .p-feats li { display: flex; gap: 10px; padding: 8px 0; border-top: 1px dashed #232B27; font-weight: 600; font-size: 15.5px; letter-spacing: .06em; color: var(--silver); }
    .p-feats li::before { content: "+"; color: var(--accent); font-weight: 700; }
    .p-stat { display: flex; align-items: center; gap: 14px; background: var(--coal); border: 1px solid var(--line); padding: 12px 14px; }
    .p-stat strong { font-family: var(--font-display); font-weight: 400; font-size: 1.6rem; color: var(--accent); white-space: nowrap; }
    .p-stat span { font-family: var(--font-mono); font-size: 9.5px; letter-spacing: .14em; text-transform: uppercase; color: var(--dim); line-height: 1.7; }

    .includes { margin-top: 16px; border: 1px solid var(--line); display: grid; grid-template-columns: repeat(4, 1fr); }
    .includes div { padding: 18px; font-family: var(--font-mono); font-size: 10.5px; letter-spacing: .16em; text-transform: uppercase; color: var(--silver); border-left: 1px solid var(--line); display: flex; gap: 10px; align-items: center; }
    .includes div:first-child { border-left: none; }
    .includes div::before { content: "+"; color: var(--accent); font-size: 16px; font-weight: 600; }

    /* How It Works Grid */
    .why { background: var(--coal); border-block: 1px solid var(--line); }
    .why-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
    .why-card { position: relative; background: var(--panel); border: 1px solid var(--line); padding: 28px; overflow: hidden; transition: border-color .3s, transform .3s; }
    .why-card:hover { border-color: var(--accent); transform: translateY(-4px); }
    .why-card::after {
      content: attr(data-n); position: absolute; right: 14px; top: 6px;
      font-family: var(--font-display); font-size: 4rem; color: transparent; -webkit-text-stroke: 1px #2A2520; line-height: 1;
    }
    @supports not (-webkit-text-stroke: 1px #000) { .why-card::after { color: #2A2520; } }
    .why-card .w-tag { font-family: var(--font-mono); font-size: 9.5px; letter-spacing: .22em; text-transform: uppercase; color: var(--accent); }
    .why-card h3 { font-size: 1.9rem; margin: 10px 0 12px; max-width: 80%; }
    .why-card p { font-size: 16.5px; max-width: 92%; }
    .why-card p b { color: var(--white); }

    /* Comparison Table */
    .vs { border: 1px solid var(--line); background: var(--panel); }
    .vs-head { display: grid; grid-template-columns: 1fr 1fr; border-bottom: 1px solid var(--line); }
    .vs-head div { padding: 16px 22px; font-family: var(--font-display); font-size: 1.15rem; letter-spacing: .06em; text-transform: uppercase; }
    .vs-head .old { color: var(--dim); border-right: 1px solid var(--line); }
    .vs-head .new { color: var(--accent); background: var(--accent-soft); }
    .vs-cat { padding: 16px 22px 0; font-family: var(--font-mono); font-size: 9.5px; letter-spacing: .24em; text-transform: uppercase; color: var(--dim); }
    .vs-row { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--line); }
    .vs-row > div { padding: 14px 22px; font-weight: 600; font-size: 15.5px; letter-spacing: .04em; }
    .vs-row .old { color: var(--dim); border-right: 1px solid var(--line); }
    .vs-row .old::before { content: "×"; color: #3C4440; margin-right: 12px; font-weight: 700; }
    .vs-row .new { color: var(--silver); background: rgba(225, 29, 72, .04); }
    .vs-row .new::before { content: "✓"; color: var(--accent); margin-right: 12px; font-weight: 700; }

    /* Pricing Section */
    .pricing-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; max-width: 880px; margin: 0 auto; }
    .price-card {
      background: var(--panel); border: 1px solid var(--line); padding: 40px 36px; text-align: center;
      position: relative; overflow: hidden; display: flex; flex-direction: column; transition: border-color .3s, transform .3s;
    }
    .price-card:hover { border-color: var(--accent); transform: translateY(-4px); }
    .price-card.featured { border-color: var(--accent); background: linear-gradient(180deg, rgba(225,29,72,.06), var(--panel)); }
    .price-card::before { content: ""; position: absolute; inset: 0; opacity: .5; background-image: radial-gradient(rgba(225,29,72,.14) 1px, transparent 1px); background-size: 18px 18px; }
    .price-card > * { position: relative; }
    .price-tag { font-family: var(--font-mono); font-size: 10px; letter-spacing: .22em; text-transform: uppercase; color: var(--accent); }
    .price-name { font-family: var(--font-display); font-size: 2.4rem; color: var(--white); margin: 10px 0 20px; }
    .price-amount { font-family: var(--font-display); font-size: 4rem; color: var(--white); line-height: 1; }
    .price-amount small { font-size: 1.4rem; color: var(--dim); }
    .price-amount span { display: block; font-family: var(--font-mono); font-size: 11px; letter-spacing: .2em; color: var(--dim); margin-top: 8px; text-transform: none; }
    .price-feats { display: flex; flex-direction: column; gap: 8px; margin: 28px 0; text-align: left; flex: 1; }
    .price-feats li { display: flex; gap: 10px; padding: 8px 0; border-top: 1px dashed #232B27; font-weight: 600; font-size: 15px; letter-spacing: .04em; color: var(--silver); }
    .price-feats li::before { content: "+"; color: var(--accent); font-weight: 700; }
    .price-note { font-family: var(--font-mono); font-size: 10px; letter-spacing: .18em; text-transform: uppercase; color: var(--dim); margin-top: 20px; }
    .price-badge { position: absolute; top: 16px; right: 16px; font-family: var(--font-mono); font-size: 9px; letter-spacing: .2em; text-transform: uppercase; color: var(--ink); background: var(--accent); padding: 4px 10px; }

    /* CTA Panel */
    .cta-panel {
      position: relative; border: 1px solid var(--line); padding: 70px 32px; text-align: center;
      background: repeating-linear-gradient(135deg, rgba(225,29,72,.035) 0 2px, transparent 2px 16px), var(--coal);
    }
    .cta-panel::before, .cta-panel::after { content: ""; position: absolute; width: 22px; height: 22px; border: 2px solid var(--accent); }
    .cta-panel::before { top: -2px; left: -2px; border-right: none; border-bottom: none; }
    .cta-panel::after { bottom: -2px; right: -2px; border-left: none; border-top: none; }
    .cta-panel h2 { font-size: clamp(2.4rem, 5vw, 4.2rem); margin: 18px 0 16px; }
    .cta-panel > p { max-width: 640px; margin: 0 auto; font-size: 18px; color: var(--silver); }
    .cta-btns { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; margin-top: 32px; }
    .cta-note { margin-top: 22px; font-family: var(--font-mono); font-size: 10px; letter-spacing: .2em; text-transform: uppercase; color: var(--dim); }

    /* Footer */
    footer { border-top: 1px solid var(--line); background: var(--ink); }
    .f-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr .8fr; gap: 36px; padding: 56px 0; }
    .f-brand p { margin: 14px 0 18px; font-size: 16px; color: var(--mute); max-width: 280px; }
    .f-domain { font-family: var(--font-mono); font-size: 11px; letter-spacing: .18em; color: var(--accent); }
    .f-col h4 { font-family: var(--font-mono); font-weight: 600; font-size: 10px; letter-spacing: .24em; text-transform: uppercase; color: var(--dim); margin-bottom: 16px; }
    .f-col li { margin-bottom: 11px; font-weight: 600; font-size: 15.5px; letter-spacing: .05em; color: var(--silver); }
    .f-col a:hover { color: var(--accent); }
    .f-bottom { border-top: 1px solid var(--line); padding: 20px 0; display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; }
    .f-bottom .mono { color: var(--dim); font-size: 9.5px; }
    .f-bottom .tag { font-family: var(--font-display); font-size: 1rem; letter-spacing: .1em; color: #3A332C; }
    .f-bottom nav { display: flex; gap: 18px; align-items: center; }
    .f-bottom nav a { font-family: var(--font-mono); font-size: 9.5px; letter-spacing: .16em; color: var(--dim); }
    .f-bottom nav a:hover { color: var(--accent); }

    /* Media Queries */
    @media (max-width: 1080px) {
      .hero-side { display: none; }
      .f-grid { grid-template-columns: 1fr 1fr; }
    }
    @media (max-width: 860px) {
      .nav-links { display: none; }
      .nav-toggle { display: block; }
      .stats-grid { grid-template-columns: 1fr 1fr; }
      .stat { border-top: 1px solid var(--line); }
      .stat:nth-child(odd) { border-left: none; }
      .why-grid, .pricing-grid { grid-template-columns: 1fr; }
      .includes { grid-template-columns: 1fr 1fr; }
      .includes div { border-top: 1px solid var(--line); }
      .includes div:nth-child(-n+2) { border-top: none; }
      .includes div:nth-child(odd) { border-left: none; }
      section { padding: 64px 0; }
      .lu-note { margin-left: 0; }
    }
    @media (max-width: 560px) {
      .vs-head div, .vs-row > div, .vs-cat { padding-inline: 16px; }
      .f-grid { grid-template-columns: 1fr; }
    }
    @media (prefers-reduced-motion: reduce) {
      *, *::before, *::after { animation: none !important; transition: none !important; }
      .reveal { opacity: 1; transform: none; }
      html { scroll-behavior: auto; }
    }
  

/* ============ Reevia app extensions (kept in reevia_2's exact visual system) ============ */

/* Legacy app button classes mapped onto .btn */
.button, button { display: inline-flex; align-items: center; justify-content: center; gap: 12px; border: 1px solid transparent; cursor: pointer; font: inherit; font-family: var(--font-body); font-weight: 700; font-size: 15px; letter-spacing: .16em; text-transform: uppercase; padding: 16px 26px; background: var(--accent); color: var(--ink); transition: transform .25s ease, background .25s ease, color .25s ease, border-color .25s ease, box-shadow .25s ease; }
.button:hover, button:hover { transform: translateY(-2px); box-shadow: 0 8px 30px rgba(225,29,72,.30); color: var(--ink); }
.button.secondary, button.secondary, .secondary { background: transparent; border-color: #2C3531; color: var(--silver); }
.button.secondary:hover, button.secondary:hover { border-color: var(--accent); color: var(--accent); box-shadow: none; }
.button.danger, button.danger, .danger { background: transparent; border-color: #4A2A2A; color: #F0605D; }
.button.danger:hover, button.danger:hover, .danger:hover { border-color: #F0605D; color: #F0605D; box-shadow: none; }

/* Forms */
.form { display: grid; gap: 20px; max-width: 760px; }
label { display: grid; gap: 8px; font-family: var(--font-mono); font-size: 10px; letter-spacing: .2em; text-transform: uppercase; color: var(--dim); }
input, textarea, select { width: 100%; background: var(--ink); border: 1px solid var(--line); color: var(--white); padding: 14px 16px; font-family: var(--font-body); font-size: 16px; font-weight: 500; }
input:focus, textarea:focus, select:focus { outline: none; border-color: var(--accent); }
textarea { min-height: 130px; resize: vertical; }
.check { display: flex; flex-direction: row; align-items: flex-start; gap: 10px; font-family: var(--font-body); font-size: 15px; letter-spacing: 0; text-transform: none; color: var(--mute); line-height: 1.5; }
.check input { width: auto; flex: none; margin-top: 3px; }
.actions { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; }
.actions .button, .actions button { width: auto; }

/* Panels, tables, notices (workspace + admin) */
.card { background: var(--panel); border: 1px solid var(--line); padding: 25px; margin-bottom: 22px; overflow-x: auto; }
.grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.card.empty { color: var(--dim); font-family: var(--font-mono); font-size: 12px; letter-spacing: .1em; text-transform: uppercase; }
table { width: 100%; border-collapse: collapse; font-size: 15px; }
th { font-family: var(--font-mono); font-size: 10px; letter-spacing: .16em; text-transform: uppercase; color: var(--dim); text-align: left; padding: 10px 12px; border-bottom: 1px solid var(--line); }
td { padding: 12px; border-bottom: 1px solid var(--line); color: var(--silver); }
tr:last-child td { border-bottom: none; }
.notice { background: var(--accent-soft); border: 1px solid var(--accent); color: var(--accent); padding: 14px 18px; margin-bottom: 22px; font-size: 15px; }
.notice a { color: var(--accent); text-decoration: underline; }
.pagination { display: flex; gap: 16px; align-items: center; margin-top: 18px; font-family: var(--font-mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; }
.pagination a { color: var(--accent); }
pre { background: var(--ink); border: 1px solid var(--line); padding: 16px; overflow-x: auto; color: var(--silver); font-family: var(--font-mono); font-size: 12px; white-space: pre-wrap; }
/* Workspace shell */
aside { position: fixed; width: 250px; inset: 0 auto 0 0; background: var(--coal); border-right: 1px solid var(--line); padding: 28px 20px; overflow: auto; }
aside .brand { font-size: 1.05rem; }
aside > p { font-family: var(--font-mono); font-size: 10px; letter-spacing: .16em; text-transform: uppercase; color: var(--dim); margin: 10px 0 0; }
aside nav { display: grid; gap: 4px; margin: 24px 0; }
aside nav a { padding: 11px 13px; color: var(--mute); font-size: 14px; letter-spacing: .05em; border-left: 2px solid transparent; }
aside nav a:hover { color: var(--silver); background: var(--panel); }
aside nav a.active { background: var(--accent-soft); color: var(--accent); font-weight: 650; border-left-color: var(--accent); }
main.workspace { margin-left: 250px; min-height: 90vh; padding: 38px; max-width: 1550px; }
aside + main + footer { margin-left: 250px; }
.heading { margin-bottom: 30px; }
.heading small { display: block; margin-bottom: 6px; font-family: var(--font-mono); font-size: 11px; letter-spacing: .2em; color: var(--dim); text-transform: uppercase; }

/* Long-form text pages (legal, docs) */
.text-page { max-width: 820px; margin: 0 auto; }
.text-page h2 { font-size: 1.5rem; margin: 32px 0 10px; }
.text-page h3 { font-size: 1.2rem; margin: 24px 0 6px; }
.text-page p { margin-bottom: 14px; color: var(--silver); }
.text-page a { color: var(--accent); text-decoration: underline; }
.text-page ul { list-style: disc; padding-left: 22px; }
.text-page li { color: var(--silver); }
.text-page ol { padding-left: 22px; }
.text-page ol li { color: var(--silver); }

/* FAQ */
.faq-item { background: var(--panel); border: 1px solid var(--line); padding: 24px; margin-bottom: 16px; transition: border-color .2s; }
.faq-item:hover { border-color: var(--accent); }
.faq-item h3 { margin: 0 0 8px; }
.faq-item p { color: var(--silver); font-size: 16px; margin: 0; }

/* Framed panel (contact) */
.form-card { background: var(--panel); border: 1px solid var(--line); padding: 32px; position: relative; }
.form-card::before, .form-card::after { content: ""; position: absolute; width: 14px; height: 14px; border: 2px solid var(--accent); }
.form-card::before { top: -1px; left: -1px; border-right: none; border-bottom: none; }
.form-card::after { bottom: -1px; right: -1px; border-left: none; border-top: none; }

/* Auth */
.auth-wrap { display: flex; align-items: center; justify-content: center; padding: 30px 0 60px; position: relative; }
.auth-bg { position: absolute; inset: 0; background: radial-gradient(800px 500px at 50% 0%, rgba(225,29,72,.05), transparent 70%); z-index: 0; pointer-events: none; }
.auth-card { position: relative; z-index: 1; width: 100%; max-width: 480px; background: var(--panel); border: 1px solid var(--line); padding: 48px 40px; }
.auth-card::before, .auth-card::after { content: ""; position: absolute; width: 16px; height: 16px; border: 2px solid var(--accent); }
.auth-card::before { top: -1px; left: -1px; border-right: none; border-bottom: none; }
.auth-card::after { bottom: -1px; right: -1px; border-left: none; border-top: none; }
.auth-card h1 { font-size: 2.6rem; margin-bottom: 8px; }
.auth-card .sub { color: var(--mute); margin-bottom: 28px; font-size: 16px; }
.auth-card .sub b { color: var(--white); }
.auth-card form { display: grid; gap: 20px; }
.auth-card .button, .auth-card button { width: 100%; }
.plan-box { background: var(--ink); border: 1px solid var(--accent); padding: 16px; margin-bottom: 28px; display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.plan-box h4 { font-family: var(--font-mono); font-weight: 600; font-size: 10px; color: var(--accent); letter-spacing: .2em; margin: 0 0 4px; text-transform: uppercase; }
.plan-box p { color: var(--white); font-weight: 600; font-size: 18px; margin: 0; }
.plan-box span { font-family: var(--font-display); font-size: 1.8rem; color: var(--white); white-space: nowrap; }
.plan-box span small { font-size: .75rem; color: var(--dim); }
.plan-box > div { min-width: 0; flex: 1 1 auto; }
.plan-box p { overflow-wrap: break-word; }
@media (max-width: 480px) {
  .plan-box { flex-direction: column; align-items: flex-start; gap: 6px; }
  .plan-box span { font-size: 1.5rem; }
}

@media (max-width: 960px) {
  .grid { grid-template-columns: 1fr; }
  aside { position: static; width: auto; inset: auto; border-right: none; border-bottom: 1px solid var(--line); }
  main.workspace, aside + main + footer { margin-left: 0; }
}

/* ---- fixed nav (70px) needs a content offset everywhere except the landing hero ---- */
body:not(.landing) main.public { padding-top: 70px; }
body:not(.landing) main.public > section:first-of-type { padding-top: 16px; }
body:not(.landing) .nav { background: rgba(7, 9, 8, .92); backdrop-filter: blur(10px); border-color: var(--line); }

/* ---- keep the nav from crowding/overlapping before the mobile menu takes over ---- */
@media (max-width: 1150px) {
  .nav-links { gap: 20px; }
  .nav-links a:not(.btn) { font-size: 13.5px; letter-spacing: .1em; }
  .nav-links a:not(.btn):last-of-type { margin-right: 0 !important; }
}
@media (max-width: 1000px) {
  .nav-links { display: none; }
  .nav-toggle { display: block; }
}

/* == generated: csp-safe inline styles == */
.i1-color{color:var(--accent);font-weight:600;font-size:15px;letter-spacing:.14em;text-transform:uppercase;margin-right:20px;}
.i2-display{display:flex;align-items:center;gap:20px;flex-wrap:wrap;}
.i3-color{color:var(--dim);margin-right:12px;}
.i4-padding{padding:0}
.i5-d{--d:.08s}
.i6-d{--d:.16s}
.i7-d{--d:.24s}
.i8-d{--d:.1s}
.i9-d{--d:.2s}
.i10-d{--d:.3s}
.i11-background{background:var(--coal); border-top:1px solid var(--line);}
.i12-gridtemplatecolumns{grid-template-columns:1fr;max-width:640px;}
.i13-width{width:100%}
.i14-color{color:var(--dim);font-family:var(--font-body);text-transform:none;letter-spacing:.02em;font-size:13px;}
.i15-justifycontent{justify-content:center}
.i16-marginleft{margin-left:0;}
.i17-maxwidth{max-width:620px;}
.i18-fontsize{font-size:1.5rem;margin:0 0 14px;}
.i19-color{color:var(--silver);}
.i20-color{color:var(--accent);border-bottom:1px solid var(--accent);}
.i21-color{color:var(--dim);margin-top:20px;}
.i22-color{color:var(--dim);margin-top:24px;}
.f-powered{color:var(--dim);margin-right:12px;}

/* == accessibility (skip link, focus, landmarks) == */
.skip-link{position:absolute;left:-9999px;top:0;z-index:2000;background:var(--accent);color:var(--ink);padding:12px 18px;font-family:var(--font-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;text-decoration:none}
.skip-link:focus{left:12px;top:12px}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}
main:focus{outline:none}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
/* == enterprise card == */
.ent-card{margin-top:28px;border:1px solid var(--line);background:var(--panel);padding:32px;max-width:620px}
.ent-card h3{margin:10px 0 12px;font-size:1.5rem}
.ent-card p{color:var(--silver)}
.ent-list{list-style:none;margin:18px 0 22px;padding:0;display:grid;gap:10px}
.ent-list li{position:relative;padding-left:22px;color:var(--mute)}
.ent-list li::before{content:"\25B8";position:absolute;left:0;color:var(--accent)}

/* == workspace & dashboard visual alignment == */
aside { display: flex; flex-direction: column; }
aside .brand { display: inline-flex; align-items: center; gap: 10px; }
aside .brand-mark { width: 26px; height: 26px; }
aside .brand-name b { font-size: 1.35rem; }
aside .ws-org { font-family: var(--font-mono); font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--silver); margin: 16px 0 0; padding: 10px 12px; background: var(--panel); border: 1px solid var(--line); border-left: 2px solid var(--accent); word-break: break-word; }
aside nav { flex: 1; align-content: start; }
aside form { margin-top: auto; padding-top: 16px; border-top: 1px solid var(--line); }
aside form button { width: 100%; padding: 12px 16px; font-size: 13px; }
.heading { margin-bottom: 32px; padding-bottom: 22px; border-bottom: 1px solid var(--line); }
.heading .kicker { margin-bottom: 10px; }
.heading h1 { font-size: clamp(2.2rem, 4vw, 3.2rem); }
.grid .card { border-top: 2px solid var(--accent); }
.card small { display: block; font-family: var(--font-mono); font-size: 10px; letter-spacing: .2em; text-transform: uppercase; color: var(--accent); margin-bottom: 10px; }
td small { display: inline; font-family: var(--font-mono); font-size: 11px; letter-spacing: .08em; color: var(--dim); margin: 0; }
.card h2 { font-size: 1.65rem; margin: 0 0 14px; letter-spacing: .02em; }
.grid .card h2 { font-size: 2.1rem; margin: 0 0 10px; }
.card p { color: var(--silver); margin: 0 0 12px; line-height: 1.55; }
.card p:last-child { margin-bottom: 0; }
.card a:not(.button):not(.btn), td a { color: var(--accent); border-bottom: 1px solid rgba(225,29,72,.45); transition: border-color .2s, color .2s; }
.card a:not(.button):not(.btn):hover, td a:hover { border-bottom-color: var(--accent); color: var(--white); }
.card form:not(.form) { margin: 16px 0 0; }
.card .form { margin-top: 18px; }
.card.form { margin-top: 0; }
.card ul { list-style: disc; padding-left: 22px; color: var(--silver); display: grid; gap: 6px; }
.notice { background: var(--accent-soft); border: 1px solid var(--accent); border-left: 3px solid var(--accent); color: var(--white); padding: 14px 18px; margin-bottom: 22px; font-size: 16px; display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.notice form { margin: 0; }
.notice button { padding: 10px 18px; font-size: 13px; }
.notice-wrap { padding-top: 90px; }
body.landing .notice-wrap { position: relative; z-index: 20; }

html, body { overflow-x: hidden; max-width: 100%; }

.chip-sm { padding: 2px 8px; margin-left: 8px; }

/* == signature platform animations & onboarding step polish == */
@keyframes toastPop { 0% { opacity: 0; transform: translateY(-10px) scale(.99); } 100% { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes brandPulse { 0%, 100% { filter: drop-shadow(0 0 5px var(--accent)); transform: scale(1); } 50% { filter: drop-shadow(0 0 14px var(--accent)); transform: scale(1.04); } }
@keyframes cardFadeUp { 0% { opacity: 0; transform: translateY(14px); } 100% { opacity: 1; transform: translateY(0); } }
.toast-pop, .notice { animation: toastPop .4s cubic-bezier(.16,1,.3,1) both; }
.brand-mark { animation: brandPulse 3.6s ease-in-out infinite; }
.card { animation: cardFadeUp .45s cubic-bezier(.16,1,.3,1) both; transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease; }
.card:hover { border-color: var(--accent); box-shadow: 0 10px 32px rgba(0,0,0,.45), 0 0 24px var(--accent-soft); }
.step-box.step-done { border-color: var(--accent); background: linear-gradient(180deg, var(--accent-soft), var(--panel)); }


/* --- UI Polish Additions --- */
input, select, textarea {
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}
input:focus, select:focus, textarea:focus {
  border-color: var(--accent, #00C4D8);
  box-shadow: 0 0 0 3px var(--accent-soft, rgba(0, 196, 216, 0.15));
}
.btn, button {
  transition: transform 0.1s ease, filter 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}
.btn:active, button:not(:disabled):active {
  transform: scale(0.97);
}
.card {
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
  border-radius: 8px; /* Slightly soften corners */
}
.card:hover {
  border-color: var(--dim, #5A6660);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
table {
  border-collapse: separate;
  border-spacing: 0;
  width: 100%;
}
table tr {
  transition: background-color 0.15s ease;
}
table tbody tr:hover td {
  background-color: rgba(255, 255, 255, 0.03);
}
table td:first-child { border-top-left-radius: 4px; border-bottom-left-radius: 4px; }
table td:last-child { border-top-right-radius: 4px; border-bottom-right-radius: 4px; }

/* Toast Notifications Animation */
.toast-pop, .notice {
  animation: slideInToast 0.4s cubic-bezier(0.16, 1, 0.3, 1) forwards;
  border-radius: 6px;
}
@keyframes slideInToast {
  from { transform: translateY(-15px); opacity: 0; }
  to { transform: translateY(0); opacity: 1; }
}

/* Scrollbar rounded */
::-webkit-scrollbar-thumb {
  border-radius: 5px;
}


/* === Unboxed Bold /brag Feature & Hero Video Stages === */
.brag-stage-hero {
  position: relative; width: 100%; max-width: 1180px; margin: 42px auto 10px;
  background: #070908; overflow: hidden;
}
.brag-stage-feat {
  position: relative; width: 100%; margin: 18px 0 22px;
  background: #070908; overflow: hidden;
}
.brag-unboxed-vid {
  width: 100%; height: auto; aspect-ratio: 16 / 9; display: block;
  background: #070908; border: none !important; outline: none !important; box-shadow: none !important;
}
.brag-floating-bar {
  display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px;
  padding: 10px 0 4px; border-bottom: 1px solid rgba(255,255,255,0.08); margin-bottom: 6px;
}
.brag-floating-tag {
  font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.2em;
  text-transform: uppercase; color: var(--accent); font-weight: 600;
}
.brag-floating-ctls { display: inline-flex; align-items: center; gap: 8px; }
.brag-pill-btn {
  display: inline-flex; align-items: center; gap: 6px;
  background: transparent; color: var(--silver); border: 1px solid var(--line, #1D2521);
  font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.14em;
  text-transform: uppercase; min-height: 28px; padding: 6px 14px; cursor: pointer; transition: all 0.2s ease;
}
.brag-pill-btn:hover, .brag-pill-btn[aria-pressed="false"] {
  border-color: var(--accent); color: var(--accent); background: rgba(255,255,255,0.03);
}
#features .products-grid, #products .products-grid {
  grid-template-columns: repeat(auto-fit, minmax(480px, 1fr)) !important;
  gap: 28px !important;
}
@media (max-width: 640px) {
  #features .products-grid, #products .products-grid {
    grid-template-columns: 1fr !important;
  }
}


.brag-spk-btn { display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:50%; background:rgba(12,16,14,0.85); color:var(--accent); border:1px solid rgba(255,255,255,0.18); cursor:pointer; padding:0; transition:transform 0.2s ease, border-color 0.2s ease; }
.brag-spk-btn:hover { border-color:var(--accent); transform:scale(1.06); }
.brag-spk-btn[aria-pressed="true"] { color:var(--silver); opacity:0.75; }
.brag-spk-btn[aria-pressed="true"] .spk-on { display:none; }
.brag-spk-btn[aria-pressed="false"] .spk-off { display:none; }


/* === Apple-Style Progressive Scroll Reveal & Full-Width Feature Chapters === */
h1, h2, h3, p, .p-desc, .hero-sub, .sec-copy { text-wrap: balance; word-break: normal; overflow-wrap: break-word; }
.brag-floating-bar, .brag-floating-ctls, .brag-spk-btn, .brag-pill-btn { display: none !important; }
#features .products-grid, #products .products-grid {
  display: grid !important; grid-template-columns: 1fr !important;
  max-width: 1040px !important; margin: 0 auto !important; gap: 56px !important;
}
#features .product, #products .product {
  padding: 44px 48px !important; border-radius: 20px !important;
  background: linear-gradient(180deg, rgba(18,24,21,0.95) 0%, rgba(10,14,12,0.98) 100%) !important;
  border: 1px solid rgba(255,255,255,0.09) !important;
}
.brag-stage-hero, .brag-stage-feat {
  position: relative; width: 100%; margin: 28px auto 24px;
  border-radius: 16px; overflow: hidden; background: #070908;
  transition: opacity 0.85s cubic-bezier(0.16, 1, 0.3, 1), transform 0.85s cubic-bezier(0.16, 1, 0.3, 1);
}
.brag-unboxed-vid {
  width: 100%; height: auto; aspect-ratio: 16 / 9; display: block;
  background: #070908; border-radius: 16px;
}
.apple-reveal {
  opacity: 0; transform: translateY(44px) scale(0.965);
  transition: opacity 0.9s cubic-bezier(0.16, 1, 0.3, 1), transform 0.9s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}
.apple-reveal.apple-in {
  opacity: 1 !important; transform: translateY(0) scale(1) !important;
}
@media (max-width: 768px) {
  #features .product, #products .product { padding: 26px 20px !important; }
}

.brag-floating-bar, .brag-floating-ctls, .brag-spk-btn, .brag-pill-btn { display: none !important; }


/* === Reevia product UI v3 === */
html{color-scheme:dark}
body{touch-action:manipulation}
h1,h2,h3,h4{text-wrap:balance}
p,li,td,th{overflow-wrap:anywhere}
.brand-lockup{display:flex;align-items:center;gap:10px;color:var(--white);font-family:var(--font-display);font-size:1.35rem;text-transform:uppercase}
.brand-lockup .mark{width:34px;height:34px}.brand-lockup img{width:100%;height:100%;object-fit:contain}
.form-note{color:var(--dim);font-size:15px;line-height:1.5;margin:8px 0 16px}
.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:18px}
.card-head h2{margin-bottom:0}.dashboard-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.status-banner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 30px;margin-bottom:24px;background:linear-gradient(135deg,var(--accent-soft),var(--panel));border:1px solid var(--accent);border-left:5px solid var(--accent)}
.status-banner h2{font-size:2rem;margin:4px 0 8px}.status-banner p{color:var(--silver)}
.status-banner small,.progress-label{font-family:var(--font-mono);color:var(--accent);letter-spacing:.14em;text-transform:uppercase}
.progress{height:10px;background:var(--line);overflow:hidden;margin:12px 0 14px}.progress span{display:block;height:100%;background:var(--accent);min-width:0}
.step-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:18px}
.step-box{display:flex;align-items:center;gap:10px;min-width:0;padding:13px;background:var(--coal);border:1px solid var(--line);color:var(--mute)}
.step-box span{display:grid;place-items:center;width:26px;height:26px;flex:0 0 26px;border:1px solid var(--dim);font-family:var(--font-mono);font-size:11px}.step-box strong{min-width:0}
.step-box.step-done{border-color:var(--accent);color:var(--white)}.step-box.step-done span{background:var(--accent);color:var(--ink);border-color:var(--accent)}
.table-wrap{width:100%;overflow-x:auto;overscroll-behavior-x:contain}.table-wrap table{min-width:720px}.summary-cell{max-width:360px}
.empty{text-align:center;padding:34px}.empty h2,.empty h3{margin-bottom:10px}
.transcript{white-space:pre-wrap;overflow-wrap:anywhere;max-height:600px;overflow:auto;padding:18px;background:var(--ink);border:1px solid var(--line);color:var(--silver);font-family:var(--font-mono);font-size:13px;line-height:1.65}
.call-summary{font-size:18px}.danger-zone{border-color:#7f1d1d}.danger{background:#7f1d1d!important;color:#fff!important;border-color:#ef4444!important}
.check{display:flex!important;align-items:flex-start;gap:10px}.check input{flex:0 0 auto;width:20px;height:20px;margin-top:2px}.check span{line-height:1.45}
.four{grid-template-columns:repeat(4,minmax(0,1fr))}.trust-section{border-top:1px solid var(--line)}
.product img.brag-unboxed-vid{object-fit:cover;border:1px solid var(--line)}
.auth-card .form-note{margin:-12px 0 24px}.auth-card{max-width:560px}
footer a{min-height:44px;display:inline-flex;align-items:center}
@media(max-width:1200px){.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:960px){
  aside{position:sticky;top:0;z-index:700;padding:12px 16px;max-height:none;overflow:visible}aside .brand-lockup,aside .ws-org,aside form{display:none}aside nav{display:flex;margin:0;overflow-x:auto;gap:4px;scrollbar-width:thin;overscroll-behavior-x:contain}aside nav a{white-space:nowrap;min-height:44px;display:flex;align-items:center;border-left:0;border-bottom:2px solid transparent}aside nav a.active{border-left:0;border-bottom-color:var(--accent)}main.workspace{padding:26px 20px}
}
@media(max-width:640px){
  .container{width:auto;margin-inline:20px;padding-inline:0}.hero-content{padding-top:130px}.hero h1{font-size:clamp(3rem,16vw,5rem)}.hero-sub{font-size:18px}.hero-ctas{align-items:stretch}.hero-ctas .btn{width:100%}.lineup{margin-inline:20px}.dashboard-grid,.four,.step-grid{grid-template-columns:1fr}.status-banner{align-items:flex-start;flex-direction:column;padding:22px}.status-banner .button{width:100%}.card{padding:22px}.card-head .actions{width:100%}.card-head .actions .button{flex:1}.pricing-grid{grid-template-columns:1fr}.cta-panel{padding:46px 20px}.f-grid{grid-template-columns:1fr}.f-bottom{align-items:flex-start;gap:16px}.mobile-menu a:not(.btn){min-height:52px}.lu-cards{grid-template-columns:1fr}.why-grid{grid-template-columns:1fr}
}

/* Mobile target polish */
.brand,.lu-card{min-height:44px}.f-col a,.f-bottom a{min-width:44px;justify-content:center}
