:root{
    --op-primary:#0B63F6;
    --op-primary-rgb:11,99,246;
    --op-secondary:#101828;
    --op-accent:#7C3AED;
    --op-bg:#ffffff;
    --op-surface:#ffffff;
    --op-soft:#f5f8fc;
    --op-ink:#101828;
    --op-muted:#667085;
    --op-line:#e6ebf2;
    --op-shadow:0 26px 80px rgba(15,23,42,.12);
    --op-radius:28px;
    --op-header-h:104px;
    --op-logo-size:96px;
    --op-footer-logo-size:118px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;overflow-x:hidden;background:var(--op-bg);color:var(--op-ink);font-family:Inter,Arial,sans-serif;-webkit-font-smoothing:antialiased}
body.op-font-manrope{font-family:Manrope,Arial,sans-serif}
body.op-font-playfair{font-family:Inter,Arial,sans-serif}
body.op-font-playfair h1,body.op-font-playfair h2,body.op-font-playfair h3{font-family:"Playfair Display",Georgia,serif}
a{color:inherit}
img,video{max-width:100%}
button,input,textarea,select{font:inherit}
.op-container{width:min(1280px,calc(100% - 48px));margin:0 auto}
.op-section{position:relative;padding:clamp(78px,8vw,132px) 0}
.op-kicker{display:inline-flex;align-items:center;gap:9px;margin-bottom:14px;color:var(--op-primary);font-size:.74rem;font-weight:950;letter-spacing:.12em;text-transform:uppercase}
.op-kicker:before{content:"";width:24px;height:2px;background:currentColor;border-radius:99px}
.op-title{margin:0;color:var(--op-ink);font-size:clamp(2.2rem,4.6vw,4.9rem);font-weight:950;letter-spacing:-.055em;line-height:.98}
.op-copy{margin:18px 0 0;color:var(--op-muted);font-size:1rem;font-weight:600;line-height:1.82}
.op-head{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:34px}
.op-head-copy{max-width:760px}
.op-head-center{justify-content:center;text-align:center}.op-head-center .op-head-copy{max-width:800px}.op-head-center .op-kicker{justify-content:center}
.op-btn{min-height:50px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:0 20px;border:0;border-radius:16px;background:var(--op-primary);color:#fff!important;text-decoration:none;font-size:.88rem;font-weight:900;cursor:pointer;box-shadow:0 14px 32px rgba(var(--op-primary-rgb),.27);transition:transform .22s ease,box-shadow .22s ease,background .22s ease}
.op-btn:hover{transform:translateY(-2px);box-shadow:0 18px 38px rgba(var(--op-primary-rgb),.33)}
.op-btn.ghost{background:rgba(255,255,255,.12);color:#fff!important;border:1px solid rgba(255,255,255,.34);box-shadow:none;backdrop-filter:blur(14px)}
.op-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}


.op-page-flow{display:flex;flex-direction:column;min-width:0}
/* HEADER */
.op-header{position:fixed;inset:0 0 auto;z-index:4000;height:var(--op-header-h);display:flex;align-items:center;transition:height .28s ease,background .28s ease,border .28s ease,box-shadow .28s ease,backdrop-filter .28s ease;background:rgba(255,255,255,.92);border-bottom:1px solid rgba(15,23,42,.07);box-shadow:0 12px 36px rgba(15,23,42,.06);backdrop-filter:blur(20px) saturate(1.08)}
.op-header.is-scrolled{height:88px;background:rgba(255,255,255,.965);box-shadow:0 18px 46px rgba(15,23,42,.10)}
.op-nav{height:100%;display:grid;grid-template-columns:minmax(120px,.7fr) auto minmax(180px,1fr);align-items:center;gap:26px}
.op-brand{min-width:0;display:inline-flex;align-items:center;gap:0;text-decoration:none;color:var(--op-ink)}
.op-logo-shell{width:var(--op-logo-size);height:calc(var(--op-logo-size) * .72);max-width:220px;max-height:104px;display:flex;align-items:center;justify-content:center;flex:0 0 auto;transition:.25s ease}
.op-logo-shell img{width:100%;height:100%;display:block;object-fit:contain}
.op-logo-caixa{padding:8px;border-radius:18px;background:#fff;border:1px solid rgba(15,23,42,.08);box-shadow:0 12px 26px rgba(15,23,42,.10)}
.op-logo-livre{padding:0;background:transparent;border:0;box-shadow:none}
.op-header.is-scrolled .op-logo-shell{transform:scale(.88);transform-origin:left center}
.op-brand-copy{display:none!important}
.op-desktop-nav{min-width:0}
.op-menu{display:flex;align-items:center;justify-content:center;gap:3px;margin:0;padding:0;list-style:none}
.op-menu a{min-height:42px;display:flex;align-items:center;padding:0 12px;border-radius:13px;color:#344054;text-decoration:none;font-size:.78rem;font-weight:850;white-space:nowrap;transition:.2s ease}
.op-menu a:hover,.op-menu a.active{color:var(--op-primary);background:rgba(var(--op-primary-rgb),.08)}
.op-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px}.op-header-whats{min-height:46px;border-radius:15px}.op-mobile-trigger{display:none;width:46px;height:46px;border:1px solid rgba(15,23,42,.08);border-radius:15px;background:#fff;color:var(--op-ink);cursor:pointer}
/* importante: o menu mobile nunca aparece solto no desktop */
.op-mobile-menu{display:none}
body.op-menu-static .op-header{position:absolute}

/* HERO ROTATIVO */
.op-hero{position:relative;overflow:hidden;background:#09111f;color:#fff}
.op-hero-media{min-height:620px}.op-hero-grande{min-height:760px}.op-hero-tela{min-height:100svh}
.op-hero-slider{position:relative;width:100%;height:inherit;min-height:inherit}
.op-hero-slide{position:absolute;inset:0;z-index:1;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .75s ease,visibility .75s ease}
.op-hero-slide.is-active{position:relative;z-index:2;opacity:1;visibility:visible;pointer-events:auto}
.op-hero-backdrop{position:absolute;inset:0;background:#0c1423}.op-hero-backdrop-empty{background:radial-gradient(circle at 75% 30%,rgba(var(--op-primary-rgb),.42),transparent 35%),linear-gradient(135deg,#07101f,#182338)}
.op-hero-backdrop img,.op-hero-backdrop video{width:100%;height:100%;display:block;object-fit:cover;transform:scale(1.025);transition:transform 8s linear}
.op-hero-slide.is-active .op-hero-backdrop img,.op-hero-slide.is-active .op-hero-backdrop video{transform:scale(1.075)}
.op-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,10,20,calc(var(--slide-overlay) + .24)) 0%,rgba(5,10,20,var(--slide-overlay)) 44%,rgba(5,10,20,calc(var(--slide-overlay) * .58)) 100%)}
.op-hero-decor{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(90deg,#000,transparent 85%);opacity:.35}
.op-hero-content{position:relative;z-index:4;min-height:inherit;display:flex;align-items:center;padding-top:calc(var(--op-header-h) + 34px);padding-bottom:78px}
.op-hero-copy{width:min(760px,72%);text-shadow:0 4px 30px rgba(0,0,0,.22)}
.op-hero-copy .op-kicker{color:#fff;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18);padding:9px 12px;border-radius:999px;backdrop-filter:blur(12px)}.op-hero-copy .op-kicker:before{width:8px;height:8px;border-radius:50%;background:var(--op-primary)}
.op-hero h1{margin:10px 0 0;color:#fff;font-size:clamp(2.9rem,6.2vw,6.9rem);font-weight:950;letter-spacing:-.072em;line-height:.84;max-width:1000px}
.op-hero-copy p{max-width:720px;margin:26px 0 0;color:rgba(255,255,255,.78);font-size:clamp(1rem,1.4vw,1.18rem);font-weight:600;line-height:1.75;text-shadow:0 3px 18px rgba(0,0,0,.24)}
.op-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}
.op-align-centro{justify-content:center;text-align:center}.op-align-centro .op-hero-copy{width:min(850px,90%)}.op-align-centro .op-hero-copy p{margin-left:auto;margin-right:auto}.op-align-centro .op-hero-actions{justify-content:center}.op-align-centro .op-kicker{justify-content:center}
.op-align-direita{justify-content:flex-end;text-align:right}.op-align-direita .op-hero-copy p{margin-left:auto}.op-align-direita .op-hero-actions{justify-content:flex-end}.op-align-direita .op-kicker{justify-content:flex-end}
.op-hero-arrow{position:absolute;top:50%;z-index:10;width:54px;height:54px;margin-top:-27px;border:1px solid rgba(255,255,255,.28);border-radius:18px;background:rgba(7,12,22,.34);color:#fff;display:grid;place-items:center;cursor:pointer;backdrop-filter:blur(12px);transition:.22s ease}.op-hero-arrow:hover{background:var(--op-primary);border-color:var(--op-primary);transform:translateY(-2px)}.op-hero-arrow.prev{left:24px}.op-hero-arrow.next{right:24px}
.op-hero-dots{position:absolute;z-index:10;left:50%;bottom:34px;display:flex;gap:7px;transform:translateX(-50%)}.op-hero-dots button{width:8px;height:8px;padding:0;border:0;border-radius:999px;background:rgba(255,255,255,.44);cursor:pointer;transition:.25s ease}.op-hero-dots button.is-active{width:32px;background:#fff}
.op-hero-counter{position:absolute;right:34px;bottom:30px;z-index:10;display:flex;align-items:center;gap:10px;color:#fff;font-size:.72rem;font-weight:900;letter-spacing:.08em}.op-hero-counter i{width:40px;height:1px;background:rgba(255,255,255,.42)}

/* EMPRESA */
.op-company{overflow:hidden;background:linear-gradient(180deg,#fff,#f8fafc)}
.op-company:before{content:"";position:absolute;width:440px;height:440px;right:-180px;top:-100px;border-radius:50%;background:rgba(var(--op-primary-rgb),.09);filter:blur(50px)}
.op-company-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:clamp(44px,7vw,100px);align-items:center}
.op-company-media{position:relative;min-height:600px}.op-company-photo{position:absolute;margin:0;overflow:hidden;background:#e8edf4;box-shadow:var(--op-shadow)}.op-company-photo img{width:100%;height:100%;object-fit:cover;display:block}.op-company-photo.main{inset:0 18% 12% 0;border-radius:34px}.op-company-photo.secondary{width:46%;height:44%;right:0;bottom:0;border:8px solid #fff;border-radius:28px}.op-company-empty{position:absolute;inset:0 18% 12% 0;border-radius:34px;display:grid;place-items:center;background:linear-gradient(135deg,#eaf2ff,#f5f7fb);color:var(--op-primary);font-size:4rem}
.op-company-badge{position:absolute;left:28px;bottom:7%;z-index:2;display:inline-flex;align-items:center;gap:9px;padding:12px 15px;border-radius:15px;background:#101828;color:#fff;font-size:.74rem;font-weight:900;box-shadow:0 18px 38px rgba(15,23,42,.22)}
.op-company-copy{position:relative}.op-company-copy .op-copy{font-size:1.04rem}
.op-company-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:28px}.op-company-mini-grid span{display:flex;align-items:center;gap:9px;padding:13px 14px;border-radius:14px;background:#fff;border:1px solid var(--op-line);font-size:.8rem;font-weight:850}.op-company-mini-grid i{color:var(--op-primary)}

/* SERVIÇOS */
.op-services{background:var(--op-soft);overflow:hidden}
.op-section-nav{display:flex;gap:9px}.op-section-nav button,.op-review-nav button{width:48px;height:48px;border:1px solid var(--op-line);border-radius:15px;background:#fff;color:var(--op-ink);cursor:pointer;box-shadow:0 10px 25px rgba(15,23,42,.06);transition:.2s}.op-section-nav button:hover,.op-review-nav button:hover{background:var(--op-primary);border-color:var(--op-primary);color:#fff}
.op-services-viewport{width:100%;overflow-x:auto;scroll-behavior:smooth;scrollbar-width:none;padding:4px 0 12px}.op-services-viewport::-webkit-scrollbar{display:none}
.op-services-track{display:flex;gap:14px;align-items:stretch}
.op-card{position:relative;flex:0 0 calc((100% - 42px)/4);min-width:0;overflow:hidden;border:1px solid var(--op-line);border-radius:24px;background:#fff;box-shadow:0 8px 22px rgba(15,23,42,.045);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.op-card:hover{transform:translateY(-3px);border-color:rgba(var(--op-primary-rgb),.22);box-shadow:0 12px 28px rgba(15,23,42,.07)}
.op-card-media{position:relative;aspect-ratio:1.26/1;overflow:hidden;background:#e9eef5}.op-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.op-card:hover .op-card-media img{transform:scale(1.055)}
.op-card-index{position:absolute;right:14px;top:14px;width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:rgba(255,255,255,.9);color:#101828;font-size:.72rem;font-weight:950;backdrop-filter:blur(10px)}
.op-card-body{padding:22px}.op-card-kicker{display:block;margin-bottom:8px;color:var(--op-primary);font-size:.68rem;font-weight:950;text-transform:uppercase;letter-spacing:.07em}.op-card h3{margin:0;font-size:1.14rem;font-weight:950;line-height:1.2}.op-card p{margin:10px 0 0;color:var(--op-muted);font-size:.88rem;line-height:1.66}.op-card-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:18px;padding-top:15px;border-top:1px solid var(--op-line);color:var(--op-primary);font-size:.78rem;font-weight:900}.op-card-meta a{text-decoration:none}.op-card-meta i{font-size:.68rem;margin-left:4px}

/* DIFERENCIAIS */
.op-differentials{background:#fff}.op-free-carousel{display:flex;gap:16px;overflow-x:auto;padding:6px 2px 18px;scroll-snap-type:x mandatory;scrollbar-width:none}.op-free-carousel::-webkit-scrollbar{display:none}
.op-diff-card{flex:0 0 calc((100% - 48px)/4);scroll-snap-align:start;padding:28px;border:1px solid var(--op-line);border-radius:24px;background:#fff;transition:.22s ease}.op-diff-card:hover{transform:translateY(-5px);border-color:rgba(var(--op-primary-rgb),.24)}
.op-diff-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:17px;color:var(--op-primary);background:linear-gradient(135deg,rgba(var(--op-primary-rgb),.13),rgba(var(--op-primary-rgb),.05));font-size:1.2rem}.op-diff-card h3{margin:18px 0 0;font-size:1.03rem}.op-diff-card p{margin:9px 0 0;color:var(--op-muted);font-size:.88rem;line-height:1.62}

/* AVALIAÇÕES */
.op-testimonials{overflow:hidden;background:#0c1422;color:#fff}.op-testimonials:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 10% 20%,rgba(var(--op-primary-rgb),.28),transparent 30%),radial-gradient(circle at 90% 80%,rgba(124,58,237,.16),transparent 28%);pointer-events:none}
.op-reviews-head{position:relative;display:grid;grid-template-columns:minmax(300px,.58fr) minmax(0,1.42fr);gap:clamp(28px,4vw,58px);align-items:center}
.op-review-summary .op-title{color:#fff;font-size:clamp(2.2rem,4vw,4.3rem)}.op-review-summary .op-copy{color:rgba(255,255,255,.64)}.op-review-summary .op-kicker{color:#fff}.op-rating-row{display:flex;align-items:center;gap:16px;margin:2px 0 24px}.op-rating-row>strong{font-size:3.5rem;line-height:1;font-weight:950;letter-spacing:-.05em}.op-rating-row small{display:block;margin-top:5px;color:rgba(255,255,255,.50);font-size:.72rem;font-weight:800}
.op-stars{display:flex;gap:3px;color:#f7bd43}.op-stars i{font-size:.82rem}
.op-reviews-stage{min-width:0}.op-review-viewport{overflow:hidden}.op-review-track{display:flex;gap:12px;scroll-behavior:smooth;will-change:scroll-position}
.op-review-card{flex:0 0 calc((100% - 24px)/3);min-width:0;padding:20px;border:1px solid rgba(255,255,255,.10);border-radius:22px;background:linear-gradient(145deg,rgba(255,255,255,.085),rgba(255,255,255,.04));box-shadow:0 16px 42px rgba(0,0,0,.14);backdrop-filter:blur(12px)}
.op-review-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-direction:column}.op-review-author{display:flex;align-items:center;gap:12px}.op-review-author img,.op-review-author>span{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;object-fit:cover;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.12);font-size:1.1rem;font-weight:950}.op-review-author strong{display:block}.op-review-author small{display:block;margin-top:4px;color:rgba(255,255,255,.45);font-size:.72rem}
.op-review-card blockquote{margin:18px 0 0;color:rgba(255,255,255,.88);font-size:clamp(.92rem,1.2vw,1.08rem);font-weight:650;line-height:1.52;letter-spacing:-.02em}.op-company-answer{margin-top:16px;padding:13px;border-radius:15px;background:rgba(var(--op-primary-rgb),.16);border:1px solid rgba(var(--op-primary-rgb),.28)}.op-company-answer strong{display:flex;align-items:center;gap:8px;color:#fff;font-size:.8rem}.op-company-answer p{margin:8px 0 0;color:rgba(255,255,255,.72);font-size:.86rem;line-height:1.6}.op-company-answer small{display:block;margin-top:8px;color:rgba(255,255,255,.42);font-size:.68rem}
.op-review-nav{display:none;align-items:center;justify-content:flex-end;gap:12px;margin-top:14px}.op-review-nav.is-needed{display:flex}.op-review-nav button{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.12);color:#fff}.op-review-nav span{min-width:78px;text-align:center;color:rgba(255,255,255,.48);font-size:.72rem;font-weight:850}.op-review-nav b{color:#fff}
.op-review-empty{padding:48px;border:1px dashed rgba(255,255,255,.18);border-radius:30px;text-align:center;background:rgba(255,255,255,.04)}.op-review-empty>i{font-size:2rem;color:#f7bd43}.op-review-empty h3{margin:14px 0 0}.op-review-empty p{max-width:520px;margin:10px auto 20px;color:rgba(255,255,255,.58);line-height:1.6}

/* FAQ */
.op-faq{background:#fff}.op-faq-list{display:grid;gap:10px;max-width:960px;margin:0 auto}.op-faq-item{overflow:hidden;border:1px solid var(--op-line);border-radius:20px;background:#fff;transition:.2s}.op-faq-item.open{border-color:rgba(var(--op-primary-rgb),.24);box-shadow:0 16px 34px rgba(15,23,42,.06)}.op-faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:21px 22px;border:0;background:transparent;text-align:left;color:var(--op-ink);font-weight:900;cursor:pointer}.op-faq-q i{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:var(--op-soft);color:var(--op-primary);transition:.2s}.op-faq-item.open .op-faq-q i{transform:rotate(45deg);background:var(--op-primary);color:#fff}.op-faq-a{display:none;padding:0 22px 22px;color:var(--op-muted);line-height:1.72}.op-faq-item.open .op-faq-a{display:block}

/* CONTATO */
.op-contact{overflow:hidden;background:linear-gradient(180deg,#f7f9fc,#fff)}.op-contact:after{content:"";position:absolute;right:-160px;bottom:-160px;width:440px;height:440px;border-radius:50%;background:rgba(var(--op-primary-rgb),.11);filter:blur(44px)}
.op-contact-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,.84fr) minmax(440px,1.16fr);gap:clamp(36px,6vw,84px);align-items:center}.op-contact-links{display:grid;gap:10px;margin-top:28px}.op-contact-links a{display:flex;align-items:center;gap:12px;padding:13px 14px;border:1px solid var(--op-line);border-radius:16px;background:#fff;text-decoration:none}.op-contact-links i{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:rgba(var(--op-primary-rgb),.09);color:var(--op-primary)}.op-contact-links small,.op-contact-links strong{display:block}.op-contact-links small{color:var(--op-muted);font-size:.66rem;font-weight:800;text-transform:uppercase}.op-contact-links strong{margin-top:2px;font-size:.86rem}
.op-contact-card{position:relative;padding:30px;border:1px solid var(--op-line);border-radius:30px;background:#fff;box-shadow:var(--op-shadow)}.op-form-head{margin-bottom:22px}.op-form-head>span{color:var(--op-primary);font-size:.68rem;font-weight:950;text-transform:uppercase;letter-spacing:.08em}.op-form-head h3{margin:7px 0 0;font-size:1.45rem;line-height:1.2}.op-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.op-field{display:grid;gap:7px}.op-field.full{grid-column:1/-1}.op-field label{color:#475467;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.03em}.op-field input,.op-field textarea,.op-field select{width:100%;padding:14px 15px;border:1px solid #dbe3ec;border-radius:14px;background:#fbfcfe;color:#101828;outline:0}.op-field input:focus,.op-field textarea:focus,.op-field select:focus{border-color:var(--op-primary);box-shadow:0 0 0 4px rgba(var(--op-primary-rgb),.08)}

/* LOCALIZAÇÃO */
.op-location{background:#fff;padding-top:88px}.op-location-shell{overflow:hidden;display:grid;grid-template-columns:minmax(350px,.72fr) minmax(0,1.28fr);min-height:560px;border:1px solid var(--op-line);border-radius:34px;background:var(--op-soft);box-shadow:0 26px 70px rgba(15,23,42,.08)}.op-location-info{padding:clamp(32px,5vw,62px);align-self:center}.op-location-info .op-title{font-size:clamp(2.2rem,4vw,4rem)}.op-location-list{display:grid;gap:10px;margin:26px 0}.op-location-list>div{display:flex;gap:12px;align-items:flex-start;padding:13px;border-radius:15px;background:#fff;border:1px solid var(--op-line)}.op-location-list i{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:rgba(var(--op-primary-rgb),.09);color:var(--op-primary)}.op-location-list small,.op-location-list strong{display:block}.op-location-list small{color:var(--op-muted);font-size:.65rem;font-weight:850;text-transform:uppercase}.op-location-list strong{margin-top:3px;font-size:.84rem;line-height:1.45}.op-map{position:relative;min-height:560px;background:#e9eef5}.op-map iframe{width:100%;height:100%;min-height:560px;border:0;display:block}.op-map-badge{position:absolute;left:20px;bottom:20px;display:flex;align-items:center;gap:8px;padding:11px 13px;border-radius:14px;background:rgba(16,24,40,.90);color:#fff;font-size:.74rem;font-weight:900;box-shadow:0 16px 34px rgba(15,23,42,.22);backdrop-filter:blur(12px)}

/* RODAPÉ */
.op-footer{position:relative;padding:74px 0 0;background:#0a101b;color:#fff}.op-footer:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 8% 15%,rgba(var(--op-primary-rgb),.18),transparent 28%);pointer-events:none}.op-footer-main{position:relative;display:grid;grid-template-columns:minmax(280px,1.3fr) .7fr .8fr;gap:clamp(30px,6vw,90px);padding-bottom:48px}.op-footer-brand{max-width:430px}.op-footer-logo-shell{width:var(--op-footer-logo-size);height:calc(var(--op-footer-logo-size) * .72);max-width:230px;max-height:140px;display:flex;align-items:center;justify-content:center;text-decoration:none}.op-footer-logo-shell img{width:100%;height:100%;object-fit:contain}.op-footer-logo-caixa{padding:10px;border-radius:20px;background:#fff;border:1px solid rgba(255,255,255,.15)}.op-footer-logo-livre{padding:0;background:transparent}.op-footer-brand h3{margin:18px 0 0;font-size:1.35rem}.op-footer-brand p{margin:10px 0 0;color:rgba(255,255,255,.52);font-size:.86rem;line-height:1.7}.op-footer-socials{display:flex;gap:8px;margin-top:20px}.op-footer-socials a{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.06);color:#fff;text-decoration:none;transition:.2s}.op-footer-socials a:hover{background:var(--op-primary);border-color:var(--op-primary)}
.op-footer-col{display:flex;flex-direction:column;align-items:flex-start;gap:9px}.op-footer-col>strong{margin-bottom:7px;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.op-footer-col a,.op-footer-col span{color:rgba(255,255,255,.52);font-size:.82rem;text-decoration:none;line-height:1.45}.op-footer-col a:hover{color:#fff}.op-footer-bottom{position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;border-top:1px solid rgba(255,255,255,.08)}.op-footer-bottom small{color:rgba(255,255,255,.42);font-size:.72rem}.op-powered{font-weight:900;color:rgba(255,255,255,.68)!important}

/* MODAL AVALIAÇÃO */
.op-review-modal{position:fixed;inset:0;z-index:10000;display:none;align-items:center;justify-content:center;padding:20px}.op-review-modal.is-open{display:flex}.op-review-modal-backdrop{position:absolute;inset:0;background:rgba(4,8,15,.72);backdrop-filter:blur(8px)}.op-review-dialog{position:relative;z-index:2;width:min(560px,100%);max-height:calc(100vh - 40px);overflow:auto;padding:30px;border-radius:28px;background:#fff;color:#101828;box-shadow:0 34px 100px rgba(0,0,0,.34)}.op-review-dialog h3{margin:5px 0 0;font-size:1.8rem}.op-review-dialog>p{margin:8px 0 20px;color:#667085;line-height:1.55}.op-review-close{position:absolute;right:14px;top:14px;width:40px;height:40px;border:0;border-radius:13px;background:#f2f4f7;color:#344054;cursor:pointer}.op-review-stars-input{display:flex;justify-content:center;gap:5px;margin:0 0 18px;padding:16px;border-radius:18px;background:#f8fafc}.op-review-stars-input button{padding:0;border:0;background:transparent;color:#d0d5dd;font-size:1.75rem;cursor:pointer}.op-review-stars-input button.is-active{color:#f7bd43}.op-review-dialog form{display:grid;gap:12px}.op-review-dialog .op-btn{width:100%;margin-top:4px}
.op-toast{position:fixed;right:20px;bottom:20px;z-index:12000;display:none;max-width:390px;padding:15px 17px;border-radius:16px;background:#101828;color:#fff;box-shadow:0 18px 50px rgba(15,23,42,.28);font-size:.84rem;font-weight:750;line-height:1.45}.op-toast.show{display:block}

/* ANIMAÇÕES */
[data-op-reveal]{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s ease}[data-op-reveal].is-visible{opacity:1;transform:none}.op-sem-animacoes [data-op-reveal]{opacity:1!important;transform:none!important;transition:none!important}


/* EDIÇÃO DIRETA DA ONEPAGE */
.op-live-editor-trigger{position:fixed;right:18px;top:50%;z-index:8800;transform:translateY(-50%);min-height:48px;padding:0 15px;border:0;border-radius:16px 0 0 16px;background:#0b63f6;color:#fff;display:flex;align-items:center;gap:9px;font-weight:900;box-shadow:0 16px 40px rgba(11,99,246,.28);cursor:pointer}.op-live-editor-trigger i{font-size:1rem}.op-live-editor{position:fixed;inset:0 0 0 auto;z-index:9000;width:min(430px,94vw);transform:translateX(105%);transition:transform .28s ease;background:#f7f9fc;color:#101828;border-left:1px solid #dfe7f1;box-shadow:-30px 0 80px rgba(15,23,42,.18);display:flex;flex-direction:column}.op-live-editor.open{transform:none}.op-live-editor-head{min-height:76px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;background:#10213d;color:#fff}.op-live-editor-head small,.op-live-editor-head strong{display:block}.op-live-editor-head small{font-size:.61rem;letter-spacing:.12em;opacity:.65}.op-live-editor-head strong{margin-top:2px;font-size:1.08rem}.op-live-editor-head button{width:42px;height:42px;border:1px solid rgba(255,255,255,.13);border-radius:13px;background:rgba(255,255,255,.08);color:#fff;cursor:pointer}.op-live-editor-scroll{overflow:auto;padding:14px}.op-editor-group{margin-bottom:10px;border:1px solid #dce6f2;border-radius:16px;background:#fff;overflow:hidden}.op-editor-group>summary{list-style:none;padding:14px 15px;display:flex;align-items:center;gap:9px;font-size:.84rem;font-weight:900;cursor:pointer}.op-editor-group>summary::-webkit-details-marker{display:none}.op-editor-group>summary i{color:#0b63f6}.op-editor-group[open]>summary{border-bottom:1px solid #e8eef5}.op-live-form{padding:13px;display:grid;gap:10px}.op-live-sections{display:grid;gap:7px}.op-live-section-row{display:grid;grid-template-columns:25px 1fr auto;gap:8px;align-items:center;padding:8px;border:1px solid #e2e8f0;border-radius:12px;background:#fbfdff}.op-live-section-row.dragging{opacity:.45}.op-live-drag{color:#98a2b3;cursor:grab;text-align:center}.op-live-section-row input[type=text],.op-live-form>label input,.op-live-form>label textarea{width:100%;box-sizing:border-box;border:1px solid #d8e3ef;border-radius:10px;background:#fff;color:#101828;padding:10px 11px;font:inherit}.op-live-form>label{display:grid;gap:5px;font-size:.69rem;font-weight:850;color:#667085}.op-live-form>label textarea{resize:vertical;line-height:1.5}.op-live-toggle{position:relative}.op-live-toggle input[type=checkbox]{position:absolute;opacity:0}.op-live-toggle span{width:38px;height:22px;border-radius:999px;background:#cbd5e1;display:block;position:relative}.op-live-toggle span:after{content:"";position:absolute;width:16px;height:16px;border-radius:50%;background:#fff;left:3px;top:3px;transition:.18s}.op-live-toggle input:checked+span{background:#0b63f6}.op-live-toggle input:checked+span:after{left:19px}.op-live-save{min-height:42px;border:0;border-radius:11px;background:#0b63f6;color:#fff;font-weight:900;cursor:pointer}.op-live-text-list{padding:10px;display:grid;gap:8px}.op-live-text-card{border:1px solid #e2e8f0;border-radius:12px;background:#fbfdff;overflow:hidden}.op-live-text-card>summary{list-style:none;padding:11px 12px;font-size:.76rem;font-weight:900;cursor:pointer}.op-live-text-card>summary::-webkit-details-marker{display:none}.op-live-text-card[open]>summary{background:#eef6ff;color:#0b63f6}.op-editor-saving{opacity:.65;pointer-events:none}

/* DESIGN 1 — ESSENCIAL */
body.op-design-essencial{--op-radius:26px}
body.op-design-essencial .op-hero-overlay{background:linear-gradient(90deg,rgba(6,12,24,calc(var(--slide-overlay) + .22)) 0%,rgba(6,12,24,var(--slide-overlay)) 48%,rgba(6,12,24,calc(var(--slide-overlay) * .35)) 100%)}
body.op-design-essencial .op-hero-copy{padding:18px 0 18px 24px;border-left:3px solid var(--op-primary);background:transparent;backdrop-filter:none;text-shadow:0 4px 28px rgba(0,0,0,.34)}
body.op-design-essencial .op-hero-copy .op-kicker{display:none}
body.op-design-essencial .op-align-centro .op-hero-copy{border-left:0;border-top:4px solid var(--op-primary)}
body.op-design-essencial .op-align-direita .op-hero-copy{border-left:0;border-right:4px solid var(--op-primary)}

/* DESIGN 2 — IMPACTO */
body.op-design-impacto{--op-bg:#070c14;--op-surface:#0c131f;--op-soft:#0a111c;--op-ink:#f8fafc;--op-muted:#94a3b8;--op-line:#1c2938;color:#f8fafc;background:#070c14}
body.op-design-impacto .op-header{background:rgba(6,11,19,.34);border-color:rgba(255,255,255,.10);box-shadow:none;backdrop-filter:blur(18px)}body.op-design-impacto .op-header.is-scrolled{background:rgba(6,11,19,.94);box-shadow:0 18px 46px rgba(0,0,0,.26)}body.op-design-impacto .op-brand{color:#fff}body.op-design-impacto .op-brand-copy small,body.op-design-impacto .op-menu a{color:rgba(255,255,255,.68)}body.op-design-impacto .op-menu a:hover,body.op-design-impacto .op-menu a.active{color:#fff;background:rgba(255,255,255,.08)}body.op-design-impacto .op-mobile-trigger{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.12);color:#fff}
body.op-design-impacto .op-logo-caixa{background:#fff}
body.op-design-impacto .op-hero-overlay{background:linear-gradient(90deg,rgba(2,6,12,calc(var(--slide-overlay) + .30)) 0%,rgba(2,6,12,var(--slide-overlay)) 56%,rgba(var(--op-primary-rgb),calc(var(--slide-overlay) * .38)) 100%)}
body.op-design-impacto .op-hero h1{text-transform:uppercase;font-size:clamp(3.05rem,7.1vw,7.6rem);line-height:.79;letter-spacing:-.075em}body.op-design-impacto .op-hero-copy{width:min(900px,78%)}body.op-design-impacto .op-hero-copy p{font-size:1.05rem;max-width:650px}body.op-design-impacto .op-hero-decor{opacity:.7}
body.op-design-impacto .op-company,body.op-design-impacto .op-differentials,body.op-design-impacto .op-faq,body.op-design-impacto .op-location{background:#070c14}body.op-design-impacto .op-services,body.op-design-impacto .op-contact{background:#0a111c}body.op-design-impacto .op-title{color:#fff}body.op-design-impacto .op-company-photo.secondary{border-color:#070c14}body.op-design-impacto .op-company-mini-grid span,body.op-design-impacto .op-card,body.op-design-impacto .op-diff-card,body.op-design-impacto .op-faq-item,body.op-design-impacto .op-contact-card,body.op-design-impacto .op-contact-links a,body.op-design-impacto .op-location-list>div{background:#0d1622;border-color:#1d2a39;color:#fff}body.op-design-impacto .op-card p,body.op-design-impacto .op-diff-card p,body.op-design-impacto .op-faq-a{color:#94a3b8}body.op-design-impacto .op-field input,body.op-design-impacto .op-field textarea{background:#09111c;border-color:#263548;color:#fff}body.op-design-impacto .op-location-shell{background:#0c1420;border-color:#1d2a39}body.op-design-impacto .op-section-nav button{background:#0d1622;border-color:#243244;color:#fff}

/* DESIGN 3 — PREMIUM */
body.op-design-premium{--op-bg:#f7f3ec;--op-surface:#fffdf9;--op-soft:#eee8df;--op-ink:#171513;--op-muted:#766e64;--op-line:#ddd4c8;--op-shadow:0 30px 85px rgba(66,52,36,.13);background:#f7f3ec;color:#171513}
body.op-design-premium .op-header{background:rgba(250,247,241,.91);border-color:rgba(80,65,48,.10);box-shadow:0 12px 36px rgba(62,49,34,.06)}body.op-design-premium .op-header.is-scrolled{background:rgba(250,247,241,.97)}body.op-design-premium .op-title,body.op-design-premium .op-hero h1,body.op-design-premium .op-company-copy h2{font-family:"Playfair Display",Georgia,serif;font-weight:700;letter-spacing:-.045em}body.op-design-premium .op-kicker{color:#9a7444}body.op-design-premium .op-btn{background:#171513;box-shadow:none}body.op-design-premium .op-menu a:hover,body.op-design-premium .op-menu a.active{color:#8a642f;background:rgba(138,100,47,.08)}
body.op-design-premium .op-hero-overlay{background:linear-gradient(90deg,rgba(20,16,12,calc(var(--slide-overlay) + .28)) 0%,rgba(20,16,12,var(--slide-overlay)) 48%,rgba(20,16,12,calc(var(--slide-overlay) * .45)) 100%)}body.op-design-premium .op-hero-copy .op-kicker{color:#fff;border-radius:0;border-left:2px solid #d5b37b;background:rgba(18,14,11,.24)}body.op-design-premium .op-hero-copy .op-kicker:before{display:none}body.op-design-premium .op-hero h1{font-size:clamp(3.1rem,6.5vw,7rem);line-height:.88}body.op-design-premium .op-hero .op-btn{background:#f6efe3;color:#171513!important}body.op-design-premium .op-hero .op-btn.ghost{background:transparent;color:#fff!important;border-color:rgba(255,255,255,.34)}
body.op-design-premium .op-company{background:#f7f3ec}body.op-design-premium .op-services{background:#eee8df}body.op-design-premium .op-differentials,body.op-design-premium .op-faq,body.op-design-premium .op-location{background:#f7f3ec}body.op-design-premium .op-contact{background:#f1ebe2}body.op-design-premium .op-card,body.op-design-premium .op-diff-card,body.op-design-premium .op-faq-item,body.op-design-premium .op-contact-card,body.op-design-premium .op-contact-links a,body.op-design-premium .op-location-list>div{background:#fffdf9;border-color:#ded5c8}body.op-design-premium .op-company-photo.main{border-radius:180px 28px 180px 28px}body.op-design-premium .op-company-photo.secondary{border-radius:28px 90px 28px 90px;border-color:#f7f3ec}body.op-design-premium .op-diff-icon{color:#8a642f;background:#eee4d6}body.op-design-premium .op-location-shell{background:#eee8df;border-color:#d9cfc2}body.op-design-premium .op-footer{background:#171513}

/* TEMA ESCURO (quando escolhido manualmente) */
body.op-theme-escuro:not(.op-design-impacto){--op-bg:#080d16;--op-surface:#0d1420;--op-soft:#0a111b;--op-ink:#f7f8fa;--op-muted:#9aa5b5;--op-line:#1f2a38;background:#080d16;color:#f7f8fa}
body.op-theme-escuro:not(.op-design-impacto) .op-header{background:rgba(8,13,22,.91);border-color:rgba(255,255,255,.08)}body.op-theme-escuro:not(.op-design-impacto) .op-header.is-scrolled{background:rgba(8,13,22,.97)}body.op-theme-escuro:not(.op-design-impacto) .op-brand{color:#fff}body.op-theme-escuro:not(.op-design-impacto) .op-brand-copy small,body.op-theme-escuro:not(.op-design-impacto) .op-menu a{color:#c1cad6}body.op-theme-escuro:not(.op-design-impacto) .op-title{color:#fff}body.op-theme-escuro:not(.op-design-impacto) .op-company,body.op-theme-escuro:not(.op-design-impacto) .op-differentials,body.op-theme-escuro:not(.op-design-impacto) .op-faq,body.op-theme-escuro:not(.op-design-impacto) .op-location{background:#080d16}body.op-theme-escuro:not(.op-design-impacto) .op-services,body.op-theme-escuro:not(.op-design-impacto) .op-contact{background:#0a111b}body.op-theme-escuro:not(.op-design-impacto) .op-card,body.op-theme-escuro:not(.op-design-impacto) .op-diff-card,body.op-theme-escuro:not(.op-design-impacto) .op-faq-item,body.op-theme-escuro:not(.op-design-impacto) .op-contact-card,body.op-theme-escuro:not(.op-design-impacto) .op-contact-links a,body.op-theme-escuro:not(.op-design-impacto) .op-location-list>div{background:#0d1420;border-color:#1f2a38;color:#fff}body.op-theme-escuro:not(.op-design-impacto) .op-field input,body.op-theme-escuro:not(.op-design-impacto) .op-field textarea{background:#080d16;border-color:#263141;color:#fff}body.op-theme-escuro:not(.op-design-impacto) .op-location-shell{background:#0d1420;border-color:#1f2a38}

@media(max-width:1180px){
    :root{--op-header-h:90px}.op-container{width:min(100% - 36px,1280px)}.op-nav{grid-template-columns:1fr auto}.op-desktop-nav{display:none}.op-mobile-trigger{display:grid;place-items:center}.op-brand-copy strong{max-width:320px}.op-mobile-menu{position:fixed;top:calc(var(--op-header-h) + 8px);left:18px;right:18px;z-index:4100;padding:12px;border:1px solid var(--op-line);border-radius:20px;background:#fff;box-shadow:var(--op-shadow)}.op-mobile-menu.open{display:grid}.op-mobile-menu a{padding:13px 14px;border-radius:12px;color:#101828;text-decoration:none;font-size:.86rem;font-weight:850}.op-mobile-menu a:hover{background:rgba(var(--op-primary-rgb),.08);color:var(--op-primary)}body.op-design-impacto .op-mobile-menu,body.op-theme-escuro .op-mobile-menu{background:#0d1420;border-color:#263548}body.op-design-impacto .op-mobile-menu a,body.op-theme-escuro .op-mobile-menu a{color:#fff}
    .op-company-grid,.op-contact-grid,.op-location-shell{grid-template-columns:1fr}.op-company-media{min-height:520px}.op-location-info{order:1}.op-map{order:2;min-height:440px}.op-map iframe{min-height:440px}.op-reviews-head{grid-template-columns:1fr;gap:32px}.op-review-summary{max-width:760px}.op-card{flex-basis:calc((100% - 14px)/2)}.op-diff-card{flex-basis:calc((100% - 16px)/2)}.op-review-card{flex-basis:calc((100% - 12px)/2)}
}
@media(max-width:760px){
    :root{--op-header-h:78px}.op-container{width:min(100% - 28px,1280px)}.op-section{padding:68px 0}.op-header,.op-header.is-scrolled{height:78px}.op-brand{gap:9px}.op-logo-shell{width:min(var(--op-logo-size),82px);height:58px}.op-logo-caixa{padding:5px;border-radius:13px}.op-brand-copy strong{max-width:170px;font-size:.84rem}.op-brand-copy small{max-width:170px;font-size:.58rem}.op-header-whats{width:44px;min-height:44px;padding:0;border-radius:13px}.op-header-whats span{display:none}.op-mobile-trigger{width:44px;height:44px;border-radius:13px}.op-mobile-menu{top:86px;left:14px;right:14px}
    .op-hero-media{min-height:610px}.op-hero-grande{min-height:690px}.op-hero-tela{min-height:100svh}.op-hero-content{padding-top:118px;padding-bottom:90px;align-items:flex-end}.op-hero-copy,.op-align-centro .op-hero-copy{width:100%}.op-hero h1,body.op-design-impacto .op-hero h1,body.op-design-premium .op-hero h1{font-size:clamp(2.5rem,12vw,4.6rem);line-height:.9}.op-hero-copy p{font-size:.94rem;line-height:1.6}.op-hero-actions{margin-top:23px}.op-hero-actions .op-btn{min-height:47px;padding:0 16px}.op-hero-arrow{top:auto;bottom:28px;width:46px;height:46px;margin:0;border-radius:14px}.op-hero-arrow.prev{left:14px}.op-hero-arrow.next{right:14px}.op-hero-dots{bottom:43px}.op-hero-counter{display:none}.op-hero-copy .op-kicker{font-size:.62rem}.op-design-essencial .op-hero-copy{padding:22px;border-left-width:3px}
    .op-title{font-size:clamp(2.15rem,11vw,3.55rem)}.op-company-media{min-height:390px}.op-company-photo.main{inset:0 12% 12% 0}.op-company-photo.secondary{width:47%;height:42%;border-width:5px}.op-company-badge{left:16px;bottom:5%;padding:9px 11px}.op-company-mini-grid{grid-template-columns:1fr}.op-head{align-items:flex-start;flex-direction:column}.op-section-nav{align-self:flex-end}.op-card{flex-basis:88%}.op-diff-card{flex-basis:86%}.op-review-card{flex-basis:100%}.op-card-body{padding:19px}.op-review-card{border-radius:24px;padding:24px}.op-review-card-top{align-items:flex-start;flex-direction:column}.op-review-card blockquote{font-size:.98rem}.op-rating-row>strong{font-size:3rem}.op-contact-grid{gap:30px}.op-contact-card{padding:20px;border-radius:24px}.op-form{grid-template-columns:1fr}.op-field.full{grid-column:auto}.op-location-shell{border-radius:24px}.op-location-info{padding:26px}.op-map,.op-map iframe{min-height:360px}.op-footer{padding-top:56px}.op-footer-main{grid-template-columns:1fr;gap:30px}.op-footer-bottom{align-items:flex-start;flex-direction:column}.op-review-dialog{padding:24px 19px;border-radius:22px}.op-review-stars-input button{font-size:1.55rem}.op-toast{left:14px;right:14px;bottom:14px;max-width:none}.op-live-editor-trigger{right:0;padding:0 11px}.op-live-editor-trigger span{display:none}
}

/* =========================================================
   ONEPAGE STUDIO V4 — refinamentos visuais e backgrounds
   ========================================================= */

/* Background independente por seção */
.op-section,.op-hero{isolation:isolate}
.op-section>.op-section-bg,.op-hero>.op-section-bg{position:absolute;inset:0;z-index:0;display:block;background-position:center;background-size:cover;background-repeat:no-repeat;pointer-events:none}
.op-section>.op-container{position:relative;z-index:1}
.op-hero>.op-hero-slider{position:relative;z-index:1}
.op-company:before,.op-testimonials:before,.op-contact:after{z-index:0}
.op-live-opacity-label{display:flex;align-items:center;gap:7px;margin-top:7px;color:#667085;font-size:.62rem;font-weight:850}.op-live-opacity-label input{min-width:0;width:100%}

/* Hero — mais alto e vídeo ocupando toda a área, sem espaço inferior */
.op-hero-media{min-height:700px}
.op-hero-grande{min-height:840px}
.op-hero-tela{min-height:max(100svh,820px)}
.op-hero-slider,.op-hero-slide,.op-hero-slide.is-active{min-height:inherit}
.op-hero-slide{height:100%}
.op-hero-backdrop{overflow:hidden}
.op-hero-backdrop img,.op-hero-backdrop video{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important;object-position:center!important;margin:0!important;padding:0!important;border:0!important}
.op-hero-content{min-height:inherit}

/* Essencial — hero limpo, sem a linha lateral colorida */
body.op-design-essencial .op-hero-copy,
body.op-design-essencial .op-align-centro .op-hero-copy,
body.op-design-essencial .op-align-direita .op-hero-copy{border:0!important;padding-left:0!important;padding-right:0!important;padding-top:18px!important;padding-bottom:18px!important;background:transparent!important;backdrop-filter:none!important}

/* Produtos / Serviços — cartões mais próximos, sombra mínima e sem numeração */
.op-services-viewport{padding:2px 1px 8px}
.op-services-track{gap:10px}
.op-card{flex-basis:calc((100% - 30px)/4);box-shadow:0 3px 12px rgba(15,23,42,.028)}
.op-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(15,23,42,.045)}
.op-card-index{display:none!important}

/* Diferenciais — mais vivos, brancos e com ícones maiores */
.op-free-carousel{gap:14px;padding:7px 2px 16px;scroll-snap-type:x mandatory}
.op-diff-card{position:relative;overflow:hidden;flex-basis:calc((100% - 42px)/4);padding:30px 28px 28px;border:0!important;background:#fff!important;color:#101828!important;box-shadow:0 8px 24px rgba(15,23,42,.065);scroll-snap-align:start}
.op-diff-card:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--op-primary),var(--op-accent));opacity:.88}
.op-diff-card:hover{transform:translateY(-4px);box-shadow:0 13px 30px rgba(15,23,42,.085)}
.op-diff-icon{width:72px;height:72px;border-radius:22px;font-size:1.62rem;background:linear-gradient(145deg,rgba(var(--op-primary-rgb),.16),rgba(var(--op-primary-rgb),.055));box-shadow:inset 0 0 0 1px rgba(var(--op-primary-rgb),.08),0 8px 20px rgba(var(--op-primary-rgb),.08)}
.op-diff-card h3{margin-top:20px;color:#101828!important;font-size:1.08rem}
.op-diff-card p,body.op-design-impacto .op-diff-card p,body.op-theme-escuro:not(.op-design-impacto) .op-diff-card p{color:#667085!important}
body.op-design-impacto .op-diff-card,body.op-theme-escuro:not(.op-design-impacto) .op-diff-card{background:#fff!important;color:#101828!important;border:0!important}
body.op-design-premium .op-diff-card{background:#fff!important;border:0!important}
body.op-design-premium .op-diff-icon{background:#f4ede2;color:#8a642f}

/* Depoimentos — sem bordas e sem setas; swipe/rolagem + autoplay pelo JS */
.op-review-evaluate{margin-top:4px;background:#f7bd43!important;color:#16110a!important;box-shadow:0 12px 28px rgba(247,189,67,.18)!important}
.op-review-evaluate:hover{box-shadow:0 16px 34px rgba(247,189,67,.25)!important}
.op-review-viewport{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;scroll-snap-type:x mandatory;scroll-behavior:smooth}
.op-review-viewport::-webkit-scrollbar{display:none}
.op-review-card{border:0!important;scroll-snap-align:start;background:linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.045));box-shadow:0 12px 34px rgba(0,0,0,.12)}
.op-review-nav{display:none!important}

/* FAQ — mais presença visual */
.op-faq-list{gap:13px}
.op-faq-item{border:0!important;border-radius:20px;background:#fff;box-shadow:0 8px 26px rgba(15,23,42,.065)}
.op-faq-item:hover{box-shadow:0 12px 32px rgba(15,23,42,.085)}
.op-faq-item.open{border:0!important;box-shadow:0 16px 38px rgba(15,23,42,.10)}
.op-faq-q{padding:23px 24px;font-size:.96rem}
.op-faq-q i{width:40px;height:40px;border-radius:13px;background:linear-gradient(145deg,rgba(var(--op-primary-rgb),.12),rgba(var(--op-primary-rgb),.05));box-shadow:inset 0 0 0 1px rgba(var(--op-primary-rgb),.06)}
.op-faq-a{padding:0 24px 24px;font-size:.92rem}
body.op-design-impacto .op-faq-item,body.op-theme-escuro:not(.op-design-impacto) .op-faq-item{background:#0d1622;border:0!important;box-shadow:0 10px 28px rgba(0,0,0,.20)}
body.op-design-impacto .op-faq-item.open,body.op-theme-escuro:not(.op-design-impacto) .op-faq-item.open{box-shadow:0 16px 38px rgba(0,0,0,.28)}

/* Localização — logo do cliente flutuando como marcador */
.op-map-logo-pin{position:absolute;left:50%;top:48%;z-index:5;display:flex;flex-direction:column;align-items:center;transform:translate(-50%,-50%);filter:drop-shadow(0 18px 24px rgba(15,23,42,.24));pointer-events:none}
.op-map-logo-bubble{width:92px;height:72px;padding:9px;display:grid;place-items:center;border-radius:20px;background:#fff;border:1px solid rgba(15,23,42,.09);box-shadow:0 14px 38px rgba(15,23,42,.18)}
.op-map-logo-bubble img{width:100%;height:100%;display:block;object-fit:contain}
.op-map-logo-livre{padding:5px;background:rgba(255,255,255,.94)}
.op-map-logo-pin>i{margin-top:-5px;color:var(--op-primary);font-size:2.05rem;text-shadow:0 2px 0 #fff}
.op-map-logo-pin:before{content:"";position:absolute;left:50%;top:50%;width:118px;height:118px;border-radius:50%;border:2px solid rgba(var(--op-primary-rgb),.18);transform:translate(-50%,-44%);animation:opMapPulse 2.3s ease-out infinite;z-index:-1}
@keyframes opMapPulse{0%{transform:translate(-50%,-44%) scale(.72);opacity:.8}100%{transform:translate(-50%,-44%) scale(1.35);opacity:0}}

/* Mobile — todo carrossel fica rigorosamente de um em um */
@media(max-width:760px){
    .op-hero-media{min-height:720px}.op-hero-grande{min-height:790px}.op-hero-tela{min-height:max(100svh,790px)}
    .op-hero-content{min-height:inherit;padding-top:118px;padding-bottom:96px}
    body.op-design-essencial .op-hero-copy{padding:16px 0!important}
    .op-services-viewport,.op-free-carousel,.op-review-viewport{scroll-snap-type:x mandatory;scroll-padding:0}
    .op-services-track,.op-free-carousel,.op-review-track{gap:12px}
    .op-card,.op-diff-card,.op-review-card{flex:0 0 100%!important;width:100%!important;max-width:100%!important;scroll-snap-align:start}
    .op-card{border-radius:20px}.op-card-body{padding:19px}
    .op-diff-card{padding:26px 23px}.op-diff-icon{width:66px;height:66px;font-size:1.48rem}
    .op-review-card{padding:22px;border-radius:22px}
    .op-map-logo-bubble{width:78px;height:62px;border-radius:17px}.op-map-logo-pin>i{font-size:1.75rem}
}

/* =========================================================
   ONEPAGE STUDIO V5 — acabamento borderless, empresa full-bleed,
   mapa com marca ampliada e rodapé institucional SITOR
   ========================================================= */

/* Visual mais premium: retirar linhas/bordas dos componentes públicos. */
.op-card,
.op-diff-card,
.op-review-card,
.op-faq-item,
.op-contact-card,
.op-contact-links a,
.op-location-shell,
.op-location-list>div,
.op-company-photo.secondary,
.op-company-empty,
.op-company-answer,
.op-review-empty,
.op-review-dialog,
.op-field input,
.op-field textarea,
.op-section-nav button,
.op-hero-arrow,
.op-mobile-trigger,
.op-mobile-menu,
.op-logo-caixa,
.op-footer-logo-caixa,
.op-footer-socials a,
.op-map-logo-bubble,
.op-btn.ghost{
    border:0!important;
}
.op-field input,.op-field textarea{
    box-shadow:inset 0 0 0 1px rgba(15,23,42,.035),0 8px 22px rgba(15,23,42,.035)!important;
}
body.op-theme-escuro .op-field input,body.op-theme-escuro .op-field textarea,
body.op-design-impacto .op-field input,body.op-design-impacto .op-field textarea{
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.035)!important;
}
.op-section-nav button,.op-mobile-trigger,.op-hero-arrow{
    box-shadow:0 10px 26px rgba(15,23,42,.10)!important;
}
body.op-design-impacto .op-section-nav button,body.op-design-impacto .op-mobile-trigger,
body.op-theme-escuro .op-section-nav button,body.op-theme-escuro .op-mobile-trigger{
    box-shadow:0 12px 28px rgba(0,0,0,.18)!important;
}

/* Empresa: composição full-bleed à esquerda. */
.op-company{
    overflow:hidden;
}
.op-company .op-container.op-company-grid{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    display:grid!important;
    grid-template-columns:minmax(0,56vw) minmax(340px,1fr)!important;
    gap:clamp(38px,6vw,96px)!important;
    align-items:center!important;
}
.op-company-media{
    min-height:clamp(560px,50vw,720px)!important;
    width:100%!important;
    position:relative!important;
    overflow:visible!important;
}
.op-company-photo.main{
    position:absolute!important;
    inset:0 18% 0 0!important;
    width:auto!important;
    height:auto!important;
    margin:0!important;
    border-radius:0!important;
    overflow:hidden!important;
    box-shadow:none!important;
}
.op-company-photo.main img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    border-radius:0!important;
}
.op-company-photo.secondary{
    position:absolute!important;
    z-index:3!important;
    width:37%!important;
    height:48%!important;
    right:0!important;
    left:auto!important;
    top:10%!important;
    bottom:auto!important;
    transform:translateY(-50%)!important;
    margin:0!important;
    border-radius:28px 0 0 28px!important;
    overflow:hidden!important;
    background:#fff!important;
    box-shadow:0 26px 70px rgba(15,23,42,.18)!important;
}
.op-company-photo.secondary img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
}
.op-company-copy{
    width:min(100%,720px)!important;
    max-width:720px!important;
    padding:40px max(28px,calc((100vw - 1280px)/2)) 40px 0!important;
}
body.op-design-premium .op-company-photo.main,
body.op-design-impacto .op-company-photo.main{
    border-radius:0!important;
}
body.op-design-premium .op-company-photo.secondary,
body.op-design-impacto .op-company-photo.secondary{
    border-radius:28px 0 0 28px!important;
    border:0!important;
}

/* Marca do mapa maior e mais fácil de perceber. */
.op-map-logo-bubble{
    width:132px!important;
    height:100px!important;
    padding:12px!important;
    border-radius:24px!important;
    box-shadow:0 20px 52px rgba(15,23,42,.22)!important;
}
.op-map-logo-pin>i{
    font-size:2.3rem!important;
}
.op-map-logo-pin:before{
    width:154px!important;
    height:154px!important;
}

/* Rodapé V5: mais estruturado, sem linhas e com contato iconográfico. */
.op-footer{
    position:relative;
    overflow:hidden;
    padding-top:74px!important;
}
.op-footer:before{
    content:"";
    position:absolute;
    width:420px;
    height:420px;
    right:-180px;
    top:-220px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(var(--op-primary-rgb),.18),transparent 68%);
    pointer-events:none;
}
.op-footer-main{
    position:relative;
    z-index:1;
    align-items:start!important;
    gap:clamp(34px,5vw,74px)!important;
}
.op-footer-brand p{
    max-width:480px;
    line-height:1.72!important;
}
.op-footer-col{
    gap:11px!important;
}
.op-footer-col>strong{
    margin-bottom:5px;
    font-size:.72rem!important;
    letter-spacing:.12em!important;
    text-transform:uppercase;
    opacity:.72;
}
.op-footer-contact-link{
    display:flex!important;
    align-items:flex-start!important;
    gap:10px!important;
    min-width:0;
    color:inherit!important;
    text-decoration:none!important;
    line-height:1.5!important;
}
.op-footer-contact-link i{
    width:22px;
    min-width:22px;
    height:22px;
    display:grid;
    place-items:center;
    color:var(--op-primary);
    font-size:.88rem;
    transform:translateY(1px);
}
.op-footer-contact-link span{
    min-width:0;
}
.op-footer-bottom{
    position:relative;
    z-index:1;
    border:0!important;
    margin-top:48px!important;
    padding-top:22px!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.07);
}
.op-sitor-credit{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:8px!important;
    color:rgba(255,255,255,.58)!important;
    text-decoration:none!important;
    font-size:.68rem!important;
    font-weight:750!important;
    transition:opacity .2s ease,transform .2s ease;
}
.op-sitor-credit:hover{
    color:#fff!important;
    transform:translateY(-1px);
}
.op-sitor-credit img{
    width:auto!important;
    height:18px!important;
    max-width:54px!important;
    object-fit:contain!important;
    display:block!important;
    filter:drop-shadow(0 5px 10px rgba(0,0,0,.18));
}

@media(max-width:1180px){
    .op-company .op-container.op-company-grid{
        grid-template-columns:minmax(0,52vw) minmax(300px,1fr)!important;
        gap:38px!important;
    }
    .op-company-media{min-height:560px!important}
    .op-company-copy{padding-right:28px!important}
}

@media(max-width:760px){
    .op-company{padding-top:56px!important}
    .op-company .op-container.op-company-grid{
        grid-template-columns:1fr!important;
        gap:34px!important;
    }
    .op-company-media{
        min-height:430px!important;
        width:100vw!important;
    }
    .op-company-photo.main{
        inset:0 16% 0 0!important;
    }
    .op-company-photo.secondary{
        width:43%!important;
        height:44%!important;
        border-radius:22px 0 0 22px!important;
    }
    .op-company-copy{
        width:min(100% - 28px,680px)!important;
        max-width:none!important;
        margin:0 auto!important;
        padding:0 0 16px!important;
    }
    .op-map-logo-bubble{
        width:112px!important;
        height:86px!important;
        border-radius:20px!important;
    }
    .op-map-logo-pin:before{width:132px!important;height:132px!important}
    .op-footer{padding-top:58px!important}
    .op-footer-bottom{gap:15px!important}
    .op-sitor-credit{justify-content:flex-start!important}
}

/* Completa a linguagem sem bordas nos elementos restantes da página. */
.op-header,
.op-card-meta,
.op-review-author img,
.op-review-author>span,
.op-field select,
.op-hero-copy .op-kicker,
.op-review-nav button{
    border:0!important;
}
.op-card-meta{box-shadow:inset 0 1px 0 rgba(15,23,42,.035)}
body.op-design-impacto .op-card-meta,body.op-theme-escuro .op-card-meta{box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}

/* =========================================================
   ONEPAGE STUDIO V6 — refinamento Empresa, Diferenciais,
   Avaliações, Contato/Localização e modal de Serviços
   ========================================================= */

/* EMPRESA — full bleed com acabamento apenas no lado direito. */
.op-company{
    background:
        radial-gradient(circle at 84% 18%,rgba(var(--op-primary-rgb),.08),transparent 24%),
        linear-gradient(180deg,#fff 0%,#f8fafc 100%)!important;
}
.op-company-photo.main{
    border-radius:0 52px 52px 0!important;
    box-shadow:0 22px 64px rgba(15,23,42,.10)!important;
}
.op-company-photo.main img{
    border-radius:0 52px 52px 0!important;
}
.op-company-photo.secondary{
    width:39%!important;
    height:50%!important;
    right:2.5%!important;
    border-radius:30px!important;
    background:#fff!important;
    box-shadow:0 24px 66px rgba(15,23,42,.16)!important;
    transform:translateY(-50%) rotate(-1.4deg)!important;
}
.op-company-photo.secondary:after{
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.30);
    pointer-events:none;
}
.op-company-copy:before{
    content:"";
    display:block;
    width:68px;
    height:5px;
    margin-bottom:22px;
    border-radius:999px;
    background:linear-gradient(90deg,var(--op-primary),rgba(var(--op-primary-rgb),.18));
}
.op-company-copy .op-title{max-width:700px}
.op-company-copy .op-copy{max-width:680px;line-height:1.84!important}
body.op-design-impacto .op-company{background:#070c14!important}
body.op-design-premium .op-company{background:#f7f3ec!important}
body.op-design-premium .op-company-photo.main,
body.op-design-impacto .op-company-photo.main{border-radius:0 52px 52px 0!important}
body.op-design-premium .op-company-photo.main img,
body.op-design-impacto .op-company-photo.main img{border-radius:0 52px 52px 0!important}
body.op-design-premium .op-company-photo.secondary,
body.op-design-impacto .op-company-photo.secondary{border-radius:30px!important}

/* PRODUTOS / SERVIÇOS — botão premium + resumo enxuto. */
.op-card-excerpt{
    display:-webkit-box;
    -webkit-line-clamp:4;
    -webkit-box-orient:vertical;
    overflow:hidden;
    min-height:5.75em;
}
.op-card-meta{border-top:0!important;padding-top:8px!important;margin-top:12px!important}
.op-card-more{
    appearance:none;
    border:0;
    min-height:40px;
    padding:0 14px;
    border-radius:12px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    background:rgba(var(--op-primary-rgb),.09);
    color:var(--op-primary);
    font:inherit;
    font-size:.76rem;
    font-weight:900;
    cursor:pointer;
    transition:transform .2s ease,background .2s ease,color .2s ease,box-shadow .2s ease;
}
.op-card-more:hover{
    transform:translateY(-2px);
    background:var(--op-primary);
    color:#fff;
    box-shadow:0 10px 24px rgba(var(--op-primary-rgb),.18);
}
.op-card-more i{font-size:.68rem}

/* Modal completo de produto/serviço. */
.op-service-modal{position:fixed;inset:0;z-index:10020;display:none;align-items:center;justify-content:center;padding:20px}
.op-service-modal.is-open{display:flex}
.op-service-modal-backdrop{position:absolute;inset:0;background:rgba(4,8,15,.78);backdrop-filter:blur(10px)}
.op-service-dialog{
    position:relative;
    z-index:2;
    width:min(980px,100%);
    max-height:calc(100vh - 40px);
    overflow:hidden;
    border-radius:30px;
    background:#fff;
    color:#101828;
    box-shadow:0 38px 120px rgba(0,0,0,.38);
}
.op-service-close{
    position:absolute;
    right:16px;
    top:16px;
    z-index:5;
    width:44px;
    height:44px;
    border:0;
    border-radius:14px;
    display:grid;
    place-items:center;
    background:rgba(16,24,40,.88);
    color:#fff;
    cursor:pointer;
    box-shadow:0 12px 28px rgba(15,23,42,.18);
}
.op-service-modal-content{display:grid;grid-template-columns:minmax(300px,.86fr) minmax(0,1.14fr);min-height:520px;max-height:calc(100vh - 40px)}
.op-service-modal-media{min-height:520px;background:#edf1f6;overflow:hidden}
.op-service-modal-media img{width:100%;height:100%;object-fit:cover;display:block}
.op-service-modal-copy{min-width:0;padding:clamp(34px,5vw,64px);display:flex;flex-direction:column;align-items:flex-start}
.op-service-modal-copy h3{margin:8px 0 0;font-size:clamp(2rem,4vw,3.45rem);line-height:1.02;letter-spacing:-.045em}
.op-service-modal-price{display:inline-flex;margin-top:18px;color:var(--op-primary);font-size:1.08rem}
.op-service-modal-scroll{
    width:100%;
    max-height:270px;
    overflow-y:auto;
    margin-top:22px;
    padding-right:15px;
    color:#667085;
    font-size:.96rem;
    line-height:1.82;
    scrollbar-width:thin;
    scrollbar-color:var(--op-primary) rgba(var(--op-primary-rgb),.08);
}
.op-service-modal-scroll::-webkit-scrollbar{width:5px}
.op-service-modal-scroll::-webkit-scrollbar-track{background:rgba(var(--op-primary-rgb),.08);border-radius:999px}
.op-service-modal-scroll::-webkit-scrollbar-thumb{background:var(--op-primary);border-radius:999px}
.op-service-modal-link{margin-top:24px}

/* DIFERENCIAIS — texto à esquerda, grade 2x2 à direita e navegação por páginas. */
.op-diff-layout{
    display:grid;
    grid-template-columns:minmax(300px,.78fr) minmax(0,1.22fr);
    gap:clamp(38px,6vw,88px);
    align-items:center;
}
.op-diff-intro{max-width:540px}
.op-diff-intro .op-copy{max-width:500px;line-height:1.8}
.op-diff-nav{display:flex;gap:10px;margin-top:28px}
.op-diff-nav button{
    width:46px;height:46px;border:0;border-radius:14px;display:grid;place-items:center;
    background:#fff;color:var(--op-ink);box-shadow:0 10px 28px rgba(15,23,42,.08);cursor:pointer;transition:.2s ease
}
.op-diff-nav button:hover{transform:translateY(-2px);background:var(--op-primary);color:#fff}
.op-diff-stage{min-width:0;position:relative}
.op-diff-viewport{overflow:hidden;padding:8px 3px 14px}
.op-diff-track{
    display:grid;
    grid-template-rows:repeat(2,minmax(0,1fr));
    grid-auto-flow:column;
    grid-auto-columns:calc((100% - 16px)/2);
    gap:16px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    scroll-behavior:smooth;
}
.op-diff-track::-webkit-scrollbar{display:none}
.op-diff-card{
    width:auto!important;
    min-width:0!important;
    min-height:210px;
    padding:26px!important;
    display:flex!important;
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-start;
    scroll-snap-align:start;
    border-radius:24px!important;
    box-shadow:0 10px 30px rgba(15,23,42,.06)!important;
}
.op-diff-icon{width:70px!important;height:70px!important;font-size:1.65rem!important;border-radius:20px!important;box-shadow:0 10px 24px rgba(var(--op-primary-rgb),.10)}
.op-diff-card h3{margin-top:18px!important;font-size:1.06rem!important}
.op-diff-card p{line-height:1.68!important}
body.op-design-impacto .op-diff-nav button,body.op-theme-escuro:not(.op-design-impacto) .op-diff-nav button{background:#0d1622;color:#fff;box-shadow:0 10px 28px rgba(0,0,0,.20)}

/* AVALIAÇÕES — tipografia mais elegante + estrelas com brilho. */
.op-testimonials:after{
    content:"";position:absolute;left:0;right:0;top:0;height:1px;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.16),transparent)
}
.op-review-summary .op-title{
    max-width:540px;
    font-size:clamp(1.85rem,3.2vw,3.25rem)!important;
    line-height:1.05;
    animation:opReviewTitleFloat 5.5s ease-in-out infinite;
}
@keyframes opReviewTitleFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
.op-rating-row{padding:14px 0;margin-bottom:18px!important}
.op-stars{position:relative}
.op-stars i{font-size:.9rem!important;filter:drop-shadow(0 0 0 rgba(247,189,67,0));animation:opStarGlow 2.8s ease-in-out infinite}
.op-stars i:nth-child(2){animation-delay:.16s}.op-stars i:nth-child(3){animation-delay:.32s}.op-stars i:nth-child(4){animation-delay:.48s}.op-stars i:nth-child(5){animation-delay:.64s}
@keyframes opStarGlow{0%,70%,100%{transform:scale(1);filter:drop-shadow(0 0 0 rgba(247,189,67,0))}35%{transform:scale(1.16);filter:drop-shadow(0 0 9px rgba(247,189,67,.72))}}
.op-review-card{padding:22px!important;background:linear-gradient(145deg,rgba(255,255,255,.105),rgba(255,255,255,.045))!important;box-shadow:0 16px 42px rgba(0,0,0,.10)!important}
.op-review-card blockquote{font-weight:400!important;letter-spacing:0!important;line-height:1.66!important}
.op-review-author strong{font-weight:800}
.op-review-evaluate{border-radius:14px!important}

/* CONTATO — mesma linguagem, com mais profundidade e organização. */
.op-contact{
    background:
        radial-gradient(circle at 8% 24%,rgba(var(--op-primary-rgb),.08),transparent 28%),
        linear-gradient(180deg,#f7f9fc,#fff)!important;
}
.op-contact-copy{position:relative;padding:18px 0}
.op-contact-copy:before{content:"";position:absolute;left:-34px;top:0;width:5px;height:92px;border-radius:999px;background:linear-gradient(180deg,var(--op-primary),transparent)}
.op-contact-links{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px!important}
.op-contact-links a{min-width:0;align-items:flex-start!important;padding:16px!important;border-radius:18px!important;box-shadow:0 8px 24px rgba(15,23,42,.045)!important;transition:.2s ease}
.op-contact-links a:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(15,23,42,.075)!important}
.op-contact-links i{width:44px!important;height:44px!important;border-radius:14px!important;font-size:1rem}
.op-contact-links strong{overflow-wrap:anywhere}
.op-contact-card{padding:clamp(26px,4vw,42px)!important;border-radius:30px!important;box-shadow:0 22px 64px rgba(15,23,42,.085)!important;background:rgba(255,255,255,.96)!important}
.op-form-head{padding-right:48px}
.op-form-head h3{font-size:clamp(1.45rem,2.2vw,2rem)!important}
.op-field input,.op-field textarea{background:#f8fafc!important}
.op-field input:focus,.op-field textarea:focus{box-shadow:0 0 0 4px rgba(var(--op-primary-rgb),.08)!important}
body.op-design-impacto .op-contact,body.op-theme-escuro:not(.op-design-impacto) .op-contact{background:#0a111c!important}
body.op-design-impacto .op-contact-card,body.op-theme-escuro:not(.op-design-impacto) .op-contact-card{background:#0d1622!important;box-shadow:0 24px 68px rgba(0,0,0,.24)!important}
body.op-design-impacto .op-contact-links a,body.op-theme-escuro:not(.op-design-impacto) .op-contact-links a{background:#0d1622!important;color:#fff!important;box-shadow:0 10px 28px rgba(0,0,0,.16)!important}

/* LOCALIZAÇÃO — mapa mais protagonista e informações mais leves. */
.op-location{padding-top:100px!important}
.op-location-shell{
    grid-template-columns:minmax(330px,.66fr) minmax(0,1.34fr)!important;
    min-height:610px!important;
    border-radius:32px!important;
    background:linear-gradient(145deg,#f2f5f9,#edf2f7)!important;
    box-shadow:0 28px 84px rgba(15,23,42,.085)!important;
}
.op-location-info{position:relative;padding:clamp(34px,5vw,66px)!important}
.op-location-info:after{content:"";position:absolute;right:-1px;top:12%;bottom:12%;width:1px;background:linear-gradient(180deg,transparent,rgba(var(--op-primary-rgb),.18),transparent)}
.op-location-info .op-title{font-size:clamp(2rem,3.4vw,3.5rem)!important}
.op-location-list{gap:9px!important;margin:24px 0!important}
.op-location-list>div{padding:14px!important;border-radius:16px!important;box-shadow:0 7px 22px rgba(15,23,42,.04)!important}
.op-location-list i{width:42px!important;height:42px!important;border-radius:14px!important}
.op-map,.op-map iframe{min-height:610px!important}
.op-map:after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 26px 0 42px rgba(15,23,42,.06)}
.op-map-badge{border-radius:13px!important;background:rgba(16,24,40,.84)!important}
body.op-design-impacto .op-location-shell,body.op-theme-escuro:not(.op-design-impacto) .op-location-shell{background:#0d1622!important;box-shadow:0 28px 84px rgba(0,0,0,.25)!important}
body.op-design-impacto .op-location-info:after,body.op-theme-escuro:not(.op-design-impacto) .op-location-info:after{background:linear-gradient(180deg,transparent,rgba(255,255,255,.10),transparent)}

@media(max-width:1180px){
    .op-diff-layout{grid-template-columns:1fr;gap:30px}
    .op-diff-intro{max-width:760px}
    .op-contact-links{grid-template-columns:1fr}
    .op-service-modal-content{grid-template-columns:minmax(260px,.78fr) minmax(0,1.22fr)}
    .op-location-shell{grid-template-columns:1fr!important}
    .op-location-info:after{display:none}
}

@media(max-width:760px){
    .op-company-photo.main,.op-company-photo.main img{border-radius:0 30px 30px 0!important}
    .op-company-photo.secondary{width:45%!important;height:43%!important;right:4%!important;border-radius:22px!important}
    .op-company-copy:before{width:54px;height:4px;margin-bottom:18px}
    .op-card-excerpt{-webkit-line-clamp:3;min-height:auto}
    .op-service-dialog{border-radius:22px;max-height:calc(100svh - 24px)}
    .op-service-modal{padding:12px}
    .op-service-modal-content{display:block;min-height:0;max-height:calc(100svh - 24px);overflow-y:auto}
    .op-service-modal-media{min-height:260px;height:34svh}
    .op-service-modal-copy{padding:26px 20px 24px}
    .op-service-modal-copy h3{font-size:2rem}
    .op-service-modal-scroll{max-height:240px;padding-right:10px}
    .op-diff-track{grid-template-rows:1fr;grid-auto-columns:100%;gap:12px}
    .op-diff-card{min-height:0;padding:25px!important}
    .op-diff-nav{margin-top:20px}
    .op-review-summary .op-title{font-size:2.05rem!important;animation:none}
    .op-contact-copy:before{display:none}
    .op-contact-links{grid-template-columns:1fr}
    .op-contact-card{padding:22px!important;border-radius:24px!important}
    .op-location{padding-top:70px!important}
    .op-location-shell{border-radius:24px!important;min-height:0!important}
    .op-location-info{padding:28px 24px!important}
    .op-map,.op-map iframe{min-height:400px!important}
}
.op-service-modal-content>.op-service-modal-copy:only-child{grid-column:1/-1;width:min(760px,100%);margin:auto;min-height:520px;justify-content:center}
@media(max-width:760px){.op-service-modal-content>.op-service-modal-copy:only-child{min-height:0;width:100%;margin:0}}

/* =========================================================
   ONEPAGE STUDIO V7 — limpeza visual, contato amplo,
   WhatsApp flutuante, cookies, progresso e voltar ao topo
   ========================================================= */

/* 1. Remove as linhas decorativas dos títulos/seções. */
.op-kicker:before,
.op-hero-copy .op-kicker:before,
.op-contact-copy:before,
.op-testimonials:after,
.op-location-info:after,
.op-diff-card:before{
    display:none!important;
    content:none!important;
}
.op-kicker{gap:0!important}

/* 2. Diferenciais: sombra bem curta, suave e sem risco de corte. */
.op-diff-viewport{padding:4px 3px 9px!important}
.op-diff-track{gap:12px!important}
.op-diff-card{
    box-shadow:0 3px 11px rgba(15,23,42,.042)!important;
    transition:box-shadow .22s ease,background .22s ease,color .22s ease!important;
}
.op-diff-icon{
    box-shadow:0 4px 12px rgba(var(--op-primary-rgb),.07)!important;
}
body.op-design-impacto .op-diff-card,
body.op-theme-escuro:not(.op-design-impacto) .op-diff-card{
    box-shadow:0 4px 13px rgba(0,0,0,.15)!important;
}

/* 3. Contato: mais largura para telefone/e-mail e leitura em uma linha. */
@media(min-width:1181px){
    .op-contact-grid{
        grid-template-columns:minmax(540px,1.08fr) minmax(470px,.92fr)!important;
        gap:clamp(42px,5vw,72px)!important;
    }
    .op-contact-links{
        grid-template-columns:repeat(2,minmax(245px,1fr))!important;
        max-width:760px;
    }
    .op-contact-links a[href^="mailto:"]{grid-column:1/-1}
}
.op-contact-links a{
    min-height:82px;
    padding:17px 18px!important;
    align-items:center!important;
    box-shadow:0 4px 14px rgba(15,23,42,.04)!important;
    transition:box-shadow .22s ease,background .22s ease!important;
}
.op-contact-links a>span{min-width:0;flex:1}
.op-contact-links strong{
    font-size:.9rem!important;
    white-space:nowrap!important;
    overflow:visible!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
}
.op-contact-links i{width:48px!important;height:48px!important;font-size:1.08rem!important}

/* 4. WhatsApp flutuante exclusivo da OnePage. */
.op-whatsapp-float{
    position:fixed;
    right:24px;
    bottom:24px;
    z-index:7200;
    min-height:64px;
    display:flex;
    align-items:center;
    gap:11px;
    padding:8px 17px 8px 8px;
    border-radius:22px;
    background:linear-gradient(135deg,#16b956,#0c9f48);
    color:#fff!important;
    text-decoration:none;
    box-shadow:0 14px 34px rgba(14,159,72,.24),0 5px 14px rgba(15,23,42,.12);
    isolation:isolate;
    transition:box-shadow .22s ease,filter .22s ease;
}
.op-whatsapp-float-icon{
    width:48px;height:48px;min-width:48px;border-radius:17px;
    display:grid;place-items:center;
    background:rgba(255,255,255,.16);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.22);
    font-size:1.48rem;
}
.op-whatsapp-float-copy{display:grid;gap:1px;line-height:1.08}
.op-whatsapp-float-copy small{font-size:.58rem;font-weight:750;letter-spacing:.04em;color:rgba(255,255,255,.72)}
.op-whatsapp-float-copy strong{font-size:.78rem;font-weight:950;white-space:nowrap}
.op-whatsapp-float-pulse{
    position:absolute;inset:6px;border-radius:18px;z-index:-1;
    border:1px solid rgba(255,255,255,.32);
    animation:opWhatsappPulse 2.6s ease-out infinite;
}
@keyframes opWhatsappPulse{0%{opacity:.55;transform:scale(.92)}70%,100%{opacity:0;transform:scale(1.25)}}
.op-whatsapp-float:hover{filter:saturate(1.08) brightness(1.035);box-shadow:0 18px 38px rgba(14,159,72,.30),0 6px 16px rgba(15,23,42,.12)}

/* 5. Consentimento de cookies. */
.op-cookie-consent{
    position:fixed;
    left:24px;
    bottom:24px;
    z-index:9800;
    width:min(590px,calc(100vw - 48px));
    display:grid;
    grid-template-columns:52px minmax(0,1fr);
    gap:12px 15px;
    align-items:center;
    padding:16px;
    border-radius:24px;
    background:rgba(255,255,255,.94);
    color:#101828;
    box-shadow:0 24px 70px rgba(15,23,42,.18),inset 0 1px 0 rgba(255,255,255,.7);
    backdrop-filter:blur(20px) saturate(1.08);
    opacity:0;
    visibility:hidden;
    transform:translateY(22px) scale(.985);
    transition:opacity .28s ease,visibility .28s ease,transform .28s ease;
}
.op-cookie-consent.is-visible{opacity:1;visibility:visible;transform:none}
.op-cookie-icon{width:52px;height:52px;border-radius:17px;display:grid;place-items:center;background:rgba(var(--op-primary-rgb),.09);color:var(--op-primary);font-size:1.18rem}
.op-cookie-copy{min-width:0}
.op-cookie-copy strong{font-size:.9rem;font-weight:950}
.op-cookie-copy p{margin:4px 0 0;color:#667085;font-size:.72rem;line-height:1.55;font-weight:600}
.op-cookie-actions{grid-column:1/-1;display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;margin-top:2px}
.op-cookie-actions button{min-height:40px;padding:0 14px;border:0;border-radius:12px;cursor:pointer;font-size:.7rem;font-weight:900;transition:background .2s ease,box-shadow .2s ease,color .2s ease,filter .2s ease}
.op-cookie-secondary{background:#f2f5f8;color:#475467}
.op-cookie-accept{background:var(--op-primary);color:#fff;box-shadow:0 8px 20px rgba(var(--op-primary-rgb),.18)}
.op-cookie-secondary:hover{background:#e9eef4}
.op-cookie-accept:hover{filter:brightness(1.04);box-shadow:0 10px 24px rgba(var(--op-primary-rgb),.24)}
body.op-design-impacto .op-cookie-consent,body.op-theme-escuro:not(.op-design-impacto) .op-cookie-consent{background:rgba(13,22,34,.95);color:#fff;box-shadow:0 26px 76px rgba(0,0,0,.34)}
body.op-design-impacto .op-cookie-copy p,body.op-theme-escuro:not(.op-design-impacto) .op-cookie-copy p{color:#9aa7b7}
body.op-design-impacto .op-cookie-secondary,body.op-theme-escuro:not(.op-design-impacto) .op-cookie-secondary{background:rgba(255,255,255,.08);color:#d8e0ea}

/* 6. Rodapé: ícones um pouco maiores e acabamento mais rico. */
.op-footer-socials{gap:10px!important}
.op-footer-socials a{
    width:46px!important;height:46px!important;border-radius:15px!important;
    background:linear-gradient(145deg,rgba(255,255,255,.095),rgba(255,255,255,.035))!important;
    box-shadow:0 7px 18px rgba(0,0,0,.14)!important;
    font-size:1.06rem!important;
}
.op-footer-socials a:hover{background:var(--op-primary)!important;box-shadow:0 9px 22px rgba(var(--op-primary-rgb),.22)!important}
.op-footer-contact-link{gap:12px!important}
.op-footer-contact-link i{
    width:30px!important;min-width:30px!important;height:30px!important;
    border-radius:10px;display:grid!important;place-items:center!important;
    background:rgba(var(--op-primary-rgb),.11);
    color:var(--op-primary)!important;
    font-size:1rem!important;
    transform:none!important;
}

/* 7. Progresso da página e voltar ao topo. */
.op-scroll-progress{position:fixed;inset:0 0 auto;z-index:12000;height:3px;pointer-events:none;background:transparent}
.op-scroll-progress span{display:block;width:100%;height:100%;transform:scaleX(0);transform-origin:left center;background:linear-gradient(90deg,var(--op-primary),var(--op-accent));box-shadow:0 0 10px rgba(var(--op-primary-rgb),.32);will-change:transform}
.op-back-top{
    position:fixed;right:26px;bottom:101px;z-index:7100;
    width:48px;height:48px;padding:0;border:0;border-radius:16px;
    display:grid;place-items:center;background:#101828;color:#fff;cursor:pointer;
    box-shadow:0 10px 26px rgba(15,23,42,.18);
    opacity:0;visibility:hidden;transform:scale(.88);
    transition:opacity .2s ease,visibility .2s ease,transform .2s ease,background .2s ease,box-shadow .2s ease;
}
.op-back-top span{position:absolute;right:57px;padding:7px 10px;border-radius:10px;background:#101828;color:#fff;font-size:.62rem;font-weight:850;opacity:0;pointer-events:none;transition:opacity .2s ease;white-space:nowrap}
.op-back-top.is-visible{opacity:1;visibility:visible;transform:none}
.op-back-top:hover{background:var(--op-primary);box-shadow:0 12px 28px rgba(var(--op-primary-rgb),.24)}
.op-back-top:hover span{opacity:1}

/* 8. Nenhum hover levanta quadro/botão: troca por luz, cor e sombra. */
.op-btn:hover,
.op-hero-arrow:hover,
.op-card:hover,
.op-diff-card:hover,
.op-diff-nav button:hover,
.op-card-more:hover,
.op-contact-links a:hover,
.op-sitor-credit:hover{
    transform:none!important;
}
.op-btn:hover{filter:brightness(1.035);box-shadow:0 15px 34px rgba(var(--op-primary-rgb),.31)!important}
.op-hero-arrow:hover{background:var(--op-primary)!important;box-shadow:0 10px 28px rgba(var(--op-primary-rgb),.26)!important}
.op-card:hover{box-shadow:0 5px 16px rgba(15,23,42,.055)!important;background:linear-gradient(180deg,#fff,#fbfdff)!important}
.op-diff-card:hover{box-shadow:0 4px 14px rgba(15,23,42,.055)!important;background:linear-gradient(145deg,#fff,#fbfdff)!important}
.op-diff-card:hover .op-diff-icon{background:rgba(var(--op-primary-rgb),.14)!important;box-shadow:0 5px 15px rgba(var(--op-primary-rgb),.11)!important}
.op-diff-nav button:hover{background:var(--op-primary)!important;color:#fff!important;box-shadow:0 8px 20px rgba(var(--op-primary-rgb),.18)!important}
.op-card-more:hover{background:var(--op-primary)!important;color:#fff!important;box-shadow:0 7px 18px rgba(var(--op-primary-rgb),.16)!important}
.op-contact-links a:hover{background:rgba(var(--op-primary-rgb),.035)!important;box-shadow:0 5px 16px rgba(15,23,42,.055)!important}
.op-sitor-credit:hover{opacity:1;color:#fff!important}

@media(max-width:1180px){
    .op-contact-links{grid-template-columns:repeat(2,minmax(0,1fr))!important}
    .op-contact-links a[href^="mailto:"]{grid-column:1/-1}
}

@media(max-width:760px){
    .op-contact-links{grid-template-columns:1fr!important}
    .op-contact-links a[href^="mailto:"]{grid-column:auto}
    .op-contact-links strong{white-space:normal!important;overflow-wrap:anywhere!important}
    .op-whatsapp-float{right:14px;bottom:14px;min-height:56px;padding:6px 8px;border-radius:18px}
    .op-whatsapp-float-icon{width:44px;height:44px;min-width:44px;border-radius:14px;font-size:1.38rem}
    .op-whatsapp-float-copy{display:none}
    .op-whatsapp-float-pulse{inset:5px;border-radius:14px}
    .op-back-top{right:16px;bottom:82px;width:44px;height:44px;border-radius:14px}
    .op-back-top span{display:none}
    .op-cookie-consent{left:12px;right:12px;bottom:82px;width:auto;grid-template-columns:44px minmax(0,1fr);padding:14px;border-radius:20px}
    .op-cookie-icon{width:44px;height:44px;border-radius:14px}
    .op-cookie-actions{display:grid;grid-template-columns:1fr 1fr}
    .op-cookie-actions button{padding:0 10px}
    .op-footer-socials a{width:44px!important;height:44px!important}
}

/* =========================================================
   ONEPAGE STUDIO V8 — diferenciais, avaliações, contato,
   imagem secundária e animações globais de blocos
   ========================================================= */

/* 1. DIFERENCIAIS — sombra curtíssima, suave + borda fina. */
.op-diff-viewport{
    padding:5px 4px 10px!important;
}
.op-diff-card{
    border:1px solid rgba(15,23,42,.07)!important;
    box-shadow:0 2px 7px rgba(15,23,42,.035)!important;
    background:#fff!important;
}
.op-diff-card:hover{
    border-color:rgba(var(--op-primary-rgb),.18)!important;
    box-shadow:0 3px 9px rgba(15,23,42,.05)!important;
}
body.op-design-impacto .op-diff-card,
body.op-theme-escuro:not(.op-design-impacto) .op-diff-card{
    border-color:rgba(255,255,255,.10)!important;
    box-shadow:0 2px 8px rgba(0,0,0,.12)!important;
}
body.op-design-impacto .op-diff-card:hover,
body.op-theme-escuro:not(.op-design-impacto) .op-diff-card:hover{
    border-color:rgba(var(--op-primary-rgb),.34)!important;
    box-shadow:0 3px 10px rgba(0,0,0,.17)!important;
}

/* 2. DEPOIMENTOS — apenas o texto do depoimento um pouco menor. */
.op-review-card blockquote{
    font-size:clamp(.88rem,.88vw,.98rem)!important;
    line-height:1.7!important;
    font-weight:400!important;
}
@media(max-width:760px){
    .op-review-card blockquote{font-size:.9rem!important;line-height:1.68!important}
}

/* 3. CONTATO — painel único, linhas horizontais e ações claras. */
.op-contact-links{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:0!important;
    width:min(680px,100%);
    margin-top:26px;
    padding:8px!important;
    border-radius:26px;
    background:rgba(255,255,255,.84);
    box-shadow:0 8px 28px rgba(15,23,42,.055);
    backdrop-filter:blur(12px);
}
.op-contact-links a,
.op-contact-links a[href^="mailto:"]{
    position:relative;
    grid-column:auto!important;
    min-height:76px!important;
    display:grid!important;
    grid-template-columns:52px minmax(0,1fr) 34px!important;
    align-items:center!important;
    gap:14px!important;
    padding:11px 12px!important;
    border-radius:19px!important;
    background:transparent!important;
    box-shadow:none!important;
    text-decoration:none!important;
    overflow:hidden;
}
.op-contact-links a:not(:last-child):after{
    content:"";
    position:absolute;
    left:78px;
    right:12px;
    bottom:0;
    height:1px;
    background:linear-gradient(90deg,rgba(15,23,42,.07),transparent);
}
.op-contact-links a>i:first-child{
    width:52px!important;
    height:52px!important;
    border-radius:17px!important;
    display:grid!important;
    place-items:center!important;
    background:linear-gradient(145deg,rgba(var(--op-primary-rgb),.13),rgba(var(--op-primary-rgb),.045))!important;
    color:var(--op-primary)!important;
    font-size:1.18rem!important;
    box-shadow:inset 0 0 0 1px rgba(var(--op-primary-rgb),.06)!important;
}
.op-contact-links a>span{
    display:grid!important;
    grid-template-columns:105px minmax(0,1fr)!important;
    align-items:center!important;
    gap:10px!important;
}
.op-contact-links a>span small{
    margin:0!important;
    color:#98a2b3!important;
    font-size:.62rem!important;
    font-weight:900!important;
    letter-spacing:.06em!important;
    text-transform:uppercase!important;
}
.op-contact-links a>span strong{
    min-width:0;
    color:#1d2939!important;
    font-size:.9rem!important;
    font-weight:800!important;
    line-height:1.25!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
}
.op-contact-links a:before{
    content:"\f061";
    font-family:"Font Awesome 6 Free";
    font-weight:900;
    grid-column:3;
    grid-row:1;
    width:34px;
    height:34px;
    border-radius:12px;
    display:grid;
    place-items:center;
    justify-self:end;
    background:#f4f6f8;
    color:#667085;
    font-size:.72rem;
    transition:background .22s ease,color .22s ease,box-shadow .22s ease;
}
.op-contact-links a:hover{
    background:rgba(var(--op-primary-rgb),.04)!important;
    box-shadow:none!important;
}
.op-contact-links a:hover:before{
    background:var(--op-primary);
    color:#fff;
    box-shadow:0 5px 14px rgba(var(--op-primary-rgb),.18);
}
body.op-design-impacto .op-contact-links,
body.op-theme-escuro:not(.op-design-impacto) .op-contact-links{
    background:rgba(255,255,255,.055)!important;
    box-shadow:0 9px 30px rgba(0,0,0,.16)!important;
}
body.op-design-impacto .op-contact-links a>span strong,
body.op-theme-escuro:not(.op-design-impacto) .op-contact-links a>span strong{color:#fff!important}
body.op-design-impacto .op-contact-links a:not(:last-child):after,
body.op-theme-escuro:not(.op-design-impacto) .op-contact-links a:not(:last-child):after{background:linear-gradient(90deg,rgba(255,255,255,.10),transparent)}
body.op-design-impacto .op-contact-links a:before,
body.op-theme-escuro:not(.op-design-impacto) .op-contact-links a:before{background:rgba(255,255,255,.08);color:#c9d2df}

/* 4. EMPRESA — segunda imagem reta, com shadow elegante. */
.op-company-photo.secondary{
    border-radius:0!important;
    box-shadow:0 18px 44px rgba(15,23,42,.16)!important;
    overflow:hidden!important;
}
.op-company-photo.secondary img{border-radius:0!important}
body.op-design-impacto .op-company-photo.secondary,
body.op-theme-escuro:not(.op-design-impacto) .op-company-photo.secondary{
    box-shadow:0 20px 50px rgba(0,0,0,.34)!important;
}

/* 5. ANIMAÇÃO GLOBAL — blocos entram suavemente e em sequência no scroll. */
body:not(.op-sem-animacoes) [data-op-reveal]{
    opacity:0;
    transform:translate3d(0,18px,0) scale(.992);
    filter:blur(3px);
    transition:
        opacity .62s cubic-bezier(.22,.7,.22,1),
        transform .62s cubic-bezier(.22,.7,.22,1),
        filter .62s cubic-bezier(.22,.7,.22,1),
        box-shadow .22s ease,
        background .22s ease,
        border-color .22s ease;
    transition-delay:var(--op-reveal-delay,0ms);
    will-change:opacity,transform,filter;
}
body:not(.op-sem-animacoes) [data-op-reveal].is-visible{
    opacity:1;
    transform:none;
    filter:none;
}
body.op-sem-animacoes [data-op-reveal]{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}

/* Blocos de mídia têm uma entrada lateral mínima, mantendo o layout estável. */
body:not(.op-sem-animacoes) .op-company-photo[data-op-reveal],
body:not(.op-sem-animacoes) .op-map[data-op-reveal]{transform:translate3d(-16px,0,0) scale(.994)}
body:not(.op-sem-animacoes) .op-company-photo[data-op-reveal].is-visible,
body:not(.op-sem-animacoes) .op-map[data-op-reveal].is-visible{transform:none}

@media(max-width:760px){
    .op-contact-links{padding:6px!important;border-radius:21px!important}
    .op-contact-links a,.op-contact-links a[href^="mailto:"]{
        grid-template-columns:46px minmax(0,1fr) 30px!important;
        gap:10px!important;
        min-height:70px!important;
        padding:10px!important;
        border-radius:16px!important;
    }
    .op-contact-links a>i:first-child{width:46px!important;height:46px!important;border-radius:14px!important;font-size:1.05rem!important}
    .op-contact-links a>span{grid-template-columns:1fr!important;gap:2px!important}
    .op-contact-links a>span strong{font-size:.82rem!important;white-space:normal!important;overflow-wrap:anywhere!important}
    .op-contact-links a:before{width:30px;height:30px;border-radius:10px}
    .op-contact-links a:not(:last-child):after{left:66px}
    body:not(.op-sem-animacoes) [data-op-reveal]{transform:translate3d(0,13px,0) scale(.995);filter:blur(2px)}
}

@media(prefers-reduced-motion:reduce){
    [data-op-reveal]{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}
}


/* =========================================================
   SITOR ONEPAGE V9 — fechamento Premium + Empresa
   ========================================================= */

/* Premium: tipografia nova, mais contemporânea e limpa. */
body.op-design-premium,
body.op-design-premium button,
body.op-design-premium input,
body.op-design-premium textarea,
body.op-design-premium select{
    font-family:"Outfit",Inter,Arial,sans-serif!important;
}
body.op-design-premium .op-title,
body.op-design-premium .op-hero h1,
body.op-design-premium .op-company-copy h2,
body.op-design-premium h1,
body.op-design-premium h2,
body.op-design-premium h3{
    font-family:"Outfit",Inter,Arial,sans-serif!important;
    letter-spacing:-.035em;
}

/* Premium: cria respiro real acima dos cartões para sombra/animação nunca serem cortadas. */
body.op-design-premium .op-services-viewport{
    padding-top:24px!important;
    padding-bottom:16px!important;
    margin-top:-10px;
}
body.op-design-premium .op-services-track{
    padding-top:2px;
}
body.op-design-premium .op-service-card,
body.op-design-premium .op-card{
    margin-top:0!important;
}

/* Empresa: segunda foto normal, sem inclinação, com cantos redondos e sombra. */
.op-company-photo.secondary,
body.op-design-premium .op-company-photo.secondary,
body.op-design-impacto .op-company-photo.secondary,
body.op-theme-escuro:not(.op-design-impacto) .op-company-photo.secondary{
    transform:none!important;
    rotate:0deg!important;
    border-radius:28px!important;
    overflow:hidden!important;
    box-shadow:0 18px 42px rgba(15,23,42,.16)!important;
}
.op-company-photo.secondary img,
body.op-design-premium .op-company-photo.secondary img,
body.op-design-impacto .op-company-photo.secondary img{
    transform:none!important;
    border-radius:28px!important;
}
body.op-design-impacto .op-company-photo.secondary,
body.op-theme-escuro:not(.op-design-impacto) .op-company-photo.secondary{
    box-shadow:0 20px 46px rgba(0,0,0,.30)!important;
}

@media (max-width:767px){
    body.op-design-premium .op-services-viewport{padding-top:18px!important;margin-top:-6px}
    .op-company-photo.secondary,
    .op-company-photo.secondary img{border-radius:22px!important}
}


/* =========================================================
   SITOR ONEPAGE V17 — acabamento final
   Depoimentos com navegação, Hero refinado, mapa e assinatura SITOR
   ========================================================= */

/* 1. Depoimentos: setas reais de navegação, integradas ao carrossel existente. */
.op-review-nav{
    display:none!important;
    align-items:center;
    justify-content:flex-end;
    gap:10px;
    margin-top:18px;
}
.op-review-nav.is-needed{display:flex!important}
.op-review-nav button{
    width:46px;
    height:46px;
    display:grid;
    place-items:center;
    border:0!important;
    border-radius:15px;
    background:rgba(255,255,255,.09);
    color:#fff;
    box-shadow:0 8px 24px rgba(0,0,0,.12);
    cursor:pointer;
    transition:background .22s ease,box-shadow .22s ease,color .22s ease;
}
.op-review-nav button:hover{
    transform:none!important;
    background:var(--op-primary);
    color:#fff;
    box-shadow:0 10px 26px rgba(var(--op-primary-rgb),.26);
}
.op-review-page{
    min-width:76px;
    height:46px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    color:rgba(255,255,255,.72);
    font-size:.68rem;
    font-weight:850;
    letter-spacing:.08em;
}
.op-review-page i{width:18px;height:1px;background:rgba(255,255,255,.28)}
.op-review-page b{font:inherit;color:inherit}
body.op-theme-claro:not(.op-design-impacto) .op-review-nav button{
    background:#fff;
    color:#172033;
    box-shadow:0 8px 22px rgba(15,23,42,.08);
}
body.op-theme-claro:not(.op-design-impacto) .op-review-page{color:#738096}
body.op-theme-claro:not(.op-design-impacto) .op-review-page i{background:#d7dee8}
body.op-theme-claro:not(.op-design-impacto) .op-review-nav button:hover{background:var(--op-primary);color:#fff}

/* 2. Assinatura SITOR no rodapé: mais legível e com halo amplo, leve e sofisticado. */
.op-footer:before{
    width:680px!important;
    height:680px!important;
    right:-275px!important;
    top:-360px!important;
    background:radial-gradient(circle,
        rgba(var(--op-primary-rgb),.125) 0%,
        rgba(var(--op-primary-rgb),.070) 27%,
        rgba(var(--op-primary-rgb),.025) 48%,
        transparent 72%)!important;
    filter:blur(14px);
    opacity:.92;
}
.op-sitor-credit{
    gap:11px!important;
    font-size:.76rem!important;
    font-weight:700!important;
    color:rgba(255,255,255,.66)!important;
    letter-spacing:.005em;
}
.op-sitor-credit img{
    height:25px!important;
    max-width:82px!important;
    filter:drop-shadow(0 7px 16px rgba(0,0,0,.16))!important;
}
.op-footer-bottom>small{font-size:.76rem!important;color:rgba(255,255,255,.58)!important}

/* 3. Hero: títulos menores, menos pesados e com entrada cinematográfica. */
.op-hero h1,
body.op-design-impacto .op-hero h1,
body.op-design-premium .op-hero h1{
    font-size:clamp(2.55rem,5.25vw,5.85rem)!important;
    font-weight:700!important;
    letter-spacing:-.045em!important;
    line-height:.94!important;
}
.op-hero-slide.is-active .op-hero-copy h1{
    animation:opHeroTitleV17 .92s cubic-bezier(.2,.78,.2,1) both;
}
@keyframes opHeroTitleV17{
    0%{opacity:0;transform:translateY(24px);filter:blur(8px);letter-spacing:-.015em}
    58%{opacity:1;filter:blur(0)}
    100%{opacity:1;transform:translateY(0);filter:blur(0);letter-spacing:-.045em}
}
.op-sem-animacoes .op-hero-slide.is-active .op-hero-copy h1{animation:none!important}

/* 4. Mapa: o logo é o marcador. Mantém o fundo, sem ícone adicional. */
.op-map-logo-pin{filter:drop-shadow(0 18px 28px rgba(15,23,42,.20))!important}
.op-map-logo-bubble{
    width:142px!important;
    height:106px!important;
    padding:13px!important;
    background:rgba(255,255,255,.96)!important;
    box-shadow:0 18px 48px rgba(15,23,42,.17)!important;
    backdrop-filter:blur(12px);
}
.op-map-logo-pin>i{display:none!important}
.op-map-logo-pin:before{transform:translate(-50%,-50%)!important}
@keyframes opMapPulseV17{0%{transform:translate(-50%,-50%) scale(.76);opacity:.65}100%{transform:translate(-50%,-50%) scale(1.38);opacity:0}}
.op-map-logo-pin:before{animation:opMapPulseV17 2.6s ease-out infinite!important}

@media(max-width:760px){
    .op-review-nav{justify-content:center;margin-top:15px}
    .op-review-nav button{width:43px;height:43px;border-radius:14px}
    .op-review-page{height:43px}
    .op-hero h1,
    body.op-design-impacto .op-hero h1,
    body.op-design-premium .op-hero h1{font-size:clamp(2.25rem,10.6vw,4rem)!important;line-height:.96!important}
    .op-map-logo-bubble{width:116px!important;height:88px!important;border-radius:20px!important}
    .op-footer:before{width:460px!important;height:460px!important;right:-240px!important;top:-245px!important;filter:blur(12px)}
    .op-sitor-credit{font-size:.72rem!important;gap:9px!important}
    .op-sitor-credit img{height:22px!important;max-width:72px!important}
}
@media(prefers-reduced-motion:reduce){
    .op-hero-slide.is-active .op-hero-copy h1,.op-map-logo-pin:before{animation:none!important}
}

/* =========================================================
   SITOR ONEPAGE V19 — correção menu mobile sobre o conteúdo
   Mantém o acabamento V17 e o menu mobile premium V18.
   ========================================================= */
@media (max-width:1180px){
    body.op-mobile-menu-open{overflow:hidden!important}
    body.op-mobile-menu-open .op-whatsapp-float,
    body.op-mobile-menu-open .op-back-top,
    body.op-mobile-menu-open .op-live-editor-trigger{visibility:hidden!important;pointer-events:none!important}
    .op-mobile-menu{
        position:fixed!important;
        inset:0!important;
        z-index:2147483000!important;
        isolation:isolate!important;
        padding:0!important;
        margin:0!important;
        border:0!important;
        border-radius:0!important;
        background:rgba(249,251,255,.985)!important;
        box-shadow:none!important;
        backdrop-filter:blur(28px) saturate(1.08)!important;
        -webkit-backdrop-filter:blur(28px) saturate(1.08)!important;
        overflow-y:auto!important;
        overscroll-behavior:contain;
        opacity:0;
        visibility:hidden;
        pointer-events:none;
        transform:translate3d(0,-10px,0);
        transition:opacity .28s ease,visibility .28s ease,transform .28s ease;
    }
    .op-mobile-menu::before{
        content:"";
        position:fixed;
        inset:-18%;
        z-index:-1;
        pointer-events:none;
        background:
          radial-gradient(circle at 50% 4%,rgba(var(--op-primary-rgb),.14),transparent 30%),
          radial-gradient(circle at 86% 72%,rgba(var(--op-primary-rgb),.07),transparent 29%);
        filter:blur(18px);
        opacity:.9;
    }
    .op-mobile-menu.open{
        display:block!important;
        opacity:1!important;
        visibility:visible!important;
        pointer-events:auto!important;
        transform:translate3d(0,0,0)!important;
    }
    .op-mobile-menu-inner{
        position:relative;
        z-index:2;
        width:min(100% - 34px,560px);
        min-height:100dvh;
        margin:0 auto;
        padding:24px 0 30px;
        display:flex;
        flex-direction:column;
    }
    .op-mobile-menu-head{
        display:grid;
        grid-template-columns:52px minmax(0,1fr) 52px;
        align-items:center;
        gap:12px;
        min-height:92px;
    }
    .op-mobile-menu-head-spacer{width:52px;height:52px}
    .op-mobile-menu-brand{justify-self:center;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
    .op-mobile-menu-brand .op-logo-shell{
        width:min(calc(var(--op-logo-size) * 1.34),150px)!important;
        height:min(calc(var(--op-logo-size) * .94),102px)!important;
        max-width:150px!important;
        max-height:102px!important;
        transform:none!important;
        transform-origin:center!important;
    }
    .op-mobile-menu-brand .op-logo-caixa{padding:8px;border-radius:18px}
    .op-mobile-menu-close{
        width:50px;
        height:50px;
        display:grid;
        place-items:center;
        border:0;
        border-radius:17px;
        background:rgba(255,255,255,.86);
        color:var(--op-ink);
        box-shadow:0 8px 24px rgba(15,23,42,.08);
        cursor:pointer;
        font-size:1.1rem;
        transition:background .2s ease,color .2s ease,box-shadow .2s ease;
    }
    .op-mobile-menu-close:hover{background:rgba(var(--op-primary-rgb),.10);color:var(--op-primary);box-shadow:0 8px 22px rgba(var(--op-primary-rgb),.10)}
    .op-mobile-links{
        flex:1;
        display:flex;
        flex-direction:column;
        align-items:center;
        justify-content:center;
        gap:4px;
        padding:26px 0 34px;
        text-align:center;
    }
    .op-mobile-menu .op-mobile-links a{
        min-width:min(100%,360px);
        padding:11px 24px!important;
        border-radius:16px!important;
        color:var(--op-ink)!important;
        text-decoration:none;
        text-align:center;
        font-size:clamp(1rem,3vw,1.16rem)!important;
        line-height:1.25;
        font-weight:760!important;
        letter-spacing:-.015em;
        transition:color .2s ease,background .2s ease,letter-spacing .2s ease;
    }
    .op-mobile-menu .op-mobile-links a:hover,
    .op-mobile-menu .op-mobile-links a:focus-visible{
        background:rgba(var(--op-primary-rgb),.075)!important;
        color:var(--op-primary)!important;
        letter-spacing:.005em;
    }
    .op-mobile-whatsapp{
        width:min(100%,390px);
        min-height:58px;
        margin:0 auto;
        display:flex;
        align-items:center;
        justify-content:center;
        gap:11px;
        padding:0 22px!important;
        border-radius:19px!important;
        background:#14a85a!important;
        color:#fff!important;
        text-decoration:none;
        font-size:.93rem!important;
        font-weight:850!important;
        box-shadow:0 15px 34px rgba(20,168,90,.20);
    }
    .op-mobile-whatsapp i{font-size:1.28rem}
    .op-mobile-whatsapp:hover{background:#129b53!important;color:#fff!important;box-shadow:0 17px 38px rgba(20,168,90,.24)}
    body.op-design-impacto .op-mobile-menu,
    body.op-theme-escuro .op-mobile-menu{background:rgba(7,12,20,.985)!important}
    body.op-design-impacto .op-mobile-menu::before,
    body.op-theme-escuro .op-mobile-menu::before{
        background:
          radial-gradient(circle at 50% 4%,rgba(var(--op-primary-rgb),.20),transparent 31%),
          radial-gradient(circle at 85% 75%,rgba(255,255,255,.045),transparent 28%);
    }
    body.op-design-impacto .op-mobile-menu-close,
    body.op-theme-escuro .op-mobile-menu-close{background:rgba(255,255,255,.08);color:#fff;box-shadow:none}
    body.op-design-impacto .op-mobile-menu .op-mobile-links a,
    body.op-theme-escuro .op-mobile-menu .op-mobile-links a{color:#fff!important}
}
@media (max-width:760px){
    :root{--op-header-h:88px}
    .op-header,.op-header.is-scrolled{height:88px}
    .op-nav{grid-template-columns:46px minmax(0,1fr) 46px!important;gap:10px!important}
    .op-nav::before{content:"";width:46px;height:46px;grid-column:1;grid-row:1}
    .op-brand{grid-column:2;grid-row:1;justify-self:center}
    .op-header-actions{grid-column:3;grid-row:1;justify-self:end}
    .op-header-whats{display:none!important}
    .op-nav>.op-brand .op-logo-shell{
        width:min(var(--op-logo-size),108px)!important;
        height:68px!important;
        max-width:108px!important;
        max-height:68px!important;
        transform:none!important;
        transform-origin:center!important;
    }
    .op-header.is-scrolled .op-nav>.op-brand .op-logo-shell{transform:scale(.94)!important;transform-origin:center!important}
    .op-mobile-trigger{width:46px;height:46px;border-radius:16px}
    .op-mobile-menu-inner{width:min(100% - 28px,520px);padding-top:18px;padding-bottom:24px}
    .op-mobile-menu-head{grid-template-columns:48px minmax(0,1fr) 48px;min-height:96px}
    .op-mobile-menu-head-spacer{width:48px;height:48px}
    .op-mobile-menu-close{width:48px;height:48px;border-radius:16px}
    .op-mobile-menu-brand .op-logo-shell{
        width:min(calc(var(--op-logo-size) * 1.42),142px)!important;
        height:min(calc(var(--op-logo-size) * 1.0),98px)!important;
    }
    .op-mobile-links{padding:18px 0 26px;gap:2px}
    .op-mobile-menu .op-mobile-links a{min-width:100%;padding:10px 18px!important;font-size:1rem!important}
    .op-mobile-whatsapp{min-height:56px;border-radius:18px!important}
}
\n\n/* =========================================================\n   SITOR ONEPAGE V20 — somente menu mobile + setas avaliações\n   ========================================================= */\n@media (max-width:1180px){\n    body.op-mobile-menu-open{\n        overflow:hidden!important;\n        touch-action:none;\n    }\n    body.op-mobile-menu-open .op-header{\n        z-index:2147482990!important;\n    }\n    body > .op-mobile-menu{\n        position:fixed!important;\n        inset:0!important;\n        width:100vw!important;\n        height:100dvh!important;\n        min-height:100vh!important;\n        z-index:2147483646!important;\n        transform:none!important;\n        isolation:isolate!important;\n        contain:none!important;\n        opacity:0!important;\n        visibility:hidden!important;\n        pointer-events:none!important;\n    }\n    body > .op-mobile-menu.open{\n        display:block!important;\n        opacity:1!important;\n        visibility:visible!important;\n        pointer-events:auto!important;\n    }\n    body.op-mobile-menu-open > main,\n    body.op-mobile-menu-open > footer,\n    body.op-mobile-menu-open > .op-scroll-progress,\n    body.op-mobile-menu-open > .op-whatsapp-float,\n    body.op-mobile-menu-open > .op-back-top,\n    body.op-mobile-menu-open > .op-live-editor-trigger{\n        pointer-events:none!important;\n    }\n}\n