/* Hero principal com a foto dos proprietários */
.hero{
  background:
    radial-gradient(circle at 76% 18%, rgba(32,240,68,.12), transparent 24%),
    radial-gradient(circle at 22% 78%, rgba(215,183,116,.08), transparent 26%),
    linear-gradient(90deg,#040706 0%,#060a07 46%,#081008 100%);
}

.hero-grid{
  gap:36px;
  grid-template-columns:minmax(0,1.02fr) minmax(420px,.98fr);
  align-items:center;
}

.hero-copy{
  padding:72px 0 74px;
  max-width:720px;
}

.hero h1{
  max-width:700px;
}

.hero-sub{
  max-width:640px;
}

.hero-visual.hero-owners{
  min-height:760px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
}

.hero-photo-owners{
  position:relative;
  inset:auto;
  width:100%;
  max-width:540px;
  min-height:700px;
  border-radius:34px;
  border:1px solid rgba(215,183,116,.16);
  overflow:hidden;
  background:
    radial-gradient(circle at 16% 22%, rgba(34, 235, 84, .18), transparent 34%),
    radial-gradient(circle at 84% 16%, rgba(220, 194, 123, .11), transparent 28%),
    linear-gradient(180deg, #09110c 0%, #040706 100%);
  box-shadow:
    0 34px 90px rgba(0,0,0,.46),
    inset 0 1px 0 rgba(255,255,255,.04);
}

.hero-photo-owners::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  background:
    linear-gradient(180deg, rgba(4,7,6,.05) 0%, rgba(4,7,6,0) 28%, rgba(4,7,6,.12) 100%),
    linear-gradient(90deg, rgba(4,7,6,.14) 0%, transparent 18%, transparent 82%, rgba(4,7,6,.16) 100%);
  pointer-events:none;
}

.hero-photo-owners::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
  border-radius:inherit;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.03),
    inset 0 -80px 120px rgba(0,0,0,.10);
}

.hero-photo-picture--owners,
.hero-photo-picture--owners img{
  display:block;
  width:100%;
  height:100%;
}

.hero-photo-picture--owners img{
  object-fit:cover !important;
  object-position:center 16% !important;
  transform:scale(1.04);
  filter:saturate(1.02) contrast(1.06) brightness(1.04) !important;
}

@media (min-width: 1180px){
  .hero-grid{
    grid-template-columns:minmax(0,1fr) minmax(500px,560px);
  }

  .hero-visual.hero-owners{
    min-height:820px;
  }

  .hero-photo-owners{
    min-height:760px;
    max-width:560px;
  }

  .hero-photo-picture--owners img{
    object-position:center 15% !important;
    transform:scale(1.06);
  }
}

@media (max-width: 1080px){
  .hero-grid{
    gap:24px;
    grid-template-columns:minmax(0,1fr) minmax(360px,460px);
  }

  .hero-copy{
    padding-right:0;
  }

  .hero-visual.hero-owners{
    min-height:640px;
  }

  .hero-photo-owners{
    min-height:600px;
  }

  .hero-photo-picture--owners img{
    object-position:center 14% !important;
  }
}

@media (max-width: 720px){
  .hero{
    padding-top:76px;
    overflow:visible;
  }

  .hero:after{
    height:96px;
  }

  .hero-grid{
    display:flex;
    flex-direction:column;
    gap:0;
    min-height:auto;
  }

  .hero-visual.hero-owners{
    order:1;
    width:100%;
    height:440px !important;
    min-height:440px !important;
    margin:0;
    display:block;
  }

  .hero-photo-owners{
    max-width:none;
    min-height:440px;
    height:440px;
    border-radius:0 0 30px 30px;
    border-left:0;
    border-right:0;
    box-shadow:0 22px 65px rgba(0,0,0,.42);
    background:
      radial-gradient(circle at 18% 22%, rgba(34, 235, 84, .18), transparent 34%),
      radial-gradient(circle at 84% 14%, rgba(220, 194, 123, .10), transparent 30%),
      linear-gradient(180deg, #09110c 0%, #040706 100%);
  }

  .hero-photo-owners::before{
    background:
      linear-gradient(180deg, rgba(4,7,6,.04) 0%, rgba(4,7,6,.00) 48%, rgba(4,7,6,.18) 100%),
      linear-gradient(90deg, rgba(4,7,6,.10) 0%, transparent 16%, transparent 84%, rgba(4,7,6,.12) 100%);
  }

  .hero-photo-picture--owners img{
    object-position:center 13% !important;
    transform:scale(1.08);
  }

  .hero-copy{
    order:2;
    position:relative;
    z-index:5;
    margin:-44px 12px 0;
    padding:26px 18px 26px;
    max-width:none;
    background:linear-gradient(180deg, rgba(12,18,14,.98), rgba(7,11,8,.98));
    border:1px solid rgba(215,183,116,.16);
    border-radius:28px;
    box-shadow:0 18px 50px rgba(0,0,0,.34);
  }

  .hero-copy::before{
    content:"";
    position:absolute;
    left:18px;
    right:18px;
    top:0;
    height:1px;
    background:linear-gradient(90deg, transparent, rgba(32,240,68,.48), rgba(215,183,116,.34), transparent);
  }

  .hero h1{
    font-size:54px;
    line-height:.95;
    max-width:100%;
  }

  .hero-sub{
    margin:16px 0 22px;
    font-size:15px;
    line-height:1.7;
    max-width:none;
  }

  .hero-highlights{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin-bottom:22px;
    max-width:none;
  }

  .hero-highlights > div{
    padding:12px;
    border-radius:16px;
    border:1px solid rgba(255,255,255,.06);
    background:linear-gradient(180deg, rgba(16,22,17,.96), rgba(10,14,11,.96));
  }

  .hero-highlights svg{
    font-size:22px;
  }

  .hero-highlights strong{
    font-size:11px;
  }

  .hero-highlights small{
    font-size:10px;
  }

  .hero-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
  }

  .hero-actions .btn{
    width:100%;
    justify-content:center;
  }

  .social-proof{
    margin-top:18px;
    padding-top:16px;
    border-top:1px solid rgba(255,255,255,.06);
  }
}

@media (max-width: 430px){
  .hero-visual.hero-owners{
    height:416px !important;
    min-height:416px !important;
  }

  .hero-photo-owners{
    height:416px;
    min-height:416px;
  }

  .hero-photo-picture--owners img{
    object-position:center 12% !important;
    transform:scale(1.11);
  }

  .hero-copy{
    margin:-40px 10px 0;
    padding:22px 16px 24px;
    border-radius:24px;
  }

  .hero h1{
    font-size:47px;
  }

  .hero-sub{
    font-size:14px;
  }

  .hero-highlights{
    gap:8px;
  }

  .hero-highlights > div{
    padding:10px;
    gap:9px;
  }

  .hero-highlights strong{
    font-size:10px;
  }

  .hero-highlights small{
    font-size:9px;
  }
}

@media (max-width: 370px){
  .hero-visual.hero-owners{
    height:392px !important;
    min-height:392px !important;
  }

  .hero-photo-owners{
    height:392px;
    min-height:392px;
  }

  .hero h1{
    font-size:43px;
  }
}

/* ---------------------------------------------------------
   BUGFIX MOBILE HERO — evita coluna vazia / overflow lateral
   --------------------------------------------------------- */
@media (max-width: 720px){
  .hero,
  .hero .container,
  .hero-grid,
  .hero-visual.hero-owners,
  .hero-photo.hero-photo-owners,
  .hero-copy{
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }

  .hero{
    overflow:hidden !important;
  }

  .hero .container{
    width:calc(100% - 24px) !important;
    margin-inline:auto !important;
    overflow:visible !important;
  }

  .hero-grid{
    display:block !important;
    width:100% !important;
    min-height:auto !important;
  }

  .hero-visual.hero-owners{
    position:relative !important;
    display:block !important;
    width:100% !important;
    height:420px !important;
    min-height:420px !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
  }

  .hero-photo.hero-photo-owners{
    position:relative !important;
    inset:auto !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    bottom:auto !important;
    width:100% !important;
    max-width:100% !important;
    height:100% !important;
    min-height:420px !important;
    margin:0 !important;
    border-radius:0 0 28px 28px !important;
  }

  .hero-photo-picture--owners,
  .hero-photo-picture--owners img{
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    display:block !important;
  }

  .hero-photo-picture--owners img{
    object-fit:cover !important;
    object-position:center 12% !important;
    transform:none !important;
  }

  .hero-copy{
    display:block !important;
    width:100% !important;
    margin:-34px 0 0 !important;
    padding:22px 16px 24px !important;
  }

  .hero-highlights,
  .hero-actions,
  .social-proof{
    width:100% !important;
  }
}

@media (max-width: 430px){
  .hero .container{
    width:calc(100% - 20px) !important;
  }

  .hero-visual.hero-owners{
    height:400px !important;
    min-height:400px !important;
  }

  .hero-photo.hero-photo-owners{
    min-height:400px !important;
  }

  .hero-copy{
    margin:-30px 0 0 !important;
    border-radius:22px !important;
  }
}

/* ---------------------------------------------------------
   HERO MOBILE — foto deles logo no início
   --------------------------------------------------------- */
@media (max-width: 720px){
  .hero-grid{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    width:100% !important;
  }

  .hero-visual.hero-owners{
    order:1 !important;
    flex:0 0 auto !important;
  }

  .hero-copy{
    order:2 !important;
    flex:0 0 auto !important;
  }
}
