/* ============================================================
 * farpa.ai · site.css · vitrine editorial + esquemática (A+B)
 * Redesign 2026-05-29 · ADR 063 (sucede camada visual de ADR 061)
 * Sistema próprio --site-* (não consome DS · ADR 005 preservado:
 * DS canônico em /produtos/_shared/ds intacto). 2 fontes self-hosted.
 *
 * EIXOS ORTOGONAIS (ADR 062 / ADR 004) · AAA COMPÕE com o tema (não o sobrepõe):
 *   tema      → :root (light) | [data-theme="dark"] | @media dark (FOUC-free)
 *   contraste → [data-contrast="aaa"] compõe com o tema atual:
 *                 light+aaa → branco/preto · dark+aaa → preto/branco
 *               dark-AAA tem especificidade (0,2,1) → vence o bloco de tema (0,1,1).
 *               → toggle de tema é SEMPRE visível, inclusive com AAA ligado.
 *
 * Contraste medido (texto sobre bg do modo):
 *   light    : ink 14.9:1 (AAA) · accent 9.1:1 (AAA) · muted 5.1:1 (AA)
 *   dark     : ink 15.8:1 (AAA) · accent 6.4:1 (AA)  · muted 7.0:1 (AAA)
 *   light+aaa: ink 21:1 · accent 11:1 · muted 17:1 (todos AAA)
 *   dark+aaa : ink 21:1 · accent ~11:1 · muted ~18:1 (todos AAA)
 * ============================================================ */

/* ---------- tokens: tipografia + layout (modo-independentes) ---------- */
:root{
  --f-display:'Fraunces', Georgia, 'Times New Roman', serif;
  --f-mono:'Martian Mono', ui-monospace, 'SFMono-Regular', Menlo, monospace;
  --maxw:74rem;
  --readw:40rem;
  --ease:cubic-bezier(.2,.7,.2,1);

  /* ---------- cores · MODO 1 · LIGHT (default · papel/jornal) ---------- */
  --bg:#f4f0e8;
  --surface:#fbf8f1;
  --ink:#1f1a17;
  --ink-soft:#3c3530;
  --muted:#6b625b;
  --accent:#8a0d1f;
  --accent-2:#6e0a18;
  --gold:#8a5a1e;
  --line:rgba(31,26,23,.13);
  --line-strong:rgba(138,13,31,.34);
  --on-accent:#f7f1ea;
}

/* ---------- MODO 2 · DARK (carvão quente) ---------- */
@media (prefers-color-scheme: dark){
  :root:not([data-theme]){
    --bg:#14110f; --surface:#1d1916; --ink:#f2ece2; --ink-soft:#d8d0c4; --muted:#a99f93;
    --accent:#e0902f; --accent-2:#f2ab4d; --gold:#caa24e;
    --line:rgba(242,236,226,.13); --line-strong:rgba(224,144,47,.36); --on-accent:#14110f;
  }
}
html[data-theme="dark"]{
  --bg:#14110f; --surface:#1d1916; --ink:#f2ece2; --ink-soft:#d8d0c4; --muted:#a99f93;
  --accent:#e0902f; --accent-2:#f2ab4d; --gold:#caa24e;
  --line:rgba(242,236,226,.13); --line-strong:rgba(224,144,47,.36); --on-accent:#14110f;
}

/* ---------- MODO 3 · AAA (ADR 004 · Nível 1) · ORTOGONAL ao tema ----------
   AAA não sobrepõe mais o tema — COMPÕE com ele (decisão Founder 2026-05-30):
     light + AAA → branco/preto (21:1)
     dark  + AAA → preto/branco (21:1)
   Base = light-AAA · dark-AAA tem especificidade (0,2,1) → vence o bloco de tema (0,1,1).
   Pré-JS (FOUC): os @media espelham a mesma composição. */
@media (prefers-contrast: more){
  :root:not([data-contrast]){
    --bg:#ffffff; --surface:#ffffff; --ink:#000000; --ink-soft:#1b1a17; --muted:#1b1a17;
    --accent:#7a1010; --accent-2:#5e0a0a; --gold:#5a3a10; --line:#000000; --line-strong:#000000; --on-accent:#ffffff;
  }
}
@media (prefers-contrast: more) and (prefers-color-scheme: dark){
  :root:not([data-contrast]):not([data-theme="light"]){
    --bg:#000000; --surface:#000000; --ink:#ffffff; --ink-soft:#f4f4f4; --muted:#eaeaea;
    --accent:#ffb020; --accent-2:#ffc658; --gold:#ffcf6a; --line:#ffffff; --line-strong:#ffffff; --on-accent:#000000;
  }
}
/* light-AAA (base · vale para tema claro ou não-definido) */
html[data-contrast="aaa"]{
  --bg:#ffffff; --surface:#ffffff; --ink:#000000; --ink-soft:#1b1a17; --muted:#1b1a17;
  --accent:#7a1010; --accent-2:#5e0a0a; --gold:#5a3a10; --line:#000000; --line-strong:#000000; --on-accent:#ffffff;
}
/* dark-AAA (tema escuro + alto contraste · vence light-AAA por especificidade) */
html[data-theme="dark"][data-contrast="aaa"]{
  --bg:#000000; --surface:#000000; --ink:#ffffff; --ink-soft:#f4f4f4; --muted:#eaeaea;
  --accent:#ffb020; --accent-2:#ffc658; --gold:#ffcf6a; --line:#ffffff; --line-strong:#ffffff; --on-accent:#000000;
}

/* ---------- base ---------- */
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:5rem}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font-family:var(--f-display);font-optical-sizing:auto;
  line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
h1,h2{margin:0}
.display{font-family:var(--f-display);font-optical-sizing:auto;font-weight:400;letter-spacing:-.015em}
.mono{font-family:var(--f-mono)}

.skip-link{position:absolute;left:-9999px;top:0;z-index:100;background:var(--ink);color:var(--bg);padding:.7rem 1rem;border-radius:0 0 .25rem 0}
.skip-link:focus{left:0}
:focus-visible{outline:2.5px solid var(--accent);outline-offset:2px;border-radius:2px}

/* ---------- mark ---------- */
.mark{width:2rem;height:2rem;color:var(--accent);flex:none}
.mark--sm{width:1.4rem;height:1.4rem;color:var(--muted)}
html[data-theme="dark"]:not([data-contrast="aaa"]) .mark__inner{fill-opacity:.16}
/* identity marks (header/footer) reforçam o núcleo no dark · ressalva de marca Nicole (ADR 063) ·
   o esquema (.sch-core) permanece .16 pois o stroke já carrega a leitura */
html[data-theme="dark"]:not([data-contrast="aaa"]) .mark .mark__inner{fill-opacity:.22}
@media (prefers-color-scheme:dark){
  :root:not([data-theme]):not([data-contrast="aaa"]) .mark__inner{fill-opacity:.16}
  :root:not([data-theme]):not([data-contrast="aaa"]) .mark .mark__inner{fill-opacity:.22}
}

/* ---------- header ---------- */
.masthead{
  position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:1rem;flex-wrap:wrap;
  padding:.65rem clamp(1rem,4vw,2.5rem);
  background:color-mix(in srgb, var(--bg) 86%, transparent);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.brand{display:inline-flex;align-items:center;gap:.55rem;text-decoration:none;color:var(--ink);font-weight:600}
.brand__word{font-family:var(--f-mono);font-size:.95rem;letter-spacing:-.02em}
.masthead__nav{display:flex;gap:1.25rem;margin-left:auto;flex-wrap:wrap;font-family:var(--f-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.05em}
.masthead__nav a{color:var(--muted);text-decoration:none;padding:.2rem 0;border-bottom:1.5px solid transparent;white-space:nowrap}
.masthead__nav a:hover,.masthead__nav a:focus-visible{color:var(--ink);border-bottom-color:var(--accent)}
.controls{display:flex;gap:.2rem;padding:.18rem;border:1px solid var(--line);border-radius:.5rem;background:var(--surface)}
.ctrl{font-family:var(--f-mono);font-size:.66rem;display:inline-flex;align-items:center;gap:.3rem;cursor:pointer;background:transparent;color:var(--ink);border:0;border-radius:.35rem;padding:.38rem .55rem;letter-spacing:.02em}
.ctrl:hover{background:color-mix(in srgb, var(--accent) 13%, transparent)}
.ctrl[aria-pressed="true"]{background:var(--accent);color:var(--on-accent)}
.ctrl__ic{font-size:.85em;line-height:1}

/* ---------- hero ---------- */
.hero{
  max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:1.05fr .95fr;
  gap:clamp(1.5rem,4vw,3rem);align-items:center;
  padding:clamp(2.5rem,7vw,5.5rem) clamp(1rem,4vw,2.5rem);min-height:78vh;
  border-bottom:1px solid var(--line);
}
.kicker{font-family:var(--f-mono);text-transform:uppercase;letter-spacing:.14em;font-size:.74rem;color:var(--accent);margin:0 0 1.2rem;display:flex;align-items:center;gap:.6rem}
.kicker::before{content:"";width:32px;height:1px;background:currentColor;flex:none}
.hero .display{font-size:clamp(3rem,9vw,6rem);line-height:.94;margin-bottom:1.4rem}
.hero .display em{font-style:italic;font-weight:480;color:var(--accent)}
.lede{font-family:var(--f-display);font-optical-sizing:auto;max-width:var(--readw);font-size:clamp(1.1rem,2.4vw,1.35rem);line-height:1.5;color:var(--ink-soft);margin:0 0 2rem}
.cta{display:inline-flex;align-items:center;font-family:var(--f-mono);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;text-decoration:none;color:var(--on-accent);background:var(--accent);padding:.85rem 1.3rem;border-radius:.4rem;transition:background .2s var(--ease),transform .2s var(--ease)}
.cta:hover,.cta:focus-visible{background:var(--accent-2);transform:translateY(-1px)}
.cta--lg{font-size:.95rem;padding:1rem 1.6rem}
.hero__figure{position:relative}
.figcap{font-family:var(--f-mono);font-size:.62rem;letter-spacing:.03em;color:var(--muted);text-align:center;margin:.7rem 0 0}

/* ---------- schematic ---------- */
.schematic{width:100%;height:auto;overflow:visible;max-width:30rem;display:block;margin:0 auto}
.sch-orbit{fill:none;stroke:var(--accent);stroke-width:1;opacity:.45}
.sch-ln{stroke:var(--accent);stroke-width:1.3;fill:none;opacity:.6}
.sch-chip circle{fill:var(--surface);stroke:var(--accent);stroke-width:1.4;stroke-opacity:.7}
.sch-chip text{fill:var(--ink)}
.sch-core{color:var(--accent)}
.sch-core .mark__inner{fill-opacity:.2}
.sch-pulse{transform-box:fill-box;transform-origin:center;animation:pulse 3.6s ease-in-out infinite}
html.js .sch-ln{stroke-dasharray:1;stroke-dashoffset:1;animation:draw .9s var(--ease) forwards;animation-delay:var(--d,0s)}
html.js .sch-chip{opacity:0;animation:pop .5s var(--ease) forwards;animation-delay:var(--d,0s)}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes pop{to{opacity:1}}
@keyframes pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.6);opacity:.65}}

/* ---------- chapters ---------- */
.chapter{padding:clamp(3rem,8vw,6rem) clamp(1rem,4vw,2.5rem);border-bottom:1px solid var(--line)}
.chapter>*{max-width:var(--maxw);margin-inline:auto}
.chapter--wash{background:color-mix(in srgb, var(--accent) 5%, var(--bg))}
html[data-contrast="aaa"] .chapter--wash{background:var(--bg)}
.chapter__head{display:flex;align-items:baseline;gap:1rem;margin-bottom:1rem}
.seq{font-family:var(--f-mono);font-size:.8rem;color:var(--accent);font-weight:500;flex:none}
.chapter .display{font-size:clamp(1.9rem,5vw,3rem);line-height:1}
.chapter__lede{font-family:var(--f-display);font-optical-sizing:auto;max-width:var(--readw);font-size:clamp(1.05rem,2.2vw,1.25rem);line-height:1.5;color:var(--ink-soft);margin:0 0 2.5rem}

/* council */
.council{display:flex;flex-wrap:wrap;gap:1rem 1.4rem;list-style:none;padding:0;margin:0 0 2.2rem}
.council li{display:flex;flex-direction:column;gap:.15rem;padding:.4rem 0 .4rem 1rem;border-left:2px solid var(--accent)}
.council li b{font-family:var(--f-display);font-size:1.15rem;font-weight:500}
.council li span{font-family:var(--f-mono);font-size:.64rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}

/* directorate grid · hairline-ruled */
.grid{list-style:none;padding:0;margin:0;display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}
.grid--dir{grid-template-columns:repeat(3,1fr)}
.grid li{background:var(--bg);padding:1rem 1.1rem;display:flex;flex-direction:column;gap:.3rem}
.grid li b{font-family:var(--f-mono);font-size:.9rem;color:var(--accent);letter-spacing:.02em}
.grid li span{font-family:var(--f-display);font-size:.92rem;color:var(--ink-soft);line-height:1.35}

/* pipeline DSBVLR */
.pipeline{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap}
.pipeline li{flex:1 1 8rem;display:flex;flex-direction:column;gap:.4rem;padding:1.3rem 1rem 1rem;position:relative;border-top:2px solid var(--line-strong)}
.pipeline li::before{content:"";position:absolute;top:-6px;left:0;width:9px;height:9px;border-radius:50%;background:var(--accent);border:2px solid var(--bg)}
.pipeline__l{font-family:var(--f-display);font-weight:560;font-size:2.4rem;line-height:1;color:var(--accent)}
.pipeline__t{font-family:var(--f-mono);font-size:.64rem;text-transform:uppercase;letter-spacing:.03em;color:var(--ink-soft);line-height:1.45}

/* skills drawer */
.drawer{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.drawer li{display:grid;grid-template-columns:auto 12rem 1fr;gap:.4rem 1.2rem;align-items:baseline;padding:1.2rem .2rem;border-bottom:1px solid var(--line)}
.drawer__n{font-family:var(--f-mono);font-size:.7rem;color:var(--accent)}
.drawer li b{font-family:var(--f-display);font-size:1.25rem;font-weight:500}
.drawer__d{font-family:var(--f-display);color:var(--muted);font-size:.98rem;line-height:1.4}

/* principles · editorial */
.principles{list-style:none;padding:0;margin:0;max-width:var(--readw);display:flex;flex-direction:column;gap:1.3rem}
.principles li{display:flex;gap:1rem;align-items:baseline}
.principles__n{font-family:var(--f-display);font-style:italic;color:var(--accent);font-size:1.3rem;flex:none}
.principles li>span:last-child{font-family:var(--f-display);font-optical-sizing:auto;font-size:clamp(1.2rem,3.2vw,1.7rem);line-height:1.3;font-weight:400}

/* vitrine */
.tabs{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:2rem}
.tab{font-family:var(--f-mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;background:transparent;color:var(--ink-soft);border:1px solid var(--line-strong);border-radius:2rem;padding:.45rem .95rem;transition:all .18s var(--ease)}
.tab[aria-selected="true"]{background:var(--accent);color:var(--on-accent);border-color:var(--accent);font-weight:600}
.tab:hover{color:var(--ink);border-color:var(--accent)}
.gallery{list-style:none;padding:0;margin:0;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr))}
.card{position:relative;display:flex;flex-direction:column;gap:.55rem;padding:1.3rem;background:var(--surface);border:1px solid var(--line);border-radius:.6rem;transition:border-color .2s var(--ease),transform .2s var(--ease)}
.card:hover{border-color:var(--line-strong);transform:translateY(-2px)}
.card[hidden]{display:none}
.card__glyph{width:1.8rem;height:1.8rem;color:var(--accent)}
.card__tag{font-family:var(--f-mono);font-size:.58rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.card__name{font-family:var(--f-display);font-size:1.22rem;line-height:1.12;font-weight:500}
.card__d{font-family:var(--f-display);font-size:.94rem;color:var(--ink-soft);line-height:1.42}
.card__chip{align-self:flex-start;font-family:var(--f-mono);font-size:.56rem;text-transform:uppercase;letter-spacing:.06em;padding:.22rem .55rem;border-radius:2rem;border:1px solid var(--line-strong);color:var(--muted)}
.card__chip--on{color:var(--accent);border-color:var(--accent)}
.card__chip--soon{color:var(--gold);border-color:var(--gold)}
.card--ghost{border-style:dashed;background:transparent}
.card--ghost .card__name{color:var(--muted)}
/* card-link acessível (produto com link · ex: Lux) · stretched-link = card inteiro clicável,
   foco/hover no card todo, estilo coerente (não 'link normal'), aviso de nova-aba p/ AT */
.vh{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.card--link{position:relative}
.card__link{color:inherit;text-decoration:none;outline:none}
.card__link::after{content:"";position:absolute;inset:0;border-radius:.6rem}
.card--link:hover .card__name,.card--link:focus-within .card__name{color:var(--accent)}
.card--link:focus-within{outline:2.5px solid var(--accent);outline-offset:2px;border-color:var(--accent)}
.card__ext{color:var(--accent);font-size:.78em;margin-left:.22em;font-family:var(--f-mono)}

/* contato */
.contato{max-width:var(--maxw);margin:0 auto;padding:clamp(3.5rem,10vw,7rem) clamp(1rem,4vw,2.5rem);text-align:center}
.contato .display{font-size:clamp(2.2rem,7vw,4.5rem);line-height:1;margin-bottom:1rem}
.contato .lede{margin-inline:auto}

/* footer */
.titleblock{border-top:1px solid var(--line);max-width:var(--maxw);margin:0 auto;padding:2.6rem clamp(1rem,4vw,2.5rem);display:flex;flex-direction:column;align-items:center;gap:.7rem;text-align:center}
.titleblock__refs{font-family:var(--f-mono);font-size:.66rem;letter-spacing:.03em;color:var(--muted);margin:0}
.titleblock__disc{font-family:var(--f-display);font-size:.82rem;color:var(--muted);max-width:var(--readw);margin:0;line-height:1.5}

/* ---------- reveal · entrada CSS-only (robusto · nunca preso oculto · sem dep. JS) ---------- */
.reveal{animation:reveal .85s var(--ease) both}
.reveal[data-reveal-delay="1"]{animation-delay:.14s}
@keyframes reveal{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}

/* ---------- responsive ---------- */
@media (max-width:860px){
  .hero{grid-template-columns:1fr;min-height:auto;padding-top:2.5rem;gap:1.5rem}
  .hero__figure{order:2;max-width:24rem;margin-inline:auto}
}
@media (max-width:720px){
  .masthead{gap:.5rem}
  .masthead__nav{order:3;width:100%;margin:.3rem 0 0;margin-left:0;gap:1rem;font-size:.66rem;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .controls{margin-left:auto}
}
@media (max-width:680px){
  .drawer li{grid-template-columns:auto 1fr}
  .drawer__d{grid-column:1 / -1}
}
@media (max-width:540px){
  .grid--dir{grid-template-columns:1fr}
}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  .reveal{animation:none}
  .sch-ln,.sch-chip,.sch-pulse{animation:none;stroke-dashoffset:0;opacity:1}
  .cta:hover,.card:hover{transform:none}
}

/* ---------- converse · chat-widget (bridge DS↔--site-*) ----------
   widget.css consome tokens nomeados do DS (--bg/--fg/--accent/--font-*); a vitrine usa
   camada própria (ADR 063 · DS intacto ADR 005). Mapeamos os nomes do DS para os tokens
   do site SÓ dentro de #farpa-chat → o widget herda os 3 modos (light/dark/AAA) sozinho. */
#farpa-chat{
  --fg:var(--ink);
  --bg:var(--surface);
  --bg-subtle:color-mix(in srgb, var(--accent) 6%, var(--surface));
  --fg-muted:var(--muted);
  --fg-inverse:var(--on-accent);
  --accent-fg:var(--on-accent);
  --border:var(--line);
  --border-default:var(--line);
  --border-subtle:var(--line);
  --focus-ring:var(--accent);
  --font-sans:var(--f-display);
  --font-mono:var(--f-mono);
}
/* AAA · Nível 1 (ADR 004): sem tint no balão · contraste máximo do tema composto */
html[data-contrast="aaa"] #farpa-chat{ --bg-subtle:var(--surface) }
.fchat-wrap{max-width:42rem}
.fchat-note{font-family:var(--f-mono);font-size:.66rem;line-height:1.55;letter-spacing:.02em;color:var(--muted);margin:.8rem 0 0}

/* 06 · chat como prova viva — painel "como isto funciona" (T01 · ADR 065) */
.chat-how{margin-top:1.5rem;border-top:1px solid var(--line);padding-top:1rem;max-width:42rem}
.chat-how>summary{font-family:var(--f-mono);font-size:.74rem;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);cursor:pointer;list-style:none}
.chat-how>summary::-webkit-details-marker{display:none}
.chat-how>summary::before{content:"+ ";font-weight:600}
.chat-how[open]>summary::before{content:"– "}
.chat-how>summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.chat-how__body{margin-top:1rem;display:flex;flex-direction:column;gap:1rem}
.chat-how__flow{display:flex;flex-wrap:wrap;align-items:center;gap:.2rem .55rem;list-style:none;margin:0;padding:0}
.chat-how__flow li{display:flex;align-items:center;gap:.55rem;font-family:var(--f-mono);font-size:.74rem;color:var(--ink-soft)}
.chat-how__flow li+li::before{content:"→";color:var(--accent)}
.chat-how__rules{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}
.chat-how__rules li{font-family:var(--f-mono);font-size:.72rem;color:var(--muted);padding-left:1.1rem;position:relative}
.chat-how__rules li::before{content:"·";position:absolute;left:.35rem;color:var(--accent)}

/* ============================================================
   Onda B (ADR 065) · org explorável (T02) + vitrine viva (T04)
   ============================================================ */
/* T02 · Diretorias clicáveis */
.grid__hint{font-family:var(--f-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:0 0 .8rem}
.grid--dir li{padding:0}
.dir{display:flex;flex-direction:column;gap:.3rem;width:100%;height:100%;padding:1rem 1.1rem;background:none;border:0;margin:0;text-align:left;font:inherit;color:inherit;cursor:pointer;transition:background .18s var(--ease)}
.dir:hover{background:var(--surface)}
.dir:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.sch-chip{cursor:pointer}
.sch-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:50%}
.sch-chip:hover circle{stroke:var(--accent)}
/* T02 · diálogo de detalhe (nativo) */
.org-dialog{max-width:32rem;width:calc(100% - 2rem);border:1px solid var(--line-strong);background:var(--bg);color:var(--ink);padding:0;border-radius:6px}
.org-dialog::backdrop{background:rgba(0,0,0,.5)}
.org-dialog__bar{display:flex;justify-content:space-between;align-items:center;padding:.7rem 1rem;border-bottom:1px solid var(--line);margin:0}
.org-dialog__code{font-family:var(--f-mono);font-size:.76rem;letter-spacing:.14em;color:var(--accent)}
.org-dialog__close{background:none;border:0;font-size:1.05rem;color:var(--muted);cursor:pointer;line-height:1;padding:.2rem .45rem;min-height:36px;min-width:36px}
.org-dialog__close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.org-dialog__title{font-family:var(--f-display);font-size:1.5rem;font-weight:500;margin:1rem 1.1rem .35rem}
.org-dialog__scope{margin:0 1.1rem 1.1rem;color:var(--ink-soft);font-family:var(--f-display);line-height:1.45}
.org-dialog__meta{margin:0;padding:0 1.1rem 1.2rem;display:grid;grid-template-columns:auto 1fr;gap:.45rem .9rem;align-items:baseline}
.org-dialog__meta dt{font-family:var(--f-mono);font-size:.64rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.org-dialog__meta dd{margin:0;font-family:var(--f-mono);font-size:.78rem;color:var(--ink-soft)}
/* T04 · sinal vivo da vitrine */
.vit-live{font-family:var(--f-mono);font-size:.74rem;letter-spacing:.03em;color:var(--accent);margin:-1.8rem 0 2rem}

/* ============================================================
   Onda C (ADR 065) · walkthrough DSBVLR (T03) + a11y feature (T09)
   ============================================================ */
/* T03 · etapas do pipeline clicáveis */
.pipeline li{padding:0}
.phase{width:100%;height:100%;display:flex;flex-direction:column;gap:.4rem;padding:1.3rem 1rem 1rem;background:none;border:0;margin:0;text-align:left;font:inherit;color:inherit;cursor:pointer;transition:background .18s var(--ease)}
.phase:hover{background:var(--surface)}
.phase:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
/* T09 · seção atual na nav (aria-current) */
.masthead__nav a[aria-current="true"]{color:var(--ink);border-bottom-color:var(--accent)}
/* T09 · link do relatório de acessibilidade no rodapé */
.titleblock__links{margin:.2rem 0 0}
.titleblock__links a{font-family:var(--f-mono);font-size:.66rem;letter-spacing:.04em;color:var(--muted);text-decoration:underline;text-underline-offset:3px}
.titleblock__links a:hover,.titleblock__links a:focus-visible{color:var(--accent)}
/* LCP (T06 · Onda C): herói acima da dobra pinta imediatamente — não fica gated
   pelo fade do .reveal (era o gap FCP→LCP de ~1.4s). Esquema segue animando.
   .hero__copy.reveal (2 classes) vence .reveal por especificidade. */
.hero__copy.reveal{animation:none}

/* ============================================================
   T10 · captura de lead (ADR 065 · gate CLO)
   ============================================================ */
.lead{max-width:34rem;margin:1.6rem auto 1rem;display:flex;flex-direction:column;gap:.9rem;text-align:left}
.lead__row{display:flex;gap:.9rem;flex-wrap:wrap}
.lead__row .lead__field{flex:1 1 12rem}
.lead__field{display:flex;flex-direction:column;gap:.3rem}
.lead__field>span{font-family:var(--f-mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft)}
.lead__field input,.lead__field textarea{font-family:var(--f-display);font-size:1rem;color:var(--ink);background:var(--bg);border:1px solid var(--line-strong);border-radius:.4rem;padding:.6rem .7rem;width:100%;box-sizing:border-box}
.lead__field input:focus-visible,.lead__field textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.lead__field textarea{resize:vertical;min-height:5rem}
.lead__hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.lead__consent{display:flex;align-items:flex-start;gap:.5rem;font-family:var(--f-display);font-size:.9rem;color:var(--ink-soft);text-align:left}
.lead__consent input{margin-top:.25rem;flex:none}
.lead__actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.lead__status{font-family:var(--f-mono);font-size:.74rem;color:var(--ink-soft)}
.lead__privacy{font-family:var(--f-mono);font-size:.66rem;line-height:1.6;color:var(--muted);margin:.2rem 0 0}
.lead__privacy a,.contato__alt a{color:var(--accent)}
.contato__alt{font-family:var(--f-mono);font-size:.74rem;color:var(--muted);margin:.8rem 0 0}

/* ============================================================
   Roda do Método VIVA · explorador processos × diretorias (híbrido)
   Founder 2026-05-31 · núcleo cross-highlight (P1) + ambiente vivo (P4: motion + dado real)
   SVG construído por site.js (mwExplorer) · cor sempre via classe (nunca var() em atributo SVG).
   ============================================================ */
.mw{margin:.4rem auto 2.4rem;max-width:var(--maxw);text-align:center}
.mw__stage{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(15rem,21rem);gap:clamp(1rem,3vw,2rem);align-items:center;text-align:left}
@media (max-width:760px){.mw__stage{grid-template-columns:1fr}}
.mw__wheelbox{position:relative}
.mw__wheel{width:100%;height:auto;display:block;overflow:visible;max-width:30rem;margin:0 auto}
.mw__orbit{fill:none;stroke:var(--accent);stroke-width:1;opacity:.3;stroke-dasharray:2 7}
.mw__orbit-g{transform-box:view-box;transform-origin:230px 230px;animation:mw-spin 120s linear infinite}
.mw__breathe{transform-box:view-box;transform-origin:230px 230px;animation:mw-breathe 5s ease-in-out infinite}
.mw__mark{color:var(--accent)}
.mw__mark .mark__inner{fill-opacity:.18}
html[data-theme="dark"]:not([data-contrast="aaa"]) .mw__mark .mark__inner{fill-opacity:.24}
@media (prefers-color-scheme:dark){:root:not([data-theme]):not([data-contrast="aaa"]) .mw__mark .mark__inner{fill-opacity:.24}}
.mw-slice{fill:var(--accent);fill-opacity:.06;stroke:color-mix(in srgb,var(--accent) 58%,transparent);stroke-width:1;transition:fill-opacity .22s var(--ease)}
.mw-slicebtn{cursor:pointer}
.mw-slicebtn:hover .mw-slice{fill-opacity:.16}
.mw-slicebtn.on .mw-slice{fill-opacity:.92;stroke:var(--accent)}
.mw-slicebtn.mw-dim{opacity:.2}
.mw-slabel{font-family:var(--f-display);font-size:20px;fill:var(--ink);text-anchor:middle;pointer-events:none;transition:fill .22s var(--ease)}
.mw-ssub{font-family:var(--f-mono);font-size:8.5px;letter-spacing:.04em;fill:var(--ink-soft);text-anchor:middle;pointer-events:none;transition:fill .22s var(--ease)}
.mw-slicebtn.on .mw-slabel,.mw-slicebtn.on .mw-ssub{fill:var(--on-accent)}
.mw-slicebtn:focus-visible .mw-slice{stroke:var(--ink);stroke-width:2.6}
.mw-conn{stroke:var(--accent);stroke-width:1.6;stroke-linecap:round;fill:none;opacity:.8}
.mw-node{cursor:pointer}
.mw-node circle{fill:var(--surface);stroke:var(--accent);stroke-width:1.8;transition:fill .22s var(--ease),stroke-width .22s var(--ease)}
.mw-node text{font-family:var(--f-mono);font-size:10px;font-weight:600;fill:var(--ink);text-anchor:middle;dominant-baseline:central;pointer-events:none;transition:fill .22s var(--ease)}
.mw-node.on circle{fill:var(--accent);stroke-width:2.6}
.mw-node.on text{fill:var(--on-accent)}
.mw-node.mw-dim{opacity:.2}
.mw-node:hover circle{stroke-width:2.6}
.mw-node:focus-visible circle{stroke-width:3.2;stroke:var(--ink)}
.mw__panel{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:1.05rem 1.15rem;min-height:13rem}
.mw__panel .mw-kind{font-family:var(--f-mono);font-size:.6rem;text-transform:uppercase;letter-spacing:.14em;color:var(--accent);margin:0 0 .35rem}
.mw__panel h3{font-family:var(--f-display);font-weight:400;font-size:1.42rem;margin:0 0 .1rem;letter-spacing:-.01em;line-height:1.1}
.mw__panel .mw-code{font-family:var(--f-mono);font-size:.7rem;color:var(--muted);margin:0 0 .8rem}
.mw__panel .mw-body{margin:0 0 .85rem;font-size:.9rem;color:var(--ink-soft);line-height:1.5}
.mw__panel dl{display:grid;grid-template-columns:auto 1fr;gap:.3rem .8rem;margin:0}
.mw__panel dt{font-family:var(--f-mono);font-size:.56rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);padding-top:.14rem}
.mw__panel dd{margin:0;font-size:.84rem;color:var(--ink);line-height:1.4}
.mw-chips{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.05rem}
.mw-chip{font-family:var(--f-mono);font-size:.6rem;padding:.16rem .46rem;border:1px solid var(--line-strong);border-radius:999px;color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent);white-space:nowrap}
.mw__panel.is-idle{display:flex;align-items:center;justify-content:center;text-align:center;color:var(--muted)}
.mw__panel.is-idle .mw-hint{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.03em;line-height:1.7;max-width:17rem;margin:0}
.mw__live{font-family:var(--f-mono);font-size:.66rem;letter-spacing:.04em;color:var(--accent);margin:1.2rem 0 0;border-top:1px solid var(--line);padding-top:.85rem}
.mw__instr{font-family:var(--f-mono);font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:.5rem 0 0}
.mw .figcap{margin-top:.4rem}
/* AAA · Nível 1 (ADR 004): sem tints · contraste máximo */
html[data-contrast="aaa"] .mw-slice{fill:none;stroke:var(--ink);stroke-width:1.4}
html[data-contrast="aaa"] .mw-slicebtn.on .mw-slice{fill:var(--accent);fill-opacity:1;stroke:var(--accent)}
html[data-contrast="aaa"] .mw__orbit{stroke:var(--ink);opacity:.5}
html[data-contrast="aaa"] .mw-chip{background:none}
/* motion ambiente · desliga em reduced-motion */
@keyframes mw-spin{to{transform:rotate(360deg)}}
@keyframes mw-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.03)}}
@media (prefers-reduced-motion:reduce){.mw__orbit-g,.mw__breathe{animation:none}}
