/* CAEN design system with alternating light and dark sections. Reference: https://agenciacaen.com.br/ (2026-09-30). */
@font-face { font-family: 'Plus Jakarta Sans'; font-style: normal; font-weight: 200 800; font-display: swap; src: url('/assets/plus-jakarta-sans-latin.woff2') format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: 'Plus Jakarta Sans'; font-style: normal; font-weight: 200 800; font-display: swap; src: url('/assets/plus-jakarta-sans-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
:root {
 --caen-page-max:1920px; --caen-content-max:1280px; --caen-page-gutter:28px;
 --caen-bg: #09090b; --caen-surface: #111113; --caen-surface-raised: #18181b;
 --caen-text: #fafafa; --caen-muted: #a1a1aa; --caen-border: rgba(255,255,255,.08);
 --caen-surface-rgb: 17 17 19; --caen-border-rgb: 255 255 255; --caen-shadow-rgb: 0 0 0;
 --caen-success: #34d399; --caen-purple: #c4b5fd; --caen-warning: #fbbf24;
 --caen-accent: #facc15; --caen-gold: #f3c76b; --caen-accent-ink: #facc15; --caen-accent-hover: #fde047;
 --font-sans: 'Plus Jakarta Sans', sans-serif; --font-display: 'Plus Jakarta Sans', sans-serif;
 --text-default: var(--caen-text); --text-muted: var(--caen-muted); --surface-page: var(--caen-bg);
 --blue-600: var(--caen-accent); --blue-500: var(--caen-accent); --blue-700: #eab308;
 --tracking-tight: -.015em;
}
html, body { background: var(--caen-bg) !important; color: var(--caen-text); font-family: var(--font-sans); }
::selection { background: var(--caen-accent); color: #000; }
header[data-dc-tpl="14"] { background: rgba(9,9,11,.94) !important; border-bottom: 1px solid var(--caen-border) !important; backdrop-filter: blur(16px) !important; }
[data-k="15:1"] { max-width: 1280px; padding: 16px 28px; }
.logo-voltar-topo, .caen-brand { gap: 12px; display: inline-flex; align-items: center; color: var(--caen-text); }
.caen-brand-mark, [data-k="16:1"] { width: 36px !important; height: 36px !important; object-fit: contain; filter: drop-shadow(0 0 10px rgba(250,204,21,.2)); }
.caen-brand-name { color: var(--caen-text); font-family: var(--font-sans); font-size: 22px; font-weight: 800; letter-spacing: -1px; white-space: nowrap; }
.caen-brand-name > span { color: var(--caen-accent-ink); }
.caen-primary { background: var(--caen-accent) !important; color: #000 !important; border: 1px solid transparent !important; font-weight: 700 !important; box-shadow: 0 8px 24px rgba(250,204,21,.13) !important; transition: background .2s, box-shadow .2s !important; }
.caen-primary:hover { background: var(--caen-accent-hover) !important; box-shadow: 0 10px 30px rgba(250,204,21,.22) !important; }
.caen-primary > span:last-child { background: rgba(0,0,0,.08) !important; color: #000 !important; }
[data-abre-video] { background: var(--caen-surface) !important; color: var(--caen-text) !important; border-color: var(--caen-border) !important; }
[data-abre-video]:hover { border-color: rgba(250,204,21,.35) !important; }
a:focus-visible, button:focus-visible { outline: 2px solid var(--caen-accent); outline-offset: 4px; }
[data-dc-tpl="39"] { background: transparent !important; }
[data-k="32:1"] { background: radial-gradient(ellipse at 65% 0%,rgba(250,204,21,.055),transparent 60%) !important; }
[data-k="29:1"] { filter: invert(1) sepia(.7) saturate(1.4); opacity: .12 !important; mix-blend-mode: screen; }
[data-k="31:1"], [data-dc-tpl="41"] { display: none; }
.lp-flow-sections { max-width: none; margin: 0; border: 0; }
.lp-flow-section { max-width: none; width: 100%; margin: 0; padding: 88px max(28px, calc((100% - var(--caen-content-max)) / 2)); background: var(--caen-bg); color: var(--caen-text); }
.lp-flow-section + .lp-flow-section { border-color: var(--caen-border); }
.lp-flow-copy h1, .lp-flow-copy h2, [data-dc-tpl="510"], [data-dc-tpl="585"] { color: var(--caen-text) !important; font-weight: 800 !important; letter-spacing: -.045em !important; }
.lp-flow-copy h1 { font-size: clamp(36px,4.2vw,58px); line-height: 1.06; }
.lp-flow-copy h2 { font-size: clamp(30px,3vw,42px); line-height: 1.12; }
.lp-flow-copy h1 span, .lp-flow-copy h2 span[style*="--blue-600"], [data-dc-tpl="586"] { color: var(--caen-accent-ink) !important; font-style: italic; }
.lp-flow-copy p { color: var(--caen-muted); }
.lp-flow-copy > span:first-child { color: var(--caen-accent-ink) !important; letter-spacing: .2em !important; font-weight: 800 !important; }
.lp-flow-visual [style*="border-radius: 22px"] { border-radius: 24px !important; }
.lp-flow-visual [style*="border-radius: 24px"] { border-radius: 28px !important; }
svg [stroke="#2563eb"], svg [stroke="#3b82f6"], svg [stroke="#60a5fa"] { stroke: var(--caen-accent-ink); }
svg [fill="#2563eb"], svg [fill="#3b82f6"] { fill: var(--caen-accent-ink); }
svg [stop-color="#2563eb"], svg [stop-color="#3b82f6"], svg [stop-color="#60a5fa"] { stop-color: var(--caen-accent-ink); }
[data-k="502:1"] { border-top: 1px solid var(--caen-border); }
#formulario { border-top: 1px solid var(--caen-border); }
.lp-form-embed { background: #fff; border-radius: 28px; border: 1px solid var(--caen-border); padding: 28px !important; color-scheme: light; box-shadow: 0 20px 60px rgba(24,24,27,.06); }
[data-dc-tpl="651"] { background: var(--caen-surface) !important; border-top: 1px solid var(--caen-border); }
[data-dc-tpl="652"] { max-width: 1280px; padding: 32px 28px; }
[data-modal-video] { background: rgba(0,0,0,.9) !important; backdrop-filter: blur(10px); }
@media (max-width: 1023px) {
 [data-k="15:1"] { padding: 12px 16px; gap: 10px; }
 .caen-brand-mark, [data-k="16:1"] { width: 30px !important; height: 30px !important; }
 .caen-brand-name { font-size: 18px; }
 .logo-voltar-topo { gap: 7px; }
 .lp-flow-section { padding: 52px 20px; }
 .lp-flow-section:first-child { padding-top: 36px; }
 .lp-flow-copy h1 { font-size: 36px; }
 .lp-flow-copy h2 { font-size: 30px; }
 .lp-flow-sections { border: 0; }
 .lp-form-embed { padding: 20px !important; }
}
@media (max-width: 420px) {
 [data-dc-tpl="17"] { gap: 6px !important; }
 [data-k="23:1"] { font-size: 11px; padding: 9px 6px 9px 12px; gap: 6px; }
 [data-k="18:1"] { width: 32px; height: 32px; }
 .caen-brand-name { font-size: 17px; letter-spacing: -.7px; }
 .caen-brand-mark, [data-k="16:1"] { width: 26px !important; height: 26px !important; }
}

/* Accessible contrast for the yellow message bubbles and badges. */
.caen-accent-surface, .caen-accent-surface :is(p,span,strong,small,svg) { color: #000 !important; }
.caen-accent-surface > svg { fill: #000 !important; }
.lp-flow-copy h2 span { color: var(--caen-accent-ink) !important; }
[data-dc-tpl="188"] { background: rgba(250,204,21,.08) !important; }
@media (max-width: 360px) {
 [data-k="15:1"] { padding: 12px; gap: 8px; }
 .caen-brand-name { font-size: 14px; }
 .caen-brand-mark, [data-k="16:1"] { width: 22px !important; height: 22px !important; }
 .logo-voltar-topo { gap: 5px; }
 [data-k="23:1"] { font-size: 10px; padding: 8px 5px 8px 8px; gap: 5px; }
 [data-k="23:1"] > span:last-child { width: 20px !important; height: 20px !important; font-size: 11px !important; }
 [data-k="18:1"] { width: 28px; height: 28px; }
}

.lp-flow-scene [style*="background:rgb(255,251,235)"] { background: rgba(250,204,21,.08) !important; }

/* Keep the video overlay and WhatsApp control legible on their colored surfaces. */
[data-k="10:1"] svg, [data-k="10:1"] svg path { fill: #fff !important; color: #fff !important; }
[data-modal-video] [data-fecha-video] { color: #fff !important; }
[data-abre-video] svg { fill: var(--caen-accent-ink) !important; }

/* Each section supplies its own palette; component geometry and animations stay shared. */
.caen-section-light {
 --caen-bg: #fff; --caen-surface: #fff; --caen-surface-raised: #f8f8f9;
 --caen-text: #18181b; --caen-muted: #62626b; --caen-border: rgba(24,24,27,.1);
 --caen-surface-rgb: 255 255 255; --caen-border-rgb: 24 24 27; --caen-shadow-rgb: 24 24 27;
 --caen-accent-ink: #8a6500; --caen-success: #15803d; --caen-purple: #7c3aed; --caen-warning: #a16207;
 --text-default: var(--caen-text); --text-muted: var(--caen-muted); --surface-page: var(--caen-bg);
 color: var(--caen-text);
}
main { background: var(--caen-bg); }
.lp-flow-section:first-child { background: transparent; }
[data-k="502:1"], #formulario { max-width: none; width: 100%; padding-left: max(28px, calc((100% - var(--caen-content-max)) / 2)); padding-right: max(28px, calc((100% - var(--caen-content-max)) / 2)); background: var(--caen-bg); color: var(--caen-text); }
[data-k="502:1"] { padding-top: 88px; padding-bottom: 88px; }
#formulario { padding-top: 88px; padding-bottom: 88px; scroll-margin-top: 80px; }
@media (max-width: 1023px) {
 [data-k="502:1"], #formulario { padding: 52px 20px; }
}

/* Growth-inspired layout composition. Animated scenes retain their own 500 x 470 stage. */
.caen-feature-pair {
 display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px;
 padding: 32px max(28px, calc((100% - var(--caen-content-max)) / 2)) 88px;
 background: #09090b;
}
.caen-feature-pair .caen-layout-card {
 display: flex; flex-direction: column; align-items: stretch; gap: 24px;
 padding: 32px; border: 1px solid var(--caen-border); border-radius: 28px;
 background: linear-gradient(155deg, rgba(250,204,21,.035), transparent 55%), var(--caen-surface);
}
.caen-feature-pair .lp-flow-copy { max-width: none; flex: 1; }
.caen-feature-pair .lp-flow-copy h2 { font-size: 32px; min-height: 2.24em; }
.caen-feature-pair .lp-flow-copy p { min-height: 4.8em; }
.caen-feature-pair .lp-flow-copy > a { margin-top: auto; }
.caen-feature-pair .lp-flow-visual { flex: none; }
.lp-flow-section.caen-layout-centered {
 grid-template-columns: minmax(0, 1fr); gap: 36px; text-align: center;
}
.caen-layout-centered .lp-flow-copy {
 width: 100%; max-width: 760px; margin: 0 auto; align-items: center;
}
.caen-layout-centered .lp-flow-copy > span:first-child,
.caen-layout-centered .lp-flow-copy > a { align-self: center !important; }
.caen-layout-centered .lp-flow-copy h2 { font-size: clamp(32px, 3.5vw, 46px); max-width: 720px; }
.caen-layout-centered .lp-flow-copy p { max-width: 54ch; margin-left: auto !important; margin-right: auto !important; }
.caen-layout-centered .lp-flow-visual {
 width: 100%; max-width: 760px; justify-self: center; text-align: left;
 border-radius: 28px; border: 1px solid var(--caen-border);
 background: var(--caen-surface-raised); box-shadow: 0 24px 64px rgb(var(--caen-shadow-rgb) / .05);
}
.lp-flow-section.caen-layout-reverse { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); }
.caen-layout-reverse .lp-flow-visual { grid-column: 1; grid-row: 1; }
.caen-layout-reverse .lp-flow-copy { grid-column: 2; grid-row: 1; }
.lp-flow-section.caen-layout-bento { gap: 40px; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); }
.caen-layout-bento .lp-flow-copy { max-width: none; }
.caen-layout-bento [data-k="444:1"] { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.caen-layout-bento [data-k="444:1"] > div {
 flex-direction: column; padding: 20px !important; border: 1px solid var(--caen-border) !important;
 border-radius: 20px; background: var(--caen-surface); gap: 16px !important;
}
.caen-layout-bento .lp-flow-visual { border-radius: 28px; background: linear-gradient(145deg, rgba(250,204,21,.05), transparent 70%), var(--caen-surface); border: 1px solid var(--caen-border); }
.lp-flow-section.caen-layout-spotlight { grid-template-columns: minmax(0, .8fr) minmax(0, 1.3fr); gap: 48px; }
.caen-layout-spotlight .lp-flow-copy { max-width: 370px; }
.caen-layout-spotlight .lp-flow-copy h2 { font-size: clamp(34px, 3.5vw, 48px); }
.caen-layout-spotlight .lp-flow-visual { border: 1px solid rgba(250,204,21,.18); border-radius: 28px; background: radial-gradient(ellipse at 50% 45%, rgba(250,204,21,.07), transparent 70%), var(--caen-surface); }
@media (max-width: 1023px) {
 .caen-feature-pair { grid-template-columns: minmax(0, 1fr); padding: 12px 20px 52px; gap: 20px; }
 .caen-feature-pair .caen-layout-card { padding: 28px; }
 .caen-feature-pair .lp-flow-copy h2, .caen-feature-pair .lp-flow-copy p { min-height: 0; }
 .lp-flow-section.caen-layout-reverse, .lp-flow-section.caen-layout-bento, .lp-flow-section.caen-layout-spotlight { grid-template-columns: minmax(0, 1fr); gap: 28px; }
 .caen-layout-reverse .lp-flow-copy, .caen-layout-reverse .lp-flow-visual { grid-column: auto; grid-row: auto; }
 .caen-layout-spotlight .lp-flow-copy { max-width: none; }
 .caen-layout-centered .lp-flow-copy h2, .caen-layout-spotlight .lp-flow-copy h2 { font-size: 34px; }
}
@media (max-width: 600px) {
 .caen-feature-pair .caen-layout-card { padding: 24px 20px; }
 .caen-feature-pair .lp-flow-copy h2 { font-size: 28px; }
 .caen-feature-pair .lp-flow-copy > a { font-size: 12px !important; gap: 8px !important; }
 .caen-layout-bento [data-k="444:1"] { grid-template-columns: minmax(0, 1fr); }
 .caen-layout-bento [data-k="444:1"] > div { flex-direction: row; padding: 16px !important; }
 .caen-layout-centered .lp-flow-copy h2, .caen-layout-spotlight .lp-flow-copy h2 { font-size: 30px; }
}

/* Additional sections adapted from the Datacrazy resource grid, comparison and FAQ. */
.caen-extra { padding: 88px max(28px, calc((100% - var(--caen-content-max)) / 2)); background: var(--caen-bg); color: var(--caen-text); border-top: 1px solid var(--caen-border); }
.caen-extra *, .caen-extra *::before, .caen-extra *::after { box-sizing: border-box; }
.caen-extra-inner { width: 100%; max-width: var(--caen-content-max); margin: 0 auto; }
.caen-section-heading { max-width: 840px; margin: 0 auto 48px; text-align: center; }
.caen-eyebrow { display: inline-block; color: var(--caen-accent-ink); font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .18em; margin-bottom: 18px; }
.caen-extra h2 { font: 800 clamp(32px, 3.6vw, 48px)/1.12 var(--font-sans); letter-spacing: -.045em; margin: 0; color: var(--caen-text); }
.caen-extra h2 em { color: var(--caen-accent-ink); }
.caen-section-heading > p, .caen-faq-heading > p { max-width: 58ch; font-size: 16px; line-height: 1.7; color: var(--caen-muted); margin: 20px auto 0; }
.caen-resource-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; align-items: start; }
.caen-resource-column { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.caen-resource-column-offset { padding-top: 44px; }
.caen-resource-card { overflow: hidden; border-radius: 24px; background: var(--caen-surface); border: 1px solid var(--caen-border); }
.caen-resource-body { padding: 26px; }
.caen-resource-label { display: block; color: var(--caen-accent-ink); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; font-weight: 800; margin-bottom: 12px; }
.caen-resource-body h3 { font-size: 22px; line-height: 1.25; letter-spacing: -.03em; margin: 0; font-weight: 800; color: var(--caen-text); }
.caen-resource-body p { font-size: 14px; line-height: 1.7; margin: 14px 0 0; color: var(--caen-muted); }
.caen-resource-art { position: relative; overflow: hidden; background: radial-gradient(ellipse at 50% 20%, rgba(250,204,21,.08), transparent 70%); }
.caen-resource-art > img { display: block; width: 100%; height: auto; filter: grayscale(1); }
.caen-art-automation { padding: 26px 24px 0; height: 242px; }
.caen-art-automation > img { border-radius: 16px; box-shadow: 0 10px 30px rgba(0,0,0,.2); }
.caen-art-analytics { padding: 22px 18px 0; height: 255px; }
.caen-art-analytics > img { width: 490px; max-width: none; border-radius: 14px; }
.caen-art-badge { position: absolute; bottom: 12px; right: 18px; display: inline-flex; gap: 14px; align-items: center; border-radius: 999px; padding: 10px 15px; font-size: 12px; font-weight: 700; color: #09090b; background: var(--caen-accent); box-shadow: 0 6px 30px rgba(0,0,0,.2); }
.caen-art-leads { padding: 22px 22px 0; height: 245px; }
.caen-art-integrations { height: 250px; padding: 18px; }
.caen-art-integrations > img { height: 100%; object-fit: contain; opacity: .75; }
.caen-integration-hub { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); display: flex; align-items: center; gap: 9px; padding: 16px; border-radius: 20px; border: 1px solid rgba(250,204,21,.3); background: #111113; box-shadow: 0 0 40px rgba(250,204,21,.12); white-space: nowrap; }
.caen-integration-hub strong { font-size: 18px; letter-spacing: -.04em; }
.caen-integration-hub strong span { color: var(--caen-accent); }
.caen-resource-points { list-style: none; padding: 18px 0 0; margin: 16px 0 0; border-top: 1px solid var(--caen-border); font-size: 12px; color: var(--caen-muted); display: grid; gap: 12px; }
.caen-resource-points li::before { content: '✓'; color: var(--caen-accent); font-weight: 800; margin-right: 8px; }
.caen-mini-flow { padding: 28px 26px 8px; display: flex; flex-direction: column; align-items: center; }
.caen-mini-flow > span { width: 100%; padding: 12px 16px; border: 1px solid var(--caen-border); border-radius: 12px; background: var(--caen-surface-raised); font-size: 12px; font-weight: 600; }
.caen-mini-flow > i { font-style: normal; color: var(--caen-accent); line-height: 24px; }
.caen-mini-flow > .caen-flow-final { color: var(--caen-accent); border-color: rgba(250,204,21,.25); }
.caen-flow-final b { float: right; }
.caen-inbox-demo { margin: 26px 20px 0; background: var(--caen-surface-raised); border: 1px solid var(--caen-border); border-radius: 16px; overflow: hidden; }
.caen-inbox-top { display: flex; align-items: center; justify-content: space-between; padding: 18px 14px; font-weight: 700; font-size: 13px; }
.caen-inbox-top b { color: var(--caen-muted); font-size: 9px; font-weight: 500; }
.caen-inbox-top i, .caen-inbox-status i { display: inline-block; width: 6px; height: 6px; background: var(--caen-accent); border-radius: 50%; }
.caen-inbox-row { display: flex; align-items: center; gap: 9px; padding: 16px 12px; border-top: 1px solid var(--caen-border); }
.caen-inbox-avatar { display: grid; place-items: center; flex-shrink: 0; width: 32px; height: 32px; border-radius: 50%; background: rgba(250,204,21,.1); color: var(--caen-accent); font-size: 10px; font-weight: 800; }
.caen-inbox-row > div { min-width: 0; }
.caen-inbox-row strong, .caen-inbox-row small { display: block; font-size: 12px; }
.caen-inbox-row small { color: var(--caen-muted); font-size: 10px; margin-top: 5px; }
.caen-inbox-time { font-size: 9px; color: var(--caen-muted); margin-left: auto; flex-shrink: 0; }
.caen-inbox-status { border-top: 1px solid var(--caen-border); padding: 14px; font-size: 10px; color: var(--caen-accent); }
.caen-visual-note { margin: 24px 0 0; font-size: 11px; line-height: 1.6; color: var(--caen-muted); text-align: center; }
.caen-section-action { display: flex; justify-content: center; margin-top: 36px; }
.caen-extra-cta { display: inline-flex; align-items: center; justify-content: center; gap: 14px; border-radius: 999px; padding: 16px 22px; text-decoration: none; font-size: 13px; line-height: 1.4; }
.caen-extra-cta > span { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; }
.caen-comparison-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.caen-comparison-card { padding: 38px; border: 1px solid var(--caen-border); border-radius: 28px; background: var(--caen-surface); }
.caen-comparison-label { font-size: 10px; text-transform: uppercase; letter-spacing: .15em; font-weight: 800; color: var(--caen-muted); }
.caen-comparison-card h3 { font-size: 30px; font-weight: 800; letter-spacing: -.035em; line-height: 1.2; margin: 18px 0 28px; color: var(--caen-text); }
.caen-comparison-card ul { padding: 0; margin: 32px 0 0; list-style: none; display: grid; gap: 15px; }
.caen-comparison-card li { font-size: 14px; line-height: 1.6; color: var(--caen-muted); padding-left: 25px; position: relative; }
.caen-comparison-card li::before { content: '—'; position: absolute; left: 0; color: var(--caen-muted); }
.caen-comparison-connected { border-color: rgba(250,204,21,.28); background: radial-gradient(ellipse at 80% 20%, rgba(250,204,21,.08), transparent 70%), var(--caen-surface); }
.caen-comparison-connected .caen-comparison-label, .caen-comparison-connected li::before { color: var(--caen-accent); }
.caen-comparison-connected li::before { content: '✓'; }
.caen-scattered-tools { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; padding: 20px 0; min-height: 150px; }
.caen-scattered-tools > span { padding: 15px 12px; text-align: center; font-size: 12px; border: 1px dashed rgba(161,161,170,.35); border-radius: 12px; color: var(--caen-muted); background: var(--caen-surface-raised); }
.caen-scattered-tools > span:nth-child(odd) { transform: rotate(-4deg); }
.caen-scattered-tools > span:nth-child(even) { transform: rotate(4deg); }
.caen-connected-tools { display: flex; justify-content: center; align-items: center; gap: 9px; flex-wrap: wrap; min-height: 150px; padding: 24px 0; }
.caen-connected-tools > img { display: block; width: 100%; height: 48px; object-fit: contain; margin-bottom: 8px; }
.caen-connected-tools > span { font-size: 11px; border-radius: 10px; border: 1px solid rgba(250,204,21,.2); background: rgba(250,204,21,.05); padding: 12px; }
.caen-connected-tools > i { color: var(--caen-accent); font-style: normal; }
.caen-faq-grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 64px; align-items: start; }
.caen-faq-heading > p { margin-left: 0; }
.caen-faq-heading .caen-extra-cta { margin-top: 28px; }
.caen-faq-list { border-top: 1px solid var(--caen-border); }
.caen-faq-list details { border-bottom: 1px solid var(--caen-border); }
.caen-faq-list summary { padding: 24px 0; list-style: none; display: flex; gap: 20px; align-items: center; justify-content: space-between; cursor: pointer; font-weight: 700; font-size: 15px; line-height: 1.5; }
.caen-faq-list summary::-webkit-details-marker { display: none; }
.caen-faq-list summary > span { color: var(--caen-accent-ink); flex-shrink: 0; font-size: 25px; font-weight: 400; transition: transform .2s; }
.caen-faq-list details[open] summary > span { transform: rotate(45deg); }
.caen-faq-list details > p { margin: 0; padding: 0 30px 24px 0; font-size: 14px; color: var(--caen-muted); line-height: 1.8; }
.caen-faq-list summary:focus-visible { outline: 2px solid var(--caen-accent-ink); outline-offset: 4px; border-radius: 4px; }
html[data-caen-reveal-enabled] [data-caen-reveal] { opacity: 0; transform: translateY(22px); transition: opacity .65s ease, transform .65s cubic-bezier(.22,1,.36,1); }
html[data-caen-reveal-enabled] [data-caen-reveal][data-caen-visible] { opacity: 1; transform: none; }
@media (max-width: 1023px) {
 .caen-extra { padding: 60px 24px; }
 .caen-resource-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
 .caen-resource-column { gap: 14px; }
 .caen-resource-body { padding: 20px; }
 .caen-resource-body h3 { font-size: 20px; }
 .caen-resource-body p { font-size: 13px; }
 .caen-faq-grid { gap: 36px; }
 .caen-comparison-card { padding: 28px; }
 .caen-comparison-card h3 { font-size: 26px; }
}
@media (max-width: 800px) {
 .caen-resource-grid { grid-template-columns: minmax(0, 1fr); max-width: 540px; margin: 0 auto; }
 .caen-resource-column-offset { padding-top: 0; }
 .caen-resource-column { gap: 20px; }
 .caen-resource-grid { gap: 20px; }
 .caen-art-automation, .caen-art-leads { height: 280px; }
 .caen-art-analytics > img { width: 100%; min-width: 490px; }
 .caen-resource-body { padding: 26px; }
 .caen-resource-body h3 { font-size: 24px; }
 .caen-resource-body p { font-size: 14px; }
 .caen-comparison-grid, .caen-faq-grid { grid-template-columns: minmax(0, 1fr); }
 .caen-faq-heading { max-width: 520px; }
}
@media (max-width: 600px) {
 .caen-extra { padding: 52px 20px; }
 .caen-extra h2 { font-size: 32px; }
 .caen-section-heading { margin-bottom: 32px; }
 .caen-section-heading > p, .caen-faq-heading > p { font-size: 14px; }
 .caen-resource-body { padding: 24px; }
 .caen-resource-body h3 { font-size: 22px; }
 .caen-mini-flow { padding-left: 24px; padding-right: 24px; }
 .caen-comparison-card { padding: 28px 24px; }
 .caen-comparison-card h3 { font-size: 26px; }
 .caen-connected-tools { gap: 6px; }
 .caen-connected-tools > span { padding: 10px 7px; font-size: 10px; }
 .caen-extra-cta { padding: 14px 18px; font-size: 12px; gap: 10px; }
 .caen-extra-cta > span { flex-shrink: 0; }
 .caen-faq-list summary { font-size: 14px; gap: 15px; }
}
@media (prefers-reduced-motion: reduce) {
 html[data-caen-reveal-enabled] [data-caen-reveal] { opacity: 1; transform: none; transition: none; }
}

/* Video hero: open footage above, copy and actions anchored to the lower edge. */
.lp-flow-section.caen-layout-hero {
 position: relative; isolation: isolate; display: flex; align-items: flex-end;
 min-height: clamp(420px, 53svh, 530px); padding: 0; gap: 0;
 overflow: hidden; background: #09090b;
}
.caen-hero-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center center; z-index: -2; }
.caen-hero-video-overlay { position: absolute; inset: 0; z-index: -1; pointer-events: none; background: linear-gradient(180deg, rgba(0,0,0,.22) 0%, rgba(0,0,0,.22) 40%, rgba(0,0,0,.38) 60%, rgba(0,0,0,.76) 100%); }
.caen-hero-bottom { width: 100%; display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr); align-items: end; gap: 72px; padding: 80px max(36px, calc((100% - var(--caen-content-max)) / 2)) 60px; }
.caen-layout-hero .caen-hero-copy { display: flex; flex-direction: column; max-width: 690px; min-width: 0; gap: 0; }
.caen-layout-hero .caen-hero-copy h1 { font-size: clamp(28px, 2.5vw, 36px) !important; line-height: 1.14 !important; margin: 0 !important; letter-spacing: -.035em !important; text-wrap: balance; color: #fff !important; text-shadow: 0 2px 18px rgba(0,0,0,.22); }
.caen-layout-hero .caen-hero-copy h1 span { color: var(--caen-gold) !important; }
.caen-layout-hero .caen-hero-copy p { max-width: 66ch !important; font-size: 14px !important; line-height: 1.75 !important; margin: 18px 0 0 !important; color: rgba(255,255,255,.85) !important; text-shadow: 0 1px 8px rgba(0,0,0,.25); }
.caen-layout-hero .caen-hero-aside { display: flex; flex-direction: column; align-items: flex-end; justify-content: flex-end; gap: 22px; max-width: none; min-width: 0; }
.caen-hero-tags { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; animation: riseIn .8s .2s both; }
.caen-hero-tags > span { display: inline-flex; align-items: center; padding: 8px 12px; border: 1px solid rgba(255,255,255,.22); border-radius: 999px; font-size: 11px; font-weight: 600; color: #fff; background: rgba(9,9,11,.25); backdrop-filter: blur(8px); white-space: nowrap; }
.caen-hero-aside > a { animation: riseIn .8s .3s both; font-size: 13px !important; padding: 14px 12px 14px 22px !important; }
@media (max-width: 1023px) {
 .lp-flow-section.caen-layout-hero { min-height: clamp(440px, 55svh, 500px); padding: 0; }
 .caen-hero-bottom { gap: 32px; padding: 60px 28px 44px; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); }
 .caen-layout-hero .caen-hero-copy h1 { font-size: 30px !important; }
}
@media (max-width: 700px) {
 .lp-flow-section.caen-layout-hero { min-height: 0; }
 .caen-hero-bottom { grid-template-columns: minmax(0, 1fr); gap: 24px; padding: 180px 20px 32px; }
 .caen-layout-hero .caen-hero-copy h1 { font-size: 28px !important; max-width: 540px; }
 .caen-layout-hero .caen-hero-copy p { font-size: 13px !important; margin-top: 14px !important; }
 .caen-layout-hero .caen-hero-aside { align-items: flex-start; gap: 18px; }
 .caen-hero-tags { justify-content: flex-start; gap: 6px; }
 .caen-hero-tags > span { padding: 7px 10px; font-size: 10px; }
 .caen-hero-video-overlay { background: linear-gradient(180deg, rgba(0,0,0,.22) 0%, rgba(0,0,0,.22) 35%, rgba(0,0,0,.46) 55%, rgba(0,0,0,.8) 100%); }
}
@media (prefers-reduced-motion: reduce) {
 .caen-hero-tags, .caen-hero-aside > a, .caen-hero-copy h1, .caen-hero-copy p { animation: none !important; }
}

/* Overlay navigation lets the footage fill the viewport behind the header. */
header[data-dc-tpl="14"] {
 position: fixed !important; top: 0; left: 0; right: 0; width: 100%;
 background: rgba(9,9,11,.34) !important;
 backdrop-filter: blur(3px) !important; -webkit-backdrop-filter: blur(3px);
 border-bottom-color: rgba(255,255,255,.1) !important;
 transition: background .25s ease, backdrop-filter .25s ease;
}
header[data-dc-tpl="14"] .caen-brand-name { text-shadow: 0 1px 5px rgba(0,0,0,.7); }
header[data-dc-tpl="14"][data-past-hero] {
 background: rgba(9,9,11,.9) !important;
 backdrop-filter: blur(12px) !important; -webkit-backdrop-filter: blur(12px);
}

/* Faixa contínua entre a hero e os recursos, seguindo o marquee da agência. */
#caen-marquee { position:relative; width:100%; padding:20px 0; background:#09090b; border-top:1px solid #ffffff0d; border-bottom:1px solid #ffffff0d; overflow:hidden; user-select:none; }
#caen-marquee .caen-marquee-track { display:flex; width:max-content; animation:caen-marquee-loop 80s linear infinite !important; animation-play-state:running !important; will-change:transform; }
#caen-marquee .caen-marquee-group { display:flex; align-items:center; flex:0 0 auto; min-width:100vw; }
#caen-marquee .caen-marquee-item { display:flex; align-items:center; flex:0 0 auto; gap:28px; padding-right:28px; white-space:nowrap; font-family:var(--font-display,'Plus Jakarta Sans',sans-serif); font-size:14px; line-height:22px; font-weight:900; letter-spacing:.4em; text-transform:uppercase; color:#52525b; transition:color .7s ease,filter .7s ease; }
#caen-marquee .caen-marquee-dot { letter-spacing:0; }
#caen-marquee:hover .caen-marquee-item { color:#facc15; filter:drop-shadow(0 0 8px #facc154d); }
@keyframes caen-marquee-loop { from { transform:translate3d(0,0,0); } to { transform:translate3d(-50%,0,0); } }
@media(max-width:600px) { #caen-marquee .caen-marquee-item {font-size:12px;letter-spacing:.3em;gap:22px;padding-right:22px;} }

/* Atendimento e áudio passam a ter seções e composições independentes. */
.lp-flow-section.caen-layout-conversation { display:grid; grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr); align-items:center; gap:64px; padding-top:104px; padding-bottom:104px; }
.caen-layout-conversation .lp-flow-copy { max-width:450px; }
.caen-layout-conversation .lp-flow-copy h2 { font-size:clamp(34px,3.7vw,48px); }
.caen-layout-conversation .lp-flow-visual { min-width:0; width:100%; border:0; border-radius:0; background:transparent; box-shadow:none; }
.lp-flow-section.caen-layout-audio { display:grid; grid-template-columns:minmax(0,1fr); gap:42px; padding-top:88px; padding-bottom:104px; border-top:1px solid #ffffff0d; }
.caen-layout-audio .lp-flow-copy { display:grid!important; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); column-gap:88px; align-items:end; max-width:none; width:100%; }
.caen-audio-heading,.caen-audio-details { min-width:0; }
.caen-audio-heading > span { display:block; color:var(--caen-accent-ink)!important; font-size:11px; letter-spacing:.2em!important; font-weight:800!important; }
.caen-layout-audio .lp-flow-copy h2 { font-size:clamp(34px,3.7vw,48px); max-width:520px; }
.caen-audio-details p { margin:0!important; max-width:47ch; }
.caen-audio-details > a { font-size:14px!important; width:fit-content; }
.caen-layout-audio .lp-flow-visual { width:100%; min-width:0; max-width:960px; justify-self:center; border:1px solid #ffffff16; border-radius:32px; background:radial-gradient(ellipse at 50% 40%,#facc150c,transparent 65%),#111113; box-shadow:0 24px 70px #0003; }
@media(max-width:980px) {
 .lp-flow-section.caen-layout-conversation { grid-template-columns:minmax(0,1fr); gap:32px; padding-top:64px; padding-bottom:64px; }
 .caen-layout-conversation .lp-flow-copy {max-width:650px;}
 .caen-layout-conversation .lp-flow-visual {max-width:650px;justify-self:center;}
 .caen-layout-audio .lp-flow-copy {column-gap:32px;}
}
@media(max-width:700px) {
 .lp-flow-section.caen-layout-conversation,.lp-flow-section.caen-layout-audio {padding:56px 20px;gap:30px;}
 .caen-layout-audio .lp-flow-copy {grid-template-columns:minmax(0,1fr);gap:20px;}
 .caen-layout-conversation .lp-flow-copy h2,.caen-layout-audio .lp-flow-copy h2 {font-size:32px;}
 .caen-layout-audio .lp-flow-visual {border-radius:22px;}
 .caen-layout-conversation .lp-flow-copy > a,.caen-audio-details > a {font-size:12px!important;gap:8px!important;max-width:100%;}
}

/* Os componentes animados aparecem diretamente sobre o fundo de cada seção.
   Apenas o painel externo é transparente; os cards internos mantêm seu design. */
.lp-flow-section .lp-flow-visual {
 background:transparent;
 border:0;
 border-radius:0;
 box-shadow:none;
}

/* Largura geral e conteúdo centralizados, com limites fluidos para telas menores. */
body { width:100%; max-width:var(--caen-page-max); margin:0 auto; }
header[data-dc-tpl="14"] { max-width:var(--caen-page-max); margin-inline:auto; }
[data-k="15:1"], [data-dc-tpl="652"] {
 width:100%; max-width:calc(var(--caen-content-max) + 2 * var(--caen-page-gutter))!important;
 box-sizing:border-box; padding-inline:var(--caen-page-gutter)!important;
}
a[data-k="10:1"] { right:max(20px,calc((100vw - var(--caen-page-max)) / 2 + 24px))!important; }
@media(max-width:700px) { :root { --caen-page-gutter:20px; } }

/* Hierarquia: hero com o tamanho anterior de Atendimento IA; seções padronizadas. */
:root {
 --caen-hero-title-size:clamp(28px,3.4vw,40px);
 --caen-section-title-size:clamp(28px,2.5vw,36px);
}
main .caen-layout-hero .caen-hero-copy h1 { font-size:var(--caen-hero-title-size)!important; }
main .lp-flow-copy h2,main .caen-extra h2 { font-size:var(--caen-section-title-size)!important; }
@media(max-width:1023px) { :root { --caen-section-title-size:30px; } }
@media(max-width:700px) { :root { --caen-section-title-size:28px; } }

/* O viewport do ScrollSmoother respeita a largura geral da LP. */
#caen-smooth-wrapper { width:100%; max-width:var(--caen-page-max); margin-inline:auto; }
#caen-smooth-wrapper > #dc-root { width:100%; display:flow-root; }

#caen-smooth-wrapper > #dc-root,
#caen-smooth-wrapper > #dc-root > .sc-host { height:auto!important; }

/* CRM screen: scroll-driven perspective replaces its timed rise animation.
   Parameters match the MDN hero: 1200px perspective, 20deg to 0deg, .9 to 1. */
.caen-crm-depth {
 opacity:1!important;
 transform:none!important;
 animation:none!important;
 transition:none!important;
}
.caen-crm-mockup {
 transform-origin:center center;
 will-change:transform;
 backface-visibility:hidden;
}
.caen-crm-mockup img { width:100%; height:auto; display:block; }

/* CRM showcase: same 1136px screen width as the MDN desktop hero.
   A fluid stage replaces the captured 500px scene only in this section. */
.lp-flow-section.caen-layout-crm-showcase {
 display:grid;
 grid-template-columns:minmax(0,1fr);
 gap:48px;
 padding-top:104px;
 padding-bottom:104px;
}
.caen-layout-crm-showcase .lp-flow-copy {
 width:100%; max-width:920px; margin-inline:auto;
 align-items:center; text-align:center;
}
.caen-layout-crm-showcase .lp-flow-copy > span:first-child {align-self:center!important;}
.caen-layout-crm-showcase .lp-flow-copy h2 {max-width:900px;}
.caen-layout-crm-showcase .lp-flow-copy p {max-width:64ch; margin-inline:auto!important;}
.caen-layout-crm-showcase [data-dc-tpl="492"] {justify-content:center;}
.caen-layout-crm-showcase .caen-crm-showcase {
 width:100%; max-width:1136px; height:auto!important;
 justify-self:center; min-width:0;
}
.caen-layout-crm-showcase .lp-flow-stage {
 width:100%; height:auto; margin:0;
 transform:none; transform-origin:center center;
}
.caen-layout-crm-showcase .lp-flow-visual .lp-flow-scene {
 position:relative!important; inset:auto!important;
 width:100%!important; height:auto!important; margin:0!important;
}
.caen-layout-crm-showcase [data-dc-tpl="342"] {
 height:auto!important; justify-content:flex-start!important; gap:24px!important;
}
.caen-layout-crm-showcase [data-dc-tpl="357"] {gap:16px!important; margin-top:0!important;}
.caen-layout-crm-showcase [data-k="358:1"],
.caen-layout-crm-showcase [data-k="368:1"],
.caen-layout-crm-showcase [data-k="378:1"],
.caen-layout-crm-showcase [data-k="388:1"] {padding:20px!important; gap:12px!important;}
.caen-layout-crm-showcase [data-dc-tpl="363"],
.caen-layout-crm-showcase [data-dc-tpl="373"],
.caen-layout-crm-showcase [data-dc-tpl="383"],
.caen-layout-crm-showcase [data-dc-tpl="393"] {font-size:12px!important;}
.caen-layout-crm-showcase [data-dc-tpl="365"],
.caen-layout-crm-showcase [data-dc-tpl="375"],
.caen-layout-crm-showcase [data-dc-tpl="385"],
.caen-layout-crm-showcase [data-dc-tpl="395"] {font-size:clamp(20px,2vw,28px)!important;}
.caen-layout-crm-showcase [data-dc-tpl="367"],
.caen-layout-crm-showcase [data-dc-tpl="377"],
.caen-layout-crm-showcase [data-dc-tpl="387"],
.caen-layout-crm-showcase [data-dc-tpl="397"] {font-size:11px!important;}
@media(max-width:980px) {
 .lp-flow-section.caen-layout-crm-showcase {padding-top:72px; padding-bottom:72px; gap:36px;}
 .caen-layout-crm-showcase [data-dc-tpl="357"] {grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:700px) {
 .lp-flow-section.caen-layout-crm-showcase {padding:56px 20px; gap:32px;}
 .caen-layout-crm-showcase [data-dc-tpl="342"] {gap:20px!important;}
 .caen-layout-crm-showcase [data-dc-tpl="357"] {gap:12px!important;}
 .caen-layout-crm-showcase [data-k="358:1"],
 .caen-layout-crm-showcase [data-k="368:1"],
 .caen-layout-crm-showcase [data-k="378:1"],
 .caen-layout-crm-showcase [data-k="388:1"] {padding:14px!important;}
 .caen-layout-crm-showcase [data-dc-tpl="375"] {font-size:18px!important;}
}

/* MDN-inspired architectural grid: aligned rails and section dividers.
   The decoration sits behind content and does not participate in layout. */
:where(.lp-flow-section,.caen-extra,#caen-marquee,footer[data-dc-tpl="651"]) {
 position:relative;
 isolation:isolate;
 --caen-grid-line:rgb(243 199 107 / .12);
 --caen-grid-fill:none;
}
:where(.lp-flow-section,.caen-extra).caen-section-light {
 --caen-grid-line:rgb(24 24 27 / .10);
}
:where(.lp-flow-section,.caen-extra,#caen-marquee,footer[data-dc-tpl="651"])::before {
 content:"";
 position:absolute;
 inset-block:0;
 left:50%;
 width:min(calc(var(--caen-content-max) + var(--caen-page-gutter) + var(--caen-page-gutter)),calc(100% - 24px));
 transform:translateX(-50%);
 box-sizing:border-box;
 border-left:1px solid var(--caen-grid-line);
 border-right:1px solid var(--caen-grid-line);
 border-top:1px solid var(--caen-grid-line);
 background-image:var(--caen-grid-fill);
 background-size:1px 100%,1px 100%;
 background-position:16.6667% 0,83.3333% 0;
 background-repeat:no-repeat;
 pointer-events:none;
 z-index:0;
}
:where(.caen-layout-centered,.caen-layout-crm-showcase,.caen-extra) {
 --caen-grid-fill:linear-gradient(var(--caen-grid-line),var(--caen-grid-line)),linear-gradient(var(--caen-grid-line),var(--caen-grid-line));
}
.lp-flow-section > .lp-flow-copy,
.lp-flow-section > .lp-flow-visual,
.caen-hero-bottom,
.caen-extra > .caen-extra-inner,
#caen-marquee > .caen-marquee-track,
footer[data-dc-tpl="651"] > div {position:relative; z-index:1;}
.caen-layout-crm-showcase .lp-flow-copy,
.caen-extra .caen-section-heading {background:var(--caen-bg);}
footer[data-dc-tpl="651"]::before {border-bottom:1px solid var(--caen-grid-line);}
@media(max-width:700px) {
 :where(.lp-flow-section,.caen-extra)::before {background-image:none;}
}

/* Supplied horizontal logo. The link clips only transparent canvas padding. */
header[data-dc-tpl="14"] .logo-voltar-topo {
 width:180px; height:46px; gap:0; overflow:hidden; flex-shrink:0;
 justify-content:center; align-items:center;
}
header[data-dc-tpl="14"] .caen-header-logo {
 display:block; width:180px; height:auto; max-width:none; flex-shrink:0;
}
@media(max-width:700px) {
 header[data-dc-tpl="14"] .logo-voltar-topo {width:140px;height:38px;}
 header[data-dc-tpl="14"] .caen-header-logo {width:140px;}
}
@media(max-width:380px) {
 header[data-dc-tpl="14"] .logo-voltar-topo {width:112px;height:32px;}
 header[data-dc-tpl="14"] .caen-header-logo {width:112px;}
}
