/* =====================================================================
   VIDIZZY — main stylesheet
   Brutalist editorial — lime / ink / paper
   ===================================================================== */

/* ============ HOMEPAGE & SHARED ============ */
  /* ============ VIDIZZY DESIGN SYSTEM ============ */
  :root{
    --vz-lime:#E4FF7F;
    --vz-lime-dim:#C9E055;
    --vz-ink:#0A0A0A;
    --vz-paper:#F5F1E8;
    --vz-paper-2:#EAE5D5;
    --vz-rule:#0A0A0A;
    --vz-muted:#5A5A52;
    --vz-red:#FF3B1F;
  }

  /* Reset within scope to avoid Astra collisions */
  .vz *,
  .vz *::before,
  .vz *::after{ box-sizing:border-box; }

  .vz{
    background:var(--vz-paper);
    color:var(--vz-ink);
    font-family: "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-feature-settings:"ss01","cv11","tnum";
    line-height:1.45;
    margin:0 calc(50% - 50vw); /* break out of theme container */
    width:100vw;
    overflow-x:hidden;
  }

  .vz a{ color:inherit; text-decoration:none; }
  .vz button{ font-family:inherit; cursor:pointer; }
  .vz img{ max-width:100%; display:block; }

  /* Display font */
  .vz h1, .vz h2, .vz h3, .vz .vz-display, .vz .vz-mono-display{
    font-family: "Instrument Serif", "Times New Roman", serif;
    font-weight:400;
    letter-spacing:-0.02em;
    line-height:0.92;
    margin:0;
  }
  .vz .vz-mono, .vz .vz-num, .vz .vz-label{
    font-family: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;
    font-feature-settings:"tnum","ss01";
  }

  .vz .vz-label{
    text-transform:uppercase;
    letter-spacing:0.18em;
    font-size:11px;
    font-weight:500;
  }

  /* Container */
  .vz-wrap{
    max-width:1440px;
    margin:0 auto;
    padding:0 32px;
  }

  /* ============ TOP BAR ============ */
  .vz-top{
    border-bottom:1.5px solid var(--vz-ink);
    background:var(--vz-paper);
    position:sticky;
    top:0;
    z-index:50;
  }
  .vz-top-inner{
    display:grid;
    grid-template-columns: auto 1fr;
    align-items:center;
    height:64px;
    gap:24px;
  }
  .vz-top-left, .vz-top-right{
    display:flex;
    align-items:center;
    gap:24px;
    font-size:12px;
  }
  .vz-top-right{ justify-content:flex-end; }
  .vz-logo{
    font-family:"Instrument Serif", serif;
    font-size:32px;
    letter-spacing:-0.04em;
    line-height:1;
  }
  .vz-logo-dot{
    display:inline-block;
    width:10px;
    height:10px;
    background:var(--vz-lime);
    border:1.5px solid var(--vz-ink);
    border-radius:50%;
    margin-left:2px;
    vertical-align:1px;
  }
  .vz-top a{
    text-transform:uppercase;
    letter-spacing:0.14em;
    font-size:11px;
    font-weight:500;
    transition:opacity .2s;
  }
  .vz-top a:hover{ opacity:0.55; }
  .vz-live{
    display:inline-flex;
    align-items:center;
    gap:8px;
  }
  .vz-live::before{
    content:"";
    width:8px; height:8px;
    background:var(--vz-red);
    border-radius:50%;
    animation:vzPulse 1.6s infinite;
  }
  @keyframes vzPulse{
    0%,100%{ opacity:1; transform:scale(1); }
    50%{ opacity:0.5; transform:scale(1.3); }
  }

  /* ============ MASTHEAD ============ */
  .vz-masthead{
    border-bottom:1.5px solid var(--vz-ink);
    padding:14px 0;
    background:var(--vz-paper);
  }
  .vz-masthead-inner{
    display:flex;
    justify-content:space-between;
    align-items:baseline;
    flex-wrap:wrap;
    gap:16px;
    font-size:11px;
  }
  .vz-edition{ display:flex; gap:32px; }
  .vz-edition span{ display:inline-flex; gap:8px; }
  .vz-edition em{ font-style:normal; opacity:0.55; }

  /* ============ HERO ============ */
  .vz-hero{
    border-bottom:1.5px solid var(--vz-ink);
    padding:80px 0 60px;
    position:relative;
  }
  .vz-hero-grid{
    display:grid;
    grid-template-columns: 1fr 1fr;
    gap:60px;
    align-items:end;
  }
  .vz-eyebrow{
    display:inline-flex;
    align-items:center;
    gap:12px;
    margin-bottom:28px;
  }
  .vz-eyebrow-tag{
    background:var(--vz-ink);
    color:var(--vz-lime);
    padding:5px 10px;
    font-size:10px;
    letter-spacing:0.2em;
    font-weight:600;
  }
  .vz-h1{
    font-size: clamp(64px, 11.5vw, 188px);
    line-height:0.86;
    letter-spacing:-0.045em;
  }
  .vz-h1 .lime{
    background:var(--vz-lime);
    padding:0 0.04em 0.05em;
    display:inline-block;
    transform:rotate(-1.2deg);
    margin:0 0.02em;
  }
  .vz-h1 .strike{
    text-decoration:line-through;
    text-decoration-thickness:6px;
    text-decoration-color:var(--vz-red);
    opacity:0.55;
  }
  .vz-h1 em{
    font-style:italic;
  }

  .vz-hero-right{
    display:flex;
    flex-direction:column;
    gap:32px;
    padding-bottom:8px;
  }
  .vz-lede{
    font-size:19px;
    line-height:1.45;
    max-width:42ch;
  }
  .vz-lede::first-letter{
    font-family:"Instrument Serif", serif;
    font-size:64px;
    float:left;
    line-height:0.85;
    padding:6px 10px 0 0;
    margin-top:4px;
  }

  .vz-cta-row{
    display:flex;
    gap:14px;
    flex-wrap:wrap;
    align-items:center;
  }
  .vz a.vz-btn,
  .vz .vz-btn{
    display:inline-flex;
    align-items:center;
    gap:14px;
    padding:18px 28px;
    background:var(--vz-ink);
    color:var(--vz-paper);
    border:1.5px solid var(--vz-ink);
    font-size:13px;
    text-transform:uppercase;
    letter-spacing:0.14em;
    font-weight:500;
    transition: all .15s ease;
    position:relative;
  }
  .vz a.vz-btn:hover,
  .vz .vz-btn:hover{
    background:var(--vz-lime);
    color:var(--vz-ink);
  }
  .vz a.vz-btn-primary,
  .vz .vz-btn-primary{
    background:var(--vz-lime);
    color:var(--vz-ink);
    font-size:15px;
    padding:22px 32px;
    box-shadow: 6px 6px 0 var(--vz-ink);
  }
  .vz a.vz-btn-primary:hover,
  .vz .vz-btn-primary:hover{
    background:var(--vz-ink);
    color:var(--vz-lime);
    transform: translate(-2px,-2px);
    box-shadow: 8px 8px 0 var(--vz-lime-dim);
  }
  .vz-btn-arrow{
    display:inline-block;
    transition: transform .2s;
  }
  .vz-btn:hover .vz-btn-arrow{ transform: translateX(4px); }

  .vz-fineprint{
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:0.18em;
    opacity:0.6;
  }

  /* ============ TICKER ============ */
  .vz-ticker{
    background:var(--vz-ink);
    color:var(--vz-paper);
    border-bottom:1.5px solid var(--vz-ink);
    overflow:hidden;
    padding:18px 0;
  }
  .vz-ticker-track{
    display:flex;
    gap:56px;
    white-space:nowrap;
    animation: vzTicker 50s linear infinite;
    width:max-content;
  }
  .vz-ticker-item{
    font-family:"Instrument Serif", serif;
    font-size:36px;
    line-height:1;
    letter-spacing:-0.02em;
    display:inline-flex;
    align-items:center;
    gap:18px;
  }
  .vz-ticker-item::after{
    content:"";
    display:inline-block;
    width:6px;
    height:6px;
    background:var(--vz-lime);
    border-radius:50%;
    margin-left:38px;
  }
  .vz-ticker-icon{
    width:38px;
    height:38px;
    color:var(--vz-lime);
    flex-shrink:0;
    display:inline-block;
    vertical-align:middle;
  }
  @keyframes vzTicker{
    from{ transform: translateX(0); }
    to{ transform: translateX(-50%); }
  }

  /* ============ STATS / NUMBERS ROW ============ */
  .vz-stats{
    border-bottom:1.5px solid var(--vz-ink);
    padding:60px 0;
    background:var(--vz-paper);
  }
  .vz-stats-grid{
    display:grid;
    grid-template-columns: repeat(4, 1fr);
    gap:0;
  }
  .vz-stat{
    padding:0 32px;
    border-right:1px solid var(--vz-ink);
  }
  .vz-stat:last-child{ border-right:none; }
  .vz-stat:first-child{ padding-left:0; }
  .vz-stat-num{
    font-family:"Instrument Serif", serif;
    font-size: clamp(56px, 6vw, 92px);
    line-height:0.9;
    letter-spacing:-0.04em;
    margin-bottom:12px;
  }
  .vz-stat-num .lime-bg{
    background:var(--vz-lime);
    padding:0 6px;
  }
  .vz-stat-label{
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:0.18em;
    opacity:0.7;
  }

  /* ============ MANIFESTO ============ */
  .vz-manifesto{
    background:var(--vz-ink);
    color:var(--vz-paper);
    padding:120px 0;
    border-bottom:1.5px solid var(--vz-ink);
    position:relative;
    overflow:hidden;
  }
  .vz-manifesto-grid{
    display:grid;
    grid-template-columns: 200px 1fr;
    gap:80px;
  }
  .vz-manifesto-side{
    border-top:1px solid var(--vz-paper);
    padding-top:16px;
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:0.2em;
    opacity:0.55;
  }
  .vz-manifesto-text{
    font-family:"Instrument Serif", serif;
    font-size: clamp(34px, 4.8vw, 72px);
    line-height:1.05;
    letter-spacing:-0.025em;
    max-width:18ch;
  }
  .vz-manifesto-text .lime{
    color:var(--vz-lime);
    font-style:italic;
  }
  .vz-manifesto-text .underline{
    text-decoration: underline;
    text-decoration-thickness:2px;
    text-underline-offset:6px;
  }
  .vz-manifesto-mark{
    position:absolute;
    right:-40px;
    bottom:-80px;
    font-family:"Instrument Serif", serif;
    font-size:380px;
    color:var(--vz-lime);
    opacity:0.08;
    line-height:1;
    pointer-events:none;
    user-select:none;
  }

  /* ============ HOW IT WORKS — INDEX STYLE ============ */
  .vz-index{
    border-bottom:1.5px solid var(--vz-ink);
    padding:100px 0;
  }
  .vz-section-head{
    display:grid;
    grid-template-columns: 1fr auto;
    align-items:end;
    gap:40px;
    margin-bottom:60px;
    padding-bottom:24px;
    border-bottom:1px solid var(--vz-ink);
  }
  .vz-section-title{
    font-size: clamp(48px, 7vw, 110px);
    line-height:0.9;
    letter-spacing:-0.04em;
  }
  .vz-section-title em{ font-style:italic; }
  .vz-section-meta{
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:0.2em;
    text-align:right;
    line-height:1.7;
  }
  .vz-section-meta strong{ font-weight:600; }

  .vz-index-list{
    display:grid;
    grid-template-columns: 1fr;
    gap:0;
  }
  .vz-index-row{
    display:grid;
    grid-template-columns: 80px 1fr 2fr 80px;
    gap:40px;
    padding:36px 0;
    border-bottom:1px solid var(--vz-ink);
    align-items:center;
    transition: background .2s;
    position:relative;
  }
  .vz-index-row:last-child{ border-bottom:none; }
  .vz-index-row:hover{
    background:var(--vz-lime);
  }
  .vz-index-row:hover .vz-index-arrow{
    transform: translateX(8px) rotate(-45deg);
  }
  .vz-index-num{
    font-family:"JetBrains Mono", monospace;
    font-size:14px;
    letter-spacing:0.05em;
    opacity:0.5;
  }
  .vz-index-title{
    font-family:"Instrument Serif", serif;
    font-size: clamp(28px, 3vw, 44px);
    line-height:1;
    letter-spacing:-0.02em;
  }
  .vz-index-title em{ font-style:italic; }
  .vz-index-desc{
    font-size:15px;
    line-height:1.5;
    max-width:50ch;
  }
  .vz-index-arrow{
    font-size:32px;
    line-height:1;
    text-align:right;
    transition: transform .25s ease;
  }

  /* ============ FEATURE CARDS — ASYMMETRIC ============ */
  .vz-features{
    background:var(--vz-paper-2);
    border-bottom:1.5px solid var(--vz-ink);
    padding:100px 0;
  }
  .vz-cards{
    display:grid;
    grid-template-columns: repeat(12, 1fr);
    gap:24px;
    margin-top:60px;
  }
  .vz-card{
    background:var(--vz-paper);
    border:1.5px solid var(--vz-ink);
    padding:40px;
    display:flex;
    flex-direction:column;
    gap:20px;
    transition: transform .25s, box-shadow .25s;
    position:relative;
    overflow:hidden;
  }
  .vz-card:hover{
    transform: translate(-3px,-3px);
    box-shadow: 6px 6px 0 var(--vz-ink);
  }
  .vz-card-1{ grid-column: span 7; min-height:420px; background:var(--vz-lime); }
  .vz-card-2{ grid-column: span 5; min-height:420px; }
  .vz-card-3{ grid-column: span 4; min-height:340px; background:var(--vz-ink); color:var(--vz-paper); }
  .vz-card-4{ grid-column: span 4; min-height:340px; }
  .vz-card-5{ grid-column: span 4; min-height:340px; background:var(--vz-lime); }

  .vz-card-num{
    font-family:"JetBrains Mono", monospace;
    font-size:11px;
    letter-spacing:0.18em;
    text-transform:uppercase;
    opacity:0.6;
  }
  .vz-card-title{
    font-family:"Instrument Serif", serif;
    font-size: clamp(28px, 2.8vw, 44px);
    line-height:0.95;
    letter-spacing:-0.02em;
    margin-top:auto;
  }
  .vz-card-title em{ font-style:italic; }
  .vz-card-desc{
    font-size:14px;
    line-height:1.55;
    max-width:38ch;
  }
  .vz-card-3 .vz-card-num{ opacity:0.7; }

  .vz-card-tag{
    position:absolute;
    top:24px;
    right:24px;
    font-family:"JetBrains Mono", monospace;
    font-size:10px;
    letter-spacing:0.16em;
    text-transform:uppercase;
    border:1px solid currentColor;
    padding:4px 8px;
  }

  /* ============ COMPARE TABLE ============ */
  .vz-compare{
    border-bottom:1.5px solid var(--vz-ink);
    padding:100px 0;
  }
  .vz-table-wrap{
    border:1.5px solid var(--vz-ink);
    overflow-x:auto;
    -webkit-overflow-scrolling: touch;
  }
  .vz-table{
    width:100%;
    min-width:680px;
    border-collapse:collapse;
    font-size:14px;
  }
  .vz-table th, .vz-table td{
    text-align:left;
    padding:20px 24px;
    border-bottom:1px solid var(--vz-ink);
    border-right:1px solid var(--vz-ink);
    vertical-align:middle;
  }
  .vz-table th:last-child, .vz-table td:last-child{ border-right:none; }
  .vz-table tr:last-child td{ border-bottom:none; }
  .vz-table thead th{
    background:var(--vz-ink);
    color:var(--vz-paper);
    font-family:"JetBrains Mono", monospace;
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:0.16em;
    font-weight:500;
    padding:18px 24px;
  }
  .vz-table thead th.us{
    background:var(--vz-lime);
    color:var(--vz-ink);
    border-right-color:var(--vz-ink);
  }
  .vz-table tbody th{
    font-weight:500;
    background:var(--vz-paper);
    font-family:"Instrument Serif", serif;
    font-size:18px;
  }
  .vz-table .yes{
    color:var(--vz-ink);
    font-family:"JetBrains Mono", monospace;
    font-size:13px;
    font-weight:600;
  }
  .vz-table .yes::before{
    content:"●  ";
    color:var(--vz-ink);
  }
  .vz-table .no{
    font-family:"JetBrains Mono", monospace;
    font-size:13px;
    opacity:0.4;
  }
  .vz-table .no::before{
    content:"✕  ";
  }
  .vz-table td.us-col{
    background: rgba(228, 255, 127, 0.25);
  }

  /* ============ TESTIMONIAL / EDITORIAL QUOTE ============ */
  .vz-quotes{
    border-bottom:1.5px solid var(--vz-ink);
    padding:100px 0;
    background:var(--vz-paper);
  }
  .vz-quote-grid{
    display:grid;
    grid-template-columns: repeat(3, 1fr);
    gap:0;
    border:1.5px solid var(--vz-ink);
  }
  .vz-quote{
    padding:40px;
    border-right:1px solid var(--vz-ink);
    display:flex;
    flex-direction:column;
    gap:24px;
    min-height:340px;
    position:relative;
  }
  .vz-quote:last-child{ border-right:none; }
  .vz-quote:nth-child(2){ background:var(--vz-lime); }
  .vz-quote-mark{
    font-family:"Instrument Serif", serif;
    font-size:80px;
    line-height:0.5;
    margin-top:20px;
  }
  .vz-quote-text{
    font-family:"Instrument Serif", serif;
    font-size:24px;
    line-height:1.2;
    letter-spacing:-0.01em;
    flex:1;
  }
  .vz-quote-author{
    font-family:"JetBrains Mono", monospace;
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:0.16em;
    border-top:1px solid var(--vz-ink);
    padding-top:14px;
  }
  .vz-quote-author strong{ font-weight:600; }
  .vz-quote-author em{ font-style:normal; opacity:0.6; display:block; margin-top:4px; }

  /* ============ FAQ ============ */
  .vz-faq{
    border-bottom:1.5px solid var(--vz-ink);
    padding:100px 0;
  }
  .vz-faq-list{
    border-top:1px solid var(--vz-ink);
  }
  .vz-faq-item{
    border-bottom:1px solid var(--vz-ink);
  }
  .vz-faq-q{
    width:100%;
    background:none;
    border:none;
    text-align:left;
    padding:32px 0;
    display:grid;
    grid-template-columns: 60px 1fr 60px;
    gap:32px;
    align-items:center;
    font-family:"Instrument Serif", serif;
    font-size: clamp(22px, 2.4vw, 32px);
    line-height:1.1;
    letter-spacing:-0.02em;
    color:inherit;
    transition: padding .2s;
  }
  .vz-faq-q:hover{ padding-left:8px; }
  .vz-faq-num{
    font-family:"JetBrains Mono", monospace;
    font-size:13px;
    opacity:0.5;
  }
  .vz-faq-toggle{
    text-align:right;
    font-family:"JetBrains Mono", monospace;
    font-size:24px;
    transition: transform .25s;
  }
  .vz-faq-item[open] .vz-faq-toggle{ transform: rotate(45deg); }
  .vz-faq-a{
    padding:0 60px 32px 92px;
    max-width:80ch;
    font-size:15px;
    line-height:1.6;
  }
  .vz-faq-q::-webkit-details-marker{ display:none; }
  details > summary{ list-style:none; cursor:pointer; }

  /* ============ FINAL CTA ============ */
  .vz-final{
    background:var(--vz-lime);
    border-bottom:1.5px solid var(--vz-ink);
    padding:140px 0;
    text-align:center;
    position:relative;
    overflow:hidden;
  }
  .vz-final-h{
    font-size: clamp(72px, 13vw, 220px);
    line-height:0.86;
    letter-spacing:-0.045em;
    margin-bottom:40px;
    position:relative;
    z-index:2;
  }
  .vz-final-h em{ font-style:italic; }
  .vz-final-sub{
    font-size:16px;
    text-transform:uppercase;
    letter-spacing:0.2em;
    margin-bottom:50px;
    position:relative;
    z-index:2;
  }
  .vz-final .vz-btn-primary{
    background:var(--vz-ink);
    color:var(--vz-lime);
    box-shadow: 8px 8px 0 rgba(10,10,10,0.2);
  }
  .vz-final .vz-btn-primary:hover{
    background:var(--vz-paper);
    color:var(--vz-ink);
    box-shadow: 10px 10px 0 rgba(10,10,10,0.4);
  }
  .vz-final-mark{
    position:absolute;
    left:50%;
    top:50%;
    transform: translate(-50%,-50%);
    font-family:"Instrument Serif", serif;
    font-size:clamp(400px, 60vw, 900px);
    color:var(--vz-ink);
    opacity:0.04;
    line-height:1;
    pointer-events:none;
    user-select:none;
    z-index:1;
  }

  /* ============ FOOTER ============ */
  .vz-footer{
    background:var(--vz-ink);
    color:var(--vz-paper);
    padding:80px 0 40px;
  }
  .vz-footer-grid{
    display:grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap:60px;
    padding-bottom:60px;
    border-bottom:1px solid rgba(245,241,232,0.2);
  }
  .vz-footer .vz-logo{
    font-size:48px;
    margin-bottom:24px;
  }
  .vz-footer-tag{
    font-size:14px;
    line-height:1.5;
    max-width:30ch;
    opacity:0.7;
  }
  .vz-footer-col h4{
    font-family:"JetBrains Mono", monospace;
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:0.18em;
    opacity:0.55;
    margin:0 0 20px;
    font-weight:500;
  }
  .vz-footer-col ul{
    list-style:none;
    padding:0;
    margin:0;
    display:flex;
    flex-direction:column;
    gap:12px;
  }
  .vz-footer-col a,
  .vz-footer .vz-footer-col a{
    font-size:14px;
    color:#FFFFFF;
    transition: color .2s, padding .2s;
  }
  .vz-footer-col a:hover,
  .vz-footer .vz-footer-col a:hover{
    color:var(--vz-lime);
    padding-left:6px;
  }
  .vz-footer-bottom{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding-top:30px;
    font-family:"JetBrains Mono", monospace;
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:0.16em;
    opacity:0.55;
    flex-wrap:wrap;
    gap:16px;
  }

  /* ============ RESPONSIVE ============ */
  @media (max-width: 980px){
    .vz-wrap{ padding:0 20px; }
    .vz-top-inner{ grid-template-columns: 1fr auto; }
    .vz-top-left{ display:none; }
    .vz-top-right{ gap:12px; }
    .vz-top-right .vz-live{ font-size:10px; }
    .vz-hero-grid{ grid-template-columns: 1fr; gap:40px; }
    .vz-hero{ padding:48px 0 40px; }
    .vz-stats-grid{ grid-template-columns: 1fr 1fr; }
    .vz-stat{ padding:24px; border-right:1px solid var(--vz-ink); border-bottom:1px solid var(--vz-ink); }
    .vz-stat:nth-child(2){ border-right:none; }
    .vz-stat:nth-child(3),.vz-stat:nth-child(4){ border-bottom:none; }
    .vz-stat:nth-child(4){ border-right:none; }
    .vz-stat:first-child{ padding-left:24px; }
    .vz-manifesto-grid{ grid-template-columns: 1fr; gap:32px; }
    .vz-section-head{ grid-template-columns:1fr; }
    .vz-section-meta{ text-align:left; }
    .vz-index-row{ grid-template-columns: 50px 1fr 40px; gap:20px; padding:24px 0; }
    .vz-index-desc{ display:none; }
    .vz-cards{ grid-template-columns: 1fr; }
    .vz-card-1,.vz-card-2,.vz-card-3,.vz-card-4,.vz-card-5{ grid-column: 1 / -1; min-height:280px; }
    .vz-quote-grid{ grid-template-columns: 1fr; }
    .vz-quote{ border-right:none; border-bottom:1px solid var(--vz-ink); }
    .vz-quote:last-child{ border-bottom:none; }
    .vz-faq-q{ grid-template-columns: 30px 1fr 30px; gap:16px; padding:24px 0; }
    .vz-faq-a{ padding:0 0 24px 46px; }
    .vz-final{ padding:80px 0; }
    .vz-footer-grid{ grid-template-columns: 1fr 1fr; gap:40px; }
    .vz-table th, .vz-table td{ padding:14px; font-size:12px; }
    .vz-ticker-item{ font-size:24px; gap:12px; }
    .vz-ticker-icon{ width:26px; height:26px; }
    .vz-ticker-item::after{ margin-left:26px; }
    .vz-manifesto{ padding:80px 0; }
    .vz-manifesto-mark{ font-size:200px; right:-20px; bottom:-40px; }
  }
  @media (max-width: 560px){
    .vz-footer-grid{ grid-template-columns: 1fr; }
    .vz-footer-bottom{ flex-direction:column; align-items:flex-start; }
    .vz-edition{ gap:14px; flex-wrap:wrap; }
  }

/* ============ DOCUMENT PAGES (Privacy / Terms) ============ */
  :root{
    --vz-lime:#E4FF7F;
    --vz-ink:#0A0A0A;
    --vz-paper:#F5F1E8;
    --vz-paper-2:#EAE5D5;
    --vz-muted:#5A5A52;
    --vz-red:#FF3B1F;
  }
  .vz *,.vz *::before,.vz *::after{box-sizing:border-box;}
  .vz{
    background:var(--vz-paper);
    color:var(--vz-ink);
    font-family:"Inter Tight","Helvetica Neue",Helvetica,Arial,sans-serif;
    line-height:1.55;
    margin:0 calc(50% - 50vw);
    width:100vw;
    overflow-x:hidden;
  }
  .vz a{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;}
  .vz a:hover{background:var(--vz-lime);}
  .vz-wrap{max-width:1100px;margin:0 auto;padding:0 32px;}

  /* Top bar */
  .vz-top{border-bottom:1.5px solid var(--vz-ink);background:var(--vz-paper);position:sticky;top:0;z-index:50;}
  .vz-top-inner{display:grid;grid-template-columns:auto 1fr;align-items:center;height:64px;gap:24px;}
  .vz-top-left,.vz-top-right{display:flex;gap:24px;font-size:11px;text-transform:uppercase;letter-spacing:0.14em;font-weight:500;}
  .vz-top-right{justify-content:flex-end;}
  .vz-top-left a,.vz-top-right a{text-decoration:none;}
  .vz-top a:hover{background:none;opacity:0.55;}
  .vz-logo{
    font-family:"Instrument Serif",serif;
    font-size:32px;letter-spacing:-0.04em;line-height:1;
    text-decoration:none;
  }
  .vz-logo:hover{background:none;}
  .vz-logo-dot{display:inline-block;width:10px;height:10px;background:var(--vz-lime);border:1.5px solid var(--vz-ink);border-radius:50%;margin-left:2px;vertical-align:1px;}

  /* Page header */
  .vz-page-head{
    border-bottom:1.5px solid var(--vz-ink);
    padding:80px 0 60px;
  }
  .vz-page-eyebrow{
    font-family:"JetBrains Mono",ui-monospace,monospace;
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:0.2em;
    margin-bottom:24px;
    display:flex;
    gap:24px;
    flex-wrap:wrap;
  }
  .vz-page-eyebrow span:first-child{
    background:var(--vz-ink);
    color:var(--vz-lime);
    padding:5px 10px;
  }
  .vz-page-h1{
    font-family:"Instrument Serif",serif;
    font-size:clamp(56px,9vw,140px);
    line-height:0.9;
    letter-spacing:-0.04em;
    margin:0 0 30px;
    font-weight:400;
  }
  .vz-page-h1 em{font-style:italic;}
  .vz-page-h1 .lime{background:var(--vz-lime);padding:0 0.04em 0.05em;display:inline-block;transform:rotate(-1deg);}
  .vz-page-lede{
    font-size:20px;
    line-height:1.45;
    max-width:60ch;
    margin:0;
  }

  /* Body */
  .vz-doc{
    padding:80px 0 60px;
    display:grid;
    grid-template-columns:240px 1fr;
    gap:80px;
  }
  .vz-toc{
    position:sticky;
    top:96px;
    align-self:start;
    border-top:1px solid var(--vz-ink);
    padding-top:16px;
  }
  .vz-toc h4{
    font-family:"JetBrains Mono",monospace;
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:0.18em;
    margin:0 0 16px;
    font-weight:500;
  }
  .vz-toc ol{
    list-style:none;
    counter-reset:toc;
    padding:0;margin:0;
    display:flex;
    flex-direction:column;
    gap:8px;
  }
  .vz-toc li{
    counter-increment:toc;
    font-size:13px;
    line-height:1.4;
  }
  .vz-toc li::before{
    content:counter(toc,decimal-leading-zero) "  ";
    font-family:"JetBrains Mono",monospace;
    font-size:11px;
    opacity:0.5;
  }
  .vz-toc a{
    text-decoration:none;
    transition:padding .2s;
    display:inline-block;
  }
  .vz-toc a:hover{padding-left:4px;background:none;color:var(--vz-ink);text-decoration:underline;}

  .vz-doc-body section{
    border-bottom:1px solid var(--vz-ink);
    padding:0 0 40px;
    margin-bottom:40px;
  }
  .vz-doc-body section:last-child{border-bottom:none;margin-bottom:0;}
  .vz-doc-body h2{
    font-family:"Instrument Serif",serif;
    font-size:clamp(32px,3.5vw,52px);
    line-height:1;
    letter-spacing:-0.025em;
    font-weight:400;
    margin:0 0 24px;
    display:flex;
    gap:24px;
    align-items:baseline;
  }
  .vz-doc-body h2::before{
    content:attr(data-num);
    font-family:"JetBrains Mono",monospace;
    font-size:13px;
    opacity:0.5;
    letter-spacing:0.05em;
    flex-shrink:0;
  }
  .vz-doc-body h2 em{font-style:italic;}
  .vz-doc-body h3{
    font-family:"Inter Tight",sans-serif;
    font-size:15px;
    text-transform:uppercase;
    letter-spacing:0.16em;
    font-weight:600;
    margin:32px 0 12px;
  }
  .vz-doc-body p,.vz-doc-body li{
    font-size:16px;
    line-height:1.65;
    margin:0 0 16px;
    max-width:68ch;
  }
  .vz-doc-body ul{padding-left:0;list-style:none;max-width:68ch;}
  .vz-doc-body ul li{
    padding-left:28px;
    position:relative;
    margin-bottom:10px;
  }
  .vz-doc-body ul li::before{
    content:"→";
    position:absolute;
    left:0;
    font-family:"JetBrains Mono",monospace;
    color:var(--vz-ink);
  }
  .vz-doc-body strong{font-weight:600;}
  .vz-callout{
    background:var(--vz-lime);
    border:1.5px solid var(--vz-ink);
    padding:24px 28px;
    margin:24px 0 24px;
    max-width:68ch;
  }
  .vz-callout p{margin:0;font-size:15px;}
  .vz-callout strong{
    font-family:"JetBrains Mono",monospace;
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:0.16em;
    display:block;
    margin-bottom:6px;
  }

  /* Footer */
  .vz-footer{background:var(--vz-ink);color:var(--vz-paper);padding:60px 0 30px;border-top:1.5px solid var(--vz-ink);}
  .vz-footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:60px;padding-bottom:40px;border-bottom:1px solid rgba(245,241,232,0.2);}
  .vz-footer .vz-logo{font-size:40px;color:var(--vz-paper);}
  .vz-footer-col h4{font-family:"JetBrains Mono",monospace;font-size:11px;text-transform:uppercase;letter-spacing:0.18em;opacity:0.55;margin:0 0 16px;font-weight:500;}
  .vz-footer-col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px;}
  .vz-footer-col a{font-size:14px;text-decoration:none;color:#FFFFFF;}
  .vz-footer-col a:hover{color:var(--vz-lime);background:none;}
  .vz-footer-bottom{padding-top:24px;font-family:"JetBrains Mono",monospace;font-size:11px;text-transform:uppercase;letter-spacing:0.16em;opacity:0.55;display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;}

  @media (max-width:980px){
    .vz-wrap{padding:0 20px;}
    .vz-top-left{display:none;}
    .vz-top-inner{grid-template-columns:1fr auto;}
    .vz-page-head{padding:48px 0 40px;}
    .vz-doc{grid-template-columns:1fr;gap:40px;padding:48px 0;}
    .vz-toc{position:static;}
    .vz-footer-grid{grid-template-columns:1fr;gap:32px;}
  }

/* ============ CONTACT PAGE ============ */
  :root{
    --vz-lime:#E4FF7F;
    --vz-lime-dim:#C9E055;
    --vz-ink:#0A0A0A;
    --vz-paper:#F5F1E8;
    --vz-paper-2:#EAE5D5;
    --vz-muted:#5A5A52;
    --vz-red:#FF3B1F;
  }
  .vz *,.vz *::before,.vz *::after{box-sizing:border-box;}
  .vz{
    background:var(--vz-paper);
    color:var(--vz-ink);
    font-family:"Inter Tight","Helvetica Neue",Helvetica,Arial,sans-serif;
    line-height:1.5;
    margin:0 calc(50% - 50vw);
    width:100vw;
    overflow-x:hidden;
  }
  .vz a{color:inherit;text-decoration:none;}
  .vz-wrap{max-width:1280px;margin:0 auto;padding:0 32px;}

  /* Top */
  .vz-top{border-bottom:1.5px solid var(--vz-ink);background:var(--vz-paper);position:sticky;top:0;z-index:50;}
  .vz-top-inner{display:grid;grid-template-columns:auto 1fr;align-items:center;height:64px;gap:24px;}
  .vz-top-left,.vz-top-right{display:flex;gap:24px;font-size:11px;text-transform:uppercase;letter-spacing:0.14em;font-weight:500;}
  .vz-top-right{justify-content:flex-end;}
  .vz-top a:hover{opacity:0.55;}
  .vz-logo{font-family:"Instrument Serif",serif;font-size:32px;letter-spacing:-0.04em;line-height:1;}
  .vz-logo-dot{display:inline-block;width:10px;height:10px;background:var(--vz-lime);border:1.5px solid var(--vz-ink);border-radius:50%;margin-left:2px;vertical-align:1px;}

  /* Page hero */
  .vz-page-head{
    border-bottom:1.5px solid var(--vz-ink);
    padding:80px 0 60px;
  }
  .vz-page-head-grid{
    display:grid;
    grid-template-columns: 1fr 1fr;
    gap:60px;
    align-items:end;
  }
  .vz-page-eyebrow{
    font-family:"JetBrains Mono",ui-monospace,monospace;
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:0.2em;
    margin-bottom:24px;
    display:flex;
    gap:24px;
    flex-wrap:wrap;
  }
  .vz-page-eyebrow span:first-child{
    background:var(--vz-ink);
    color:var(--vz-lime);
    padding:5px 10px;
  }
  .vz-page-h1{
    font-family:"Instrument Serif",serif;
    font-size:clamp(64px,11vw,180px);
    line-height:0.88;
    letter-spacing:-0.045em;
    margin:0;
    font-weight:400;
  }
  .vz-page-h1 em{font-style:italic;}
  .vz-page-h1 .lime{
    background:var(--vz-lime);
    padding:0 0.04em 0.05em;
    display:inline-block;
    transform:rotate(-1deg);
  }
  .vz-page-lede{
    font-size:19px;
    line-height:1.5;
    max-width:48ch;
    margin:0;
  }
  .vz-page-lede::first-letter{
    font-family:"Instrument Serif", serif;
    font-size:64px;
    float:left;
    line-height:0.85;
    padding:6px 10px 0 0;
    margin-top:4px;
  }

  /* Main grid */
  .vz-contact-main{
    padding:80px 0;
    display:grid;
    grid-template-columns: 1.4fr 1fr;
    gap:80px;
    align-items:start;
  }

  /* Form column */
  .vz-form-block{
    border:1.5px solid var(--vz-ink);
    background:var(--vz-paper);
    padding:48px;
    position:relative;
  }
  .vz-form-block::before{
    content:"";
    position:absolute;
    inset:8px;
    border:1px solid var(--vz-ink);
    pointer-events:none;
    opacity:0.18;
  }
  .vz-form-head{
    border-bottom:1px solid var(--vz-ink);
    padding-bottom:20px;
    margin-bottom:32px;
    display:flex;
    justify-content:space-between;
    align-items:baseline;
    flex-wrap:wrap;
    gap:16px;
  }
  .vz-form-head h2{
    font-family:"Instrument Serif",serif;
    font-size:36px;
    line-height:1;
    letter-spacing:-0.025em;
    margin:0;
    font-weight:400;
  }
  .vz-form-head h2 em{font-style:italic;}
  .vz-form-head .vz-mono{
    font-family:"JetBrains Mono",monospace;
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:0.18em;
    opacity:0.55;
  }

  /* Form styling override (works with Contact Form 7 / standard forms) */
  .vz-form-block label,
  .vz-form-block .wpcf7-form-control-wrap{
    display:block;
    margin-bottom:20px;
  }
  .vz-form-block label{
    font-family:"JetBrains Mono",monospace;
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:0.16em;
    font-weight:500;
  }
  .vz-form-block input[type="text"],
  .vz-form-block input[type="email"],
  .vz-form-block input[type="tel"],
  .vz-form-block textarea,
  .vz-form-block select{
    width:100%;
    background:transparent;
    border:none;
    border-bottom:1.5px solid var(--vz-ink);
    padding:14px 0 12px;
    font-family:"Inter Tight",sans-serif;
    font-size:16px;
    color:var(--vz-ink);
    margin-top:8px;
    transition:border-color .2s,padding .2s;
    border-radius:0;
    outline:none;
  }
  .vz-form-block input:focus,
  .vz-form-block textarea:focus,
  .vz-form-block select:focus{
    border-bottom-color:var(--vz-ink);
    padding-left:6px;
    background:var(--vz-lime);
  }
  .vz-form-block textarea{
    min-height:140px;
    resize:vertical;
  }
  .vz-form-block input[type="submit"],
  .vz-form-block button[type="submit"]{
    -webkit-appearance:none;
    appearance:none;
    background:var(--vz-ink);
    color:var(--vz-paper);
    border:1.5px solid var(--vz-ink);
    padding:18px 32px;
    font-family:"Inter Tight",sans-serif;
    font-size:13px;
    text-transform:uppercase;
    letter-spacing:0.14em;
    font-weight:500;
    cursor:pointer;
    transition:background .15s,color .15s,transform .15s,box-shadow .15s;
    box-shadow:6px 6px 0 var(--vz-lime);
    border-radius:0;
    margin-top:12px;
  }
  .vz-form-block input[type="submit"]:hover,
  .vz-form-block button[type="submit"]:hover{
    background:var(--vz-lime);
    color:var(--vz-ink);
    transform:translate(-2px,-2px);
    box-shadow:8px 8px 0 var(--vz-ink);
  }
  .vz-form-placeholder{
    background:var(--vz-paper-2);
    border:1.5px dashed var(--vz-ink);
    padding:32px;
    font-family:"JetBrains Mono",monospace;
    font-size:12px;
    line-height:1.6;
    text-align:center;
  }
  .vz-form-placeholder strong{
    display:block;
    font-size:14px;
    margin-bottom:8px;
    text-transform:uppercase;
    letter-spacing:0.16em;
  }

  /* Native form fallback */
  .vz-native-form .vz-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:24px;
  }
  @media (max-width:560px){
    .vz-native-form .vz-row{grid-template-columns:1fr;}
  }

  /* Side info */
  .vz-info-stack{
    display:flex;
    flex-direction:column;
    gap:24px;
  }
  .vz-info-card{
    border:1.5px solid var(--vz-ink);
    padding:32px;
    background:var(--vz-paper);
  }
  .vz-info-card.lime{
    background:var(--vz-lime);
  }
  .vz-info-card.ink{
    background:var(--vz-ink);
    color:var(--vz-paper);
  }
  .vz-info-num{
    font-family:"JetBrains Mono",monospace;
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:0.18em;
    margin-bottom:14px;
    opacity:0.6;
  }
  .vz-info-card h3{
    font-family:"Instrument Serif",serif;
    font-size:30px;
    line-height:1;
    letter-spacing:-0.025em;
    margin:0 0 14px;
    font-weight:400;
  }
  .vz-info-card h3 em{font-style:italic;}
  .vz-info-card p{
    font-size:15px;
    line-height:1.55;
    margin:0;
  }
  .vz-info-card a{
    text-decoration:underline;
    text-decoration-thickness:1px;
    text-underline-offset:3px;
  }
  .vz-info-card.ink a{color:var(--vz-lime);}

  /* Quick stats strip */
  .vz-strip{
    border-bottom:1.5px solid var(--vz-ink);
    border-top:1.5px solid var(--vz-ink);
    background:var(--vz-ink);
    color:var(--vz-paper);
    padding:18px 0;
    overflow:hidden;
  }
  .vz-strip-track{
    display:flex;
    gap:48px;
    white-space:nowrap;
    animation:vzScroll 36s linear infinite;
    width:max-content;
  }
  .vz-strip-item{
    font-family:"Instrument Serif",serif;
    font-size:30px;
    line-height:1;
    letter-spacing:-0.02em;
    display:inline-flex;
    align-items:center;
    gap:48px;
  }
  .vz-strip-item::after{
    content:"✦";
    color:var(--vz-lime);
    font-size:20px;
  }
  @keyframes vzScroll{
    from{transform:translateX(0);}
    to{transform:translateX(-50%);}
  }

  /* Footer */
  .vz-footer{background:var(--vz-ink);color:var(--vz-paper);padding:60px 0 30px;}
  .vz-footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:60px;padding-bottom:40px;border-bottom:1px solid rgba(245,241,232,0.2);}
  .vz-footer .vz-logo{font-size:40px;color:var(--vz-paper);}
  .vz-footer-col h4{font-family:"JetBrains Mono",monospace;font-size:11px;text-transform:uppercase;letter-spacing:0.18em;opacity:0.55;margin:0 0 16px;font-weight:500;}
  .vz-footer-col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px;}
  .vz-footer-col a{font-size:14px;}
  .vz-footer-col a:hover{color:var(--vz-lime);}
  .vz-footer-bottom{padding-top:24px;font-family:"JetBrains Mono",monospace;font-size:11px;text-transform:uppercase;letter-spacing:0.16em;opacity:0.55;display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;}

  @media (max-width:980px){
    .vz-wrap{padding:0 20px;}
    .vz-top-left{display:none;}
    .vz-top-inner{grid-template-columns:1fr auto;}
    .vz-page-head{padding:48px 0 40px;}
    .vz-page-head-grid{grid-template-columns:1fr;gap:32px;}
    .vz-contact-main{grid-template-columns:1fr;gap:48px;padding:48px 0;}
    .vz-form-block{padding:28px;}
    .vz-form-block::before{inset:6px;}
    .vz-footer-grid{grid-template-columns:1fr;gap:32px;}
  }

/* ============ WP ADMIN BAR COMPATIBILITY ============ */
.admin-bar .vz-top { top: 32px; }
@media screen and (max-width: 782px) {
  .admin-bar .vz-top { top: 46px; }
}

/* ============ CAMCORDER (HERO) ============ */
.vz-cam{
  display:flex;
  flex-direction:column;
  gap:10px;
  border:1.5px solid var(--vz-ink);
  background:var(--vz-paper-2);
  padding:20px 22px 16px;
  position:relative;
  align-self:flex-start;
  max-width:340px;
  margin-bottom:8px;
}
.vz-cam::before{
  content:"";
  position:absolute;
  top:8px;
  right:8px;
  bottom:8px;
  left:8px;
  border:1px solid var(--vz-ink);
  opacity:0.18;
  pointer-events:none;
}
.vz-cam-frame{
  position:relative;
  background:var(--vz-paper);
  border:1px solid var(--vz-ink);
  padding:24px 16px 12px;
  background-image: repeating-linear-gradient(
    0deg,
    rgba(10,10,10,0) 0px,
    rgba(10,10,10,0) 3px,
    rgba(10,10,10,0.04) 3px,
    rgba(10,10,10,0.04) 4px
  );
}
.vz-cam-svg{
  display:block;
  width:100%;
  height:auto;
  color:var(--vz-ink);
}
.vz-cam-lens{
  animation: vzCamSpin 8s linear infinite;
  transform-origin: 90px 90px;
  transform-box: view-box;
}
.vz-cam-rec{
  animation: vzCamBlink 1.4s ease-in-out infinite;
}

@keyframes vzCamSpin{
  from{ transform: rotate(0deg); }
  to{ transform: rotate(360deg); }
}
@keyframes vzCamBlink{
  0%, 60%{ opacity:1; }
  61%, 100%{ opacity:0.15; }
}

.vz-cam-meta{
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-family:"JetBrains Mono", monospace;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:0.16em;
  padding-top:4px;
}
.vz-cam-coord{
  opacity:0.6;
}

@media (max-width: 980px){
  .vz-cam{
    max-width:none;
    margin-top:8px;
  }
}
@media (prefers-reduced-motion: reduce){
  .vz-cam-lens,
  .vz-cam-rec{
    animation: none;
  }
}

/* ============ ACTIVITY FEED ============ */
.vz-activity{
  border-bottom:1.5px solid var(--vz-ink);
  background:var(--vz-paper-2);
  padding:36px 0;
}
.vz-activity-grid{
  display:grid;
  grid-template-columns: 140px 1fr;
  gap:40px;
  align-items:start;
}
.vz-activity-head{
  display:flex;
  align-items:center;
  gap:10px;
  padding-top:6px;
  border-top:1px solid var(--vz-ink);
  padding-top:16px;
}
.vz-activity-pulse{
  width:8px;
  height:8px;
  background:var(--vz-red);
  border-radius:50%;
  animation: vzActivityPulse 1.4s ease-in-out infinite;
  flex-shrink:0;
}
@keyframes vzActivityPulse{
  0%,100%{ opacity:1; transform:scale(1); }
  50%{ opacity:0.4; transform:scale(1.4); }
}
.vz-activity-list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:0;
  border-top:1px solid var(--vz-ink);
}
.vz-activity-item{
  display:grid;
  grid-template-columns: 100px 1fr;
  gap:24px;
  padding:14px 0;
  border-bottom:1px solid rgba(10,10,10,0.15);
  align-items:baseline;
  font-size:15px;
  animation: vzActivityIn 0.5s ease-out;
}
.vz-activity-item:last-child{ border-bottom:none; }
@keyframes vzActivityIn{
  from{ opacity:0; transform: translateY(-6px); background:var(--vz-lime); }
  to{ opacity:1; transform: translateY(0); background:transparent; }
}
.vz-activity-time{
  font-family:"JetBrains Mono", monospace;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:0.14em;
  opacity:0.55;
}
.vz-activity-event{
  font-family:"Inter Tight", sans-serif;
  font-size:15px;
  line-height:1.4;
}
.vz-activity-event strong{
  font-weight:600;
}
.vz-activity-event em{
  font-style:italic;
  font-family:"Instrument Serif", serif;
  font-size:17px;
  letter-spacing:-0.01em;
}

/* ============ STICKY MOBILE CTA ============ */
.vz-sticky-cta{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  background:var(--vz-ink);
  color:var(--vz-paper);
  border-top:2px solid var(--vz-lime);
  padding:12px 16px;
  z-index:100;
  transform: translateY(100%);
  transition: transform .35s cubic-bezier(0.2, 0.8, 0.2, 1);
  box-shadow: 0 -10px 30px rgba(10,10,10,0.15);
  display:none; /* hidden by default; only mobile shows */
}
.vz-sticky-cta.is-visible{
  transform: translateY(0);
}
.vz-sticky-cta-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  max-width:600px;
  margin:0 auto;
}
.vz-sticky-cta-status{
  display:flex;
  align-items:center;
  gap:10px;
  flex:1;
  min-width:0;
}
.vz-sticky-pulse{
  width:8px;
  height:8px;
  background:var(--vz-lime);
  border-radius:50%;
  animation: vzActivityPulse 1.6s ease-in-out infinite;
  flex-shrink:0;
}
.vz-sticky-count{
  font-family:"JetBrains Mono", monospace;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:0.14em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.vz-sticky-cta-btn{
  background:var(--vz-lime);
  color:var(--vz-ink);
  border:1.5px solid var(--vz-lime);
  padding:12px 22px;
  font-family:"Inter Tight", sans-serif;
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:0.14em;
  font-weight:600;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  gap:8px;
  white-space:nowrap;
  transition: transform .15s;
}
.vz-sticky-cta-btn,
.vz-sticky-cta-btn:link,
.vz-sticky-cta-btn:visited,
.vz-sticky-cta-btn [data-vz-sticky-label]{
  color:var(--vz-ink);
}
.vz-sticky-cta-btn:hover,
.vz-sticky-cta-btn:active{
  transform: scale(1.03);
}

/* Show on mobile only */
@media (max-width: 980px){
  .vz-sticky-cta{ display:block; }
  /* Add bottom padding to body so sticky doesn't cover footer content */
  body.vz-body{ padding-bottom: 70px; }
}

/* Activity feed responsive */
@media (max-width: 980px){
  .vz-activity-grid{ grid-template-columns: 1fr; gap:20px; }
  .vz-activity-item{ grid-template-columns: 80px 1fr; gap:16px; font-size:14px; }
  .vz-activity-event{ font-size:14px; }
  .vz-activity-event em{ font-size:15px; }
}

@media (prefers-reduced-motion: reduce){
  .vz-activity-item,
  .vz-activity-pulse,
  .vz-sticky-pulse,
  .vz-sticky-cta{
    animation: none;
    transition: none;
  }
}

/* ============ CHAT PAGE ============ */

/* Compact top bar variant */
.vz-top--chat{
  background:var(--vz-ink);
  color:var(--vz-paper);
  border-bottom:2px solid var(--vz-lime);
}
.vz-top--chat .vz-top-inner{
  display:grid;
  grid-template-columns: 1fr auto 1fr;
  align-items:center;
  height:56px;
  gap:24px;
}
.vz-top--chat .vz-logo{
  font-family:"Instrument Serif", serif;
  font-size:24px;
  letter-spacing:-0.04em;
  line-height:1;
  color:var(--vz-paper);
  text-decoration:none;
}
.vz-top--chat .vz-logo .vz-logo-dot{
  background:var(--vz-lime);
  border-color:var(--vz-lime);
}
.vz-chat-status{
  display:flex;
  align-items:center;
  gap:10px;
  justify-content:center;
}
.vz-chat-pulse{
  width:8px;
  height:8px;
  background:var(--vz-lime);
  border-radius:50%;
  animation: vzActivityPulse 1.4s ease-in-out infinite;
  flex-shrink:0;
}
.vz-chat-status .vz-mono{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:0.16em;
  color:var(--vz-paper);
}
.vz-chat-back{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:0.16em;
  color:var(--vz-paper);
  text-decoration:none;
  text-align:right;
  transition:color .15s, transform .15s;
}
.vz-chat-back:hover{
  color:var(--vz-lime);
  transform:translateX(-3px);
}

/* Main stage */
.vz-chat-main{
  background:var(--vz-paper);
  min-height: calc(100vh - 56px - 60px);
  display:flex;
  flex-direction:column;
}
.vz-chat-stage{
  flex:1;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:40px 24px;
  width:100%;
  max-width:1200px;
  margin:0 auto;
  box-sizing:border-box;
}

/* When the user replaces the placeholder with a real iframe,
   the iframe should fill the stage cleanly. */
.vz-chat-stage iframe{
  width:100%;
  min-height:680px;
  border:1.5px solid var(--vz-ink);
  background:var(--vz-ink);
  display:block;
}

/* Placeholder block - shown until the embed is added */
.vz-chat-placeholder{
  width:100%;
  border:1.5px solid var(--vz-ink);
  background:var(--vz-paper-2);
  padding:24px;
  position:relative;
}
.vz-chat-placeholder::before{
  content:"";
  position:absolute;
  inset:8px;
  border:1px solid var(--vz-ink);
  pointer-events:none;
  opacity:0.18;
}
.vz-chat-placeholder-frame{
  background:var(--vz-paper);
  border:1px solid var(--vz-ink);
  padding:60px 40px 50px;
  text-align:center;
  background-image: repeating-linear-gradient(
    0deg,
    rgba(10,10,10,0) 0px,
    rgba(10,10,10,0) 3px,
    rgba(10,10,10,0.04) 3px,
    rgba(10,10,10,0.04) 4px
  );
}
.vz-chat-placeholder-cam{
  width:160px;
  height:auto;
  color:var(--vz-ink);
  margin:0 auto 32px;
  display:block;
}
.vz-chat-placeholder-lens{
  animation: vzCamSpin 8s linear infinite;
  transform-origin: 90px 90px;
  transform-box: view-box;
}
.vz-chat-rec{
  animation: vzCamBlink 1.4s ease-in-out infinite;
}
.vz-chat-placeholder-title{
  font-family:"Instrument Serif", serif;
  font-size: clamp(36px, 5vw, 56px);
  line-height:1;
  letter-spacing:-0.025em;
  font-weight:400;
  margin:0 0 20px;
  color:var(--vz-ink);
}
.vz-chat-placeholder-title em{ font-style:italic; }
.vz-dots{
  display:inline-flex;
  gap:4px;
  margin-left:6px;
  vertical-align:middle;
}
.vz-dots span{
  width:6px;
  height:6px;
  background:var(--vz-lime);
  border-radius:50%;
  animation: vzDotBounce 1.4s ease-in-out infinite;
}
.vz-dots span:nth-child(2){ animation-delay:0.2s; }
.vz-dots span:nth-child(3){ animation-delay:0.4s; }
@keyframes vzDotBounce{
  0%, 60%, 100%{ opacity:0.3; transform:translateY(0); }
  30%{ opacity:1; transform:translateY(-4px); }
}
.vz-chat-placeholder-text{
  font-size:16px;
  line-height:1.5;
  max-width:46ch;
  margin:0 auto 32px;
  color:var(--vz-ink);
  opacity:0.75;
}
.vz-chat-placeholder-meta{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:0.18em;
  display:flex;
  justify-content:space-between;
  border-top:1px solid var(--vz-ink);
  padding-top:14px;
  max-width:380px;
  margin:0 auto;
  opacity:0.6;
}

/* Rules strip */
.vz-chat-rules{
  border-top:1.5px solid var(--vz-ink);
  background:var(--vz-paper-2);
  padding:16px 0;
}
.vz-chat-rules-list{
  display:flex;
  gap:32px;
  list-style:none;
  margin:0;
  padding:0;
  justify-content:center;
  flex-wrap:wrap;
  font-size:13px;
}
.vz-chat-rules-list li{
  display:flex;
  align-items:center;
  gap:8px;
}
.vz-chat-rules-list .vz-mono{
  font-size:10px;
  letter-spacing:0.16em;
  background:var(--vz-ink);
  color:var(--vz-lime);
  padding:3px 6px;
  font-weight:600;
}

/* Compact footer */
.vz-chat-footer{
  background:var(--vz-ink);
  color:var(--vz-paper);
  padding:18px 0;
}
.vz-chat-footer-inner{
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:0.16em;
  flex-wrap:wrap;
  gap:14px;
  opacity:0.7;
}
.vz-chat-footer-links{
  display:flex;
  gap:24px;
}
.vz-chat-footer-links a{
  color:var(--vz-paper);
  text-decoration:none;
  transition:color .15s;
}
.vz-chat-footer-links a:hover{
  color:var(--vz-lime);
}

@media (max-width: 768px){
  .vz-top--chat .vz-top-inner{
    grid-template-columns: auto 1fr auto;
    gap:12px;
  }
  .vz-chat-status{
    justify-content:flex-end;
  }
  .vz-chat-status .vz-mono{ font-size:10px; }
  .vz-chat-back{
    display:none;
  }
  .vz-chat-stage{ padding:24px 16px; }
  .vz-chat-placeholder{ padding:14px; }
  .vz-chat-placeholder::before{ inset:6px; }
  .vz-chat-placeholder-frame{ padding:36px 20px 28px; }
  .vz-chat-placeholder-cam{ width:120px; margin-bottom:24px; }
  .vz-chat-rules-list{ gap:14px; font-size:12px; }
  .vz-chat-footer-inner{ flex-direction:column; align-items:center; text-align:center; }
}

@media (prefers-reduced-motion: reduce){
  .vz-chat-placeholder-lens,
  .vz-chat-rec,
  .vz-dots span,
  .vz-chat-pulse{
    animation: none;
  }
}
