
/* ── sales.css ── */
:root {
  --page-bg: #f7f8fb;
  --surface: #ffffff;
  --surface-soft: #f1f4f8;
  --ink: #111827;
  --muted: #5f6b7a;
  --line: rgba(17, 24, 39, .1);
  --brand: #3355d6;
  --brand-2: #2443b8;
  --accent: #3355d6;
  --marca-escura: #2443b8;
  --danger: #e24a4a;
  --radius: 22px;
  --shadow: 0 24px 70px rgba(24, 39, 75, .12);
  --container: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: clip; }
body {
  margin: 0;
  overflow-x: clip;
  color: var(--ink);
  background: var(--page-bg);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button, a { -webkit-tap-highlight-color: transparent; }
.container { width: min(calc(100% - 48px), var(--container)); margin-inline: auto; }
.skip-link { position: fixed; top: -80px; left: 16px; z-index: 1000; padding: 12px 16px; background: var(--ink); color: #fff; border-radius: 10px; }
.skip-link:focus { top: 16px; }
.visually-hidden { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }

.site-header { position: sticky; top: 0; z-index: 80; border-bottom: 1px solid transparent; background: rgba(247,248,251,.82); backdrop-filter: blur(18px); transition: border-color .25s ease, box-shadow .25s ease; }
body.menu-open .site-header { z-index: 10000 !important; }
.site-header.is-scrolled { border-color: var(--line); box-shadow: 0 10px 30px rgba(17,24,39,.06); }
.nav { min-height: 74px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: inline-flex; align-items: center; gap: 11px; font-weight: 850; letter-spacing: -.04em; font-size: 1.18rem; }
.brand-mark { width: 36px; height: 36px; border-radius: 11px; display: grid; place-items: center; color: #fff; background: linear-gradient(135deg,var(--brand),var(--brand-2)); box-shadow: 0 8px 24px color-mix(in srgb,var(--brand) 28%,transparent); }
.brand-official img { display:block; width:190px; height:auto; }
.brand-sanweb img { display: block; width: 142px; height: auto; }
.brand small { display: block; color: var(--muted); font-size: .65rem; font-weight: 650; letter-spacing: 0; line-height: 1; }
.nav-links-desktop { display: flex; align-items: center; gap: 28px; color: #354052; font-size: .9rem; font-weight: 650; }
.nav-links-desktop a:not(.btn):hover { color: var(--brand); }
.menu-toggle { display: none; width: 46px; height: 46px; border: 1px solid var(--line); border-radius: 13px; background: var(--surface); color: var(--ink); font-size: 1.3rem; }

.btn { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; padding: 12px 20px; border: 1px solid transparent; border-radius: 14px; font-weight: 500; line-height: 1.1; transition: transform .25s cubic-bezier(0.16, 1, 0.3, 1), box-shadow .25s ease, background .25s ease, border-color .25s ease; will-change: transform; }
.btn:hover { transform: translateY(-3px); }
.btn:active { transform: translateY(0) scale(0.97); }
.btn-primary { color: #fff; background: linear-gradient(135deg,var(--brand),var(--brand-2)); box-shadow: 0 12px 28px color-mix(in srgb,var(--brand) 25%,transparent); }
.btn-primary:hover { box-shadow: 0 16px 36px color-mix(in srgb,var(--brand) 38%,transparent); }
.btn-secondary { background: var(--surface); border-color: var(--line); }
.btn-secondary:hover { border-color: color-mix(in srgb,var(--brand) 30%,transparent); }
.btn-whatsapp { color: #073c2d; background: #c9f8e6; }
.btn-lg { min-height: 56px; padding: 16px 25px; border-radius: 16px; }

.hero { position: relative; overflow: hidden; padding: 78px 0 58px; }
.hero::before { content: ""; position: absolute; width: 660px; height: 660px; right: -300px; top: -300px; border-radius: 50%; background: radial-gradient(circle,color-mix(in srgb,var(--brand) 20%,transparent),transparent 68%); pointer-events: none; }
.hero-grid { display: grid; grid-template-columns: minmax(0,1.04fr) minmax(340px,.96fr); gap: 68px; align-items: center; }
.eyebrow { display: inline-flex; align-items: center; gap: 9px; margin: 0 0 18px; padding: 7px 12px; border: 1px solid color-mix(in srgb,var(--brand) 20%,transparent); border-radius: 999px; color: var(--brand); background: color-mix(in srgb,var(--brand) 7%,white); font-size: .78rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.eyebrow-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 5px color-mix(in srgb,var(--accent) 15%,transparent); }
h1,h2,h3 { margin: 0; line-height: 1.08; letter-spacing: -.045em; will-change: transform, opacity; }
h1 { max-width: 820px; font-size: clamp(2.55rem, 6vw, 4rem); }
h2 { font-size: clamp(2rem,4vw,3.4rem); }
h3 { font-size: 1.2rem; }

@keyframes gradientShimmer {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

.gradient-text {
  background: linear-gradient(120deg,var(--brand),var(--brand-2),var(--marca-clara,var(--brand)),var(--brand));
  background-size: 280% 100%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: var(--brand);
  animation: gradientShimmer 6s ease infinite;
}

/* Animações de entrada no Hero (Page Load) */
@keyframes heroFadeUp {
  0% { opacity: 0; transform: translateY(32px); }
  100% { opacity: 1; transform: translateY(0); }
}
@keyframes heroStageIn {
  0% { opacity: 0; transform: translateX(45px) scale(0.93); }
  100% { opacity: 1; transform: translateX(0) scale(1); }
}
@keyframes heroBadgeIn {
  0% { opacity: 0; transform: scale(0.75) translateY(20px); }
  100% { opacity: 1; transform: scale(1) translateY(0); }
}

.hero-content .eyebrow { animation: heroFadeUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) 0.1s both; }
.hero-content h1 { animation: heroFadeUp 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.25s both; }
.hero-content .hero-copy { animation: heroFadeUp 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.4s both; }
.hero-content .hero-actions { animation: heroFadeUp 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.55s both; }
.hero-content .trust-row { animation: heroFadeUp 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.7s both; }
.product-stage { animation: heroStageIn 1.1s cubic-bezier(0.16, 1, 0.3, 1) 0.35s both; }
.float-card { animation: heroBadgeIn 0.8s cubic-bezier(0.16, 1, 0.3, 1) 0.9s both, badgeFloat 4.8s ease-in-out infinite 1.7s; }

.hero-copy { max-width: 640px; margin: 23px 0 0; color: var(--muted); font-size: clamp(1rem,2vw,1.18rem); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.trust-row { display: flex; flex-wrap: wrap; gap: 11px 21px; margin-top: 25px; color: var(--muted); font-size: .82rem; font-weight: 700; }
.trust-row span::before { content: "✓"; margin-right: 7px; color: var(--accent); }

.product-stage { position: relative; min-height: 470px; display: grid; place-items: center; }
.visual-frame { overflow:hidden; border:1px solid color-mix(in srgb,var(--brand) 24%,transparent); border-radius:25px; background:#050a11; box-shadow:0 35px 100px rgba(0,0,0,.58),0 0 75px color-mix(in srgb,var(--brand) 11%,transparent); }
.visual-frame img { width:100%; height:100%; object-fit:cover; }
.visual-frame-hero { width:min(100%,590px); aspect-ratio:3/2; transform:rotate(1.2deg); }
.device { position: relative; width: min(100%,540px); padding: 12px; border: 1px solid rgba(255,255,255,.8); border-radius: 28px; background: #151923; box-shadow: var(--shadow); transform: rotate(1.5deg); }
.device-top { height: 23px; display: flex; align-items: center; gap: 6px; padding: 0 5px; }
.device-top i { width: 7px; height: 7px; border-radius: 50%; background: #465063; }
.device-screen { overflow: hidden; aspect-ratio: 16/10; border-radius: 17px; background: #fff; }
.device-screen img { width: 100%; height: 100%; object-fit: cover; object-position: top; }
.phone { position: absolute; right: -12px; bottom: 2px; width: 145px; padding: 7px; border-radius: 25px; background: #11151d; box-shadow: 0 20px 55px rgba(15,23,42,.3); transform: rotate(-5deg); }
.phone-screen { overflow: hidden; aspect-ratio: 9/18; border-radius: 19px; background: var(--surface-soft); }
.phone-screen img { width: 100%; height: 100%; object-fit: cover; object-position: top; }
.float-card { position: absolute; left: -24px; bottom: 34px; max-width: 205px; padding: 14px 16px; border: 1px solid rgba(255,255,255,.82); border-radius: 16px; background: rgba(255,255,255,.92); box-shadow: 0 16px 45px rgba(17,24,39,.13); backdrop-filter: blur(12px); font-size: .78rem; font-weight: 500; }
.float-card strong { display: block; color: var(--brand); font-size: 1.35rem; }

.signal-bar { padding: 18px 0; border-block: 1px solid var(--line); background: var(--surface); }
.signals { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; }
.signal { display: flex; align-items: center; justify-content: center; gap: 10px; color: var(--muted); font-size: .82rem; font-weight: 750; text-align: center; }
.signal b { color: var(--brand); font-size: 1.15rem; }

.section { padding: 100px 0; }
.section-dark { color: #fff; background: #0d1220; }
.section-soft { background: var(--surface-soft); }
.section-heading { max-width: 760px; margin-bottom: 48px; }
.section-heading.center { margin-inline: auto; text-align: center; }
.section-heading p { margin: 17px 0 0; color: var(--muted); font-size: 1.05rem; }
.section-dark .section-heading p { color: #a8b2c4; }

.compare { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.compare-card { padding: clamp(24px,4vw,40px); border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.compare-card.negative { background: #fffafa; }
.compare-card.positive { border-color: color-mix(in srgb,var(--brand) 30%,transparent); background: linear-gradient(145deg,#fff,color-mix(in srgb,var(--brand) 7%,white)); box-shadow: var(--shadow); }
.compare-label { display: inline-flex; margin-bottom: 19px; padding: 6px 10px; border-radius: 9px; background: #feecec; color: #b52b2b; font-size: .73rem; font-weight: 850; text-transform: uppercase; }
.positive .compare-label { color: #086644; background: #dff8ee; }
.check-list { list-style: none; margin: 24px 0 0; padding: 0; }
.check-list li { position: relative; padding: 11px 0 11px 31px; border-bottom: 1px solid var(--line); color: var(--muted); }
.check-list li:last-child { border-bottom: 0; }
.check-list li::before { content: "×"; position: absolute; left: 2px; color: var(--danger); font-size: 1.3rem; font-weight: 900; }
.positive .check-list li::before { content: "✓"; color: var(--accent); }
.price-card .check-list li::before { content: "✓"; color: var(--accent); }

.cards { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.card { min-height: 100%; padding: 27px; border: 1px solid var(--line); border-radius: 19px; background: var(--surface); transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.card:hover { transform: translateY(-5px); border-color: color-mix(in srgb,var(--brand) 28%,transparent); box-shadow: 0 20px 45px rgba(30,45,75,.09); }
.card-icon { width: 48px; height: 48px; display: grid; place-items: center; margin-bottom: 21px; border-radius: 14px; color: var(--brand); background: color-mix(in srgb,var(--brand) 10%,white); font-size: 1.35rem; font-weight: 900; }
.card p { margin: 12px 0 0; color: var(--muted); font-size: .92rem; }
.wide-visual { overflow:hidden; margin:0 0 30px; border:1px solid var(--line); border-radius:24px; background:#060b12; box-shadow:var(--shadow); }
.wide-visual img { width:100%; height:clamp(300px,42vw,540px); object-fit:cover; }
.wide-visual-segments img { height:clamp(250px,34vw,430px); }

.segment-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.segment-card { padding:28px; border:1px solid var(--line); border-radius:20px; background:var(--surface); transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease; }
.segment-card:hover { transform:translateY(-5px); border-color:color-mix(in srgb,var(--brand) 36%,transparent); box-shadow:0 24px 65px rgba(0,0,0,.28); }
.segment-icon { width:46px; height:46px; display:grid; place-items:center; margin-bottom:20px; border:1px solid color-mix(in srgb,var(--brand) 20%,transparent); border-radius:14px; color:var(--brand); background:color-mix(in srgb,var(--brand) 9%,transparent); font-size:1.25rem; font-weight:700; }
.segment-card p { margin:12px 0 17px; color:var(--muted); font-size:.9rem; }
.segment-card ul { display:grid; gap:8px; margin:0; padding:0; list-style:none; color:#c3cfdd; font-size:.84rem; }
.segment-card li { position:relative; padding-left:19px; }
.segment-card li::before { content:"✓"; position:absolute; left:0; color:var(--accent); }
.segment-fit { display:grid; grid-template-columns:auto minmax(260px,1fr) auto; align-items:center; gap:22px; margin-top:22px; padding:22px 24px; border:1px solid color-mix(in srgb,var(--brand) 25%,transparent); border-radius:18px; background:linear-gradient(115deg,color-mix(in srgb,var(--brand) 12%,transparent),color-mix(in srgb,var(--brand) 4%,transparent)); }
.segment-fit strong { color:var(--brand); }
.segment-fit span { color:var(--muted); font-size:.88rem; }

.steps { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; counter-reset: steps; }
.step { position: relative; padding: 31px; border: 1px solid rgba(255,255,255,.1); border-radius: 20px; background: rgba(255,255,255,.045); counter-increment: steps; }
.step::before { content: "0" counter(steps); display: block; margin-bottom: 44px; color: color-mix(in srgb,var(--brand) 82%,white); font-size: 1.45rem; font-weight: 900; }
.step p { color: #aab3c4; }

.showcase { display: grid; grid-template-columns: minmax(0,1fr) minmax(300px,.8fr); gap: 50px; align-items: center; }
.showcase-copy p { color: var(--muted); }
.showcase-visual { align-self:stretch; min-height:480px; overflow:hidden; display:grid; place-items:center; margin:0; border:1px solid color-mix(in srgb,var(--brand) 22%,transparent); border-radius:24px; background:#070c13; box-shadow:var(--shadow); }
.showcase-visual img { width:100%; height:100%; object-fit:contain; }
.feature-lines { display: grid; gap: 12px; margin-top: 25px; }
.feature-line { display: flex; gap: 13px; align-items: flex-start; padding: 14px; border-radius: 14px; background: var(--surface); border: 1px solid var(--line); }
.feature-line b:first-child { color: var(--accent); }

.pricing { display: grid; grid-template-columns: repeat(4,1fr); gap: 18px; align-items: stretch; }
.price-card { position: relative; display: flex; flex-direction: column; padding: 26px 22px; border: 1px solid var(--line); border-radius: 22px; background: var(--surface); }
.price-card.featured { border: 2px solid var(--brand); box-shadow: var(--shadow); transform: translateY(-10px); }
.popular { position: absolute; top: -14px; right: 22px; padding: 7px 12px; border-radius: 999px; color: #fff; background: var(--brand); font-size: .7rem; font-weight: 900; text-transform: uppercase; letter-spacing: .05em; }
.price-name { color: var(--muted); font-size: .82rem; font-weight: 850; text-transform: uppercase; letter-spacing: .06em; }
.price-from { display: inline-block; font-size: .74rem; font-weight: 800; color: var(--accent); text-transform: uppercase; letter-spacing: .05em; margin-top: 10px; margin-bottom: -8px; }
.price { margin: 14px 0 4px; font-size: clamp(2rem,2.9vw,2.6rem); font-weight: 900; letter-spacing: -.05em; line-height: 1; white-space: nowrap; }
.price small { font-size: .78rem; letter-spacing: 0; color: var(--muted); }
.price-note { min-height: 45px; color: var(--muted); font-size: .82rem; }
.price-card .check-list { flex: 1; }
.price-card .btn { margin-top: 22px; }

.faq { display: grid; gap: 10px; max-width: 850px; margin: 0 auto; }
.faq details { border: 1px solid var(--line); border-radius: 15px; background: var(--surface); }
.faq summary { position: relative; padding: 20px 52px 20px 21px; cursor: pointer; list-style: none; font-weight: 820; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; position: absolute; right: 21px; top: 17px; color: var(--brand); font-size: 1.35rem; }
.faq details[open] summary::after { content: "−"; }
.faq p { margin: 0; padding: 0 21px 21px; color: var(--muted); }

.final-cta { padding: 44px; border-radius: 28px; color: #fff; background: linear-gradient(125deg,#0e1629,var(--brand),var(--brand-2)); box-shadow: var(--shadow); }
.final-cta-grid { display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.final-cta p { margin: 13px 0 0; color: rgba(255,255,255,.76); }
.final-cta .btn { flex-shrink: 0; color: var(--ink); background: #fff; }

.site-footer { padding: 40px 0; color: var(--muted); }
.footer-row { display: flex; justify-content: space-between; align-items: center; gap: 24px; font-size: .82rem; }
.footer-geo { margin: 6px 0 0; font-size: .78rem; color: var(--muted); }
.footer-links { display: flex; flex-wrap: wrap; gap: 18px; }

.reveal { will-change: transform, opacity; }

/* Oculta controles injetados pelo SWCore (lightbox, day, tooltip) que não possuem CSS nesta landing page */
.sw-lightbox-ovl, .sw-day-fab, .sw-tooltip {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Animação suave e bidirecional de entrada e reanimação para títulos e seções */
.sw-reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.75s cubic-bezier(0.16, 1, 0.3, 1), transform 0.75s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: transform, opacity;
}
.sw-reveal.is-in-view {
  opacity: 1;
  transform: translateY(0);
}

/* Levitação sutil do painel no hero */
@keyframes heroStageFloat {
  0%, 100% { transform: rotate(1.2deg) translateY(0); }
  50% { transform: rotate(1.2deg) translateY(-8px); }
}
.visual-frame-hero {
  animation: heroStageFloat 6s ease-in-out infinite;
  will-change: transform;
}
@keyframes badgeFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-5px); }
}
.float-card {
  animation: badgeFloat 4.8s ease-in-out infinite 1s;
  will-change: transform;
}

/* AcheMe */
.theme-acheme { --brand:#ef8a35; --brand-2:#c94f88; --accent:#18b980; --page-bg:#fffaf6; --surface-soft:#f9f0ea; }
.theme-acheme .hero::after { content:""; position:absolute; left:-120px; bottom:-200px; width:420px; height:420px; border-radius:50%; background:radial-gradient(circle,rgba(239,138,53,.14),transparent 70%); }

/* SWSIS — painel tecnológico noturno */
.theme-swsis {
  --brand:#6f91ff;
  --brand-2:#a9bcff;
  --accent:#8fa8ff;
  --marca-clara:#dfe6ff;
  --page-bg:#070b13;
  --surface:#101722;
  --surface-soft:#0b111b;
  --ink:#f5f8fd;
  --muted:#96a6ba;
  --line:rgba(158,190,225,.14);
  --shadow:0 30px 90px rgba(0,0,0,.46);
  color-scheme:dark;
}
.theme-swsis .site-header { background:rgba(7,11,19,.8); }
.theme-swsis .site-header.is-scrolled { box-shadow:0 16px 45px rgba(0,0,0,.3); }
.theme-swsis .nav-links { color:#c1cede; }
.theme-swsis .hero { background:radial-gradient(circle at 78% 24%,color-mix(in srgb,var(--brand) 16%,transparent),transparent 35%),linear-gradient(180deg,#070b13,#09111d); }
.theme-swsis .eyebrow { color:var(--brand); border-color:color-mix(in srgb,var(--brand) 26%,transparent); background:color-mix(in srgb,var(--brand) 8%,transparent); }
.theme-swsis .float-card { color:#dce8f4; border-color:rgba(255,255,255,.13); background:rgba(12,21,33,.9); box-shadow:0 20px 55px rgba(0,0,0,.45); }
.theme-swsis .card-icon { background:color-mix(in srgb,var(--brand) 10%,transparent); border:1px solid color-mix(in srgb,var(--brand) 20%,transparent); color:var(--brand); }
.card-icon svg { width:24px; height:24px; stroke:currentColor; }

/* Preços com destaque mensal e confiança */
.price-monthly { margin:8px 0 2px; color:var(--accent); font-size:.95rem; font-weight:600; }
.price-monthly strong { font-size:1.05rem; font-weight:850; color:color-mix(in srgb,var(--accent) 70%,white); white-space:nowrap; }
.pricing-trust { display:flex; flex-wrap:wrap; justify-content:center; gap:14px 26px; margin-top:34px; color:var(--muted); font-size:.86rem; font-weight:650; }
.pricing-trust span { display:inline-flex; align-items:center; gap:7px; }
.pricing-trust span::before { content:"✓"; color:var(--accent); font-weight:900; }

/* Botão Flutuante de WhatsApp */
.whatsapp-float {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 999;
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #25d366;
  color: #ffffff;
  box-shadow: 0 10px 28px rgba(37,211,102,.45), 0 4px 14px rgba(0,0,0,.35);
  transition: transform .25s ease, box-shadow .25s ease;
  text-decoration: none;
}
.whatsapp-float::before {
  content: "";
  position: absolute;
  inset: -3px;
  border-radius: 50%;
  background: rgba(37,211,102,.45);
  z-index: -1;
  animation: whatsappSonar 2.6s cubic-bezier(0.16, 1, 0.3, 1) infinite;
  pointer-events: none;
}
@keyframes whatsappSonar {
  0% { transform: scale(0.95); opacity: 0.85; }
  100% { transform: scale(1.48); opacity: 0; }
}
.whatsapp-float:hover {
  transform: translateY(-4px) scale(1.08);
  box-shadow: 0 16px 36px rgba(37,211,102,.6), 0 6px 18px rgba(0,0,0,.4);
  color: #ffffff;
}
.whatsapp-float svg { width: 32px; height: 32px; fill: currentColor; }
@media (max-width: 640px) {
  .whatsapp-float { right: 16px; bottom: 16px; width: 50px; height: 50px; }
  .whatsapp-float svg { width: 28px; height: 28px; }
}
.theme-swsis .signal-bar { background:#0a111b; }
.theme-swsis .section-dark { background:#05080e; }
.theme-swsis .compare-card.negative { background:#12171f; }
.theme-swsis .compare-card.positive { border-color:color-mix(in srgb,var(--brand) 34%,transparent); background:linear-gradient(145deg,#101926,color-mix(in srgb,var(--brand) 14%,#0b111b)); }
.theme-swsis .compare-label { color:#ff9b9b; background:rgba(226,74,74,.12); }
.theme-swsis .positive .compare-label { color:#73e9be; background:rgba(39,214,160,.1); }
.theme-swsis .card:hover { box-shadow:0 22px 60px rgba(0,0,0,.34),0 0 0 1px color-mix(in srgb,var(--brand) 8%,transparent); }
.theme-swsis .price-card.featured { background:linear-gradient(180deg,color-mix(in srgb,var(--brand) 16%,#101722),#101722); box-shadow:0 30px 90px rgba(0,0,0,.5),0 0 65px color-mix(in srgb,var(--brand) 10%,transparent); }
.theme-swsis .faq details { background:#0f1722; }
.theme-swsis .final-cta { background:radial-gradient(circle at 78% 0,rgba(111,145,255,.3),transparent 35%),linear-gradient(125deg,#0d1640,#3355d6); }
/* botão e selo do PRODUTO no azul escuro (texto branco legível); nos nichos fica a cor do nicho */
.theme-swsis:not(.pagina-nicho) .btn-primary, .theme-swsis:not(.pagina-nicho) .popular { background:linear-gradient(135deg,#3355d6,#4a6af0); }
.theme-swsis .final-cta .btn { color:#07101c; background:#fff; }
.theme-swsis .site-footer { border-top:1px solid var(--line); background:#05080e; }
.dashboard { overflow:hidden; border:1px solid rgba(255,255,255,.6); border-radius:24px; background:#e9eef6; box-shadow:var(--shadow); transform:rotate(1.5deg); }
.dash-top { height:48px; display:flex; align-items:center; gap:8px; padding:0 16px; background:#fff; }
.dash-top i { width:8px; height:8px; border-radius:50%; background:#d0d7e4; }
.dash-body { min-height:390px; display:grid; grid-template-columns:62px 1fr; }
.dash-side { padding:18px 12px; background:#3355d6; }
.dash-side i { display:block; height:27px; margin-bottom:14px; border-radius:7px; background:rgba(255,255,255,.2); }
.dash-main { padding:25px; }
.dash-title { width:36%; height:16px; margin-bottom:22px; border-radius:6px; background:#243047; }
.dash-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:11px; }
.dash-stat { height:83px; padding:13px; border-radius:13px; background:#fff; }
.dash-stat::before,.dash-stat::after { content:""; display:block; height:8px; border-radius:8px; background:#dce3ee; }
.dash-stat::after { width:60%; height:17px; margin-top:14px; background:#3355d6; }
.dash-content { display:grid; grid-template-columns:1.35fr .65fr; gap:11px; margin-top:11px; }
.dash-chart,.dash-list { height:205px; border-radius:14px; background:#fff; }
.dash-chart { position:relative; overflow:hidden; background:linear-gradient(180deg,#fff 0 65%,#eef5ff); }
.dash-chart::after { content:""; position:absolute; inset:60px 25px 30px; border-bottom:4px solid #3355d6; transform:skewY(-8deg); box-shadow:42px -17px 0 -1px #3355d6,84px 10px 0 -1px #3355d6; }
.dash-list { padding:19px; }
.dash-list i { display:block; height:10px; margin-bottom:15px; border-radius:7px; background:#e0e6ef; }

.theme-swsis .dashboard { border-color:rgba(111,145,255,.24); background:#0b1421; box-shadow:0 35px 100px rgba(0,0,0,.58),0 0 75px rgba(111,145,255,.12); }
.theme-swsis .dash-top { background:#080e17; }
.theme-swsis .dash-top i { background:#32445d; }
.theme-swsis .dash-side { background:linear-gradient(180deg,#3355d6,#1f3590); }
.theme-swsis .dash-title { background:#758ba5; }
.theme-swsis .dash-stat,.theme-swsis .dash-chart,.theme-swsis .dash-list { background:#121d2b; }
.theme-swsis .dash-stat::before,.theme-swsis .dash-list i { background:#2a394c; }
.theme-swsis .dash-stat::after { background:#6f91ff; }
.theme-swsis .dash-chart { background:linear-gradient(180deg,#121d2b 0 65%,#131c3d); }
.theme-swsis .dash-chart::after { border-color:#6f91ff; box-shadow:42px -17px 0 -1px #6f91ff,84px 10px 0 -1px #6f91ff; }

/* Off-canvas Drawer Navigation */
.nav-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.75);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  z-index: 9998;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.35s ease;
}
.nav-backdrop.is-open {
  opacity: 1;
  pointer-events: auto;
}

.nav-drawer {
  display: none;
}

@media (max-width: 920px) {
  .nav-links-desktop {
    display: none !important;
  }

  .nav-drawer {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    width: min(320px, 86vw);
    height: 100vh;
    height: 100dvh;
    z-index: 10000;
    padding: 24px 22px 36px;
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
    background: #0d1522 !important;
    border-left: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow: -15px 0 60px rgba(0, 0, 0, 0.85);
    transform: translateX(100%);
    visibility: hidden;
    pointer-events: none;
    transition: transform 0.38s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.38s;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
  .nav-drawer.is-open {
    transform: translateX(0);
    visibility: visible;
    pointer-events: auto;
  }

  .nav-drawer-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 18px;
    margin-bottom: 14px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  }
  .nav-drawer-header .brand img {
    height: 24px;
    width: auto;
  }
  .nav-close {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.15);
    background: rgba(255, 255, 255, 0.08);
    color: #ffffff;
    font-size: 1.3rem;
    display: grid;
    place-items: center;
    cursor: pointer;
    transition: background 0.2s, transform 0.2s;
  }
  .nav-close:hover {
    background: rgba(255, 255, 255, 0.18);
    transform: scale(1.08);
  }

  .nav-drawer-links {
    display: flex;
    flex-direction: column;
    gap: 4px;
  }
  .nav-drawer-links a {
    padding: 14px 16px;
    border-radius: 12px;
    font-size: 1.05rem;
    font-weight: 700;
    color: #f1f5f9 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    transition: background 0.2s, color 0.2s, transform 0.2s;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .nav-drawer-links a::after {
    content: "→";
    opacity: 0.4;
    transform: translateX(-4px);
    transition: opacity 0.2s, transform 0.2s;
    color: var(--brand-2);
    font-size: 1.15rem;
  }
  .nav-drawer-links a:hover, .nav-drawer-links a:active {
    background: color-mix(in srgb,var(--brand) 12%,transparent);
    color: var(--brand) !important;
    transform: translateX(4px);
  }
  .nav-drawer-links a:hover::after, .nav-drawer-links a:active::after {
    opacity: 1;
    transform: translateX(0);
  }

  .nav-drawer-footer {
    margin-top: auto;
    padding-top: 24px;
  }
  .nav-drawer-footer .btn {
    width: 100%;
    min-height: 52px;
  }

  .menu-toggle { display:grid; place-items:center; cursor: pointer; }
  .hero-grid,.showcase { grid-template-columns:1fr; }
  .showcase-visual { min-height:0; aspect-ratio:3/2; }
  .showcase-visual img { height:auto; }
  .hero { padding-top:55px; }
  .hero-grid { gap:45px; }
  .product-stage { min-height:390px; max-width:650px; width:100%; margin:auto; }
  .visual-frame-hero { width:min(100%,600px); }
  .cards,.pricing,.segment-grid { grid-template-columns:repeat(2,1fr); }
  .segment-fit { grid-template-columns:1fr; }
  .price-card.featured { transform:none; }
}

@media (max-width: 640px) {
  .container { width:min(calc(100% - 48px),var(--container)); }
  .nav { min-height:66px; }
  .brand small { display:none; }
  .brand-official img { width:160px; }
  .hero { padding:42px 0; }
  h1 { font-size:clamp(2.35rem,12vw,3.5rem); }
  .hero-actions .btn { width:100%; }
  .trust-row { display:grid; grid-template-columns:1fr 1fr; }
  .product-stage { min-height:300px; padding-right:22px; }
  .wide-visual { border-radius:17px; }
  .wide-visual img { height:260px; }
  .wide-visual-segments img { height:210px; }
  .phone { width:103px; right:0; }
  .float-card { left:4px; bottom:-10px; }
  .signals { grid-template-columns:1fr 1fr; }
  .signal { justify-content:flex-start; }
  .section { padding:72px 0; }
  .section-heading { margin-bottom:34px; }
  .compare,.cards,.steps,.pricing,.segment-grid { grid-template-columns:1fr; }
  .cards { gap:12px; }
  .step::before { margin-bottom:26px; }
  .final-cta { padding:30px 23px; }
  .final-cta-grid,.footer-row { align-items:flex-start; flex-direction:column; }
  .final-cta .btn { width:100%; }
  .dash-body { min-height:280px; grid-template-columns:46px 1fr; }
  .dash-main { padding:15px; }
  .dash-stats { grid-template-columns:1fr 1fr; }
  .dash-stat:last-child { display:none; }
  .dash-content { grid-template-columns:1fr; }
  .dash-list { display:none; }
  .dash-chart { height:145px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
  .reveal { opacity:1; transform:none; }
}

/* ── familia.css ── */
/* Páginas por família do SWSIS (vendas/<familia>/) — S4.2, 28/09/2026.
   Carrega depois de sales.css. Noite = .theme-swsis (padrão, mesma cara da página principal).
   Dia = .tema-dia (usa o :root claro do sales.css + os ajustes abaixo). */
.nav-acoes { display:flex; align-items:center; gap:10px; }
.tema-toggle { width:46px; height:46px; display:grid; place-items:center; border:1px solid var(--line); border-radius:13px; background:var(--surface); color:var(--ink); font-size:1.15rem; cursor:pointer; }
.tema-toggle:hover { border-color:color-mix(in srgb,var(--brand) 40%,transparent); }
.tema-sol { display:none; }
.tema-dia .tema-sol { display:inline; }
.tema-dia .tema-lua { display:none; }

.familia-nichos { margin:22px 0 0; color:var(--muted); font-size:.9rem; }
.familia-nichos strong { color:var(--ink); }

.demo-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.demo-card { display:flex; flex-direction:column; gap:12px; padding:22px; border:1px solid var(--line); border-radius:18px; background:var(--surface); }
.demo-card h3 { font-size:1.08rem; letter-spacing:-.02em; }
.demo-login { margin:0; flex:1; color:var(--muted); font-size:.86rem; line-height:1.7; }
.demo-login code { padding:2px 7px; border-radius:6px; background:var(--surface-soft); color:var(--ink); font-size:.84rem; word-break:break-all; }
.demo-card .btn { width:100%; }

.outras-familias { display:flex; flex-wrap:wrap; gap:8px 16px; margin-top:26px; padding-top:20px; border-top:1px solid rgba(255,255,255,.2); font-size:.88rem; }
.outras-familias span { color:rgba(255,255,255,.72); }
.outras-familias a { color:#fff; text-decoration:underline; text-underline-offset:3px; }

/* Dia */
.tema-dia { color-scheme:light; }
.tema-dia .eyebrow { background:color-mix(in srgb,var(--brand) 7%,white); }
.tema-dia .gradient-text { background-image:linear-gradient(120deg,#3355d6,#6f91ff,#2443b8,#3355d6); }
.tema-dia .price-monthly { color:var(--marca-escura); }
.tema-dia .price-monthly strong { color:var(--marca-escura); }
.tema-dia .trust-row span::before, .tema-dia .check-list li::before { color:var(--marca-escura); }
.tema-dia .positive .check-list li::before, .tema-dia .price-card .check-list li::before, .tema-dia .pricing-trust span::before { color:var(--marca-escura); }
.tema-dia .float-card { color:var(--ink); }
.tema-dia .brand-sanweb img { filter:brightness(.3); }
.tema-dia .site-footer { border-top:1px solid var(--line); }

@media (max-width: 920px) {
  .demo-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 640px) {
  .demo-grid { grid-template-columns:1fr; }
  .nav-acoes { gap:8px; }
  .tema-toggle { width:44px; height:44px; }
}

.tema-dia .brand-official img { content:url(marca/swsis-logo-dia.webp); }
.tema-dia .nav-drawer .brand-official img { content:url(marca/swsis-logo-noite.webp); }

/* ── nicho.css ── */

/* ── cor do nicho em tudo que era azul fixo do tema ── */
.pagina-nicho { --accent:var(--brand-2); --marca-escura:var(--nicho); --marca-clara:var(--brand-2); }
.pagina-nicho .eyebrow { color:var(--brand); border-color:color-mix(in srgb,var(--brand) 35%,transparent); background:color-mix(in srgb,var(--brand) 10%,transparent); }
.pagina-nicho .eyebrow-dot { background:var(--brand); box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 22%,transparent); }
.pagina-nicho .gradient-text { background-image:linear-gradient(120deg,var(--brand),var(--brand-2),var(--brand)); }
.pagina-nicho .section-soft { background:color-mix(in srgb,var(--nicho) 6%,var(--surface-soft)); }
.pagina-nicho .final-cta { background:radial-gradient(circle at 80% 0,color-mix(in srgb,var(--brand-2) 45%,transparent),transparent 45%),linear-gradient(125deg,var(--nicho-escuro),var(--nicho) 55%,var(--brand)); }
.pagina-nicho .price-card.featured { border-color:var(--brand); box-shadow:0 24px 60px color-mix(in srgb,var(--brand) 22%,transparent); }
.pagina-nicho .popular { background:linear-gradient(135deg,var(--brand),var(--brand-2)); color:#fff; }
.pagina-nicho .whatsapp-float { z-index:40; }

/* ── TOPO: foto do ramo + sistema no notebook e no celular ── */
.hero-nicho { position:relative; overflow:hidden; isolation:isolate; min-height:min(92vh,860px); display:flex; flex-direction:column; justify-content:center; padding:96px 0 40px; color:#fff; background:var(--nicho-escuro); }
.hero-foto { position:absolute; inset:-6% 0 0; z-index:-2; }
.hero-foto img { width:100%; height:100%; object-fit:cover; object-position:70% center; animation:fotoRespira 22s ease-in-out infinite alternate; will-change:transform; }
.hero-veu { position:absolute; inset:0; z-index:-1;
  background:
    linear-gradient(98deg,var(--nicho-escuro) 8%,color-mix(in srgb,var(--nicho-escuro) 88%,transparent) 40%,color-mix(in srgb,var(--nicho-escuro) 35%,transparent) 72%,transparent),
    linear-gradient(0deg,var(--page-bg),transparent 22%),
    radial-gradient(circle at 20% 90%,color-mix(in srgb,var(--brand) 30%,transparent),transparent 45%); }
.hero-nicho-grid { display:grid; grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr); gap:48px; align-items:center; }
.hero-nicho .eyebrow { color:#fff; border-color:rgba(255,255,255,.28); background:rgba(255,255,255,.1); backdrop-filter:blur(8px); }
.hero-nicho .eyebrow-dot { background:var(--brand-2); }
.hero-nicho h1 { color:#fff; font-size:clamp(2.4rem,5.4vw,4.1rem); text-shadow:0 4px 30px rgba(0,0,0,.35); }
.hero-nicho .hero-copy { max-width:560px; color:rgba(255,255,255,.86); font-size:1.12rem; }
.hero-nicho .hero-actions { margin-top:28px; }

/* título palavra por palavra */
.palavra { display:inline-block; overflow:hidden; vertical-align:bottom; padding-bottom:.08em; }
.palavra > span { display:inline-block; transform:translateY(110%); animation:palavraSobe .9s cubic-bezier(.16,1,.3,1) forwards; }
.titulo-palavras .gradient-text { background:none; }
.titulo-palavras .gradient-text .palavra > span { background:linear-gradient(120deg,var(--brand-2),#fff 140%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.titulo-palavras .palavra:nth-child(1) > span { animation-delay:.10s; }
.titulo-palavras .palavra:nth-child(2) > span { animation-delay:.17s; }
.titulo-palavras .palavra:nth-child(3) > span { animation-delay:.24s; }
.titulo-palavras .palavra:nth-child(4) > span { animation-delay:.31s; }
.titulo-palavras .palavra:nth-child(5) > span { animation-delay:.38s; }
.titulo-palavras .palavra:nth-child(6) > span { animation-delay:.45s; }
.titulo-palavras .palavra:nth-child(n+7) > span { animation-delay:.52s; }
.titulo-palavras .gradient-text .palavra > span { animation-delay:.6s; }
.titulo-palavras .gradient-text .palavra:nth-child(2) > span { animation-delay:.68s; }
.titulo-palavras .gradient-text .palavra:nth-child(3) > span { animation-delay:.76s; }
.titulo-palavras .gradient-text .palavra:nth-child(n+4) > span { animation-delay:.84s; }

.btn-vidro { color:#fff; border:1px solid rgba(255,255,255,.3); background:rgba(255,255,255,.08); backdrop-filter:blur(8px); }
.btn-vidro:hover { background:rgba(255,255,255,.16); }
.hero-selos { display:flex; flex-wrap:wrap; gap:10px; margin:26px 0 0; padding:0; list-style:none; }
.hero-selos li { padding:8px 14px; border:1px solid rgba(255,255,255,.2); border-radius:999px; background:rgba(0,0,0,.25); color:rgba(255,255,255,.9); font-size:.86rem; backdrop-filter:blur(6px); }
.hero-selos strong { color:var(--brand-2); }
.hero-demo { position:relative; margin-top:34px; color:rgba(255,255,255,.7); font-size:.86rem; }
.hero-demo code { padding:2px 8px; border-radius:6px; background:rgba(255,255,255,.12); color:#fff; }

/* aparelhos */
.aparelhos { position:relative; perspective:1600px; padding:10px 0 40px 40px; animation:entraDireita 1.1s cubic-bezier(.16,1,.3,1) .35s both; }
.notebook { transform:rotateY(-14deg) rotateX(5deg); transform-origin:left center; animation:flutua 7s ease-in-out infinite; }
.notebook-tela { padding:10px 10px 12px; border-radius:14px 14px 4px 4px; background:#0b0d12; box-shadow:0 0 0 1px rgba(255,255,255,.08),0 40px 90px rgba(0,0,0,.55),0 0 80px color-mix(in srgb,var(--brand) 25%,transparent); }
.notebook-tela img { display:block; width:100%; height:auto; border-radius:6px; }
.notebook-base { height:14px; margin:0 -5%; border-radius:0 0 16px 16px; background:linear-gradient(180deg,#3a3f4a,#15181e); box-shadow:0 18px 30px rgba(0,0,0,.45); }
.celular { position:absolute; left:0; bottom:0; width:28%; padding:7px; border-radius:26px; background:#0b0d12; box-shadow:0 0 0 1px rgba(255,255,255,.1),0 30px 60px rgba(0,0,0,.6); animation:flutua 6s ease-in-out -2s infinite; }
.celular img { display:block; width:100%; height:auto; border-radius:20px; }

/* ── como funciona: linha que enche com a rolagem ── */
.passos { position:relative; display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.passos-linha { position:absolute; top:43px; left:6%; right:6%; height:2px; background:var(--line); }
.passos-linha > span { display:block; height:100%; width:var(--enche,0%); background:linear-gradient(90deg,var(--brand),var(--brand-2)); box-shadow:0 0 12px var(--brand); transition:width .2s linear; }
.passo { position:relative; padding:24px; border:1px solid var(--line); border-radius:16px; background:var(--surface); transition:transform .3s,border-color .3s; }
.passo:hover { transform:translateY(-4px); border-color:color-mix(in srgb,var(--brand) 45%,transparent); }
.passo-num { position:relative; z-index:1; display:grid; place-items:center; width:40px; height:40px; margin-bottom:18px; border-radius:12px; background:linear-gradient(135deg,var(--brand),var(--brand-2)); color:#fff; font-weight:900; box-shadow:0 8px 22px color-mix(in srgb,var(--brand) 40%,transparent); }
.passo h3 { margin-bottom:8px; font-size:1.06rem; letter-spacing:-.02em; }
.passo p { margin:0; color:var(--muted); font-size:.92rem; line-height:1.6; }

/* ── o que tem ── */
.cards-nicho { grid-template-columns:repeat(4,1fr); }
.cards-nicho .card { position:relative; padding:22px 20px 20px; overflow:hidden; transition:transform .3s,border-color .3s,box-shadow .3s; }
.cards-nicho .card::after { content:""; position:absolute; inset:auto 0 0; height:3px; background:linear-gradient(90deg,var(--brand),var(--brand-2)); transform:scaleX(0); transform-origin:left; transition:transform .4s cubic-bezier(.16,1,.3,1); }
.cards-nicho .card:hover { transform:translateY(-4px); border-color:color-mix(in srgb,var(--brand) 40%,transparent); box-shadow:0 18px 40px color-mix(in srgb,var(--brand) 14%,transparent); }
.cards-nicho .card:hover::after { transform:scaleX(1); }
.card-marca { display:block; width:12px; height:12px; margin-bottom:14px; border-radius:3px; background:linear-gradient(135deg,var(--brand),var(--brand-2)); transform:rotate(45deg); }
.cards-nicho .card h3 { font-size:1rem; margin-bottom:6px; }
.cards-nicho .card p { font-size:.88rem; }
.nicho-extras { margin:22px 0 0; color:var(--muted); font-size:.9rem; }
.nicho-extras strong { color:var(--ink); }

/* ── por dentro: a tela deita e levanta com a rolagem ── */
.vitrine { overflow:hidden; }
.vitrine-palco { perspective:1400px; max-width:1100px; margin:10px auto 0; }
.vitrine-tela { padding:10px; border-radius:18px; background:#0b0d12; transform:rotateX(var(--giro,0deg)) scale(var(--escala,1)); transform-origin:center top; box-shadow:0 50px 100px rgba(0,0,0,.35),0 0 120px color-mix(in srgb,var(--brand) 22%,transparent); will-change:transform; }
.vitrine-tela img { display:block; width:100%; height:auto; border-radius:10px; }
.vitrine-acao { margin:34px 0 0; text-align:center; }

/* ── a diferença ── */
.difs { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.dif-card { padding:24px; border:1px solid var(--line); border-radius:16px; background:var(--surface); transition:transform .3s; }
.dif-card:hover { transform:translateY(-4px); }
.dif-card h3 { margin-bottom:8px; font-size:1.05rem; letter-spacing:-.02em; }
.dif-card p { margin:0; color:var(--muted); font-size:.92rem; line-height:1.6; }
.dif-ramo { border-color:color-mix(in srgb,var(--brand) 50%,transparent); background:linear-gradient(160deg,color-mix(in srgb,var(--brand) 12%,var(--surface)),var(--surface) 60%); }

/* ── quanto custa por dia ── */
.custos { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; max-width:900px; margin:0 auto; }
.custo-card { display:flex; flex-direction:column; align-items:center; gap:4px; padding:30px 20px; border:1px solid var(--line); border-radius:18px; background:var(--surface); text-align:center; transition:transform .3s,border-color .3s; }
.custo-card:hover { transform:translateY(-4px); border-color:var(--brand); }
.custo-plano { color:var(--muted); font-size:.85rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.custo-valor { background:linear-gradient(120deg,var(--brand),var(--brand-2)); -webkit-background-clip:text; background-clip:text; color:transparent; font-size:2.7rem; font-weight:900; letter-spacing:-.04em; line-height:1.1; font-variant-numeric:tabular-nums; }
.custo-legenda { color:var(--muted); font-size:.9rem; }
.custo-pessoa { margin-top:10px; padding:4px 12px; border-radius:999px; background:color-mix(in srgb,var(--brand) 14%,transparent); color:var(--ink); font-size:.82rem; font-weight:700; }

/* ── movimentos ── */
@keyframes palavraSobe { to { transform:translateY(0); } }
@keyframes fotoRespira { from { transform:scale(1.04); } to { transform:scale(1.14) translateX(-2%); } }
@keyframes flutua { 0%,100% { translate:0 0; } 50% { translate:0 -12px; } }
@keyframes entraDireita { from { opacity:0; transform:translateX(60px); } to { opacity:1; transform:none; } }

@media (prefers-reduced-motion: reduce) {
  .hero-foto img, .notebook, .celular, .aparelhos { animation:none; }
  .palavra > span { animation:none; transform:none; }
  .vitrine-tela { transform:none; }
}

@media (max-width: 1060px) {
  .hero-nicho-grid { grid-template-columns:1fr; gap:36px; }
  .aparelhos { max-width:640px; margin:0 auto; padding-left:30px; }
  .passos, .cards-nicho { grid-template-columns:repeat(2,1fr); }
  .passos-linha { display:none; }
  .difs { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 640px) {
  .hero-nicho { min-height:0; padding:84px 0 28px; }
  .hero-veu { background:linear-gradient(180deg,color-mix(in srgb,var(--nicho-escuro) 72%,transparent),var(--nicho-escuro) 70%),linear-gradient(0deg,var(--page-bg),transparent 12%); }
  .hero-nicho h1 { font-size:clamp(2.1rem,10vw,2.8rem); }
  .hero-nicho .hero-actions .btn { width:100%; }
  .aparelhos { padding:0 0 26px 18px; }
  .notebook { transform:none; }
  .celular { width:30%; border-radius:18px; padding:5px; }
  .celular img { border-radius:14px; }
  .passos, .cards-nicho, .difs, .custos { grid-template-columns:1fr; }
  .custo-valor { font-size:2.3rem; }
}

/* Faixa "Leve junto" (venda unificada, 02/10/2026) — só tokens: dia e noite */
.leve-junto-caixa { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:20px; padding:clamp(22px,4vw,36px); border:1px solid var(--line); border-radius:20px; background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 14%,var(--surface)),var(--surface)); }
.leve-junto-caixa h2 { margin:6px 0 8px; font-size:clamp(1.3rem,3vw,1.8rem); }
.leve-junto-caixa p { margin:0; color:var(--muted); max-width:620px; }
.leve-junto-acoes { display:flex; flex-wrap:wrap; gap:10px; }

/* ── nicho-cores.css ── */

body.pagina-nicho.nicho-salao, .cor-salao { --brand:#fe1b4c; --brand-2:#fe5a3e; --nicho:#a70125; --nicho-escuro:#2e000a; }
body.pagina-nicho.nicho-barbearia, .cor-barbearia { --brand:#e83171; --brand-2:#eb5251; --nicho:#840f38; --nicho-escuro:#290511; }
body.pagina-nicho.nicho-estetica, .cor-estetica { --brand:#e8305d; --brand-2:#ec6351; --nicho:#991132; --nicho-escuro:#29050d; }
body.pagina-nicho.nicho-manicure, .cor-manicure { --brand:#e9304a; --brand-2:#ec7250; --nicho:#700c1a; --nicho-escuro:#29040a; }
body.pagina-nicho.nicho-clinica, .cor-clinica { --brand:#35e4cc; --brand-2:#54c7e8; --nicho:#19b9a3; --nicho-escuro:#052824; }
body.pagina-nicho.nicho-consultorio, .cor-consultorio { --brand:#35e3bb; --brand-2:#55d5e8; --nicho:#149174; --nicho-escuro:#062820; }
body.pagina-nicho.nicho-dentista, .cor-dentista { --brand:#36e3c3; --brand-2:#55cde7; --nicho:#17a58b; --nicho-escuro:#062822; }
body.pagina-nicho.nicho-psicologo, .cor-psicologo { --brand:#35e3a3; --brand-2:#55e8e6; --nicho:#149163; --nicho-escuro:#06281c; }
body.pagina-nicho.nicho-nutricionista, .cor-nutricionista { --brand:#36e3ab; --brand-2:#55e2e7; --nicho:#17a577; --nicho-escuro:#06281d; }
body.pagina-nicho.nicho-fisioterapia, .cor-fisioterapia { --brand:#35e4b4; --brand-2:#54dbe8; --nicho:#19b98d; --nicho-escuro:#05281f; }
body.pagina-nicho.nicho-oftalmologia, .cor-oftalmologia { --brand:#33d0e5; --brand-2:#53a1e9; --nicho:#12808f; --nicho-escuro:#052429; }
body.pagina-nicho.nicho-laboratorio, .cor-laboratorio { --brand:#35e3d2; --brand-2:#55c1e8; --nicho:#149185; --nicho-escuro:#062825; }
body.pagina-nicho.nicho-veterinaria, .cor-veterinaria { --brand:#35e4e4; --brand-2:#54b3e8; --nicho:#19b9b9; --nicho-escuro:#052828; }
body.pagina-nicho.nicho-oficina, .cor-oficina { --brand:#f08129; --brand-2:#f2d14a; --nicho:#703608; --nicho-escuro:#2b1503; }
body.pagina-nicho.nicho-assistencia, .cor-assistencia { --brand:#ef9129; --brand-2:#f2de4b; --nicho:#864b0a; --nicho-escuro:#2b1803; }
body.pagina-nicho.nicho-lavajato, .cor-lavajato { --brand:#efa32a; --brand-2:#f1ed4b; --nicho:#9b640c; --nicho-escuro:#2b1b03; }
body.pagina-nicho.nicho-refrigeracao, .cor-refrigeracao { --brand:#f0b629; --brand-2:#e6f24a; --nicho:#705208; --nicho-escuro:#2b1f03; }
body.pagina-nicho.nicho-construtora, .cor-construtora { --brand:#efc729; --brand-2:#d7f24b; --nicho:#866d0a; --nicho-escuro:#2b2303; }
body.pagina-nicho.nicho-eletricista, .cor-eletricista { --brand:#4556d3; --brand-2:#7f62da; --nicho:#192053; --nicho-escuro:#0b0e23; }
body.pagina-nicho.nicho-prestador, .cor-prestador { --brand:#4545d3; --brand-2:#8d62da; --nicho:#191953; --nicho-escuro:#0b0b23; }
body.pagina-nicho.nicho-dedetizacao, .cor-dedetizacao { --brand:#4551d3; --brand-2:#8362da; --nicho:#1e2465; --nicho-escuro:#0b0d23; }
body.pagina-nicho.nicho-suporteti, .cor-suporteti { --brand:#454ad3; --brand-2:#8962da; --nicho:#232676; --nicho-escuro:#0b0b23; }
body.pagina-nicho.nicho-fotografo, .cor-fotografo { --brand:#4d45d3; --brand-2:#9462da; --nicho:#221e65; --nicho-escuro:#0c0b23; }
body.pagina-nicho.nicho-imobiliaria, .cor-imobiliaria { --brand:#5545d3; --brand-2:#9a62da; --nicho:#2c2376; --nicho-escuro:#0d0b23; }
body.pagina-nicho.nicho-coworking, .cor-coworking { --brand:#5b45d3; --brand-2:#a062da; --nicho:#221953; --nicho-escuro:#0e0b23; }
body.pagina-nicho.nicho-transporte, .cor-transporte { --brand:#6145d3; --brand-2:#a562da; --nicho:#2c1e65; --nicho-escuro:#0f0b23; }
body.pagina-nicho.nicho-condominio, .cor-condominio { --brand:#6945d3; --brand-2:#ac62da; --nicho:#382376; --nicho-escuro:#110b23; }
body.pagina-nicho.nicho-igreja, .cor-igreja { --brand:#6f45d3; --brand-2:#b062da; --nicho:#2a1953; --nicho-escuro:#120b23; }
body.pagina-nicho.nicho-otica, .cor-otica { --brand:#29dbf0; --brand-2:#4aa4f2; --nicho:#09727e; --nicho-escuro:#03272b; }
body.pagina-nicho.nicho-petshop, .cor-petshop { --brand:#29c7f0; --brand-2:#4a93f2; --nicho:#09667e; --nicho-escuro:#03232b; }
body.pagina-nicho.nicho-representante, .cor-representante { --brand:#29c1ef; --brand-2:#4b8ef2; --nicho:#0b7393; --nicho-escuro:#03212b; }
body.pagina-nicho.nicho-locacao, .cor-locacao { --brand:#2abbef; --brand-2:#4b89f1; --nicho:#0d7fa8; --nicho-escuro:#03202b; }
body.pagina-nicho.nicho-assinatura, .cor-assinatura { --brand:#2aa6ef; --brand-2:#4b78f1; --nicho:#0d6fa8; --nicho-escuro:#031c2b; }
body.pagina-nicho.nicho-academia, .cor-academia { --brand:#a945d3; --brand-2:#da62d3; --nicho:#932fbe; --nicho-escuro:#1c0925; }
body.pagina-nicho.nicho-personal, .cor-personal { --brand:#36e3dc; --brand-2:#55b9e7; --nicho:#17a59f; --nicho-escuro:#062827; }
body.pagina-nicho.nicho-escola, .cor-escola { --brand:#8345d3; --brand-2:#c262da; --nicho:#582699; --nicho-escuro:#150925; }
body.pagina-nicho.nicho-idiomas, .cor-idiomas { --brand:#9645d3; --brand-2:#d262da; --nicho:#742bab; --nicho-escuro:#190925; }
body.pagina-nicho.nicho-contabilidade, .cor-contabilidade { --brand:#4596d3; --brand-2:#627bda; --nicho:#162632; --nicho-escuro:#0b1922; }
body.pagina-nicho.nicho-advocacia, .cor-advocacia { --brand:#4589d3; --brand-2:#6270da; --nicho:#1c2e42; --nicho-escuro:#0b1622; }
body.pagina-nicho.nicho-agencia, .cor-agencia { --brand:#4579d3; --brand-2:#6262da; --nicho:#233452; --nicho-escuro:#0b1422; }
body.pagina-nicho.nicho-seguros, .cor-seguros { --brand:#4564d3; --brand-2:#7462da; --nicho:#161c32; --nicho-escuro:#0b1022; }
body.pagina-nicho.nicho-grafica, .cor-grafica { --brand:#d841d8; --brand-2:#de5eb0; --nicho:#661566; --nicho-escuro:#260826; }
body.pagina-nicho.nicho-marcenaria, .cor-marcenaria { --brand:#d841bb; --brand-2:#de5e98; --nicho:#791967; --nicho-escuro:#260820; }
body.pagina-nicho.nicho-restaurante, .cor-restaurante { --brand:#ed4c2c; --brand-2:#efa34d; --nicho:#89210c; --nicho-escuro:#2a0a04; }
body.pagina-nicho.nicho-hotel, .cor-hotel { --brand:#45d382; --brand-2:#62dac1; --nicho:#165c34; --nicho-escuro:#092515; }

/* ── tchan.css ── */

:root { --swsis-noite:#6f91ff; --swsis-dia:#3355d6; --acheme-noite:#ff8a34; --acheme-dia:#e0620b; --sanweb-ouro:#d6a93c;
        --tchan-solido:#3355d6; --radius:12px; }
.pagina-nicho { --tchan-solido:color-mix(in srgb,var(--brand) 84%,#000); }

/* ── 1. textura de papel (bem leve) por cima de tudo, sem pegar clique ── */
body::after { content:""; position:fixed; inset:0; z-index:9990; pointer-events:none; opacity:.07; mix-blend-mode:soft-light;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
.tema-dia::after { opacity:.1; mix-blend-mode:multiply; }

/* ── 2. destaque do título: cor sólida + marca-texto inclinado (no lugar do degradê que brilhava) ── */
body .gradient-text, body .pagina-nicho .gradient-text, body.pagina-nicho .gradient-text {
  animation:none; color:var(--brand); -webkit-text-fill-color:currentColor;
  background:linear-gradient(176deg,transparent 58%,var(--tchan-traco,color-mix(in srgb,var(--brand) 24%,transparent)) 58% 90%,transparent 90%) !important;
  -webkit-background-clip:border-box; background-clip:border-box; -webkit-box-decoration-break:clone; box-decoration-break:clone; padding:0 .06em; }
.tema-dia .gradient-text, .tema-dia.pagina-nicho .gradient-text { color:var(--marca-escura,#2443b8); }
/* títulos que entram palavra por palavra (topo das páginas, sempre sobre fundo escuro) */
body .titulo-palavras .gradient-text .palavra > span,
body .hero-geral .titulo-palavras .gradient-text .palavra > span { background:none; -webkit-background-clip:border-box; background-clip:border-box; color:var(--brand-2); -webkit-text-fill-color:currentColor; }
body .hero-geral .titulo-palavras .gradient-text .palavra > span { color:#9fb4ff; }
body .titulo-palavras .gradient-text { --tchan-traco:color-mix(in srgb,var(--brand) 40%,transparent); color:var(--brand-2); }
body .hero-geral .titulo-palavras .gradient-text { --tchan-traco:rgba(51,85,214,.55); }

/* ── 3. sobretítulo editorial: fio + caixa-alta espaçada (sem pílula, sem bolinha) ── */
body .eyebrow { gap:12px; padding:0; border:0; border-radius:0; background:none !important; backdrop-filter:none; font-size:.74rem; letter-spacing:.18em; }
body .eyebrow::before { content:""; flex:none; width:34px; height:2px; background:currentColor; }
body .section-heading.center .eyebrow::after { content:""; flex:none; width:34px; height:2px; background:currentColor; }
body .eyebrow-dot { display:none; }

/* ── 4. botão principal sólido (sem degradê), com sombra dura discreta ── */
body .btn-primary, body.theme-swsis:not(.pagina-nicho) .btn-primary { color:#fff; background:var(--tchan-solido); box-shadow:0 4px 0 color-mix(in srgb,var(--tchan-solido) 55%,#000),0 14px 30px color-mix(in srgb,var(--tchan-solido) 30%,transparent); }
body .btn-primary:hover { box-shadow:0 7px 0 color-mix(in srgb,var(--tchan-solido) 55%,#000),0 18px 36px color-mix(in srgb,var(--tchan-solido) 38%,transparent); }
body .btn-primary:active { box-shadow:0 1px 0 color-mix(in srgb,var(--tchan-solido) 55%,#000); }
body .btn, body .btn-lg { border-radius:10px; }

/* ── 5. número gigante, vazado, cortado pela borda e virado — um por seção ── */
main { counter-reset:secao; overflow-x:clip; }
.section:has(> .container > .section-heading) { position:relative; overflow:clip; counter-increment:secao; }
.section:has(> .container > .section-heading)::before {
  content:counter(secao,decimal-leading-zero); position:absolute; top:-.16em; right:-.04em; z-index:0;
  font-size:clamp(8rem,21vw,19rem); font-weight:900; line-height:1; letter-spacing:-.07em; font-variant-numeric:tabular-nums;
  color:transparent; -webkit-text-stroke:2px color-mix(in srgb,var(--brand) 24%,transparent);
  transform:rotate(-8deg); transform-origin:center; pointer-events:none; user-select:none; }
.section:has(> .container > .section-heading):nth-of-type(odd)::before { right:auto; left:-.04em; transform:rotate(7deg); }
.section > .container { position:relative; z-index:1; }

/* ── 6. faixa inclinada (todos os ramos na página geral · as partes do sistema na página do nicho) ── */
body .faixa, .faixa-nicho { position:relative; z-index:3; width:104vw; margin:-26px 0 0 -2vw; padding:15px 0; overflow:hidden;
  border:0; background:var(--tchan-solido); transform:rotate(-2deg); box-shadow:0 18px 40px rgba(0,0,0,.32); }
body .faixa .faixa-trilho, .faixa-nicho .faixa-trilho { display:flex; gap:22px; width:max-content; animation:tchanFaixa 80s linear infinite; }
body .faixa .faixa-item, .faixa-nicho .faixa-item { display:inline-flex; align-items:center; gap:10px; padding:0; border:0; border-radius:0;
  color:#fff; font-size:.95rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; white-space:nowrap; }
body .faixa .faixa-item::after, .faixa-nicho .faixa-item::after { content:"/"; margin-left:12px; color:rgba(255,255,255,.45); font-weight:400; }
body .faixa .faixa-item i { width:9px; height:9px; border-radius:2px; transform:rotate(45deg); background:var(--brand); box-shadow:0 0 0 2px #fff; }
.faixa-nicho + .section { padding-top:120px; }
@keyframes tchanFaixa { from { transform:translateX(0); } to { transform:translateX(-50%); } }

/* ── 7. topo da página geral: "45" gigante vazado atrás do título ── */
.hero-numero { position:absolute; left:-.06em; bottom:-.2em; z-index:-1; font-size:clamp(14rem,36vw,32rem); font-weight:900; line-height:.8;
  letter-spacing:-.08em; color:transparent; -webkit-text-stroke:2px rgba(111,145,255,.5); transform:rotate(-9deg); pointer-events:none; user-select:none; }

/* ── 8. "como funciona": sem caixinha — número gigante vazado em cima de um fio que enche ── */
body .passo { padding:26px 4px 0; border:0; border-top:2px solid var(--line); border-radius:0; background:none; }
body .passo:hover { transform:none; }
body .passo-num { display:block; width:auto; height:auto; margin:0 0 10px; border-radius:0; background:none; box-shadow:none;
  color:transparent; -webkit-text-stroke:1.6px var(--brand); font-size:clamp(3.6rem,6vw,5.2rem); font-weight:900; line-height:.9; letter-spacing:-.06em;
  transition:color .35s, transform .35s cubic-bezier(.16,1,.3,1); transform-origin:left bottom; }
body .passo:hover .passo-num { color:var(--brand); transform:rotate(-6deg); }
body .passo h3 { font-size:1.12rem; }
body .passos-linha { top:-1px; left:0; right:0; height:2px; background:transparent; }

/* ── 9. "o que tem": índice numerado com fio (no lugar da grade de cartões iguais com ícone) ── */
body .cards { counter-reset:item; gap:0 34px; }
body .cards .card { position:relative; min-height:0; padding:20px 4px 22px 54px; border:0; border-top:1px solid var(--line); border-radius:0; background:none; box-shadow:none; counter-increment:item; }
body .cards .card::before { content:counter(item,decimal-leading-zero); position:absolute; left:2px; top:21px; color:var(--brand); font:800 .95rem/1 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.02em; }
body .cards .card:hover { transform:none; box-shadow:none; border-color:var(--brand); }
body .cards .card:hover::before { color:var(--ink); }
body .card-icon, body .card-marca { display:none; }
body .cards .card h3 { margin-bottom:6px; }
body .cards-nicho { grid-template-columns:repeat(3,1fr); }

/* ── 10. a diferença: fio lateral, leitura de revista ── */
body .dif-card { padding:4px 0 4px 20px; border:0; border-left:3px solid var(--line); border-radius:0; background:none; }
body .dif-card:hover { transform:none; border-left-color:var(--brand); }
body .dif-card.dif-ramo { border-left-color:var(--brand); background:none; }
body .dif-card h3 { font-size:1.14rem; }
body .difs { gap:30px 34px; }

/* ── 11. antes e depois: o "hoje" é papel torto; o "com o SWSIS" sobe com sombra dura ── */
body .compare-card { border-radius:var(--radius); }
body .compare-card.negative { transform:rotate(-1.2deg); }
body .compare-card.negative h3 { text-decoration:line-through; text-decoration-color:color-mix(in srgb,var(--danger) 70%,transparent); text-decoration-thickness:2px; }
body .compare-card.positive { transform:rotate(.7deg) translateY(-6px); box-shadow:10px 10px 0 color-mix(in srgb,var(--brand) 28%,transparent); }

/* ── 12. quanto custa por dia: número de jornal, grande e virado ── */
body .custos { gap:0; max-width:1000px; }
body .custo-card { padding:12px 18px; border:0; border-left:1px solid var(--line); border-radius:0; background:none; }
body .custo-card:first-child { border-left:0; }
body .custo-card:hover { transform:none; }
body .custo-valor { display:inline-block; margin:6px 0 2px; background:none; color:var(--brand); -webkit-text-fill-color:currentColor;
  font-size:clamp(3rem,5.4vw,4.4rem); letter-spacing:-.05em; transform:rotate(-4deg);
  text-shadow:5px 5px 0 color-mix(in srgb,var(--brand) 22%,transparent); }
.tema-dia .custo-valor { color:var(--marca-escura,#2443b8); }

/* ── 13. planos: o "mais escolhido" vira carimbo ── */
body .price-card { border-radius:var(--radius); }
body .popular { top:-16px; right:16px; padding:7px 12px; border-radius:4px; color:#fff; background:var(--tchan-solido) !important; transform:rotate(-6deg); box-shadow:3px 3px 0 rgba(0,0,0,.35); letter-spacing:.12em; }

/* ── 14. chamada final: cor sólida, riscado fino e um "?" gigante vazado ── */
body .final-cta, body .pagina-nicho .final-cta, body.theme-swsis .final-cta { position:relative; overflow:hidden; isolation:isolate; border-radius:12px;
  background:repeating-linear-gradient(-45deg,rgba(255,255,255,.055) 0 2px,transparent 2px 15px),var(--tchan-solido); }
body .final-cta::after { content:"?"; position:absolute; right:3%; top:-.28em; z-index:-1; font-size:clamp(12rem,24vw,20rem); font-weight:900; line-height:1;
  color:transparent; -webkit-text-stroke:3px rgba(255,255,255,.4); transform:rotate(14deg); pointer-events:none; }
body .final-cta .btn { border-radius:10px; box-shadow:0 4px 0 rgba(0,0,0,.28); }

/* cantos discretos no resto */
body .faq details, body .area-item, body .demo-card, body .ramo-card, body .busca-ramo input { border-radius:12px; }
body .faq details[open] { border-color:color-mix(in srgb,var(--brand) 40%,transparent); }

/* ── 15. página geral: telas reais em moldura de janela, sobre a foto do ramo (mockup com cenário) ── */
body .tela-cor { position:relative; display:block; overflow:hidden; aspect-ratio:4/3; padding:0; border-radius:12px; background:var(--nicho-escuro); }
body .tela-cor:hover { transform:translateY(-6px); }
.tela-cenario { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:brightness(.5) saturate(1.15); transition:transform .8s cubic-bezier(.16,1,.3,1); }
body .tela-cor:hover .tela-cenario { transform:scale(1.07); }
body .tela-cor .tela-janela { position:absolute; left:11%; right:9%; bottom:-7%; top:auto; padding:18px 6px 6px; border-radius:8px 8px 0 0; background:#0b0d12;
  box-shadow:0 30px 60px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.08); transform:rotate(-4deg); color:inherit; font-size:0; }
body .tela-cor .tela-janela::before { content:""; position:absolute; left:10px; top:7px; width:34px; height:6px;
  background:radial-gradient(circle,#ff5f57 2.6px,transparent 3px) 0 0/12px 6px repeat-x; opacity:.9; }
body .tela-cor .tela-janela img { display:block; width:100%; height:auto; border-radius:4px; }
body .tela-cor .tela-nome { position:absolute; left:16px; top:14px; bottom:auto; z-index:2; padding:0; border-radius:0; background:none; color:#fff;
  font-size:1.05rem; font-weight:800; letter-spacing:-.01em; text-shadow:0 2px 14px rgba(0,0,0,.6); }
body .tela-cor .tela-nome::before { content:""; display:block; width:26px; height:3px; margin-bottom:8px; background:var(--brand); }

/* ── 16. "Leve junto" (combo): quando fala do AcheMe, usa a marca e a cor do AcheMe ── */
.leve-junto-caixa { --acheme:var(--acheme-noite); border-left:4px solid var(--acheme) !important; border-radius:var(--radius) !important;
  background:linear-gradient(135deg,color-mix(in srgb,var(--acheme) 12%,var(--surface)),var(--surface) 60%) !important; }
.tema-dia .leve-junto-caixa { --acheme:var(--acheme-dia); }
.leve-junto-marcas { display:flex; flex-wrap:wrap; align-items:center; gap:10px 14px; margin:0 0 12px; }
.leve-junto-marcas img { display:block; width:auto; height:22px; }
.leve-junto-marcas span { color:var(--muted); font-weight:800; }
.tema-dia .leve-junto-marcas .logo-acheme { content:url(marca/acheme-logo-dia.webp); }
.tema-dia .leve-junto-marcas .logo-swsis { content:url(marca/swsis-logo-dia.webp); }
body .leve-junto-caixa .btn-primary { --tchan-solido:var(--acheme); color:#1b0c00; }
.tema-dia .leve-junto-caixa .btn-primary { color:#fff; }

/* ── 17. rodapé: logo oficial da SanWeb (branco à noite, chumbo de dia) ── */
body .brand-sanweb img { width:118px; filter:none; }
.tema-dia .brand-sanweb img { content:url(marca/sanweb-logo-dia.webp); filter:none; }

/* ── 18. vendedor e cartilhas ── */
.aviso-cartilha-unica { display:block; padding:11px 16px; background:var(--sanweb-ouro); color:#1a1405; font-weight:700; text-align:center; text-decoration:none; font-size:15px; line-height:1.35; }
.aviso-cartilha-unica b { text-decoration:underline; text-underline-offset:3px; }
body .vend-btn { grid-template-columns:auto 1fr; border-radius:12px; }
body .vend-btn b { grid-row:1 / 3; font-size:1.9rem; font-weight:900; line-height:1; color:transparent; -webkit-text-stroke:1.4px var(--brand); letter-spacing:-.05em; }
body .vend-btn:hover b { color:var(--brand); }
body .vend-btn-destaque { background:color-mix(in srgb,var(--brand) 14%,var(--surface)); }
.vend-marca { display:block; width:auto; height:22px; margin:0 0 12px; }
.vend-marcas { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; margin:0 0 12px; }
.vend-marcas .vend-marca { margin:0; }
.vend-marcas span { color:var(--muted); font-weight:800; }
.tema-dia .vend-marca-acheme { content:url(marca/acheme-logo-dia.webp); }
.tema-dia .vend-marca-swsis { content:url(marca/swsis-logo-dia.webp); }
.vend-painel-site { --brand:var(--acheme-noite); border-left:4px solid var(--acheme-noite) !important; }
.tema-dia .vend-painel-site { --brand:var(--acheme-dia); border-left-color:var(--acheme-dia) !important; }
.vend-painel-sistema { border-left:4px solid var(--brand) !important; }
.vend-painel-combo { border-left:4px solid var(--acheme-noite) !important; border-image:linear-gradient(180deg,var(--acheme-noite) 50%,var(--brand) 50%) 1 !important; }
.tema-dia .vend-painel-combo { border-image:linear-gradient(180deg,var(--acheme-dia) 50%,var(--brand) 50%) 1 !important; }
#aba-site:checked ~ .vend-abas__lista [for="aba-site"] { border-color:var(--acheme-noite); background:var(--acheme-noite); color:#1b0c00; }
.tema-dia #aba-site:checked ~ .vend-abas__lista [for="aba-site"] { border-color:var(--acheme-dia); background:var(--acheme-dia); color:#fff; }
#aba-sistema:checked ~ .vend-abas__lista [for="aba-sistema"], #aba-combo:checked ~ .vend-abas__lista [for="aba-combo"],
.cartilha-trilhas a[aria-current] { background:var(--tchan-solido); border-color:var(--tchan-solido); color:#fff; }
.vend-extra { margin:14px 0; padding:12px 16px; border:1px dashed var(--line); border-radius:10px; font-size:.95rem; line-height:1.5; }
.vend-extra b { color:var(--brand); }
body .cartilha-indice b, body .cartilha-parte h2 b, body .resumo-passos li::before { border-radius:6px; background:var(--tchan-solido); }
body .cartilha-resumo, body .vend-painel, body .cartilha-video { border-radius:12px; }

/* cartilha do AcheMe (só o site): marca e cor do AcheMe */
.cartilha-acheme { --brand:var(--acheme-noite); --brand-2:#ffb27a; --accent:var(--acheme-noite); --tchan-solido:var(--acheme-dia); }
.tema-dia.cartilha-acheme { --brand:var(--acheme-dia); --marca-escura:#b84f08; }
.tema-dia.cartilha-acheme .brand-official img { content:url(marca/acheme-logo-dia.webp); }

/* ── 19. páginas por família: telas REAIS da demo no notebook e no celular (no lugar do painel desenhado) ── */
.familia-palco { display:block; min-height:0; }
.familia-palco .aparelhos { padding:10px 0 40px 40px; }
.familia-palco .float-card { left:auto; right:-8px; bottom:4px; }
.familia-palco .notebook-tela { box-shadow:0 0 0 1px rgba(255,255,255,.08),0 40px 90px rgba(0,0,0,.45),0 0 80px color-mix(in srgb,var(--brand) 22%,transparent); }

/* dia: números e sobretítulos no tom escuro da cor (amarelo/laranja do nicho ficava fraco no branco) */
.tema-dia .cards .card::before, .tema-dia .eyebrow:not(.hero-nicho .eyebrow):not(.hero-geral .eyebrow) { color:var(--marca-escura,#2443b8); }
.tema-dia .passo-num { -webkit-text-stroke-color:var(--marca-escura,#2443b8); }

/* ── telas pequenas ── */
@media (max-width: 1060px) {
  body .cards-nicho { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 640px) {
  body .faixa, .faixa-nicho { margin-top:-18px; padding:12px 0; }
  body .faixa .faixa-item, .faixa-nicho .faixa-item { font-size:.82rem; }
  .faixa-nicho + .section { padding-top:88px; }
  body .cards-nicho, body .cards { grid-template-columns:1fr; }
  body .custo-card { border-left:0; border-top:1px solid var(--line); padding:18px 10px; }
  body .custo-card:first-child { border-top:0; }
  body .compare-card.negative { transform:rotate(-.8deg); }
  body .compare-card.positive { transform:rotate(.5deg); box-shadow:6px 6px 0 color-mix(in srgb,var(--brand) 28%,transparent); }
  .hero-numero { font-size:clamp(11rem,62vw,16rem); bottom:-.12em; opacity:.8; }
  body .final-cta::after { font-size:11rem; right:-2%; }
  body .passo-num { font-size:3.4rem; }
  .familia-palco .aparelhos { padding:0 0 26px 18px; }
  .familia-palco .float-card { right:0; bottom:-6px; }
}

/* ── reduzir movimento: tudo parado e visível (inclusive os títulos que entram com a rolagem) ── */
@media (prefers-reduced-motion: reduce) {
  .sw-reveal { opacity:1 !important; transform:none !important; }
  body .faixa .faixa-trilho, .faixa-nicho .faixa-trilho { animation:none; }
  .tela-cenario, body .passo-num { transition:none; }
}
