/* Gigafibra — estilos da home. Tokens em tokens.css (fonte: Figma). */
body{margin:0;font-family:'Open Sans',system-ui,-apple-system,sans-serif;color:var(--color-text-primary);background:var(--color-bg-page);font-size:16px;line-height:24px;-webkit-font-smoothing:antialiased}
a{color:var(--color-text-primary)}a:hover{color:var(--color-text-brand)}
html{scroll-behavior:smooth}
.topbar{position:sticky;top:0;z-index:30;background:var(--color-bg-surface);border-bottom:1px solid var(--color-border-default)}
.nav{display:flex;flex-wrap:wrap;gap:4px 24px;margin-left:auto}
.nav a{text-decoration:none;font-weight:600;font-size:14px;line-height:20px;padding:6px 0}.nav a:hover{color:var(--color-text-brand)}
.menu-btn{display:none;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 12px;border-radius:12px;border:1.5px solid var(--color-border-strong);background:var(--color-bg-surface);color:var(--color-text-primary);font:inherit;font-weight:600;font-size:14px;cursor:pointer}
.nav{order:1}.hdr-cta{order:2}.hdr-wa{order:3}
@media (max-width:860px){.menu-btn{display:inline-flex;margin-left:auto}.nav{order:9;display:none;width:100%;flex-direction:column;gap:0;margin-left:0;border-top:1px solid var(--color-border-default);padding-top:8px}.nav.nav-open{display:flex}.nav a{padding:10px 0}.wa-text{display:none}.btn.hdr-cta{display:none}}
.foot a{color:var(--color-text-on-ink-muted);text-decoration:none;font-size:14px;line-height:20px}.foot a:hover{color:var(--color-text-on-ink)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:52px;padding:0 20px;border-radius:12px;font:inherit;font-weight:700;font-size:16px;line-height:20px;text-decoration:none;cursor:pointer;border:1.5px solid transparent;box-sizing:border-box;transition:background .15s ease,border-color .15s ease,color .15s ease,filter .15s ease}
.btn-md{height:44px;padding:0 16px}
.btn-primary{color:var(--color-text-on-ink)}.btn-primary:hover{color:var(--color-text-on-ink);filter:brightness(.92)}
.btn-secondary{background:var(--color-bg-surface);color:var(--color-text-primary);border-color:var(--color-border-strong)}.btn-secondary:hover{background:var(--color-bg-muted);color:var(--color-text-primary)}
.btn-ghost{background:transparent;color:var(--color-text-brand)}.btn-ghost:hover{background:var(--color-bg-brand-subtle);color:var(--color-text-brand)}
.btn-inverse{background:transparent;color:var(--color-text-on-ink);border-color:var(--color-border-on-ink)}.btn-inverse:hover{color:var(--color-text-on-ink);border-color:var(--white)}
.btn-wa{background:var(--color-whatsapp);color:var(--color-text-on-ink);border-color:var(--color-whatsapp)}.btn-wa:hover{color:var(--color-text-on-ink);background:var(--color-whatsapp-pressed);border-color:var(--color-whatsapp-pressed)}
.field{width:100%;box-sizing:border-box;height:52px;padding:0 16px;border:1.5px solid var(--color-border-strong);border-radius:12px;font:inherit;font-size:16px;line-height:24px;color:var(--color-text-primary);background:var(--color-bg-surface)}
.field::placeholder{color:var(--color-text-muted)}.field:focus{outline:none;border:2px solid var(--color-border-brand);padding:0 15.5px}
.chip{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:44px;padding:0 16px;border-radius:999px;font:inherit;font-weight:600;font-size:14px;line-height:20px;cursor:pointer;box-sizing:border-box;background:var(--color-bg-surface);border:1.5px solid var(--color-border-strong);color:var(--color-text-primary);transition:background .15s ease,border-color .15s ease}
.chip-on{background:var(--color-bg-brand-subtle);border:2px solid var(--color-border-brand);color:var(--color-text-brand)}
.plan{background:var(--color-bg-surface);border:1.5px solid var(--color-border-default);border-radius:16px;padding:24px;display:flex;flex-direction:column;box-sizing:border-box;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}
.plan:hover{border-color:var(--color-border-strong)}
.plan-on{background:var(--color-bg-brand-subtle);border-color:var(--color-border-brand);box-shadow:inset 0 0 0 .5px var(--brand-500)}
.card-link{text-decoration:none;color:var(--color-text-primary);background:var(--color-bg-surface);border:1.5px solid var(--color-border-default);border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:8px;min-height:188px;box-sizing:border-box;transition:border-color .15s ease}
.card-link:hover{color:var(--color-text-primary);border-color:var(--color-border-brand)}
.faq{border-top:1px solid var(--color-border-default)}
.faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0;font-weight:600;font-size:16px;line-height:24px}
.faq summary::-webkit-details-marker{display:none}
.faq summary svg{flex:none;transition:transform .2s ease}
.faq[open] summary svg{transform:rotate(45deg)}
.faq p{margin:0 0 18px;color:var(--color-text-secondary);max-width:64ch}
:focus-visible{outline:3px solid var(--color-border-brand);outline-offset:3px}
.check{list-style:none;margin:20px 0 24px;padding:0;display:flex;flex-direction:column;gap:10px;font-size:14px;line-height:20px;color:var(--color-text-secondary)}
.plan-desc{margin:8px 0 0;color:var(--color-text-secondary);font-size:14px;line-height:20px;min-height:40px}
.plan .btn{margin-top:auto;width:100%}
.check li{display:flex;gap:8px;align-items:flex-start}
.check svg{flex:none;margin-top:2px}
.bar{height:10px;border-radius:999px;min-width:8px;transition:width .5s cubic-bezier(.2,.7,.2,1)}
@keyframes rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.rise{animation:rise .7s cubic-bezier(.2,.7,.2,1) both}.d2{animation-delay:.18s}
@keyframes pulse{from{stroke-dashoffset:140}to{stroke-dashoffset:-1500}}
.pulse{stroke-dasharray:140 1800;stroke-dashoffset:140;animation:pulse 3.2s cubic-bezier(.4,0,.6,1) .4s 2 forwards}
@media (prefers-reduced-motion:reduce){.rise{animation:none}.pulse{animation:none;stroke-dashoffset:-1500}html{scroll-behavior:auto}}

/* --- estado controlado por home.js --- */
.jsif{display:contents}
[hidden]{display:none !important}
