/*
 * app.css — Sistema de design "Marcenaria de Luz" (F2).
 * Editorial quente · preto + ouro · foto-first · WCAG 2.2 AA.
 *
 * Feito com carinho por Rino Alado — www.rinoalado.com.br
 */

/* ===== Reset / base ===== */
*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; } /* garante ocultação mesmo em elementos com display: flex/grid */
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
	margin: 0; background: var(--bg); color: var(--text);
	font-family: var(--font-body); font-size: var(--fs-base); line-height: var(--lh-base);
	-webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
}
img, picture, svg, video { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration-color: var(--border-gold); text-underline-offset: 0.18em; }
a:hover { text-decoration-color: var(--c-gold); }

h1, h2, h3, h4 { font-family: var(--font-display); font-weight: 600; line-height: 1.12; color: var(--text); margin: 0 0 var(--space-2); }
h1 { font-size: var(--fs-h1); letter-spacing: -0.01em; }
h2 { font-size: var(--fs-h2); letter-spacing: -0.005em; }
h3 { font-size: var(--fs-h3); }
p { margin: 0 0 var(--space-2); max-width: 66ch; }

.container { width: 100%; max-width: var(--container); margin-inline: auto; padding-inline: var(--gutter); }
.section { padding-block: var(--space-6); }
.section--tight { padding-block: var(--space-5); }
.section--invert { background: var(--bg-invert); color: var(--text-invert); }
.section--invert h2, .section--invert h3 { color: var(--c-cream); }
.section--surface { background: var(--bg-surface); }

/* ===== A11y ===== */
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: absolute; left: -9999px; top: 0; z-index: 200; }
.skip-link:focus { left: var(--space-2); top: var(--space-2); background: var(--c-onyx); color: var(--c-cream); padding: 0.6rem 1rem; border-radius: var(--radius); text-decoration: none; }
:focus-visible { outline: 3px solid var(--c-gold-deep); outline-offset: 2px; border-radius: 2px; }
.section--invert :focus-visible { outline-color: var(--c-gold-bright); }

/* ===== Eyebrow / section header ===== */
.eyebrow { display: inline-flex; align-items: center; gap: 0.6rem; font-size: 0.78rem; letter-spacing: 0.26em; text-transform: uppercase; color: var(--c-gold-deep); font-weight: 600; margin-bottom: var(--space-2); }
.section--invert .eyebrow { color: var(--c-gold); }
.section-head { max-width: 56ch; margin-bottom: var(--space-4); }
.section-head p { color: var(--text-muted); font-size: var(--fs-lg); }
.section--invert .section-head p { color: rgba(245,239,225,0.78); }
.h34-roofline { display: block; }

/* ===== Botões ===== */
.btn { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 0.55rem; font-family: var(--font-body); font-weight: 600; font-size: var(--fs-base); padding: 0.95rem 1.7rem; border-radius: var(--radius); border: 1px solid transparent; text-decoration: none; cursor: pointer; overflow: hidden; transition: transform .2s var(--ease), box-shadow .25s var(--ease), background-color .2s var(--ease); }
.btn .btn-ico { flex-shrink: 0; }
/* brilho que varre no hover */
.btn::after { content: ""; position: absolute; top: 0; left: -120%; width: 60%; height: 100%; background: linear-gradient(100deg, transparent, rgba(255,255,255,0.45), transparent); transform: skewX(-18deg); transition: left .6s var(--ease); }
.btn:hover::after { left: 130%; }
.btn--gold { background: linear-gradient(135deg, var(--c-gold-bright), var(--c-gold)); color: var(--c-onyx); box-shadow: 0 6px 22px rgba(201,162,75,0.34), inset 0 1px 0 rgba(255,255,255,0.4); }
.btn--gold:hover { transform: translateY(-2px); box-shadow: 0 12px 32px rgba(201,162,75,0.55), inset 0 1px 0 rgba(255,255,255,0.5); }
.btn--ghost { border-color: var(--border-gold); color: currentColor; }
.btn--ghost:hover { background: rgba(201,162,75,0.14); box-shadow: 0 0 0 1px var(--c-gold), 0 8px 24px rgba(201,162,75,0.18); }
.btn--ghost::after { background: linear-gradient(100deg, transparent, rgba(201,162,75,0.25), transparent); }
.btn--wa { background: var(--c-wa); color: #04210f; box-shadow: 0 6px 20px rgba(37,211,102,0.36); }
.btn--wa:hover { transform: translateY(-2px); box-shadow: 0 12px 30px rgba(37,211,102,0.55); }
.btn-row { display: flex; flex-wrap: wrap; gap: var(--space-2); align-items: center; }
@media (prefers-reduced-motion: reduce) { .btn::after { display: none; } }

/* ===== Header ===== */
.site-header { position: sticky; top: 0; z-index: 100; transition: background-color .3s var(--ease), box-shadow .3s var(--ease); }
/* Logado: a barra de admin do WP é fixa no topo — o header sticky precisa grudar abaixo dela. */
.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .site-header { top: 46px; } }
.site-header--over { background: transparent; color: var(--c-cream); }
/* Sem backdrop-filter de propósito: ele criaria containing-block p/ o menu fixo (overlay preso ao header). bg 95% opaco compensa o blur. */
.site-header--solid { background: rgba(11,11,12,0.95); color: var(--c-cream); box-shadow: 0 1px 0 rgba(201,162,75,0.25); }
.site-header__inner { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); padding-block: 1.1rem; }
.site-brand img { max-height: 52px; width: auto; }
.site-brand__text { font-family: var(--font-display); font-size: 1.4rem; text-decoration: none; color: inherit; }
.site-nav__list { display: flex; gap: var(--space-3); list-style: none; margin: 0; padding: 0; align-items: center; }
.site-nav__list a { text-decoration: none; font-size: 0.97rem; padding: 0.4rem 0; position: relative; color: inherit; white-space: nowrap; }
.site-nav__list a::after { content: ""; position: absolute; left: 0; bottom: -2px; width: 0; height: 2px; background: var(--c-gold); transition: width .25s var(--ease); }
.site-nav__list a:hover::after, .site-nav__list .current-menu-item > a::after { width: 100%; }
.header-cta { display: inline-flex; white-space: nowrap; }
/* Faixa apertada (881–1300px): reduz folgas p/ o header não quebrar em 2 linhas
   (isso aumentava a altura e abria uma faixa creme acima do hero da home). */
@media (min-width: 881px) and (max-width: 1300px) {
	.site-header__inner { gap: var(--space-2); }
	.site-nav__list { gap: var(--space-2); }
	.site-nav__list a { font-size: 0.92rem; }
	.header-cta { padding-inline: 1.2rem; font-size: 0.95rem; }
}
.site-nav__extra { display: none; } /* itens especiais só no menu mobile */
.nav-toggle { display: none; background: none; border: 0; color: inherit; cursor: pointer; padding: 0.4rem; }
.nav-toggle svg { width: 28px; height: 28px; }
.nav-toggle { position: relative; z-index: 96; }
.nav-toggle__x { display: none; }
.nav-toggle[aria-expanded="true"] .nav-toggle__bars { display: none; }
.nav-toggle[aria-expanded="true"] .nav-toggle__x { display: block; }

/* ===== Hero ===== */
.hero { position: relative; min-height: 92vh; display: flex; align-items: center; color: var(--c-cream); margin-top: calc(-1 * (52px + 2.2rem)); padding-top: calc(52px + 2.2rem); overflow: hidden; }
.hero__media { position: absolute; inset: 0; z-index: -2; }
.hero__media img { width: 100%; height: 100%; object-fit: cover; }
.hero__scrim { position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(11,11,12,0.62) 0%, rgba(11,11,12,0.46) 40%, rgba(11,11,12,0.82) 100%); }
.hero__inner { max-width: 46rem; padding-block: var(--space-6); }
.hero h1 { color: var(--c-cream); margin-bottom: var(--space-3); }
.hero__sub { font-size: var(--fs-lg); color: rgba(245,239,225,0.9); max-width: 40rem; margin-bottom: var(--space-4); }
.hero__roofline { margin-bottom: var(--space-3); }
/* Antetítulo com brilho/glow dourado em TODO hero escuro (home, projeto, páginas internas, blog) */
.hero .eyebrow, .page-hero .eyebrow { color: var(--c-gold-bright); text-shadow: 0 0 22px rgba(201,162,75,0.6), 0 0 7px rgba(226,199,126,0.5); }
/* Slideshow do hero: cross-fade + Ken Burns (zoom suave) */
.hero__slide { position: absolute; inset: 0; opacity: 0; transition: opacity 1.2s var(--ease); }
.hero__slide.is-active { opacity: 1; }
.hero__slide-img { width: 100%; height: 100%; object-fit: cover; }
.hero__slide.is-active .hero__slide-img { animation: hero-kenburns 9s var(--ease) forwards; }
@keyframes hero-kenburns { from { transform: scale(1.001); } to { transform: scale(1.12); } }
.hero__texts { display: grid; }
.hero__text { grid-area: 1 / 1; opacity: 0; transform: translateY(10px); transition: opacity .9s var(--ease), transform .9s var(--ease); pointer-events: none; }
.hero__text.is-active { opacity: 1; transform: none; pointer-events: auto; }
@media (prefers-reduced-motion: reduce) { .hero__slide.is-active .hero__slide-img { animation: none; } .hero__slide, .hero__text { transition: none; } }

/* ===== Faixa de prova / números ===== */
.proof { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: var(--space-4); border-top: 1px solid var(--border-gold); border-bottom: 1px solid var(--border-gold); padding-block: var(--space-4); }
.proof__num { font-family: var(--font-display); font-size: 2.8rem; color: var(--c-gold-deep); line-height: 1; }
.section--invert .proof__num { color: var(--c-gold); }
.proof__label { font-size: 0.95rem; color: var(--text-muted); margin-top: 0.4rem; }
.section--invert .proof__label { color: rgba(245,239,225,0.75); }

/* ===== Grid de ambientes ===== */
.cards { display: grid; gap: var(--space-3); grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); }
.amb-card { position: relative; display: block; border-radius: var(--radius-lg); overflow: hidden; aspect-ratio: 4/5; text-decoration: none; color: var(--c-cream); background: var(--c-graphite); }
.amb-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease); }
.amb-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 35%, rgba(11,11,12,0.85) 100%); }
.amb-card__label { position: absolute; left: 1.1rem; bottom: 1rem; z-index: 2; font-family: var(--font-display); font-size: 1.5rem; }
.amb-card__label small { display: block; font-family: var(--font-body); font-size: 0.8rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--c-gold); margin-top: 0.2rem; }
.amb-card:hover img { transform: scale(1.06); }

/* ===== Grid de projetos ===== */
.proj-grid { display: grid; gap: var(--space-3); grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); }
.proj-card { background: var(--c-white); border-radius: var(--radius-lg); overflow: hidden; box-shadow: 0 1px 0 var(--border-hair); transition: transform .35s var(--ease), box-shadow .35s var(--ease); }
.proj-card:hover { transform: translateY(-6px); box-shadow: 0 18px 40px rgba(11,11,12,0.14); }
.proj-card__media { position: relative; aspect-ratio: 4/3; overflow: hidden; }
.proj-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease); }
.proj-card:hover .proj-card__media img { transform: scale(1.05); }
.proj-card__tag { position: absolute; top: 0.8rem; left: 0.8rem; background: var(--c-gold); color: var(--c-onyx); font-size: 0.72rem; letter-spacing: 0.08em; text-transform: uppercase; font-weight: 600; padding: 0.3rem 0.7rem; border-radius: 4px; }
.proj-card__body { padding: 1.1rem 1.2rem 1.3rem; }
.proj-card__title { font-family: var(--font-display); font-size: 1.3rem; margin: 0 0 0.3rem; }
.proj-card__meta { font-size: 0.88rem; color: var(--text-muted); margin: 0; }

/* ===== Filtro do portfólio (chips) ===== */
.proj-filter { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: var(--space-4); }
.proj-filter__chip { text-decoration: none; border: 1px solid var(--border-gold); color: var(--c-gold-deep); background: transparent; padding: 0.5rem 1.05rem; border-radius: 999px; font-size: 0.92rem; font-weight: 500; white-space: nowrap; transition: background-color .15s var(--ease), color .15s var(--ease), border-color .15s var(--ease); }
.proj-filter__chip:hover { background: rgba(201,162,75,0.12); }
.proj-filter__chip.is-active { background: var(--c-gold); color: var(--c-onyx); border-color: var(--c-gold); }
@media (max-width: 700px) {
	/* mobile: uma linha que rola com swipe, sangrando até as bordas */
	.proj-filter { flex-wrap: nowrap; overflow-x: auto; scroll-snap-type: x proximity; -webkit-overflow-scrolling: touch; padding-bottom: 0.6rem; margin-inline: calc(-1 * var(--gutter)); padding-inline: var(--gutter); scrollbar-width: none; -ms-overflow-style: none; }
	.proj-filter::-webkit-scrollbar { display: none; }
	.proj-filter__chip { flex: 0 0 auto; scroll-snap-align: start; }
}

/* ===== Serviços / tipos de projeto (cards de conversão) ===== */
.servicos { display: grid; gap: var(--space-3); grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); }
.servico-card { display: flex; flex-direction: column; background: var(--c-white); border: 1px solid var(--border-hair); border-radius: var(--radius-lg); overflow: hidden; text-decoration: none; color: var(--text); transition: transform .35s var(--ease), box-shadow .35s var(--ease); }
.servico-card:hover { transform: translateY(-6px); box-shadow: 0 18px 44px rgba(11,11,12,0.12); }
.servico-card__media { aspect-ratio: 4/3; overflow: hidden; }
.servico-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease); }
.servico-card:hover .servico-card__media img { transform: scale(1.05); }
.servico-card__body { padding: 1.4rem 1.5rem 1.6rem; display: flex; flex-direction: column; flex: 1; }
.servico-card__title { font-family: var(--font-display); font-size: 1.55rem; line-height: 1.1; color: var(--c-gold-deep); margin: 0 0 0.5rem; }
.servico-card__desc { color: var(--text-muted); font-size: 0.95rem; line-height: 1.6; margin: 0 0 var(--space-2); }
.servico-card__cta { margin-top: auto; font-weight: 600; font-size: 0.92rem; color: var(--c-gold-deep); display: inline-flex; align-items: center; gap: 0.4rem; }
.servico-card:hover .servico-card__cta { color: var(--c-gold); }

/* ===== Como funciona (faixa compacta, baixo destaque) ===== */
.process-strip { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 0.7rem var(--space-3); text-align: center; padding: clamp(1rem, 3vw, 1.4rem) var(--space-3); border: 1px solid var(--border-gold); border-radius: var(--radius-lg); background: var(--bg-surface); }
.process-strip__eyebrow { font-size: 0.76rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--c-gold-deep); font-weight: 600; }
.process-strip__list { list-style: none; display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5rem 1.3rem; margin: 0; padding: 0; }
.process-strip__item { font-size: 0.95rem; color: var(--text); }
.process-strip__num { font-family: var(--font-display); color: var(--c-gold-deep); margin-right: 0.35rem; }
.process-strip__link { font-weight: 600; font-size: 0.92rem; color: var(--c-gold-deep); text-decoration: none; white-space: nowrap; }
.process-strip__link:hover { color: var(--c-gold); }

/* ===== Depoimentos ===== */
.testi-grid { display: grid; gap: var(--space-3); grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); }
.testi { background: var(--c-white); border-radius: var(--radius-lg); padding: 1.6rem; border: 1px solid var(--border-hair); }
.testi__quote { font-family: var(--font-display); font-size: 1.2rem; line-height: 1.5; margin-bottom: var(--space-2); }
.testi__quote::before { content: "\201C"; color: var(--c-gold); font-size: 2rem; line-height: 0; vertical-align: -0.3em; margin-right: 0.1em; }
.testi__who { display: flex; align-items: center; gap: 0.8rem; }
.testi__avatar { width: 46px; height: 46px; border-radius: 50%; object-fit: cover; background: var(--c-sand); }
.testi__name { font-weight: 600; font-size: 0.95rem; }
.testi__role { font-size: 0.85rem; color: var(--text-muted); }

/* ===== FAQ ===== */
.faq { max-width: 820px; }
.faq__item { border-bottom: 1px solid var(--border-hair); }
.faq__q { width: 100%; text-align: left; background: none; border: 0; cursor: pointer; padding: 1.2rem 2.5rem 1.2rem 0; font-family: var(--font-display); font-size: 1.2rem; color: var(--text); position: relative; list-style: none; }
.faq__q::-webkit-details-marker { display: none; }
.faq__q::after { content: "+"; position: absolute; right: 0.4rem; top: 50%; transform: translateY(-50%); color: var(--c-gold-deep); font-size: 1.6rem; transition: transform .25s var(--ease); }
.faq__item[open] .faq__q::after { content: "\2212"; }
.faq__a { padding: 0 0 1.3rem; color: var(--text-muted); }
.faq__a p { margin-top: 0; }
/* FAQ em 2 colunas: dúvidas + imagem preenchendo 100% da coluna */
.faq-split { display: grid; grid-template-columns: 1.05fr 0.95fr; gap: clamp(var(--space-3), 5vw, var(--space-5)); align-items: stretch; }
.faq-split__content { min-width: 0; }
.faq-split .faq { max-width: none; }
.faq-split__media { border-radius: var(--radius-lg); background-size: cover; background-position: center; min-height: 360px; box-shadow: 0 18px 44px rgba(11,11,12,0.14); }
@media (max-width: 880px) {
	.faq-split { grid-template-columns: 1fr; gap: var(--space-3); }
	.faq-split__media { min-height: 240px; }
}

/* ===== CTA band ===== */
.cta-band { text-align: center; }
.cta-band h2 { max-width: 22ch; margin-inline: auto; }
.cta-band p { margin-inline: auto; color: rgba(245,239,225,0.82); }

/* ===== Footer ===== */
.site-footer { position: relative; background: var(--bg-invert); color: var(--text-invert); padding-block: var(--space-5) var(--space-3); }
.site-footer::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: linear-gradient(90deg, transparent, var(--c-gold), transparent); opacity: 0.6; }
.footer-grid { display: grid; gap: var(--space-4) var(--space-5); grid-template-columns: 1.7fr 1fr 1fr 1.3fr; }
.site-footer h4 { font-family: var(--font-body); font-size: 0.78rem; letter-spacing: 0.18em; text-transform: uppercase; color: var(--c-gold); margin-bottom: var(--space-2); }
.site-footer a { color: rgba(245,239,225,0.82); text-decoration: none; transition: color .15s var(--ease); }
.site-footer a:hover { color: var(--c-cream); }
.site-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.6rem; }

/* Marca */
.footer-brand__logo img, .footer-brand__logo .custom-logo { max-height: 60px; width: auto; margin-bottom: var(--space-2); }
.footer-brand .h34-roofline { margin-bottom: 0.6rem; }
.site-footer__brand { font-family: var(--font-display); font-size: var(--fs-lg); color: var(--c-cream); margin: 0 0 0.4rem; }
.footer-brand__slogan { color: rgba(245,239,225,0.8); margin: 0 0 0.7rem; max-width: 34ch; }
.footer-brand__meta { color: rgba(245,239,225,0.58); font-size: var(--fs-sm); line-height: 1.7; margin: 0; }
.footer-brand__cta { margin-top: var(--space-3); }

/* Redes sociais (ícones) */
.footer-social { display: flex; gap: 0.55rem; margin-top: var(--space-3); }
.footer-social a { width: 42px; height: 42px; border-radius: 50%; border: 1px solid var(--border-gold); display: grid; place-items: center; color: var(--c-gold); transition: background-color .2s var(--ease), color .2s var(--ease), transform .2s var(--ease); }
.footer-social a:hover { background: var(--c-gold); color: var(--c-onyx); transform: translateY(-2px); }

/* Contato com ícones */
.footer-contato li { display: flex; align-items: flex-start; gap: 0.6rem; color: rgba(245,239,225,0.82); }
.footer-contato li svg { color: var(--c-gold); flex-shrink: 0; margin-top: 0.15rem; }
.footer-contato__rotas { margin-top: var(--space-3); gap: 0.6rem; }
.site-footer .footer-contato__rotas .btn--ghost { color: var(--c-cream); border-color: var(--border-gold); padding: 0.55rem 1.1rem; font-size: 0.88rem; }
.site-footer .footer-contato__rotas .btn--ghost:hover { background: rgba(201,162,75,0.16); }

.site-footer__legal { color: rgba(245,239,225,0.6); font-size: var(--fs-sm); border-top: 1px solid rgba(245,239,225,0.12); padding-top: var(--space-3); margin-top: var(--space-4); }
.site-footer__legal a { text-decoration: underline; }

/* ===== WhatsApp flutuante ===== */
.wa-float { position: fixed; right: 1.1rem; bottom: 1.1rem; z-index: 90; width: 56px; height: 56px; border-radius: 50%; background: var(--c-wa); color: #fff; display: grid; place-items: center; box-shadow: 0 8px 24px rgba(0,0,0,0.25); }
.wa-float svg { width: 30px; height: 30px; }

/* ===== Reveal (motion) ===== */
.reveal { opacity: 0; transform: translateY(22px); transition: opacity .7s var(--ease), transform .7s var(--ease); }
.reveal.is-in { opacity: 1; transform: none; }

.site-main { padding-block: var(--space-5); }
.entry-content { max-width: 72ch; }
.entry-content h2, .entry-content h3 { margin-top: var(--space-3); }

/* ===== Responsivo ===== */
@media (max-width: 880px) {
	.footer-grid { grid-template-columns: 1fr 1fr; }
	.footer-brand { grid-column: 1 / -1; }
	.nav-toggle { display: inline-flex; }
	/* Menu mobile: overlay de tela cheia (fade). Fica abaixo do header (z-index) p/ a hamburger seguir clicável e virar X. Nunca sai da tela → sem overflow-x/zoom. */
	.site-nav { position: fixed; inset: 0; width: 100%; background: rgba(11,11,12,0.97); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); color: var(--c-cream); display: flex; flex-direction: column; justify-content: center; padding: var(--space-6) var(--gutter); z-index: 95; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .3s var(--ease), visibility .3s; }
	.site-nav.is-open { opacity: 1; visibility: visible; pointer-events: auto; }
	.site-nav__list { flex-direction: column; align-items: flex-start; gap: var(--space-2); }
	.site-nav__list a { font-family: var(--font-display); font-size: clamp(1.9rem, 8vw, 2.7rem); padding: 0.15rem 0; transition: color .15s var(--ease); }
	.site-nav__list a::after { display: none; }
	/* destaque dourado na página atual e no hover/foco */
	.site-nav__list a:hover, .site-nav__list a:focus-visible, .site-nav__list .current-menu-item > a, .site-nav__list .current_page_item > a { color: var(--c-gold); }
	.header-cta { display: none; }

	/* itens especiais (WhatsApp + Instagram), separados por um divisor */
	.site-nav__extra { display: flex; flex-direction: column; gap: 0.4rem; width: 100%; margin-top: var(--space-3); padding-top: var(--space-3); border-top: 1px solid rgba(201,162,75,0.28); }
	.site-nav__special { display: flex; align-items: center; gap: 0.95rem; padding: 0.5rem 0; color: var(--c-cream); text-decoration: none; }
	.site-nav__special-ico { width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center; flex-shrink: 0; transition: transform .2s var(--ease); }
	.site-nav__special--wa .site-nav__special-ico { background: var(--c-wa); color: #04210f; }
	.site-nav__special--ig .site-nav__special-ico { background: var(--c-gold); color: var(--c-onyx); }
	.site-nav__special-label { display: block; font-family: var(--font-display); font-size: 1.5rem; line-height: 1.1; }
	.site-nav__special small { display: block; color: rgba(245,239,225,0.6); font-size: 0.82rem; margin-top: 0.15rem; }
	.site-nav__special:hover .site-nav__special-ico, .site-nav__special:focus-visible .site-nav__special-ico { transform: scale(1.06); }
	.site-nav__special:hover .site-nav__special-label { color: var(--c-gold); }
}
@media (max-width: 560px) {
	.footer-grid { grid-template-columns: 1fr; }
	.hero { min-height: 86vh; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation-duration: 0.001ms !important; transition-duration: 0.001ms !important; }
	.reveal { opacity: 1; transform: none; }
}

/* ===== Formulário de orçamento ===== */
.h34-form__pick { display: inline-flex; align-items: center; gap: 0.5rem; background: rgba(201,162,75,0.14); border: 1px solid var(--border-gold); color: var(--c-gold-deep); padding: 0.6rem 1.15rem; border-radius: 999px; font-size: 0.95rem; margin: var(--space-3) 0 0; }
.h34-form__pick strong { font-weight: 600; }
.h34-form { background: var(--c-white); border: 1px solid var(--border-hair); border-radius: var(--radius-lg); padding: clamp(1.2rem, 4vw, 2.2rem); margin-top: var(--space-3); }
.h34-form__hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.h34-form__progress { display: flex; flex-wrap: wrap; gap: 0.5rem 1.2rem; list-style: none; margin: 0 0 var(--space-3); padding: 0 0 var(--space-2); border-bottom: 1px solid var(--border-hair); counter-reset: pg; }
.h34-form__progress li { font-size: 0.85rem; color: var(--text-muted); counter-increment: pg; }
.h34-form__progress li::before { content: counter(pg) ". "; color: var(--c-gold-deep); font-weight: 600; }
.h34-form__progress li.is-active { color: var(--text); font-weight: 600; }
.h34-form__step { border: 0; padding: 0; margin: 0; }
.h34-form__step legend { font-family: var(--font-display); font-size: var(--fs-h3); margin-bottom: var(--space-2); padding: 0; }
.h34-form__step:focus { outline: none; }
.h34-form__row { margin-bottom: var(--space-2); }
.h34-form__lbl { display: block; font-weight: 600; font-size: 0.95rem; margin-bottom: 0.5rem; }
.h34-choices { display: flex; flex-wrap: wrap; gap: 0.6rem; }
.h34-choice { display: inline-flex; align-items: center; gap: 0.5rem; border: 1px solid var(--border-hair); border-radius: var(--radius); padding: 0.6rem 0.9rem; cursor: pointer; font-size: 0.95rem; transition: border-color .15s, background-color .15s; }
.h34-choice:hover { border-color: var(--c-gold); }
.h34-choice:has(input:checked) { border-color: var(--c-gold); background: rgba(201,162,75,0.1); }
.h34-form__field { display: flex; flex-direction: column; gap: 0.4rem; margin-bottom: var(--space-2); }
.h34-form__field label { font-weight: 600; font-size: 0.95rem; }
.h34-form__field input, .h34-form__field select, .h34-form__field textarea { width: 100%; box-sizing: border-box; padding: 0.75rem 0.9rem; font: inherit; color: var(--text); background: var(--c-cream); border: 1px solid var(--border-hair); border-radius: var(--radius); }
.h34-form__field input:focus, .h34-form__field select:focus, .h34-form__field textarea:focus { outline: none; border-color: var(--c-gold); box-shadow: 0 0 0 3px rgba(201,162,75,0.2); }
.h34-form__hint { font-size: 0.8rem; color: var(--text-muted); }
.h34-consent { display: flex; gap: 0.6rem; align-items: flex-start; font-size: 0.9rem; color: var(--text-muted); margin: var(--space-2) 0; }
.h34-consent input { margin-top: 0.25rem; }
.h34-form__nav { display: flex; gap: 0.8rem; justify-content: space-between; margin-top: var(--space-3); }
.h34-form__nav .btn[data-next] { margin-left: auto; }
.h34-form__alt { text-align: center; margin-top: var(--space-2); color: var(--text-muted); }
.h34-alert { padding: 1.2rem 1.4rem; border-radius: var(--radius-lg); margin-top: var(--space-3); }
.h34-alert--ok { background: rgba(201,162,75,0.12); border: 1px solid var(--border-gold); }
.h34-alert--err { background: #fbeaea; border: 1px solid #e2b4b4; color: #6b1f1f; }
.h34-alert h2 { margin-top: 0; }

/* ===== Vídeo de apresentação (parallax) ===== */
.video-band { position: relative; min-height: 64vh; display: flex; align-items: center; color: var(--c-cream); overflow: hidden; }
.video-band__bg { position: absolute; inset: 0; z-index: -2; background-size: cover; background-position: center; background-attachment: fixed; }
.video-band__scrim { position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(11,11,12,0.80), rgba(11,11,12,0.60)); }
.video-band__inner { max-width: 50rem; text-align: center; margin-inline: auto; padding-block: var(--space-6); }
.video-band__inner h2 { color: var(--c-cream); }
.video-band__play { width: 84px; height: 84px; border-radius: 50%; border: 2px solid var(--c-gold); background: rgba(201,162,75,0.18); color: var(--c-cream); display: grid; place-items: center; margin: var(--space-2) auto; cursor: pointer; transition: transform .2s var(--ease), background-color .2s var(--ease); }
.video-band__play svg { width: 34px; height: 34px; margin-left: 4px; }
.video-band__play:hover { transform: scale(1.06); background: rgba(201,162,75,0.32); }
.video-band__note { color: rgba(245,239,225,0.72); font-size: 0.9rem; }
.video-band__quote { font-family: var(--font-display); font-size: 1.5rem; line-height: 1.5; max-width: 40rem; margin: var(--space-3) auto 0; }
.video-band__quote cite { display: block; font-family: var(--font-body); font-size: 0.95rem; font-style: normal; color: var(--c-gold); margin-top: 0.8rem; }
@media (max-width: 768px) { .video-band__bg { background-attachment: scroll; } }

/* ===== Linhas de acabamento (tiers) ===== */
.tiers { display: grid; gap: var(--space-3); grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); align-items: start; }
.tier-card { position: relative; background: var(--c-white); border: 1px solid var(--border-hair); border-radius: var(--radius-lg); padding: 1.9rem; display: flex; flex-direction: column; }
.tier-card--feat { border: 2px solid var(--c-gold); box-shadow: 0 18px 44px rgba(201,162,75,0.18); }
.tier-card__tag, .tier-card__badge { font-size: 0.75rem; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 600; }
.tier-card__tag { color: var(--c-gold-deep); }
.tier-card__badge { align-self: flex-start; background: var(--c-gold); color: var(--c-onyx); padding: 0.3rem 0.85rem; border-radius: 999px; }
.tier-card__name { font-family: var(--font-display); font-size: 1.9rem; margin: 0.5rem 0 0.2rem; }
.tier-card__desc { color: var(--text-muted); margin-bottom: 0.8rem; }
.tier-card__list { list-style: none; margin: 0 0 1.4rem; padding: 0; display: grid; gap: 0.6rem; }
.tier-card__list li { display: flex; align-items: flex-start; gap: 0.55rem; font-size: 0.95rem; }
.tier-card__list .h34-ico { color: var(--c-gold-deep); flex-shrink: 0; margin-top: 2px; }
.tier-card .btn { margin-top: auto; justify-content: center; }
.tiers__note { text-align: center; color: var(--text-muted); margin-top: var(--space-3); font-size: 0.95rem; }

/* ===== Urgência 2026 ===== */
.urgency__inner { position: relative; overflow: hidden; text-align: center; max-width: 760px; margin-inline: auto; background: var(--c-onyx); color: var(--c-cream); border: 1px solid var(--border-gold); border-radius: var(--radius-lg); padding: clamp(2rem, 5vw, 3.4rem); box-shadow: 0 26px 64px rgba(11,11,12,0.30); }
.urgency__inner::before { content: ""; position: absolute; top: -45%; left: 50%; transform: translateX(-50%); width: 75%; height: 90%; background: radial-gradient(ellipse at center, rgba(201,162,75,0.24), transparent 70%); pointer-events: none; }
.urgency__inner > * { position: relative; z-index: 1; }
.urgency__badge { display: inline-flex; align-items: center; gap: 0.45rem; background: rgba(201,162,75,0.16); color: var(--c-gold); border: 1px solid var(--border-gold); font-size: 0.78rem; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 600; padding: 0.5rem 1.1rem; border-radius: 999px; margin-bottom: var(--space-2); }
.urgency__badge .h34-ico { color: var(--c-gold); }
.urgency h2 { color: var(--c-cream); margin-bottom: var(--space-2); }
.urgency p { margin-inline: auto; color: rgba(245,239,225,0.82); }

/* ===== Página de projeto (case) ===== */
.proj-layout { display: grid; grid-template-columns: 1.7fr 1fr; gap: var(--space-4); align-items: start; }
.proj-aside { position: sticky; top: 92px; }
.ficha { background: var(--c-white); border: 1px solid var(--border-hair); border-radius: var(--radius-lg); padding: 1.6rem; }
.ficha__title { font-family: var(--font-display); font-size: 1.4rem; margin: 0 0 0.6rem; }
.ficha__list { margin: 0 0 1.2rem; }
.ficha__list dt { font-size: 0.76rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--c-gold-deep); font-weight: 600; margin-top: 0.9rem; }
.ficha__list dd { margin: 0.15rem 0 0; padding-bottom: 0.9rem; border-bottom: 1px solid var(--border-hair); }
.ficha .btn { width: 100%; justify-content: center; margin-top: 0.4rem; }
.proj-linhas { margin-top: var(--space-3); padding: 1.4rem 1.6rem; background: var(--bg-surface); border-radius: var(--radius-lg); }
.proj-linhas h3 { font-family: var(--font-display); margin: 0 0 0.3rem; }
.proj-linhas__chips { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 0.9rem; }
.proj-linhas__chip { text-decoration: none; border: 1px solid var(--border-gold); color: var(--c-gold-deep); padding: 0.45rem 0.95rem; border-radius: 999px; font-size: 0.9rem; font-weight: 500; }
.proj-linhas__chip.is-feat { background: var(--c-gold); color: var(--c-onyx); border-color: var(--c-gold); }
.proj-gallery { display: grid; gap: var(--space-2); grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); }
.proj-gallery__item { margin: 0; border-radius: var(--radius-lg); overflow: hidden; }
.proj-gallery__item img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.proj-dep { font-family: var(--font-display); font-size: 1.55rem; line-height: 1.45; margin: var(--space-2) 0 0; }
.proj-dep cite { display: block; font-family: var(--font-body); font-size: 0.95rem; font-style: normal; color: var(--c-gold-deep); margin-top: 0.8rem; }
@media (max-width: 820px) { .proj-layout { grid-template-columns: 1fr; } .proj-aside { position: static; } }

/* ===== Números de referência ===== */
.stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: var(--space-4); text-align: center; }
.stat__num { font-family: var(--font-display); font-size: clamp(2.6rem, 6vw, 3.6rem); color: var(--c-gold); line-height: 1; }
.stat__pre { font-family: var(--font-body); font-size: 0.85rem; color: rgba(245,239,225,0.7); }
.stat__suf { font-size: 1.1rem; color: var(--c-gold-bright); margin-left: 1px; }
.stat__label { margin-top: 0.6rem; color: rgba(245,239,225,0.82); font-size: 0.95rem; }

/* ===== Condições / pagamento ===== */
.cond { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: var(--space-2); }
.cond__item { display: flex; align-items: center; gap: 0.9rem; background: var(--c-white); border: 1px solid var(--border-hair); border-radius: var(--radius-lg); padding: 1.1rem 1.3rem; }
.cond__ico { display: inline-grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; background: rgba(201,162,75,0.12); color: var(--c-gold-deep); flex-shrink: 0; }
.cond__item strong { display: block; font-size: 1rem; }
.cond__item span { color: var(--text-muted); font-size: 0.9rem; }

/* ===== Mapa / como chegar ===== */
.mapa { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-3); align-items: center; }
.mapa__frame { border: 0; width: 100%; height: 360px; border-radius: var(--radius-lg); display: block; }
.mapa__info h2 { margin-top: 0; }
.mapa__addr { font-size: 1.05rem; }
@media (max-width: 780px) { .mapa { grid-template-columns: 1fr; } .mapa__frame { height: 280px; } }

/* ===== Visualizador 3D ===== */
.viewer3d { border-radius: var(--radius-lg); overflow: hidden; background: var(--c-onyx); }
.viewer3d model-viewer, .viewer3d__frame { width: 100%; height: min(70vh, 560px); min-height: 380px; background: var(--c-onyx); border: 0; display: block; }

/* ===== Projeto editorial (grand) ===== */
.proj-intro__text { color: var(--text-muted); font-size: 1.08rem; line-height: 1.75; }
.proj-intro__text p { margin-inline: auto; }
.proj-stats-band { border-top: 1px solid var(--border-hair); border-bottom: 1px solid var(--border-hair); padding-block: var(--space-4); }
.proj-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: var(--space-3); text-align: center; }
.proj-stat { position: relative; }
.proj-stat + .proj-stat::before { content: ""; position: absolute; left: 0; top: 15%; height: 70%; width: 1px; background: var(--border-hair); }
.proj-stat__label { display: block; font-size: 0.7rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--c-gold-deep); font-weight: 600; margin-bottom: 0.5rem; }
.proj-stat__num { font-family: var(--font-display); font-size: clamp(1.8rem, 4vw, 2.6rem); }
.proj-spec { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--space-3) var(--space-4); }
.proj-spec__item { display: flex; flex-direction: column; gap: 0.2rem; text-align: center; }
.proj-spec__item span { font-size: 0.7rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--text-muted); }
.proj-spec__item strong { font-family: var(--font-display); font-weight: 500; font-size: 1.05rem; }
.excl-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: var(--space-4) var(--space-3); }
.excl-item__ico { display: inline-flex; color: var(--c-gold); margin-bottom: 0.8rem; }
.excl-item h3 { font-family: var(--font-body); font-size: 0.85rem; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 600; color: var(--c-cream); margin-bottom: 0.5rem; }
.excl-item p { color: rgba(245,239,225,0.72); font-size: 0.95rem; margin: 0; }

/* ===== Vídeo de depoimento (reduzido, no hero do projeto) ===== */
.proj-vid { margin-top: var(--space-3); width: min(360px, 100%); }
.proj-vid__play { position: relative; display: block; width: 100%; aspect-ratio: 16/9; border: 1px solid var(--border-gold); border-radius: var(--radius-lg); overflow: hidden; background: var(--c-onyx); cursor: pointer; padding: 0; color: var(--c-cream); box-shadow: 0 16px 40px rgba(11,11,12,0.4); }
.proj-vid__poster { position: absolute; inset: 0; background-size: cover; background-position: center; }
.proj-vid__play::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(11,11,12,0.10) 40%, rgba(11,11,12,0.62) 100%); }
.proj-vid__btn { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 2; width: 54px; height: 54px; border-radius: 50%; background: rgba(201,162,75,0.95); color: var(--c-onyx); display: grid; place-items: center; transition: transform .2s var(--ease), background-color .2s var(--ease); }
.proj-vid__btn svg { width: 24px; height: 24px; margin-left: 3px; }
.proj-vid__label { position: absolute; left: 0.85rem; bottom: 0.7rem; z-index: 2; font-size: 0.82rem; font-weight: 600; letter-spacing: 0.03em; text-shadow: 0 1px 4px rgba(0,0,0,0.5); }
.proj-vid__play:hover .proj-vid__btn { transform: translate(-50%,-50%) scale(1.08); background: var(--c-gold-bright); }
.proj-vid__frame { width: 100%; aspect-ratio: 16/9; border: 0; border-radius: var(--radius-lg); display: block; background: #000; box-shadow: 0 16px 40px rgba(11,11,12,0.4); }
/* Hero do projeto em 2 colunas: título à esquerda, vídeo de depoimento à direita */
.hero__split { display: flex; align-items: center; justify-content: space-between; gap: clamp(var(--space-3), 5vw, var(--space-5)); }
.proj-vid--side { margin-top: 0; flex-shrink: 0; width: min(380px, 38vw); }
@media (max-width: 820px) {
	.hero__split { flex-direction: column; align-items: flex-start; }
	.proj-vid--side { margin-top: var(--space-3); width: min(360px, 100%); }
}

/* ===== Lightbox da galeria ===== */
.proj-gallery__item { position: relative; display: block; }
.proj-gallery__zoom { position: absolute; inset: 0; display: grid; place-items: center; color: #fff; background: rgba(11,11,12,0.35); opacity: 0; transition: opacity .25s var(--ease); }
.proj-gallery__item:hover .proj-gallery__zoom, .proj-gallery__item:focus-visible .proj-gallery__zoom { opacity: 1; }
.h34-lb { position: fixed; inset: 0; z-index: 300; display: none; align-items: center; justify-content: center; background: rgba(11,11,12,0.93); padding: 2rem; }
.h34-lb.is-open { display: flex; }
.h34-lb img { max-width: 92vw; max-height: 86vh; border-radius: var(--radius); box-shadow: 0 30px 80px rgba(0,0,0,0.5); }
.h34-lb button { position: absolute; background: none; border: 0; color: #fff; cursor: pointer; line-height: 1; }
.h34-lb__x { top: 1.2rem; right: 1.6rem; font-size: 2.4rem; }
.h34-lb__nav { top: 50%; transform: translateY(-50%); font-size: 2.8rem; padding: 1rem 1.2rem; }
.h34-lb__prev { left: 0.4rem; } .h34-lb__next { right: 0.4rem; }
.h34-lb__nav:hover, .h34-lb__x:hover { color: var(--c-gold); }

/* ===== Slider da galeria ===== */
.proj-slider { position: relative; }
.proj-slider__track { display: flex; gap: var(--space-2); overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; padding-bottom: 0.5rem; -webkit-overflow-scrolling: touch; }
.proj-slider__track .proj-gallery__item { flex: 0 0 min(78%, 480px); scroll-snap-align: center; border-radius: var(--radius-lg); overflow: hidden; cursor: zoom-in; }
.proj-slider__track .proj-gallery__item img { width: 100%; aspect-ratio: 16/10; object-fit: cover; }
.proj-slider__nav { position: absolute; top: 50%; transform: translateY(-50%); z-index: 3; width: 46px; height: 46px; border-radius: 50%; border: 0; background: rgba(11,11,12,0.72); color: #fff; font-size: 1.6rem; cursor: pointer; display: grid; place-items: center; }
.proj-slider__nav:hover { background: var(--c-gold); color: var(--c-onyx); }
.proj-slider__prev { left: -6px; } .proj-slider__next { right: -6px; }
@media (max-width: 600px) { .proj-slider__track .proj-gallery__item { flex-basis: 88%; } .proj-slider__nav { display: none; } }

/* ===== Blog: layout + form de captação lateral (sticky) ===== */
.blog-layout { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: var(--space-4); align-items: start; }
.blog-main { max-width: none; }
.blog-aside { position: sticky; top: 92px; }
.lead-card { background: var(--c-white); border: 1px solid var(--border-gold); border-radius: var(--radius-lg); padding: 1.6rem; box-shadow: 0 18px 44px rgba(201,162,75,0.12); text-align: center; }
.lead-card .h34-roofline { margin: 0 auto 0.6rem; }
.lead-card h3 { font-family: var(--font-display); font-size: 1.4rem; margin: 0 0 0.4rem; }
.lead-card > p { color: var(--text-muted); font-size: 0.92rem; }
.lead-card__form { display: grid; gap: 0.6rem; margin-top: var(--space-2); position: relative; }
.lead-card__form input, .lead-card__form textarea { width: 100%; box-sizing: border-box; padding: 0.7rem 0.85rem; font: inherit; background: var(--c-cream); border: 1px solid var(--border-hair); border-radius: var(--radius); }
.lead-card__form textarea { resize: vertical; min-height: 3.4rem; }
.lead-card__form input:focus, .lead-card__form textarea:focus { outline: none; border-color: var(--c-gold); box-shadow: 0 0 0 3px rgba(201,162,75,0.2); }
.lead-card__form .btn--wa { margin-top: 0.2rem; }
.lead-card__form .btn { width: 100%; justify-content: center; }
.lead-card__ok { background: rgba(201,162,75,0.16); border-radius: var(--radius); padding: 0.9rem 1rem; margin-top: var(--space-2); font-size: 0.95rem; }
@media (max-width: 900px) { .blog-layout { grid-template-columns: 1fr; } .blog-aside { position: static; } }

/* ===== Páginas internas: hero editorial ===== */
.page-hero { position: relative; color: var(--c-cream); overflow: hidden; min-height: 50vh; display: flex; align-items: center; padding-block: clamp(var(--space-5), 11vw, var(--space-6)); }
.page-hero__img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; }
.page-hero__scrim { position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(11,11,12,0.74) 0%, rgba(11,11,12,0.52) 45%, rgba(11,11,12,0.88) 100%); }
.page-hero__inner { max-width: 52rem; }
.page-hero .h34-roofline { margin-bottom: var(--space-3); }
.page-hero h1 { color: var(--c-cream); margin-bottom: var(--space-3); }
.page-hero__lead { font-size: var(--fs-lg); color: rgba(245,239,225,0.92); max-width: 44rem; margin: 0; }

/* ===== Páginas internas: intro centralizada ===== */
.page-intro { max-width: 68ch; margin-inline: auto; text-align: center; }
.page-intro p { font-size: var(--fs-lg); color: var(--text-muted); margin-inline: auto; }

/* ===== Páginas internas: linhas editoriais (imagem + texto alternados) ===== */
.editorial__row { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(var(--space-3), 5vw, var(--space-5)); align-items: center; }
.editorial__row + .editorial__row { margin-top: clamp(var(--space-5), 8vw, var(--space-6)); }
.editorial__media { position: relative; border-radius: var(--radius-lg); overflow: hidden; aspect-ratio: 4/3; box-shadow: 0 24px 60px rgba(11,11,12,0.18); }
.editorial__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease); }
.editorial__row:hover .editorial__media img { transform: scale(1.05); }
.editorial__row--rev .editorial__media { order: 2; }
.editorial__index { display: block; font-family: var(--font-display); font-size: 1.05rem; letter-spacing: 0.04em; color: var(--c-gold-deep); margin-bottom: 0.4rem; }
.editorial__index::before { content: "— "; }
.editorial__body h2 { font-size: var(--fs-h2); margin-bottom: var(--space-2); }
.editorial__body h3 { font-family: var(--font-display); font-weight: 600; font-size: var(--fs-h3); line-height: 1.15; margin-bottom: var(--space-2); }
.editorial__ico { display: inline-grid; place-items: center; width: 54px; height: 54px; border-radius: 14px; background: rgba(201,162,75,0.12); color: var(--c-gold-deep); margin-bottom: 1rem; }
/* CTA contextual que surge ao passar o mouse na linha do ambiente (oculto por padrão) */
.editorial__cta { margin-top: var(--space-2); opacity: 0; transform: translateY(8px); pointer-events: none; transition: opacity .3s var(--ease), transform .3s var(--ease); }
.editorial__row:hover .editorial__cta, .editorial__row:focus-within .editorial__cta { opacity: 1; transform: none; pointer-events: auto; }
@media (hover: none) { .editorial__cta { opacity: 1; transform: none; pointer-events: auto; } }
.editorial__body p { color: var(--text-muted); font-size: 0.96rem; line-height: 1.65; }
.editorial__body p:last-child { margin-bottom: 0; }
.editorial__body ul { list-style: none; margin: var(--space-2) 0 0; padding: 0; display: grid; gap: 0.7rem; }
.editorial__body ul li { position: relative; padding-left: 1.9rem; color: var(--text); max-width: 60ch; }
.editorial__body ul li::before { content: ""; position: absolute; left: 0; top: 0.18em; width: 1.25rem; height: 1.25rem; border-radius: 50%; background: rgba(201,162,75,0.16); }
.editorial__body ul li::after { content: ""; position: absolute; left: 0.4rem; top: 0.46em; width: 0.42rem; height: 0.24rem; border-left: 2px solid var(--c-gold-deep); border-bottom: 2px solid var(--c-gold-deep); transform: rotate(-45deg); }
@media (max-width: 820px) {
	.editorial__row { grid-template-columns: 1fr; gap: var(--space-3); }
	.editorial__row--rev .editorial__media { order: 0; }
}
/* Diferenciais editoriais na home: ritmo um pouco mais compacto */
.dif-editorial .editorial__row + .editorial__row { margin-top: clamp(var(--space-4), 6vw, var(--space-5)); }
.dif-editorial .editorial__media { aspect-ratio: 16 / 11; }

/* ===== Catálogo de ambientes (cards por termo) ===== */
.amb-card__label { line-height: 1.15; z-index: 2; }
.amb-card__desc { position: absolute; left: 1.1rem; right: 1.1rem; bottom: 3.5rem; z-index: 2; font-size: 0.9rem; line-height: 1.4; color: rgba(245,239,225,0.94); opacity: 0; transform: translateY(8px); transition: opacity .35s var(--ease), transform .35s var(--ease); }
.amb-card:hover .amb-card__desc, .amb-card:focus-visible .amb-card__desc { opacity: 1; transform: none; }
@media (hover: none) { .amb-card__desc { display: none; } }

/* ===== Modal WhatsApp ===== */
.wa-modal { position: fixed; inset: 0; z-index: 200; display: flex; align-items: center; justify-content: center; padding: 1rem; opacity: 0; transition: opacity .25s var(--ease); }
.wa-modal.is-open { opacity: 1; }
.wa-modal[hidden] { display: none; }
.wa-modal__backdrop { position: absolute; inset: 0; background: rgba(11,11,12,0.6); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); }
.wa-modal__card { position: relative; z-index: 2; background: var(--c-cream); border-radius: var(--radius-lg); padding: 1.9rem; width: min(440px, 100%); box-shadow: 0 30px 70px rgba(11,11,12,0.4); transform: translateY(12px); transition: transform .25s var(--ease); max-height: 92vh; overflow: auto; }
.wa-modal.is-open .wa-modal__card { transform: none; }
.wa-modal__x { position: absolute; top: 0.6rem; right: 0.9rem; background: none; border: 0; font-size: 1.9rem; line-height: 1; color: var(--text-muted); cursor: pointer; }
.wa-modal__card h3 { font-family: var(--font-display); font-size: 1.6rem; margin: 0 0 0.3rem; }
.wa-modal__sub { color: var(--text-muted); font-size: 0.95rem; margin-bottom: 0.8rem; }
.wa-modal__form label { display: block; font-weight: 600; font-size: 0.9rem; margin: 0.7rem 0 0.3rem; }
.wa-modal__form input, .wa-modal__form textarea { width: 100%; box-sizing: border-box; padding: 0.7rem 0.85rem; font: inherit; color: var(--text); background: var(--c-white); border: 1px solid var(--border-hair); border-radius: var(--radius); }
.wa-modal__form input:focus, .wa-modal__form textarea:focus { outline: none; border-color: var(--c-gold); box-shadow: 0 0 0 3px rgba(201,162,75,0.2); }
.wa-modal__form .btn { width: 100%; justify-content: center; margin-top: 1rem; }
.wa-modal__skip { display: block; text-align: center; margin-top: 0.7rem; font-size: 0.88rem; }
.wa-modal__skip a { color: var(--text-muted); }


/* ===== Blog single — layout editorial (portado do blog-single, identidade Marcenaria de Luz) ===== */

/* Barra de progresso de leitura */
.blog-progress { position: fixed; top: 0; left: 0; right: 0; height: 3px; z-index: 120; background: transparent; }
.blog-progress span { display: block; height: 100%; width: 0; background: linear-gradient(90deg, var(--c-gold), var(--c-gold-bright)); transition: width .12s linear; }

/* Hero textual do artigo */
.blog-hero { padding: var(--space-5) 0 var(--space-4); background: linear-gradient(180deg, var(--bg-surface), var(--bg)); }
.blog-crumbs { display: flex; flex-wrap: wrap; gap: 0.5rem; font-size: 0.85rem; color: var(--text-muted); margin-bottom: var(--space-2); }
.blog-crumbs a { text-decoration: none; border-bottom: 1px solid transparent; }
.blog-crumbs a:hover { color: var(--c-gold-deep); border-color: var(--c-gold); }
.blog-chip { display: inline-block; font-size: 0.72rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--c-gold-deep); border: 1px solid var(--border-gold); background: rgba(201,162,75,0.08); padding: 0.3rem 0.85rem; border-radius: 999px; margin-bottom: var(--space-2); }
.blog-hero h1 { font-size: clamp(1.9rem, 4.2vw, 3rem); max-width: 24ch; }
.blog-meta { display: flex; flex-wrap: wrap; gap: 0.7rem; margin-top: var(--space-2); color: var(--text-muted); font-size: 0.95rem; }
.blog-meta strong { color: var(--text); font-weight: 600; }

/* CTA em destaque (topo do artigo) */
.blog-cta-top { padding-bottom: var(--space-4); }
.blog-cta-card { display: grid; grid-template-columns: 1.35fr 0.85fr; background: linear-gradient(135deg, var(--c-onyx) 0%, #2a2119 60%, var(--c-walnut) 130%); border-radius: var(--radius-lg); overflow: hidden; box-shadow: 0 24px 60px -30px rgba(11,11,12,0.45); }
.blog-cta-card__text { padding: var(--space-4); color: var(--text-invert); }
.blog-cta-card__tag { display: inline-block; font-size: 0.74rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; background: rgba(245,239,225,0.14); color: var(--c-gold-bright); padding: 0.32rem 0.8rem; border-radius: 999px; margin-bottom: 0.9rem; }
.blog-cta-card__text h2 { color: var(--c-cream); font-size: clamp(1.5rem, 2.6vw, 2.1rem); margin-bottom: 0.8rem; }
.blog-cta-card__text p { color: rgba(245,239,225,0.78); margin-bottom: var(--space-3); max-width: 46ch; }
.blog-cta-card__text small { display: block; margin-top: 0.8rem; color: rgba(245,239,225,0.6); font-size: 0.82rem; }
.blog-cta-card__img { background: url("../img/hero.jpg") center 30% / cover no-repeat; min-height: 280px; }

/* Corpo do artigo */
.blog-cover { margin: 0 0 var(--space-3); border-radius: var(--radius-lg); overflow: hidden; }
.blog-cover img { width: 100%; }
.blog-main .entry-content h3 { padding-left: 1rem; border-left: 3px solid var(--c-gold); }
.blog-section-title { font-size: clamp(1.5rem, 2.6vw, 1.9rem); margin-bottom: var(--space-3); }

/* Relacionados */
.blog-related { margin-top: var(--space-5); }
.blog-related__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-2); }
.blog-rel-card { display: flex; flex-direction: column; gap: 0.6rem; background: var(--c-white); border: 1px solid var(--border-hair); border-radius: var(--radius-lg); padding: 1.4rem 1.3rem; text-decoration: none; transition: transform .25s var(--ease), box-shadow .25s var(--ease), border-color .25s var(--ease); }
.blog-rel-card:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(11,11,12,0.14); border-color: var(--border-gold); }
.blog-rel-card__cat { font-size: 0.7rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--c-gold-deep); }
.blog-rel-card h3 { font-family: var(--font-display); font-size: 1.15rem; line-height: 1.35; margin: 0; }
.blog-rel-card__meta { margin-top: auto; font-size: 0.82rem; color: var(--text-muted); }

/* Regiões atendidas */
.blog-regions { margin-top: var(--space-5); background: var(--bg-surface); border-radius: var(--radius-lg); padding: var(--space-4); }
.blog-region-chips { list-style: none; display: flex; flex-wrap: wrap; gap: 0.6rem; margin: var(--space-3) 0; padding: 0; }
.blog-region-chips li { background: var(--c-white); border: 1px solid var(--border-gold); color: var(--text); font-size: 0.9rem; font-weight: 500; padding: 0.45rem 1rem; border-radius: 999px; transition: background-color .2s var(--ease), color .2s var(--ease); }
.blog-region-chips li:hover { background: var(--c-gold); color: var(--c-onyx); }
.blog-regions__note { font-size: 0.95rem; color: var(--text-muted); }
.blog-regions__note a { color: var(--c-gold-deep); font-weight: 600; }

/* Sidebar */
.blog-aside__in { display: grid; gap: var(--space-3); }
.blog-widget { background: var(--c-white); border: 1px solid var(--border-hair); border-radius: var(--radius-lg); padding: 1.5rem 1.4rem; }
.blog-widget__title { font-size: 1.2rem; margin-bottom: var(--space-2); }

/* Busca */
.blog-search label { display: block; font-size: 0.78rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--text); margin-bottom: 0.7rem; }
.blog-search__row { display: flex; gap: 0.5rem; }
.blog-search__row input { flex: 1; min-width: 0; font: inherit; font-size: 0.95rem; color: var(--text); background: var(--bg); border: 1px solid var(--border-hair); border-radius: var(--radius); padding: 0.7rem 0.95rem; }
.blog-search__row input:focus { outline: none; border-color: var(--c-gold); box-shadow: 0 0 0 3px rgba(201,162,75,0.2); }
.blog-search__row button { border: 0; border-radius: var(--radius); width: 46px; cursor: pointer; font-size: 1.25rem; color: var(--c-onyx); background: linear-gradient(135deg, var(--c-gold-bright), var(--c-gold)); transition: transform .2s var(--ease); }
.blog-search__row button:hover { transform: translateY(-1px); }

/* Mais recentes */
.blog-pop-list { list-style: none; display: grid; gap: 1rem; margin: 0; padding: 0; }
.blog-pop-list li { display: flex; gap: 0.9rem; align-items: baseline; }
.blog-pop-list__num { font-family: var(--font-display); font-size: 1.5rem; font-weight: 600; color: rgba(201,162,75,0.55); line-height: 1; flex-shrink: 0; }
.blog-pop-list a { text-decoration: none; font-size: 0.95rem; font-weight: 500; color: var(--text); line-height: 1.45; border-bottom: 1px solid transparent; transition: color .2s var(--ease); }
.blog-pop-list a:hover { color: var(--c-gold-deep); }

/* Categorias */
.blog-cats ul { list-style: none; display: grid; gap: 0.4rem; margin: 0; padding: 0; }
.blog-cats li { display: flex; align-items: center; justify-content: space-between; gap: 0.8rem; padding: 0.55rem 0; border-bottom: 1px dashed var(--border-hair); }
.blog-cats li:last-child { border-bottom: 0; }
.blog-cats a { text-decoration: none; font-weight: 500; }
.blog-cats a:hover { color: var(--c-gold-deep); }
.blog-cats__count { font-size: 0.8rem; color: var(--text-muted); white-space: nowrap; }

/* Responsivo */
@media (max-width: 900px) {
	.blog-cta-card { grid-template-columns: 1fr; }
	.blog-cta-card__img { min-height: 220px; order: -1; }
	.blog-related__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
	.blog-related__grid { grid-template-columns: 1fr; }
	.blog-cta-card__text, .blog-regions { padding: var(--space-3); }
	.blog-hero { padding-top: var(--space-4); }
}

/* ===== Página Satélite SEO (breadcrumb + chips) ===== */
.sat-breadcrumb { padding-block: var(--space-2); border-bottom: 1px solid var(--border-hair); }
.sat-breadcrumb__list { display: flex; flex-wrap: wrap; gap: 0.4rem; margin: 0; padding: 0; list-style: none; font-size: var(--fs-sm); color: var(--text-muted); }
.sat-breadcrumb__list li + li::before { content: "›"; margin-right: 0.4rem; color: var(--c-gold-deep); }
.sat-breadcrumb__list a { color: var(--c-gold-deep); text-decoration: none; }
.sat-breadcrumb__list a:hover { text-decoration: underline; }
.sat-breadcrumb__list [aria-current] { color: var(--text); font-weight: 500; }
.sat-chips { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.sat-chips__chip { text-decoration: none; border: 1px solid var(--border-gold); color: var(--c-gold-deep); padding: 0.5rem 1.05rem; border-radius: 999px; font-size: 0.92rem; font-weight: 500; transition: background-color .15s var(--ease), color .15s var(--ease); }
.sat-chips__chip:hover { background: rgba(201,162,75,0.12); }
