/* Trilho 2027: veste de campanha sobre o kit Marvee, sem alterar a base compartilhada.
   Linguagem das páginas /scale e da Central de Ajuda do Hub: faixas navy com gradiente
   radial e cantos arredondados, cards brancos com tile de ícone, nav em pílula, timeline
   em zigue-zague e barra fixa de conversão. Sem gradiente em texto nem na marca.

   ESCOPO. Tudo vive sob a classe raiz .tr e toda classe leva o prefixo tr-, como a
   LEGACI faz com .lg. O rascunho era global (body, h1, .btn, .card, .wrap, nav) e
   colidiria com o /site/site.css que o Base.astro carrega antes desta folha. As
   variáveis também levam o prefixo (--tr-line não é o --line do site).
   As regras de elemento (h2, a, p) entram como :where(.tr) h2: o escopo não soma
   especificidade, então uma classe da página (.tr-btn-dark) continua vencendo um
   elemento (a), como no rascunho, e a ordem de carga vence o site.css. */
.tr {
  --tr-navy:#04081f; --tr-navy-1:#08103a; --tr-navy-2:#0e1a4d; --tr-navy-3:#1b2b6e;
  --tr-teal:#5BC0BE; --tr-teal-ink:#0f7b77; --tr-teal-soft:#8fe3e0; --tr-peri:#8aa4ff;
  --tr-paper:#f2f5f5; --tr-card:#fff; --tr-ink:#141b33; --tr-soft:#59617a; --tr-line:rgba(16,24,40,.08); --tr-line-2:rgba(16,24,40,.14);
  --tr-cream:#e9eefa; --tr-cream-soft:rgba(233,238,250,.7); --tr-glass-line:rgba(255,255,255,.1);
  --tr-sh-card:0 2px 4px rgba(16,24,40,.04), 0 30px 60px -36px rgba(4,8,31,.4);
  --tr-sh-pop:0 4px 10px rgba(16,24,40,.06), 0 24px 60px -24px rgba(4,8,31,.45);
  --tr-r:20px; --tr-r-lg:32px;
  --tr-font:'Manrope',system-ui,sans-serif;
  --tr-tb:38px;
}
:where(.tr) [hidden] { display:none !important; }
:where(.tr), :where(.tr) * { box-sizing:border-box; }
.tr { margin:0; background:var(--tr-paper); color:var(--tr-ink); font-family:var(--tr-font); line-height:normal; -webkit-font-smoothing:antialiased; }
:where(.tr) img { display:block; max-width:100%; height:auto; }
:where(.tr) h1, :where(.tr) h2, :where(.tr) h3, :where(.tr) p, :where(.tr) figure, :where(.tr) dl, :where(.tr) dd, :where(.tr) blockquote { margin:0; }
:where(.tr) p { text-wrap:pretty; }
:where(.tr) ul, :where(.tr) ol { margin:0; padding:0; list-style:none; }
:where(.tr) a { color:inherit; }
.tr-wrap { width:calc(100% - 56px); max-width:1180px; margin-inline:auto; }
:where(.tr) section[id] { scroll-margin-top:calc(var(--tr-tb) + 96px); }
.tr-skip { position:fixed; top:12px; left:20px; z-index:200; transform:translateY(-200%); background:#fff; color:var(--tr-navy); padding:12px 20px; border-radius:8px; }
.tr-skip:focus { transform:none; }
:where(.tr) a:focus-visible, :where(.tr) button:focus-visible, :where(.tr) summary:focus-visible, :where(.tr) input:focus-visible, :where(.tr) select:focus-visible, :where(.tr) textarea:focus-visible { outline:3px solid var(--tr-teal); outline-offset:3px; }

.tr-ic { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; flex:none; }

/* Tipografia */
:where(.tr) h1 { font-size:clamp(38px,4.8vw,64px); line-height:1.05; font-weight:500; letter-spacing:-.04em; color:#fff; text-wrap:balance; }
:where(.tr) h1 em { font-style:normal; color:var(--tr-teal-soft); }
:where(.tr) h2 { font-size:clamp(30px,3.4vw,46px); line-height:1.12; font-weight:500; letter-spacing:-.035em; text-wrap:balance; color:inherit; }
:where(.tr) h2 span { color:var(--tr-soft); }
:where(.tr) h3 { font-size:19px; line-height:1.3; font-weight:650; letter-spacing:-.02em; color:inherit; }
.tr-body { font-size:16px; line-height:1.75; color:var(--tr-soft); }
.tr-body + .tr-body { margin-top:14px; }
.tr-kicker { display:inline-flex; align-items:center; gap:8px; font-size:15px; font-weight:600; letter-spacing:-.01em; color:var(--tr-teal); }
.tr-kicker .tr-ic { width:17px; height:17px; }
.tr-kicker-ink { color:var(--tr-teal-ink); }

.tr-sec-head { text-align:center; max-width:780px; margin:0 auto 52px; }
.tr-sec-head h2 { margin-top:14px; }
.tr-sec-sub { margin:18px auto 0; max-width:62ch; font-size:17px; line-height:1.7; color:var(--tr-soft); }
.tr-sec-head-dark h2 { color:#fff; }
.tr-sec-head-dark h2 span { color:var(--tr-cream-soft); }
.tr-sec-head-dark .tr-sec-sub { color:var(--tr-cream-soft); }

/* Botões */
.tr-btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:52px; padding:14px 24px; border-radius:999px; font:700 14.5px/1.2 var(--tr-font); text-decoration:none; border:1px solid transparent; cursor:pointer; transition:transform .18s, background .18s, filter .18s; }
.tr-btn:hover { transform:translateY(-2px); }
.tr-btn-sm { min-height:42px; padding:10px 18px; font-size:13.5px; }
.tr-btn-teal { background:var(--tr-teal); color:var(--tr-navy); }
.tr-btn-teal:hover { filter:brightness(1.08); }
.tr-btn-dark { background:var(--tr-navy); color:#fff; }
.tr-btn-dark:hover { background:var(--tr-navy-2); }
.tr-btn-ghost { color:#fff; border-color:rgba(255,255,255,.28); }
.tr-btn-ghost:hover { background:rgba(255,255,255,.06); }
.tr-btn-full { width:100%; }

/* Nav em pílula */
.tr-nav-wrap { position:fixed; top:calc(var(--tr-tb) + 10px); left:0; right:0; z-index:100; padding:0 16px; pointer-events:none; }
.tr-nav { position:relative; top:auto; pointer-events:auto; max-width:1040px; margin:0 auto; display:flex; align-items:center; gap:20px; padding:8px 8px 8px 20px; border-radius:999px; background:rgba(255,255,255,.86); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); border:1px solid rgba(255,255,255,.6); box-shadow:0 10px 40px -18px rgba(4,8,31,.45); }
.tr-brand { display:inline-flex; align-items:center; gap:10px; font-weight:750; font-size:15.5px; letter-spacing:-.01em; color:var(--tr-ink); text-decoration:none; }
.tr-brand-mark { display:grid; place-items:center; width:30px; height:30px; border-radius:9px; background:var(--tr-teal-ink); color:#fff; font-size:15px; font-weight:800; box-shadow:inset 0 1px 0 rgba(255,255,255,.35); }
.tr-nav-links { display:flex; gap:22px; margin-left:auto; }
.tr-nav-links a { font-size:13.5px; font-weight:600; color:var(--tr-soft); text-decoration:none; }
.tr-nav-links a:hover { color:var(--tr-ink); }

/* Hero */
.tr-hero { padding:calc(var(--tr-tb) + 12px) 12px 0; }
.tr-tb-short { display:none; }
.tr-topbar { position:fixed; top:0; left:0; right:0; z-index:110; min-height:var(--tr-tb); display:flex; align-items:center; justify-content:center; padding:8px 16px; background:#c62828; color:#fff; font-size:13.5px; font-weight:700; letter-spacing:-.005em; text-align:center; line-height:1.35; }
.tr-hero-card { position:relative; overflow:hidden; border-radius:var(--tr-r-lg); padding:132px 28px 0; color:#fff;
  background:radial-gradient(70% 70% at 50% 0%, var(--tr-navy-3) 0%, var(--tr-navy-2) 40%, var(--tr-navy-1) 70%, var(--tr-navy) 100%); }
.tr-hero-card::before { content:''; position:absolute; inset:0; background-image:radial-gradient(rgba(255,255,255,.07) 1px, transparent 1px); background-size:26px 26px; mask-image:radial-gradient(60% 50% at 50% 20%, #000, transparent 75%); pointer-events:none; }
.tr-hero-head { position:relative; text-align:center; max-width:860px; margin:0 auto; }
.tr-hero-head h1 { margin-top:20px; }
.tr-hero-sub { margin:24px auto 0; max-width:62ch; font-size:18px; line-height:1.7; color:var(--tr-cream-soft); }
.tr-actions { display:flex; justify-content:center; flex-wrap:wrap; gap:12px; margin-top:32px; }

.tr-table-diagram { position:relative; max-width:1000px; margin:64px auto 0; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr) minmax(0,1fr); align-items:end; gap:0; }
.tr-seat { position:relative; height:400px; border-radius:200px 200px 22px 22px; overflow:hidden; border:1px solid rgba(143,164,255,.28); background:var(--tr-navy-1); box-shadow:0 30px 60px -30px rgba(0,0,0,.7); }
.tr-seat img { width:100%; height:100%; object-fit:cover; filter:grayscale(1) contrast(1.06) brightness(.95); transition:filter .5s; }
.tr-seat:hover img { filter:none; }
.tr-seat-left img { object-position:36% 20%; }
.tr-seat-right img { object-position:center 16%; }
.tr-seat::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg, transparent 52%, rgba(4,8,31,.94)); }
.tr-seat figcaption { position:absolute; z-index:1; left:22px; right:16px; bottom:20px; font-size:17px; font-weight:700; }
.tr-seat figcaption span { display:block; font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--tr-teal); margin-bottom:6px; }
.tr-table-center { position:relative; align-self:center; display:grid; place-items:center; height:200px; }
.tr-table-lines { position:absolute; inset:0; width:100%; height:100%; }
.tr-table-lines path { stroke:rgba(143,227,224,.45); stroke-width:1.5; stroke-dasharray:4 6; fill:none; vector-effect:non-scaling-stroke; }
.tr-table-node { position:relative; text-align:center; padding:20px 22px; border-radius:22px; max-width:250px; background:linear-gradient(rgba(255,255,255,.08), rgba(255,255,255,.03)); border:1px solid rgba(143,227,224,.35); backdrop-filter:blur(6px); box-shadow:0 0 0 8px rgba(91,192,190,.05); }
.tr-table-node-k { display:block; font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--tr-teal); }
.tr-table-node strong { display:block; margin-top:8px; font-size:18px; letter-spacing:-.02em; }
.tr-table-node-q { display:block; margin-top:8px; font-size:13px; color:var(--tr-cream-soft); }

.tr-hero-facts { position:relative; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); max-width:1000px; margin:0 auto; border-top:1px solid rgba(255,255,255,.12); }
.tr-hero-facts div { padding:26px 20px 30px; text-align:center; }
.tr-hero-facts div + div { border-left:1px solid rgba(255,255,255,.12); }
.tr-hero-facts dt { font-size:clamp(30px,3.2vw,42px); font-weight:600; letter-spacing:-.04em; line-height:1; }
.tr-hero-facts dd { margin-top:8px; font-size:13px; color:var(--tr-cream-soft); }

/* Seções */
.tr-sec { padding:110px 0; }
.tr-sec-tight { padding:40px 0 90px; }
.tr-band { margin:0 12px; border-radius:var(--tr-r-lg); padding:110px 0; color:var(--tr-cream);
  background:radial-gradient(90% 120% at 85% 0%, #142466 0%, #0a1442 40%, var(--tr-navy) 85%); }
.tr-band + .tr-band { margin-top:12px; }

/* Ritual */
.tr-ritual-flow { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; counter-reset:r; }
.tr-ritual-flow li { position:relative; background:var(--tr-card); border:1px solid var(--tr-line); border-radius:var(--tr-r); padding:22px; box-shadow:var(--tr-sh-card); }
.tr-ritual-flow li:not(:last-child)::after { content:''; position:absolute; top:50%; right:-13px; width:10px; height:10px; border-top:2px solid var(--tr-teal-ink); border-right:2px solid var(--tr-teal-ink); transform:translateY(-50%) rotate(45deg); z-index:1; }
.tr-rf-n { font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--tr-teal-ink); }
.tr-ritual-flow strong { display:block; margin-top:10px; font-size:18px; letter-spacing:-.02em; }
.tr-ritual-flow p { margin-top:6px; font-size:14.5px; line-height:1.55; color:var(--tr-soft); }
.tr-rf-end { background:#fbeff3 !important; border-color:rgba(161,58,94,.18) !important; }
.tr-rf-end .tr-rf-n { color:#a13a5e; }
.tr-problem-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:56px; align-items:center; margin-top:56px; }
.tr-punch { font-size:clamp(24px,2.4vw,32px); line-height:1.3; font-weight:600; letter-spacing:-.03em; padding-left:24px; border-left:3px solid var(--tr-teal); }

/* Glass cards (faixa escura) */
.tr-forces { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.tr-glass-top { display:flex; align-items:center; justify-content:space-between; }
.tr-glass-n { font-size:12px; font-weight:700; letter-spacing:.1em; color:rgba(233,238,250,.4); }
.tr-glass { border-radius:var(--tr-r); padding:26px; background:linear-gradient(rgba(255,255,255,.06), rgba(255,255,255,.02)); border:1px solid var(--tr-glass-line); }
.tr-glass h3 { margin-top:18px; color:#fff; }
.tr-glass p { margin-top:10px; font-size:15px; line-height:1.7; color:var(--tr-cream-soft); }
.tr-glass-wide { grid-column:1 / -1; display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:32px; align-items:center; }
.tr-plateau { width:100%; height:auto; }
.tr-pl-grid { stroke:rgba(255,255,255,.12); stroke-width:1; }
.tr-pl-line { fill:none; stroke:rgba(233,238,250,.55); stroke-width:3; stroke-linecap:round; }
.tr-pl-next { fill:none; stroke:var(--tr-teal); stroke-width:3; stroke-linecap:round; stroke-dasharray:7 7; }
.tr-pl-dot { fill:var(--tr-teal); stroke:rgba(91,192,190,.25); stroke-width:10; }
.tr-pl-t { fill:rgba(233,238,250,.6); font:600 13px var(--tr-font); }
.tr-pl-t-hi { fill:var(--tr-teal-soft); }

/* Tiles */
.tr-tile { display:inline-grid; place-items:center; width:48px; height:48px; border-radius:14px; color:#fff; flex:none;
  background:radial-gradient(70% 60% at 18% 12%, rgba(255,255,255,.45), transparent 60%), linear-gradient(155deg,#8fd6d3,var(--tr-teal) 45%,#1f8c88);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.35), 0 10px 22px -12px rgba(31,140,136,.7); }
.tr-tile .tr-ic { width:22px; height:22px; }
.tr-tile-sm { width:36px; height:36px; border-radius:11px; }
.tr-tile-sm .tr-ic { width:18px; height:18px; }
.tr-tile-light { background:rgba(255,255,255,.14); box-shadow:inset 0 1px 0 rgba(255,255,255,.2); }
.tr-tile-warn { background:radial-gradient(70% 60% at 18% 12%, rgba(255,255,255,.4), transparent 60%), linear-gradient(155deg,#f2b7c9,#d36b8e 50%,#a13a5e); box-shadow:inset 0 1px 0 rgba(255,255,255,.3), 0 10px 22px -12px rgba(161,58,94,.6); }

/* Cards */
.tr-card { background:var(--tr-card); border:1px solid var(--tr-line); border-radius:var(--tr-r); box-shadow:var(--tr-sh-card); }
.tr-card-top { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.tr-card-k { font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--tr-teal-ink); }

.tr-chairs { display:grid; grid-template-columns:minmax(0,1fr) 200px minmax(0,1fr); align-items:center; }
.tr-chair { padding:28px; }
.tr-chair .tr-card-k { margin-top:20px; }
.tr-chair h3 { margin-top:8px; font-size:21px; }
.tr-chair-tag { font-size:12.5px; font-weight:700; padding:6px 12px; border-radius:999px; background:#e7f3f2; color:var(--tr-teal-ink); }
.tr-qs { margin-top:18px; }
.tr-qs li { position:relative; padding:12px 0 12px 30px; border-top:1px solid var(--tr-line); font-size:15.5px; line-height:1.5; }
.tr-qs li::before { content:'?'; position:absolute; left:0; top:11px; width:20px; height:20px; border-radius:50%; display:grid; place-items:center; font-size:12px; font-weight:800; color:var(--tr-teal-ink); background:#e7f3f2; }
.tr-chair-center { display:flex; flex-direction:column; align-items:center; }
.tr-cc-line { width:2px; height:40px; background:repeating-linear-gradient(var(--tr-teal) 0 4px, transparent 4px 9px); opacity:.6; }
.tr-cc-node { display:block; text-align:center; padding:18px 16px; margin:8px 0; border-radius:20px; background:var(--tr-navy); color:var(--tr-cream); font-size:14px; line-height:1.45; box-shadow:var(--tr-sh-pop); }
.tr-cc-node b { color:var(--tr-teal-soft); font-weight:700; }

.tr-constraint { margin-top:28px; padding:34px; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); gap:28px 48px; }
.tr-constraint-copy h3 { margin-top:10px; font-size:24px; letter-spacing:-.03em; }
.tr-constraint-copy .tr-body { margin-top:12px; font-size:15px; }
.tr-pipe { align-self:center; }
.tr-pipe-row { display:flex; align-items:center; height:150px; }
.tr-pipe-seg { flex:1; height:110px; display:grid; place-items:center; background:#e7f3f2; border-top:1px solid rgba(15,123,119,.18); border-bottom:1px solid rgba(15,123,119,.18); position:relative; }
.tr-pipe-seg:first-child { border-radius:16px 0 0 16px; border-left:1px solid rgba(15,123,119,.18); }
.tr-pipe-seg:last-child { border-radius:0 16px 16px 0; border-right:1px solid rgba(15,123,119,.18); }
.tr-pipe-seg + .tr-pipe-seg { border-left:1px dashed rgba(15,123,119,.22); }
.tr-pipe-seg span { font-size:13px; font-weight:700; color:var(--tr-teal-ink); }
.tr-pipe-neck { z-index:2; height:44px; background:var(--tr-navy); border-color:var(--tr-navy); }
.tr-pipe-neck span { color:#fff; }
.tr-pipe-neck::after { content:'restrição'; position:absolute; top:-34px; left:50%; transform:translateX(-50%); font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#a13a5e; white-space:nowrap; }
.tr-pipe figcaption { margin-top:14px; font-size:14px; line-height:1.6; color:var(--tr-soft); }
.tr-pipe figcaption b { color:var(--tr-ink); }
.tr-lenses { grid-column:1 / -1; padding-top:26px; border-top:1px solid var(--tr-line); }
.tr-lenses ul { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-top:14px; }
.tr-lenses li { display:grid; grid-template-columns:auto 1fr; column-gap:12px; align-items:center; padding:14px; border:1px solid var(--tr-line); border-radius:16px; background:var(--tr-paper); }
.tr-lenses li .tr-tile { grid-row:span 2; }
.tr-lenses b { font-size:15px; }
.tr-lenses small { font-size:12.5px; line-height:1.4; color:var(--tr-soft); }

/* Gantt + zigue-zague */
.tr-gantt { max-width:900px; margin:0 auto 72px; padding:28px 30px 24px; border-radius:var(--tr-r); background:linear-gradient(rgba(255,255,255,.06), rgba(255,255,255,.02)); border:1px solid var(--tr-glass-line); }
.tr-gantt-months { display:grid; grid-template-columns:repeat(3,1fr); font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--tr-cream-soft); }
.tr-gantt-months span + span { border-left:1px solid var(--tr-glass-line); padding-left:12px; }
.tr-gantt-track { position:relative; height:8px; margin:22px 0 74px; border-radius:99px; background:rgba(255,255,255,.08); }
.tr-gantt-fill { position:absolute; inset:0; border-radius:99px; background:linear-gradient(90deg, rgba(91,192,190,.25), var(--tr-teal)); }
.tr-gantt-dot { position:absolute; left:var(--x); top:50%; transform:translate(-50%,-50%); width:20px; height:20px; border-radius:50%; background:var(--tr-navy); border:3px solid var(--tr-teal); box-shadow:0 0 0 6px rgba(91,192,190,.15); }
.tr-gl { position:absolute; top:26px; left:50%; transform:translateX(-50%); white-space:nowrap; text-align:center; font-size:12.5px; color:var(--tr-cream-soft); line-height:1.4; }
.tr-gl b { display:block; font-size:13.5px; color:#fff; font-weight:700; }
.tr-gantt-note { display:flex; align-items:center; gap:10px; padding-top:16px; border-top:1px solid var(--tr-glass-line); font-size:14px; color:var(--tr-cream-soft); }
.tr-gantt-note .tr-ic { color:var(--tr-teal); }

.tr-zig { position:relative; max-width:980px; margin:0 auto; }
.tr-zig::before { content:''; position:absolute; left:50%; top:0; bottom:0; width:2px; transform:translateX(-50%); background:linear-gradient(var(--tr-teal), rgba(91,192,190,.1)); }
.tr-zig > li { position:relative; display:grid; grid-template-columns:1fr 1fr; margin-bottom:28px; }
.tr-zig > li:last-child { margin-bottom:0; }
.tr-zig-node { position:absolute; left:50%; top:22px; transform:translateX(-50%); width:52px; height:52px; border-radius:16px; display:grid; place-items:center; color:#fff; z-index:1;
  background:radial-gradient(70% 60% at 18% 12%, rgba(255,255,255,.45), transparent 60%), linear-gradient(155deg,#8fd6d3,var(--tr-teal) 45%,#1f8c88); box-shadow:0 0 0 8px var(--tr-navy), 0 10px 22px -12px rgba(31,140,136,.8); }
.tr-zig-node .tr-ic { width:22px; height:22px; }
.tr-zig-card { grid-column:1; margin-right:64px; padding:26px; border-radius:var(--tr-r); background:linear-gradient(rgba(255,255,255,.07), rgba(255,255,255,.025)); border:1px solid var(--tr-glass-line); }
.tr-zig > li:nth-child(even) .tr-zig-card { grid-column:2; margin-right:0; margin-left:64px; }
.tr-zig-k { font-size:11.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--tr-teal); }
.tr-zig-card h3 { margin-top:10px; font-size:22px; color:#fff; }
.tr-zig-card p:not(.tr-zig-k) { margin-top:10px; font-size:15px; line-height:1.7; color:var(--tr-cream-soft); }
.tr-chips { display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.tr-chips li { padding:6px 12px; border-radius:999px; font-size:12.5px; font-weight:600; color:var(--tr-teal-soft); background:rgba(91,192,190,.1); border:1px solid rgba(91,192,190,.28); }

/* Entregáveis */
.tr-feats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.tr-feat { padding:26px; transition:transform .2s, box-shadow .2s; }
.tr-feat:hover { transform:translateY(-3px); box-shadow:var(--tr-sh-pop); }
.tr-feat h3 { margin-top:18px; }
.tr-feat p { margin-top:8px; font-size:15px; line-height:1.6; color:var(--tr-soft); }
.tr-feat-hi { color:#fff; border-color:rgba(143,164,255,.35); box-shadow:inset 0 1px 0 rgba(255,255,255,.16), 0 30px 60px -36px rgba(4,8,31,.7);
  background:radial-gradient(70% 70% at 15% 0%, rgba(143,164,255,.35), transparent 65%), radial-gradient(60% 60% at 100% 100%, rgba(91,192,190,.18), transparent 70%), linear-gradient(155deg,#2e43a0,#1b2b6e 60%,#142466); }
.tr-feat-hi p { color:rgba(233,238,250,.78); }

/* Comparativo */
.tr-table-wrap { overflow-x:auto; padding:6px; }
.tr-comp { width:100%; border-collapse:separate; border-spacing:0; min-width:760px; font-size:14.5px; }
.tr-comp th, .tr-comp td { padding:16px 14px; text-align:center; border-bottom:1px solid var(--tr-line); }
.tr-comp thead th { font-size:12.5px; font-weight:700; color:var(--tr-soft); }
.tr-comp tbody th { text-align:left; font-weight:600; color:var(--tr-ink); }
.tr-comp tr:last-child th, .tr-comp tr:last-child td { border-bottom:0; }
.tr-comp .tr-hi { background:#e7f3f2; }
.tr-comp thead .tr-hi { color:var(--tr-teal-ink); border-radius:14px 14px 0 0; }
.tr-comp tbody tr:last-child .tr-hi { border-radius:0 0 14px 14px; }
.tr-comp .tr-ic { width:20px; height:20px; display:inline-block; vertical-align:middle; }
.tr-comp .tr-yes { color:var(--tr-teal-ink); stroke-width:2.6; }
.tr-comp .tr-no { color:#b7bccb; }
.tr-part { font-size:12.5px; font-weight:600; color:#b26a00; }

/* Para quem */
.tr-fit { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:16px; }
.tr-fit-card { padding:28px; }
.tr-fit-label { display:flex; align-items:center; gap:8px; font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.tr-fit-label .tr-ic { width:20px; height:20px; padding:3px; border-radius:50%; }
.tr-fit-label.tr-yes { color:var(--tr-teal-ink); }
.tr-fit-label.tr-yes .tr-ic { background:#e7f3f2; stroke-width:2.6; }
.tr-fit-label.tr-no { color:#a13a5e; }
.tr-fit-label.tr-no .tr-ic { background:#fbeff3; stroke-width:2.6; }
.tr-fit-card ul { margin-top:12px; }
.tr-fit-card li { padding:13px 0; border-top:1px solid var(--tr-line); font-size:15.5px; line-height:1.55; }
.tr-fit-no { background:#fcfafb; }

/* Pessoas */
.tr-band-people { padding-bottom:90px; }
.tr-person { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); gap:clamp(36px,6vw,80px); align-items:center; padding:52px 0; }
.tr-person + .tr-person { border-top:1px solid var(--tr-glass-line); }
.tr-person-rev .tr-person-photos { order:2; }
.tr-person-photos { position:relative; padding:0 20% 14% 0; }
.tr-person-rev .tr-person-photos { padding:0 0 14% 20%; }
.tr-pp-main { width:100%; aspect-ratio:4 / 5; object-fit:cover; border-radius:24px; }
.tr-pp-side { position:absolute; right:0; bottom:0; width:44%; aspect-ratio:3 / 4; object-fit:cover; border-radius:20px; border:5px solid #0b1440; }
.tr-person-rev .tr-pp-side { right:auto; left:0; }
.tr-person-rev .tr-pp-main { object-position:center 30%; }
.tr-person-k { font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--tr-teal); }
.tr-person-copy h3 { margin-top:10px; font-size:clamp(30px,3vw,42px); font-weight:600; letter-spacing:-.04em; color:#fff; }
.tr-person-role { margin-top:6px !important; font-size:15px !important; color:var(--tr-peri) !important; }
.tr-person-copy p { margin-top:14px; font-size:15.5px; line-height:1.75; color:var(--tr-cream-soft); }
.tr-person-copy em { font-style:normal; color:#fff; font-weight:600; }
.tr-stat-chips { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:22px; }
.tr-stat-chips span { padding:14px; border-radius:16px; background:rgba(255,255,255,.05); border:1px solid var(--tr-glass-line); font-size:12.5px; line-height:1.45; color:var(--tr-cream-soft); }
.tr-stat-chips b { display:block; font-size:24px; letter-spacing:-.03em; color:#fff; margin-bottom:4px; }
.tr-person-note { padding:14px 16px; border-left:3px solid var(--tr-teal); background:rgba(91,192,190,.07); border-radius:0 12px 12px 0; }
.tr-person-note strong { color:#fff; }

/* Vagas */
.tr-seats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; max-width:900px; margin:0 auto; }
.tr-seat-card { display:flex; flex-direction:column; align-items:center; gap:6px; padding:28px 16px; border-radius:var(--tr-r); background:var(--tr-card); border:1px solid var(--tr-line); box-shadow:var(--tr-sh-card); }
.tr-seat-ic { display:grid; place-items:center; width:56px; height:56px; border-radius:50%; background:#e7f3f2; color:var(--tr-teal-ink); margin-bottom:6px; position:relative; }
.tr-seat-ic::after { content:''; position:absolute; inset:-6px; border-radius:50%; border:2px solid rgba(91,192,190,.35); animation:tr-ring 2.4s ease-out infinite; }
.tr-seat-ic .tr-ic { width:24px; height:24px; }
.tr-seat-card b { font-size:17px; }
.tr-seat-card small { font-size:13px; font-weight:600; color:var(--tr-teal-ink); }
.tr-seat-off { background:transparent; box-shadow:none; border-style:dashed; border-color:var(--tr-line-2); }
.tr-seat-off .tr-seat-ic { background:#eef0f4; color:#9aa1b3; }
.tr-seat-off .tr-seat-ic::after { display:none; }
.tr-seat-off b { color:var(--tr-soft); }
.tr-seat-off small { color:#a13a5e; }
@keyframes tr-ring { 0% { transform:scale(.9); opacity:1; } 100% { transform:scale(1.25); opacity:0; } }

/* Investimento */
.tr-invest { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(36px,6vw,80px); align-items:center; }
.tr-invest-copy h2 { margin-top:14px; }
.tr-cost-list { margin-top:30px; }
.tr-cost-list li { display:flex; align-items:center; gap:14px; padding:14px 0; border-top:1px solid var(--tr-line); font-size:16px; line-height:1.5; }
.tr-price { padding:32px; }
.tr-price-head { padding-bottom:18px; border-bottom:1px solid var(--tr-line); }
.tr-price-title { margin-top:8px; font-size:26px; font-weight:650; letter-spacing:-.03em; }
.tr-price-note { margin-top:12px; text-align:center; font-size:13px; color:var(--tr-soft); }
.tr-price-value { margin-top:8px; font-size:clamp(46px,5vw,64px); font-weight:650; letter-spacing:-.05em; line-height:1.05; }
.tr-price-list { margin-top:16px; }
.tr-price-list li { display:flex; align-items:center; gap:10px; padding:9px 0; font-size:15px; }
.tr-price-list .tr-ic { color:var(--tr-teal-ink); stroke-width:2.6; width:18px; height:18px; }
.tr-guarantee { display:flex; gap:14px; align-items:flex-start; margin:18px 0 20px; padding:16px; border-radius:16px; background:#e7f3f2; }
.tr-guarantee b { font-size:15px; color:var(--tr-teal-ink); }
.tr-guarantee p { margin-top:4px; font-size:13.5px; line-height:1.55; color:var(--tr-ink); }

/* Aplicação */
.tr-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; max-width:900px; margin:0 auto 32px; position:relative; }
.tr-steps li { position:relative; display:flex; flex-direction:column; align-items:center; text-align:center; gap:4px; }
.tr-steps li:not(:last-child)::after { content:''; position:absolute; top:19px; left:calc(50% + 26px); right:calc(-50% + 26px); height:2px; background:repeating-linear-gradient(90deg, rgba(91,192,190,.6) 0 5px, transparent 5px 10px); }
.tr-steps span { display:grid; place-items:center; width:40px; height:40px; border-radius:50%; background:rgba(91,192,190,.14); border:1px solid rgba(91,192,190,.4); color:var(--tr-teal-soft); font-weight:800; margin-bottom:8px; }
.tr-steps b { font-size:15px; color:#fff; }
.tr-steps small { font-size:12.5px; color:var(--tr-cream-soft); }
.tr-form { max-width:760px; margin:0 auto; padding:30px; color:var(--tr-ink); }
.tr-fields { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.tr-fields label { display:grid; gap:7px; font-size:13px; font-weight:650; }
.tr-fields .tr-full { grid-column:1 / -1; }
.tr-fields input, .tr-fields select, .tr-fields textarea { width:100%; min-height:48px; padding:11px 14px; border:1px solid #d5dbe2; border-radius:12px; background:#fff; color:var(--tr-ink); font:400 16px/1.4 var(--tr-font); }
.tr-fields textarea { resize:vertical; }
.tr-fields :is(input,select,textarea):focus { border-color:var(--tr-teal); box-shadow:0 0 0 4px rgba(91,192,190,.2); outline:none; }
.tr-consent { display:flex; gap:10px; align-items:flex-start; margin:18px 0; font-size:13px; line-height:1.5; color:var(--tr-soft); }
.tr-consent input { width:18px; height:18px; margin:1px 0 0; accent-color:var(--tr-teal-ink); flex:none; }
.tr-form { max-width:620px; }
.tr-form-legal { margin-top:12px; text-align:center; font-size:12.5px; color:var(--tr-soft); }
.tr-form-done, .tr-form-out { text-align:center; padding:8px 4px; }
.tr-done-ic { display:inline-grid; place-items:center; width:56px; height:56px; border-radius:50%; background:#e7f3f2; color:var(--tr-teal-ink); margin-bottom:14px; }
.tr-done-ic .tr-ic { width:26px; height:26px; stroke-width:2.6; }
.tr-done-t { font-size:22px; font-weight:700; letter-spacing:-.02em; }
.tr-done-s { margin:8px auto 20px; max-width:44ch; font-size:15px; line-height:1.6; color:var(--tr-soft); }
.tr-btn-wa { background:#25d366; color:#063b1f; }
.tr-btn-wa:hover { filter:brightness(1.05); }
.tr-form-msg { min-height:1.4em; margin-top:12px; font-size:13px; text-align:center; }
.tr-form-msg.tr-erro { color:#a13a5e; }
.tr-form-msg.tr-ok { color:var(--tr-teal-ink); font-weight:650; }

/* FAQ */
.tr-faq-grid { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:56px; }
.tr-faq-grid h2 { margin-top:14px; }
.tr-faq details { background:var(--tr-card); border:1px solid var(--tr-line); border-radius:16px; padding:18px 22px; margin-bottom:10px; box-shadow:0 2px 4px rgba(16,24,40,.03); }
.tr-faq summary { cursor:pointer; list-style:none; display:flex; justify-content:space-between; gap:20px; font-size:16.5px; font-weight:650; }
.tr-faq summary::-webkit-details-marker { display:none; }
.tr-faq summary::after { content:'+'; display:grid; place-items:center; width:26px; height:26px; border-radius:50%; background:#e7f3f2; color:var(--tr-teal-ink); font-weight:700; flex:none; }
.tr-faq details[open] summary::after { content:'−'; }
.tr-faq details p { margin-top:10px; font-size:15px; line-height:1.7; color:var(--tr-soft); }

/* Rodapé */
.tr-foot { padding:28px 0 110px; }
.tr-foot-row { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px; border-top:1px solid var(--tr-line-2); padding-top:24px; font-size:13px; color:var(--tr-soft); }

/* Barra fixa */
.tr-dock { position:fixed; left:50%; bottom:18px; z-index:90; transform:translateX(-50%); display:flex; align-items:center; gap:14px; padding:8px 8px 8px 18px; border-radius:999px; background:rgba(255,255,255,.92); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); border:1px solid rgba(255,255,255,.7); box-shadow:0 18px 50px -18px rgba(4,8,31,.5); transition:opacity .3s, transform .3s; max-width:calc(100% - 24px); }
.tr-dock-n { font-size:28px; font-weight:700; letter-spacing:-.04em; color:var(--tr-ink); }
.tr-dock-t { font-size:13.5px; font-weight:600; color:var(--tr-ink); line-height:1.25; }
.tr-dock-t small { white-space:nowrap; display:block; font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--tr-teal-ink); }
.tr-dock-short { display:none; }
.tr-dock-off { opacity:0; pointer-events:none; transform:translate(-50%, 20px); }

/* Responsivo */
@media (max-width:1060px) {
  .tr-nav-links { display:none; }
  .tr-nav .tr-btn { margin-left:auto; }
  .tr-chairs { grid-template-columns:minmax(0,1fr); gap:0; }
  .tr-chair-center { flex-direction:row; justify-content:center; }
  .tr-cc-line { width:40px; height:2px; background:repeating-linear-gradient(90deg, var(--tr-teal) 0 4px, transparent 4px 9px); }
  .tr-chair-center { padding:12px 0; }
  .tr-lenses ul { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:900px) {
  .tr-sec, .tr-band { padding:80px 0; }
  .tr-sec-tight { padding:20px 0 70px; }
  .tr-table-diagram { grid-template-columns:1fr 1fr; gap:14px; }
  .tr-table-center { grid-column:1 / -1; grid-row:2; height:auto; padding:22px 0 30px; }
  .tr-table-lines { display:none; }
  .tr-table-node { max-width:none; }
  .tr-seat { height:340px; }
  .tr-hero-facts { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .tr-hero-facts div:nth-child(3) { border-left:0; }
  .tr-hero-facts div:nth-child(n+3) { border-top:1px solid rgba(255,255,255,.12); }
  .tr-ritual-flow { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .tr-ritual-flow li:nth-child(2)::after { display:none; }
  .tr-problem-grid, .tr-glass-wide, .tr-constraint, .tr-invest, .tr-faq-grid, .tr-fit, .tr-person { grid-template-columns:minmax(0,1fr); }
  .tr-person-rev .tr-person-photos { order:0; }
  .tr-person-photos { max-width:520px; }
  .tr-forces { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .tr-feats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .tr-zig::before { left:26px; }
  .tr-zig > li { grid-template-columns:minmax(0,1fr); }
  .tr-zig-node { left:26px; }
  .tr-zig-card, .tr-zig > li:nth-child(even) .tr-zig-card { grid-column:1; margin:0 0 0 76px; }
  .tr-seats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .tr-faq-grid { gap:28px; }
}
@media (max-width:640px) {
  .tr { --tr-tb:52px; }
  .tr-topbar { font-size:12.5px; }
  .tr-wrap { width:calc(100% - 32px); }
  .tr-hero { padding:8px 8px 0; }
  .tr-band { margin:0 8px; border-radius:24px; }
  .tr-hero-card { padding:110px 18px 0; border-radius:24px; }
  .tr-nav { padding:6px 6px 6px 14px; }
  .tr-hero-sub, .tr-sec-sub { font-size:16px; }
  .tr-actions .tr-btn { width:100%; }
  .tr-seat { height:250px; border-radius:120px 120px 16px 16px; }
  .tr-seat figcaption { left:14px; bottom:14px; font-size:14px; }
  .tr-seat figcaption span { font-size:8.5px; }
  .tr-hero-facts div { padding:20px 10px 22px; }
  .tr-hero-facts dd { font-size:12px; }
  .tr-sec-head { margin-bottom:36px; }
  .tr-ritual-flow { grid-template-columns:minmax(0,1fr); gap:20px; }
  .tr-ritual-flow li:not(:last-child)::after { display:block; top:auto; bottom:-15px; right:50%; transform:translateX(50%) rotate(135deg); }
  .tr-ritual-flow li:nth-child(2)::after { display:block; }
  .tr-constraint, .tr-chair, .tr-fit-card, .tr-price, .tr-form { padding:22px; }
  .tr-pipe-row { height:130px; }
  .tr-pipe-seg span { font-size:10.5px; }
  .tr-lenses ul { grid-template-columns:minmax(0,1fr); }
  .tr-gantt { padding:22px 18px; }
  .tr-gl { font-size:11px; }
  .tr-gl b { font-size:12px; }
  .tr-feats, .tr-forces { grid-template-columns:minmax(0,1fr); }
  .tr-stat-chips { grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr); gap:6px; }
  .tr-stat-chips span { padding:10px; font-size:11px; }
  .tr-stat-chips b { font-size:18px; }
  .tr-steps { grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:22px; }
  .tr-steps li:nth-child(2)::after { display:none; }
  .tr-fields { grid-template-columns:minmax(0,1fr); }
  .tr-dock { gap:10px; padding-left:14px; }
  .tr-dock-t { font-size:12.5px; }
  .tr-dock-long { display:none; }
  .tr-dock-short { display:inline; }
  .tr-dock-n { font-size:24px; }
}
@media (prefers-reduced-motion:reduce) {
  :where(.tr), :where(.tr) * { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
}

/* Integração com o site. O site.css estiliza os elementos nav e footer direto
   (nav sticky escuro, footer navy com borda). Aqui eles voltam ao desenho da página. */
.tr-foot { border-top:0; background:var(--tr-paper); color:var(--tr-soft); font-size:inherit; }

/* Formulário nativo do Hub (src/content/form-trilho-2027.html + /site/mv-form.js).
   O mv-form escreve o erro da API em [data-mv-erro] e marca o campo com aria-invalid. */
.tr-form-msg { color:#a13a5e; }
.tr-fields :is(input,select)[aria-invalid="true"] { border-color:#a13a5e; }
.tr-consent a, .tr-form-fallback a { color:var(--tr-teal-ink); font-weight:600; text-underline-offset:3px; }
.tr-form-fallback { margin-top:12px; text-align:center; font-size:13px; color:var(--tr-soft); }
.tr-form .tr-btn:disabled { opacity:.65; cursor:progress; transform:none; }
.tr-done-t:focus { outline:none; }
.tr-isca { position:absolute !important; left:-9999px !important; width:1px !important; height:1px !important; opacity:0; pointer-events:none; }

/* Ajustes de celular (review de usabilidade de 21/10/2026).
   P0: a tabela comparativa vira lista com o Trilho 2027 em primeiro; os campos ficam
   em 16px (abaixo disso o iPhone dá zoom ao focar); as seções longas ficam compactas.
   P1: faixa vermelha em uma linha e pílula que some ao rolar para baixo (lp.js);
   rótulos com no mínimo 12px; alvos de toque maiores; timeline com recuo menor. */
@media (max-width:640px) {
  .tr { --tr-tb:34px; }
  .tr-topbar { font-size:12.5px; padding:6px 12px; white-space:nowrap; }
  .tr-tb-long { display:none; }
  .tr-tb-short { display:inline; }
  .tr-hero-card { padding-top:100px; }
  .tr-nav-wrap { transition:transform .25s ease; }
  .tr-nav-hidden { transform:translateY(-140%); }
  .tr-brand { min-height:44px; }

  /* Rótulos mínimos */
  .tr-seat figcaption span, .tr-table-node-k, .tr-rf-n, .tr-card-k, .tr-zig-k, .tr-fit-label { font-size:12px; letter-spacing:.06em; }
  .tr-gl { font-size:12px; }
  .tr-gl b { font-size:13px; }
  .tr-hero-facts dd { font-size:13px; }
  .tr-stat-chips span { font-size:12px; }
  .tr-stat-chips b { font-size:20px; }
  .tr-dock-t small { font-size:12px; letter-spacing:.08em; }
  .tr-btn-sm { min-height:44px; }
  .tr-consent a { display:inline-block; padding:12px 0; margin:-12px 0; }
  .tr-pl-t { font-size:22px; }
  .tr-consent { font-size:14px; }
  .tr-consent input { width:22px; height:22px; margin-top:0; }

  /* Seis frentes: lista compacta que abre ao toque (lp.js marca .tr-forces-compact) */
  .tr-forces-compact { gap:10px; }
  .tr-forces-compact .tr-glass:not(.tr-glass-wide) { display:grid; grid-template-columns:40px 1fr 24px; column-gap:14px; align-items:center; padding:14px 16px; cursor:pointer; min-height:68px; }
  .tr-forces-compact .tr-glass:not(.tr-glass-wide) .tr-glass-top { display:contents; }
  .tr-forces-compact .tr-glass:not(.tr-glass-wide) .tr-tile { width:40px; height:40px; border-radius:12px; grid-column:1; grid-row:1; }
  .tr-forces-compact .tr-glass:not(.tr-glass-wide) .tr-glass-n { display:none; }
  .tr-forces-compact .tr-glass:not(.tr-glass-wide) h3 { margin:0; grid-column:2; grid-row:1; font-size:17px; }
  .tr-forces-compact .tr-glass:not(.tr-glass-wide)::after { content:''; grid-column:3; grid-row:1; width:9px; height:9px; justify-self:center; border-right:2px solid var(--tr-teal); border-bottom:2px solid var(--tr-teal); transform:rotate(45deg); transition:transform .2s; }
  .tr-forces-compact .tr-glass.tr-open::after { transform:rotate(-135deg); }
  .tr-forces-compact .tr-glass:not(.tr-glass-wide) p { display:none; grid-column:1 / -1; margin-top:12px; }
  .tr-forces-compact .tr-glass.tr-open p { display:block; }
  .tr-forces-hint { margin:0 0 14px; text-align:center; font-size:13px; color:var(--tr-cream-soft); }
  .tr-glass-wide { padding:20px; }

  /* Cano da restrição na vertical: o gargalo fica estreito e com rótulo ao lado */
  .tr-pipe-row { flex-direction:column; align-items:stretch; height:auto; gap:0; }
  .tr-pipe-seg { height:44px; flex:none; border:1px solid rgba(15,123,119,.18); border-top:0; border-radius:0 !important; }
  .tr-pipe-seg:first-child { border-top:1px solid rgba(15,123,119,.18); border-radius:14px 14px 0 0 !important; }
  .tr-pipe-seg:last-child { border-radius:0 0 14px 14px !important; }
  .tr-pipe-seg + .tr-pipe-seg { border-left:1px solid rgba(15,123,119,.18); }
  .tr-pipe-seg span { font-size:14px; }
  .tr-pipe-neck { width:46%; align-self:center; border-color:var(--tr-navy); }
  .tr-pipe-neck::after { top:50%; left:calc(100% + 10px); transform:translateY(-50%); font-size:12px; }

  /* Quatro leituras em grade 2x2 */
  .tr-lenses ul { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .tr-lenses li { grid-template-columns:1fr; row-gap:8px; padding:12px; align-items:start; }
  .tr-lenses li .tr-tile { grid-row:auto; }
  .tr-lenses b { font-size:14.5px; }
  .tr-lenses small { font-size:12.5px; }

  /* Timeline com recuo menor */
  .tr-zig::before { left:18px; }
  .tr-zig-node { left:18px; width:36px; height:36px; border-radius:12px; top:18px; box-shadow:0 0 0 6px var(--tr-navy); }
  .tr-zig-node .tr-ic { width:18px; height:18px; }
  .tr-zig-card, .tr-zig > li:nth-child(even) .tr-zig-card { margin-left:48px; padding:18px; }
  .tr-zig-card h3 { font-size:19px; }
  .tr-zig > li { margin-bottom:16px; }

  /* Entregáveis em linhas */
  .tr-feats { gap:10px; }
  .tr-feat { display:grid; grid-template-columns:40px 1fr; column-gap:14px; padding:16px; }
  .tr-feat .tr-tile { width:40px; height:40px; border-radius:12px; grid-row:span 2; }
  .tr-feat h3 { margin:0; font-size:17px; }
  .tr-feat p { margin-top:4px; font-size:14.5px; }

  /* Comparativo: cada item vira um card, com o Trilho 2027 em primeiro */
  .tr-table-wrap { overflow:visible; padding:0; background:transparent; border:0; box-shadow:none; }
  .tr-comp, .tr-comp tbody, .tr-comp tr, .tr-comp th, .tr-comp td { display:block; min-width:0; }
  .tr-comp { min-width:0; }
  .tr-comp thead { display:none; }
  .tr-comp tbody tr { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); column-gap:6px; background:var(--tr-card); border:1px solid var(--tr-line); border-radius:16px; padding:14px; margin-bottom:10px; box-shadow:var(--tr-sh-card); }
  .tr-comp tbody th { grid-column:1 / -1; padding:0 0 10px; border:0; font-size:16px; }
  .tr-comp td { display:flex; flex-direction:column; align-items:center; gap:4px; padding:8px 2px 0; border:0; text-align:center; font-size:13px; }
  .tr-comp td::before { content:attr(data-label); color:var(--tr-soft); font-size:12px; line-height:1.25; }
  .tr-comp td.tr-hi { grid-column:1 / -1; grid-row:2; flex-direction:row; justify-content:space-between; border-radius:10px !important; padding:9px 12px; margin-bottom:4px; }
  .tr-comp td.tr-hi::before { color:var(--tr-teal-ink); font-weight:700; font-size:14px; }
  .tr-comp tr:last-child td { border-bottom:0; }

  /* Bios: o resto da história abre em "ler mais" (lp.js) */
  .tr-person { padding:36px 0; gap:24px; }
  .tr-pp-main { aspect-ratio:1 / 1; }
  .tr-person-collapsed .tr-person-more { display:none; }
  .tr-more { margin-top:12px; background:none; border:0; padding:10px 0; min-height:44px; color:var(--tr-teal); font:700 15px var(--tr-font); cursor:pointer; text-decoration:underline; text-underline-offset:4px; }

  /* FAQ: o card inteiro é tocável */
  .tr-faq details { padding:0; }
  .tr-faq summary { padding:16px 18px; min-height:56px; align-items:center; }
  .tr-faq details p { margin:0; padding:0 18px 18px; }
}
