/* CAXMOBI v2 — página completa em HTML5, CSS e JavaScript */
@import url("reset.css");
@import url("tokens.css");

@font-face{
  font-family:"Coolvetica";
  src:url("../fonts/Coolvetica Rg.otf") format("opentype");
  font-weight:400;
  font-style:normal;
  font-display:swap;
}

@font-face{
  font-family:"Coolvetica";
  src:url("../fonts/Coolvetica Rg It.otf") format("opentype");
  font-weight:400;
  font-style:italic;
  font-display:swap;
}

@font-face{
  font-family:"Coolvetica Condensed";
  src:url("../fonts/Coolvetica Rg Cond.otf") format("opentype");
  font-weight:400;
  font-style:normal;
  font-display:swap;
}

:root{
  --header-h: 74px;
  --shadow-soft: 0 24px 80px rgba(11, 23, 37, .12);
  --shadow-card: 0 18px 55px rgba(17, 24, 39, .11);
  --blue-bg: linear-gradient(135deg, #0f73a8 0%, #8fd4ea 100%);
}

html{
  scroll-behavior:smooth;
  font-size:16px;
}

body{
  font-family: var(--font-main);
  background: var(--c-surface);
  color: var(--c-text-black);
  line-height:1.45;
  overflow-x:hidden;
}

body.menu-open{
  overflow:hidden;
}

a{ color:inherit; }
button, input, textarea{ font:inherit; }
button{ border:0; cursor:pointer; }

.container{
  width:min(var(--container), calc(100% - 40px));
  margin:0 auto;
}

/* Header — baseado no Rectangle 555 do Figma */
.site-header{
  position:fixed;
  z-index:100;
  top:54px;
  left:0;
  width:100%;
  height:71.2666px;
  pointer-events:none;
  transition:top .25s ease;
}

.header-inner{
  pointer-events:auto;
  position:relative;
  width:min(903px, calc(100% - 40px));
  height:71.2666px;
  display:flex;
  align-items:center;
  margin:0 auto;
  padding:0 15.8px 0 40.98px;
  border-radius:66.9211px;
  color:#fff;
  background:rgba(0, 0, 0, .4);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}

.site-header.is-scrolled{
  top:24px;
}

.site-header.is-scrolled .header-inner{
  background:rgba(0, 0, 0, .52);
}

.brand{
  display:inline-flex;
  align-items:center;
  text-decoration:none;
  white-space:nowrap;
}

.brand--top{
  flex:0 0 119.508px;
  width:119.508px;
  height:26.094px;
}

.brand-logo{
  display:block;
  width:119.508px;
  height:26.094px;
  object-fit:contain;
}

.brand-icon{
  flex:0 0 auto;
}

.site-nav{
  position:absolute;
  left:225px;
  top:27.811px;
  width:454.408px;
  height:17.007px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:0;
  font-size:12.1675px;
  line-height:18.2512px;
  font-weight:500;
}

.site-nav a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:17.007px;
  text-decoration:none;
  color:#fff;
  opacity:1;
  transition:opacity .2s ease;
}

.site-nav a:hover,
.site-nav a.is-active{
  color:#fff;
  opacity:.72;
}

.header-ctas{
  margin-left:auto;
  display:flex;
  align-items:center;
}

.btn-header{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:131.235px;
  height:42.112px;
  border-radius:48.198px;
  text-decoration:none;
  font-size:11.5919px;
  line-height:17.3879px;
  font-weight:600;
}

.btn-header--cadastro{
  color:#002645;
  background:#fff;
}

.top-login{
  pointer-events:auto;
  position:absolute;
  top:15px;
  right:62.765px;
  width:131.235px;
  height:42.112px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:55px;
  color:#fff;
  background:linear-gradient(135deg, #a8005c 0%, #ff08ad 100%);
  text-decoration:none;
  font-size:11.5919px;
  line-height:17.3879px;
  font-weight:600;
  box-shadow:0 10px 30px rgba(255, 8, 173, .22);
}

.hamburger{
  display:none;
  width:42.112px;
  height:42.112px;
  margin-left:auto;
  border-radius:999px;
  background:#fff;
  color:#002645;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
}

.hamburger span{
  width:18px;
  height:2px;
  border-radius:999px;
  background:currentColor;
  transition:transform .25s ease, opacity .25s ease;
}

body.menu-open .hamburger span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
body.menu-open .hamburger span:nth-child(2){ opacity:0; }
body.menu-open .hamburger span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

/* Hero */
.hero{
  position:relative;
  min-height:920px;
  display:block;
  padding:0;
  overflow:hidden;
  color:#fff;
  text-align:center;
  background:#061428;
}

.hero-media{
  position:absolute;
  inset:0;
  overflow:hidden;
}

.hero-bg,
.hero-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.88;
  transform:scale(1.02);
}

.hero-video{
  display:none;
}

.hero-video.is-ready{
  display:block;
}

.hero-overlay{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 50% 38%, rgba(255,255,255,.1) 0, transparent 22%),
    linear-gradient(180deg, rgba(0,0,0,.12) 0%, rgba(0,0,0,.24) 44%, rgba(0,0,0,.5) 100%);
}

.hero-inner{
  position:absolute;
  z-index:1;
  top:360px;
  left:50%;
  width:min(850px, calc(100% - 40px));
  display:flex;
  flex-direction:column;
  align-items:center;
  transform:translateX(-50%);
}

.hero-eyebrow{
  display:none;
}

.hero-title{
  width:100%;
  max-width:850px;
  height:171px;
  margin:0;
  display:grid;
  place-items:center;
  font-family:"Coolvetica", "Arial Rounded MT Bold", "Arial Black", var(--font-main);
  font-size:clamp(52px, 5.034vw, 96.66px);
  line-height:clamp(48.15px, 4.661vw, 89.51px);
  letter-spacing:.01em;
  font-weight:400;
  font-style:normal;
  color:#fff;
  text-align:center;
  text-shadow:none;
}

.hero-title span{
  display:block;
}

.hero-sub{
  width:539px;
  max-width:100%;
  height:64.4853286743px;
  margin:32.2573242188px 0 0;
  font-family:var(--font-display);
  font-size:17.8182239532px;
  line-height:25.1931858063px;
  font-weight:300;
  font-style:normal;
  letter-spacing:0;
  color:#fff;
  text-align:center;
  text-wrap:normal;
  white-space:normal;
  overflow:visible;
  font-synthesis:none;
  -webkit-font-smoothing:antialiased;
  text-rendering:geometricPrecision;
}

.hero-sub strong{
  font-weight:600;
}

.btn-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  margin-top:46px;
  padding:0 34px;
  border-radius:999px;
  color:#fff;
  background:rgba(0,0,0,.22);
  border:1px solid rgba(255,255,255,.25);
  text-decoration:none;
  font-size:14px;
  font-weight:700;
  backdrop-filter:blur(14px);
  box-shadow:0 18px 40px rgba(0,0,0,.2);
  transition:transform .2s ease, background .2s ease;
}

.btn-cta:hover{
  transform:translateY(-2px);
  background:rgba(0,0,0,.32);
}

.hero-scroll{
  position:absolute;
  bottom:-110px;
  color:#fff;
  opacity:.86;
  animation:floatY 2.4s ease-in-out infinite;
}

@keyframes floatY{
  0%,100%{ transform:translateY(0); }
  50%{ transform:translateY(8px); }
}

/* Sections */
.section{
  padding:110px 0;
}

.section-badge{
  display:block;
  margin:0 auto 20px;
  width:max-content;
  font-size:11px;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#b9b9b9;
}

.section--plans .section-badge{
  margin-bottom:74px;
  color:#454545;
  font-family:var(--font-ui);
  font-size:14.4118px;
  font-weight:600;
  line-height:17.4415px;
  letter-spacing:.7206px;
}

.section--recursos{
  background:#f5f5f5;
}

.recursos-intro{
  max-width:610px;
  margin:0 auto 58px;
  text-align:center;
  font-size:18px;
  color:#141414;
}

/* Bento */
.bento{
  position:relative;
  display:block;
  width:1121px;
  max-width:100%;
  height:755px;
  margin:0 auto;
}

.bento > .bento-card{
  position:absolute;
}

.revenue-caption{
  position:absolute;
  left:425px;
  top:686px;
  width:132px;
  height:35px;
  margin:0;
  font-family:var(--font-display);
  font-size:14.6447px;
  line-height:20.7061px;
  font-weight:400;
  letter-spacing:0;
  color:#000;
  text-align:left;
  font-synthesis:none;
}

.revenue-caption strong{
  font-weight:600;
}

.bento-card--map-text{
  left:0;
  top:0;
  width:286.1791px;
  height:362.0719px;
}

.bento-card--map-visual{
  left:315px;
  top:0;
  width:391.3223px;
  height:365.2341px;
}

.bento-card--social{
  left:736.0022px;
  top:0;
  width:384.9979px;
  height:362.0719px;
}

.bento-card{
  position:relative;
  overflow:hidden;
  border-radius:28px;
  background:#fff;
  box-shadow:var(--shadow-card);
}

.bento-card h3{
  margin:0;
  line-height:1.05;
  letter-spacing:-.04em;
}

.bento-card p{ margin:0; }


.bcard-map-text{
  position:relative;
  z-index:2;
  width:286.1791px;
  height:362.0719px;
  padding:0;
  overflow:hidden;
  background:#fff;
  border-radius:30.8315px;
}

.bcard-map-text h3{
  position:absolute;
  left:34px;
  top:47px;
  width:229px;
  height:96px;
  margin:0;
  font-family:var(--font-display);
  font-size:23.1421px;
  line-height:28.7945px;
  font-weight:600;
  letter-spacing:0;
  color:#161616;
}

.bcard-desc{
  position:absolute;
  left:34px;
  top:167px;
  width:217px;
  height:85px;
  margin:0;
  font-family:var(--font-display);
  font-size:14.6447px;
  line-height:20.7061px;
  font-weight:400;
  letter-spacing:0;
  color:#002645;
  font-synthesis:none;
}

.bcard-desc strong{
  font-weight:600;
}

.bcard-action{
  position:absolute;
  left:36px;
  top:311px;
  width:221px;
  height:16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin:0!important;
  text-decoration:none;
  color:#000;
}

.bcard-action span{
  font-family:var(--font-ui);
  font-size:11.3932px;
  line-height:13.7884px;
  font-weight:600;
  letter-spacing:.5697px;
  color:#00aeff;
  text-transform:uppercase;
}

.bcard-action-icon{
  position:absolute;
  left:205px;
  top:0;
  width:16px;
  height:16px;
  color:#000;
}

.bcard-map-visual{
  position:relative;
  width:391.3223px;
  height:365.2341px;
  overflow:hidden;
  border-radius:33.2031px;
  background:#dff0fa;
}

.bcard-map-img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.map-overlay{
  position:absolute;
  z-index:2;
  display:block;
  pointer-events:none;
  user-select:none;
}

.map-marker--778{
  left:51.2153px;
  top:42.3307px;
  width:103.2003px;
  height:103.2003px;
}

.map-marker--773{
  left:244px;
  top:17px;
  width:103.2003px;
  height:103.2003px;
}

.map-marker--768{
  left:91px;
  top:169px;
  width:103.2003px;
  height:103.2003px;
}

.map-marker--763{
  left:225px;
  top:122px;
  width:122.0418px;
  height:122.0418px;
}

.map-slider{
  left:35px;
  top:290px;
  width:321px;
  height:52.0334px;
}

.bento-card--social{
  grid-column:5;
  grid-row:1;
  width:384.9979px;
  height:362.0719px;
  padding:0;
  overflow:hidden;
  border-radius:30.8315px;
  background:#fff;
  box-shadow:none;
}

.stats-avatars{
  position:absolute;
  left:37.9463px;
  top:30.8314px;
  width:145px;
  height:50.5952px;
}

.stats-avatar{
  position:absolute;
  top:0;
  display:block;
  object-fit:cover;
}

.stats-avatar--1{
  left:0;
  width:52.9669px;
  height:50.5952px;
}

.stats-avatar--2{
  left:37.156px;
  width:48.2236px;
  height:50.5952px;
}

.stats-avatar--3{
  left:71.9401px;
  width:51.3858px;
  height:50.5952px;
}

.stats-arrow{
  position:absolute;
  left:136.7651px;
  top:18.9733px;
  width:7.9055px;
  height:12.6488px;
  color:#bababa;
}

.stats-connect{
  position:absolute;
  left:196.8469px;
  top:37.1559px;
  width:121.7447px;
  height:34.7842px;
  margin:0;
  font-family:var(--font-display);
  font-size:14.6447px;
  line-height:20.7061px;
  font-weight:400;
  letter-spacing:0;
  color:#000;
}

.bento-card--social .stats-num{
  position:absolute;
  left:34.7842px;
  top:200.0092px;
  width:108.3054px;
  height:54.548px;
  margin:0;
  font-family:var(--font-display);
  font-size:42.7428px;
  line-height:64.1143px;
  font-weight:600;
  letter-spacing:0;
  color:#161616;
}

.bento-card--social .stats-desc{
  position:absolute;
  left:32.9978px;
  top:258px;
  width:128px;
  height:64px;
  margin:0;
  font-family:var(--font-display);
  font-size:14.6447px;
  line-height:20.7061px;
  font-weight:400;
  letter-spacing:0;
  color:#002645;
}

.bento-card--profile .profile-label{
  font-size:18px;
  font-weight:800;
}

.av{
  width:44px;
  height:44px;
  border-radius:50%;
  border:3px solid #fff;
  background:linear-gradient(135deg, #eee, #bbb);
  box-shadow:0 8px 18px rgba(0,0,0,.12);
}

.av--sm{ width:30px; height:30px; border-width:2px; }
.av--1{ background:linear-gradient(135deg, #ffb36c, #70462b); }
.av--2{ background:linear-gradient(135deg, #77d9ff, #065e87); }
.av--3{ background:linear-gradient(135deg, #ff80c8, #71144d); }
.av--4{ background:linear-gradient(135deg, #ffd36b, #8a5200); }
.av--5{ background:linear-gradient(135deg, #b3ffbd, #187944); }
.av--6{ background:linear-gradient(135deg, #c8b6ff, #42228f); }
.av--7{ background:linear-gradient(135deg, #ff9b9b, #7a2020); }
.av--8{ background:linear-gradient(135deg, #90f7ec, #217f77); }
.av--9{ background:linear-gradient(135deg, #e2e2e2, #666); }

.bento-card--filtro{
  left:0;
  top:389px;
  width:304px;
  height:366px;
  padding:0;
  overflow:hidden;
  border-radius:30.8315px;
  box-shadow:none;
}

.filtro-title{
  font-family:var(--font-card-title);
  font-size:44px;
  font-weight:400;
}

.bento-card--filtro p{
  margin-top:18px;
  max-width:180px;
  color:#555;
  font-size:13px;
}

.filtro-pills{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:28px 0 0;
  padding:0;
  list-style:none;
}

.filtro-pills li{
  padding:7px 12px;
  border-radius:999px;
  background:#f3f7f9;
  color:#111;
  font-size:11px;
  font-weight:700;
}

.bento-card--price{
  left:325.2615px;
  top:389px;
  width:476.7384px;
  height:366px;
  padding:0;
  overflow:hidden;
  border-radius:44.8008px;
  color:#101010;
  background:#fff;
  box-shadow:none;
}

.price-brand{
  position:absolute;
  top:26px;
  right:26px;
  font-size:13px;
  font-weight:800;
}

.price-val{
  font-size:31px;
  font-weight:800;
  letter-spacing:-.05em;
}

.price-avatars{
  display:flex;
  margin-top:20px;
}

.price-avatars .av + .av{ margin-left:-10px; }
.price-count{ margin-top:8px; font-size:14px; font-weight:800; }
.price-count span{ display:block; color:#555; font-size:11px; font-weight:500; }
.price-label{ margin-top:16px!important; color:#555; font-size:12px; }


.bento-card--profile{
  left:820px;
  top:393px;
  z-index:3;
  width:301px;
  height:362px;
  min-height:0;
  padding:0;
  overflow:hidden;
  background:transparent;
  border-radius:30.8315px;
  box-shadow:none;
}

.figma-card-img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.profile-stats{
  display:flex;
  justify-content:space-between;
  gap:10px;
  margin:54px 0 0;
  padding:0;
  list-style:none;
}

.profile-stats li{
  text-align:center;
}

.profile-stats strong{
  display:block;
  font-size:16px;
}

.profile-stats span{
  display:block;
  color:#888;
  font-size:9px;
}

/* Features */
.section--features{
  position:relative;
  color:#fff;
  background:transparent;
  overflow:hidden;
}

.section--features::before{
  content:"";
  position:absolute;
  top:0;
  left:calc(50% + 60.5px);
  z-index:0;
  width:2661px;
  height:100%;
  min-height:2094px;
  transform:translateX(-50%);
  background:url("../img/figma-blue-bg-1-876.png") center / 100% 100% no-repeat;
  pointer-events:none;
}

.features-eyebrow{
  position:absolute;
  top:108px;
  left:50%;
  z-index:2;
  transform:translateX(-50%);
  color:#fff;
  font-family:var(--font-ui);
  font-size:14.4118px;
  font-weight:600;
  line-height:17.4415px;
  letter-spacing:.7206px;
  text-transform:uppercase;
}

.feat-block{
  position:relative;
}

.feat-block--chat{
  padding:201px 0 159px;
}

.feat-block--busca{
  padding:0 0 133px;
}

.feat-block::before{
  content:none;
}

.feat-inner{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:88px;
  align-items:center;
}

.feat-block--chat .feat-inner{
  grid-template-columns:402px 1fr;
  gap:157px;
  align-items:start;
}

.feat-inner--rev{
  grid-template-columns:456px 647px;
  gap:144px;
  align-items:start;
}

.feat-text h2{
  margin:0 0 42px;
  font-size:clamp(34px, 4.5vw, 58px);
  line-height:1.05;
  letter-spacing:-.06em;
  font-weight:900;
}

.feat-block--chat .feat-text h2{
  width:472px;
  max-width:100%;
  margin:31.0654px 0 40.0656px;
  color:#fff;
  font-family:var(--font-display);
  font-size:47.699px;
  font-weight:600;
  font-synthesis:none;
  line-height:59.3494px;
  letter-spacing:0;
}

.feat-block--busca .feat-text h2{
  width:456px;
  max-width:100%;
  margin:25.4192px 0 108.4192px;
  color:#fff;
  font-family:var(--font-display);
  font-size:47.7px;
  font-weight:600;
  font-synthesis:none;
  line-height:57.63px;
  letter-spacing:0;
}

.feat-list,
.busca-list{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:32px 36px;
  margin:0;
  padding:0;
  list-style:none;
}

.feat-list li{
  display:flex;
  gap:16px;
}

.feat-block--chat .feat-list{
  grid-template-columns:308px 308px;
  gap:38px 59px;
}

.feat-block--chat .feat-list li{
  display:block;
}

.feat-block--chat .feat-icon{
  display:none;
}

.feat-icon{
  flex:0 0 42px;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:rgba(255,255,255,.14);
}

.feat-list strong,
.busca-list strong{
  display:block;
  margin-bottom:10px;
  font-size:16px;
  font-weight:800;
}

.feat-block--chat .feat-list strong{
  margin-bottom:14.2755px;
  color:#fff;
  font-family:var(--font-display);
  font-size:21.9614px;
  font-weight:600;
  font-synthesis:none;
  line-height:27.3254px;
  letter-spacing:0;
}

.feat-list p,
.busca-list p{
  margin:0;
  color:rgba(255,255,255,.78);
  font-size:13px;
  line-height:1.65;
}

.feat-block--chat .feat-list p{
  width:308px;
  color:#fff;
  font-family:var(--font-display);
  font-size:14.6447px;
  font-weight:400;
  font-synthesis:none;
  line-height:20.7061px;
  letter-spacing:0;
}

.chat-mock{
  width:402px;
  height:548.0003px;
  margin-left:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
}

.chat-mock-img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}

.chat-mock__header{
  position:relative;
  margin-bottom:18px;
}

.chat-mock__eyebrow{
  margin:0 0 5px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.18em;
  color:rgba(255,255,255,.72);
}

.chat-mock__title{
  margin:0;
  font-size:24px;
  font-weight:800;
  letter-spacing:-.04em;
}

.chat-mock__badge{
  position:absolute;
  right:0;
  top:8px;
  width:26px;
  height:26px;
  border-radius:50%;
  background:#ff4bbd;
  box-shadow:0 12px 24px rgba(255,75,189,.3);
}

.chat-mock__search{
  display:flex;
  align-items:center;
  gap:9px;
  height:42px;
  padding:0 16px;
  border-radius:12px;
  color:#aaa;
  background:#fff;
  font-size:13px;
}

.chat-mock__list{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin:18px 0 0;
  padding:0;
  list-style:none;
}

.chat-mock__item{
  display:flex;
  align-items:center;
  gap:12px;
  min-height:62px;
  padding:10px;
  border-radius:15px;
  color:#111;
  background:#fff;
  box-shadow:0 12px 32px rgba(0,0,0,.08);
}

.chat-mock__item--unread{
  border:2px solid rgba(255,8,173,.45);
}

.chat-info{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:2px;
  flex:1;
}

.chat-info b{
  font-size:12px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.chat-info em{
  color:#8a8a8a;
  font-size:11px;
  font-style:normal;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.chat-time{
  color:#aaa;
  font-size:10px;
}

.chat-unread{
  width:20px;
  height:20px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#fff;
  background:#ff08ad;
  font-size:11px;
  font-weight:800;
}

.busca-list{
  display:block;
  width:424px;
  max-width:100%;
  margin-top:42.4192px;
}

.busca-list li{
  display:block;
  position:relative;
}

.feat-block--busca .busca-list li:not(:last-child)::after{
  content:"";
  display:block;
  width:409px;
  max-width:100%;
  height:1px;
  margin:35px 0 34px;
  background:rgba(255,255,255,.72);
}

.busca-dot{
  display:none;
}

.feat-block--busca .busca-list strong{
  margin-bottom:14.2755px;
  color:#fff;
  font-family:var(--font-display);
  font-size:21.9614px;
  font-weight:600;
  font-synthesis:none;
  line-height:27.3254px;
  letter-spacing:0;
  text-rendering:geometricPrecision;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

.feat-block--busca .busca-list p{
  width:424px;
  max-width:100%;
  color:#fff;
  font-family:var(--font-display);
  font-size:14.6447px;
  font-weight:400;
  font-synthesis:none;
  line-height:20.7061px;
  letter-spacing:0;
  text-rendering:geometricPrecision;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

.feat-block--busca .busca-list li:nth-child(n + 2) p{
  width:371px;
}

.feat-block--busca .busca-list li:nth-child(n + 3) p{
  width:367px;
}

.busca-arrow{
  display:block;
  width:22px;
  height:16px;
  margin-top:72.0001px;
  object-fit:contain;
  pointer-events:none;
  user-select:none;
}

.busca-cards{
  position:relative;
  min-height:1053.03px;
}

.figma-property-card,
.figma-opportunity-map{
  position:absolute;
  display:block;
  height:auto;
  pointer-events:none;
  user-select:none;
}

.figma-property-card{
  top:0;
  left:0;
  z-index:2;
  width:647px;
}

.figma-opportunity-map{
  top:530px;
  left:0;
  z-index:1;
  width:582.2927px;
}

.prop-card{
  position:absolute;
  top:0;
  left:18px;
  z-index:2;
  width:360px;
  padding:12px;
  border-radius:26px;
  color:#111;
  background:#fff;
  box-shadow:0 26px 70px rgba(0,0,0,.2);
  transform:rotate(.2deg);
}

.prop-img{
  height:220px;
  border-radius:20px;
  background:
    linear-gradient(180deg, rgba(0,0,0,.1), rgba(0,0,0,.25)),
    linear-gradient(135deg, #f0b778 0 30%, #34221a 30% 48%, #d5a56d 48% 70%, #111 70% 100%);
}

.prop-body{ padding:18px 16px 12px; }
.prop-meta{ display:flex; justify-content:space-between; gap:12px; margin-bottom:8px; color:#777; font-size:10px; font-weight:700; }
.prop-card h4{ margin:0 0 8px; font-size:19px; line-height:1.15; }
.prop-card p{ margin:0; color:#6b6b6b; font-size:12px; line-height:1.55; }
.prop-feats{ display:flex; gap:12px; margin:14px 0; color:#555; font-size:11px; }
.prop-price{ margin-top:12px!important; color:#111!important; font-size:24px!important; font-weight:900; letter-spacing:-.05em; }
.prop-actions{ display:flex; gap:10px; margin-top:14px; }
.btn-prop{ min-height:34px; padding:0 14px; border-radius:999px; background:#f2f5f7; color:#111; font-size:11px; font-weight:800; }

.opp-map{
  position:absolute;
  right:0;
  bottom:10px;
  width:430px;
  padding:22px;
  border-radius:26px;
  color:#111;
  background:#fff;
  box-shadow:0 26px 70px rgba(0,0,0,.18);
}

.opp-map__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  margin-bottom:14px;
  font-size:17px;
  font-weight:900;
  letter-spacing:-.04em;
}

.opp-legend{
  display:flex;
  align-items:center;
  gap:8px;
  color:#777;
  font-size:10px;
  font-weight:600;
}

.opp-dot{
  width:9px;
  height:9px;
  border-radius:50%;
}
.opp-dot--blue{ background:#0096e7; }
.opp-dot--pink{ background:#ff08ad; }

.opp-map__canvas{
  position:relative;
  overflow:hidden;
  border-radius:18px;
}

.opp-map__canvas svg{
  width:100%;
  height:auto;
}

.opp-avatars{
  position:absolute;
  right:18px;
  top:16px;
  display:flex;
}

.opp-avatars .av + .av{ margin-left:-8px; }
.opp-label{ margin:12px 0 0; color:#8a8a8a; font-size:10px; font-weight:800; letter-spacing:.12em; }

/* Plans */
.section--plans{
  background:#fbfbfb;
  text-align:center;
}

.section--plans h2{
  width:516px;
  max-width:100%;
  margin:0 auto;
  color:#000;
  font-family:var(--font-display);
  font-size:47.7px;
  font-weight:600;
  font-synthesis:none;
  line-height:57.63px;
  letter-spacing:0;
  text-align:center;
  text-rendering:geometricPrecision;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

.section--faq h2{
  width:547px;
  max-width:100%;
  margin:0 auto;
  color:#000;
  font-family:var(--font-display);
  font-size:47.7px;
  font-weight:600;
  font-synthesis:none;
  line-height:57.63px;
  letter-spacing:0;
  text-align:center;
  text-rendering:geometricPrecision;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

.plans-sub{
  width:561px;
  max-width:100%;
  margin:21px auto 74px;
  color:#757095;
  font-family:var(--font-display);
  font-size:17.82px;
  font-weight:400;
  line-height:35px;
  letter-spacing:-.3564px;
  text-align:center;
  text-rendering:geometricPrecision;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

.plans-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  gap:0;
  width:184px;
  height:44px;
  padding:4px;
  border-radius:12px;
  background:#fff;
  box-shadow:0 1px 2px rgba(0,0,0,.2);
  margin-bottom:61px;
}

.ptoggle{
  width:88px;
  height:36px;
  min-height:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 10px;
  border-radius:8px;
  color:#000;
  background:transparent;
  font-family:Switzer, var(--font-ui);
  font-size:14px;
  font-weight:400;
  font-synthesis:none;
  line-height:20px;
  letter-spacing:0;
  text-rendering:geometricPrecision;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

.ptoggle--active{
  border-radius:10px;
  color:#fff;
  background:linear-gradient(180deg, #000 0%, #2e2e2e 100%);
  box-shadow:inset 0 0 2px 1px rgba(255,255,255,.25);
  font-weight:500;
}

.ptoggle-save{
  color:#25c27a;
}

.plans-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 332.2184px));
  justify-content:center;
  gap:29.3674px;
  max-width:1059.9788px;
  margin:0 auto;
  align-items:start;
}

.plan-card{
  display:flex;
  flex-direction:column;
  gap:29.3674px;
  min-height:592.8539px;
  text-align:left;
  padding:29.3674px;
  border-radius:14.6837px;
  background:#fff;
  box-shadow:0 7.3418px 73.4184px rgba(167,167,167,.24);
  transition:transform .25s ease, box-shadow .25s ease;
}

.plan-card:hover{
  transform:translateY(-6px);
  box-shadow:0 26px 70px rgba(17, 24, 39, .12);
}

.plan-card--premium{
  color:#fff;
  background:#a60085;
  transform:none;
  box-shadow:0 7.3418px 73.4184px rgba(5,121,107,.32);
}

.plan-card--premium:hover{
  transform:translateY(-6px);
}

.plan-name{
  margin:0;
  color:#05796b;
  font-family:var(--font-plan);
  font-size:14.6837px;
  font-weight:500;
  font-synthesis:none;
  line-height:16.8862px;
  letter-spacing:.881px;
  text-transform:uppercase;
  text-rendering:geometricPrecision;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

.plan-card--premium .plan-name{ color:#fff; }

.plan-price{
  display:flex;
  align-items:flex-end;
  gap:6.5957px;
  margin:0;
}

.plan-value{
  color:#282828;
  font-family:var(--font-plan);
  font-size:58.7348px;
  font-weight:700;
  font-synthesis:none;
  line-height:67.545px;
  letter-spacing:0;
  text-rendering:geometricPrecision;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

.plan-card--premium .plan-value{
  color:#fff;
}

.plan-period{
  margin-bottom:10px;
  color:#8593a3;
  font-family:var(--font-plan);
  font-size:14.6837px;
  font-weight:700;
  font-synthesis:none;
  line-height:16.8862px;
  letter-spacing:-.7342px;
}

.plan-card--premium .plan-period{
  color:#fff;
}

.plan-desc{
  min-height:87px;
  margin:0;
  color:#8593a3;
  font-family:var(--font-plan);
  font-size:14.6837px;
  font-weight:500;
  font-synthesis:none;
  line-height:29.3674px;
  letter-spacing:-.7342px;
  text-rendering:geometricPrecision;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

.plan-card--premium .plan-desc{ color:#fff; }

.plan-hr{
  width:100%;
  border:0;
  height:.9177px;
  margin:0;
  background:rgba(133,147,163,.16);
}

.plan-card--premium .plan-hr{ background:rgba(255,255,255,.24); }

.plan-feats{
  display:flex;
  flex-direction:column;
  gap:14.6837px;
  width:max-content;
  max-width:100%;
  margin:0;
  padding:0;
  list-style:none;
}

.plan-feats li{
  display:flex;
  align-items:center;
  min-height:29px;
  gap:18.3546px;
  color:#8593a3;
  font-family:var(--font-plan);
  font-size:14.6837px;
  font-weight:500;
  font-synthesis:none;
  line-height:29.3674px;
  letter-spacing:-.7342px;
  text-rendering:geometricPrecision;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

.plan-icon{
  display:block;
  width:22.0255px;
  height:22.0255px;
  flex:0 0 22.0255px;
  background-repeat:no-repeat;
  background-position:center;
  background-size:22.0255px 22.0255px;
}

.plan-icon--check{
  background-image:url("../img/figma-plan-check-circle-1-1051.svg");
}

.plan-icon--cross{
  background-image:url("../img/figma-plan-cross-circle-1-1059.svg");
}

.plan-card--premium .plan-icon--check{
  background-image:url("../img/figma-plan-check-circle-white-1-1103.svg");
}

.plan-card--premium .plan-feats li{ color:#fff; }

.pf--yes,
.pf--no{ color:#8593a3!important; }
.plan-card--premium .pf--yes,
.plan-card--premium .pf--no{ color:#fff!important; }

.btn-plan{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:52.3674px;
  border:.9177px solid rgba(133,147,163,.32);
  border-radius:73.4184px;
  color:#8593a3;
  background:transparent;
  box-shadow:0 7.3418px 73.4184px rgba(5,94,255,.4);
  text-decoration:none;
  font-family:var(--font-plan);
  font-size:16.5191px;
  font-weight:600;
  font-synthesis:none;
  line-height:22.5652px;
  letter-spacing:-.826px;
}

.plan-card--premium .btn-plan{
  border-color:transparent;
  background:#fff;
  color:#a60085;
  box-shadow:none;
}

/* FAQ */
.section--faq{
  padding-top:80px;
  background:#fbfbfb;
  text-align:center;
}

.faq-intro{
  width:561px;
  max-width:100%;
  margin:7px auto 73px;
  color:#757095;
  font-family:var(--font-plan);
  font-size:20px;
  font-weight:400;
  line-height:35px;
  letter-spacing:-.4px;
  text-align:center;
}

.faq-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px 26px;
  max-width:930px;
  margin:0 auto;
  text-align:left;
}

.faq-item{
  border-radius:12px;
  background:#fff;
  box-shadow:0 12px 32px rgba(17,24,39,.08);
  overflow:hidden;
}

.faq-q{
  width:100%;
  min-height:68px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:18px 24px;
  color:#111;
  background:#fff;
  text-align:left;
  font-size:14px;
  font-weight:800;
}

.faq-chevron{
  flex:0 0 auto;
  color:#111;
  transition:transform .2s ease;
}

.faq-item--open .faq-chevron{
  transform:rotate(180deg);
}

.faq-a{
  padding:0 24px 24px;
  color:#777;
  font-size:13px;
  line-height:1.7;
}

/* Contact */
.section--contact{
  min-height:949px;
  padding:104px 0 117px;
  color:#fff;
  background:#a60085;
}

.contact-inner{
  position:relative;
  display:block;
  width:min(1145.0807px, calc(100% - 40px));
  max-width:none;
}

.brand--contact,
.brand--footer{
  color:#fff;
}

.brand--contact{
  width:168.1113px;
  height:36.7063px;
}

.contact-logo{
  display:block;
  width:168.1113px;
  height:36.7063px;
  object-fit:contain;
}

.contact-eyebrow{
  width:159.2459px;
  max-width:100%;
  margin:70.7854px 0 32.4895px;
  color:#fff;
  font-family:var(--font-display);
  font-size:19.3125px;
  font-weight:400;
  font-synthesis:none;
  line-height:28.9688px;
  letter-spacing:0;
}

.contact-heading{
  width:540px;
  max-width:100%;
  margin:0;
  color:#fff;
  font-family:var(--font-ui);
  font-size:47.7px;
  font-weight:700;
  font-synthesis:none;
  line-height:80.4688px;
  letter-spacing:0;
  text-rendering:geometricPrecision;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

.contact-socials{
  position:absolute;
  top:136.6812px;
  right:0;
  display:flex;
  flex-direction:column;
  gap:19.3125px;
  margin:0;
}

.social-btn{
  width:40.225px;
  height:39.9936px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#fff;
  border:1px solid #b7b7b7;
  text-decoration:none;
  transition:background .2s ease, transform .2s ease;
}

.social-btn svg{
  width:14px;
  height:14px;
}

.social-btn:hover{
  background:rgba(255,255,255,.12);
  transform:translateY(-2px);
}

.contact-form{
  display:flex;
  flex-direction:column;
  gap:37.4985px;
  width:100%;
  margin-top:90.2031px;
}

.form-row{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:25.75px;
  width:100%;
  min-height:62.0992px;
}

.form-field{
  position:relative;
  display:block;
  min-height:62.7969px;
  margin:0;
  padding:8.0469px 8.0469px 25.75px;
  border:0;
  border-bottom:0.8047px solid #cacaca;
  background:transparent;
  box-shadow:none;
  border-radius:0;
}

.form-field span{
  position:absolute;
  top:8.0469px;
  left:8.0469px;
  color:#fff;
  font-family:var(--font-display);
  font-size:17.82px;
  font-weight:400;
  font-synthesis:none;
  line-height:28.9688px;
  letter-spacing:0;
  pointer-events:none;
}

.form-field input,
.form-field textarea{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  outline:0;
  color:#fff;
  background:transparent;
  padding:34px 8.0469px 8.0469px;
  font-family:var(--font-display);
  font-size:17.82px;
  font-weight:400;
  font-synthesis:none;
  line-height:28.9688px;
  letter-spacing:0;
  resize:none;
  appearance:none;
  -webkit-appearance:none;
}

.form-field textarea{
  min-height:100%;
}

.contact-form > .form-field{
  min-height:116.1791px;
  padding-bottom:80.4688px;
}

.form-field input::placeholder,
.form-field textarea::placeholder{
  color:transparent;
}

.form-field:focus-within{
  border-bottom-color:#fff;
}

.btn-send{
  align-self:flex-start;
  width:195px;
  min-height:55px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:4.0234px;
  padding:0 28px;
  border-radius:103px;
  color:#fff;
  background:#00a6ff;
  font-family:var(--font-display);
  font-size:15px;
  font-weight:600;
  font-synthesis:none;
  line-height:22.5px;
  box-shadow:none;
  transition:transform .2s ease, box-shadow .2s ease;
}

.btn-send:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 40px rgba(0,166,255,.28);
}

.form-success{
  margin:0;
  color:#b7ffdb;
  font-size:13px;
  font-weight:700;
}

/* Footer */
.site-footer{
  min-height:460px;
  color:#fff;
  background:#000;
}

.footer-inner{
  position:relative;
  display:block;
  width:min(1154px, calc(100% - 40px));
  max-width:none;
  height:293px;
  padding:0;
  margin:0 auto;
  top:94px;
}

.footer-brand{
  position:absolute;
  left:0;
  top:0;
  width:310px;
}

.brand--footer{
  display:block;
  width:220px;
  height:48.0359px;
}

.footer-logo{
  display:block;
  width:220px;
  height:48.0359px;
  object-fit:contain;
}

.footer-brand p,
.footer-addr{
  width:310px;
  margin:0;
  color:#ccc;
  font-family:var(--font-ui);
  font-size:14px;
  font-weight:400;
  font-style:normal;
  font-synthesis:none;
  line-height:24px;
  letter-spacing:0;
}

.footer-addr{ margin-top:31.9641px; }
.footer-brand p:nth-of-type(1){ margin-top:16px; }
.footer-brand p:nth-of-type(2){ margin-top:16px; }

.footer-socials{
  display:flex;
  gap:24px;
  margin-top:40px;
}

.ft-social{
  display:block;
  width:24px;
  height:24px;
  color:#fff;
  opacity:1;
  text-decoration:none;
  transition:opacity .2s ease, transform .2s ease;
}

.ft-social svg{
  display:block;
  width:24px;
  height:24px;
}

.ft-social:hover{
  opacity:.78;
  transform:translateY(-2px);
}

.footer-nav{
  position:absolute;
  top:0;
}

.footer-nav--platform{ left:424px; width:183px; }
.footer-nav--business{ left:728px; width:178px; }
.footer-nav--dev{ left:1027px; width:127px; }

.footer-nav h4{
  margin:0 0 24px;
  color:#fff;
  font-family:var(--font-ui);
  font-size:18px;
  font-weight:600;
  font-synthesis:none;
  line-height:24px;
  letter-spacing:0;
}

.footer-nav ul{
  display:flex;
  flex-direction:column;
  gap:0;
  margin:0;
  padding:0;
  list-style:none;
}

.footer-nav li{ margin:0; }

.footer-nav a{
  display:block;
  color:#ccc;
  text-decoration:none;
  font-family:var(--font-ui);
  font-size:14px;
  font-weight:400;
  font-synthesis:none;
  line-height:35px;
  letter-spacing:0;
}

.footer-nav a:hover{ color:#fff; }

.copyright-strip{
  min-height:100px;
  padding:18px 0;
  display:block;
  place-items:center;
  color:#fff;
  background:#1d1d1d;
}

.copyright-strip p{
  width:480px;
  max-width:calc(100% - 40px);
  margin:0;
  color:#fff;
  font-family:Montserrat, var(--font-ui);
  font-size:14px;
  font-weight:400;
  font-synthesis:none;
  line-height:24px;
  letter-spacing:0;
  text-align:center;
  overflow-wrap:anywhere;
  word-break:break-word;
  hyphens:auto;
}

/* Reveal animation */
.reveal{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .7s ease, transform .7s ease;
}

.reveal.is-visible{
  opacity:1;
  transform:translateY(0);
}

/* Responsive */
@media (max-width: 1200px){
  .site-header{
    top:28px;
  }
  .site-header.is-scrolled{
    top:18px;
  }
  .header-inner{
    width:calc(100% - 32px);
    padding:0 18px 0 26px;
    gap:18px;
  }
  .brand--top{
    flex:0 0 112px;
    width:112px;
    height:auto;
  }
  .brand-logo{
    width:100%;
    height:auto;
  }
  .site-nav{
    position:static;
    flex:1 1 auto;
    width:auto;
    height:auto;
    justify-content:center;
    gap:clamp(14px, 2vw, 24px);
    margin:0 8px 0 18px;
  }
  .site-nav a{
    height:auto;
    min-height:17px;
    white-space:nowrap;
  }
  .btn-header,
  .top-login{
    width:auto;
    min-width:112px;
    padding:0 20px;
  }
  .top-login{
    top:14px;
    right:16px;
  }
}

@media (max-width: 1100px){
  .hero{ min-height:820px; }
  .hero-inner{
    top:300px;
    width:min(850px, calc(100% - 56px));
  }
  .hero-title{
    height:auto;
    min-height:0;
  }
  .hero-sub{
    height:auto;
  }
  .bento{
    width:min(100%, 760px);
    height:auto;
    display:flex;
    flex-direction:column;
    gap:24px;
  }
  .bento > .bento-card{
    position:relative;
    left:auto;
    top:auto;
    width:100%;
    height:auto;
  }
  .revenue-caption{
    position:static;
    width:auto;
    height:auto;
    margin:4px 12px 0;
    text-align:center;
  }
  .bento-card--map-text,
  .bcard-map-text{
    width:100%;
    height:auto;
    min-height:320px;
  }
  .bcard-map-text{
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    gap:24px;
    padding:32px 30px 36px;
  }
  .bcard-map-text h3,
  .bcard-desc,
  .bcard-action,
  .bcard-action-icon{
    position:static;
    width:auto;
    height:auto;
  }
  .bcard-map-text h3{
    max-width:260px;
  }
  .bcard-desc{
    max-width:420px;
  }
  .bcard-action{
    gap:12px;
    justify-content:flex-start;
  }
  .bcard-action-icon{
    flex:0 0 auto;
  }
  .bento-card--map-visual{ aspect-ratio:391.3223 / 365.2341; }
  .bento-card--social{ aspect-ratio:384.9979 / 362.0719; }
  .bento-card--filtro{ aspect-ratio:304 / 366; }
  .bento-card--price{ aspect-ratio:476.7384 / 366; }
  .bento-card--profile{ aspect-ratio:301 / 362; }
  .feat-inner,
  .feat-inner--rev,
  .feat-block--chat .feat-inner{ grid-template-columns:1fr; gap:60px; }
  .chat-mock{ margin:0 auto; }
  .feat-block--chat .feat-text h2,
  .feat-block--busca .feat-text h2{
    width:auto;
    margin:0 0 32px;
  }
  .feat-block--chat .feat-list{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:28px 32px;
  }
  .feat-block--chat .feat-list p,
  .feat-block--busca .busca-list p,
  .feat-block--busca .busca-list li:nth-child(n + 2) p,
  .feat-block--busca .busca-list li:nth-child(n + 3) p{
    width:auto;
  }
  .busca-list{
    width:100%;
    margin-top:24px;
  }
  .feat-block--busca .busca-list li:not(:last-child)::after{
    width:100%;
  }
  .busca-arrow{
    margin-top:40px;
  }
  .busca-cards{
    min-height:0;
    display:grid;
    gap:32px;
    justify-items:center;
  }
  .figma-property-card,
  .figma-opportunity-map{
    position:relative;
    top:auto;
    left:auto;
    width:min(100%, 647px);
  }
  .figma-opportunity-map{ width:min(100%, 582.2927px); }
  .plans-grid{ max-width:760px; grid-template-columns:1fr; }
  .plan-card--premium{ transform:none; }
  .plan-card--premium:hover{ transform:translateY(-6px); }
  .contact-inner{
    display:grid;
    grid-template-columns:minmax(0, 380px) minmax(0, 1fr);
    gap:56px;
    align-items:start;
    width:min(1145.0807px, calc(100% - 40px));
  }
  .contact-heading{
    width:auto;
    font-size:clamp(40px, 5vw, 47.7px);
    line-height:1.2;
  }
  .contact-socials{
    position:static;
    flex-direction:row;
    flex-wrap:wrap;
    margin-top:32px;
  }
  .contact-form{
    margin-top:0;
  }
  .form-row{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
  .site-footer{ min-height:calc(94px + (293px * ((100vw - 40px) / 1154)) + 94px); }
  .footer-inner{
    width:1154px;
    transform-origin:top center;
    transform:scale(calc((100vw - 40px) / 1154));
  }
}

@media (max-width: 980px){
  .site-header{ top:14px; height:58px; }
  .site-header.is-scrolled{ top:12px; }
  .header-inner{
    width:calc(100% - 24px);
    height:58px;
    padding:0 8px 0 18px;
    border-radius:58px;
  }
  .brand--top{ flex-basis:119.508px; width:119.508px; height:26.094px; }
  .site-nav{
    position:fixed;
    top:84px;
    left:12px;
    right:12px;
    width:auto;
    height:auto;
    display:none;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    padding:12px;
    border-radius:24px;
    background:rgba(0,0,0,.82);
    box-shadow:0 24px 70px rgba(0,0,0,.35);
    backdrop-filter:blur(20px);
    -webkit-backdrop-filter:blur(20px);
    max-height:calc(100vh - 96px);
    overflow-y:auto;
  }
  body.menu-open .site-nav{ display:flex; }
  .site-nav a{ height:auto; padding:15px 14px; font-size:14px; border-radius:14px; }
  .site-nav a:hover{ background:rgba(255,255,255,.08); opacity:1; }
  .header-ctas{ display:none; }
  .top-login{ display:none; }
  .hamburger{ display:flex; }
  .hero{ min-height:700px; }
  .hero-inner{
    top:230px;
    width:min(100% - 32px, 850px);
  }
  .hero-title{
    font-size:clamp(44px, 9vw, 74px);
    line-height:.98;
  }
  .hero-sub{
    margin-top:24px;
    font-size:16px;
    line-height:1.55;
  }
  .hero-scroll{ display:none; }
  .section{ padding:82px 0; }
  .bento{
    width:min(100%, 560px);
  }
  .bcard-map-text{ min-height:220px; }
  .bcard-map-visual{ min-height:260px; }
  .section--features::before{
    left:50%;
    width:1800px;
  }
  .features-eyebrow{
    top:74px;
  }
  .feat-block{ padding:86px 0; }
  .feat-list,
  .feat-block--chat .feat-list{ grid-template-columns:1fr; }
  .busca-cards{ gap:24px; }
  .figma-property-card{ width:min(100%, 430px); }
  .figma-opportunity-map{ width:min(100%, 430px); }
  .faq-grid{ grid-template-columns:1fr; }
  .contact-inner{
    grid-template-columns:1fr;
    gap:40px;
  }
  .form-row{ grid-template-columns:1fr; }
  .contact-socials{ position:static; flex-direction:row; margin-top:40px; }
  .contact-form{ margin-top:60px; }

}

@media (max-width: 640px){
  .container{ width:min(100% - 28px, var(--container)); }
  .site-header{
    top:10px;
  }
  .site-header.is-scrolled{
    top:8px;
  }
  .header-inner{
    width:calc(100% - 20px);
    padding:0 6px 0 16px;
  }
  .brand--top{
    flex-basis:104px;
    width:104px;
  }
  .site-nav{
    top:76px;
    left:10px;
    right:10px;
    padding:10px;
    border-radius:20px;
  }
  .hamburger{
    width:38px;
    height:38px;
  }
  .hero{ min-height:640px; }
  .hero-inner{ top:190px; width:min(100% - 28px, 850px); }
  .hero-title{ height:auto; min-height:128px; font-size:clamp(38px, 14vw, 68px); line-height:.926; letter-spacing:.01em; }
  .hero-sub{ width:min(539px, 100%); height:auto; font-size:clamp(14px, 4.2vw, 17.8182px); line-height:1.414; }
  .btn-cta{
    width:100%;
    max-width:280px;
  }
  .bento{ grid-template-columns:1fr; gap:18px; }
  .bento-card{ border-radius:22px; }
  .bento-card--map{ grid-column:auto; }
  .bcard-map-text{
    min-height:0;
    padding:28px 24px;
  }
  .bcard-map-text h3{
    max-width:none;
    font-size:clamp(22px, 5vw, 28px);
    line-height:1.15;
  }
  .bcard-desc{
    max-width:none;
  }
  .filtro-title{ font-size:38px; }
  .recursos-intro br{ display:none; }
  .feat-block--chat .feat-text h2,
  .feat-block--busca .feat-text h2,
  .section--plans h2,
  .section--faq h2{
    font-size:clamp(32px, 9vw, 40px);
    line-height:1.12;
  }
  .chat-mock{ width:min(100%, 402px); height:auto; aspect-ratio:402 / 548.0003; }
  .busca-cards{ min-height:0; }
  .figma-property-card,
  .figma-opportunity-map{ right:auto; margin:0 auto; }
  .figma-property-card{ width:min(100%, 360px); }
  .figma-opportunity-map{ width:min(100%, 360px); }
  .plans-toggle{ margin-bottom:32px; }
  .plan-card{
    gap:22px;
    min-height:auto;
    padding:30px 24px;
  }
  .plan-value{ font-size:48px; }
  .section--contact{ min-height:auto; padding:82px 0; }
  .contact-eyebrow{ margin-top:48px; }
  .contact-heading{
    font-size:clamp(34px, 10vw, 42px);
    line-height:1.15;
  }
  .contact-form{ gap:24px; }
  .form-row{ gap:24px; }
  .contact-form > .form-field{
    min-height:104px;
    padding-bottom:68px;
  }
  .btn-send{
    width:100%;
    align-self:stretch;
  }
  .site-footer{ min-height:auto; padding:62px 0; }
  .footer-inner{
    position:static;
    display:grid;
    grid-template-columns:1fr;
    gap:38px;
    width:min(100% - 28px, var(--container));
    height:auto;
    transform:none;
  }
  .footer-brand,
  .footer-nav{
    position:static;
    width:auto;
  }
  .footer-nav--platform,
  .footer-nav--business,
  .footer-nav--dev{ left:auto; width:auto; }
  .footer-addr,
  .footer-brand p{ width:min(310px, 100%); }
  .footer-socials{ margin-top:32px; }
  .copyright-strip{ height:100px; }
}

@media (max-width: 480px){
  .header-inner{
    padding:0 6px 0 14px;
  }
  .brand--top{
    flex-basis:96px;
    width:96px;
  }
  .site-nav{
    top:72px;
    left:8px;
    right:8px;
  }
  .site-nav a{
    padding:14px 12px;
    font-size:13px;
  }
  .hero{ min-height:600px; }
  .hero-inner{
    top:176px;
    width:calc(100% - 24px);
  }
  .hero-title{
    min-height:0;
    font-size:clamp(34px, 12vw, 48px);
  }
  .hero-sub{
    font-size:14px;
    line-height:1.5;
  }
  .btn-cta{
    min-height:48px;
    margin-top:34px;
    padding:0 24px;
  }
  .section{ padding:72px 0; }
  .bento{ gap:16px; }
  .bcard-map-text{
    gap:20px;
    padding:24px 20px 28px;
  }
  .bcard-map-text h3{
    font-size:21px;
  }
  .bcard-desc{
    font-size:14px;
    line-height:1.6;
  }
  .section--plans h2,
  .section--faq h2,
  .contact-heading,
  .feat-block--chat .feat-text h2,
  .feat-block--busca .feat-text h2{
    font-size:32px;
  }
  .plan-card{
    padding:24px 20px;
  }
  .plan-value{
    font-size:42px;
    line-height:1;
  }
  .faq-q{
    padding:16px 18px;
    font-size:13px;
  }
  .faq-a{
    padding:0 18px 18px;
  }
  .form-field span,
  .form-field input,
  .form-field textarea{
    font-size:16px;
    line-height:24px;
  }
  .contact-socials{
    gap:14px;
    margin-top:32px;
  }
  .copyright-strip p{
    font-size:12px;
    line-height:20px;
  }
}

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