:root{--papel:#f7f2ec;--rosado:#f0e5df;--vinho:#4b1021;--vinho-hover:#6a1d33;--vinho-profundo:#360a16;--vinho-noite:#280912;--tinta:#302027;--tinta-suave:#65525a;--bronze:#765b2f;--bronze-fio:#b6985d;--ouro-claro:#ecd59e;--rosado-claro:#f0dfe2;--fio:#e0d3cf;--fio-rosado:#d9c5c8;--c-foco:#6a1d33}
[hidden]{display:none!important}
.palco__reserva{display:block;opacity:1;transition:opacity .5s ease}
.palco.has-rendered .palco__reserva{opacity:0;pointer-events:none}
.palco.sem-webgl .palco__reserva{opacity:1}
.sobretitulo{font-size:.7rem;font-weight:700;letter-spacing:.2em;line-height:1.5;color:var(--bronze);margin-bottom:1.2rem;text-transform:uppercase}
.hero__texto>.sobretitulo{margin-bottom:1.7rem}
.hero__titulo{font-size:clamp(3.1rem,1.4rem + 6vw,6.3rem);line-height:1.02}
.hero__lead{max-width:36ch}
.hero__experiencia{max-width:45ch;margin-top:1.6rem;padding:.15rem 0 .15rem 1.1rem;border-left:2px solid var(--bronze-fio);font-size:clamp(.95rem,.9rem + .15vw,1.05rem);line-height:1.65;color:var(--vinho)}
.hero__experiencia strong{font-weight:700}
.hero__experiencia+.hero__lead{margin-top:1.35rem}
.hero__img img{object-position:50% 32%;--escala:1.03}
.is-pronto .hero__img img{--escala:1.015}
.js .quem__foto.is-in .recorte img,.js .como__foto.is-in .recorte img{--escala:1.03}
.hero__social{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--vinho);line-height:1.25;font-size:.9rem;transition:color .2s}
.hero__social strong{font-weight:700}
.hero__social .ico{width:26px;height:26px}
.hero__social:hover{color:var(--bronze)}
.hero__fone{font-size:.9rem}
.topo__in{min-height:100px}
.marca__logo{width:132px;height:88px;object-fit:contain;filter:brightness(.69) saturate(.85)}
.topo__nav{margin-left:auto;gap:1.55rem}
.topo__nav a{font-size:.95rem}
.intro__logo{width:min(360px,68vw);height:auto}
.intro__area{font-size:.65rem;letter-spacing:.2em}
.intro__fio{width:6rem;animation-duration:1.05s}
.menu-toggle{display:none;border:1px solid var(--fio-rosado);background:transparent;border-radius:50%;height:42px;width:42px;color:var(--vinho);flex:none;cursor:pointer;padding:12px}
.menu-toggle span{display:block;height:1px;background:currentColor;margin:5px 0;transition:transform .2s}
.menu-open .menu-toggle span:first-child{transform:translateY(3px) rotate(45deg)}
.menu-open .menu-toggle span:last-child{transform:translateY(-3px) rotate(-45deg)}
.painel .sobretitulo,.docs .sobretitulo{color:var(--ouro-claro)}
.situacoes__sub{max-width:32ch}
.sit__frase{font-size:clamp(1.7rem,1.3rem + 1vw,2.2rem)}
.sit__beneficio{max-width:46ch}
.quem__foto .recorte{aspect-ratio:1/1.12}
.quem__foto .recorte img{object-position:62% 48%;--escala:1.03}
.como__foto .recorte img{object-position:50% 33%;--escala:1.02}
.quem__cta{display:inline-flex;align-items:center;gap:1rem;margin-top:2rem;font-weight:700;color:var(--vinho)}
.quem__cta .ico{width:22px;height:22px}
.contato__foto img{object-position:65% 36%}
.contato__dados a{overflow-wrap:anywhere}
.instagram-section,.reviews-section,.location{padding-block:var(--secao)}
.instagram-section{background:var(--papel)}
.social-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:2.5rem;margin-bottom:3rem}
.social-heading .titulo-2{max-width:14ch}
.instagram-profile{display:flex;align-items:center;gap:1rem;color:var(--vinho);text-decoration:none;padding:1.25rem 1.5rem;border:1px solid var(--bronze-fio);background:#bf9f6e08;transition:background .25s}
.instagram-profile:hover{background:#bf9f6e20}
.instagram-profile small{display:block;font-size:.6rem;letter-spacing:.15em;color:var(--tinta-suave);margin-bottom:.35rem}
.instagram-profile span{font-size:1rem}
.instagram-profile>.ico:last-child{width:20px;height:20px}
.posts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}
.post{display:block;min-width:0;text-decoration:none;color:var(--vinho)}
.post__image{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--vinho-noite);border-radius:var(--raio-foto)}
.post__image>img{width:100%;height:100%;object-fit:contain;transition:transform .8s var(--ease-expo)}
.post:hover .post__image>img{transform:scale(1.025)}
.post__badge{position:absolute;top:12px;left:12px;display:flex;align-items:center;gap:6px;background:#280912d9;color:#f7f2ec;border:1px solid #ecd59e50;padding:5px 8px;font-size:9px;letter-spacing:.1em;border-radius:3px}
.post__badge .ico{height:13px;width:13px}
.post__arrow{position:absolute;right:14px;bottom:14px;background:var(--papel);color:var(--vinho);height:36px;width:36px;display:grid;place-items:center;border-radius:50%;font-size:24px}
.post>small{display:block;color:var(--bronze);font-size:.62rem;letter-spacing:.12em;margin:1.4rem 0 .7rem}
.post h3{font-family:var(--f-titulo);font-weight:400;font-size:1.8rem;line-height:1.25;max-width:22ch}
.post__link{display:flex;align-items:center;gap:.7rem;font-size:.9rem;margin-top:1rem}
.post__link .ico{width:20px;height:20px}
.social-bottom{border-top:1px solid var(--fio);padding-top:1.6rem;margin-top:2.5rem;display:flex;justify-content:space-between;gap:1.5rem;font-size:.9rem;color:var(--tinta-suave)}
.social-bottom a{color:var(--vinho);flex:none}
.location{background:var(--rosado)}
.location__grid{display:grid;grid-template-columns:1fr 1.1fr;gap:6rem;align-items:center}
.location__intro{font-size:1.1rem;line-height:1.7;margin-block:1.6rem;max-width:42ch}
.location__photo{max-width:300px;margin-bottom:1.7rem}
.location__photo .recorte{aspect-ratio:1.4;overflow:hidden;border-radius:4px;position:relative}
.location__photo img{width:100%;height:100%;object-fit:cover;object-position:center 42%;transform:none}
.location .botao{font-size:.95rem}
.location__map{position:relative;min-width:0;height:630px;box-shadow:0 12px 45px #28091212;border:1px solid var(--bronze-fio);padding:10px;background:var(--papel);border-radius:6px}
.location__map iframe{width:100%;height:100%;display:block;border:0;filter:saturate(.55)}
.location__map>a{position:absolute;left:26px;right:26px;bottom:26px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--vinho);color:var(--papel);padding:14px 20px;border-radius:3px;text-decoration:none;font-size:.95rem}
.location__map>a span{font-size:23px}
.footer-logo{display:block;flex:none}
.footer-logo img{width:190px;height:130px;object-fit:contain}
.rodape__topo{grid-template-columns:auto 1fr 1fr;gap:3rem;align-items:center}
.rodape__nav{padding:0}
.reviews-section{background:var(--rosado)}
.review-track{display:flex;gap:1.4rem;overflow:auto;scroll-snap-type:x mandatory;padding-bottom:1rem}
.review-card{flex:0 0 340px;background:var(--papel);border:1px solid var(--fio-rosado);border-radius:7px;padding:26px;scroll-snap-align:start}
.review-author{display:flex;gap:12px;align-items:center}
.review-avatar{height:40px;width:40px;background:var(--vinho);color:var(--ouro-claro);border-radius:50%;display:grid;place-items:center;font-size:18px}
.review-author strong{font-size:1rem}
.review-stars{color:#9c6d14;letter-spacing:3px;margin-top:18px;font-size:1.15rem}
.review-card blockquote{font-size:1rem;line-height:1.65;margin:16px 0}
.review-source{font-size:.8rem;display:flex;align-items:center;gap:7px;color:var(--tinta-suave)}
.review-source::before{content:'G';font:700 19px Arial;color:#4285f4}
.review-controls{display:flex;gap:10px}
.review-controls button{width:44px;height:44px;border-radius:50%;background:transparent;border:1px solid var(--bronze-fio);color:var(--vinho);cursor:pointer}
@media(min-width:900px){.hero__foto{margin-top:1rem}.hero__grade{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}}
@media(max-width:1099px){.menu-toggle{display:block}.topo__nav{display:none;position:absolute;top:100%;left:var(--gutter);right:var(--gutter);background:var(--papel);box-shadow:0 20px 30px #28091220;border:1px solid var(--fio-rosado);padding:1rem 1.5rem;z-index:10;flex-direction:column;align-items:stretch;gap:0}.topo__nav a{padding:.8rem 0;border-bottom:1px solid var(--fio);font-size:1rem}.topo__nav a:last-child{border:0}.menu-open .topo__nav{display:flex}.topo__wa{margin-left:auto}.topo__in{gap:18px}.location__grid{gap:3rem}.instagram-profile{padding:1rem}.instagram-profile span{font-size:.85rem}.rodape__topo{grid-template-columns:1fr 1fr}.footer-logo{grid-column:1/-1}.posts{gap:1.3rem}.post h3{font-size:1.5rem}.location__map{height:570px}}
@media(max-width:899px){.hero__titulo{font-size:clamp(3.6rem,1.4rem + 7vw,5.5rem);max-width:11ch}.hero__lead{max-width:40ch}.hero__foto{max-width:550px;width:100%;margin-inline:auto}.hero__img{aspect-ratio:4/5}.hero__painel{top:8%}.social-heading{align-items:flex-start;flex-direction:column;gap:1.5rem}.social-heading .titulo-2{max-width:16ch}.instagram-profile span{font-size:1rem}.location__grid{grid-template-columns:1fr;gap:2.5rem}.location__photo{max-width:360px}.location__intro{max-width:50ch}.location__map{height:470px}.posts{gap:1rem}.post h3{font-size:1.35rem}.post>small{font-size:.55rem}}
@media(max-width:600px){.topo__in{min-height:84px;gap:10px}.marca__logo{width:112px;height:74px}.topo__wa{font-size:.85rem;padding:.7rem .9rem;gap:.45rem}.topo__wa .ico{width:19px;height:19px}.menu-toggle{height:36px;width:36px;padding:9px}.hero{--hero-topo:2.6rem;--hero-base:4rem}.hero__titulo{font-size:clamp(3rem,13vw,4.3rem);max-width:11ch;line-height:1.05}.hero__texto>.sobretitulo{font-size:.6rem;margin-bottom:1.3rem}.hero__lead{margin-top:1.7rem;font-size:1.125rem}.hero__acao{margin-top:1.9rem}.hero__acao .contatos{display:flex;align-items:center;flex-wrap:wrap;gap:1.2rem}.hero__acao .contato-wa{width:auto;padding:.8rem 1.2rem}.hero__social{font-size:.8rem}.hero__social .ico{width:22px;height:22px}.hero__fone{font-size:.8rem}.hero__grade{gap:2.8rem}.hero__foto figcaption{font-size:.8rem}.posts{grid-template-columns:1fr;gap:2.5rem;max-width:430px;margin-inline:auto}.post__image{aspect-ratio:4/5}.post h3{font-size:1.8rem}.post>small{font-size:.65rem}.post__link{font-size:.95rem}.social-bottom{flex-direction:column;gap:.8rem}.instagram-profile{padding:.9rem 1rem;gap:.7rem;width:100%}.instagram-profile span{font-size:.9rem}.instagram-profile small{font-size:.52rem}.instagram-profile>.ico:last-child{margin-left:auto}.location__intro{font-size:1rem}.location__photo{max-width:100%}.location__map{height:430px}.location__map>a{left:22px;right:22px;bottom:22px;font-size:.85rem}.location .botao{font-size:.85rem;padding:1rem 1.2rem}.rodape__topo{grid-template-columns:1fr;gap:2rem}.footer-logo{grid-column:auto}.footer-logo img{width:180px;height:120px}.review-card{flex-basis:280px}.review-controls{display:none}.quem__foto .recorte{aspect-ratio:1}.contato__dados dd{font-size:1rem}.wa-barra__op{font-size:1rem}.wa-barra__op small{font-size:.7rem}}
@media(max-width:359px){.marca__logo{width:92px;height:62px}.topo__wa{font-size:.76rem;padding:.65rem .8rem}.menu-toggle{width:32px;height:32px;padding:7px}.topo__in{gap:7px}.hero__titulo{font-size:2.9rem}.hero__acao .contatos{display:grid;width:100%}.hero__acao .contato-wa{width:100%}.hero__social{justify-content:center}.instagram-profile span{font-size:.78rem}.instagram-profile small{font-size:.48rem}}
@media(prefers-reduced-motion:reduce){.post__image>img,.menu-toggle span{transition:none}}

/* Atualização de retratos e apresentação de avaliações, sem armazenamento. */
.hero__img img{object-position:50% 28%}
.como__foto .recorte img{object-position:50% 30%}
.quem__foto .recorte img{object-position:50% 32%}
.contato__foto img{object-position:50% 34%}
.location__photo img{object-position:50% 34%}
.review-track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem;overflow:visible;padding:0;scroll-snap-type:none}
.review-card{min-width:0;display:flex;flex-direction:column;padding:28px}
.review-author small{display:block;font-size:.75rem;color:var(--tinta-suave);margin-top:2px;line-height:1.5}
.review-avatar{flex:none;font-size:.78rem;font-weight:700}
.review-stars{margin-top:24px}
.review-card blockquote{flex:1;margin-bottom:26px}
.reviews-intro{font-size:1rem;color:var(--tinta-suave);max-width:33ch;line-height:1.75}
@media(max-width:899px){.review-track{gap:1rem}.review-card{padding:21px}.review-card blockquote{font-size:.95rem}.review-author strong{font-size:.95rem}}
@media(max-width:700px){.review-track{grid-template-columns:1fr}.review-card{padding:26px}.review-card blockquote{font-size:1rem}.review-author strong{font-size:1rem}.reviews-intro{max-width:43ch}}
