
:root{
  --rttri-direct-navy:#0B1F3B;
  --rttri-direct-carbon:#0A0A0A;
  --rttri-direct-gold:#DAA017;
  --rttri-direct-off:#F8F7F2;
  --rttri-direct-blue:#2484E8;
  --rttri-direct-line:rgba(11,31,59,.16);
}
.rttri-direct{max-width:1280px;margin:72px auto 48px;padding:56px 24px 0;border-top:1px solid var(--rttri-direct-line);color:var(--rttri-direct-carbon);font-family:inherit}
.rttri-direct *{box-sizing:border-box}
.rttri-direct__intro{max-width:820px;margin-bottom:34px}
.rttri-direct__kicker,.rttri-direct__label{font-size:12px;line-height:1.2;letter-spacing:.12em;font-weight:800;color:var(--rttri-direct-navy)}
.rttri-direct h2{font-size:clamp(38px,5vw,64px);line-height:.98;margin:10px 0 18px;color:var(--rttri-direct-navy);letter-spacing:-.035em}
.rttri-direct h3{font-size:clamp(24px,3vw,34px);margin:5px 0;color:var(--rttri-direct-navy)}
.rttri-direct p{font-size:17px;line-height:1.6}
.rttri-direct__notice{border-left:3px solid var(--rttri-direct-gold);padding-left:14px;font-size:14px!important}
.rttri-direct__grid{display:grid;grid-template-columns:minmax(260px,4fr) minmax(0,8fr);gap:36px;align-items:start}
.rttri-direct__controls{padding-top:8px}
.rttri-direct__group{margin-bottom:28px}
.rttri-direct__buttons{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.rttri-direct__buttons button,.rttri-direct__outcomes button,.rttri-direct__pattern button{
  appearance:none;border:1px solid var(--rttri-direct-navy);background:transparent;color:var(--rttri-direct-navy);
  min-height:44px;padding:10px 14px;border-radius:999px;font-weight:800;cursor:pointer
}
.rttri-direct__buttons button[aria-pressed="true"],.rttri-direct__outcomes button[aria-pressed="true"],.rttri-direct__pattern button[aria-pressed="true"]{
  background:var(--rttri-direct-navy);color:var(--rttri-direct-off);box-shadow:inset 0 -3px 0 var(--rttri-direct-gold)
}
.rttri-direct button:focus-visible{outline:3px solid var(--rttri-direct-blue);outline-offset:3px}
.rttri-direct__outcomes{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.rttri-direct__prob{padding:18px 0 22px;border-top:1px solid var(--rttri-direct-line);border-bottom:1px solid var(--rttri-direct-line);margin-bottom:28px}
.rttri-direct__prob strong{display:block;font-size:48px;line-height:1;color:var(--rttri-direct-blue);margin-top:8px}
.rttri-direct__prob p{font-size:14px;margin:8px 0 0}
.rttri-direct__chart-block{padding:18px 0 28px;border-top:1px solid var(--rttri-direct-line)}
.rttri-direct__chart-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}
.rttri-direct__chip{font-size:12px;font-weight:900;color:var(--rttri-direct-navy);border:1px solid var(--rttri-direct-line);padding:8px 10px;border-radius:999px}
.rttri-direct__chart{display:block;width:100%;height:auto;overflow:visible}
.rttri-direct__axis{stroke:var(--rttri-direct-navy);stroke-width:1}
.rttri-direct__gridline{stroke:var(--rttri-direct-line);stroke-width:1}
.rttri-direct__curve{fill:none;stroke:var(--rttri-direct-blue);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.rttri-direct__area{fill:rgba(36,132,232,.10)}
.rttri-direct__person-line{stroke:var(--rttri-direct-gold);stroke-width:2}
.rttri-direct__person-dot{fill:var(--rttri-direct-gold);stroke:var(--rttri-direct-off);stroke-width:3}
.rttri-direct__peak-band{fill:rgba(218,160,23,.16)}
.rttri-direct__tick{font-size:12px;fill:var(--rttri-direct-navy)}
.rttri-direct__axis-label{font-size:12px;font-weight:800;fill:var(--rttri-direct-navy)}
.rttri-direct__explain{margin-top:10px;padding-left:16px;border-left:3px solid var(--rttri-direct-blue);font-size:16px;line-height:1.55}
.rttri-direct__pattern-section{margin-top:54px;padding:34px 0;border-top:4px solid var(--rttri-direct-navy);border-bottom:1px solid var(--rttri-direct-line)}
.rttri-direct__pattern{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:24px 0 12px}
.rttri-direct__pattern button{border-radius:12px;text-align:left}
.rttri-direct__pattern-meta{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:16px;font-size:14px}
.rttri-direct__footer{margin-top:42px;background:var(--rttri-direct-navy);color:var(--rttri-direct-off);padding:28px 30px}
.rttri-direct__footer strong{font-size:clamp(22px,3vw,36px);line-height:1.05}
.rttri-direct__footer p{font-size:14px;margin-bottom:0}
@media(max-width:900px){.rttri-direct__grid{grid-template-columns:1fr}}
@media(max-width:640px){
  .rttri-direct{padding:40px 16px 0;margin-top:48px}
  .rttri-direct__pattern{grid-template-columns:1fr 1fr}
  .rttri-direct__pattern-meta{display:block}
}
@media(prefers-reduced-motion:reduce){
  .rttri-direct *{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}


/* V1.0.1 — refinamentos cirúrgicos */
.rttri-direct__intro h2{
  font-size:clamp(34px,4.4vw,56px);
  max-width:760px;
}
.rttri-direct__lead-note{
  max-width:720px;
  margin-top:14px;
  font-size:15px!important;
  color:rgba(10,10,10,.78);
}
.rttri-direct__selection-note{
  margin:9px 0 0!important;
  font-size:12px!important;
  line-height:1.35!important;
  letter-spacing:.06em;
  font-weight:800;
  color:var(--rttri-direct-blue);
}
.rttri-direct__controls{
  padding-top:4px;
}
.rttri-direct__group{
  margin-bottom:22px;
}
.rttri-direct__prob{
  padding:15px 0 18px;
  margin-bottom:22px;
}
.rttri-direct__prob strong{
  font-size:42px;
}
.rttri-direct__chart-block{
  padding-top:14px;
}
.rttri-direct__chart-annotation{
  font-size:13px;
  font-weight:800;
  fill:var(--rttri-direct-navy);
}
.rttri-direct__chart-annotation-sub{
  font-size:12px;
  font-weight:700;
  fill:var(--rttri-direct-blue);
}
.rttri-direct__guide-copy{
  font-size:13px;
  fill:rgba(11,31,59,.74);
}
@media(max-width:900px){
  .rttri-direct__intro h2{max-width:620px}
}


/* V1.0.2 — mobile + diagnóstico */
.rttri-direct__diag{
  margin-top:28px;
  border-top:1px dashed var(--rttri-direct-line);
  padding-top:16px;
  font-size:13px;
}
.rttri-direct__diag summary{
  cursor:pointer;
  font-weight:800;
  color:var(--rttri-direct-navy);
}
.rttri-direct__diag-grid{
  display:grid;
  grid-template-columns:140px 1fr;
  gap:8px 14px;
  margin-top:12px;
}
.rttri-direct__diag-grid strong[data-state="ok"]{color:#147a36}
.rttri-direct__diag-grid strong[data-state="fail"]{color:#9b1c1c}

@media(max-width:760px){
  .rttri-direct{
    margin-top:42px;
    padding-top:36px;
  }
  .rttri-direct__intro{
    margin-bottom:24px;
  }
  .rttri-direct__intro h2{
    font-size:clamp(32px,10vw,44px);
    line-height:1;
    max-width:520px;
  }
  .rttri-direct__intro p{
    font-size:16px;
  }
  .rttri-direct__grid{
    gap:16px;
  }
  .rttri-direct__controls{
    display:grid;
    grid-template-columns:1fr;
    gap:0;
  }
  .rttri-direct__group{
    margin-bottom:18px;
  }
  .rttri-direct__buttons{
    gap:7px;
  }
  .rttri-direct__buttons button{
    min-width:44px;
    padding:10px 12px;
  }
  .rttri-direct__prob{
    margin-bottom:18px;
    padding:14px 0 16px;
  }
  .rttri-direct__prob strong{
    font-size:38px;
  }
  .rttri-direct__outcomes{
    grid-template-columns:1fr 1fr;
  }
  .rttri-direct__outcomes button{
    width:100%;
    min-height:48px;
  }
  .rttri-direct__visuals{
    margin-top:4px;
  }
  .rttri-direct__chart-head{
    align-items:center;
  }
  .rttri-direct__chip{
    max-width:46%;
    text-align:right;
    line-height:1.2;
  }
  .rttri-direct__chart{
    margin-left:-6px;
    width:calc(100% + 12px);
  }
  .rttri-direct__explain{
    font-size:15px;
    padding-left:12px;
  }
  .rttri-direct__pattern-section{
    margin-top:38px;
    padding-top:26px;
  }
  .rttri-direct__pattern{
    grid-template-columns:1fr;
    gap:8px;
  }
  .rttri-direct__pattern button{
    min-height:48px;
  }
  .rttri-direct__pattern-meta{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:4px;
  }
  .rttri-direct__footer{
    margin-left:-16px;
    margin-right:-16px;
    padding:24px 20px;
  }
  .rttri-direct__footer strong{
    display:block;
    font-size:clamp(22px,7vw,30px);
  }
  .rttri-direct__diag-grid{
    grid-template-columns:110px 1fr;
  }
}

@media(max-width:420px){
  .rttri-direct__buttons[data-role="people"]{
    display:grid;
    grid-template-columns:repeat(3,1fr);
  }
  .rttri-direct__buttons[data-role="people"] button{
    width:100%;
  }
}


/* V1.0.3 — refinamento premium do mapa e padrões */
.rttri-direct__pattern-section{
  position:relative;
}
.rttri-direct__pattern-meta{
  display:grid;
  grid-template-columns:minmax(180px,.8fr) minmax(280px,1.2fr);
  gap:24px;
  align-items:start;
}
.rttri-direct__pattern-meta > div:first-child{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.rttri-direct__pattern-insight{
  font-size:14px;
  line-height:1.5;
  color:rgba(10,10,10,.72);
  border-left:2px solid var(--rttri-direct-gold);
  padding-left:12px;
}
.rttri-direct__accum-wrap{
  position:relative;
  margin-top:8px;
}
.rttri-direct__accum-callout{
  position:absolute;
  right:20px;
  top:16px;
  background:rgba(248,247,242,.94);
  border:1px solid var(--rttri-direct-line);
  padding:10px 12px;
  min-width:168px;
  backdrop-filter:blur(3px);
}
.rttri-direct__accum-callout span{
  display:block;
  font-size:10px;
  letter-spacing:.1em;
  font-weight:800;
  color:var(--rttri-direct-navy);
}
.rttri-direct__accum-callout strong{
  display:block;
  font-size:24px;
  line-height:1.1;
  margin-top:4px;
  color:var(--rttri-direct-gold);
}
.rttri-direct__compat-caption{
  font-size:12px;
  letter-spacing:.06em;
  font-weight:800;
  fill:rgba(11,31,59,.72);
}
.rttri-direct__compat-arrow{
  stroke:var(--rttri-direct-gold);
  stroke-width:1.5;
}
.rttri-direct__compat-arrowhead{
  fill:var(--rttri-direct-gold);
}
.rttri-direct__curve{
  vector-effect:non-scaling-stroke;
}
.rttri-direct__area{
  opacity:.95;
}

@media(max-width:760px){
  .rttri-direct__pattern-meta{
    grid-template-columns:1fr;
    gap:12px;
  }
  .rttri-direct__accum-callout{
    position:static;
    margin:8px 0 0;
    display:inline-block;
  }
}


/* V1.0.4 — Item G / mau ajuste didático */
.rttri-direct__misfit{
  margin-top:64px;
  padding:44px 0 12px;
  border-top:4px solid var(--rttri-direct-navy);
}
.rttri-direct__misfit-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:28px;
  align-items:start;
}
.rttri-direct__misfit-head > div:first-child{
  max-width:760px;
}
.rttri-direct__misfit-badge{
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  color:var(--rttri-direct-navy);
  border:1px solid var(--rttri-direct-line);
  padding:9px 11px;
  white-space:nowrap;
}
.rttri-direct__misfit-grid{
  display:grid;
  grid-template-columns:minmax(0,8fr) minmax(260px,4fr);
  gap:36px;
  margin-top:24px;
  align-items:start;
}
.rttri-direct__misfit-copy{
  padding-top:18px;
}
.rttri-direct__misfit-copy ol{
  margin:12px 0 18px;
  padding-left:20px;
}
.rttri-direct__misfit-copy li{
  margin:0 0 10px;
  line-height:1.5;
}
.rttri-direct__misfit-copy blockquote{
  margin:22px 0 0;
  padding:18px 0 18px 18px;
  border-left:3px solid var(--rttri-direct-gold);
  font-size:22px;
  line-height:1.25;
  font-weight:800;
  color:var(--rttri-direct-navy);
}
.rttri-direct__misfit-note{
  margin-top:22px;
  max-width:820px;
  border-top:1px solid var(--rttri-direct-line);
  padding-top:16px;
}
.rttri-direct__misfit-note strong{
  font-size:11px;
  letter-spacing:.1em;
  color:var(--rttri-direct-navy);
}
.rttri-direct__misfit-note p{
  margin:6px 0 0;
  font-size:14px;
}
.rttri-direct__legend{
  display:flex;
  flex-wrap:wrap;
  gap:18px;
  margin:8px 0 0 58px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.06em;
  color:var(--rttri-direct-navy);
}
.rttri-direct__legend span{
  display:flex;
  align-items:center;
  gap:8px;
}
.rttri-direct__legend-line{
  display:inline-block;
  width:24px;
  height:0;
  border-top:3px solid var(--rttri-direct-blue);
}
.rttri-direct__legend-dot{
  display:inline-block;
  width:9px;
  height:9px;
  border-radius:50%;
  background:var(--rttri-direct-carbon);
}
.rttri-direct__obs-dot{
  fill:var(--rttri-direct-carbon);
  stroke:var(--rttri-direct-off);
  stroke-width:2;
}
.rttri-direct__obs-dot--gap{
  fill:var(--rttri-direct-gold);
}
.rttri-direct__obs-guide{
  stroke:rgba(218,160,23,.34);
  stroke-width:1.2;
  stroke-dasharray:4 4;
}
.rttri-direct__obs-label{
  font-size:11px;
  font-weight:800;
  fill:var(--rttri-direct-gold);
}
@media(max-width:900px){
  .rttri-direct__misfit-head{
    grid-template-columns:1fr;
    gap:12px;
  }
  .rttri-direct__misfit-badge{
    justify-self:start;
  }
  .rttri-direct__misfit-grid{
    grid-template-columns:1fr;
    gap:18px;
  }
}
@media(max-width:760px){
  .rttri-direct__misfit{
    margin-top:46px;
    padding-top:32px;
  }
  .rttri-direct__legend{
    margin-left:0;
  }
  .rttri-direct__misfit-copy blockquote{
    font-size:20px;
  }
}
