/* Nesher · site · tokens do guia de marca v1 */
@font-face{font-family:'EB Garamond';src:url(fontes/EBGaramond.woff2) format('woff2');font-weight:400 800;font-display:swap}
@font-face{font-family:'Jost';src:url(fontes/Jost.woff2) format('woff2');font-weight:100 900;font-display:swap}
:root{
  --azul:#011230; --azul-2:#0A2149; --dourado:#C9A24D; --dourado-escuro:#68501D;
  --papel:#F6F1E8; --areia:#E7DCC8; --grafite:#2A2724; --cinza:#5F574D; --texto-claro:#D9D2C4;
  --serif:'EB Garamond',Georgia,serif; --sans:'Jost',system-ui,sans-serif;
  --larg:1160px; --gutter:clamp(20px,5vw,56px);
}
*{box-sizing:border-box;margin:0;padding:0}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{background:var(--papel);color:var(--grafite);font:400 17px/1.65 var(--sans);font-variant-numeric:lining-nums;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.08;color:var(--azul);text-wrap:balance}
p,li{text-wrap:pretty}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
:focus-visible{outline:2px solid var(--azul);outline-offset:3px}
.escuro :focus-visible,.topo :focus-visible,.rodape :focus-visible,.abre2 :focus-visible,.imovel.todos:focus-visible{outline-color:var(--dourado)}
.wrap{max-width:var(--larg);margin:0 auto;padding:0 var(--gutter)}
.kicker{font-size:13px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--dourado-escuro);margin-bottom:14px}
.escuro .kicker{color:var(--dourado)}
h2{font-size:clamp(32px,4vw,46px);margin-bottom:20px}
.lead{font-size:clamp(18px,2vw,21px);color:var(--cinza);max-width:640px}
section{padding:clamp(72px,10vw,128px) 0}
.escuro{background:var(--azul);color:var(--texto-claro)}
.escuro h1,.escuro h2,.escuro h3{color:var(--papel)}
.escuro .lead{color:var(--texto-claro)}

/* topo */
.topo{position:sticky;top:0;z-index:50;background:var(--azul);border-bottom:1px solid rgba(201,162,77,.25)}
.topo .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;height:72px}
.topo .marca img{height:50px;width:auto}
.topo nav{display:flex;align-items:center;gap:28px}
.topo nav a{color:var(--texto-claro);text-decoration:none;font-size:15px;font-weight:500}
.topo nav a:hover{color:var(--dourado)}
.topo nav a.btn,.topo nav a.btn:hover{color:var(--azul)}
.topo nav .btn{padding:11px 18px;font-size:15px;min-height:48px}
.topo .marca{display:flex;align-items:center;min-height:48px}
@media (max-width:760px){.topo nav a:not(.btn){display:none}.topo .marca img{height:34px}}

/* botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:16px 26px;font:600 16px/1.2 var(--sans);text-decoration:none;border:1px solid transparent;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.btn-ouro{background:var(--dourado);color:var(--azul)}
.btn-ouro:hover{background:#F3D98E}
.btn-linha{border-color:rgba(217,210,196,.45);color:var(--papel);background:transparent}
.btn-linha:hover{border-color:var(--dourado);color:var(--dourado)}
.btn-azul{background:var(--azul);color:var(--papel)}
.btn-azul:hover{background:var(--azul-2)}
.botoes{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px}
@media (max-width:520px){.botoes .btn{width:100%}}

/* revelação de entrada: um momento só, no carregamento */
@media (prefers-reduced-motion:no-preference){
  .entra{animation:entra .9s cubic-bezier(.2,.7,.2,1) both}
  .entra.d1{animation-delay:.12s}.entra.d2{animation-delay:.24s}.entra.d3{animation-delay:.36s}.entra.d4{animation-delay:.5s}
  @keyframes entra{from{opacity:0;transform:translateY(18px)}}
}

/* rodapé */
.rodape{background:var(--azul);color:var(--texto-claro);padding:64px 0 40px;font-size:15px}
.rodape .wrap{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:40px}
.rodape img{height:72px;width:auto;margin-bottom:18px}
.rodape h3{font:600 13px var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--dourado);margin-bottom:14px}
.rodape a{text-decoration:none}.rodape a:hover{color:var(--dourado)}
.rodape ul{list-style:none;display:grid;gap:0}
.rodape li a,.rodape .legal a,.rodape .legal button{display:inline-block;padding:12px 0}
.rodape .legal button{background:none;border:0;color:inherit;font:inherit;cursor:pointer}.rodape .legal button:hover{color:var(--dourado)}
.rodape .legal{grid-column:1/-1;border-top:1px solid rgba(201,162,77,.2);padding-top:22px;font-size:13px;color:#A49C8E;display:flex;flex-wrap:wrap;gap:8px 24px}
@media (max-width:760px){.rodape .wrap{grid-template-columns:1fr}}

/* aviso de cookies */
.cookies{position:fixed;left:16px;right:16px;bottom:16px;z-index:80;max-width:560px;margin-left:auto;background:var(--papel);color:var(--grafite);border:1px solid var(--areia);box-shadow:0 12px 40px rgba(1,18,48,.18);padding:20px 22px;font-size:15px;display:none}
.cookies.ver{display:block}
.cookies p{margin-bottom:14px}
.cookies .botoes{margin-top:0;gap:10px}
.cookies .btn{padding:11px 18px;font-size:15px;min-height:48px}
.cookies .btn-linha{color:var(--azul);border-color:var(--areia)}
.cookies .btn-linha:hover{border-color:var(--azul);color:var(--azul)}

/* WhatsApp fixo no celular */
.zap-fixo{display:none}
@media (max-width:760px){
  .zap-fixo{display:flex;position:fixed;right:16px;bottom:16px;z-index:70;width:58px;height:58px;border-radius:50%;background:var(--dourado);align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(1,18,48,.3)}
  .zap-fixo svg{width:28px;height:28px;fill:var(--azul)}
  body.com-cookies .zap-fixo{display:none}
}

/* atalho para o conteúdo (teclado) */
.pular{position:absolute;left:16px;top:-80px;z-index:100;background:var(--dourado);color:var(--azul);padding:12px 18px;font-weight:600;text-decoration:none}
.pular:focus{top:12px}

/* ===== v2 · camada contemporânea ===== */
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.35s}
.topo{backdrop-filter:saturate(1.2) blur(10px);background:rgba(1,18,48,.92)}
.topo nav .porta{color:var(--texto-claro)}

/* revelação ligada à rolagem (CSS puro); sem suporte, aparece direto */
@media (prefers-reduced-motion:no-preference){
  @supports (animation-timeline:view()){
    .rv{animation:rv linear both;animation-timeline:view();animation-range:entry 0% cover 28%}
    .rv-img{animation:rvimg linear both;animation-timeline:view();animation-range:entry 0% cover 40%}
    @keyframes rv{from{opacity:0;transform:translateY(32px)}}
    @keyframes rvimg{from{opacity:.2;transform:scale(1.06);clip-path:inset(8% 0 8% 0)}}
  }
}

/* portas de entrada */
.portas{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:40px;max-width:620px}
.porta-card{display:flex;flex-direction:column;gap:6px;padding:22px 24px;text-decoration:none;border:1px solid rgba(201,162,77,.45);transition:background .25s,border-color .25s,transform .25s}
.porta-card b{font:600 26px/1.1 var(--serif);color:var(--papel)}
.porta-card span{font-size:15px;color:var(--texto-claro)}
.porta-card:hover{background:rgba(201,162,77,.1);border-color:var(--dourado);transform:translateY(-2px)}
.porta-card.cheia{background:var(--dourado);border-color:var(--dourado)}
.porta-card.cheia b,.porta-card.cheia span{color:var(--azul)}
.porta-card.cheia:hover{background:#F3D98E}
.porta-sec{display:inline-block;margin-top:18px;color:var(--dourado);font-weight:600;font-size:15px;text-decoration:none;padding:12px 0}
.porta-sec:hover{text-decoration:underline}
@media (max-width:520px){.portas{grid-template-columns:1fr}}

/* números */
.numeros{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(201,162,77,.3);border-bottom:1px solid rgba(201,162,77,.3)}
.numeros div{padding:30px 22px;border-left:1px solid rgba(201,162,77,.2)}
.numeros div:first-child{border-left:0}
.numeros b{display:block;font:600 clamp(40px,5vw,60px)/1 var(--serif);color:var(--dourado)}
.numeros span{display:block;margin-top:10px;font-size:15px;color:var(--texto-claro)}
@media (max-width:760px){.numeros{grid-template-columns:1fr}.numeros div{border-left:0}.numeros div+div{border-top:1px solid rgba(201,162,77,.2)}}

/* método com título fixo */
.metodo2 .wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(32px,6vw,96px);align-items:start}
.metodo2 .fixo{position:sticky;top:110px}
.etapa{padding:36px 0;border-top:1px solid var(--areia)}
.etapa:first-child{border-top:0;padding-top:0}
.etapa small{display:block;font:600 13px var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--dourado-escuro);margin-bottom:10px}
.etapa h3{font-size:clamp(28px,3vw,36px);margin-bottom:14px}
.etapa p+p{margin-top:12px}
.etapa ul{list-style:none;margin-top:14px;display:grid;gap:8px}
.etapa li{padding-left:22px;position:relative}
.etapa li::before{content:"";position:absolute;left:0;top:.75em;width:10px;height:1px;background:var(--dourado-escuro)}
@media (max-width:860px){.metodo2 .wrap{grid-template-columns:1fr}.metodo2 .fixo{position:static}}

/* faixa de canais em movimento */
.faixa{overflow:hidden;border-top:1px solid var(--areia);border-bottom:1px solid var(--areia);background:var(--areia)}
.faixa-trilho{display:flex;gap:56px;width:max-content;padding:22px 0;animation:corre 38s linear infinite}
.faixa-trilho span{font:600 clamp(22px,2.6vw,30px)/1 var(--serif);color:var(--azul);white-space:nowrap}
.faixa-trilho i{font-style:normal;color:var(--dourado-escuro)}
.faixa:hover .faixa-trilho{animation-play-state:paused}
@keyframes corre{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.faixa-trilho{animation:none;flex-wrap:wrap;width:auto;padding:22px var(--gutter)}}

/* carrossel de imóveis */
.carrossel{display:grid;grid-auto-flow:column;grid-auto-columns:min(78vw,520px);gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px var(--gutter) 20px;margin:40px calc(-1*var(--gutter)) 0;scrollbar-width:none;scroll-padding-inline:var(--gutter)}
.carrossel::-webkit-scrollbar{display:none}
.carrossel>*{scroll-snap-align:start}
/* no desktop os destaques cabem inteiros: grade, sem rolagem. O deslize (com a ponta do próximo cartão) fica só no celular. */
@media (min-width:860px){.carrossel{grid-auto-flow:row;grid-template-columns:repeat(3,1fr);overflow:visible;padding:6px 0 0;margin:40px 0 0}}
.imovel{display:flex;flex-direction:column;text-decoration:none;background:#fff;border:1px solid var(--areia);overflow:hidden}
.imovel figure{overflow:hidden}
.imovel img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.imovel:hover img{transform:scale(1.04)}
.imovel .corpo{padding:24px 26px 28px;display:flex;flex-direction:column;gap:6px;flex:1}
.imovel h3{font-size:27px}
.imovel .resumo{font-size:15px;color:var(--cinza)}
.imovel .preco{font:600 25px var(--serif);color:var(--azul);margin-top:auto;padding-top:12px}
.imovel.todos{background:var(--azul);border-color:var(--azul);justify-content:flex-end;padding:34px 30px;color:var(--texto-claro)}
.imovel.todos h3{color:var(--papel);font-size:34px;margin-bottom:12px}
.mais{font-weight:600;font-size:15px;color:var(--dourado-escuro);margin-top:8px}
.escuro .mais,.imovel.todos .mais{color:var(--dourado)}

/* equipe */
.equipe{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(201,162,77,.25);border:1px solid rgba(201,162,77,.25);margin-top:40px}
.equipe div{background:var(--azul);padding:28px 26px}
.equipe h3{font-size:28px;margin-bottom:4px}
.equipe small{display:block;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--dourado);margin-bottom:16px}
.equipe a{display:inline-flex;align-items:center;min-height:48px;margin-top:6px;padding:12px 18px;background:var(--dourado);color:var(--azul);text-decoration:none;font-weight:600}
.equipe a:hover{background:#F3D98E}
@media (max-width:760px){.equipe{grid-template-columns:1fr}}

/* sócias */
.socias2{background:var(--azul);color:var(--texto-claro);overflow:hidden}
.socias2 .wrap{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(32px,5vw,80px);align-items:end}
.socias2 figure{position:relative;align-self:end;margin-bottom:calc(-1*clamp(72px,10vw,128px))}
.socias2 figure::before{content:"";position:absolute;left:8%;right:8%;bottom:0;height:70%;background:radial-gradient(60% 60% at 50% 70%,rgba(201,162,77,.22),transparent 70%)}
.socias2 figure img{position:relative;width:100%}
.socias2 .nomes{font:600 clamp(18px,1.6vw,20px)/1.5 var(--sans);color:var(--dourado);margin-top:22px}
.socias2 p+p{margin-top:14px}
@media (max-width:860px){.socias2 .wrap{grid-template-columns:1fr}.socias2 figure{order:2;margin-bottom:calc(-1*clamp(72px,10vw,128px))}}

/* bairros */
.bairros2 ul{list-style:none;display:flex;flex-wrap:wrap;gap:6px 0;margin-top:28px}
.bairros2 li{font:600 clamp(30px,4.4vw,56px)/1.15 var(--serif);color:var(--azul)}
.bairros2 li::after{content:"·";color:var(--dourado-escuro);margin:0 .35em}
.bairros2 li:last-child::after{content:none}
.bairros2 li.aberto{color:var(--dourado-escuro);font-style:normal}

/* bloco de parceria */
.parceria .wrap{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(28px,5vw,80px);align-items:end}
@media (max-width:860px){.parceria .wrap{grid-template-columns:1fr}}

/* páginas internas */
.abertura{position:relative;background:var(--azul);color:var(--texto-claro);overflow:hidden;padding:clamp(96px,14vw,176px) 0 clamp(72px,9vw,120px)}
.abertura>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.32}
.abertura::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(1,18,48,.96) 0%,rgba(1,18,48,.7) 55%,rgba(1,18,48,.35) 100%)}
.abertura .wrap{position:relative;z-index:1}
.abertura h1{font-size:clamp(46px,6.6vw,92px);color:var(--papel);max-width:15ch;margin-bottom:24px}
.abertura .lead{color:var(--texto-claro);max-width:620px}
.duas{display:grid;grid-template-columns:1fr 1.25fr;gap:clamp(28px,6vw,96px);align-items:start}
.duas .texto p{font-size:clamp(18px,1.7vw,20px);line-height:1.65}
.duas .texto p+p{margin-top:16px}
@media (max-width:860px){.duas{grid-template-columns:1fr}}
.cartoes3{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--areia);border:1px solid var(--areia);margin-top:44px}
.cartoes3>div{background:#fff;padding:32px 28px}
.cartoes3 b{display:block;font:600 13px var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--dourado-escuro);margin-bottom:12px}
.cartoes3 h3{font-size:26px;margin-bottom:10px}
.cartoes3 p{font-size:16px;color:var(--cinza)}
@media (max-width:860px){.cartoes3{grid-template-columns:1fr}}
.faq{max-width:860px}
.faq details{border-top:1px solid var(--areia)}
.faq details:last-child{border-bottom:1px solid var(--areia)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:24px;padding:24px 0;font:600 clamp(22px,2.4vw,27px)/1.25 var(--serif);color:var(--azul)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:400 28px/1 var(--sans);color:var(--dourado-escuro);flex:none;transition:transform .3s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 0 26px;color:var(--cinza);max-width:700px}
.final{text-align:center}.final .wrap{max-width:860px}.final .lead{margin:0 auto}.final .botoes{justify-content:center}

/* página de imóvel */
.foto-topo{background:var(--azul);overflow:hidden}
.foto-topo img{width:100%;max-height:82vh;aspect-ratio:16/9;object-fit:cover}
@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()){
  .foto-topo img{animation:recua linear both;animation-timeline:view();animation-range:exit 0% exit 100%}
  @keyframes recua{to{transform:scale(1.12) translateY(6%)}}
}}
.capa{background:var(--azul);color:var(--texto-claro);padding:clamp(40px,6vw,72px) 0 clamp(56px,7vw,88px)}
.capa .wrap{display:grid;grid-template-columns:2.2fr 1fr;gap:clamp(24px,5vw,72px);align-items:end}
.capa h1{font-size:clamp(40px,5.6vw,76px);color:var(--papel)}
.capa h1 span{color:var(--dourado)}
.capa .end{margin-top:16px;font-size:16px}
.capa .preco{font:600 clamp(36px,4vw,52px)/1 var(--serif);color:var(--dourado)}
.capa .preco small{display:block;margin-top:10px;font:500 13px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#A49C8E}
@media (max-width:760px){.capa .wrap{grid-template-columns:1fr}}
.ficha{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:var(--areia);border:1px solid var(--areia)}
.ficha div{background:#fff;padding:24px 18px}
.ficha b{display:block;font:600 30px/1.05 var(--serif);color:var(--azul)}
.ficha span{font-size:14px;color:var(--cinza)}
@media (max-width:860px){.ficha{grid-template-columns:repeat(3,1fr)}}
@media (max-width:480px){.ficha{grid-template-columns:repeat(2,1fr)}}
.longo{max-width:760px;margin:clamp(56px,8vw,96px) auto 0}
.longo .gancho{font:600 clamp(30px,3.6vw,44px)/1.15 var(--serif);color:var(--azul);text-wrap:balance;margin-bottom:28px}
.longo p{font-size:clamp(18px,1.6vw,19px);line-height:1.75}
.longo p+p{margin-top:18px}
.longo .fecho{font:600 clamp(24px,2.6vw,30px)/1.3 var(--serif);color:var(--azul);margin-top:32px}
.lista{list-style:none;columns:2;column-gap:28px}
.lista li{padding:10px 0;border-bottom:1px solid var(--areia);break-inside:avoid}
@media (max-width:760px){.lista{columns:1}}
.gestora{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;background:#fff;border:1px solid var(--areia);padding:28px 30px;margin-top:40px}
.gestora small{display:block;font:600 12px var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--dourado-escuro)}
.gestora b{display:block;font:600 28px/1.1 var(--serif);color:var(--azul);margin:6px 0 2px}
.gestora span{font-size:15px;color:var(--cinza)}
.rodape .chamada{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:24px;padding-bottom:48px;margin-bottom:8px;border-bottom:1px solid rgba(201,162,77,.2)}
.rodape .chamada p{font:600 clamp(40px,7vw,96px)/1 var(--serif);color:var(--papel);letter-spacing:-.01em;max-width:12ch;text-wrap:balance}

/* ===== abertura v2b: logo vivo → janela que abre → painel ===== */
.abre2{position:relative;height:300vh;margin-top:-72px;padding:0;background:var(--azul);view-timeline-name:--ab}
.abre2 .palco{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;display:grid;place-items:center}
.abre2 .marca-viva{position:relative;z-index:3;--lw:min(560px,76vw)}
.abre2 .detalhes{position:absolute;z-index:1;inset:96px var(--gutter) clamp(24px,5vh,48px);display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(10px,1.4vw,18px)}
.abre2 .detalhes figure{overflow:hidden;background:#0A2149}
.abre2 .detalhes img{width:100%;height:100%;object-fit:cover}
.abre2 .painel{position:absolute;z-index:4;left:0;top:0;bottom:0;width:max(440px,calc(33.4% + var(--gutter)));background:var(--azul);color:var(--texto-claro);display:flex;flex-direction:column;justify-content:center;padding:96px var(--gutter) 48px}
.abre2 .painel h1{font-size:clamp(46px,6.2vw,88px);color:var(--papel);letter-spacing:-.01em;margin-bottom:20px}
.abre2 .painel .lead{color:var(--texto-claro)}
.abre2 .painel .portas{grid-template-columns:1fr}
.abre2 .dica{position:absolute;z-index:3;left:50%;bottom:26px;transform:translateX(-50%);font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--texto-claro)}
@media (max-width:760px){
  .abre2 .painel{top:auto;width:100%;padding:26px var(--gutter) 30px}
  .abre2 .painel .lead{font-size:16px}
  .abre2 .portas{margin-top:22px;gap:10px}
  .abre2 .porta-card{padding:16px 18px}
  .abre2 .porta-card b{font-size:22px}
  .abre2 .painel h1{font-size:clamp(40px,11vw,56px)}
}
@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()){
  .abre2 .marca-viva{animation:ab-logo cubic-bezier(.55,0,.85,.4) both;animation-timeline:scroll(root);animation-range:0 44vh}
  .abre2 .dica{animation:ab-dica cubic-bezier(.55,0,.85,.4) both;animation-timeline:scroll(root);animation-range:0 16vh}
  @keyframes ab-dica{to{transform:translate(-50%,90px)}}
  .abre2 .detalhes figure{animation:ab-abre cubic-bezier(.3,0,.2,1) both;animation-timeline:scroll(root)}
  .abre2 .detalhes img{animation:ab-assenta linear both;animation-timeline:scroll(root)}
  .abre2 .detalhes .d1,.abre2 .detalhes .d1 img{animation-range:46vh 82vh}
  .abre2 .detalhes .d2,.abre2 .detalhes .d2 img{animation-range:58vh 94vh}
  .abre2 .detalhes .d3,.abre2 .detalhes .d3 img{animation-range:70vh 106vh}
  @keyframes ab-abre{from{clip-path:inset(50% 0 50% 0)}to{clip-path:inset(0 0 0 0)}}
  @keyframes ab-assenta{from{transform:scale(1.16)}to{transform:none}}
  .abre2 .painel{animation:ab-painel cubic-bezier(.2,.7,.2,1) both;animation-timeline:scroll(root);animation-range:112vh 152vh}
  @keyframes ab-logo{to{transform:translateY(-75vh)}}
  @keyframes ab-painel{from{transform:translateX(-102%)}to{transform:none}}
  @media (max-width:760px){@keyframes ab-painel{from{transform:translateY(102%)}to{transform:none}}}
  /* no topo da página inicial, o logo do cabeçalho só desce quando o logo grande já saiu */
  body.inicio .topo .marca{animation:ab-marca linear both;animation-timeline:scroll(root);animation-range:30vh 60vh}
  @keyframes ab-marca{from{transform:translateY(-160%)}to{transform:none}}
}}
/* sem rolagem animada: logo, foto e painel um embaixo do outro */
@supports not (animation-timeline:view()){
  .abre2{height:auto}.abre2 .palco{position:relative;height:auto;display:block}
  .abre2 .marca-viva{margin:0 auto;padding:22vh 0 18vh}
  .abre2 .detalhes{position:relative;inset:auto;height:70vh;padding:0 var(--gutter)}.abre2 .painel{position:relative;width:100%;padding:56px var(--gutter)}.abre2 .dica{display:none}
}
@media (prefers-reduced-motion:reduce){
  .abre2{height:auto}.abre2 .palco{position:relative;height:auto;display:block}
  .abre2 .marca-viva{margin:0 auto;padding:22vh 0 18vh}
  .abre2 .detalhes{position:relative;inset:auto;height:70vh;padding:0 var(--gutter)}.abre2 .painel{position:relative;width:100%;padding:56px var(--gutter)}.abre2 .dica{display:none}
}
.topo .marca img{height:56px}
.galeria2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(10px,1.4vw,18px);margin-top:40px}
.galeria2 figure{background:#fff;overflow:hidden}
.galeria2 figure.larga{grid-column:1/-1}
.galeria2 img{width:100%;aspect-ratio:3/2;object-fit:cover}
.galeria2 figure.larga img{aspect-ratio:21/9}
.galeria2 figcaption{padding:12px 16px 16px;font-size:15px;color:var(--cinza)}
.galeria2 figcaption b{color:var(--azul);font-weight:600}
@media (max-width:640px){.galeria2{grid-template-columns:1fr}.galeria2 figure.larga img{aspect-ratio:3/2}}

.bairros2 a{text-decoration:none;color:inherit;background:linear-gradient(var(--dourado-escuro),var(--dourado-escuro)) 0 100%/0 2px no-repeat;transition:background-size .35s cubic-bezier(.2,.7,.2,1),color .2s}
.bairros2 a:hover,.bairros2 a:focus-visible{color:var(--dourado-escuro);background-size:100% 2px}
.bairros2 .dica-bairro{margin-top:18px;font-size:15px;color:var(--cinza)}
.bairros2 li.aberto a:hover,.bairros2 li.aberto a:focus-visible{color:var(--azul);background-image:linear-gradient(var(--azul),var(--azul))}
.bairros2 .dica-bairro a{color:var(--azul);background-size:100% 1px;background-image:linear-gradient(var(--dourado),var(--dourado))}
.bairros2 .dica-bairro a:hover,.bairros2 .dica-bairro a:focus-visible{color:var(--dourado-escuro);background-size:100% 2px}

/* menu do celular */
.menu{display:none;align-items:center;gap:10px;min-height:48px;padding:0 4px 0 14px;background:none;border:0;color:var(--papel);font:600 15px var(--sans);cursor:pointer}
.menu i,.menu i::before{display:block;width:20px;height:2px;background:var(--dourado);position:relative;transition:transform .25s}
.menu i::before{content:"";position:absolute;top:6px}
.menu[aria-expanded="true"] i{transform:translateY(3px) rotate(45deg)}
.menu[aria-expanded="true"] i::before{transform:translateY(-6px) rotate(-90deg)}
@media (max-width:760px){
  .menu{display:inline-flex}
  .topo .wrap{gap:12px}.topo nav{margin-left:auto}
  body.menu-aberto{overflow:hidden}
  body.menu-aberto .topo nav{position:absolute;top:100%;left:0;right:0;height:calc(100svh - 72px);overflow:auto;flex-direction:column;align-items:stretch;gap:0;padding:12px var(--gutter) 32px;background:var(--azul)}
  body.menu-aberto .topo nav a:not(.btn){display:block;padding:16px 0;border-bottom:1px solid rgba(201,162,77,.2);font:600 30px/1.15 var(--serif);color:var(--papel)}
  body.menu-aberto .topo nav .btn{margin-top:28px}
}

/* as sócias, uma a uma */
.bios-sec{padding-bottom:0}
.bios{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,40px)}
.bio h3{font-size:30px;margin-top:20px}
.bio small{display:block;font:600 12px var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--dourado-escuro);margin:4px 0 12px}
.bio p{color:var(--grafite)}
.bio p+p{margin-top:16px}
.foto-socia{aspect-ratio:4/5;background:var(--azul);display:grid;place-items:center;overflow:hidden}
.foto-socia img{width:100%;height:100%;object-fit:cover}
/* passar o mouse: aproximação lenta e um filete dourado que se fecha por dentro da foto */
.foto-socia{position:relative}
.foto-socia::after{content:"";position:absolute;inset:22px;border:1px solid var(--dourado);opacity:0;transform:scale(1.04);transition:opacity .9s ease,transform 1.1s cubic-bezier(.2,.7,.2,1);pointer-events:none}
.foto-socia img{transition:transform 1.4s cubic-bezier(.2,.7,.2,1),filter 1.4s ease}
@media (hover:hover){
  .bio:hover .foto-socia img{transform:scale(1.035);filter:brightness(1.04) saturate(1.05)}
  .bio:hover .foto-socia::after{opacity:.85;transform:none}
}
@media (prefers-reduced-motion:reduce){.foto-socia img,.foto-socia::after{transition:none}}
.foto-socia span{font:600 64px var(--serif);color:var(--dourado);letter-spacing:.04em}
@media (max-width:860px){.bios{grid-template-columns:1fr;max-width:460px}}

/* histórias: o diferencial */
.historias .wrap{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(32px,5vw,80px);align-items:center}
.historias p+p{margin-top:14px}
.historias .lead+p{color:var(--texto-claro)}
.reels{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(10px,1.4vw,16px)}
.reel{display:block;text-decoration:none;color:var(--texto-claro);font-size:14px}
.reel img{width:100%;aspect-ratio:9/16;object-fit:cover;border:1px solid rgba(201,162,77,.3);transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.reel:hover img{transform:translateY(-4px)}
.reel span{display:block;padding:10px 0}
.reel:hover span{color:var(--dourado)}
@media (max-width:860px){.historias .wrap{grid-template-columns:1fr}.reels{grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:min(42vw,200px);overflow-x:auto;scroll-snap-type:x mandatory;margin:0 calc(-1*var(--gutter));padding:0 var(--gutter);scrollbar-width:none}.reel{scroll-snap-align:start}}

/* vendidos */
.cab-sec{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:8px 24px}
.cab-sec h2{margin-bottom:0}
.cab-sec .mais{padding:12px 0;text-decoration:none}
.imovel.vendido figure{position:relative}
.selo-vendido{position:absolute;left:16px;top:16px;background:var(--azul);color:var(--dourado);font:600 12px var(--sans);letter-spacing:.18em;text-transform:uppercase;padding:8px 12px}
.imovel figure.vazio{aspect-ratio:4/3;background:var(--azul);display:grid;place-items:center}
.imovel figure.vazio img{width:96px;aspect-ratio:auto;opacity:.5}
.imovel.vendido .resumo{margin-top:4px}
.imovel.vendido .tempo{font:600 22px var(--serif);color:var(--dourado-escuro);margin-top:auto;padding-top:10px}
.grade-vendidos{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin-top:40px}
/* imóveis: com 3 cards, o "Toda a nossa vitrine" vira uma faixa inteira embaixo */
@media (min-width:860px){
  #imoveis .imovel.todos{grid-column:1/-1;flex-direction:row;align-items:center;gap:32px;padding:30px 34px}
  #imoveis .imovel.todos h3{margin:0;white-space:nowrap}
  #imoveis .imovel.todos p{flex:1}
}
