<!DOCTYPE html>
<html lang="pt-BR">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Benício Ótica</title>
<meta name="description" content="Óculos é saúde visual. Benício Ótica, na Galeria do Rosário, em Porto Alegre: grandes marcas de armações e as lentes que mais se adaptam a você e ao seu bolso.">
<link rel="canonical" href="https://www.beniciooptica.com.br/">
<link rel="icon" href="https://www.beniciooptica.com.br/wp-content/uploads/cropped-favicon-be-32x32.png" sizes="32x32">
<link rel="icon" href="https://www.beniciooptica.com.br/wp-content/uploads/cropped-favicon-be-192x192.png" sizes="192x192">
<link rel="apple-touch-icon" href="https://www.beniciooptica.com.br/wp-content/uploads/cropped-favicon-be-180x180.png">
<meta name="theme-color" content="#000000">
<meta name="color-scheme" content="dark">
<meta property="og:type" content="website">
<meta property="og:locale" content="pt_BR">
<meta property="og:title" content="Benício Ótica">
<meta property="og:description" content="Óculos é saúde visual. Grandes marcas de armações e lentes na Galeria do Rosário, em Porto Alegre. Enviamos para todo o Brasil.">
<meta property="og:url" content="https://www.beniciooptica.com.br/">
<meta property="og:image" content="https://www.beniciooptica.com.br/wp-content/uploads/benicio.png">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,500..800&family=Hanken+Grotesk:wght@400;500;600;700&display=swap" rel="stylesheet">
<!-- Google Tag Manager (mesmo ID do site antigo) -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);})(window,document,'script','dataLayer','GTM-PP2MRFR9');</script>
<!-- Pixel do Facebook (mesmo ID do site antigo) -->
<script>!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,document,'script','https://connect.facebook.net/en_US/fbevents.js');fbq('init','988767105735668');fbq('track','PageView');</script>
<script>
/* ===== CONFIGURAÇÕES ===== */
/* Intro: false = aparece a cada visita; true = só uma vez por sessão */
var INTRO_UMA_VEZ_POR_SESSAO = false;
/* Banners rotativos (os do topo do site antigo). Cole os links aqui, no formato:
{ src:'https://.../banner.jpg', alt:'Par de alianças com até 20% OFF em 12x sem juros' }
Enquanto a lista estiver vazia, o carrossel não aparece. */
var PROMO_BANNERS = [
/* { src:'', alt:'' }, */
];
/* ========================= */
(function(){
var d = document.documentElement, seen = false;
d.classList.add('js');
try{ seen = !!sessionStorage.getItem('bo_intro'); }catch(e){}
var reduce = window.matchMedia && matchMedia('(prefers-reduced-motion: reduce)').matches;
if(!reduce && !(INTRO_UMA_VEZ_POR_SESSAO && seen)){ d.classList.add('intro-on'); }
})();
/* Plano B das imagens: 1) tenta por um proxy de imagens; 2) na logo, mostra o nome em texto */
function lf(i){
var src = i.getAttribute('src') || '';
if(!i.dataset.px && src.indexOf('beniciooptica.com.br') > -1){
i.dataset.px = '1';
i.src = 'https://images.weserv.nl/?url=' + encodeURIComponent(src.replace(/^https?:\/\//,''));
return;
}
if(i.hasAttribute('data-logo')){
var s = document.createElement('span'); s.className = 'brand-text'; s.textContent = 'Benício Ótica'; i.replaceWith(s);
} else if(i.hasAttribute('data-hide')){
i.parentNode.style.display = 'none';
}
}
</script>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Optician",
"name": "Benício Ótica",
"url": "https://www.beniciooptica.com.br/",
"image": "https://www.beniciooptica.com.br/wp-content/uploads/sobre-nos-home.jpg",
"logo": "https://www.beniciooptica.com.br/wp-content/uploads/benicio.png",
"telephone": "+55 51 3105-4372",
"email": "contato@beniciooptica.com.br",
"address": {
"@type": "PostalAddress",
"streetAddress": "Rua Vigário José Inácio, 371 – Galeria do Rosário, loja 33",
"addressLocality": "Porto Alegre",
"addressRegion": "RS",
"addressCountry": "BR"
},
"geo": { "@type": "GeoCoordinates", "latitude": -30.028999, "longitude": -51.228410 },
"openingHoursSpecification": [
{ "@type": "OpeningHoursSpecification", "dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday"], "opens": "09:00", "closes": "18:00" },
{ "@type": "OpeningHoursSpecification", "dayOfWeek": "Saturday", "opens": "09:00", "closes": "17:00" }
],
"sameAs": ["https://www.facebook.com/beniciooptica", "https://www.instagram.com/benicio_optica/"]
}
</script>
<style>
/* ============ Tokens: preto e dourado (troque aqui) ============ */
:root{
--black:#000000;
--coal:#0F0E0C;
--gold:#CDAE72; /* dourado champagne: textos e linhas */
--gold-hi:#EBDCB0; /* brilho */
--gold-deep:#8A6A2F; /* sombra do metal */
--gold-grad:linear-gradient(120deg,#8A6A2F 0%,#D8BA74 24%,#F1E3B8 46%,#C29A50 68%,#8A6A2F 100%);
--gold-text:linear-gradient(180deg,#F5EACB 0%,#D6B672 55%,#A98342 100%);
--on-gold:#1B1407;
--cream:#F3ECD9;
--text:#E6DFCC;
--muted:#ADA48D;
--line:rgba(205,174,114,.3);
--plate:#000000; /* fundo da logo (a logo tem fundo preto) */
--ff-display:'Bricolage Grotesque','Segoe UI',system-ui,sans-serif;
--ff-body:'Hanken Grotesk',system-ui,-apple-system,'Segoe UI',sans-serif;
color-scheme:dark;
}
/* ============ Base ============ */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:88px;-webkit-text-size-adjust:100%}
html.intro-on{overflow:hidden}
body{margin:0;background:var(--black);color:var(--text);font:400 1.0625rem/1.65 var(--ff-body);-webkit-font-smoothing:antialiased}
::selection{background:var(--gold);color:#000}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--ff-display);color:var(--cream);line-height:1.05;letter-spacing:-.025em;margin:0;text-wrap:balance}
h2{font-size:clamp(2.1rem,4.6vw,3.6rem);font-weight:700}
h3{font-size:1.5rem;font-weight:650;letter-spacing:-.015em}
p{margin:0}
:focus-visible{outline:3px solid var(--gold-hi);outline-offset:3px;border-radius:4px}
.wrap{width:min(100% - 2.5rem,1200px);margin-inline:auto}
.section{padding-block:clamp(4rem,9vw,7.5rem)}
.skip{position:absolute;left:1rem;top:-4rem;background:var(--gold);color:#000;padding:.6rem 1rem;border-radius:.5rem;z-index:400;text-decoration:none;font-weight:600}
.skip:focus{top:1rem}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;padding:.85rem 1.55rem;border-radius:999px;border:1.5px solid transparent;font:600 1rem/1.2 var(--ff-body);text-decoration:none;cursor:pointer;transition:background-position .5s ease,background-color .2s,color .2s,border-color .2s}
.btn svg{width:1.2rem;height:1.2rem;flex:none;fill:currentColor}
.btn-gold{background:var(--gold-grad);background-size:220% 100%;background-position:0 0;color:var(--on-gold);box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 8px 22px rgba(138,106,47,.22)}
.btn-gold:hover{background-position:100% 0}
.btn-ghost{border-color:rgba(243,236,217,.5);color:var(--cream)}
.btn-ghost:hover{background:rgba(243,236,217,.12)}
.btn-line{border-color:var(--gold);color:var(--gold-hi)}
.btn-line:hover{background:var(--gold-grad);color:var(--on-gold);border-color:transparent}
/* ============ Logo (crista dourada sobre preto) ============ */
.logo{display:inline-flex;align-items:center;background:var(--plate);text-decoration:none}
.logo img{height:auto;max-height:100%;width:auto}
.brand-text{font:700 1.4rem var(--ff-display);color:var(--gold-hi);letter-spacing:-.02em;padding:.2rem .4rem}
/* ============ Topo ============ */
.topbar{background:#000;color:var(--text);font-size:.875rem;border-bottom:1px solid var(--line)}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-block:.45rem;flex-wrap:wrap}
.topbar a{text-decoration:none}
.topbar a:hover{color:var(--gold-hi)}
.topbar .sep{opacity:.5;margin-inline:.4rem;color:var(--gold)}
.topbar-right{display:flex;align-items:center;gap:1.1rem}
.topbar .ico-sm{display:inline-grid;place-items:center;color:var(--gold)}
.topbar .ico-sm svg{width:16px;height:16px}
.site-header{position:sticky;top:0;z-index:50;background:rgba(0,0,0,.94);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;height:96px;transition:height .3s ease}
.site-header .logo{height:100%;padding-block:.5rem}
.site-header .logo img{height:100%;transition:height .3s ease}
.site-header.compact .nav-wrap{height:68px}
.nav{display:flex;align-items:center;gap:.25rem}
.nav a{padding:.5rem .95rem;border-radius:999px;text-decoration:none;font-weight:500;color:var(--text);transition:background-color .2s,color .2s}
.nav a:hover{background:rgba(205,174,114,.14);color:var(--gold-hi)}
.nav-toggle{display:none;background:none;border:0;padding:.5rem;cursor:pointer;color:var(--gold-hi)}
.nav-toggle svg{width:28px;height:28px}
/* ============ Hero (lente que dá foco) ============ */
.hero{position:relative;display:grid;align-items:center;min-height:clamp(540px,80svh,820px);overflow:hidden;color:var(--cream);background:#000;touch-action:pan-y}
.hero-media{position:absolute;inset:0}
.layer{position:absolute;inset:0;overflow:hidden}
.layer img{width:100%;height:100%;object-fit:cover}
/* fundo "estendido": a própria fachada, bem desfocada, preenche qualquer tela */
.layer.bg img{transform:scale(1.25);filter:blur(30px) brightness(.5) saturate(.9)}
/* painel com a fachada: some suavemente para a esquerda e evita ampliar demais a foto */
.panel{position:absolute;top:0;bottom:0;right:0;width:min(58%,840px);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 36%);mask-image:linear-gradient(90deg,transparent 0%,#000 36%)}
.panel img{transform:scale(1.04);object-position:50% 22%}
.layer.soft .panel img{filter:blur(3px) brightness(.78) saturate(.95)}
.layer.sharp{clip-path:circle(var(--r,110px) at var(--x,72%) var(--y,50%))}
.shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.5) 46%,rgba(0,0,0,.04) 100%)}
.lens-ring{display:none;position:absolute;left:0;top:0;width:calc(var(--r) * 2);height:calc(var(--r) * 2);border-radius:50%;border:3px solid var(--gold-hi);box-shadow:0 0 0 9px rgba(205,174,114,.16),0 0 44px rgba(205,174,114,.22),inset 0 0 36px rgba(235,220,176,.18);transform:translate(calc(var(--x) - var(--r)),calc(var(--y) - var(--r)));pointer-events:none}
.lens-ring::after{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 28% 24%,rgba(255,244,214,.4),transparent 34%)}
.js .lens-ring{display:block}
.hero-inner{position:relative;z-index:2;padding-block:4rem 5rem}
.hero h1{color:var(--cream);font-size:clamp(2.9rem,8.4vw,6.4rem);font-weight:720;line-height:.94;letter-spacing:-.035em;max-width:10.5em}
.hero-lede{margin-top:1.5rem;max-width:34rem;font-size:clamp(1.05rem,1.6vw,1.25rem);color:var(--text)}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:2rem}
.hint{position:absolute;z-index:2;right:1.25rem;bottom:1rem;display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--gold-hi);transition:opacity .4s;pointer-events:none}
.hint i{width:.65rem;height:.65rem;border-radius:50%;border:2px solid var(--gold-hi);display:block}
.hero.touched .hint{opacity:0}
@media (prefers-reduced-motion:no-preference){
.hero-inner > *{animation:rise .9s cubic-bezier(.2,.7,.2,1) both}
.hero-inner > *:nth-child(2){animation-delay:.12s}
.hero-inner > *:nth-child(3){animation-delay:.24s}
@keyframes rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
}
/* ============ Sobre ============ */
.about{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(2.5rem,7vw,6rem);align-items:center}
.about-media{position:relative}
.about-photo{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:7rem 1.25rem 7rem 1.25rem;background:var(--coal);border:1px solid var(--line)}
.about-badge{position:absolute;right:-1rem;bottom:2.5rem;width:10rem;aspect-ratio:1;border-radius:50%;background:var(--plate);display:grid;place-items:center;padding:1rem;border:6px solid var(--black);box-shadow:0 0 0 2px var(--gold)}
.about-badge img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.about-text h2{margin-bottom:1.5rem}
.about-text > p{max-width:36rem;color:var(--muted)}
.pillars{margin:2.5rem 0 2rem}
.pillars > div{display:grid;grid-template-columns:9rem 1fr;gap:1rem;padding:1.15rem 0;border-top:1px solid var(--line)}
.pillars > div:last-child{border-bottom:1px solid var(--line)}
.pillars dt{display:flex;align-items:center;gap:.65rem;font:650 1.15rem var(--ff-display);color:var(--gold-hi)}
.pillars dt svg{width:22px;height:22px;flex:none;fill:none;stroke:var(--gold);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.pillars dd{margin:0;color:var(--muted)}
.ask{background:#0B0A08;border-block:1px solid var(--line)}
.ask .wrap{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;padding-block:2.5rem}
.ask h2{font-size:clamp(1.6rem,3vw,2.3rem);color:var(--gold-hi)}
/* ============ Promoções ============ */
.promos{background:var(--coal)}
.promos-head{text-align:center;margin-bottom:3rem}
.promos-head p{max-width:34rem;margin:1rem auto 0;color:var(--muted)}
.social{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center;margin-top:1.75rem}
.social a{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1.1rem;border-radius:999px;border:1.5px solid var(--gold);color:var(--gold-hi);font-weight:600;font-size:.95rem;text-decoration:none;transition:background-color .2s,color .2s}
.social a:hover{background:var(--gold-grad);color:var(--on-gold);border-color:transparent}
.social svg{width:1.1rem;height:1.1rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.banners-sec{padding-block:clamp(2rem,4vw,3.5rem)}
.banners-sec[hidden]{display:none}
.banners{position:relative;border-radius:1.5rem;overflow:hidden;border:1px solid var(--line);background:#000}
.banners-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;align-items:flex-start}
.banners-track::-webkit-scrollbar{display:none}
.banners-track img{flex:0 0 100%;width:100%;height:auto;scroll-snap-align:start}
.b-btn{position:absolute;top:50%;transform:translateY(-50%);width:2.75rem;height:2.75rem;border-radius:50%;border:1px solid var(--gold);background:rgba(0,0,0,.6);color:var(--gold-hi);cursor:pointer;display:grid;place-items:center}
.b-btn:hover{background:var(--gold-grad);color:var(--on-gold);border-color:transparent}
.b-btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.b-prev{left:1rem}.b-next{right:1rem}
.b-dots{position:absolute;left:0;right:0;bottom:.8rem;display:flex;justify-content:center;gap:.5rem}
.b-dots button{width:.65rem;height:.65rem;padding:0;border-radius:50%;border:1.5px solid var(--gold-hi);background:transparent;cursor:pointer}
.b-dots button[aria-current="true"]{background:var(--gold-hi)}
.promo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.25rem,3vw,2.25rem);align-items:start}
.promo-img{display:block;width:100%;padding:0;border:1px solid var(--line);background:#000;border-radius:1.5rem;overflow:hidden;cursor:zoom-in}
.promo-img img{width:100%;height:auto}
.promo-body{padding:1.25rem .25rem 0}
.promo-body p{color:var(--muted);margin-top:.5rem}
.promo-body p strong{color:var(--text)}
.price{display:flex;align-items:baseline;gap:.5rem;margin-top:1rem}
.price span{font-weight:600;color:var(--muted)}
.price .x{font:650 1.25rem var(--ff-display);color:var(--cream)}
.price b{font:750 2.7rem/1 var(--ff-display);letter-spacing:-.03em;color:var(--gold-hi);background:var(--gold-text);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
dialog.lightbox{border:0;padding:0;background:transparent;max-width:min(94vw,960px);max-height:94vh;overflow:visible}
dialog.lightbox::backdrop{background:rgba(0,0,0,.88)}
.lightbox img{max-width:100%;max-height:88vh;width:auto;margin-inline:auto;border-radius:1rem;background:#000;border:1px solid var(--line)}
.lightbox button{position:absolute;top:-.75rem;right:-.75rem;width:2.75rem;height:2.75rem;border-radius:50%;border:0;background:var(--gold-grad);color:var(--on-gold);cursor:pointer;display:grid;place-items:center}
.lightbox button svg{width:20px;height:20px;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;fill:none}
/* ============ Catálogo (páginas em retrato, como no Canva) ============ */
.catalog-head{text-align:center;margin-bottom:2.5rem}
.catalog-head .btn{margin-top:1.5rem}
.embed{position:relative;width:100%;max-width:820px;margin-inline:auto;aspect-ratio:1 / 1.4143;border-radius:1.25rem;overflow:hidden;background:var(--coal);border:1px solid var(--line);box-shadow:0 20px 60px rgba(0,0,0,.6)}
.embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
/* ============ Localização ============ */
.where{background:var(--coal)}
.where-head{text-align:center;margin-bottom:2.5rem}
.where-head p{margin:1.25rem auto 0;color:var(--muted);max-width:40rem}
.where-head p strong{color:var(--cream)}
.where-btns{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:2rem}
.map{border-radius:1.5rem;overflow:hidden;height:clamp(320px,38vw,430px);border:1px solid var(--gold);background:#e8e4da}
.map iframe{display:block;width:100%;height:100%;border:0}
/* ============ Contato ============ */
.contact{position:relative;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 82% 35%,#1A1409 0%,#000 62%)}
.contact-art{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(2.5rem,7vw,6rem);align-items:start}
.contact-logo{display:inline-flex;margin-bottom:1.5rem;border:1px solid rgba(205,174,114,.55);border-radius:14px;padding:.3rem .7rem;height:88px}
.contact-logo img{height:100%;width:auto}
.contact .btn{margin-top:1.75rem}
.info{list-style:none;margin:2.25rem 0 0;padding:0}
.info li{display:grid;grid-template-columns:2.9rem 1fr;gap:1rem;padding:1.1rem 0;border-top:1px solid var(--line)}
.info li:last-child{border-bottom:1px solid var(--line)}
.ci{width:2.9rem;height:2.9rem;border-radius:50%;display:grid;place-items:center;border:1.5px solid var(--gold);color:var(--gold-hi)}
.ci svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.info h3{font:650 .95rem var(--ff-display);letter-spacing:0;color:var(--gold);margin-bottom:.2rem}
.info p{color:var(--text)}
.info a{text-decoration:none;border-bottom:1px solid var(--line)}
.info a:hover{border-color:var(--gold-hi)}
.status{display:inline-flex;align-items:center;gap:.45rem;margin-top:.6rem;font-size:.9rem;font-weight:600;color:var(--cream)}
.status::before{content:"";width:.6rem;height:.6rem;border-radius:50%;background:#7C7767}
.status.open::before{background:#4ADE80}
.status[hidden]{display:none}
.form{background:var(--coal);border:1px solid var(--line);border-radius:1.75rem;padding:clamp(1.5rem,3.5vw,2.5rem);display:grid;gap:1.1rem}
.field{display:grid;gap:.4rem}
.field label{font-weight:600;font-size:.95rem;color:var(--cream)}
.field input,.field textarea{width:100%;font:inherit;color:var(--cream);background:#000;border:1.5px solid rgba(205,174,114,.32);border-radius:.85rem;padding:.8rem 1rem;transition:border-color .2s}
.field input:hover,.field textarea:hover{border-color:rgba(205,174,114,.6)}
.field input:focus,.field textarea:focus{outline:0;border-color:var(--gold-hi);box-shadow:0 0 0 3px rgba(235,220,176,.2)}
.field textarea{min-height:8rem;resize:vertical}
.form-actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-top:.4rem}
/* ============ Rodapé ============ */
.footer{border-top:1px solid var(--line)}
.footer .wrap{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;padding-block:2rem;font-size:.92rem;color:var(--muted)}
.footer .logo{height:72px}
.footer .logo img{height:100%}
.ico-row{display:flex;gap:.75rem}
.ico{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;border:1.5px solid var(--gold);color:var(--gold-hi);text-decoration:none;transition:background-color .2s,color .2s,border-color .2s}
.ico:hover{background:var(--gold-grad);color:var(--on-gold);border-color:transparent}
.ico svg{width:22px;height:22px}
/* ============ Widget de WhatsApp (como no site antigo) ============ */
.wa{position:fixed;right:1rem;bottom:1rem;z-index:60;display:flex;flex-direction:column;align-items:flex-end;gap:.75rem}
.wa-btn{display:inline-flex;align-items:center;gap:.55rem;padding:.7rem 1.2rem .7rem .8rem;border-radius:999px;border:0;background:var(--gold-grad);background-size:220% 100%;color:var(--on-gold);font:700 .95rem var(--ff-body);cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.4);transition:background-position .5s}
.wa-btn:hover{background-position:100% 0}
.wa-btn svg{width:26px;height:26px;fill:currentColor}
.wa-card{position:relative;width:min(330px,calc(100vw - 2rem));background:#0B0A08;border:1px solid var(--gold);border-radius:1.1rem;padding:1.25rem;color:var(--text);font-size:.95rem;line-height:1.5;box-shadow:0 18px 50px rgba(0,0,0,.7)}
.wa-card[hidden]{display:none}
.wa-card h3{font:700 1rem var(--ff-display);letter-spacing:0;color:var(--gold-hi);margin:0 1.5rem .6rem 0}
.wa-card p + p{margin-top:.6rem}
.wa-card .tel{color:var(--gold-hi);text-decoration:none;border-bottom:1px solid var(--line)}
.wa-close{position:absolute;top:.6rem;right:.6rem;width:2rem;height:2rem;border-radius:50%;border:0;background:transparent;color:var(--gold-hi);cursor:pointer;display:grid;place-items:center}
.wa-close svg{width:16px;height:16px;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;fill:none}
.wa-link{display:flex;align-items:center;gap:.75rem;margin-top:1rem;padding:.7rem .9rem;border-radius:.85rem;background:var(--gold-grad);color:var(--on-gold);text-decoration:none}
.wa-link svg{width:32px;height:32px;fill:currentColor;flex:none}
.wa-link small{display:block;font-size:.75rem;opacity:.8;line-height:1.2}
.wa-link b{display:block;line-height:1.2}
/* ============ Intro: pessoa colocando o óculos ============ */
.intro{position:fixed;inset:0;z-index:300;display:none;flex-direction:column;align-items:center;justify-content:center;gap:1.25rem;background:radial-gradient(ellipse at 50% 38%,#1B1409 0%,#000 66%);transition:opacity .9s ease,visibility .9s}
.intro-on .intro{display:flex}
.intro.out{opacity:0;visibility:hidden}
.intro-skip{position:absolute;top:1.25rem;right:1.25rem;background:none;border:1px solid var(--line);color:var(--gold-hi);border-radius:999px;padding:.5rem 1.1rem;font:600 .9rem var(--ff-body);cursor:pointer;transition:background-color .2s}
.intro-skip:hover{background:rgba(205,174,114,.14)}
.intro svg{width:min(78vw,380px);max-height:56svh;height:auto;filter:drop-shadow(0 0 16px rgba(205,174,114,.22))}
.intro .ln{fill:none;stroke:url(#gg);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.intro .solid{fill:#070604}
.intro .draw{stroke-dasharray:1 1;stroke-dashoffset:1;animation:draw 1.1s cubic-bezier(.55,0,.25,1) var(--d,0s) forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.intro .lift{animation:lift 1.2s cubic-bezier(.5,0,.2,1) 1.5s both}
@keyframes lift{0%{transform:translateY(190px);opacity:0}12%{opacity:1}100%{transform:none;opacity:1}}
.intro .hands{animation:away .9s ease-in 3.0s both}
@keyframes away{to{transform:translateY(170px);opacity:0}}
.intro .glasses{animation:nudge .6s ease-out 2.75s both}
@keyframes nudge{0%{transform:none}45%{transform:translateY(3px)}100%{transform:none}}
.intro .spark{fill:#FFF6DC;stroke:none;transform-box:fill-box;transform-origin:center;animation:spark 1s ease-out 3.4s both}
@keyframes spark{0%{transform:scale(0) rotate(0);opacity:0}50%{transform:scale(1.25) rotate(45deg);opacity:1}100%{transform:scale(0) rotate(90deg);opacity:0}}
.intro-logo{height:84px;opacity:0;animation:fadein .9s ease 3.3s both}
.intro-logo img{height:100%;width:auto}
@keyframes fadein{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
/* ============ Responsivo ============ */
@media (max-width:1000px){
.nav-toggle{display:block}
.nav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;background:#000;border-bottom:1px solid var(--line);padding:.5rem 1.25rem 1rem}
.nav.open{display:flex}
.nav a{padding:.9rem .5rem;border-radius:.5rem;font-size:1.1rem}
}
@media (max-width:900px){
.promo-grid{grid-template-columns:1fr;max-width:34rem;margin-inline:auto}
.about,.contact-grid{grid-template-columns:1fr}
.about-media{max-width:32rem}
.about-badge{right:.75rem}
}
@media (max-width:760px){
.nav-wrap{height:78px}
.site-header.compact .nav-wrap{height:62px}
.shade{background:linear-gradient(0deg,rgba(0,0,0,.96) 0%,rgba(0,0,0,.78) 52%,rgba(0,0,0,.25) 100%)}
.panel{width:100%;-webkit-mask-image:none;mask-image:none}
.panel img{object-position:50% 18%}
.hero{align-items:end;min-height:clamp(600px,88svh,760px)}
.topbar .mail{display:none}
.pillars > div{grid-template-columns:1fr;gap:.35rem}
.footer .wrap{flex-direction:column;text-align:center}
.b-btn{display:none}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
</style>
</head>
<body>
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-PP2MRFR9" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<noscript><img height="1" width="1" style="display:none" alt="" src="https://www.facebook.com/tr?id=988767105735668&ev=PageView&noscript=1"></noscript>
<!-- Ícones reutilizáveis -->
<svg xmlns="http://www.w3.org/2000/svg" style="display:none" aria-hidden="true">
<symbol id="i-wa" viewBox="0 0 90 90"><path d="M90,43.841c0,24.213-19.779,43.841-44.182,43.841c-7.747,0-15.025-1.98-21.357-5.455L0,90l7.975-23.522 c-4.023-6.606-6.34-14.354-6.34-22.637C1.635,19.628,21.416,0,45.818,0C70.223,0,90,19.628,90,43.841z M45.818,6.982 c-20.484,0-37.146,16.535-37.146,36.859c0,8.065,2.629,15.534,7.076,21.61L11.107,79.14l14.275-4.537 c5.865,3.851,12.891,6.097,20.437,6.097c20.481,0,37.146-16.533,37.146-36.857S66.301,6.982,45.818,6.982z M68.129,53.938 c-0.273-0.447-0.994-0.717-2.076-1.254c-1.084-0.537-6.41-3.138-7.4-3.495c-0.993-0.358-1.717-0.538-2.438,0.537 c-0.721,1.076-2.797,3.495-3.43,4.212c-0.632,0.719-1.263,0.809-2.347,0.271c-1.082-0.537-4.571-1.673-8.708-5.333 c-3.219-2.848-5.393-6.364-6.025-7.441c-0.631-1.075-0.066-1.656,0.475-2.191c0.488-0.482,1.084-1.255,1.625-1.882 c0.543-0.628,0.723-1.075,1.082-1.793c0.363-0.717,0.182-1.344-0.09-1.883c-0.27-0.537-2.438-5.825-3.34-7.977 c-0.902-2.15-1.803-1.792-2.436-1.792c-0.631,0-1.354-0.09-2.076-0.09c-0.722,0-1.896,0.269-2.889,1.344 c-0.992,1.076-3.789,3.676-3.789,8.963c0,5.288,3.879,10.397,4.422,11.113c0.541,0.716,7.49,11.92,18.5,16.223 C58.2,65.771,58.2,64.336,60.186,64.156c1.984-0.179,6.406-2.599,7.312-5.107C68.398,56.537,68.398,54.386,68.129,53.938z"/></symbol>
<symbol id="i-fb" viewBox="0 0 24 24"><path fill="currentColor" d="M13.5 21v-7.5h2.6l.4-3h-3V8.6c0-.9.3-1.5 1.6-1.5h1.6V4.4c-.3 0-1.2-.1-2.3-.1-2.3 0-3.9 1.4-3.9 4v2.2H7.9v3h2.6V21z"/></symbol>
<symbol id="i-ig" viewBox="0 0 24 24"><g fill="none" stroke="currentColor" stroke-width="1.8"><rect x="3.5" y="3.5" width="17" height="17" rx="5"/><circle cx="12" cy="12" r="4"/></g><circle cx="17.2" cy="6.8" r="1" fill="currentColor"/></symbol>
<symbol id="i-check" viewBox="0 0 24 24"><circle cx="12" cy="12" r="9.5"/><path d="M7.8 12.4l3 3 5.4-6"/></symbol>
</svg>
<!-- INTRO: pessoa colocando o óculos -->
<div class="intro" id="intro" role="region" aria-label="Introdução">
<button class="intro-skip" type="button">Pular</button>
<svg viewBox="0 0 400 440" aria-hidden="true">
<defs>
<linearGradient id="gg" gradientUnits="userSpaceOnUse" x1="0" y1="0" x2="400" y2="440">
<stop offset="0" stop-color="#F1E3B8"/><stop offset=".5" stop-color="#CDAE72"/><stop offset="1" stop-color="#A98342"/>
</linearGradient>
</defs>
<path class="solid" d="M200 92C160 92 138 124 138 168C138 214 164 250 200 250C236 250 262 214 262 168C262 124 240 92 200 92Z"/>
<path class="ln draw" pathLength="1" style="--d:0s" d="M200 92C160 92 138 124 138 168C138 214 164 250 200 250C236 250 262 214 262 168C262 124 240 92 200 92Z"/>
<path class="ln draw" pathLength="1" style="--d:.3s" d="M139 165C128 106 162 72 204 74C244 76 272 108 261 165C252 134 236 116 206 112C176 116 150 130 139 165"/>
<path class="ln draw" pathLength="1" style="--d:.5s" d="M138 158C126 158 126 184 139 186"/>
<path class="ln draw" pathLength="1" style="--d:.5s" d="M262 158C274 158 274 184 261 186"/>
<path class="ln draw" pathLength="1" style="--d:.55s" d="M176 246L172 290"/>
<path class="ln draw" pathLength="1" style="--d:.55s" d="M224 246L228 290"/>
<path class="ln draw" pathLength="1" style="--d:.65s" d="M172 290C130 298 96 314 80 352L80 440"/>
<path class="ln draw" pathLength="1" style="--d:.65s" d="M228 290C270 298 304 314 320 352L320 440"/>
<path class="ln draw" pathLength="1" style="--d:.9s" d="M163 141Q176 135 189 140"/>
<path class="ln draw" pathLength="1" style="--d:.9s" d="M211 140Q224 135 237 141"/>
<path class="ln draw" pathLength="1" style="--d:1s" d="M166 168Q176 162 186 168"/>
<path class="ln draw" pathLength="1" style="--d:1s" d="M214 168Q224 162 234 168"/>
<path class="ln draw" pathLength="1" style="--d:1.1s" d="M200 172L196 198Q200 202 206 198"/>
<path class="ln draw" pathLength="1" style="--d:1.2s" d="M184 222Q200 232 216 222"/>
<g class="lift">
<g class="hands">
<path class="solid ln" d="M112 192C106 300 92 430 84 600L142 600C138 430 134 300 134 192Z"/>
<path class="solid ln" d="M288 192C294 300 308 430 316 600L258 600C262 430 266 300 266 192Z"/>
<rect class="solid ln" x="110" y="150" width="24" height="44" rx="11"/>
<rect class="solid ln" x="130" y="160" width="14" height="10" rx="5" transform="rotate(-20 137 165)"/>
<rect class="solid ln" x="266" y="150" width="24" height="44" rx="11"/>
<rect class="solid ln" x="256" y="160" width="14" height="10" rx="5" transform="rotate(20 263 165)"/>
</g>
<g class="glasses">
<rect class="ln" x="150" y="150" width="48" height="40" rx="15" style="fill:rgba(235,220,176,.07)"/>
<rect class="ln" x="202" y="150" width="48" height="40" rx="15" style="fill:rgba(235,220,176,.07)"/>
<path class="ln" d="M198 163Q200 158 202 163"/>
<path class="ln" d="M150 160L136 157"/>
<path class="ln" d="M250 160L264 157"/>
<path class="ln" d="M158 178L169 160" style="stroke-width:1.6;opacity:.6"/>
<path class="ln" d="M210 178L221 160" style="stroke-width:1.6;opacity:.6"/>
<path class="spark" d="M240 143L243 150L250 153L243 156L240 163L237 156L230 153L237 150Z"/>
</g>
</g>
</svg>
<span class="logo intro-logo"><img src="https://www.beniciooptica.com.br/wp-content/uploads/benicio.png" alt="Benício Ótica" referrerpolicy="no-referrer" data-logo onerror="lf(this)"></span>
</div>
<a class="skip" href="#conteudo">Ir para o conteúdo</a>
<div class="topbar">
<div class="wrap">
<span><a href="tel:+555131054372">(51) 3105.4372</a><span class="sep">|</span><a href="https://wa.me/5551992372698" target="_blank" rel="noopener">(51) 99237-2698 – Whatsapp</a></span>
<span class="topbar-right">
<a class="mail" href="mailto:contato@beniciooptica.com.br">contato@beniciooptica.com.br</a>
<a class="ico-sm" href="https://www.facebook.com/beniciooptica" target="_blank" rel="noopener" aria-label="Facebook"><svg aria-hidden="true"><use href="#i-fb"/></svg></a>
<a class="ico-sm" href="https://www.instagram.com/benicio_optica/" target="_blank" rel="noopener" aria-label="Instagram"><svg aria-hidden="true"><use href="#i-ig"/></svg></a>
</span>
</div>
</div>
<header class="site-header" id="header">
<div class="wrap nav-wrap">
<a class="logo" href="#home" aria-label="Benício Ótica – início">
<img src="https://www.beniciooptica.com.br/wp-content/uploads/benicio.png" alt="Benício Ótica" referrerpolicy="no-referrer" data-logo onerror="lf(this)">
</a>
<button class="nav-toggle" type="button" aria-expanded="false" aria-controls="nav" aria-label="Abrir menu">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><path d="M4 7h16M4 12h16M4 17h16"/></svg>
</button>
<nav class="nav" id="nav" aria-label="Principal">
<a href="#home">Home</a>
<a href="#sobre-nos">Sobre nós</a>
<a href="#promocoes">Promoções</a>
<a href="#localizacao">Localização</a>
<a href="#contato">Contato</a>
<a href="#catalogo">Catálogo</a>
</nav>
</div>
</header>
<main id="conteudo">
<!-- HERO -->
<!-- >>> FOTO DA FACHADA: a mesma imagem aparece 3 vezes abaixo (fundo, painel e lente). Para trocar, substitua o link nas 3. -->
<section class="hero" id="home" aria-labelledby="hero-title">
<div class="hero-media" aria-hidden="true">
<div class="layer bg"><img src="https://www.beniciooptica.com.br/wp-content/uploads/sobre-nos-home.jpg" alt="" fetchpriority="high" referrerpolicy="no-referrer" onerror="lf(this)"></div>
<div class="layer soft"><div class="panel"><img src="https://www.beniciooptica.com.br/wp-content/uploads/sobre-nos-home.jpg" alt="" referrerpolicy="no-referrer" onerror="lf(this)"></div></div>
<div class="shade"></div>
<div class="layer sharp"><div class="panel"><img src="https://www.beniciooptica.com.br/wp-content/uploads/sobre-nos-home.jpg" alt="" referrerpolicy="no-referrer" onerror="lf(this)"></div></div>
<div class="lens-ring"></div>
</div>
<div class="wrap hero-inner">
<h1 id="hero-title">Óculos é saúde visual</h1>
<p class="hero-lede">Uma loja especializada em unir a saúde visual ao seu estilo, com grandes marcas de armações e as lentes que mais se adaptam a você e ao seu bolso.</p>
<div class="actions">
<a class="btn btn-gold" href="#promocoes">Nossas Promoções</a>
<span class="ico-row">
<a class="ico" href="https://www.facebook.com/beniciooptica" target="_blank" rel="noopener" aria-label="Facebook da Benício Ótica"><svg aria-hidden="true"><use href="#i-fb"/></svg></a>
<a class="ico" href="https://www.instagram.com/benicio_optica/" target="_blank" rel="noopener" aria-label="Instagram da Benício Ótica"><svg aria-hidden="true"><use href="#i-ig"/></svg></a>
</span>
<a class="btn btn-ghost" href="#contato">Contato</a>
</div>
</div>
<p class="hint" aria-hidden="true"><i></i><span id="hint-text">Passe o mouse para focar</span></p>
</section>
<!-- BANNERS ROTATIVOS (topo do site antigo). Preencha a lista PROMO_BANNERS no início do arquivo. -->
<section class="banners-sec" id="banners-sec" hidden aria-label="Promoções em destaque">
<div class="wrap">
<!-- Banners rotativos (preenchidos pela lista PROMO_BANNERS no topo do arquivo) -->
<div class="banners" id="banners" role="region" aria-roledescription="carrossel" aria-label="Promoções em destaque">
<div class="banners-track" id="banners-track"></div>
<button class="b-btn b-prev" type="button" aria-label="Banner anterior"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M15 5l-7 7 7 7"/></svg></button>
<button class="b-btn b-next" type="button" aria-label="Próximo banner"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M9 5l7 7-7 7"/></svg></button>
<div class="b-dots" id="b-dots"></div>
</div>
</div>
</section>
<section class="ask" aria-label="Chamada para contato">
<div class="wrap">
<h2>Dúvidas? Entre em Contato</h2>
<a class="btn btn-gold" href="#contato">Contato</a>
</div>
</section>
<!-- SOBRE -->
<section class="section" id="sobre-nos" aria-labelledby="sobre-title">
<div class="wrap about">
<div class="about-media">
<img class="about-photo" src="https://www.beniciooptica.com.br/wp-content/uploads/sobre-nos-b.jpg" alt="Atendimento na Benício Ótica" loading="lazy" decoding="async" referrerpolicy="no-referrer" onerror="lf(this)">
<div class="about-badge" aria-hidden="true">
<img src="https://www.beniciooptica.com.br/wp-content/uploads/benicio.png" alt="" loading="lazy" referrerpolicy="no-referrer" data-hide onerror="lf(this)">
</div>
</div>
<div class="about-text">
<h2 id="sobre-title">Sobre Nós</h2>
<p>Sentíamos uma necessidade de um espaço amplo e exclusivamente dedicado a atender nossos clientes. E assim o criamos, na loja 33, da histórica Galeria do Rosário, em Porto Alegre. Com uma equipe altamente treinada e uma vasta gama de lentes e armações, ousamos dizer que hoje temos tudo que você precisa para ter estilo e qualidade visual.</p>
<dl class="pillars">
<div><dt><svg aria-hidden="true"><use href="#i-check"/></svg>Missão</dt><dd>Que nossos clientes tenham prazer em usar óculos, aliando conforto, saúde visual e estilo.</dd></div>
<div><dt><svg aria-hidden="true"><use href="#i-check"/></svg>Visão</dt><dd>Tornarmos lembrados por produtos de qualidade e preço justo.</dd></div>
<div><dt><svg aria-hidden="true"><use href="#i-check"/></svg>Valores</dt><dd>Dedicação, ética, seriedade e comprometimento.</dd></div>
</dl>
<a class="btn btn-line" href="#promocoes">Nossas Promoções</a>
</div>
</div>
</section>
<!-- PROMOÇÕES -->
<section class="section promos" id="promocoes" aria-labelledby="promo-title">
<div class="wrap">
<div class="promos-head">
<h2 id="promo-title">Promoções</h2>
<p>Para ficar por dentro de todas as nossas promoções, siga a Benício nas redes sociais:</p>
<div class="social">
<a href="https://www.facebook.com/beniciooptica" target="_blank" rel="noopener"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="#i-fb"/></svg>Facebook</a>
<a href="https://www.instagram.com/benicio_optica/" target="_blank" rel="noopener"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="#i-ig"/></svg>Instagram</a>
</div>
</div>
<div class="promo-grid">
<article class="promo">
<button class="promo-img" type="button" data-full="https://www.beniciooptica.com.br/wp-content/uploads/Design-sem-nome-3.png" data-alt="Banner: Melhores marcas">
<img src="https://www.beniciooptica.com.br/wp-content/uploads/Design-sem-nome-3.png" alt="Banner: Melhores marcas – clique para ampliar" loading="lazy" decoding="async" referrerpolicy="no-referrer" onerror="lf(this)">
</button>
<div class="promo-body">
<h3>Melhores marcas</h3>
<p>Trabalhamos apenas com marcas de qualidade. Todos produtos originais e com garantia.</p>
</div>
</article>
<article class="promo">
<button class="promo-img" type="button" data-full="https://www.beniciooptica.com.br/wp-content/uploads/Benicio2.jpeg" data-alt="Banner: Óculos completos">
<img src="https://www.beniciooptica.com.br/wp-content/uploads/Benicio2.jpeg" alt="Banner: Óculos completos – clique para ampliar" loading="lazy" decoding="async" referrerpolicy="no-referrer" onerror="lf(this)">
</button>
<div class="promo-body">
<h3>Óculos completos</h3>
<p><strong>Armação + lentes com filtro azul</strong></p>
<p class="price"><span class="x">12x</span><b>33,33</b><span>sem juros</span></p>
</div>
</article>
<article class="promo">
<button class="promo-img" type="button" data-full="https://www.beniciooptica.com.br/wp-content/uploads/Benicio3.jpeg" data-alt="Banner: Multifocais em dobro">
<img src="https://www.beniciooptica.com.br/wp-content/uploads/Benicio3.jpeg" alt="Banner: Multifocais em dobro – clique para ampliar" loading="lazy" decoding="async" referrerpolicy="no-referrer" onerror="lf(this)">
</button>
<div class="promo-body">
<h3>Multifocais em dobro</h3>
<p><strong>LENTES multifocais em dobro</strong></p>
<p class="price"><span class="x">12x</span><b>58,32</b><span>sem juros</span></p>
</div>
</article>
</div>
</div>
</section>
<!-- CATÁLOGO -->
<section class="section" id="catalogo" aria-labelledby="cat-title">
<div class="wrap">
<div class="catalog-head">
<h2 id="cat-title">Confira nosso catálogo</h2>
<a class="btn btn-line" href="https://www.canva.com/design/DAFqZviTGMs/view?utm_content=DAFqZviTGMs&utm_campaign=designshare&utm_medium=embeds&utm_source=link" target="_blank" rel="noopener noreferrer">Abrir em tela cheia</a>
</div>
<div class="embed">
<iframe src="https://www.canva.com/design/DAFqZviTGMs/view?embed" title="Catálogo Benício Ótica" loading="lazy" allowfullscreen allow="fullscreen"></iframe>
</div>
</div>
</section>
<!-- LOCALIZAÇÃO -->
<section class="section where" id="localizacao" aria-labelledby="loc-title">
<div class="wrap">
<div class="where-head">
<h2 id="loc-title">Localização</h2>
<p>Nossa loja física é na Galeria do Rosário, 33 – Rua Vigário José Inácio, 371 – Centro Porto Alegre/RS</p>
<p><strong>Enviamos nossos produtos para todo o Brasil</strong></p>
<div class="where-btns">
<a class="btn btn-gold" href="https://www.google.com/maps/dir/?api=1&destination=Rua+Vig%C3%A1rio+Jos%C3%A9+In%C3%A1cio+371+Porto+Alegre+RS" target="_blank" rel="noopener">Como chegar</a>
<a class="btn btn-line" href="https://www.google.com/maps/search/?api=1&query=Rua+Vig%C3%A1rio+Jos%C3%A9+In%C3%A1cio+371+Porto+Alegre+RS" target="_blank" rel="noopener">Abrir no Google Maps</a>
</div>
</div>
<div class="map">
<iframe title="Mapa: Benício Ótica, Galeria do Rosário, Porto Alegre" allowfullscreen src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3454.273867268723!2d-51.22841098535201!3d-30.028999937517874!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x95197908c7d0bc55%3A0x59bdc6d069755e0f!2sR.%20Vig.%20Jos%C3%A9%20In%C3%A1cio%2C%20371%20-%20Centro%20Hist%C3%B3rico%2C%20Porto%20Alegre%20-%20RS%2C%2090020-100!5e0!3m2!1spt-BR!2sbr!4v1598981752889!5m2!1spt-BR!2sbr"></iframe>
</div>
</div>
</section>
<!-- CONTATO -->
<section class="section contact" id="contato" aria-labelledby="contato-title">
<svg class="contact-art" viewBox="0 0 1200 700" preserveAspectRatio="xMidYMid slice" aria-hidden="true">
<defs>
<linearGradient id="ca" gradientUnits="userSpaceOnUse" x1="0" y1="0" x2="1200" y2="700">
<stop offset="0" stop-color="#F1E3B8"/><stop offset=".55" stop-color="#CDAE72"/><stop offset="1" stop-color="#8A6A2F"/>
</linearGradient>
</defs>
<g fill="none" stroke="url(#ca)" stroke-width="1.4">
<!-- anéis de foco -->
<circle cx="930" cy="330" r="110" opacity=".34"/>
<circle cx="930" cy="330" r="190" opacity=".26"/>
<circle cx="930" cy="330" r="280" opacity=".18"/>
<circle cx="930" cy="330" r="390" opacity=".12"/>
<circle cx="930" cy="330" r="520" opacity=".07"/>
<!-- óculos em traço fino -->
<g transform="rotate(-8 930 330)" opacity=".42" stroke-width="2">
<rect x="690" y="250" width="220" height="170" rx="72"/>
<rect x="950" y="250" width="220" height="170" rx="72"/>
<path d="M910 310Q930 285 950 310"/>
<path d="M690 290L610 270"/><path d="M1170 290L1250 270"/>
</g>
</g>
<!-- tabela de acuidade visual -->
<g fill="#CDAE72" font-family="Bricolage Grotesque,Segoe UI,sans-serif" font-weight="700" text-anchor="middle" opacity=".13">
<text x="150" y="560" font-size="64">E</text>
<text x="150" y="620" font-size="44" letter-spacing="14">F P</text>
<text x="150" y="668" font-size="30" letter-spacing="12">T O Z</text>
</g>
</svg>
<div class="wrap contact-grid">
<div>
<span class="contact-logo" aria-hidden="true"><img src="https://www.beniciooptica.com.br/wp-content/uploads/benicio.png" alt="" loading="lazy" referrerpolicy="no-referrer" data-hide onerror="lf(this)"></span>
<h2 id="contato-title">Entre em Contato</h2>
<a class="btn btn-line" href="#promocoes">Nossas Promoções</a>
<ul class="info">
<li>
<span class="ci" aria-hidden="true"><svg viewBox="0 0 24 24"><rect x="3" y="5" width="18" height="14" rx="2.5"/><path d="M3.5 7l8.5 6 8.5-6"/></svg></span>
<div><h3>E-mail</h3><p><a href="mailto:contato@beniciooptica.com.br">contato@beniciooptica.com.br</a></p></div>
</li>
<li>
<span class="ci" aria-hidden="true"><svg viewBox="0 0 24 24"><path d="M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2z"/></svg></span>
<div><h3>Telefone</h3><p><a href="tel:+555131054372">(51) 3105.4372</a><br><a href="https://wa.me/5551992372698" target="_blank" rel="noopener">(51) 99237-2698 – WhatsApp</a></p></div>
</li>
<li>
<span class="ci" aria-hidden="true"><svg viewBox="0 0 24 24"><circle cx="12" cy="12" r="9"/><path d="M12 7v5l3 2"/></svg></span>
<div><h3>Horário de Atendimento</h3><p>Segunda a sexta: 9h às 18h<br>Sábados: 9h às 17h</p><span class="status" id="status" hidden></span></div>
</li>
<li>
<span class="ci" aria-hidden="true"><svg viewBox="0 0 24 24"><rect x="3" y="5" width="18" height="14" rx="2.5"/><path d="M3 10h18M7 15h4"/></svg></span>
<div><h3>Cartão</h3><p>Aceitamos todos os Cartões</p></div>
</li>
</ul>
</div>
<form class="form" id="form" novalidate>
<div class="field"><label for="f-nome">Nome</label><input id="f-nome" name="nome" type="text" autocomplete="name" placeholder="Nome" required></div>
<div class="field"><label for="f-email">E-mail</label><input id="f-email" name="email" type="email" autocomplete="email" placeholder="E-mail" required></div>
<div class="field"><label for="f-tel">Telefone</label><input id="f-tel" name="telefone" type="tel" autocomplete="tel" placeholder="Telefone" required></div>
<div class="field"><label for="f-msg">Mensagem</label><textarea id="f-msg" name="mensagem" placeholder="Mensagem" required></textarea></div>
<div class="form-actions">
<button class="btn btn-gold" type="submit"><svg viewBox="0 0 90 90" aria-hidden="true"><use href="#i-wa"/></svg>Enviar pelo WhatsApp</button>
<button class="btn btn-line" type="button" id="mail">Enviar por e-mail</button>
</div>
</form>
</div>
</section>
</main>
<footer class="footer">
<div class="wrap">
<a class="logo" href="#home" aria-label="Benício Ótica – início">
<img src="https://www.beniciooptica.com.br/wp-content/uploads/benicio.png" alt="Benício Ótica" loading="lazy" referrerpolicy="no-referrer" data-logo onerror="lf(this)">
</a>
<p>Copyright © <span id="year">2020</span> Benício Ótica - Todos os Direitos Reservados</p>
<div class="ico-row">
<a class="ico" href="https://www.facebook.com/beniciooptica" target="_blank" rel="noopener" aria-label="Facebook da Benício Ótica"><svg aria-hidden="true"><use href="#i-fb"/></svg></a>
<a class="ico" href="https://www.instagram.com/benicio_optica/" target="_blank" rel="noopener" aria-label="Instagram da Benício Ótica"><svg aria-hidden="true"><use href="#i-ig"/></svg></a>
</div>
</div>
</footer>
<!-- Widget de WhatsApp -->
<div class="wa">
<div class="wa-card" id="wa-card" hidden role="dialog" aria-label="Fale conosco pelo WhatsApp">
<button class="wa-close" type="button" aria-label="Fechar"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M6 6l12 12M18 6L6 18"/></svg></button>
<h3>Fale conosco pelo WhatsApp</h3>
<p>Solicite informações, orçamento e/ou tire suas dúvidas, atendimento rápido e fácil, clique no link Atendimento Via WhatsApp para falar conosco agora mesmo.</p>
<p>Se preferir ligue: <a class="tel" href="tel:+555131054372">(51) 3105.4372</a>.</p>
<p>Aguardamos seu contato!</p>
<a class="wa-link" href="https://wa.me/5551992372698" target="_blank" rel="noopener">
<svg viewBox="0 0 90 90" aria-hidden="true"><use href="#i-wa"/></svg>
<span><small>Atendimento Via Whatsapp</small><b>Benício Ótica</b></span>
</a>
</div>
<button class="wa-btn" id="wa-btn" type="button" aria-expanded="false" aria-controls="wa-card">
<svg viewBox="0 0 90 90" aria-hidden="true"><use href="#i-wa"/></svg>Olá, Posso Ajudá-lo?
</button>
</div>
<dialog class="lightbox" id="lightbox" aria-label="Imagem ampliada">
<button type="button" aria-label="Fechar"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M6 6l12 12M18 6L6 18"/></svg></button>
<img id="lightbox-img" src="" alt="" referrerpolicy="no-referrer">
</dialog>
<script>
(function(){
/* Intro */
var root = document.documentElement, intro = document.getElementById('intro');
if(root.classList.contains('intro-on')){
var skip = intro.querySelector('.intro-skip'), timer;
var end = function(){
clearTimeout(timer);
if(!root.classList.contains('intro-on')){ return; }
intro.classList.add('out');
try{ sessionStorage.setItem('bo_intro','1'); }catch(e){}
setTimeout(function(){ root.classList.remove('intro-on'); }, 950);
};
timer = setTimeout(end, 4800);
skip.addEventListener('click', end);
skip.focus({ preventScroll:true });
}
/* Ano do rodapé */
document.getElementById('year').textContent = new Date().getFullYear();
/* Cabeçalho encolhe ao rolar */
var header = document.getElementById('header');
function onScroll(){ header.classList.toggle('compact', window.scrollY > 40); }
window.addEventListener('scroll', onScroll, { passive:true }); onScroll();
/* Menu mobile */
var btn = document.querySelector('.nav-toggle'), nav = document.getElementById('nav');
btn.addEventListener('click', function(){
var open = nav.classList.toggle('open');
btn.setAttribute('aria-expanded', open);
btn.setAttribute('aria-label', open ? 'Fechar menu' : 'Abrir menu');
});
nav.addEventListener('click', function(e){
if(e.target.closest('a')){ nav.classList.remove('open'); btn.setAttribute('aria-expanded','false'); }
});
/* Hero: a "lente" que dá foco na imagem */
var hero = document.querySelector('.hero');
var reduce = window.matchMedia('(prefers-reduced-motion: reduce)').matches;
var coarse = window.matchMedia('(hover: none)').matches;
document.getElementById('hint-text').textContent = coarse ? 'Toque e arraste para focar' : 'Passe o mouse para focar';
var w = 0, h = 0, r = 110, cx = 0, cy = 0, tx = 0, ty = 0, active = false, visible = true, running = false, t0 = performance.now();
function measure(){
var b = hero.getBoundingClientRect();
w = b.width; h = b.height;
r = Math.max(80, Math.min(150, w * 0.15));
}
function paint(){
hero.style.setProperty('--x', cx + 'px');
hero.style.setProperty('--y', cy + 'px');
hero.style.setProperty('--r', r + 'px');
}
function idle(t){
var s = t - t0;
return [ w * (0.72 + 0.12 * Math.sin(s / 1700)), h * (0.5 + 0.2 * Math.sin(s / 2300 + 1)) ];
}
function frame(t){
if(!active){ var p = idle(t); tx = p[0]; ty = p[1]; }
cx += (tx - cx) * 0.12;
cy += (ty - cy) * 0.12;
paint();
if(visible){ requestAnimationFrame(frame); } else { running = false; }
}
function start(){ if(!running){ running = true; requestAnimationFrame(frame); } }
function local(e){
var b = hero.getBoundingClientRect();
return [ e.clientX - b.left, e.clientY - b.top ];
}
hero.addEventListener('pointermove', function(e){
var p = local(e);
hero.classList.add('touched');
if(reduce){ cx = p[0]; cy = p[1]; paint(); return; }
active = true; tx = p[0]; ty = p[1];
});
['pointerleave','pointerup','pointercancel'].forEach(function(ev){
hero.addEventListener(ev, function(){ active = false; });
});
window.addEventListener('resize', function(){ measure(); if(reduce){ cx = w * 0.72; cy = h * 0.5; paint(); } });
measure();
cx = tx = w * 0.72; cy = ty = h * 0.5;
paint();
if(!reduce){
if('IntersectionObserver' in window){
new IntersectionObserver(function(entries){
visible = entries[0].isIntersecting;
if(visible){ start(); }
}).observe(hero);
}
start();
}
/* Banners rotativos (opcional) */
(function(){
if(!window.PROMO_BANNERS || !PROMO_BANNERS.length){ return; }
var box = document.getElementById('banners'), track = document.getElementById('banners-track'), dots = document.getElementById('b-dots');
var n = PROMO_BANNERS.length, idx = 0, timer = null;
PROMO_BANNERS.forEach(function(b, i){
var im = document.createElement('img');
im.src = b.src; im.alt = b.alt || ('Promoção ' + (i + 1)); im.referrerPolicy = 'no-referrer';
im.onerror = function(){ lf(im); };
track.appendChild(im);
var d = document.createElement('button');
d.type = 'button'; d.setAttribute('aria-label', 'Ir para o banner ' + (i + 1));
d.addEventListener('click', function(){ go(i); });
dots.appendChild(d);
});
document.getElementById('banners-sec').hidden = false;
function mark(){ Array.prototype.forEach.call(dots.children, function(d, i){ d.setAttribute('aria-current', i === idx ? 'true' : 'false'); }); }
function go(i){ idx = (i + n) % n; track.scrollTo({ left: idx * track.clientWidth, behavior: reduce ? 'auto' : 'smooth' }); mark(); }
track.addEventListener('scroll', function(){
var i = Math.round(track.scrollLeft / Math.max(1, track.clientWidth));
if(i !== idx){ idx = i; mark(); }
}, { passive:true });
box.querySelector('.b-prev').addEventListener('click', function(){ go(idx - 1); });
box.querySelector('.b-next').addEventListener('click', function(){ go(idx + 1); });
function play(){ if(!reduce && n > 1){ stop(); timer = setInterval(function(){ go(idx + 1); }, 7000); } }
function stop(){ if(timer){ clearInterval(timer); timer = null; } }
box.addEventListener('mouseenter', stop); box.addEventListener('mouseleave', play);
box.addEventListener('focusin', stop); box.addEventListener('focusout', play);
mark(); play();
})();
/* Promoções: ampliar imagem */
var lb = document.getElementById('lightbox'), lbImg = document.getElementById('lightbox-img');
document.querySelectorAll('.promo-img').forEach(function(b){
b.addEventListener('click', function(){
lbImg.src = b.dataset.full; lbImg.alt = b.dataset.alt || '';
if(lb.showModal){ lb.showModal(); } else { window.open(b.dataset.full, '_blank'); }
});
});
lb.querySelector('button').addEventListener('click', function(){ lb.close(); });
lb.addEventListener('click', function(e){ if(e.target === lb){ lb.close(); } });
/* Aberto agora / fechado agora (horário de Brasília) */
(function(){
var el = document.getElementById('status');
try{
var parts = new Intl.DateTimeFormat('en-US', { timeZone:'America/Sao_Paulo', weekday:'short', hour:'2-digit', minute:'2-digit', hourCycle:'h23' }).formatToParts(new Date());
var get = function(t){ return parts.find(function(p){ return p.type === t; }).value; };
var day = get('weekday'), mins = parseInt(get('hour'),10) * 60 + parseInt(get('minute'),10);
var hours = { Mon:[540,1080], Tue:[540,1080], Wed:[540,1080], Thu:[540,1080], Fri:[540,1080], Sat:[540,1020] }[day];
var open = !!hours && mins >= hours[0] && mins < hours[1];
el.textContent = open ? 'Aberto agora' : 'Fechado agora';
el.classList.toggle('open', open);
el.hidden = false;
}catch(err){ /* sem suporte: mantém oculto */ }
})();
/* Widget de WhatsApp */
var waBtn = document.getElementById('wa-btn'), waCard = document.getElementById('wa-card');
function waToggle(open){
waCard.hidden = !open;
waBtn.setAttribute('aria-expanded', open ? 'true' : 'false');
}
waBtn.addEventListener('click', function(){ waToggle(waCard.hidden); });
waCard.querySelector('.wa-close').addEventListener('click', function(){ waToggle(false); waBtn.focus(); });
document.addEventListener('keydown', function(e){ if(e.key === 'Escape' && !waCard.hidden){ waToggle(false); } });
/* Formulário: envia por WhatsApp ou e-mail */
var form = document.getElementById('form');
function compose(){
var f = new FormData(form);
return 'Olá! Vim pelo site da Benício Ótica.\n\n' +
'Nome: ' + (f.get('nome') || '') + '\n' +
'E-mail: ' + (f.get('email') || '') + '\n' +
'Telefone: ' + (f.get('telefone') || '') + '\n\n' +
'Mensagem: ' + (f.get('mensagem') || '');
}
form.addEventListener('submit', function(e){
e.preventDefault();
if(!form.reportValidity()){ return; }
window.open('https://wa.me/5551992372698?text=' + encodeURIComponent(compose()), '_blank', 'noopener');
});
document.getElementById('mail').addEventListener('click', function(){
if(!form.reportValidity()){ return; }
location.href = 'mailto:contato@beniciooptica.com.br?subject=' + encodeURIComponent('Contato pelo site') + '&body=' + encodeURIComponent(compose());
});
})();
</script>
</body>
</html>