/* ============================================================
   AXOS — Diagnóstico (V1.1 — consistência, hierarquia, polish)
   Design system: styles.css + evolve.css (home). Nada de paleta nova.
   Primitives (mesma linguagem da home, escala mais precisa):
     --dg-field-h : 48px   altura de inputs / selects / CTAs principais
     --dg-radius  : 12px   inputs e CTAs principais (não pill)
     --dg-radius-card : 16px
   ============================================================ */

:root{
  --dg-field-h: 48px;
  --dg-radius: 12px;
  --dg-radius-card: 16px;
  --dg-focus-ring: 0 0 0 3px rgba(91,126,232,.16);
  --dg-xfade: 220ms;
}

/* ---------- fundação ---------- */
.dg-main{ position:relative; overflow:hidden; }
.dg-wrap{
  max-width:var(--container-max, 1280px);
  margin-inline:auto;
  padding-inline:var(--container-pad, 48px);
}
@media (max-width:1279px){ .dg-wrap{ padding-inline:32px; } }
@media (max-width:767px){ .dg-wrap{ padding-inline:20px; } }

.dg-eyebrow{
  font-family:'Instrument Sans', sans-serif;
  font-size:11px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--ink-soft); display:block;
}
.dg-h1{
  font-family:'Instrument Sans', sans-serif; font-weight:500;
  text-transform:uppercase; letter-spacing:-.01em; line-height:1.02;
  font-size:clamp(38px, 6vw, 76px); color:var(--ink); margin-top:20px;
  text-wrap:balance;
}
.dg-h2{
  font-family:'Instrument Sans', sans-serif; font-weight:500;
  text-transform:uppercase; letter-spacing:-.005em; line-height:1.08;
  font-size:clamp(26px, 3.4vw, 42px); color:var(--ink); text-wrap:balance;
}
.dg-sup{
  font-family:'Instrument Sans', sans-serif; font-size:15px; line-height:1.55;
  color:var(--ink-soft); max-width:52ch; margin-top:20px;
}

/* ---------- primitives: input + botão (alinhados à home) ---------- */
.dg-input,
.dg-field input,
.dg-field select{
  height:var(--dg-field-h);
  padding-inline:16px;
  font-family:'Instrument Sans', sans-serif; font-size:14px; letter-spacing:.005em;
  color:var(--ink); background:var(--paper);
  border:1px solid var(--line-strong); border-radius:var(--dg-radius);
  transition:border-color .15s ease, box-shadow .15s ease;
  -webkit-appearance:none; appearance:none;
}
.dg-input::placeholder{ color:var(--muted); }
.dg-input:focus,
.dg-field input:focus,
.dg-field select:focus{
  outline:none; border-color:var(--ink); box-shadow:var(--dg-focus-ring);
}
.dg-field select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' stroke='%236E777A' stroke-width='1.4' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 14px center; padding-right:34px;
}

.dg-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  min-height:var(--dg-field-h); padding-inline:22px; border-radius:var(--dg-radius);
  font-family:'Instrument Sans', sans-serif; font-size:12.5px; letter-spacing:.03em;
  text-transform:uppercase; text-decoration:none; cursor:pointer; white-space:nowrap;
  background:var(--ink); color:var(--paper); border:1px solid var(--ink);
  transition:transform .15s ease, opacity .15s ease, background .15s ease, border-color .15s ease;
}
.dg-btn:hover{ transform:translateY(-1px); }
.dg-btn:focus-visible{ outline:2px solid var(--ink); outline-offset:2px; }
.dg-btn[disabled], .dg-btn.is-busy{ opacity:.82; pointer-events:none; transform:none; }
.dg-btn-ghost{ background:transparent; color:var(--ink); border:1px solid var(--line-strong); }
.dg-btn-ghost:hover{ border-color:var(--ink); }
.dg-btn .dg-btn-busy{ display:none; }
.dg-btn.is-busy .dg-btn-label{ display:none; }
.dg-btn.is-busy .dg-btn-busy{ display:inline-flex; align-items:center; gap:6px; }
.dg-btn-busy i{
  width:4px; height:4px; border-radius:50%; background:currentColor; display:inline-block;
  animation:dgBusyDot 1s ease-in-out infinite;
}
.dg-btn-busy i:nth-child(2){ animation-delay:.15s; }
.dg-btn-busy i:nth-child(3){ animation-delay:.3s; }
@keyframes dgBusyDot{ 0%,100%{ opacity:.3; } 50%{ opacity:1; } }

.dg-error{
  margin-top:14px; font-family:'Instrument Sans', sans-serif; font-size:13px;
  color:#C4614A; min-height:1.2em;
}

/* ---------- status rail (abaixo do header — NÃO é footer fixo) ---------- */
.dg-statusrail{
  position:sticky; top:var(--dg-header-h, 61px); z-index:30;
  background:var(--paper); border-bottom:1px solid var(--line);
}
body[data-stage="report"] .dg-statusrail{ display:none; }
.dg-statusrail-inner{ height:36px; display:flex; align-items:center; }
.dg-statusrail-steps{
  list-style:none; display:flex; gap:0; width:100%;
  font-family:'Instrument Sans', sans-serif; font-size:9.5px; letter-spacing:.08em;
  text-transform:uppercase; color:var(--muted);
}
.dg-statusrail-steps li{
  flex:1; display:flex; align-items:center; gap:7px;
  position:relative; padding-block:11px;
}
.dg-statusrail-steps li::before{
  content:''; width:4px; height:4px; border-radius:50%;
  background:var(--line-strong); flex-shrink:0; transition:background .3s ease;
}
.dg-statusrail-steps li.is-active{ color:var(--ink); }
.dg-statusrail-steps li.is-active::before{ background:var(--gold); }
.dg-statusrail-steps li.is-done{ color:var(--ink-soft); }
.dg-statusrail-steps li.is-done::before{ background:var(--ink-soft); }
.dg-statusrail-steps li.is-active::after{
  content:''; position:absolute; left:0; right:14px; bottom:-1px; height:2px;
  background:var(--gold); border-radius:2px;
}
.dg-statusrail-compact{ display:none; }

@media (max-width:767px){
  .dg-statusrail-steps{ display:none; }
  .dg-statusrail-compact{
    display:flex; align-items:center; gap:10px; width:100%;
    font-family:'Instrument Sans', sans-serif;
  }
  .dg-statusrail-count{ font-size:9.5px; letter-spacing:.1em; color:var(--muted); font-variant-numeric:tabular-nums; }
  .dg-statusrail-label{ font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:var(--ink); }
  .dg-statusrail-dots{ margin-left:auto; display:flex; gap:5px; }
  .dg-statusrail-dots i{ width:5px; height:5px; border-radius:50%; background:var(--line-strong); }
  .dg-statusrail-dots i.on{ background:var(--gold); }
  .dg-statusrail-dots i.past{ background:var(--ink-soft); }
}

/* ---------- controle de estágios + crossfade ---------- */
.dg-main [data-stage-panel]{ display:none; }
body[data-stage="entry"]      [data-stage-panel="entry"],
body[data-stage="processing"] [data-stage-panel="processing"],
body[data-stage="ready"]      [data-stage-panel="ready"],
body[data-stage="capture"]    [data-stage-panel="capture"]{ display:flex; }
body[data-stage="report"]     [data-stage-panel="report"]{ display:block; }

.dg-stage{
  min-height:calc(100vh - var(--dg-header-h, 61px) - 36px);
  display:flex; align-items:center;
  padding-block:72px;
  position:relative;
}
@media (max-width:767px){ .dg-stage{ min-height:auto; padding-block:52px; } }

.dg-fade{ animation:dgFade var(--dg-xfade) ease both; }
@keyframes dgFade{ from{ opacity:0; transform:translateY(4px); } to{ opacity:1; transform:none; } }
@media (prefers-reduced-motion: reduce){ .dg-fade{ animation:none; } }

/* ============================================================
   ESTÁGIO 01 — ENTRADA
   ============================================================ */
.dg-entry .dg-wrap{ position:relative; z-index:2; width:100%; }
.dg-entry-grid{ max-width:820px; }
.dg-entry .dg-form{
  margin-top:36px; display:flex; gap:12px; flex-wrap:wrap; align-items:center;
}
.dg-entry .dg-input{ flex:0 1 440px; min-width:240px; }
.dg-entry .dg-btn{ flex:0 0 auto; min-width:168px; }

/* radial fantasma, presença sutil e incompleta */
.dg-ghost-radial{
  position:absolute; right:-14%; top:50%; transform:translateY(-50%);
  width:min(720px, 58vw); aspect-ratio:1/1;
  opacity:.14; pointer-events:none; z-index:1;
  -webkit-mask-image:linear-gradient(105deg, transparent 8%, #000 55%);
          mask-image:linear-gradient(105deg, transparent 8%, #000 55%);
}
.dg-ghost-radial svg{ width:100%; height:100%; }
@media (max-width:900px){ .dg-ghost-radial{ opacity:.08; right:-30%; } }

/* ============================================================
   ESTÁGIO 02 — PROCESSAMENTO  |  ESTÁGIO 03 — LEITURA PRONTA
   ============================================================ */
.dg-instrument-stage{
  display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,0.9fr);
  gap:56px; align-items:center; width:100%;
}
@media (max-width:1023px){
  .dg-instrument-stage{ grid-template-columns:1fr; gap:32px; }
  .dg-instrument-stage .dg-instrument-copy{ order:2; }
  .dg-instrument-stage .dg-instrument-viz{ order:1; }
}
.dg-instrument-viz{
  position:relative; width:100%; max-width:540px; aspect-ratio:1/1; margin-inline:auto;
}
.dg-instrument-viz svg{ width:100%; height:100%; display:block; overflow:visible; }
.dg-viz-center{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  pointer-events:none;
}
.dg-viz-center span{
  font-family:'Instrument Sans', sans-serif; font-size:10.5px; letter-spacing:.02em;
  text-transform:lowercase; color:var(--paper);
  max-width:82px; text-align:center; line-height:1.25;
  overflow-wrap:anywhere; hyphens:none;
}

/* --- Pulse vivo durante o processamento (motion indeterminado) --- */
.dg-pulse-processing .pri-arms line{
  animation:dgArmBreathe 3.6s ease-in-out infinite;
}
@keyframes dgArmBreathe{
  0%,100%{ opacity:.70; }
  50%{ opacity:1; }
}
/* highlight percorre os 8 segmentos do anel (loop contínuo ~5s) */
.dg-pulse-processing .pri-ring path{
  animation:dgRingSweep 5s linear infinite;
}
@keyframes dgRingSweep{
  0%, 84%, 100%{ opacity:.82; stroke-width:10; }
  8%{ opacity:1; stroke-width:13; }
}
.dg-pulse-processing > circle{
  transform-box:view-box; transform-origin:260px 260px;
  animation:dgHubPulse 3.2s ease-in-out infinite;
}
@keyframes dgHubPulse{
  0%,100%{ transform:scale(1); opacity:1; }
  50%{ transform:scale(1.04); opacity:.93; }
}
.dg-processing .dg-viz-center span{ animation:dgHubPulse 3.2s ease-in-out infinite; }
@media (prefers-reduced-motion: reduce){
  .dg-pulse-processing .pri-arms line,
  .dg-pulse-processing .pri-ring path,
  .dg-pulse-processing > circle,
  .dg-processing .dg-viz-center span{ animation:none; }
}

/* --- thinking: log de fases reais (o back transmite conforme executa) --- */
.dg-thinking{
  list-style:none; margin-top:28px; position:relative; padding-left:20px;
  display:flex; flex-direction:column; gap:12px; min-height:96px;
}
.dg-thinking::before{
  content:''; position:absolute; left:3px; top:6px; bottom:6px; width:1px;
  background:var(--line-strong);
}
.dg-thinking li{
  font-family:'Instrument Sans', sans-serif; font-size:14px; line-height:1.3;
  color:var(--muted); position:relative;
  animation:dgThoughtIn .28s ease both;
}
.dg-thinking li::before{
  content:''; position:absolute; left:-20px; top:.45em; width:6px; height:6px;
  border-radius:50%; background:var(--line-strong); transform:translateX(-2px);
}
.dg-thinking li.is-done{ color:var(--ink-soft); }
.dg-thinking li.is-done::before{ background:var(--ink-soft); }
.dg-thinking li.is-current{ color:var(--ink); }
.dg-thinking li.is-current::before{
  background:var(--gold);
  box-shadow:0 0 0 0 rgba(91,126,232,.4);
  animation:dgThoughtPulse 1.6s ease-out infinite;
}
@keyframes dgThoughtIn{ from{ opacity:0; transform:translateY(4px); } to{ opacity:1; transform:none; } }
@keyframes dgThoughtPulse{
  0%{ box-shadow:0 0 0 0 rgba(91,126,232,.4); }
  70%,100%{ box-shadow:0 0 0 7px rgba(91,126,232,0); }
}
@media (prefers-reduced-motion: reduce){
  .dg-thinking li{ animation:none; }
  .dg-thinking li.is-current::before{ animation:none; }
}

.dg-ready-actions{ margin-top:28px; display:flex; gap:12px; flex-wrap:wrap; }

/* ============================================================
   ESTÁGIO 04 — CAPTURA
   ============================================================ */
.dg-capture-grid{
  display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,0.62fr);
  gap:56px; align-items:center; width:100%;
}
@media (max-width:1023px){ .dg-capture-grid{ grid-template-columns:1fr; gap:32px; } }
.dg-capture-viz{ width:100%; max-width:320px; margin-inline:auto; aspect-ratio:1/1; opacity:.42; }
.dg-capture-viz svg{ width:100%; height:100%; }
@media (max-width:1023px){ .dg-capture-viz{ display:none; } }

.dg-capture-form{ max-width:580px; }
.dg-field{ margin-top:22px; display:flex; flex-direction:column; }
.dg-field:first-of-type{ margin-top:24px; }
.dg-field label{
  font-family:'Instrument Sans', sans-serif;
  font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-soft);
  margin-bottom:8px;
}
.dg-field-optional{ font-size:10px; color:var(--muted); letter-spacing:.06em; text-transform:none; }

.dg-optin{
  margin-top:22px; display:flex; gap:10px; align-items:flex-start;
}
.dg-optin input{
  margin-top:2px; width:15px; height:15px; flex-shrink:0; accent-color:var(--gold);
  border-radius:4px;
}
.dg-optin label{
  font-family:'Instrument Sans', sans-serif; font-size:12px; line-height:1.5;
  color:var(--muted); margin:0; letter-spacing:0; text-transform:none;
}
.dg-capture .dg-btn{ margin-top:26px; min-width:220px; }

/* ============================================================
   ESTÁGIO 05 — RELATÓRIO
   ============================================================ */
.dg-report{ padding-bottom:0; animation:dgFade var(--dg-xfade) ease both; }
@media (prefers-reduced-motion: reduce){ .dg-report{ animation:none; } }
.dg-report-section{
  padding-block:clamp(64px, 10vh, 112px);
  border-top:1px solid var(--line);
}
.dg-report-section:first-child{ border-top:none; }

/* --- 10-15. Resultado geral: score = dado de primeira classe --- */
.dg-result-grid{
  display:grid; grid-template-columns:minmax(0,0.92fr) minmax(0,1.08fr);
  gap:64px; align-items:center;
}
@media (max-width:1023px){ .dg-result-grid{ grid-template-columns:1fr; gap:36px; } }
.dg-result-viz{ width:100%; max-width:560px; margin-inline:auto; aspect-ratio:1/1; }
.dg-result-viz svg{ width:100%; height:100%; display:block; overflow:visible; }

.dg-kv-label{
  display:block; font-family:'Instrument Sans', sans-serif;
  font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted);
  margin-bottom:8px;
}
.dg-result-block{ margin-bottom:30px; }
.dg-result-block:last-child{ margin-bottom:0; }

.dg-company{
  font-family:'Instrument Sans', sans-serif; font-weight:500; color:var(--ink);
  text-transform:uppercase; letter-spacing:-.01em; line-height:1.05;
  font-size:clamp(22px,2.4vw,30px);
}

.dg-general-score{ display:flex; align-items:baseline; gap:10px; }
.dg-general-score__value{
  font-family:'Instrument Sans', sans-serif; font-weight:400;
  font-size:clamp(58px, 5vw, 82px); line-height:.88; letter-spacing:-.05em;
  color:var(--ink); font-variant-numeric:tabular-nums;
}
.dg-general-score__max{
  font-family:'Instrument Sans', sans-serif; font-size:16px; font-weight:400;
  color:var(--muted); letter-spacing:0;
}
.dg-general-score__note{
  font-family:'Instrument Sans', sans-serif; font-size:11px; color:var(--muted);
  letter-spacing:.02em; margin-top:10px;
}

.dg-archetype-title{
  font-family:'Instrument Sans', sans-serif; font-weight:450;
  font-size:clamp(34px, 3.2vw, 50px); line-height:.98; letter-spacing:-.03em;
  text-transform:uppercase; color:var(--ink); max-width:15ch; text-wrap:balance;
}
.dg-archetype-desc{
  font-family:'Instrument Sans', sans-serif; font-size:14px; line-height:1.55;
  color:var(--ink-soft); max-width:46ch; margin-top:16px;
}
.dg-headline{
  font-family:'Instrument Sans', sans-serif; font-size:13px; line-height:1.5;
  color:var(--ink-soft); max-width:52ch; margin-top:12px;
}

/* fontes consultadas — auditabilidade, não headline */
.dg-sources{ margin-top:26px; padding-top:16px; border-top:1px solid var(--line); max-width:420px; }
.dg-sources ul{ list-style:none; display:flex; flex-direction:column; gap:6px; margin-top:9px; }
.dg-sources li{ font-family:'Instrument Sans', sans-serif; font-size:11.5px; line-height:1.45; color:var(--ink-soft); }
.dg-sources a{ color:var(--ink-soft); text-decoration:none; border-bottom:1px solid var(--line); }
.dg-sources a:hover{ color:var(--ink); border-color:var(--line-strong); }
.dg-sources i{ font-style:normal; color:var(--muted); font-size:10.5px; margin-left:6px; }

/* --- 12. Exploração dos 8 eixos --- */
.dg-axes-head{ max-width:640px; margin-bottom:44px; }
.dg-axes-grid{
  display:grid; grid-template-columns:66% 34%; gap:0; align-items:center;
}
@media (max-width:1023px){ .dg-axes-grid{ display:block; } }

.dg-axes-viz{ position:relative; width:100%; max-width:620px; aspect-ratio:1/1; margin-inline:auto; }
.dg-axes-viz svg{ width:100%; height:100%; display:block; overflow:visible; }

.dg-axis-panel{ padding-left:36px; }
@media (max-width:1023px){ .dg-axis-panel{ padding-left:0; margin-top:8px; } }

.dg-axis-card{
  border:1px solid var(--eixo-border, var(--line));
  background:var(--eixo-bg, var(--paper));
  border-radius:var(--dg-radius-card); padding:26px;
}
.dg-axis-top{ display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.dg-axis-index{
  font-family:'Instrument Sans', sans-serif; font-size:11px; letter-spacing:.1em;
  color:var(--ink-soft); font-variant-numeric:tabular-nums;
}
.dg-axis-symbol{
  width:46px; height:46px; border-radius:50%; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  background:var(--eixo-symbol-bg, rgba(60,70,74,.12)); color:var(--eixo-c, var(--ink));
}
.dg-axis-symbol svg{ width:34px; height:34px; }
.dg-axis-name{
  font-family:'Instrument Sans', sans-serif; font-weight:500; text-transform:uppercase;
  letter-spacing:-.015em; font-size:clamp(21px,2.1vw,27px); color:var(--ink); margin-top:20px;
}
.dg-axis-scoreline{ display:flex; align-items:baseline; gap:12px; margin-top:10px; }
.dg-axis-score{
  font-family:'Instrument Sans', sans-serif; font-weight:400; font-size:38px;
  line-height:1; color:var(--eixo-c, var(--ink)); letter-spacing:-.03em;
  font-variant-numeric:tabular-nums;
}
.dg-axis-score small{ font-size:14px; color:var(--muted); font-weight:400; }
.dg-axis-confidence{
  align-self:center;
  font-family:'Instrument Sans', sans-serif; font-size:10px; letter-spacing:.09em;
  text-transform:uppercase; color:var(--muted);
  border:1px solid var(--line); border-radius:20px; padding:4px 10px; white-space:nowrap;
}
.dg-axis-question{
  font-family:'Instrument Sans', sans-serif; font-size:14.5px; line-height:1.35;
  color:var(--ink); margin-top:16px;
}
.dg-axis-reading{
  font-family:'Instrument Sans', sans-serif; font-size:13px; line-height:1.55;
  color:var(--ink-soft); margin-top:11px;
}
.dg-axis-fragile{
  margin-top:16px; padding-top:13px; border-top:1px solid rgba(20,20,20,.1);
  font-family:'Instrument Sans', sans-serif; font-size:12.5px; line-height:1.45; color:var(--ink-soft);
}
.dg-axis-fragile b, .dg-axis-evidence b{
  display:block; font-weight:600; text-transform:uppercase; font-size:9.5px;
  letter-spacing:.1em; color:var(--muted); margin-bottom:6px;
}
.dg-axis-evidence{ margin-top:16px; padding-top:13px; border-top:1px solid rgba(20,20,20,.1); }
.dg-axis-evidence ul{ list-style:none; display:flex; flex-direction:column; gap:8px; }
.dg-axis-evidence li{
  font-family:'Instrument Sans', sans-serif; font-size:12px; line-height:1.45; color:var(--ink-soft);
}
.dg-axis-evidence a{ color:var(--gold); text-decoration:none; border-bottom:1px solid var(--line-strong); }
.dg-axis-evidence a:hover{ border-color:var(--gold); }

.dg-axis-nav{ display:flex; gap:10px; margin-top:20px; }
.dg-axis-nav button{
  flex:1; min-height:42px; padding-inline:12px; border-radius:10px; cursor:pointer;
  font-family:'Instrument Sans', sans-serif; font-size:11px; letter-spacing:.06em; text-transform:uppercase;
  background:transparent; color:var(--ink); border:1px solid var(--line-strong);
  transition:border-color .15s ease, background .15s ease;
}
.dg-axis-nav button:hover{ border-color:var(--ink); }

/* mobile: radial + slider horizontal scroll-snap */
.dg-axes-slider{ display:none; }
.dg-axes-slider-indicator{ display:none; }
@media (max-width:1023px){
  .dg-axis-panel > .dg-axis-card, .dg-axis-nav{ display:none; }
  .dg-axes-slider{
    display:flex; gap:14px; overflow-x:auto; scroll-snap-type:x mandatory;
    scrollbar-width:none; margin-top:20px;
    width:100vw; margin-left:calc(50% - 50vw); padding-inline:20px;
  }
  .dg-axes-slider::-webkit-scrollbar{ display:none; }
  .dg-axes-slider .dg-axis-card{
    flex:0 0 calc(100vw - 56px); scroll-snap-align:center;
  }
  .dg-axes-slider-indicator{
    display:block; text-align:center; margin-top:14px;
    font-family:'Instrument Sans', sans-serif; font-size:11px; letter-spacing:.08em; color:var(--muted);
    font-variant-numeric:tabular-nums;
  }
}

/* --- 21-24. Tensões: lado a lado, concisas --- */
.dg-tensions-head{ max-width:640px; margin-bottom:40px; }
.dg-tensions-grid{
  display:grid; gap:18px;
  grid-template-columns:repeat(var(--dg-tension-cols, 3), minmax(0,1fr));
}
@media (max-width:1199px){ .dg-tensions-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (max-width:719px){ .dg-tensions-grid{ grid-template-columns:1fr; } }

.dg-tension{
  border:1px solid var(--line); border-radius:18px; padding:22px;
  min-height:230px;
  background:
    linear-gradient(150deg, rgba(224,165,110,.08), transparent 46%),
    linear-gradient(320deg, rgba(173,168,200,.10), transparent 48%),
    var(--paper);
  display:flex; flex-direction:column; gap:12px;
}
.dg-tension-num{
  font-family:'Instrument Sans', sans-serif; font-size:11px; letter-spacing:.1em;
  color:var(--muted); font-variant-numeric:tabular-nums;
}
.dg-tension-pair{
  font-family:'Instrument Sans', sans-serif; font-weight:500; text-transform:uppercase;
  letter-spacing:-.01em; font-size:15px; line-height:1.25; color:var(--ink);
  display:flex; flex-direction:column; gap:3px;
}
.dg-tension-pair .x{ color:var(--muted); font-weight:400; }
.dg-tension-body{
  font-family:'Instrument Sans', sans-serif; font-size:13px; line-height:1.55; color:var(--ink-soft);
  margin-top:auto;
}
.dg-tension-axes{ display:flex; gap:14px; flex-wrap:wrap; padding-top:12px; border-top:1px solid var(--line); }
.dg-tension-axis{
  font-family:'Instrument Sans', sans-serif; font-size:10px; letter-spacing:.05em;
  text-transform:uppercase; color:var(--muted);
  display:flex; align-items:center; gap:6px; font-variant-numeric:tabular-nums;
}
.dg-tension-axis i{ width:8px; height:8px; border-radius:50%; display:inline-block; }

/* --- 16. Limite da leitura externa --- */
.dg-limits-split{
  display:grid; grid-template-columns:1fr 1fr; gap:0;
  border:1px solid var(--line); border-radius:18px; overflow:hidden; margin-top:40px;
}
@media (max-width:767px){ .dg-limits-split{ grid-template-columns:1fr; } }
.dg-limits-col{ padding:32px; }
.dg-limits-col + .dg-limits-col{ border-left:1px solid var(--line); }
@media (max-width:767px){ .dg-limits-col + .dg-limits-col{ border-left:none; border-top:1px solid var(--line); } }
.dg-limits-col.is-outside{ background:var(--paper); }
.dg-limits-col.is-inside{
  background:
    radial-gradient(circle at 20% 15%, rgba(91,126,232,.09), transparent 55%),
    radial-gradient(circle at 85% 90%, rgba(173,168,200,.10), transparent 55%),
    var(--card);
}
.dg-limits-col h3{
  font-family:'Instrument Sans', sans-serif; font-weight:600; text-transform:uppercase;
  font-size:11px; letter-spacing:.12em; color:var(--ink-soft); margin-bottom:18px;
}
.dg-limits-col ul{ list-style:none; }
.dg-limits-col li{
  font-family:'Instrument Sans', sans-serif; font-size:14px; color:var(--ink);
  padding:10px 0; border-top:1px solid var(--line);
}
.dg-limits-col li:first-child{ border-top:none; }

/* --- 25-28. CTA final: endcap compacto, convite --- */
.dg-final-invite{
  max-width:620px; padding-block:72px 96px;
}
.dg-final-invite .dg-eyebrow{ margin-bottom:16px; }
.dg-final-invite h2{
  font-family:'Instrument Sans', sans-serif; font-weight:500; text-transform:none;
  font-size:clamp(32px, 3.4vw, 48px); line-height:1.02; letter-spacing:-.02em;
  color:var(--ink); max-width:20ch; text-wrap:balance; margin-top:16px;
}
.dg-final-invite p{
  font-family:'Instrument Sans', sans-serif; font-size:14.5px; line-height:1.55;
  color:var(--ink-soft); max-width:430px; margin-top:20px;
}
.dg-final-invite .dg-btn{ margin-top:30px; }
