/* RE.CREATE v6 — estilos das páginas e seções do briefing de ajustes.
   Mesmo sistema do site: preto profundo, hairlines brancas, tipografia expandida, acento controlado.
   Tudo respeita prefers-reduced-motion. */
:root { --mono6: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace; }

/* ---------- Revelação suave ---------- */
.rv6 { opacity: 0; translate: 0 18px; transition: opacity .7s var(--ease) var(--d, 0ms), translate .7s var(--ease) var(--d, 0ms), border-color .3s, transform .35s var(--ease), box-shadow .35s; }
.rv6.is-in { opacity: 1; translate: 0 0; }
.selo--launch::before { background: transparent; border: 1px solid var(--accent); box-shadow: none; }

/* ---------- Home: cards e orçamento ---------- */
.sblock__price { display: inline-flex; align-items: center; gap: 8px; }
@media (min-width: 1101px) { .sblocks__grid > li:last-child:nth-child(4n + 3) { grid-column: span 2; } .sblocks__grid > li:last-child:nth-child(4n + 3) .sblock__in { grid-template-rows: auto 1fr; } }
.quote__card { display: grid; grid-template-columns: minmax(0, 1fr); align-content: start; gap: var(--s3); }
.quote__card-t { font-family: var(--display); font-variation-settings: "wdth" 114; font-weight: 600; font-size: clamp(1.4rem, 2.4vw, 2rem); line-height: 1.1; letter-spacing: -.03em; }
.quote__card-d { color: #bdbdbd; max-width: 46ch; }

/* =========================================================
   DIAGNÓSTICO (porte do recreate-servico-ideal e versão da página Serviços)
   ========================================================= */
.dq { width: 100%; }
.dq__eyebrow { text-align: center; font-size: .74rem; letter-spacing: .16em; text-transform: uppercase; color: var(--mute-d); margin-bottom: var(--s3); }
.dq__card { background: #101010; border: 1px solid var(--line-d); border-radius: 24px; padding: clamp(20px, 4vw, 40px); box-shadow: 0 24px 60px -30px rgba(255,255,255,.14); }
.dq__top { display: flex; align-items: center; justify-content: space-between; gap: var(--s3); }
.dq__back { width: 36px; height: 36px; border-radius: 50%; border: 1px solid var(--line-d); background: none; color: #fff; display: grid; place-items: center; cursor: pointer; transition: border-color .25s; }
.dq__back:hover:not(:disabled) { border-color: #fff; }
.dq__back:disabled { opacity: .3; cursor: not-allowed; }
.dq__back svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.dq__step { font-size: .74rem; letter-spacing: .12em; text-transform: uppercase; color: var(--mute-d); }
.dq__bar { height: 6px; border-radius: 999px; background: #1e1e1e; margin-top: var(--s3); overflow: hidden; }
.dq__bar i { display: block; height: 100%; background: #fff; border-radius: 999px; transition: width .5s var(--ease); }
.dq__body { margin-top: var(--s5); animation: dqIn .5s var(--ease) both; }
@keyframes dqIn { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
.dq__q { font-family: var(--display); font-variation-settings: "wdth" 112; font-weight: 600; font-size: clamp(1.4rem, 3vw, 2rem); line-height: 1.12; letter-spacing: -.025em; text-wrap: balance; }
.dq__help { color: var(--mute-d); margin-top: 8px; font-size: .92rem; }
.dq__opts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: var(--s5); }
.dq__opt { display: flex; gap: 12px; align-items: flex-start; text-align: left; padding: 16px 18px; border-radius: 16px; border: 1px solid var(--line-d); background: #171717; color: #bdbdbd; cursor: pointer; font-size: .98rem; line-height: 1.4; transition: border-color .2s, background .2s, color .2s; }
.dq__opt:hover { border-color: rgba(255,255,255,.4); color: #fff; }
.dq__opt.is-on { border-color: #fff; background: rgba(255,255,255,.08); color: #fff; }
.dq__mark { flex: none; width: 20px; height: 20px; border-radius: 50%; border: 1px solid #6a6a6a; display: grid; place-items: center; margin-top: 1px; transition: background .2s, border-color .2s; }
.dq__opt.is-multi .dq__mark { border-radius: 6px; }
.dq__mark svg { width: 13px; height: 13px; fill: none; stroke: #000; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; opacity: 0; }
.dq__opt.is-on .dq__mark { background: #fff; border-color: #fff; }
.dq__opt.is-on .dq__mark svg { opacity: 1; }
.dq__more { margin-top: var(--s5); display: flex; justify-content: flex-end; }
.dq__more .btn:disabled { opacity: .4; cursor: not-allowed; }
.dq__res { border: 1px solid var(--line-d); border-radius: 24px; background: #101010; padding: clamp(20px, 4vw, 40px); animation: dqIn .6s var(--ease) both; }
.dq__rk { font-size: .74rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
.dq__rk2 { margin-top: var(--s4); color: var(--mute-d); font-size: .9rem; }
.dq__rt { font-family: var(--display); font-variation-settings: "wdth" 118; font-weight: 700; font-size: clamp(2rem, 5vw, 3.4rem); line-height: 1; letter-spacing: -.04em; margin-top: 12px; text-wrap: balance; }
.dq__why { margin-top: var(--s4); font-size: .74rem; letter-spacing: .14em; text-transform: uppercase; color: var(--c, #fff); font-weight: 600; }
.dq__rp { margin-top: 12px; color: #d2d2d2; max-width: 62ch; }
.dq__cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s5); margin-top: var(--s5); }
.dq__cols h4 { font-size: .92rem; font-weight: 600; margin-bottom: 12px; }
.dq__cols ul, .dq__gain { display: grid; gap: 8px; }
.dq__cols li, .dq__gain li { display: flex; gap: 10px; color: #bdbdbd; font-size: .92rem; }
.dq__cols svg, .dq__gain svg { flex: none; width: 16px; height: 16px; margin-top: 3px; fill: none; stroke: var(--c, #fff); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.dq__gain { margin-top: var(--s4); grid-template-columns: repeat(2, minmax(0, 1fr)); }
.dq__you { display: grid; gap: 10px; margin-top: var(--s4); padding: 16px 18px; border: 1px solid var(--line-d); border-radius: 16px; background: #171717; }
.dq__you li { color: #e6e6e6; font-size: .96rem; line-height: 1.45; }
.dq__you span { display: block; font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; color: var(--mute-d); margin-bottom: 2px; }
.dq__facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: var(--s5); }
.dq__facts > div, .dq__sec { border: 1px solid var(--line-d); border-radius: 16px; background: #171717; padding: 18px 20px; }
.dq__facts span, .dq__sec span { display: block; font-size: .7rem; letter-spacing: .14em; text-transform: uppercase; color: var(--mute-d); }
.dq__facts b { display: block; margin-top: 6px; font-family: var(--display); font-variation-settings: "wdth" 112; font-weight: 600; font-size: 1.15rem; line-height: 1.25; }
.dq__tiers { display: grid; gap: 6px; margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--line-d); }
.dq__tiers li { display: flex; justify-content: space-between; gap: 12px; font-size: .88rem; color: #bdbdbd; }
.dq__tiers em { font-style: normal; color: #fff; font-variant-numeric: tabular-nums; text-align: right; }
.dq__sec { margin-top: 16px; background: rgba(23,23,23,.6); }
.dq__sec b { display: block; margin-top: 4px; font-family: var(--display); font-variation-settings: "wdth" 112; font-weight: 600; font-size: 1.15rem; }
.dq__sec p { margin-top: 6px; color: #bdbdbd; font-size: .9rem; }
.dq__acts { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-top: var(--s5); }
.dq__redo { display: inline-flex; align-items: center; gap: 8px; background: none; border: 0; padding: 0 8px; height: 46px; color: var(--mute-d); cursor: pointer; font-size: .92rem; }
.dq__redo:hover { color: #fff; }
.dq__redo svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.btn--wa { background: #25d366; color: #04210f; }
.btn--wa:hover { background: #3be07c; }
.btn--wa svg { width: 18px; height: 18px; }
@media (max-width: 720px) { .dq__opts, .dq__cols, .dq__facts, .dq__gain { grid-template-columns: minmax(0, 1fr); } .dq__acts .btn { width: 100%; } }
@media (prefers-reduced-motion: reduce) { .dq__body, .dq__res { animation: none; } .dq__bar i { transition: none; } }

/* janela do diagnóstico (Serviços) */
.qdlg { width: min(880px, calc(100% - 24px)); max-height: calc(100dvh - 24px); margin: auto; padding: 0; border: 1px solid var(--line-d); border-radius: 24px; background: #070707; color: #fff; overflow: auto; overscroll-behavior: contain; }
.qdlg::backdrop { background: rgba(0,0,0,.76); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.qdlg__in { position: relative; padding: clamp(14px, 3vw, 28px); }
.qdlg__x { position: absolute; right: 18px; top: 18px; z-index: 3; background: #070707; }
.qdlg .dq__card { box-shadow: none; padding-top: clamp(28px, 4vw, 44px); }
.qdlg .dq__eyebrow { padding-right: 48px; text-align: left; }
.qdlg .dq__res { box-shadow: none !important; }

/* aside do diagnóstico na página Serviços */
.sv-quiz__txt { color: #d0d0d0; margin-bottom: var(--s4); font-size: .98rem; }
.sv-quiz__pts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-bottom: var(--s4); }
.sv-quiz__pts li { border: 1px solid rgba(255,255,255,.16); border-radius: 12px; padding: 12px; font-size: .74rem; color: #bdbdbd; line-height: 1.3; }
.sv-quiz__pts b { display: block; font-family: var(--display); font-variation-settings: "wdth" 118; font-weight: 700; font-size: 1.4rem; color: #fff; letter-spacing: -.03em; }
.sv-quiz .sv-find__acts { margin-top: 0; }
.sv-quiz .sv-find__hint { margin-top: var(--s3); }

/* categoria 3 na página Serviços */
.sv-ia { padding: clamp(64px, 9vw, 120px) 0; border-top: 1px solid var(--hair); background: #050505; }
.sv-rows--dark { border-top: 2px solid #fff; }
.sv-rows--dark .sv-row { border-bottom: 1px solid rgba(255,255,255,.2); }
.sv-rows--dark .sv-row__a { color: #fff; }
.sv-rows--dark .sv-row__n { color: #8a8a8a; }
.sv-rows--dark .sv-row__ds { color: #bdbdbd; }
.sv-rows--dark .sv-row__ds small { color: #8a8a8a; }
.sv-rows--dark .sv-row__a:hover, .sv-rows--dark .sv-row__a:focus-visible { background: #fff; color: #000; }
.sv-rows--dark .sv-row__a:hover .sv-row__ds, .sv-rows--dark .sv-row__a:hover .sv-row__n, .sv-rows--dark .sv-row__a:hover .sv-row__ds small { color: #333; }
.sv-sol__note--dark { color: #bdbdbd; }
.sv-sol__note--dark a { color: #fff; }

/* =========================================================
   AGENTES
   ========================================================= */
.ag-hero { padding-block: clamp(40px, 6vw, 88px) clamp(32px, 5vw, 64px); background: radial-gradient(60% 90% at 90% 10%, rgba(255,106,43,.08), transparent 60%); border-bottom: 1px solid var(--line-d); }
.ag-hero__in { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(24px, 5vw, 72px); align-items: center; }
.ag-hero__txt { display: grid; gap: var(--s4); align-content: center; }
.ag-hero__txt .lead { color: #cfcfcf; max-width: 52ch; }
.ag-robot { position: relative; justify-self: end; width: 100%; max-width: 460px; aspect-ratio: 4 / 5; border-radius: 20px; overflow: hidden; background: radial-gradient(70% 55% at 50% 38%, #1c1c1c, #050505 72%); border: 1px solid var(--line-d); }
.ag-robot::after { content: ""; position: absolute; inset: auto 0 0; height: 30%; background: linear-gradient(0deg, #050505, transparent); pointer-events: none; }
.ag-robot__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 20%; transition: opacity .9s var(--ease); }
.ag-robot__cv { position: absolute; inset: 0; width: 100%; height: 100%; display: block; opacity: 0; transition: opacity .9s var(--ease); outline: none; }
.ag-robot.is-live .ag-robot__cv { opacity: 1; }
.ag-robot.is-live .ag-robot__img { opacity: 0; }
.ag-robot:not(.is-static):not(.is-live) .ag-robot__img { animation: agPulse 2.4s ease-in-out infinite; }
@keyframes agPulse { 50% { opacity: .78; } }
.ag-about { padding-block: clamp(56px, 7vw, 96px); border-bottom: 1px solid var(--line-d); background: #050505; }
.ag-about__in { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: clamp(28px, 5vw, 80px); align-items: start; }
.ag-about__txt { display: grid; gap: var(--s3); }
.ag-about__txt .lead { color: #cfcfcf; }
.ag-about__pts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s2); }
.ag-about__pts li { display: grid; gap: 6px; align-content: start; padding: var(--s3) var(--s4); border: 1px solid var(--line-d); border-radius: var(--r-m); background: linear-gradient(180deg, #111, #0a0a0a); }
.ag-about__n { font-size: .78rem; letter-spacing: .1em; color: var(--accent); font-family: var(--display); }
.ag-about__pts b { font-family: var(--display); font-variation-settings: "wdth" 115; font-weight: 600; font-size: 1.1rem; letter-spacing: -.015em; }
.ag-about__pts li > span:last-child { color: #bdbdbd; font-size: .9rem; }
.agx--cat { padding-top: 0; }
.agx__cats { margin-bottom: var(--s4); }
.agc__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s3); }
.agc { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); border: 1px solid var(--line-d); border-radius: var(--r-m); overflow: hidden; background: #0d0d0d; }
.agc[hidden] { display: none; }
.agc:hover { border-color: rgba(255,255,255,.4); }
.agc__foto { margin: 0; position: relative; min-height: 240px; background: radial-gradient(80% 60% at 50% 30%, #1d1d1d, #0a0a0a); border-right: 1px solid var(--line-d); overflow: hidden; }
.agc__foto img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease); }
.agc:hover .agc__foto img { transform: scale(1.04); }
.agc__ph { position: absolute; inset: 12px; display: grid; place-content: center; justify-items: center; gap: 10px; color: #6f6f6f; border: 1px dashed rgba(255,255,255,.14); border-radius: 10px; }
.agc__ph svg { width: 48px; height: 48px; fill: none; stroke: currentColor; stroke-width: 1.2; }
.agc__ph small { font-size: .66rem; letter-spacing: .16em; text-transform: uppercase; text-align: center; }
.agc__body { display: flex; flex-direction: column; gap: 8px; padding: var(--s4); min-width: 0; }
.agc__cat { font-size: .68rem; letter-spacing: .16em; text-transform: uppercase; color: var(--mute-d); }
.agc__n { font-family: var(--display); font-variation-settings: "wdth" 120; font-weight: 700; font-size: 1.5rem; letter-spacing: -.02em; line-height: 1.05; text-transform: uppercase; }
.agc__f { color: #fff; font-weight: 500; font-size: .98rem; line-height: 1.3; }
.agc__d { color: #bdbdbd; font-size: .9rem; line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.agc__foot { display: grid; gap: 12px; margin-top: auto; padding-top: var(--s3); border-top: 1px solid var(--line-d); }
.agc__price { font-size: .88rem; color: #e2e2e2; }
.agc__acts { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.agc__buy { height: 38px; padding: 0 16px; font-size: .84rem; }
.agc__wa { color: var(--mute-d); font-size: .84rem; text-decoration: none; background: linear-gradient(currentColor, currentColor) 0 100% / 100% 1px no-repeat; padding-bottom: 2px; }
.agc__wa:hover { color: #fff; }
.agc.is-match { border-color: var(--accent); box-shadow: 0 0 0 1px var(--accent), 0 20px 50px -30px var(--accent); }
.agc.is-dim { opacity: .35; }
.agc__note { margin-top: var(--s4); }
@media (max-width: 1100px) { .ag-hero__in, .ag-about__in { grid-template-columns: minmax(0, 1fr); } .ag-robot { justify-self: start; max-width: 380px; } .agc__grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 760px) { .ag-robot { max-width: 100%; aspect-ratio: 4 / 4.4; } }
@media (max-width: 520px) { .agc { grid-template-columns: minmax(0, 1fr); } .agc__foto { min-height: 0; aspect-ratio: 16 / 9; border-right: 0; border-bottom: 1px solid var(--line-d); } .ag-about__pts { grid-template-columns: minmax(0, 1fr); } }
@media (prefers-reduced-motion: reduce) { .ag-robot__img, .ag-robot__cv { transition: none; } .ag-robot:not(.is-static):not(.is-live) .ag-robot__img { animation: none; } .agc__foto img { transition: none; } }

/* =========================================================
   SOBRE: soluções exclusivas
   ========================================================= */
.sxs { padding-block: clamp(64px, 9vw, 120px); background: #050505; border-top: 1px solid var(--line-d); }
.sx__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s3); }
.sxc { --c: #fff; position: relative; border-radius: var(--r-m); overflow: hidden; border: 1px solid var(--line-d); background: #0b0b0b; }
.sxc::before { content: ""; position: absolute; inset: 0 0 auto; height: 3px; background: var(--c); z-index: 2; }
.sxc:hover { border-color: color-mix(in srgb, var(--c) 60%, transparent); box-shadow: 0 24px 60px -34px var(--c); transform: translateY(-3px); }
.sxc__a { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); min-height: 270px; height: 100%; color: inherit; text-decoration: none; }
.sxc__media { position: relative; overflow: hidden; background: #000; }
.sxc__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: saturate(.85) brightness(.82); transition: transform .8s var(--ease), filter .5s; }
.sxc:hover .sxc__media img { transform: scale(1.05); filter: saturate(1) brightness(.95); }
.sxc__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, transparent 35%, #0b0b0b), linear-gradient(0deg, color-mix(in srgb, var(--c) 24%, transparent), transparent 60%); }
.sxc__body { display: grid; gap: 10px; align-content: center; padding: clamp(20px, 2.6vw, 32px); }
.sxc__k { display: inline-flex; align-items: center; gap: 10px; font: 500 .68rem/1.2 var(--mono6); letter-spacing: .12em; text-transform: uppercase; color: #bdbdbd; }
.sxc__k i { flex: none; width: 28px; height: 28px; border-radius: 8px; border: 1px solid color-mix(in srgb, var(--c) 55%, transparent); display: grid; place-items: center; color: var(--c); }
.sxc__k svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.sxc__t { font-family: var(--display); font-variation-settings: "wdth" 118; font-weight: 750; font-size: clamp(1.3rem, 2vw, 1.85rem); line-height: 1; letter-spacing: -.035em; text-transform: uppercase; overflow-wrap: break-word; }
.sxc__d { color: #bdbdbd; font-size: .93rem; max-width: 40ch; }
.sxc__btn { justify-self: start; display: inline-flex; gap: 10px; align-items: center; height: 40px; padding: 0 16px; border-radius: 999px; border: 1px solid var(--c); color: var(--c); font-weight: 500; font-size: .88rem; margin-top: 4px; transition: background .25s, color .25s; }
.sxc__a:hover .sxc__btn, .sxc__a:focus-visible .sxc__btn { background: var(--c); color: #000; }
@media (max-width: 1000px) { .sx__grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 560px) { .sxc__a { grid-template-columns: minmax(0, 1fr); } .sxc__media { aspect-ratio: 16 / 9; } .sxc__media::after { background: linear-gradient(0deg, #0b0b0b, transparent 70%); } }
@media (prefers-reduced-motion: reduce) { .sxc, .sxc__media img { transition: none; } .sxc:hover { transform: none; } }

/* =========================================================
   SOBRE: operações (órbita de perfis)
   ========================================================= */
.opsec { padding-block: clamp(64px, 9vw, 120px); border-top: 1px solid var(--line-d); background: radial-gradient(60% 40% at 50% 12%, rgba(255,255,255,.045), transparent 70%), #000; scroll-margin-top: calc(var(--nav-h) + 8px); }
.opsec__head { display: grid; gap: var(--s3); max-width: 760px; margin-bottom: var(--s6); }
.opsec__head .lead { color: #cfcfcf; }
.opsec__method { display: grid; gap: var(--s2); max-width: 720px; margin-bottom: var(--s5); }
.opsec__method .lead { color: #cfcfcf; }
.opsec__next { margin-top: var(--s7); padding-top: var(--s5); border-top: 1px solid var(--line-d); display: grid; gap: var(--s3); }
.opsec__next ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s3); }
.opsec__next li { display: grid; gap: 6px; padding: var(--s4); border: 1px dashed var(--line-d); border-radius: var(--r-m); }
.opsec__next b { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; font-family: var(--display); font-variation-settings: "wdth" 114; font-weight: 600; font-size: 1.1rem; }
.opsec__next small { font: 500 .62rem/1 var(--mono6); letter-spacing: .14em; text-transform: uppercase; color: var(--accent); border: 1px solid currentColor; border-radius: 999px; padding: 4px 8px; }
.opsec__next span { color: #bdbdbd; font-size: .92rem; }
@media (max-width: 760px) { .opsec__next ul { grid-template-columns: minmax(0, 1fr); } }

.orb { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: clamp(24px, 5vw, 72px); align-items: center; margin-bottom: var(--s7); }
.orb__stage { container-type: inline-size; position: relative; width: min(100%, 620px); aspect-ratio: 1; justify-self: center; }
.orb__ring { position: absolute; left: 50%; top: 50%; border-radius: 50%; translate: -50% -50%; pointer-events: none; }
.orb__ring--a { width: 74cqw; height: 74cqw; border: 1px dashed rgba(255,255,255,.2); animation: orbSpinRev 160s linear infinite; }
.orb__ring--b { width: 48cqw; height: 48cqw; border: 1px solid rgba(255,255,255,.1); }
.orb__spin { --R: 37cqw; position: absolute; inset: 0; animation: orbSpin 120s linear infinite; }
.orb__arm { position: absolute; left: 50%; top: 50%; width: 0; height: 0; transform: rotate(var(--a)); }
.orb__spoke { position: absolute; left: 0; top: -.5px; height: 1px; width: var(--R); background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.26)); transition: background .4s; }
.orb__spoke::after { content: ""; position: absolute; top: -2px; left: 12%; width: 5px; height: 5px; border-radius: 50%; background: #fff; box-shadow: 0 0 10px #fff; opacity: 0; animation: orbPulse 4.8s ease-in-out infinite; animation-delay: calc(var(--i) * .8s); }
.orb__arm.is-on .orb__spoke { background: linear-gradient(90deg, rgba(255,255,255,.1), #fff); }
.orb__node { position: absolute; left: var(--R); top: 0; translate: -50% -50%; rotate: calc(var(--a) * -1); background: none; border: 0; padding: 0; cursor: pointer; color: #fff; font: inherit; border-radius: 50%; }
.orb__tilt { position: relative; display: block; animation: orbSpinRev 120s linear infinite; }
.orb__badge { display: grid; place-items: center; width: clamp(56px, 16cqw, 98px); aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle at 30% 25%, #262626, #0a0a0a); border: 1px solid rgba(255,255,255,.2); box-shadow: 0 14px 34px -14px #000; overflow: hidden; padding: 12%; transition: scale .35s var(--ease), border-color .3s, box-shadow .35s; }
.orb__badge img { width: 100%; height: 100%; object-fit: contain; }
.orb__mono { font-family: var(--display); font-variation-settings: "wdth" 120; font-weight: 700; font-size: clamp(1.4rem, 5cqw, 2.2rem); line-height: 1; color: #e8e8e8; }
.orb__tag { position: absolute; top: calc(100% + 8px); left: 50%; translate: -50% 0; white-space: nowrap; font-size: .66rem; letter-spacing: .1em; text-transform: uppercase; color: #a9a9a9; transition: color .3s; }
.orb__node:hover .orb__badge, .orb__node:focus-visible .orb__badge, .orb__node[aria-pressed="true"] .orb__badge { border-color: #fff; box-shadow: 0 0 0 4px rgba(255,255,255,.08), 0 0 40px -6px rgba(255,255,255,.35); scale: 1.12; }
.orb__node[aria-pressed="true"] .orb__tag { color: #fff; }
.orb__node:focus-visible { outline: 2px solid #fff; outline-offset: 6px; }
.orb:hover .orb__spin, .orb:hover .orb__tilt, .orb:hover .orb__ring--a, .orb:focus-within .orb__spin, .orb:focus-within .orb__tilt, .orb:focus-within .orb__ring--a { animation-play-state: paused; }
.orb__core { position: absolute; left: 50%; top: 50%; translate: -50% -50%; width: 29cqw; display: grid; justify-items: center; gap: 0; text-decoration: none; color: #fff; z-index: 2; }
.orb__photo { position: relative; display: block; width: 100%; aspect-ratio: 1; border-radius: 50%; overflow: hidden; border: 2px solid rgba(255,255,255,.88); box-shadow: 0 0 0 8px rgba(255,255,255,.05), 0 0 70px -10px rgba(255,255,255,.28); background: #111; }
.orb__photo img { width: 100%; height: 100%; object-fit: cover; }
.orb__core::before { content: ""; position: absolute; left: 0; right: 0; top: 0; aspect-ratio: 1; border-radius: 50%; border: 1px solid rgba(255,255,255,.6); animation: orbRing 3.8s ease-out infinite; pointer-events: none; }
.orb__handle { position: relative; margin-top: -14px; padding: 5px 12px; border-radius: 999px; background: #000; border: 1px solid rgba(255,255,255,.28); font-size: clamp(.62rem, 2.4cqw, .8rem); font-weight: 500; letter-spacing: .02em; white-space: nowrap; transition: background .25s, color .25s; }
.orb__core:hover .orb__handle { background: #fff; color: #000; }
.orb__panel { display: grid; gap: var(--s2); align-content: start; padding-top: var(--s4); border-top: 1px solid #fff; }
.orb__panel.is-in { animation: dqIn .45s var(--ease) both; }
.orb__seg { color: var(--mute-d); font-size: .9rem; }
.orb__name { font-family: var(--display); font-variation-settings: "wdth" 118; font-weight: 600; font-size: clamp(1.6rem, 2.6vw, 2.2rem); letter-spacing: -.03em; line-height: 1.05; }
.orb__h { color: var(--accent); }
.orb__panel .selo { justify-self: start; }
.orb__d { color: #d6d6d6; max-width: 46ch; }
.orb__acts { display: flex; flex-wrap: wrap; gap: var(--s2); margin-top: var(--s1); }
@keyframes orbSpin { to { transform: rotate(360deg); } }
@keyframes orbSpinRev { to { transform: rotate(-360deg); } }
@keyframes orbPulse { 0% { left: 12%; opacity: 0; } 15% { opacity: 1; } 70% { opacity: 1; } 100% { left: calc(100% - 6px); opacity: 0; } }
@keyframes orbRing { 0% { transform: scale(1); opacity: .7; } 100% { transform: scale(1.5); opacity: 0; } }
@media (max-width: 900px) { .orb { grid-template-columns: minmax(0, 1fr); } .orb__stage { width: min(100%, 520px); } }
@media (prefers-reduced-motion: reduce) { .orb__spin, .orb__tilt, .orb__ring--a, .orb__spoke::after, .orb__core::before { animation: none !important; } .orb__spoke::after { opacity: 0; } .orb__badge { transition: none; } .orb__panel.is-in { animation: none; } }

/* =========================================================
   DIRECIONAMENTO E ACOMPANHAMENTOS
   ========================================================= */
.dir-hero__in { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(24px, 5vw, 72px); align-items: center; }
.dir-hero__txt { display: grid; gap: var(--s4); }
.dir-hero__fig { margin: 0; border-radius: var(--r-m); overflow: hidden; border: 1px solid var(--line-d); background: #050505; aspect-ratio: 4 / 3.4; }
.dir-hero__fig img { width: 100%; height: 100%; object-fit: cover; }
.dir-hero__facts { display: grid; grid-template-columns: repeat(3, auto); justify-content: start; gap: var(--s5); margin: var(--s2) 0 0; padding-top: var(--s4); border-top: 1px solid var(--line-d); }
.dir-hero__facts dt { font-size: .7rem; letter-spacing: .14em; text-transform: uppercase; color: var(--mute-d); }
.dir-hero__facts dd { margin: 4px 0 0; font-family: var(--display); font-variation-settings: "wdth" 114; font-weight: 600; font-size: 1.15rem; }
.dir-sec { padding-block: clamp(56px, 7vw, 96px); border-top: 1px solid var(--line-d); }
.dir-plans { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s3); align-items: stretch; }
.dir-plan { position: relative; display: grid; align-content: start; gap: 10px; padding: clamp(20px, 2.4vw, 32px); border: 1px solid var(--line-d); border-radius: var(--r-m); background: linear-gradient(180deg, #121212, #090909); }
.dir-plan.is-hot { border-color: var(--accent); box-shadow: 0 0 0 1px var(--accent), 0 30px 70px -40px var(--accent); }
.dir-plan .selo { justify-self: start; }
.dir-plan__f { font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: var(--mute-d); }
.dir-plan__n { font-family: var(--display); font-variation-settings: "wdth" 116; font-weight: 650; font-size: 1.45rem; line-height: 1.1; letter-spacing: -.02em; min-height: 2.2em; }
.dir-plan__p { font-family: var(--display); font-variation-settings: "wdth" 120; font-weight: 700; font-size: clamp(2.2rem, 3.6vw, 3rem); letter-spacing: -.045em; line-height: 1; margin-top: 4px; font-variant-numeric: tabular-nums; }
.dir-plan__p small { font-size: .9rem; font-weight: 500; letter-spacing: 0; color: var(--mute-d); }
.dir-plan__l { display: grid; gap: 10px; margin: var(--s2) 0 var(--s3); padding-top: var(--s3); border-top: 1px solid var(--line-d); }
.dir-plan__l li { position: relative; padding-left: 22px; color: #cfcfcf; font-size: .94rem; }
.dir-plan__l li::before { content: ""; position: absolute; left: 0; top: .5em; width: 10px; height: 6px; border-left: 2px solid var(--accent); border-bottom: 2px solid var(--accent); rotate: -45deg; }
.dir-plan__go { margin-top: auto; width: 100%; }
.dir-note { margin-top: var(--s4); }
.dir-sec--how { background: #050505; }
.dir-for { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(24px, 5vw, 72px); align-items: start; }
.dir-for__l { display: grid; border-top: 1px solid var(--line-d); }
.dir-for__l li { display: flex; gap: 14px; padding: 18px 4px; border-bottom: 1px solid var(--line-d); color: #e0e0e0; }
.dir-for__l svg { flex: none; width: 18px; height: 18px; margin-top: 4px; fill: none; stroke: var(--accent); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
@media (max-width: 1000px) { .dir-hero__in, .dir-for { grid-template-columns: minmax(0, 1fr); } .dir-plans { grid-template-columns: minmax(0, 1fr); } .dir-plan__n { min-height: 0; } }
@media (max-width: 560px) { .dir-hero__facts { grid-template-columns: minmax(0, 1fr); gap: var(--s3); } }

/* =========================================================
   DESIGN DE PRODUTOS
   ========================================================= */
.dp { --acc: #f2a33c; }
.dp .btn--c { background: var(--acc); color: #000; }
.dp-hero { padding-block: clamp(40px, 6vw, 88px) clamp(48px, 6vw, 80px); background: radial-gradient(60% 80% at 85% 10%, color-mix(in srgb, var(--acc) 14%, transparent), transparent 62%); border-bottom: 1px solid var(--line-d); }
.dp-hero__in { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); gap: clamp(24px, 5vw, 72px); align-items: center; }
.dp-hero__txt { display: grid; gap: var(--s4); }
.dp .kx::before { background: var(--acc); }
.dp-h1 { font-family: var(--display); font-variation-settings: "wdth" 120; font-weight: 750; font-size: clamp(2.6rem, 6.4vw, 5.6rem); line-height: .94; letter-spacing: -.05em; text-wrap: balance; text-transform: uppercase; }
.dp-h1 em, .dp-blk__t em { font-style: normal; color: var(--acc); }
.dp-hero__txt .lead { color: #cfcfcf; }
.dp-hero__meta { font-size: .9rem; color: #bdbdbd; }
.dp-hero__meta span { font: 500 .68rem/1 var(--mono6); letter-spacing: .14em; text-transform: uppercase; color: var(--acc); margin-right: 8px; }
.dp-hero__fig { margin: 0; border-radius: var(--r-m); overflow: hidden; border: 1px solid var(--line-d); background: #050505; aspect-ratio: 1 / .95; }
.dp-hero__fig img { width: 100%; height: 100%; object-fit: cover; }
.dp-sec { padding-block: clamp(56px, 7vw, 96px); border-top: 1px solid var(--line-d); }
.dp-sec:first-of-type { border-top: 0; }
.dp-sec--val, .dp-sec--proc { background: #050505; }
.dp-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--s3); }
.dp-card a { display: grid; grid-template-rows: 1fr auto; height: 100%; color: inherit; text-decoration: none; border: 1px solid var(--line-d); border-radius: var(--r-m); overflow: hidden; background: #0b0b0b; transition: border-color .3s, transform .4s var(--ease), box-shadow .4s; }
.dp-card a:hover, .dp-card a:focus-visible { border-color: var(--acc); transform: translateY(-4px); box-shadow: 0 24px 50px -30px var(--acc); }
.dp-card__img { display: block; aspect-ratio: 4 / 4.6; overflow: hidden; background: radial-gradient(70% 60% at 50% 40%, #1a1a1a, #070707); }
.dp-card__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease); }
.dp-card a:hover .dp-card__img img { transform: scale(1.05); }
.dp-card__lab { display: flex; align-items: center; gap: 12px; padding: 14px 18px; border-top: 1px solid var(--line-d); font-weight: 600; font-size: .86rem; letter-spacing: .1em; text-transform: uppercase; background: #101010; }
.dp-card__lab i { width: 22px; height: 22px; color: var(--acc); }
.dp-card__lab svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.dp-val { display: grid; border-top: 1px solid var(--line-d); }
.dp-val__i { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 2fr) auto; gap: var(--s4); align-items: center; padding: 20px 4px; border-bottom: 1px solid var(--line-d); }
.dp-val__i b { display: block; font-family: var(--display); font-variation-settings: "wdth" 114; font-weight: 600; font-size: 1.2rem; }
.dp-val__i div span { display: block; color: #a9a9a9; font-size: .9rem; margin-top: 2px; }
.dp-val__p { font-family: var(--display); font-variation-settings: "wdth" 116; font-weight: 650; font-size: 1.3rem; color: var(--acc); font-variant-numeric: tabular-nums; }
.dp-val__p small { font-size: .78rem; font-weight: 500; color: var(--mute-d); }
.dp-blocks { display: grid; gap: clamp(32px, 5vw, 64px); }
.dp-blk { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(24px, 4vw, 64px); align-items: center; }
.dp-blk.is-flip .dp-blk__fig { order: 2; }
.dp-blk__fig { margin: 0; border-radius: var(--r-m); overflow: hidden; border: 1px solid var(--line-d); background: #050505; aspect-ratio: 4 / 3; }
.dp-blk__fig img { width: 100%; height: 100%; object-fit: cover; object-position: 100% 50%; }
.dp-blk__txt { display: grid; gap: var(--s3); }
.dp-blk__t { font-family: var(--display); font-variation-settings: "wdth" 118; font-weight: 720; font-size: clamp(1.8rem, 3.4vw, 3rem); line-height: .98; letter-spacing: -.04em; text-transform: uppercase; }
.dp-blk__txt .lead { color: #cfcfcf; }
.dp-chips { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.dp-chips li { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 2px 12px; align-items: start; padding: 12px 14px; border: 1px solid var(--line-d); border-radius: 12px; background: #0d0d0d; }
.dp-chips i { grid-row: span 2; width: 22px; height: 22px; color: var(--acc); }
.dp-chips svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
.dp-chips b { font-weight: 600; font-size: .9rem; }
.dp-chips span { color: #a9a9a9; font-size: .8rem; line-height: 1.35; }
.dp .cardx__n { color: var(--acc); }
@media (max-width: 1000px) { .dp-hero__in, .dp-blk { grid-template-columns: minmax(0, 1fr); } .dp-blk.is-flip .dp-blk__fig { order: 0; } .dp-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .dp-val__i { grid-template-columns: minmax(0, 1fr) auto; } .dp-val__i .btn { grid-column: 1 / -1; justify-self: start; } }
@media (max-width: 560px) { .dp-chips { grid-template-columns: minmax(0, 1fr); } .dp-card__lab { padding: 12px 14px; font-size: .78rem; } }
@media (prefers-reduced-motion: reduce) { .dp-card a, .dp-card__img img { transition: none; } .dp-card a:hover { transform: none; } }

/* =========================================================
   MOTION DESIGN (portfólio)
   ========================================================= */
.mt-hero { padding-block: clamp(40px, 6vw, 88px) clamp(40px, 6vw, 72px); background: radial-gradient(60% 80% at 15% 10%, rgba(214, 62, 255, .12), transparent 62%); border-bottom: 1px solid var(--line-d); }
.mt-hero__in { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(24px, 5vw, 72px); align-items: center; }
.mt-hero__txt { display: grid; gap: var(--s4); }
.mt-hero__txt .lead { color: #cfcfcf; }
.mt-hero__txt .kx::before { background: #d63eff; }
.mt-hero__note { color: #bdbdbd; font-size: .92rem; }
.mt-hero__fig { margin: 0; border-radius: var(--r-m); overflow: hidden; border: 1px solid var(--line-d); background: #050505; aspect-ratio: 16 / 10; }
.mt-hero__fig img { width: 100%; height: 100%; object-fit: cover; }
.mt-sec { padding-block: clamp(56px, 7vw, 96px); border-bottom: 1px solid var(--line-d); }
.mt-sec--alt { background: #050505; }
.mt-grid { display: grid; gap: var(--s3); }
.mt-grid--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.mt-grid--four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mt-card__btn { all: unset; display: grid; gap: 14px; width: 100%; cursor: pointer; }
.mt-card__btn[aria-disabled="true"] { cursor: default; }
.mt-card__btn:focus-visible { outline: 2px solid #fff; outline-offset: 4px; border-radius: var(--r-m); }
.mt-card__media { position: relative; display: block; aspect-ratio: 16 / 9; border-radius: var(--r-m); overflow: hidden; background: #000; border: 1px solid var(--line-d); }
.mt-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease); }
.mt-card__btn:hover .mt-card__media img { transform: scale(1.03); }
.mt-card__play { position: absolute; left: 50%; top: 50%; width: 64px; height: 64px; translate: -50% -50%; border-radius: 50%; display: grid; place-items: center; background: rgba(0,0,0,.55); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); border: 1px solid rgba(255,255,255,.5); transition: scale .3s var(--ease), background .3s; }
.mt-card__play svg { width: 26px; height: 26px; fill: #fff; margin-left: 3px; }
.mt-card__btn:hover .mt-card__play { scale: 1.1; background: rgba(0,0,0,.75); }
.mt-card__meta { display: grid; gap: 2px; }
.mt-card__meta b { font-family: var(--display); font-variation-settings: "wdth" 116; font-weight: 650; font-size: 1.3rem; text-transform: uppercase; letter-spacing: -.01em; }
.mt-card__meta span { color: #cfcfcf; font-size: .92rem; }
.mt-card__meta small { color: var(--mute-d); font: 500 .66rem/1.4 var(--mono6); letter-spacing: .1em; text-transform: uppercase; margin-top: 4px; }
.mt-dlg { width: min(1100px, calc(100% - 24px)); margin: auto; padding: 0; border: 1px solid var(--line-d); border-radius: 20px; background: #000; color: #fff; overflow: hidden; }
.mt-dlg::backdrop { background: rgba(0,0,0,.82); }
.mt-dlg__in { position: relative; }
.mt-dlg__in video { width: 100%; max-height: calc(100dvh - 24px); background: #000; }
.mt-dlg__x { position: absolute; right: 12px; top: 12px; z-index: 2; background: rgba(0,0,0,.6); }
@media (max-width: 1000px) { .mt-hero__in { grid-template-columns: minmax(0, 1fr); } .mt-grid--three { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .mt-grid--three, .mt-grid--four { grid-template-columns: minmax(0, 1fr); } }
@media (prefers-reduced-motion: reduce) { .mt-card__media img, .mt-card__play { transition: none; } }

/* =========================================================
   BRANDING (usa svc2.css como base)
   ========================================================= */
.br-hero__fig { position: relative; margin: 0; overflow: hidden; border: 1px solid var(--hair); background: #050505; aspect-ratio: 4 / 3; }
.br-hero__fig img { position: absolute; inset: -5% 0; width: 100%; height: 110%; object-fit: cover; transform: translate3d(0, calc(var(--py, 0) * -22px), 0); }
.br-blk { padding: clamp(56px, 8vw, 104px) 0; border-top: 1px solid var(--hair); }
.br-blk:nth-of-type(even) { background: #070707; }
.br-blk__in { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: clamp(28px, 5vw, 80px); align-items: center; }
.br-blk.is-flip .br-blk__txt { order: 2; }
.br-blk__txt .d2 { max-width: 14ch; }
.br-blk__lead { color: #cdcdcd; max-width: 50ch; margin-top: var(--s4); font-size: clamp(1rem, 1.2vw, 1.1rem); }
.br-blk__fig { position: relative; margin: 0; overflow: hidden; border: 1px solid var(--hair); background: #050505; aspect-ratio: 5 / 4.4; }
.br-blk__fig img { position: absolute; inset: -4% 0; width: 100%; height: 108%; object-fit: cover; transform: translate3d(0, calc(var(--py, 0) * -18px), 0); }
.br-chips { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: var(--s5); }
.br-chips--many { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.br-chips li { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 2px 10px; align-items: start; padding: 12px 14px; border: 1px solid var(--hair); background: rgba(255,255,255,.02); transition: border-color .3s, background .3s; }
.br-chips li:hover { border-color: var(--acc); background: color-mix(in srgb, var(--acc) 8%, transparent); }
.br-chips i { grid-row: span 2; width: 22px; height: 22px; color: var(--acc); }
.br-chips svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
.br-chips b { font-weight: 600; font-size: .9rem; line-height: 1.25; }
.br-chips span { color: #a9a9a9; font-size: .8rem; line-height: 1.35; }
.br-blk .id-ctas { margin-top: var(--s5); }
.br-ops { padding: clamp(64px, 9vw, 120px) 0; border-top: 1px solid var(--hair); background: radial-gradient(60% 40% at 50% 14%, color-mix(in srgb, var(--acc) 12%, transparent), transparent 70%), #000; }
.br-ops .orb__h { color: var(--acc); }
.br-ops .orb__spoke::after { background: var(--acc); box-shadow: 0 0 10px var(--acc); }
.br-others { padding-block: clamp(48px, 6vw, 80px); }
.br-others__l { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; display: grid; gap: var(--s3); }
@media (max-width: 900px) { .br-blk__in { grid-template-columns: minmax(0, 1fr); } .br-blk.is-flip .br-blk__txt { order: 0; } .br-chips--many { grid-template-columns: repeat(2, minmax(0, 1fr)); } .br-others__l { grid-template-columns: minmax(0, 1fr) !important; } .br-hero__fig { aspect-ratio: 16 / 11; } }
@media (max-width: 520px) { .br-chips, .br-chips--many { grid-template-columns: minmax(0, 1fr); } }
@media (prefers-reduced-motion: reduce) { .br-hero__fig img, .br-blk__fig img { transform: none !important; } }

/* =========================================================
   ORÇAMENTO
   ========================================================= */
.oq-steps { display: flex; flex-wrap: wrap; gap: var(--s2) var(--s4); margin-top: var(--s2); counter-reset: oq; }
.oq-steps li { display: inline-flex; align-items: center; gap: 10px; color: var(--mute-d); font-size: .92rem; }
.oq-steps li span { width: 28px; height: 28px; border-radius: 50%; border: 1px solid var(--line-d); display: grid; place-items: center; font-size: .8rem; transition: background .3s, color .3s, border-color .3s; }
.oq-steps li.is-on { color: #fff; }
.oq-steps li.is-on span { background: #fff; color: #000; border-color: #fff; }
.oq-steps li.is-done { color: #cfcfcf; }
.oq-steps li.is-done span { border-color: #fff; }
.oq-steps li.is-skip { opacity: .55; }
.oq-fork { padding-block: var(--s5) 0; }
.oq-fork__t { font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: var(--mute-d); margin-bottom: var(--s3); }
.oq-fork__grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s3); }
.oq-fork__card { display: grid; gap: 6px; text-align: left; justify-items: start; padding: clamp(18px, 2.6vw, 28px); border: 1px solid var(--line-d); border-radius: 20px; background: #0b0b0b; color: #fff; cursor: pointer; transition: border-color .3s, background .3s, transform .3s var(--ease); }
.oq-fork__card:hover { border-color: rgba(255,255,255,.22); background: #101010; transform: translateY(-2px); }
.oq-fork__card.is-on { border-color: var(--accent-color, var(--accent)); box-shadow: 0 0 0 1px var(--accent-color, var(--accent)) inset, 0 8px 28px -12px color-mix(in srgb, var(--accent-color, var(--accent)) 45%, transparent); }
.oq-fork__k { font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; color: var(--accent-color, var(--accent)); }
.oq-fork__h { font-family: var(--display); font-variation-settings: "wdth" 114; font-weight: 600; font-size: clamp(1.15rem, 2vw, 1.4rem); letter-spacing: -.02em; margin-top: 2px; }
.oq-fork__d { color: var(--mute-d); font-size: .92rem; line-height: 1.4; }
.oq-fork__cta { display: inline-flex; align-items: center; gap: 8px; margin-top: 10px; font-size: .88rem; font-weight: 600; }
.oq-fork__cta .ax { width: 16px; height: 16px; transition: transform .3s var(--ease); }
.oq-fork__card:hover .oq-fork__cta .ax { transform: translateX(3px); }
@media (max-width: 640px) { .oq-fork__grid { grid-template-columns: 1fr; } }
.oq { padding-block: clamp(40px, 6vw, 80px) clamp(72px, 9vw, 120px); }
.oq__in { display: grid; gap: var(--s4); max-width: 920px; }
.oq__panel { padding: clamp(20px, 3.4vw, 40px); border: 1px solid var(--line-d); border-radius: 24px; background: #0b0b0b; }
.oq__panel[hidden] { display: none; }
.oq__sub { color: var(--mute-d); margin: 6px 0 var(--s4); }
.oq__note { padding: 10px 14px; border: 1px dashed var(--line-d); border-radius: 12px; font-size: .9rem; color: #cfcfcf; margin-bottom: var(--s3); }
.oq__form { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s4) var(--s3); }
.oq__skip { background: none; border: 0; color: var(--mute-d); cursor: pointer; padding: 0 4px; height: 46px; font-size: .92rem; background: linear-gradient(currentColor, currentColor) 0 calc(100% - 12px) / 100% 1px no-repeat; }
.oq__skip:hover { color: #fff; }
.oq__sum { display: flex; justify-content: space-between; align-items: center; gap: var(--s3); flex-wrap: wrap; }
.oq__sumk { font-size: .7rem; letter-spacing: .14em; text-transform: uppercase; color: var(--mute-d); }
.oq__sumn { font-family: var(--display); font-variation-settings: "wdth" 114; font-weight: 600; font-size: 1.2rem; margin-top: 2px; }
.oq__sumd { color: #bdbdbd; font-size: .9rem; }
.oq__quiz { margin-top: var(--s2); }
.oq__quiz .dq__card { background: #101010; box-shadow: none; }
.oq__done-t { font-family: var(--display); font-variation-settings: "wdth" 125; font-weight: 600; font-size: clamp(2.2rem, 6vw, 4rem); line-height: .96; letter-spacing: -.05em; margin: 8px 0 var(--s3); }
.oq__done .lead { color: #cfcfcf; }
.oq__done .orc { margin-top: var(--s5); }
.oq__err { margin-top: var(--s2); }
@media (max-width: 640px) { .oq__form { grid-template-columns: minmax(0, 1fr); } }
@media (prefers-reduced-motion: reduce) { .oq-steps li span { transition: none; } }

/* =========================================================
   PORTFÓLIO por seção
   ========================================================= */
.pf-nav .fchip { text-decoration: none; }
.fchip[aria-current="true"] { background: var(--paper); color: var(--ink); border-color: var(--paper); }
.fchip[aria-current="true"] span { color: #555; }
.pf-bar { position: sticky; top: calc(var(--nav-h) + env(safe-area-inset-top, 0px)); height: 0; z-index: 30; }
.pf-bar__panel { background: rgba(0,0,0,.84); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); border-bottom: 1px solid var(--line-d); transform: translateY(-100%); opacity: 0; pointer-events: none; transition: transform .35s var(--ease), opacity .3s; }
.pf-bar.is-on .pf-bar__panel { transform: none; opacity: 1; pointer-events: auto; }
.pf-bar__in { display: flex; gap: var(--s1); padding-block: 10px; overflow-x: auto; scrollbar-width: none; }
.pf-bar__in::-webkit-scrollbar { display: none; }
.pf-bar .fchip { flex: none; text-decoration: none; height: 36px; }
@media (prefers-reduced-motion: reduce) { .pf-bar__panel { transition: none; } }
.pfs { padding-block: clamp(48px, 7vw, 96px) 0; scroll-margin-top: calc(var(--nav-h) + 56px); }
.pfs:last-of-type { padding-bottom: clamp(72px, 9vw, 120px); }
.pfs__head { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr) auto; gap: var(--s3) var(--s5); align-items: end; margin-bottom: var(--s5); padding-bottom: var(--s4); border-bottom: 1px solid var(--line-d); }
.pfs__head > div { display: grid; gap: var(--s2); }
.pfs__head .lead { color: #bdbdbd; font-size: 1rem; }
.pfs__count { font: 500 .72rem/1 var(--mono6); letter-spacing: .12em; text-transform: uppercase; color: var(--mute-d); white-space: nowrap; }
@media (max-width: 900px) { .pfs__head { grid-template-columns: minmax(0, 1fr); } }

/* Serviços: o nome do serviço em destaque tipográfico, headline logo abaixo */
.sv-ch__name { font-family: var(--display); font-variation-settings: "wdth" 116; font-weight: 800; font-size: clamp(2rem, 3.9vw, 3.7rem); line-height: .93; letter-spacing: -.045em; text-transform: uppercase; overflow-wrap: break-word; text-wrap: balance; margin: 0; }
.sv-ch .sv-ch__t { font-size: clamp(1.25rem, 2.1vw, 1.9rem); font-weight: 600; line-height: 1.08; letter-spacing: -.03em; margin-top: var(--s3); max-width: 22ch; }
.sv-ch .sv-ch__t em { font-style: normal; color: var(--acc); }
.sv-rows--dark .sv-row__nm { font-size: clamp(1.4rem, 2.5vw, 2.25rem); overflow-wrap: normal; hyphens: manual; }
.dq__facts > div:only-child { grid-column: 1 / -1; }
.qdlg__in { padding-top: 60px; }
.qdlg .dq__eyebrow { padding-right: 0; }
.dp-hero__fig img { scale: 1.07; transform-origin: 100% 50%; }

/* Portfólio, seção Criação de Marca: carrossel em slide no formato do feed (4:5) */
.pfmarca { padding-block: 0; border-top: 0; margin-top: var(--s2); }
.pfmarca .crs__track { animation-duration: var(--dur, 72s); }
.pfmarca:hover .crs__track, .pfmarca:focus-within .crs__track { animation-play-state: paused; }
.pfmarca .crt__btn { display: block; padding: 0; border: 0; cursor: pointer; width: clamp(210px, 22vw, 300px); aspect-ratio: 4 / 5; border-radius: var(--r-m); overflow: hidden; background: var(--surface-d); }
.pfmarca .crt__btn img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease); }
.pfmarca .crt__btn:hover img { transform: scale(1.04); }
@media (prefers-reduced-motion: reduce) { .pfmarca .crs__view { overflow-x: auto; mask-image: none; -webkit-mask-image: none; } .pfmarca .crs__track { animation: none; } }

/* carrossel feed 4:5: maior e mais rápido, em moldura de vidro */
.pfmarca { margin-top: var(--s4); }
.pfmarca .crs__track { gap: 18px; }
.pfmarca .crt__btn { width: clamp(260px, 29vw, 420px); border: 1px solid rgba(255,255,255,.12); box-shadow: 0 30px 60px -34px rgba(0,0,0,.95); transition: border-color .3s, transform .4s var(--ease), box-shadow .4s; }
.pfmarca .crt__btn:hover { border-color: rgba(255,255,255,.4); transform: translateY(-6px); box-shadow: 0 40px 70px -30px rgba(255,106,43,.25); }
.pfmarca + .pf__grid { margin-top: var(--s5); }
/* modal: nunca corta a imagem */
.gc__slide { grid-template-rows: minmax(0, 1fr); }
.gc__slide img, .gc__slide video { max-height: 100%; min-height: 0; }
.pfd--feed .gc__view { width: min(100%, calc((100dvh - 400px) * .8)); aspect-ratio: 4 / 5; margin-inline: auto; background: #050505; }
.pfd--feed .gc__track { height: 100%; }
.pfd--feed .gc__slide { height: 100%; }
.pfd--feed .gc__slide img { width: 100%; height: 100%; object-fit: contain; }
.pfd--feed .lbox__nav.gc__p { left: max(10px, calc(50% - (100dvh - 400px) * .4 - 56px)); }
.pfd--feed .lbox__nav.gc__n { right: max(10px, calc(50% - (100dvh - 400px) * .4 - 56px)); }
/* modal feed: imagem 4:5 grande à esquerda, informações à direita */
@media (min-width: 860px) {
  .pfd--feed { width: min(1120px, calc(100% - 32px)); }
  .pfd--feed #pfdBody { grid-template-columns: auto minmax(0, 1fr); column-gap: clamp(24px, 3vw, 44px); align-content: start; }
  .pfd--feed #pfdBody > .gc { grid-column: 1; grid-row: 1 / span 5; align-self: start; }
  .pfd--feed #pfdBody > * { grid-column: 2; }
  .pfd--feed #pfdBody > .pfd__head { grid-row: 1; }
  .pfd--feed #pfdBody > .gc__bar { grid-row: 2; align-self: start; }
  .pfd--feed #pfdBody > .pfd__desc { grid-row: 3; }
  .pfd--feed #pfdBody > .pfd__acts { grid-row: 4; align-self: start; }
  .pfd--feed .gc__view { width: calc((100dvh - 150px) * .8); max-width: 560px; margin: 0; }
  .pfd--feed .lbox__nav.gc__p { left: 10px; }
  .pfd--feed .lbox__nav.gc__n { right: 10px; }
}

/* Packs de Conteúdos: 4 tamanhos de pack, o número em destaque */
.pf__grid--packs { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.pfc--pack .pfc__media { height: auto; aspect-ratio: 4 / 5; background: radial-gradient(90% 70% at 50% 0%, rgba(255,106,43,.16), transparent 70%), #0b0b0b; border: 1px solid var(--line-d); }
.pfc--pack .pfc__media img { position: absolute; inset: 0; }
.pfc__num { position: absolute; left: 14px; bottom: 12px; z-index: 1; display: flex; align-items: baseline; gap: 8px; font-family: var(--display); font-variation-settings: "wdth" 118; font-weight: 700; font-size: clamp(3.4rem, 6vw, 5rem); line-height: .85; letter-spacing: -0.05em; color: #fff; text-shadow: 0 6px 30px rgba(0,0,0,.7); }
.pfc__num small { font: 500 .78rem var(--body); letter-spacing: .16em; text-transform: uppercase; color: rgba(255,255,255,.8); }
.pfc--pack:not(.pfc--soon) .pfc__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 50%, rgba(0,0,0,.72)); }
.pfc--soon { opacity: .6; }
.pfc--soon .pfc__btn { cursor: default; }
.pfc--soon .pfc__num { color: rgba(255,255,255,.3); text-shadow: none; }
@media (max-width: 980px) { .pf__grid--packs { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Carrosséis do portfólio: slides menores e esticados; o movimento é guiado por pointer em pages.js */
.pfmarca .crs__track { gap: 12px; animation: none; will-change: transform; }
.pfmarca .crt__btn { width: clamp(136px, 12.5vw, 184px); aspect-ratio: 2 / 3; }
.pfmarca .crt__btn:hover { transform: translateY(-4px); }
@media (prefers-reduced-motion: reduce) { .pfmarca .crs__track { transform: none !important; } }

/* ---------- Logotipos: carrossel de abertura do Portfólio (mesmo mecanismo do "Criação de Marca": .pfmarca, guiado por pointer em pages.js) ---------- */
.sv-logos { padding-block: clamp(8px, 2vw, 16px) clamp(48px, 6vw, 72px); }
.lgf-head { display: grid; gap: var(--s2); margin-bottom: var(--s4); }
.lgf-head .h2 { max-width: 30ch; }
.sv-logos .pfmarca { margin-top: 0; }

/* ---------- Motion Design: vídeos de LED lado a lado, num só carrossel ---------- */
.pfmarca--grp .crt__btn { position: relative; width: clamp(240px, 27vw, 360px); aspect-ratio: 16 / 10; display: block; padding: 0; border: 0; cursor: pointer; border-radius: var(--r-m); overflow: hidden; background: var(--surface-d); }
.pfmarca--grp .crt__btn img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s var(--ease); }
.pfmarca--grp .crt__btn:hover img { transform: scale(1.04); }
.pfmarca--grp .crt__btn::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(0, 0, 0, .78)); pointer-events: none; }
.pfmarca--grp .crt__cap { position: absolute; left: 14px; bottom: 12px; z-index: 1; font-family: var(--display); font-variation-settings: "wdth" 112; font-weight: 600; font-size: 1.05rem; letter-spacing: -.01em; color: #fff; }
.pfmarca--grp .pfc__tag { position: absolute; right: 10px; top: 10px; z-index: 1; }
