:root {
  --primary: #7130f5;
  --primary-2: #9c45ff;
  --primary-dark: #4f14d7;
  --deep: #241044;
  --ink: #191522;
  --muted: #6f697a;
  --line: rgba(88, 49, 145, .12);
  --soft: #f7f4ff;
  --white: #fff;
  --shadow: 0 24px 70px rgba(67, 31, 121, .14);
  --shadow-soft: 0 15px 45px rgba(67, 31, 121, .09);
  --radius: 28px;
  --container: min(1180px, calc(100% - 40px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 90px; }
body {
  margin: 0;
  font-family: 'Poppins', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  color: var(--ink);
  background: #fbfaff;
  line-height: 1.6;
  overflow-x: hidden;
}
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; height: auto; }
button, input, textarea, select { font: inherit; }
.container { width: var(--container); margin-inline: auto; position: relative; }
.page-glow { position: fixed; width: 420px; height: 420px; border-radius: 50%; filter: blur(120px); opacity: .09; pointer-events: none; z-index: -1; }
.glow-a { background: #9e4aff; left: -180px; top: 35%; }
.glow-b { background: #4f14d7; right: -220px; top: 68%; }

.site-header {
  position: fixed;
  inset: 0 0 auto;
  z-index: 50;
  transition: .3s ease;
  border-bottom: 1px solid transparent;
}
.site-header.scrolled {
  background: rgba(255,255,255,.88);
  backdrop-filter: blur(18px);
  border-bottom-color: rgba(96,55,154,.09);
  box-shadow: 0 10px 35px rgba(51,22,88,.05);
}
/* O cabeçalho usa uma área mais larga que o conteúdo principal.
   Isso mantém o logo e o botão próximos às laterais, como no layout original. */
.site-header .nav-wrap {
  width: min(1320px, calc(100% - 40px));
  height: 88px;
  display: flex;
  align-items: center;
  gap: 34px;
}
.brand { flex: 0 0 auto; }
.brand img { width: 202px; height: auto; }
.main-nav { margin-left: auto; display: flex; align-items: center; gap: 34px; }
.main-nav a { font-size: .92rem; font-weight: 500; color: #524b5f; position: relative; transition: .2s ease; }
.main-nav a::after { content: ''; position: absolute; left: 0; right: 100%; bottom: -9px; height: 2px; border-radius: 99px; background: linear-gradient(90deg,var(--primary),var(--primary-2)); transition: .25s ease; }
.main-nav a:hover, .main-nav a.active { color: var(--primary-dark); }
.main-nav a:hover::after, .main-nav a.active::after { right: 0; }
.nav-toggle { display: none; margin-left: auto; border: 0; background: transparent; width: 44px; height: 44px; padding: 10px; }
.nav-toggle span { display: block; height: 2px; margin: 5px 0; background: var(--deep); border-radius: 5px; transition: .2s; }

.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; border-radius: 14px; padding: 12px 20px; font-weight: 600; font-size: .92rem; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; border: 1px solid transparent; cursor: pointer; }
.btn:hover { transform: translateY(-2px); }
.btn-primary { color: #fff; background: linear-gradient(135deg, var(--primary-2), var(--primary-dark)); box-shadow: 0 12px 28px rgba(113,48,245,.25); }
.btn-primary:hover { box-shadow: 0 17px 35px rgba(113,48,245,.34); }
.btn-ghost { background: rgba(255,255,255,.76); color: var(--deep); border-color: rgba(89,44,151,.13); box-shadow: 0 9px 28px rgba(72,34,121,.05); }
.btn-light { background: #fff; color: var(--primary-dark); box-shadow: 0 13px 34px rgba(27,6,61,.14); }
.btn-lg { padding: 15px 24px; border-radius: 16px; font-size: .98rem; }
.btn-block { width: 100%; }
.btn-header { white-space: nowrap; }
.btn:disabled, .btn[aria-disabled="true"] { cursor: not-allowed; opacity: .58; transform: none; box-shadow: none; filter: saturate(.65); }
.btn:disabled:hover, .btn[aria-disabled="true"]:hover { transform: none; box-shadow: none; }

.hero { position: relative; min-height: 770px; padding: 150px 0 92px; overflow: hidden; display: flex; align-items: center; }
.hero-bg { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(255,255,255,.96) 0%, rgba(255,255,255,.83) 44%, rgba(255,255,255,.34) 100%), url('fundo-dommino.webp') center/cover no-repeat; z-index: -3; }
.hero::before { content:''; position:absolute; width: 610px; height: 610px; border-radius: 50%; right: 4%; top: 80px; background: radial-gradient(circle, rgba(135,56,255,.16), rgba(135,56,255,0) 68%); z-index:-2; }
.hero-grid { display: grid; grid-template-columns: 1.03fr .97fr; gap: 74px; align-items: center; }
.eyebrow { display: inline-flex; align-items: center; gap: 9px; padding: 8px 12px; background: rgba(255,255,255,.78); border: 1px solid rgba(95,42,160,.10); border-radius: 999px; color: var(--primary-dark); font-weight: 600; font-size: .77rem; box-shadow: 0 10px 35px rgba(76,39,122,.06); }
.eyebrow-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--primary); box-shadow: 0 0 0 5px rgba(113,48,245,.10); }
.hero h1 { margin: 22px 0 20px; font-size: clamp(3rem, 5.6vw, 5.15rem); line-height: 1.03; letter-spacing: -.055em; max-width: 760px; }
.hero h1 span, .section-head h2 span, .technology h2 span, .vision h2 span, .contact h2 span, .final-card h2 span { background: linear-gradient(100deg, var(--primary-dark), var(--primary-2)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.hero-lead { max-width: 660px; color: #625c6c; font-size: 1.08rem; margin: 0; }
.hero-actions { display: flex; gap: 12px; margin-top: 30px; flex-wrap: wrap; }
.hero-highlights { display: flex; gap: 0; margin-top: 42px; }
.hero-highlights div { min-width: 120px; padding-right: 26px; margin-right: 26px; border-right: 1px solid rgba(72,38,114,.12); }
.hero-highlights div:last-child { border-right: 0; margin-right: 0; }
.hero-highlights strong { display: block; font-size: .96rem; color: var(--deep); }
.hero-highlights span { display: block; font-size: .78rem; color: #8a8493; }

.hero-visual { position: relative; min-height: 500px; display: flex; align-items: center; justify-content: center; }
.visual-orbit { position: absolute; border: 1px solid rgba(113,48,245,.12); border-radius: 50%; }
.orbit-one { width: 510px; height: 510px; }
.orbit-two { width: 390px; height: 390px; border-style: dashed; animation: spin 34s linear infinite; }
.quote-panel { position: relative; width: min(450px, 100%); background: rgba(255,255,255,.82); border: 1px solid rgba(110,67,169,.13); backdrop-filter: blur(18px); border-radius: 28px; box-shadow: 0 34px 90px rgba(60,25,111,.15); padding: 26px; z-index: 2; }
.panel-top { display: flex; justify-content: space-between; align-items: start; gap: 18px; margin-bottom: 22px; }
.panel-kicker { display: block; color: #8b8197; font-size: .72rem; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; }
.panel-top h2 { margin: 4px 0 0; font-size: 1.55rem; letter-spacing: -.03em; }
.status-pill { white-space: nowrap; padding: 7px 10px; background: #f0e9ff; color: var(--primary-dark); border-radius: 999px; font-size: .68rem; font-weight: 600; }
.request-card { display: grid; grid-template-columns: 42px 1fr auto; gap: 13px; align-items: center; padding: 14px; border-radius: 17px; margin-top: 9px; border: 1px solid rgba(88,49,145,.08); background: rgba(255,255,255,.86); }
.request-card.current { border-color: rgba(113,48,245,.22); box-shadow: 0 11px 25px rgba(95,41,179,.08); }
.request-card.muted-card { opacity: .6; }
.request-icon { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; background: #f0eaff; color: var(--primary-dark); font-size: .72rem; font-weight: 700; }
.request-card strong { display: block; font-size: .82rem; }
.request-card span:not(.check):not(.pulse-dot) { display: block; color: #8a8493; font-size: .69rem; line-height: 1.45; margin-top: 2px; }
.check { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; color: #fff; background: linear-gradient(135deg,var(--primary-2),var(--primary-dark)); font-size: .7rem; }
.pulse-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--primary); box-shadow: 0 0 0 7px rgba(113,48,245,.10); animation: pulse 1.8s ease infinite; }
.panel-progress { height: 6px; background: #eee9f5; border-radius: 99px; overflow: hidden; margin-top: 22px; }
.panel-progress span { display: block; height: 100%; width: 66%; background: linear-gradient(90deg,var(--primary),var(--primary-2)); border-radius: inherit; }
.panel-footer { display: flex; justify-content: space-between; margin-top: 8px; color: #8d8696; font-size: .7rem; }
.panel-footer strong { color: var(--primary-dark); }
.float-card { position: absolute; display: flex; align-items: center; gap: 10px; background: rgba(255,255,255,.94); border: 1px solid rgba(104,54,163,.10); border-radius: 15px; box-shadow: 0 17px 40px rgba(69,33,118,.13); padding: 11px 14px; z-index: 3; animation: float 4s ease-in-out infinite; }
.float-card strong { display: block; font-size: .72rem; }
.float-card small { display: block; color: #96909f; font-size: .62rem; }
.float-a { left: -28px; top: 122px; }
.float-b { right: -22px; bottom: 80px; animation-delay: -2s; }
.mini-icon { display: grid; place-items:center; width: 30px; height: 30px; border-radius: 9px; background: #ece5ff; color: var(--primary-dark); font-size: .78rem; font-weight: 700; }
.sparkle { background: linear-gradient(135deg,var(--primary-2),var(--primary-dark)); color: #fff; }
.hero-bottom-fade { position: absolute; left:0;right:0;bottom:0; height:80px; background: linear-gradient(0deg,#fbfaff,rgba(251,250,255,0)); }

.section { padding: 110px 0; position: relative; }
.section-head.centered { max-width: 840px; margin: 0 auto 54px; text-align: center; }
.section-label { display: inline-block; color: var(--primary-dark); text-transform: uppercase; letter-spacing: .13em; font-weight: 700; font-size: .72rem; margin-bottom: 12px; }
.section-head h2, .technology h2, .vision h2, .contact h2 { font-size: clamp(2.2rem,4vw,3.75rem); line-height: 1.12; letter-spacing: -.045em; margin: 0 0 18px; }
.section-head p { color: var(--muted); margin: 0 auto; max-width: 710px; font-size: 1rem; }

.startup-showcase { display: grid; grid-template-columns: .9fr 1.1fr; gap: 70px; align-items: center; margin: 26px 0 68px; padding: 44px; border-radius: 34px; background: linear-gradient(135deg,#fff,#f8f4ff); border: 1px solid rgba(98,50,163,.09); box-shadow: var(--shadow-soft); }
.showcase-number { display:inline-flex; align-items:center; justify-content:center; width: 44px; height: 28px; border-radius: 999px; background:#efe8ff; color:var(--primary-dark); font-size:.72rem; font-weight:700; }
.showcase-copy h3 { font-size: 2.35rem; line-height:1.13; letter-spacing:-.04em; margin:16px 0; }
.showcase-copy p { color: var(--muted); margin:0 0 22px; }
.text-link { color: var(--primary-dark); font-weight:600; font-size:.88rem; }
.text-link span { display:inline-block; margin-left:5px; transition:.2s; }
.text-link:hover span { transform:translateX(5px); }
.showcase-flow { padding: 38px; border-radius: 26px; background: linear-gradient(145deg,#271447,#3a1767); min-height: 330px; display:flex; flex-direction:column; justify-content:center; position:relative; overflow:hidden; box-shadow:0 25px 55px rgba(50,20,91,.18); }
.showcase-flow::before { content:''; position:absolute; width:240px;height:240px;border-radius:50%;background:#7d35f5;filter:blur(90px);opacity:.32;right:-70px;top:-70px; }
.flow-node { position:relative; display:flex; align-items:center; gap:14px; color:#fff; padding:14px 16px; border:1px solid rgba(255,255,255,.09); background:rgba(255,255,255,.055); border-radius:17px; z-index:2; }
.flow-node.emphasized { background:linear-gradient(135deg,rgba(156,69,255,.33),rgba(113,48,245,.18)); border-color:rgba(202,167,255,.3); transform:translateX(24px); }
.node-step { display:grid; place-items:center; width:38px;height:38px;border-radius:12px;background:rgba(255,255,255,.1);font-size:.72rem;font-weight:700; }
.flow-node strong { display:block; font-size:.88rem; }
.flow-node small { color:#c7b8dd; font-size:.68rem; }
.flow-line { height:26px; width:2px; background:rgba(255,255,255,.14); margin-left:35px; position:relative; z-index:1; }
.flow-line i { position:absolute; top:5px; left:-2px; width:6px;height:6px;border-radius:50%;background:#b780ff;box-shadow:0 0 0 6px rgba(183,128,255,.09); }
.pillars-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.pillar-card { background:#fff; border:1px solid rgba(97,52,153,.09); border-radius:24px; padding:30px; box-shadow:0 10px 34px rgba(62,30,101,.05); transition:.25s ease; }
.pillar-card:hover { transform:translateY(-7px); box-shadow:var(--shadow-soft); border-color:rgba(113,48,245,.16); }
.pillar-card h3 { margin:22px 0 8px; font-size:1.16rem; }
.pillar-card p { margin:0; color:var(--muted); font-size:.86rem; }
.card-icon { width:48px;height:48px;border-radius:14px;background:#f0eaff;position:relative; }
.icon-simple span { position:absolute;left:13px;right:13px;top:14px;height:4px;border-radius:99px;background:var(--primary);box-shadow:0 8px 0 rgba(113,48,245,.62),0 16px 0 rgba(113,48,245,.28); }
.icon-connect span { position:absolute;width:10px;height:10px;border-radius:50%;background:var(--primary); }
.icon-connect span:nth-child(1){left:10px;top:19px}.icon-connect span:nth-child(2){right:9px;top:10px}.icon-connect span:nth-child(3){right:9px;bottom:9px}
.icon-connect::before,.icon-connect::after{content:'';position:absolute;left:18px;width:18px;height:1px;background:rgba(113,48,245,.45);transform-origin:left center}.icon-connect::before{top:22px;transform:rotate(-27deg)}.icon-connect::after{top:25px;transform:rotate(27deg)}
.icon-clarity span { position:absolute;left:12px;top:12px;width:24px;height:24px;border:3px solid var(--primary);border-radius:50%; }
.icon-clarity span::after { content:'';position:absolute;width:10px;height:3px;border-radius:99px;background:var(--primary);right:-8px;bottom:-4px;transform:rotate(45deg); }

.technology { background:linear-gradient(145deg,#21103f,#35145e 60%,#2b114f); color:#fff; overflow:hidden; }
.tech-grid-bg { position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(90deg,black,transparent 95%); }
.technology::before { content:'';position:absolute;width:650px;height:650px;border-radius:50%;background:#7d35f5;filter:blur(150px);opacity:.14;right:-230px;top:-230px; }
.technology-grid { display:grid;grid-template-columns:1.03fr .97fr;gap:80px;align-items:center; }
.section-label.light { color:#c9a9ff; }
.technology h2 span { background:linear-gradient(100deg,#fff,#b98aff);-webkit-background-clip:text;background-clip:text;color:transparent; }
.technology-copy>p { color:#c8bcd5;max-width:650px;margin:0 0 32px; }
.tech-list { display:grid;gap:16px; }
.tech-item { display:grid;grid-template-columns:44px 1fr;gap:15px;padding:16px 0;border-top:1px solid rgba(255,255,255,.08); }
.tech-bullet { display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:rgba(166,102,255,.13);border:1px solid rgba(194,151,255,.18);color:#c9a9ff;font-size:.66rem;font-weight:700; }
.tech-item strong { display:block;font-size:.94rem; }
.tech-item p { margin:3px 0 0;color:#aa9bb9;font-size:.79rem; }
.tech-chips { display:flex;gap:8px;flex-wrap:wrap;margin-top:26px; }
.tech-chips span { padding:7px 11px;border-radius:999px;border:1px solid rgba(214,182,255,.16);background:rgba(255,255,255,.045);color:#d9c7ea;font-size:.68rem;font-weight:600; }
.dom-stage { min-height:590px;display:flex;align-items:center;justify-content:center;position:relative; }
.dom-card { width:330px;position:relative;z-index:2;background:linear-gradient(160deg,rgba(255,255,255,.13),rgba(255,255,255,.055));border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(20px);border-radius:30px;padding:22px;box-shadow:0 40px 100px rgba(0,0,0,.25); }
.dom-card-top { display:flex;justify-content:space-between;align-items:center;color:#c5b5d6;font-size:.67rem;text-transform:uppercase;letter-spacing:.08em;font-weight:600; }
.dom-card-top i { width:8px;height:8px;border-radius:50%;background:#9f5aff;box-shadow:0 0 0 7px rgba(159,90,255,.10); }
.dom-image-wrap { height:290px;margin:14px 0 6px;border-radius:22px;background:radial-gradient(circle at 50% 44%,rgba(173,97,255,.36),rgba(87,36,143,.07) 60%,transparent 70%);display:flex;align-items:center;justify-content:center;overflow:hidden; }
.dom-image-wrap img { width:220px;image-rendering:auto;filter:drop-shadow(0 18px 20px rgba(18,4,34,.28));transform:translateY(8px); }
.dom-copy { padding:10px 4px 3px; }
.dom-name { display:block;font-size:1.1rem;font-weight:700; }
.dom-copy p { margin:7px 0;color:#b8a9c6;font-size:.76rem; }
.typing-dots { display:flex;gap:4px;margin:14px 4px 3px; }
.typing-dots span { width:5px;height:5px;border-radius:50%;background:#b780ff;animation:typing 1.4s infinite ease-in-out; }
.typing-dots span:nth-child(2){animation-delay:.18s}.typing-dots span:nth-child(3){animation-delay:.36s}
.dom-halo { position:absolute;border-radius:50%;border:1px solid rgba(187,134,255,.16); }
.halo-one{width:520px;height:520px}.halo-two{width:430px;height:430px;border-style:dashed;animation:spin 40s linear infinite reverse}
.dom-tag { position:absolute;z-index:3;padding:9px 12px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);backdrop-filter:blur(12px);color:#e3d6ef;font-size:.66rem;box-shadow:0 12px 30px rgba(0,0,0,.12); }
.tag-a{left:3%;top:18%}.tag-b{right:0;top:34%}.tag-c{left:2%;bottom:18%}

.vision { padding-top:95px;padding-bottom:95px; }
.vision-card { background:linear-gradient(135deg,#fff,#f5f0ff);border:1px solid rgba(99,50,158,.10);border-radius:34px;padding:54px;display:grid;grid-template-columns:1fr .9fr;align-items:center;gap:80px;box-shadow:var(--shadow-soft);overflow:hidden; }
.vision-copy p { color:var(--muted);max-width:560px;margin:0; }
.vision-orbit { height:350px;position:relative;display:flex;align-items:center;justify-content:center; }
.vision-orbit::before,.vision-orbit::after { content:'';position:absolute;border-radius:50%;border:1px solid rgba(113,48,245,.14); }
.vision-orbit::before{width:280px;height:280px}.vision-orbit::after{width:180px;height:180px;border-style:dashed;animation:spin 30s linear infinite}
.orbit-center { width:96px;height:96px;border-radius:28px;background:linear-gradient(145deg,#fff,#eee8fa);box-shadow:0 18px 45px rgba(80,38,133,.13);display:grid;place-items:center;z-index:2;border:1px solid rgba(113,48,245,.09); }
.orbit-center img { width:48px;height:48px; }
.satellite { position:absolute;padding:9px 13px;border-radius:999px;background:#fff;border:1px solid rgba(105,55,162,.10);box-shadow:0 12px 30px rgba(70,32,116,.08);font-size:.72rem;font-weight:600;color:#5d5270;z-index:3; }
.satellite-a{left:7%;top:23%}.satellite-b{right:4%;top:48%}.satellite-c{left:21%;bottom:8%}

.contact { background:#fff; }
.contact-grid { display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:center; }
.contact-copy>p { color:var(--muted);max-width:540px; }
.contact-points { margin-top:34px;display:grid;gap:0; }
.contact-points>div { display:grid;grid-template-columns:38px 1fr;gap:14px;align-items:start;padding:16px 0;border-top:1px solid var(--line); }
.contact-points>div>span { display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#f1eaff;color:var(--primary-dark);font-size:.64rem;font-weight:700; }
.contact-points p { margin:0; }
.contact-points strong { display:block;font-size:.85rem; }
.contact-points small { display:block;color:#8b8493;font-size:.72rem;margin-top:2px; }
.contact-form-card { background:linear-gradient(145deg,#fbf9ff,#f5f0ff);border:1px solid rgba(103,54,162,.10);border-radius:28px;padding:30px;box-shadow:var(--shadow-soft); }
.form-row { display:grid;grid-template-columns:1fr 1fr;gap:13px; }
label { display:block;color:#4f4859;font-size:.75rem;font-weight:600;margin-bottom:13px; }
input,select,textarea { width:100%;margin-top:7px;border:1px solid rgba(90,51,139,.13);border-radius:13px;background:rgba(255,255,255,.88);padding:13px 14px;color:var(--ink);outline:none;transition:.2s ease; }
textarea { resize:vertical;min-height:120px; }
input:focus,select:focus,textarea:focus { border-color:rgba(113,48,245,.5);box-shadow:0 0 0 4px rgba(113,48,245,.07); }
input::placeholder,textarea::placeholder { color:#aaa4b1; }
.form-note { text-align:center;color:#9b95a3;font-size:.65rem;margin:10px 0 0; }

.final-cta { padding:80px 0;background:linear-gradient(145deg,#2a124d,#44157e);position:relative;overflow:hidden; }
.final-cta::before { content:'';position:absolute;width:500px;height:500px;border-radius:50%;background:#8e3cff;filter:blur(150px);opacity:.21;right:-100px;top:-220px; }
.final-card { display:flex;align-items:center;justify-content:space-between;gap:40px; }
.final-logo { width:180px;height:auto;filter:brightness(0) invert(1);opacity:.96;margin-bottom:22px; }
.final-card h2 { color:#fff;font-size:clamp(2rem,3.4vw,3.2rem);line-height:1.15;letter-spacing:-.04em;margin:0;max-width:760px; }
.final-card h2 span { background:linear-gradient(90deg,#fff,#c8a5ff);-webkit-background-clip:text;background-clip:text;color:transparent; }



.partners {
  background: linear-gradient(180deg, rgba(247,244,255,.35) 0%, rgba(247,244,255,.92) 100%);
}

.partners-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 26px;
}

.partner-card {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 28px;
  padding: 30px;
  min-height: 100%;
  border-radius: 28px;
  border: 1px solid rgba(88,49,145,.10);
  box-shadow: var(--shadow-soft);
  overflow: hidden;
  transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}

.partner-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 28px 65px rgba(67,31,121,.16);
  border-color: rgba(113,48,245,.18);
}

.partner-logo-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 128px;
}

.partner-logo {
  width: auto;
  max-width: 100%;
  height: auto;
}

.partner-logo-mailgrid { max-height: 78px; }
.partner-logo-aws { max-height: 120px; }
.partner-logo-acate { max-height: 76px; }
.partner-logo-wrap picture { display:flex; align-items:center; justify-content:center; width:100%; }

.partner-copy h3 {
  margin: 0 0 8px;
  font-size: 1.28rem;
  letter-spacing: -.02em;
}

.partner-copy p {
  margin: 0;
  color: var(--muted);
  max-width: 40ch;
}

.partner-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 16px;
  font-size: .82rem;
  font-weight: 700;
  color: var(--primary-dark);
}

.partner-mailgrid {
  background: linear-gradient(135deg, #0f4456, #0b3240);
  border-color: rgba(255,255,255,.08);
}

.partner-mailgrid .partner-copy h3,
.partner-mailgrid .partner-link {
  color: #fff;
}

.partner-mailgrid .partner-copy p {
  color: rgba(255,255,255,.78);
}

.partner-aws,
.partner-acate {
  background: rgba(255,255,255,.92);
}

.partner-acate::before {
  content: "";
  position: absolute;
  width: 180px;
  height: 180px;
  right: -72px;
  top: -82px;
  border-radius: 50%;
  background: rgba(173, 202, 27, .10);
  pointer-events: none;
}

.site-footer { background:#160b29;color:#c5b9d2;padding:38px 0; }
.footer-grid { display:grid;grid-template-columns:1fr auto auto;gap:50px;align-items:center; }
.footer-logo { width:150px;height:auto;filter:brightness(0) invert(1);opacity:.88;margin-bottom:9px; }
.footer-grid p { margin:0;font-size:.72rem;color:#8f819e; }
.footer-links { display:flex;gap:24px; }
.footer-links a { font-size:.72rem;color:#afa1be;transition:.2s; }
.footer-links a:hover { color:#fff; }
.copyright { text-align:right;white-space:nowrap; }

.reveal { opacity:0;transform:translateY(22px);transition:opacity .75s ease,transform .75s ease; }
.reveal.visible { opacity:1;transform:none; }
.reveal-delay-1 { transition-delay:.12s; }
.reveal-delay-2 { transition-delay:.22s; }

@keyframes spin { to { transform:rotate(360deg); } }
@keyframes float { 0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)} }
@keyframes pulse { 0%,100%{box-shadow:0 0 0 6px rgba(113,48,245,.10)}50%{box-shadow:0 0 0 12px rgba(113,48,245,.02)} }
@keyframes typing { 0%,60%,100%{transform:translateY(0);opacity:.45}30%{transform:translateY(-4px);opacity:1} }

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

@media (max-width: 1040px) {
  :root { --container:min(100% - 34px, 960px); }
  .btn-header { display:none; }
  .main-nav { gap: 18px; }
  .main-nav a { font-size: .84rem; }
  .hero-grid,.technology-grid { gap:34px; }
  .hero h1 { font-size:clamp(3rem,6.2vw,4.5rem); }
  .float-a { left:-5px; }.float-b { right:-5px; }
  .startup-showcase,.contact-grid { gap:42px; }
  .vision-card { gap:35px; }
  .partners-grid { gap:22px; }
}

@media (max-width: 820px) {
  html { scroll-padding-top:74px; }
  .site-header { background:rgba(255,255,255,.91);backdrop-filter:blur(18px);border-bottom:1px solid rgba(96,55,154,.08); }
  .site-header .nav-wrap { width: min(1320px, calc(100% - 28px)); height:74px; }
  .brand img { width:170px; }
  .nav-toggle { display:block; }
  .nav-toggle.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .nav-toggle.active span:nth-child(2){opacity:0}
  .nav-toggle.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .main-nav { position:fixed;left:17px;right:17px;top:84px;margin:0;display:flex;flex-direction:column;align-items:stretch;gap:0;background:rgba(255,255,255,.98);border:1px solid rgba(95,47,153,.10);border-radius:20px;padding:10px;box-shadow:0 25px 70px rgba(57,26,100,.16);opacity:0;visibility:hidden;transform:translateY(-10px);transition:.22s ease; }
  .main-nav.open { opacity:1;visibility:visible;transform:none; }
  .main-nav a { padding:13px 14px;border-radius:11px; }
  .main-nav a::after { display:none; }
  .main-nav a.active { background:#f3edff; }
  .hero { min-height:auto;padding:125px 0 70px; }
  .hero-grid,.startup-showcase,.technology-grid,.vision-card,.contact-grid { grid-template-columns:1fr; }
  .partners-grid { grid-template-columns:1fr; }
  .hero-copy { text-align:center; }
  .hero-lead { margin-inline:auto; }
  .eyebrow { margin-inline:auto; }
  .hero-actions,.hero-highlights { justify-content:center; }
  .hero-visual { min-height:520px;margin-top:20px; }
  .startup-showcase { padding:32px; }
  .showcase-flow { min-height:300px; }
  .technology-copy { text-align:left; }
  .dom-stage { min-height:560px; }
  .vision-card { padding:36px; }
  .vision-orbit { height:330px; }
  .contact-grid { gap:46px; }
  .partner-card { padding:28px; }
  .partner-logo-wrap { min-height: 112px; }
  .final-card { flex-direction:column;align-items:flex-start; }
  .footer-grid { grid-template-columns:1fr;gap:24px; }
  .copyright { text-align:left; }
}

@media (max-width: 560px) {
  :root { --container:calc(100% - 28px); }
  .section { padding:78px 0; }
  .hero { padding-top:112px; }
  .hero h1 { font-size:2.7rem; }
  .hero-lead { font-size:.94rem; }
  .hero-actions { flex-direction:column; }
  .hero-actions .btn { width:100%; }
  .hero-highlights { gap:0; }
  .hero-highlights div { min-width:0;flex:1;padding-right:12px;margin-right:12px; }
  .hero-highlights strong { font-size:.8rem; }.hero-highlights span{font-size:.67rem;}
  .hero-visual { min-height:470px; }
  .quote-panel { padding:18px;border-radius:22px; }
  .visual-orbit { display:none; }
  .float-card { transform:scale(.92); }
  .float-a { left:-8px;top:34px; }.float-b{right:-7px;bottom:25px;}
  .request-card { grid-template-columns:38px 1fr auto;gap:10px;padding:12px; }
  .request-icon { width:36px;height:36px; }
  .startup-showcase { padding:24px;margin-bottom:42px; }
  .showcase-copy h3 { font-size:1.85rem; }
  .showcase-flow { padding:24px; }
  .flow-node.emphasized { transform:translateX(10px); }
  .pillars-grid { grid-template-columns:1fr; }
  .section-head h2,.technology h2,.vision h2,.contact h2 { font-size:2.15rem; }
  .dom-stage { min-height:510px; }
  .dom-card { width:290px; }
  .dom-image-wrap { height:250px; }
  .dom-image-wrap img { width:200px; }
  .halo-one{width:400px;height:400px}.halo-two{width:330px;height:330px}
  .dom-tag { font-size:.6rem; }
  .tag-a{left:-2%;top:15%}.tag-b{right:-4%;top:37%}.tag-c{left:-2%;bottom:15%}
  .vision-card { padding:28px; }
  .vision-orbit { height:290px; }
  .vision-orbit::before{width:245px;height:245px}.vision-orbit::after{width:160px;height:160px}
  .satellite-a{left:-2%}.satellite-b{right:-2%}.satellite-c{left:13%;}
  .form-row { grid-template-columns:1fr;gap:0; }
  .contact-form-card { padding:22px; }
  .partner-card { padding:24px; border-radius:22px; }
  .partner-logo-mailgrid { max-height: 62px; }
  .partner-logo-aws { max-height: 92px; }
  .partner-logo-acate { max-height: 58px; }
  .footer-links { flex-wrap:wrap;gap:14px 20px; }
}

/* Formulário de contato - envio direto via SMTP */
.form-honeypot {
  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;
}

.form-status {
  min-height: 0;
  margin-top: 12px;
  padding: 0;
  border-radius: 12px;
  text-align: center;
  font-size: .72rem;
  font-weight: 600;
  transition: .2s ease;
}

.form-status:not(:empty) {
  min-height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 13px;
}

.form-status.sending {
  color: #6b5f7c;
  background: rgba(113, 48, 245, .06);
  border: 1px solid rgba(113, 48, 245, .10);
}

.form-status.success {
  color: #176d49;
  background: #edf9f3;
  border: 1px solid #c9eddc;
}

.form-status.error {
  color: #a33c45;
  background: #fff1f2;
  border: 1px solid #f1cdd1;
}

#contact-form button[disabled] {
  cursor: wait;
  opacity: .78;
}

.button-loader {
  display: inline-block;
  width: 14px;
  height: 14px;
  margin-left: 8px;
  border: 2px solid rgba(255,255,255,.45);
  border-top-color: #fff;
  border-radius: 50%;
  vertical-align: -2px;
  animation: contact-spin .7s linear infinite;
}

@keyframes contact-spin {
  to { transform: rotate(360deg); }
}


.screens-stage {
  position: relative;
  min-height: 580px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.screens-backdrop {
  position: absolute;
  inset: 40px 26px 36px;
  border-radius: 36px;
  background: radial-gradient(circle at top right, rgba(154, 88, 255, .18), rgba(154, 88, 255, 0) 50%), rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.1);
  backdrop-filter: blur(10px);
}

.screens-header {
  position: relative;
  z-index: 2;
  margin-bottom: 22px;
  padding: 0 18px;
}

.screens-header span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .02em;
  text-transform: uppercase;
  color: #e9d9ff;
}

.screens-header p {
  margin: 8px 0 0;
  max-width: 530px;
  color: #cdbce2;
  font-size: .84rem;
}

.screens-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 18px;
  align-items: start;
}

.screen-card {
  margin: 0;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 24px 70px rgba(8, 1, 18, .24);
  backdrop-filter: blur(14px);
}

.screen-card img {
  width: 100%;
  height: auto;
  display: block;
}

.screen-card figcaption {
  padding: 12px 16px 14px;
  font-size: .78rem;
  font-weight: 600;
  color: #efe6fa;
}

.screen-large {
  transform: rotate(-2deg) translateY(18px);
}

.screen-small {
  max-width: 100%;
}

.screen-top {
  transform: rotate(2deg);
  margin-bottom: 18px;
}

.screen-bottom {
  transform: rotate(-1.5deg);
}

.screen-badge {
  position: absolute;
  z-index: 3;
  padding: 10px 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.16);
  backdrop-filter: blur(14px);
  color: #f6efff;
  font-size: .68rem;
  box-shadow: 0 16px 34px rgba(0,0,0,.16);
}

.badge-a { left: 0; top: 80px; }
.badge-b { right: 8px; top: 210px; }
.badge-c { left: 36px; bottom: 32px; }

.satellite-d { right: 18%; bottom: 11%; }
.satellite-e { right: 13%; top: 16%; }

.coming-soon-toast {
  position: fixed;
  left: 50%;
  bottom: 28px;
  transform: translate(-50%, 18px);
  opacity: 0;
  pointer-events: none;
  z-index: 120;
  padding: 14px 22px;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(113,48,245,.97), rgba(79,20,215,.97));
  color: #fff;
  font-weight: 700;
  letter-spacing: .01em;
  box-shadow: 0 22px 45px rgba(48, 17, 94, .28);
  transition: opacity .24s ease, transform .24s ease;
}

.coming-soon-toast.visible {
  opacity: 1;
  transform: translate(-50%, 0);
}

@media (max-width: 1040px) {
  .screens-stage { min-height: 540px; }
}

@media (max-width: 820px) {
  .screens-grid { grid-template-columns: 1fr; }
  .screen-large, .screen-top, .screen-bottom { transform: none; margin-bottom: 0; }
  .screens-stage { min-height: auto; gap: 14px; }
  .screens-backdrop { inset: 18px 0 0; }
  .screen-badge { display: none; }
  .satellite-d { right: 2%; bottom: 20%; }
  .satellite-e { right: 14%; top: 8%; }
}

@media (max-width: 560px) {
  .screens-header { padding: 0; }
  .screens-header p { font-size: .78rem; }
  .screen-card { border-radius: 18px; }
  .screen-card figcaption { font-size: .72rem; }
  .satellite { font-size: .63rem; padding: 8px 10px; }
  .satellite-a { left: 0; top: 18%; }
  .satellite-b { right: 0; top: 42%; }
  .satellite-c { left: 14%; bottom: 0; }
  .satellite-d { right: 5%; bottom: 20%; }
  .satellite-e { right: 14%; top: 6%; }
}

/* Tecnologia - showcase responsivo e galeria ampliada */
.technology-grid-enhanced {
  align-items: start;
}

.tech-inline-points {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 24px;
}

.tech-inline-points div {
  padding: 16px 18px;
  border-radius: 18px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.09);
}

.tech-inline-points strong {
  display: block;
  font-size: .88rem;
  color: #fff;
}

.tech-inline-points span {
  display: block;
  margin-top: 4px;
  font-size: .76rem;
  color: #cdbce2;
  line-height: 1.5;
}

.product-stage {
  position: relative;
  padding: 26px;
  border-radius: 34px;
  background: linear-gradient(160deg, rgba(255,255,255,.09), rgba(255,255,255,.04));
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 30px 80px rgba(9, 3, 19, .24);
  overflow: hidden;
}

.product-stage-glow {
  position: absolute;
  inset: auto -80px -120px auto;
  width: 280px;
  height: 280px;
  border-radius: 50%;
  background: rgba(172, 115, 255, .22);
  filter: blur(70px);
  pointer-events: none;
}

.showcase-head {
  position: relative;
  z-index: 2;
  margin-bottom: 18px;
}

.showcase-head span {
  display: inline-block;
  color: #ebdcff;
  font-size: .76rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.showcase-head p {
  margin: 10px 0 0;
  color: #ccbddf;
  font-size: .84rem;
  line-height: 1.65;
  max-width: 560px;
}

.showcase-frame {
  position: relative;
  z-index: 2;
  border-radius: 26px;
  overflow: hidden;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 24px 60px rgba(6, 0, 14, .22);
}

.showcase-frame img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}

.showcase-pills {
  position: relative;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

.showcase-pills span {
  padding: 9px 13px;
  border-radius: 999px;
  background: rgba(255,255,255,.09);
  border: 1px solid rgba(255,255,255,.12);
  color: #f5efff;
  font-size: .72rem;
  font-weight: 600;
}

.tech-extra {
  margin-top: 78px;
}

.tech-extra .section-head {
  max-width: 920px;
  margin-bottom: 34px;
}

.tech-extra .section-head p {
  color: #cbb9df;
  max-width: 820px;
}

.feature-cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  margin-bottom: 28px;
}

.feature-card {
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 24px;
  padding: 24px 22px;
  box-shadow: 0 18px 40px rgba(5, 0, 12, .12);
}

.feature-card-icon {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 14px;
  background: rgba(201, 169, 255, .16);
  border: 1px solid rgba(201, 169, 255, .18);
  color: #f4ebff;
  font-size: 1rem;
  margin-bottom: 16px;
}

.feature-card h3 {
  margin: 0 0 10px;
  font-size: 1rem;
  color: #fff;
}

.feature-card p {
  margin: 0;
  color: #c8b8db;
  font-size: .8rem;
  line-height: 1.65;
}

.gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.gallery-card {
  margin: 0;
  border-radius: 24px;
  overflow: hidden;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 18px 42px rgba(5, 0, 12, .13);
}

.gallery-card img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}

.gallery-card figcaption {
  padding: 16px 16px 18px;
}

.gallery-card strong {
  display: block;
  margin-bottom: 6px;
  color: #fff;
  font-size: .92rem;
}

.gallery-card span {
  display: block;
  color: #ccbce0;
  font-size: .77rem;
  line-height: 1.55;
}

@media (max-width: 1040px) {
  .feature-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .gallery-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  .tech-inline-points {
    grid-template-columns: 1fr;
  }

  .product-stage {
    padding: 20px;
  }

  .tech-extra {
    margin-top: 58px;
  }
}

@media (max-width: 560px) {
  .feature-cards,
  .gallery-grid {
    grid-template-columns: 1fr;
  }

  .tech-inline-points div,
  .feature-card,
  .gallery-card {
    border-radius: 18px;
  }

  .product-stage {
    padding: 16px;
    border-radius: 24px;
  }

  .showcase-head p,
  .feature-card p,
  .gallery-card span,
  .tech-inline-points span {
    font-size: .76rem;
  }
}

/* Ajustes mobile da vitrine de tecnologia */
@media (max-width: 560px) {
  .technology {
    padding-bottom: 86px;
  }

  .technology-grid-enhanced {
    gap: 38px;
  }

  .product-stage {
    padding: 14px;
    overflow: visible;
  }

  .showcase-head {
    padding: 4px 4px 0;
    margin-bottom: 14px;
  }

  .showcase-frame {
    aspect-ratio: 4 / 5;
    border-radius: 20px;
  }

  .showcase-frame img {
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: 62% center;
  }

  .showcase-pills {
    gap: 7px;
    margin-top: 13px;
  }

  .showcase-pills span {
    padding: 7px 10px;
    font-size: .64rem;
  }

  .tech-extra {
    margin-top: 50px;
  }

  .tech-extra .section-head {
    margin-bottom: 24px;
  }

  .feature-cards {
    margin-bottom: 30px;
  }

  .gallery-grid {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: min(86vw, 340px);
    grid-template-columns: none;
    gap: 14px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 2px;
    padding: 2px 2px 16px;
    margin-right: calc((100vw - var(--container)) / -2);
    padding-right: 22px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .gallery-grid::-webkit-scrollbar {
    display: none;
  }

  .gallery-card {
    scroll-snap-align: start;
    min-width: 0;
    background: rgba(255,255,255,.095);
  }

  .gallery-card img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    object-position: left top;
  }

  .gallery-card figcaption {
    min-height: 112px;
    padding: 15px 16px 17px;
  }

  .gallery-card strong {
    font-size: .88rem;
  }

  .gallery-card span {
    font-size: .74rem;
  }

  .gallery-grid::after {
    content: '';
    width: 8px;
  }
}

/* Integrações ERP */
.erp-integrations {
  position: relative;
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(circle at 80% 18%, rgba(151,76,255,.22), transparent 28%),
    radial-gradient(circle at 13% 80%, rgba(113,48,245,.18), transparent 30%),
    linear-gradient(145deg, #160826 0%, #24103f 42%, #190b30 100%);
}
.erp-integrations::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,.022) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.022) 1px, transparent 1px);
  background-size: 46px 46px;
  pointer-events: none;
}
.erp-section-glow { position:absolute; border-radius:50%; filter:blur(120px); opacity:.12; pointer-events:none; }
.erp-glow-one { width:420px; height:420px; background:#9c45ff; right:-130px; top:40px; }
.erp-glow-two { width:360px; height:360px; background:#7130f5; left:-160px; bottom:-70px; }
.erp-shell { display:grid; grid-template-columns:.92fr 1.08fr; gap:68px; align-items:center; }
.erp-label-row { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.erp-new-badge { display:inline-flex; align-items:center; padding:6px 10px; border-radius:999px; background:rgba(169,103,255,.16); border:1px solid rgba(204,169,255,.22); color:#e4ccff; font-size:.65rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.erp-copy h2 { margin:14px 0 20px; max-width:690px; font-size:clamp(2.55rem,4.6vw,4.5rem); line-height:1.05; letter-spacing:-.05em; }
.erp-copy h2 span { background:linear-gradient(95deg,#fff,#b77cff 65%,#8b45ff); -webkit-background-clip:text; background-clip:text; color:transparent; }
.erp-lead { margin:0; max-width:690px; color:#c9bbd8; font-size:1rem; line-height:1.75; }
.erp-story { margin-top:32px; border-top:1px solid rgba(255,255,255,.09); }
.erp-story-step { display:grid; grid-template-columns:42px 1fr; gap:14px; padding:16px 0; border-bottom:1px solid rgba(255,255,255,.08); }
.erp-story-step>span { display:grid; place-items:center; width:36px; height:36px; border-radius:11px; background:rgba(161,94,255,.12); border:1px solid rgba(208,171,255,.14); color:#cda8ff; font-size:.64rem; font-weight:700; }
.erp-story-step strong { display:block; color:#fff; font-size:.88rem; }
.erp-story-step small { display:block; margin-top:3px; color:#a99ab8; font-size:.74rem; line-height:1.55; }
.erp-actions { display:flex; align-items:center; gap:18px; margin-top:28px; flex-wrap:wrap; }
.erp-doc-link { display:inline-flex; align-items:center; gap:7px; color:#d5b9ff; font-size:.8rem; font-weight:700; }
.erp-doc-link:hover { color:#fff; }

.erp-visual { min-width:0; }
.erp-network { position:relative; min-height:570px; border:1px solid rgba(255,255,255,.105); border-radius:32px; background:linear-gradient(155deg,rgba(255,255,255,.075),rgba(255,255,255,.025)); box-shadow:0 34px 90px rgba(0,0,0,.28); overflow:hidden; backdrop-filter:blur(16px); }
.erp-network-grid { position:absolute; inset:0; background-image:radial-gradient(circle,rgba(206,172,255,.12) 1px,transparent 1.2px); background-size:18px 18px; mask-image:radial-gradient(circle at center,black 0%,transparent 74%); opacity:.5; }
.erp-client-stack { position:absolute; left:5%; top:50%; transform:translateY(-50%); display:grid; gap:15px; width:29%; z-index:3; }
.erp-client-card { position:relative; min-height:104px; padding:16px; border-radius:18px; background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(236,226,252,.92)); color:#24143a; border:1px solid rgba(255,255,255,.55); box-shadow:0 18px 38px rgba(0,0,0,.19); overflow:hidden; }
.erp-client-card::after { content:''; position:absolute; width:80px; height:80px; border-radius:50%; background:rgba(113,48,245,.08); right:-25px; top:-28px; }
.erp-card-tag { display:inline-flex; padding:3px 7px; border-radius:7px; background:#ece2ff; color:#6323d8; font-size:.58rem; font-weight:800; letter-spacing:.08em; }
.erp-client-card strong { display:block; margin-top:10px; font-size:.82rem; }
.erp-client-card small { display:block; color:#80748d; font-size:.62rem; margin-top:1px; }
.erp-mini-bars { position:absolute; right:15px; bottom:16px; display:flex; align-items:end; gap:3px; height:23px; }
.erp-mini-bars b { display:block; width:4px; border-radius:4px; background:linear-gradient(#a55cff,#6d2be7); }
.erp-mini-bars b:nth-child(1){height:9px}.erp-mini-bars b:nth-child(2){height:18px}.erp-mini-bars b:nth-child(3){height:13px}
.erp-mini-ring { position:absolute; right:16px; bottom:15px; width:24px; height:24px; border-radius:50%; border:5px solid #8f49ef; border-right-color:#d9c7f7; }
.erp-mini-lines { position:absolute; right:15px; bottom:17px; display:grid; gap:4px; }
.erp-mini-lines b { width:27px; height:3px; border-radius:99px; background:#9c6ad8; }.erp-mini-lines b:nth-child(2){width:20px}.erp-mini-lines b:nth-child(3){width:24px}
.erp-api-node { position:absolute; left:38%; top:50%; transform:translate(-50%,-50%); z-index:5; width:58px; height:58px; border-radius:50%; display:grid; place-items:center; align-content:center; background:linear-gradient(145deg,#7e36ef,#3f116f); border:1px solid rgba(255,255,255,.3); box-shadow:0 0 0 9px rgba(130,56,242,.10),0 0 38px rgba(150,73,255,.42); }
.erp-api-node span { font-size:.68rem; font-weight:800; line-height:1; }.erp-api-node small{font-size:.48rem;color:#d9c3f7;margin-top:3px}
.erp-engine { position:absolute; left:55%; top:50%; transform:translate(-50%,-50%); width:205px; height:205px; display:grid; place-items:center; z-index:4; }
.erp-engine-orbit { position:absolute; border-radius:50%; border:1px solid rgba(199,157,255,.23); }
.erp-engine-orbit.orbit-a { width:205px; height:205px; box-shadow:0 0 44px rgba(139,60,255,.12) inset; }
.erp-engine-orbit.orbit-b { width:169px; height:169px; border-style:dashed; animation:spin 35s linear infinite; }
.erp-engine-core { width:130px; height:130px; border-radius:36px; display:flex; flex-direction:column; align-items:center; justify-content:center; background:linear-gradient(145deg,rgba(139,58,255,.92),rgba(68,16,119,.94)); border:1px solid rgba(255,255,255,.22); box-shadow:0 0 0 10px rgba(129,51,237,.08),0 25px 60px rgba(29,5,51,.4); }
.erp-engine-core img { width:42px; height:42px; filter:brightness(0) invert(1); opacity:.96; }
.erp-engine-core strong { margin-top:7px; font-size:.85rem; }.erp-engine-core span{font-size:.53rem;color:#ddc6f7;margin-top:1px}
.erp-output-stack { position:absolute; right:4.5%; top:50%; transform:translateY(-50%); width:31%; display:grid; gap:16px; z-index:3; }
.erp-output-card { display:grid; grid-template-columns:31px 1fr 24px; gap:9px; align-items:center; min-height:82px; padding:13px; border-radius:17px; background:rgba(37,15,64,.76); border:1px solid rgba(196,155,255,.18); box-shadow:0 14px 32px rgba(0,0,0,.14); backdrop-filter:blur(12px); }
.erp-output-card>span { display:grid; place-items:center; width:29px; height:29px; border-radius:9px; background:rgba(161,93,255,.16); color:#d8b8ff; font-size:.56rem; font-weight:700; }
.erp-output-card strong { display:block; color:#fff; font-size:.68rem; line-height:1.25; }.erp-output-card small{display:block;color:#9f8caf;font-size:.55rem;margin-top:3px}.erp-output-card i{display:grid;place-items:center;width:21px;height:21px;border-radius:50%;background:#7130f5;color:#fff;font-size:.58rem;font-style:normal}
.erp-flow-line { position:absolute; z-index:2; height:1px; background:linear-gradient(90deg,rgba(156,69,255,.25),rgba(199,154,255,.85),rgba(156,69,255,.28)); box-shadow:0 0 10px rgba(150,72,255,.75); transform-origin:left center; }
.flow-left-one{left:30%;top:30%;width:64px;transform:rotate(20deg)}.flow-left-two{left:30%;top:50%;width:60px}.flow-left-three{left:30%;top:70%;width:64px;transform:rotate(-20deg)}
.flow-api{left:41.5%;top:50%;width:57px}.flow-right-one{left:65%;top:38%;width:72px;transform:rotate(-15deg)}.flow-right-two{left:65%;top:50%;width:70px}.flow-right-three{left:65%;top:62%;width:72px;transform:rotate(15deg)}

.erp-proof-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin-top:26px; }
.erp-proof-card { display:grid; grid-template-columns:44px 1fr; gap:13px; padding:20px; border-radius:20px; background:rgba(255,255,255,.055); border:1px solid rgba(255,255,255,.09); }
.erp-proof-icon { display:grid; place-items:center; width:41px; height:41px; border-radius:13px; background:rgba(164,96,255,.14); border:1px solid rgba(208,172,255,.15); color:#d9b9ff; font-size:.64rem; font-weight:800; }
.erp-proof-card strong { display:block; font-size:.78rem; color:#fff; }.erp-proof-card p{margin:4px 0 0;color:#aa9ab9;font-size:.68rem;line-height:1.55}
.erp-footnote { display:flex; gap:8px; align-items:center; justify-content:center; flex-wrap:wrap; margin-top:26px; text-align:center; color:#a999b9; font-size:.7rem; }.erp-footnote strong{color:#d4b8f5}

@media (max-width: 1040px) {
  .erp-shell { grid-template-columns:1fr; gap:44px; }
  .erp-copy { max-width:820px; }
  .erp-network { max-width:760px; margin-inline:auto; }
  .erp-proof-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 820px) {
  .erp-copy h2 { font-size:clamp(2.35rem,8vw,3.55rem); }
  .erp-network { min-height:520px; }
  .erp-client-stack { left:4%; width:29%; }
  .erp-output-stack { right:3%; width:31%; }
  .erp-engine { left:54.5%; transform:translate(-50%,-50%) scale(.9); }
  .erp-api-node { left:37%; transform:translate(-50%,-50%) scale(.9); }
}

@media (max-width: 560px) {
  .erp-shell { gap:34px; }
  .erp-copy h2 { font-size:2.05rem; }
  .erp-lead { font-size:.92rem; line-height:1.7; }
  .erp-story { margin-top:24px; }
  .erp-story-step { grid-template-columns:38px 1fr; gap:12px; }
  .erp-story-step strong { font-size:1rem; line-height:1.25; }
  .erp-story-step small { font-size:.82rem; }
  .erp-actions { align-items:stretch; flex-direction:column; gap:12px; }
  .erp-actions .btn {
    width:100%;
    justify-content:center;
    text-align:center;
    min-height:58px;
  }
  .erp-doc-link {
    display:flex;
    justify-content:center;
    align-items:center;
    text-align:center;
    width:100%;
    min-height:54px;
    padding:0 18px;
    border-radius:999px;
    border:1px solid rgba(255,255,255,.14);
    background:rgba(255,255,255,.06);
  }

  .erp-network {
    min-height:auto;
    border-radius:24px;
    padding:18px;
    display:flex;
    flex-direction:column;
    gap:16px;
  }
  .erp-network-grid,
  .erp-flow-line { display:none; }

  .erp-client-stack,
  .erp-api-node,
  .erp-engine,
  .erp-output-stack {
    position:relative;
    left:auto;
    right:auto;
    top:auto;
    bottom:auto;
    transform:none;
    width:100%;
  }

  .erp-client-stack {
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
  }
  .erp-client-card {
    min-height:unset;
    padding:14px 15px;
    border-radius:16px;
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    column-gap:12px;
  }
  .erp-card-tag { margin:0; font-size:.54rem; }
  .erp-client-card strong { margin-top:0; font-size:.82rem; line-height:1.2; }
  .erp-client-card small { font-size:.64rem; }
  .erp-mini-bars,.erp-mini-ring,.erp-mini-lines { display:block; position:relative; right:auto; bottom:auto; }
  .erp-mini-lines { justify-self:end; }
  .erp-mini-ring { justify-self:end; }
  .erp-mini-bars { justify-self:end; }

  .erp-api-node {
    margin:0 auto;
    width:70px;
    height:70px;
    box-shadow:0 0 0 10px rgba(130,56,242,.10),0 0 38px rgba(150,73,255,.42);
  }
  .erp-api-node span { font-size:.8rem; }
  .erp-api-node small { font-size:.55rem; }

  .erp-engine {
    width:180px;
    height:180px;
    margin:0 auto;
  }
  .erp-engine-orbit.orbit-a { width:180px; height:180px; }
  .erp-engine-orbit.orbit-b { width:146px; height:146px; }
  .erp-engine-core { width:120px; height:120px; border-radius:32px; }

  .erp-output-stack {
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
  }
  .erp-output-card {
    min-height:unset;
    padding:12px 13px;
    grid-template-columns:31px 1fr 21px;
    border-radius:16px;
  }
  .erp-output-card strong { font-size:.76rem; }
  .erp-output-card small { font-size:.62rem; }

  .erp-proof-grid { grid-template-columns:1fr; }
  .erp-proof-card { padding:17px; }
}

@media (max-width: 420px) {
  .erp-copy h2 { font-size:1.85rem; }
  .erp-client-card {
    grid-template-columns:auto 1fr;
    row-gap:10px;
  }
  .erp-mini-bars,
  .erp-mini-ring,
  .erp-mini-lines {
    grid-column:2;
    justify-self:start;
  }
  .erp-output-card strong { font-size:.72rem; }
  .erp-output-card small { font-size:.58rem; }
}

/* ERP MOBILE V2 - layout simplificado e independente do diagrama desktop */
@media (max-width: 600px) {
  #integracoes-erp.erp-integrations {
    background: linear-gradient(155deg,#160826 0%,#24103f 50%,#190b30 100%) !important;
    color:#fff !important;
    padding-top:72px !important;
    padding-bottom:72px !important;
  }

  #integracoes-erp .container {
    width:min(100% - 32px, 1180px) !important;
  }

  #integracoes-erp .erp-shell {
    display:block !important;
  }

  #integracoes-erp .erp-copy h2 {
    margin:12px 0 18px !important;
    font-size:clamp(2rem,9vw,2.65rem) !important;
    line-height:1.08 !important;
    letter-spacing:-.045em !important;
  }

  #integracoes-erp .erp-lead {
    color:#d0c4dc !important;
    font-size:.96rem !important;
    line-height:1.72 !important;
  }

  #integracoes-erp .erp-story {
    margin-top:28px !important;
    border-top:0 !important;
    display:grid !important;
    gap:12px !important;
  }

  #integracoes-erp .erp-story-step {
    display:grid !important;
    grid-template-columns:42px minmax(0,1fr) !important;
    gap:13px !important;
    align-items:start !important;
    padding:16px !important;
    border:1px solid rgba(255,255,255,.10) !important;
    border-radius:18px !important;
    background:rgba(255,255,255,.055) !important;
  }

  #integracoes-erp .erp-story-step > span {
    width:38px !important;
    height:38px !important;
    border-radius:12px !important;
  }

  #integracoes-erp .erp-story-step strong {
    display:block !important;
    color:#fff !important;
    font-size:.98rem !important;
    line-height:1.3 !important;
  }

  #integracoes-erp .erp-story-step small {
    display:block !important;
    margin-top:5px !important;
    color:#b6a8c3 !important;
    font-size:.79rem !important;
    line-height:1.55 !important;
  }

  #integracoes-erp .erp-actions {
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    margin-top:22px !important;
  }

  #integracoes-erp .erp-actions .btn,
  #integracoes-erp .erp-doc-link {
    width:100% !important;
    min-height:56px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:8px !important;
    text-align:center !important;
    border-radius:16px !important;
    font-size:.9rem !important;
  }

  #integracoes-erp .erp-doc-link {
    color:#eadcff !important;
    border:1px solid rgba(255,255,255,.13) !important;
    background:rgba(255,255,255,.055) !important;
  }

  /* No celular o diagrama complexo vira um resumo visual compacto. */
  #integracoes-erp .erp-visual {
    margin-top:26px !important;
  }

  #integracoes-erp .erp-network {
    min-height:0 !important;
    padding:18px !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
    border-radius:22px !important;
    overflow:hidden !important;
  }

  #integracoes-erp .erp-network-grid,
  #integracoes-erp .erp-flow-line,
  #integracoes-erp .erp-client-stack,
  #integracoes-erp .erp-engine-orbit {
    display:none !important;
  }

  #integracoes-erp .erp-api-node,
  #integracoes-erp .erp-engine,
  #integracoes-erp .erp-output-stack {
    position:static !important;
    transform:none !important;
    width:100% !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    bottom:auto !important;
  }

  #integracoes-erp .erp-api-node {
    width:auto !important;
    height:auto !important;
    min-height:52px !important;
    margin:0 !important;
    padding:10px 14px !important;
    border-radius:14px !important;
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:center !important;
    gap:7px !important;
    box-shadow:none !important;
    background:rgba(126,54,239,.18) !important;
    border:1px solid rgba(203,164,255,.18) !important;
  }

  #integracoes-erp .erp-api-node::before {
    content:'ERP dos clientes  →' !important;
    color:#d8c5ea !important;
    font-size:.72rem !important;
    font-weight:700 !important;
  }

  #integracoes-erp .erp-api-node span,
  #integracoes-erp .erp-api-node small {
    display:inline !important;
    margin:0 !important;
    font-size:.72rem !important;
  }

  #integracoes-erp .erp-api-node span::after {
    content:' segura' !important;
    font-weight:500 !important;
    color:#d8c5ea !important;
  }

  #integracoes-erp .erp-api-node small { display:none !important; }

  #integracoes-erp .erp-engine {
    height:auto !important;
    display:block !important;
    margin:0 !important;
  }

  #integracoes-erp .erp-engine-core {
    width:100% !important;
    height:auto !important;
    min-height:116px !important;
    border-radius:20px !important;
    flex-direction:row !important;
    justify-content:flex-start !important;
    padding:20px !important;
    gap:13px !important;
    box-shadow:0 18px 48px rgba(34,5,59,.35) !important;
  }

  #integracoes-erp .erp-engine-core img {
    width:48px !important;
    height:48px !important;
    flex:0 0 auto !important;
  }

  #integracoes-erp .erp-engine-core strong {
    margin:0 !important;
    font-size:1.05rem !important;
  }

  #integracoes-erp .erp-engine-core span {
    margin-left:auto !important;
    font-size:.65rem !important;
    color:#e3cff8 !important;
  }

  #integracoes-erp .erp-output-stack {
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:9px !important;
  }

  #integracoes-erp .erp-output-card {
    min-height:64px !important;
    padding:12px 13px !important;
    display:grid !important;
    grid-template-columns:34px minmax(0,1fr) 24px !important;
    align-items:center !important;
    gap:10px !important;
    border-radius:15px !important;
    background:rgba(37,15,64,.82) !important;
  }

  #integracoes-erp .erp-output-card strong {
    display:block !important;
    font-size:.78rem !important;
    line-height:1.25 !important;
  }

  #integracoes-erp .erp-output-card small {
    display:block !important;
    margin-top:3px !important;
    font-size:.61rem !important;
  }

  #integracoes-erp .erp-proof-grid {
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    margin-top:18px !important;
  }

  #integracoes-erp .erp-proof-card {
    display:grid !important;
    grid-template-columns:46px minmax(0,1fr) !important;
    gap:13px !important;
    padding:16px !important;
    border-radius:17px !important;
    background:rgba(255,255,255,.055) !important;
    border:1px solid rgba(255,255,255,.09) !important;
  }

  #integracoes-erp .erp-proof-card strong {
    font-size:.86rem !important;
  }

  #integracoes-erp .erp-proof-card p {
    font-size:.72rem !important;
    line-height:1.55 !important;
  }

  #integracoes-erp .erp-footnote {
    margin-top:18px !important;
    font-size:.68rem !important;
    line-height:1.55 !important;
  }
}


/* Módulo Financeiro */
.finance-module {
  position: relative;
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(circle at 10% 12%, rgba(139, 78, 255, .20), transparent 26%),
    radial-gradient(circle at 87% 82%, rgba(101, 53, 255, .16), transparent 32%),
    linear-gradient(145deg, #130621 0%, #23103e 44%, #190b30 100%);
}

.finance-section-glow {
  position: absolute;
  width: 460px;
  height: 460px;
  border-radius: 50%;
  filter: blur(16px);
  opacity: .35;
  pointer-events: none;
}

.finance-glow-one { top: -160px; left: -110px; background: rgba(142, 84, 255, .26); }
.finance-glow-two { right: -160px; bottom: -180px; background: rgba(96, 56, 255, .22); }

.finance-module .section-head {
  position: relative;
  z-index: 1;
  max-width: 900px;
  margin-bottom: 42px;
}

.finance-module .section-head p,
.finance-gallery-head h3,
.finance-copy p,
.finance-highlights-grid p,
.finance-proof-card p,
.finance-gallery-card span {
  color: #d1c2e4;
}

.finance-shell {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(340px, .9fr);
  gap: 28px;
  align-items: center;
  margin-bottom: 28px;
}

.finance-copy,
.finance-promo-card,
.finance-proof-card,
.finance-gallery-card {
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: 0 18px 42px rgba(5, 0, 12, .16);
}

.finance-copy {
  border-radius: 32px;
  padding: 34px;
}

.finance-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.12);
  font-size: .74rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #efe7ff;
  margin-bottom: 18px;
}

.finance-copy h3,
.finance-gallery-head h3 {
  margin: 0 0 14px;
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  line-height: 1.15;
  letter-spacing: -.03em;
  color: #fff;
}

.finance-copy p {
  margin: 0 0 22px;
  font-size: .97rem;
  line-height: 1.72;
}

.finance-chip-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 24px;
}

.finance-chip-grid span {
  padding: 10px 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.12);
  color: #f6efff;
  font-size: .78rem;
  font-weight: 600;
}

.finance-highlights-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.finance-highlights-grid article {
  border-radius: 22px;
  padding: 18px 18px 16px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.09);
}

.finance-highlights-grid strong,
.finance-proof-card strong,
.finance-gallery-card strong {
  display: block;
  color: #fff;
}

.finance-highlights-grid strong {
  margin-bottom: 8px;
  font-size: .96rem;
}

.finance-highlights-grid p {
  margin: 0;
  font-size: .8rem;
  line-height: 1.62;
}

.finance-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
  margin-top: 26px;
}

.finance-link {
  color: #fff;
  text-decoration: none;
  font-weight: 600;
}

.finance-link span { color: #b689ff; }

.finance-promo-card {
  margin: 0;
  padding: 18px;
  border-radius: 34px;
}

.finance-promo-card img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 24px;
}

.finance-proof-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin: 0 0 34px;
}

.finance-proof-card {
  display: grid;
  grid-template-columns: 54px minmax(0,1fr);
  gap: 16px;
  align-items: start;
  border-radius: 24px;
  padding: 24px;
}

.finance-proof-icon {
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  border-radius: 18px;
  background: rgba(185, 142, 255, .14);
  border: 1px solid rgba(185, 142, 255, .18);
  color: #fff;
  font-size: .88rem;
  font-weight: 700;
}

.finance-proof-card strong {
  margin-bottom: 8px;
  font-size: .98rem;
}

.finance-proof-card p {
  margin: 0;
  font-size: .82rem;
  line-height: 1.65;
}

.finance-gallery-head {
  position: relative;
  z-index: 1;
  max-width: 860px;
  margin-bottom: 24px;
}

.finance-gallery-head .section-label {
  margin-bottom: 12px;
}

.finance-gallery {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.finance-gallery-card {
  margin: 0;
  overflow: hidden;
  border-radius: 28px;
}

.finance-gallery-card img {
  width: 100%;
  height: 420px;
  display: block;
  object-fit: cover;
  object-position: top center;
}

.finance-gallery-card figcaption {
  padding: 18px 18px 20px;
}

.finance-gallery-card strong {
  margin-bottom: 8px;
  font-size: 1rem;
}

.finance-gallery-card span {
  display: block;
  font-size: .8rem;
  line-height: 1.62;
}

.finance-essential-offer {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(260px,.8fr) minmax(0,1.2fr);
  gap: 28px;
  align-items: center;
  margin: 0 0 30px;
  padding: 30px;
  border-radius: 28px;
  background: linear-gradient(135deg, rgba(255,255,255,.12), rgba(255,255,255,.06));
  border: 1px solid rgba(255,255,255,.16);
  box-shadow: 0 22px 54px rgba(5,0,12,.18);
}
.finance-essential-summary h3 {
  margin: 14px 0 8px;
  color: #fff;
  font-size: clamp(1.65rem,2.6vw,2.2rem);
  line-height: 1.12;
}
.finance-essential-summary p {
  margin: 0 0 18px;
  color: #d8cae9;
  font-size: .86rem;
  line-height: 1.65;
}
.finance-essential-badge {
  display: inline-flex;
  padding: 7px 11px;
  border-radius: 999px;
  background: #fff;
  color: #6324d7;
  font-size: .69rem;
  font-weight: 800;
  letter-spacing: .04em;
}
.finance-essential-price {
  display: flex;
  align-items: baseline;
  gap: 5px;
  margin: 8px 0 2px;
  color: #fff;
}
.finance-essential-price small { font-size: 1rem; font-weight: 700; }
.finance-essential-price strong { font-size: 2.4rem; line-height: 1; letter-spacing: -.04em; }
.finance-essential-price span { color: #d8cae9; font-size: .82rem; }
.finance-essential-note {
  margin-bottom: 20px;
  color: #cbb9df;
  font-size: .74rem;
}
.finance-essential-features {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 11px 18px;
}
.finance-essential-features li {
  color: #f6efff;
  font-size: .8rem;
  line-height: 1.45;
}

@media (max-width: 1080px) {
  .finance-essential-offer { grid-template-columns: 1fr; }
  .finance-essential-features { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .finance-shell {
    grid-template-columns: 1fr;
  }

  .finance-promo-card {
    max-width: 620px;
    margin: 0 auto;
  }

  .finance-proof-grid,
  .finance-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .finance-copy {
    padding: 24px;
    border-radius: 24px;
  }

  .finance-highlights-grid,
  .finance-proof-grid,
  .finance-gallery {
    grid-template-columns: 1fr;
  }

  .finance-gallery-card,
  .finance-proof-card,
  .finance-promo-card {
    border-radius: 22px;
  }

  .finance-gallery-card img {
    height: 360px;
  }
}

@media (max-width: 560px) {
  .finance-essential-offer { padding: 22px; border-radius: 22px; }
  .finance-essential-features { grid-template-columns: 1fr; }
  .finance-module {
    padding-bottom: 84px;
  }

  .finance-shell {
    gap: 18px;
    margin-bottom: 24px;
  }

  .finance-chip-grid {
    gap: 8px;
  }

  .finance-chip-grid span {
    padding: 9px 12px;
    font-size: .72rem;
  }

  .finance-copy p,
  .finance-proof-card p,
  .finance-gallery-card span,
  .finance-highlights-grid p {
    font-size: .76rem;
  }

  .finance-gallery {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: min(86vw, 340px);
    grid-template-columns: none;
    gap: 14px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 2px;
    padding: 2px 2px 16px;
    margin-right: calc((100vw - var(--container)) / -2);
    padding-right: 22px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .finance-gallery::-webkit-scrollbar {
    display: none;
  }

  .finance-gallery-card {
    scroll-snap-align: start;
    min-width: 0;
  }

  .finance-gallery-card img {
    height: 330px;
  }

  .finance-gallery::after {
    content: '';
    width: 8px;
  }
}


/* Dados institucionais na seção de contato */
.contact-company-info {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 26px;
}

.contact-company-info .contact-company-item:first-child {
  grid-column: 1 / -1;
}

.contact-company-item {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  padding: 14px 15px;
  border: 1px solid rgba(103, 54, 162, .11);
  border-radius: 18px;
  background: rgba(255,255,255,.72);
  box-shadow: 0 12px 28px rgba(48, 24, 76, .05);
  color: inherit;
  text-decoration: none;
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.contact-company-item:hover {
  transform: translateY(-2px);
  border-color: rgba(111, 44, 244, .22);
  box-shadow: 0 16px 34px rgba(48, 24, 76, .08);
}

.contact-company-icon {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  border-radius: 12px;
  background: linear-gradient(145deg, rgba(111,44,244,.12), rgba(155,92,255,.08));
  border: 1px solid rgba(111,44,244,.12);
  color: var(--primary-dark);
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .04em;
}

.contact-company-item div {
  min-width: 0;
}

.contact-company-item small,
.contact-company-item strong {
  display: block;
}

.contact-company-item small {
  margin-bottom: 3px;
  color: var(--muted);
  font-size: .67rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .05em;
}

.contact-company-item strong {
  color: #33283f;
  font-size: .82rem;
  font-weight: 700;
  line-height: 1.35;
  white-space: normal;
  overflow-wrap: anywhere;
}

@media (max-width: 1040px) {
  .contact-company-info {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .contact-company-info .contact-company-item:first-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 560px) {
  .contact-company-info {
    margin-top: 22px;
  }

  .contact-company-item {
    padding: 13px 14px;
    border-radius: 16px;
  }

  .contact-company-item strong {
    font-size: .8rem;
  }
}


/* ===== Página de Planos ===== */
.sr-only {
  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;
}
.pricing-page { background: #fcfbff; }
.pricing-hero {
  padding: 130px 0 62px;
  background:
    radial-gradient(circle at 18% 10%, rgba(113,48,245,.10), transparent 30%),
    radial-gradient(circle at 82% 16%, rgba(156,69,255,.08), transparent 28%),
    linear-gradient(180deg,#fff 0%,#faf8ff 100%);
  border-bottom: 1px solid rgba(88,49,145,.08);
}
.pricing-hero .seo-breadcrumb { margin-bottom: 30px; }
.pricing-hero-copy { max-width: 820px; margin: 0 auto; text-align: center; }
.pricing-hero-copy h1 {
  margin: 0 0 18px;
  font-size: clamp(2.65rem,5vw,4.75rem);
  line-height: 1.06;
  letter-spacing: -.052em;
}
.pricing-hero-copy h1 span {
  background: linear-gradient(100deg,var(--primary-dark),var(--primary-2));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.pricing-hero-copy p {
  max-width: 740px;
  margin: 0 auto;
  color: var(--muted);
  font-size: 1.02rem;
}
.pricing-section { padding: 56px 0 110px; }
.pricing-shell { width: min(1540px, calc(100% - 28px)); margin: 0 auto; }
.pricing-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 18px;
  align-items: stretch;
}
.pricing-card {
  position: relative;
  min-width: 0;
  display: flex;
  flex-direction: column;
  padding: 54px 18px 26px;
  background: rgba(255,255,255,.97);
  border: 1px solid rgba(72,48,109,.14);
  border-radius: 18px;
  box-shadow: 0 12px 32px rgba(52,30,88,.035);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.pricing-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 22px 48px rgba(65,32,115,.10);
  border-color: rgba(113,48,245,.24);
}
.pricing-card-free { border-color: #7130f5; box-shadow: 0 12px 34px rgba(113,48,245,.07); }
.pricing-card-essential {
  border-color: rgba(113,48,245,.42);
  box-shadow: 0 18px 44px rgba(113,48,245,.11);
}
.plan-trial-copy {
  margin-top: 10px;
  color: #6324d7;
  font-size: .69rem;
  font-weight: 800;
  line-height: 1.45;
}
.plan-badge {
  position: absolute;
  top: 18px;
  left: 18px;
  display: inline-flex;
  align-items: center;
  min-height: 25px;
  padding: 4px 9px;
  border-radius: 999px;
  background: #fff0b5;
  color: #8a5d00;
  font-size: .67rem;
  font-weight: 800;
  letter-spacing: .01em;
}
.plan-heading { display: flex; align-items: center; gap: 12px; min-height: 52px; }
.plan-icon {
  flex: 0 0 auto;
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  background: #fff2cc;
  color: #b27a00;
}
.plan-icon svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.plan-kicker { display: block; color: #777286; font-size: .71rem; font-weight: 700; letter-spacing: .01em; line-height: 1.25; }
.plan-heading h2 { margin: 4px 0 0; color: #29203d; font-size: .92rem; line-height: 1.25; letter-spacing: -.01em; }
.plan-description { min-height: 62px; margin: 14px 0 22px; color: #777183; font-size: .75rem; line-height: 1.5; }
.plan-price { display: flex; align-items: baseline; gap: 4px; min-height: 40px; }
.plan-price strong { color: #3d2f59; font-size: 1.42rem; line-height: 1; letter-spacing: -.035em; }
.plan-price span { color: #81798b; font-size: .70rem; }
.plan-divider { height: 1px; background: rgba(75,55,105,.14); margin: 18px 0 14px; }
.plan-features { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; }
.plan-features li { display: grid; grid-template-columns: 18px 1fr; gap: 8px; align-items: start; color: #3e3155; font-size: .70rem; font-weight: 600; line-height: 1.42; }
.plan-check { color: #7546ea; font-size: 1rem; font-weight: 700; line-height: 1.05; }
.pricing-note {
  margin: 28px auto 0;
  max-width: 960px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 24px 26px;
  border: 1px solid rgba(113,48,245,.12);
  border-radius: 20px;
  background: linear-gradient(135deg,#fff,#f7f2ff);
  box-shadow: var(--shadow-soft);
}
.pricing-note p { margin: 0; color: var(--muted); font-size: .86rem; }
.pricing-note strong { color: var(--deep); }

@media (max-width: 1230px) {
  .pricing-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
  .pricing-card { padding-inline: 24px; }
  .plan-description { min-height: 42px; }
}
@media (max-width: 820px) {
  .pricing-hero { padding: 108px 0 48px; }
  .pricing-hero-copy h1 { font-size: 2.75rem; }
  .pricing-section { padding: 38px 0 78px; }
  .pricing-shell { width: min(100% - 28px, 680px); }
  .pricing-grid { grid-template-columns: 1fr; }
  .pricing-card { padding: 50px 22px 26px; }
  .plan-description { min-height: auto; }
  .pricing-note { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 480px) {
  .pricing-hero-copy h1 { font-size: 2.35rem; }
  .pricing-hero-copy p { font-size: .92rem; }
  .pricing-card { border-radius: 16px; }
  .pricing-note .btn { width: 100%; }
}

/* Planos - CTA, condições e FAQ */
.pricing-trust {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin-top: 24px;
}
.pricing-trust span {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 7px 12px;
  border: 1px solid rgba(113,48,245,.12);
  border-radius: 999px;
  background: rgba(255,255,255,.78);
  color: #58476e;
  box-shadow: 0 7px 20px rgba(60,31,100,.04);
  font-size: .72rem;
  font-weight: 700;
}
.plan-action {
  margin-top: auto;
  padding-top: 24px;
}
.plan-btn {
  width: 100%;
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid rgba(113,48,245,.22);
  background: #f8f4ff;
  color: #6324d7;
  font-size: .74rem;
  font-weight: 800;
}
.plan-btn:hover {
  border-color: rgba(113,48,245,.42);
  background: #f1e9ff;
  color: #5520ba;
}
.plan-btn-primary {
  border-color: #7130f5;
  background: linear-gradient(135deg,#7130f5,#8a42f5);
  color: #fff;
  box-shadow: 0 10px 24px rgba(113,48,245,.18);
}
.plan-btn-primary:hover {
  border-color: #6324dc;
  background: linear-gradient(135deg,#6324dc,#7b34e7);
  color: #fff;
}
.pricing-card-professional {
  border-color: rgba(113,48,245,.35);
  box-shadow: 0 16px 42px rgba(113,48,245,.09);
}
.pricing-note > div { min-width: 0; }
.pricing-note > div > strong {
  display: block;
  margin-bottom: 4px;
  color: var(--deep);
  font-size: .96rem;
}
.pricing-note .btn { flex: 0 0 auto; }

.pricing-faq {
  padding: 92px 0 110px;
  background:
    radial-gradient(circle at 85% 10%, rgba(113,48,245,.08), transparent 26%),
    linear-gradient(180deg,#f9f6ff 0%,#fff 100%);
  border-top: 1px solid rgba(88,49,145,.07);
}
.pricing-faq-shell { max-width: 1000px; }
.pricing-faq-head {
  max-width: 730px;
  margin: 0 auto 34px;
  text-align: center;
}
.pricing-faq-head h2 {
  margin: 12px 0 12px;
  color: var(--deep);
  font-size: clamp(2rem,4vw,3.15rem);
  line-height: 1.08;
  letter-spacing: -.04em;
}
.pricing-faq-head p {
  margin: 0;
  color: var(--muted);
  font-size: .94rem;
  line-height: 1.7;
}
.pricing-faq-list {
  display: grid;
  gap: 12px;
}
.pricing-faq-list details {
  overflow: hidden;
  border: 1px solid rgba(78,48,118,.12);
  border-radius: 17px;
  background: rgba(255,255,255,.93);
  box-shadow: 0 10px 30px rgba(53,27,88,.035);
}
.pricing-faq-list summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 20px 22px;
  cursor: pointer;
  list-style: none;
  color: #342647;
  font-size: .88rem;
  font-weight: 700;
}
.pricing-faq-list summary::-webkit-details-marker { display: none; }
.pricing-faq-list summary span {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 27px;
  height: 27px;
  border-radius: 50%;
  background: #f2ebff;
  color: #7130f5;
  font-size: 1.05rem;
  line-height: 1;
  transition: transform .2s ease;
}
.pricing-faq-list details[open] summary span { transform: rotate(45deg); }
.pricing-faq-list details p {
  margin: 0;
  padding: 0 22px 21px;
  max-width: 850px;
  color: var(--muted);
  font-size: .82rem;
  line-height: 1.72;
}
.pricing-faq-list details p strong { color: #49335f; }
.pricing-faq-contact {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 26px;
  color: var(--muted);
  font-size: .82rem;
}
.pricing-faq-contact p { margin: 0; }
.pricing-faq-contact a { color: #6b2ce0; font-weight: 800; }

@media (max-width: 820px) {
  .pricing-trust { gap: 8px; margin-top: 20px; }
  .pricing-trust span { font-size: .69rem; }
  .pricing-faq { padding: 68px 0 78px; }
  .pricing-faq-head { margin-bottom: 26px; }
}
@media (max-width: 480px) {
  .pricing-trust { display: grid; grid-template-columns: 1fr 1fr; }
  .pricing-trust span { justify-content: center; text-align: center; padding-inline: 8px; }
  .plan-action { padding-top: 22px; }
  .pricing-faq { padding: 56px 0 64px; }
  .pricing-faq-list summary { padding: 18px 17px; font-size: .84rem; }
  .pricing-faq-list details p { padding: 0 17px 18px; font-size: .79rem; }
}

/* Cloudflare Turnstile - formulário de contato */
.turnstile-wrap {
  width: 100%;
  min-height: 65px;
  margin: 4px 0 14px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.turnstile-wrap .cf-turnstile {
  width: 100%;
  max-width: 100%;
}
.turnstile-wrap iframe {
  max-width: 100%;
}


/* Posicionamento 2026-09-30: orçamentos no centro, financeiro como complemento */
.finance-module-complement .finance-shell {
  align-items: stretch;
}
.finance-module-complement .finance-highlights-compact {
  grid-template-columns: repeat(2,minmax(0,1fr));
}
.finance-promo-complement {
  position: relative;
  overflow: hidden;
  min-height: 520px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding-top: 64px;
}
.finance-promo-complement img {
  max-height: 620px;
  width: auto;
  object-fit: contain;
  object-position: bottom center;
}
.finance-complement-badge {
  position: absolute;
  top: 22px;
  left: 22px;
  z-index: 2;
  display: inline-flex;
  padding: 7px 11px;
  border-radius: 999px;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.18);
  color: #fff;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .04em;
}
.finance-complement-note {
  margin-top: 22px;
  padding: 20px 24px;
  display: flex;
  gap: 10px 18px;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  text-align: center;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 18px;
  background: rgba(255,255,255,.06);
  color: #e9defa;
}
.finance-complement-note strong { color: #fff; }
.finance-complement-note span { max-width: 820px; font-size: .84rem; line-height: 1.6; }

.pricing-trial-banner {
  margin: 0 auto 22px;
  max-width: 1120px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 18px;
  padding: 20px 22px;
  border: 1px solid rgba(113,48,245,.18);
  border-radius: 20px;
  background: linear-gradient(135deg,#fff,#f5efff);
  box-shadow: 0 12px 32px rgba(77,39,125,.06);
}
.pricing-trial-icon {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: #7130f5;
  color: #fff;
  font-size: 1.25rem;
  box-shadow: 0 10px 24px rgba(113,48,245,.20);
}
.pricing-trial-banner strong { display:block; color:var(--deep); font-size:.95rem; margin-bottom:3px; }
.pricing-trial-banner p { margin:0; color:var(--muted); font-size:.78rem; line-height:1.55; }
.pricing-grid-three { max-width: 1320px; margin: 0 auto; }
.plan-annual { min-height: 18px; margin-top: 7px; color:#766d82; font-size:.68rem; font-weight:600; }
.plan-badge-soft { background:#eee6ff; color:#6c31dc; }
.plan-badge-purple { background:#7130f5; color:#fff; }
.pricing-card-complete { border-color: rgba(113,48,245,.22); }

@media (max-width: 900px) {
  .pricing-trial-banner { grid-template-columns: auto 1fr; }
  .pricing-trial-banner .btn { grid-column: 1 / -1; width:100%; justify-content:center; }
}
@media (max-width: 820px) {
  .finance-module-complement .finance-highlights-compact { grid-template-columns:1fr; }
  .finance-promo-complement { min-height: 400px; }
}
@media (max-width: 560px) {
  .pricing-trial-banner { grid-template-columns:1fr; text-align:left; }
  .pricing-trial-icon { width:40px;height:40px; }
  .finance-complement-note { text-align:left; justify-content:flex-start; }
}


/* =========================================================
   Editais, WhatsApp e identificação legal — 2026-10-05
   ========================================================= */

/* Mantém a navegação confortável com o novo item Editais. */
/* Mantém a navegação organizada e todos os itens em uma única linha no desktop. */
.site-header .nav-wrap { justify-content: space-between; flex-wrap: nowrap; }
.brand img { width: 186px; }
.main-nav { flex-wrap: nowrap; gap: 24px; }
.main-nav a { font-size: .84rem; white-space: nowrap; }
.btn-header { padding-inline: 18px; font-size: .88rem; }

@media (min-width: 1400px) {
  .site-header .nav-wrap { gap: 26px; }
  .main-nav { gap: 28px; }
  .main-nav a { font-size: .86rem; }
}

@media (max-width: 1240px) and (min-width: 1041px) {
  .site-header .nav-wrap { gap: 22px; }
  .main-nav { gap: 20px; }
  .main-nav a { font-size: .84rem; }
  .btn-header { padding-inline: 16px; }
}

/* Destaque principal de Editais */
.editais-section {
  position: relative;
  overflow: hidden;
  padding: 110px 0;
  background: linear-gradient(145deg, #21103f 0%, #351265 48%, #51169a 100%);
  color: #fff;
}
.editais-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: radial-gradient(rgba(255,255,255,.07) 1px, transparent 1px);
  background-size: 28px 28px;
  mask-image: linear-gradient(90deg, transparent, #000 18%, #000 82%, transparent);
  pointer-events: none;
}
.editais-glow { position:absolute; border-radius:50%; filter:blur(110px); pointer-events:none; opacity:.22; }
.editais-glow-a { width:440px; height:440px; background:#a64dff; left:-180px; top:-120px; }
.editais-glow-b { width:520px; height:520px; background:#6f2cf4; right:-170px; bottom:-220px; }
.editais-shell { display:grid; grid-template-columns:.95fr 1.05fr; gap:72px; align-items:center; z-index:1; }
.editais-label-row { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:12px; }
.editais-label-row .section-label { margin:0; color:#d7c4ff; }
.editais-badge { display:inline-flex; align-items:center; padding:8px 12px; border-radius:999px; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.18); color:#fff; font-size:.67rem; font-weight:800; letter-spacing:.05em; box-shadow:0 8px 24px rgba(0,0,0,.08); }
.editais-copy h2 { margin:0 0 20px; font-size:clamp(2.45rem,4.2vw,4rem); line-height:1.08; letter-spacing:-.05em; }
.editais-copy h2 span { background:linear-gradient(90deg,#fff,#c9a5ff); -webkit-background-clip:text; background-clip:text; color:transparent; }
.editais-lead { margin:0; max-width:760px; color:rgba(255,255,255,.84); font-size:1.03rem; }
.editais-benefits { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:30px 0; }
.editais-benefits > div { display:flex; gap:12px; align-items:flex-start; padding:15px; border-radius:17px; background:rgba(255,255,255,.065); border:1px solid rgba(255,255,255,.09); }
.editais-benefits i { flex:0 0 34px; width:34px; height:34px; display:grid; place-items:center; border-radius:11px; background:rgba(255,255,255,.12); color:#decaff; font-style:normal; font-size:.66rem; font-weight:800; }
.editais-benefits p { margin:0; }
.editais-benefits strong { display:block; font-size:.82rem; color:#fff; }
.editais-benefits span { display:block; margin-top:3px; color:rgba(255,255,255,.62); font-size:.72rem; line-height:1.45; }
.editais-actions { display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
.editais-text-link { color:#e7d9ff; font-size:.8rem; font-weight:650; }
.editais-text-link:hover { color:#fff; }
.editais-note { margin:17px 0 0; color:rgba(255,255,255,.5); font-size:.67rem; max-width:640px; }
.editais-visual { position:relative; }
.editais-panel { position:relative; padding:24px; border-radius:28px; background:linear-gradient(150deg,rgba(255,255,255,.98),rgba(247,242,255,.95)); border:1px solid rgba(255,255,255,.55); box-shadow:0 38px 90px rgba(15,4,35,.34); color:var(--ink); }
.editais-panel::before { content:""; position:absolute; inset:-12px 30px auto; height:24px; border-radius:50%; background:#9c45ff; filter:blur(34px); opacity:.45; z-index:-1; }
.editais-panel-top { display:flex; justify-content:space-between; gap:18px; align-items:center; padding:2px 2px 16px; border-bottom:1px solid rgba(90,51,139,.09); }
.editais-panel-top div span { display:block; color:#8c8297; font-size:.65rem; text-transform:uppercase; letter-spacing:.12em; font-weight:700; }
.editais-panel-top div strong { display:block; margin-top:3px; font-size:1.08rem; }
.editais-live { display:flex; align-items:center; gap:7px; padding:7px 10px; border-radius:999px; background:#efe9ff; color:var(--primary-dark); font-size:.63rem; }
.editais-live i { width:7px; height:7px; border-radius:50%; background:#22a45d; box-shadow:0 0 0 4px rgba(34,164,93,.1); }
.edital-card { display:grid; grid-template-columns:42px 1fr auto; gap:13px; align-items:center; padding:15px; margin-top:12px; border:1px solid rgba(88,49,145,.09); border-radius:18px; background:#fff; box-shadow:0 8px 24px rgba(67,31,121,.05); }
.edital-card-featured { border-color:rgba(113,48,245,.22); box-shadow:0 14px 32px rgba(90,36,171,.1); }
.edital-card-icon { width:42px; height:42px; display:grid; place-items:center; border-radius:13px; color:var(--primary-dark); background:#f0e9ff; font-weight:800; }
.edital-card-copy span,.edital-card-copy strong,.edital-card-copy small { display:block; }
.edital-kicker { color:var(--primary-dark); font-size:.61rem; text-transform:uppercase; letter-spacing:.08em; font-weight:750; }
.edital-card-copy strong { margin-top:2px; font-size:.84rem; }
.edital-card-copy small { margin-top:2px; color:#8c8594; font-size:.68rem; line-height:1.4; }
.edital-arrow { display:grid; place-items:center; width:30px; height:30px; border-radius:10px; color:var(--primary-dark); background:#f6f2ff; font-size:.8rem; }
.editais-panel-footer { display:flex; gap:8px; flex-wrap:wrap; margin-top:16px; }
.editais-panel-footer span { display:flex; align-items:center; gap:6px; padding:6px 9px; border-radius:999px; background:#f5f1fb; color:#7e7488; font-size:.61rem; font-weight:600; }
.editais-panel-footer i { width:6px; height:6px; border-radius:50%; background:var(--primary); }

/* WhatsApp abaixo do formulário de contato */
.contact-right { display:grid; gap:18px; }
.whatsapp-contact { display:flex; align-items:center; gap:15px; padding:16px 18px; border-radius:20px; background:#fff; border:1px solid rgba(28,177,86,.2); box-shadow:0 13px 36px rgba(30,120,66,.08); transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.whatsapp-contact:hover { transform:translateY(-2px); box-shadow:0 18px 42px rgba(30,120,66,.13); border-color:rgba(28,177,86,.34); }
.whatsapp-mark { flex:0 0 46px; width:46px; height:46px; color:#25D366; }
.whatsapp-mark svg { display:block; width:100%; height:100%; }
.whatsapp-copy { min-width:0; }
.whatsapp-copy small,.whatsapp-copy strong { display:block; }
.whatsapp-copy small { color:#8c8594; font-size:.67rem; }
.whatsapp-copy strong { margin-top:1px; color:#25202d; font-size:.98rem; letter-spacing:-.01em; }
.whatsapp-action { margin-left:auto; color:#148b45; font-size:.73rem; font-weight:750; white-space:nowrap; }
.whatsapp-action b { margin-left:3px; }

/* Identificação legal no rodapé */
.footer-grid { grid-template-columns:minmax(190px,1fr) minmax(0,auto) auto; gap:28px; }
.footer-links { gap:14px 18px; flex-wrap:wrap; justify-content:center; max-width:620px; }
.footer-legal { display:grid; gap:5px; text-align:right; }
.footer-legal .copyright { text-align:right; }
.footer-cnpj { color:#b8acc6 !important; font-weight:600; white-space:nowrap; }
.footer-bottom { display:flex; justify-content:space-between; gap:18px; flex-wrap:wrap; padding-top:20px; margin-top:24px; border-top:1px solid rgba(255,255,255,.07); color:#8f819e; font-size:.72rem; }

/* Destaque de Editais na página de fornecedores */
.supplier-bids { padding-top:18px; padding-bottom:94px; background:linear-gradient(180deg,#fff,#fbf9ff); }
.supplier-bids-card { position:relative; overflow:hidden; display:grid; grid-template-columns:1.05fr .95fr; gap:54px; align-items:center; padding:46px; border-radius:32px; background:linear-gradient(145deg,#29134e,#501793); color:#fff; box-shadow:0 30px 75px rgba(66,25,126,.19); }
.supplier-bids-card::after { content:""; position:absolute; width:330px; height:330px; border-radius:50%; background:#8b3cff; filter:blur(105px); opacity:.24; right:-90px; top:-130px; }
.supplier-bids-copy { position:relative; z-index:2; }
.supplier-bids-copy .section-label { color:#d7c4ff; }
.supplier-bids-copy h2 { margin:0 0 16px; font-size:clamp(2rem,3.4vw,3.2rem); line-height:1.12; letter-spacing:-.045em; }
.supplier-bids-copy h2 span { color:#cda9ff; }
.supplier-bids-copy > p { margin:0; color:rgba(255,255,255,.74); }
.supplier-bids-points { display:grid; grid-template-columns:1fr 1fr; gap:10px 18px; margin:25px 0 28px; }
.supplier-bids-points span { color:rgba(255,255,255,.86); font-size:.77rem; }
.supplier-bids-copy > small { display:block; margin-top:14px; color:rgba(255,255,255,.48); font-size:.64rem; }
.supplier-bids-visual { position:relative; z-index:2; min-height:330px; display:grid; place-items:center; }
.supplier-radar-ring { position:absolute; border-radius:50%; border:1px solid rgba(255,255,255,.16); }
.supplier-radar-ring.ring-one { width:310px; height:310px; }
.supplier-radar-ring.ring-two { width:215px; height:215px; border-style:dashed; }
.supplier-radar-core { width:158px; height:158px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; border-radius:50%; background:rgba(255,255,255,.96); color:var(--deep); box-shadow:0 20px 55px rgba(9,2,23,.23); }
.supplier-radar-core img { width:44px; height:44px; margin-bottom:9px; }
.supplier-radar-core strong { font-size:.78rem; }
.supplier-radar-core span { color:#8b8393; font-size:.61rem; margin-top:2px; }
.supplier-radar-tag { position:absolute; display:flex; align-items:center; gap:7px; padding:9px 11px; border-radius:12px; background:#fff; color:#4d4557; font-size:.67rem; font-weight:650; box-shadow:0 12px 30px rgba(10,2,27,.2); }
.supplier-radar-tag b { display:grid; place-items:center; width:18px; height:18px; border-radius:50%; background:#efe8ff; color:var(--primary-dark); font-size:.58rem; }
.supplier-radar-tag.tag-one { left:2%; top:18%; }
.supplier-radar-tag.tag-two { right:0; top:40%; }
.supplier-radar-tag.tag-three { left:10%; bottom:13%; }

@media (max-width: 820px) {
  .editais-shell,.supplier-bids-card { grid-template-columns:1fr; }
  .editais-shell { gap:46px; }
  .editais-copy { text-align:left; }
  .supplier-bids-card { gap:28px; padding:36px; }
  .footer-legal,.footer-legal .copyright { text-align:left; }
}

@media (max-width: 560px) {
  .editais-section { padding:78px 0; }
  .editais-copy h2 { font-size:2.35rem; }
  .editais-benefits,.supplier-bids-points { grid-template-columns:1fr; }
  .editais-actions { align-items:stretch; }
  .editais-actions .btn { width:100%; }
  .editais-text-link { text-align:center; padding:4px 0; }
  .editais-panel { padding:17px; border-radius:22px; }
  .editais-panel-top { align-items:flex-start; }
  .editais-live { padding:6px 8px; }
  .edital-card { grid-template-columns:38px 1fr auto; gap:10px; padding:12px; }
  .edital-card-icon { width:38px; height:38px; }
  .whatsapp-contact { padding:14px; gap:12px; }
  .whatsapp-mark { width:42px; height:42px; flex-basis:42px; }
  .whatsapp-action { font-size:0; }
  .whatsapp-action b { font-size:.85rem; display:grid; place-items:center; width:30px; height:30px; border-radius:10px; background:#edf9f1; }
  .supplier-bids { padding-bottom:72px; }
  .supplier-bids-card { padding:28px 22px; border-radius:25px; }
  .supplier-bids-visual { min-height:285px; }
  .supplier-radar-ring.ring-one { width:265px; height:265px; }
  .supplier-radar-ring.ring-two { width:185px; height:185px; }
  .supplier-radar-core { width:142px; height:142px; }
  .supplier-radar-tag.tag-one { left:0; }
  .supplier-radar-tag.tag-two { right:-2%; }
  .supplier-radar-tag.tag-three { left:3%; }
}


/* Botão flutuante WhatsApp Dommino */
.whatsapp-float {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 9999;
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  color: #fff;
  filter: drop-shadow(0 12px 28px rgba(20, 70, 38, .28));
}
.whatsapp-float-icon {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #25D366;
  transition: transform .2s ease, box-shadow .2s ease;
  box-shadow: 0 10px 30px rgba(37, 211, 102, .34);
}
.whatsapp-float-icon svg { width: 36px; height: 36px; display: block; }
.whatsapp-float:hover .whatsapp-float-label,
.whatsapp-float:focus-visible .whatsapp-float:hover .whatsapp-float-icon { transform: translateY(-2px) scale(1.03); }
.whatsapp-float:focus-visible { outline: 3px solid rgba(111,44,244,.32); outline-offset: 5px; border-radius: 999px; }
@media (max-width: 640px) {
  .whatsapp-float { right: 16px; bottom: 16px; }
  .whatsapp-float-icon { width: 56px; height: 56px; }
  }

/* Correção mobile: o rodapé não pode forçar viewport maior que a tela.
   A regra desktop de três colunas no fim deste arquivo anulava o responsivo. */
@media (max-width: 820px) {
  .footer-grid { grid-template-columns: minmax(0, 1fr); }
  .footer-grid > * { min-width: 0; }
  .footer-links { justify-content: flex-start; }
}

/* Dommino 2026-10-10: rodapé e navegação seguros em telas pequenas. */
@media (max-width: 820px) {
  .footer-grid { grid-template-columns: minmax(0, 1fr); }
  .footer-grid > * { min-width: 0; max-width: 100%; }
  .footer-cnpj { white-space: normal; overflow-wrap: anywhere; }
  .site-header { left: 0; right: 0; width: 100%; max-width: 100%; }
  .site-header .nav-wrap { width: calc(100% - 28px); max-width: 100%; min-width: 0; gap: 12px; }
  .site-header .brand { min-width: 0; }
  .site-header .brand img { width: min(186px, calc(100vw - 112px)); max-width: 100%; }
  .site-header .nav-toggle { display: block; flex: 0 0 44px; margin-left: auto; position: relative; z-index: 2; }
}

/* Home Dommino — vídeo de apresentação com capa imediata e reprodução sob demanda. */
.hero-video-showcase {
  min-height: 580px;
  isolation: isolate;
}
.hero-video-ambient {
  position: absolute;
  inset: 18px 3%;
  border: 1px solid rgba(113, 48, 245, .10);
  border-radius: 44px;
  background: linear-gradient(140deg, rgba(250, 246, 255, .85), rgba(226, 212, 255, .44));
  overflow: hidden;
  z-index: -1;
}
.hero-video-ambient::before {
  content: '';
  position: absolute;
  inset: -60px;
  background: url('video/dommino-apresentacao-poster.webp') center / cover no-repeat;
  filter: blur(45px);
  opacity: .30;
  transform: scale(1.12);
}
.hero-video-ambient::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 35% 40%, rgba(231, 208, 255, .14), rgba(246, 242, 255, .75) 88%);
}
.hero-video-shell {
  position: relative;
  flex: 0 0 auto;
  width: min(325px, 78%);
  aspect-ratio: 9 / 16;
  background: #e8dcfb url('video/dommino-apresentacao-poster.webp') center / cover no-repeat;
  border-radius: 29px;
  outline: 7px solid rgba(255, 255, 255, .92);
  box-shadow: 0 35px 85px rgba(57, 24, 110, .22), 0 0 0 1px rgba(82, 34, 157, .10);
  overflow: hidden;
  z-index: 1;
  transform: rotate(1deg);
  transition: transform .35s ease, box-shadow .35s ease;
}
.hero-video-shell:hover {
  transform: rotate(0deg) translateY(-3px);
  box-shadow: 0 38px 90px rgba(57, 24, 110, .26), 0 0 0 1px rgba(82, 34, 157, .10);
}
.hero-video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hero-video-toggle {
  position: absolute;
  right: 16px;
  bottom: 16px;
  z-index: 2;
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, .42);
  border-radius: 50%;
  background: rgba(30, 15, 60, .67);
  color: #fff;
  backdrop-filter: blur(10px);
  box-shadow: 0 8px 24px rgba(17, 7, 42, .22);
  cursor: pointer;
  transition: background .2s ease, transform .2s ease;
}
.hero-video-toggle:hover { background: rgba(63, 24, 124, .90); transform: scale(1.07); }
.hero-video-toggle:focus-visible { outline: 3px solid #c59aff; outline-offset: 3px; }
.video-icon-play {
  width: 0;
  height: 0;
  border-top: 7px solid transparent;
  border-bottom: 7px solid transparent;
  border-left: 11px solid currentColor;
  margin-left: 3px;
}
.video-icon-pause {
  display: none;
  width: 13px;
  height: 15px;
  border-left: 4px solid currentColor;
  border-right: 4px solid currentColor;
}
.hero-video-shell.is-playing .video-icon-play { display: none; }
.hero-video-shell.is-playing .video-icon-pause { display: block; }
@media (max-width: 1040px) and (min-width: 821px) {
  .hero-video-showcase { min-height: 520px; }
  .hero-video-shell { width: min(288px, 79%); }
}
@media (max-width: 820px) {
  .hero-video-showcase { min-height: 540px; margin-top: 18px; }
  .hero-video-ambient { inset: 18px 12%; }
  .hero-video-shell { width: min(290px, 72%); }
}
@media (max-width: 560px) {
  .hero-video-showcase { min-height: auto; padding: 20px 0 26px; margin-top: 20px; }
  .hero-video-ambient { inset: 5px 5%; border-radius: 28px; }
  .hero-video-shell { width: min(290px, 80%); border-radius: 23px; outline-width: 5px; transform: none; }
  .hero-video-shell:hover { transform: none; }
  .hero-video-toggle { width: 42px; height: 42px; right: 13px; bottom: 13px; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-video-shell, .hero-video-toggle { transition: none; }
}
