/* Residencial Hero — escopo isolado; não altera Elementor, tema ou outras seções. */
.res-hero,
.res-hero *{box-sizing:border-box}
.res-hero{--rh-overlay-color:#1c0b0a;--rh-overlay-left:65%;--rh-overlay-right:10%;--rh-transition:650ms;--rh-overlay-mobile:72%;position:relative;width:100%;color:#fff;font-family:'Montserrat',Arial,Helvetica,sans-serif;isolation:isolate;clear:both}
.res-hero .rh-frame{max-width:1200px;width:100%;margin-inline:auto;padding-inline:24px}
.res-hero a{text-decoration:none;color:inherit}
.res-hero a:focus-visible,.res-hero button:focus-visible{outline:3px solid #ffd59c;outline-offset:3px}
.res-hero button{font:inherit;cursor:pointer}
.res-hero .rh-stage{position:relative;height:565px;overflow:hidden;background:#6c422f;z-index:0}
.res-hero .rh-slides,.res-hero .rh-slide,.res-hero .rh-slide picture,.res-hero .rh-slide-img{position:absolute;inset:0;width:100%;height:100%}
.res-hero .rh-slide{opacity:0;visibility:hidden;transition:opacity var(--rh-transition) ease,visibility var(--rh-transition) ease;z-index:0;pointer-events:none}
.res-hero .rh-slide.is-active{opacity:1;visibility:visible;z-index:1;pointer-events:auto}
.res-hero .rh-slide-img{display:block;object-fit:cover;object-position:var(--rh-photo-pos,center center);max-width:none}
.res-hero .rh-overlay{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(90deg,color-mix(in srgb,var(--rh-overlay-color) var(--rh-overlay-left),transparent) 0%,color-mix(in srgb,var(--rh-overlay-color) 40%,transparent) 35%,color-mix(in srgb,var(--rh-overlay-color) var(--rh-overlay-right),transparent) 72%,transparent 100%),linear-gradient(0deg,rgba(22,9,9,.18),transparent 40%)}
.res-hero .rh-header{position:absolute;z-index:8;top:0;left:0;right:0}
.res-hero .rh-header-inner{display:flex;align-items:center;gap:23px;justify-content:space-between;min-height:80px;background:rgba(255,250,243,.97);border-radius:0 0 17px 17px;padding:8px 22px;box-shadow:0 5px 27px rgba(22,8,9,.07)}
.res-hero .rh-logo{flex:none;display:block;min-width:0}
.res-hero .rh-logo img{display:block;width:163px;max-width:100%;height:auto;max-height:68px;object-fit:contain}
.res-hero .rh-navigation{display:flex;justify-content:center;align-items:center;gap:clamp(10px,1.5vw,28px);flex:1;min-width:0}
.res-hero .rh-navigation a{display:block;color:#36262b;font-size:12px;white-space:nowrap;font-weight:650;line-height:1.3;transition:color .2s}
.res-hero .rh-navigation a:hover{color:#a6074e}
.res-hero .rh-header-actions{display:flex;align-items:center;gap:17px;flex:none}
.res-hero .rh-instagram{display:inline-flex;align-items:center;justify-content:center;color:#a6074e;width:25px;height:26px}
.res-hero .rh-instagram svg{width:21px;height:21px}
.res-hero .rh-header-wa{display:flex;align-items:center;justify-content:center;gap:8px;background:#990c4a;color:white;border-radius:999px;padding:10px 17px;line-height:1.13;box-shadow:0 2px 8px #57002322;transition:transform .2s,filter .2s}
.res-hero .rh-header-wa:hover{filter:brightness(1.12);transform:translateY(-1px)}
.res-hero .rh-header-wa span{display:grid;gap:2px;font-size:11px;white-space:nowrap}
.res-hero .rh-header-wa small{font-size:11px;font-weight:750}
.res-hero .rh-wa-icon{width:29px;height:29px;flex:none;display:block}
.res-hero .rh-header-wa .rh-wa-icon{width:25px;height:25px}
.res-hero .rh-menu-toggle{display:none;border:0;background:transparent;padding:8px;color:#750733}
.res-hero .rh-menu-toggle span{display:block;width:24px;height:2px;margin:5px 0;background:currentColor}
.res-hero .rh-content{position:relative;z-index:3;display:flex;align-items:center;height:100%;padding-top:92px;padding-bottom:52px;pointer-events:none}
.res-hero .rh-copy{width:100%;max-width:570px;transform:translateY(22px);pointer-events:auto;text-shadow:0 2px 7px rgba(0,0,0,.22)}
.res-hero .rh-eyebrow{text-transform:uppercase;letter-spacing:.1em;font-size:10px;font-weight:650;margin-bottom:10px;line-height:1.4}
.res-hero .rh-title{font-family:Georgia,'Times New Roman',serif;font-weight:700;font-size:39px;line-height:1.06;letter-spacing:-.018em;margin:0 0 13px;color:#fff;text-transform:none;text-shadow:0 2px 8px rgba(0,0,0,.17)}
.res-hero .rh-desc{font-family:Montserrat,Arial,sans-serif;margin:0 0 17px;color:#fff;font-size:16px;line-height:1.45;max-width:540px;font-weight:400}
.res-hero .rh-ctas{display:flex;align-items:center;gap:12px;flex-wrap:wrap;text-shadow:none}
.res-hero .rh-action{display:inline-flex;justify-content:center;align-items:center;gap:12px;min-height:48px;border-radius:45px;padding:14px 22px;font-size:12px;font-weight:700;transition:background .2s,transform .2s,box-shadow .2s;line-height:1.16}
.res-hero .rh-action:hover{transform:translateY(-2px);box-shadow:0 6px 17px rgba(27,4,11,.2)}
.res-hero .rh-action-primary{background:#079b50;color:#fff;border:1px solid transparent}
.res-hero .rh-action-primary:hover{background:#087843}
.res-hero .rh-action-primary span:not(.rh-action-arrow){display:grid;gap:2px}
.res-hero .rh-action-primary small{font-size:11px;font-weight:700}
.res-hero .rh-action-secondary{background:#4b1c22;border:1px solid #fff;color:white}
.res-hero .rh-action-secondary:hover{background:#760f3c}
.res-hero .rh-action-arrow{font-size:23px;font-weight:400;line-height:1;margin-left:3px}
.res-hero .rh-arrow{position:absolute;z-index:6;top:55%;transform:translateY(-50%);background:#261919b8;color:#fff;border:none;border-radius:100%;width:43px;height:43px;display:flex;align-items:center;justify-content:center;font-size:30px;line-height:1;padding:0 0 3px;transition:background .2s,transform .2s}
.res-hero .rh-arrow:hover{background:#201215;transform:translateY(-50%) scale(1.07)}
.res-hero .rh-prev{left:20px}.res-hero .rh-next{right:20px}
.res-hero .rh-dots{position:absolute;bottom:58px;left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:8px;z-index:6}
.res-hero .rh-dot{width:9px;height:9px;border-radius:50%;border:1.5px solid white;background:transparent;padding:0;opacity:.95;transition:background .18s,transform .18s}
.res-hero .rh-dot.is-active{background:white;transform:scale(1.12)}
.res-hero .rh-unit-wrap{position:relative;z-index:9;margin-top:-52px;padding-bottom:13px;pointer-events:none}
.res-hero .rh-unit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.res-hero .rh-unit{display:flex;min-width:0;align-items:center;gap:14px;min-height:100px;background:#9f0b4a;border-radius:13px;padding:9px 17px 9px 9px;color:white;box-shadow:0 6px 14px rgba(59,8,30,.18);transition:transform .22s,background .22s,box-shadow .22s;pointer-events:auto}
.res-hero .rh-unit:hover{background:#780934;transform:translateY(-3px);box-shadow:0 10px 22px rgba(59,8,30,.25)}
.res-hero .rh-unit-photo{width:114px;height:80px;flex:none;max-width:36%;object-fit:cover;border-radius:8px;display:block}
.res-hero .rh-unit-icon{display:block;width:52px;height:auto;max-height:59px;object-fit:contain;flex:none;border-radius:999px}
.res-hero .rh-unit-text{display:grid;gap:7px;min-width:0;flex:1;line-height:1.25}
.res-hero .rh-unit-title{color:#fff;font-weight:700;font-size:13px;line-height:1.3}
.res-hero .rh-unit-subtitle{color:#ffe5ee;font-weight:500;font-size:12px}
.res-hero .rh-unit-next{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;font-size:27px;background:#c62e70;color:#fff;line-height:1;flex:none;padding-bottom:3px}
@media (max-width:1130px){
 .res-hero .rh-header-inner{gap:12px}
 .res-hero .rh-menu-toggle{display:block;order:1}
 .res-hero .rh-logo{order:0;margin-right:auto}
 .res-hero .rh-header-actions{order:2}
 .res-hero .rh-navigation{position:absolute;top:calc(100% - 1px);left:24px;right:24px;display:none;flex-direction:column;gap:0;padding:10px 14px;background:#fffaf3;border-radius:0 0 13px 13px;box-shadow:0 12px 24px rgba(0,0,0,.16)}
 .res-hero .rh-navigation.is-open{display:flex}
 .res-hero .rh-navigation a{width:100%;padding:11px 12px;border-bottom:1px solid #e7d5d9;font-size:14px}
 .res-hero .rh-navigation a:last-child{border-bottom:0}
 .res-hero .rh-unit{gap:10px}
 .res-hero .rh-unit-photo{width:85px}
 .res-hero .rh-unit-icon{width:41px}
}
@media (max-width:767px){
 .res-hero .rh-frame{padding-inline:17px}
 .res-hero .rh-stage{height:610px}
 .res-hero .rh-header-inner{min-height:70px;padding:6px 10px;gap:9px;border-radius:0 0 13px 13px}
 .res-hero .rh-logo img{width:115px;max-height:56px}
 .res-hero .rh-header-actions{gap:5px}
 .res-hero .rh-instagram{display:none}
 .res-hero .rh-header-wa{padding:8px 11px}
 .res-hero .rh-header-wa .rh-wa-icon{width:22px;height:22px}
 .res-hero .rh-header-wa span,.res-hero .rh-header-wa small{font-size:9px}
 .res-hero .rh-navigation{left:17px;right:17px}
 .res-hero .rh-overlay{background:linear-gradient(90deg,color-mix(in srgb,var(--rh-overlay-color) var(--rh-overlay-mobile),transparent) 0%,rgba(24,9,8,.43) 78%,rgba(24,9,8,.25) 100%),linear-gradient(0deg,rgba(24,9,8,.25),transparent 35%)}
 .res-hero .rh-slide-img{object-position:var(--rh-photo-pos-mobile,center center)}
 .res-hero .rh-content{align-items:flex-end;padding-top:90px;padding-bottom:91px}
 .res-hero .rh-copy{max-width:420px;transform:none}
 .res-hero .rh-eyebrow{font-size:9px}
 .res-hero .rh-title{font-size:30px;line-height:1.1;margin-bottom:12px}
 .res-hero .rh-desc{font-size:15px;line-height:1.42;margin-bottom:16px}
 .res-hero .rh-ctas{gap:9px}
 .res-hero .rh-action{min-height:43px;padding:11px 14px;font-size:11px}
 .res-hero .rh-action-primary .rh-wa-icon{width:23px;height:23px}
 .res-hero .rh-action-primary small{font-size:10px}
 .res-hero .rh-action-arrow{font-size:19px}
 .res-hero .rh-arrow{top:49%;width:34px;height:34px;font-size:27px}
 .res-hero .rh-prev{left:7px}.res-hero .rh-next{right:7px}
 .res-hero .rh-dots{bottom:62px}
 .res-hero .rh-unit-wrap{margin-top:-22px;padding-bottom:8px}
 .res-hero .rh-unit-grid{grid-template-columns:1fr;gap:10px}
 .res-hero .rh-unit{padding:7px 11px 7px 7px;min-height:77px;border-radius:11px;gap:9px}
 .res-hero .rh-unit-photo{width:87px;height:66px}
 .res-hero .rh-unit-icon{width:36px;max-height:43px}
 .res-hero .rh-unit-title{font-size:11px}
 .res-hero .rh-unit-subtitle{font-size:10px}
 .res-hero .rh-unit-next{width:26px;height:26px;font-size:23px}
}
@media (max-width:390px){
 .res-hero .rh-logo img{width:90px}
 .res-hero .rh-header-wa span,.res-hero .rh-header-wa small{font-size:8px}
 .res-hero .rh-menu-toggle span{width:19px}
 .res-hero .rh-title{font-size:27px}
 .res-hero .rh-desc{font-size:13px}
 .res-hero .rh-unit-photo{width:73px}
}
@media (prefers-reduced-motion:reduce){.res-hero .rh-slide,.res-hero .rh-arrow,.res-hero .rh-unit,.res-hero .rh-action{transition:none!important}}

/* Residencial Hero v1.1 — imagem nativa, menu hierárquico e navegação mobile. */
.res-hero.rh-mode-natural .rh-stage{height:auto!important;aspect-ratio:1920/755;min-height:0}
.res-hero.rh-mode-custom .rh-stage{aspect-ratio:auto}
.res-hero .rh-header{z-index:30}
.res-hero .rh-header-inner{min-height:89px;gap:17px;padding:8px 19px;background:rgba(255,250,245,.97)}
.res-hero .rh-logo img{width:206px;max-height:116px;object-fit:contain}
.res-hero .rh-navigation{gap:clamp(7px,1.15vw,22px);align-self:stretch}
.res-hero .rh-navigation>a,.res-hero .rh-menu-parent{font-size:12px;font-weight:700;letter-spacing:0;white-space:nowrap;color:#36262b;line-height:1.3}
.res-hero .rh-menu-parent{border:0;background:transparent;display:inline-flex;gap:5px;align-items:center;padding:12px 0}
.res-hero .rh-menu-parent span{font-size:15px}
.res-hero .rh-nav-home{font-size:21px!important;color:#a30750!important;line-height:1!important}
.res-hero .rh-nav-group{position:relative;display:flex;align-items:center;align-self:stretch}
.res-hero .rh-subnav{position:absolute;z-index:40;top:calc(100% - 5px);left:-17px;min-width:190px;max-width:min(320px,90vw);padding:7px 0;margin:0;border-radius:5px;background:#8f164a;list-style:none;box-shadow:0 12px 27px rgba(32,8,20,.22);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(7px);transition:opacity .18s,visibility .18s,transform .18s}
.res-hero .rh-subnav li{list-style:none;margin:0;padding:0}
.res-hero .rh-subnav a{display:block;padding:12px 17px;color:#fff;font-size:12px;white-space:normal;line-height:1.4;text-align:left}
.res-hero .rh-subnav a:hover,.res-hero .rh-subnav a:focus-visible{background:rgba(255,255,255,.15);color:#fff}
.res-hero .rh-nav-group:hover .rh-subnav,.res-hero .rh-nav-group:focus-within .rh-subnav,.res-hero .rh-nav-group.is-open .rh-subnav{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.res-hero .rh-menu-parent:hover,.res-hero .rh-nav-group.is-open .rh-menu-parent{color:#a6074e}
.res-hero .rh-header-wa{min-width:147px}
.res-hero .rh-title{font-size:32px;line-height:1.12}
.res-hero .rh-mobile-drawer,.res-hero .rh-mobile-scrim{display:none}
.res-hero.rh-menu-open{z-index:9999}
@media(min-width:1131px){
 .res-hero .rh-header-inner{gap:clamp(10px,1.5vw,27px)}
 .res-hero .rh-menu-toggle{display:none!important}
 .res-hero .rh-navigation{display:flex!important;position:static!important;background:transparent!important;box-shadow:none!important;padding:0!important;border-radius:0!important;flex-direction:row!important}
}
@media(max-width:1130px){
 .res-hero .rh-header-inner{position:relative}
 .res-hero .rh-menu-toggle{display:block;order:2;flex:none;border-radius:7px}
 .res-hero .rh-logo{order:0}
 .res-hero .rh-logo img{width:clamp(135px,20vw,200px);max-height:82px}
 .res-hero .rh-header-actions{order:1}
 .res-hero .rh-navigation{display:none!important}
 .res-hero .rh-mobile-scrim{display:block;position:fixed;inset:0;z-index:9000;background:rgba(22,8,17,.66);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s,visibility .25s}
 .res-hero .rh-mobile-drawer{display:flex;flex-direction:column;position:fixed;z-index:9001;right:0;top:0;bottom:0;width:min(385px,92vw);height:100vh;height:100dvh;max-height:100dvh;background:#fffaf7;color:#54192f;box-shadow:-15px 0 36px rgba(34,9,22,.25);transform:translateX(105%);visibility:hidden;transition:transform .28s ease,visibility .28s ease;overflow:hidden}
 .res-hero.rh-menu-open .rh-mobile-scrim{opacity:1;visibility:visible;pointer-events:auto}
 .res-hero.rh-menu-open .rh-mobile-drawer{transform:translateX(0);visibility:visible}
 .res-hero .rh-mobile-top{display:flex;align-items:center;justify-content:space-between;gap:14px;flex:none;min-height:96px;padding:14px 21px 10px;border-bottom:1px solid #efd7df}
 .res-hero .rh-mobile-top img{width:155px;height:auto;max-height:67px;object-fit:contain}
 .res-hero .rh-mobile-close{flex:none;width:42px;height:42px;border-radius:50%;border:1px solid #e8ced8;background:white;font-size:30px;font-weight:300;color:#790b3e;line-height:1}
 .res-hero .rh-mobile-pages{flex:1;min-height:50px;position:relative;overflow-y:auto;overscroll-behavior:contain;padding:14px 22px 16px}
 .res-hero .rh-mobile-page{display:none;animation:rh-page-slide .22s ease-out}
 .res-hero .rh-mobile-page.is-active{display:block}
 .res-hero .rh-mobile-page h3{margin:0 0 14px;font-size:18px;line-height:1.3;color:#7b093b;font-weight:750}
 .res-hero .rh-mobile-link,.res-hero .rh-mobile-group-button{width:100%;min-height:54px;display:flex;align-items:center;justify-content:space-between;text-align:left;gap:14px;background:transparent;color:#54192f;border:0;border-bottom:1px solid #eddce1;border-radius:0;padding:14px 4px;font-size:16px;font-weight:650;line-height:1.3}
 .res-hero .rh-mobile-group-button span{font-size:27px;color:#980a49;font-weight:400}
 .res-hero .rh-mobile-link:hover,.res-hero .rh-mobile-group-button:hover{color:#a2074c}
 .res-hero .rh-mobile-back{width:100%;display:flex;align-items:center;gap:5px;min-height:54px;border:0;border-bottom:2px solid #e9cbd8;background:transparent;color:#8b1043;text-align:left;padding:10px 0;font-size:15px;line-height:1.25;margin-bottom:12px}
 .res-hero .rh-mobile-back span{font-size:32px;margin-right:6px;font-weight:300;line-height:1}
 .res-hero .rh-mobile-footer{flex:none;padding:13px 20px max(14px,env(safe-area-inset-bottom));border-top:1px solid #ead1dc;box-shadow:0 -7px 18px rgba(40,7,22,.05);background:#fffaf7}
 .res-hero .rh-mobile-whatsapp{display:flex;justify-content:center;align-items:center;gap:11px;border-radius:14px;background:#069d50;color:white;min-height:52px;padding:10px 14px;font-size:15px;font-weight:700;box-shadow:0 5px 14px rgba(4,94,45,.16)}
 .res-hero .rh-mobile-whatsapp .rh-wa-icon{width:26px;height:26px}
 .res-hero .rh-mobile-whatsapp span{display:flex;flex-direction:column;gap:2px}
 .res-hero .rh-mobile-whatsapp small{font-size:12px}
 .res-hero .rh-mobile-addresses{display:grid;grid-template-columns:1fr;gap:10px;margin-top:13px}
 .res-hero .rh-mobile-address{display:grid;grid-template-columns:1fr auto;column-gap:7px;row-gap:2px;align-items:start;padding:0 0 9px;border-bottom:1px solid #f0dfe6}
 .res-hero .rh-mobile-address:last-child{border-bottom:none;padding-bottom:0}
 .res-hero .rh-mobile-address strong{font-size:12px;color:#850b40;grid-column:1/-1}
 .res-hero .rh-mobile-address span{font-size:11px;line-height:1.4;color:#5c4850}
 .res-hero .rh-mobile-address a{font-size:11px;color:#a8074b;text-decoration:underline;font-weight:700;white-space:nowrap}
}
@keyframes rh-page-slide{from{opacity:.2;transform:translateX(16px)}to{opacity:1;transform:translateX(0)}}
@media(max-width:767px){
 .res-hero.rh-mode-natural .rh-stage{aspect-ratio:auto;height:610px!important;min-height:530px}
 .res-hero .rh-header-inner{min-height:74px;padding:6px 11px}
 .res-hero .rh-logo img{width:148px;max-height:69px}
 .res-hero .rh-menu-toggle{padding:10px}
 .res-hero .rh-header-wa{display:none}
 .res-hero .rh-navigation{display:none!important}
 .res-hero .rh-mobile-top{min-height:85px}
 .res-hero .rh-mobile-pages{padding-top:12px}
 .res-hero .rh-content{padding-bottom:89px}
}
@media(max-width:390px){
 .res-hero .rh-logo img{width:130px}
 .res-hero .rh-mobile-top img{width:138px}
 .res-hero .rh-mobile-pages{padding:9px 17px}
 .res-hero .rh-mobile-footer{padding-inline:15px}
}
@media(prefers-reduced-motion:reduce){.res-hero .rh-mobile-drawer,.res-hero .rh-mobile-scrim,.res-hero .rh-mobile-page,.res-hero .rh-subnav{transition:none!important;animation:none!important}}
body.rh-menu-body-open{overflow:hidden!important}

@media(min-width:768px){.res-hero.rh-mode-natural .rh-slide-img{object-fit:contain}}

/* Preservação da personalização dos controles do Elementor, inclusive quando definidos por página. */
@media(max-width:1130px){
 .res-hero .rh-mobile-whatsapp{color:#fff}
 .res-hero .rh-mobile-footer{max-height:48dvh;overflow-y:auto;overscroll-behavior:contain}
 .res-hero .rh-mobile-drawer{z-index:999999}
 .res-hero .rh-mobile-scrim{z-index:999998}
}
@media(min-width:768px) and (max-width:1130px){
 .res-hero.rh-mode-natural .rh-stage{aspect-ratio:1920/755;height:auto!important}
}


/* Residencial Hero v1.3 — tarja sobreposta de ponta a ponta, sem caixa cortando a imagem. */
.res-hero .rh-header{
  position:absolute;inset:0 0 auto 0;width:100%;max-width:none!important;
  border-radius:0;isolation:isolate;overflow:visible;background:none;
  box-shadow:0 1px 6px rgba(50,14,28,.04);
}
.res-hero .rh-header::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:#fffaf3;opacity:.88;
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  pointer-events:none;
}
.res-hero .rh-header-inner.rh-frame{
  max-width:1200px;margin:0 auto;min-height:94px;
  padding:9px 24px;gap:clamp(10px,1.5vw,25px);
  border:0;border-radius:0;background:transparent!important;box-shadow:none!important;
}
.res-hero .rh-logo img{width:206px;max-height:96px;object-fit:contain}
.res-hero .rh-nav-home{
  display:inline-flex!important;align-items:center;justify-content:center;
  color:#a6074e;flex:none;transition:color .2s,transform .2s;
}
.res-hero .rh-nav-home:hover{transform:translateY(-1px);color:#760733!important}
.res-hero .rh-nav-home svg{display:block;width:21px;height:21px;stroke:currentColor}
.res-hero .rh-mobile-home-link{justify-content:flex-start;gap:12px}
.res-hero .rh-mobile-home-icon{display:inline-flex;flex:none;width:22px;height:22px;color:#a6074e}
.res-hero .rh-mobile-home-icon svg{width:22px;height:22px}
.res-hero .rh-navigation{gap:clamp(8px,1.6vw,25px)}
.res-hero .rh-navigation>a,.res-hero .rh-menu-parent{font-size:12px;font-weight:650}
.res-hero .rh-header-wa{border-radius:999px}
@media(max-width:1130px){
  .res-hero .rh-header-inner.rh-frame{min-height:79px;padding:7px 19px}
  .res-hero .rh-logo img{width:clamp(145px,19vw,200px);max-height:82px}
}
@media(max-width:767px){
  .res-hero .rh-header-inner.rh-frame{min-height:72px;padding:6px 17px}
  .res-hero .rh-logo img{width:148px;max-height:63px}
  .res-hero .rh-menu-toggle{margin-left:auto}
  .res-hero .rh-header-wa{display:none}
  .res-hero .rh-menu-toggle{display:block}
}
@media(max-width:390px){.res-hero .rh-logo img{width:130px}}


/* v1.4.0 — alinhamento visual com a hero aprovada: proporções, não uma nova identidade.
   Todas as propriedades continuam restritas a .res-hero e ajustáveis via Elementor. */
@media (min-width:1131px) {
  .res-hero .rh-header {top:0; background:transparent; box-shadow:none;}
  .res-hero .rh-header::before {
    background:#fffaf4; opacity:.73; backdrop-filter:blur(7px); -webkit-backdrop-filter:blur(7px);
  }
  .res-hero .rh-header-inner.rh-frame {
    max-width:1280px; min-height:106px; padding:4px 24px;
    border:0; box-shadow:none; background:transparent!important;
    justify-content:space-between; gap:26px;
  }
  .res-hero .rh-logo img {width:250px;max-height:122px; object-fit:contain;}
  .res-hero .rh-navigation {gap:clamp(11px,1.6vw,26px);}
  .res-hero .rh-navigation>a,.res-hero .rh-menu-parent {font-family:Georgia,'Times New Roman',serif; font-weight:500;font-size:16px;}
  .res-hero .rh-header-wa {min-height:58px; padding:12px 23px; border-radius:40px;}
  .res-hero .rh-header-wa span,.res-hero .rh-header-wa small {font-size:14px;}
  .res-hero .rh-header-wa .rh-wa-icon {width:29px;height:29px;}
  .res-hero .rh-content {padding-top:105px; padding-bottom:75px;}
  .res-hero .rh-copy {max-width:610px;transform:translateY(-24px);text-shadow:0 2px 8px rgba(0,0,0,.16);}
  .res-hero .rh-eyebrow {font-size:11px;margin-bottom:12px;}
  .res-hero .rh-title {font-family:Georgia,'Times New Roman',serif;font-size:53px;line-height:1.04;letter-spacing:-.018em;margin-bottom:17px;}
  .res-hero .rh-desc {font-size:18px;line-height:1.5;max-width:570px;margin-bottom:22px;}
  .res-hero .rh-action {min-height:54px;padding:13px 23px;font-size:14px;}
  .res-hero .rh-unit-wrap {margin-top:-60px;padding-bottom:23px;}
  .res-hero .rh-unit-grid {gap:15px;}
  .res-hero .rh-unit {min-height:150px;padding:12px;gap:16px;border-radius:14px;background:linear-gradient(110deg,#9d0646,#ad0b50);}
  .res-hero .rh-unit-photo {width:150px;height:124px;max-width:29%;border-radius:9px;object-fit:cover;}
  .res-hero .rh-unit-icon {width:51px;max-height:63px;}
  .res-hero .rh-unit-text {gap:6px;}
  .res-hero .rh-unit-title {font:500 14px/1.2 Georgia,'Times New Roman',serif;}
  .res-hero .rh-unit-subtitle {font:700 25px/1.12 Georgia,'Times New Roman',serif;color:#fff;}
  .res-hero .rh-unit-next {width:36px;height:36px;font-size:27px;}
  .res-hero .rh-arrow {top:52%;width:48px;height:48px;background:#22191aba;border:1px solid #ffffff77;}
  .res-hero .rh-dots {bottom:65px;}
}
.res-hero .rh-title-accent {display:block;width:75px;height:5px;border-radius:3px;background:#bc0b54;margin:0 0 18px;}
@media (min-width:768px) and (max-width:1130px){
  .res-hero .rh-title{font-size:clamp(32px,4.2vw,46px)}
  .res-hero .rh-unit-subtitle{font:700 18px/1.16 Georgia,'Times New Roman',serif;color:#fff;}
  .res-hero .rh-unit-title{font-size:12px;}
  .res-hero .rh-unit{min-height:115px;}
  .res-hero .rh-title-accent{margin-bottom:12px;}
}
@media (max-width:767px){
  .res-hero .rh-header::before {background:#fffaf5;opacity:.76;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);}
  .res-hero .rh-title{font-family:Georgia,'Times New Roman',serif;font-weight:700;}
  .res-hero .rh-title-accent{width:52px;height:4px;margin-bottom:14px;}
  .res-hero .rh-unit-title{font:500 12px/1.2 Georgia,'Times New Roman',serif;}
  .res-hero .rh-unit-subtitle{font:700 14px/1.13 Georgia,'Times New Roman',serif;color:#fff;}
  .res-hero .rh-unit-photo {max-width:32%;}
}
/* As fotos têm sua própria proporção e não são interpoladas para parecerem outras imagens. */
@media (min-width:768px){ .res-hero.rh-mode-natural .rh-slide-img {object-fit:contain;} }
/* Botões visíveis e legíveis em qualquer slide. */
.res-hero .rh-action-secondary {background:rgba(55,25,28,.48); backdrop-filter:blur(3px)}
.res-hero .rh-action-primary {border-color:#ffffff44}

/* Layout realmente sobreposto: a tarja é a camada leve sobre a foto, não uma caixa. */
@media(min-width:1131px){
 .res-hero .rh-header-inner.rh-frame{min-height:104px}
 .res-hero .rh-logo img{height:118px;max-height:118px;width:247px;margin-block:-12px;}
 .res-hero .rh-content{padding-top:118px;padding-bottom:46px}
}
.res-hero .rh-mobile-nav-ico{width:24px;height:24px;flex:none;display:inline-flex;align-items:center;justify-content:center;color:#a2074c}
.res-hero .rh-mobile-nav-ico svg{display:block;width:22px;height:22px;flex:none}
@media(max-width:1130px){
 .res-hero .rh-mobile-group-button,.res-hero .rh-mobile-link{justify-content:flex-start}
 .res-hero .rh-mobile-group-button>span:last-child:not(.rh-mobile-nav-ico){margin-left:auto}
 .res-hero .rh-mobile-link .rh-mobile-nav-ico{margin-right:1px}
}

/* ========== Residencial Hero 1.5.0: sticky com controles independentes ========== */
.res-hero {
  --rh-top-opacity:.86; --rh-stick-opacity:.97; --rh-stick-bg:#fffaf3;
  --rh-sticky-height:70px; --rh-sticky-logo-width:158px; --rh-sticky-menu-size:13px;
  --rh-nav-gap:22px; --rh-sticky-nav-gap:17px;
}
/* O header fica no nível raiz do widget, FORA do contêiner que recorta a imagem. */
.res-hero .rh-header {top:0;left:0;right:0;width:100%;z-index:100;transition:box-shadow .22s ease;}
.res-hero .rh-header::before {
 background:#fffaf3;
 opacity:var(--rh-top-opacity,.86);
 transition:opacity .24s ease, background-color .24s ease, backdrop-filter .24s ease;
}
.res-hero .rh-header-inner.rh-frame { min-height:var(--rh-header-height,116px); transition:min-height .24s ease,padding .24s ease; }
.res-hero .rh-logo img {display:block; width:var(--rh-logo-width,242px); height:auto; max-height:calc(var(--rh-header-height,116px) - 16px); margin:0!important;object-fit:contain;transition:width .24s ease,max-height .24s ease;}
.res-hero .rh-navigation {gap:var(--rh-nav-gap,22px)!important;transition:gap .24s ease;}
.res-hero .rh-navigation > a, .res-hero .rh-menu-parent {transition:font-size .24s ease,color .2s ease;}
.res-hero .rh-menu-parent{gap:8px}
.res-hero .rh-menu-chevron{display:block;width:13px;height:13px;flex:none;transition:transform .2s ease;color:#7c2948;}
.res-hero .rh-nav-group:hover .rh-menu-chevron,.res-hero .rh-nav-group.is-open .rh-menu-chevron,.res-hero .rh-nav-group:focus-within .rh-menu-chevron{transform:rotate(180deg)}
.res-hero .rh-instagram svg {display:block;width:25px;height:25px;}
.res-hero .rh-header-actions {gap:17px;}
.res-hero .rh-header-wa strong,.res-hero .rh-action-primary strong {display:block;line-height:1.2;}
.res-hero .rh-header-wa small,.res-hero .rh-action-primary small {display:block;line-height:1.2;}
.res-hero .rh-header-wa span {display:flex;flex-direction:column;}
.res-hero .rh-secondary-lines {display:flex;flex-direction:column;gap:3px;align-items:flex-start;}
.res-hero .rh-secondary-first {display:block;font-weight:700;}
.res-hero .rh-secondary-line2 {display:block;font-size:.82em;line-height:1.15;}
/* Header compacto fixo e autônomo; nunca reduz ou move a imagem original da hero. */
.res-hero.rh-sticky-active {z-index:99990;isolation:auto;}
.res-hero.rh-sticky-active .rh-header {
 position:fixed!important;top:0;left:0;right:0;width:100%;
 box-shadow:0 3px 18px rgba(69,15,39,.11);
}
.res-hero.rh-sticky-active .rh-header::before {opacity:var(--rh-stick-opacity,.97)!important;background:var(--rh-stick-bg,#fffaf3)!important;}
.res-hero.rh-sticky-active .rh-header-inner.rh-frame {min-height:var(--rh-sticky-height,70px)!important;padding-top:5px;padding-bottom:5px;}
.res-hero.rh-sticky-active .rh-logo img {width:var(--rh-sticky-logo-width,158px)!important;max-height:calc(var(--rh-sticky-height,70px) - 10px)!important;}
.res-hero.rh-sticky-active .rh-navigation {gap:var(--rh-sticky-nav-gap,17px)!important;}
.res-hero.rh-sticky-active .rh-navigation>a,.res-hero.rh-sticky-active .rh-menu-parent {font-size:var(--rh-sticky-menu-size,13px)!important;}
.res-hero.rh-sticky-active .rh-header-wa {min-height:43px;padding:8px 15px;}
.res-hero.rh-sticky-active .rh-header-wa .rh-wa-icon {width:22px;height:22px;}
/* Os controles do Elementor têm prioridade para dimensões da logo e cabeçalho no topo. */
@media(min-width:1131px){
 .res-hero .rh-header-inner.rh-frame{min-height:var(--rh-header-height,116px)!important;padding-top:7px;padding-bottom:7px;}
 .res-hero .rh-logo img{width:var(--rh-logo-width,242px)!important;max-height:calc(var(--rh-header-height,116px) - 14px)!important;}
 .res-hero.rh-sticky-active .rh-header-inner.rh-frame{min-height:var(--rh-sticky-height,70px)!important;}
 .res-hero.rh-sticky-active .rh-logo img{width:var(--rh-sticky-logo-width,158px)!important;max-height:calc(var(--rh-sticky-height,70px) - 10px)!important;}
}
@media(max-width:1130px){
 .res-hero .rh-header-inner.rh-frame {min-height:var(--rh-header-height,79px)!important;}
 .res-hero .rh-logo img {width:var(--rh-logo-width,180px)!important;max-height:calc(var(--rh-header-height,79px) - 12px)!important;}
 .res-hero.rh-sticky-active .rh-header-inner.rh-frame {min-height:var(--rh-sticky-height,70px)!important;}
 .res-hero.rh-sticky-active .rh-logo img {width:var(--rh-sticky-logo-width,130px)!important;max-height:calc(var(--rh-sticky-height,70px) - 9px)!important;}
 .res-hero .rh-mobile-drawer {position:fixed;}
}
@media(max-width:767px){
 .res-hero .rh-header-inner.rh-frame {min-height:var(--rh-header-height,74px)!important;}
 .res-hero.rh-sticky-active .rh-header-inner.rh-frame{min-height:var(--rh-sticky-height,62px)!important;}
 .res-hero.rh-sticky-active .rh-logo img {width:var(--rh-sticky-logo-width,112px)!important;max-height:calc(var(--rh-sticky-height,62px) - 8px)!important;}
}
@media(prefers-reduced-motion:reduce){.res-hero .rh-header,.res-hero .rh-header::before,.res-hero .rh-header-inner.rh-frame,.res-hero .rh-logo img,.res-hero .rh-navigation{transition:none!important}}
