
:root{
  --papel:#E0D9CF; --papel-2:#EAE4DA; --creme:#F4EBDA;
  --tinta:#3F3D33; --tinta-2:#686252; --rotulo:#8C8473;
  --oliva:#3C3B2D; --ouro:#B59C6E; --linha:rgba(63,61,51,.18); --max:1180px;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
  scroll-behavior:smooth;
  scroll-padding-top:calc(86px + env(safe-area-inset-top,0px));
}
*,*::before,*::after{box-sizing:inherit}
html,body{margin:0}
body{background:var(--papel); color:var(--tinta);
  font-family:Cabin,"Gill Sans","Gill Sans MT",Optima,Candara,sans-serif;
  font-size:17px; line-height:1.62; -webkit-font-smoothing:antialiased; overflow-x:hidden}
img{max-width:100%; display:block; height:auto}
a{color:inherit}
.wrap{width:min(100% - 44px, var(--max)); margin-inline:auto}
@media(max-width:620px){ .wrap{width:min(100% - 32px, var(--max))} }
h1,h2,h3{font-weight:600; line-height:1.14; letter-spacing:-.012em; margin:0}
h2{font-size:clamp(1.65rem,3.4vw,2.6rem); max-width:19ch}
h3{font-size:clamp(1.12rem,1.7vw,1.35rem)}
p{margin:0}
.lede{color:var(--tinta-2); margin-top:18px; max-width:60ch; font-size:clamp(1rem,1.25vw,1.1rem)}
.rot{font-size:12.5px; letter-spacing:.17em; text-transform:uppercase; color:var(--rotulo); display:block; margin-bottom:16px}
.secao{padding:clamp(62px,8.5vw,118px) 0}
.secao.escura{background:var(--oliva); color:var(--creme)}
.secao.escura h2,.secao.escura h3{color:#fff}
.secao.escura .lede{color:rgba(244,235,218,.78)}
.secao.escura .rot{color:rgba(244,235,218,.58)}
.secao.clara2{background:var(--papel-2)}
.topo{position:fixed; top:0; left:0; right:0; z-index:80; padding-top:env(safe-area-inset-top,0px);
  background:rgba(60,59,45,.93); backdrop-filter:saturate(150%) blur(12px);
  border-bottom:1px solid rgba(244,235,218,.14)}
.topo .wrap{display:flex; align-items:center; gap:24px; min-height:72px}
.topo .marca{display:block; width:116px; flex:0 0 auto}
.topo .marca img{width:100%}
.topo nav{display:flex; gap:26px; margin-left:auto}
.topo nav a{font-size:14px; color:rgba(244,235,218,.84); text-decoration:none; padding:5px 0; border-bottom:1px solid transparent}
.topo nav a:hover,.topo nav a:focus-visible{color:#fff; border-bottom-color:var(--ouro)}
.btn{display:inline-flex; align-items:center; justify-content:center; font-family:inherit;
  font-size:14px; font-weight:600; letter-spacing:.015em; padding:13px 24px; border-radius:2px;
  border:1px solid transparent; text-decoration:none; cursor:pointer; transition:background .22s,color .22s,border-color .22s}
.btn.ouro{background:var(--ouro); color:#241C0E; border-color:var(--ouro)}
.btn.ouro:hover{background:#C5AC7D}
.btn.vazado{background:transparent; color:var(--creme); border-color:rgba(244,235,218,.45)}
.btn.vazado:hover{border-color:var(--ouro); color:#fff}
.topo .btn{margin-left:4px}
.burger{display:none; width:44px; height:44px; border:0; background:transparent; padding:10px;
  flex-direction:column; justify-content:center; gap:5px; cursor:pointer; margin-left:auto}
.burger span{display:block; height:2px; border-radius:2px; background:var(--creme)}
@media(max-width:940px){ .topo nav{display:none} .topo .btn{display:none} .burger{display:flex} }
.menucel{position:fixed; inset:0; z-index:95; background:var(--oliva); display:flex; flex-direction:column;
  justify-content:center; gap:8px; padding:calc(30px + env(safe-area-inset-top,0px)) 34px calc(30px + env(safe-area-inset-bottom,0px))}
.menucel[hidden]{display:none}
.menucel a{font-size:clamp(1.5rem,6.5vw,2rem); font-weight:600; color:var(--creme); text-decoration:none;
  padding:12px 0; border-bottom:1px solid rgba(244,235,218,.14)}
.menucel .btn{margin-top:26px; align-self:flex-start; font-size:15px}
.menucel-x{position:absolute; top:calc(20px + env(safe-area-inset-top,0px)); right:24px; width:48px; height:48px;
  border:0; background:transparent; color:var(--creme); font-size:34px; line-height:1; cursor:pointer}
body.trava{overflow:hidden}
.abertura{display:grid; grid-template-columns:minmax(0,46%) minmax(0,54%); min-height:100svh;
  background:var(--oliva); color:var(--creme)}
@media(max-width:940px){ .abertura{grid-template-columns:1fr; min-height:auto} }
.abertura .texto{display:flex; flex-direction:column; justify-content:center;
  padding:clamp(110px,13vh,170px) clamp(26px,5vw,72px) clamp(54px,7vh,80px)}
.abertura .logo{width:min(320px,78%); margin:26px 0 30px}
.abertura h1{font-size:clamp(1.15rem,1.7vw,1.4rem); font-weight:400; letter-spacing:.11em;
  text-transform:uppercase; color:rgba(244,235,218,.9); line-height:1.5}
.abertura h1 b{font-weight:700; color:#fff}
.abertura .risco{width:86px; height:1px; background:rgba(244,235,218,.4); margin:26px 0}
.abertura p{color:rgba(244,235,218,.82); max-width:40ch; font-size:1.06rem}
.abertura .acoes{display:flex; flex-wrap:wrap; gap:12px; margin-top:34px}
.abertura .nota{font-size:11.5px; letter-spacing:.14em; text-transform:uppercase;
  color:rgba(244,235,218,.48); margin-top:38px}
.abertura .foto{position:relative; min-height:300px}
.abertura .foto img{width:100%; height:100%; object-fit:cover; position:absolute; inset:0}
@media(max-width:940px){ .abertura .foto{min-height:58svh} }
.selo{display:inline-flex; align-items:center; gap:9px; font-size:11.5px; letter-spacing:.16em;
  text-transform:uppercase; border:1px solid rgba(244,235,218,.38); border-radius:999px;
  padding:7px 15px; color:rgba(244,235,218,.9); align-self:flex-start}
.selo i{width:6px; height:6px; border-radius:50%; background:var(--ouro); display:block}
.numeros{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--linha);
  border:1px solid var(--linha); margin-top:clamp(34px,4.5vw,52px)}
.numeros > div{background:var(--papel); padding:clamp(20px,2.6vw,30px)}
.secao.clara2 .numeros > div{background:var(--papel-2)}
.secao.escura .numeros{background:rgba(244,235,218,.22); border-color:rgba(244,235,218,.22)}
.secao.escura .numeros > div{background:var(--oliva)}
.numeros b{display:block; font-size:clamp(1.5rem,2.9vw,2.2rem); font-weight:600; line-height:1; letter-spacing:-.02em}
.secao.escura .numeros b{color:var(--ouro)}
.numeros span{display:block; font-size:13px; color:var(--tinta-2); margin-top:9px; line-height:1.5}
.secao.escura .numeros span{color:rgba(244,235,218,.72)}
@media(max-width:720px){
  .numeros{grid-template-columns:1fr 1fr}
  /* numero impar sozinho na ultima linha ocupa a largura toda, sem buraco */
  .numeros > div:last-child:nth-child(odd){grid-column:1 / -1}
}
.duo{display:grid; grid-template-columns:1fr 1fr; gap:clamp(22px,3vw,40px); align-items:center}
.duo.inverso > figure{order:-1}
@media(max-width:880px){ .duo{grid-template-columns:1fr} .duo.inverso > figure{order:0} }
figure{margin:0}
figure img{border-radius:2px}
figcaption{font-size:12.5px; color:var(--rotulo); margin-top:11px; font-style:italic}
.secao.escura figcaption{color:rgba(244,235,218,.6)}
.galeria{display:grid; grid-template-columns:repeat(12,1fr); gap:clamp(12px,1.6vw,20px); margin-top:clamp(30px,4vw,46px)}
.galeria figure{grid-column:span 4}
.galeria figure.larga{grid-column:span 8}
@media(max-width:820px){ .galeria figure, .galeria figure.larga{grid-column:span 6} }
@media(max-width:520px){ .galeria figure, .galeria figure.larga{grid-column:span 12} }
.lista-itens{list-style:none; padding:0; margin:26px 0 0; display:grid; gap:13px}
.lista-itens li{padding-left:22px; position:relative; color:var(--tinta-2); font-size:15.5px}
.secao.escura .lista-itens li{color:rgba(244,235,218,.8)}
.lista-itens li::before{content:""; position:absolute; left:0; top:.62em; width:8px; height:1px; background:var(--ouro)}
.medidas{list-style:none; padding:0; margin:28px 0 0}
.medidas li{display:flex; justify-content:space-between; gap:18px; padding:13px 0;
  border-bottom:1px solid var(--linha); font-size:15.5px}
.medidas b{font-weight:600}
.medidas span{color:var(--tinta-2); text-align:right}
.casas{display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(14px,1.8vw,22px); margin-top:clamp(30px,4vw,46px)}
@media(max-width:860px){ .casas{grid-template-columns:1fr 1fr} }
@media(max-width:480px){ .casas{grid-template-columns:1fr} }
.casa img{border-radius:2px}
.casa b{display:block; margin-top:13px; font-weight:600}
.casa span{display:block; font-size:14px; color:var(--tinta-2); margin-top:4px}
.caminho{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:rgba(244,235,218,.22);
  border:1px solid rgba(244,235,218,.22); margin-top:clamp(30px,4vw,46px)}
.caminho > div{background:var(--oliva); padding:clamp(20px,2.4vw,28px)}
.caminho b{display:block; font-weight:600; color:var(--ouro); margin-bottom:9px}
.caminho p{font-size:14px; color:rgba(244,235,218,.78); line-height:1.58}
@media(max-width:860px){ .caminho{grid-template-columns:1fr 1fr} }
@media(max-width:480px){ .caminho{grid-template-columns:1fr} }
.cadastro{background:var(--oliva); color:var(--creme)}
.cadastro .wrap{display:grid; grid-template-columns:1fr minmax(300px,440px); gap:clamp(30px,5vw,70px); align-items:start}
@media(max-width:880px){ .cadastro .wrap{grid-template-columns:1fr} }
.campo{margin-bottom:16px}
.campo label{display:block; font-size:13px; letter-spacing:.06em; margin-bottom:7px; color:rgba(244,235,218,.78)}
.campo input{width:100%; padding:14px; font-size:16px; font-family:inherit; color:var(--creme);
  background:rgba(255,255,255,.07); border:1px solid rgba(244,235,218,.26); border-radius:2px}
.campo input::placeholder{color:rgba(244,235,218,.42)}
.campo input:focus{outline:none; border-color:var(--ouro); box-shadow:0 0 0 3px rgba(181,156,110,.2)}
.aceite{display:flex; gap:11px; align-items:flex-start; font-size:12.5px; line-height:1.55;
  color:rgba(244,235,218,.68); margin:4px 0 20px}
.aceite input{margin-top:3px; flex:0 0 auto}
#envio{width:100%}
.retorno{margin-top:14px; font-size:14.5px; min-height:22px}
.isca{position:absolute; left:-9999px; width:1px; height:1px; opacity:0}
.rodape{background:#33322A; color:rgba(244,235,218,.74); padding:clamp(46px,6vw,70px) 0 calc(34px + env(safe-area-inset-bottom,0px))}
.rodape .topo-rodape{display:flex; flex-wrap:wrap; gap:30px; justify-content:space-between; align-items:flex-end}
.rodape .marca-rod{width:190px}
.rodape .realiza{font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:rgba(244,235,218,.5); margin-bottom:12px}
.rodape .md{width:152px; opacity:.9}
.rodape .creditos{border-top:1px solid rgba(244,235,218,.16); margin-top:36px; padding-top:24px;
  font-size:12.5px; line-height:1.7; color:rgba(244,235,218,.56)}
.tel-fab{position:fixed; right:20px; bottom:calc(88px + env(safe-area-inset-bottom,0px)); z-index:69;
  display:inline-flex; align-items:center; gap:10px; padding:10px 16px 10px 13px; border-radius:999px;
  background:var(--ouro); color:#241C0E; text-decoration:none; box-shadow:0 8px 24px rgba(20,18,10,.3)}
.tel-fab svg{width:19px; height:19px; fill:#241C0E; flex:0 0 auto}
.tel-fab b{display:block; font-size:9.5px; letter-spacing:.14em; text-transform:uppercase; opacity:.74; font-weight:600}
.tel-fab span{display:block; font-size:14.5px; font-weight:700; letter-spacing:.01em; line-height:1.2}
@media(max-width:520px){ .tel-fab{padding:9px 13px 9px 11px} .tel-fab span{font-size:13.5px} }
.zap{position:fixed; right:20px; bottom:calc(20px + env(safe-area-inset-bottom,0px)); z-index:70;
  width:56px; height:56px; border-radius:50%; background:#25D366; display:grid; place-items:center;
  box-shadow:0 8px 24px rgba(20,30,16,.3)}
.zap svg{width:31px; height:31px; fill:#fff}
@media(prefers-reduced-motion:reduce){ :root{scroll-behavior:auto} *{transition:none !important} }
:focus-visible{outline:2px solid var(--ouro); outline-offset:3px}
