/* Vionor · www.vionor.com.br · v2 (20/10/2026). Manrope, self-hosted (SIL Open Font License 1.1: fonts/manrope/OFL.txt).
   Static HTML + CSS only: no scripts, no inline styles, no external requests. */
@font-face {
  font-family: Manrope;
  font-style: normal;
  font-display: swap;
  font-weight: 200 800;
  src: url("fonts/manrope/manrope-latin-wght-normal.woff2") format("woff2-variations");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: Manrope;
  font-style: normal;
  font-display: swap;
  font-weight: 200 800;
  src: url("fonts/manrope/manrope-latin-ext-wght-normal.woff2") format("woff2-variations");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Tokens (brand sheet v0.9). WCAG contrast:
   Light: ink #1B2430 on #F4F6F7 14.4; muted #5B6672 on #FFFFFF 5.9, on #F4F6F7 5.4; Norte #0E6473 on #FFFFFF 6.8, on #F4F6F7 6.3,
          on #E3F1F3 5.9; white on Norte 6.8; open #2E7D4F on white 5.1; Baixado #9A6B12 on white 4.7.
   Dark band (Grafite #1B2430): #E6EAEE 13.0; #A9B4BE 7.4; Norte claro #3FA9BC 5.7; on card #232E3B: 11.4 / 6.5 / 5.0.
   Dark scheme: ink #E6EAEE on #0B0F12 16; muted #98A4AF on #12181D 7.0; Norte claro on #0B0F12 7.0, on #12181D 6.5;
          #0B0F12 on Norte claro 7.0; open #5DBB84 on #12181D 7.6; Baixado #E0AE4A on #12181D 8.8.
   Status is never colour alone: every pill carries the word. */
:root{
  --bg:#F4F6F7; --surface:#FFFFFF; --ink:#1B2430; --muted:#5B6672; --line:#D8DEE3; --line-2:#E7EBEE;
  --accent:#0E6473; --accent-ink:#FFFFFF; --accent-soft:#E3F1F3;
  --paid:#9A6B12; --open:#2E7D4F;
  --dk-bg:#1B2430; --dk-card:#232E3B; --dk-ink:#E6EAEE; --dk-muted:#A9B4BE; --dk-line:#33404E; --dk-accent:#3FA9BC;
  --shadow:0 1px 2px rgba(27,36,48,.06),0 12px 32px -8px rgba(27,36,48,.16);
  --r:14px;
}
@media (prefers-color-scheme: dark){
  :root{
    --bg:#0B0F12; --surface:#12181D; --ink:#E6EAEE; --muted:#98A4AF; --line:#2A343E; --line-2:#1E262D;
    --accent:#3FA9BC; --accent-ink:#0B0F12; --accent-soft:#153238;
    --paid:#E0AE4A; --open:#5DBB84;
    --dk-bg:#12181D; --dk-card:#182027; --dk-ink:#E6EAEE; --dk-muted:#98A4AF; --dk-line:#2A343E; --dk-accent:#3FA9BC;
    --shadow:0 1px 2px rgba(0,0,0,.4),0 16px 40px -12px rgba(0,0,0,.6);
  }
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Manrope,"Segoe UI",Helvetica,Arial,sans-serif;font-size:17px;line-height:1.6;overflow-wrap:break-word;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{max-width:100%}
a{color:var(--accent);text-underline-offset:3px}
a:hover{text-decoration-thickness:2px}
a:focus-visible,summary:focus-visible,.scroll:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:6px}
h1,h2,h3{line-height:1.2;letter-spacing:-.02em;margin:0;text-wrap:balance}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
.nw{white-space:nowrap}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.defs{position:absolute;width:0;height:0;overflow:hidden}
.skip{position:absolute;left:16px;top:-48px;background:var(--surface);padding:8px 12px;border-radius:6px;z-index:20}
.skip:focus{top:8px}
.dot{fill:var(--accent)}
.ic{fill:none;stroke:currentColor;stroke-width:16;stroke-linecap:round;stroke-linejoin:round;flex:none}

.wrap{width:100%;max-width:1200px;margin:0 auto;padding:0 16px}
section{padding:64px 0}
section[id]{scroll-margin-top:16px}
.band{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.eyebrow{font-size:12.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:12px}
.sec-head{margin-bottom:32px}
section h2{font-size:clamp(26px,3vw,36px);font-weight:700}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:var(--accent-ink);font-weight:700;text-decoration:none;padding:12px 22px;border-radius:10px;min-height:48px;border:2px solid var(--accent);line-height:1.2}
.btn:hover{filter:brightness(1.1)}
.btn-sm{min-height:40px;padding:8px 16px;font-size:15px}
.btn-ghost{background:transparent;color:var(--accent)}
.btn-ghost:hover{background:var(--accent-soft);filter:none}
.btn-inv{background:var(--accent-ink);color:var(--accent);border-color:var(--accent-ink)}
.cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:28px}

/* Header */
.top{background:var(--bg);border-bottom:1px solid var(--line);position:relative;z-index:10}
.top-in{display:flex;align-items:center;gap:12px;min-height:64px;flex-wrap:wrap}
.brand{display:inline-flex;color:var(--ink);padding:6px 0;margin-right:auto}
.logo{display:block;width:112px;height:auto}
.nav{display:none}
.nav ul{display:flex;gap:4px}
.nav a,.menu a{color:var(--ink);text-decoration:none;font-weight:600;font-size:15px}
.nav a{display:block;padding:8px 12px;border-radius:8px}
.nav a:hover{background:var(--surface);color:var(--accent)}
.top-act{display:flex;align-items:center;gap:8px}
.enter{font-weight:700;font-size:15px;padding:8px 10px;text-decoration:none}
.enter:hover{text-decoration:underline}
.top-act .btn{display:none}
.menu{order:3}
.menu summary{list-style:none;display:flex;align-items:center;gap:6px;cursor:pointer;font-weight:700;font-size:15px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;min-height:44px;background:var(--surface)}
.menu summary::-webkit-details-marker{display:none}
.menu[open] summary{border-color:var(--accent);color:var(--accent)}
.menu nav{position:absolute;left:0;right:0;top:100%;background:var(--surface);border-bottom:1px solid var(--line);box-shadow:var(--shadow);padding:8px 16px 16px}
.menu nav a{display:block;padding:12px 4px;border-bottom:1px solid var(--line-2);font-size:17px}

/* Hero */
.hero{padding:40px 0 56px;background:
  linear-gradient(180deg,transparent 0,var(--bg) 92%),
  repeating-linear-gradient(0deg,var(--line-2) 0 1px,transparent 1px 44px),
  repeating-linear-gradient(90deg,var(--line-2) 0 1px,transparent 1px 44px)}
.hero-in{display:grid;gap:40px;align-items:center}
.hero-text{min-width:0}
.hero h1{font-size:clamp(28px,7.4vw,46px);font-weight:700;letter-spacing:-.025em;line-height:1.14;text-wrap:pretty}
.h1b{font-weight:500;color:var(--muted)}
.lead{font-size:clamp(19px,4.8vw,22px);font-weight:700;color:var(--accent);margin-top:20px}
.hero-note{color:var(--muted);margin-top:24px;max-width:58ch}
.pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.pills li{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:5px 12px 5px 10px}
.pills li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent)}

/* Product visual (hero) */
.app{margin:0;min-width:0}
.app-win{background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);overflow:hidden;font-size:14px;line-height:1.35;font-variant-numeric:tabular-nums}
.app-bar{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--dk-bg);color:var(--dk-ink);flex-wrap:wrap}
.app-bar .dot{fill:var(--dk-accent)}
.app-mk{flex:none;width:18px;height:18px}
.app-bar b{font-weight:700;letter-spacing:-.02em}
.app-ctx{color:var(--dk-muted);font-size:13px;margin-right:auto}
.tag{display:inline-block;font-weight:700;font-size:12.5px;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:1px 10px;white-space:nowrap;letter-spacing:0;text-transform:none}
.tag-bar{color:var(--dk-ink);border-color:var(--dk-muted)}
.app-tabs{display:flex;gap:4px;padding:10px 14px 0;border-bottom:1px solid var(--line);overflow:hidden;white-space:nowrap;-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent)}
.app-tabs span{padding:8px 10px;font-weight:600;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px}
.app-tabs .on{color:var(--accent);border-bottom-color:var(--accent);font-weight:700}
.app-tabs i{font-style:normal;font-size:12px;font-weight:700;background:var(--bg);border-radius:999px;padding:0 6px;margin-left:4px}
.app-tabs .on i{background:var(--accent-soft)}
.app-kpis{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:14px}
.app-kpis div{background:var(--bg);border:1px solid var(--line-2);border-radius:10px;padding:8px 12px}
.app-kpis .k-wide{grid-column:1/-1}
.app-kpis small{display:block;font-size:12px;font-weight:600;color:var(--muted)}
.app-kpis b{font-size:19px;font-weight:700;letter-spacing:-.01em}
.app-sort{padding:0 14px 6px;font-size:12px;font-weight:600;color:var(--muted)}
.app-list{padding:0 14px 14px}
.row{display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:center;padding:10px 8px;border-top:1px solid var(--line-2)}
.row.on{background:var(--accent-soft);border-radius:10px 10px 0 0;border-top-color:transparent;box-shadow:inset 3px 0 0 var(--accent)}
.rn{width:24px;height:24px;border-radius:50%;background:var(--bg);color:var(--muted);font-weight:700;font-size:12px;display:flex;align-items:center;justify-content:center}
.row.on .rn{background:var(--accent);color:var(--accent-ink)}
.rt{min-width:0}
.rt b{display:block;font-weight:700}
.rt small{display:block;font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rv{display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.rv b{font-weight:700;white-space:nowrap}
.proof{border:1px solid var(--accent-soft);border-top:0;border-radius:0 0 10px 10px;padding:10px 12px 12px;margin-bottom:6px;box-shadow:inset 3px 0 0 var(--accent)}
.proof-h{font-size:11.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:6px}
.proof-g{display:grid;grid-template-columns:auto 1fr 1fr;gap:5px 12px;align-items:center;font-size:13px}
.proof-g>span:nth-child(3n+1){color:var(--muted);font-weight:600}
.proof-g b{font-size:12px;color:var(--muted);font-weight:700}
.proof-g .st{justify-self:start}
.app figcaption{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:14px;font-weight:600;color:var(--muted);margin-top:12px}
.row-x{display:none}

/* Status pills (word + colour) */
.st{display:inline-block;font-weight:700;font-size:12.5px;line-height:1.5;border:1.5px solid currentColor;border-radius:999px;padding:0 8px;white-space:nowrap}
.st-paid{color:var(--paid)}
.st-open{color:var(--open)}

/* Para quem */
.who{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:28px 0}
.who-in{display:grid;gap:14px}
.who h2{font-size:12.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.who ul{display:grid;gap:10px}
.who li{position:relative;padding-left:22px;font-weight:600;line-height:1.4}
.who li::before{content:"";position:absolute;left:2px;top:.42em;width:9px;height:9px;border-radius:50%;background:var(--accent)}

/* Cards */
.cards{display:grid;gap:16px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:24px;position:relative}
.card::after{content:"";position:absolute;left:24px;right:24px;top:-1px;height:3px;border-radius:0 0 3px 3px;background:var(--accent);opacity:.9}
.num{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-weight:800;font-size:16px;margin-bottom:16px}
.card h3{font-size:20px;font-weight:700;margin-bottom:8px}
.card p{color:var(--ink)}
.fine{color:var(--muted);font-size:15.5px;margin-top:24px;max-width:78ch;border-left:3px solid var(--line);padding-left:14px}

/* Steps */
.steps{display:grid;gap:28px;counter-reset:s}
.steps li{counter-increment:s;position:relative;padding-left:56px}
.steps li::before{content:counter(s);position:absolute;left:0;top:-4px;width:40px;height:40px;border-radius:50%;background:var(--accent);color:var(--accent-ink);font-weight:800;display:flex;align-items:center;justify-content:center}
.steps li:not(:last-child)::after{content:"";position:absolute;left:19px;top:44px;bottom:-24px;width:2px;background:var(--line)}
.steps h3{font-size:20px;font-weight:700;margin-bottom:6px}

/* Deliverables */
.split{display:grid;gap:40px}
.split-text{min-width:0}
.kicker{font-size:21px;font-weight:700;color:var(--accent);margin:12px 0 24px}
.sec-head .kicker{margin-bottom:0}
.gets{display:grid;gap:12px}
.gets li{display:flex;gap:16px;align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 16px}
.gets .ic{width:40px;height:40px;color:var(--accent);background:var(--accent-soft);border-radius:10px;padding:8px;stroke-width:18}
.gets p{padding-top:6px}
.sheet{margin:0;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);overflow:hidden;min-width:0}
.sheet-bar{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--bg);border-bottom:1px solid var(--line)}
.sheet-bar .ic{width:20px;height:20px;color:var(--accent);stroke-width:20}
.sheet figcaption{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 12px;font-weight:700;font-size:15px;flex:1}
.sheet-body{padding:16px}
.sheet-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 12px;font-size:14px;margin-bottom:8px}
.sheet-head span{color:var(--muted)}
.sheet-head-2{margin-top:24px}
.scroll{overflow-x:auto;max-width:100%}
table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.4;font-variant-numeric:tabular-nums;background:var(--surface)}
th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line-2);vertical-align:top}
thead th{font-size:12.5px;color:var(--muted);font-weight:700;border-bottom:2px solid var(--line);background:var(--bg)}
tbody th,tfoot th{font-weight:600;color:var(--muted)}
tbody tr:nth-child(even) td,tbody tr:nth-child(even) th{background:color-mix(in srgb,var(--bg) 55%,transparent)}
tfoot th,tfoot td{font-weight:800;color:var(--ink);border-top:2px solid var(--line);border-bottom:0}
.n{text-align:right;white-space:nowrap}
.pair td{width:40%}

/* Security (dark band) */
.dark{background:var(--dk-bg);color:var(--dk-ink)}
.dark .eyebrow{color:var(--dk-accent)}
.dark a{color:var(--dk-accent)}
.facts{display:grid;gap:16px}
.facts li{background:var(--dk-card);border:1px solid var(--dk-line);border-radius:var(--r);padding:24px}
.facts .ic{width:52px;height:52px;color:var(--dk-accent);background:color-mix(in srgb,var(--dk-accent) 12%,transparent);border-radius:14px;padding:10px;stroke-width:17;margin-bottom:18px}
.facts h3{font-size:19px;font-weight:700;margin-bottom:6px}
.facts p{color:var(--dk-muted)}

/* FAQ */
.faq{display:grid;gap:10px;max-width:860px}
.faq details{background:var(--bg);border:1px solid var(--line);border-radius:12px}
.faq details[open]{border-color:var(--accent)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;font-weight:700;font-size:17px;line-height:1.35}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:10px;height:10px;border-right:2.5px solid var(--accent);border-bottom:2.5px solid var(--accent);transform:translateY(-3px) rotate(45deg);transition:transform .15s}
.faq details[open] summary::after{transform:translateY(2px) rotate(-135deg)}
.faq details p{padding:0 18px 18px;color:var(--muted);max-width:68ch}

/* Close */
.close{padding:64px 0}
.close-panel{background:var(--accent);color:var(--accent-ink);border-radius:20px;padding:32px 24px;display:grid;gap:28px;position:relative;overflow:hidden}
.close-panel::before{content:"";position:absolute;right:-60px;bottom:-60px;width:220px;height:220px;border-radius:50%;border:40px solid currentColor;opacity:.07}
.close-main{position:relative}
.close .eyebrow{color:inherit;opacity:.85}
.close h2{font-size:clamp(28px,4.2vw,44px);letter-spacing:-.025em}
.close-main>p:not(.eyebrow):not(.cta-row){margin-top:14px;font-size:18px;max-width:52ch}
.close .mail{color:inherit;font-weight:700}
.founder{position:relative;border:1.5px solid currentColor;border-color:color-mix(in srgb,currentColor 45%,transparent);border-radius:14px;padding:20px}
.founder h3{font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px}
.founder p{font-size:19px;font-weight:700;line-height:1.4}

/* Footer */
.foot{background:var(--surface);border-top:1px solid var(--line);padding:40px 0 32px;font-size:15px;color:var(--muted)}
.foot-grid{display:grid;gap:28px}
.parent{display:block;width:190px;height:auto;color:var(--ink)}
.foot-brand p{margin-top:8px}
.foot-line{color:var(--ink);font-weight:700}
.foot-col h2{font-size:12.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);margin-bottom:10px}
.foot-col li{margin-bottom:6px}
.foot-col a{color:var(--muted);text-decoration:none}
.foot-col a:hover{color:var(--accent);text-decoration:underline}
.legal{margin-top:32px;padding-top:20px;border-top:1px solid var(--line);font-size:13.5px;display:flex;flex-wrap:wrap;gap:4px 0}
.legal p:not(:last-child)::after{content:"·";margin:0 10px}

@media (min-width:560px){
  .top-act .btn{display:inline-flex}
  .app-kpis{grid-template-columns:1fr 1fr 1.6fr}
  .app-kpis .k-wide{grid-column:auto}
  .row-x{display:grid}
}
@media (min-width:760px){
  .wrap{padding:0 32px}
  section{padding:88px 0}
  .who{padding:28px 0}
  .who-in{grid-template-columns:auto 1fr;align-items:center;gap:32px}
  .who ul{grid-template-columns:repeat(4,auto);gap:12px 28px;justify-content:start}
  .logo{width:132px}
  .cards{grid-template-columns:repeat(3,1fr);gap:20px}
  .steps{grid-template-columns:repeat(3,1fr);gap:32px}
  .steps li{padding-left:0;padding-top:60px}
  .steps li:not(:last-child)::after{left:52px;right:-24px;top:19px;bottom:auto;width:auto;height:2px}
  .facts{grid-template-columns:repeat(2,1fr);gap:20px}
  .close-panel{padding:48px;grid-template-columns:1.6fr 1fr;align-items:center;gap:40px}
  .foot-grid{grid-template-columns:2fr 1fr 1fr;gap:40px}
  .parent{width:214px}
}
@media (min-width:1080px){
  .top{position:sticky;top:0;background:color-mix(in srgb,var(--bg) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
  section[id]{scroll-margin-top:80px}
  .top-in{min-height:72px;flex-wrap:nowrap;gap:24px}
  .brand{margin-right:0}
  .nav{display:block;margin-right:auto}
  .menu{display:none}
  .hero{padding:72px 0 96px}
  .hero-in{grid-template-columns:minmax(0,1.22fr) minmax(0,1fr);gap:48px}
  .hero h1{font-size:40px}
  .split{grid-template-columns:5fr 6fr;gap:56px;align-items:start}
  .split .sheet{position:sticky;top:96px}
  .sheet-body{padding:20px}
  .facts{grid-template-columns:repeat(4,1fr)}
}
@media (max-width:359px){
  .enter{padding:8px 4px}
  .menu summary span{display:none}
}

/* Privacy page */
.doc{padding:56px 0 80px}
.doc .wrap{max-width:760px}
.doc h1{font-size:clamp(30px,6vw,40px);font-weight:700;margin-bottom:8px}
.doc .date{color:var(--muted);margin-bottom:32px}
.doc h2{font-size:19px;font-weight:700;color:var(--accent);margin:36px 0 8px}
.doc p,.doc li{margin-bottom:12px}
.doc ul{list-style:disc;padding-left:22px;margin-bottom:12px}
.doc .back{margin-top:40px;font-weight:700}
