/* site.css — complementos SEO/UX ImpactBubble (12/11/2026). Carregar depois de styles.css. */
.hero-media{background-image:url("/assets/optimized/v2/home-hero.webp")}
.skip-link{position:absolute;left:-9999px;top:10px;z-index:100;padding:10px 14px;border-radius:6px;background:#fff;color:var(--ink);font-weight:900;box-shadow:var(--shadow)}
.skip-link:focus{left:10px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.nav a[aria-current="page"]{color:var(--accent);opacity:1}
.section:not(.process):not(.zone-final) .eyebrow{color:#b3261e}
.zone-hero.compact{min-height:68svh;padding-bottom:84px}
.zone-hero.compact h1{font-size:clamp(2.1rem,4.4vw,4rem)}
.breadcrumbs{padding:20px clamp(18px,5vw,76px) 0;font-size:.92rem;color:var(--muted)}
.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
.breadcrumbs li+li::before{content:"›";margin-right:6px;color:#a3958d}
.breadcrumbs a{color:var(--teal);font-weight:800}
.content-section{background:var(--paper)}
.content-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:clamp(28px,5vw,64px);align-items:start}
.prose{max-width:780px;font-size:1.05rem}
.prose h2{margin:40px 0 12px;color:var(--brand);font-size:clamp(1.5rem,2.6vw,2.1rem);line-height:1.15}
.prose h2:first-child{margin-top:0}
.prose h3{margin:24px 0 8px;font-size:1.15rem}
.prose p,.prose li{color:#3b4145}
.prose ul,.prose ol{padding-left:1.25em}
.prose li+li{margin-top:7px}
.prose a{color:var(--teal);font-weight:800;text-decoration:underline;text-underline-offset:3px}
.side-card{position:sticky;top:96px;display:grid;gap:10px;padding:24px;border:1px solid var(--line);border-radius:8px;background:var(--white);box-shadow:var(--shadow)}
.side-card h2{margin:0;color:var(--brand);font-size:1.35rem;line-height:1.2}
.side-card p{margin:0;color:var(--muted)}
.side-card .btn{width:100%}
.side-card ul{display:grid;gap:8px;margin:8px 0 0;padding:0;list-style:none;font-size:.95rem;font-weight:800}
.side-card li::before{content:"✓";margin-right:8px;color:var(--teal)}
.photo-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:28px 0}
.photo-row figure{position:relative;height:220px;margin:0;overflow:hidden;border-radius:8px;background:#ddd;box-shadow:var(--soft-shadow)}
.photo-row img{width:100%;height:100%;object-fit:cover}
.photo-row figcaption{position:absolute;left:8px;right:8px;bottom:8px;padding:6px 9px;border-radius:6px;background:rgba(0,0,0,.64);color:#fff;font-size:.82rem;font-weight:800;line-height:1.25}
.job-highlight{display:grid;grid-template-columns:220px minmax(0,1fr);gap:18px;align-items:center;margin:26px 0;padding:14px;border:1px solid rgba(0,124,137,.18);border-radius:8px;background:#f1f7f6}
.job-highlight img{width:100%;height:160px;object-fit:cover;border-radius:6px}
.job-highlight p{margin:0}
.faq-section{background:var(--white)}
.faq{display:grid;gap:10px;max-width:920px}
.faq details{border:1px solid var(--line);border-radius:8px;background:var(--white);box-shadow:var(--soft-shadow)}
.faq summary{position:relative;padding:18px 52px 18px 20px;cursor:pointer;font-weight:900;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:20px;top:50%;transform:translateY(-50%);color:var(--accent);font-size:1.5rem;font-weight:900;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq details>div{padding:0 20px 18px;color:var(--muted)}
.faq details>div p{margin:0}
.related-section{background:var(--paper)}
.related-title,.chip-group h3{margin:26px 0 12px;color:var(--brand);font-size:1.05rem}
.section-heading+.chip-group h3{margin-top:0}
.link-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.link-chips a{display:inline-block;padding:8px 13px;border:1px solid rgba(0,124,137,.24);border-radius:999px;background:rgba(0,124,137,.06);color:var(--teal);font-size:.93rem;font-weight:900}
.link-chips a:hover{background:var(--teal);color:#fff}
.zone-service-grid article>a{display:block;height:100%;color:inherit}
.zone-service-grid article>a:hover h3{color:var(--accent)}
.service-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.service-card h3 a{color:inherit;font-weight:inherit}
.service-card .card-link{color:var(--teal);font-weight:900}
.zone-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.zone-groups>div{padding:22px;border:1px solid var(--line);border-radius:8px;background:var(--white);box-shadow:var(--soft-shadow)}
.zone-groups h2,.zone-groups h3{margin-bottom:8px;color:var(--brand);font-size:1.35rem;line-height:1.2}
.zone-groups p{color:var(--muted);font-size:.96rem}
.zone-list{display:grid;gap:8px;margin:14px 0 0;padding:0;list-style:none}
.zone-list a{display:block;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:var(--paper)}
.zone-list a:hover{border-color:var(--teal)}
.zone-list strong{display:block;color:var(--brand)}
.zone-list span{color:var(--muted);font-size:.9rem}
.zones-more{margin:22px 0 0;font-weight:900}
.zones-more a{color:var(--teal)}
.reviews{background:var(--white)}
.reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.review-card{margin:0;padding:22px;border:1px solid var(--line);border-radius:8px;background:var(--paper);box-shadow:var(--soft-shadow)}
.review-card .stars{display:block;margin-bottom:8px;color:#b7791f;letter-spacing:2px}
.review-card blockquote{margin:0 0 12px;font-size:1.02rem}
.review-card figcaption{color:var(--muted);font-weight:800;font-size:.92rem}
.platform-ratings{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.platform-ratings a,.platform-ratings span{padding:10px 14px;border:1px solid var(--line);border-radius:8px;background:var(--white);font-weight:900}
.platform-ratings a{color:var(--teal)}
.maintenance-main{margin:0}
.maintenance-main img{width:100%;aspect-ratio:16/10;max-height:430px;object-fit:cover;border-radius:8px;box-shadow:var(--shadow)}
.maintenance-copy .hero-actions{margin-top:4px}
.contact-methods strong{overflow-wrap:anywhere}
.form-note a{color:var(--teal);text-decoration:underline}
.zone-final a:not(.btn){color:#fff;text-decoration:underline}
.final-meta{margin-top:10px;font-size:.95rem}
.page-band{padding:132px clamp(18px,5vw,76px) 46px;background:var(--brand-strong);color:var(--white)}
.page-band h1{margin:0;font-size:clamp(2rem,4.4vw,3.4rem)}
.page-band p:not(.eyebrow){max-width:680px;margin:12px 0 0;color:rgba(255,255,255,.82)}
.footer.footer-full{justify-items:stretch;padding:56px clamp(18px,5vw,76px) 110px;text-align:left}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:28px}
.footer-grid h2{margin:0 0 12px;color:#fff;font-size:.95rem;letter-spacing:.04em;text-transform:uppercase}
.footer-grid ul{display:grid;gap:7px;margin:0;padding:0;list-style:none}
.footer-grid li,.footer-grid p{color:rgba(255,255,255,.78)}
.footer-grid p+p{margin-top:12px}
.footer-grid a{color:rgba(255,255,255,.92)}
.footer-grid a:hover{color:#fff;text-decoration:underline}
.footer.footer-full img{width:180px;margin-bottom:14px}
.footer-legal{display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:34px;padding-top:20px;border-top:1px solid rgba(255,255,255,.16);color:rgba(255,255,255,.72);font-size:.88rem}
.footer-legal a{color:rgba(255,255,255,.92);text-decoration:underline}
@media (max-width:1080px){.content-layout{grid-template-columns:1fr}.side-card{position:static}.footer-grid{grid-template-columns:1fr 1fr}.service-grid.cols-4,.zone-groups,.reviews-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.zone-hero.compact{min-height:78svh;padding-top:128px;padding-bottom:64px}.service-grid.cols-4,.zone-groups,.reviews-grid,.footer-grid,.photo-row{grid-template-columns:1fr}.photo-row figure{height:210px}.job-highlight{grid-template-columns:1fr}.page-band{padding-top:112px}}
/* ==== 12/11/2026 · logótipo novo, fotografias de obra e galeria ==== */
.brand{width:clamp(168px,16vw,232px)}
.brand img{width:100%;height:auto;filter:drop-shadow(0 2px 8px rgba(0,0,0,.35))}
.brand .logo-on-light{display:none}
.site-header.is-scrolled .brand .logo-on-dark,.site-header.is-open .brand .logo-on-dark{display:none}
.site-header.is-scrolled .brand .logo-on-light,.site-header.is-open .brand .logo-on-light{display:block}
.photo-row.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.photo-row.cols-2 figure{height:300px}
.photo-row video,.gallery-grid video{display:block;width:100%;height:100%;object-fit:cover;background:#111}
.photo-row .video-figure figcaption{top:8px;bottom:auto;right:auto}
.more-link{margin:4px 0 24px}
.more-link a{color:var(--brand);font-weight:800;text-decoration:none;border-bottom:2px solid rgba(74,7,7,.25)}
.more-link a:hover{border-bottom-color:currentColor}
.work-more{margin:28px 0 0;text-align:center}
.gallery-top .link-chips{margin-top:4px}
.gallery-section+.gallery-section{padding-top:0}
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}
.gallery-grid figure{display:flex;flex-direction:column;margin:0;overflow:hidden;border-radius:8px;background:#fff;box-shadow:var(--soft-shadow)}
.gallery-grid figure>a,.gallery-grid figure>video{display:block;aspect-ratio:3/4;overflow:hidden;background:#ddd}
.gallery-grid img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.gallery-grid a:hover img,.gallery-grid a:focus-visible img{transform:scale(1.04)}
.gallery-grid figcaption{padding:10px 12px 12px;color:var(--ink);font-size:.88rem;font-weight:700;line-height:1.3}
.gallery-grid figcaption small{display:block;margin-top:3px;color:var(--muted);font-size:.8rem;font-weight:600}
.lightbox{max-width:min(94vw,980px);padding:0;border:0;border-radius:10px;background:#111;color:#fff}
.lightbox::backdrop{background:rgba(0,0,0,.82)}
.lightbox img{display:block;max-width:100%;max-height:82vh;margin:0 auto}
.lightbox p{margin:0;padding:10px 56px 12px 14px;font-weight:700;line-height:1.35}
.lightbox-close{position:absolute;top:8px;right:8px;width:42px;height:42px;border:0;border-radius:50%;background:rgba(0,0,0,.6);color:#fff;font-size:28px;line-height:1;cursor:pointer}
@media (max-width:620px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gallery-grid figcaption{padding:8px 9px 10px;font-size:.8rem}.photo-row.cols-2 figure{height:220px}}
@media (prefers-reduced-motion:reduce){.gallery-grid img{transition:none}}
.gallery-section .section-heading a{color:var(--brand);font-weight:700;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.gallery-section .section-heading a:hover{color:var(--accent)}
/* ==== fim 12/11/2026 ==== */
