/*
 * Reisen — página "Como funciona a Reisen" (seção reisen_como_funciona).
 * Tudo escopado em .rcf e montado sobre os tokens do design system (--chb-*):
 * nenhuma cor de marca escrita à mão, fonte de sistema, raios e sombras do DS.
 * Estados "escondidos" (revelar ao rolar, abas, acordeão) só valem com .is-ready,
 * que o JS põe na raiz — sem JS a página inteira continua legível.
 */
.rcf {
	--rcf-forest: var(--chb-primary, #132018);
	--rcf-moss: var(--chb-secondary, #2A4534);
	--rcf-orange: var(--chb-accent, #E8752C);
	--rcf-orange-rgb: var(--chb-accent-rgb, 232, 117, 44);
	--rcf-orange-text: var(--chb-accent-text, #B5500F);
	--rcf-orange-ink: var(--chb-accent-ink, #111827);
	--rcf-forest-rgb: var(--chb-primary-rgb, 19, 32, 24);
	--rcf-ink: var(--chb-ink, #111827);
	--rcf-soft: var(--chb-ink-soft, #4B5563);
	--rcf-line: var(--chb-line, #E5E7EB);
	--rcf-paper: var(--chb-paper, #FFFFFF);
	--rcf-alt: var(--chb-paper-alt, #F5F7FA);
	--rcf-hdr: 68px;
	--rcf-ease: cubic-bezier(.2, .7, .2, 1);
	color: var(--rcf-ink);
	overflow-x: clip;
}
@media (prefers-reduced-motion: no-preference) {
	html:has(.rcf) { scroll-behavior: smooth; }
}
.rcf *, .rcf *::before, .rcf *::after { box-sizing: border-box; }
.rcf :focus-visible { outline: 3px solid var(--rcf-orange); outline-offset: 3px; border-radius: 6px; }
/* Reset com especificidade zero (:where) — as classes dos componentes abaixo sempre vencem. */
.rcf :where(h1, h2, h3, p, ul, ol, figure, dl, dd) { margin: 0; }
.rcf :where(ul, ol) { padding: 0; list-style: none; }
.rcf :where(button) { font: inherit; color: inherit; }
.rcf :where(img) { max-width: 100%; }
.rcf-i { width: 1.25em; height: 1.25em; flex: none; display: inline-block; vertical-align: -.22em; }

/* ── Seções e cabeçalhos ───────────────────────────────────────────────── */
.rcf-sec { position: relative; padding-block: var(--chb-section-y); scroll-margin-top: calc(var(--rcf-hdr) + 52px); }
.rcf-sec--alt { background: var(--rcf-alt); border-block: 1px solid var(--rcf-line); }
.rcf-sec--moss { background: var(--rcf-moss); color: rgba(255, 255, 255, .86); }
.rcf-sec--forest { background: var(--rcf-forest); color: rgba(255, 255, 255, .86); }
.rcf-sec--photo { background: var(--rcf-forest) var(--rcf-bg) center / cover no-repeat; color: rgba(255, 255, 255, .88); isolation: isolate; }
.rcf-sec--photo::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(var(--rcf-forest-rgb), .86), rgba(var(--rcf-forest-rgb), .6) 55%, rgba(var(--rcf-forest-rgb), .92)); }
.rcf-sec--moss .chb-section__title, .rcf-sec--forest .chb-section__title, .rcf-sec--photo .chb-section__title { color: #fff; }
.rcf-sec--moss .chb-section__lead, .rcf-sec--forest .chb-section__lead, .rcf-sec--photo .chb-section__lead { color: rgba(255, 255, 255, .78); }
.rcf-sec--moss .chb-section__eyebrow, .rcf-sec--forest .chb-section__eyebrow, .rcf-sec--photo .chb-section__eyebrow { color: var(--rcf-orange); }
.rcf-head--left { text-align: left; }
.rcf-head--left .chb-section__lead { margin-inline: 0; }
.rcf-head .chb-section__title { text-wrap: balance; }

.rcf-link { display: inline-flex; align-items: center; gap: .4rem; margin-top: .6rem; font-weight: 700; color: var(--rcf-orange-text); text-decoration: none; }
.rcf-link:hover { text-decoration: underline; text-underline-offset: 3px; }
.rcf-link .rcf-i { transition: transform .25s var(--rcf-ease); }
.rcf-link:hover .rcf-i { transform: translateX(3px); }
.rcf-link--light { color: var(--rcf-orange); }

.rcf-btn { border: 2px solid transparent; transition: filter .2s, background .2s, transform .2s var(--rcf-ease); }
.rcf-btn--accent { background: var(--rcf-orange); color: var(--rcf-orange-ink); border-color: var(--rcf-orange); }
.rcf-btn--accent:hover { filter: brightness(1.07); color: var(--rcf-orange-ink); transform: translateY(-1px); }
.rcf-btn--light { background: transparent; color: #fff; border-color: rgba(255, 255, 255, .55); }
.rcf-btn--light:hover { background: rgba(255, 255, 255, .12); color: #fff; }

/* Revelar ao rolar */
.rcf.is-ready [data-rcf-reveal] { opacity: 0; transform: translateY(18px); transition: opacity .7s var(--rcf-ease) var(--d, 0s), transform .7s var(--rcf-ease) var(--d, 0s); }
.rcf.is-ready [data-rcf-reveal].is-in { opacity: 1; transform: none; }

/* ── Abertura ──────────────────────────────────────────────────────────── */
.rcf-hero { position: relative; isolation: isolate; display: grid; align-items: center; min-height: min(86vh, 800px); background: var(--rcf-forest); color: #fff; overflow: hidden; }
.rcf-hero__bg { position: absolute; inset: -4% 0; z-index: -3; background: center / cover no-repeat; opacity: .62; transform: scale(1.06); animation: rcf-kenburns 26s ease-in-out infinite alternate; }
.rcf-hero__topo { position: absolute; inset: 0; z-index: -2; background: right center / cover no-repeat; opacity: .32; mix-blend-mode: screen; }
.rcf-hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(98deg, rgba(var(--rcf-forest-rgb), .97) 0%, rgba(var(--rcf-forest-rgb), .84) 36%, rgba(var(--rcf-forest-rgb), .22) 100%), linear-gradient(0deg, var(--rcf-forest) 0%, transparent 30%); }
.rcf-hero__ridge { position: absolute; left: 0; bottom: 0; width: 100%; height: 34%; z-index: 0; fill: none; pointer-events: none; }
.rcf-hero__ridge path { stroke: var(--rcf-orange); stroke-width: 2.5; vector-effect: non-scaling-stroke; stroke-linejoin: round; stroke-dasharray: 1; animation: rcf-draw 2.8s .3s var(--rcf-ease) both; }
.rcf-hero__inner { position: relative; z-index: 1; width: 100%; padding-block: clamp(4rem, 9vw, 7.5rem) clamp(6rem, 12vw, 9rem); }
.rcf-hero__inner > * { max-width: 44rem; }
.rcf-hero__eyebrow { font-weight: 700; font-size: .75rem; letter-spacing: .28em; text-transform: uppercase; color: var(--rcf-orange); margin-bottom: 1.1rem; }
.rcf-hero__title { font-family: var(--chb-font-display); font-size: clamp(2.5rem, 1.3rem + 5.6vw, 5.2rem); font-weight: var(--chb-title-weight); letter-spacing: -.03em; line-height: 1.02; color: #fff; text-wrap: balance; }
.rcf-hero__accent { margin-top: 1rem; font-size: var(--chb-text-2xl); font-weight: 700; color: var(--rcf-orange); letter-spacing: -.01em; }
.rcf-hero__lead { margin-top: 1.1rem; font-size: var(--chb-text-lg); line-height: 1.6; color: rgba(255, 255, 255, .84); max-width: 38rem; }
.rcf-hero__actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 2rem; }
.rcf-hero__inner > * { animation: rcf-rise .9s var(--rcf-ease) both; }
.rcf-hero__inner > :nth-child(2) { animation-delay: .08s; } .rcf-hero__inner > :nth-child(3) { animation-delay: .16s; }
.rcf-hero__inner > :nth-child(4) { animation-delay: .24s; } .rcf-hero__inner > :nth-child(5) { animation-delay: .32s; } .rcf-hero__inner > :nth-child(6) { animation-delay: .4s; }
.rcf-hero__scroll { position: absolute; left: 50%; bottom: 1.4rem; width: 26px; height: 42px; margin-left: -13px; z-index: 2; border: 2px solid rgba(255, 255, 255, .5); border-radius: 14px; }
.rcf-hero__scroll span { position: absolute; left: 50%; top: 8px; width: 4px; height: 8px; margin-left: -2px; border-radius: 2px; background: var(--rcf-orange); animation: rcf-wheel 1.8s ease-in-out infinite; }

/* Trilho da jornada: informa → … → distribui */
.rcf-rail { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .2rem; margin-top: 2.2rem; max-width: 44rem; }
.rcf-rail li { position: relative; padding: .42em .95em; border-radius: 999px; border: 1px solid rgba(255, 255, 255, .28); font-size: var(--chb-text-sm); font-weight: 700; letter-spacing: .02em; color: #fff; animation: rcf-lit 6s linear infinite; animation-delay: calc(var(--i) * 1s); }
.rcf-rail li:not(:last-child) { margin-right: 1.15rem; }
.rcf-rail li:not(:last-child)::after { content: "→"; position: absolute; right: -1.05rem; top: 50%; translate: 0 -52%; color: var(--rcf-orange); font-weight: 800; }

/* ── Navegação interna ─────────────────────────────────────────────────── */
.rcf-subnav { position: sticky; top: var(--rcf-hdr); z-index: 40; background: rgba(255, 255, 255, .94); backdrop-filter: blur(8px); border-bottom: 1px solid var(--rcf-line); }
.rcf-subnav ul { display: flex; gap: .25rem; overflow-x: auto; scrollbar-width: none; padding-block: .5rem; }
.rcf-subnav ul::-webkit-scrollbar { display: none; }
.rcf-subnav a { display: block; white-space: nowrap; padding: .42em .95em; border-radius: 999px; font-size: var(--chb-text-sm); font-weight: 600; color: var(--rcf-soft); text-decoration: none; transition: background .2s, color .2s; }
.rcf-subnav a:hover { background: var(--rcf-alt); color: var(--rcf-ink); }
.rcf-subnav a.is-on { background: var(--rcf-forest); color: #fff; }
.rcf-subnav__bar { position: absolute; left: 0; bottom: -1px; height: 3px; width: calc(var(--rcf-p, 0) * 100%); background: var(--rcf-orange); transition: width .15s linear; }

/* ── O ecossistema (órbita) ────────────────────────────────────────────── */
.rcf-orbit { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); grid-template-areas: "head stage" "detail stage"; gap: var(--chb-space-3) clamp(1.5rem, 4vw, 4rem); align-items: center; }
.rcf-orbit__head { grid-area: head; align-self: end; }
.rcf-orbit .rcf-detail { grid-area: detail; align-self: start; }
.rcf-orbit__stage { grid-area: stage; position: relative; width: 100%; max-width: 600px; margin-inline: auto; aspect-ratio: 1; }
.rcf-orbit__lines { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.rcf-orbit__ring { fill: none; stroke: var(--rcf-line); stroke-width: .35; stroke-dasharray: 1 1.5; transform-origin: 50% 50%; animation: rcf-spin 140s linear infinite; }
.rcf-orbit__ring--in { animation-direction: reverse; stroke-dasharray: .6 1.2; }
.rcf-orbit__lines line { stroke: var(--rcf-line); stroke-width: .3; transition: stroke .3s, stroke-width .3s; }
.rcf-orbit__lines line.is-active { stroke: var(--rcf-orange); stroke-width: .7; }
.rcf-orbit__hub { position: absolute; left: 50%; top: 50%; translate: -50% -50%; width: 29%; aspect-ratio: 1; border-radius: 50%; display: grid; place-content: center; text-align: center; background: var(--rcf-forest); color: #fff; box-shadow: 0 0 0 8px rgba(var(--rcf-forest-rgb), .07), 0 0 0 22px rgba(var(--rcf-forest-rgb), .035), var(--chb-shadow); }
.rcf-orbit__hub strong { font-size: clamp(.95rem, .55rem + 1.7vw, 1.55rem); letter-spacing: .16em; text-transform: uppercase; font-weight: 800; }
.rcf-orbit__hub span { margin-top: .25em; font-size: clamp(.48rem, .38rem + .5vw, .7rem); letter-spacing: .1em; text-transform: uppercase; color: var(--rcf-orange); line-height: 1.25; }
.rcf-node { position: absolute; translate: -50% -50%; width: 22%; display: grid; justify-items: center; gap: .35rem; padding: 0; border: 0; background: none; cursor: pointer; }
.rcf-node__dot { display: grid; place-items: center; width: clamp(42px, 9.5vw, 66px); aspect-ratio: 1; border-radius: 50%; background: var(--rcf-paper); border: 1.5px solid var(--rcf-line); color: var(--rcf-forest); box-shadow: var(--chb-shadow); transition: transform .35s var(--rcf-ease), background .3s, color .3s, border-color .3s, box-shadow .3s; }
.rcf-node__dot .rcf-i { width: 46%; height: 46%; }
.rcf-node__label { font-size: clamp(.62rem, .5rem + .5vw, .8rem); font-weight: 700; line-height: 1.15; text-align: center; color: var(--rcf-soft); transition: color .3s; text-wrap: balance; }
.rcf-node:hover .rcf-node__dot { transform: scale(1.08); border-color: var(--rcf-orange); }
.rcf-node.is-active .rcf-node__dot { background: var(--rcf-orange); color: var(--rcf-orange-ink); border-color: var(--rcf-orange); transform: scale(1.14); box-shadow: 0 0 0 6px rgba(var(--rcf-orange-rgb), .22), var(--chb-shadow); }
.rcf-node.is-active .rcf-node__label { color: var(--rcf-ink); }

.rcf-detail__item { display: flex; gap: 1rem; padding: 1.25rem 1.4rem; background: var(--rcf-paper); border: 1px solid var(--rcf-line); border-radius: var(--chb-radius-lg); box-shadow: var(--chb-shadow); }
.rcf-detail__icon { display: grid; place-items: center; flex: none; width: 46px; height: 46px; border-radius: 12px; background: rgba(var(--rcf-orange-rgb), .14); color: var(--rcf-orange-text); }
.rcf-detail h3 { font-size: var(--chb-text-xl); font-weight: 800; letter-spacing: -.01em; }
.rcf-detail p { margin-top: .3rem; color: var(--rcf-soft); }
.rcf.is-ready .rcf-detail { display: grid; }
.rcf.is-ready .rcf-detail__item { grid-area: 1 / 1; opacity: 0; visibility: hidden; transform: translateY(10px); transition: opacity .35s, transform .45s var(--rcf-ease), visibility 0s .35s; }
.rcf.is-ready .rcf-detail__item.is-active { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
.rcf:not(.is-ready) .rcf-detail__item { margin-bottom: .75rem; }

/* ── A jornada ─────────────────────────────────────────────────────────── */
.rcf-jr { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(1.5rem, 4vw, 3.5rem); align-items: start; }
.rcf-jr__steps { display: grid; gap: .65rem; }
.rcf-jr__step { position: relative; overflow: hidden; background: var(--rcf-paper); border: 1px solid var(--rcf-line); border-radius: var(--chb-radius-lg); transition: border-color .3s, box-shadow .3s; }
.rcf-jr__step.is-active { border-color: var(--rcf-orange); box-shadow: var(--chb-shadow); }
.rcf-jr__step > button { display: flex; align-items: center; gap: 1rem; width: 100%; padding: 1rem 1.2rem; border: 0; background: none; text-align: left; cursor: pointer; }
.rcf-jr__n { font-size: 1.5rem; font-weight: 800; letter-spacing: -.02em; color: var(--rcf-orange-text); font-variant-numeric: tabular-nums; min-width: 2.2ch; }
.rcf-jr__t { font-size: .8rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.rcf-jr__panel h3 { font-size: var(--chb-text-xl); font-weight: 800; letter-spacing: -.01em; }
.rcf-jr__panel p { margin-top: .4rem; color: var(--rcf-soft); }
.rcf-jr__panel > div { padding-inline: 1.2rem; }
.rcf-jr__panel > div > :last-child { margin-bottom: 1.15rem; }
.rcf.is-ready .rcf-jr__panel { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .5s var(--rcf-ease); }
.rcf.is-ready .rcf-jr__panel > div { overflow: hidden; min-height: 0; }
.rcf.is-ready .rcf-jr__step.is-active .rcf-jr__panel { grid-template-rows: 1fr; }
.rcf-jr__step::after { content: ""; position: absolute; left: 0; bottom: 0; height: 3px; width: 0; background: var(--rcf-orange); }
.rcf-jr[data-playing] .rcf-jr__step.is-active::after { animation: rcf-fill var(--dur, 6.5s) linear forwards; }
.rcf-pills { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .8rem; }
.rcf-pills li { padding: .3em .8em; border-radius: 999px; background: rgba(var(--rcf-orange-rgb), .14); color: var(--rcf-orange-text); font-size: var(--chb-text-sm); font-weight: 700; }

.rcf-jr__stage { position: sticky; top: calc(var(--rcf-hdr) + 76px); padding: 1rem 1rem .6rem; background: var(--rcf-paper); border: 1px solid var(--rcf-line); border-radius: var(--chb-radius-lg); box-shadow: var(--chb-shadow); }
.rcf-jr__stage svg { display: block; width: 100%; height: auto; overflow: visible; }
.rcf-jr__stage .rcf-jr__svg--m { display: none; }
.rcf-jr__svg--m .rcf-jn text { font-size: 19.5px; }
.rcf-jr__svg--m .rcf-jh text { font-size: 21px; }
.rcf-jr__orbit { fill: none; stroke: var(--rcf-line); stroke-width: 1.5; stroke-dasharray: 3 9; opacity: 0; transition: opacity .8s; }
.rcf-jn { transform: translate(var(--sx), var(--sy)); transition: transform 1.05s var(--rcf-ease); }
.rcf-jn__in { animation: rcf-drift var(--f) ease-in-out infinite alternate; }
.rcf-jn rect { fill: var(--rcf-paper); stroke: var(--rcf-line); stroke-width: 1.5; transition: fill .6s, stroke .6s; }
.rcf-jn text { font: 700 13px var(--chb-font); fill: var(--rcf-soft); transition: fill .6s; }
.rcf-jl { fill: none; stroke: var(--rcf-orange); stroke-width: 2; stroke-linecap: round; stroke-dasharray: 1; stroke-dashoffset: 1; opacity: .75; transition: stroke-dashoffset .9s var(--rcf-ease) var(--d, 0s); }
.rcf-jh { opacity: 0; transform: scale(.5); transition: opacity .6s, transform .8s var(--rcf-ease); }
.rcf-jh circle { fill: var(--rcf-forest); }
.rcf-jh text { font: 800 15px var(--chb-font); fill: #fff; letter-spacing: .12em; text-transform: uppercase; }
.rcf-jp { fill: none; stroke: var(--rcf-orange); stroke-width: 2; opacity: 0; }
.rcf-jp--b { animation-delay: 1.3s !important; }
.rcf-jr:not([data-act="1"]) .rcf-jn { transform: translate(var(--cx), var(--cy)); }
.rcf-jr:not([data-act="1"]) .rcf-jn__in { animation: none; }
.rcf-jr:not([data-act="1"]) .rcf-jn rect { stroke: var(--rcf-orange); }
.rcf-jr:not([data-act="1"]) .rcf-jn text { fill: var(--rcf-ink); }
.rcf-jr:not([data-act="1"]) .rcf-jl { stroke-dashoffset: 0; }
.rcf-jr:not([data-act="1"]) .rcf-jh { opacity: 1; transform: none; }
.rcf-jr:not([data-act="1"]) .rcf-jr__orbit { opacity: 1; }
.rcf-jr:is([data-act="3"], [data-act="4"], [data-act="5"]) .rcf-jp { animation: rcf-pulse 2.7s ease-out infinite; }
.rcf-jr:is([data-act="3"], [data-act="4"], [data-act="5"]) .rcf-jn--tour rect { fill: var(--rcf-orange); }
.rcf-jr:is([data-act="3"], [data-act="4"], [data-act="5"]) .rcf-jn--tour text { fill: var(--rcf-orange-ink); }
.rcf-jr[data-act="5"] .rcf-jn rect { fill: var(--rcf-forest); stroke: var(--rcf-forest); }
.rcf-jr[data-act="5"] .rcf-jn text { fill: #fff; }
.rcf-jr[data-act="5"] .rcf-jr__orbit { stroke: var(--rcf-orange); animation: rcf-dash 3s linear infinite; }
.rcf-jr__tag { display: grid; margin-top: .4rem; padding-block: .4rem .5rem; text-align: center; font-size: .72rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: var(--rcf-soft); }
.rcf-jr__tag > span { grid-area: 1 / 1; transition: opacity .5s; }
.rcf-jr__tag-b { opacity: 0; color: var(--rcf-orange-text); }
.rcf-jr:is([data-act="4"], [data-act="5"]) .rcf-jr__tag-a { opacity: 0; }
.rcf-jr:is([data-act="4"], [data-act="5"]) .rcf-jr__tag-b { opacity: 1; }

/* ── Destino ───────────────────────────────────────────────────────────── */
.rcf-dest { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: clamp(1.5rem, 4vw, 4rem); align-items: center; }
.rcf-dest__frame { position: relative; aspect-ratio: 4 / 4.2; max-height: min(78vh, 680px); border-radius: var(--chb-radius-lg); overflow: hidden; background: var(--rcf-forest); box-shadow: 0 30px 60px -28px rgba(var(--rcf-forest-rgb), .55); }
.rcf-dest__frame img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transform: scale(1.07); transition: opacity .8s, transform 1.4s var(--rcf-ease); }
.rcf-dest__frame img.is-active { opacity: 1; transform: none; }
.rcf-scan { position: absolute; inset: 11% 14%; pointer-events: none; --c: rgba(255, 255, 255, .92);
	background:
		linear-gradient(var(--c), var(--c)) top left / 26px 3px no-repeat, linear-gradient(var(--c), var(--c)) top left / 3px 26px no-repeat,
		linear-gradient(var(--c), var(--c)) top right / 26px 3px no-repeat, linear-gradient(var(--c), var(--c)) top right / 3px 26px no-repeat,
		linear-gradient(var(--c), var(--c)) bottom left / 26px 3px no-repeat, linear-gradient(var(--c), var(--c)) bottom left / 3px 26px no-repeat,
		linear-gradient(var(--c), var(--c)) bottom right / 26px 3px no-repeat, linear-gradient(var(--c), var(--c)) bottom right / 3px 26px no-repeat; }
.rcf-scan i { position: absolute; left: 0; right: 0; top: 0; height: 3px; border-radius: 2px; background: var(--rcf-orange); box-shadow: 0 0 16px 2px rgba(var(--rcf-orange-rgb), .7); animation: rcf-scan 3.4s ease-in-out infinite; }
.rcf-dest__steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: .75rem; margin-top: 1rem; }
.rcf-dest__steps li { display: flex; gap: .65rem; align-items: flex-start; padding: .8rem .9rem; border: 1px solid var(--rcf-line); border-radius: var(--chb-radius); background: var(--rcf-paper); font-size: var(--chb-text-sm); color: var(--rcf-soft); line-height: 1.4; animation: rcf-step 6s ease-in-out infinite; animation-delay: calc(var(--i) * 2s); }
.rcf-dest__steps b { display: grid; place-items: center; flex: none; width: 1.7rem; height: 1.7rem; border-radius: 50%; background: var(--rcf-forest); color: #fff; font-size: .8rem; }
.rcf-dest__steps strong { color: var(--rcf-ink); }

.rcf-acc { margin-top: var(--chb-space-3); display: grid; gap: .55rem; }
.rcf-acc__item { border: 1px solid var(--rcf-line); border-radius: var(--chb-radius-lg); background: var(--rcf-paper); transition: border-color .3s, box-shadow .3s; }
.rcf-acc__item.is-open { border-color: var(--rcf-orange); box-shadow: var(--chb-shadow); }
.rcf-acc__item h3 { font-size: inherit; }
.rcf-acc__item button { display: flex; align-items: center; gap: .9rem; width: 100%; padding: .95rem 1.1rem; border: 0; background: none; text-align: left; font-weight: 800; font-size: var(--chb-text-base); cursor: pointer; }
.rcf-acc__icon { display: grid; place-items: center; flex: none; width: 38px; height: 38px; border-radius: 10px; background: rgba(var(--rcf-orange-rgb), .14); color: var(--rcf-orange-text); transition: background .3s, color .3s; }
.rcf-acc__item.is-open .rcf-acc__icon { background: var(--rcf-orange); color: var(--rcf-orange-ink); }
.rcf-acc__chev { margin-left: auto; width: .6rem; height: .6rem; border-right: 2px solid var(--rcf-soft); border-bottom: 2px solid var(--rcf-soft); rotate: 45deg; transition: rotate .3s var(--rcf-ease); }
.rcf-acc__item.is-open .rcf-acc__chev { rotate: 225deg; }
.rcf-acc__body > div { padding: 0 1.1rem 1rem 4.1rem; color: var(--rcf-soft); }
.rcf.is-ready .rcf-acc__body { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .45s var(--rcf-ease); }
.rcf.is-ready .rcf-acc__body > div { overflow: hidden; min-height: 0; padding-block: 0; }
.rcf.is-ready .rcf-acc__item.is-open .rcf-acc__body { grid-template-rows: 1fr; }
.rcf.is-ready .rcf-acc__item.is-open .rcf-acc__body > div { padding-bottom: 1rem; }

.rcf-chips { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: var(--chb-space-3); }
.rcf-chips li { display: inline-flex; align-items: center; gap: .45em; padding: .5em 1em; border-radius: 999px; border: 1px solid var(--rcf-line); background: var(--rcf-paper); font-size: var(--chb-text-sm); font-weight: 700; }
.rcf-chips li .rcf-i { color: var(--rcf-orange-text); width: 1.1em; height: 1.1em; }
.rcf-chips--soft li { background: var(--rcf-alt); }

/* ── Plataforma ────────────────────────────────────────────────────────── */
.rcf-ladder { display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem 1.7rem; margin-bottom: var(--chb-space-4); }
.rcf-ladder li { position: relative; padding: .55em 1.15em; border-radius: 999px; border: 1px solid rgba(255, 255, 255, .26); background: rgba(255, 255, 255, .06); color: #fff; font-weight: 700; font-size: var(--chb-text-sm); animation: rcf-lit 6s linear infinite; animation-delay: calc(var(--i) * 1.5s); }
.rcf-ladder li:not(:last-child)::after { content: "→"; position: absolute; right: -1.35rem; top: 50%; translate: 0 -52%; color: var(--rcf-orange); font-weight: 800; }
.rcf-plat__nav { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; margin-bottom: var(--chb-space-4); }
.rcf-plat__nav button { display: inline-flex; align-items: center; gap: .5em; padding: .65em 1.15em; border-radius: 999px; border: 1px solid rgba(255, 255, 255, .28); background: transparent; color: #fff; font-weight: 700; font-size: var(--chb-text-sm); cursor: pointer; transition: background .25s, color .25s, border-color .25s, transform .25s var(--rcf-ease); }
.rcf-plat__nav button:hover { border-color: var(--rcf-orange); transform: translateY(-1px); }
.rcf-plat__nav button[aria-selected="true"] { background: var(--rcf-orange); border-color: var(--rcf-orange); color: var(--rcf-orange-ink); }
.rcf-plat__body { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: clamp(1.5rem, 4vw, 4rem); align-items: center; }
.rcf-plat__kicker { font-size: .75rem; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; color: var(--rcf-orange); }
.rcf-plat__panel h3 { margin-top: .5rem; font-size: var(--chb-text-2xl); font-weight: 800; letter-spacing: -.02em; line-height: 1.15; color: #fff; text-wrap: balance; }
.rcf-plat__panel > p:not(.rcf-plat__kicker):not(.rcf-plat__tags) { margin-top: .9rem; color: rgba(255, 255, 255, .84); max-width: 60ch; }
.rcf-plat__tags { margin-top: 1.2rem; font-size: .72rem; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; color: var(--rcf-orange); }
.rcf-bullets { display: grid; gap: .65rem; margin-top: 1.1rem; }
.rcf-bullets li { padding-left: .95rem; border-left: 2px solid var(--rcf-orange); color: rgba(255, 255, 255, .8); }
.rcf-bullets strong { color: #fff; }
.rcf-attrs { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; margin-top: 1.1rem; }
.rcf-attrs li { display: flex; gap: .7rem; align-items: flex-start; font-size: var(--chb-text-sm); color: rgba(255, 255, 255, .78); line-height: 1.4; }
.rcf-attrs li > span { display: grid; place-items: center; flex: none; width: 34px; height: 34px; border-radius: 10px; background: rgba(var(--rcf-orange-rgb), .2); color: var(--rcf-orange); }
.rcf-attrs strong { display: block; color: #fff; font-size: var(--chb-text-base); }
.rcf.is-ready .rcf-plat__copy { display: grid; }
.rcf.is-ready .rcf-plat__panel { grid-area: 1 / 1; opacity: 0; visibility: hidden; transform: translateY(12px); transition: opacity .35s, transform .5s var(--rcf-ease), visibility 0s .35s; }
.rcf.is-ready .rcf-plat__panel.is-active { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
.rcf:not(.is-ready) .rcf-plat__panel { margin-bottom: 2.5rem; }
.rcf-plat__devices { display: grid; justify-items: center; align-items: center; min-height: 420px; }
.rcf-dev { grid-area: 1 / 1; display: grid; place-items: center; width: 100%; opacity: 0; visibility: hidden; transform: translateY(18px) scale(.97); transition: opacity .45s, transform .6s var(--rcf-ease), visibility 0s .45s; }
.rcf-dev.is-active { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
.rcf-dev--tv img { width: 100%; max-width: 580px; filter: drop-shadow(0 30px 40px rgba(0, 0, 0, .45)); }
.rcf-dev--bare img { width: min(100%, 290px); filter: drop-shadow(0 28px 36px rgba(0, 0, 0, .45)); }
.rcf-phone { position: relative; width: min(100%, 250px); padding: 8px; border-radius: 34px; background: #0b0f0c; box-shadow: 0 30px 56px -20px rgba(0, 0, 0, .6), inset 0 0 0 1px rgba(255, 255, 255, .14); }
.rcf-phone img { display: block; width: 100%; height: auto; border-radius: 27px; }
.rcf-dev__pair { position: relative; width: min(100%, 390px); aspect-ratio: 1 / 1.12; }
.rcf-dev__pair .rcf-phone { position: absolute; width: 60%; }
.rcf-dev__pair .rcf-phone:not(.rcf-phone--back) { left: 2%; top: 7%; z-index: 2; }
.rcf-phone--back { right: 0; top: 0; rotate: 6deg; scale: .94; opacity: .92; }
.rcf-dev__mascot { position: absolute; z-index: 3; height: auto; filter: drop-shadow(0 12px 14px rgba(0, 0, 0, .4)); animation: rcf-float 4.2s ease-in-out infinite alternate; }
.rcf-dev__mascot--a { left: -5%; top: -2%; width: 27%; }
.rcf-dev__mascot--b { right: -3%; top: -6%; width: 19%; animation-delay: -2s; }

.rcf-live { margin-top: clamp(2.5rem, 5vw, 4rem); padding: 1.1rem 1.4rem; border: 1px solid rgba(255, 255, 255, .16); border-radius: var(--chb-radius-lg); background: rgba(255, 255, 255, .05); }
.rcf-live__title { display: flex; align-items: center; gap: .55rem; font-size: .72rem; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; color: rgba(255, 255, 255, .72); }
.rcf-live__title i { width: 9px; height: 9px; border-radius: 50%; background: var(--rcf-orange); animation: rcf-blink 1.8s ease-in-out infinite; }
.rcf-live ul { display: flex; flex-wrap: wrap; gap: .8rem 2.4rem; margin-top: .9rem; }
.rcf-live li { display: flex; align-items: center; gap: .6rem; color: rgba(255, 255, 255, .8); }
.rcf-live li .rcf-i { color: var(--rcf-orange); }
.rcf-live b { font-size: 1.9rem; line-height: 1; font-weight: 800; color: #fff; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.rcf-live span { font-size: var(--chb-text-sm); max-width: 11rem; line-height: 1.25; }

/* ── Experiências ──────────────────────────────────────────────────────── */
.rcf-xp { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(1.5rem, 4vw, 3.5rem); align-items: center; }
.rcf-xp__steps { margin-top: var(--chb-space-3); display: grid; gap: .3rem; }
.rcf-xp__steps li { position: relative; }
.rcf-xp__steps li:not(:last-child)::before { content: ""; position: absolute; left: calc(1rem + 22px); top: calc(.9rem + 46px); bottom: -.3rem; width: 2px; background: var(--rcf-line); }
.rcf-xp__steps li.is-done:not(:last-child)::before { background: var(--rcf-orange); }
.rcf-xp__steps button { display: flex; align-items: center; gap: 1rem; width: 100%; padding: .9rem 1rem; border: 1px solid transparent; border-radius: var(--chb-radius-lg); background: none; text-align: left; cursor: pointer; transition: background .3s, border-color .3s; }
.rcf-xp__steps button:hover { background: var(--rcf-alt); }
.rcf-xp__steps .is-active button { background: var(--rcf-paper); border-color: var(--rcf-orange); box-shadow: var(--chb-shadow); }
.rcf-xp__ico { display: grid; place-items: center; flex: none; width: 46px; height: 46px; border-radius: 50%; border: 2px solid var(--rcf-line); background: var(--rcf-paper); color: var(--rcf-forest); transition: background .3s, color .3s, border-color .3s; position: relative; z-index: 1; }
.rcf-xp__steps .is-done .rcf-xp__ico { border-color: var(--rcf-orange); color: var(--rcf-orange-text); }
.rcf-xp__steps .is-active .rcf-xp__ico { background: var(--rcf-orange); border-color: var(--rcf-orange); color: var(--rcf-orange-ink); }
.rcf-xp__txt strong { display: block; font-size: var(--chb-text-xl); font-weight: 800; letter-spacing: -.01em; }
.rcf-xp__txt em { font-style: normal; color: var(--rcf-soft); font-size: var(--chb-text-sm); }
.rcf-xp__phones { display: flex; justify-content: center; align-items: flex-end; gap: clamp(.5rem, 1.6vw, 1.2rem); }
.rcf-xp__phone { flex: 1 1 0; max-width: 178px; opacity: .45; filter: saturate(.55); transform: translateY(14px) scale(.93); transition: opacity .6s, filter .6s, transform .7s var(--rcf-ease); }
.rcf-xp__phone.is-active { opacity: 1; filter: none; transform: translateY(-6px) scale(1.06); z-index: 1; }
.rcf-xp .rcf-phone { width: 100%; padding: 6px; border-radius: 24px; background: var(--rcf-forest); }
.rcf-xp .rcf-phone img { border-radius: 18px; }
.rcf-xp__cap { display: block; margin-top: .75rem; text-align: center; font-size: var(--chb-text-sm); font-weight: 800; color: var(--rcf-soft); transition: color .3s; }
.rcf-xp__phone.is-active .rcf-xp__cap { color: var(--rcf-orange-text); }
.rcf-punch { margin-top: clamp(2.5rem, 5vw, 4rem); padding: clamp(1.6rem, 4vw, 2.8rem); border-radius: var(--chb-radius-lg); background: var(--rcf-forest); color: rgba(255, 255, 255, .84); text-align: center; }
.rcf-punch__big { font-size: var(--chb-text-2xl); font-weight: 800; letter-spacing: -.02em; color: #fff; text-wrap: balance; }
.rcf-punch__sub { margin-top: .4rem; font-size: var(--chb-text-lg); }
.rcf-punch__kicker { margin-top: 1.6rem; font-size: .72rem; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; color: var(--rcf-orange); }
.rcf-punch .rcf-chips { justify-content: center; margin-top: .8rem; }
.rcf-punch .rcf-chips li { background: rgba(255, 255, 255, .08); border-color: rgba(255, 255, 255, .2); color: #fff; }
.rcf-punch .rcf-chips li .rcf-i { color: var(--rcf-orange); }

/* ── Motor de vendas ───────────────────────────────────────────────────── */
.rcf-sale__flow { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(1rem, 3vw, 2.5rem); }
.rcf-st { position: relative; display: grid; justify-items: center; gap: .9rem; text-align: center; }
.rcf-st p { max-width: 17rem; font-size: var(--chb-text-sm); color: rgba(255, 255, 255, .78); }
.rcf-st__tag { display: inline-flex; align-items: center; gap: .5em; padding: .45em 1em; border-radius: 999px; border: 1px solid rgba(255, 255, 255, .26); background: rgba(255, 255, 255, .07); color: #fff; font-size: var(--chb-text-sm); font-weight: 800; letter-spacing: .08em; text-transform: uppercase; transition: background .4s, color .4s, border-color .4s; }
.rcf-sale .rcf-phone { width: min(100%, 170px); padding: 6px; border-radius: 26px; background: #070a08; opacity: .62; transition: opacity .5s, transform .6s var(--rcf-ease), box-shadow .5s; }
.rcf-sale .rcf-phone img { border-radius: 20px; }
.rcf-st:not(:last-child)::after { content: ""; position: absolute; top: 1.1rem; left: calc(50% + 4.6rem); right: calc(-50% - 1.4rem + 4.6rem); height: 2px; background: repeating-linear-gradient(90deg, rgba(255, 255, 255, .34) 0 8px, transparent 8px 14px); }
.rcf-st:not(:last-child)::before { content: ""; position: absolute; z-index: 1; top: 1.1rem; left: calc(50% + 4.6rem); right: calc(-50% - 1.4rem + 4.6rem); height: 2px; background: var(--rcf-orange); box-shadow: 0 0 10px rgba(var(--rcf-orange-rgb), .8); transform: scaleX(0); transform-origin: left; transition: transform .9s var(--rcf-ease); }
.rcf-sale[data-stage="2"] .rcf-st[data-s="1"]::before, .rcf-sale:is([data-stage="3"], [data-stage="4"]) .rcf-st:is([data-s="1"], [data-s="2"])::before { transform: scaleX(1); }
.rcf-sale[data-stage="1"] .rcf-st[data-s="1"] .rcf-st__tag, .rcf-sale[data-stage="2"] .rcf-st[data-s="2"] .rcf-st__tag, .rcf-sale:is([data-stage="3"], [data-stage="4"]) .rcf-st[data-s="3"] .rcf-st__tag { background: var(--rcf-orange); border-color: var(--rcf-orange); color: var(--rcf-orange-ink); }
.rcf-sale[data-stage="1"] .rcf-st[data-s="1"] .rcf-phone, .rcf-sale[data-stage="2"] .rcf-st[data-s="2"] .rcf-phone, .rcf-sale:is([data-stage="3"], [data-stage="4"]) .rcf-st[data-s="3"] .rcf-phone { opacity: 1; transform: translateY(-6px); box-shadow: 0 0 0 3px var(--rcf-orange), 0 24px 40px -16px rgba(0, 0, 0, .6); }
.rcf-sale[data-stage="0"] .rcf-phone { opacity: .9; }
.rcf-sale__split { margin-top: clamp(1.8rem, 4vw, 3rem); text-align: center; }
.rcf-sale__split-title { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: .6rem 1rem; color: rgba(255, 255, 255, .8); }
.rcf-parts { position: relative; display: grid; grid-template-columns: repeat(5, 1fr); gap: .8rem; margin-top: 2rem; }
.rcf-parts::before { content: ""; position: absolute; left: 10%; right: 10%; top: -1.1rem; height: 2px; background: rgba(255, 255, 255, .22); }
.rcf-parts li { position: relative; display: grid; justify-items: center; gap: .3rem; padding: 1rem .7rem; border: 1px solid rgba(255, 255, 255, .16); border-radius: var(--chb-radius-lg); background: rgba(255, 255, 255, .06); font-size: var(--chb-text-sm); line-height: 1.3; transition: border-color .4s, background .4s; }
.rcf-parts li::before { content: ""; position: absolute; left: 50%; top: -1.1rem; height: 1.1rem; width: 2px; margin-left: -1px; background: var(--rcf-orange); transform: scaleY(0); transform-origin: top; transition: transform .5s var(--rcf-ease) calc(var(--i) * .14s); }
.rcf-parts li > span { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: rgba(255, 255, 255, .1); color: #fff; transition: background .4s, color .4s; }
.rcf-parts strong { color: #fff; }
.rcf-parts em { font-style: normal; color: rgba(255, 255, 255, .66); }
.rcf-sale[data-stage="4"] .rcf-parts li { border-color: rgba(var(--rcf-orange-rgb), .7); background: rgba(var(--rcf-orange-rgb), .1); animation: rcf-coin .7s var(--rcf-ease) both; animation-delay: calc(var(--i) * .14s); }
.rcf-sale[data-stage="4"] .rcf-parts li::before { transform: scaleY(1); }
.rcf-sale[data-stage="4"] .rcf-parts li > span { background: var(--rcf-orange); color: var(--rcf-orange-ink); }
.rcf-sale__ctrl { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: .9rem 1.2rem; margin-top: 2rem; }
.rcf-sale__note { font-size: var(--chb-text-sm); color: rgba(255, 255, 255, .6); }
.rcf-closing { margin-top: 2.2rem; text-align: center; font-size: var(--chb-text-lg); color: rgba(255, 255, 255, .82); }
.rcf-closing strong { color: #fff; }

/* ── Implantação + treinamento ─────────────────────────────────────────── */
.rcf-tl { position: relative; display: grid; grid-template-columns: repeat(6, 1fr); margin-top: clamp(2rem, 5vw, 3.5rem); }
.rcf-tl::before, .rcf-tl::after { content: ""; position: absolute; top: 27px; left: 8.33%; right: 8.33%; height: 2px; }
.rcf-tl::before { background: rgba(255, 255, 255, .24); }
.rcf-tl::after { background: var(--rcf-orange); box-shadow: 0 0 12px rgba(var(--rcf-orange-rgb), .7); transform: scaleX(var(--tl, 0)); transform-origin: left; transition: transform .45s var(--rcf-ease); }
.rcf-tl li { position: relative; z-index: 1; display: grid; justify-items: center; gap: .8rem; text-align: center; }
.rcf-tl__dot { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; border: 2px solid rgba(255, 255, 255, .34); background: var(--rcf-forest); color: #fff; transition: background .4s, border-color .4s, color .4s, transform .5s var(--rcf-ease); }
.rcf-tl__label { font-size: .78rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: rgba(255, 255, 255, .7); transition: color .4s; }
.rcf-tl li.is-lit .rcf-tl__dot { background: var(--rcf-orange); border-color: var(--rcf-orange); color: var(--rcf-orange-ink); transform: scale(1.08); }
.rcf-tl li.is-lit .rcf-tl__label { color: #fff; }
.rcf:not(.is-ready) .rcf-tl { --tl: 1; }
.rcf:not(.is-ready) .rcf-tl .rcf-tl__dot { background: var(--rcf-orange); border-color: var(--rcf-orange); color: var(--rcf-orange-ink); }
.rcf-tl__note { margin-top: 1.8rem; text-align: center; font-size: .78rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: rgba(255, 255, 255, .7); }
.rcf-doc { margin-top: clamp(2.5rem, 6vw, 4.5rem); padding: clamp(1.3rem, 3vw, 2.2rem); border: 1px solid rgba(255, 255, 255, .16); border-radius: var(--chb-radius-lg); background: rgba(255, 255, 255, .06); backdrop-filter: blur(6px); }
.rcf-doc h3 { font-size: var(--chb-text-xl); font-weight: 800; letter-spacing: -.01em; color: #fff; }
.rcf-doc > p { margin-top: .5rem; max-width: 62ch; color: rgba(255, 255, 255, .8); }
.rcf-chev { display: flex; flex-wrap: wrap; margin-top: 1.4rem; }
.rcf-chev li { display: inline-flex; align-items: center; gap: .55em; margin-right: -10px; padding: .95em 2em .95em 1.5em; background: rgba(var(--rcf-orange-rgb), .16); color: #fff; font-weight: 800; font-size: var(--chb-text-sm); letter-spacing: .06em; text-transform: uppercase; clip-path: polygon(0 0, calc(100% - 18px) 0, 100% 50%, calc(100% - 18px) 100%, 0 100%, 18px 50%); transition: background .45s, color .45s; }
.rcf-chev li:first-child { clip-path: polygon(0 0, calc(100% - 18px) 0, 100% 50%, calc(100% - 18px) 100%, 0 100%); }
.rcf-chev li.is-lit { background: var(--rcf-orange); color: var(--rcf-orange-ink); }
.rcf:not(.is-ready) .rcf-chev li { background: var(--rcf-orange); color: var(--rcf-orange-ink); }
.rcf-doc__tags { margin-top: 1.4rem; font-size: .72rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: rgba(255, 255, 255, .6); line-height: 1.8; }

/* ── Cotas ─────────────────────────────────────────────────────────────── */
.rcf-plans { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: var(--chb-space-3); }
.rcf-plan { padding: 1.5rem; border: 1px solid var(--rcf-line); border-radius: var(--chb-radius-lg); background: var(--rcf-paper); transition: box-shadow .3s, transform .3s var(--rcf-ease), border-color .3s; }
.rcf-plan:hover { box-shadow: var(--chb-shadow); transform: translateY(-3px); border-color: var(--rcf-orange); }
.rcf-plan h3 { font-size: var(--chb-text-xl); font-weight: 800; letter-spacing: -.01em; }
.rcf-plan__cap { margin-top: .8rem; color: var(--rcf-soft); }
.rcf-plan__cap b { display: block; font-size: 2.6rem; line-height: 1; font-weight: 800; letter-spacing: -.03em; color: var(--rcf-forest); font-variant-numeric: tabular-nums; }
.rcf-plan__bar { height: 6px; margin-top: .9rem; border-radius: 3px; background: var(--rcf-alt); overflow: hidden; border: 1px solid var(--rcf-line); }
.rcf-plan__bar i { display: block; height: 100%; width: var(--w); border-radius: 3px; background: var(--rcf-orange); transform-origin: left; transition: transform 1.1s var(--rcf-ease) .2s; }
.rcf.is-ready .rcf-plan:not(.is-in) .rcf-plan__bar i { transform: scaleX(0); }
.rcf-plan__price { display: grid; gap: .6rem; margin-top: 1.1rem; padding-top: 1rem; border-top: 1px solid var(--rcf-line); }
.rcf-plan__price dt { font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--rcf-soft); }
.rcf-plan__price dd { font-size: var(--chb-text-lg); font-weight: 800; }
.rcf-plan__feat { display: flex; align-items: center; gap: .45rem; margin-top: 1rem; font-size: var(--chb-text-sm); font-weight: 700; color: var(--rcf-orange-text); }
.rcf-matrix { margin-top: var(--chb-space-3); border: 1px solid var(--rcf-line); border-radius: var(--chb-radius-lg); background: var(--rcf-paper); }
.rcf-matrix summary { padding: 1rem 1.3rem; font-weight: 800; cursor: pointer; }
.rcf-matrix__wrap { overflow-x: auto; padding: 0 1rem 1rem; }
.rcf-matrix table { width: 100%; min-width: 560px; border-collapse: collapse; font-size: var(--chb-text-sm); }
.rcf-matrix th, .rcf-matrix td { padding: .6rem .7rem; border-top: 1px solid var(--rcf-line); text-align: center; }
.rcf-matrix thead th { border-top: 0; font-size: .75rem; letter-spacing: .1em; text-transform: uppercase; }
.rcf-matrix tbody th { text-align: left; font-weight: 600; }
.rcf-matrix .is-yes { color: var(--rcf-orange-text); }
.rcf-matrix .is-no { color: var(--chb-ink-soft, #4B5563); opacity: .55; }

/* ── Rede ──────────────────────────────────────────────────────────────── */
.rcf-net__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .9fr); gap: clamp(1.5rem, 4vw, 4rem); align-items: center; }
.rcf-count { display: flex; flex-wrap: wrap; gap: 1rem 2.6rem; margin-top: var(--chb-space-3); }
.rcf-count b { display: block; font-size: clamp(2.8rem, 2rem + 3.4vw, 4.8rem); line-height: 1; font-weight: 800; letter-spacing: -.04em; color: var(--rcf-orange); font-variant-numeric: tabular-nums; }
.rcf-count span { display: block; margin-top: .3rem; max-width: 12rem; font-size: var(--chb-text-sm); color: rgba(255, 255, 255, .78); }
.rcf-net__map { position: relative; justify-self: center; width: min(100%, 520px); }
.rcf-net__map img { position: relative; z-index: 1; display: block; width: 100%; height: auto; filter: drop-shadow(0 0 34px rgba(var(--rcf-orange-rgb), .22)); animation: rcf-breathe 7s ease-in-out infinite alternate; }
.rcf-net__glow { position: absolute; inset: 8%; border-radius: 50%; background: radial-gradient(circle, rgba(var(--rcf-orange-rgb), .26), transparent 68%); animation: rcf-blink 5s ease-in-out infinite; }
/* Com o mapa interativo da rota: texto e números no alto, mapa em cartão claro, largura quase total. */
.rcf-net--map .rcf-net__grid { grid-template-columns: 1fr; gap: var(--chb-space-4); }
.rcf-net--map .rcf-net__copy { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: var(--chb-space-3) var(--chb-space-4); }
.rcf-net--map .rcf-net__copy .rcf-head { flex: 1 1 28rem; margin-bottom: 0; }
.rcf-net--map .rcf-count { margin-top: 0; }
.rcf-net__live { width: min(100%, 1080px); margin-inline: auto; padding: clamp(.5rem, 1.4vw, 1rem); border-radius: var(--chb-radius-lg); background: var(--rcf-paper); color: var(--rcf-ink); box-shadow: 0 30px 60px -28px rgba(0, 0, 0, .6), 0 0 0 1px rgba(255, 255, 255, .08); }
.rcf-towns { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; margin-top: clamp(2rem, 4vw, 3.2rem); }
.rcf-towns a, .rcf-towns span { display: inline-flex; align-items: center; gap: .55em; padding: .45em .95em; border-radius: 999px; border: 1px solid rgba(255, 255, 255, .2); background: rgba(255, 255, 255, .05); color: rgba(255, 255, 255, .88); font-size: var(--chb-text-sm); text-decoration: none; }
.rcf-towns i, .rcf-towns__legend i { width: 8px; height: 8px; flex: none; border-radius: 50%; background: rgba(255, 255, 255, .38); }
.rcf-towns .is-on a { border-color: rgba(var(--rcf-orange-rgb), .75); background: rgba(var(--rcf-orange-rgb), .14); color: #fff; font-weight: 700; transition: background .25s, transform .25s var(--rcf-ease); }
.rcf-towns .is-on a:hover { background: rgba(var(--rcf-orange-rgb), .3); transform: translateY(-2px); }
.rcf-towns .is-on i, .rcf-towns__legend i { background: var(--rcf-orange); box-shadow: 0 0 0 4px rgba(var(--rcf-orange-rgb), .25); }
.rcf-towns__legend { display: flex; align-items: center; justify-content: center; gap: .6rem; margin-top: 1.3rem; font-size: var(--chb-text-sm); color: rgba(255, 255, 255, .66); }
.rcf.is-ready .rcf-towns li { opacity: 0; transform: scale(.9); transition: opacity .5s, transform .6s var(--rcf-ease); transition-delay: calc(var(--i) * 30ms); }
.rcf.is-ready .rcf-towns.is-in li { opacity: 1; transform: none; }

/* ── Ciclo virtuoso ────────────────────────────────────────────────────── */
.rcf-cy { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(1.5rem, 4vw, 4rem); align-items: center; }
.rcf-cy__close { margin-top: 1.4rem; font-size: var(--chb-text-xl); font-weight: 800; letter-spacing: -.01em; color: var(--rcf-forest); }
.rcf-cy__sign { margin-top: 1.1rem; font-size: .75rem; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; color: var(--rcf-orange-text); }
.rcf-cy__stage { position: relative; width: 100%; max-width: 560px; margin-inline: auto; aspect-ratio: 1; }
.rcf-cy__stage > svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.rcf-cy__ico .rcf-i { width: 18px; height: 18px; }
.rcf-cy__track { fill: none; stroke: var(--rcf-line); stroke-width: 2; }
.rcf-cy__flow { fill: none; stroke: var(--rcf-orange); stroke-width: 3; stroke-linecap: round; stroke-dasharray: 2 22; animation: rcf-dash 2.6s linear infinite; }
.rcf-cy__orbit { position: absolute; inset: 0; animation: rcf-spin 12s linear infinite; }
.rcf-cy__orbit i { position: absolute; left: 50%; top: 14%; width: 14px; height: 14px; margin: -7px; border-radius: 50%; background: var(--rcf-orange); box-shadow: 0 0 0 6px rgba(var(--rcf-orange-rgb), .25), 0 0 18px rgba(var(--rcf-orange-rgb), .65); }
.rcf-cy__hub { position: absolute; left: 50%; top: 50%; translate: -50% -50%; width: 31%; padding: 1rem .6rem; border-radius: var(--chb-radius-lg); background: var(--rcf-forest); color: #fff; text-align: center; box-shadow: var(--chb-shadow); }
.rcf-cy__hub strong { display: block; font-size: clamp(.7rem, .45rem + 1vw, 1rem); letter-spacing: .14em; text-transform: uppercase; }
.rcf-cy__hub span { display: block; margin-top: .3rem; font-size: clamp(.5rem, .4rem + .45vw, .72rem); line-height: 1.3; color: var(--rcf-orange); }
.rcf-cy__back { position: absolute; left: 50%; top: 66%; translate: -50% 0; width: 46%; text-align: center; font-size: clamp(.6rem, .45rem + .6vw, .9rem); font-weight: 800; font-style: italic; color: var(--rcf-forest); }
.rcf-cy__node { position: absolute; translate: -50% -50%; width: 31%; display: grid; justify-items: center; gap: .15rem; padding: .7rem .5rem; border: 1px solid var(--rcf-line); border-radius: var(--chb-radius-lg); background: var(--rcf-paper); text-align: center; cursor: pointer; transition: border-color .3s, box-shadow .3s, transform .4s var(--rcf-ease); }
.rcf-cy__node--0 { left: 50%; top: 14%; } .rcf-cy__node--1 { left: 86%; top: 50%; } .rcf-cy__node--2 { left: 50%; top: 86%; } .rcf-cy__node--3 { left: 14%; top: 50%; }
.rcf-cy__ico { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: rgba(var(--rcf-orange-rgb), .14); color: var(--rcf-orange-text); transition: background .3s, color .3s; }
.rcf-cy__node strong { font-size: clamp(.68rem, .5rem + .55vw, .92rem); line-height: 1.15; }
.rcf-cy__node em { font-style: normal; font-size: clamp(.58rem, .45rem + .4vw, .74rem); line-height: 1.25; color: var(--rcf-soft); }
.rcf-cy__node.is-active { border-color: var(--rcf-orange); box-shadow: 0 0 0 5px rgba(var(--rcf-orange-rgb), .18), var(--chb-shadow); transform: scale(1.06); z-index: 2; }
.rcf-cy__node.is-active .rcf-cy__ico { background: var(--rcf-orange); color: var(--rcf-orange-ink); }

/* ── Chamada final ─────────────────────────────────────────────────────── */
.rcf-paths { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--chb-space-3); }
.rcf-path { display: flex; flex-direction: column; gap: .5rem; padding: 1.5rem; border: 1px solid rgba(255, 255, 255, .22); border-radius: var(--chb-radius-lg); background: rgba(255, 255, 255, .08); backdrop-filter: blur(8px); color: rgba(255, 255, 255, .84); text-decoration: none; transition: background .3s, border-color .3s, transform .35s var(--rcf-ease); }
.rcf-path:hover { background: rgba(255, 255, 255, .15); border-color: var(--rcf-orange); transform: translateY(-4px); color: #fff; }
.rcf-path__ico { display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: .4rem; border-radius: 50%; background: var(--rcf-orange); color: var(--rcf-orange-ink); }
.rcf-path strong { font-size: var(--chb-text-xl); font-weight: 800; color: #fff; letter-spacing: -.01em; }
.rcf-path em { margin-top: auto; padding-top: .8rem; font-style: normal; font-weight: 800; color: var(--rcf-orange); display: inline-flex; align-items: center; gap: .4rem; }
.rcf-path:hover em .rcf-i { transform: translateX(3px); }
.rcf-path em .rcf-i { transition: transform .25s var(--rcf-ease); }
.rcf-cta__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: .9rem; margin-top: clamp(2rem, 4vw, 3rem); }

/* ── Animações ─────────────────────────────────────────────────────────── */
@keyframes rcf-kenburns { to { transform: scale(1.14) translate(-1.5%, -1%); } }
@keyframes rcf-draw { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
@keyframes rcf-rise { from { opacity: 0; transform: translateY(22px); } }
@keyframes rcf-wheel { 0% { transform: translateY(0); opacity: 1; } 70% { transform: translateY(14px); opacity: 0; } 100% { opacity: 0; } }
@keyframes rcf-lit { 0%, 16% { background: var(--rcf-orange); border-color: var(--rcf-orange); color: var(--rcf-orange-ink); } 22%, 100% { background: rgba(var(--rcf-forest-rgb), .62); border-color: rgba(255, 255, 255, .28); color: #fff; } }
@keyframes rcf-spin { to { transform: rotate(360deg); } }
@keyframes rcf-dash { to { stroke-dashoffset: -48; } }
@keyframes rcf-fill { to { width: 100%; } }
@keyframes rcf-drift { to { transform: translate(9px, -11px); } }
@keyframes rcf-pulse { 0% { transform: scale(1); opacity: .65; } 100% { transform: scale(3.1); opacity: 0; } }
@keyframes rcf-scan { 0%, 100% { top: 0; } 50% { top: calc(100% - 3px); } }
@keyframes rcf-step { 0%, 28% { border-color: var(--rcf-orange); box-shadow: 0 0 0 4px rgba(var(--rcf-orange-rgb), .16); } 38%, 100% { border-color: var(--rcf-line); box-shadow: none; } }
@keyframes rcf-float { to { transform: translateY(-8px) rotate(3deg); } }
@keyframes rcf-blink { 0%, 100% { opacity: .55; } 50% { opacity: 1; } }
@keyframes rcf-breathe { to { transform: scale(1.025); } }
@keyframes rcf-coin { 0% { transform: translateY(-14px) scale(.96); } 60% { transform: translateY(3px) scale(1.02); } 100% { transform: none; } }

/* ── Telas menores ─────────────────────────────────────────────────────── */
@media (max-width: 960px) {
	.rcf-orbit { grid-template-columns: 1fr; grid-template-areas: "head" "stage" "detail"; }
	.rcf-orbit__head { align-self: auto; }
	.rcf-jr, .rcf-dest, .rcf-plat__body, .rcf-xp, .rcf-net__grid, .rcf-cy { grid-template-columns: 1fr; }
	.rcf-jr__stage { position: static; order: -1; }
	.rcf-jr__stage .rcf-jr__svg--d { display: none; }
	.rcf-jr__stage .rcf-jr__svg--m { display: block; max-width: 440px; margin-inline: auto; }
	.rcf-plat__devices { order: -1; min-height: 0; }
	.rcf-dest__frame { aspect-ratio: 4 / 3.4; max-width: 560px; margin-inline: auto; }
	.rcf-dest__steps { max-width: 560px; margin-inline: auto; }
	.rcf-xp__phones { order: -1; }
	.rcf-net__map { order: -1; width: min(100%, 380px); }
	.rcf-cy__stage { order: -1; }
	.rcf-paths { grid-template-columns: 1fr; }
	.rcf-parts { grid-template-columns: repeat(3, 1fr); }
	.rcf-parts::before { display: none; }
	.rcf-parts li::before { display: none; }
}
@media (max-width: 760px) {
	.rcf-hero { min-height: 0; }
	.rcf-hero__inner { padding-bottom: 6.5rem; }
	.rcf-hero__ridge { height: 20%; opacity: .5; }
	.rcf-rail li:not(:last-child) { margin-right: .9rem; }
	.rcf-rail li:not(:last-child)::after { right: -.85rem; }
	.rcf-sale__flow { grid-template-columns: 1fr; gap: 2rem; }
	.rcf-st:not(:last-child)::after, .rcf-st:not(:last-child)::before { display: none; }
	.rcf-sale .rcf-phone { width: 150px; }
	.rcf-parts { grid-template-columns: 1fr 1fr; }
	.rcf-tl { grid-template-columns: 1fr; gap: 1.1rem; padding-left: 0; }
	.rcf-tl::before, .rcf-tl::after { left: 27px; right: auto; top: 28px; bottom: 28px; width: 2px; height: auto; }
	.rcf-tl::after { transform: scaleY(var(--tl, 0)); transform-origin: top; }
	.rcf-tl li { grid-template-columns: 56px 1fr; justify-items: start; align-items: center; text-align: left; }
	.rcf-attrs { grid-template-columns: 1fr; }
	.rcf-xp__phones { gap: 0; }
	.rcf-xp__phone:not(.is-active) { display: none; }
	.rcf-xp__phone { max-width: 220px; opacity: 1; filter: none; transform: none; animation: rcf-rise .6s var(--rcf-ease) both; }
	.rcf-xp__phone.is-active { transform: none; }
	.rcf-dest__steps { grid-template-columns: 1fr; }
	.rcf-chev li, .rcf-chev li:first-child { clip-path: none; margin-right: .4rem; margin-bottom: .4rem; border-radius: 999px; padding: .7em 1.3em; }
	.rcf-acc__body > div { padding-left: 1.1rem; }
	.rcf-plat__nav { justify-content: flex-start; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-inline: calc(var(--chb-space-2) * -1); padding-inline: var(--chb-space-2); }
	.rcf-plat__nav::-webkit-scrollbar { display: none; }
	.rcf-plat__nav button { flex: none; }
	.rcf-ladder { gap: .5rem 1.4rem; }
	.rcf-cy__node em { display: none; }
	.rcf-cy__node { width: 29%; padding: .5rem .3rem; }
}
@media (max-width: 480px) {
	.rcf-parts { grid-template-columns: 1fr; }
	.rcf-cy__back { display: none; }
}

@media (prefers-reduced-motion: reduce) {
	.rcf *, .rcf *::before, .rcf *::after { animation: none !important; transition-duration: .01ms !important; transition-delay: 0s !important; }
	.rcf.is-ready [data-rcf-reveal] { opacity: 1 !important; transform: none !important; }
	.rcf-hero__bg { transform: none; }
	.rcf-jr__step::after { display: none; }
	.rcf-hero__ridge path { stroke-dashoffset: 0; }
}
