/* ===============================================================
   Óticas Revig v16 | Mobile-first: capa com marca completa e contatos
   Preserva capa original no desktop, tipografia itálica e divisor.
   =============================================================== */
.hero-mobile-stage,.hero-quick-contact{display:none}
.mobile-menu-contact{display:grid;gap:6px;margin-top:22px;padding-top:16px;border-top:1px solid rgba(198,142,5,.25)}
.mobile-menu-contact a{display:flex;align-items:center;gap:12px;min-height:44px;font-size:.88rem;color:#f4f4ee;overflow-wrap:anywhere}
.mobile-menu-contact .icon{width:20px;height:20px;color:var(--gold-brand)}
.footer-contact-links{display:flex;flex-wrap:wrap;align-items:center;gap:10px 26px;padding-top:25px;font-size:.85rem;color:#e1e9e3}
.footer-contact-links a{min-height:44px;display:inline-flex;align-items:center;overflow-wrap:anywhere;text-underline-offset:5px}
.footer-contact-links a:hover,.mobile-menu-contact a:hover{color:var(--gold-brand)}
.contact-value{overflow-wrap:anywhere}

/* Fundo e palavra são camadas CSS, portanto a marca deixa de ser cortada
   pela antiga foto horizontal em telefones e tablets. Sem animações. */
@media(max-width:1150px){
  .hero{isolation:isolate;background:#082f28;overflow:hidden}
  .hero-campaign{display:none!important}
  .hero-mobile-stage{position:relative;display:block;min-width:0;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 53% 18%,#14513e 0%,#073a2e 48%,#082f28 100%)}
  .hero-mobile-stage::after{content:"";position:absolute;z-index:3;inset:auto 0 0;height:17%;background:linear-gradient(0deg,#082f28 0%,rgba(8,47,40,0) 100%);pointer-events:none}
  .hero-mobile-word{position:absolute;z-index:1;top:13%;left:3%;width:94%;display:block;white-space:nowrap;text-align:center;font-family:Montserrat,Arial,Helvetica,sans-serif;font-weight:800;font-style:normal;font-size:clamp(62px,10.5vw,130px);letter-spacing:-.085em;line-height:1;color:#fff;text-shadow:0 7px 32px rgba(0,0,0,.08)}
  .hero-mobile-person{position:absolute;z-index:2;display:block;width:auto;height:120%;max-width:none;left:47%;bottom:-20%;transform:translateX(-50%);object-fit:contain;object-position:center bottom;pointer-events:none}
  .hero-copy{position:relative;inset:auto;min-width:0;width:100%;height:auto;z-index:4;pointer-events:auto}
  .hero .hero-claim{position:static;display:block;width:auto;max-width:100%;height:auto;clip:auto;overflow:visible;white-space:normal;margin:0;font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-weight:400;line-height:1.03;text-wrap:balance;color:var(--gold-brand);letter-spacing:-.022em}
  .hero .hero-claim>span{display:block;white-space:normal}
  .hero-description{width:auto;max-width:100%;white-space:normal}
  .hero-actions{pointer-events:auto}
  .hero-actions .button{display:inline-flex;justify-content:center;align-items:center;text-align:center;border-radius:9px;line-height:1.3;font-weight:600;white-space:normal}
  .hero-actions .button-gold{border:1px solid var(--gold-brand)}
  .hero-actions .hero-about{border:1px solid rgba(255,255,255,.22);padding-inline:16px}
  .hero-quick-contact{display:flex;flex-wrap:wrap;gap:7px 22px;border-top:1px solid rgba(198,142,5,.22);margin-top:24px;padding-top:18px}
  .hero-quick-contact a{display:inline-flex;min-height:44px;align-items:center;gap:9px;font-size:.82rem;color:#e6ebe6}
  .hero-quick-contact .icon{width:17px;height:17px;color:var(--gold-brand)}
  .hero-quick-contact a:hover{color:var(--gold-brand)}
  /* Na galeria horizontal, as imagens preenchem a área sem filetes ao redor. */
  #armacoes .frame-visual>img{transform:scale(1.025)!important}
}
/* Tablet: composição em duas colunas com a palavra inteira atrás do modelo. */
@media(min-width:700px) and (max-width:1150px){
  .hero{display:grid;grid-template-columns:minmax(0,54%) minmax(0,46%);align-items:stretch;min-height:490px}
  .hero-mobile-stage{height:100%;min-height:490px}
  .hero-mobile-word{font-size:clamp(90px,15.25vw,176px);top:17%;letter-spacing:-.09em}
  .hero-mobile-person{height:115%;bottom:-15%;left:52%}
  .hero-copy{display:flex;flex-direction:column;justify-content:center;padding:36px clamp(20px,3.3vw,48px) 38px 10px}
  .hero .hero-claim{font-size:clamp(34px,4.1vw,52px)}
  .hero-description{margin-top:15px}
  .hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
  .hero-actions .button{min-height:48px;padding:12px 17px}
  .hero-quick-contact{gap:5px 16px;margin-top:22px;padding-top:12px}
  .hero-quick-contact a{font-size:.75rem}
}
/* Telefones: palavra completa e figura destacada, conteúdo em bloco legível. */
@media(max-width:699px){
  :root{--gutter:clamp(18px,5.1vw,24px);--header-height:70px}
  .header,.header.is-scrolled{padding-inline:max(14px,env(safe-area-inset-left));gap:8px;min-width:0}
  .header>.brand{flex:0 1 auto;width:clamp(108px,34vw,144px);min-width:0}
  .header-actions{gap:6px;flex:0 0 auto;margin-left:auto}
  .header-cta,.header:not(.is-scrolled) .header-cta{padding-inline:10px;font-size:12px;min-height:41px;height:41px}
  .header-cta .cta-long{display:none}.header-cta .cta-short{display:inline}
  .menu-toggle{flex:0 0 41px;width:41px;height:41px;min-width:41px;min-height:41px}
  .hero{display:flex;flex-direction:column;min-height:0;margin-top:var(--header-height)}
  .hero-mobile-stage{width:100%;flex:none;height:clamp(295px,86vw,485px);min-height:0}
  .hero-mobile-word{font-size:clamp(78px,27.4vw,172px);top:14%;left:3%;width:94%;letter-spacing:-.086em}
  .hero-mobile-person{height:119%;bottom:-19%;left:48%}
  .hero-copy{padding:0 var(--gutter) 40px}
  .hero .hero-claim{font-size:clamp(29px,8.15vw,43px);line-height:1.015;text-wrap:balance}
  .hero-description{font-size:clamp(.92rem,3.7vw,1rem);line-height:1.5;margin-top:12px;color:#ecf2ef}
  .hero-actions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:22px}
  .hero-actions .button{position:static;width:100%;min-height:49px;min-width:0;max-width:100%;padding:12px 18px;font-size:.9rem}
  .hero-quick-contact{gap:6px 18px;margin-top:24px;padding-top:14px}
  .hero-quick-contact a{font-size:.78rem;max-width:100%}
  .product-grid,.brand-grid,.services-head,.service-grid,.company-grid,.location-grid,.warranty-premium-grid,.aftercare-grid,.contact{min-width:0}
  .section-heading h2,.services-intro h2,.about h2,.companies h2,.aftercare h2,.contact h2,.final-cta h2{font-size:clamp(31px,10vw,44px);line-height:1.08}
  .section-heading h2,.contact h2,.companies h2,.aftercare h2{overflow-wrap:normal}
  .company-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 18px}
  .company-grid>div,.brand-item,.product-card,.service-card{min-width:0}
  .company-grid h3{font-size:clamp(19px,5.7vw,23px);overflow-wrap:anywhere}
  .company-grid p{font-size:.82rem}
  .card-animation-container{min-width:0}
  .card-animation-caption{flex-wrap:wrap}
  .footer-top nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}
  .footer-top nav a,.footer-contact-links a{overflow-wrap:anywhere}
  .contact-details p{overflow-wrap:anywhere}
  .location-map{width:100%;height:340px;min-height:340px}
  .mobile-menu{padding:max(20px,env(safe-area-inset-top)) 22px max(22px,env(safe-area-inset-bottom))}
  .mobile-menu nav a{font-size:clamp(23px,7vw,29px);min-height:48px;gap:16px}
}
@media(max-width:359px){
  :root{--gutter:17px}
  .hero-mobile-stage{height:300px}
  .hero-mobile-word{font-size:27vw;top:16%}
  .hero .hero-claim{font-size:clamp(29px,8.8vw,32px)}
  .hero-quick-contact{flex-direction:column;gap:0}
  .company-grid{grid-template-columns:1fr}
  .footer-top nav{grid-template-columns:repeat(2,minmax(0,1fr))}
  .header>.brand{width:110px}
  .header-cta,.header:not(.is-scrolled) .header-cta{padding-inline:8px;font-size:11px}
}
@media(prefers-reduced-motion:reduce){.hero-mobile-stage *{animation:none!important;transition:none!important}}
