/* ==========================================================================
   Garbo Agência · GARBO INDOMÁVEL
   Força bruta com acabamento de luxo: preto absoluto, osso, laranja-fogo.
   Clash Display (impacto) · Instrument Serif itálica (assinatura) · Satoshi (texto)
   ========================================================================== */

:root {
	--preto: #0b0b0b;
	--osso: #f2eee6;
	--fogo: #ff4f12;
	--fogo-escuro: #d93a05;
	--acido: #c8ff3a;
	--grafite: #1c1c1c;
	--grafite-2: #141414;
	--cinza: #8a8a8a;
	--linha: rgba(242, 238, 230, .14);
	--grad: linear-gradient(115deg, #ff4f12 0%, #ff2e88 35%, #7b3cff 68%, #22d3ee 100%);
	--display: "Clash Display", "Arial Narrow", Arial, sans-serif;
	--serif: "Instrument Serif", Georgia, serif;
	--sans: Satoshi, "Segoe UI", system-ui, sans-serif;
	--container: 1360px;
	--gutter: 18px;
	--section: 96px;
	--radius: 18px;
	--ease: cubic-bezier(.16, 1, .3, 1);
}
@media (min-width: 768px) { :root { --gutter: 32px; --section: 128px; } }
@media (min-width: 1200px) { :root { --gutter: 48px; --section: 160px; } }

/* Base ------------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; background: var(--preto); scroll-padding-top: 110px; }
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
body { margin: 0; background: var(--preto); color: var(--osso); font: 400 17px/1.6 var(--sans); -webkit-font-smoothing: antialiased; overflow-x: hidden; }
body::before { content: ""; position: fixed; inset: -50%; z-index: 90; pointer-events: none; opacity: .07; background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .9 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>"); animation: garbo-grain 1s steps(6) infinite; }
@keyframes garbo-grain { 0% { transform: translate(0, 0); } 20% { transform: translate(-3%, 2%); } 40% { transform: translate(2%, -3%); } 60% { transform: translate(-2%, -1%); } 80% { transform: translate(3%, 3%); } 100% { transform: translate(0, 0); } }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-underline-offset: .2em; text-decoration-thickness: 1px; }
a:hover { color: var(--fogo); }
:focus-visible { outline: 2px solid var(--fogo); outline-offset: 3px; border-radius: 4px; }
::selection { background: var(--fogo); color: var(--preto); }
h1, h2, h3, h4 { font-family: var(--display); font-weight: 600; margin: 0; letter-spacing: -.035em; line-height: .92; text-wrap: balance; }
h1 em, h2 em, h3 em, .garbo-serif { font-family: var(--serif); font-style: italic; font-weight: 400; letter-spacing: -.01em; color: var(--fogo); }
p { margin: 0; }
strong { font-weight: 700; }
.wp-site-blocks > * + *, .is-layout-flow > * + *, .is-layout-constrained > * + * { margin-block-start: 0; }
.wp-block-group, .wp-block-image, .wp-block-buttons, .wp-block-list { margin: 0; }
.garbo-main { display: block; }
.garbo-container { width: 100%; max-width: calc(var(--container) + var(--gutter) * 2); margin-inline: auto; padding-inline: var(--gutter); }
.garbo-pendente { display: none !important; }
.screen-reader-text { position: absolute !important; clip: rect(1px, 1px, 1px, 1px); width: 1px; height: 1px; overflow: hidden; }
.garbo-skip { position: absolute; left: 16px; top: -80px; z-index: 200; background: var(--fogo); color: var(--preto); padding: 12px 18px; border-radius: 999px; font-weight: 700; text-decoration: none; }
.garbo-skip:focus { top: 16px; color: var(--preto); }

/* Tipografia ------------------------------------------------------------- */
.garbo-eyebrow { font: 600 12px/1.4 var(--sans); letter-spacing: .22em; text-transform: uppercase; color: var(--cinza); margin-bottom: 22px; display: flex; align-items: center; gap: 12px; }
.garbo-eyebrow::before { content: ""; width: 28px; height: 1px; background: var(--fogo); }
.garbo-eyebrow a { text-decoration: none; }
.garbo-h2 { font-size: clamp(40px, 7vw, 120px); }
.garbo-h2--xl { font-size: clamp(44px, 9vw, 160px); }
.garbo-h3 { font-size: clamp(30px, 4vw, 60px); }
.garbo-lead { font-size: clamp(17px, 1.4vw, 21px); line-height: 1.55; color: #c9c4ba; max-width: 600px; }
.garbo-small { font-size: 14px; color: var(--cinza); }

/* Vidro líquido ---------------------------------------------------------- */
.garbo-glass { position: relative; background: linear-gradient(180deg, rgba(36, 36, 36, .55), rgba(14, 14, 14, .55)); -webkit-backdrop-filter: blur(22px) saturate(1.6); backdrop-filter: blur(22px) saturate(1.6); border-radius: var(--radius); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .14), 0 30px 80px -40px rgba(0, 0, 0, .9); }
.garbo-glass::before { content: ""; position: absolute; inset: 0; border-radius: inherit; padding: 1px; background: linear-gradient(135deg, rgba(255, 255, 255, .35), rgba(255, 79, 18, .45) 30%, rgba(123, 60, 255, .3) 60%, rgba(34, 211, 238, .35)); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; pointer-events: none; }
@media (max-width: 767px) { .garbo-glass { -webkit-backdrop-filter: none; backdrop-filter: none; background: rgba(28, 28, 28, .92); } }

/* Botões ----------------------------------------------------------------- */
.wp-block-buttons { display: flex; flex-wrap: wrap; gap: 12px; }
.wp-block-button__link, .garbo-btn {
	position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 58px; padding: 0 30px; overflow: hidden;
	border-radius: 999px; border: 1px solid transparent; font: 700 16px/1 var(--sans); letter-spacing: .01em; text-decoration: none; cursor: pointer; isolation: isolate;
	background: var(--fogo); color: var(--preto); transition: transform .4s var(--ease), background-color .3s, color .3s, border-color .3s;
}
.wp-block-button__link:hover, .garbo-btn:hover { transform: translateY(-2px); color: var(--preto); }
.is-style-garbo-primario .wp-block-button__link, .garbo-btn--fire { background: var(--fogo); color: var(--preto); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .35), 0 0 0 1px rgba(255, 79, 18, .5), 0 18px 50px -12px rgba(255, 79, 18, .55); }
.is-style-garbo-primario .wp-block-button__link::after, .garbo-btn--fire::after { content: ""; position: absolute; inset: 1px; z-index: -1; border-radius: inherit; background: radial-gradient(120% 140% at 20% 0%, rgba(255, 255, 255, .45), rgba(255, 255, 255, 0) 45%), var(--fogo); }
.is-style-garbo-secundario .wp-block-button__link, .garbo-btn--ghost { background: transparent; color: var(--osso); border-color: rgba(242, 238, 230, .4); }
.is-style-garbo-secundario .wp-block-button__link:hover, .garbo-btn--ghost:hover { background: var(--osso); color: var(--preto); border-color: var(--osso); }
.is-style-garbo-escuro .wp-block-button__link { background: var(--preto); color: var(--osso); }
.is-style-garbo-escuro .wp-block-button__link:hover { background: var(--osso); color: var(--preto); }
.is-style-garbo-link .wp-block-button__link { background: none; color: var(--osso); padding: 0; min-height: 44px; border-bottom: 1px solid currentColor; border-radius: 0; }
/* Troca de texto no hover */
.garbo-swap { position: relative; display: inline-grid; overflow: hidden; }
.garbo-swap > span { grid-area: 1 / 1; transition: transform .45s var(--ease); }
.garbo-swap > span + span { transform: translateY(110%); }
a:hover .garbo-swap > span:first-child, a:focus-visible .garbo-swap > span:first-child { transform: translateY(-110%); }
a:hover .garbo-swap > span + span, a:focus-visible .garbo-swap > span + span { transform: none; }
.garbo-arrow { display: inline-block; transition: transform .35s var(--ease); }
a:hover .garbo-arrow { transform: translate(3px, -3px); }
.garbo-icon { flex: none; }

/* Cabeçalho: ilha de vidro ----------------------------------------------- */
.garbo-header-part { position: fixed; z-index: 100; top: 14px; left: 0; right: 0; pointer-events: none; }
.garbo-header { display: flex; justify-content: center; padding-inline: 12px; }
.garbo-header__island { pointer-events: auto; display: flex; align-items: center; gap: 18px; width: min(1180px, 100%); padding: 8px 8px 8px 22px; border-radius: 999px; --glass-a: .35; background: rgba(16, 16, 16, var(--glass-a)); transition: background-color .4s; }
.garbo-header__island.garbo-glass { border-radius: 999px; }
.garbo-header__logo { flex: none; margin-right: auto; display: block; }
.garbo-header__logo img { width: 112px; }
.garbo-nav { display: none; }
.garbo-nav__list { list-style: none; margin: 0; padding: 0; }
.garbo-header__cta { min-height: 46px; padding: 0 20px; font-size: 14px; }
.garbo-nav-toggle { display: inline-flex; align-items: center; gap: 10px; min-height: 46px; padding: 0 16px; border: 1px solid var(--linha); border-radius: 999px; background: none; font: 700 13px var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--osso); cursor: pointer; }
.garbo-nav-toggle__bars { display: grid; gap: 5px; width: 18px; }
.garbo-nav-toggle__bars span { height: 1.5px; background: currentColor; transition: transform .4s var(--ease); }
.garbo-nav-toggle[aria-expanded="true"] .garbo-nav-toggle__bars span:first-child { transform: translateY(3.25px) rotate(45deg); }
.garbo-nav-toggle[aria-expanded="true"] .garbo-nav-toggle__bars span:last-child { transform: translateY(-3.25px) rotate(-45deg); }
@media (max-width: 1023px) {
	.garbo-header__cta { display: none; }
	.garbo-nav.is-open { display: block; position: fixed; inset: 0; z-index: -1; background: var(--preto); padding: 110px var(--gutter) 40px; overflow-y: auto; }
	.garbo-nav.is-open .garbo-nav__item > a, .garbo-nav.is-open .garbo-nav__subtoggle { display: flex; justify-content: space-between; align-items: center; width: 100%; padding: 14px 0; border: 0; border-bottom: 1px solid var(--linha); background: none; color: var(--osso); font: 600 40px/1 var(--display); letter-spacing: -.03em; text-decoration: none; text-align: left; cursor: pointer; }
	.garbo-nav__sub { list-style: none; margin: 0; padding: 10px 0 10px 4px; display: none; }
	.garbo-nav__subtoggle[aria-expanded="true"] + .garbo-nav__sub { display: block; }
	.garbo-nav__sub a { display: block; padding: 10px 0; font: italic 400 28px var(--serif); color: var(--fogo); text-decoration: none; }
}
@media (min-width: 1024px) {
	.garbo-nav-toggle { display: none; }
	.garbo-nav { display: block; }
	.garbo-nav__list { display: flex; align-items: center; gap: 4px; }
	.garbo-nav__item { position: relative; }
	.garbo-nav__item > a, .garbo-nav__subtoggle { display: inline-flex; align-items: center; gap: 6px; padding: 10px 14px; border: 0; border-radius: 999px; background: none; color: var(--osso); font: 600 15px var(--sans); text-decoration: none; cursor: pointer; transition: background-color .3s; }
	.garbo-nav__item > a:hover, .garbo-nav__subtoggle:hover, .garbo-nav a[aria-current="page"] { background: rgba(242, 238, 230, .1); color: var(--osso); }
	.garbo-nav__sub { list-style: none; margin: 0; position: absolute; top: calc(100% + 12px); left: 0; min-width: 260px; padding: 10px; display: none; background: rgba(16, 16, 16, .92); -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px); border: 1px solid var(--linha); border-radius: 18px; }
	.garbo-nav__sub a { display: block; padding: 12px 14px; border-radius: 12px; font: 600 15px var(--sans); text-decoration: none; }
	.garbo-nav__sub a:hover { background: var(--fogo); color: var(--preto); }
	.garbo-nav__item--sub:hover .garbo-nav__sub, .garbo-nav__item--sub:focus-within .garbo-nav__sub { display: block; }
	.garbo-nav__item--sub::after { content: ""; position: absolute; left: 0; right: 0; top: 100%; height: 14px; }
}
body.garbo-menu-open { overflow: hidden; }

/* Ritmo ------------------------------------------------------------------ */
.garbo-main > section, .garbo-main .entry-content > section { padding-block: var(--section); position: relative; }
.garbo-section-head { margin-bottom: clamp(44px, 6vw, 88px); max-width: 1100px; }
.garbo-section-head .garbo-lead { margin-top: 26px; }

/* Selo ------------------------------------------------------------------- */
.garbo-seal { position: relative; display: inline-grid; place-items: center; width: var(--seal, 132px); height: var(--seal, 132px); flex: none; }
.garbo-seal__ring { position: absolute; inset: 0; width: 100%; height: 100%; animation: garbo-spin 18s linear infinite; }
.garbo-seal__ring text { font: 600 15.5px var(--sans); letter-spacing: .18em; fill: var(--osso); }
.garbo-seal__g { width: 26%; height: auto; }
@keyframes garbo-spin { to { transform: rotate(360deg); } }

/* Hero da home ----------------------------------------------------------- */
.garbo-main section.garbo-hero--home { padding: 120px 0 56px; min-height: 100svh; display: flex; flex-direction: column; justify-content: space-between; overflow: hidden; }
.garbo-giant { position: relative; width: 100%; overflow: hidden; line-height: .78; user-select: none; }
.garbo-giant__word { font: 700 36vw/.78 var(--display); letter-spacing: -.06em; color: var(--osso); white-space: nowrap; margin: 0 0 0 -2.5vw; transform: translateY(2%); }
.garbo-giant canvas { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.garbo-giant.is-liquid .garbo-giant__word { visibility: hidden; }
.garbo-hero__grid { display: grid; gap: 28px; margin-top: clamp(24px, 4vw, 56px); align-items: end; }
.garbo-hero__title { font-size: clamp(40px, 6.2vw, 104px); }
.garbo-hero__title em { display: inline-block; }
.garbo-hero__side .garbo-lead { margin: 18px 0 30px; }
.garbo-rotator { font: 600 clamp(22px, 2.2vw, 32px)/1.1 var(--display); letter-spacing: -.02em; color: var(--fogo); min-height: 1.1em; }
.garbo-rotator .garbo-rot__item { display: inline-block; }
.garbo-hero__foot { display: flex; justify-content: space-between; align-items: center; margin-top: 40px; }
.garbo-scrollcue { font: 600 12px var(--sans); letter-spacing: .22em; text-transform: uppercase; color: var(--cinza); display: flex; align-items: center; gap: 14px; }
.garbo-scrollcue::after { content: ""; width: 1px; height: 44px; background: linear-gradient(var(--fogo), transparent); animation: garbo-cue 1.8s var(--ease) infinite; }
@keyframes garbo-cue { 0% { transform: scaleY(0); transform-origin: top; } 50% { transform: scaleY(1); transform-origin: top; } 51% { transform-origin: bottom; } 100% { transform: scaleY(0); transform-origin: bottom; } }
@media (min-width: 960px) { .garbo-hero__grid { grid-template-columns: 1.35fr 1fr; gap: 64px; } }

/* Hero de página (nichos e serviços) ------------------------------------- */
.garbo-main section.garbo-hero--page { padding: 150px 0 var(--section); }
.garbo-hero__split { display: grid; gap: 48px; align-items: end; }
.garbo-hero__title--page { font-size: clamp(42px, 6.4vw, 112px); }
.garbo-hero__text .garbo-lead { margin: 26px 0 34px; }
.garbo-hero__media { position: relative; }
.garbo-hero__img { border-radius: var(--radius); overflow: hidden; aspect-ratio: 4 / 5; }
.garbo-hero__img img { width: 100%; height: 100%; object-fit: cover; }
.garbo-badge { position: absolute; left: -16px; bottom: 28px; padding: 20px 24px; max-width: 260px; }
.garbo-badge__n { font: 600 42px/1 var(--display); color: var(--acido); letter-spacing: -.03em; }
.garbo-badge__l { font-size: 14px; color: #c9c4ba; margin-top: 8px; line-height: 1.4; }
@media (min-width: 960px) { .garbo-hero__split { grid-template-columns: 1.4fr 1fr; gap: 72px; } .garbo-badge { left: -48px; } }

/* Abertura de página ----------------------------------------------------- */
.garbo-main section.garbo-intro { padding: 160px 0 72px; border-bottom: 1px solid var(--linha); }
.garbo-intro__inner .garbo-lead { margin-top: 28px; }
.garbo-intro .wp-block-buttons { margin-top: 36px; }
.garbo-main section.garbo-intro--thanks { border: 0; min-height: 80svh; display: flex; align-items: center; }
.garbo-thanks .wp-block-buttons { margin-top: 36px; }

/* Duotone: preto e branco com toque de laranja --------------------------- */
.garbo-duo { position: relative; background: var(--preto); overflow: hidden; }
.garbo-duo img, .garbo-duo-img { filter: grayscale(1) contrast(1.35) brightness(.88); }
.garbo-duo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(200deg, rgba(255, 79, 18, .0) 35%, rgba(255, 79, 18, .55)); mix-blend-mode: color; pointer-events: none; }
.garbo-duo::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, transparent 55%, rgba(11, 11, 11, .55)); pointer-events: none; }

/* Faixa de logos --------------------------------------------------------- */
.garbo-main section.garbo-logos { padding-block: 64px; border-block: 1px solid var(--linha); }
.garbo-logos__title { font: 600 13px var(--sans); letter-spacing: .2em; text-transform: uppercase; color: var(--cinza); margin-bottom: 36px; }
.garbo-marquee { overflow: hidden; -webkit-mask: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.garbo-marquee__track { display: flex; align-items: center; gap: 72px; width: max-content; padding-right: 72px; }
.garbo-marquee.is-running .garbo-marquee__track { animation: garbo-marquee var(--dur, 50s) linear infinite; }
.garbo-marquee:hover .garbo-marquee__track { animation-play-state: paused; }
@keyframes garbo-marquee { to { transform: translateX(-50%); } }
.garbo-marquee__logo img { height: 48px; width: auto; max-width: 200px; object-fit: contain; opacity: .85; }
.garbo-logo--laryssa-almeida img, .garbo-logo--consciencia img, .garbo-logo--rosana-modas img, .garbo-logo--levizza img, .garbo-logo--pollyanna-duarte img { height: 34px; max-width: 220px; }
.garbo-marquee__name { font: 600 26px/1 var(--display); letter-spacing: -.02em; white-space: nowrap; color: var(--osso); opacity: .85; }
.garbo-marquee__name:nth-of-type(2n) { font: italic 400 30px var(--serif); }

/* Painel de performance -------------------------------------------------- */
.garbo-main section.garbo-panel-sec { padding-block: calc(var(--section) * .7); }
.garbo-panel { padding: clamp(24px, 3vw, 44px); }
.garbo-panel__bar { display: flex; align-items: center; gap: 12px; font: 600 12px var(--sans); letter-spacing: .2em; text-transform: uppercase; color: var(--cinza); padding-bottom: 22px; border-bottom: 1px dashed var(--linha); margin-bottom: 28px; }
.garbo-live { width: 9px; height: 9px; border-radius: 50%; background: var(--acido); box-shadow: 0 0 0 0 rgba(200, 255, 58, .6); animation: garbo-pulse 1.8s infinite; }
@keyframes garbo-pulse { 70% { box-shadow: 0 0 0 12px rgba(200, 255, 58, 0); } 100% { box-shadow: 0 0 0 0 rgba(200, 255, 58, 0); } }
.garbo-panel__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 20px; }
.garbo-stat__n { font: 600 clamp(44px, 6vw, 96px)/.95 var(--display); letter-spacing: -.04em; color: var(--acido); font-variant-numeric: tabular-nums; white-space: nowrap; }
@media (max-width: 599px) { .garbo-stat__n { white-space: normal; font-size: clamp(32px, 9.5vw, 44px); } }
.garbo-stat__l { margin-top: 10px; font-size: 15px; color: var(--cinza); }
.garbo-panel__note { margin-top: 28px; font-size: 13px; color: var(--cinza); }
@media (min-width: 960px) { .garbo-panel__grid { grid-template-columns: repeat(4, 1fr); } .garbo-stat + .garbo-stat { border-left: 1px solid var(--linha); padding-left: 28px; } }

/* Texto de impacto ------------------------------------------------------- */
.garbo-statement__grid { display: grid; gap: 36px; }
.garbo-statement__body .garbo-lead { font-size: clamp(18px, 1.6vw, 24px); color: var(--osso); max-width: 640px; }
@media (min-width: 960px) { .garbo-statement__grid { grid-template-columns: 1.6fr 1fr; gap: 72px; align-items: end; } }
.garbo-statement--compact .garbo-h2--xl { font-size: clamp(40px, 6vw, 96px); }

/* Nichos ----------------------------------------------------------------- */
.garbo-niches__grid { display: grid; gap: 18px; }
.garbo-card { position: relative; display: flex; flex-direction: column; padding: 24px; border-radius: var(--radius); background: var(--grafite-2); border: 1px solid var(--linha); transition: border-color .4s, transform .5s var(--ease); }
.garbo-card:hover { border-color: var(--fogo); }
.garbo-card__img { margin: 0 0 24px; border-radius: 12px; aspect-ratio: 4 / 3; }
.garbo-card__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--ease); }
.garbo-card:hover .garbo-card__img img { transform: scale(1.06); }
.garbo-card__num { font: 600 13px var(--sans); letter-spacing: .2em; color: var(--fogo); }
.garbo-card__title { font-size: clamp(30px, 3vw, 46px); margin: 14px 0 14px; }
.garbo-card__text { color: var(--cinza); font-size: 16px; flex: 1; }
.garbo-card__more { margin-top: 24px; }
.garbo-card__link { font-weight: 700; text-decoration: none; }
.garbo-card__link::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.garbo-card:has(.garbo-card__link:focus-visible) { outline: 2px solid var(--fogo); outline-offset: 3px; }
.garbo-card__link:focus-visible { outline: none; }
.garbo-card--wide { background: var(--fogo); color: var(--preto); border-color: var(--fogo); }
.garbo-card--wide .garbo-card__num, .garbo-card--wide .garbo-card__title em { color: var(--preto); }
.garbo-card--wide .garbo-card__text { color: rgba(11, 11, 11, .8); }
.garbo-card--wide .garbo-card__link:hover { color: var(--preto); }
.garbo-niches__note { margin-top: 36px; max-width: 640px; color: var(--cinza); }
@media (min-width: 960px) {
	.garbo-niches__grid { grid-template-columns: repeat(3, 1fr); }
	.garbo-card--wide { grid-column: 1 / -1; display: grid; grid-template-columns: auto 1.2fr 1fr auto; gap: 48px; align-items: center; padding: 36px 40px; }
	.garbo-card--wide .garbo-card__title, .garbo-card--wide .garbo-card__more { margin: 0; }
	.garbo-niches__grid .garbo-card--niche:nth-child(2) { transform: translateY(48px); }
	.garbo-niches__grid { padding-bottom: 48px; }
	.garbo-niches__grid .garbo-card--wide { margin-top: 48px; }
}

/* Manifesto -------------------------------------------------------------- */
.garbo-manifesto { background: var(--fogo); color: var(--preto); overflow: hidden; }
.garbo-main section.garbo-manifesto { padding-block: clamp(96px, 14vw, 220px); }
.garbo-manifesto__title { font: 700 clamp(56px, 12.5vw, 240px)/.86 var(--display); letter-spacing: -.055em; text-transform: uppercase; color: var(--preto); }
.garbo-manifesto__title .garbo-line, .garbo-hero__title .garbo-line { overflow: hidden; padding-bottom: .06em; margin-bottom: -.06em; }
.garbo-manifesto__title .garbo-word { display: inline-block; }
.garbo-manifesto__foot { display: grid; gap: 28px; margin-top: clamp(40px, 5vw, 72px); align-items: end; }
.garbo-manifesto__text { font-size: clamp(18px, 1.6vw, 24px); line-height: 1.5; max-width: 620px; font-weight: 500; }
.garbo-manifesto :focus-visible { outline-color: var(--preto); }
@media (min-width: 960px) { .garbo-manifesto__foot { grid-template-columns: 1fr auto; } }

/* Serviços: lista interativa ---------------------------------------------- */
.garbo-svc-list { border-top: 1px solid var(--linha); }
.garbo-svc { position: relative; display: grid; grid-template-columns: 52px 1fr; gap: 6px 18px; align-items: baseline; padding: 26px 0; border-bottom: 1px solid var(--linha); transition: padding .5s var(--ease); }
.garbo-svc__num { font: 600 13px var(--sans); color: var(--fogo); letter-spacing: .14em; }
.garbo-svc__name { font-size: clamp(30px, 4.6vw, 76px); }
.garbo-svc__name a { text-decoration: none; transition: color .3s; }
.garbo-svc__name a::after { content: ""; position: absolute; inset: 0; }
.garbo-svc__text { grid-column: 2; color: var(--cinza); max-width: 520px; }
.garbo-svc__img { display: none; }
.garbo-svc:hover .garbo-svc__name a { color: var(--fogo); }
@media (min-width: 960px) {
	.garbo-svc { grid-template-columns: 80px 1.4fr 1fr; padding: 34px 0; }
	.garbo-svc__text { grid-column: 3; }
	.garbo-svc:hover { padding-left: 24px; }
}
.garbo-svc-preview { position: fixed; z-index: 60; left: 0; top: 0; width: 300px; aspect-ratio: 3 / 4; border-radius: 16px; overflow: hidden; pointer-events: none; opacity: 0; transform: translate(-50%, -50%) scale(.85) rotate(-4deg); transition: opacity .3s, transform .5s var(--ease); }
.garbo-svc-preview.is-on { opacity: 1; transform: translate(-50%, -50%) scale(1) rotate(-4deg); }
.garbo-svc-preview img { width: 100%; height: 100%; object-fit: cover; }
.garbo-highlight { margin-top: 48px; display: grid; gap: 10px; padding: 32px; border-radius: var(--radius); border: 1px solid var(--linha); }
.garbo-highlight .garbo-eyebrow { margin: 0; }
.garbo-highlight__text { font: italic 400 clamp(22px, 2.2vw, 34px)/1.25 var(--serif); }
@media (min-width: 960px) { .garbo-highlight { grid-template-columns: 200px 1fr; gap: 40px; align-items: baseline; } }
.garbo-more-link { margin-top: 32px; font-weight: 700; }
.garbo-more-link a { text-decoration: none; }

/* Passos ----------------------------------------------------------------- */
.garbo-steps__grid { display: grid; gap: 16px; }
.garbo-step { padding: 28px; border-radius: var(--radius); background: var(--grafite-2); border: 1px solid var(--linha); }
.garbo-step__num { font: 600 64px/1 var(--display); color: transparent; -webkit-text-stroke: 1.2px var(--fogo); letter-spacing: -.04em; }
.garbo-step__title { font-size: 30px; margin: 24px 0 12px; }
.garbo-step__text { color: var(--cinza); font-size: 16px; }
.garbo-step:nth-child(2) { background: var(--osso); color: var(--preto); }
.garbo-step:nth-child(2) .garbo-step__text { color: #3c3a36; }
.garbo-step:nth-child(2) .garbo-step__num { -webkit-text-stroke-color: var(--fogo-escuro); }
@media (min-width: 700px) { .garbo-steps__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1200px) { .garbo-steps__grid { grid-template-columns: repeat(4, 1fr); } .garbo-steps__grid--3 { grid-template-columns: repeat(3, 1fr); } .garbo-step:nth-child(even) { transform: translateY(40px); } .garbo-steps__grid { padding-bottom: 40px; } }

/* Cases: capas em rolagem horizontal ------------------------------------- */
.garbo-main section.garbo-cases--capas { padding-block: var(--section) 0; }
.garbo-hscroll { overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.garbo-hscroll::-webkit-scrollbar { display: none; }
.garbo-hscroll__track { display: flex; gap: 18px; padding: 0 var(--gutter) 24px; width: max-content; }
.garbo-cover { position: relative; flex: none; width: min(86vw, 1100px); height: min(78svh, 760px); min-height: 520px; border-radius: 24px; overflow: hidden; scroll-snap-align: center; display: flex; flex-direction: column; justify-content: space-between; padding: clamp(22px, 3vw, 44px); isolation: isolate; background: var(--grafite); }
.garbo-cover__img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.4) brightness(.55); }
.garbo-cover::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(200deg, rgba(255, 79, 18, .0) 30%, rgba(255, 79, 18, .55)); mix-blend-mode: color; }
.garbo-cover__top { display: flex; justify-content: space-between; font: 600 12px var(--sans); letter-spacing: .2em; text-transform: uppercase; }
.garbo-cover__n { font: 700 clamp(96px, 19vw, 300px)/.8 var(--display); letter-spacing: -.06em; color: var(--osso); margin-top: auto; }
.garbo-cover__l { font: italic 400 clamp(22px, 2.6vw, 38px)/1.1 var(--serif); color: var(--fogo); margin: 12px 0 28px; max-width: 760px; }
.garbo-cover__foot { display: grid; gap: 6px; max-width: 640px; }
.garbo-cover__title { font-size: clamp(24px, 2.4vw, 36px); }
.garbo-cover__client { font-weight: 700; }
.garbo-cover__ctx, .garbo-cover__svc { color: #c9c4ba; font-size: 15px; }
.garbo-cover__svc { color: var(--acido); font-weight: 600; }
.garbo-cases__more { padding-top: 40px; }

/* Cases: grade ----------------------------------------------------------- */
.garbo-main section.garbo-cases { padding-block: var(--section); }
.garbo-cases__grid { display: grid; gap: 18px; }
@media (min-width: 800px) { .garbo-cases__grid { grid-template-columns: repeat(2, 1fr); } }
.garbo-case { display: flex; flex-direction: column; gap: 10px; padding: 24px; border-radius: var(--radius); background: var(--grafite-2); border: 1px solid var(--linha); }
.garbo-case[hidden] { display: none; }
.garbo-case__media { border-radius: 12px; overflow: hidden; aspect-ratio: 16 / 9; margin-bottom: 10px; position: relative; }
.garbo-case__media img { width: 100%; height: 100%; object-fit: cover; }
.garbo-case__tag { font: 600 12px var(--sans); letter-spacing: .18em; text-transform: uppercase; color: var(--cinza); }
.garbo-case__n { font: 700 clamp(64px, 8vw, 120px)/.85 var(--display); letter-spacing: -.05em; color: var(--acido); }
.garbo-case__l { font: italic 400 22px var(--serif); color: var(--fogo); }
.garbo-case__title { font-size: 28px; margin-top: 8px; }
.garbo-case__text, .garbo-case__services { color: var(--cinza); font-size: 15px; }
.garbo-case__quote { margin: 6px 0 0; padding-left: 16px; border-left: 2px solid var(--fogo); font: italic 400 20px/1.4 var(--serif); }
.garbo-filter { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 36px; }
.garbo-filter__btn { min-height: 46px; padding: 0 20px; border-radius: 999px; border: 1px solid var(--linha); background: transparent; color: var(--osso); font: 600 14px var(--sans); cursor: pointer; }
.garbo-filter__btn.is-active, .garbo-filter__btn:hover { background: var(--fogo); border-color: var(--fogo); color: var(--preto); }

/* Prova ------------------------------------------------------------------ */
.garbo-main section.garbo-proofs { padding-block: calc(var(--section) * .6); }
.garbo-proofs__grid { display: grid; gap: 14px; }
@media (min-width: 800px) { .garbo-proofs__grid { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); } }
.garbo-proof { padding: 26px; }
.garbo-proof__k { font: 600 12px var(--sans); letter-spacing: .18em; text-transform: uppercase; color: var(--cinza); }
.garbo-proof__n { font: 600 clamp(44px, 4.6vw, 72px)/1 var(--display); color: var(--acido); letter-spacing: -.04em; margin: 14px 0 8px; }
.garbo-proof__l { color: #c9c4ba; font-size: 15px; }

/* Depoimentos ------------------------------------------------------------ */
.garbo-main section.garbo-quotes { padding-block: var(--section); }
.garbo-quotes__grid { display: grid; gap: 18px; }
@media (min-width: 800px) { .garbo-quotes__grid { grid-template-columns: repeat(3, 1fr); } }
.garbo-quote { margin: 0; padding: 28px; border-radius: var(--radius); background: var(--grafite-2); border: 1px solid var(--linha); display: flex; flex-direction: column; justify-content: space-between; gap: 28px; }
.garbo-quote__text { margin: 0; font: italic 400 24px/1.35 var(--serif); }
.garbo-quote__text p { margin: 0; }
.garbo-quote__by { display: flex; align-items: center; gap: 14px; font-size: 14px; color: var(--cinza); }
.garbo-quote__by strong { color: var(--osso); }
.garbo-quote__photo { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; filter: grayscale(1); }

/* FAQ -------------------------------------------------------------------- */
.garbo-faq__grid { display: grid; gap: 40px; }
@media (min-width: 960px) { .garbo-faq__grid { grid-template-columns: 1fr 1.3fr; gap: 80px; } .garbo-faq__head { position: sticky; top: 120px; align-self: start; } }
.garbo-faq__aside { margin-top: 24px; color: var(--cinza); max-width: 360px; }
.garbo-faq__item { border-bottom: 1px solid var(--linha); }
.garbo-faq__item:first-child { border-top: 1px solid var(--linha); }
.garbo-faq__item summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 26px 0; font: 600 clamp(20px, 1.8vw, 28px)/1.15 var(--display); letter-spacing: -.02em; }
.garbo-faq__item summary::-webkit-details-marker { display: none; }
.garbo-faq__item summary::after { content: "+"; flex: none; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--linha); font: 300 26px/1 var(--sans); color: var(--fogo); transition: transform .4s var(--ease), background-color .3s; }
.garbo-faq__item[open] summary::after { transform: rotate(45deg); background: var(--fogo); color: var(--preto); border-color: var(--fogo); }
.garbo-faq__item summary:hover { color: var(--fogo); }
.garbo-faq__item p { padding: 0 60px 28px 0; color: #c9c4ba; max-width: 700px; }

/* Chamada final ---------------------------------------------------------- */
.garbo-final__inner { display: grid; gap: 40px; }
.garbo-final__foot { display: grid; gap: 28px; align-items: end; }
@media (min-width: 960px) { .garbo-final__foot { grid-template-columns: 1fr auto; } }

/* Dores, listas, regras -------------------------------------------------- */
.garbo-pains__grid { display: grid; gap: 14px; }
@media (min-width: 700px) { .garbo-pains__grid { grid-template-columns: repeat(2, 1fr); } }
.garbo-pain { padding: 28px; border-radius: var(--radius); border: 1px solid var(--linha); display: flex; gap: 20px; align-items: baseline; transition: background-color .3s, color .3s; }
.garbo-pain:hover { background: var(--osso); color: var(--preto); }
.garbo-pain__num { font: 600 13px var(--sans); letter-spacing: .14em; color: var(--fogo); flex: none; }
.garbo-pain__text { font: 600 clamp(22px, 2vw, 32px)/1.1 var(--display); letter-spacing: -.02em; }
.garbo-split { display: grid; gap: 40px; }
.garbo-split__head .garbo-lead { margin-top: 22px; }
@media (min-width: 960px) { .garbo-split { grid-template-columns: 1fr 1fr; gap: 80px; align-items: start; } }
.garbo-checklist { list-style: none; margin: 0; padding: 0; counter-reset: c; }
.garbo-checklist li { counter-increment: c; position: relative; padding: 22px 0 22px 56px; border-bottom: 1px solid var(--linha); font-size: 19px; line-height: 1.45; }
.garbo-checklist li:first-child { border-top: 1px solid var(--linha); }
.garbo-checklist li::before { content: counter(c, decimal-leading-zero); position: absolute; left: 0; top: 26px; font: 600 13px var(--sans); letter-spacing: .12em; color: var(--fogo); }
.garbo-listsec--alt { background: var(--grafite-2); }
.garbo-rules__box { display: grid; gap: 24px; padding: clamp(28px, 4vw, 56px); border-radius: var(--radius); border: 1px solid var(--fogo); }
.garbo-rules__mark { font: italic 400 120px/.7 var(--serif); color: var(--fogo); }
.garbo-rules__text { margin-top: 18px; color: #c9c4ba; max-width: 740px; font-size: 18px; }
@media (min-width: 800px) { .garbo-rules__box { grid-template-columns: 140px 1fr; } }
.garbo-main section.garbo-rules { padding-top: 0; }

/* Trio ------------------------------------------------------------------- */
.garbo-trio__grid { display: grid; gap: 14px; }
@media (min-width: 900px) { .garbo-trio__grid { grid-template-columns: repeat(3, 1fr); } }
.garbo-trio__item { padding: 30px; border-radius: var(--radius); border: 1px solid var(--linha); }
.garbo-trio__text { font: italic 400 clamp(22px, 2vw, 30px)/1.3 var(--serif); }

/* Texto corrido ---------------------------------------------------------- */
.garbo-prose { max-width: calc(780px + var(--gutter) * 2); }
.garbo-prose > * + *, .garbo-prose .wp-block-post-content > * + * { margin-top: 1.1em; }
.garbo-prose h2, .garbo-prose .garbo-h3 { font-size: clamp(28px, 3vw, 40px); margin-top: 1.6em; }
.garbo-prose ul, .garbo-prose ol { padding-left: 1.2em; }
.garbo-prose li + li { margin-top: .5em; }
.garbo-prose a { color: var(--fogo); }
.garbo-article-cta { margin-top: 2.4em !important; padding: 26px 30px; border-radius: var(--radius); background: var(--grafite); }
.garbo-main section.garbo-prose-sec { padding-block: 64px var(--section); }

/* Blog ------------------------------------------------------------------- */
.garbo-posts__grid { list-style: none; margin: 0; padding: 0; display: grid; gap: 48px 24px; }
@media (min-width: 700px) { .garbo-posts__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .garbo-posts__grid { grid-template-columns: repeat(3, 1fr); } }
.garbo-post-card { display: flex; flex-direction: column; gap: 12px; border-top: 1px solid var(--linha); padding-top: 24px; }
.garbo-post-card__img img { border-radius: 14px; filter: grayscale(1) contrast(1.3); }
.garbo-post-card__date { font-size: 13px; color: var(--cinza); }
.garbo-post-card__title { font-size: 30px; }
.garbo-post-card__title a { text-decoration: none; }
.garbo-post-card__excerpt { color: var(--cinza); font-size: 16px; }
.garbo-post-card__excerpt .wp-block-post-excerpt__more-text { display: none; }
.garbo-pagination { margin-top: 56px; display: flex; gap: 16px; font-weight: 700; }
.garbo-article__head { padding-top: 160px; max-width: calc(1000px + var(--gutter) * 2); }
.garbo-article__date { margin-top: 20px; color: var(--cinza); font-size: 14px; }
.garbo-article__img { margin-top: 48px; }
.garbo-article__img img { border-radius: var(--radius); }
.garbo-article .garbo-prose { padding-block: 48px var(--section); }

/* Formulário em etapas de vidro ------------------------------------------ */
.garbo-main section.garbo-form-sec { padding-block: 40px var(--section); position: relative; overflow: hidden; }
.garbo-form-sec::before { content: ""; position: absolute; width: 900px; height: 900px; left: 50%; top: 40%; transform: translate(-50%, -50%); background: var(--grad); filter: blur(140px); opacity: .32; border-radius: 50%; animation: garbo-blob 16s ease-in-out infinite alternate; pointer-events: none; }
@keyframes garbo-blob { to { transform: translate(-40%, -60%) rotate(120deg) scale(1.15); } }
.garbo-form { position: relative; max-width: 860px; margin-inline: auto; }
.garbo-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.garbo-progress { height: 4px; background: rgba(242, 238, 230, .12); border-radius: 4px; overflow: hidden; }
.garbo-progress__bar { height: 100%; width: 33.333%; background: var(--acido); transition: width .6s var(--ease); }
.garbo-progress__label { margin: 14px 0 22px; font: 600 12px var(--sans); letter-spacing: .2em; text-transform: uppercase; color: var(--cinza); }
.garbo-step-panel { border: 0; margin: 0; padding: clamp(24px, 4vw, 52px); min-width: 0; position: relative; background: linear-gradient(180deg, rgba(36, 36, 36, .6), rgba(14, 14, 14, .6)); -webkit-backdrop-filter: blur(24px) saturate(1.5); backdrop-filter: blur(24px) saturate(1.5); border-radius: 24px; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .14); }
.garbo-step-panel::before { content: ""; position: absolute; inset: 0; border-radius: inherit; padding: 1px; background: linear-gradient(135deg, rgba(255, 255, 255, .35), rgba(255, 79, 18, .5) 30%, rgba(123, 60, 255, .3) 60%, rgba(34, 211, 238, .35)); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; pointer-events: none; }
.garbo-step-panel + .garbo-step-panel { margin-top: 18px; }
.garbo-js .garbo-step-panel + .garbo-step-panel { margin-top: 0; }
.garbo-js .garbo-step-panel:not(.is-active) { display: none; }
.garbo-js .garbo-step-panel.is-active { animation: garbo-in .6s var(--ease); }
@keyframes garbo-in { from { opacity: 0; transform: translateY(24px); } }
.garbo-step-panel__title { display: flex; align-items: baseline; gap: 14px; float: left; width: 100%; padding: 0; margin-bottom: 30px; font: 600 clamp(32px, 4vw, 56px)/1 var(--display); letter-spacing: -.03em; }
.garbo-step-panel__title + * { clear: both; }
.garbo-step-panel__title span { font: italic 400 .7em var(--serif); color: var(--fogo); }
.garbo-field { display: grid; gap: 8px; margin-bottom: 22px; border: 0; padding: 0; min-width: 0; }
.garbo-field label, .garbo-field legend { font-weight: 700; font-size: 15px; padding: 0; }
.garbo-field legend { margin-bottom: 12px; }
.garbo-req { color: var(--fogo); }
.garbo-field input[type="text"], .garbo-field input[type="email"], .garbo-field input[type="tel"], .garbo-field select { width: 100%; min-height: 58px; padding: 14px 18px; font: 500 17px var(--sans); color: var(--osso); background: rgba(11, 11, 11, .6); border: 1px solid var(--linha); border-radius: 14px; transition: border-color .2s, box-shadow .2s; }
.garbo-field select option { background: var(--preto); }
.garbo-field input:focus, .garbo-field select:focus { outline: none; border-color: var(--fogo); box-shadow: 0 0 0 4px rgba(255, 79, 18, .25); }
.garbo-field input::placeholder { color: #6f6a62; }
.garbo-field.is-invalid input, .garbo-field.is-invalid select { border-color: #ff6b6b; }
.garbo-field__error { font-size: 13px; font-weight: 600; color: #ff8a8a; }
.garbo-field-row { display: grid; grid-template-columns: 1fr 110px; gap: 14px; }
.garbo-choices { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 10px; }
.garbo-choice { position: relative; display: flex; }
.garbo-choice input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
.garbo-choice span { flex: 1; display: flex; align-items: center; min-height: 56px; padding: 12px 18px 12px 46px; border: 1px solid var(--linha); border-radius: 14px; background: rgba(11, 11, 11, .5); font-weight: 600; font-size: 15px; cursor: pointer; position: relative; transition: border-color .2s, background-color .2s, color .2s; }
.garbo-choice span::before { content: ""; position: absolute; left: 18px; top: 50%; width: 16px; height: 16px; margin-top: -8px; border: 1.5px solid var(--cinza); border-radius: 50%; }
.garbo-choice input:checked + span { border-color: var(--fogo); background: var(--fogo); color: var(--preto); }
.garbo-choice input:checked + span::before { border-color: var(--preto); background: radial-gradient(circle, var(--preto) 0 4px, transparent 5px); }
.garbo-choice input:focus-visible + span { outline: 2px solid var(--fogo); outline-offset: 2px; }
.garbo-form__nav { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; margin-top: 30px; }
.garbo-form__nav .garbo-btn--primary { margin-left: auto; }
.garbo-btn--primary { background: var(--fogo); color: var(--preto); }
.garbo-btn--ghost { background: transparent; color: var(--osso); border-color: rgba(242, 238, 230, .4); }
.garbo-form__trust { margin-top: 26px; font-size: 14px; color: var(--cinza); text-align: center; }
.garbo-form__trust a { color: var(--osso); }
.garbo-form__error { margin-bottom: 24px; padding: 14px 18px; border-radius: 14px; background: rgba(255, 79, 18, .15); color: #ffb39a; font-weight: 600; }
.garbo-progress, .garbo-progress__label { display: none; }
.garbo-js .garbo-progress, .garbo-js .garbo-progress__label { display: block; }
.garbo-form [data-prev], .garbo-form [data-next] { display: none; }
.garbo-js .garbo-form [data-prev], .garbo-js .garbo-form [data-next] { display: inline-flex; }

/* Rodapé ----------------------------------------------------------------- */
.garbo-footer { position: relative; overflow: hidden; padding-top: 96px; border-top: 1px solid var(--linha); font-size: 15px; }
.garbo-footer a { color: var(--osso); text-decoration: none; }
.garbo-footer a:hover { color: var(--fogo); }
.garbo-footer .garbo-btn--fire, .garbo-footer .garbo-btn--fire:hover { color: var(--preto); }
.garbo-footer__top { display: grid; gap: 48px; }
.garbo-footer__brand .garbo-seal { margin-bottom: 26px; }
.garbo-footer__tagline { font: 600 clamp(28px, 2.6vw, 40px)/1 var(--display); letter-spacing: -.03em; margin-bottom: 28px; max-width: 360px; }
.garbo-footer__tagline em { font-family: var(--serif); font-weight: 400; color: var(--fogo); letter-spacing: -.01em; }
.garbo-footer__title { font: 600 12px var(--sans); letter-spacing: .2em; text-transform: uppercase; color: var(--cinza); margin-bottom: 18px; }
.garbo-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.garbo-footer__contact a, .garbo-footer__contact span { display: inline-flex; align-items: center; gap: 10px; }
.garbo-footer__links { margin-top: 26px !important; }
.garbo-footer__bottom { margin-top: 72px; padding-top: 24px; border-top: 1px solid var(--linha); display: flex; flex-wrap: wrap; justify-content: space-between; gap: 16px; font-size: 13px; color: var(--cinza); }
.garbo-footer__bottom ul { display: flex; gap: 24px; }
.garbo-footer__bottom a { color: var(--cinza); }
.garbo-footer__giant { margin: 24px 0 -5vw -1.5vw; font: 700 33vw/.78 var(--display); letter-spacing: -.065em; color: var(--fogo); white-space: nowrap; user-select: none; }
@media (min-width: 900px) { .garbo-footer__top { grid-template-columns: 1.3fr 1fr 1.2fr 1.2fr; gap: 40px; } }

/* WhatsApp flutuante ----------------------------------------------------- */
.garbo-wa { position: fixed; right: 16px; bottom: 16px; z-index: 80; display: inline-flex; align-items: center; gap: 10px; min-height: 54px; padding: 0 20px 0 16px; border-radius: 999px; background: var(--acido); color: var(--preto); text-decoration: none; font: 700 14px var(--sans); box-shadow: 0 14px 34px -12px rgba(0, 0, 0, .7); transition: transform .3s var(--ease); }
.garbo-wa:hover { color: var(--preto); transform: translateY(-3px); }
@media (max-width: 600px) { .garbo-wa span { position: absolute; clip: rect(1px, 1px, 1px, 1px); width: 1px; height: 1px; overflow: hidden; } .garbo-wa { padding: 0; width: 56px; justify-content: center; } .garbo-wa .garbo-icon { width: 24px; height: 24px; } }

/* Cursor próprio --------------------------------------------------------- */
.garbo-cursor { position: fixed; z-index: 150; left: 0; top: 0; width: 14px; height: 14px; margin: -7px 0 0 -7px; border-radius: 50%; background: var(--fogo); pointer-events: none; display: grid; place-items: center; font: 700 11px var(--sans); letter-spacing: .14em; color: var(--preto); transition: width .35s var(--ease), height .35s var(--ease), margin .35s var(--ease), opacity .3s; will-change: transform; }
.garbo-cursor span { opacity: 0; transition: opacity .2s; }
.garbo-cursor.is-label { width: 92px; height: 92px; margin: -46px 0 0 -46px; }
.garbo-cursor.is-label span { opacity: 1; }
.garbo-cursor.is-link { width: 42px; height: 42px; margin: -21px 0 0 -21px; opacity: .5; }
@media (hover: none), (pointer: coarse) { .garbo-cursor, .garbo-svc-preview { display: none !important; } }

/* Cortina entre páginas -------------------------------------------------- */
.garbo-curtain { position: fixed; inset: 0; z-index: 300; background: var(--fogo); pointer-events: none; transform: translateY(100%); visibility: hidden; }
.garbo-curtain.is-covering, html.garbo-entering .garbo-curtain { visibility: visible; }
.garbo-curtain.is-covering { transform: none; transition: transform .55s var(--ease); }
html.garbo-entering .garbo-curtain { transform: none; }
html.garbo-entering .garbo-curtain.is-leaving { transform: translateY(-100%); transition: transform .7s var(--ease) .05s; }

/* Portfólio de sites ----------------------------------------------------- */
.garbo-sites { padding: var(--section) 0; }
.garbo-sites__grid { display: grid; gap: 18px; }
@media (min-width: 800px) { .garbo-sites__grid { grid-template-columns: repeat(2, 1fr); gap: 28px; } .garbo-sites__grid { align-items: start; } .garbo-site:nth-child(even) { margin-top: 56px; } }
.garbo-site { display: flex; flex-direction: column; gap: 18px; padding: 14px 14px 22px; border-radius: var(--radius); background: var(--grafite-2); border: 1px solid var(--linha); color: var(--osso); text-decoration: none; transition: border-color .4s var(--ease); }
.garbo-site:hover, .garbo-site:focus-visible { border-color: rgba(255, 79, 18, .6); }
.garbo-site__frame { display: block; border-radius: 12px; overflow: hidden; background: var(--grafite); }
.garbo-site__bar { display: flex; align-items: center; gap: 6px; height: 30px; padding: 0 12px; background: var(--grafite); border-bottom: 1px solid var(--linha); }
.garbo-site__bar i { width: 9px; height: 9px; border-radius: 50%; background: var(--linha); }
.garbo-site__bar span { margin-left: 10px; font: 500 12px var(--sans); color: var(--cinza); }
.garbo-site__frame img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; object-position: top; transition: transform 1.1s var(--ease); }
.garbo-site:hover .garbo-site__frame img { transform: scale(1.04); }
.garbo-site__meta { display: grid; gap: 6px; padding: 0 8px; }
.garbo-site__tipo { font: 600 12px var(--sans); letter-spacing: .18em; text-transform: uppercase; color: var(--cinza); }
.garbo-site__nome { font: 600 clamp(28px, 3.2vw, 44px)/1 var(--display); letter-spacing: -.03em; }
.garbo-site__link { font: italic 400 20px var(--serif); color: var(--fogo); }

/* Proteção de imagens ----------------------------------------------------
   A imagem não recebe o clique: o botão direito cai no bloco de fora (sem "Salvar imagem"),
   não dá para arrastar e o celular não oferece salvar ao segurar. Links e hover seguem no bloco pai. */
img { -webkit-user-drag: none; -webkit-touch-callout: none; -webkit-user-select: none; user-select: none; pointer-events: none; }

/* Movimento -------------------------------------------------------------- */
/* O site anima sempre, mesmo com "reduzir movimento" no sistema (decisão do cliente, out/2026). */
.garbo-js .garbo-reveal { opacity: 0; transform: translateY(40px); }
@media print { .garbo-header-part, .garbo-wa, .garbo-cursor, .garbo-curtain, body::before { display: none !important; } }
