/* YASHAV — reconstrução fiel do site original (cores, fontes e medidas medidas no site atual) */
:root{
  --bg:#f5f2ed; --gray:#9a9ba2; --gray-btn:#8e8e97; --text:#73777f; --dark:#3b3e43; --black:#000;
  --serif:"Prata",serif; --sans:"Spinnaker",sans-serif; --mont:"Montserrat",sans-serif; --oxy:"Oxygen",sans-serif;
  --container:1095px; --header-h:78px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
.container{width:100%;max-width:calc(var(--container) + 40px);margin:0 auto;padding:0 20px}
[id]{scroll-margin-top:60px}

/* ---------- Cabeçalho ---------- */
.header{position:fixed;top:0;left:0;right:0;z-index:50;height:var(--header-h);background:rgba(235,235,235,0);box-shadow:0 2px 8px rgba(0,0,0,0);transition:background-color .2s cubic-bezier(.455,.03,.515,.955),box-shadow .2s cubic-bezier(.455,.03,.515,.955),height .2s cubic-bezier(.455,.03,.515,.955)}
.header .container{height:100%;display:flex;align-items:center;justify-content:space-between}
.header__logo{display:block;width:48px;height:48px;transition:width .2s cubic-bezier(.455,.03,.515,.955),height .2s cubic-bezier(.455,.03,.515,.955);border-radius:50%;overflow:hidden;background:#fff;flex:none}
.header__logo img{width:100%;height:100%;object-fit:cover}
.header__right{display:flex;align-items:center;gap:56px}
.nav{display:flex;gap:20px;list-style:none}
.nav a{font-family:var(--sans);font-size:12px;letter-spacing:3px;line-height:24px;color:#fff;text-transform:uppercase;transition:opacity .2s,color .2s cubic-bezier(.455,.03,.515,.955)}
.nav a:hover{opacity:.7}
.pill{display:inline-flex;align-items:center;justify-content:center;height:28px;padding:0 7px;min-width:101px;border-radius:100px;border:2px solid rgba(255,255,255,.99);background:var(--gray);color:#fff;font-family:var(--sans);font-size:12px;letter-spacing:3px;transition:background .2s}
.pill:hover{background:#85868d}
.header.is-fixed{height:60px;background:rgba(235,235,235,1);box-shadow:0 2px 8px rgba(0,0,0,.12)}
.header.is-fixed .header__logo{width:38px;height:38px}
.header.is-fixed .nav a{color:#000}
.burger{display:none;width:44px;height:44px;align-items:center;justify-content:center;margin-right:-10px}
.burger span{display:block;width:20px;height:2px;background:#fff;position:relative}
.burger span::before,.burger span::after{content:"";position:absolute;left:0;width:20px;height:2px;background:#fff}
.burger span,.burger span::before,.burger span::after{transition:background-color .2s cubic-bezier(.455,.03,.515,.955)}
.burger span::before{top:-6px}.burger span::after{top:6px}
.header.is-fixed .burger span,.header.is-fixed .burger span::before,.header.is-fixed .burger span::after{background:#333}

/* Menu do celular */
.mmenu{position:fixed;inset:0;z-index:100;background:rgba(51,51,51,.97);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
.mmenu.is-open{opacity:1;visibility:visible}
.mmenu__close{position:absolute;top:16px;right:14px;width:44px;height:44px;color:#fff;font-size:30px;line-height:1}
.mmenu ul{list-style:none;text-align:center}
.mmenu li+li{margin-top:22px}
.mmenu a{font-family:var(--sans);font-size:15px;letter-spacing:3px;color:#fff;text-transform:uppercase}
.mmenu .pill{height:36px;padding:0 18px;margin-top:8px}
body.menu-open{overflow:hidden}

/* ---------- Banner principal ---------- */
.hero{position:relative;height:100vh;min-height:560px;max-height:1100px;overflow:hidden;background:#333;color:#fff}
.hero__slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1s ease;display:flex;align-items:center}
.hero__slide.is-active{opacity:1;z-index:1}
.hero__content{width:100%}
.hero__pre{font-family:var(--mont);font-size:17px;letter-spacing:1px;line-height:20.4px;margin-bottom:14px}
.hero__title{font-family:var(--serif);font-weight:400;font-size:64px;letter-spacing:1px;line-height:1.2;margin-bottom:18px}
.hero__specs{font-family:var(--mont);font-weight:300;font-size:17px;letter-spacing:1px;line-height:25.5px}
.btn-hero{display:inline-flex;align-items:center;gap:10px;margin-top:66px;height:50px;padding:11px 14px;background:var(--gray);border:2px solid rgba(255,255,255,.3);color:#fff;font-family:var(--sans);font-size:12px;letter-spacing:3px;text-transform:uppercase;transition:background .2s}
.btn-hero:hover{background:#85868d}
.btn-hero svg,.btn svg{width:14px;height:14px;flex:none}
.hero__dots{position:absolute;left:0;right:0;bottom:46px;z-index:3;display:flex;justify-content:center;gap:10px}
.hero__dots button{width:10px;height:10px;border:2px solid #fff;background:transparent;padding:0}
.hero__dots button.is-active{background:#fff}
.hero--single .hero__slide{opacity:1}

/* ---------- Títulos de seção ---------- */
.section{padding-top:64px}
.section-title{padding-top:32px;margin-bottom:44px}
.section-title h2{font-family:var(--mont);font-weight:300;font-size:20px;letter-spacing:3px;line-height:34.2px;color:var(--gray);text-transform:uppercase}
.section-title--up{padding-top:0;margin-top:-32px}
.js .section-title--up h2{opacity:0;transform:translateY(40px)}
.js .section-title--up.is-in h2{opacity:1;transform:none;transition:opacity 1s ease 1s,transform 1s ease 1s}
.section-title h2::after{content:"";display:block;width:78px;height:1px;background:var(--gray);margin-top:18px}

/* ---------- Em destaque ---------- */
.cards{display:grid;gap:30px;margin-bottom:56px}
.cards--4{grid-template-columns:repeat(4,1fr)}
.cards--3{grid-template-columns:repeat(3,1fr)}
.card__img{display:block;overflow:hidden;border-radius:3px;aspect-ratio:251/141;background:#ddd}
.cards--3 .card__img{aspect-ratio:344/204}
.card__img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.card__img:hover img{transform:scale(1.04)}
.card__area{margin-top:22px;font-family:var(--sans);font-size:11px;line-height:16.5px;color:var(--text);text-transform:uppercase}
.card__name{font-family:var(--serif);font-weight:500;font-size:20px;line-height:30px;color:#000;margin:6px 0 8px;text-transform:uppercase}
.card__name a:hover{opacity:.7}
.card__spec{font-family:var(--sans);font-weight:300;font-size:11px;letter-spacing:2px;line-height:18.7px;color:var(--text)}
.card__spec+.card__spec{margin-top:0}

/* ---------- Pesquise por bairro ---------- */
.bairros{display:grid;grid-template-columns:repeat(6,1fr);gap:28px 30px}
.bairro{display:block;text-align:center}
.bairro__img{aspect-ratio:158/89;border-radius:6px;overflow:hidden;box-shadow:0 2px 5px rgba(0,0,0,.25)}
.bairro__img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.bairro:hover img{transform:scale(1.06)}
.bairro__name{margin-top:20px;font-family:var(--sans);font-size:11px;line-height:16.5px;color:var(--text);text-transform:uppercase}

/* ---------- Fale conosco ---------- */
.form{display:grid;gap:13px}
.form input,.form textarea{width:100%;height:56px;padding:0 20px;border:1px solid #dcdcdc;border-radius:3px;background:#fff;font-family:var(--mont);font-weight:300;font-size:15px;letter-spacing:.3px;color:#333;outline:none;transition:border-color .2s}
.form textarea{height:110px;padding:14px 20px;resize:vertical}
.form input::placeholder,.form textarea::placeholder{color:#a5a5ab}
.form input:focus,.form textarea:focus{border-color:var(--gray)}
.form .hp{position:absolute;left:-9999px}
.form__actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.btn-send{display:inline-flex;align-items:center;justify-content:center;gap:12px;width:450px;max-width:100%;height:52px;background:var(--gray-btn);box-shadow:1px 2px 4px #3b3e43;color:#333;font-family:var(--sans);font-size:12px;letter-spacing:3px;transition:background .2s}
.btn-send:hover{background:#82828b}
.btn-send:disabled{opacity:.6;cursor:wait}
.btn-send svg{width:14px;height:14px}
.form__msg{font-family:var(--mont);font-size:14px;letter-spacing:.5px}
.form__msg.ok{color:#2e7d32}.form__msg.err{color:#b3261e}

/* ---------- Rodapé ---------- */
.contact-info{margin-top:42px;font-family:var(--mont);font-size:13px;letter-spacing:1px;line-height:19.5px;color:#000}
.contact-info p+p{margin-top:19px}
.contact-info strong{font-weight:700}
.footer{margin-top:40px;padding-bottom:40px}
.footer__inner{border-top:1px solid #d3d3d6;margin:0 55px;padding-top:20px;display:flex;align-items:center;justify-content:space-between}
.footer__logo{width:45px;height:45px;border-radius:50%;overflow:hidden;background:#fff;box-shadow:0 0 0 1px #ddd}
.footer__logo img{width:100%;height:100%;object-fit:cover}
.footer__legal{text-align:right;font-family:var(--sans);font-weight:300;font-size:10px;line-height:18px;color:rgba(33,33,33,.75)}

/* ---------- Página do empreendimento ---------- */
.ficha{list-style:none;display:grid;gap:4px}
.ficha li{display:flex;align-items:center;gap:20px;font-family:var(--mont);font-size:15px;letter-spacing:1px;line-height:22.5px;color:var(--dark)}
.ficha svg{width:22px;height:22px;flex:none;stroke:#9a9ba2;fill:none;stroke-width:1.3}
.caracteristicas{margin-top:28px;font-family:var(--sans);font-weight:300;font-size:16px;line-height:28.8px;color:var(--text)}
.texto{margin-top:10px;font-family:var(--sans);font-weight:300;font-size:16px;line-height:28.8px;color:var(--text);max-width:1020px}

.mosaic-wrap{container-type:inline-size}
.mosaic{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:calc((100cqw - 48px) / 4 * 208 / 219);gap:16px;grid-auto-flow:row dense}
.mosaic__item{display:block;overflow:hidden;cursor:zoom-in;background:#ddd}
.mosaic__item:nth-child(10n+1),.mosaic__item:nth-child(10n+6){grid-column:span 2;grid-row:span 2}
.mosaic__item:nth-child(10n+6){grid-column:3/span 2}
.mosaic__item img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.mosaic__item:hover img{transform:scale(1.04)}
.arrow{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:60px;display:flex;align-items:center;justify-content:center;color:#555;z-index:2}
.arrow svg{width:22px;height:40px;stroke:currentColor;fill:none;stroke-width:1.5}

.plantas{position:relative;overflow:hidden}
.plantas__track{display:flex;transition:transform .5s ease}
.planta{flex:0 0 33.3333%;padding:0 10px;text-align:center}
.planta button{display:block;margin:0 auto;width:206px;max-width:100%;aspect-ratio:206/240;background:#fff;box-shadow:0 2px 5px rgba(0,0,0,.15);cursor:zoom-in;padding:8px}
.planta img{width:100%;height:100%;object-fit:contain}
.planta p{margin-top:28px;font-family:var(--sans);font-weight:300;font-size:16px;line-height:28.8px;color:var(--text);text-transform:uppercase}
.squares{display:flex;justify-content:center;gap:10px;margin-top:40px}
.squares button{width:10px;height:10px;border:2px solid #444;background:transparent;padding:0}
.squares button.is-active{background:#444}

.video{max-width:700px;margin:0 auto;aspect-ratio:16/9;position:relative;box-shadow:0 2px 6px rgba(0,0,0,.3);background:#000;overflow:hidden}
.video button{position:absolute;inset:0;width:100%;height:100%;padding:0}
.video button img{width:100%;height:100%;object-fit:cover}
.video__play{position:absolute;left:50%;top:50%;width:50px;height:50px;margin:-25px 0 0 -25px;border-radius:50%;background:rgba(115,119,127,.7);display:flex;align-items:center;justify-content:center;transition:background .2s}
.video button:hover .video__play{background:rgba(0,0,0,.7)}
.video__play svg{width:16px;height:16px;fill:#fff;margin-left:3px}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

.local{display:grid;grid-template-columns:855fr 240fr;gap:46px;align-items:center}
.local__map{aspect-ratio:855/500;border-radius:6px;overflow:hidden;box-shadow:0 2px 6px rgba(0,0,0,.35);background:#e5e3df}
.local__map iframe{width:100%;height:100%;border:0}
.local h3{font-family:var(--serif);font-weight:400;font-size:23px;letter-spacing:-1.5px;line-height:29.9px;color:var(--text);margin-bottom:12px}
.local p{font-family:var(--sans);font-size:13px;line-height:26px;color:var(--text)}

.exclusivo{display:grid;grid-template-columns:395px 1fr;gap:68px;align-items:center}
.exclusivo+.exclusivo{margin-top:44px}
.exclusivo__img{box-shadow:0 3px 8px rgba(0,0,0,.35);border-radius:3px;overflow:hidden}
.exclusivo h3{font-family:var(--serif);font-weight:500;font-size:20px;line-height:30px;color:var(--text);text-transform:uppercase}
.exclusivo .sub{font-family:var(--sans);font-weight:300;font-size:11px;letter-spacing:2px;line-height:18.7px;color:var(--text);margin:10px 0 18px}
.btns{display:flex;flex-wrap:wrap;gap:10px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:56px;padding:14px 42px;background:var(--gray-btn);border:2px solid var(--gray-btn);box-shadow:1px 2px 4px #3b3e43;color:#fff;font-family:var(--sans);font-size:12px;letter-spacing:3px;transition:background .2s}
.btn:hover{background:#7d7d86}

/* Ampliação de imagens */
.lightbox{position:fixed;inset:0;z-index:200;background:#000;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}
.lightbox.is-open{opacity:1;visibility:visible}
.lightbox img{max-width:calc(100vw - 60px);max-height:calc(100vh - 88px);object-fit:contain}
.lightbox__close{position:absolute;top:2px;right:6px;color:#fff;font-size:34px;font-weight:300;width:44px;height:44px;z-index:3}
.lightbox .arrow{color:#fff}.lightbox .arrow--prev{left:0}.lightbox .arrow--next{right:0}
.lightbox .arrow svg{width:16px;height:30px}
.lightbox__count{position:absolute;top:12px;left:12px;margin:0;color:#ddd;font-size:13px;letter-spacing:1px}

/* ---------- Responsivo ---------- */
@media (max-width:1180px){ .arrow--prev{left:-8px}.arrow--next{right:-8px} }
@media (max-width:991px){
  .header__right{gap:24px}.nav{gap:14px}.nav a{letter-spacing:2px;font-size:11px}
  .cards--4{grid-template-columns:repeat(2,1fr)}
  .bairros{grid-template-columns:repeat(3,1fr)}
  .local{grid-template-columns:1fr;gap:30px}
  .exclusivo{grid-template-columns:1fr;gap:24px}
  .exclusivo__img{max-width:395px}
}
@media (max-width:767px){
  :root{--header-h:64px}
  .nav,.header__right .pill{display:none}
  .burger{display:flex}
  .header.is-fixed{height:54px}
  .hero{height:auto;min-height:0;aspect-ratio:auto;height:85vh;max-height:760px}
  .hero__pre{font-size:15px}
  .hero__title{font-size:40px}
  .hero__specs{font-size:15px;line-height:22px}
  .btn-hero{margin-top:40px}
  .section{padding-top:44px}
  .section-title{padding-top:20px;margin-bottom:32px}
  .section-title--up{padding-top:0;margin-top:-22px}
  .cards{gap:24px 16px;margin-bottom:40px}
  .cards--3{grid-template-columns:repeat(2,1fr)}
  .cards-wrap{display:grid;grid-template-columns:repeat(2,1fr);gap:24px 16px;margin-bottom:40px}
  .cards-wrap .cards{display:contents}
  .cards-wrap .cards--3 .card__img{aspect-ratio:251/141}
  .card__area{margin-top:14px}
  .card__name{font-size:17px;line-height:24px}
  .card__spec{letter-spacing:1px}
  .bairros{grid-template-columns:repeat(2,1fr);gap:24px 16px}
  .bairro__name{margin-top:12px}
  .planta{flex-basis:100%}
  .mosaic{grid-template-columns:repeat(2,1fr);grid-auto-rows:calc((100cqw - 8px) / 2 * 208 / 219);gap:8px}
  .mosaic__item:nth-child(10n+6){grid-column:span 2}
  .btn-send{width:100%}
  .btn{padding:14px 22px;flex:1 1 auto}
  .footer__inner{margin:0}
}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* Ajuste: nada passa da largura da tela no celular */
html, body { overflow-x: clip; }
.exclusivo__img { max-width: 100%; height: auto; }

@media (prefers-reduced-motion:reduce){.header,.header *{transition:none!important}.js .section-title--up h2{opacity:1;transform:none;transition:none}}
.plantas-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px}
.planta-card{background:#fff;padding:20px 20px 36px;text-align:center}
.planta-card button{display:block;width:100%;aspect-ratio:4/3;cursor:zoom-in;padding:0;background:#fff}
.planta-card img{width:100%;height:100%;object-fit:contain}
.planta-card p{margin-top:24px;font-family:var(--mont);font-weight:600;font-size:13px;letter-spacing:.5px;color:#222;text-transform:uppercase}
@media (max-width:767px){.plantas-grid{grid-template-columns:1fr;gap:20px}}
.planta-card button:focus:not(:focus-visible){outline:none}
#localizacao{overflow-x:clip}
#localizacao .local{position:relative;isolation:isolate;padding:110px 0 80px}
#localizacao .local::before{content:"";position:absolute;top:0;bottom:0;left:50%;width:100vw;transform:translateX(-50%);background:#fff;clip-path:polygon(0 60px,100% 0,100% 100%,0 100%);z-index:-1}
@media (max-width:767px){#localizacao .local{padding:60px 0 40px}#localizacao .local::before{clip-path:polygon(0 30px,100% 0,100% 100%,0 100%)}}
.planta-card,.planta-card button{background:#faf8f4}
.planta-card img{mix-blend-mode:multiply}
