:root{--gold:#d99a24;--gold2:#f4b83e;--dark:#080b11;--card:#111722;--text:#f5f7fa;--muted:#aab1bc}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:#131722;background:#fff}header{height:76px;display:flex;align-items:center;padding:0 5%;position:fixed;inset:0 0 auto;z-index:50;background:rgba(5,8,13,.92);backdrop-filter:blur(14px);border-bottom:1px solid #252a33}.brand img{width:170px;height:58px;object-fit:contain}nav{margin-left:auto;display:flex;align-items:center;gap:25px}nav a{color:#fff;text-decoration:none;font-size:14px}.gold,.outline{display:inline-block;padding:13px 20px;border-radius:9px;text-decoration:none;font-weight:700}.gold{background:linear-gradient(135deg,var(--gold2),#ca8311);color:#111;border:0}.outline{border:1px solid var(--gold);color:var(--gold)}.menu{display:none;margin-left:auto;background:none;color:#fff;border:0;font-size:28px}.hero{padding-top:76px;background:var(--dark)}.slide{min-height:620px;background-size:cover;background-position:center;display:none;align-items:center;padding:6%}.slide.active{display:flex}.hero-copy{max-width:640px;color:#fff}.hero-copy span,label{font-size:13px;color:var(--gold);font-weight:800;letter-spacing:.08em}.hero h1{font-size:58px;line-height:1.04;margin:15px 0}.hero p{font-size:20px;color:#d5dae2;line-height:1.6;margin-bottom:30px}.benefits{width:90%;margin:-48px auto 0;position:relative;display:grid;grid-template-columns:repeat(4,1fr);background:#0d131d;color:white;border:1px solid #28303c;border-radius:14px;padding:24px}.benefits div{display:grid;grid-template-columns:38px 1fr;align-items:center;border-right:1px solid #28303c;padding:0 16px}.benefits div:last-child{border:0}.benefits small{grid-column:2;color:#adb6c3;margin-top:4px}.ecosystem,.systems,.about,.contact{padding:90px 6%}.ecosystem{display:grid;grid-template-columns:.8fr 1.2fr;gap:40px;align-items:center}.ecosystem h2,.systems h2,.about h2,.contact h2{font-size:40px;margin:10px 0 18px}.ecosystem p,.about p,.contact p{color:#5f6672;line-height:1.7}.orbit{height:450px;position:relative;display:grid;place-items:center}.center{width:190px;height:190px;border-radius:50%;background:#111;box-shadow:0 0 0 12px #fff,0 0 0 14px #e3b55c;display:grid;place-items:center}.center img{width:150px}.orbit span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(var(--a)) translateX(190px) rotate(calc(-1*var(--a)));background:#111;color:#fff;border:3px solid var(--gold);padding:12px;border-radius:30px;font-weight:bold}.systems{background:#f4f6f9}.price-callout{max-width:880px;margin:-130px auto 70px;background:linear-gradient(135deg,#0b0e14,#1a202b);color:#fff;padding:30px 40px;border-radius:20px;border:1px solid #3d3424;box-shadow:0 20px 55px rgba(0,0,0,.24);text-align:center;position:relative}.price-callout:before{content:"";position:absolute;inset:-1px;border-radius:20px;padding:1px;background:linear-gradient(135deg,var(--gold2),transparent 45%,var(--gold));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}.price-callout small{display:block;color:#d8b56d;letter-spacing:.12em;font-weight:800}.price-callout strong{display:block;font-size:38px;margin:8px 0;color:#fff}.price-callout p{margin:0;color:#b9c0cb}.catalog-tools{display:flex;flex-direction:column;gap:18px;margin:30px 0}.catalog-tools input{width:min(560px,100%);padding:16px 18px;border:1px solid #d6dbe3;border-radius:12px;font-size:16px;background:white}.filters{display:flex;gap:9px;flex-wrap:wrap}.filter{border:1px solid #d5dae2;background:#fff;padding:10px 15px;border-radius:999px;cursor:pointer}.filter.active,.filter:hover{background:#111722;color:white;border-color:#111722}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:25px}.cards article{background:#fff;border:1px solid #e0e4ea;border-radius:17px;overflow:hidden;box-shadow:0 8px 30px rgba(12,20,35,.06);transition:.25s}.cards article:hover{transform:translateY(-5px);box-shadow:0 16px 40px rgba(12,20,35,.12)}.cards article[hidden]{display:none}.system-image,.system-placeholder{width:100%;height:190px;object-fit:cover;background:linear-gradient(135deg,#111722,#252d3b)}.system-placeholder{display:grid;place-items:center}.system-placeholder span{font-size:58px}.card-body{padding:23px}.category{font-size:12px;font-weight:800;color:#a3670a;text-transform:uppercase;letter-spacing:.06em}.cards h3{font-size:21px;margin:8px 0}.cards p{color:#69717d;min-height:50px;line-height:1.55}.card-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.cards a{text-decoration:none;font-weight:bold}.learn{color:#a3670a}.demo{color:#1d2938;border-left:1px solid #d8dde4;padding-left:12px}.no-results{padding:25px;background:#fff;border-radius:12px;color:#69717d}.about{display:grid;grid-template-columns:1fr 1fr;background:#090d14;color:#fff}.about p{color:#b8c0cc}.stats{display:grid;place-items:center;border:1px solid #2a323f;border-radius:20px}.stats b{font-size:38px;color:var(--gold)}.contact{display:grid;grid-template-columns:.75fr 1.25fr;gap:50px}.contact form{background:#f4f6f9;padding:30px;border-radius:18px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.grid input,.grid textarea,.grid select{padding:14px;border:1px solid #d5dae1;border-radius:9px;font:inherit;background:#fff}.grid textarea{grid-column:1/-1;min-height:110px}.success{padding:12px;background:#dff5e6;color:#17622c;border-radius:8px;margin-bottom:12px}footer{background:#05080d;color:#aab1bc;padding:38px 6%;display:flex;align-items:center;justify-content:space-between;gap:35px;border-top:1px solid #242a34}.footer-brand img{width:160px}.footer-brand p{margin:12px 0 0}.footer-social{text-align:right}.footer-social strong{display:block;color:white;margin-bottom:12px}.footer-social>div{display:flex;gap:10px;justify-content:flex-end}.footer-social a{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#151b25;border:1px solid #2f3745;transition:.2s}.footer-social a:hover{border-color:var(--gold);transform:translateY(-2px)}.footer-social svg{width:21px;height:21px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.footer-social svg .fill{fill:#fff;stroke:none}.whatsapp{position:fixed;right:24px;bottom:24px;width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:#25d366;text-decoration:none;box-shadow:0 10px 28px rgba(0,0,0,.35);z-index:60;transition:.2s}.whatsapp:hover{transform:scale(1.07)}.whatsapp svg{width:42px;height:42px}.whatsapp .bubble{fill:#fff}.whatsapp .phone{fill:#25d366}@media(max-width:900px){.menu{display:block}nav{display:none;position:absolute;top:76px;left:0;right:0;background:#080b11;padding:20px;flex-direction:column}nav.open{display:flex}.slide{min-height:600px}.hero h1{font-size:40px}.benefits{grid-template-columns:1fr 1fr;margin-top:0}.ecosystem,.about,.contact{grid-template-columns:1fr}.cards{grid-template-columns:1fr 1fr}.orbit{transform:scale(.82)}.price-callout{margin:-35px auto 55px}footer{flex-wrap:wrap}}@media(max-width:600px){header{padding:0 18px}.brand img{width:140px}.hero-copy{padding-top:35px}.hero h1{font-size:36px}.benefits,.cards,.grid{grid-template-columns:1fr}.benefits div{border-right:0;border-bottom:1px solid #28303c;padding:13px}.ecosystem,.systems,.about,.contact{padding:65px 22px}.orbit{height:360px;transform:scale(.68);margin:-40px}.price-callout{padding:26px 20px;margin:-20px 0 50px}.price-callout strong{font-size:29px}.contact form{padding:20px}footer{display:block;text-align:center}.footer-social{text-align:center;margin-top:25px}.footer-social>div{justify-content:center}.whatsapp{right:18px;bottom:18px}}
.partner-cta{padding:85px 6%;display:grid;grid-template-columns:1.15fr .85fr;gap:45px;align-items:center;background:linear-gradient(135deg,#f7f2e6,#fff)}.partner-cta h2{font-size:40px;margin:10px 0 18px}.partner-cta p{color:#5f6672;line-height:1.7;font-size:17px}.partner-cta-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}.partner-cta .outline{color:#7a5310;background:#fff}.partner-cta-card{background:#0c111a;color:#fff;border-radius:20px;padding:30px;display:grid;gap:7px;box-shadow:0 20px 55px #1113}.partner-cta-card b{color:#f1c66d;font-size:17px;margin-top:8px}.partner-cta-card span{color:#b9c1ce;line-height:1.5}.partner-tools{display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:30px 0}.partner-tools input{width:min(540px,100%);padding:15px 17px;border:1px solid #d4dae3;border-radius:12px;font-size:16px}.partner-login-link{display:inline-flex;padding:11px 16px;border-radius:9px;background:#fff;color:#111;text-decoration:none;font-weight:800}.partner-profile{display:flex;align-items:center;gap:15px;margin-top:22px}.partner-profile img{width:58px;height:58px;border-radius:50%;object-fit:cover;border:2px solid #d6a13b}.partner-footer-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:15px}@media(max-width:900px){.partner-cta{grid-template-columns:1fr}}@media(max-width:600px){.partner-cta{padding:60px 22px}.partner-cta h2{font-size:32px}}

/* ===== Correção mobile 2026-07-27: largura, menu e WhatsApp ===== */
html,
body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
  overscroll-behavior-x: none;
}

@supports (overflow: clip) {
  html,
  body {
    overflow-x: clip;
  }
}

body {
  position: relative;
  min-width: 0;
}

body > header,
body > main,
body > footer,
.hero,
.slides,
.slide,
.ecosystem,
.systems,
.about,
.partner-cta,
.contact {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

main,
section,
header,
footer,
nav,
.cards,
.cards article,
.card-body,
.catalog-tools,
.filters,
.benefits,
.ecosystem > *,
.about > *,
.contact > *,
.partner-cta > * {
  min-width: 0;
}

img,
svg,
video,
iframe {
  max-width: 100%;
}

header {
  width: 100%;
  max-width: 100vw;
}

.brand {
  display: inline-flex;
  align-items: center;
  min-width: 0;
  flex: 0 1 auto;
}

.brand img,
.system-image {
  display: block;
}

.hero,
.slides,
.slide,
.ecosystem {
  overflow: hidden;
}

.slide {
  width: 100%;
  max-width: 100%;
  background-repeat: no-repeat;
}

.hero-copy,
.hero-copy h1,
.hero-copy p,
.cards h3,
.cards p {
  overflow-wrap: anywhere;
  word-break: normal;
}

.orbit {
  width: 100%;
  max-width: 100%;
}

.whatsapp {
  position: fixed !important;
  right: max(16px, env(safe-area-inset-right));
  bottom: calc(24px + env(safe-area-inset-bottom));
  z-index: 2147483000;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto;
  isolation: isolate;
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

@media (max-width: 900px) {
  header {
    padding-inline: 18px;
  }

  .menu {
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    display: grid;
    place-items: center;
    padding: 0;
    line-height: 1;
    cursor: pointer;
  }

  nav {
    position: fixed;
    top: 76px;
    left: 0;
    right: 0;
    width: 100%;
    max-width: 100%;
    max-height: calc(100dvh - 76px);
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
  }

  .slide {
    padding-inline: clamp(22px, 6vw, 44px);
  }

  .benefits {
    width: calc(100% - 32px);
    max-width: calc(100% - 32px);
  }

  .ecosystem,
  .systems,
  .about,
  .contact,
  .partner-cta {
    overflow: hidden;
  }
}

@media (max-width: 600px) {
  header {
    padding-inline: 14px;
  }

  .brand img {
    width: min(140px, 42vw);
  }

  .slide {
    min-height: 560px;
    padding: 54px 22px 46px;
    background-position: center center;
  }

  .hero-copy {
    width: 100%;
    max-width: 100%;
    padding-top: 0;
  }

  .hero h1 {
    font-size: clamp(32px, 10vw, 42px);
    line-height: 1.08;
  }

  .hero p {
    font-size: 18px;
    line-height: 1.5;
  }

  .benefits {
    width: calc(100% - 28px);
    max-width: calc(100% - 28px);
    padding: 14px;
  }

  .ecosystem,
  .systems,
  .about,
  .contact {
    padding-inline: 18px;
  }

  .orbit {
    height: 320px;
    margin: 0;
    transform: none;
    overflow: hidden;
  }

  .center {
    width: 120px;
    height: 120px;
    box-shadow: 0 0 0 8px #fff, 0 0 0 10px #e3b55c;
  }

  .center img {
    width: 96px;
  }

  .orbit span {
    max-width: 108px;
    padding: 8px 10px;
    border-width: 2px;
    font-size: 10px;
    text-align: center;
    transform: translate(-50%, -50%) rotate(var(--a)) translateX(124px) rotate(calc(-1 * var(--a)));
  }

  .filters {
    width: 100%;
    max-width: 100%;
  }

  .filter {
    max-width: 100%;
  }

  .cards article,
  .system-image,
  .system-placeholder {
    max-width: 100%;
  }

  .card-actions {
    row-gap: 14px;
  }

  .whatsapp {
    right: max(14px, env(safe-area-inset-right));
    bottom: calc(28px + env(safe-area-inset-bottom));
    width: 60px;
    height: 60px;
  }

  .whatsapp svg {
    width: 39px;
    height: 39px;
  }
}

/* Mantém os textos do diagrama legíveis sem depender de multiplicação no calc(). */
.orbit span:nth-of-type(1){--counter-angle:0deg}
.orbit span:nth-of-type(2){--counter-angle:-45deg}
.orbit span:nth-of-type(3){--counter-angle:-90deg}
.orbit span:nth-of-type(4){--counter-angle:-135deg}
.orbit span:nth-of-type(5){--counter-angle:-180deg}
.orbit span:nth-of-type(6){--counter-angle:-225deg}
.orbit span:nth-of-type(7){--counter-angle:-270deg}
.orbit span:nth-of-type(8){--counter-angle:-315deg}

@media (max-width: 600px) {
  .orbit span {
    transform: translate(-50%, -50%) rotate(var(--a)) translateX(clamp(100px, 30vw, 136px)) rotate(var(--counter-angle));
  }
}

@media (hover: hover) and (pointer: fine) {
  .whatsapp:hover {
    transform: translateZ(0) scale(1.07);
  }
}

/* ===== Correção mobile 2026-07-28: formulário de solicitação ===== */
.contact form,
.contact form .grid {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.contact form .grid {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.contact form .grid > input,
.contact form .grid > select,
.contact form .grid > textarea {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 0;
}

.contact form .grid > select {
  text-overflow: ellipsis;
}

.contact form > button {
  max-width: 100%;
}

@media (max-width: 600px) {
  .contact {
    overflow: visible;
  }

  .contact form {
    padding: 20px;
  }

  .contact form .grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .contact form .grid > input,
  .contact form .grid > select,
  .contact form .grid > textarea {
    grid-column: 1;
  }
}
