:root{
    /* Paleta alinhada ao app (src/app/globals.css, tema .dark) */
    --bg: #09090B;
    --panel: #18181B;
    --panel-alt: #202023;
    --line: #3F3F46;
    --line-soft: #27272A;
    --text: #E4E4E7;
    --text-muted: #A1A1AA;
    --primary: #EF4444;
    --primary-dim: #7F1D1D;
    /* Mais escuro que --primary especificamente para texto branco em cima
       (botões sólidos) — #EF4444 com branco dá só 3.76:1, abaixo do 4.5:1
       exigido pelo WCAG AA para texto normal. */
    --primary-btn: #DC2626;
    --primary-btn-hover: #E02929;
    --success: #22C55E;
    --destructive: #DC2626;
    --warning: #F59E0B;
    --radius: 10px;
  }
  *{ box-sizing:border-box; margin:0; padding:0; }
  html{ scroll-behavior:smooth; }
  body{
    background:var(--bg);
    color:var(--text);
    font-family:'Inter', sans-serif;
    font-size:16px;
    line-height:1.5;
    -webkit-font-smoothing:antialiased;
  }
  ::selection{ background:var(--primary); color:#fff; }
  a{ color:inherit; text-decoration:none; }
  img,svg{ display:block; max-width:100%; }
  .mono{ font-family:'IBM Plex Mono', monospace; }
  .display{ font-family:'Space Grotesk', sans-serif; }
  .wrap{ max-width:1180px; margin:0 auto; padding:0 28px; }
  .eyebrow{
    font-family:'IBM Plex Mono', monospace;
    font-size:12px;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--primary);
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-bottom:14px;
  }
  .eyebrow::before{
    content:"";
    width:7px; height:7px;
    background:var(--primary);
    border-radius:1px;
    transform:rotate(45deg);
    flex:none;
  }
  h1,h2,h3{ font-family:'Space Grotesk', sans-serif; font-weight:700; letter-spacing:-.01em; }
  section{ position:relative; }
  .btn{
    display:inline-flex; align-items:center; justify-content:center; gap:8px;
    padding:14px 26px;
    border-radius:7px;
    font-weight:600;
    font-size:15px;
    cursor:pointer;
    border:1px solid transparent;
    transition:transform .15s ease, background .15s ease, border-color .15s ease;
    white-space:nowrap;
  }
  .btn:active{ transform:scale(.97); }
  .btn-primary{ background:var(--primary-btn); color:#fff; }
  .btn-primary:hover{ background:var(--primary-btn-hover); }
  .btn-ghost{ background:transparent; color:var(--text); border-color:var(--line); }
  .btn-ghost:hover{ border-color:var(--primary); color:var(--primary); }

  /* reveal */
  .reveal{ opacity:0; transform:translateY(18px); transition:opacity .6s ease, transform .6s ease; }
  .reveal.in{ opacity:1; transform:translateY(0); }

  /* ---------- NAV ---------- */
  header{
    position:sticky; top:0; z-index:50;
    background:rgba(9,9,11,.85);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line-soft);
  }
  nav{ display:flex; align-items:center; justify-content:space-between; padding:16px 0; }
  .logo{ display:flex; align-items:center; gap:10px; font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:20px; letter-spacing:-.01em; }
  .logo-badge{
    width:28px; height:28px; flex:none;
    display:flex; align-items:center; justify-content:center;
    background:var(--primary); color:#fff;
    border-radius:8px;
  }
  .logo-badge svg{ width:16px; height:16px; }
  .nav-links{ display:flex; gap:32px; font-size:14px; color:var(--text-muted); }
  .nav-links a:hover{ color:var(--text); }
  .nav-actions{ display:flex; align-items:center; gap:14px; }
  .nav-links, .nav-cta-ghost{ display:flex; }
  @media (max-width:860px){
    .nav-links{ display:none; }
    .nav-cta-ghost{ display:none; }
  }

  /* ---------- HERO ---------- */
  .hero{ padding:84px 0 60px; overflow:hidden; }
  .hero-grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:50px; align-items:center; }
  @media (max-width:920px){ .hero-grid{ grid-template-columns:1fr; } }
  .hero h1{ font-size:clamp(34px,4.6vw,54px); line-height:1.06; margin-bottom:20px; }
  .hero h1 .accent{ color:var(--primary); }
  .hero p.lead{ font-size:17px; color:var(--text-muted); max-width:480px; margin-bottom:30px; }
  .hero-ctas{ display:flex; gap:14px; flex-wrap:wrap; margin-bottom:16px; }
  .hero-note{ font-size:12.5px; color:var(--text-muted); font-family:'IBM Plex Mono',monospace; }

  /* trust strip */
  .trust{ border-top:1px solid var(--line-soft); border-bottom:1px solid var(--line-soft); padding:26px 0; margin-top:64px; }
  .trust-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; text-align:center; }
  @media (max-width:700px){ .trust-grid{ grid-template-columns:1fr; gap:26px; } }
  .trust-num{ font-family:'IBM Plex Mono',monospace; font-size:clamp(24px,3vw,32px); font-weight:600; color:var(--primary); }
  .trust-label{ font-size:13px; color:var(--text-muted); margin-top:4px; }

  /* ---------- HERO SIGNATURE: gauge + ticket ---------- */
  .signature{ position:relative; display:flex; align-items:center; justify-content:center; min-height:380px; }
  .gauge-card{
    background:var(--panel);
    border:1px solid var(--line);
    border-radius:16px;
    padding:26px 26px 22px;
    width:320px;
    box-shadow:0 30px 60px -20px rgba(0,0,0,.6);
  }
  .gauge-top{ display:flex; justify-content:space-between; align-items:center; margin-bottom:6px; }
  .gauge-top .label{ font-size:12px; color:var(--text-muted); font-family:'IBM Plex Mono',monospace; text-transform:uppercase; letter-spacing:.08em; }
  .gauge-top .dot{ width:8px; height:8px; border-radius:50%; background:var(--success); box-shadow:0 0 0 3px rgba(34,197,94,.18); }
  .gauge-svg{ width:100%; height:auto; }
  .gauge-needle{
    transform-origin:120px 120px;
    transform:rotate(-90deg);
    transition:transform 1.4s cubic-bezier(.2,.9,.25,1);
  }
  .gauge-arc-value{
    stroke:var(--primary);
    stroke-dashoffset:100;
    transition:stroke-dashoffset 1.4s cubic-bezier(.2,.9,.25,1);
  }
  .signature.in .gauge-needle{ transform:rotate(39.6deg); }
  .signature.in .gauge-arc-value{ stroke-dashoffset:28; }
  .gauge-readout{ text-align:center; margin-top:-6px; }
  .gauge-readout .figure{ font-family:'IBM Plex Mono',monospace; font-size:26px; font-weight:600; }
  .gauge-readout .sub{ font-size:12px; color:var(--text-muted); margin-top:2px; }

  .ticket{
    position:absolute;
    right:-14px; bottom:-28px;
    width:220px;
    background:#EDE7D8;
    color:#242017;
    border-radius:4px;
    padding:16px 16px 14px;
    transform:rotate(-4deg);
    box-shadow:0 24px 40px -14px rgba(0,0,0,.55);
  }
  .ticket::before{
    content:"";
    position:absolute; top:0; left:0; right:0; height:8px;
    background-image:radial-gradient(circle, var(--bg) 3px, transparent 3.2px);
    background-size:14px 8px;
    background-repeat:repeat-x;
    background-position:0 -4px;
  }
  .ticket-head{ display:flex; justify-content:space-between; align-items:baseline; margin-bottom:8px; }
  .ticket-head .os{ font-family:'IBM Plex Mono',monospace; font-size:11px; font-weight:600; letter-spacing:.03em; }
  .ticket-status{
    font-family:'IBM Plex Mono',monospace;
    font-size:9.5px; font-weight:600; letter-spacing:.05em;
    background:var(--primary); color:#fff;
    padding:3px 6px; border-radius:3px;
  }
  .ticket-row{ display:flex; justify-content:space-between; font-size:12px; padding:4px 0; border-bottom:1px dashed rgba(36,32,23,.2); }
  .ticket-row:last-child{ border-bottom:none; }
  .ticket-row .k{ color:rgba(36,32,23,.6); }
  .ticket-row .v{ font-family:'IBM Plex Mono',monospace; font-weight:600; }
  @media (max-width:920px){ .ticket{ right:6px; bottom:-20px; } }
  @media (max-width:480px){ .gauge-card{ width:100%; max-width:320px; } .ticket{ width:190px; right:-4px; } }

  /* ---------- SECTION HEADS ---------- */
  .section-head{ max-width:640px; margin-bottom:48px; }
  .section-head h2{ font-size:clamp(26px,3.4vw,38px); margin-bottom:14px; }
  .section-head p{ color:var(--text-muted); font-size:16px; }
  .section-pad{ padding:96px 0; }
  .section-pad + .section-pad{ border-top:1px solid var(--line-soft); }

  /* ---------- STATIONS (features) ---------- */
  .stations{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line-soft); border:1px solid var(--line-soft); border-radius:14px; overflow:hidden; }
  @media (max-width:860px){ .stations{ grid-template-columns:repeat(2,1fr); } }
  @media (max-width:560px){ .stations{ grid-template-columns:1fr; } }
  .station{ background:var(--panel); padding:32px 26px; transition:background .2s ease; }
  .station:hover{ background:var(--panel-alt); }
  .station-icon{ width:38px; height:38px; margin-bottom:20px; color:var(--primary); }
  .station-icon svg{ width:100%; height:100%; }
  .station h3{ font-size:18px; margin-bottom:8px; }
  .station p{ font-size:14px; color:var(--text-muted); }
  .station .tag{ display:inline-block; margin-top:16px; font-family:'IBM Plex Mono',monospace; font-size:11px; color:var(--text-muted); border:1px solid var(--line); padding:3px 8px; border-radius:5px; }

  /* ---------- OS PIPELINE ---------- */
  .pipeline{ position:relative; }
  .pipeline-line{ position:absolute; top:15px; left:0; right:0; height:1px; background:var(--line); }
  .pipeline-track{ display:grid; grid-template-columns:repeat(6,1fr); gap:10px; position:relative; }
  @media (max-width:900px){
    .pipeline-track{ grid-template-columns:1fr; gap:26px; }
    .pipeline-line{ top:0; bottom:0; left:15px; right:auto; width:1px; height:auto; }
  }
  .stage{ display:flex; flex-direction:column; align-items:flex-start; gap:14px; position:relative; }
  @media (max-width:900px){ .stage{ flex-direction:row; align-items:flex-start; } }
  .stage-dot{
    width:31px; height:31px; border-radius:50%;
    background:var(--panel); border:1px solid var(--line);
    display:flex; align-items:center; justify-content:center;
    font-family:'IBM Plex Mono',monospace; font-size:12px; color:var(--text-muted);
    flex:none; z-index:1;
  }
  .stage.active .stage-dot{ background:var(--primary); border-color:var(--primary); color:#fff; }
  .stage h3{ font-size:14px; font-family:'IBM Plex Mono',monospace; text-transform:uppercase; letter-spacing:.03em; }
  .stage p{ font-size:13px; color:var(--text-muted); }

  /* ---------- DASHBOARD PREVIEW ---------- */
  .dash-mockup{
    background:var(--panel);
    border:1px solid var(--line);
    border-radius:16px;
    padding:24px;
  }
  .dash-top{ display:flex; justify-content:space-between; align-items:center; margin-bottom:20px; }
  .dash-dots{ display:flex; gap:6px; }
  .dash-dots span{ width:9px; height:9px; border-radius:50%; background:var(--line); }
  .dash-kpis{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-bottom:20px; }
  @media (max-width:700px){ .dash-kpis{ grid-template-columns:1fr; } }
  .kpi{ background:var(--panel-alt); border:1px solid var(--line-soft); border-radius:10px; padding:16px; }
  .kpi .k-label{ font-size:12px; color:var(--text-muted); font-family:'IBM Plex Mono',monospace; }
  .kpi .k-value{ font-family:'IBM Plex Mono',monospace; font-size:22px; font-weight:600; margin-top:6px; }
  .kpi .k-delta{ font-size:12px; margin-top:4px; }
  .k-delta.up{ color:var(--success); }
  .k-delta.down{ color:var(--destructive); }
  .dash-body{ display:grid; grid-template-columns:1.6fr 1fr; gap:16px; }
  @media (max-width:700px){ .dash-body{ grid-template-columns:1fr; } }
  .chart-card, .ring-card{ background:var(--panel-alt); border:1px solid var(--line-soft); border-radius:10px; padding:16px; }
  .chart-card .cap, .ring-card .cap{ font-size:12px; color:var(--text-muted); font-family:'IBM Plex Mono',monospace; margin-bottom:14px; }
  .bars{ display:flex; align-items:flex-end; gap:8px; height:110px; }
  .bars .bar{ flex:1; background:linear-gradient(180deg,var(--primary),var(--primary-dim)); border-radius:3px 3px 0 0; opacity:.9; }
  .ring-arc-value{ stroke:var(--warning); }
  .ring-wrap{ display:flex; flex-direction:column; align-items:center; justify-content:center; height:100%; }
  .ring-num{ font-family:'IBM Plex Mono',monospace; font-size:20px; font-weight:600; margin-top:-72px; }
  .ring-sub{ font-size:11px; color:var(--text-muted); margin-top:60px; text-align:center; }

  /* ---------- PRICING ---------- */
  .pricing-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; align-items:stretch; }
  .pricing-grid-2{ grid-template-columns:repeat(2,1fr); max-width:680px; margin:0 auto; }
  @media (max-width:900px){ .pricing-grid{ grid-template-columns:1fr; } }
  .plan{ background:var(--panel); border:1px solid var(--line); border-radius:14px; padding:30px 26px; display:flex; flex-direction:column; }
  .plan.featured{ border-color:var(--primary); background:linear-gradient(180deg,rgba(239,68,68,.08),var(--panel) 40%); position:relative; }
  .plan.featured::before{
    content:"MAIS ESCOLHIDO"; position:absolute; top:-12px; left:26px;
    background:var(--primary); color:#fff; font-family:'IBM Plex Mono',monospace;
    font-size:10.5px; font-weight:600; letter-spacing:.06em; padding:4px 9px; border-radius:4px;
  }
  .plan-name{ font-size:13px; font-family:'IBM Plex Mono',monospace; text-transform:uppercase; letter-spacing:.06em; color:var(--text-muted); margin-bottom:10px; }
  .plan-price{ font-family:'Space Grotesk',sans-serif; font-size:36px; font-weight:700; margin-bottom:4px; }
  .plan-price span{ font-size:14px; color:var(--text-muted); font-family:'Inter',sans-serif; font-weight:400; }
  .plan-desc{ font-size:13.5px; color:var(--text-muted); margin-bottom:22px; }
  .plan-features{ list-style:none; display:flex; flex-direction:column; gap:11px; margin-bottom:26px; flex:1; }
  .plan-features li{ font-size:14px; display:flex; gap:10px; align-items:flex-start; }
  .plan-features li svg{ width:16px; height:16px; flex:none; margin-top:3px; color:var(--primary); }
  .plan .btn{ width:100%; }

  /* ---------- FINAL CTA ---------- */
  .final-cta{ text-align:center; padding:100px 0; }
  .final-cta h2{ font-size:clamp(28px,4vw,42px); margin-bottom:18px; }
  .final-cta p{ color:var(--text-muted); margin-bottom:32px; }
  .final-cta .btns{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
  .contact-note{ margin-top:24px !important; font-size:13.5px; color:var(--text-muted); }
  .contact-note a{ color:var(--text); text-decoration:underline; text-underline-offset:2px; }
  .contact-note a:hover{ color:var(--primary); }

  /* ---------- FOOTER ---------- */
  footer{ border-top:1px solid var(--line-soft); padding:56px 0 30px; }
  .foot-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; margin-bottom:44px; }
  @media (max-width:700px){ .foot-grid{ grid-template-columns:1fr; gap:30px; } }
  .foot-brand p{ color:var(--text-muted); font-size:14px; margin-top:12px; max-width:280px; }
  .foot-col h3{ font-family:'IBM Plex Mono',monospace; font-size:12px; text-transform:uppercase; letter-spacing:.06em; color:var(--text-muted); margin-bottom:16px; }
  .foot-col a{ display:block; font-size:14px; color:var(--text); opacity:.85; margin-bottom:10px; }
  .foot-col a:hover{ color:var(--primary); opacity:1; }
  .foot-bottom{ display:flex; justify-content:space-between; align-items:center; padding-top:24px; border-top:1px solid var(--line-soft); font-size:12.5px; color:var(--text-muted); font-family:'IBM Plex Mono',monospace; flex-wrap:wrap; gap:12px; }