/* ═══════════════════════════════════════════════════════════════════════════════
   CASA RAVACHE · tema filho (Hello Elementor) · camada de design 1:1 do estático v4
   Este arquivo "veste" os widgets NATIVOS do Elementor com o design system oficial.
   • Cada seção/elemento recebe uma CLASSE (Avançado › Classes CSS) — ex.: btn, eyebrow, display.
   • Cores e fontes vêm de Elementor › Configurações do site › Cores/Fontes globais (rv*).
   • O que você mudar no painel Estilo do Elementor tem prioridade sobre este arquivo.
   ═══════════════════════════════════════════════════════════════════════════════ */

/* ── tokens (ligados às Cores/Fontes Globais do Elementor) ───────────────────── */
:root{color-scheme:dark}

body.rv{--navy-950:var(--e-global-color-rvn950,#081426); --navy-900:var(--e-global-color-rvn900,#0c1e3a); --navy-700:var(--e-global-color-rvn700,#223759); --navy-500:var(--e-global-color-rvn500,#3a5378); --navy-100:var(--e-global-color-rvn100,#dde3ec);
  --gold-100:var(--e-global-color-rvg100,#f3ead3); --gold-400:var(--e-global-color-rvg400,#dabf74); --gold-500:var(--e-global-color-rvg500,#ceac52); --gold-600:var(--e-global-color-rvg600,#b8963f); --gold-700:var(--e-global-color-rvg700,#7d6427);
  --cream-50:var(--e-global-color-rvc50,#f7f5ef); --cream-100:var(--e-global-color-rvc100,#f0ecdf); --ink:var(--e-global-color-rvink,#1d1d1b); --gray-500:var(--e-global-color-rvgr500,#6b6b67); --gray-300:var(--e-global-color-rvgr300,#c9c9c4); --brown-500:var(--e-global-color-rvbr500,#936b4d);
  --font-display:var(--e-global-typography-rvdisplay-font-family,"Cormorant Garamond"),"Iowan Old Style",Georgia,serif;
  --font-text:var(--e-global-typography-rvtexto-font-family,"Manrope"),"Helvetica Neue",Arial,sans-serif;
  --ease:cubic-bezier(.22,.61,.36,1); --dur:.32s; --dur-reveal:.7s;
  --container:1240px; --gutter:24px; --topo:72px;
  --hair:1px solid rgba(206,172,82,.32); --hair-ink:1px solid rgba(29,29,27,.14);
  --moldura:url("../img/moldura-borda.webp");
  --orn:url("../img/ornamento-flordelis.png");
  --padrao:url("../img/padrao-flordelis-tile.webp")}

@media (min-width:992px){body.rv{--topo:110px}}

/* ── base ─────────────────────────────────────────────────────────────────────── */
.rv *,.rv *::before,.rv *::after{box-sizing:border-box}

html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}

body.rv{margin:0;background:var(--navy-900);color:var(--cream-50);font-family:var(--font-text);font-size:1rem;line-height:1.6;font-weight:400;overflow-x:clip}

/* recorte horizontal no conteúdo (no estático era o <main>) */
body.rv [data-elementor-type="wp-page"],body.rv .elementor-location-footer{overflow-x:clip}

body.rv img{max-width:100%;height:auto;display:block}

.rv a{color:inherit}

.rv button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}

/* o título do widget Título herda a tipografia da classe aplicada no widget */
body.rv :where(.elementor-heading-title){font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;line-height:inherit;margin:0;padding:0}

body.rv :is(h1,h2,h3,h4){font-family:var(--font-display);font-weight:600;line-height:1.12;margin:0;text-wrap:balance;letter-spacing:-.01em}

body.rv p{margin:0}

.rv :focus-visible{outline:2px solid var(--gold-500);outline-offset:3px;border-radius:3px}

.rv ::selection{background:var(--gold-500);color:var(--navy-950)}

.rv .is-oculto{display:none!important}

/* ── neutraliza espaçamentos padrão do Elementor (o layout vem das classes abaixo) ── */
body.rv .e-con{--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;--widgets-spacing:0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px}

body.rv .elementor-widget:not(:last-child){--kit-widget-spacing:0px}

body.rv .elementor-widget-button{line-height:0}

/* o Elementor zera min-width de containers/widgets; o estático usa o padrão do navegador (auto) */
body.rv .e-con,body.rv .e-con .elementor-widget{min-width:auto}

body.rv .elementor-widget-image{text-align:left}

body.rv .elementor-widget-image img{display:block;vertical-align:top}

/* containers que no estático são blocos simples (margens colapsam como no original) */
.rv :is(.secao,.container,.col-md-6,.col-lg-5,.col-lg-6,.col-lg-7,.quadro,.mapa,.modal,.taps-wrap,.rodape,.ornamento,.hero__slide,.tap__bolacha,.tap__alavanca,.tap__cor){display:block}

/* ── grid (subconjunto Bootstrap, aplicado em Containers) ─────────────────────── */
.rv .container{max-width:var(--container)}
.rv .container{--width:100%;--margin-left:auto;--margin-right:auto;--padding-left:clamp(16px,4vw,40px);--padding-right:clamp(16px,4vw,40px)}

.rv .row{display:flex;flex-direction:row;flex-wrap:wrap}
.rv .row{--width:auto;--margin-left:calc(var(--gutter) / -2);--margin-right:calc(var(--gutter) / -2)}

body.rv .row>*{min-width:0}
body.rv .row>*{--width:100%;--padding-left:calc(var(--gutter) / 2);--padding-right:calc(var(--gutter) / 2)}

.rv .g-5{--row-gap:3rem;--column-gap:0}
.rv .g-4{--row-gap:2rem;--column-gap:0}
.rv .g-3{--row-gap:1.5rem;--column-gap:0}

.rv .align-items-center{align-items:center}
.rv .align-items-end{align-items:flex-end}

@media (min-width:768px){body.rv .col-md-6{--width:50%}}

@media (min-width:992px){body.rv .col-lg-5{--width:41.6667%}
body.rv .col-lg-6{--width:50%}
body.rv .col-lg-7{--width:58.3333%}
html body.rv .col-lg-5:where(body.rv .col-lg-5.offset-lg-1){--margin-left:8.3333%}}

/* ── tipografia ───────────────────────────────────────────────────────────────── */
.rv .eyebrow{font:600 .72rem/1.2 var(--font-text);letter-spacing:.18em;text-transform:uppercase;color:var(--gold-500);display:inline-flex;align-items:center;gap:.75rem}

.rv .eyebrow::before{content:"";width:22px;height:1px;background:var(--gold-500);flex:none}

.rv .papel .eyebrow{color:var(--gold-700)}
.rv .papel .eyebrow::before{background:var(--gold-700)}

.rv .display{font-size:clamp(2.3rem,5vw,4.2rem)}

.rv .display-xl{font-size:clamp(2.8rem,7.2vw,6.4rem)}

.rv .display-xl .elementor-heading-title{line-height:.96}

.rv .lead{font-size:clamp(1.02rem,1.25vw,1.2rem);line-height:1.6;color:var(--navy-100)}

.rv .lead p{max-width:44ch}

.rv .papel .lead{color:#4a4a46}

.rv em.ouro{font-style:italic;color:var(--gold-400)}

.rv .papel em.ouro{color:var(--gold-700)}

.rv .tabular{font-variant-numeric:tabular-nums}

/* ── superfícies ──────────────────────────────────────────────────────────────── */
.rv .secao{position:relative}
.rv .secao{--padding-top:clamp(4.5rem,9vw,8rem);--padding-bottom:clamp(4.5rem,9vw,8rem)}

.rv .noite{background:var(--navy-900);color:var(--cream-50)}

.rv .noite-2{background:var(--navy-950);color:var(--cream-50)}

.rv .papel{background:var(--cream-50);color:var(--ink);color-scheme:light}

.rv .papel-2{background:var(--cream-100);color:var(--ink);color-scheme:light}

.rv .costura{border-top:var(--hair)}

.rv .papel.costura{border-top:var(--hair-ink)}

.rv .padrao::before{content:"";position:absolute;inset:0;width:auto;height:auto;border:0;border-radius:0;opacity:.16;background:var(--padrao) center/522px 174px repeat;pointer-events:none;mix-blend-mode:normal;
  -webkit-mask-image:radial-gradient(120% 90% at 50% 40%,#000 20%,transparent 78%);mask-image:radial-gradient(120% 90% at 50% 40%,#000 20%,transparent 78%)}

.rv .secao>.container{position:relative}

.rv .cabecalho{display:grid}
.rv .cabecalho{--gap:1.1rem;--row-gap:1.1rem;--column-gap:1.1rem;--margin-bottom:clamp(2rem,4vw,3.5rem)}

html body.rv .cabecalho:where(.rv .cabecalho.cabecalho--sem-margem){--margin-bottom:0}

.rv .cabecalho .lead{margin-top:.2rem}

/* ── botões (widget Botão + classe btn / btn--ghost / btn--navy / btn--wa) ───── */
.rv .btn{--bg:var(--gold-500);--fg:var(--navy-950)}

.rv .btn .elementor-button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:50px;padding:.85rem 1.45rem;border-radius:6px;background:var(--bg);color:var(--fg);fill:currentColor;font:600 .9rem/1 var(--font-text);letter-spacing:.02em;text-decoration:none;text-align:center;border:1px solid transparent;transition:transform .18s var(--ease),background var(--dur) var(--ease),color var(--dur) var(--ease),border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease);will-change:transform;-webkit-tap-highlight-color:transparent}

.rv .btn .elementor-button:hover,.rv .btn .elementor-button:focus,.rv .btn .elementor-button:visited{color:var(--fg)}

.rv .btn .elementor-button:hover{--bg:var(--gold-600);box-shadow:0 8px 20px rgba(8,20,38,.28)}

.rv .btn .elementor-button:active{transform:translateY(1px) scale(.985);box-shadow:none}

.rv .btn .elementor-button-content-wrapper{gap:.6rem;align-items:center}

.rv .btn .elementor-button-icon{display:flex}

.rv .btn .elementor-button-icon svg{width:18px;height:18px;flex:none;transition:transform .25s var(--ease)}

.rv .btn--seta .elementor-button:hover .elementor-button-icon svg{transform:translateX(3px)}

.rv .btn--ghost{--bg:transparent;--fg:var(--cream-50)}

.rv .btn--ghost .elementor-button{border-color:rgba(247,245,239,.35)}

.rv .btn--ghost .elementor-button:hover{--bg:rgba(247,245,239,.08);border-color:var(--gold-500);box-shadow:none}

.rv .papel .btn--ghost{--fg:var(--ink)}

.rv .papel .btn--ghost .elementor-button{border-color:rgba(29,29,27,.28)}

.rv .papel .btn--ghost .elementor-button:hover{--bg:rgba(29,29,27,.05);border-color:var(--gold-600)}

.rv .btn--navy{--bg:var(--navy-900);--fg:var(--cream-50)}

.rv .btn--navy .elementor-button:hover{--bg:var(--navy-950)}

.rv .btn--wa{--bg:#1f8f4e;--fg:#fff}

.rv .btn--wa .elementor-button:hover{--bg:#17773f}

/* link com sublinhado animado (widget Botão + classe link) */
.rv .link .elementor-button{display:inline-flex;align-items:center;gap:.5rem;padding:0;border:0;border-radius:0;min-height:0;font:600 1rem/1.6 var(--font-text);letter-spacing:0;text-decoration:none;color:var(--gold-400);fill:currentColor;background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .35s var(--ease),color var(--dur)}

.rv .link .elementor-button:hover,.rv .link .elementor-button:focus,.rv .link .elementor-button:visited{color:var(--gold-400)}

.rv .link .elementor-button:hover{background-size:100% 1px}

.rv .link .elementor-button-content-wrapper{gap:.5rem;align-items:center}

.rv .link .elementor-button-icon svg{width:16px;height:16px;transition:transform .25s var(--ease)}

.rv .link .elementor-button:hover .elementor-button-icon svg{transform:translate(2px,-2px)}

.rv .papel .link .elementor-button{color:var(--navy-700)}

/* ── cabeçalho ────────────────────────────────────────────────────────────────── */
.rv .topo{position:fixed;inset:0 0 auto 0;z-index:60;display:flex;flex-direction:column;flex-wrap:nowrap;background:var(--cream-50);border-bottom:1px solid rgba(29,29,27,.1);transition:transform .35s var(--ease),box-shadow var(--dur) var(--ease)}
.rv .topo{--width:auto;--padding-top:env(safe-area-inset-top,0px)}

.rv.admin-bar .topo{top:32px}

@media (max-width:782px){.rv.admin-bar .topo{top:46px}}

.rv .topo.solido{box-shadow:0 6px 20px rgba(8,20,38,.12)}

.rv .topo__cima{display:none;border-bottom:1px solid rgba(29,29,27,.08);overflow:hidden;max-height:44px;transition:max-height .35s var(--ease),opacity .25s var(--ease),border-color .25s}

.rv .topo.solido .topo__cima{max-height:0;opacity:0;border-bottom-color:transparent}

.rv .topo__cima-in{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:space-between}
.rv .topo__cima-in{--gap:1.5rem;--row-gap:1.5rem;--column-gap:1.5rem;--padding-top:.55rem;--padding-bottom:.55rem}

.rv .topo__contato{font:600 .7rem/1 var(--font-text);letter-spacing:.03em}

.rv .topo__contato .elementor-icon-list-items.elementor-inline-items{display:flex;flex-wrap:nowrap;align-items:center;gap:1.5rem;margin:0}

.rv .topo__contato .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin:0;padding:0}

.rv .topo__contato .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item::after{display:none}

.rv .topo__contato .elementor-icon-list-item a{display:inline-flex;align-items:center;gap:.45rem;width:auto;text-decoration:none;color:var(--navy-700);opacity:.9;transition:opacity var(--dur),color var(--dur)}

.rv .topo__contato .elementor-icon-list-item a:hover{opacity:1;color:var(--gold-600)}

.rv .topo__contato .elementor-icon-list-item .elementor-icon-list-icon+.elementor-icon-list-text{padding:0}

.rv .topo__contato.elementor-widget.elementor-widget-icon-list .elementor-icon-list-icon svg{width:14px;height:14px;margin:0;fill:var(--gold-600);flex:none}

.rv .topo__contato .elementor-icon-list-icon{inset:auto}

.rv .topo__social{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center}
.rv .topo__social{--gap:1.1rem;--row-gap:1.1rem;--column-gap:1.1rem;--width:auto}

.rv .topo__social .elementor-icon-wrapper{line-height:1.6;font-size:1rem;text-align:left}

.rv .topo__social .elementor-icon{display:block;font-size:1rem;line-height:1.6;color:var(--navy-700);fill:currentColor;opacity:.85;transition:opacity var(--dur),color var(--dur)}

.rv .topo__social .elementor-icon:hover{opacity:1;color:var(--gold-600)}

.rv .topo__social .elementor-icon svg{display:inline;width:15px;height:15px;vertical-align:baseline}

@media (min-width:992px){.rv .topo__cima{display:block}}

.rv .topo__baixo{display:flex;flex-direction:row;align-items:center}
.rv .topo__baixo{--height:72px}

.rv .topo__baixo-in{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:space-between}
.rv .topo__baixo-in{--gap:1rem;--row-gap:1rem;--column-gap:1rem}

.rv .marca{display:flex;flex-direction:row;align-items:center;flex:none}
.rv .marca{--width:auto}

.rv .marca img{width:104px;display:block;opacity:.96}

/* (0,3,1): vence a regra do Nav Menu do Pro, .elementor-widget-nav-menu:not(:has(...)):not(...) {display:flex} */
body.rv .elementor-widget.nav{display:none}

.rv .nav .elementor-nav-menu--main{display:block}

.rv .nav .elementor-nav-menu--main .elementor-nav-menu{display:flex;flex-wrap:nowrap;gap:calc(var(--e-nav-menu-horizontal-menu-item-margin,calc(clamp(1rem,2vw,2rem) / 2)) * 2);align-items:center;margin:0;padding:0}

.rv .nav .elementor-nav-menu--main .elementor-nav-menu::after{display:none}

.rv .nav .elementor-nav-menu--main .elementor-nav-menu>li{display:block;margin:0;padding:0}

.rv .nav .elementor-nav-menu--main .elementor-nav-menu a{position:relative;display:block;text-decoration:none;font:600 .87rem/1 var(--font-text);letter-spacing:.02em;padding:.6rem 0;margin:0;color:var(--ink);opacity:.85;white-space:nowrap;background:none;transition:opacity var(--dur),color var(--dur)}

.rv .nav .elementor-nav-menu--main .elementor-nav-menu a::after{content:"";display:block;position:absolute;left:0;right:0;bottom:.15rem;height:1px;width:auto;background:var(--gold-500);opacity:1;transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}

.rv .nav .elementor-nav-menu--main .elementor-nav-menu a::before{display:none}

.rv .nav .elementor-nav-menu--main .elementor-nav-menu a:hover::after,.rv .nav .elementor-nav-menu--main .elementor-nav-menu a[aria-current="page"]::after{transform:scaleX(1)}

.rv .nav .elementor-nav-menu--main .elementor-nav-menu a[aria-current="page"]{opacity:1}

/* O Pro marca o item da seção visível (aria-current="location") e apaga o ::after/::before dos demais: o estático não faz isso. */
body.rv .nav .elementor-nav-menu--main .elementor-nav-menu a.elementor-item::after,body.rv .gaveta__nav .elementor-nav-menu--main .elementor-nav-menu a.elementor-item::before{opacity:1}

.rv .nav .elementor-nav-menu--dropdown,.rv .nav .elementor-menu-toggle,.rv .gaveta__nav .elementor-nav-menu--dropdown,.rv .gaveta__nav .elementor-menu-toggle{display:none}

.rv .topo__acoes{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center}
.rv .topo__acoes{--gap:.9rem;--row-gap:.9rem;--column-gap:.9rem;--width:auto}

.rv .status{display:none;align-items:center;gap:.55rem;font:600 .72rem/1 var(--font-text);letter-spacing:.08em;text-transform:uppercase;color:var(--navy-700);white-space:nowrap}

.rv .status::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--gold-500);flex:none}

.rv .status.aberto::before{animation:pulso 2.4s ease-out infinite}

@keyframes pulso{0%{box-shadow:0 0 0 0 rgba(206,172,82,.55)}70%{box-shadow:0 0 0 9px rgba(206,172,82,0)}100%{box-shadow:0 0 0 0 rgba(206,172,82,0)}}
.rv .btn--topo .elementor-button{min-height:42px;padding:.6rem 1.05rem;font-size:.82rem}

.rv .hamb{display:inline-flex;flex-direction:column;gap:5px;padding:10px;border-radius:6px}

.rv .hamb span{display:block;width:22px;height:1.5px;background:var(--navy-900);transition:transform .3s var(--ease),opacity .2s}

.rv .hamb[aria-expanded="true"] span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}

.rv .hamb[aria-expanded="true"] span:nth-child(2){opacity:0}

.rv .hamb[aria-expanded="true"] span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

.rv .hamb-w{line-height:0}

@media (min-width:992px){body.rv .elementor-widget.nav{display:block}
.rv .status{display:inline-flex}
.rv .hamb-w{display:none}}

@media (max-width:991.98px){.rv .btn--topo{display:none}}

.rv .gaveta{position:fixed;inset:0;z-index:55;background:var(--navy-950);color:var(--cream-50);display:grid;grid-template-rows:1fr auto;transform:translateY(-8px);opacity:0;visibility:hidden;transition:opacity .3s var(--ease),transform .3s var(--ease),visibility 0s .3s}
.rv .gaveta{--width:auto;--height:auto;--padding-top:calc(var(--topo) + 1.5rem);--padding-right:clamp(16px,6vw,40px);--padding-bottom:2rem;--padding-left:clamp(16px,6vw,40px)}

.rv .gaveta.aberta{opacity:1;transform:none;visibility:visible;transition:opacity .3s var(--ease),transform .3s var(--ease)}

body.rv .elementor-widget.gaveta__nav,.rv .gaveta__nav>.elementor-widget-container{display:grid;align-content:center;min-height:0}

.rv .gaveta__nav .elementor-nav-menu--main{display:block}

.rv .gaveta__nav .elementor-nav-menu--main .elementor-nav-menu{display:grid;gap:.25rem;align-content:center;margin:0;padding:0;counter-reset:rvnav}

.rv .gaveta__nav .elementor-nav-menu--main .elementor-nav-menu::after{display:none}

.rv .gaveta__nav .elementor-nav-menu--main .elementor-nav-menu>li{display:block;counter-increment:rvnav}

.rv .gaveta__nav .elementor-nav-menu--main .elementor-nav-menu a{font:600 clamp(2rem,9vw,3rem)/1.15 var(--font-display);text-decoration:none;display:flex;align-items:baseline;gap:1rem;padding:.35rem 0;margin:0;color:inherit;border-bottom:1px solid rgba(206,172,82,.16);white-space:normal;background:none}

.rv .gaveta__nav .elementor-nav-menu--main .elementor-nav-menu a::before{content:counter(rvnav,decimal-leading-zero);display:inline;position:static;font:600 .7rem/1 var(--font-text);letter-spacing:.18em;color:var(--gold-500);transition:none}

.rv .gaveta__nav .elementor-nav-menu--main .elementor-nav-menu a::after{display:none}

.rv .gaveta__pe{display:grid}
.rv .gaveta__pe{--gap:.8rem;--row-gap:.8rem;--column-gap:.8rem}

.rv .gaveta__pe .btn .elementor-button{width:100%}

/* ── hero ─────────────────────────────────────────────────────────────────────── */
.rv .hero{position:relative;display:grid;grid-template-rows:auto 1fr;color:var(--cream-50);isolation:isolate;overflow:hidden;background:var(--navy-950)}
.rv .hero{--min-height:100svh;--padding-top:var(--topo)}

.rv .hero__slides{position:relative;z-index:0;background:var(--navy-950);overflow:hidden;display:block}
.rv .hero__slides{--height:clamp(280px,44svh,440px)}

.rv .hero__slide{position:absolute;inset:0;opacity:0;transition:opacity 1.2s var(--ease)}
.rv .hero__slide{--width:auto;--height:auto;--margin-top:0;--margin-right:0;--margin-bottom:0;--margin-left:0}

.rv .hero__slide.ativo{opacity:1}

.rv .hero__foto{height:100%}

.rv .hero__foto>.elementor-widget-container{height:100%}

.rv .hero__slide img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:var(--foco,50% 50%);transform:scale(1.04);transition:transform 7s linear;filter:saturate(.85) contrast(1.03)}

.rv .hero__slide.ativo img{transform:scale(1.1)}

.rv .hero__slide-textos{display:none}

.rv #heroFachada{--foco:57% 45%}

.rv #heroTanques{--foco:60% 50%}

.rv .hero__slides::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(8,20,38,0.120) 44.0%,rgba(8,20,38,0.158) 51.0%,rgba(8,20,38,0.257) 58.0%,rgba(8,20,38,0.398) 65.0%,rgba(8,20,38,0.560) 72.0%,rgba(8,20,38,0.722) 79.0%,rgba(8,20,38,0.863) 86.0%,rgba(8,20,38,0.962) 93.0%,rgba(8,20,38,1.000) 100.0%)}

.rv .hero__container{position:relative;z-index:1;display:grid;align-items:center}
.rv .hero__container{--padding-top:1.4rem;--padding-bottom:clamp(2.4rem,6vw,3.5rem)}

@media (min-width:992px){.rv .hero{display:grid;grid-template-rows:none;align-items:center;max-height:1040px}
.rv .hero{--height:100svh;--min-height:600px;--padding-top:var(--topo)}

  .rv .hero__slides{position:absolute;inset:0;z-index:-2}
.rv .hero__slides{--width:auto;--height:auto}

  .rv .hero__slide.ativo img{transform:scale(1.06)}

  .rv #heroFachada{--foco:0% 42%}

  .rv #heroTanques{--foco:100% 50%}

  .rv .hero__slides::after{background:linear-gradient(96deg,rgba(8,20,38,1.000) 40.0%,rgba(8,20,38,0.963) 44.2%,rgba(8,20,38,0.866) 48.5%,rgba(8,20,38,0.728) 52.8%,rgba(8,20,38,0.570) 57.0%,rgba(8,20,38,0.412) 61.2%,rgba(8,20,38,0.274) 65.5%,rgba(8,20,38,0.177) 69.8%,rgba(8,20,38,0.140) 74.0%),linear-gradient(180deg,rgba(8,20,38,0) 72%,rgba(8,20,38,.55) 100%)}

  .rv .hero__container{--padding-top:0;--padding-bottom:0}}

.rv .hero__grade{display:grid}
.rv .hero__grade{--gap:1.4rem;--row-gap:1.4rem;--column-gap:1.4rem}

.rv .hero__texto{display:grid;max-width:600px;transition:opacity .32s var(--ease)}
.rv .hero__texto{--gap:1.3rem;--row-gap:1.3rem;--column-gap:1.3rem}

@media (min-width:992px){.rv .hero__texto{max-width:min(47%,600px)}}

.rv .hero #hero-t{font-size:clamp(2.6rem,5.8vw,5.3rem)}

.rv .hero h1,.rv .hero .hero__slide-titulo .elementor-heading-title{font-weight:500;max-width:14ch}

.rv .hero h1 em{font-style:italic;color:var(--gold-400)}

.rv .hero__acoes{display:flex;flex-direction:row;flex-wrap:wrap}
.rv .hero__acoes{--gap:.8rem;--row-gap:.8rem;--column-gap:.8rem;--margin-top:.4rem}

.rv .hero__pontos{position:absolute;right:clamp(16px,4vw,40px);bottom:clamp(1.3rem,4vw,2.2rem);z-index:2;display:flex;gap:.6rem;align-items:center}

.rv .hero__pontos button{width:7px;height:7px;border-radius:50%;background:rgba(247,245,239,.35);padding:0;border:0;transition:background .3s var(--ease),transform .3s var(--ease)}

.rv .hero__pontos button[aria-current="true"]{background:var(--gold-500);transform:scale(1.4)}

@media (max-width:767.98px){.rv .hero__pontos{display:none}}

.rv .rolar{position:absolute;left:clamp(16px,4vw,40px);bottom:1.1rem;display:none;font:600 .62rem/1 var(--font-text);letter-spacing:.18em;text-transform:uppercase;color:var(--gold-500)}

.rv .rolar .elementor-heading-title{display:flex;align-items:center;gap:.6rem}

.rv .rolar i{width:38px;height:1px;background:var(--gold-500);position:relative;overflow:hidden}

.rv .rolar i::after{content:"";position:absolute;inset:0;background:var(--navy-900);animation:rolar 2.2s var(--ease) infinite}

@keyframes rolar{0%{transform:translateX(-100%)}60%,100%{transform:translateX(100%)}}
@media (min-width:1200px){.rv .rolar{display:block}}

/* ── faixa (letreiro) ─────────────────────────────────────────────────────────── */
.rv .faixa{overflow:hidden;border-block:var(--hair);background:var(--navy-950);display:block;-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.rv .faixa{--padding-top:1.05rem;--padding-bottom:1.05rem}

.rv .faixa__lista{display:block}

.rv .faixa__trilho{display:flex;width:max-content;max-width:none;gap:0;overflow:visible;animation:faixa 48s linear infinite}

.rv .faixa:hover .faixa__trilho{animation-play-state:paused}

.rv .faixa .elementor-icon-list-items.elementor-inline-items{display:flex;flex-wrap:nowrap;gap:0;margin:0;padding:0;list-style:none}

.rv .faixa .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{display:flex;align-items:center;gap:1.6rem;margin:0;padding:0 .8rem;font:600 .7rem/1 var(--font-text);letter-spacing:.2em;text-transform:uppercase;color:var(--gold-400);white-space:nowrap;word-break:normal}

.rv .faixa .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item::after{content:"";position:static;inset:auto;width:7px;height:7px;border:0;margin:0;background:var(--gold-500);transform:rotate(45deg);opacity:.9}

@keyframes faixa{to{transform:translateX(-50%)}}

/* ── a casa (quem somos) ──────────────────────────────────────────────────────── */
.rv .quemsomos__grade, .rv .cozinha__topo{display:grid;align-items:center}
.rv .quemsomos__grade, .rv .cozinha__topo{--gap:clamp(1.5rem,4vw,2.5rem);--row-gap:clamp(1.5rem,4vw,2.5rem);--column-gap:clamp(1.5rem,4vw,2.5rem)}

@media (min-width:992px){.rv .quemsomos__grade, .rv .cozinha__topo{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
.rv .quemsomos__grade, .rv .cozinha__topo{--gap:clamp(2rem,5vw,4.5rem);--row-gap:clamp(2rem,5vw,4.5rem);--column-gap:clamp(2rem,5vw,4.5rem)}}

.rv .quemsomos__grade .display,.rv .cozinha__topo .display{font-size:clamp(2.2rem,4vw,3.6rem)}

html body.rv .cabecalho:where(.rv .quemsomos__grade .cabecalho), html body.rv .cabecalho:where(.rv .cozinha__topo .cabecalho){--margin-bottom:0}

.rv .cozinha__topo{--margin-bottom:clamp(2rem,4vw,3rem)}

.rv .ilustra{margin:0}

.rv .ilustra img{width:100%;height:auto;display:block}

@media (max-width:991.98px){body.rv .elementor .e-con>.ilustra{max-width:640px;margin-inline:auto}}

.rv .motivos{display:grid}
.rv .motivos{--gap:2.2rem;--row-gap:2.2rem;--column-gap:2.2rem;--margin-top:clamp(2.5rem,5vw,4rem)}

@media (min-width:768px){.rv .motivos{grid-template-columns:repeat(3,1fr)}
.rv .motivos{--gap:clamp(1.5rem,3vw,2.5rem);--row-gap:clamp(1.5rem,3vw,2.5rem);--column-gap:clamp(1.5rem,3vw,2.5rem)}}

.rv .motivo{display:grid;border-top:var(--hair-ink)}
.rv .motivo{--gap:.7rem;--row-gap:.7rem;--column-gap:.7rem;--padding-top:1.4rem}

.rv .motivo__icone .elementor-icon-wrapper{line-height:0;text-align:left}

.rv .motivo__icone .elementor-icon{display:block;font-size:30px;line-height:0;color:var(--gold-700)}

.rv .motivo__icone .elementor-icon svg{width:30px;height:30px;fill:var(--gold-700)}

.rv .motivo h3{font-size:1.35rem}

.rv .motivo .elementor-widget-text-editor{color:#4a4a46;font-size:.95rem}

.rv .motivo .elementor-widget-text-editor p{max-width:34ch}

html body.rv .ornamento:where(.rv .quemsomos .ornamento){--margin-bottom:0}

html body.rv .motivos:where(.rv .quemsomos .ornamento+.motivos){--margin-top:clamp(2rem,4vw,3rem)}

/* ── ornamento flor-de-lis (peça do design system) ────────────────────────────── */
.rv .ornamento{aspect-ratio:300/38;background:var(--gold-500);-webkit-mask:var(--orn) center/contain no-repeat;mask:var(--orn) center/contain no-repeat;opacity:.85;flex:none}
.rv .ornamento{--width:clamp(140px,16vw,190px);--height:auto;--margin-top:clamp(2.6rem,5vw,4rem);--margin-right:auto;--margin-bottom:clamp(2.6rem,5vw,4rem);--margin-left:auto;--padding-top:0;--padding-right:0;--padding-bottom:0;--padding-left:0}

.rv .papel .ornamento,.rv .papel-2 .ornamento{background:#b88b4a;opacity:.9}

html body.rv .ornamento:where(.rv .ornamento.ornamento--carta){--margin-top:clamp(1rem,2vw,1.6rem);--margin-bottom:clamp(2rem,4vw,2.8rem)}

.rv .ornamento.ornamento--rodape{opacity:.75}
html body.rv .ornamento:where(.rv .ornamento.ornamento--rodape){--margin-top:0;--margin-right:auto;--margin-bottom:clamp(2.4rem,5vw,3.6rem);--margin-left:auto}

.rv .ornamento.pre{opacity:0;transform:scaleX(.6);transition:opacity .9s var(--ease),transform 1.1s var(--ease)}

.rv .ornamento.pre.in{opacity:.85;transform:none}

.rv .papel .ornamento.pre.in,.rv .papel-2 .ornamento.pre.in{opacity:.9}

/* ── torneiras ────────────────────────────────────────────────────────────────── */
.rv .torneiras{display:grid}
.rv .torneiras{--gap:1.6rem;--row-gap:1.6rem;--column-gap:1.6rem}

body.rv .taps-wrap{position:relative;min-width:0}
body.rv .taps-wrap{--margin-left:calc(var(--gutter) * -1);--margin-right:calc(var(--gutter) * -1);--padding-left:var(--gutter);--padding-right:var(--gutter);--width:auto}

.rv .taps .elementor-loop-container{display:flex;gap:.6rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:.4rem .2rem 1rem;margin-inline:-.2rem;scrollbar-width:none;scroll-padding-inline:.4rem;grid-template-columns:none}

.rv .taps .elementor-loop-container::-webkit-scrollbar{display:none}

@media (max-width:991.98px){.rv .taps .elementor-loop-container{-webkit-mask-image:linear-gradient(90deg,#000 0%,#000 88%,transparent 100%);mask-image:linear-gradient(90deg,#000 0%,#000 88%,transparent 100%)}}

@media (min-width:992px){.rv .taps .elementor-loop-container{padding-bottom:.6rem}}

.rv .taps .e-loop-item{--cor:var(--gold-500);position:relative;flex:0 0 132px;scroll-snap-align:center;padding:.9rem .5rem 1rem;border-radius:10px;border:1px solid transparent;background:transparent;cursor:pointer;isolation:isolate;transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease),transform .25s var(--ease);-webkit-tap-highlight-color:transparent}

@media (min-width:992px){.rv .taps .e-loop-item{flex:0 0 calc((100% - 6 * .6rem) / 7)}}

.rv .taps .e-loop-item:hover{transform:translateY(-3px)}

.rv .tap__in{display:grid;justify-items:center;text-align:center}
.rv .tap__in{--gap:.55rem;--row-gap:.55rem;--column-gap:.55rem}

.rv .tap__alavanca{position:relative;transform-origin:50% 100%;transition:transform .45s var(--ease)}
.rv .tap__alavanca{--width:26px;--height:46px}

.rv .tap__alavanca::before{content:"";position:absolute;left:50%;top:auto;bottom:0;width:3px;height:30px;margin-left:-1.5px;border:0;opacity:1;background:linear-gradient(180deg,#e9e3d0,#8f8a7a);border-radius:2px}

.rv .tap__alavanca::after{content:"";position:absolute;left:50%;top:0;width:18px;height:18px;margin-left:-9px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff8e0,var(--gold-500) 55%,var(--gold-600));box-shadow:0 2px 6px rgba(0,0,0,.35)}

.rv .e-loop-item[aria-selected="true"] .tap__alavanca{transform:rotate(-28deg)}

.rv .tap__bolacha{border-radius:50%;overflow:hidden;box-shadow:0 10px 24px rgba(0,0,0,.35),0 0 0 1px rgba(206,172,82,.35);transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.rv .tap__bolacha{--width:96px;--height:96px}

.rv .tap__bolacha .elementor-widget-image,.rv .tap__bolacha .elementor-widget-image>.elementor-widget-container{width:100%;height:100%}

.rv .tap__bolacha img{width:100%;height:100%;object-fit:cover}

.rv .taps .e-loop-item:hover .tap__bolacha{transform:scale(1.04) rotate(-3deg)}

.rv .e-loop-item[aria-selected="true"] .tap__bolacha{box-shadow:0 14px 30px rgba(0,0,0,.45),0 0 0 2px var(--gold-500)}

.rv .tap__nome{font:600 .82rem/1.2 var(--font-text);letter-spacing:.02em;text-align:center}

.rv .tap__abv{font:600 .66rem/1 var(--font-text);letter-spacing:.14em;color:var(--gold-500)}

.rv .tap__cor{border-radius:2px;background:var(--cor)}
.rv .tap__cor{--width:34px;--height:3px}

.rv .taps__dica{display:none;font:600 .66rem/1 var(--font-text);letter-spacing:.1em;text-transform:uppercase;color:var(--gold-500)}

body.rv .torneiras .taps__dica{margin:-.5rem 0 .2rem}

.rv .taps__dica .elementor-heading-title{display:flex;align-items:center;gap:.5rem}

.rv .taps__dica .elementor-heading-title::after{content:"";width:14px;height:14px;flex:none;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;animation:arrasta 1.4s ease-in-out infinite}

@keyframes arrasta{0%,100%{transform:translateX(0)}50%{transform:translateX(6px)}}
@media (max-width:991.98px){.rv .taps__dica{display:block}}

.rv .ficha{position:relative;display:grid}
.rv .ficha{--gap:1.6rem;--row-gap:1.6rem;--column-gap:1.6rem}

@media (min-width:992px){.rv .ficha{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
.rv .ficha{--gap:2.4rem;--row-gap:2.4rem;--column-gap:2.4rem}}

.rv .ficha__tit{display:grid;align-content:start}
.rv .ficha__tit{--gap:.7rem;--row-gap:.7rem;--column-gap:.7rem}

.rv .ficha__estilo{font:600 .7rem/1.3 var(--font-text);letter-spacing:.18em;text-transform:uppercase;color:var(--gold-500)}

.rv .ficha__nome{font-size:clamp(2rem,3.6vw,3rem)}

.rv .ficha__frase{font:italic 500 1.25rem/1.35 var(--font-display);color:var(--navy-100)}

.rv .ficha__dados{display:grid}
.rv .ficha__dados{--gap:1.4rem;--row-gap:1.4rem;--column-gap:1.4rem}

.rv .dials{display:grid;grid-template-columns:repeat(3,1fr)}
.rv .dials{--gap:.8rem;--row-gap:.8rem;--column-gap:.8rem}

.rv .dial{display:grid;justify-items:center;text-align:center}
.rv .dial{--gap:.2rem;--row-gap:.2rem;--column-gap:.2rem}

.rv .dial__arco{line-height:0}

.rv .dial svg{display:block;width:88px;height:56px;overflow:visible}

.rv .dial .trilha{fill:none;stroke:rgba(247,245,239,.14);stroke-width:5;stroke-linecap:round}

.rv .dial .valor{fill:none;stroke:var(--gold-500);stroke-width:5;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .9s var(--ease)}

.rv .dial__valor{font:600 1.35rem/1 var(--font-display);margin-top:-.3rem}

.rv .dial__rotulo{font:600 .62rem/1.2 var(--font-text);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-500)}

.rv .ficha__lista{display:grid}
.rv .ficha__lista{--gap:.55rem;--row-gap:.55rem;--column-gap:.55rem;--margin-top:0;--margin-right:0;--margin-bottom:0;--margin-left:0;--padding-top:0;--padding-right:0;--padding-bottom:0;--padding-left:0}

.rv .ficha__item{display:grid;grid-template-columns:110px 1fr;border-top:1px solid rgba(206,172,82,.16);font-size:.9rem}
.rv .ficha__item{--gap:.8rem;--row-gap:.8rem;--column-gap:.8rem;--padding-top:.55rem}

.rv .ficha__dt{font:600 .66rem/1.6 var(--font-text);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-500)}

.rv .ficha__dd{margin:0;color:var(--navy-100)}

.rv .regua{display:grid}
.rv .regua{--gap:.9rem;--row-gap:.9rem;--column-gap:.9rem;--margin-top:clamp(1.2rem,2.4vw,2rem)}

.rv .regua__topo{display:flex;flex-direction:row;justify-content:space-between;align-items:baseline;flex-wrap:wrap;max-width:100%}
.rv .regua__topo{--gap:1rem;--row-gap:1rem;--column-gap:1rem}

.rv .regua__sub{font-size:.85rem;color:var(--navy-100)}

.rv .regua__sub .elementor-heading-title{max-width:34ch}

.rv .regua__barra{position:relative;display:block;border-radius:7px;background:linear-gradient(90deg,#f7ecad 0%,#f2d868 22%,#e6a63a 42%,#d8802a 56%,#8a4a1f 74%,#4b2314 88%,#160b07 100%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.rv .regua__barra{--margin-top:1.9rem;--height:14px}

.rv .regua__marca{position:absolute;top:50%;left:var(--x);transform:translate(-50%,-50%);width:16px;height:16px;border-radius:50%;background:var(--cor);border:2px solid var(--cream-50);box-shadow:0 2px 6px rgba(0,0,0,.4);transition:transform .25s var(--ease);padding:0}

.rv .regua__marca::after{content:attr(data-nome);position:absolute;left:50%;top:calc(100% + 8px);transform:translateX(-50%);font:600 .62rem/1 var(--font-text);letter-spacing:.1em;text-transform:uppercase;color:var(--navy-100);white-space:nowrap;opacity:.75}

.rv .regua__marca.alt::after{top:auto;bottom:calc(100% + 8px)}

.rv .regua__marca.ativa,.rv .regua__marca:hover{transform:translate(-50%,-50%) scale(1.35);z-index:2}

.rv .regua__marca.ativa::after{color:var(--gold-400);opacity:1}

@media (max-width:767.98px){.rv .regua__marca::after{display:none}
.rv .regua__marca.ativa::after{display:block}}

.rv .regua__pe{display:flex;flex-direction:row;justify-content:space-between;font:600 .62rem/1 var(--font-text);letter-spacing:.14em;text-transform:uppercase;color:var(--navy-100);opacity:.7}
.rv .regua__pe{--padding-top:1.4rem}

.rv .torneiras__pe{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;border-top:var(--hair)}
.rv .torneiras__pe{--gap:1rem 1.6rem;--row-gap:1rem;--column-gap:1.6rem;--padding-top:1.6rem}

.rv .taps__seta{position:absolute;top:calc(50% - 1rem);transform:translateY(-50%);z-index:3;width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:rgba(8,20,38,.92);border:1px solid rgba(206,172,82,.45);color:var(--gold-400);box-shadow:0 10px 26px rgba(0,0,0,.35);transition:border-color var(--dur),background var(--dur),opacity .25s}

.rv .taps__seta:hover{border-color:var(--gold-500);background:var(--navy-950)}

.rv .taps__seta[hidden]{display:none}

.rv .taps__seta:disabled{opacity:.3;cursor:default}

.rv .taps__seta svg{width:20px;height:20px}

.rv .taps__seta--ant{left:0}

.rv .taps__seta--prox{right:0}

@media (max-width:767.98px){.rv .taps__seta{display:none}}

/* ── tanque ───────────────────────────────────────────────────────────────────── */
.rv .tanque{position:relative}

.rv .tanque__grade{display:grid}
.rv .tanque__grade{--gap:2.5rem;--row-gap:2.5rem;--column-gap:2.5rem}

@media (min-width:992px){.rv .tanque__grade{grid-template-columns:minmax(0,6fr) minmax(0,5fr);align-items:start}
.rv .tanque__grade{--gap:clamp(2rem,6vw,6rem);--row-gap:clamp(2rem,6vw,6rem);--column-gap:clamp(2rem,6vw,6rem)}}

.rv .tanque__pin{display:block}
.rv .tanque__pin{--margin-bottom:2rem}

@media (min-width:992px){.rv .tanque__pin{position:sticky;top:calc(var(--topo) + 1.5rem)}
.rv .tanque__pin{--margin-bottom:0}}

.rv .tanque__texto{display:block}

.rv .quadro{position:relative}

.rv .quadro img{width:100%;aspect-ratio:4/3;object-fit:cover}

.rv .quadro__selo{position:absolute;right:-22px;bottom:-22px;border-radius:50%;background:var(--navy-950);display:grid;place-items:center;border:1px solid rgba(206,172,82,.45);box-shadow:0 12px 30px rgba(0,0,0,.4);z-index:2}
.rv .quadro__selo{--width:96px;--height:96px}

.rv .quadro__selo img{width:56px;aspect-ratio:auto}

@media (max-width:575.98px){.rv .quadro__selo{right:-12px;bottom:-16px}
.rv .quadro__selo{--width:78px;--height:78px}
.rv .quadro__selo img{width:44px}}

.rv .quadro__legenda{margin-top:1.4rem;font:500 .8rem/1.5 var(--font-text);color:var(--navy-100)}

.rv .quadro__legenda .elementor-heading-title{display:grid;gap:.3rem}

@media (min-width:576px){.rv .quadro__legenda .elementor-heading-title{display:flex;gap:.8rem;align-items:baseline}}

.rv .quadro__legenda b{color:var(--gold-500);font-weight:600;letter-spacing:.14em;font-size:.66rem;text-transform:uppercase}

.rv .metros{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:baseline}
.rv .metros{--gap:1rem;--row-gap:1rem;--column-gap:1rem;--margin-top:1.2rem}

.rv .metros__num{font:500 clamp(4rem,9vw,7rem)/1 var(--font-display);color:var(--cream-50);letter-spacing:-.02em}

.rv .metros__txt{font:600 .72rem/1.5 var(--font-text);letter-spacing:.18em;text-transform:uppercase;color:var(--gold-500)}

body.rv .elementor .metros>.metros__txt{max-width:20ch}

.rv .passos{position:relative;display:grid}
.rv .passos{--gap:clamp(2.6rem,6vh,4.5rem);--row-gap:clamp(2.6rem,6vh,4.5rem);--column-gap:clamp(2.6rem,6vh,4.5rem);--padding-left:2.4rem;--margin-top:1rem;--margin-bottom:1rem}

.rv .passos::before{content:"";position:absolute;left:8px;top:.6rem;bottom:.6rem;width:1px;height:auto;border:0;opacity:1;background:rgba(206,172,82,.25)}

.rv .passos__liquido{position:absolute;left:8px;top:.6rem;bottom:.6rem;width:1px;background:linear-gradient(180deg,var(--gold-400),#e6a63a);transform:scaleY(var(--p,0));transform-origin:top}

.rv .passo{position:relative;display:grid;opacity:.42;transition:opacity .4s var(--ease)}
.rv .passo{--gap:.5rem;--row-gap:.5rem;--column-gap:.5rem}

.rv .passo.ativo{opacity:1}

.rv .passo::before{content:"";position:absolute;left:-2.4rem;top:.45rem;width:17px;height:17px;border-radius:50%;border:1px solid var(--gold-500);opacity:1;background:var(--navy-950);transition:background .3s,box-shadow .3s}

.rv .passo.ativo::before{background:var(--gold-500);box-shadow:0 0 0 5px rgba(206,172,82,.18)}

.rv .passo__num{font:600 .66rem/1.3 var(--font-text);letter-spacing:.18em;text-transform:uppercase;color:var(--gold-500)}

.rv .passo h3{font-size:clamp(1.6rem,2.6vw,2.2rem)}

.rv .passo .elementor-widget-text-editor{color:var(--navy-100)}

.rv .passo .elementor-widget-text-editor p{max-width:38ch}

.rv .copo{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:flex-end}
.rv .copo{--gap:1.4rem;--row-gap:1.4rem;--column-gap:1.4rem;--padding-top:1rem}

.rv .copo__svg{line-height:0;flex:none}

.rv .copo svg{display:block;width:64px;height:88px;overflow:visible}

.rv .copo .vidro{fill:rgba(247,245,239,.06);stroke:rgba(247,245,239,.55);stroke-width:1.5}

.rv .copo .chopp{fill:#e6a63a;transform-origin:50% 100%;transform:scaleY(var(--p,0));transition:transform .2s linear}

.rv .copo .espuma{fill:#fff4d6;opacity:calc(var(--p,0) * 1)}

.rv .copo__txt{font:italic 500 1.15rem/1.35 var(--font-display);color:var(--navy-100)}

.rv .copo__txt p{max-width:26ch}

.rv .tanque__cta{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center}
.rv .tanque__cta{--gap:.8rem;--row-gap:.8rem;--column-gap:.8rem;--margin-top:1.2rem}

/* ── cozinha ──────────────────────────────────────────────────────────────────── */
.rv .carta{display:grid;grid-template-columns:1fr}
.rv .carta{--gap:clamp(1.6rem,3vw,2.6rem) clamp(2rem,4vw,3.4rem);--row-gap:clamp(1.6rem,3vw,2.6rem);--column-gap:clamp(2rem,4vw,3.4rem)}

@media (min-width:700px){.rv .carta{grid-template-columns:1fr 1fr}}

@media (min-width:1100px){.rv .carta{grid-template-columns:repeat(3,1fr)}}

.rv .carta__grupo{display:grid;align-content:start;border-top:var(--hair-ink)}
.rv .carta__grupo{--gap:.25rem;--row-gap:.25rem;--column-gap:.25rem;--padding-top:1.1rem}

.rv .carta__grupo h3{font-size:clamp(1.35rem,1.8vw,1.6rem)}

.rv .carta__sub{font:600 .62rem/1.5 var(--font-text);letter-spacing:.16em;text-transform:uppercase;color:var(--gold-700)}

.rv .carta__lista .elementor-loop-container{list-style:none;margin:.7rem 0 0;padding:0;display:grid;grid-template-columns:none;gap:.4rem;font-size:.92rem;color:#4a4a46}

.rv .carta__lista .e-loop-item{display:flex;gap:.6rem}

.rv .carta__lista .e-loop-item::before{content:"";width:5px;height:5px;margin-top:.55em;border-radius:50%;background:var(--gold-600);flex:none}

.rv .prato__in{flex:1 1 auto;display:block}
.rv .prato__in{--width:auto}

.rv .cozinha__cta{display:block}
.rv .cozinha__cta{--margin-top:1.6rem}

/* ── cervejaria ───────────────────────────────────────────────────────────────── */
.rv .foto{position:relative;display:block}

.rv .foto img{width:100%;aspect-ratio:4/5;object-fit:cover}

.rv .foto.foto--curta img{aspect-ratio:4/3}

.rv .foto__tag{position:absolute;left:1rem;bottom:1rem;width:auto;background:rgba(8,20,38,.86);color:var(--cream-50);font:600 .64rem/1 var(--font-text);letter-spacing:.16em;text-transform:uppercase;padding:.6rem .8rem;border:1px solid rgba(206,172,82,.4)}

.rv .cerv__texto{display:grid;align-content:center}
.rv .cerv__texto{--gap:1.2rem;--row-gap:1.2rem;--column-gap:1.2rem}

/* ── eventos ──────────────────────────────────────────────────────────────────── */
body.rv .eventos__topo{--margin-bottom:2.4rem}

.rv .evento{position:relative;display:grid;grid-template-rows:auto 1fr;text-decoration:none;color:inherit}
.rv .evento{--height:100%}

.rv .evento img{width:100%;aspect-ratio:16/9;object-fit:cover;transition:transform .8s var(--ease)}

.rv .evento__corpo{display:flex;flex-direction:column;flex-wrap:nowrap}
.rv .evento__corpo{--gap:.6rem;--row-gap:.6rem;--column-gap:.6rem;--padding-top:1.2rem;--padding-right:.2rem;--padding-bottom:.2rem;--padding-left:.2rem}

.rv .evento__data{font:600 .68rem/1 var(--font-text);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-500)}

.rv .evento__data .elementor-heading-title{display:flex;align-items:center;gap:.8rem}

.rv .evento h3{font-size:1.6rem}

.rv .evento .elementor-widget-text-editor{font-size:.9rem;color:var(--navy-100)}

.rv .evento .evento__nota{font-weight:600;color:var(--cream-50)}

.rv .evento__acao{display:block}
.rv .evento__acao{--margin-top:auto;--padding-top:.9rem}

.rv .selo-breve{font-style:normal;display:inline-block;padding:.4rem .6rem;border:1px solid rgba(206,172,82,.55);border-radius:3px}

/* ── venha ────────────────────────────────────────────────────────────────────── */
.rv .venha__info{display:grid}
.rv .venha__info{--gap:1.6rem;--row-gap:1.6rem;--column-gap:1.6rem}

.rv .endereco .elementor-heading-title{margin:0;font:500 clamp(1.5rem,2.6vw,2.1rem)/1.2 var(--font-display);letter-spacing:-.01em}

.rv .endereco small{display:block;font:500 .95rem/1.5 var(--font-text);color:#4a4a46;margin-top:.5rem}

.rv .acoes{display:flex;flex-direction:row;flex-wrap:wrap}
.rv .acoes{--gap:.7rem;--row-gap:.7rem;--column-gap:.7rem;--width:auto}

.rv .horarios{display:grid}
.rv .horarios{--gap:0;--row-gap:0;--column-gap:0;--margin-top:0;--margin-right:0;--margin-bottom:0;--margin-left:0;--padding-top:0;--padding-right:0;--padding-bottom:0;--padding-left:0}

.rv .horarios__item{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;border-top:var(--hair-ink);font-size:.95rem}
.rv .horarios__item{--gap:1rem;--row-gap:1rem;--column-gap:1rem;--padding-top:.7rem;--padding-right:0;--padding-bottom:.7rem;--padding-left:0}

.rv .horarios__item:last-child{border-bottom:var(--hair-ink)}

.rv .horarios__dia{font-weight:600}

.rv .sociais{display:flex;flex-direction:row;flex-wrap:wrap}
.rv .sociais{--gap:.7rem;--row-gap:.7rem;--column-gap:.7rem}

.rv .social{display:inline-flex;flex-direction:row;flex-wrap:nowrap;align-items:center;color:var(--ink);text-decoration:none;transition:border-color var(--dur),transform .25s var(--ease)}
.rv .social{--gap:.8rem;--row-gap:.8rem;--column-gap:.8rem;--width:auto}

.rv .social:hover{transform:translateY(-2px)}

.rv .social__ico{display:grid;place-items:center;border-radius:50%;background:var(--navy-900);color:var(--gold-400);flex:none}
.rv .social__ico{--width:40px;--height:40px}

.rv .social__ico .elementor-icon-wrapper{line-height:0}

.rv .social__ico .elementor-icon{display:block;font-size:20px;line-height:0;color:var(--gold-400)}

.rv .social__ico .elementor-icon svg{width:20px;height:20px;fill:currentColor}

.rv .social__txt{font:600 .95rem/1.25 var(--font-text)}

.rv .social__txt .elementor-heading-title{display:grid}

.rv .social__txt small{font:600 .62rem/1.3 var(--font-text);letter-spacing:.16em;text-transform:uppercase;color:var(--gold-700)}

.rv .detalhes{display:grid;font-size:.9rem;color:#4a4a46}
.rv .detalhes{--gap:.6rem;--row-gap:.6rem;--column-gap:.6rem}

.rv .detalhe{display:grid;grid-template-columns:auto 1fr;align-items:start}
.rv .detalhe{--gap:.7rem;--row-gap:.7rem;--column-gap:.7rem}

.rv .detalhe__icone{margin-top:.1rem}

.rv .detalhe__icone .elementor-icon-wrapper{line-height:0}

.rv .detalhe__icone .elementor-icon{display:block;font-size:19px;line-height:0;color:var(--gold-700)}

.rv .detalhe__icone .elementor-icon svg{width:19px;height:19px;fill:var(--gold-700)}

.rv .mapa{position:relative}
.rv .mapa{--min-height:360px;--height:100%}

.rv .mapa__embed{position:absolute;inset:0;width:auto;height:auto;z-index:0}

.rv .mapa__embed>.elementor-widget-container,.rv .mapa .elementor-custom-embed{position:absolute;inset:0}

.rv .mapa iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(.15) contrast(1.03)}

.rv .mapa__link{position:absolute;right:.9rem;bottom:.9rem;z-index:2;width:auto}

.rv .mapa__link .elementor-button{display:inline-flex;align-items:center;gap:.4rem;min-height:0;background:var(--cream-50);color:var(--ink);fill:currentColor;font:600 .78rem/1 var(--font-text);letter-spacing:0;padding:.6rem .85rem;border-radius:999px;text-decoration:none;box-shadow:0 6px 18px rgba(8,20,38,.22);border:1px solid rgba(8,20,38,.08);transition:background var(--dur)}

.rv .mapa__link .elementor-button:hover,.rv .mapa__link .elementor-button:focus,.rv .mapa__link .elementor-button:visited{color:var(--ink)}

.rv .mapa__link .elementor-button:hover{background:var(--gold-100)}

.rv .mapa__link .elementor-button-content-wrapper{gap:.4rem;align-items:center}

.rv .mapa__link .elementor-button-icon svg{width:14px;height:14px}

/* ── moldura Casa Ravache (peça oficial do design system, 9-slice + cantos recortados) ── */
.rv .ficha,.rv .quadro,.rv .evento,.rv .mapa,.rv .social,.rv .modal{isolation:isolate;border:var(--mw) solid transparent;border-radius:0;background:transparent;overflow:visible}

.rv .ficha::before,.rv .quadro::before,.rv .evento::before,.rv .mapa::before,.rv .social::before,.rv .modal::before,.rv .taps .e-loop-item::before{--mr:calc(var(--mw) * .585);
  content:"";display:block;position:absolute;inset:calc(var(--mw) * -1);width:auto;height:auto;z-index:-1;pointer-events:none;opacity:1;mix-blend-mode:normal;transition:none;border-radius:0;
  background:var(--fundo,transparent);border:var(--mw) solid transparent;border-image:var(--moldura) 140 / var(--mw) stretch;
  -webkit-mask:radial-gradient(circle at 0 0,#0000 var(--mr),#000 calc(var(--mr) + .6px)) 0 0/51% 51% no-repeat,radial-gradient(circle at 100% 0,#0000 var(--mr),#000 calc(var(--mr) + .6px)) 100% 0/51% 51% no-repeat,radial-gradient(circle at 0 100%,#0000 var(--mr),#000 calc(var(--mr) + .6px)) 0 100%/51% 51% no-repeat,radial-gradient(circle at 100% 100%,#0000 var(--mr),#000 calc(var(--mr) + .6px)) 100% 100%/51% 51% no-repeat;mask:radial-gradient(circle at 0 0,#0000 var(--mr),#000 calc(var(--mr) + .6px)) 0 0/51% 51% no-repeat,radial-gradient(circle at 100% 0,#0000 var(--mr),#000 calc(var(--mr) + .6px)) 100% 0/51% 51% no-repeat,radial-gradient(circle at 0 100%,#0000 var(--mr),#000 calc(var(--mr) + .6px)) 0 100%/51% 51% no-repeat,radial-gradient(circle at 100% 100%,#0000 var(--mr),#000 calc(var(--mr) + .6px)) 100% 100%/51% 51% no-repeat}

.rv .ficha{--mw:clamp(34px,3.7vw,48px);--fundo:rgba(8,20,38,.55)}
.rv .ficha{--padding-top:clamp(.2rem,1vw,.6rem);--padding-right:clamp(.2rem,1vw,.6rem);--padding-bottom:clamp(.2rem,1vw,.6rem);--padding-left:clamp(.2rem,1vw,.6rem)}

.rv .quadro{--mw:clamp(30px,3.2vw,42px);--fundo:var(--navy-950)}
.rv .quadro{--padding-top:0;--padding-right:0;--padding-bottom:0;--padding-left:0}

.rv .evento{--mw:clamp(30px,3vw,37px);--fundo:rgba(12,30,58,.55)}

.rv .mapa{--mw:clamp(28px,3vw,37px);--fundo:var(--cream-100)}

.rv .social{--mw:18px;--fundo:#fff}
.rv .social{--padding-top:0;--padding-right:.5rem;--padding-bottom:0;--padding-left:0}

.rv .modal{--mw:clamp(32px,4.6vw,46px);--fundo:var(--navy-950);box-shadow:none}

.rv .taps .e-loop-item,.rv .taps .e-loop-item:hover,.rv .taps .e-loop-item[aria-selected="true"]{border-color:transparent;background:transparent}

.rv .taps .e-loop-item::before{--mw:18px;--fundo:rgba(206,172,82,.07);inset:0;opacity:0;transition:opacity .3s var(--ease)}

.rv .taps .e-loop-item:hover::before{opacity:.45}

.rv .taps .e-loop-item[aria-selected="true"]::before{opacity:1}

/* ── rodapé ───────────────────────────────────────────────────────────────────── */
.rv .rodape{position:relative;background:var(--navy-950);color:var(--cream-50);border-top:var(--hair);overflow:hidden}
.rv .rodape{--padding-top:clamp(4rem,8vw,7rem);--padding-bottom:clamp(2rem,3vw,2.6rem)}

.rv .rodape::before{content:"";position:absolute;inset:0;width:auto;height:auto;border:0;border-radius:0;background:var(--padrao) center/522px 174px repeat;opacity:.1;-webkit-mask-image:linear-gradient(180deg,transparent,#000 60%);mask-image:linear-gradient(180deg,transparent,#000 60%);pointer-events:none}

.rv .rodape .container{position:relative}

.rv .rodape__chamada{display:grid;border-bottom:var(--hair)}
.rv .rodape__chamada{--gap:1.6rem;--row-gap:1.6rem;--column-gap:1.6rem;--padding-bottom:clamp(2.5rem,5vw,4rem)}

@media (min-width:992px){.rv .rodape__chamada{grid-template-columns:minmax(0,1fr) minmax(0,min(42%,470px));align-items:end}
.rv .rodape__chamada{--gap:3rem;--row-gap:3rem;--column-gap:3rem}}

.rv .rodape__chamada-txt{display:block}

.rv .rodape__titulo{font-size:clamp(2.2rem,4.6vw,4.3rem)}

.rv .rodape__titulo h2{font-weight:500;line-height:1.02;max-width:15ch}

.rv .rodape__titulo em{font-style:italic;color:var(--gold-400)}

body.rv .rodape__chamada .rodape__sub{margin-top:1rem;color:var(--navy-100)}

.rv .rodape__sub p{max-width:44ch}

.rv .rodape__lado{display:grid;justify-items:start}
.rv .rodape__lado{--gap:1.6rem;--row-gap:1.6rem;--column-gap:1.6rem}

@media (min-width:992px){.rv .rodape__lado{justify-items:end}}

.rv .galeria{display:grid;grid-template-columns:repeat(3,1fr)}
.rv .galeria{--gap:clamp(.6rem,1.2vw,1rem);--row-gap:clamp(.6rem,1.2vw,1rem);--column-gap:clamp(.6rem,1.2vw,1rem);--width:min(100%,470px)}

.rv .galeria__item{--mw:18px;--mr:calc(var(--mw) * .585);position:relative;display:block;aspect-ratio:4/5;background:var(--navy-900);-webkit-mask:radial-gradient(circle at 0 0,#0000 var(--mr),#000 calc(var(--mr) + .6px)) 0 0/51% 51% no-repeat,radial-gradient(circle at 100% 0,#0000 var(--mr),#000 calc(var(--mr) + .6px)) 100% 0/51% 51% no-repeat,radial-gradient(circle at 0 100%,#0000 var(--mr),#000 calc(var(--mr) + .6px)) 0 100%/51% 51% no-repeat,radial-gradient(circle at 100% 100%,#0000 var(--mr),#000 calc(var(--mr) + .6px)) 100% 100%/51% 51% no-repeat;mask:radial-gradient(circle at 0 0,#0000 var(--mr),#000 calc(var(--mr) + .6px)) 0 0/51% 51% no-repeat,radial-gradient(circle at 100% 0,#0000 var(--mr),#000 calc(var(--mr) + .6px)) 100% 0/51% 51% no-repeat,radial-gradient(circle at 0 100%,#0000 var(--mr),#000 calc(var(--mr) + .6px)) 0 100%/51% 51% no-repeat,radial-gradient(circle at 100% 100%,#0000 var(--mr),#000 calc(var(--mr) + .6px)) 100% 100%/51% 51% no-repeat}
.rv .galeria__item{--margin-top:0;--margin-right:0;--margin-bottom:0;--margin-left:0;--height:auto}

.rv .galeria__item .elementor-widget-image,.rv .galeria__item .elementor-widget-image>.elementor-widget-container{height:100%}

.rv .galeria__item img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}

.rv .galeria__item:hover img{transform:scale(1.05)}

.rv .galeria__item::after{content:"";position:absolute;inset:0;border:var(--mw) solid transparent;border-image:var(--moldura) 140 / var(--mw) stretch;pointer-events:none}

.rv .galeria__item:nth-child(2){transform:translateY(-14px)}

@media (max-width:991.98px){.rv .galeria__item:nth-child(2){transform:none}}

.rv .rodape__cols{display:grid}
.rv .rodape__cols{--gap:2.4rem;--row-gap:2.4rem;--column-gap:2.4rem;--padding-top:clamp(2.5rem,5vw,4rem)}

@media (min-width:768px){.rv .rodape__cols{grid-template-columns:1.5fr 1fr 1fr 1.2fr}}

.rv .rodape__col{display:block}

.rv .rodape__h .elementor-heading-title{font:600 .64rem/1.4 var(--font-text);letter-spacing:.2em;text-transform:uppercase;color:var(--gold-500)}

body.rv .rodape .rodape__h{margin-bottom:1rem}

.rv .rodape__lista{font-size:.9rem}

.rv .rodape__lista .elementor-icon-list-items{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}

.rv .rodape__lista .elementor-icon-list-item a{text-decoration:none;color:var(--navy-100);transition:color var(--dur)}

.rv .rodape__lista .elementor-icon-list-item a:hover{color:var(--gold-400)}

.rv .rodape__marca{display:grid;align-content:start;max-width:36ch}
.rv .rodape__marca{--gap:1.1rem;--row-gap:1.1rem;--column-gap:1.1rem}

.rv .rodape__logo img{width:150px}

.rv .rodape__sobre{font-size:.9rem;color:var(--navy-100)}

.rv .rodape__sociais{display:flex;flex-direction:row;flex-wrap:nowrap}
.rv .rodape__sociais{--gap:.6rem;--row-gap:.6rem;--column-gap:.6rem}

.rv .rodape__social .elementor-icon-wrapper{line-height:0}

.rv .rodape__social .elementor-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:1px solid rgba(206,172,82,.4);color:var(--gold-400);fill:currentColor;font-size:19px;line-height:1;transition:border-color var(--dur),background var(--dur)}

.rv .rodape__social .elementor-icon:hover{border-color:var(--gold-500);background:rgba(206,172,82,.1);color:var(--gold-400)}

.rv .rodape__social .elementor-icon svg{width:19px;height:19px}

.rv .rodape__pe{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between;align-items:center;border-top:var(--hair);font:500 .7rem/1.6 var(--font-text);color:var(--navy-100);opacity:.8}
.rv .rodape__pe{--gap:.8rem 1.6rem;--row-gap:.8rem;--column-gap:1.6rem;--margin-top:clamp(2rem,4vw,3rem);--padding-top:1.2rem}

.rv .rodape__pe b{font-weight:600;color:var(--gold-400)}

.rv .topo-link .elementor-button{display:inline-flex;align-items:center;gap:.5rem;padding:0;min-height:0;border:0;border-radius:0;background:none;text-decoration:none;color:var(--gold-400);fill:currentColor;font:600 .64rem/1.6 var(--font-text);letter-spacing:.12em;text-transform:uppercase}

.rv .topo-link .elementor-button:hover,.rv .topo-link .elementor-button:focus,.rv .topo-link .elementor-button:visited{color:var(--gold-400)}

.rv .topo-link .elementor-button-content-wrapper{gap:.5rem;align-items:center}

.rv .topo-link .elementor-button-icon svg{width:14px;height:14px;transition:transform .25s var(--ease)}

.rv .topo-link .elementor-button:hover .elementor-button-icon svg{transform:translateY(-3px)}

/* ── flutuantes ───────────────────────────────────────────────────────────────── */
.rv .flutua{position:fixed;right:clamp(12px,2vw,24px);bottom:calc(clamp(12px,2vw,24px) + env(safe-area-inset-bottom,0px));z-index:50;display:grid;justify-items:end;transition:opacity .3s var(--ease),transform .3s var(--ease)}
.rv .flutua{--width:auto;--gap:.5rem;--row-gap:.5rem;--column-gap:.5rem}

.rv .flutua.oculto{opacity:0;transform:translateY(10px) scale(.94);pointer-events:none}

.rv .flutua__btn .elementor-button{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;padding:.65rem .95rem;border-radius:999px;background:rgba(8,20,38,.92);color:var(--cream-50);fill:currentColor;border:1px solid rgba(206,172,82,.35);text-decoration:none;font:600 .78rem/1 var(--font-text);letter-spacing:.02em;box-shadow:0 8px 24px rgba(0,0,0,.35);transition:transform .2s var(--ease),border-color var(--dur),background var(--dur)}

.rv .flutua__btn .elementor-button:hover,.rv .flutua__btn .elementor-button:focus,.rv .flutua__btn .elementor-button:visited{color:var(--cream-50)}

.rv .flutua__btn .elementor-button:hover{transform:translateY(-2px);border-color:var(--gold-500)}

.rv .flutua__btn .elementor-button:active{transform:scale(.97)}

.rv .flutua__btn .elementor-button-content-wrapper{gap:.5rem;align-items:center}

.rv .flutua__btn .elementor-button-icon svg{width:18px;height:18px}

.rv .flutua__btn.wa .elementor-button{background:#1f8f4e;border-color:#1f8f4e;color:#fff}

.rv .flutua__btn.wa .elementor-button:hover,.rv .flutua__btn.wa .elementor-button:focus,.rv .flutua__btn.wa .elementor-button:visited{color:#fff}

@media (max-width:767.98px){.rv .flutua__btn:not(.wa){display:none}

  .rv .flutua__btn .elementor-button-text{display:none}

  .rv .flutua__btn .elementor-button{padding:.65rem}}

/* ── toast ────────────────────────────────────────────────────────────────────── */
.rv .toast{position:fixed;left:50%;bottom:calc(1.4rem + env(safe-area-inset-bottom,0px));transform:translate(-50%,16px);z-index:70;background:var(--cream-50);color:var(--ink);padding:.8rem 1.1rem;border-radius:6px;font:600 .82rem/1 var(--font-text);display:flex;align-items:center;gap:.6rem;box-shadow:0 12px 30px rgba(0,0,0,.35);opacity:0;visibility:hidden;transition:opacity .3s var(--ease),transform .3s var(--ease),visibility 0s .3s}

.rv .toast.on{opacity:1;transform:translate(-50%,0);visibility:visible;transition:opacity .3s var(--ease),transform .3s var(--ease)}

.rv .toast svg{width:18px;height:18px;stroke:#2f6b4f;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:30;stroke-dashoffset:30}

.rv .toast.on svg{animation:check .5s .1s var(--ease) forwards}

@keyframes check{to{stroke-dashoffset:0}}

/* ── portão de idade ──────────────────────────────────────────────────────────── */
.rv .portao{position:fixed;inset:0;z-index:80;background:var(--navy-950);display:grid;place-items:center;text-align:center;color:var(--cream-50);transition:opacity .45s var(--ease),visibility 0s .45s}
.rv .portao{--width:auto;--height:auto;--padding-top:clamp(16px,5vw,40px);--padding-right:clamp(16px,5vw,40px);--padding-bottom:clamp(16px,5vw,40px);--padding-left:clamp(16px,5vw,40px)}

.rv .portao::before{content:"";position:absolute;inset:0;width:auto;height:auto;border:0;border-radius:0;background:var(--padrao) center/522px 174px repeat;opacity:.18;-webkit-mask-image:radial-gradient(60% 60% at 50% 50%,transparent 30%,#000 100%);mask-image:radial-gradient(60% 60% at 50% 50%,transparent 30%,#000 100%)}

.rv-idade-ok .rv .portao,.rv .portao.fechado{display:none}

.rv .portao.saindo{opacity:0;visibility:hidden}

.rv .portao__caixa{position:relative;display:grid;justify-items:center;max-width:460px}
.rv .portao__caixa{--gap:1.3rem;--row-gap:1.3rem;--column-gap:1.3rem}

.rv .portao__brasao img{width:78px}

.rv .portao__titulo,.rv .portao__recusa-titulo{font-size:clamp(1.9rem,4vw,2.6rem)}

.rv .portao__titulo h2,.rv .portao__recusa-titulo h2{font-weight:500}

.rv .portao__texto,.rv .portao__recusa-texto{color:var(--navy-100);font-size:.95rem}

.rv .portao__texto p,.rv .portao__recusa-texto p{max-width:34ch;margin-inline:auto}

.rv .portao__botoes{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center}
.rv .portao__botoes{--gap:.7rem;--row-gap:.7rem;--column-gap:.7rem;--margin-top:.4rem;--width:auto}

.rv .portao__aviso{font:500 .7rem/1.5 var(--font-text);letter-spacing:.06em;color:var(--navy-100);opacity:.7}

.rv .portao__recusa{display:none}

/* ── modais (Solicitar evento / Visita à fábrica) ─────────────────────────────── */
.rv .modal-camada{position:fixed;inset:0;z-index:90;display:none;place-items:center;background:rgba(8,20,38,.72);overflow:auto;overflow-x:hidden}
.rv .modal-camada{--width:auto;--height:auto;--padding-top:12px;--padding-right:12px;--padding-bottom:12px;--padding-left:12px}

.rv .modal-camada.aberta{display:grid}

html.rv-modal-aberto{overflow:hidden}

.rv .modal{position:relative;max-width:calc(100vw - 6px - 2em);max-height:calc(100dvh - 24px);color:var(--cream-50)}
.rv .modal{--width:min(640px,calc(100vw - 24px));--margin-top:auto;--margin-right:auto;--margin-bottom:auto;--margin-left:auto;--padding-top:0;--padding-right:0;--padding-bottom:0;--padding-left:0}

.rv .modal__caixa{position:relative;display:grid}
.rv .modal__caixa{--gap:.9rem;--row-gap:.9rem;--column-gap:.9rem;--padding-top:clamp(.4rem,2vw,1rem);--padding-right:clamp(.4rem,2vw,1rem);--padding-bottom:clamp(.4rem,2vw,1rem);--padding-left:clamp(.4rem,2vw,1rem)}

.rv .modal__titulo{font-size:clamp(1.8rem,4vw,2.4rem)}

.rv .modal__titulo h2{font-weight:500}

.rv .modal__intro{color:var(--navy-100);font-size:.93rem}

.rv .modal__intro p{max-width:48ch}

.rv .modal__fechar{position:absolute;top:-.4rem;right:-.4rem;width:auto;z-index:3}

.rv .modal__fechar .elementor-button{width:40px;height:40px;min-height:0;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:none;color:var(--cream-50);fill:currentColor;opacity:.8;font-size:1rem;line-height:1}

.rv .modal__fechar .elementor-button:hover,.rv .modal__fechar .elementor-button:focus,.rv .modal__fechar .elementor-button:visited{color:var(--cream-50)}

.rv .modal__fechar .elementor-button:hover{opacity:1;background:rgba(247,245,239,.08)}

.rv .modal__fechar .elementor-button-icon svg{width:20px;height:20px}

/* formulário do Elementor Pro com a cara do estático */
/* Formulários (Pro). Estrutura com especificidade alta (vence os padrões do widget);
   aparência (cores, fontes, bordas, raio) com especificidade baixa, para a aba Estilo do widget mandar. */
body.rv .rv-form.elementor-widget-form .elementor-form-fields-wrapper.elementor-labels-above{display:flex;flex-wrap:wrap;gap:.8rem 1rem;margin:.4rem 0 0}

body.rv .rv-form.elementor-widget-form .elementor-form-fields-wrapper .elementor-field-group{display:grid;gap:.4rem;align-content:start;flex:0 0 100%;width:auto;max-width:100%;padding:0;margin:0;min-height:0}

@media (min-width:576px){body.rv .rv-form.elementor-widget-form .elementor-form-fields-wrapper .elementor-field-group.elementor-col-50{flex:0 0 calc((100% - 1rem) / 2)}}

body.rv .rv-form.elementor-widget-form .elementor-form-fields-wrapper .elementor-field-group .elementor-field-label{display:block;padding:0;margin:0}

body.rv .rv-form .elementor-field-label{font:600 .64rem/1.2 var(--font-text);letter-spacing:.16em;text-transform:uppercase;color:var(--gold-500)}

body.rv .rv-form.elementor-widget-form .elementor-form .elementor-field-group:not(.elementor-field-type-upload) .elementor-field.elementor-field-textual,
body.rv .rv-form.elementor-widget-form .elementor-form .elementor-field-group .elementor-select-wrapper select.elementor-field-textual{width:100%;max-width:100%;min-height:46px;color-scheme:dark;box-shadow:none;-webkit-appearance:auto;appearance:auto;flex-basis:auto}

body.rv .rv-form .elementor-field-textual{padding:.7rem .85rem;border-radius:6px;border:1px solid rgba(247,245,239,.22);background-color:rgba(247,245,239,.04);color:var(--cream-50);font:500 .95rem/1.3 var(--font-text);letter-spacing:0;text-transform:none}

body.rv .rv-form.elementor-widget-form .elementor-form .elementor-field-group:not(.elementor-field-type-upload) textarea.elementor-field.elementor-field-textual{resize:vertical;min-height:90px}

body.rv .rv-form .elementor-field-textual::placeholder{color:currentColor;opacity:.55}

body.rv .rv-form.elementor-widget-form .elementor-form .elementor-field-group .elementor-select-wrapper{display:block}

body.rv .rv-form.elementor-widget-form .elementor-form .elementor-field-group .elementor-select-wrapper::before,body.rv .rv-form .select-caret-down-wrapper{display:none;content:none}

body.rv .rv-form .elementor-select-wrapper select option{background:var(--navy-950)}

body.rv .rv-form .elementor-field-textual:focus{outline:none;border-color:var(--gold-500);box-shadow:0 0 0 3px rgba(206,172,82,.18)}

body.rv .rv-form.elementor-widget-form .elementor-form .elementor-field-group .elementor-field-textual.invalido{border-color:#d9776b}

body.rv .rv-form .elementor-field-type-html:has(.modal__erro[hidden]){display:none}

body.rv .rv-form .modal__erro{color:#f0a89e;font-size:.85rem;margin:0}

body.rv .rv-form.elementor-widget-form .elementor-form-fields-wrapper .elementor-field-group.elementor-field-group-nota{flex:0 1 auto;min-width:0;order:3;margin-top:0;align-self:center}

body.rv .rv-form .modal__nota{display:block;font-size:.75rem;line-height:1.6;color:var(--navy-100);opacity:.8;max-width:30ch}

body.rv .rv-form.elementor-widget-form .elementor-form-fields-wrapper .elementor-field-group.e-form__buttons{flex:0 0 auto;order:2;margin:0 .2rem 0 0;display:block;align-self:center}

/* respiro antes da linha botão + nota (como o .modal__pe do estático): fica no último campo, para a nota quebrar de linha com o mesmo espaço */
body.rv .rv-form.elementor-widget-form .elementor-form-fields-wrapper .elementor-field-group:not(.elementor-field-type-html):has(+ .elementor-field-type-html){margin-bottom:.5rem}

body.rv .rv-form.elementor-widget-form .elementor-form .e-form__buttons .elementor-button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:50px;transition:transform .18s var(--ease),background var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}

body.rv .rv-form .elementor-button{--bg:#1f8f4e;--fg:#fff;padding:.85rem 1.45rem;border-radius:6px;background-color:var(--bg);color:var(--fg);font:600 .9rem/1 var(--font-text);letter-spacing:.02em;border:1px solid transparent}

body.rv .rv-form .elementor-button:hover{--bg:#17773f;box-shadow:0 8px 20px rgba(8,20,38,.28)}

body.rv .rv-form.elementor-widget-form .elementor-form .e-form__buttons .elementor-button:active{transform:translateY(1px) scale(.985);box-shadow:none}

body.rv .rv-form .elementor-message-success{display:none}

body.rv .rv-form .elementor-message{font-size:.85rem;color:#f0a89e;margin:.6rem 0 0}

/* ── revelação (só com JS; sem JS tudo aparece) ───────────────────────────────── */
.rv .pre{opacity:0;transform:translateY(22px)}

.rv .pre.in{opacity:1;transform:none;transition:opacity var(--dur-reveal) var(--ease),transform var(--dur-reveal) var(--ease)}

.rv .pre.pre--cortina{opacity:1;transform:none}

.rv .pre--cortina>.elementor-widget-image img{clip-path:inset(100% 0 0 0);transform:scale(1.08)}

.rv .pre--cortina.in>.elementor-widget-image img{clip-path:inset(0 0 0 0);transform:none;transition:clip-path .9s var(--ease),transform 1.2s var(--ease)}

.rv .atraso-1{transition-delay:.08s!important}
.rv .atraso-2{transition-delay:.16s!important}
.rv .atraso-3{transition-delay:.24s!important}

.rv-sem-js .rv .pre{opacity:1;transform:none}

/* ── âncoras ──────────────────────────────────────────────────────────────────── */
.rv section[id]{scroll-margin-top:calc(72px + 16px)}

/* ── no editor do Elementor: tudo visível e editável ──────────────────────────── */
.elementor-editor-active .pre,.elementor-editor-active .ornamento.pre{opacity:1!important;transform:none!important}

.elementor-editor-active .pre--cortina img{clip-path:none!important;transform:none!important}

.elementor-editor-active .hero__slide:first-child{opacity:1}

.elementor-editor-active:not(.single-elementor_library) .portao,.elementor-editor-active:not(.single-elementor_library) .gaveta,.elementor-editor-active:not(.single-elementor_library) .modal-camada{display:none!important}

.single-elementor_library.elementor-editor-active .portao,.single-elementor_library.elementor-editor-active .gaveta,.single-elementor_library.elementor-editor-active .modal-camada{position:relative;inset:auto;opacity:1;visibility:visible;transform:none;display:grid;min-height:70vh;margin-top:2rem;z-index:auto}

.single-elementor_library.elementor-editor-active .topo{position:relative;inset:auto}

.single-elementor_library.elementor-editor-active .portao__recusa{display:grid;gap:1rem;opacity:.6;outline:1px dashed var(--gold-500);padding:1rem}

.single-elementor_library.elementor-editor-active .hero__slide-textos{display:grid}

@media (prefers-reduced-motion:reduce){.rv *,.rv *::before,.rv *::after{animation:none!important;transition-duration:.01ms!important;scroll-behavior:auto!important}

  html{scroll-behavior:auto}

  .rv .hero__slide img{transform:none!important}

  .rv .pre{opacity:1;transform:none}
.rv .pre--cortina img{clip-path:none;transform:none}}

/* Visibilidade responsiva do Elementor (Avançado › Responsivo) vence o display das classes do tema.
   No editor o Elementor mostra os ocultos esmaecidos, então a regra vale só no site. */
@media (max-width:767px){body.rv:not(.elementor-editor-active) .elementor-element.elementor-hidden-mobile{display:none!important}}

@media (min-width:768px) and (max-width:1024px){body.rv:not(.elementor-editor-active) .elementor-element.elementor-hidden-tablet{display:none!important}}

@media (min-width:1025px){body.rv:not(.elementor-editor-active) .elementor-element.elementor-hidden-desktop{display:none!important}}

