@font-face { font-family: "Quicksand"; src: url("/fonts/Quicksand-500-700-latin.woff2") format("woff2"); font-weight: 500 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("/fonts/Poppins-400-latin.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("/fonts/Poppins-500-latin.woff2") format("woff2"); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("/fonts/Poppins-600-latin.woff2") format("woff2"); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("/fonts/Poppins-700-latin.woff2") format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }
:root {
--roxo: #a438a8;
--azul: #0047bb;
--vermelho: #d22730;
--laranja: #ff6720;
--amarelo: #f8cb69;
--limao: #c5e86c;
--turquesa: #05c3dd;
--rosa: #fabbcb;
--preto: #000000;
--ink: #222222;
--ink-body: #545454;
--ink-muted: #737373;
--line: #e4e0e6;
--line-strong: #8c8490;
--surface: #ffffff;
--surface-alt: #f2f2f2;
--overlay: rgba(24, 12, 26, 0.55);
--primary: var(--roxo);
--on-primary: #ffffff;
--cta: var(--amarelo);
--on-cta: var(--ink);
--link: var(--roxo);
--on-azul: #ffffff;
--on-roxo: #ffffff;
--on-vermelho: #ffffff;
--on-laranja: var(--ink);
--on-amarelo: var(--ink);
--on-limao: var(--ink);
--on-turquesa: var(--ink);
--on-rosa: var(--ink);
--servico-masterplan: var(--azul);
--servico-interiores: var(--roxo);
--segmento-escolas: var(--laranja);
--segmento-corporativo: var(--turquesa);
--segmento-buffets: var(--vermelho);
--segmento-condominios: var(--limao);
--focus-ring: var(--azul);
--focus-ring-inverse: #ffffff;
--success: #1d7a46;
--warning: #9a5b00;
--danger: var(--vermelho);
--space-1: 4px;
--space-2: 8px;
--space-3: 12px;
--space-4: 16px;
--space-6: 24px;
--space-8: 32px;
--space-12: 48px;
--space-16: 64px;
--space-24: 96px;
--radius-sm: 8px;
--radius-md: 16px;
--radius-lg: 24px;
--radius-full: 9999px;
--shadow-sm: 0 1px 2px rgba(34, 26, 36, 0.08);
--shadow-md: 0 12px 32px rgba(34, 26, 36, 0.12);
--container: 1280px;
--container-texto: 720px;
--header-altura: 80px;
--admin-sidebar: 240px;
--admin-trilho: 72px;
--font-display: "Quicksand", ui-rounded, system-ui, sans-serif;
--font-text: "Poppins", system-ui, -apple-system, "Segoe UI", sans-serif;
--roxo-escuro: #8e2f92;
--roxo-claro: #f7ecf7;
--roxo-veu: 88, 22, 92;
--amarelo-escuro: #f5bd45;
--altura-header: 88px;
--gutter: clamp(20px, 5.5vw, 80px);
--secao-y: clamp(56px, 7vw, 96px);
--ease-saida: cubic-bezier(0.16, 1, 0.3, 1);
--ease-padrao: cubic-bezier(0.2, 0, 0, 1);
--duracao-rapida: .15s;
--duracao-media: .25s;
--duracao-lenta: .5s;
--sombra-cartao: 0 1px 2px rgba(34, 26, 36, 0.06), 0 6px 12px -2px rgba(34, 26, 36, 0.06), 0 18px 36px -8px rgba(34, 26, 36, 0.14);
--contorno-foto: rgba(34, 26, 36, 0.08);
}
@media (max-width: 1099px) {
:root { --altura-header: 64px; }
}
body { margin: 0; font-family: var(--font-text); color: var(--ink-body); background: var(--surface); -webkit-font-smoothing: antialiased; }
.ss-display { font-family: var(--font-display); color: var(--ink); }
.ss-btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2); min-height: 48px; padding: 0 var(--space-6); border-radius: var(--radius-full); border: 2px solid transparent; font-family: var(--font-text); font-size: 15px; font-weight: 500; line-height: 20px; text-decoration: none; cursor: pointer; transition: background-color .15s ease, color .15s ease, border-color .15s ease, transform .15s ease; }
.ss-btn:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 2px; }
.ss-btn:active { transform: translateY(1px); }
.ss-btn--primary { background: var(--primary); color: var(--on-primary); }
.ss-btn--primary:hover { background: #8e2f92; }
.ss-btn--cta { background: var(--cta); color: var(--on-cta); }
.ss-btn--cta:hover { background: #f5bd45; }
.ss-btn--secondary { background: transparent; color: var(--primary); border-color: var(--primary); }
.ss-btn--secondary:hover { background: var(--primary); color: var(--on-primary); }
.ss-btn--inverse { background: transparent; color: #ffffff; border-color: #ffffff; }
.ss-btn--inverse:hover { background: #ffffff; color: var(--ink); }
.ss-btn--inverse:focus-visible, .ss-on-dark .ss-btn:focus-visible { outline-color: var(--focus-ring-inverse); }
.ss-btn--whatsapp { background: #ffffff; color: var(--ink); border-color: var(--line-strong); }
.ss-btn--whatsapp svg { color: #1d7a46; }
.ss-btn--sm { min-height: 40px; padding: 0 var(--space-4); font-size: 14px; }
.ss-btn[disabled], .ss-btn[aria-disabled="true"] { opacity: .45; cursor: not-allowed; }
.ss-link { color: var(--link); text-decoration: underline; text-underline-offset: 3px; font-weight: 500; }
.ss-tag { display: inline-flex; align-items: center; height: 28px; padding: 0 var(--space-3); border-radius: var(--radius-full); font-family: var(--font-text); font-size: 13px; font-weight: 600; line-height: 1; white-space: nowrap; }
.ss-tag--masterplan { background: var(--servico-masterplan); color: var(--on-azul); }
.ss-tag--interiores { background: var(--servico-interiores); color: var(--on-roxo); }
.ss-tag--escolas { background: var(--segmento-escolas); color: var(--on-laranja); }
.ss-tag--corporativo { background: var(--segmento-corporativo); color: var(--on-turquesa); }
.ss-tag--buffets { background: var(--segmento-buffets); color: var(--on-vermelho); }
.ss-tag--condominios { background: var(--segmento-condominios); color: var(--on-limao); }
.ss-tag--neutra { background: var(--surface-alt); color: var(--ink-body); }
.ss-tag--exemplo { background: var(--amarelo); color: var(--ink); text-transform: uppercase; letter-spacing: .08em; font-size: 11px; }
.ss-eyebrow { font-family: var(--font-text); font-size: 13px; line-height: 18px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--primary); margin: 0 0 var(--space-3); }
.ss-h2 { font-family: var(--font-display); font-size: 40px; line-height: 46px; font-weight: 700; letter-spacing: -.01em; color: var(--ink); margin: 0; text-wrap: balance; }
.ss-project { display: flex; flex-direction: column; gap: var(--space-3); text-decoration: none; color: inherit; }
.ss-project__media { position: relative; overflow: hidden; border-radius: var(--radius-md); aspect-ratio: 4 / 3; background: var(--surface-alt); }
.ss-project__media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
.ss-project:hover .ss-project__media img { transform: scale(1.04); }
.ss-project__tag { position: absolute; left: var(--space-3); top: var(--space-3); }
.ss-project__title { font-family: var(--font-display); font-size: 22px; line-height: 28px; font-weight: 600; color: var(--ink); margin: 0; }
.ss-project__meta { font-size: 13px; line-height: 20px; color: var(--ink-muted); margin: 0; }
.ss-project:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 4px; border-radius: var(--radius-md); }
.ss-service { display: flex; flex-direction: column; gap: var(--space-4); padding: var(--space-8); border-radius: var(--radius-lg); min-height: 280px; }
.ss-service--masterplan { background: var(--servico-masterplan); color: var(--on-azul); }
.ss-service--interiores { background: var(--servico-interiores); color: var(--on-roxo); }
.ss-service__title { font-family: var(--font-display); font-size: 28px; line-height: 34px; font-weight: 700; margin: 0; }
.ss-service__text { font-size: 16px; line-height: 26px; margin: 0; max-width: 46ch; }
.ss-service__link { margin-top: auto; color: inherit; font-weight: 600; text-underline-offset: 3px; }
.ss-service__link:focus-visible { outline: 2px solid var(--focus-ring-inverse); outline-offset: 3px; }
.ss-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: var(--space-6); }
.ss-stat { display: flex; flex-direction: column; gap: var(--space-1); padding-top: var(--space-4); border-top: 2px solid var(--primary); }
.ss-stat__value { font-family: var(--font-display); font-size: 64px; line-height: 64px; font-weight: 700; letter-spacing: -.02em; color: var(--ink); font-variant-numeric: tabular-nums; }
.ss-stat__label { font-size: 15px; line-height: 22px; color: var(--ink-body); max-width: 22ch; }
.ss-quote { position: relative; margin: 0; padding: var(--space-8); border-radius: var(--radius-lg); background: var(--rosa); color: var(--on-rosa); display: flex; flex-direction: column; gap: var(--space-6); }
.ss-quote__text { font-family: var(--font-display); font-size: 24px; line-height: 34px; font-weight: 600; margin: 0; text-wrap: pretty; }
.ss-quote__author { display: flex; align-items: center; gap: var(--space-3); font-size: 15px; line-height: 22px; }
.ss-quote__avatar { width: 48px; height: 48px; border-radius: var(--radius-full); background: #ffffff; object-fit: cover; flex: none; }
.ss-quote__name { font-weight: 600; color: var(--ink); display: block; }
.ss-quote__badge { position: absolute; right: var(--space-4); top: var(--space-4); }
.ss-block { border-radius: var(--radius-lg); padding: var(--space-8); display: flex; flex-direction: column; justify-content: space-between; gap: var(--space-4); min-height: 160px; }
.ss-block--azul-limao { background: var(--azul); color: var(--limao); }
.ss-block--rosa-vermelho { background: var(--rosa); color: var(--vermelho); }
.ss-block--roxo-amarelo { background: var(--roxo); color: var(--amarelo); }
.ss-block--laranja-rosa { background: var(--laranja); color: var(--rosa); }
.ss-block--vermelho-rosa { background: var(--vermelho); color: var(--rosa); }
.ss-block--limao-azul { background: var(--limao); color: var(--azul); }
.ss-block--turquesa-limao { background: var(--turquesa); color: var(--limao); }
.ss-block--amarelo-roxo { background: var(--amarelo); color: var(--roxo); }
.ss-block--roxo-limao { background: var(--roxo); color: var(--limao); }
.ss-block--laranja-limao { background: var(--laranja); color: var(--limao); }
.ss-block--azul-roxo { background: var(--azul); color: var(--roxo); }
.ss-block--rosa-azul { background: var(--rosa); color: var(--azul); }
.ss-block--azul-branco { background: var(--azul); color: #ffffff; }
.ss-block--roxo-branco { background: var(--roxo); color: #ffffff; }
.ss-block--vermelho-branco { background: var(--vermelho); color: #ffffff; }
.ss-block--laranja-branco { background: var(--laranja); color: #ffffff; }
.ss-block__logo svg { display: block; height: 56px; width: auto; }
.ss-block__rule { font-family: var(--font-text); font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; background: rgba(255,255,255,.92); color: var(--ink); align-self: flex-start; padding: 4px 10px; border-radius: var(--radius-full); }
.ss-seal { display: inline-block; width: 160px; height: 160px; color: var(--primary); }
.ss-seal svg { width: 100%; height: 100%; display: block; animation: ss-spin 40s linear infinite; }
@keyframes ss-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .ss-seal svg { animation: none; } .ss-project__media img { transition: none; } }
.ss-field { display: flex; flex-direction: column; gap: var(--space-2); }
.ss-field__label { font-size: 15px; line-height: 20px; font-weight: 500; color: var(--ink); }
.ss-field__label .ss-req { color: var(--danger); margin-left: 2px; }
.ss-input, .ss-select, .ss-textarea { font: inherit; font-size: 16px; line-height: 24px; color: var(--ink); background: var(--surface); border: 1.5px solid var(--line-strong); border-radius: var(--radius-sm); padding: 11px 14px; width: 100%; box-sizing: border-box; }
.ss-textarea { min-height: 128px; resize: vertical; }
.ss-input::placeholder, .ss-textarea::placeholder { color: var(--ink-muted); }
.ss-input:focus-visible, .ss-select:focus-visible, .ss-textarea:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 1px; border-color: var(--focus-ring); }
.ss-field__help { font-size: 13px; line-height: 20px; color: var(--ink-muted); margin: 0; }
.ss-field--error .ss-input, .ss-field--error .ss-textarea, .ss-field--error .ss-select { border-color: var(--danger); }
.ss-field__error { display: flex; gap: var(--space-1); align-items: center; font-size: 13px; line-height: 20px; color: var(--danger); font-weight: 500; margin: 0; }
.ss-check { display: flex; gap: var(--space-3); align-items: flex-start; font-size: 14px; line-height: 22px; color: var(--ink-body); }
.ss-check input { width: 20px; height: 20px; margin: 1px 0 0; accent-color: var(--primary); flex: none; }
.ss-steps { display: flex; gap: var(--space-2); list-style: none; margin: 0; padding: 0; counter-reset: ss-step; }
.ss-steps__item { flex: 1; display: flex; flex-direction: column; gap: var(--space-2); font-size: 14px; line-height: 20px; color: var(--ink-muted); counter-increment: ss-step; }
.ss-steps__item::before { content: ""; height: 6px; border-radius: var(--radius-full); background: var(--line); }
.ss-steps__item span::before { content: counter(ss-step) ". "; }
.ss-steps__item--done { color: var(--ink-body); }
.ss-steps__item--done::before { background: var(--primary); }
.ss-steps__item--current { color: var(--ink); font-weight: 600; }
.ss-steps__item--current::before { background: var(--cta); }
.ss-header { display: flex; align-items: center; justify-content: space-between; gap: var(--space-6); height: 80px; padding: 0 var(--space-8); box-sizing: border-box; }
.ss-header--solid { background: var(--surface); color: var(--ink); box-shadow: var(--shadow-sm); }
.ss-header--over-photo { color: #ffffff; background: linear-gradient(rgba(24,12,26,.55), rgba(24,12,26,0)); }
.ss-header__logo svg { height: 30px; width: auto; display: block; }
.ss-nav { display: flex; align-items: center; gap: var(--space-6); list-style: none; margin: 0; padding: 0; }
.ss-nav a { color: inherit; text-decoration: none; font-size: 15px; font-weight: 500; padding: var(--space-2) 0; border-bottom: 2px solid transparent; }
.ss-nav a[aria-current="page"] { border-bottom-color: currentColor; }
.ss-nav a:hover { border-bottom-color: currentColor; }
.ss-footer { background: var(--roxo); color: var(--on-roxo); padding: var(--space-16) var(--space-8) var(--space-8); display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: var(--space-8); }
.ss-footer a { color: inherit; }
.ss-footer a:focus-visible { outline: 2px solid var(--focus-ring-inverse); outline-offset: 2px; }
.ss-footer__logo svg { height: 64px; width: auto; display: block; }
.ss-footer__title { font-family: var(--font-display); font-size: 18px; font-weight: 700; margin: 0 0 var(--space-3); }
.ss-footer p, .ss-footer li { font-size: 15px; line-height: 24px; margin: 0; }
.ss-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-2); }
.ss-footer__legal { grid-column: 1 / -1; border-top: 1px solid rgba(255,255,255,.35); padding-top: var(--space-4); font-size: 13px; display: flex; justify-content: space-between; gap: var(--space-4); flex-wrap: wrap; }
.ss-admin { display: grid; grid-template-columns: 256px 1fr; min-height: 100%; background: var(--surface-alt); font-family: var(--font-text); font-size: 14px; line-height: 20px; color: var(--ink-body); }
.ss-admin__side { background: var(--surface); border-right: 1px solid var(--line); padding: var(--space-6) var(--space-4); display: flex; flex-direction: column; gap: var(--space-6); }
.ss-admin__logo svg { height: 22px; width: auto; color: var(--preto); display: block; }
.ss-admin__menu { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.ss-admin__menu a { display: flex; align-items: center; gap: var(--space-3); padding: 9px var(--space-3); border-radius: var(--radius-sm); color: var(--ink-body); text-decoration: none; font-weight: 500; }
.ss-admin__menu a:hover { background: var(--surface-alt); }
.ss-admin__menu a[aria-current="page"] { background: #f4e6f5; color: var(--roxo); }
.ss-admin__menu-group { font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-muted); padding: var(--space-4) var(--space-3) var(--space-1); }
.ss-admin__main { display: flex; flex-direction: column; min-width: 0; }
.ss-admin__top { height: 64px; display: flex; align-items: center; justify-content: space-between; padding: 0 var(--space-6); background: var(--surface); border-bottom: 1px solid var(--line); }
.ss-admin__page { padding: var(--space-6); display: grid; gap: var(--space-4); }
.ss-admin__title { font-family: var(--font-display); font-size: 26px; line-height: 32px; font-weight: 700; color: var(--ink); margin: 0; }
.ss-card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-md); }
.ss-table { width: 100%; border-collapse: collapse; }
.ss-table th { text-align: left; font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--ink-muted); padding: 12px var(--space-4); border-bottom: 1px solid var(--line); }
.ss-table td { padding: 12px var(--space-4); border-bottom: 1px solid var(--line); color: var(--ink-body); vertical-align: middle; }
.ss-table tr:last-child td { border-bottom: 0; }
.ss-table__thumb { width: 56px; height: 42px; border-radius: 6px; object-fit: cover; display: block; }
.ss-status { display: inline-flex; align-items: center; gap: 6px; font-weight: 500; }
.ss-status::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.ss-status--ok { color: var(--success); }
.ss-status--draft { color: var(--warning); }
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-padding-top: calc(var(--altura-header) + 16px); scroll-padding-bottom: 88px; }
body { font-size: 17px; line-height: 28px; min-height: 100vh; overflow-x: clip; }
img, svg, video { max-width: 100%; }
img { height: auto; }
picture { display: contents; }
h1, h2, h3, h4 { font-family: var(--font-display); font-weight: 700; color: var(--ink); margin: 0; text-wrap: balance; }
p { margin: 0; text-wrap: pretty; }
a { color: var(--link); text-underline-offset: 3px; }
a:not(.ss-btn):hover { color: var(--roxo-escuro); }
button { font: inherit; }
::selection { background: var(--amarelo); color: var(--ink); }
input, textarea { caret-color: var(--roxo); }
figure { margin: 0; }
main:focus { outline: none; }
[hidden] { display: none !important; }
:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 2px; }
.on-dark :focus-visible, .on-dark.ss-btn:focus-visible { outline-color: var(--focus-ring-inverse); }
.on-dark a:not(.ss-btn) { color: #ffffff; }
.on-dark a:not(.ss-btn):hover { color: #ffffff; text-decoration-color: var(--amarelo); text-decoration-thickness: 2px; }
.pular-conteudo { position: absolute; left: 16px; top: -100px; z-index: 1000; background: var(--surface); color: var(--ink); padding: 12px 20px; border-radius: var(--radius-full); font-weight: 600; box-shadow: var(--shadow-md); text-decoration: none; }
.pular-conteudo:focus { top: 12px; }
.sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
@media (prefers-reduced-motion: reduce) {
*, *::before, *::after { scroll-behavior: auto !important; }
}
.container { width: 100%; max-width: calc(var(--container) + 2 * var(--gutter)); margin-inline: auto; padding-inline: var(--gutter); }
.container--texto { max-width: calc(var(--container-texto) + 2 * var(--gutter)); }
.secao { padding-block: var(--secao-y); }
.secao--alt { background: var(--surface-alt); }
.secao--roxa { background: var(--roxo); color: var(--on-roxo); }
.secao--compacta { padding-block: clamp(40px, 5vw, 64px); }
.pilha { display: flex; flex-direction: column; gap: var(--space-4); }
.pilha--lg { gap: clamp(28px, 4vw, 48px); }
.grade { display: grid; gap: clamp(24px, 3vw, 32px); }
.grade--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grade--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 48px; }
.grade--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
@media (max-width: 1023px) {
.grade--3, .grade--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 639px) {
.grade--2, .grade--3, .grade--4 { grid-template-columns: minmax(0, 1fr); row-gap: 32px; }
}
.cabeca-secao { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px 32px; flex-wrap: wrap; margin-bottom: clamp(28px, 3.5vw, 40px); }
.cabeca-secao__textos { display: flex; flex-direction: column; gap: 12px; max-width: 780px; }
.cabeca-secao .ss-eyebrow { margin: 0; }
.titulo-secao { font-size: clamp(30px, 1.6vw + 18px, 40px); line-height: 1.15; letter-spacing: -0.01em; }
.link-seta { display: inline-flex; align-items: center; gap: 8px; font-weight: 500; }
.link-seta svg { transition: transform var(--duracao-rapida) var(--ease-padrao); }
.link-seta:hover svg { transform: translateX(3px); }
.destaque { color: var(--roxo); }
.on-dark .destaque, .hero .destaque { color: var(--amarelo); }
.lead { font-size: clamp(17px, 0.5vw + 15px, 20px); line-height: 1.6; }
.texto-corrido { display: flex; flex-direction: column; gap: 16px; }
.botoes { display: flex; flex-wrap: wrap; gap: 12px; }
@media (max-width: 479px) {
.botoes--empilhar { flex-direction: column; }
.botoes--empilhar > .ss-btn { width: 100%; }
}
.ss-btn svg { flex: none; }
.ss-btn { transition: background-color var(--duracao-rapida) ease, color var(--duracao-rapida) ease, border-color var(--duracao-rapida) ease, box-shadow var(--duracao-media) var(--ease-padrao), transform var(--duracao-rapida) var(--ease-padrao); }
.ss-btn:active:not([disabled], [aria-disabled="true"]) { transform: scale(.96); }
.ss-btn--primary:hover { box-shadow: 0 8px 20px -8px rgba(100, 20, 105, .6); }
.ss-btn--cta:hover { background: var(--roxo); color: #ffffff; box-shadow: 0 8px 20px -8px rgba(100, 20, 105, .6); }
.on-dark .ss-btn--cta:hover, .hero .ss-btn--cta:hover, body:has(.hero--foto) .cabecalho:not(.cabecalho--fixo) .ss-btn--cta:hover { background: #ffffff; color: var(--roxo); box-shadow: 0 8px 20px -8px rgba(24, 12, 26, .5); }
.ss-btn--inverse:hover svg { color: inherit; }
.ss-btn--whatsapp:hover { background: #1d7a46; border-color: #1d7a46; color: #ffffff; box-shadow: 0 8px 20px -8px rgba(15, 70, 40, .55); }
.ss-btn--whatsapp:hover svg { color: #ffffff; }
.faixa-exemplo { background: var(--amarelo); color: var(--ink); font-size: 13px; line-height: 20px; font-weight: 500; text-align: center; padding: 6px var(--gutter); position: relative; z-index: 60; }
.cabecalho { position: sticky; top: 0; z-index: 50; height: var(--altura-header); background: var(--surface); color: var(--ink); border-bottom: 1px solid var(--line); }
.cabecalho__barra { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.cabecalho__logo { display: flex; color: inherit; border-radius: 6px; padding-block: 6px; }
.cabecalho__logo svg { height: 30px; width: auto; display: block; }
.cabecalho__nav ul { display: flex; align-items: center; gap: clamp(16px, 1.8vw, 28px); list-style: none; margin: 0; padding: 0; }
.cabecalho__nav a:not(.ss-btn) { position: relative; color: inherit; text-decoration: none; font-size: 15px; font-weight: 500; line-height: 20px; padding: 8px 0; border-bottom: 2px solid transparent; white-space: nowrap; }
.cabecalho__nav a:not(.ss-btn)::after { content: ""; position: absolute; left: 0; right: 0; bottom: -2px; height: 2px; background: currentColor; transform: scaleX(0); transform-origin: right center; transition: transform var(--duracao-media) var(--ease-saida); }
.cabecalho__nav a:not(.ss-btn):hover::after { transform-origin: left center; }
.cabecalho__nav a:not(.ss-btn):hover::after, .cabecalho__nav a[aria-current="page"]:not(.ss-btn)::after { transform: none; }
.cabecalho__nav .ss-btn { padding: 0 20px; }
.cabecalho__menu-btn { display: none; min-height: 44px; }
body:has(.hero--foto) .cabecalho { position: absolute; left: 0; right: 0; background: linear-gradient(rgba(24, 12, 26, .5), rgba(24, 12, 26, 0)) no-repeat; color: #ffffff; border-bottom-color: transparent; }
body:has(.hero--foto) .cabecalho :focus-visible { outline-color: var(--focus-ring-inverse); }
body:has(.hero--foto) .cabecalho .cabecalho__menu-btn { background: transparent; color: #ffffff; border-color: #ffffff; }
body:has(.hero--foto) .cabecalho.cabecalho--fixo { position: fixed; top: 0; background: var(--surface); color: var(--ink); border-bottom-color: var(--line); box-shadow: var(--shadow-sm); animation: cabecalho-desce .2s ease-out; }
body:has(.hero--foto) .cabecalho.cabecalho--fixo :focus-visible { outline-color: var(--focus-ring); }
body:has(.hero--foto) .cabecalho.cabecalho--fixo .cabecalho__menu-btn { color: var(--primary); border-color: var(--primary); }
.cabecalho .cabecalho__logo:hover { color: var(--roxo); }
.cabecalho__nav a:not(.ss-btn)::after { background: var(--roxo); }
body:has(.hero--foto) .cabecalho:not(.cabecalho--fixo) .cabecalho__logo:hover { color: var(--amarelo); }
body:has(.hero--foto) .cabecalho:not(.cabecalho--fixo) .cabecalho__nav a:not(.ss-btn)::after { background: var(--amarelo); }
@media (forced-colors: active) { .cabecalho__nav a:not(.ss-btn)::after { background: CanvasText !important; forced-color-adjust: none; } }
.site { position: relative; }
@keyframes cabecalho-desce { from { transform: translateY(-100%); } to { transform: none; } }
@media (max-width: 1099px) {
.cabecalho__nav { display: none; }
.cabecalho__menu-btn { display: inline-flex; }
.cabecalho__logo svg { height: 22px; }
}
.gaveta { position: fixed; inset: 0; width: 100%; max-width: 100%; height: 100%; max-height: 100%; margin: 0; padding: 0; border: 0; background: var(--roxo); color: #ffffff; overflow-y: auto; }
.gaveta[open] { display: flex; flex-direction: column; animation: gaveta-entra .2s ease-out; }
.gaveta::backdrop { background: rgba(24, 12, 26, .6); }
@keyframes gaveta-entra { from { opacity: 0; transform: translateY(-12px); } to { opacity: 1; transform: none; } }
.gaveta__topo { height: 64px; flex: none; display: flex; align-items: center; justify-content: space-between; padding-inline: 20px; }
.gaveta__logo { display: flex; color: #ffffff; padding-block: 6px; border-radius: 6px; }
.gaveta__topo svg.logo { height: 22px; width: auto; }
.gaveta__lista { list-style: none; margin: 0; padding: 12px 20px; }
.gaveta__lista a { display: flex; justify-content: space-between; align-items: center; padding: 16px 0; border-bottom: 1px solid rgba(255, 255, 255, .25); color: #ffffff; text-decoration: none; font-family: var(--font-display); font-size: 26px; line-height: 32px; font-weight: 700; }
.gaveta__lista a[aria-current="page"] { color: var(--amarelo); }
.gaveta__rodape { margin-top: auto; padding: 20px; display: flex; flex-direction: column; gap: 12px; }
.gaveta__rodape p { font-size: 14px; line-height: 22px; margin-top: 8px; }
.hero { position: relative; isolation: isolate; overflow: hidden; background: #58165c; color: #ffffff; display: flex; flex-direction: column; justify-content: flex-end; min-height: var(--hero-altura, 420px); padding-top: calc(var(--altura-header) + 32px); padding-bottom: clamp(40px, 5vw, 64px); }
.hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(var(--roxo-veu), .92) 0%, rgba(var(--roxo-veu), .72) 50%, rgba(var(--roxo-veu), .3) 100%); }
.hero__img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; }
.hero__conteudo { display: flex; flex-direction: column; gap: 16px; }
.hero__conteudo > * { max-width: 900px; }
.hero h1 { color: #ffffff; font-size: clamp(40px, 3vw + 20px, 60px); line-height: 1.07; letter-spacing: -0.015em; }
.hero__sub { font-size: clamp(16px, 0.5vw + 14px, 19px); line-height: 1.6; max-width: 680px; }
.hero .ss-eyebrow { color: var(--amarelo); margin: 0; }
.hero .botoes { margin-top: 12px; }
.hero__tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 4px; }
.tag-vidro { background: rgba(255, 255, 255, .18); color: #ffffff; }
.hero__voltar { align-self: flex-start; margin-bottom: 4px; }
.hero__img--extra { opacity: 0; transition: opacity 1.2s ease; }
.hero__img--extra.hero__img--ativa { opacity: 1; }
.hero__pausa { position: absolute; right: clamp(16px, 2.5vw, 32px); bottom: clamp(16px, 2.5vw, 28px); z-index: 1; width: 40px; height: 40px; border-radius: var(--radius-full); border: 1px solid rgba(255, 255, 255, .5); background: rgba(24, 12, 26, .25); color: #ffffff; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: background-color var(--duracao-rapida) ease; }
.hero__pausa:hover { background: rgba(255, 255, 255, .18); }
.hero__pausa:focus-visible { outline-color: var(--focus-ring-inverse); }
.hero__pausa[aria-pressed="true"] .hero__pausa-pausar, .hero__pausa[aria-pressed="false"] .hero__pausa-tocar { display: none; }
.hero--home { --hero-altura: min(800px, 100svh); justify-content: center; }
.hero--home h1 { font-size: clamp(44px, 4.2vw + 16px, 76px); line-height: 1.05; letter-spacing: -0.02em; }
.hero--home .hero__conteudo > * { max-width: 700px; }
.hero--home .hero__sub { font-size: clamp(17px, 0.4vw + 15px, 20px); max-width: 560px; }
.hero--alto { --hero-altura: 560px; }
.hero--projeto { --hero-altura: 640px; }
@media (prefers-reduced-motion: no-preference) {
.hero__conteudo > * { animation: hero-entra .45s var(--ease-saida) both; }
.hero__conteudo > :nth-child(2) { animation-delay: 60ms; }
.hero__conteudo > :nth-child(3) { animation-delay: 120ms; }
.hero__conteudo > :nth-child(n + 4) { animation-delay: 180ms; }
.hero__conteudo > h1 { animation-name: hero-entra-titulo; }
}
@media (prefers-reduced-motion: reduce) {
.hero__conteudo > :not(h1) { animation: surgir .45s ease both; }
}
@keyframes hero-entra { from { opacity: 0; translate: 0 12px; filter: blur(4px); } }
@keyframes hero-entra-titulo { from { translate: 0 12px; } }
@keyframes surgir { from { opacity: 0; } }
@media (max-width: 719px) {
.hero::before { background: linear-gradient(180deg, rgba(var(--roxo-veu), .6) 0%, rgba(var(--roxo-veu), .94) 100%); }
.hero { --hero-altura: 420px; }
.hero--home { --hero-altura: 620px; justify-content: flex-end; }
.hero--alto, .hero--projeto { --hero-altura: 560px; }
}
.trilha ol { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; margin: 0; padding: 0; font-size: 14px; line-height: 20px; }
.trilha li + li::before { content: "/"; margin-right: 6px; opacity: .8; }
.trilha a { color: inherit; text-decoration: none; }
.trilha a:hover { text-decoration: underline; }
.trilha [aria-current="page"] { opacity: .9; }
.trilha--clara { color: var(--ink-muted); }
.trilha--clara [aria-current="page"] { opacity: 1; color: var(--ink-body); }
.topo-simples { padding-top: clamp(40px, 5vw, 64px); padding-bottom: clamp(24px, 3vw, 40px); display: flex; flex-direction: column; gap: 20px; }
.topo-simples h1 { font-size: clamp(36px, 2.4vw + 18px, 52px); line-height: 1.1; letter-spacing: -0.015em; }
.rodape { background: var(--roxo); color: var(--on-roxo); padding-top: var(--space-16); padding-bottom: var(--space-8); }
.rodape a:not(.ss-btn) { color: #ffffff; text-decoration: none; }
.rodape a:not(.ss-btn):hover, .rodape a:not(.ss-btn):focus-visible { color: #ffffff; text-decoration: underline; text-decoration-color: var(--amarelo); text-decoration-thickness: 2px; text-underline-offset: 4px; }
.rodape a[href^="mailto:"] { overflow-wrap: anywhere; }
.rodape__grade { display: grid; grid-template-columns: 1.3fr 1fr 1fr 1fr; gap: 32px 40px; }
.rodape__logo { display: inline-flex; color: #ffffff; }
.rodape__logo svg { height: 72px; width: auto; }
.rodape__slogan { margin-top: 16px; max-width: 30ch; font-size: 15px; line-height: 24px; }
.rodape__titulo { font-family: var(--font-display); font-size: 18px; line-height: 24px; font-weight: 700; color: #ffffff; margin: 0 0 12px; }
.rodape ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; font-size: 15px; line-height: 24px; }
.rodape address { font-style: normal; }
.rodape__item { display: flex; align-items: flex-start; gap: 10px; }
.rodape__item > a { display: inline-flex; align-items: flex-start; gap: 10px; min-width: 0; }
.rodape__item > a > span { min-width: 0; }
.rodape__icone { flex: none; margin-top: 3px; color: var(--amarelo); }
.rodape__nav a { display: inline-flex; align-items: center; gap: 8px; }
.rodape__seta { flex: none; color: var(--amarelo); stroke-width: 2.75; transition: transform .15s ease; }
.rodape__nav a:hover .rodape__seta, .rodape__nav a:focus-visible .rodape__seta { transform: translateX(3px); }
@media (prefers-reduced-motion: reduce) { .rodape__seta { transition: none; } }
.rodape__legal { grid-column: 1 / -1; border-top: 1px solid rgba(255, 255, 255, .35); padding-top: 16px; margin-top: 16px; font-size: 13px; line-height: 20px; display: flex; justify-content: space-between; gap: 8px 16px; flex-wrap: wrap; }
@media (max-width: 1023px) { .rodape__grade { grid-template-columns: 1fr 1fr; } }
@media (max-width: 599px) { .rodape__grade { grid-template-columns: 1fr; } .rodape__logo svg { height: 56px; } }
.whatsapp-flutuante { position: fixed; right: clamp(16px, 2.2vw, 32px); bottom: clamp(16px, 2.2vw, 32px); z-index: 40; box-shadow: var(--shadow-md); transition: opacity .15s ease, visibility .15s ease, translate var(--duracao-media) var(--ease-saida), box-shadow var(--duracao-media) var(--ease-padrao), transform var(--duracao-rapida) var(--ease-padrao); }
.whatsapp-flutuante:hover { translate: 0 -2px; box-shadow: 0 16px 36px -6px rgba(34, 26, 36, .28); }
.whatsapp-flutuante:focus-visible { outline: 2px solid transparent; box-shadow: 0 0 0 2px #ffffff, 0 0 0 5px var(--focus-ring), 0 0 0 7px #ffffff, var(--shadow-md); }
body:has(:is(input, select, textarea):focus) .whatsapp-flutuante { opacity: 0; visibility: hidden; }
@media (max-width: 639px) {
.whatsapp-flutuante { width: 56px; height: 56px; min-height: 56px; padding: 0; border-radius: 50%; }
.whatsapp-flutuante svg { width: 26px; height: 26px; }
.whatsapp-flutuante__texto { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
}
.cta-bloco { position: relative; isolation: isolate; overflow: hidden; border-radius: var(--radius-lg); background: var(--roxo); color: #ffffff; min-height: 400px; padding: clamp(32px, 5vw, 64px); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 20px; text-align: center; }
.cta-bloco__img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; }
.cta-bloco--foto::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(var(--roxo-veu), .9), rgba(var(--roxo-veu), .6)); }
.cta-bloco:not(.cta-bloco--foto)::after { content: ""; position: absolute; right: -60px; top: -60px; width: 200px; height: 200px; border-radius: 50%; background: var(--amarelo); z-index: -1; }
.cta-bloco h2 { color: #ffffff; font-size: clamp(34px, 2.4vw + 18px, 52px); line-height: 1.12; }
.cta-bloco p { font-size: clamp(16px, 0.3vw + 15px, 18px); line-height: 1.6; max-width: 640px; }
.cta-bloco .botoes { justify-content: center; margin-top: 8px; }
@media (max-width: 639px) {
.cta-bloco { align-items: stretch; justify-content: flex-end; text-align: left; min-height: 440px; padding: 32px 24px; }
.cta-bloco--foto::before { background: linear-gradient(180deg, rgba(var(--roxo-veu), .55), rgba(var(--roxo-veu), .95)); }
.cta-bloco .botoes { flex-direction: column; }
}
.faixa-selo { display: flex; align-items: center; gap: clamp(24px, 5vw, 72px); }
.faixa-selo__selo { flex: none; color: var(--amarelo); width: clamp(120px, 14vw, 200px); }
.faixa-selo__selo .logo { width: 100%; height: auto; display: block; }
.faixa-selo__frase { font-family: var(--font-display); font-size: clamp(24px, 1.4vw + 14px, 36px); line-height: 1.25; font-weight: 700; color: #ffffff; }
.faixa-selo__apoio { font-size: clamp(15px, 0.3vw + 14px, 18px); line-height: 1.6; margin-top: 16px; }
.faixa-selo__apoio strong { color: var(--amarelo); font-weight: 700; font-size: max(19px, 1.1em); }
@media (max-width: 719px) { .faixa-selo { flex-direction: column; align-items: flex-start; } }
.logo--arquivo { aspect-ratio: 197.58 / 193.09; background-color: currentColor;
-webkit-mask: var(--logo-arquivo) center / contain no-repeat; mask: var(--logo-arquivo) center / contain no-repeat; }
@media (forced-colors: active) { .logo--arquivo { forced-color-adjust: none; background-color: CanvasText; } }
.logo--girar { animation: selo-gira 40s linear infinite; }
@supports (animation-timeline: view()) {
.logo--girar { animation: selo-gira auto linear both; animation-timeline: view(); animation-range: cover; }
:is(.nao-encontrado__selo, .obrigado__selo) .logo--girar { animation: selo-gira 40s linear infinite; }
}
@keyframes selo-gira { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
.logo--girar, :is(.nao-encontrado__selo, .obrigado__selo) .logo--girar { animation: none; }
@supports (animation-timeline: view()) {
.logo--girar { animation: selo-gira auto linear both; animation-timeline: view(); animation-range: cover; }
}
}
.cartao-servico { background: var(--surface); border-radius: var(--radius-md); overflow: hidden; display: flex; flex-direction: column; }
.cartao-servico__midia { overflow: hidden; }
.cartao-servico__img { width: 100%; aspect-ratio: 16 / 7; object-fit: cover; display: block; transition: transform var(--duracao-lenta) var(--ease-saida); }
.cartao-servico__corpo { padding: clamp(20px, 2.4vw, 28px); display: flex; flex-direction: column; gap: 12px; flex: 1; }
.cartao-servico__corpo .ss-tag { align-self: flex-start; }
.cartao-servico h3, .cartao-servico .h3-cartao { font-size: clamp(26px, 1vw + 18px, 30px); line-height: 1.2; color: var(--roxo); }
.cartao-servico p { font-size: 16px; line-height: 26px; }
.cartao-servico .link-seta { margin-top: auto; }
.secao:not(.secao--alt) .cartao-servico { background: var(--surface-alt); }
.cartao-segmento { background: var(--surface); border-radius: var(--radius-md); padding: 28px; display: flex; flex-direction: column; gap: 12px; }
.cartao-segmento__disco { width: 48px; height: 48px; border-radius: var(--radius-full); background: var(--amarelo); display: flex; align-items: center; justify-content: center; font-family: var(--font-display); font-weight: 700; font-size: 20px; color: var(--ink); transition: background-color var(--duracao-media) var(--ease-padrao), color var(--duracao-media) var(--ease-padrao); }
.cartao-segmento h3 { font-size: 24px; line-height: 30px; }
.cartao-segmento p { font-size: 15px; line-height: 24px; }
.cartao-segmento .ss-link { margin-top: auto; font-size: 15px; }
.secao:not(.secao--alt) .cartao-segmento { background: var(--surface-alt); }
.cartao-servico, .cartao-segmento { position: relative; transition: box-shadow var(--duracao-media) var(--ease-padrao), transform var(--duracao-media) var(--ease-saida); }
.cartao-servico .ss-link::after, .cartao-segmento .ss-link::after { content: ""; position: absolute; inset: 0; z-index: 1; border-radius: var(--radius-md); }
.cartao-servico:hover, .cartao-segmento:hover { box-shadow: var(--sombra-cartao); }
.cartao-segmento:hover h3 { color: var(--roxo); }
.cartao-servico:hover .cartao-servico__img { transform: scale(1.04); }
.cartao-segmento:hover .cartao-segmento__disco { background: var(--roxo); color: #ffffff; }
.cartao-servico:hover .ss-link, .cartao-segmento:hover .ss-link { text-decoration-thickness: 2px; }
@media (prefers-reduced-motion: no-preference) {
.cartao-servico:hover, .cartao-segmento:hover { transform: translateY(-2px); }
}
@supports selector(:has(*)) {
.cartao-servico .ss-link:focus-visible, .cartao-segmento .ss-link:focus-visible { outline: none; }
.cartao-servico:has(.ss-link:focus-visible), .cartao-segmento:has(.ss-link:focus-visible) { outline: 2px solid var(--focus-ring); outline-offset: 4px; }
}
.clientes { display: flex; flex-direction: column; align-items: center; gap: 24px; }
.clientes__titulo { font-family: var(--font-display); font-size: clamp(22px, 0.8vw + 16px, 26px); line-height: 1.25; font-weight: 700; color: #ffffff; text-align: center; }
.clientes__lista { width: 100%; list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 16px; }
.clientes__lista li { background: #ffffff; border-radius: var(--radius-md); display: flex; align-items: center; justify-content: center; padding: 8px 12px; height: 88px; }
.clientes__lista img { width: 100%; height: 100%; object-fit: contain; display: block; }
.clientes__lista li.clientes__item--escuro { background: transparent; padding: 8px; }
@media (max-width: 1023px) { .clientes__lista { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 479px) { .clientes__lista { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.clientes__janela { width: 100%; }
@media (prefers-reduced-motion: no-preference) {
.js .clientes__janela { overflow: hidden; }
.js .clientes__lista { --logo-largura: 176px; display: flex; width: max-content; margin-inline: auto; }
.js .clientes__lista li { flex: none; width: var(--logo-largura); }
.clientes__janela--anda { -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.clientes__janela--anda .clientes__lista { margin-inline: 0; padding-inline-end: 16px; animation: clientes-deslizar var(--faixa-duracao, 30s) linear infinite; }
.clientes__janela--anda:is(:hover, :focus-within) .clientes__lista { animation-play-state: paused; }
@media (max-width: 479px) { .js .clientes__lista { --logo-largura: 144px; } }
}
@keyframes clientes-deslizar { to { translate: -50% 0; } }
.etapas { position: relative; list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 40px; }
.etapas::before { content: ""; position: absolute; left: 28px; right: 28px; top: 27px; height: 2px; background: var(--amarelo); }
.etapas li { position: relative; display: flex; flex-direction: column; gap: 12px; }
.etapas__num { width: 56px; height: 56px; border-radius: var(--radius-full); background: var(--roxo); color: #ffffff; display: flex; align-items: center; justify-content: center; font-family: var(--font-display); font-size: 22px; font-weight: 700; position: relative; }
.etapas h3 { font-size: 24px; line-height: 30px; }
.etapas p { font-size: 16px; line-height: 26px; }
@media (max-width: 899px) {
.etapas { grid-template-columns: 1fr; gap: 28px; }
.etapas::before { left: 27px; right: auto; top: 28px; bottom: 28px; width: 2px; height: auto; }
.etapas li { display: grid; grid-template-columns: 56px 1fr; column-gap: 20px; row-gap: 6px; }
.etapas__num { grid-row: span 2; }
}
@supports (animation-timeline: view()) {
.etapas { view-timeline: --etapas block; background: linear-gradient(var(--line), var(--line)) no-repeat 28px 27px / calc(100% - 56px) 2px; }
.etapas::before { transform-origin: left center; animation: etapas-linha auto linear both; animation-timeline: --etapas; animation-range: cover 20% cover 50%; }
.etapas__num { background: var(--surface); color: var(--roxo); box-shadow: inset 0 0 0 2px var(--roxo); }
.etapas__num::after { content: attr(data-numero); position: absolute; inset: 0; border-radius: inherit; background: var(--roxo); color: #ffffff; display: flex; align-items: center; justify-content: center; animation: etapas-acende auto var(--ease-saida) both; animation-timeline: --etapas; }
.etapas li:nth-child(1) .etapas__num::after { animation-range: cover 17% cover 22%; }
.etapas li:nth-child(2) .etapas__num::after { animation-range: cover 25% cover 30%; }
.etapas li:nth-child(3) .etapas__num::after { animation-range: cover 33% cover 38%; }
.etapas li:nth-child(4) .etapas__num::after { animation-range: cover 41% cover 46%; }
@media (max-width: 899px) {
.etapas { view-timeline-inset: 59% 40%; background-position: 27px 28px; background-size: 2px calc(100% - 56px); }
.etapas::before { transform-origin: center top; animation-name: etapas-linha-v; animation-range: cover 0% cover 100%; }
.etapas li:nth-child(n) .etapas__num::after { animation-timeline: view(block 59% 40%); animation-range: cover 0% cover 100%; }
}
}
@keyframes etapas-linha { from { transform: scaleX(0); } }
@keyframes etapas-linha-v { from { transform: scaleY(0); } }
@keyframes etapas-acende { from { scale: 0; } }
.depoimento { position: relative; margin: 0; padding: clamp(24px, 3vw, 32px); border-radius: var(--radius-lg); background: var(--surface); display: flex; flex-direction: column; gap: 24px; }
.secao:not(.secao--alt) .depoimento { background: var(--rosa); }
.depoimento blockquote { margin: 0; font-family: var(--font-display); font-size: clamp(20px, 0.6vw + 16px, 24px); line-height: 1.4; font-weight: 600; color: var(--ink); text-wrap: pretty; }
.depoimento--exemplo blockquote { padding-right: 72px; }
.depoimento figcaption { display: flex; align-items: center; gap: 12px; font-size: 15px; line-height: 22px; color: var(--ink); }
.depoimento__avatar { width: 48px; height: 48px; border-radius: var(--radius-full); background: var(--surface-alt); flex: none; object-fit: cover; }
.secao--alt .depoimento__avatar { background: var(--roxo-claro); }
.depoimento__nome { display: block; font-weight: 600; }
.depoimento__selo { position: absolute; right: 20px; top: 20px; }
.sobre { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 480px); gap: clamp(40px, 6vw, 80px); align-items: center; }
.sobre--foto-esquerda { grid-template-columns: minmax(0, 480px) minmax(0, 1fr); align-items: start; }
.sobre--foto-esquerda .sobre__foto { order: -1; }
.sobre__textos { display: flex; flex-direction: column; gap: 18px; }
.sobre__textos .ss-btn { align-self: flex-start; }
.sobre__foto { position: relative; }
.sobre__foto::before { content: ""; position: absolute; left: -24px; top: -24px; width: 200px; height: 200px; border-radius: 50%; background: var(--amarelo); }
.sobre--foto-esquerda .sobre__foto::before { top: auto; bottom: -24px; }
.sobre__foto img { position: relative; width: 100%; aspect-ratio: 12 / 13; object-fit: cover; object-position: 50% 20%; border-radius: var(--radius-md); display: block; outline: 1px solid var(--contorno-foto); outline-offset: -1px; }
.sobre--foto-esquerda .sobre__foto img { aspect-ratio: 4 / 5; }
.sobre__selo { color: var(--roxo); width: min(320px, 100%); justify-self: center; }
.sobre__selo .logo { width: 100%; height: auto; display: block; }
@media (max-width: 899px) {
.sobre, .sobre--foto-esquerda { grid-template-columns: 1fr; }
.sobre__foto { max-width: 420px; margin-left: 24px; }
}
.numeros { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; margin: 0; }
.numeros > div { display: flex; flex-direction: column-reverse; justify-content: flex-end; gap: 8px; padding-top: 20px; border-top: 2px solid var(--roxo); }
.numeros dd { margin: 0; font-family: var(--font-display); font-size: clamp(48px, 2vw + 32px, 64px); line-height: 1; font-weight: 700; color: var(--roxo); font-variant-numeric: tabular-nums; }
.numeros dt { font-size: 16px; line-height: 24px; max-width: 300px; }
@media (max-width: 719px) { .numeros { grid-template-columns: 1fr; gap: 24px; } }
.form-titulo { font-size: clamp(26px, 0.6vw + 22px, 30px); line-height: 1.2; }
.cartao-post { display: flex; flex-direction: column; gap: 12px; text-decoration: none; color: inherit; border-radius: var(--radius-md); }
.cartao-post__midia { display: block; position: relative; overflow: hidden; border-radius: var(--radius-md); }
.cartao-post__midia::after, .post-destaque__midia::after { content: ""; position: absolute; inset: 0; border-radius: inherit; box-shadow: inset 0 0 0 1px var(--contorno-foto); pointer-events: none; }
.cartao-post__img { width: 100%; aspect-ratio: 27 / 16; object-fit: cover; border-radius: var(--radius-md); display: block; background: var(--surface-alt); transition: transform var(--duracao-lenta) var(--ease-saida); }
.cartao-post:hover .cartao-post__img { transform: scale(1.04); }
.cartao-post :is(h2, h3) { transition: color var(--duracao-rapida) ease; }
.cartao-post__tags { display: flex; flex-wrap: wrap; gap: 8px; }
.cartao-post :is(h2, h3) { font-size: 22px; line-height: 28px; font-weight: 600; }
.cartao-post:hover :is(h2, h3) { color: var(--roxo); }
.cartao-post__meta { font-size: 13px; line-height: 20px; color: var(--ink-muted); }
.secao--alt .cartao-post__meta { color: var(--ink-body); }
.cartao-post:focus-visible { outline-offset: 4px; }
.filtros { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 32px; padding-block: 32px; border-bottom: 1px solid var(--line); }
.filtros__grupo { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.filtros__rotulo { font-size: 13px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-muted); margin-right: 4px; }
.filtros__divisor { width: 1px; height: 32px; background: var(--line); }
.filtros__total { margin-left: auto; font-size: 15px; color: var(--ink-muted); }
.chip { display: inline-flex; align-items: center; height: 40px; padding: 0 18px; border-radius: var(--radius-full); border: 1.5px solid var(--line-strong); background: var(--surface); color: var(--ink); font-size: 14px; font-weight: 500; text-decoration: none; white-space: nowrap; }
.chip { transition: border-color var(--duracao-rapida) ease, color var(--duracao-rapida) ease, background-color var(--duracao-rapida) ease; }
.chip:hover { border-color: var(--roxo); color: var(--roxo); }
.chip[aria-current="true"], .chip[aria-current="page"] { background: var(--roxo); border-color: var(--roxo); color: #ffffff; }
@media (max-width: 899px) { .filtros__divisor { display: none; } .filtros__total { margin-left: 0; width: 100%; } }
.lista-check { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px 40px; }
.lista-check li { display: flex; gap: 12px; align-items: flex-start; font-size: 17px; line-height: 26px; color: var(--ink); }
.lista-check__icone { width: 28px; height: 28px; border-radius: var(--radius-full); background: var(--roxo); color: #ffffff; display: flex; align-items: center; justify-content: center; flex: none; }
@media (max-width: 1023px) { .lista-check { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 639px) { .lista-check { grid-template-columns: 1fr; gap: 16px; } }
.ambientes { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.ambientes li { background: var(--surface-alt); border-radius: var(--radius-md); padding: 24px; display: flex; flex-direction: column; gap: 16px; min-height: 132px; }
.ambientes__disco { flex: none; width: 44px; height: 44px; border-radius: var(--radius-full); background: var(--amarelo); color: var(--ink); display: grid; place-items: center; }
.ambientes span:last-child { font-family: var(--font-display); font-size: 21px; line-height: 27px; font-weight: 700; color: var(--ink); }
@media (max-width: 1023px) { .ambientes { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 479px) { .ambientes { grid-template-columns: 1fr; } .ambientes li { min-height: 0; flex-direction: row; align-items: center; } }
.prosa { display: flex; flex-direction: column; gap: 22px; font-size: 18px; line-height: 31px; color: var(--ink-body); }
.prosa > * { margin: 0; }
.prosa h2 { font-size: clamp(26px, 0.8vw + 20px, 30px); line-height: 1.25; margin-top: 16px; }
.prosa h3 { font-size: 22px; line-height: 28px; margin-top: 8px; }
.prosa ul, .prosa ol { padding-left: 1.3em; display: grid; gap: 8px; }
.prosa figure { display: flex; flex-direction: column; gap: 10px; margin-block: 8px; }
.prosa figure img { width: 100%; border-radius: var(--radius-md); display: block; }
.prosa figcaption { font-size: 14px; line-height: 20px; color: var(--ink-muted); }
.prosa blockquote { margin-block: 8px; padding: 28px 32px; border-radius: var(--radius-md); background: var(--roxo-claro); font-family: var(--font-display); font-size: clamp(22px, 0.6vw + 18px, 26px); line-height: 1.4; font-weight: 700; color: var(--roxo); }
.prosa a { font-weight: 500; }
.prosa .aviso-exemplo { background: var(--amarelo); color: var(--ink); border-radius: var(--radius-sm); padding: 10px 16px; font-size: 14px; line-height: 22px; font-weight: 500; }
.prosa h4 { font-size: 19px; line-height: 26px; margin-top: 4px; }
.prosa--compacta { font-size: 17px; line-height: 28px; gap: 16px; }
.prosa--projeto { font-size: 17px; line-height: 28px; gap: 12px; }
.prosa--compacta h2 { font-size: clamp(30px, 1.6vw + 18px, 40px); line-height: 1.15; margin-top: 0; }
.aviso { display: flex; gap: 12px; align-items: flex-start; border-radius: var(--radius-md); padding: 16px 20px; background: var(--roxo-claro); color: var(--ink); font-size: 15px; line-height: 24px; }
.aviso--provisorio { background: #fff4d6; border: 1.5px solid var(--amarelo); }
.aviso svg { flex: none; margin-top: 2px; color: var(--warning); }
.vazio { text-align: center; padding: 64px 24px; background: var(--surface-alt); border-radius: var(--radius-lg); display: flex; flex-direction: column; align-items: center; gap: 12px; }
.vazio h2 { font-size: 26px; line-height: 32px; }
.paginacao { margin-top: 56px; }
.paginacao ul { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px; list-style: none; margin: 0; padding: 0; }
.paginacao a { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-width: 44px; height: 44px; padding: 0 14px; border-radius: var(--radius-full); border: 1.5px solid var(--line-strong); color: var(--ink); text-decoration: none; font-weight: 500; font-variant-numeric: tabular-nums; }
.paginacao a { transition: border-color var(--duracao-rapida) ease, color var(--duracao-rapida) ease; }
.paginacao a:hover { border-color: var(--roxo); color: var(--roxo); }
.paginacao [aria-current="page"], .paginacao [aria-current="page"]:hover { background: var(--roxo); border-color: var(--roxo); color: #ffffff; }
.paginacao__reticencias { min-width: 24px; text-align: center; color: var(--ink-muted); }
@media (max-width: 479px) {
.paginacao__seta { padding: 0; width: 44px; }
.paginacao__seta span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
}
.form-cartao { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-md); padding: clamp(24px, 3vw, 40px); display: flex; flex-direction: column; gap: 20px; }
.form-linha { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
@media (max-width: 639px) { .form-linha { grid-template-columns: 1fr; } }
.ss-input.invalid, .ss-select.invalid, .ss-textarea.invalid { border-color: var(--danger); }
.ss-select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23545454' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 12px center; padding-right: 40px; }
.ss-check a { font-weight: 500; }
.ss-check--erro { color: var(--danger); }
.ss-check--erro input { outline: 2px solid var(--danger); outline-offset: 1px; }
.campo-isca { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }
.resumo-erros { border: 2px solid var(--danger); border-radius: var(--radius-md); padding: 16px 20px; background: #fdf0f0; color: var(--ink); }
.resumo-erros:focus { outline: 2px solid var(--focus-ring); outline-offset: 2px; }
.resumo-erros strong { display: flex; align-items: center; gap: 8px; color: var(--danger); }
.resumo-erros ul { margin: 8px 0 0; padding-left: 1.2em; font-size: 15px; line-height: 24px; }
.resumo-erros a { color: var(--ink); }
.form-sucesso { border-radius: var(--radius-md); padding: 24px; background: #e9f5ee; color: var(--ink); display: flex; gap: 16px; align-items: flex-start; }
.form-sucesso__icone { width: 44px; height: 44px; border-radius: 50%; background: var(--success); color: #ffffff; display: flex; align-items: center; justify-content: center; flex: none; }
.form-sucesso h2 { font-size: 24px; line-height: 30px; margin-bottom: 6px; }
.form-acoes { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; }
.form-acoes__nota { font-size: 14px; line-height: 20px; }
.lightbox { position: fixed; inset: 0; width: 100%; max-width: 100%; height: 100%; max-height: 100%; margin: 0; padding: 0; border: 0; background: rgba(24, 12, 26, .96); color: #ffffff; }
.lightbox[open] { display: flex; flex-direction: column; }
.lightbox::backdrop { background: rgba(24, 12, 26, .96); }
.lightbox { -webkit-user-select: none; user-select: none; -webkit-tap-highlight-color: transparent; }
.lightbox img { -webkit-user-drag: none; }
.lightbox__legenda { -webkit-user-select: text; user-select: text; }
.lightbox__nav, .lightbox__miniaturas button { touch-action: manipulation; }
.lightbox :focus-visible { outline-color: var(--focus-ring-inverse); }
.lightbox__topo { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 20px clamp(16px, 2.5vw, 32px); }
.lightbox__titulo { font-size: 15px; line-height: 22px; margin: 0; }
.lightbox__titulo strong { font-family: var(--font-display); font-size: 20px; margin-right: 16px; }
.lightbox__palco { flex: 1; min-height: 0; display: flex; align-items: center; gap: clamp(8px, 2vw, 24px); padding-inline: clamp(8px, 2.5vw, 32px); }
.lightbox__figura { flex: 1; min-width: 0; height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; }
.lightbox__figura img { max-width: 100%; max-height: calc(100% - 44px); object-fit: contain; display: block; border-radius: 4px; }
.lightbox__legenda { font-size: 14px; line-height: 20px; text-align: center; max-width: 80ch; }
.lightbox__nav { width: 56px; height: 56px; border-radius: var(--radius-full); border: 0; background: #ffffff; color: var(--ink); display: flex; align-items: center; justify-content: center; cursor: pointer; flex: none; }
.lightbox__nav:focus-visible { outline: 3px solid var(--amarelo); outline-offset: 3px; }
.lightbox__miniaturas { display: flex; gap: 10px; justify-content: center; padding: 16px; overflow-x: auto; list-style: none; margin: 0; }
.lightbox__miniaturas button { padding: 0; border: 3px solid transparent; border-radius: 10px; overflow: hidden; width: 96px; height: 64px; flex: none; background: none; opacity: .6; cursor: pointer; }
.lightbox__miniaturas button[aria-current="true"] { border-color: var(--amarelo); opacity: 1; }
.lightbox__miniaturas img { width: 100%; height: 100%; object-fit: cover; display: block; }
@media (max-width: 719px) {
.lightbox__nav { width: 44px; height: 44px; position: absolute; bottom: 96px; }
.lightbox__nav--anterior { left: 16px; } .lightbox__nav--proxima { right: 16px; }
.lightbox__miniaturas { justify-content: flex-start; }
.lightbox__miniaturas button { width: 64px; height: 44px; }
}
.erro-pagina { min-height: 100vh; display: flex; flex-direction: column; }
.erro-pagina__topo { height: 88px; display: flex; align-items: center; border-bottom: 1px solid var(--line); }
.erro-pagina__topo svg { height: 30px; width: auto; color: var(--ink); display: block; }
.erro-pagina__corpo { flex: 1; display: flex; flex-direction: column; justify-content: center; gap: 20px; padding-block: 64px; }
.erro-pagina__corpo h1 { font-size: clamp(36px, 2vw + 20px, 52px); line-height: 1.1; }
.espacos { display: grid; grid-template-columns: minmax(0, 560px) minmax(0, 640px); justify-content: space-between; gap: clamp(40px, 6vw, 80px); align-items: center; }
.espacos__textos { display: flex; flex-direction: column; gap: 20px; }
.espacos__textos p:not(.ss-eyebrow) { font-size: 17px; line-height: 28px; }
.espacos__colagem { position: relative; aspect-ratio: 640 / 440; }
.espacos__foto1 { position: absolute; left: 0; top: 0; width: 62.5%; height: 100%; object-fit: cover; border-radius: var(--radius-md); outline: 1px solid var(--contorno-foto); outline-offset: -1px; }
.espacos__foto2 { position: absolute; right: 0; bottom: 0; width: 47%; height: 54.5%; object-fit: cover; border-radius: var(--radius-md); border: 6px solid #ffffff; }
.espacos__numero { position: absolute; right: 9%; top: 9%; width: 28%; min-width: 140px; aspect-ratio: 180 / 150; border-radius: var(--radius-md); background: var(--amarelo); color: var(--ink); padding: 16px 20px; display: flex; flex-direction: column; justify-content: center; }
.espacos__numero strong { font-family: var(--font-display); font-size: clamp(40px, 3vw + 12px, 56px); line-height: 1; font-weight: 700; font-variant-numeric: tabular-nums; }
.espacos__numero > span { font-size: 15px; font-weight: 500; }
@media (max-width: 899px) {
.espacos { grid-template-columns: 1fr; }
.espacos__colagem { aspect-ratio: 350 / 340; max-width: 520px; }
.espacos__foto1 { width: 74%; height: 88%; }
.espacos__foto2 { display: none; }
.espacos__numero { top: auto; bottom: 0; right: 0; width: 43%; }
}
.pt-0 { padding-top: 0; }
.projeto-sobre { display: grid; grid-template-columns: minmax(0, 720px) minmax(0, 420px); justify-content: space-between; gap: clamp(40px, 7vw, 96px); align-items: start; }
.projeto-sobre__texto { display: flex; flex-direction: column; gap: 16px; }
.projeto-sobre__texto h3 { font-size: 22px; line-height: 28px; margin-top: 8px; }
.projeto-ficha { background: var(--surface-alt); border-radius: var(--radius-md); padding: 24px 28px; }
.projeto-ficha h3 { font-size: 20px; line-height: 26px; margin-bottom: 8px; }
.projeto-ficha dl { margin: 0; }
.projeto-ficha dl > div { display: flex; justify-content: space-between; gap: 16px; padding: 12px 0; border-top: 1px solid var(--line); }
.projeto-ficha dt { font-size: 14px; color: var(--ink-body); }
.projeto-ficha dd { margin: 0; font-size: 15px; font-weight: 500; color: var(--ink); text-align: right; }
.galeria { display: grid; gap: 16px; }
.galeria__item { display: block; position: relative; overflow: hidden; border-radius: var(--radius-md); background: var(--surface-alt); cursor: zoom-in; }
.galeria__item::after { content: ""; position: absolute; inset: 0; border-radius: inherit; box-shadow: inset 0 0 0 1px var(--contorno-foto); pointer-events: none; }
.galeria__item img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform var(--duracao-lenta) var(--ease-saida); }
.galeria__item:hover img { transform: scale(1.04); }
.galeria__item:focus-visible { outline-offset: 4px; }
.galeria--uma { grid-template-columns: 1fr; }
.galeria--uma .galeria__item { aspect-ratio: 16 / 9; max-height: 720px; }
.galeria--poucas { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.galeria--poucas .galeria__item { aspect-ratio: 3 / 2; }
.galeria--mosaico { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: clamp(160px, 19vw, 280px); grid-auto-flow: dense; }
.galeria--mosaico .galeria__item:nth-child(9n + 1) { grid-column: span 2; grid-row: span 2; }
.galeria--mosaico .galeria__item:nth-child(9n + 2) { grid-row: span 2; }
.galeria--mosaico .galeria__item:nth-child(9n + 6) { grid-column: span 2; }
.galeria--mosaico .galeria__item:nth-child(9n + 9) { grid-column: span 2; }
.js .galeria--mosaico .galeria__item:nth-child(n + 10) { display: none; }
.galeria__acoes { display: flex; justify-content: center; margin-top: 32px; }
.projeto-cta { display: flex; align-items: center; justify-content: space-between; gap: 32px 48px; flex-wrap: wrap; }
.projeto-cta__texto { display: flex; align-items: center; gap: clamp(20px, 3vw, 40px); }
.projeto-cta__selo { width: clamp(96px, 10vw, 140px); flex: none; color: var(--amarelo); }
.projeto-cta__selo .logo { width: 100%; height: auto; display: block; }
.projeto-cta h2 { color: #ffffff; font-size: clamp(28px, 1.6vw + 16px, 40px); line-height: 1.15; max-width: 560px; }
@media (max-width: 899px) {
.projeto-sobre { grid-template-columns: 1fr; }
.galeria--mosaico { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: clamp(140px, 40vw, 240px); }
.galeria--mosaico .galeria__item:nth-child(9n + 2) { grid-row: span 1; }
}
@media (max-width: 479px) {
.galeria--poucas { grid-template-columns: 1fr; }
.projeto-cta__texto { flex-direction: column; align-items: flex-start; }
}
.servico-intro { display: grid; grid-template-columns: minmax(0, 620px) minmax(0, 520px); justify-content: space-between; gap: clamp(40px, 7vw, 96px); align-items: center; }
.servico-intro__foto { position: relative; }
.servico-intro__foto::before { content: ""; position: absolute; right: -24px; top: -24px; width: 160px; height: 160px; border-radius: 50%; background: var(--amarelo); }
.servico-intro__foto img { position: relative; width: 100%; aspect-ratio: 52 / 42; object-fit: cover; border-radius: var(--radius-md); display: block; outline: 1px solid var(--contorno-foto); outline-offset: -1px; }
@media (max-width: 899px) {
.servico-intro { grid-template-columns: 1fr; }
.servico-intro__foto { margin-right: 24px; }
}
.contato { display: grid; grid-template-columns: minmax(0, 640px) minmax(280px, 1fr); gap: clamp(40px, 5vw, 64px); align-items: start; }
.contato__item a:not(.ss-btn) { overflow-wrap: anywhere; }
.contato__info { display: flex; flex-direction: column; gap: 28px; }
.contato__item { display: flex; gap: 16px; align-items: flex-start; }
.contato__item > div { display: flex; flex-direction: column; gap: 2px; align-items: flex-start; font-size: 16px; line-height: 24px; }
.contato__item h2 { font-size: 20px; line-height: 26px; }
.contato__item address { font-style: normal; }
.contato__icone { width: 48px; height: 48px; border-radius: 50%; background: var(--roxo); color: #ffffff; display: flex; align-items: center; justify-content: center; flex: none; }
.contato__mapa { margin: 0; }
.contato__mapa iframe { display: block; width: 100%; aspect-ratio: 4 / 3; border: 0; border-radius: var(--radius-md); background: var(--surface-alt); }
.contato__mapa figcaption { margin-top: 12px; font-size: 15px; line-height: 22px; }
.contato__mapa a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: var(--roxo-escuro); font-weight: 600; }
.contato__info > p { font-size: 15px; line-height: 24px; }
@media (max-width: 1023px) {
.contato { grid-template-columns: minmax(0, 1fr); }
}
.orcamento { display: grid; grid-template-columns: minmax(0, 760px) minmax(0, 1fr); gap: clamp(40px, 6vw, 80px); align-items: start; padding-bottom: var(--secao-y); }
.orcamento__principal { display: flex; flex-direction: column; gap: 20px; }
.orcamento__principal .orc-form { display: flex; flex-direction: column; gap: 28px; margin-top: 12px; }
.js .orcamento__principal .orc-form:not([data-js])[data-etapa-inicial="1"] .orc-etapa:not([data-etapa="1"]),
.js .orcamento__principal .orc-form:not([data-js])[data-etapa-inicial="2"] .orc-etapa:not([data-etapa="2"]),
.js .orcamento__principal .orc-form:not([data-js])[data-etapa-inicial="3"] .orc-etapa:not([data-etapa="3"]),
.js .orcamento__principal .orc-form:not([data-js])[data-etapa-inicial="4"] .orc-etapa:not([data-etapa="4"]) { display: none; }
.orc-progresso { display: none; flex-direction: column; gap: 10px; }
.js .orc-progresso { display: flex; }
.orc-progresso__texto { font-size: 14px; line-height: 20px; font-weight: 600; color: var(--ink); }
.orc-passo { all: unset; display: block; font: inherit; color: inherit; border-radius: 4px; }
.orc-passo:not([disabled]) { cursor: pointer; }
.orc-passo:not([disabled]) span { text-decoration: underline; text-underline-offset: 3px; }
.orc-passo:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 2px; }
@media (max-width: 639px) {
.orc-progresso .ss-steps__item span { font-size: 0; }
.orc-progresso .ss-steps__item span::before { font-size: 0; }
}
.orc-etapa { border: 0; margin: 0; padding: 0; min-width: 0; display: flex; flex-direction: column; gap: 20px; }
.orc-etapa + .orc-etapa { border-top: 1px solid var(--line); padding-top: 28px; }
.js .orc-etapa + .orc-etapa { border-top: 0; padding-top: 0; }
.orc-etapa[hidden] { display: none; }
.orc-etapa__titulo { font-size: clamp(24px, 0.6vw + 20px, 28px); line-height: 1.2; }
.orc-etapa__titulo:focus { outline: none; }
.orc-etapa__acoes { display: flex; justify-content: space-between; gap: 12px; padding-top: 16px; border-top: 1px solid var(--line); }
.orc-etapa__acoes [data-etapa-proxima], .orc-etapa__acoes [data-etapa-anterior] { display: none; }
.js .orc-etapa__acoes [data-etapa-proxima], .js .orc-etapa__acoes [data-etapa-anterior] { display: inline-flex; }
.orc-etapa__acoes > span:empty { display: block; }
.orc-cidade { grid-template-columns: minmax(0, 1fr) 140px; }
.orc-grupo { border: 0; margin: 0; padding: 0; min-width: 0; }
.orc-grupo legend { margin-bottom: 12px; padding: 0; }
.orc-grupo--erro .orc-tile { border-color: var(--danger); }
.orc-grupo .ss-field__error { margin-top: 10px; }
.orc-grupo .ss-field__error[hidden] { display: none; }
.orc-tiles { display: flex; gap: 12px; }
.orc-tile { flex: 1; display: flex; gap: 12px; align-items: flex-start; padding: 18px; border: 2px solid var(--line-strong); border-radius: 12px; background: var(--surface); cursor: pointer; }
.orc-tile:has(input:checked) { border-color: var(--roxo); background: var(--roxo-claro); }
.orc-tile:has(input:focus-visible) { outline: 2px solid var(--focus-ring); outline-offset: 2px; }
.orc-tile input { width: 20px; height: 20px; margin: 2px 0 0; accent-color: var(--roxo); flex: none; }
.orc-tile > span { display: flex; flex-direction: column; gap: 2px; font-size: 14px; line-height: 20px; }
.orc-tile strong { font-family: var(--font-display); font-size: 19px; line-height: 24px; color: var(--ink); }
.orc-pilulas { display: flex; flex-wrap: wrap; gap: 8px; }
.orc-pilula { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 18px; border: 1.5px solid var(--line-strong); border-radius: var(--radius-full); background: var(--surface); color: var(--ink); font-size: 15px; font-weight: 500; cursor: pointer; }
.orc-pilula:has(input:checked) { background: var(--roxo); border-color: var(--roxo); color: #ffffff; }
.orc-pilula:has(input:focus-visible) { outline: 2px solid var(--focus-ring); outline-offset: 2px; }
.orc-pilula input { margin: 0; accent-color: var(--roxo); }
.orc-pilula:has(input:checked) input { accent-color: #ffffff; }
.orc-arquivo { font: inherit; font-size: 15px; padding: 14px; border: 1.5px dashed var(--line-strong); border-radius: var(--radius-sm); background: var(--surface-alt); width: 100%; }
.orc-arquivo:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 1px; }
.orc-arquivo::file-selector-button { font: inherit; font-weight: 500; margin-right: 12px; padding: 8px 16px; border-radius: var(--radius-full); border: 2px solid var(--primary); background: var(--surface); color: var(--primary); cursor: pointer; }
.ss-field__error[hidden] { display: none; }
.orcamento__lateral { position: sticky; top: calc(var(--altura-header) + 24px); margin-top: clamp(40px, 5vw, 64px); background: var(--roxo); color: #ffffff; border-radius: var(--radius-lg); padding: 36px; display: flex; flex-direction: column; gap: 24px; overflow: hidden; isolation: isolate; }
.orcamento__lateral::before { content: ""; position: absolute; right: -56px; top: -56px; width: 160px; height: 160px; border-radius: 50%; background: var(--amarelo); z-index: -1; }
.orcamento__lateral h2 { color: #ffffff; font-size: 28px; line-height: 34px; }
.orcamento__lateral ol { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 20px; }
.orcamento__lateral li { display: flex; gap: 14px; font-size: 15px; line-height: 23px; }
.orcamento__lateral li > span:first-child { width: 32px; height: 32px; border-radius: 50%; background: var(--amarelo); color: var(--ink); font-family: var(--font-display); font-weight: 700; display: flex; align-items: center; justify-content: center; flex: none; }
.orcamento__lateral li strong { display: block; font-size: 16px; }
.orcamento__conversar { border-top: 1px solid rgba(255, 255, 255, .35); padding-top: 20px; display: flex; flex-direction: column; gap: 12px; font-size: 15px; }
@media (max-width: 1023px) {
.orcamento { grid-template-columns: 1fr; }
.orcamento__lateral { position: relative; top: auto; margin-top: 0; }
}
@media (max-width: 639px) {
.orc-tiles { flex-direction: column; }
.orc-etapa__acoes { flex-direction: column-reverse; }
.orc-etapa__acoes .ss-btn { width: 100%; }
.orcamento__lateral { padding: 28px 24px; }
}
.obrigado__grade { display: flex; gap: clamp(40px, 7vw, 96px); align-items: center; }
.obrigado__textos { display: flex; flex-direction: column; gap: 20px; max-width: 700px; }
.obrigado__textos h1 { font-size: clamp(36px, 2.4vw + 18px, 52px); line-height: 1.1; }
.obrigado__icone { width: 80px; height: 80px; border-radius: 50%; background: var(--roxo); color: #ffffff; display: flex; align-items: center; justify-content: center; }
.obrigado__subtitulo { font-size: 22px; line-height: 28px; margin-top: 8px; }
.obrigado__passos { margin: 0; padding-left: 1.3em; display: grid; gap: 8px; }
.obrigado__selo { flex: none; width: clamp(160px, 22vw, 300px); color: var(--roxo); }
.obrigado__selo .logo { width: 100%; height: auto; display: block; }
@media (max-width: 899px) {
.obrigado__grade { flex-direction: column; align-items: flex-start; }
.obrigado__selo { width: 140px; order: -1; }
}
.filtros--blog { border-bottom: 0; padding-bottom: 8px; }
.filtros__aviso { margin-left: auto; }
.secao--blog { padding-top: 24px; }
.post-destaque + .grade--posts { margin-top: clamp(48px, 5vw, 64px); }
.post-destaque { display: grid; grid-template-columns: minmax(0, 1.64fr) minmax(0, 1fr); gap: clamp(28px, 4vw, 56px); align-items: center; text-decoration: none; color: inherit; border-radius: var(--radius-lg); }
.post-destaque__midia { display: block; position: relative; overflow: hidden; border-radius: var(--radius-lg); }
.post-destaque img { width: 100%; aspect-ratio: 760 / 480; object-fit: cover; border-radius: var(--radius-lg); display: block; transition: transform var(--duracao-lenta) var(--ease-saida); }
.post-destaque:hover img { transform: scale(1.03); }
.post-destaque h2 { transition: color var(--duracao-rapida) ease; }
.post-destaque__textos { display: flex; flex-direction: column; gap: 16px; }
.post-destaque h2 { font-size: clamp(28px, 1.6vw + 16px, 40px); line-height: 1.15; }
.post-destaque:hover h2 { color: var(--roxo); }
.post-destaque__resumo { font-size: 17px; line-height: 28px; color: var(--ink-body); }
.post-destaque__meta { font-size: 14px; line-height: 22px; }
.post-destaque__meta, .post-autor__textos { display: flex; flex-wrap: wrap; overflow: hidden; }
.post-destaque__meta > *, .post-autor__textos > * { position: relative; margin-left: -13px; padding: 0 13px; white-space: nowrap; }
.post-destaque__meta > *::before, .post-autor__textos > *::before { content: "·"; content: "·" / ""; position: absolute; left: 4px; }
.post-destaque:focus-visible { outline-offset: 6px; }
@media (max-width: 899px) {
.post-destaque { grid-template-columns: 1fr; }
}
.post-topo h1 { font-size: clamp(32px, 1.4vw + 22px, 44px); line-height: 1.12; }
.post-autor { display: flex; align-items: center; gap: 12px; font-size: 15px; line-height: 22px; }
.post-autor img { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; object-position: 50% 15%; flex: none; }
.post-autor__textos { flex: 1 1 200px; min-width: 0; }
.post-autor__textos strong { color: var(--ink); }
.post-autor .ss-tag { flex: none; }
.post-capa img { width: 100%; aspect-ratio: 1280 / 560; object-fit: cover; border-radius: var(--radius-lg); display: block; outline: 1px solid var(--contorno-foto); outline-offset: -1px; }
.container--leitura { max-width: calc(672px + 2 * var(--gutter)); }
.post-corpo { padding-top: clamp(40px, 5vw, 64px); }
.post-corpo .prosa :is(h2, h3) + * { margin-top: -8px; }
.post-corpo .prosa li::marker { color: var(--roxo); }
.post-corpo .prosa ol > li::marker { font-weight: 600; }
.post-corpo .prosa li > :is(ul, ol) { margin-top: 8px; }
.post-corpo .prosa blockquote > * { margin: 0; }
.post-corpo .prosa blockquote > * + * { margin-top: 12px; }
.post-corpo .prosa a:hover { text-decoration-thickness: 2px; }
.post-corpo .prosa figure img { background: var(--surface-alt); }
.post-corpo .prosa figcaption { text-wrap: pretty; }
.post-tags { margin-top: 48px; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
.post-tags__titulo { font-size: 14px; line-height: 20px; font-weight: 600; color: var(--ink); }
.post-tags ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.post-tags a.ss-tag { text-decoration: none; transition: background-color .15s, color .15s; }
.post-tags a.ss-tag:hover { background: var(--roxo-claro); color: var(--roxo-escuro); }
.post-autor-caixa { margin-top: 48px; background: var(--surface-alt); border-radius: var(--radius-md); padding: 28px; display: flex; gap: 20px; align-items: center; }
.post-autor-caixa img { width: 96px; height: 96px; border-radius: 50%; object-fit: cover; object-position: 50% 15%; flex: none; }
.post-autor-caixa div { display: flex; flex-direction: column; gap: 12px; align-items: flex-start; }
.post-autor-caixa p { font-size: 16px; line-height: 25px; }
.post-autor-caixa p + p { margin-top: -6px; }
.post-autor-caixa strong { color: var(--ink); }
@media (max-width: 767px) {
.post-autor { align-items: flex-start; }
.post-autor__textos { flex-direction: column; }
}
.trilha--post li:last-child { display: none; }
@media (max-width: 559px) {
.post-autor-caixa { flex-direction: column; align-items: flex-start; }
.post-capa img { aspect-ratio: 4 / 3; }
}
.nao-encontrado { display: flex; gap: clamp(40px, 7vw, 96px); align-items: center; min-height: 480px; }
.nao-encontrado__selo { flex: none; width: clamp(160px, 22vw, 320px); color: var(--roxo); }
.nao-encontrado__selo .logo { width: 100%; height: auto; display: block; }
.nao-encontrado__textos { display: flex; flex-direction: column; gap: 22px; max-width: 640px; }
.nao-encontrado__textos h1 { font-size: clamp(40px, 2vw + 24px, 56px); line-height: 1.1; }
@media (max-width: 899px) {
.nao-encontrado { flex-direction: column; align-items: flex-start; min-height: 0; }
.nao-encontrado__selo { width: 140px; }
}
.ss-project__media::before, .ss-project__media::after { content: ""; position: absolute; inset: 0; z-index: 1; border-radius: inherit; pointer-events: none; }
.ss-project__media::before { box-shadow: inset 0 0 0 1px var(--contorno-foto); }
.ss-project__media::after { background: linear-gradient(to top, rgba(var(--roxo-veu), .5), rgba(var(--roxo-veu), 0) 60%); opacity: 0; transition: opacity var(--duracao-media) var(--ease-padrao); }
.ss-project__tag { z-index: 2; }
.ss-project__media img { transition: transform var(--duracao-lenta) var(--ease-saida); }
.ss-project__title { transition: color var(--duracao-rapida) ease; }
.ss-project__seta { display: inline-block; vertical-align: -2px; margin-left: 6px; opacity: 0; translate: -6px 0; transition: opacity var(--duracao-media) var(--ease-padrao), translate var(--duracao-media) var(--ease-padrao); }
.ss-project:is(:hover, :focus-visible) .ss-project__media::after { opacity: 1; }
.ss-project:is(:hover, :focus-visible) .ss-project__title { color: var(--roxo); }
.ss-project:is(:hover, :focus-visible) .ss-project__seta { opacity: 1; translate: none; }
@supports (animation-timeline: view()) {
@media (prefers-reduced-motion: no-preference) {
.grade > * { animation: revelar auto var(--ease-saida) both; animation-timeline: view(); animation-range: entry var(--atraso-revelar, 0px) entry calc(160px + var(--atraso-revelar, 0px)); }
.grade--2 > :nth-child(2n) { --atraso-revelar: 40px; }
@media (min-width: 1024px) {
.grade--3 > :nth-child(3n + 2), .grade--4 > :nth-child(4n + 2) { --atraso-revelar: 40px; }
.grade--3 > :nth-child(3n), .grade--4 > :nth-child(4n + 3) { --atraso-revelar: 80px; }
.grade--4 > :nth-child(4n) { --atraso-revelar: 120px; }
}
@media (min-width: 640px) and (max-width: 1023px) {
.grade--3 > :nth-child(2n), .grade--4 > :nth-child(2n) { --atraso-revelar: 40px; }
}
@media (max-width: 639px) { .grade > :nth-child(n) { --atraso-revelar: 0px; } }
.sobre__foto::before, .servico-intro__foto::before { animation: circulo-cresce auto linear both; animation-timeline: view(); animation-range: entry 0% cover 45%; }
}
}
@supports (animation-timeline: view()) {
@media (prefers-reduced-motion: reduce) {
.grade > * { animation: surgir auto linear both; animation-timeline: view(); animation-range: entry 0px entry 160px; }
.sobre__foto::before, .servico-intro__foto::before { animation: surgir auto linear both; animation-timeline: view(); animation-range: entry 0% cover 45%; }
}
}
@keyframes revelar { from { opacity: 0; translate: 0 12px; } }
@keyframes circulo-cresce { from { scale: .6; } }
@supports (animation-timeline: view()) {
@media (prefers-reduced-motion: no-preference) {
.galeria__item img { animation: assentar auto linear both; animation-timeline: view(); animation-range: entry 0% cover 50%; }
.espacos__colagem { view-timeline: --colagem; }
.espacos__foto2 { animation: camada-foto auto linear both; animation-timeline: --colagem; animation-range: cover; }
.espacos__numero { animation: camada-numero auto linear both; animation-timeline: --colagem; animation-range: cover; }
@media (max-width: 1023px) { .espacos__numero { animation-name: camada-foto; } }
.hero--foto { view-timeline: --hero; view-timeline-inset: 0; }
.hero--foto .hero__img { animation: profundidade auto linear both; animation-timeline: --hero; animation-range: exit 0% exit 100%; }
}
}
@keyframes assentar { from { scale: 1.12; } }
@keyframes camada-foto { from { translate: 0 28px; } to { translate: 0 -28px; } }
@keyframes camada-numero { from { translate: 0 56px; } to { translate: 0 -56px; } }
@keyframes profundidade { to { translate: 0 30%; } }
.titulo-secao .destaque { background: linear-gradient(var(--amarelo), var(--amarelo)) no-repeat 0 88% / 100% .32em; transition: background-size .8s var(--ease-saida) .1s; }
.js .titulo-secao .destaque:not(.visto) { background-size: 0% .32em; }
.on-dark .titulo-secao .destaque { background: none; }
.contador { display: inline-block; text-align: right; font-variant-numeric: tabular-nums; }
.leitura-progresso { display: none; }
@supports (animation-timeline: view()) {
.post-leitura { timeline-scope: --leitura; }
.post-leitura .prosa { view-timeline: --leitura; }
.leitura-progresso { display: block; position: fixed; left: 0; right: 0; top: var(--altura-header); z-index: 49; height: 3px; background: var(--roxo); pointer-events: none; transform-origin: 0 50%; animation: leitura auto linear both; animation-timeline: --leitura; animation-range: contain 0% contain 100%; }
}
@keyframes leitura { from { transform: scaleX(0); } }
::view-transition-group(foto-projeto), ::view-transition-group(foto-galeria), ::view-transition-group(cabecalho) { animation-duration: .5s; animation-timing-function: cubic-bezier(.2, .8, .2, 1); }
::view-transition-group(foto-projeto), ::view-transition-group(foto-galeria) { overflow: clip; }
::view-transition-old(foto-projeto), ::view-transition-new(foto-projeto), ::view-transition-old(foto-galeria), ::view-transition-new(foto-galeria) { height: 100%; object-fit: cover; }
::view-transition-group(cabecalho) { z-index: 1; }
.lb-trocando .lightbox__figura { view-transition-name: lb-foto; }
::view-transition-group(lb-foto) { animation-duration: .28s; }
::view-transition-old(lb-foto) { animation: lb-sai .28s var(--ease-padrao) both; }
::view-transition-new(lb-foto) { animation: lb-entra .28s var(--ease-saida) both; }
.lb-anterior::view-transition-old(lb-foto) { animation-name: lb-sai-anterior; }
.lb-anterior::view-transition-new(lb-foto) { animation-name: lb-entra-anterior; }
@media (prefers-reduced-motion: reduce) {
html::view-transition-old(lb-foto), .lb-anterior::view-transition-old(lb-foto) { animation-name: lb-esmaecer; }
html::view-transition-new(lb-foto), .lb-anterior::view-transition-new(lb-foto) { animation-name: surgir; }
}
@keyframes lb-sai { to { opacity: 0; translate: -24px 0; } }
@keyframes lb-entra { from { opacity: 0; translate: 24px 0; } }
@keyframes lb-sai-anterior { to { opacity: 0; translate: 24px 0; } }
@keyframes lb-entra-anterior { from { opacity: 0; translate: -24px 0; } }
@keyframes lb-esmaecer { to { opacity: 0; } }
@media (prefers-reduced-motion: reduce) {
.ss-btn:active:not([disabled], [aria-disabled="true"]), .ss-project:hover .ss-project__media img, .cartao-servico:hover .cartao-servico__img,
.cartao-post:hover .cartao-post__img, .post-destaque:hover img, .galeria__item:hover img { transform: none; }
.whatsapp-flutuante:hover, .ss-project .ss-project__seta { translate: none; }
}
.navegacao-progresso { position: fixed; top: 0; left: 0; right: 0; z-index: 1001; height: 3px; background: var(--amarelo); pointer-events: none; opacity: 0; transform: scaleX(0); transform-origin: 0 50%; }
.navegacao-progresso--ativa { opacity: 1; transform: scaleX(.92); transition: transform 8s cubic-bezier(.08, .8, .2, 1); }
.navegacao-progresso--fim { opacity: 0; transform: scaleX(1); transition: transform var(--duracao-rapida) var(--ease-padrao), opacity var(--duracao-media) ease var(--duracao-rapida); }
.navegando #conteudo { opacity: .7; transition: opacity var(--duracao-media) ease; }
.pagina-nova { animation: pagina-surgir var(--duracao-media) var(--ease-saida); }
@keyframes pagina-surgir { from { opacity: .7; } }
h1[tabindex="-1"]:focus { outline: none; }
.mt-0 { margin-top: 0; }
.texto-centro { text-align: center; }
.cor-roxo { color: var(--roxo); }
.nowrap { white-space: nowrap; }
.campo-turnstile { margin: 8px 0 4px; min-height: 65px; }
.campo-turnstile__erro { color: var(--danger); font-size: 14px; line-height: 20px; font-weight: 500; margin: 8px 0 0; }
.banner-cookies { display: none; position: fixed; left: 16px; bottom: 16px; z-index: 60; width: min(520px, calc(100vw - 32px)); }
.banner-cookies.aberto { display: block; animation: banner-cookies-entrada .25s ease-out; }
@media (prefers-reduced-motion: reduce) { .banner-cookies.aberto { animation-name: banner-cookies-surge; } }
@keyframes banner-cookies-surge { from { opacity: 0; } }
@keyframes banner-cookies-entrada { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
.banner-cookies__cartao { background: var(--surface); color: var(--ink-body); border: 1px solid var(--line); border-radius: var(--radius-md); box-shadow: var(--shadow-md); padding: 20px 24px; max-height: calc(100vh - 32px); overflow-y: auto; }
.banner-cookies__titulo { font-family: var(--font-display); font-size: 18px; line-height: 24px; font-weight: 700; color: var(--ink); margin: 0 0 8px; }
.banner-cookies__titulo:focus { outline: none; }
.banner-cookies__texto { font-size: 14px; line-height: 21px; margin: 0; }
.banner-cookies__texto a { color: var(--roxo-escuro); font-weight: 500; text-decoration: underline; text-underline-offset: 2px; }
.banner-cookies__opcoes { margin: 16px 0 0; }
.banner-cookies__opcoes fieldset { border: 0; margin: 0; padding: 0; display: grid; gap: 12px; }
.banner-cookies__opcoes legend { font-size: 14px; font-weight: 600; color: var(--ink); padding: 0; margin-bottom: 4px; }
.banner-cookies__opcao { display: flex; align-items: flex-start; gap: 12px; padding: 12px; border: 1px solid var(--line); border-radius: var(--radius-sm); }
.banner-cookies__opcao input { width: 20px; height: 20px; margin: 2px 0 0; flex: none; accent-color: var(--roxo); cursor: pointer; }
.banner-cookies__opcao input:disabled { cursor: not-allowed; }
.banner-cookies__opcao label { display: flex; flex-direction: column; gap: 2px; font-size: 13px; line-height: 19px; cursor: pointer; }
.banner-cookies__opcao strong { font-size: 14px; color: var(--ink); font-weight: 600; }
.banner-cookies__acoes { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin-top: 16px; }
.banner-cookies__link { font: inherit; font-size: 14px; font-weight: 500; color: var(--roxo-escuro); background: none; border: 0; padding: 10px 4px; min-height: 40px; cursor: pointer; text-decoration: underline; text-underline-offset: 2px; }
.banner-cookies__link:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 2px; border-radius: 4px; }
@media (max-width: 639px) {
.banner-cookies { left: 12px; right: 12px; bottom: 12px; width: auto; }
.banner-cookies__cartao { padding: 18px 18px 16px; }
.banner-cookies__acoes .ss-btn { flex: 1 1 auto; white-space: nowrap; }
body:has(.banner-cookies.aberto) .whatsapp-flutuante { visibility: hidden; }
}
