/* Hexvia Next · páginas públicas (landing, login, metodologia, contestar; tokens também em singularity).
   Mesma identidade do app: grafite por padrão (HexviaTheme/theme-init.js põe .dark.graphite no body), acento pêssego, Manrope + DM Sans embarcadas.
   Hex só aparece nos blocos de token abaixo; todo o resto usa var(--hx-*). Claro = body.pn sem .dark; marinho = .dark; grafite = .dark.graphite. */
body.pn{
 --hx-paper:#faf8f4;--hx-surface:#ffffff;--hx-raised:#f6eee7;--hx-ink:#101c28;--hx-muted:#566775;--hx-line:#cbd2d8;--hx-field-line:#7f8b97;
 --hx-action:#172634;--hx-action-ink:#ffffff;--hx-accent:#8f4a22;--hx-signal:#e6a27c;--hx-focus:#b7744b;
 --hx-info:#0b6b78;--hx-violet:#5b49a6;--hx-ok:#285d40;--hx-warn:#8f6743;--hx-danger:#903d2f;
 --hx-k1:#b7744b;--hx-k2:#0b6b78;--hx-k3:#6550b0;--hx-k4:#285d40;
 --hx-isle:#101c28;--hx-isle-ink:#f5f3ee;--hx-isle-muted:#aebeca;--hx-isle-line:#344654;--hx-isle-accent:#e6a27c;
 --hx-glow:#0b6b7814;--hx-shadow:0 18px 40px -26px #101c2840;
 --hx-display:'Manrope','DM Sans',system-ui,sans-serif;--hx-text-font:'DM Sans',system-ui,sans-serif;
 /* aliases para as regras de public-pages.css (metodologia/contestar) */
 --bg:var(--hx-paper);--panel:var(--hx-surface);--panel2:var(--hx-raised);--line:var(--hx-line);--ink:var(--hx-ink);--muted:var(--hx-muted);
 --accent:var(--hx-accent);--accent-ink:var(--hx-action-ink);--focus:var(--hx-focus);--ok:var(--hx-ok);--warn:var(--hx-warn);--fal:var(--hx-danger);--rj:var(--hx-info);--ext:var(--hx-violet);--tc:var(--hx-warn);
 --radius:14px;color-scheme:light}
body.pn.dark{
 --hx-paper:#0d1620;--hx-surface:#172634;--hx-raised:#233645;--hx-ink:#f5f3ee;--hx-muted:#a6b5c1;--hx-line:#344654;--hx-field-line:#60788b;
 --hx-action:#e6a27c;--hx-action-ink:#101c28;--hx-accent:#e6a27c;--hx-signal:#e6a27c;--hx-focus:#f0c4a9;
 --hx-info:#6cdddd;--hx-violet:#b6a4ff;--hx-ok:#90dfb9;--hx-warn:#e0b983;--hx-danger:#e5a198;
 --hx-k1:#e6a27c;--hx-k2:#6cdddd;--hx-k3:#b6a4ff;--hx-k4:#90dfb9;
 --hx-isle:#0a131c;--hx-glow:#6cdddd12;--hx-shadow:0 18px 40px -24px #000c;color-scheme:dark}
body.pn.dark.graphite{
 --hx-paper:#0d1015;--hx-surface:#151a21;--hx-raised:#1d232b;--hx-ink:#eef2f7;--hx-muted:#a3adba;--hx-line:#2e3541;--hx-field-line:#69737f;
 --hx-action:#ffb184;--hx-action-ink:#15110e;--hx-accent:#ffb184;--hx-signal:#ffb184;--hx-focus:#ffc9a8;
 --hx-k1:#ffb184;
 --hx-isle:#090c10;--hx-isle-accent:#ffb184;--hx-glow:#6cdddd10;--hx-shadow:0 18px 40px -24px #000d}

/* ---- base ---- */
body.pn *,body.pn *::before,body.pn *::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body.pn{margin:0;background:radial-gradient(ellipse at 72% 0,var(--hx-glow),transparent 55%),var(--hx-paper);color:var(--hx-ink);font:400 16px/1.6 var(--hx-text-font);-webkit-font-smoothing:antialiased}
body.pn a{color:var(--hx-accent);text-underline-offset:3px}
body.pn a:hover{text-decoration-thickness:2px}
body.pn :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--hx-focus);outline-offset:3px;border-radius:6px}
body.pn main:focus{outline:none}
body.pn [hidden]{display:none!important}
.pn .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pn .skip-link{position:absolute;left:-999px;top:8px;background:var(--hx-action);color:var(--hx-action-ink);padding:10px 14px;border-radius:8px;z-index:30;font-weight:600}
.pn .skip-link:focus{left:12px}
.pn :is(h1,h2,h3){font-family:var(--hx-display);margin:0;letter-spacing:-.045em;line-height:1.1;font-weight:750;color:var(--hx-ink)}
.pn h1{font-size:clamp(34px,5.4vw,64px);line-height:1.04;letter-spacing:-.055em;font-weight:800;max-width:20ch}
.pn h2{font-size:clamp(26px,3.6vw,40px);max-width:24ch}
.pn h3{font-size:clamp(18px,1.8vw,21px);letter-spacing:-.03em}
.pn p{margin:0 0 1em;max-width:68ch}
.pn code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92em}
.pn-wrap{width:100%;max-width:1200px;margin:0 auto;padding-inline:clamp(16px,4vw,32px)}
.pn-kicker{display:inline-flex;align-items:center;gap:8px;margin:0 0 18px;font:700 12px/1.3 var(--hx-text-font);letter-spacing:.14em;text-transform:uppercase;color:var(--hx-info)}
.pn-kicker::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--hx-signal)}
.pn-hl{color:var(--hx-accent)}

/* ---- botões ---- */
.pn-btn,.pn-form button,.pub-form button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:11px 22px;border-radius:10px;border:1px solid var(--hx-action);background:var(--hx-action);color:var(--hx-action-ink);font:700 15px/1.2 var(--hx-text-font);text-decoration:none;cursor:pointer;transition:filter .16s,transform .16s,box-shadow .16s}
.pn-btn:hover,.pub-form button:hover{filter:brightness(1.08);text-decoration:none}
.pn-btn:active{transform:translateY(1px)}
.pn-btn-sm{min-height:42px;padding:9px 16px;font-size:14px}
.pn-btn-ghost{background:transparent;color:var(--hx-ink);border-color:var(--hx-field-line)}
.pn-btn-ghost:hover{border-color:var(--hx-signal);filter:none}
body.pn a.pn-btn{color:var(--hx-action-ink)}body.pn a.pn-btn-ghost{color:var(--hx-ink)}
.pn-link{font-weight:600}

/* ---- topo ---- */
.pn-top,.pub-header.pn-top{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--hx-paper) 88%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--hx-line);padding:0}
.pn-top-in{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;min-height:64px;padding-block:8px}
.pn-brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--hx-ink)!important;font:800 26px/1 var(--hx-display);letter-spacing:-.06em}
.pn-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--hx-raised);border:1px solid var(--hx-line)}
.pn-mark img{width:30px;height:30px;display:block}
.pn-nav{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:4px 6px}
.pn-nav a:not(.pn-btn){color:var(--hx-muted);text-decoration:none;font-weight:600;font-size:14px;padding:10px 10px;border-radius:8px}
.pn-nav a:not(.pn-btn):hover{color:var(--hx-ink);background:var(--hx-raised)}
.pn-nav a[aria-current=page]{color:var(--hx-ink)}
.pn-opt{display:none!important}
@media (min-width:960px){.pn-opt{display:inline-flex!important}}
.pn-theme{display:inline-flex;align-items:center;gap:7px;min-height:42px;padding:8px 12px;border-radius:10px;border:1px solid var(--hx-line);background:var(--hx-surface);color:var(--hx-ink);font:600 13px/1 var(--hx-text-font);cursor:pointer}
.pn-theme:hover{border-color:var(--hx-signal)}
.pn-theme i{width:12px;height:12px;border-radius:50%;border:2px solid var(--hx-ink);background:linear-gradient(90deg,var(--hx-ink) 50%,transparent 50%)}
@media (max-width:560px){.pn-nav{width:100%;justify-content:space-between}.pn-nav a[href='/login']:not(.pn-btn){padding-inline:6px}.pn-tl{display:none}}

/* ---- seções ---- */
.pn section{padding-block:clamp(48px,7vw,96px)}
.pn-sec-head{margin-bottom:clamp(24px,3vw,40px)}
.pn-sec-cta{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;margin:28px 0 0}
.pn-panel{background:linear-gradient(125deg,color-mix(in srgb,var(--hx-ink) 3%,transparent),transparent 70%),var(--hx-surface);border:1px solid var(--hx-line);border-radius:18px;box-shadow:var(--hx-shadow)}

/* hero */
.pn-hero{padding-block:clamp(36px,6vw,84px) clamp(24px,4vw,48px)!important}
.pn-hero-grid{display:grid;gap:clamp(24px,4vw,48px);grid-template-columns:minmax(0,1fr);align-items:center}
@media (min-width:960px){.pn-hero-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}}
.pn-hero .lead{font-size:clamp(17px,1.7vw,20px);color:var(--hx-muted);margin-top:clamp(18px,2.5vw,28px);max-width:58ch}
.pn-cta-row{display:flex;align-items:center;flex-wrap:wrap;gap:14px 22px;margin:28px 0 14px}
.pn-cta-note{color:var(--hx-muted);font-size:15px}
.pn-hero-jump{margin:0;font-size:15px}
.pn-orbit-card{position:relative;overflow:hidden;border-radius:20px;border:1px solid var(--hx-line);background:radial-gradient(ellipse at 50% 50%,color-mix(in srgb,var(--hx-info) 14%,transparent),transparent 62%),var(--hx-surface);box-shadow:var(--hx-shadow);padding:10px}
.pn-orbit{display:block;width:100%;height:auto;overflow:visible}
.pn-orbit .o-line{fill:none;stroke:var(--hx-line);stroke-width:1.2}
.pn-orbit .o-link{stroke:var(--hx-field-line);stroke-dasharray:3 6;opacity:.7}
.pn-orbit .o-core{fill:var(--hx-paper);stroke:var(--hx-info);stroke-opacity:.5}
.pn-orbit .o-pulse{fill:none;stroke:var(--hx-info);stroke-opacity:.35;transform-origin:245px 145px;animation:pnPulse 4s ease-out infinite}
.pn-orbit .o-main{font:800 20px var(--hx-display);letter-spacing:-.05em;fill:var(--hx-ink)}
.pn-orbit .o-sub{font:700 8px var(--hx-text-font);letter-spacing:2px;fill:var(--hx-muted)}
.pn-orbit .o-orb circle.o-ring{fill:var(--hx-raised);stroke:var(--hx-info);stroke-opacity:.6}
.pn-orbit .o-orb circle.o-dot{fill:var(--hx-signal)}
.pn-orbit .o-orb:nth-of-type(3n) circle.o-dot{fill:var(--hx-violet)}
.pn-orbit .o-orb text{font:700 11px var(--hx-text-font);letter-spacing:.12em;fill:var(--hx-ink);text-anchor:middle}
.pn-orbit .o-orb:hover circle.o-ring,.pn-orbit .o-orb:focus-visible circle.o-ring{stroke:var(--hx-signal);stroke-opacity:1;stroke-width:2}
.pn-orbit a{outline:none}
.pn-orbit a:focus-visible text{text-decoration:underline}
@keyframes pnPulse{0%{opacity:.5;transform:scale(1)}80%,100%{opacity:0;transform:scale(1.5)}}
@media (max-width:639px){.pn-orbit-card{display:none}}
/* linha de evidência */
.pn-evidence{list-style:none;margin:clamp(28px,4vw,48px) 0 0;padding:0;display:grid;gap:1px;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));background:var(--hx-line);border:1px solid var(--hx-line);border-radius:14px;overflow:hidden}
.pn-evidence li{display:flex;gap:10px;align-items:flex-start;background:var(--hx-surface);padding:14px 16px;font-size:14px;line-height:1.45;color:var(--hx-muted)}
.pn-evidence li::before{content:'';flex:none;width:8px;height:8px;margin-top:6px;border-radius:2px;background:var(--hx-k);box-shadow:0 0 0 3px color-mix(in srgb,var(--hx-k) 22%,transparent)}
.pn-evidence li:nth-child(1){--hx-k:var(--hx-k1)}.pn-evidence li:nth-child(2){--hx-k:var(--hx-k2)}.pn-evidence li:nth-child(3){--hx-k:var(--hx-k3)}.pn-evidence li:nth-child(4){--hx-k:var(--hx-k4)}
.pn-evidence strong{color:var(--hx-ink);font-weight:700}

/* cobertura */
.pn-cobertura .pn-wrap>.pn-panel,.pn-band{padding:clamp(22px,4vw,44px)}
.pn-lead{color:var(--hx-muted);font-size:clamp(16px,1.6vw,18px);margin-top:14px}
.figs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:14px;margin:28px 0 18px;min-height:120px}
.figs>div{display:flex;flex-direction:column;position:relative;overflow:hidden;background:var(--hx-paper);border:1px solid var(--hx-line);border-radius:14px;padding:20px 18px 18px}
.figs>div::before{content:'';position:absolute;inset:0 0 auto 0;height:3px;background:var(--hx-k,var(--hx-k1))}
.figs>div:nth-child(2){--hx-k:var(--hx-k2)}.figs>div:nth-child(3){--hx-k:var(--hx-k3)}.figs>div:nth-child(4){--hx-k:var(--hx-k4)}
.figs dt{order:2;color:var(--hx-muted);font-size:14px;line-height:1.4;margin-top:10px}
.figs dd{margin:0;order:1;font:800 clamp(38px,5vw,56px)/1 var(--hx-display);letter-spacing:-.05em;font-variant-numeric:tabular-nums}
.figs dd small{display:block;margin-top:6px;font:500 14px/1.4 var(--hx-text-font);letter-spacing:0;color:var(--hx-muted)}
.asof{color:var(--hx-muted);font-size:14px;margin:0 0 18px}
.field-note{max-width:64ch;margin-top:20px}

/* split + demo */
.pn-split{display:grid;gap:clamp(24px,4vw,56px);grid-template-columns:minmax(0,1fr);align-items:start}
@media (min-width:960px){.pn-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.pn-split-text h2{margin-bottom:22px;max-width:22ch}
.demo{padding:clamp(20px,3vw,30px)}
.demo h3{margin-bottom:6px}
.demo-sub{color:var(--hx-muted);font-size:15px}
.demo-list{list-style:none;margin:14px 0;padding:0}
.demo-list li{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--hx-line)}
.demo-list label{display:flex;align-items:center;gap:12px;min-height:52px;flex:1;cursor:pointer;font-weight:600}
.demo-list input{width:22px;height:22px;accent-color:var(--hx-accent);flex:none}
.d-w{color:var(--hx-muted);font-size:14px;white-space:nowrap}
.demo-out{background:var(--hx-raised);border:1px solid var(--hx-line);border-radius:10px;padding:14px 16px;font-weight:600;min-height:3.4em}

/* cartões com borda superior colorida */
.pn-cards{display:grid;gap:16px;grid-template-columns:minmax(0,1fr);margin:0;padding:0;list-style:none}
@media (min-width:860px){.pn-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
.pn-card{position:relative;overflow:hidden;background:var(--hx-surface);border:1px solid var(--hx-line);border-radius:16px;padding:24px 22px 22px;box-shadow:var(--hx-shadow)}
.pn-card::before{content:'';position:absolute;inset:0 0 auto 0;height:3px;background:var(--hx-k1)}
.pn-cards>:nth-child(2)::before{background:var(--hx-k2)}.pn-cards>:nth-child(3)::before{background:var(--hx-k3)}
.pn-card h3{margin-bottom:12px}
.pn-card h3:not(:first-child){margin-top:24px}
.pn-card ul{margin:0;padding-left:1.1em}.pn-card li{margin-bottom:.65em}
.pn-card p{margin:0}
.pn-steps{counter-reset:s}
.pn-steps>li{counter-increment:s}
.pn-steps h3::before{content:counter(s,decimal-leading-zero);display:block;margin-bottom:12px;font:700 12px/1 var(--hx-text-font);letter-spacing:.14em;color:var(--hx-info)}

/* limites */
.pn-chips{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin:24px 0;padding:0}
.pn-chips li{background:var(--hx-raised);border:1px solid var(--hx-line);border-radius:999px;padding:7px 16px;font-weight:700;font-size:14px;letter-spacing:.02em}
.pn-limits{max-width:66ch;margin:0;padding-left:1.1em}.pn-limits li{margin-bottom:.7em}

/* api */
.pn-code{margin:0;background:var(--hx-isle);color:var(--hx-isle-ink);padding:22px;border-radius:16px;border:1px solid var(--hx-isle-line);overflow-x:auto;font:400 14px/1.75 ui-monospace,SFMono-Regular,Menlo,monospace}

/* planos */
.plan-scroll{overflow-x:auto;margin-top:24px;border:1px solid var(--hx-line);border-radius:14px;background:var(--hx-surface)}
.plan-table{width:100%;border-collapse:collapse;min-width:640px}
.plan-table th,.plan-table td{padding:14px 14px;text-align:left;border-bottom:1px solid var(--hx-line);font-variant-numeric:tabular-nums}
.plan-table tbody tr:last-child>*{border-bottom:0}
.plan-table thead th{font:800 16px/1.2 var(--hx-display);background:var(--hx-raised)}
.plan-table tbody th{font-weight:600;color:var(--hx-muted)}
.plan-note{margin-top:18px;color:var(--hx-muted);font-size:15px}

/* faq */
.pn-faq details{background:var(--hx-surface);border:1px solid var(--hx-line);border-radius:14px;margin-bottom:10px;max-width:860px}
.pn-faq details[open]{border-color:var(--hx-field-line)}
.pn-faq summary{cursor:pointer;padding:16px 52px 16px 18px;font-weight:700;font-size:17px;list-style:none;position:relative;min-height:52px}
.pn-faq summary::-webkit-details-marker{display:none}
.pn-faq summary::after{content:'+';position:absolute;right:18px;top:12px;font:400 26px/1.2 var(--hx-text-font);color:var(--hx-accent)}
.pn-faq details[open] summary::after{content:'−'}
.pn-faq details p{padding:0 18px 16px;margin:0}

/* fechamento + rodapé */
.pn-closing .pn-band{background:radial-gradient(ellipse at 85% 0,color-mix(in srgb,var(--hx-signal) 18%,transparent),transparent 60%),var(--hx-isle);color:var(--hx-isle-ink);border:1px solid var(--hx-isle-line);border-radius:22px}
.pn-closing h2{color:var(--hx-isle-ink)}
.pn-closing .pn-lead{color:var(--hx-isle-muted)}
.pn-closing .pn-btn{background:var(--hx-isle-accent);border-color:var(--hx-isle-accent);color:var(--hx-isle)}
body.pn .pn-closing a.pn-btn{color:var(--hx-isle)}
.pn-foot,.pub-footer.pn-foot{border-top:1px solid var(--hx-line);padding:32px 0 44px;font-size:14px;color:var(--hx-muted);display:block}
.pn-foot-in{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px 32px}
.pn-foot p{margin:0;max-width:56ch}
.pn-foot nav{display:flex;flex-wrap:wrap;gap:4px 18px}
.pn-foot nav a,.pn-foot a{color:var(--hx-muted);text-decoration:none;padding:8px 0}
.pn-foot nav a:hover,.pn-foot a:hover{color:var(--hx-ink);text-decoration:underline}
.pn-foot .pub-license{margin:14px 0 0;max-width:none;flex-basis:100%}

/* ---- metodologia / contestar (classes de public-pages.css, remapeadas) ---- */
body.pn.pub main{max-width:1200px;padding:clamp(20px,4vw,48px) clamp(16px,4vw,32px) 56px}
.pn .pub-crumbs a{color:var(--hx-muted)}
.pn section.pub-hero{padding-block:8px clamp(20px,3vw,32px)}
.pn .pub-hero h1{margin-bottom:18px}
.pn .pub-hero{border-bottom:1px solid var(--hx-line);}
.pn .pub-hero h1{max-width:22ch;font-size:clamp(32px,4.8vw,56px)}
.pn .pub-hero .eyebrow{display:inline-flex;align-items:center;gap:8px;font:700 12px/1.3 var(--hx-text-font);letter-spacing:.14em;color:var(--hx-info)}
.pn .pub-hero .eyebrow::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--hx-signal)}
.pn .lede{color:var(--hx-muted)}
.pn .pub h2,.pn.pub h2{font-family:var(--hx-display);letter-spacing:-.04em;font-weight:750}
.pn.pub h1,.pn .pub h1{font-family:var(--hx-display)}
.pn .pub-prose{max-width:860px}
.pn .pub-prose h2{padding-top:8px;border-top:1px solid var(--hx-line);margin-top:40px}
.pn .pub-prose h2:first-child{border-top:0;margin-top:0}
.pn .pub-callout{background:var(--hx-surface);border-left:4px solid var(--hx-signal);border-radius:12px;box-shadow:var(--hx-shadow)}
.pn .pub-form{background:var(--hx-surface);border-radius:16px;box-shadow:var(--hx-shadow)}
.pn .pub-form :is(input,select,textarea){background:var(--hx-paper);border:1px solid var(--hx-field-line);border-radius:10px;color:var(--hx-ink);font:16px var(--hx-text-font)}
.pn .pub-form button{border-radius:10px;font-weight:700}
.pn .pub-alert{background:var(--hx-raised);border-radius:10px}.pn .pub-alert:empty{display:none}
.pn .pub-alert.ok{border-color:var(--hx-ok)}.pn .pub-alert.err{border-color:var(--hx-danger)}
.pn .pub-note{color:var(--hx-muted)}
.pn .pub-prose li strong{color:var(--hx-ink)}

/* ---- login ---- */
.pn-access{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);min-height:100svh}
.pn-story{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;gap:28px;padding:28px clamp(24px,4vw,64px);background:radial-gradient(ellipse at 80% 20%,color-mix(in srgb,var(--hx-signal) 14%,transparent),transparent 55%),var(--hx-isle);color:var(--hx-isle-ink)}
.pn-story::before{content:'';position:absolute;inset:0;background-image:linear-gradient(var(--hx-isle-line) 1px,transparent 1px),linear-gradient(90deg,var(--hx-isle-line) 1px,transparent 1px);background-size:56px 56px;opacity:.18;pointer-events:none}
.pn-story>*{position:relative}
.pn-story header{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.pn-story .pn-brand{color:var(--hx-isle-ink)!important}
.pn-story .pn-brand small{display:block;margin-top:5px;font:700 9px/1 var(--hx-text-font);letter-spacing:.2em;color:var(--hx-isle-muted)}
.pn-story .pn-mark{background:var(--hx-isle-line);border-color:var(--hx-isle-line)}
body.pn .pn-story a{color:var(--hx-isle-muted)}body.pn .pn-story a.pn-brand{color:var(--hx-isle-ink)!important}body.pn .pn-story a:hover{color:var(--hx-isle-ink)}
body.pn .pn-closing a:not(.pn-btn){color:var(--hx-isle-ink)}
.back-site{font-size:13px;text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.back-site:hover{color:var(--hx-isle-ink)}
.access-intro{padding:clamp(8px,4vw,40px) 0}
.eyebrow{font:700 11px/1.4 var(--hx-text-font);letter-spacing:.16em;color:var(--hx-isle-accent)}
.access-intro h2{color:var(--hx-isle-ink);font-size:clamp(34px,4vw,58px);font-weight:800;letter-spacing:-.055em;line-height:1.05;margin:16px 0;max-width:12ch}
.access-intro h2 em{font-style:normal;color:var(--hx-isle-accent)}
.access-intro p{color:var(--hx-isle-muted);max-width:44ch;font-size:17px}
.access-console{border:1px solid var(--hx-isle-line);border-radius:18px;background:color-mix(in srgb,var(--hx-isle-ink) 4%,transparent);padding:18px}
.console-top{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font:700 10px/1.4 var(--hx-text-font);letter-spacing:.14em;color:var(--hx-isle-muted);margin-bottom:14px}
.access-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}
.access-tabs button{min-height:40px;padding:8px 14px;border-radius:9px;border:1px solid transparent;background:transparent;color:var(--hx-isle-muted);font:600 13px var(--hx-text-font);cursor:pointer}
.access-tabs button[aria-selected=true]{background:var(--hx-isle-line);color:var(--hx-isle-ink);border-color:var(--hx-isle-line)}
#access-panel h3{color:var(--hx-isle-ink);font-size:22px;margin:14px 0 6px}
#access-panel p{color:var(--hx-isle-muted);margin:0 0 14px}
.connection-map{display:flex;align-items:center;gap:10px}
.connection-map span{padding:7px 12px;border:1px solid var(--hx-isle-line);border-radius:9px;font:700 12px var(--hx-text-font);letter-spacing:.1em;color:var(--hx-isle-ink)}
.connection-map i{flex:1;height:0;border-top:1px dashed var(--hx-isle-line)}
.connection-map img{width:52px;height:52px;flex:none}
.console-tags{display:flex;flex-wrap:wrap;gap:8px}
.console-tags span{padding:5px 12px;border-radius:999px;background:var(--hx-isle-line);color:var(--hx-isle-ink);font-size:13px;font-weight:600}
.panel-change{animation:pnIn .22s ease}
@keyframes pnIn{from{opacity:.4;transform:translateY(4px)}to{opacity:1;transform:none}}
.pn-story footer{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font:700 11px/1.4 var(--hx-text-font);letter-spacing:.14em;color:var(--hx-isle-muted)}
.pn-story footer a{text-decoration:none;letter-spacing:.02em;font-weight:600}
.pn-formside{display:flex;flex-direction:column;justify-content:space-between;padding:28px clamp(20px,5vw,72px)}
.access-form-inner{width:100%;max-width:460px;margin:auto;padding:clamp(16px,4vw,40px) 0}
.pn-formtop{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:28px}
.access-step{display:flex;flex-direction:column;gap:2px;font:700 11px/1.4 var(--hx-text-font);letter-spacing:.14em;color:var(--hx-info)}
.access-step span:last-child{color:var(--hx-muted)}
.pn-formside h1{font-size:clamp(34px,4vw,48px);margin:0 0 12px}
#subtitle{color:var(--hx-muted);margin-bottom:26px}
#auth{display:grid;gap:6px}
#auth label{font-weight:700;font-size:14px;margin-top:8px}
#auth input{width:100%;min-height:50px;padding:12px 14px;border-radius:10px;border:1px solid var(--hx-field-line);background:var(--hx-surface);color:var(--hx-ink);font:16px var(--hx-text-font)}
#auth input::placeholder{color:var(--hx-muted);opacity:.8}
.field{display:grid;gap:8px;margin-top:8px}
.field>label{margin-top:0!important}
.field-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.field-heading a{font-size:13px;font-weight:600}
.password-control{display:flex;align-items:center;position:relative}
.password-control input{padding-right:92px!important}
.password-control button{position:absolute;right:5px;min-height:40px;min-width:70px;background:transparent;color:var(--hx-accent);border:0;font:700 13px var(--hx-text-font);border-radius:8px;cursor:pointer}
.password-control button:hover{background:var(--hx-raised)}
.field-help,.field-warning{font-size:13px;line-height:1.5;margin:0}
.field-help{color:var(--hx-muted)}.field-warning{color:var(--hx-warn)}
#password-progress{display:grid;gap:6px}
#password-progress span{height:4px;border-radius:2px;background:var(--hx-line);position:relative;overflow:hidden}
#password-progress span::after{content:'';position:absolute;inset:0;background:var(--hx-accent);transform:scaleX(var(--progress,0));transform-origin:left;transition:transform .2s}
#password-progress small{font-size:12px;color:var(--hx-muted)}
.form-message{padding:12px 14px;border:1px solid var(--hx-danger);background:color-mix(in srgb,var(--hx-danger) 12%,var(--hx-surface));color:var(--hx-ink);border-radius:10px;font-size:14px;line-height:1.55;margin:14px 0}
.form-message.success{border-color:var(--hx-ok);background:color-mix(in srgb,var(--hx-ok) 12%,var(--hx-surface))}
.submit-button{width:100%;min-height:52px;margin-top:14px;display:flex;justify-content:space-between;align-items:center;background:var(--hx-action);color:var(--hx-action-ink);border:1px solid var(--hx-action);border-radius:10px;font:700 15px var(--hx-text-font);padding:13px 18px;cursor:pointer;transition:filter .16s,transform .16s}
.submit-button:hover{filter:brightness(1.08)}.submit-button:active{transform:translateY(1px)}
.submit-button:disabled{opacity:.65;cursor:wait}
.submit-button[aria-busy=true]::after{content:'';width:14px;height:14px;border:2px solid color-mix(in srgb,var(--hx-action-ink) 30%,transparent);border-top-color:var(--hx-action-ink);border-radius:50%;animation:pnSpin .7s linear infinite}
@keyframes pnSpin{to{transform:rotate(360deg)}}
.access-switch{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;margin-top:22px;font-size:15px;color:var(--hx-muted)}
.access-switch a{font-weight:700}
.access-proof{display:flex;gap:12px;align-items:flex-start;margin-top:26px;padding:14px 16px;background:var(--hx-surface);border:1px solid var(--hx-line);border-radius:14px}
.access-proof svg{flex:none;color:var(--hx-info)}
.access-proof p{margin:0;font-size:14px;color:var(--hx-muted)}.access-proof strong{display:block;color:var(--hx-ink)}
.access-links{display:flex;flex-wrap:wrap;gap:6px 20px;margin-top:20px;font-size:14px}
.access-copyright{display:block;color:var(--hx-muted);font-size:12px;margin-top:20px}
@media (max-width:959px){.pn-access{grid-template-columns:minmax(0,1fr)}.pn-formside{order:-1}.access-console{display:none}.pn-story{gap:20px}}

/* ---- singularity (demonstração): mesmos tokens do app ---- */
.sx,.sx-page{--sx-bg:#faf8f4;--sx-surface:#ffffff;--sx-raised:#f6eee7;--sx-ink:#101c28;--sx-muted:#566775;--sx-line:#cbd2d8;--sx-accent:#8f4a22;--sx-on-accent:#ffffff;--sx-warning:#8f6743;--sx-display:'Manrope','DM Sans',sans-serif}
.dark .sx,.sx-page.dark{--sx-bg:#0d1015;--sx-surface:#151a21;--sx-raised:#1d232b;--sx-ink:#eef2f7;--sx-muted:#a3adba;--sx-line:#2e3541;--sx-accent:#ffb184;--sx-on-accent:#15110e;--sx-warning:#e8c27f;color-scheme:dark}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.pn *,.pn *::before,.pn *::after{animation:none!important;transition:none!important}}

/* ---- telas largas: o conteúdo acompanha a janela em vez de ficar numa coluna de 1200 px com margens vazias ---- */
@media (min-width:1360px){
.pn-wrap,body.pn.pub main{max-width:min(1560px,calc(100% - 96px))}
.pn-hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(48px,5vw,96px)}
.pn h1{font-size:clamp(56px,4.2vw,84px);max-width:16ch}
.pn-hero .lead{font-size:clamp(20px,1.35vw,24px);max-width:56ch}
.pn h2{font-size:clamp(40px,2.6vw,52px);max-width:26ch}
.pn .pub-hero h1{font-size:clamp(48px,3.4vw,68px);max-width:24ch}
.pn p{max-width:72ch}
}

/* ---- página inicial: ritmo, composição e acabamento ---- */
.pn.home section{padding-block:clamp(36px,5vw,72px)}
.pn.home .pn-hero{position:relative;padding-block:clamp(40px,6vw,96px) clamp(16px,3vw,32px)!important}
.pn.home .pn-hero::before{content:'';position:absolute;inset:-10% 0 0 38%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 60% 45%,color-mix(in srgb,var(--hx-info) 16%,transparent),transparent 62%)}
.pn.home .pn-orbit-card{padding:clamp(10px,1.4vw,22px);border-radius:24px}
.pn.home .pn-evidence{margin-top:clamp(36px,4vw,64px)}
.pn.home .pn-evidence li{padding:20px 22px;font-size:15px;gap:12px}
.pn.home .pn-sec-head{font-size:clamp(28px,3vw,44px);max-width:none}
.pn.home .pn-sec-head::after{content:'';display:block;width:56px;height:3px;margin-top:16px;border-radius:2px;background:var(--hx-accent)}
/* cobertura: título e leitura lado a lado; o estado sem números vira faixa compacta */
.pn.home .pn-cobertura .pn-band{display:grid;gap:12px clamp(32px,5vw,80px);grid-template-columns:minmax(0,1fr);grid-template-areas:"h" "lead" "cov" "note" "cta"}
.pn.home .pn-cobertura h2{grid-area:h;max-width:none}.pn.home .pn-cobertura .pn-lead{grid-area:lead;margin:0}
.pn.home .pn-cobertura #cov{grid-area:cov}.pn.home .pn-cobertura .field-note{grid-area:note;margin:0;color:var(--hx-muted);font-size:15px}
.pn.home .pn-cobertura .pn-sec-cta{grid-area:cta;margin:8px 0 0}
@media (min-width:960px){.pn.home .pn-cobertura .pn-band{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);grid-template-areas:"h lead" "cov cov" "note cta";align-items:center}.pn.home .pn-cobertura .pn-sec-cta{justify-self:end;margin:0}}
/* indicador: texto principal respirando, ressalva em caixa própria */
.pn.home .pn-split-text>p:first-of-type{font-size:clamp(16px,1.25vw,19px);line-height:1.65;color:var(--hx-ink)}
.pn.home .pn-caveat{margin-top:22px;padding:16px 18px;border:1px solid var(--hx-line);border-left:4px solid var(--hx-warning,var(--hx-accent));border-radius:12px;background:var(--hx-raised);font-size:15px;line-height:1.6;color:var(--hx-muted)}
.pn.home .pn-caveat b{display:block;margin-bottom:4px;color:var(--hx-ink);font:700 12px/1.3 var(--hx-text-font);letter-spacing:.12em;text-transform:uppercase}
.pn.home .demo{position:sticky;top:96px}
/* cartões */
.pn.home .pn-card{padding:clamp(22px,2.2vw,34px);border-radius:18px}
.pn.home .pn-card li{font-size:15.5px;line-height:1.55}
.pn.home .pn-card p{font-size:16px;line-height:1.65;color:var(--hx-muted)}
.pn.home .pn-steps h3{font-size:clamp(20px,1.6vw,26px)}
.pn.home .pn-steps h3::before{font-size:13px;margin-bottom:18px;color:var(--hx-accent)}
@media (min-width:1360px){.pn.home .pn-cards{gap:24px}}
/* limites, planos, faq */
.pn.home .pn-chips li{padding:8px 18px;background:var(--hx-surface)}
.pn.home .plan-table th,.pn.home .plan-table td{padding:16px 20px}
.pn.home .pn-faq details{max-width:none}
.pn.home .pn-faq summary{padding:18px 22px;font-size:17px}
.pn.home .pn-sec-head{margin-bottom:clamp(28px,3vw,44px)}
