/* Home v2 — "A realidade dá sinais."
   Brand System v1 · Clareza & Valor. Dourado = sinal, valor, atenção. Usar com parcimônia.
   Só transform e opacity são animados. Tudo legível sem JS e com reduced motion. */

.home {
  --g: #0B0B0B;
  --c: #1F1F1F;
  --c2: #141414;
  --iv: #F7F5EE;
  --gr: #D3D0C9;
  --au: #B88B4F;
  --au-ink: #8A6336;       /* dourado para texto pequeno sobre marfim */
  --mut: #A9A49B;          /* texto secundário sobre grafite */
  --mut-d: #5D5A55;        /* texto secundário sobre marfim */
  --line-d: rgba(247,245,238,.12);
  --line-l: rgba(11,11,11,.12);
  --ease: cubic-bezier(.2,.7,.2,1);
  background: var(--g);
  color: var(--iv);
}
.home ::selection { background: var(--au); color: var(--g); }
.nw { white-space:nowrap; }
.engines-head { margin-bottom:48px; }
.close-brand img { width:200px; height:auto; }
.visually-hidden { position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

/* grão editorial, estático */
.home::before {
  content:""; position:fixed; inset:0; z-index:60; pointer-events:none; opacity:.045;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

.home .container { width:min(calc(100% - 48px), 1280px); }
.kicker { font-size:.72rem; font-weight:600; letter-spacing:.22em; text-transform:uppercase; color:var(--au); margin:0 0 22px; }
.kicker--dark { color:var(--au-ink); }
.h2 { font-family:var(--font-display); font-weight:700; font-size:clamp(2.3rem, 5.2vw, 5rem); line-height:1.01; letter-spacing:-.045em; margin:0 0 26px; max-width:15ch; text-wrap:balance; }
.h2--dark { color:var(--g); }
.lede-d { font-size:clamp(1.06rem, 1.5vw, 1.3rem); line-height:1.6; color:var(--mut); max-width:58ch; margin:0; }
.lede-d strong { color:var(--iv); font-weight:600; }
.tag { display:inline-block; font-size:.66rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; padding:5px 9px; border-radius:999px; border:1px solid currentColor; margin-right:10px; vertical-align:2px; }
.tag--gold { color:var(--au); }
.tag--line { color:var(--mut); }
.source-note { font-size:.9rem; color:var(--mut-d); max-width:70ch; margin:56px 0 0; line-height:1.6; }
.source-note a { color:var(--au-ink); text-underline-offset:3px; }
.source-note--d { color:#8E897F; }

.btn { display:inline-flex; align-items:center; gap:10px; min-height:48px; padding:13px 22px; border-radius:999px; text-decoration:none; font-weight:600; transition:transform .2s var(--ease), background-color .2s; }
.btn:hover { transform:translateY(-2px); }
.btn:focus-visible, .home button:focus-visible, .home a:focus-visible { outline:2px solid var(--au); outline-offset:3px; }
.btn--gold { background:var(--au); color:var(--g); }
.btn--line { border:1px solid rgba(247,245,238,.3); color:var(--iv); }

/* ============ 1. ABERTURA ============ */
.open { position:relative; min-height:calc(100svh - 80px); display:grid; align-items:center; overflow:hidden; padding:80px 0 120px; }
.open::after { content:""; position:absolute; inset:auto 0 0; height:40%; background:linear-gradient(to bottom, transparent, var(--g)); pointer-events:none; }
.open-inner { position:relative; z-index:2; }
.open-title { font-family:var(--font-display); font-weight:700; font-size:clamp(3.5rem, 11.5vw, 11rem); line-height:.88; letter-spacing:-.06em; margin:0; }
.open-title span { display:block; }
.open-title em { font-style:normal; color:var(--au); }
.open-after { font-size:clamp(1.4rem, 3vw, 2.6rem); font-weight:300; letter-spacing:-.02em; color:var(--mut); margin:28px 0 0; }
.open-q { font-size:clamp(1.15rem, 1.8vw, 1.5rem); line-height:1.45; color:var(--mut); margin:56px 0 0; max-width:34ch; }
.open-q strong { color:var(--iv); font-weight:600; }
.open-list { list-style:none; padding:0; margin:36px 0 0; display:grid; gap:10px; }
.open-list li { position:relative; padding-left:22px; color:var(--mut); font-size:1.02rem; }
.open-list li::before { content:""; position:absolute; left:2px; top:.62em; width:7px; height:7px; border-radius:50%; background:var(--au); }

.open-field { position:absolute; inset:0; z-index:1; pointer-events:none; }
.whisper { position:absolute; display:flex; align-items:center; gap:12px; font-size:clamp(.9rem, 1.05vw, 1.05rem); color:rgba(247,245,238,.5); white-space:nowrap; }
.whisper i { width:8px; height:8px; border-radius:50%; background:var(--au); box-shadow:0 0 0 6px rgba(184,139,79,.1); flex:none; }
.w1 { top:13%; left:52%; } .w2 { top:24%; left:70%; } .w3 { top:37%; left:61%; } .w4 { top:48%; left:68%; }
.w5 { top:60%; left:56%; } .w6 { top:70%; left:72%; } .w7 { top:81%; left:48%; } .w8 { top:88%; left:70%; }

.scroll-cue { position:absolute; left:50%; bottom:28px; z-index:3; transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; gap:10px; color:var(--mut); font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; text-decoration:none; }
.scroll-cue i { width:1px; height:40px; background:linear-gradient(var(--au), transparent); }

@media (min-width: 1000px) {
  .open-list { position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); margin:0; }
}
@media (max-width: 999px) {
  .open-field { display:none; }
}

/* ============ 2. DEFINIÇÃO ============ */
.define { background:var(--iv); color:var(--g); padding:clamp(96px, 14vw, 180px) 0; }
.define-grid { display:grid; grid-template-columns:minmax(0,3fr) minmax(0,9fr); gap:40px; }
.define-big { font-family:var(--font-display); font-weight:600; font-size:clamp(1.9rem, 4.1vw, 3.8rem); line-height:1.1; letter-spacing:-.035em; margin:0; text-wrap:pretty; }
.define-big mark { background:linear-gradient(transparent 64%, rgba(184,139,79,.38) 64%); color:inherit; padding:0 .05em; }
.define-formal { margin:64px 0 0; padding:6px 0 6px 26px; border-left:3px solid var(--au); max-width:60ch; }
.define-formal p { margin:0; font-size:clamp(1.05rem, 1.5vw, 1.28rem); line-height:1.55; }
.define-formal .define-label { font-size:.72rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--au-ink); margin-bottom:10px; }
.define-note { margin:32px 0 0; color:var(--mut-d); max-width:60ch; line-height:1.65; }

/* ============ 3. ANTES DO DADO ============ */
.before { position:relative; padding-bottom:clamp(90px, 12vw, 160px); }
.before-media { position:relative; }
.before-media::after { content:""; position:absolute; inset:0; background:linear-gradient(to bottom, rgba(11,11,11,0) 45%, var(--g)); }
.shot { display:block; overflow:hidden; background:var(--c); }
.shot img { width:100%; height:100%; object-fit:cover; }
.shot--empty { position:relative; background:radial-gradient(ellipse at 70% 30%, #211d17, #121212 70%); }
.shot--empty i { position:absolute; left:18%; top:26%; width:12px; height:12px; border-radius:50%; background:var(--au); box-shadow:0 0 0 12px rgba(184,139,79,.1); }
.shot--empty.shot--tall { aspect-ratio:4/5; }
.shot--wide { height:clamp(340px, 72vh, 760px); }
.before-grid { position:relative; z-index:2; display:grid; grid-template-columns:minmax(0,5fr) minmax(0,6fr); gap:clamp(32px,6vw,90px); margin-top:clamp(-220px, -16vw, -120px); align-items:end; }
.before-copy .h2 { max-width:13ch; }
.destinos { background:rgba(20,20,20,.92); border:1px solid var(--line-d); border-radius:14px; padding:clamp(24px, 3vw, 40px); backdrop-filter:blur(6px); }
.destinos-label { font-size:.72rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--mut); margin:0 0 18px; }
.destinos-tabs { display:none; flex-wrap:wrap; gap:8px; margin-bottom:28px; }
.js .destinos-tabs { display:flex; }
.destinos-tabs button { min-height:44px; padding:10px 16px; border-radius:999px; border:1px solid var(--line-d); background:transparent; color:var(--mut); font-weight:600; cursor:pointer; transition:border-color .2s, color .2s, background-color .2s; }
.destinos-tabs button:hover { color:var(--iv); }
.destinos-tabs button[aria-selected="true"] { border-color:var(--au); color:var(--iv); background:rgba(184,139,79,.12); }
.destino { padding:18px 0; border-top:1px solid var(--line-d); }
.js .destino { display:none; border-top:0; padding:0; min-height:190px; }
.js .destino.is-active { display:block; animation:rise .45s var(--ease); }
.destino-nome { font-size:.8rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--au); margin:0 0 10px; }
.destino-o { font-size:clamp(1.3rem, 2.1vw, 1.8rem); line-height:1.3; letter-spacing:-.02em; margin:0 0 14px; }
.destino-entao { color:var(--mut); font-size:1.05rem; margin:0; line-height:1.55; }
.destinos-foot { margin:26px 0 0; padding-top:20px; border-top:1px solid var(--line-d); font-weight:600; }

/* ============ 4. TAPIOCA ============ */
.tale { background:var(--iv); color:var(--g); padding:clamp(96px, 12vw, 160px) 0; }
.tale-head { max-width:760px; }
.tale-lede { font-size:clamp(1.06rem,1.5vw,1.3rem); color:var(--mut-d); line-height:1.6; margin:0; max-width:56ch; }
.tale-grid { display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:clamp(32px,6vw,96px); margin-top:clamp(40px,6vw,80px); }
.tale-sticky { position:sticky; top:22vh; }
.tale-count { font-variant-numeric:tabular-nums; font-size:.85rem; letter-spacing:.14em; color:var(--mut-d); margin:0 0 12px; }
.tale-elo { font-family:var(--font-display); font-weight:700; font-size:clamp(2.6rem, 5.6vw, 5.6rem); line-height:.95; letter-spacing:-.05em; margin:0 0 34px; min-height:2em; }
.tale-elo.is-q { color:var(--au-ink); }
.tale-dots { list-style:none; margin:0; padding:0; display:grid; gap:7px; }
.tale-dots li { position:relative; padding-left:22px; font-size:.9rem; color:rgba(11,11,11,.35); transition:color .3s; }
.tale-dots li::before { content:""; position:absolute; left:0; top:.55em; width:8px; height:8px; border-radius:50%; border:1px solid rgba(11,11,11,.3); transition:background-color .3s, border-color .3s; }
.tale-dots li.is-on { color:var(--g); }
.tale-dots li.is-on::before { background:var(--au); border-color:var(--au); }
.tale-steps { list-style:none; margin:0; padding:0; }
.tale-step { min-height:52vh; display:flex; flex-direction:column; justify-content:center; padding:20px 0; border-top:1px solid var(--line-l); }
.js .tale-step { opacity:.28; transition:opacity .5s var(--ease); }
.js .tale-step.is-on { opacity:1; }
.tale-step-elo { font-size:.75rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--au-ink); margin:0 0 14px; }
.tale-step-t { font-size:clamp(1.45rem, 2.6vw, 2.3rem); line-height:1.22; letter-spacing:-.025em; margin:0; max-width:24ch; font-weight:500; }
.tale-step--q .tale-step-t { font-size:clamp(1.8rem, 3.4vw, 3.1rem); font-weight:700; letter-spacing:-.04em; }

/* vídeo-fonte (carrega só no clique) */
.source-video { margin:clamp(56px,7vw,96px) 0 0; display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:clamp(24px,4vw,56px); align-items:center; }
.sv-frame { position:relative; aspect-ratio:16/9; border-radius:14px; overflow:hidden; background:var(--g); }
.sv-poster { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.55; filter:grayscale(.6) contrast(1.05); transition:opacity .3s, transform .6s var(--ease); }
.sv-frame iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.sv-play { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; border:0; background:linear-gradient(to top, rgba(11,11,11,.75), rgba(11,11,11,.15)); color:var(--iv); cursor:pointer; font:inherit; }
.sv-icon { width:72px; height:72px; border-radius:50%; background:var(--au); position:relative; box-shadow:0 0 0 10px rgba(184,139,79,.18); transition:transform .25s var(--ease); }
.sv-icon::after { content:""; position:absolute; left:29px; top:22px; border-style:solid; border-width:14px 0 14px 22px; border-color:transparent transparent transparent var(--g); }
.sv-cta { font-weight:600; font-size:1.05rem; }
.sv-time { font-size:.8rem; letter-spacing:.14em; text-transform:uppercase; color:var(--gr); font-variant-numeric:tabular-nums; }
.sv-play:hover .sv-icon { transform:scale(1.07); }
.sv-frame:hover .sv-poster { opacity:.7; transform:scale(1.02); }
.sv-kicker { font-size:.72rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--au-ink); margin:0 0 10px; }
.sv-title { font-family:var(--font-display); font-weight:700; font-size:clamp(1.4rem,2.4vw,2rem); line-height:1.1; letter-spacing:-.03em; margin:0 0 12px; }
.sv-note { color:var(--mut-d); line-height:1.6; margin:0 0 16px; }
.sv-link { font-weight:600; color:var(--g); text-underline-offset:3px; }
.sv-link--muted { color:var(--mut-d); font-weight:500; margin-left:18px; }
.sv-chapters { list-style:none; margin:0 0 18px; padding:0; border-top:1px solid var(--line-l); }
.sv-chapters li { border-bottom:1px solid var(--line-l); }
.sv-chapters a { display:flex; gap:14px; align-items:baseline; padding:11px 0; text-decoration:none; color:var(--g); font-weight:500; }
.sv-chapters a:hover { color:var(--au-ink); }
.sv-ch-t { font-variant-numeric:tabular-nums; font-size:.85rem; color:var(--au-ink); min-width:44px; }
.case-video { display:inline-flex; align-items:center; gap:10px; margin-top:6px; min-height:44px; padding:10px 16px; border-radius:999px; border:1px solid var(--line-l); color:var(--g); font-weight:600; font-size:.92rem; text-decoration:none; transition:border-color .2s; }
.case-video:hover { border-color:var(--au); }
.case-video > span:first-child { color:var(--au); font-size:.75rem; }
.case-video-t { font-variant-numeric:tabular-nums; color:var(--mut-d); font-weight:500; }

/* ============ 5. CADEIA ============ */
.chain2 { padding:clamp(100px, 13vw, 180px) 0; }
.chain2-head { max-width:860px; margin-bottom:clamp(50px,7vw,90px); }
.chain2-body { position:relative; display:grid; grid-template-columns:40px minmax(0,1fr); column-gap:clamp(16px,3vw,40px); }
.chain2-line { position:relative; grid-row:1; }
.chain2-line::before, .chain2-line i { content:""; position:absolute; left:50%; top:10px; bottom:10px; width:2px; margin-left:-1px; }
.chain2-line::before { background:var(--line-d); }
.chain2-line i { background:var(--au); transform-origin:top; transform:scaleY(var(--p, 1)); }
.chain2-list { list-style:none; margin:0; padding:0; grid-column:2; }
.elo { display:grid; grid-template-columns:56px minmax(0,1.05fr) minmax(0,1fr); gap:0 28px; align-items:baseline; padding:clamp(14px, 2vw, 22px) 0; border-bottom:1px solid var(--line-d); }
.js .elo { opacity:.22; transition:opacity .5s var(--ease); }
.js .elo.is-seen { opacity:1; }
.elo-n { font-variant-numeric:tabular-nums; font-size:.8rem; color:var(--mut); letter-spacing:.1em; }
.elo-name { font-family:var(--font-display); font-weight:700; font-size:clamp(1.9rem, 4.6vw, 4.2rem); line-height:1; letter-spacing:-.045em; }
.elo--gold .elo-name { color:var(--au); }
.elo-def { color:var(--mut); font-size:1rem; line-height:1.5; }
.elo-def em { font-style:normal; color:var(--iv); opacity:.72; display:block; margin-top:4px; }
.chain2-mark { grid-column:2; display:grid; grid-template-columns:auto minmax(0,1fr); gap:clamp(24px,4vw,56px); align-items:center; margin-top:clamp(60px,8vw,110px); }
.mark { width:clamp(120px, 16vw, 200px); height:auto; overflow:visible; }
.chain2-end { font-size:clamp(1.5rem, 3vw, 2.7rem); line-height:1.18; letter-spacing:-.03em; margin:0; color:var(--mut); max-width:26ch; }
.chain2-end strong { color:var(--iv); font-weight:600; }
.js .mk-bar { transform-box:fill-box; transform-origin:bottom; transform:scaleY(0); transition:transform .8s var(--ease) calc(var(--d) * .12s + .2s); }
.js .mk-path { stroke-dasharray:1; stroke-dashoffset:1; transition:stroke-dashoffset 1.1s var(--ease) .75s; }
.js .mk-dot1, .js .mk-dot2 { transform-box:fill-box; transform-origin:center; transform:scale(0); transition:transform .5s var(--ease); }
.js .mk-dot2 { transition-delay:1.6s; }
.js .chain2-mark.is-visible .mk-bar { transform:none; }
.js .chain2-mark.is-visible .mk-path { stroke-dashoffset:0; }
.js .chain2-mark.is-visible .mk-dot1, .js .chain2-mark.is-visible .mk-dot2 { transform:none; }

/* ============ 6. CASOS ============ */
.cases { background:var(--iv); color:var(--g); padding:clamp(96px, 12vw, 160px) 0; }
.cases-head { max-width:760px; margin-bottom:clamp(40px,6vw,72px); }
.case { border-radius:14px; overflow:hidden; }
.case h3 { font-family:var(--font-display); font-weight:700; font-size:clamp(1.6rem, 2.8vw, 2.6rem); line-height:1.05; letter-spacing:-.035em; margin:0 0 18px; }
.case p { margin:0 0 14px; line-height:1.6; }
.case-meta { font-size:.8rem; color:var(--mut-d); margin-bottom:20px !important; }
.case-lesson { font-weight:700; font-size:1.15rem; margin-top:22px !important; }
.case-src { font-size:.85rem; color:var(--mut-d); margin-top:22px !important; }
.case-src a { color:inherit; text-underline-offset:3px; }
.case--photo { display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); background:#fff; border:1px solid var(--line-l); }
.case-img { min-width:0; height:100%; min-height:360px; }
.case--photo .case-body { padding:clamp(28px, 4vw, 56px); align-self:center; }
.case-pair { display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-top:22px; }
.case--type { background:#fff; border:1px solid var(--line-l); padding:clamp(28px, 4vw, 52px); }
.case blockquote { margin:22px 0; padding:0 0 0 20px; border-left:3px solid var(--au); font-size:clamp(1.15rem,1.7vw,1.4rem); line-height:1.4; font-style:italic; }
.case-counter { background:var(--iv); border-radius:10px; padding:18px 20px; color:#3D3A36; }
.case--dark { background:var(--g); color:var(--iv); border-color:var(--g); }
.case--dark .case-meta, .case--dark .case-src { color:var(--mut); }
.case-num { font-family:var(--font-display); font-weight:700; font-size:clamp(4.5rem, 9vw, 8rem); line-height:.85; letter-spacing:-.06em; color:var(--au); margin:0 0 18px !important; }
.case-num small { font-size:.28em; letter-spacing:0; margin-left:8px; color:var(--mut); font-weight:500; }

/* ============ 7. COMO VOCÊ SABE ============ */
.ask { background:#101010; padding:clamp(100px, 13vw, 170px) 0; }
.ask-grid { display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:clamp(36px,6vw,100px); align-items:start; }
.ask-options { display:none; flex-direction:column; gap:10px; margin-top:36px; }
.js .ask-options { display:flex; }
.ask-opt { text-align:left; min-height:56px; padding:16px 20px; border-radius:12px; border:1px solid var(--line-d); background:transparent; color:var(--mut); font-size:1.08rem; cursor:pointer; transition:border-color .2s, color .2s, background-color .2s; }
.ask-opt:hover { color:var(--iv); }
.ask-opt[aria-pressed="true"] { border-color:var(--au); color:var(--iv); background:rgba(184,139,79,.1); }
.ask-card { padding-bottom:36px; margin-bottom:36px; border-bottom:1px solid var(--line-d); }
.js .ask-card { display:none; border:0; margin:0; padding:0; }
.js .ask-card.is-active { display:block; }
.ask-said { font-size:1.2rem; color:var(--mut); margin:0 0 8px; }
.ask-how { font-family:var(--font-display); font-weight:700; font-size:clamp(2.8rem, 6.4vw, 6rem); line-height:.95; letter-spacing:-.055em; color:var(--au); margin:0 0 34px; }
.ask-then { font-weight:600; margin:0 0 16px; }
.ask-card ul { list-style:none; margin:0; padding:0; display:grid; gap:12px; }
.ask-card li { position:relative; padding-left:24px; color:#CFCAC1; line-height:1.5; font-size:1.05rem; }
.ask-card li::before { content:""; position:absolute; left:0; top:.6em; width:8px; height:8px; border-radius:50%; background:var(--au); }
.js .ask-card.is-active .ask-how { animation:rise .5s var(--ease) both; }
.js .ask-card.is-active .ask-then { animation:fade .5s ease .5s both; }
.js .ask-card.is-active li { animation:rise .5s var(--ease) both; }
.js .ask-card.is-active li:nth-child(1){animation-delay:.7s} .js .ask-card.is-active li:nth-child(2){animation-delay:.85s}
.js .ask-card.is-active li:nth-child(3){animation-delay:1s} .js .ask-card.is-active li:nth-child(4){animation-delay:1.15s}
.ask-close { margin:44px 0 0; padding-top:28px; border-top:1px solid var(--line-d); color:var(--mut); font-size:1.1rem; line-height:1.55; }
.ask-close strong { color:var(--iv); }

/* ============ 8. FERRAMENTAS ============ */
.tools { position:relative; padding:clamp(100px, 13vw, 170px) 0; overflow:hidden; }
.tools-wall { display:flex; flex-wrap:wrap; gap:.05em .45em; padding:0 24px; font-family:var(--font-display); font-weight:800; font-size:clamp(2.4rem, 7.6vw, 7.6rem); line-height:1.02; letter-spacing:-.05em; color:var(--iv); max-width:1500px; margin:0 auto; }
.tools-wall span { opacity:.1; }
.js .tools-wall.is-visible span { animation:wall 2.4s ease both; animation-delay:calc(var(--i) * .12s); }
.tools-inner { margin-top:clamp(56px, 8vw, 110px); }
.tools-a { font-size:clamp(1.3rem, 2.4vw, 2rem); color:var(--mut); margin:0 0 10px; }
.tools-b { font-family:var(--font-display); font-weight:700; font-size:clamp(2.2rem, 5.4vw, 5.2rem); line-height:1.02; letter-spacing:-.045em; margin:0 0 56px; max-width:17ch; }
.tools-list { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:0 48px; max-width:1040px; }
.tools-list li { padding:20px 0; border-top:1px solid var(--line-d); font-size:1.1rem; line-height:1.5; color:var(--mut); }
.tools-list strong { color:var(--iv); font-weight:600; }
.tools-list span { display:block; color:var(--iv); }
.tools-c { font-size:clamp(1.15rem, 1.8vw, 1.45rem); line-height:1.5; max-width:48ch; margin:56px 0 0; }
.tools-q { font-family:var(--font-display); font-weight:600; font-size:clamp(1.9rem, 4.4vw, 4rem); line-height:1.08; letter-spacing:-.04em; margin:64px 0 0; }
.tools-q em { font-style:normal; color:var(--au); }

/* ============ 9. MOTORES ============ */
.engines { background:var(--iv); color:var(--g); padding:clamp(96px, 12vw, 160px) 0; }
.engines-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-top:24px; }
.engine { border-top:3px solid var(--g); padding:28px 0 0; }
.engine + .engine { border-top-color:var(--au); }
.engine-n { font-size:.75rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--mut-d); margin:0 0 14px; }
.engine-t { font-family:var(--font-display); font-weight:700; font-size:clamp(1.6rem, 3vw, 2.6rem); line-height:1.05; letter-spacing:-.035em; margin:0 0 14px; }
.engine-d { color:var(--mut-d); line-height:1.6; margin:0; max-width:44ch; }
.engines-rule { font-size:clamp(1.25rem, 2.2vw, 1.8rem); line-height:1.35; letter-spacing:-.02em; margin:56px 0 0; max-width:40ch; font-weight:500; }
.captive { margin-top:clamp(56px, 8vw, 96px); display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,5vw,72px); background:var(--g); color:var(--iv); border-radius:16px; padding:clamp(28px, 5vw, 64px); }
.captive-q { font-size:clamp(1.15rem, 1.8vw, 1.45rem); line-height:1.65; color:var(--mut); margin:0; }
.captive-name { font-size:clamp(1.5rem, 2.8vw, 2.4rem); line-height:1.15; letter-spacing:-.03em; margin:0 0 18px; }
.captive-name strong { color:var(--au); font-weight:700; }
.captive-t { font-size:1.12rem; line-height:1.55; margin:0; }

/* ============ 10. ESCALA ============ */
.scale { padding:clamp(100px, 13vw, 170px) 0; }
.scale-head { max-width:860px; margin-bottom:clamp(44px, 6vw, 80px); }
.scale-grid { display:grid; grid-template-columns:repeat(6, minmax(0,1fr)); gap:22px; }
.scale-item { grid-column:span 2; margin:0; }
.scale-item--text { grid-column:span 3; border-top:1px solid var(--line-d); padding-top:24px; }
.shot--tall { aspect-ratio:4/5; border-radius:12px; }
.shot--tall img { transition:transform 1.2s var(--ease); }
.scale-item:hover .shot--tall img { transform:scale(1.035); }
.scale-item figcaption, .scale-item--text p { color:var(--mut); line-height:1.55; margin:18px 0 0; font-size:1.02rem; }
.scale-item--text p { margin-top:10px; }
.scale-place { display:block; font-weight:700; color:var(--iv); font-size:1.15rem; margin-bottom:6px; letter-spacing:-.01em; }
.scale-end { font-size:clamp(1.4rem, 2.8vw, 2.4rem); line-height:1.2; letter-spacing:-.03em; margin:clamp(56px,8vw,96px) 0 0; max-width:30ch; color:var(--mut); }
.scale-end strong { color:var(--iv); font-weight:600; }

/* ============ 11. FILME ============ */
.film { padding:0 0 clamp(100px, 13vw, 170px); }
.film .h2 { max-width:18ch; }
.film-frame { margin-top:40px; }
.film-frame .video-placeholder { border-radius:14px; }
.projection { position:relative; aspect-ratio:16/9; border-radius:14px; overflow:hidden; border:1px solid rgba(184,139,79,.35); background:radial-gradient(ellipse at 50% 55%, #1c1812 0%, #0e0e0e 55%, #080808 100%); display:grid; place-items:center; text-align:center; }
.projection-grain { position:absolute; inset:0; background:repeating-linear-gradient(0deg, rgba(255,255,255,.018) 0 1px, transparent 1px 3px); }
.projection-inner { position:relative; padding:24px; }
.projection-dot { display:block; width:12px; height:12px; margin:0 auto 26px; border-radius:50%; background:var(--au); box-shadow:0 0 0 10px rgba(184,139,79,.12); }
.js .projection-dot { animation:pulse 2.6s ease-in-out infinite; }
.projection-kicker { font-size:.72rem; letter-spacing:.22em; text-transform:uppercase; color:var(--mut); margin:0 0 14px; }
.projection-title { font-family:var(--font-display); font-weight:700; font-size:clamp(1.6rem, 4vw, 3.4rem); letter-spacing:-.04em; line-height:1.05; margin:0 0 10px; }
.projection-note { color:var(--mut); margin:0; font-size:clamp(1rem,1.5vw,1.2rem); }

/* ============ 12. EDIÇÃO ============ */
.issue { background:#FBFAF7; color:var(--g); padding:clamp(90px, 11vw, 150px) 0; }
.issue-top { display:flex; justify-content:space-between; align-items:flex-end; gap:20px; border-top:4px solid var(--g); border-bottom:1px solid var(--g); padding:18px 0 14px; margin-bottom:clamp(30px,4vw,52px); }
.issue-mast { font-family:var(--font-display); font-weight:800; font-size:clamp(1.9rem, 5.6vw, 5rem); letter-spacing:-.055em; line-height:.9; margin:0; }
.issue-mast .issue-ed { font-weight:400; color:var(--mut-d); letter-spacing:-.03em; font-size:.42em; white-space:nowrap; }
.issue-date { font-size:.85rem; color:var(--mut-d); margin:0; text-transform:uppercase; letter-spacing:.12em; white-space:nowrap; }
.issue-grid { display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:clamp(24px,4vw,56px); }
.issue-cover { display:flex; flex-direction:column; justify-content:flex-end; min-height:clamp(380px, 46vw, 560px); background:var(--g); color:var(--iv); text-decoration:none; border-radius:14px; padding:clamp(28px, 4vw, 56px); position:relative; overflow:hidden; }
.issue-cover::before { content:""; position:absolute; top:clamp(28px,4vw,56px); right:clamp(28px,4vw,56px); width:14px; height:14px; border-radius:50%; background:var(--au); box-shadow:0 0 0 12px rgba(184,139,79,.12); }
.issue-cover .issue-cat { color:var(--au); }
.issue-title { font-family:var(--font-display); font-weight:700; font-size:clamp(2.2rem, 4.8vw, 4.6rem); line-height:.98; letter-spacing:-.05em; margin:14px 0 18px; max-width:14ch; }
.issue-sum { color:var(--mut); font-size:1.12rem; line-height:1.5; margin:0 0 24px; max-width:44ch; }
.issue-read { font-weight:600; margin:0; }
.issue-cover:hover .issue-read { color:var(--au); }
.issue-cat { display:block; font-size:.72rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--au-ink); margin:0; }
.issue-index { list-style:none; margin:0; padding:0; }
.issue-index li { border-bottom:1px solid var(--line-l); }
.issue-index a { display:grid; grid-template-columns:44px minmax(0,1fr); gap:14px; padding:24px 0; text-decoration:none; }
.issue-i { font-variant-numeric:tabular-nums; font-size:.85rem; color:var(--mut-d); padding-top:3px; }
.issue-t { display:block; font-family:var(--font-display); font-weight:700; font-size:clamp(1.35rem, 2.2vw, 1.9rem); line-height:1.08; letter-spacing:-.03em; margin:8px 0 8px; }
.issue-s { display:block; color:var(--mut-d); line-height:1.5; }
.issue-index a:hover .issue-t { text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:4px; text-decoration-color:var(--au); }
.issue-all a { display:block; padding:22px 0; font-weight:600; }

/* ============ 13. FINAL ============ */
.close { min-height:100svh; display:grid; align-items:center; padding:clamp(100px, 13vw, 170px) 0; }
.close-a { font-size:clamp(1.4rem, 3vw, 2.6rem); line-height:1.25; letter-spacing:-.025em; color:var(--mut); margin:0; }
.close-timer { font-variant-numeric:tabular-nums; color:var(--au); margin:22px 0 0; font-size:1.05rem; }
.close-b { font-family:var(--font-display); font-weight:700; font-size:clamp(2.8rem, 8vw, 8rem); line-height:.95; letter-spacing:-.06em; margin:clamp(70px, 12vw, 160px) 0 0; }
.close-sign { margin-top:clamp(70px, 12vw, 150px); padding-top:40px; border-top:1px solid var(--line-d); display:grid; grid-template-columns:auto 1fr auto; gap:28px 48px; align-items:end; }
.close-brand { font-weight:700; font-size:1.1rem; margin:0; }
.close-motto { font-size:clamp(1.2rem, 2vw, 1.6rem); line-height:1.35; color:var(--mut); margin:0; }
.close-actions { display:flex; gap:12px; flex-wrap:wrap; }

/* ============ MOVIMENTO ============ */
@keyframes rise { from { opacity:0; transform:translateY(14px); } to { opacity:1; transform:none; } }
@keyframes fade { from { opacity:0; } to { opacity:1; } }
@keyframes whisper { 0% { opacity:0; transform:translateY(10px); } 18% { opacity:1; transform:none; } 100% { opacity:.55; transform:translateY(-6px); } }
@keyframes wall { 0% { opacity:.1; } 30% { opacity:.85; } 100% { opacity:.08; } }
@keyframes pulse { 0%,100% { box-shadow:0 0 0 6px rgba(184,139,79,.14); } 50% { box-shadow:0 0 0 16px rgba(184,139,79,.04); } }

[data-reveal] { opacity:1; transform:none; transition:none; }
@media (prefers-reduced-motion: no-preference) {
  .js [data-reveal] { opacity:0; transform:translateY(22px); transition:opacity .75s var(--ease), transform .75s var(--ease); }
  .js [data-reveal].is-visible { opacity:1; transform:none; }
  .js .open-title .l1, .js .open-title .l2 { animation:rise 1s var(--ease) both; }
  .js .open-title .l2 { animation-delay:.25s; }
  .js .open-after { animation:fade 1.2s ease 1.1s both; }
  .js .open-q { animation:rise 1s var(--ease) 5.4s both; }
  .js .whisper { opacity:0; animation:whisper 7s ease-out both; animation-delay:calc(1.6s + var(--i) * .55s); }
}
@media (prefers-reduced-motion: reduce) {
  .js .tale-step, .js .elo { opacity:1; }
  .whisper { opacity:.5; }
}

/* ============ 7b. EVIDÊNCIAS ============ */
.proof { background:var(--iv); color:var(--g); padding:clamp(100px, 13vw, 170px) 0; }
.proof-head { max-width:820px; margin-bottom:clamp(44px,6vw,80px); }
.proof-grid { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); border-top:2px solid var(--g); }
.proof-item { padding:30px 28px 34px 0; border-bottom:1px solid var(--line-l); display:flex; flex-direction:column; }
.proof-item:not(:nth-child(3n+1)) { padding-left:28px; border-left:1px solid var(--line-l); }
.proof-tipo { font-size:.7rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--mut-d); margin:0 0 18px; }
.proof-n { font-family:var(--font-display); font-weight:700; font-size:clamp(3rem, 6vw, 5.2rem); line-height:.9; letter-spacing:-.06em; margin:0; font-variant-numeric:tabular-nums; }
.proof-item:first-child .proof-n { color:var(--au-ink); }
.proof-u { font-weight:600; margin:10px 0 16px; }
.proof-t { color:#3D3A36; line-height:1.55; margin:0 0 18px; flex:1; }
.proof-src { font-size:.85rem; color:var(--mut-d); text-underline-offset:3px; }
.proof-src:hover { color:var(--au-ink); }
.proof-pattern { margin-top:clamp(56px,8vw,96px); display:grid; grid-template-columns:minmax(0,3fr) minmax(0,9fr); gap:32px; align-items:start; }
.proof-pattern-k, .proof-care-k { font-size:.72rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--au-ink); margin:0 0 14px; }
.proof-steps { list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.proof-steps li { font-family:var(--font-display); font-size:clamp(1.4rem, 3vw, 2.6rem); line-height:1.1; letter-spacing:-.035em; color:var(--mut-d); }
.proof-steps li span { color:var(--g); font-weight:700; }
.proof-steps li:last-child span { color:var(--au-ink); }
.proof-pair { display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-top:clamp(56px,8vw,90px); }
.proof-care { background:var(--g); color:var(--iv); border-radius:14px; padding:clamp(26px,3.5vw,44px); }
.proof-care .proof-care-k { color:var(--au); }
.proof-care-q { font-family:var(--font-display); font-weight:700; font-size:clamp(1.4rem,2.4vw,2rem); line-height:1.12; letter-spacing:-.03em; margin:0 0 18px; text-decoration:line-through; text-decoration-color:var(--au); text-decoration-thickness:2px; }
.proof-care p:last-child { color:var(--mut); line-height:1.6; margin:0; }
.proof-not { border:1px solid var(--line-l); border-radius:14px; padding:clamp(26px,3.5vw,44px); background:#FBFAF7; }
.proof-not ul { list-style:none; margin:0 0 22px; padding:0; display:grid; gap:12px; }
.proof-not li { position:relative; padding-left:26px; line-height:1.5; }
.proof-not li::before { content:"×"; position:absolute; left:2px; top:-1px; color:var(--au-ink); font-weight:700; }
.proof-more { font-weight:700; color:var(--g); text-underline-offset:3px; }

/* ============ 10b. CANTEIRO ============ */
.field { background:var(--iv); color:var(--g); padding:clamp(100px, 13vw, 170px) 0; }
.field-grid { display:grid; grid-template-columns:minmax(0,6fr) minmax(0,6fr); gap:clamp(36px,6vw,90px); align-items:center; }
.field-copy .h2 { max-width:14ch; }
.field-lede { font-size:clamp(1.08rem,1.5vw,1.3rem); line-height:1.6; color:#3D3A36; margin:0 0 20px; max-width:52ch; }
.field-punch { font-size:clamp(1.2rem,1.8vw,1.5rem); line-height:1.4; margin:0 0 32px; max-width:40ch; }
.field-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; margin:0 0 28px; border-top:2px solid var(--g); }
.field-facts div { padding:16px 16px 16px 0; }
.field-facts div + div { padding-left:16px; border-left:1px solid var(--line-l); }
.field-facts dt { font-family:var(--font-display); font-weight:700; font-size:clamp(1.2rem,2vw,1.6rem); letter-spacing:-.03em; margin:0 0 6px; }
.field-facts dd { margin:0; color:var(--mut-d); font-size:.9rem; line-height:1.45; }
.field-care { background:#FBFAF7; border-left:3px solid var(--au); padding:16px 20px; line-height:1.55; margin:0 0 28px; color:#3D3A36; }
.btn--dark { background:var(--g); color:var(--iv); }
.field-plan { margin:0; }
.field-plan svg { width:100%; height:auto; display:block; background:#FBFAF7; border:1px solid var(--line-l); border-radius:14px; }
.field-plan figcaption { color:var(--mut-d); font-size:.9rem; line-height:1.55; margin-top:14px; }
.pl-grid line { stroke:rgba(11,11,11,.06); stroke-width:1; }
.pl-walls rect, .pl-walls line { fill:none; stroke:var(--g); stroke-width:5; stroke-linecap:square; }
.pl-proj { stroke:var(--g); stroke-width:2; stroke-dasharray:6 5; opacity:.55; }
.pl-exec { stroke:var(--au); stroke-width:5; }
.pl-pts circle { fill:var(--au); }
.pl-sweep path { fill:rgba(184,139,79,.16); }
.pl-sweep { transform-origin:180px 225px; }
.pl-scan { fill:var(--g); stroke:var(--au); stroke-width:3; }
.pl-labels text { font-family:var(--font-body); font-size:11px; fill:var(--mut-d); }
.pl-labels .pl-dev { fill:var(--au-ink); font-weight:700; font-size:12px; }
.pl-labels text:first-child { text-anchor:end; }
@media (prefers-reduced-motion: no-preference) {
  .js .pl-sweep { animation:sweep 6s linear infinite; }
  .js .field-plan .pl-pts circle { opacity:0; }
  .js .field-plan.is-visible .pl-pts circle { animation:fade .4s ease both; animation-delay:calc(.4s + var(--k) * .12s); }
}
@keyframes sweep { to { transform:rotate(360deg); } }

/* ============ RESPONSIVO ============ */
@media (max-width: 999px) {
  .source-video, .proof-pair, .proof-pattern, .field-grid,
  .define-grid, .before-grid, .ask-grid, .issue-grid, .case--photo, .case-pair, .engines-grid, .captive { grid-template-columns:1fr; }
  .before-grid { margin-top:-80px; }
  .tale-grid { grid-template-columns:1fr; gap:0; }
  .tale-stage { position:sticky; top:70px; z-index:5; margin:0 -24px; background:rgba(247,245,238,.94); backdrop-filter:blur(8px); border-bottom:1px solid var(--line-l); }
  .tale-sticky { position:static; display:flex; align-items:baseline; gap:14px; padding:12px 24px; }
  .tale-count { margin:0; }
  .tale-elo { font-size:1.4rem; min-height:0; margin:0; letter-spacing:-.02em; }
  .tale-dots { display:none; }
  .tale-step { min-height:34vh; }
  .shot--wide { height:62vw; min-height:260px; }
  .before-grid { margin-top:-40px; }
  .close-b br { display:none; }
  .elo { grid-template-columns:40px minmax(0,1fr); }
  .elo-def { grid-column:2; margin-top:8px; }
  .chain2-mark { grid-template-columns:1fr; }
  .scale-item, .scale-item--text { grid-column:span 6; }
  .scale-grid { grid-template-columns:repeat(6, minmax(0,1fr)); }
  .tools-list { grid-template-columns:1fr; }
  .close-sign { grid-template-columns:1fr; align-items:start; }
  .case-img { height:auto; min-height:0; aspect-ratio:16/10; }
}
@media (min-width: 640px) and (max-width: 999px) {
  .scale-item { grid-column:span 3; }
  .scale-item:nth-child(3) { grid-column:span 6; }
  .scale-item:nth-child(3) .shot--tall { aspect-ratio:16/10; }
}
@media (max-width: 999px) {
  .proof-grid { grid-template-columns:1fr 1fr; }
  .proof-item, .proof-item:not(:nth-child(3n+1)) { padding:26px 20px 28px 0; border-left:0; }
  .proof-item:nth-child(2n) { padding-left:20px; border-left:1px solid var(--line-l); }
}
@media (max-width: 560px) {
  .proof-grid { grid-template-columns:1fr; }
  .proof-item:nth-child(2n) { padding-left:0; border-left:0; }
  .field-facts { grid-template-columns:1fr; }
  .field-facts div + div { padding-left:0; border-left:0; border-top:1px solid var(--line-l); }
  .home .container { width:min(calc(100% - 32px), 1280px); }
  .tale-stage { margin:0 -16px; top:70px; }
  .tale-sticky { padding:10px 16px; }
  .chain2-body { grid-template-columns:20px minmax(0,1fr); column-gap:14px; }
  .elo { grid-template-columns:1fr; }
  .elo-n { display:none; }
  .elo-def { grid-column:1; }
  .issue-top { flex-direction:column; align-items:flex-start; }
  .open { padding:56px 0 110px; }
}
