/* Pousada Capão Fôrro — capaoforro.fazlodigital.com.br
   Desenvolvido por Fazlo Digital */

:root{
  --cal:#F7F3EA;
  --cal-2:#EFE7D6;
  --vinho:#5B1E14;
  --vinho-d:#4A140C;
  --vinho-2:#7A3A2C;
  --ocre:#CFA960;
  --ocre-d:#B98F45;
  --verde:#4E6B2B;
  --amarelo:#F2C230;
  --texto:#4A2E25;
  --texto-2:#5E4238;
  --texto-3:#6E5248;
  --linha:rgba(91,30,20,.14);
  --f-title:'Schibsted Grotesk',system-ui,sans-serif;
  --f-body:'DM Sans',system-ui,sans-serif;
  --f-mono:'JetBrains Mono',ui-monospace,monospace;
  --ease:cubic-bezier(.2,.7,.2,1);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cal);color:var(--texto);font-family:var(--f-body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.lock{overflow:hidden}
img{max-width:100%;height:auto}
h1,h2,h3{font-family:var(--f-title);color:var(--vinho);margin:0;letter-spacing:-.025em;font-weight:600}
p{margin:0}
a{color:var(--vinho)}
button{font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}
[id]{scroll-margin-top:92px}
.mono{font-family:var(--f-mono)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.skip{position:absolute;left:12px;top:-60px;z-index:200;background:var(--vinho);color:var(--cal);padding:10px 16px;border-radius:10px;text-decoration:none}
.skip:focus{top:12px}
:focus-visible{outline:2px solid var(--ocre-d);outline-offset:3px}

/* Ícones (máscara SVG) */
.ic{display:inline-block;width:22px;height:22px;flex:none;background-color:currentColor;-webkit-mask:var(--m) center/contain no-repeat;mask:var(--m) center/contain no-repeat}
.i-apple{--m:url(../icons/i-apple.svg)}.i-bed{--m:url(../icons/i-bed.svg)}.i-bedsingle{--m:url(../icons/i-bedsingle.svg)}.i-bird{--m:url(../icons/i-bird.svg)}.i-book{--m:url(../icons/i-book.svg)}.i-cake{--m:url(../icons/i-cake.svg)}.i-car{--m:url(../icons/i-car.svg)}.i-chat{--m:url(../icons/i-chat.svg)}.i-check{--m:url(../icons/i-check.svg)}.i-cheese{--m:url(../icons/i-cheese.svg)}.i-clock{--m:url(../icons/i-clock.svg)}.i-coffee{--m:url(../icons/i-coffee.svg)}.i-compass{--m:url(../icons/i-compass.svg)}.i-door{--m:url(../icons/i-door.svg)}.i-drops{--m:url(../icons/i-drops.svg)}.i-fridge{--m:url(../icons/i-fridge.svg)}.i-heart{--m:url(../icons/i-heart.svg)}.i-home{--m:url(../icons/i-home.svg)}.i-image{--m:url(../icons/i-image.svg)}.i-juice{--m:url(../icons/i-juice.svg)}.i-key{--m:url(../icons/i-key.svg)}.i-lamp{--m:url(../icons/i-lamp.svg)}.i-leaf{--m:url(../icons/i-leaf.svg)}.i-mountain{--m:url(../icons/i-mountain.svg)}.i-paw{--m:url(../icons/i-paw.svg)}.i-pin{--m:url(../icons/i-pin.svg)}.i-sock{--m:url(../icons/i-sock.svg)}.i-sofa{--m:url(../icons/i-sofa.svg)}.i-sparkles{--m:url(../icons/i-sparkles.svg)}.i-sprout{--m:url(../icons/i-sprout.svg)}.i-star{--m:url(../icons/i-star.svg)}.i-sunset{--m:url(../icons/i-sunset.svg)}.i-truck{--m:url(../icons/i-truck.svg)}.i-tv{--m:url(../icons/i-tv.svg)}.i-users{--m:url(../icons/i-users.svg)}.i-waves{--m:url(../icons/i-waves.svg)}.i-wheat{--m:url(../icons/i-wheat.svg)}.i-wifi{--m:url(../icons/i-wifi.svg)}.i-wind{--m:url(../icons/i-wind.svg)}.i-window{--m:url(../icons/i-window.svg)}
.sv{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* Base de layout */
.wrap{max-width:1280px;margin:0 auto;padding:0 56px}
.sec{padding:120px 0}
.bg2{background:var(--cal-2)}
.eb{display:inline-flex;align-items:center;gap:10px;font-family:var(--f-mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--verde);font-weight:500}
.eb .ic{width:20px;height:20px}
.leafs{width:40px;height:24px;flex:none}
.leafs .tw{fill:none;stroke:#8A4A2A;stroke-width:1.6;stroke-linecap:round}
.leafs .lf{fill:var(--verde);transform-box:fill-box;transform-origin:0% 100%}
.h2{font-size:64px;line-height:1;letter-spacing:-.045em;margin-top:22px}
.lead{font-size:18px;line-height:1.65;color:var(--texto-2);margin-top:24px;max-width:580px}
.g2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:88px;align-items:center}

/* Botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:999px;padding:0 28px;height:56px;font-weight:600;font-size:16px;text-decoration:none;transition:transform .3s ease,background .3s ease,box-shadow .3s ease;white-space:nowrap}
.btn-v{background:var(--vinho);color:var(--cal)}
.btn-v:hover{background:#43150E;color:var(--cal);transform:translateY(-2px);box-shadow:0 14px 28px -14px rgba(91,30,20,.7)}
.btn-v:disabled{opacity:.35;cursor:not-allowed;transform:none;box-shadow:none}
.btn-o{background:transparent;color:var(--vinho);box-shadow:inset 0 0 0 1.5px rgba(91,30,20,.3)}
.btn-o:hover{box-shadow:inset 0 0 0 1.5px var(--vinho)}
.btn-oc{background:var(--ocre);color:var(--vinho)}
.btn-oc:hover{transform:translateY(-2px)}
.btn .arr{transition:transform .3s ease}
.btn:hover .arr{transform:translateX(4px)}
.lnk{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:15px;color:var(--vinho);text-decoration:none;background:none;border:0;padding:0 0 3px;border-bottom:1.5px solid var(--ocre);transition:gap .3s ease}
.lnk:hover{gap:12px}
.icbtn{width:44px;height:44px;border-radius:50%;border:1px solid rgba(91,30,20,.2);display:inline-flex;align-items:center;justify-content:center;color:var(--vinho);transition:all .3s ease;background:transparent;text-decoration:none}
.icbtn:hover{background:var(--ocre);border-color:var(--ocre);transform:translateY(-2px)}

/* Molduras e chips */
.frame{position:relative;border-radius:28px;overflow:hidden;background:#E6DCC8}
.frame>img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.frame:hover>img{transform:scale(1.035)}
.chip{position:absolute;display:inline-flex;align-items:center;gap:8px;background:rgba(247,243,234,.95);color:var(--vinho);border-radius:999px;padding:9px 15px;font-size:13.5px;font-weight:500;z-index:2;border:0}
.chip .ic{width:17px;height:17px;color:var(--verde)}
.pill{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(91,30,20,.18);border-radius:999px;padding:9px 15px;font-size:14px;color:var(--vinho);font-weight:500;background:rgba(247,243,234,.5)}
.pill .ic{width:18px;height:18px;color:var(--verde)}
.dot{width:8px;height:8px;border-radius:50%;background:var(--amarelo);display:inline-block;flex:none}
.phs{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;width:100%;height:100%;background:repeating-linear-gradient(135deg,#E8DDC6 0 14px,#E2D5BB 14px 28px);color:#7A5A44;text-align:center;padding:14px;font-size:13px}
.phs .ic{width:26px;height:26px;color:#8A6A50}
.phs .mono{font-size:11.5px;letter-spacing:.12em;text-transform:uppercase}

/* Galho divisor */
.galho{display:flex;align-items:center;max-width:1280px;margin:0 auto;padding:0 56px}
.gl{flex:1;height:1.5px;background:rgba(138,74,42,.38);transform-origin:left}
.galho .leafs{width:58px;height:34px;margin-left:-3px}

/* Header */
.hdr{position:sticky;top:0;z-index:40;transition:background .4s ease,box-shadow .4s ease}
.hdr.on{background:rgba(247,243,234,.93);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(91,30,20,.1)}
.hdr-in{display:flex;align-items:center;justify-content:space-between;height:88px;gap:32px}
.logo{display:flex;align-items:center;gap:4px;text-decoration:none}
.logo .wm{height:54px;width:auto;display:block}
.logo .bd{height:40px;width:auto;display:block;margin-top:-10px}
.nav{display:flex;gap:34px;align-items:center}
.nav a{position:relative;text-decoration:none;font-weight:500;font-size:15px;color:var(--vinho);padding:6px 0}
.nav a::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1.5px;background:var(--ocre);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.nav a:hover::after{transform:scaleX(1)}
.hdr-soc{display:flex;gap:10px;align-items:center}
.burger{display:none;width:48px;height:48px;border-radius:50%;border:1px solid rgba(91,30,20,.2);background:var(--cal);flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:0}
.burger span{display:block;width:18px;height:1.8px;border-radius:2px;background:var(--vinho)}
.burger span+span{width:12px;margin-left:6px}

/* Hero */
.hero{padding:40px 0 112px}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,1fr);gap:80px;align-items:center}
.h1{font-size:112px;line-height:.92;letter-spacing:-.05em;margin-top:26px;font-weight:600}
.hero-sub{font-family:var(--f-title);font-size:36px;line-height:1.12;color:var(--verde);letter-spacing:-.025em;margin-top:14px;font-weight:500}
.hero-p{font-size:18px;line-height:1.6;color:var(--texto-2);max-width:520px;margin-top:22px}
.hero-photo{position:relative}
.hero-photo .frame{height:720px;border-radius:32px}
.ring{position:absolute;left:-60px;top:56px;width:134px;height:134px;border-radius:50%;background:var(--vinho);color:var(--cal);display:flex;align-items:center;justify-content:center;box-shadow:0 22px 40px -22px rgba(0,0,0,.5);z-index:3}
.ring svg{position:absolute;inset:0;width:100%;height:100%;animation:spin 30s linear infinite}
.ring text{font-family:var(--f-mono);font-size:9.4px;letter-spacing:.1em;fill:var(--ocre)}
.ring-c{text-align:center;line-height:1;position:relative}
.ring-c span{display:block;font-family:var(--f-mono);font-size:10px;letter-spacing:.22em;color:var(--ocre)}
.ring-c strong{font-family:var(--f-title);font-size:36px;font-weight:600;letter-spacing:-.03em}
@keyframes spin{to{transform:rotate(360deg)}}
.perks{display:flex;gap:10px 26px;flex-wrap:wrap;margin-top:22px;font-size:14.5px;color:var(--texto-2)}
.perks span{display:inline-flex;align-items:center;gap:8px}
.perks .ic{width:18px;height:18px;color:var(--verde)}

/* Card de disponibilidade */
.avail{position:relative;background:var(--ocre);border-radius:30px;padding:30px 28px 26px;margin-top:64px;box-shadow:0 34px 60px -42px rgba(91,30,20,.7)}
.avail-k{font-family:var(--f-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--vinho);opacity:.75}
.avail h2{font-size:24px;letter-spacing:-.02em;margin:4px 0 18px;padding-right:150px}
.perch{position:absolute;width:150px;top:-79px;right:34px;animation:fly 1.7s var(--ease) .35s both;transform-origin:30% 80%;pointer-events:none}
.perch img{display:block;width:100%;transform-origin:35% 85%}
.avail:has(.cta:hover) .perch img,.avail:has(.cta:active) .perch img{animation:hop .75s ease}
@keyframes fly{0%{opacity:0;transform:translate(240px,-170px) rotate(-20deg) scale(.7)}60%{opacity:1;transform:translate(-6px,5px) rotate(3deg) scale(1.02)}80%{transform:translate(2px,-2px) rotate(-1deg)}100%{opacity:1;transform:none}}
@keyframes hop{0%,100%{transform:none}30%{transform:translateY(-14px) rotate(-5deg)}55%{transform:translateY(0)}72%{transform:translateY(-5px)}}
.fld{background:var(--cal);border-radius:18px;border:0;text-align:left;padding:16px 20px;display:flex;align-items:center;gap:14px;color:var(--vinho);transition:box-shadow .3s ease;width:100%}
button.fld:hover,.fld.cur{box-shadow:0 0 0 2px var(--vinho)}
.fld-period{flex:1;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:16px}
.k{display:block;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--verde);margin-bottom:4px}
.v{display:block;font-family:var(--f-title);font-size:18px;font-weight:600;color:var(--vinho);letter-spacing:-.01em}
.v.ph{color:rgba(91,30,20,.42)}
.avail-row{display:flex;gap:12px;margin-top:12px;align-items:stretch}
.guests{width:auto;padding:10px 14px 10px 20px}
.stps{display:flex;gap:6px;margin-left:10px}
.stp{width:38px;height:38px;border-radius:50%;border:1px solid rgba(91,30,20,.25);background:transparent;color:var(--vinho);display:inline-flex;align-items:center;justify-content:center;transition:all .25s ease;padding:0}
.stp:hover{background:var(--vinho);color:var(--cal)}
.cta{flex:1;height:68px;border-radius:18px;font-size:17px}

/* Casa */
.casa-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:96px;align-items:center}
.casa-photo{aspect-ratio:3/4}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:48px;padding-top:30px;border-top:1px solid var(--linha)}
.stat .n{font-family:var(--f-title);font-size:58px;font-weight:600;color:var(--vinho);letter-spacing:-.035em;line-height:1}
.stat .u{font-family:var(--f-mono);font-size:15px;color:var(--verde);margin-left:6px}
.stat .l{display:flex;align-items:center;gap:8px;margin-top:12px;font-size:14.5px;color:var(--texto-2);line-height:1.35}

/* Acomodações */
.acc-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:72px;align-items:end;margin-bottom:64px}
.acc-title{font-size:84px;line-height:.95;letter-spacing:-.05em;margin-top:22px}
.acc-pills{display:flex;gap:10px;margin-top:22px;flex-wrap:wrap}
.acc-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:64px;align-items:stretch}
.stage{position:relative;min-height:680px}
.stage .frame{position:absolute;inset:0;border-radius:32px;background:#E2D6BE}
.layer{position:absolute;inset:0;opacity:0;transition:opacity .8s ease,transform 1.4s var(--ease);transform:scale(1.05)}
.layer.on{opacity:1;transform:none}
.layer img{width:100%;height:100%;object-fit:cover;display:block}
.dots{position:absolute;right:22px;top:50%;transform:translateY(-50%);z-index:3;display:flex;flex-direction:column;gap:8px}
.dots button{width:10px;height:10px;border-radius:999px;border:0;background:rgba(247,243,234,.6);padding:0;transition:height .45s ease,background .3s ease}
.dots button.on{height:30px;background:var(--cal)}
.stage-foot{position:absolute;left:22px;right:22px;bottom:22px;display:flex;align-items:flex-end;justify-content:space-between;gap:16px;z-index:3}
.stage-name{background:rgba(247,243,234,.95);border-radius:20px;padding:14px 20px 16px}
.stage-name .mono{font-size:12px;letter-spacing:.14em;color:var(--verde)}
.stage-name strong{display:block;font-family:var(--f-title);font-weight:600;font-size:22px;color:var(--vinho);letter-spacing:-.02em;margin-top:2px}
.rooms{border-top:1px solid var(--linha)}
.room{border-bottom:1px solid var(--linha)}
.rhead{width:100%;display:flex;align-items:center;gap:20px;padding:24px 0;background:none;border:0;text-align:left;color:var(--vinho)}
.ridx{width:40px;height:40px;border-radius:50%;border:1px solid rgba(78,107,43,.4);display:inline-flex;align-items:center;justify-content:center;font-family:var(--f-mono);font-size:12.5px;color:var(--verde);flex:none;transition:all .4s ease}
.room.on .ridx{background:var(--vinho);border-color:var(--vinho);color:var(--cal)}
.rgroup{display:block;font-family:var(--f-mono);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--verde)}
.rname{display:block;font-family:var(--f-title);font-weight:600;font-size:30px;letter-spacing:-.03em;line-height:1.1;margin-top:4px;color:rgba(91,30,20,.62);transition:font-size .45s ease,color .3s ease}
.rhead:hover .rname,.room.on .rname{color:var(--vinho)}
.room.on .rname{font-size:42px}
.rplus{width:42px;height:42px;border-radius:50%;border:1px solid rgba(91,30,20,.2);display:flex;align-items:center;justify-content:center;flex:none;transition:all .35s ease}
.rhead:hover .rplus{background:var(--ocre);border-color:var(--ocre)}
.vbar{transition:opacity .3s ease}
.room.on .vbar{opacity:0}
.rbody{display:grid;grid-template-rows:0fr;transition:grid-template-rows .6s var(--ease)}
.room.on .rbody{grid-template-rows:1fr}
.rbody>div{min-height:0;overflow:hidden}
.rbody-in{padding:0 0 30px 60px}
.rtag{font-family:var(--f-title);font-size:20px;line-height:1.38;color:var(--vinho-2);letter-spacing:-.015em;max-width:470px}
.rdesc{font-size:16px;line-height:1.62;color:var(--texto-2);margin-top:12px;max-width:470px}
.rspecs{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}
.rthumbs{display:flex;gap:10px;margin-top:20px}
.thumb{width:108px;height:80px;border-radius:14px;overflow:hidden;border:0;padding:0;background:#E2D6BE;transition:transform .3s ease,box-shadow .3s ease;flex:none}
.thumb:hover{transform:translateY(-3px);box-shadow:0 10px 20px -12px rgba(91,30,20,.6)}
.thumb img{width:100%;height:100%;object-fit:cover;display:block}
.thumb .phs{padding:6px;gap:4px;font-size:10.5px}
.thumb .phs .ic{width:20px;height:20px}
.ractions{display:flex;gap:22px;align-items:center;margin-top:26px;flex-wrap:wrap}
.acc-mobile{display:none}

/* Carrossel mobile */
.car{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 18px 6px;scroll-padding-left:18px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.car::-webkit-scrollbar{display:none}
.car::after{content:'';flex:0 0 6px}
.rc{flex:0 0 84%;scroll-snap-align:start;background:var(--cal);border-radius:26px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 40px -34px rgba(91,30,20,.7)}
.rc-ph{position:relative;height:280px;background:#E2D6BE}
.rc-ph img{width:100%;height:100%;object-fit:cover;display:block}
.rc-ph .chip{font-size:12.5px;padding:8px 13px}
.rc-body{padding:18px 18px 20px;display:flex;flex-direction:column;flex:1}
.rc-body h3{font-size:27px;line-height:1.05;letter-spacing:-.035em}
.rc-body p{font-size:14.5px;line-height:1.5;color:var(--texto-2);margin-top:8px}
.rc-body .rspecs{gap:6px;margin-top:14px}
.rc-body .pill{padding:7px 12px;font-size:13px}
.rc-act{margin-top:auto;padding-top:18px;display:flex;flex-direction:column;gap:12px;align-items:center}
.car-ctrl{display:flex;align-items:center;gap:14px;margin-top:18px}
.prog{height:3px;border-radius:3px;background:rgba(91,30,20,.12);overflow:hidden;flex:1}
.prog span{display:block;height:100%;background:var(--vinho);border-radius:3px;transition:width .45s var(--ease)}
.navc{width:44px;height:44px;border-radius:50%;border:1px solid rgba(91,30,20,.22);background:transparent;color:var(--vinho);display:flex;align-items:center;justify-content:center;padding:0;transition:all .25s ease}
.navc:hover{background:var(--vinho);color:var(--cal)}
.navc:disabled{opacity:.25;cursor:not-allowed;background:transparent;color:var(--vinho)}

/* Cachoeiras */
.dark{background:var(--vinho);color:var(--cal)}
.dark h2{color:var(--cal)}
.dark .eb{color:var(--ocre)}
.dark .lead{color:rgba(247,243,234,.82)}
.cach-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:44px;padding-top:28px;border-top:1px solid rgba(247,243,234,.16)}
.cach-stats b{display:block;font-family:var(--f-title);font-size:48px;font-weight:600;letter-spacing:-.03em;line-height:1}
.cach-stats b small{font-family:var(--f-mono);font-size:15px;color:var(--ocre);margin-left:6px;letter-spacing:0;font-weight:400}
.cach-stats span{display:block;font-size:14.5px;color:rgba(247,243,234,.75);margin-top:10px}
.cach-ph{position:relative;aspect-ratio:4/5;border-radius:32px;overflow:hidden;background:#6B2619;border:1px dashed rgba(247,243,234,.25)}
.water{position:absolute;inset:0;width:100%;height:100%}
.water path{fill:none;stroke:rgba(247,243,234,.22);stroke-width:2;stroke-linecap:round;stroke-dasharray:22 16;animation:flow 2.2s linear infinite}
@keyframes flow{to{stroke-dashoffset:-76}}
.cach-tag{position:absolute;left:24px;right:24px;bottom:24px;background:rgba(247,243,234,.95);color:var(--vinho);border-radius:20px;padding:18px 22px;display:flex;gap:14px;align-items:center}
.cach-tag .ic{width:26px;height:26px;color:var(--verde)}
.cach-tag small{display:block;font-family:var(--f-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--verde)}
.cach-tag strong{font-size:16px}
.cach-btn{margin-top:44px}

/* Anfitriões */
.anf-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:88px;align-items:center}
.dogs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:40px}
.dog{background:var(--cal-2);border-radius:24px;padding:26px 26px 28px;display:flex;flex-direction:column;gap:12px;transition:transform .4s ease}
.dog:hover{transform:translateY(-4px)}
.dog-ico{width:58px;height:58px;border-radius:50%;background:var(--ocre);color:var(--vinho);display:flex;align-items:center;justify-content:center;flex:none}
.dog-ico .ic{width:28px;height:28px}
.dog h3{font-size:30px;letter-spacing:-.03em;margin-top:6px}
.dog .role{font-family:var(--f-mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--verde)}
.dog p{font-size:15.5px;line-height:1.6;color:var(--texto-2)}
.dog:hover .ic,.tile:hover .ic,.am:hover .ic{animation:wig .75s ease}
@keyframes wig{0%,100%{transform:none}25%{transform:rotate(-12deg) scale(1.12)}60%{transform:rotate(8deg)}}
.petnote{display:flex;align-items:center;gap:14px;margin-top:28px;padding:16px 20px;border-radius:18px;border:1px solid var(--linha);max-width:580px;font-size:15.5px;color:var(--vinho)}
.petnote .ic{color:var(--ocre-d)}
.anf-photo{aspect-ratio:3/4}

/* Café */
.cafe-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:88px;align-items:center}
.cafe-time{display:flex;align-items:center;gap:18px;margin-top:30px}
.cafe-time .t{font-family:var(--f-mono);font-size:30px;color:var(--vinho);letter-spacing:-.02em}
.cafe-time small{display:block;font-size:14.5px;color:var(--texto-2);margin-top:4px}
.steam path{fill:none;stroke:var(--ocre);stroke-width:1.8;stroke-linecap:round;animation:steam 2.8s ease-in-out infinite;opacity:0}
@keyframes steam{0%{opacity:0;transform:translateY(6px)}40%{opacity:1}100%{opacity:0;transform:translateY(-9px)}}
.cupl{fill:none;stroke:var(--vinho);stroke-width:3;stroke-linecap:round}
.cafe-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;margin-top:36px}
.am{display:flex;align-items:center;gap:12px;font-size:15px;color:var(--texto);line-height:1.3;padding:14px 0;border-top:1px solid var(--linha)}
.am .ic{color:var(--verde);width:20px;height:20px}
.cafe-list .am:nth-last-child(-n+2){border-bottom:1px solid var(--linha)}
.cafe-photos{position:relative;padding-bottom:120px}
.cafe-photos .big{aspect-ratio:4/3;margin-left:64px}
.cafe-photos .small{position:absolute;left:0;bottom:0;width:46%;aspect-ratio:3/4;border-radius:24px;border:8px solid var(--cal-2)}

/* Estrutura */
.est-head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:72px;align-items:end}
.pano{height:500px;border-radius:32px;margin-top:56px}
.tiles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0 24px;margin-top:48px}
.tile{padding:24px 6px 26px;border-top:1px solid var(--linha);display:flex;flex-direction:column;gap:14px;transition:background .35s ease;border-radius:0 0 14px 14px}
.tile:hover{background:rgba(207,169,96,.12)}
.tile-ico{color:var(--verde)}
.tile .ic{width:28px;height:28px}
.tile b{display:block;font-weight:600;font-size:16.5px;color:var(--vinho)}
.tile small{display:block;font-size:14px;color:var(--texto-3);margin-top:4px}

/* Arredores */
.arr-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:72px;align-items:center}
.note{display:flex;gap:14px;align-items:flex-start;margin-top:30px;padding:18px 20px;background:var(--cal-2);border-radius:18px;max-width:520px;font-size:15.5px;line-height:1.55;color:var(--vinho)}
.note .ic{color:var(--verde);width:24px;height:24px;margin-top:2px}
.arr-cta{display:flex;gap:22px;align-items:center;margin-top:34px;flex-wrap:wrap}
.arr-addr{font-family:var(--f-mono);font-size:12.5px;letter-spacing:.06em;color:var(--texto-3);line-height:1.5}
.sign{position:relative;height:600px}
.post{position:absolute;left:50%;top:72px;bottom:0;width:18px;margin-left:-9px;border-radius:6px 6px 2px 2px;background:#7A4A2E;box-shadow:inset -5px 0 0 rgba(0,0,0,.12)}
.postbird{position:absolute;left:50%;top:6px;width:132px;margin-left:-58px;animation:bob 4.5s ease-in-out infinite;transform-origin:40% 90%;z-index:3}
@keyframes bob{0%,100%{transform:none}50%{transform:rotate(-3deg) translateY(-2px)}}
.plank{position:absolute;height:76px;width:340px;display:flex;flex-direction:column;justify-content:center;gap:3px;transition:translate .45s var(--ease),height .45s ease;rotate:var(--r);z-index:2}
.plank.r{left:calc(50% - 16px);clip-path:polygon(0 0,calc(100% - 34px) 0,100% 50%,calc(100% - 34px) 100%,0 100%);padding:0 50px 0 34px;transform-origin:0% 50%}
.plank.l{right:calc(50% - 16px);clip-path:polygon(34px 0,100% 0,100% 100%,34px 100%,0 50%);padding:0 34px 0 52px;text-align:right;transform-origin:100% 50%}
.plank.r:hover{translate:12px 0;height:118px;z-index:6}
.plank.l:hover{translate:-12px 0;height:118px;z-index:6}
.plank .pn{font-family:var(--f-title);font-weight:600;font-size:18px;letter-spacing:-.01em;line-height:1.15}
.plank .pd{font-family:var(--f-mono);font-size:12px;letter-spacing:.1em;opacity:.85}
.plank .ds{max-height:0;overflow:hidden;font-size:13px;line-height:1.35;opacity:0;transition:max-height .45s ease,opacity .45s ease}
.plank:hover .ds{max-height:44px;opacity:.95}
.p1{--r:-2deg;top:118px;background:var(--amarelo);color:var(--vinho)}
.p2{--r:2.5deg;top:226px;background:var(--verde);color:var(--cal)}
.p3{--r:-1.5deg;top:334px;background:var(--vinho);color:var(--cal);width:380px}
.p4{--r:2deg;top:442px;background:var(--ocre);color:var(--vinho)}

/* Avaliações */
.rev-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:20px 96px;align-items:start}
.rev-a{grid-column:1;grid-row:1}
.rev-h{grid-column:2;grid-row:1 / span 3}
.rev-b{grid-column:1;grid-row:2}
.rev-c{grid-column:1;grid-row:3}
.rev-t{grid-column:2;grid-row:2 / span 2}
.rates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:10px}
.rate{background:var(--cal);border-radius:24px;padding:26px 26px 24px}
.rate b{display:block;font-family:var(--f-title);font-size:72px;font-weight:600;letter-spacing:-.05em;line-height:1;color:var(--vinho)}
.rate b small{font-family:var(--f-mono);font-size:16px;letter-spacing:0;color:var(--texto-3);margin-left:4px;font-weight:400}
.rate strong{display:block;color:var(--vinho);margin-top:14px}
.rate .rs{display:block;font-size:14px;color:var(--texto-3);margin-top:2px}
.bars{display:flex;flex-direction:column;gap:18px;margin-top:14px}
.bar-l{display:flex;justify-content:space-between;font-size:15px;color:var(--vinho);margin-bottom:8px}
.bar{height:6px;border-radius:999px;background:rgba(91,30,20,.1);overflow:hidden}
.bar span{display:block;height:100%;width:0;border-radius:999px;background:var(--verde);transition:width 1.4s var(--ease)}
.bars-src{font-family:var(--f-mono);font-size:11.5px;letter-spacing:.1em;color:var(--texto-3);text-transform:uppercase}
.rev-h h2{margin-top:4px;font-size:56px}
.themes{margin-top:0}
.theme{display:flex;align-items:center;gap:16px;padding:18px 0;border-top:1px solid var(--linha);font-size:17px;color:var(--texto)}
.theme:last-child{border-bottom:1px solid var(--linha)}
.theme-ico{width:46px;height:46px;border-radius:50%;background:var(--cal);color:var(--verde);display:flex;align-items:center;justify-content:center;flex:none;transition:background .3s ease}
.theme:hover .theme-ico{background:var(--ocre);color:var(--vinho)}
.theme .ic{width:21px;height:21px}

/* CTA final */
.cta-sec{padding:120px 0 112px}
.cta-box{background:var(--ocre);border-radius:40px;padding:80px 80px 80px 88px;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:48px;align-items:center}
.cta-k{display:inline-flex;align-items:center;gap:10px;font-family:var(--f-mono);font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--vinho);font-weight:500;background:rgba(247,243,234,.55);border-radius:999px;padding:8px 14px}
.cta-k .dot{background:var(--vinho)}
.cta-box h2{font-size:84px;line-height:.95;letter-spacing:-.055em;margin-top:24px;color:var(--vinho-d);font-weight:700}
.cta-box p{font-size:19px;line-height:1.6;color:var(--vinho-d);margin-top:24px;max-width:500px;font-weight:500}
.cta-perks{display:flex;gap:10px 22px;flex-wrap:wrap;margin-top:22px;font-size:14.5px;color:var(--vinho-d);font-weight:500}
.cta-perks span{display:inline-flex;align-items:center;gap:8px}
.cta-perks .ic{width:18px;height:18px}
.cta-btns{display:flex;gap:14px;margin-top:36px;flex-wrap:wrap}
.cta-btns .btn-o{box-shadow:inset 0 0 0 1.5px var(--vinho);background:rgba(247,243,234,.35)}
.cta-bird{display:flex;justify-content:center;align-items:center;position:relative}
.cta-bird::before{content:'';position:absolute;width:420px;height:420px;max-width:100%;aspect-ratio:1;border-radius:50%;background:rgba(247,243,234,.28)}
.bigbird{position:relative;width:100%;max-width:440px;animation:bob 5s ease-in-out infinite;transform-origin:40% 80%;filter:drop-shadow(0 18px 24px rgba(74,20,12,.18))}

/* Rodapé */
.ftr{background:var(--vinho);color:var(--cal);padding:88px 0 32px}
.ftr a{color:var(--cal);text-decoration:none;opacity:.85;transition:opacity .25s ease}
.ftr a:hover{opacity:1}
.ftr-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:48px}
.ftr-logo{display:flex;align-items:flex-end;gap:6px}
.ftr-logo .wm{height:86px;width:auto}
.ftr-logo .bd{height:62px;width:auto}
.ftr p,.ftr-col{font-size:15px;line-height:1.65;color:rgba(247,243,234,.85)}
.ftr-k{font-family:var(--f-mono);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ocre);margin-bottom:18px}
.ftr-col a,.ftr-col span{display:block;margin-bottom:10px}
.ftr-soc{display:flex;gap:10px;margin-top:24px}
.ftr-soc a{width:46px;height:46px;border-radius:50%;background:var(--ocre);color:var(--vinho);display:flex;align-items:center;justify-content:center;opacity:1}
.ftr-bot{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:64px;padding-top:24px;border-top:1px solid rgba(247,243,234,.15);font-size:13.5px;color:rgba(247,243,234,.6);flex-wrap:wrap}
.ftr-bot a{font-weight:600}

/* Botão flutuante */
.fpill{position:fixed;left:50%;bottom:26px;z-index:60;translate:-50% 150%;opacity:0;transition:translate .55s var(--ease),opacity .4s ease;pointer-events:none;display:flex;align-items:center;gap:12px;background:var(--vinho);color:var(--cal);border:0;border-radius:999px;padding:8px 26px 8px 10px;height:62px;font-weight:600;font-size:16px;box-shadow:0 18px 40px -16px rgba(43,16,10,.7)}
.fpill.on{translate:-50% 0;opacity:1;pointer-events:auto}
.fpill .bd{width:46px;height:46px;border-radius:50%;background:var(--ocre);display:flex;align-items:center;justify-content:center;overflow:hidden;flex:none}
.fpill .bd img{width:58px;margin-left:8px;margin-top:4px}
.fpill .arr{transition:transform .3s ease}
.fpill:hover .arr{transform:translateX(4px)}

/* Modais — base */
.ov{position:fixed;inset:0;z-index:100;background:rgba(43,16,10,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:none;align-items:center;justify-content:center;padding:24px}
.ov.open{display:flex;animation:fade .35s ease}
.pnl{background:var(--cal);border-radius:30px;box-shadow:0 40px 100px -30px rgba(0,0,0,.55);position:relative;overflow:hidden;animation:rise .55s var(--ease)}
@keyframes fade{from{opacity:0}}
@keyframes rise{from{opacity:0;transform:translateY(26px) scale(.98)}}
@keyframes up{from{transform:translateY(100%)}}
.x{position:absolute;top:18px;right:18px;width:44px;height:44px;border-radius:50%;border:0;background:var(--cal-2);color:var(--vinho);display:flex;align-items:center;justify-content:center;z-index:5;transition:transform .35s ease,background .3s ease;padding:0}
.x:hover{transform:rotate(90deg);background:var(--ocre)}
.grab{display:none}
.m-k{font-family:var(--f-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--verde)}

/* Calendário */
.cal{width:860px;max-width:100%;padding:38px 44px 30px}
.cal h3{font-size:34px;letter-spacing:-.035em;margin-top:6px}
.cal-first{font-size:14.5px;color:var(--texto-3);margin-top:6px}
.cal-sum{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:22px}
.cal-sum .fld{background:var(--cal-2);display:block;padding:14px 18px}
.cal-nav{position:relative;margin-top:24px}
.cal-arrows{position:absolute;left:0;right:0;top:-2px;display:flex;justify-content:space-between;pointer-events:none;z-index:2}
.cal-arrows button{pointer-events:auto}
.cal-months{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:44px}
.cal-mt{text-align:center;font-family:var(--f-title);font-weight:600;font-size:18px;color:var(--vinho);height:38px;line-height:38px;text-transform:capitalize}
.cal-wd{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center;font-family:var(--f-mono);font-size:11px;letter-spacing:.08em;color:var(--texto-3);margin:10px 0 6px}
.cal-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));row-gap:4px}
.cd{height:44px;border:0;background:transparent;border-radius:12px;font-size:15px;color:var(--vinho);font-weight:500;position:relative;transition:background .2s ease;padding:0}
.cd:hover{background:var(--cal-2)}
.cd.off{color:rgba(91,30,20,.26);text-decoration:line-through;cursor:not-allowed;background:transparent}
.cd.in{background:#F0E1BF;border-radius:0}
.cd.st,.cd.en{background:var(--vinho);color:var(--cal)}
.cd.td::after{content:'';position:absolute;bottom:6px;left:50%;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--ocre)}
.cd.blank{visibility:hidden}
.cal-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:26px;padding-top:20px;border-top:1px solid rgba(91,30,20,.12)}
.cal-hint{display:inline-flex;align-items:center;gap:10px;font-size:15px;color:var(--vinho);font-weight:500}
.cal-hint .ic{width:18px;height:18px;color:var(--verde)}
.cal-btns{display:flex;gap:18px;align-items:center}

/* Reserva */
.res{width:1060px;max-width:100%;max-height:calc(100vh - 48px);display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1fr)}
.res-left{background:var(--cal-2);padding:36px 34px 32px;display:flex;flex-direction:column;gap:16px;overflow:auto}
.res-period{background:var(--cal);border-radius:18px;padding:16px 18px;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:12px;align-items:center}
.res-period .v{font-size:16px}
.res-meta{display:flex;justify-content:space-between;align-items:center;font-size:14.5px;color:var(--vinho)}
.opts{display:flex;flex-direction:column;gap:8px}
.opt{display:flex;align-items:center;gap:14px;padding:9px;border-radius:16px;border:1.5px solid rgba(91,30,20,.14);background:var(--cal);text-align:left;width:100%;transition:all .25s ease;color:var(--vinho)}
.opt:hover{border-color:rgba(91,30,20,.42)}
.opt.on{border-color:var(--vinho);background:#FFFAF0}
.opt:disabled{opacity:.4;cursor:not-allowed}
.opt-th{width:58px;height:46px;border-radius:10px;overflow:hidden;flex:none;background:#E2D6BE;display:flex;align-items:center;justify-content:center;color:#8A6A50}
.opt-th img{width:100%;height:100%;object-fit:cover;display:block}
.opt b{display:block;font-weight:600;font-size:15.5px}
.opt small{display:block;font-size:13px;color:var(--texto-3);margin-top:2px}
.rad{width:20px;height:20px;border-radius:50%;border:1.5px solid rgba(91,30,20,.35);margin-left:auto;margin-right:6px;flex:none;transition:all .25s ease}
.opt.on .rad{border:6px solid var(--vinho)}
.too-many{font-size:13.5px;color:var(--vinho-2);line-height:1.45}
.res-right{padding:36px 40px 32px;display:flex;flex-direction:column;overflow:auto}
.res-form{display:flex;flex-direction:column;gap:14px;height:100%}
.res-form h3{font-size:32px;letter-spacing:-.035em;margin-bottom:4px}
.res-2col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.lb{display:block;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--verde);margin-bottom:6px}
.inp{width:100%;height:50px;border-radius:14px;border:1px solid rgba(91,30,20,.2);background:#fff;padding:0 16px;font:inherit;font-size:16px;color:var(--texto);outline:none;transition:border .2s ease,box-shadow .2s ease}
.inp:focus{border-color:var(--vinho);box-shadow:0 0 0 3px rgba(207,169,96,.4)}
textarea.inp{height:76px;padding:12px 16px;resize:none}
.chk{display:flex;align-items:center;gap:10px;font-size:14.5px;color:var(--texto);cursor:pointer}
.chk input{width:18px;height:18px;accent-color:var(--vinho)}
.res-submit{margin-top:auto;padding-top:8px}
.res-note{font-size:13px;color:var(--texto-3);margin-top:12px;display:flex;gap:8px;align-items:center}
.res-note .ic{width:16px;height:16px;color:var(--verde)}
.res-ok{display:none;flex-direction:column;align-items:flex-start;justify-content:center;height:100%;gap:16px}
.res-ok img{width:150px;animation:hop .9s ease .2s}
.res-ok h3{font-size:38px;letter-spacing:-.04em;line-height:1.05}
.res-ok p{font-size:16px;line-height:1.6;color:var(--texto-2)}
.res.sent .res-form{display:none}
.res.sent .res-ok{display:flex}
.steps,.res-next,.res-back{display:none}

/* Modal da acomodação */
.rmod{width:1200px;max-width:100%;height:min(760px,calc(100vh - 48px));display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr)}
.rm-media{display:flex;flex-direction:column;min-height:0;background:#E2D6BE}
.rm-img{position:relative;flex:1;min-height:0;overflow:hidden}
.rm-img>img,.rm-img>.phs{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:fade .5s ease}
.rm-arrows{position:absolute;left:18px;right:18px;top:50%;transform:translateY(-50%);display:flex;justify-content:space-between;z-index:2}
.navbtn{width:46px;height:46px;border-radius:50%;border:0;background:rgba(247,243,234,.94);color:var(--vinho);display:flex;align-items:center;justify-content:center;transition:transform .3s ease;padding:0}
.navbtn:hover{transform:scale(1.08)}
.rm-count{left:18px;top:18px}
.rm-thumbs{display:flex;gap:10px;padding:14px 18px;background:var(--cal-2);overflow:hidden}
.th{width:98px;height:72px;border-radius:12px;overflow:hidden;padding:0;border:2px solid transparent;background:#E2D6BE;opacity:.55;transition:all .3s ease;flex:none}
.th.on{border-color:var(--vinho);opacity:1}
.th:hover{opacity:1}
.th img{width:100%;height:100%;object-fit:cover;display:block}
.th .phs{padding:4px}
.th .phs .ic{width:18px;height:18px}
.rm-info{padding:36px 40px 30px;display:flex;flex-direction:column;min-height:0;overflow:hidden}
.rm-info h3{font-size:40px;line-height:1;letter-spacing:-.04em;margin-top:10px;padding-right:50px}
.rm-sub{font-family:var(--f-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ocre-d);margin-top:8px}
.rm-tag{font-size:16px;line-height:1.5;color:var(--texto-2);margin-top:12px}
.rm-specs{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.rm-specs .pill{padding:7px 13px;font-size:13.5px}
.rm-lbl{margin-top:22px}
.rm-amen{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 18px;margin-top:12px}
.rm-amen .am{padding:0;border:0;font-size:14.5px}
.rm-diffs{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.rm-diffs div{display:flex;gap:10px;align-items:center;font-size:14.5px;color:var(--vinho)}
.rm-diffs .ic{width:17px;height:17px;color:var(--ocre-d)}
.rm-hours{display:flex;gap:18px;flex-wrap:wrap;font-family:var(--f-mono);font-size:11.5px;letter-spacing:.08em;color:var(--texto-3);margin-top:20px;padding-top:16px;border-top:1px solid rgba(91,30,20,.12)}
.rm-act{display:flex;gap:12px;margin-top:auto;padding-top:18px}
.rm-act .btn{flex:1}
.rm-act .icbtn{width:56px;height:56px}

/* Menu mobile */
.msheet{width:100%;max-width:430px;background:var(--ocre);border-radius:30px 30px 0 0;position:relative;padding:28px 22px 26px;animation:up .55s var(--ease)}
.mbird{position:absolute;width:112px;top:-60px;right:26px;animation:fly 1.1s var(--ease) .1s both}
.mclose{background:rgba(247,243,234,.6);left:18px;right:auto}
.mlinks{margin-top:56px}
.mlink{display:flex;align-items:center;gap:16px;padding:13px 2px;border-bottom:1px solid rgba(91,30,20,.18);text-decoration:none;color:var(--vinho);animation:slideIn .55s var(--ease) both}
.mlink .n{font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;opacity:.65;width:22px}
.mlink .t{font-family:var(--f-title);font-weight:600;font-size:27px;letter-spacing:-.03em;flex:1}
@keyframes slideIn{from{opacity:0;transform:translateY(16px)}}
.msoc{display:flex;gap:10px;margin-top:22px;animation:slideIn .55s var(--ease) .38s both}
.soc{display:flex;align-items:center;gap:12px;flex:1;background:var(--vinho);color:var(--cal);border-radius:20px;padding:12px 14px;text-decoration:none;font-size:13.5px;font-weight:600}
.soc .ci{width:42px;height:42px;border-radius:50%;background:var(--ocre);color:var(--vinho);display:flex;align-items:center;justify-content:center;flex:none}
.mfoot{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--vinho);opacity:.7;margin-top:18px;text-align:center}
#menu{align-items:flex-end;padding:0}

/* Revelação no scroll (apenas deslocamento, sem transparência) */
@media (prefers-reduced-motion:no-preference){
  @supports (animation-timeline:view()){
    .rv{animation:rvUp linear both;animation-timeline:view();animation-range:entry 5% cover 26%}
    .rv-img>img{animation:rvZoom linear both;animation-timeline:view();animation-range:entry 0% cover 45%}
    .gl{animation:grow linear both;animation-timeline:view();animation-range:entry 0% cover 40%}
    .galho .lf{animation:sprout linear both;animation-timeline:view();animation-range:entry 25% cover 42%}
    .plank{animation:swing linear both;animation-timeline:view();animation-range:entry 15% cover 40%}
  }
}
@keyframes rvUp{from{transform:translateY(34px)}to{transform:none}}
@keyframes rvZoom{from{scale:1.1}to{scale:1}}
@keyframes grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes sprout{from{transform:scale(0)}to{transform:scale(1)}}
@keyframes swing{from{rotate:calc(var(--r) * 9)}to{rotate:var(--r)}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none !important;transition:none !important;scroll-behavior:auto !important}}

/* Tablet */
@media (max-width:1180px){
  .wrap,.galho{padding:0 36px}
  .h1{font-size:92px}
  .hero-grid,.casa-grid,.anf-grid,.cafe-grid,.arr-grid,.g2{gap:56px}
  .acc-title{font-size:68px}
  .h2{font-size:54px}
  .tiles{grid-template-columns:repeat(3,minmax(0,1fr))}
  .cta-box{padding:64px}
  .cta-box h2{font-size:68px}
  .nav{gap:24px}
}

/* Mobile */
@media (max-width:960px){
  [id]{scroll-margin-top:72px}
  .wrap,.galho{padding:0 18px}
  .sec{padding:64px 0}
  .eb{font-size:11px;gap:9px}
  .leafs{width:34px;height:20px}
  .h2{font-size:38px;line-height:1.02;margin-top:16px}
  .lead{font-size:15.5px;line-height:1.6;margin-top:16px}
  .chip{font-size:12.5px;padding:8px 13px}
  .chip .ic{width:15px;height:15px}
  .frame{border-radius:24px}

  .hdr-in{height:68px}
  .logo .wm{height:44px}
  .logo .bd{height:32px;margin-top:-8px}
  .nav,.hdr-soc{display:none}
  .burger{display:flex}

  .hero{padding:6px 0 64px}
  .hero-grid{display:flex;flex-direction:column;gap:0;align-items:stretch}
  .hero-photo{order:-1}
  .hero-photo .frame{height:290px;border-radius:24px}
  .ring{left:auto;right:16px;top:auto;bottom:-30px;width:96px;height:96px}
  .ring-c span{font-size:8.5px}
  .ring-c strong{font-size:26px}
  .hero-photo .chip.bl{display:none}
  .hero-txt{margin-top:48px}
  .h1{font-size:70px;line-height:.92;letter-spacing:-.055em;margin-top:16px}
  .hero-sub{font-size:25px;margin-top:10px}
  .hero-p{font-size:15.5px;margin-top:16px}
  .avail{border-radius:26px;padding:24px 18px 18px;margin-top:58px}
  .avail h2{font-size:21px;margin:4px 0 16px;padding-right:110px}
  .perch{width:118px;top:-62px;right:18px}
  .fld{border-radius:16px;padding:13px 16px;gap:12px}
  .fld-period{gap:10px}
  .fld-period>svg:first-child{display:none}
  .v{font-size:16px}
  .avail-row{flex-direction:column;gap:12px}
  .guests{width:100%;justify-content:space-between;padding:9px 10px 9px 16px}
  .stp{width:40px;height:40px}
  .cta{flex:none;height:60px;border-radius:16px;width:100%}
  .perks{gap:8px 18px;font-size:13.5px;margin-top:18px}

  .galho .leafs{width:48px;height:28px}

  .casa-grid,.anf-grid,.cafe-grid,.arr-grid,.g2{display:flex;flex-direction:column;align-items:stretch;gap:0}
  .casa-txt,.anf-txt,.cafe-txt,.arr-txt,.cach-txt{display:contents}
  .o1{order:1}.o2{order:2}.o3{order:3}.o4{order:4}.o5{order:5}.o6{order:6}.o7{order:7}
  .casa-photo{aspect-ratio:auto;height:250px;margin-top:24px}
  .casa-photo img{object-position:50% 60%}
  .stats{gap:14px;margin-top:28px;padding-top:22px}
  .stat .n{font-size:36px}
  .stat .u{font-size:12px;margin-left:4px}
  .stat .l{font-size:12.5px;margin-top:8px}
  .stat .l .dot{display:none}

  .acc-head{display:block;margin-bottom:0}
  .acc-title{font-size:50px;letter-spacing:-.055em;margin-top:16px}
  .acc-head .lead{margin-top:16px}
  .acc-pills{display:none}
  .acc-grid{display:none}
  .acc-mobile{display:block;margin-top:26px}

  .cach-ph{aspect-ratio:auto;height:220px;border-radius:24px;margin-top:24px}
  .cach-tag{left:14px;right:14px;bottom:14px;padding:12px 14px;border-radius:16px}
  .cach-tag strong{font-size:14.5px}
  .cach-stats{gap:12px;margin-top:26px;padding-top:0;border-top:0}
  .cach-stats b{font-size:34px}
  .cach-stats b small{font-size:12px;margin-left:4px}
  .cach-stats span{font-size:12.5px;margin-top:6px}
  .cach-btn{margin-top:28px;width:100%}

  .anf-photo{aspect-ratio:auto;height:330px;margin-top:22px}
  .anf-photo img{object-position:50% 70%}
  .dogs{grid-template-columns:1fr;gap:10px;margin-top:14px}
  .dog{flex-direction:row;align-items:flex-start;gap:14px;padding:18px;border-radius:22px}
  .dog-ico{width:48px;height:48px}
  .dog-ico .ic{width:24px;height:24px;animation:wig2 3.2s ease-in-out infinite}
  .dog h3{font-size:22px;margin-top:0}
  .dog .role{font-size:10px;display:block;margin-top:3px}
  .dog p{font-size:14px;margin-top:6px}
  .dog-txt{display:block}
  .petnote{margin-top:14px;padding:14px 16px;font-size:14px}
  .anf-lead{display:none}

  .cafe-time{margin-top:20px;gap:14px}
  .cafe-time svg{width:52px;height:52px}
  .cafe-time .t{font-size:24px}
  .cafe-time small{font-size:13px}
  .cafe-photos{margin-top:24px;padding-bottom:70px}
  .cafe-photos .big{aspect-ratio:auto;height:230px;margin-left:0}
  .cafe-photos .small{left:auto;right:14px;width:132px;height:170px;aspect-ratio:auto;border-width:6px;border-radius:22px}
  .cafe-list{gap:0 14px;margin-top:18px}
  .cafe-list .am{font-size:13.5px;padding:12px 0}

  .est-head{display:block}
  .est-head .lead{display:none}
  .pano{height:220px;margin-top:22px;border-radius:24px}
  .tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px;margin-top:18px}
  .tile{flex-direction:row;align-items:center;gap:12px;padding:14px 0;border-radius:0}
  .tile:nth-last-child(-n+2){border-bottom:1px solid var(--linha)}
  .tile-ico{width:42px;height:42px;border-radius:14px;background:var(--cal-2);display:flex;align-items:center;justify-content:center;flex:none}
  .tile .ic{width:22px;height:22px}
  .tile b{font-size:14px;line-height:1.25}
  .tile small{display:none}

  .sign{height:470px;margin-top:18px}
  .post{left:30px;margin-left:0;top:64px;width:16px}
  .postbird{left:2px;margin-left:0;top:4px;width:110px;transform-origin:30% 90%}
  .plank,.plank.r,.plank.l,.p3{left:24px;right:0;width:auto;height:84px;text-align:left;padding:0 46px 0 26px;clip-path:polygon(0 0,calc(100% - 30px) 0,100% 50%,calc(100% - 30px) 100%,0 100%);transform-origin:0% 50%}
  .plank.r:hover,.plank.l:hover{translate:none;height:84px}
  .plank .pn{font-size:16.5px}
  .plank .pd{font-size:11px}
  .plank .ds{max-height:none;opacity:.92;font-size:12.5px}
  .p1{--r:-1.5deg;top:96px}.p2{--r:1.5deg;top:190px;right:22px}.p3{--r:-1deg;top:284px}.p4{--r:1.5deg;top:378px;right:34px}
  .note{margin-top:24px;padding:14px 16px;font-size:14px}
  .arr-cta{margin-top:16px}
  .arr-cta .btn{width:100%}
  .arr-addr{display:none}

  .rev-grid{display:flex;flex-direction:column;gap:0}
  .rev-a{order:1}.rev-h{order:2}.rev-b{order:3}.rev-c{order:4}.rev-t{order:5;margin-top:22px}
  .rev-h h2{font-size:38px;margin-top:16px}
  .rates{gap:10px;margin-top:22px}
  .rate{border-radius:20px;padding:18px 16px}
  .rate b{font-size:48px}
  .rate b small{font-size:13px}
  .rate strong{font-size:14px;margin-top:10px}
  .rate .rs{font-size:12.5px}
  .bars{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;margin-top:20px}
  .bar-l{font-size:13px;margin-bottom:6px}
  .bars-src{display:none}
  .theme{font-size:15px;padding:14px 0;gap:14px}
  .theme-ico{width:40px;height:40px}
  .theme .ic{width:19px;height:19px}

  .cta-sec{padding:0 0 56px}
  .cta-box{display:flex;flex-direction:column;align-items:stretch;gap:0;border-radius:30px;padding:32px 22px 26px}
  .cta-txt{display:contents}
  .cta-k{font-size:11px;padding:7px 12px;align-self:flex-start}
  .cta-box h2{font-size:46px;margin-top:18px}
  .cta-box p{font-size:15.5px;margin-top:14px}
  .cta-perks{display:none}
  .cta-bird{order:5;justify-content:flex-end;margin-top:4px}
  .cta-bird::before{width:180px;height:180px;right:10px;top:0}
  .bigbird{width:210px}
  .cta-btns{order:6;flex-direction:column;gap:10px;margin-top:8px}
  .cta-btns .btn{width:100%}

  .ftr{padding:52px 0 96px}
  .ftr-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}
  .ftr-brand{grid-column:1 / -1}
  .ftr-addr{grid-column:1 / -1}
  .ftr-logo .wm{height:70px}
  .ftr-logo .bd{height:50px}
  .ftr p,.ftr-col{font-size:13.5px}
  .ftr-k{font-size:10.5px;margin-bottom:8px}
  .ftr-col a,.ftr-col span{margin-bottom:4px}
  .ftr-bot{margin-top:36px;padding-top:18px;font-size:12.5px}
  .ftr-desc{display:none}

  .fpill{width:calc(100vw - 28px);max-width:420px;bottom:14px;height:60px;padding:7px 20px 7px 8px;font-size:15.5px;translate:-50% 160%}
  .fpill span.t{flex:1;text-align:left}

  /* Modais em formato de painel inferior */
  .ov{align-items:flex-end;padding:0}
  .pnl{border-radius:28px 28px 0 0;animation:up .5s var(--ease);width:100%;max-width:430px}
  .grab{display:block;width:42px;height:4px;border-radius:4px;background:rgba(91,30,20,.2);margin:10px auto 0}
  .x{top:14px;right:14px}
  .cal{padding:0 18px 20px}
  .cal-head{padding-top:18px}
  .cal h3{font-size:28px;margin-top:4px}
  .cal-first{font-size:13px;margin-top:4px}
  .cal-sum{gap:8px;margin-top:14px}
  .cal-sum .fld{padding:10px 14px}
  .cal-sum .v{font-size:14.5px}
  .cal-nav{margin-top:12px}
  .cal-arrows{top:-3px}
  .cal-months{grid-template-columns:1fr;gap:0}
  .cal-month+.cal-month{display:none}
  .cal-mt{font-size:17px}
  .cal-wd{font-size:10.5px;margin:8px 0 4px}
  .cal-days{row-gap:3px}
  .cal-foot{flex-direction:column;align-items:stretch;gap:14px;margin-top:14px;padding-top:0;border-top:0}
  .cal-hint{font-size:13.5px}
  .cal-btns{gap:10px}
  .cal-btns .lnk{display:none}
  .cal-btns .btn{flex:1;height:54px;font-size:15px}
  .cal-clear-m{display:inline-flex !important}

  .res{display:flex;flex-direction:column;max-height:94dvh;overflow:auto;padding:0 18px 22px}
  .res-left{background:transparent;padding:18px 0 0;gap:12px;overflow:visible}
  .res-right{padding:18px 0 0;overflow:visible}
  .res-left .m-k:first-of-type{display:none}
  .res-period{background:var(--cal-2);padding:12px 14px;border-radius:16px}
  .res-period .v{font-size:14px}
  .steps{display:flex;gap:6px;width:120px}
  .steps span{height:4px;flex:1;border-radius:4px;background:rgba(91,30,20,.15)}
  .steps span.on{background:var(--vinho)}
  .res-title-m{display:block !important;font-size:26px;letter-spacing:-.035em}
  .opt{padding:8px;gap:12px}
  .opt-th{width:52px;height:44px}
  .opt b{font-size:14.5px}
  .opt small{font-size:12px}
  .res-next{display:flex;width:100%;margin-top:6px}
  .res[data-step="1"] .res-right{display:none}
  .res[data-step="2"] .res-left{display:none}
  .res.sent .res-left{display:none}
  .res.sent .res-right{display:flex}
  .res-form h3{font-size:26px}
  .res-2col{grid-template-columns:1fr}
  .res-submit{display:flex;gap:10px;margin-top:4px;padding-top:0}
  .res-submit .btn{flex:1;font-size:15px}
  .res-back{display:inline-flex;flex:none !important;height:56px;padding:0 18px}
  .res-ok{padding:4px 0 6px;gap:12px}
  .res-ok img{width:130px}
  .res-ok h3{font-size:30px}
  .res-ok p{font-size:14.5px}

  #rmodal{padding:0;align-items:stretch}
  .rmod{display:flex;flex-direction:column;height:100%;height:100dvh;max-height:100dvh;border-radius:0;width:100%;max-width:430px;margin:0 auto}
  .rm-media{flex:1 1 42%;min-height:200px}
  .rm-thumbs{position:absolute;left:12px;bottom:12px;padding:0;background:transparent;gap:6px;z-index:3}
  .rm-media{position:relative}
  .th{width:50px;height:40px;border-radius:10px;border-color:rgba(247,243,234,.6);opacity:.7}
  .th.on{border-color:var(--cal)}
  .rm-arrows{left:12px;right:12px}
  .navbtn{width:42px;height:42px}
  .rm-count{left:14px;top:18px}
  .rm-info{flex:0 0 auto;padding:18px 18px 16px}
  .rm-info h3{font-size:28px;margin-top:6px}
  .rm-sub{display:none}
  .rm-tag{display:none}
  .rm-specs{gap:6px;margin-top:10px}
  .rm-specs .pill{padding:5px 10px;font-size:12px}
  .rm-specs .pill .ic{width:14px;height:14px}
  .rm-lbl{margin-top:14px;font-size:10px}
  .rm-amen{gap:8px 12px;margin-top:8px}
  .rm-amen .am{font-size:12.5px;gap:8px}
  .rm-amen .ic{width:16px;height:16px}
  .rm-diffs{gap:5px;margin-top:7px}
  .rm-diffs div{font-size:12.5px;gap:8px}
  .rm-diffs .ic{width:14px;height:14px}
  .rm-hours{justify-content:space-between;font-size:10px;letter-spacing:.06em;margin-top:12px;padding-top:10px;gap:8px}
  .rm-act{padding-top:12px;gap:10px}
  .rm-act .btn{height:54px;font-size:15px}
  .rm-act .icbtn{width:54px;height:54px}
  .rm-x{background:rgba(247,243,234,.94)}
}
@keyframes wig2{0%,70%,100%{transform:none}78%{transform:rotate(-12deg) scale(1.1)}88%{transform:rotate(8deg)}}
@media (min-width:961px){
  .m-only{display:none !important}
}
@media (max-width:960px){
  .d-only{display:none !important}
}

/* Complementos */
.chip.tr{right:20px;top:20px}
.dog-txt{display:flex;flex-direction:column;gap:10px}
.rm-pic{position:absolute;inset:0}
.rm-pic img,.rm-pic .phs{width:100%;height:100%;object-fit:cover;display:block;animation:fade .5s ease}
.rm-count{position:absolute}
.res-submit .btn-v{width:100%;height:60px}
@media (max-width:960px){
  .chip.tr{left:12px;right:auto;top:12px}
  .dog-txt{display:block}
  .res-submit .btn-v{width:auto;height:56px}
}
.ov>.pnl,.ov>.msheet{min-width:0}
@media (max-width:960px){.cal-btns .btn{min-width:0}}
@media (max-width:960px){
  .fpill{left:14px;right:14px;width:auto;max-width:none;translate:0 160%}
  .fpill.on{translate:0 0}
}
main,.hero,.ftr{overflow-x:clip}
@media (min-width:961px){
  .rev-h{grid-row:1}
  .rev-t{grid-row:2 / span 2}
  .rev-h h2{margin-top:-6px}
}
.ftr-col a{overflow-wrap:anywhere}
@media (max-width:960px){
  .plank{animation-range:entry 0% cover 24% !important}
}
.bar-l{gap:8px}
@media (min-width:961px){.cach-grid{gap:96px}}
@media (max-width:960px){.acc-head>div+div{margin-top:16px}}
