:root{--noz:#847059;--noz-esc:#5E4F3E;--tinta:#2B2A28;--texto:#4A443D;--suave:#6E5E4A;--areia:#F5F1EB;--linha:#E4DDD3;--branco:#FFFFFF;--creme:#F3EEE7}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--branco);color:var(--tinta);font-family:'Jost',system-ui,sans-serif;font-weight:300;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:var(--noz)}a:hover{color:var(--noz-esc)}
.wrap{max-width:1240px;margin:0 auto;padding:0 40px}
.eyebrow{margin:0;font-size:12px;letter-spacing:.4em;text-transform:uppercase;color:var(--suave);font-weight:400}
.h2{margin:0;font-size:clamp(28px,3.4vw,40px);line-height:1.25;font-weight:300;letter-spacing:.06em;text-transform:uppercase}
.lead{margin:0;font-size:17px;line-height:1.8;color:var(--texto)}
.logo svg{display:block;height:100%;width:auto}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 32px;font:inherit;font-size:12px;font-weight:400;letter-spacing:.3em;text-transform:uppercase;text-decoration:none;cursor:pointer;border-radius:0;transition:background .3s,color .3s,border-color .3s}
.btn-noz{background:var(--noz);color:#fff;border:1px solid var(--noz)}.btn-noz:hover{background:var(--noz-esc);border-color:var(--noz-esc);color:#fff}
.btn-noz[disabled]{opacity:.45;cursor:not-allowed}
.btn-line{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.8)}.btn-line:hover{background:#fff;color:var(--noz-esc)}
.btn-line-noz{background:transparent;color:var(--noz-esc);border:1px solid var(--noz)}.btn-line-noz:hover{background:var(--noz);color:#fff}
:focus-visible{outline:2px solid var(--noz);outline-offset:3px}
.topbar{position:absolute;top:0;left:0;right:0;z-index:30}
.topbar.solid{position:sticky;background:#fff;border-bottom:1px solid var(--linha)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 0}
.nav .side{display:flex;gap:36px;flex:1;align-items:center}.nav .side.r{justify-content:flex-end;gap:28px}
.navlink{color:#fff;text-decoration:none;font-size:12px;letter-spacing:.28em;text-transform:uppercase;padding:12px 0;border-bottom:1px solid transparent;transition:border-color .3s}
.navlink:hover{color:#fff;border-bottom-color:#fff}
.solid .navlink{color:var(--tinta)}.solid .navlink:hover{color:var(--tinta);border-bottom-color:var(--noz)}
.solid .btn-line{color:var(--noz-esc);border-color:var(--noz)}.solid .btn-line:hover{background:var(--noz);color:#fff}
.nav .logo{height:44px;color:#fff}.solid .nav .logo{color:var(--noz)}
.hero{position:relative;height:min(900px,100svh);min-height:640px;background:var(--noz-esc);overflow:hidden}
.slide{position:absolute;inset:0;opacity:0;transition:opacity 1.6s ease}.slide.on{opacity:1}
.slide img{width:100%;height:100%;object-fit:cover;animation:ken 18s ease-in-out infinite alternate}
@keyframes ken{from{transform:scale(1)}to{transform:scale(1.09)}}
.veil{position:absolute;inset:0;background:rgba(58,47,36,.48)}
.veil2{position:absolute;inset:0;background:radial-gradient(ellipse 55% 50% at 50% 52%,rgba(38,30,22,.55) 0%,rgba(38,30,22,0) 100%),linear-gradient(180deg,rgba(30,26,22,.6) 0%,rgba(30,26,22,0) 26%,rgba(30,26,22,0) 70%,rgba(30,26,22,.45) 100%)}
.hero-c{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:26px;padding:120px 20px 130px;color:#fff}
.hero-c .logo{height:clamp(90px,14vw,170px);color:#fff;filter:drop-shadow(0 2px 14px rgba(0,0,0,.45))}
.hero-c{text-shadow:0 1px 3px rgba(0,0,0,.45),0 2px 18px rgba(0,0,0,.35)}
.topbar:not(.solid) .navlink,.topbar:not(.solid) .btn-line{text-shadow:0 1px 8px rgba(0,0,0,.5)}
.topbar:not(.solid) .nav .logo{filter:drop-shadow(0 1px 8px rgba(0,0,0,.45))}
.dots span{box-shadow:0 1px 4px rgba(0,0,0,.4)}
.hero-c h1{margin:0}
.hero-c .tag{margin:0;font-size:14px;letter-spacing:.5em;text-transform:uppercase;font-weight:500}
.hero-c .sub{margin:0;max-width:580px;font-size:19px;line-height:1.6;font-weight:400}
.dots{display:flex;gap:6px}.dots button{width:44px;height:44px;background:transparent;border:0;cursor:pointer;display:flex;align-items:center;justify-content:center}
.dots span{display:block;width:28px;height:2px;background:rgba(255,255,255,.45);transition:background .4s}.dots .on span{background:#fff}
.search-w{position:relative;z-index:5;margin-top:-64px}
.search{display:grid;grid-template-columns:1.5fr 1fr 1fr auto;background:#fff;box-shadow:0 24px 60px rgba(43,42,40,.14)}
.field{display:flex;flex-direction:column;gap:6px;padding:18px 24px;border-right:1px solid var(--linha);min-width:0}
.field label{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--suave);font-weight:400}
.field input,.field select{border:0;background:transparent;font:inherit;font-size:15px;color:var(--tinta);padding:2px 0;width:100%}
.search .btn{min-height:88px;padding:0 40px}
.sec{padding:150px 0}.sec.tight{padding:110px 0}.areia{background:var(--areia)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:96px;align-items:center}
.stack{display:flex;flex-direction:column;gap:26px}
.arch{border-radius:999px 999px 0 0;overflow:hidden;background:var(--linha)}
.arch img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s ease}
.head-row{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap;margin-bottom:64px}
.round{width:48px;height:48px;border-radius:50%;border:1px solid var(--noz);background:transparent;color:var(--noz-esc);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .3s,color .3s}
.round:hover{background:var(--noz);color:#fff}
.track{display:flex;gap:28px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding-bottom:8px}
.track::-webkit-scrollbar{display:none}
.card{flex:0 0 calc((100% - 56px)/3);scroll-snap-align:start;text-decoration:none;color:inherit;display:block}
.card:hover .arch img{transform:scale(1.06)}
.card .arch{aspect-ratio:4/5}
.card .info{padding:28px 4px 0;display:flex;flex-direction:column;gap:10px}
.card h3{margin:0;font-size:22px;font-weight:400;letter-spacing:.08em;text-transform:uppercase;color:var(--tinta)}
.card p{margin:0;font-size:15px;color:var(--texto)}
.card .cta{margin-top:6px;padding-top:14px;border-top:1px solid #DDD4C8;font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--noz-esc);font-weight:400}
.skel{background:linear-gradient(90deg,#ece6dd,#f5f1eb,#ece6dd);background-size:200% 100%;animation:sk 1.4s infinite}
@keyframes sk{to{background-position:-200% 0}}
.tabs{display:flex;flex-direction:column}
.tab{background:transparent;border:0;border-bottom:1px solid var(--linha);padding:20px 0;text-align:left;font:inherit;font-size:13px;font-weight:400;letter-spacing:.3em;text-transform:uppercase;color:var(--suave);cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:color .3s,border-color .3s}
.tab:hover,.tab[aria-selected=true]{color:var(--tinta)}.tab[aria-selected=true]{border-bottom-color:var(--noz)}
.fade{animation:fd .9s ease}@keyframes fd{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.noz{background:var(--noz);color:#fff}
.pillars{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:56px 48px}
.pillar{display:flex;flex-direction:column;gap:16px;padding-top:28px;border-top:1px solid rgba(255,255,255,.35)}
.pillar h3{margin:0;font-size:15px;font-weight:400;letter-spacing:.25em;text-transform:uppercase}
.pillar p{margin:0;font-size:16px;line-height:1.7;color:var(--creme)}
.band{background-size:cover;background-position:center;background-attachment:fixed}
.band>div{background:rgba(94,79,62,.55);padding:170px 0}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1px;background:var(--linha);border:1px solid var(--linha)}
.fact{background:#fff;padding:36px 32px;display:flex;flex-direction:column;gap:10px}
.fact strong{font-weight:400;font-size:22px;letter-spacing:.06em;color:var(--noz-esc)}
.fact span{font-size:14px;line-height:1.6;color:var(--texto)}
.gal{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px}
.gal figure{margin:0;aspect-ratio:3/4;overflow:hidden}.gal figure:nth-child(odd){border-radius:999px 999px 0 0}
.gal img{width:100%;height:100%;object-fit:cover;transition:transform 1s ease}.gal figure:hover img{transform:scale(1.05)}
.owner{display:grid;grid-template-columns:1fr 1fr;background:var(--areia)}
.owner .ph{min-height:380px;background-size:cover;background-position:center}
.owner .tx{padding:72px 64px;display:flex;flex-direction:column;justify-content:center;gap:24px}
footer{background:var(--noz-esc);color:#fff;padding:100px 0 40px}
footer .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:56px;padding-bottom:72px;border-bottom:1px solid rgba(255,255,255,.25)}
footer h3{margin:0 0 8px;font-size:12px;font-weight:400;letter-spacing:.35em;text-transform:uppercase;color:var(--linha)}
footer a,footer span{color:var(--creme);text-decoration:none;font-size:14px}footer a:hover{color:#fff;text-decoration:underline}
footer .col{display:flex;flex-direction:column;gap:14px}
footer .logo{height:62px;color:#fff}
footer .base{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:32px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--linha)}
.wa{position:fixed;right:24px;bottom:24px;z-index:40;width:58px;height:58px;border-radius:50%;background:var(--noz);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(43,42,40,.25);transition:transform .3s}
.wa:hover{transform:translateY(-3px)}
.stay-hero{height:min(620px,70svh);position:relative;overflow:hidden;background:var(--noz-esc)}
.stay-hero img{width:100%;height:100%;object-fit:cover}
.stay-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:80px;align-items:start}
.panel{background:#fff;border:1px solid var(--linha);padding:36px;position:sticky;top:110px;display:flex;flex-direction:column;gap:22px;box-shadow:0 24px 60px rgba(43,42,40,.08)}
.panel h2{margin:0;font-size:14px;font-weight:400;letter-spacing:.3em;text-transform:uppercase}
.strip{display:flex;align-items:center;gap:8px}
.days{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;flex:1;padding:2px}
.days::-webkit-scrollbar{display:none}
.day{flex:0 0 auto;min-width:64px;min-height:64px;border:1px solid var(--linha);background:#fff;font:inherit;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--tinta);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:8px}
.day b{font-size:18px;font-weight:400}
.day[disabled]{color:#B8AFA3;text-decoration:line-through;cursor:not-allowed}
.day[aria-pressed=true]{background:var(--noz);border-color:var(--noz);color:#fff}
.opts{display:flex;flex-direction:column;gap:8px}
.opt{border:1px solid var(--linha);background:#fff;font:inherit;font-size:14px;color:var(--tinta);text-align:left;padding:14px 16px;cursor:pointer;min-height:48px}
.opt[aria-pressed=true]{border-color:var(--noz);background:var(--areia)}
.panel label{display:flex;flex-direction:column;gap:6px;font-size:11px;letter-spacing:.25em;text-transform:uppercase;color:var(--suave);font-weight:400}
.panel input,.panel textarea,.panel select{font:inherit;font-size:15px;text-transform:none;letter-spacing:0;color:var(--tinta);border:1px solid var(--linha);padding:12px 14px;min-height:46px;border-radius:0;background:#fff}
.muted{font-size:14px;color:var(--suave);margin:0;line-height:1.6}
.err{font-size:14px;color:#9B2C1F;margin:0;line-height:1.6}
.ok{background:var(--areia);padding:28px;display:flex;flex-direction:column;gap:12px}
.plan{border:1px solid var(--linha);background:#fff;padding:24px}
.thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.thumbs img{aspect-ratio:1;object-fit:cover;width:100%}
@supports (animation-timeline:view()){.rv{animation:rise linear both;animation-timeline:view();animation-range:entry 0% entry 40%}@keyframes rise{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.slide img{animation:none}}
@media (max-width:980px){
.wrap{padding:0 20px}.desk{display:none!important}
.sec{padding:100px 0}.two,.stay-grid,.owner{grid-template-columns:1fr;gap:56px}
.search{grid-template-columns:1fr 1fr}.search .btn{grid-column:1/-1;min-height:60px}
.field{border-bottom:1px solid var(--linha)}
.card{flex-basis:80%}.band{background-attachment:scroll}.band>div{padding:110px 0}
.owner .tx{padding:48px 28px}.panel{position:static}
}
.card.soon{border:1px dashed #CFC5B8;display:flex;align-items:center;justify-content:center;text-align:center;aspect-ratio:auto;min-height:420px;padding:40px;background:transparent}
.card.soon .soon-in{display:flex;flex-direction:column;align-items:center;gap:10px;max-width:280px}
.card.soon .logo{height:56px;color:var(--noz)}
.card.soon h3{margin:0;font-size:22px;font-weight:400;letter-spacing:.08em;text-transform:uppercase}
.card.soon p{margin:0;font-size:15px;color:var(--texto);line-height:1.7}

.grp-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;padding-bottom:20px;margin-bottom:32px;border-bottom:1px solid #DDD4C8}
.grp-head>div{display:flex;flex-direction:column;gap:8px}
.grp-title{margin:0;font-size:22px;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--tinta)}
.outros{margin-top:96px}
.outros-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px}
.outro{display:grid;grid-template-columns:120px 1fr;gap:24px;align-items:center;background:#fff;padding:20px;text-decoration:none;color:inherit;transition:box-shadow .3s}
.outro:hover{box-shadow:0 16px 40px rgba(43,42,40,.1)}
.outro .arch{aspect-ratio:3/4}
.outro h4{margin:6px 0 10px;font-size:18px;font-weight:400;letter-spacing:.08em;text-transform:uppercase;color:var(--tinta)}
.outro .cta{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--noz-esc);font-weight:400}
.outro.soon{background:transparent;border:1px dashed #CFC5B8}
.outro.soon .logo{height:64px;color:var(--noz);justify-self:center}
