:root{
  --papel:#ece6db; --papel-2:#e2dacb; --papel-3:#d9cfbd; --cafe:#3b2618; --cafe-2:#6a5444; --musgo:#4a5236;
  --serif:"Newsreader",Georgia,serif; --mao:"Caveat",cursive;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--papel);color:var(--cafe);font-family:var(--serif);font-size:17px;line-height:1.65;font-weight:300;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:100;opacity:.35;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.3 0 0 0 0 0.25 0 0 0 0 0.2 0 0 0 .18 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
img{display:block;width:100%;height:100%;object-fit:cover}
a{color:inherit;text-decoration:none}

/* bordas rasgadas */
.rasgo-b{clip-path:polygon(0 0,100% 0,100% calc(100% - 14px),97% 100%,93% calc(100% - 9px),88% calc(100% - 3px),83% calc(100% - 12px),77% calc(100% - 4px),71% 100%,65% calc(100% - 10px),59% calc(100% - 2px),53% calc(100% - 11px),47% calc(100% - 5px),41% 100%,35% calc(100% - 9px),29% calc(100% - 3px),23% calc(100% - 12px),17% calc(100% - 4px),11% calc(100% - 10px),5% calc(100% - 2px),0 calc(100% - 11px))}
.rasgo-t{clip-path:polygon(0 11px,5% 2px,11% 10px,17% 4px,23% 12px,29% 3px,35% 9px,41% 0,47% 5px,53% 11px,59% 2px,65% 10px,71% 0,77% 4px,83% 12px,88% 3px,93% 9px,97% 0,100% 14px,100% 100%,0 100%)}
.rasgo-tb{clip-path:polygon(0 11px,6% 2px,13% 10px,21% 3px,29% 12px,37% 1px,45% 9px,53% 3px,61% 11px,69% 2px,77% 10px,85% 4px,93% 12px,100% 3px,100% calc(100% - 12px),94% calc(100% - 3px),86% calc(100% - 11px),78% calc(100% - 2px),70% calc(100% - 10px),62% calc(100% - 4px),54% calc(100% - 12px),46% calc(100% - 3px),38% calc(100% - 9px),30% calc(100% - 1px),22% calc(100% - 11px),14% calc(100% - 4px),6% calc(100% - 10px),0 calc(100% - 2px))}

/* botão de carimbo */
.btn{display:inline-block;background:var(--cafe);color:var(--papel);font-size:14.5px;padding:11px 24px;clip-path:polygon(1% 6%,30% 0,62% 4%,99% 1%,100% 52%,98% 96%,64% 100%,28% 96%,0 100%,2% 48%);transition:background .2s}
.btn:hover{background:var(--musgo)}
.link-seta{border-bottom:1px solid currentColor;padding-bottom:2px;font-size:15px}

/* topo */
.cabeca{position:sticky;top:0;z-index:50}
.topo{background:var(--papel);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px clamp(16px,6vw,110px);border-bottom:1px solid rgba(59,38,24,.18)}
.marca{display:flex;align-items:center;gap:10px;font-size:19px;font-weight:500;letter-spacing:.02em}
.marca svg{width:34px;height:24px}
.topo nav{display:flex;gap:28px;font-size:15px}
@media (max-width:860px){.topo nav{display:none}}

/* abertura */
.abertura{position:relative;height:min(88svh,820px);min-height:520px;color:#fff;display:grid;place-items:center;text-align:center}
.abertura img{position:absolute;inset:0}
.abertura::after{content:"";position:absolute;inset:0;background:rgba(30,22,14,.32)}
.abertura .txt{position:relative;z-index:2;padding:0 20px}
.abertura .mao{font-family:var(--mao);font-size:clamp(26px,3vw,34px);display:block;margin-bottom:4px;transform:rotate(-3deg)}
.abertura h1{font-weight:400;font-size:clamp(46px,7.4vw,96px);line-height:1;letter-spacing:.02em}
.caixa-reserva{position:relative;z-index:3;margin:-46px auto 0;width:min(760px,calc(100% - 32px));background:var(--papel);display:grid;grid-template-columns:repeat(3,1fr) auto;align-items:center;gap:0;padding:14px 16px;box-shadow:0 10px 30px rgba(40,25,10,.16);font-size:14px}
.caixa-reserva label{padding:0 14px;border-right:1px solid rgba(59,38,24,.2);color:var(--cafe-2);font-size:12.5px}
.caixa-reserva input,.caixa-reserva select{display:block;width:100%;border:0;background:transparent;font:inherit;font-size:15px;color:var(--cafe);margin-top:2px}
.caixa-reserva .btn{margin-left:14px;border:0;cursor:pointer;font-family:inherit}
@media (max-width:700px){.caixa-reserva{grid-template-columns:1fr 1fr;gap:12px}.caixa-reserva label{border:0;padding:0}.caixa-reserva .btn{grid-column:1/-1;margin:0;text-align:center}}

/* boas-vindas */
.boas{max-width:700px;margin:0 auto;text-align:center;padding:clamp(70px,9vw,120px) 20px clamp(60px,8vw,100px);position:relative}
.boas h2{font-weight:400;font-size:clamp(32px,4vw,46px);line-height:1.15;margin-bottom:18px}
.boas p{color:var(--cafe-2);margin-bottom:28px}
.boas .ramo{position:absolute;right:-90px;top:40px;width:120px;opacity:.16}
@media (max-width:900px){.boas .ramo{display:none}}

/* lista que troca foto */
.escapadas{background:var(--papel-2);padding:clamp(80px,9vw,130px) clamp(16px,6vw,110px)}
.escapadas .grade{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,80px);align-items:center}
.escapadas h2{font-weight:400;font-size:clamp(32px,3.6vw,44px);text-align:center;margin-bottom:10px}
.escapadas .sub{text-align:center;color:var(--cafe-2);font-size:15.5px;margin-bottom:34px}
.lista button{display:flex;align-items:center;gap:14px;width:100%;background:none;border:0;border-bottom:1px solid rgba(59,38,24,.35);padding:16px 2px;font:inherit;font-size:clamp(19px,1.8vw,22px);color:rgba(59,38,24,.45);cursor:pointer;text-align:left;transition:color .25s}
.lista button svg{width:22px;height:22px;flex:none;opacity:.8}
.lista button .seta{margin-left:auto;opacity:0;transition:opacity .25s}
.lista button.on{color:var(--cafe)}
.lista button.on .seta{opacity:1}
.quadro figure{aspect-ratio:4/5;overflow:hidden;position:relative}
.quadro figure img{position:absolute;inset:0;opacity:0;transition:opacity .6s}
.quadro figure img.on{opacity:1}
.quadro p{text-align:center;color:var(--cafe-2);font-size:15px;margin-top:16px;min-height:52px}
@media (max-width:820px){.escapadas .grade{grid-template-columns:1fr}.quadro{order:-1}}

/* chalés */
.chales{padding:clamp(80px,9vw,130px) clamp(16px,6vw,110px)}
.chales h2{font-weight:400;font-size:clamp(32px,3.6vw,44px);text-align:center;margin-bottom:8px}
.chales .sub{text-align:center;color:var(--cafe-2);margin-bottom:50px}
.tres{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,3vw,40px)}
.tres figure{aspect-ratio:3/4;overflow:hidden;margin-bottom:20px}
.tres h3{font-weight:400;font-size:26px;margin-bottom:4px}
.tres .meta{font-size:14px;color:var(--cafe-2);margin-bottom:10px;font-style:italic}
.tres p{font-size:15.5px;color:var(--cafe-2);margin-bottom:14px}
@media (max-width:820px){.tres{grid-template-columns:1fr}}

/* colagem */
.colagem{position:relative;min-height:640px;background:#2b2118;overflow:hidden;color:var(--papel);display:grid;place-items:center;text-align:center;padding:90px 20px}
.colagem .f{position:absolute;box-shadow:0 8px 24px rgba(0,0,0,.4);border:6px solid #f3eee4;opacity:.75}
.colagem .f1{width:280px;height:210px;left:3%;top:8%;transform:rotate(-6deg)}
.colagem .f2{width:230px;height:300px;right:5%;top:6%;transform:rotate(5deg)}
.colagem .f3{width:300px;height:200px;left:8%;bottom:6%;transform:rotate(4deg)}
.colagem .f4{width:250px;height:190px;right:9%;bottom:8%;transform:rotate(-4deg)}
.colagem .f5{width:200px;height:260px;left:38%;top:-40px;transform:rotate(-2deg)}
.colagem .meio{position:relative;z-index:2;max-width:520px;background:rgba(43,33,24,.82);padding:34px 30px}
.colagem .mao{font-family:var(--mao);font-size:26px;display:block;color:#e9c99a}
.colagem h2{font-weight:400;font-size:clamp(28px,3.4vw,40px);line-height:1.15;margin:6px 0 14px}
.colagem p{opacity:.85;margin-bottom:24px}
.colagem .btn{background:var(--papel);color:var(--cafe)}
@media (max-width:760px){.colagem .f2,.colagem .f4,.colagem .f5{display:none}.colagem .f1{width:180px;height:130px}.colagem .f3{width:190px;height:130px}}

/* dúvidas */
.duvidas{max-width:760px;margin:0 auto;padding:clamp(80px,9vw,120px) 20px}
.duvidas h2{font-weight:400;font-size:clamp(30px,3.4vw,40px);text-align:center;margin-bottom:30px}
details{border-bottom:1px solid rgba(59,38,24,.3);padding:16px 0}
summary{cursor:pointer;font-size:19px;list-style:none;display:flex;justify-content:space-between}
summary::after{content:"+";font-size:22px;line-height:1}
details[open] summary::after{content:"−"}
details p{color:var(--cafe-2);margin-top:8px;font-size:15.5px}

footer{background:var(--cafe);color:var(--papel);padding:70px clamp(16px,6vw,110px) 34px;text-align:center}
footer .marca{justify-content:center;margin-bottom:10px}
footer p{opacity:.75;font-size:15px}
footer small{display:block;margin-top:40px;opacity:.5;font-size:12.5px}
/* adições do gerador */
.ancora-reserva{position:relative;top:-120px}
.boas p + p{margin-top:-14px}
.boas .nota{font-style:italic;font-size:15px}
footer p{margin-bottom:6px}
footer a{border-bottom:1px solid currentColor}
