html,
body {
  margin: 0;
  padding: 0;
  min-height: 100%;
  scroll-behavior: smooth;
}

body {
  font-family: 'Montserrat', Arial, sans-serif;
  color: #161616;
  background: #050505;
  overflow-x: hidden;
}

a { color: inherit; text-decoration: none; }
* { box-sizing: border-box; }

html,
body{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}

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

:root {
  --pink: #f90661;
  --pink-soft: #ff4f8f;
  --black: #050505;
  --black-2: #101010;
  --black-3: #171717;
  --white: #ffffff;
  --off: #f4f1ef;
  --muted: #777777;
  --light: #dadada;
  --line: rgba(0,0,0,.10);
  --line-dark: rgba(255,255,255,.13);
}

.container {
  width: 100%;
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 22px;
}

.section-kicker {
  margin: 0 0 16px;
  font-family: 'Montserrat', Arial, sans-serif;
  font-size: .74rem;
  font-weight: 800;
  letter-spacing: .26em;
  text-transform: uppercase;
  color: var(--pink);
}

.section-kicker--light { color: var(--pink); }

.section-title {
  margin: 0;
  font-family: 'Kufam', Arial, sans-serif;
  font-size: clamp(2.25rem, 4.4vw, 4.55rem);
  line-height: 1.02;
  font-weight: 650;
  letter-spacing: -.055em;
  color: #151515;
}

.section-title--light { color: var(--white); }
.section-title span { display: block; color: rgba(255,255,255,.72); }
.section-text { margin: 24px 0 0; max-width: 650px; font-size: 1.05rem; line-height: 1.75; color: #545b66; }
.section-header { max-width: 860px; margin-bottom: 44px; }
.section-header--center { margin-left: auto; margin-right: auto; text-align: center; }

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 0 24px;
  border-radius: 999px;
  font-size: .92rem;
  font-weight: 800;
  line-height: 1;
  transition: .22s ease;
}

.btn--primary {
  color: #fff;
  background: linear-gradient(135deg, var(--pink) 0%, #b80047 100%);
  box-shadow: 0 18px 44px rgba(249,6,97,.24);
}

.btn--ghost {
  color: #fff;
  border: 1px solid rgba(255,255,255,.20);
  background: rgba(255,255,255,.06);
}

.btn:hover { transform: translateY(-2px); }

/* header */
.site-header {
  position: absolute;
  inset: 0 0 auto;
  z-index: 50;
  padding: 28px 0 0;
}

.site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.brand__logo {
  display: block;
  width: 190px;
  max-width: 100%;
}

.site-nav {
  display: flex;
  align-items: center;
  gap: 8px;
  color: rgba(255,255,255,.78);
  font-size: .88rem;
  font-weight: 700;
}

.site-nav a {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 0 12px;
  border-radius: 999px;
  transition: .2s ease;
}

.site-nav a:hover { color: #fff; background: rgba(255,255,255,.08); }
.site-nav .nav-cta { color: #fff; background: var(--pink); padding: 0 18px; }

.menu-toggle {
  display: none;
  width: 44px;
  height: 44px;
  border: none;
  border-radius: 50%;
  background: rgba(255,255,255,.08);
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 5px;
}

.menu-toggle span {
  display: block;
  width: 18px;
  height: 2px;
  background: #fff;
}

.mobile-nav {
  display: none;
  width: calc(100% - 44px);
  margin: 16px auto 0;
  padding: 18px;
  border-radius: 20px;
  background: rgba(5,5,5,.94);
  border: 1px solid var(--line-dark);
  color: #fff;
}

.mobile-nav a {
  display: block;
  padding: 12px 4px;
  font-weight: 700;
}

.mobile-nav.active { display: block; }

/* header sem menu */
.site-header__inner{
  justify-content:flex-start;
}

.site-nav,
.menu-toggle,
.mobile-nav{
  display:none !important;
}


/* section 1 */
.hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  padding: 132px 0 96px;
  overflow: hidden;
  background:
    radial-gradient(circle at 20% 20%, rgba(249,6,97,.20), transparent 24%),
    radial-gradient(circle at 88% 76%, rgba(249,6,97,.16), transparent 22%),
    linear-gradient(135deg, #030303 0%, #0c0c0c 45%, #171014 100%);
}

.hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size: 62px 62px;
  mask-image: radial-gradient(circle at 50% 40%, #000 0%, transparent 72%);
  pointer-events: none;
}

.hero__orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(18px);
  opacity: .58;
  pointer-events: none;
  max-width:100vw;
}

.hero__orb--one {
  width: 220px;
  height: 220px;
  left: -70px;
  top: 120px;
  background: rgba(249,6,97,.42);
}

.hero__orb--two {
  width: 320px;
  height: 320px;
  right: -120px;
  bottom: 40px;
  background: rgba(249,6,97,.20);
}

.hero__grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(320px, 430px);
  gap: 58px;
  align-items: center;
}

.hero__title {
  margin: 0;
  max-width: 860px;
  font-family: 'Kufam', Arial, sans-serif;
  font-size: clamp(3rem, 4vw, 6rem);
  line-height: 1;
  font-weight: 650;
  letter-spacing: -.075em;
  color: #fff;
}

.hero__subtitle {
  margin: 28px 0 0;
  max-width: 730px;
  font-size: 1.12rem;
  line-height: 1.75;
  color: rgba(255,255,255,.72);
}

.hero__text {
  margin: 18px 0 0;
  max-width: 760px;
  font-size: 1.02rem;
  line-height: 1.75;
  color: rgba(255,255,255,.88);
}

.hero-chat{
  display:flex;
  justify-content:center;
  align-items:center;
  width:100%;
}

.hero__actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 36px; }
.hero__right { display: flex; justify-content: flex-end; }


/* mobile section 1 */
@media (max-width: 920px) {
  .site-header { padding-top: 20px; }
  .brand__logo { width: 158px; }
  .hero { min-height: auto; padding: 120px 0 72px; }
  .hero__grid { grid-template-columns: 1fr; gap: 38px; }
  .hero__right { justify-content: flex-start; }
  .hero__actions { flex-direction: column; }
  .btn { width: 100%; }
}

/* section 2 */
.lead-section {
  padding: 96px 0;
  background:
    radial-gradient(circle at 12% 20%, rgba(249,6,97,.18), transparent 24%),
    linear-gradient(135deg, #050505 0%, #181818 100%);
}

.lead-section__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 470px);
  gap: 52px;
  align-items: center;
}

.copy-block { display: grid; gap: 18px; font-size: 1.08rem; line-height: 1.8; color: #555b66; }
.copy-block p { margin: 0; }
.copy-block--light { color: rgba(255,255,255,.74); }

/* mobile section 2 */
@media (max-width: 860px) {
  .lead-section { padding: 72px 0; }
  .lead-section__grid { grid-template-columns: 1fr; gap: 28px; }
}

/* section 3 */
.model-section {
  padding: 102px 0;
  background: var(--off);
}

.model-section__grid {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(320px, 480px);
  gap: 54px;
  align-items: center;
}

.model-stack { display: grid; gap: 16px; }
.model-card { padding: 26px; border-radius: 26px; box-shadow: 0 20px 44px rgba(0,0,0,.06); }
.model-card strong { display: block; margin-bottom: 10px; font-size: 1.08rem; }
.model-card p { margin: 0; line-height: 1.65; }
.model-card--pink { background: var(--pink); color: #fff; transform: rotate(-2deg); }
.model-card--dark { background: #111; color: #fff; transform: rotate(2deg); }
.model-card--light { background: #fff; color: #151515; transform: rotate(-1deg); }
.model-card--pink p, .model-card--dark p { color: white; }
.model-card--light p { color: #555b66; }

/* mobile section 3 */
@media (max-width: 920px) {
  .model-section { padding: 72px 0; }
  .model-section__grid { grid-template-columns: 1fr; gap: 34px; }
  .model-card { transform: none !important; }
}

/* section 4 */
.flow-section {
  padding: 102px 0;
  background:
    radial-gradient(circle at 80% 20%, rgba(249,6,97,.20), transparent 25%),
    linear-gradient(135deg, #050505 0%, #161616 100%);
}

.flow-track {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 14px;
}

.flow-step {
  min-height: 260px;
  padding: 24px;
  border-radius: 22px;
  background: rgba(255,255,255,.05);
  border: 1px solid var(--line-dark);
}

.flow-step:nth-child(2),
.flow-step:nth-child(4) { transform: translateY(28px); }

.flow-step span { display: inline-flex; margin-bottom: 44px; color: var(--pink); font-weight: 900; font-size: .88rem; }
.flow-step h3 { margin: 0 0 12px; font-family: 'Kufam', Arial, sans-serif; font-size: 1.12rem; line-height: 1.25; color: #fff; }
.flow-step p { margin: 0; line-height: 1.62; color: rgba(255,255,255,.66); }

/* mobile section 4 */
@media (max-width: 1020px) {
  .flow-track { grid-template-columns: 1fr 1fr; }
  .flow-step:nth-child(2), .flow-step:nth-child(4) { transform: none; }
}

@media (max-width: 640px) {
  .flow-section { padding: 72px 0; }
  .flow-track { grid-template-columns: 1fr; }
  .flow-step { min-height: auto; }
}

/* section 5 */
.structure-section {
  padding: 102px 0;
  background: #fff;
}

.structure-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

.structure-card {
  min-height: 205px;
  padding: 26px;
  border-radius: 24px;
  background: #f6f6f6;
  border: 1px solid rgba(0,0,0,.08);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: .22s ease;
}

.structure-card:hover { transform: translateY(-4px); }
.structure-card i { font-size: 1.45rem; color: var(--pink); }
.structure-card h3 { margin: 34px 0 0; font-family: 'Kufam', Arial, sans-serif; font-size: 1.12rem; line-height: 1.25; letter-spacing: -.035em; }
.structure-card--featured { background: var(--pink); color: #fff; }
.structure-card--featured i { color: #fff; }
.structure-card--wide { grid-column: span 2; background: #111; color: #fff; }

/* mobile section 5 */
@media (max-width: 1020px) {
  .structure-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 640px) {
  .structure-section { padding: 72px 0; }
  .structure-grid { grid-template-columns: 1fr; }
  .structure-card, .structure-card--wide { grid-column: span 1; min-height: 170px; }
}

/* section 6 */
.proof-section {
  padding: 96px 0;
  background:
    radial-gradient(circle at 18% 20%, rgba(249,6,97,.18), transparent 24%),
    linear-gradient(135deg, #050505 0%, #171717 100%);
}

.proof-section__layout{
  display:grid;
  grid-template-columns:minmax(320px,480px) minmax(0,1fr);
  gap:72px;
  align-items:center;
}

.proof-map{
  position:relative;
  display:flex;
  justify-content:center;
  align-items:center;
}

.proof-map::before{
  content:'';
  position:absolute;
  width:420px;
  height:420px;
  border-radius:50%;
  background:rgba(249,6,97,.14);
  filter:blur(70px);
  z-index:0;
}

.proof-map img{
  position:relative;
  z-index:2;
  width:100%;
  max-width:420px;
  display:block;
}

.proof-content{
  display:flex;
  flex-direction:column;
}

.proof-text{
  max-width:760px;
  margin:26px 0 34px;
  font-size:1.05rem;
  line-height:1.8;
  color:rgba(255,255,255,.70);
}

.proof-grid{
  display:flex;
  flex-direction:column;
  gap:14px;
  margin-top:8px;
}

.proof-grid article{
  display:grid;
  grid-template-columns:minmax(170px, auto) 1fr;
  align-items:center;
  gap:28px;
  padding:18px 0;
  background:transparent;
  border:none;
  border-bottom:1px solid rgba(255,255,255,.12);
}

.proof-grid article:last-child{
  border-bottom:none;
}

.proof-grid strong{
  display:block;
  white-space:nowrap;
  font-size:clamp(1.9rem, 3vw, 2.8rem);
  line-height:.9;
  letter-spacing:-.06em;
  color:var(--pink);
}

.proof-grid span{
  display:block;
  color:rgba(255,255,255,.78);
  font-weight:800;
  text-transform:uppercase;
  font-size:.78rem;
  letter-spacing:.12em;
}

@media (max-width: 1180px) and (min-width: 921px) {

  .proof-section__layout{
    grid-template-columns: minmax(260px, 360px) minmax(0, 1fr);
    gap: 42px;
  }

  .proof-map img{
    max-width: 340px;
  }

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

  .proof-grid article{
    padding: 22px;
  }

  .proof-grid strong{
    font-size: clamp(1.7rem, 3vw, 2.4rem);
  }

  .proof-grid span{
    font-size: .66rem;
  }

  .proof-content .section-title{
    font-size: clamp(2.8rem, 5vw, 4rem);
  }

}

/* mobile section 6 */
@media (max-width: 920px) {

  .proof-section{
    padding:72px 0;
  }

  .proof-section__layout{
    grid-template-columns:1fr;
    gap:42px;
  }

  .proof-map img{
    width:100%;
    max-width:280px;
  }

  .proof-grid{
  display:flex;
  flex-direction:column;
}

.proof-grid article{
  grid-template-columns:1fr;
  gap:8px;
  padding:20px 0;
}

}

/* section 7 */
.faq-section {
  padding: 98px 0;
  background: var(--off);
}

.faq-section__grid {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(320px, .95fr);
  gap: 54px;
  align-items: start;
}

.faq-list { display: grid; gap: 10px; }
.faq-item { border-radius: 20px; overflow: hidden; background: #fff; border: 1px solid rgba(0,0,0,.08); }
.faq-item button {
  width: 100%;
  border: 0;
  padding: 22px 24px;
  background: transparent;
  color: #151515;
  font-family: 'Montserrat', Arial, sans-serif;
  font-size: 1rem;
  font-weight: 800;
  text-align: left;
  cursor: pointer;
}
.faq-panel { display: none; padding: 0 24px 22px; color: #555b66; line-height: 1.7; }
.faq-panel p { margin: 0; }
.faq-item.active { background: #111; }
.faq-item.active button { color: #fff; }
.faq-item.active .faq-panel { display: block; color: rgba(255,255,255,.72); }

/* mobile section 7 */
@media (max-width: 920px) {
  .faq-section { padding: 72px 0; }
  .faq-section__grid { grid-template-columns: 1fr; gap: 32px; }
}

/* section 8 */
.closing-section {
  padding: 104px 0;
  background:
    radial-gradient(circle at 14% 24%, rgba(249,6,97,.24), transparent 28%),
    linear-gradient(135deg, #050505 0%, #1a1014 100%);
}

.closing-section__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 380px);
  gap: 48px;
  align-items: center;
}

.closing-card {
  padding: 30px;
  border-radius: 26px;
  border: 1px solid var(--line-dark);
  background: rgba(255,255,255,.06);
  color: #fff;
}

.closing-card strong { display: block; margin-bottom: 12px; color: var(--pink); font-size: 1.2rem; }
.closing-card p { margin: 0; line-height: 1.65; color: rgba(255,255,255,.72); }

.btn-whatsapp {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 54px;
  margin-top: 24px;
  padding: 0 22px;
  border-radius: 999px;
  background: #25D366;
  color: #fff;
  font-size: .92rem;
  font-weight: 900;
  line-height: 1;
  box-shadow: 0 18px 42px rgba(37,211,102,.24);
  transition: .2s ease;
}

.btn-whatsapp:hover { transform: translateY(-2px); background: #1ebe5d; }
.btn-whatsapp i { font-size: 1.25rem; }

/* mobile section 8 */
@media (max-width: 860px) {
  .closing-section { padding: 76px 0; }
  .closing-section__grid { grid-template-columns: 1fr; }
  .btn-whatsapp { width: 100%; }
}

/* footer */
.site-footer {
  padding: 28px 0;
  background: #fff;
  border-top: 1px solid rgba(0,0,0,.08);
}

.site-footer__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
}

.footer-logo { width: 142px;}
.site-footer p { margin: 0; color: rgba(0,0,0,.56); font-size: .92rem; }

@media (max-width: 768px) {
  .container { width: calc(100% - 28px); padding: 0 14px; }
  .section-kicker { font-size: .70rem; letter-spacing: .20em; }
  .section-title { font-size: clamp(2rem, 10.5vw, 3.35rem); }
  .hero__title { font-size: clamp(2.55rem, 12.4vw, 4.1rem); }
  .site-footer__inner { flex-direction: column; align-items: flex-start; }
}

.reveal { opacity: 0; transform: translateY(18px); transition: opacity .55s ease, transform .55s ease; }
.reveal.is-visible { opacity: 1; transform: translateY(0); }


/* proteção extra contra rolagem horizontal no mobile */
section{
  max-width:100%;
  overflow:hidden;
}

.container,
.hero__grid,
.lead-section__grid,
.model-section__grid,
.flow-track,
.structure-grid,
.proof-section__layout,
.faq-section__grid,
.closing-section__grid{
  min-width:0;
}

.hero__left,
.hero__right,
.proof-content,
.proof-map,
.hero-chat,
#fluxy-chat{
  min-width:0;
  max-width:100%;
}

@media (max-width: 520px){
  .fluxy-chat__shell{
    width:100%;
    max-width:100%;
  }
}
