/* ════════════════════════════════
   HAMMER & CO — CSS BUNDLE
   Reset → Variables → Base → Components → Sections
   1 arquivo = 0 render-blocking requests adicionais
════════════════════════════════ */

/* ── RESET ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { font-size: 16px; scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { min-height: 100vh; text-rendering: optimizeSpeed; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
img, picture, video, canvas, svg { display: block; max-width: 100%; }
input, button, textarea, select { font: inherit; }
p, h1, h2, h3, h4, h5, h6 { overflow-wrap: break-word; }
ul, ol { list-style: none; }
a { text-decoration: none; color: inherit; }
button { cursor: pointer; border: none; background: none; }
address { font-style: normal; }
blockquote { quotes: none; }

/* ── VARIABLES ── */
:root {
  --bg-dark:        #0d0d0d;
  --bg-alt:         #141414;
  --bg-card:        #1a1a1a;
  --bg-cream:       #F0EBE3;
  --text-light:     #F0EBE3;
  --text-muted:     #888888;
  --text-dark:      #1a1a1a;
  --amber:          #B87333;
  --amber-light:    #CA8A45;
  --amber-glow:     rgba(184, 115, 51, 0.15);
  --neon-blue:      #3B82F6;
  --green-lamp:     #2D6A4F;
  --red-plate:      #C1121F;
  --border-dark:    rgba(240, 235, 227, 0.08);
  --border-amber:   rgba(184, 115, 51, 0.4);
  --font-display:   'Bebas Neue', sans-serif;
  --font-serif:     'Playfair Display', serif;
  --font-body:      'Inter', sans-serif;
  --text-xs:    0.75rem;
  --text-sm:    0.875rem;
  --text-base:  1rem;
  --text-lg:    1.25rem;
  --text-xl:    1.5rem;
  --text-2xl:   2rem;
  --text-3xl:   3rem;
  --text-4xl:   5rem;
  --text-hero:  8.75rem;
  --section-py:       6rem;
  --section-py-lg:    8rem;
  --container-px:     1.5rem;
  --container-max:    1280px;
  --transition-fast:  0.2s ease;
  --transition-base:  0.3s ease;
  --transition-slow:  0.5s ease;
  --shadow-amber:   0 0 40px rgba(200, 146, 42, 0.2);
  --shadow-dark:    0 4px 30px rgba(0, 0, 0, 0.6);
  --z-cursor:   99999;
  --z-grain:    99998;
  --z-nav:      1000;
  --z-overlay:  10;
}

/* ── BASE ── */
body::after {
  content: '';
  position: fixed;
  inset: 0;
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4'/></filter><rect width='200' height='200' filter='url(%23n)' opacity='0.4'/></svg>");
  opacity: 0.04;
  pointer-events: none;
  z-index: var(--z-grain);
}

body {
  background-color: var(--bg-dark);
  color: var(--text-light);
  font-family: var(--font-body);
  font-size: var(--text-base);
  font-weight: 400;
  line-height: 1.6;
  overflow-x: hidden;
}

h1, h2, h3 { font-family: var(--font-display); line-height: 1; text-transform: uppercase; letter-spacing: 0.02em; }

h2, h3 {
  background: linear-gradient(180deg,#5a5a5a 0%,#c0c0c0 10%,#f8f8f8 18%,#ffffff 24%,#d4d4d4 32%,#888888 46%,#cccccc 60%,#f5f5f5 70%,#ffffff 75%,#c8c8c8 82%,#7a7a7a 92%,#aaaaaa 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

h4, h5 { font-family: var(--font-body); font-weight: 500; text-transform: uppercase; letter-spacing: 0.12em; font-size: var(--text-sm); }
p { color: var(--text-muted); line-height: 1.7; }
strong { color: var(--text-light); font-weight: 500; }

.container { width: 100%; max-width: var(--container-max); margin-inline: auto; padding-inline: var(--container-px); }
.section-header { text-align: center; margin-bottom: 4rem; }
.section-header h2 { font-size: clamp(var(--text-3xl), 6vw, var(--text-4xl)); color: var(--text-light); margin-block: 0.5rem; }
.section-subtitle { color: var(--text-muted); font-size: var(--text-lg); font-family: var(--font-serif); font-style: italic; margin-top: 0.75rem; }
.section-label { display: inline-block; font-family: var(--font-body); font-size: var(--text-xs); font-weight: 500; letter-spacing: 0.2em; text-transform: uppercase; color: var(--amber); border-bottom: 1px solid var(--amber); padding-bottom: 4px; margin-bottom: 1rem; }

@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
::selection { background-color: var(--amber); color: var(--bg-dark); }
:focus-visible { outline: 2px solid var(--amber); outline-offset: 4px; }

.tag-label { display: inline-block; font-size: var(--text-xs); font-family: var(--font-body); font-weight: 500; letter-spacing: 0.1em; background: var(--amber); color: var(--bg-dark); padding: 2px 8px; border-radius: 2px; vertical-align: middle; margin-left: 0.5rem; }

@media (max-width: 767px) {
  :root { --section-py: 3.5rem; --section-py-lg: 5rem; --container-px: 1rem; }
  .section-header { margin-bottom: 2.5rem; }
  .section-subtitle { font-size: var(--text-base); }
}

/* ── COMPONENTS ── */
.btn-primary, .btn-outline {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem;
  font-family: var(--font-body); font-size: var(--text-sm); font-weight: 500;
  letter-spacing: 0.12em; text-transform: uppercase; padding: 0.875rem 2rem;
  border-radius: 2px; transition: all var(--transition-base); white-space: nowrap;
  cursor: pointer; position: relative; overflow: hidden;
}

.btn-primary { background-color: var(--amber); color: var(--bg-dark); border: 1px solid var(--amber); }
.btn-primary::after { content: ''; position: absolute; inset: 0; background: rgba(255,255,255,0); transition: background var(--transition-fast); }
.btn-primary:hover { background-color: var(--amber-light); border-color: var(--amber-light); transform: translateY(-2px); box-shadow: 0 8px 24px rgba(200,146,42,0.35); }
.btn-primary:active { transform: translateY(0); }

.btn-outline { background-color: transparent; color: var(--text-light); border: 1px solid var(--border-dark); }
.btn-outline:hover { border-color: var(--amber); color: var(--amber); transform: translateY(-2px); }
.btn-outline:active { transform: translateY(0); }

.btn--sm { font-size: var(--text-xs); padding: 0.5rem 1.25rem; }
.btn--lg { font-size: var(--text-base); padding: 1.125rem 2.75rem; letter-spacing: 0.15em; }

.cursor { width: 16px; height: 16px; border: 1px solid var(--amber); border-radius: 50%; position: fixed; pointer-events: none; z-index: var(--z-cursor); transform: translate(-50%,-50%); mix-blend-mode: difference; transition: width 0.2s ease, height 0.2s ease, opacity 0.2s ease; opacity: 0; }
@media (hover: hover) and (pointer: fine) { .cursor { opacity: 1; } }
body:has(a:hover) .cursor, body:has(button:hover) .cursor { width: 32px; height: 32px; border-color: var(--amber-light); }

.letter { display: inline-block; will-change: transform; }

.ornament-divider { text-align: center; padding: 2rem 0; line-height: 0; }
.ornament-divider img { width: min(300px, 55vw); opacity: 0.17; }
.label-razor { height: 16px; width: auto; opacity: 0.45; margin-right: 8px; vertical-align: middle; }
.arcos-deco { display: block; width: 90px; opacity: 0.2; margin: 0 auto 2rem; grid-column: 1 / -1; }
.manifesto__watermark { position: absolute; right: -2%; top: 50%; transform: translateY(-50%); width: min(400px, 40vw); opacity: 0.045; pointer-events: none; z-index: 0; }

@media (max-width: 767px) {
  .manifesto__watermark { display: none; }
  .ornament-divider img { width: min(200px, 70vw); }
}

/* ════════════════════════════════
   NAV
════════════════════════════════ */
.nav { position: fixed; top: 0; left: 0; right: 0; z-index: var(--z-nav); display: flex; align-items: center; gap: 2rem; padding: 1.25rem 2.5rem; background: transparent; transition: background 0.4s ease, padding 0.4s ease, box-shadow 0.4s ease; }
.nav.scrolled { background: rgba(13,13,13,0.95); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); padding-block: 0.875rem; box-shadow: 0 1px 0 var(--border-dark); }
.nav__logo img { height: 56px; width: auto; object-fit: contain; transition: opacity var(--transition-base); }
.nav__logo:hover img { opacity: 0.85; }
.nav__links { display: flex; gap: 2rem; margin-left: auto; }
.nav__links a { font-size: var(--text-sm); font-weight: 400; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-muted); transition: color var(--transition-fast); position: relative; }
.nav__links a::after { content: ''; position: absolute; bottom: -4px; left: 0; width: 0; height: 1px; background: var(--amber); transition: width var(--transition-base); }
.nav__links a:hover { color: var(--text-light); }
.nav__links a:hover::after { width: 100%; }
.nav__cta { margin-left: 1rem; flex-shrink: 0; }
.nav__hamburger { display: none; flex-direction: column; gap: 5px; padding: 4px; margin-left: auto; z-index: 10; }
.nav__hamburger span { display: block; width: 24px; height: 1.5px; background: var(--text-light); transition: transform 0.3s ease, opacity 0.3s ease; transform-origin: center; }
.nav__hamburger[aria-expanded="true"] span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
.nav__hamburger[aria-expanded="true"] span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.nav__hamburger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }
.nav__backdrop { position: fixed; inset: 0; background: rgba(0,0,0,0.6); z-index: 998; opacity: 0; pointer-events: none; transition: opacity 0.35s ease; }
.nav__backdrop.open { opacity: 1; pointer-events: all; }
.nav__mobile { position: fixed; top: 0; right: 0; bottom: 0; width: min(280px, 80vw); background: var(--bg-card); border-left: 1px solid var(--border-dark); display: flex; flex-direction: column; justify-content: center; gap: 0; padding: 2rem 2rem 3rem; transform: translateX(100%); transition: transform 0.4s cubic-bezier(0.76,0,0.24,1); z-index: 999; }
.nav__mobile.open { transform: translateX(0); }
.nav__mobile ul { display: flex; flex-direction: column; align-items: flex-start; gap: 0.25rem; }
.nav__mobile a { font-family: var(--font-display); font-size: clamp(1.75rem, 6vw, 2.25rem); color: var(--text-muted); transition: color var(--transition-fast), padding-left var(--transition-fast); letter-spacing: 0.05em; display: block; padding: 0.5rem 0; }
.nav__mobile a:hover { color: var(--amber); padding-left: 0.5rem; }
.nav__mobile .btn-primary { margin-top: 2rem; width: 100%; justify-content: center; }

@media (max-width: 1023px) {
  .nav { padding-inline: 1.5rem; }
  .nav__links { display: none; }
  .nav__cta { display: none; }
  .nav__hamburger { display: flex; margin-left: auto; }
}
@media (max-width: 767px) { .nav { padding-inline: 1rem; } }

/* ════════════════════════════════
   LOADER
════════════════════════════════ */
.loader {
  position: fixed;
  inset: 0;
  background: #0d0d0d;
  z-index: 999999;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  transition: opacity 0.7s cubic-bezier(0.76,0,0.24,1), visibility 0.7s;
}
.loader.done {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.loader__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.25rem;
  animation: loaderFadeIn 0.5s ease both;
}
@keyframes loaderFadeIn {
  from { opacity: 0; transform: translateY(16px); }
  to   { opacity: 1; transform: translateY(0); }
}
.loader__label {
  font-family: 'Inter', sans-serif;
  font-size: 0.6rem;
  letter-spacing: 0.3em;
  color: #B87333;
  text-transform: uppercase;
}
.loader__icon {
  width: 140px;
  height: auto;
  filter: invert(1);
  animation: loaderPulse 2.4s ease-in-out infinite;
}
@keyframes loaderPulse {
  0%, 100% { transform: scale(1) rotate(0deg); opacity: 1; }
  50%       { transform: scale(1.06) rotate(-4deg); opacity: 0.85; }
}
.loader__brand {
  display: flex;
  flex-direction: column;
  align-items: center;
  line-height: 1;
  gap: 0.1rem;
}
.loader__hammer {
  font-family: 'Bebas Neue', 'Arial Narrow', sans-serif;
  font-size: clamp(3.5rem, 10vw, 5.5rem);
  letter-spacing: 0.08em;
  background: linear-gradient(180deg,#5a5a5a 0%,#c0c0c0 10%,#f8f8f8 18%,#ffffff 24%,#d4d4d4 32%,#888888 46%,#cccccc 60%,#f5f5f5 70%,#ffffff 75%,#c8c8c8 82%,#7a7a7a 92%,#aaaaaa 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.loader__co {
  font-family: 'Bebas Neue', 'Arial Narrow', sans-serif;
  font-size: clamp(1.5rem, 4vw, 2.25rem);
  letter-spacing: 0.25em;
  color: #B87333;
}
.loader__bar {
  width: 160px;
  height: 1px;
  background: rgba(240,235,227,0.1);
  overflow: hidden;
  margin-top: 0.5rem;
}
.loader__progress {
  height: 100%;
  width: 0%;
  background: #B87333;
  animation: loaderBar 1.8s cubic-bezier(0.4,0,0.2,1) forwards;
  animation-delay: 0.2s;
}
@keyframes loaderBar {
  0%   { width: 0%; }
  60%  { width: 85%; }
  100% { width: 100%; }
}

/* ════════════════════════════════
   HERO
════════════════════════════════ */
.hero { position: relative; width: 100%; min-height: 100svh; display: flex; align-items: center; overflow: hidden; }
.hero__bg { position: absolute; inset: 0; z-index: 0; }
.hero__bg img { width: 100%; height: 100%; object-fit: cover; object-position: center; will-change: transform; }
.hero__overlay { position: absolute; inset: 0; z-index: 1; background: linear-gradient(135deg, rgba(13,13,13,0.85) 0%, rgba(13,13,13,0.6) 50%, rgba(13,13,13,0.4) 100%); }
.hero__content { position: relative; z-index: 2; width: 100%; max-width: var(--container-max); margin-inline: auto; padding: 8rem 2.5rem 4rem; }
.hero__label { display: block; font-size: var(--text-xs); font-weight: 500; letter-spacing: 0.25em; color: var(--amber); margin-bottom: 1.5rem; }
.hero__title { font-family: var(--font-display); font-size: var(--text-hero); line-height: 0.9; letter-spacing: -0.01em; margin-bottom: 0; overflow: hidden; }
.hero__title .letter, .hero__subtitle .letter { background: linear-gradient(180deg,#5a5a5a 0%,#c0c0c0 10%,#f8f8f8 18%,#ffffff 24%,#d4d4d4 32%,#888888 46%,#cccccc 60%,#f5f5f5 70%,#ffffff 75%,#c8c8c8 82%,#7a7a7a 92%,#aaaaaa 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.hero__subtitle { font-family: var(--font-display); font-size: clamp(3rem, 8vw, var(--text-4xl)); line-height: 1; letter-spacing: 0.05em; margin-bottom: 2rem; }
.hero__tagline { font-family: var(--font-serif); font-style: italic; font-size: clamp(var(--text-lg), 2.5vw, var(--text-xl)); color: var(--text-light); margin-bottom: 1.25rem; max-width: 600px; }
.hero__body { font-size: var(--text-base); color: var(--text-muted); max-width: 480px; margin-bottom: 2.5rem; }
.hero__ctas { position: absolute; bottom: 5.5rem; left: 0; right: 0; z-index: 2; display: flex; gap: 1rem; flex-wrap: wrap; opacity: 1; max-width: var(--container-max); margin-inline: auto; padding-inline: 2.5rem; }
.hero__scroll-indicator { position: absolute; bottom: 2rem; left: 50%; transform: translateX(-50%); z-index: 2; display: flex; flex-direction: column; align-items: center; gap: 0.5rem; opacity: 0.5; }
.hero__scroll-text { font-size: 0.625rem; letter-spacing: 0.3em; color: var(--text-muted); }
.hero__scroll-line { width: 1px; height: 48px; background: linear-gradient(to bottom, var(--amber), transparent); animation: scrollPulse 2s ease-in-out infinite; }
@keyframes scrollPulse { 0%, 100% { transform: scaleY(1); opacity: 0.5; } 50% { transform: scaleY(0.5); opacity: 1; } }

@media (max-width: 1023px) {
  .hero__title { font-size: clamp(5rem, 15vw, var(--text-hero)); }
  .hero__content { padding-inline: 1.5rem; }
}
@media (max-width: 767px) {
  .hero__title { font-size: clamp(3.5rem, 17vw, 5.5rem); }
  .hero__subtitle { font-size: clamp(2rem, 9vw, 3rem); }
  .hero__label { letter-spacing: 0.1em; font-size: 0.65rem; word-break: break-word; }
  .hero__tagline { font-size: var(--text-base); max-width: 100%; }
  .hero__body { font-size: var(--text-sm); max-width: 100%; }
  .hero__content { padding: 6rem 1.25rem 3rem; }
  .hero__ctas { padding-inline: 1.25rem; bottom: 4rem; flex-direction: column; }
  .hero__ctas .btn-primary, .hero__ctas .btn-outline { text-align: center; justify-content: center; width: 100%; }
}

/* ════════════════════════════════
   MANIFESTO
════════════════════════════════ */
.manifesto { background-color: var(--bg-alt); padding-block: var(--section-py-lg); border-top: 1px solid var(--border-dark); border-bottom: 1px solid var(--border-dark); position: relative; overflow: hidden; }
.manifesto .container { position: relative; z-index: 1; }
.manifesto__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; align-items: start; }
.manifesto__text .section-label { margin-bottom: 1.25rem; }
.manifesto__title { font-size: clamp(3.5rem, 7vw, 5.5rem); color: var(--text-light); line-height: 0.95; margin-bottom: 2.5rem; }
.manifesto__paragraphs { display: flex; flex-direction: column; gap: 1.25rem; }
.manifesto__paragraphs p { font-size: var(--text-base); color: var(--text-muted); line-height: 1.8; }
.manifesto__paragraphs p:first-child { font-family: var(--font-serif); font-style: italic; font-size: var(--text-lg); color: var(--text-light); }
.manifesto__counters { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem 2rem; padding-top: 4rem; }
.counter-item { display: flex; flex-direction: column; gap: 0.5rem; }
.counter-number { font-family: var(--font-display); font-size: clamp(3.5rem, 5vw, 4.5rem); color: var(--amber); line-height: 1; letter-spacing: -0.02em; }
.counter-static { font-size: clamp(3rem, 4.5vw, 4rem); }
.counter-label { font-size: var(--text-xs); font-weight: 500; letter-spacing: 0.2em; color: var(--text-muted); text-transform: uppercase; }

@media (max-width: 1023px) {
  .manifesto__grid { grid-template-columns: 1fr; gap: 3.5rem; }
  .manifesto__counters { padding-top: 0; grid-template-columns: repeat(4, 1fr); gap: 2rem 1rem; }
}
@media (max-width: 767px) {
  .manifesto__counters { grid-template-columns: repeat(2, 1fr); gap: 1.5rem; }
  .manifesto__title { font-size: clamp(2.5rem, 10vw, 3.5rem); margin-bottom: 1.75rem; }
  .manifesto__paragraphs p { font-size: var(--text-sm); }
  .manifesto__paragraphs p:first-child { font-size: var(--text-base); }
  .counter-number { font-size: clamp(2.5rem, 9vw, 3.5rem); }
  .counter-label { letter-spacing: 0.1em; }
}

/* ════════════════════════════════
   SERVIÇOS
════════════════════════════════ */
.servicos { background-color: var(--bg-dark); padding-block: var(--section-py-lg); position: relative; overflow: hidden; }
.servicos__cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem; margin-bottom: 5rem; align-items: start; }
.service-card { background: var(--bg-card); border: 1px solid var(--border-dark); padding: 2rem 1.75rem; display: flex; flex-direction: column; gap: 1rem; transition: border-color var(--transition-base), transform var(--transition-base), box-shadow var(--transition-base); cursor: default; }
.service-card:hover { border-color: var(--amber); transform: translateY(-4px); box-shadow: var(--shadow-amber); }
.service-card__icon { color: var(--amber); width: 32px; height: 32px; flex-shrink: 0; }
.service-card__name { font-family: var(--font-display); font-size: 1.75rem; color: var(--text-light); line-height: 1; }
.service-card__desc { font-size: var(--text-sm); color: var(--text-muted); line-height: 1.7; flex: 1; }
.service-card__footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: auto; padding-top: 1rem; border-top: 1px solid var(--border-dark); }
.service-card__pricing { display: flex; flex-direction: column; gap: 2px; }
.service-card__price { font-family: var(--font-display); font-size: 1.5rem; color: var(--amber); line-height: 1; }
.service-card__duration { font-size: var(--text-xs); color: var(--text-muted); letter-spacing: 0.05em; }
.servicos__tabela { border: 1px solid var(--border-dark); padding: 3rem; }
.tabela__title { font-family: var(--font-display); font-size: 2rem; color: var(--text-light); margin-bottom: 2.5rem; text-align: center; letter-spacing: 0.05em; }
.tabela__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2rem 3rem; margin-bottom: 2.5rem; align-items: start; }
.tabela__grupo { transition: border-color var(--transition-base), transform var(--transition-base), box-shadow var(--transition-base); border: 1px solid transparent; padding: 1rem; cursor: default; }
.tabela__grupo:hover { border-color: var(--amber); transform: translateY(-4px); box-shadow: var(--shadow-amber); }
.tabela__grupo h4 { font-size: var(--text-xs); letter-spacing: 0.2em; color: var(--amber); border-bottom: 1px solid var(--border-amber); padding-bottom: 0.5rem; margin-bottom: 1rem; }
.tabela__grupo ul { display: flex; flex-direction: column; gap: 0.625rem; }
.tabela__grupo li { display: flex; justify-content: space-between; align-items: baseline; gap: 0.5rem; font-size: var(--text-sm); color: var(--text-muted); border-bottom: 1px solid rgba(240,235,227,0.04); padding-bottom: 0.625rem; }
.tabela__grupo li span:first-child { flex: 1; }
.tabela__price { font-family: var(--font-display); font-size: 1.1rem; color: var(--text-light); letter-spacing: 0.03em; text-align: right; flex-shrink: 0; }
.tabela__price em { font-style: normal; font-family: var(--font-body); font-size: var(--text-xs); color: var(--text-muted); display: block; letter-spacing: 0.05em; }
.tabela__grupo--destaque { border: 1px solid var(--border-amber); padding: 1.25rem; background: var(--amber-glow); }
.tabela__grupo--destaque h4 { color: var(--amber-light); }
.tabela__note { font-size: var(--text-xs); color: var(--text-muted); margin-bottom: 0.875rem; font-style: italic; }
.tabela__cta { text-align: center; padding-top: 2rem; border-top: 1px solid var(--border-dark); }

@media (max-width: 1200px) {
  .servicos__cards { grid-template-columns: repeat(2, 1fr); }
  .tabela__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 767px) {
  .servicos__cards { grid-template-columns: 1fr; gap: 1rem; margin-bottom: 3rem; }
  .service-card { padding: 1.5rem 1.25rem; }
  .service-card__name { font-size: 1.5rem; }
  .tabela__grid { grid-template-columns: 1fr; gap: 1rem; }
  .tabela__grupo { padding: 0.75rem; }
  .tabela__grupo--destaque { padding: 1rem; }
  .servicos__tabela { padding: 1.75rem 1rem; }
  .tabela__title { font-size: 1.5rem; margin-bottom: 1.75rem; }
  .tabela__grupo li { font-size: var(--text-xs); }
  .tabela__price { font-size: 1rem; }
}

/* ════════════════════════════════
   EXPERIÊNCIA
════════════════════════════════ */
.experiencia { position: relative; min-height: 80vh; display: flex; align-items: center; overflow: hidden; }
.experiencia__bg { position: absolute; inset: 0; z-index: 0; }
.experiencia__bg img { width: 100%; height: 100%; object-fit: cover; object-position: center; will-change: transform; }
.experiencia__overlay { position: absolute; inset: 0; z-index: 1; background: linear-gradient(to right, rgba(13,13,13,0.92) 0%, rgba(13,13,13,0.7) 60%, rgba(13,13,13,0.4) 100%); }
.experiencia__content { position: relative; z-index: 2; width: 100%; padding-block: var(--section-py-lg); }
.experiencia__content .section-label { margin-bottom: 1.25rem; }
.experiencia__title { font-size: clamp(2.5rem, 5vw, 4rem); color: var(--text-light); line-height: 1.05; margin-bottom: 1.5rem; max-width: 720px; }
.experiencia__body { font-family: var(--font-serif); font-style: italic; font-size: var(--text-lg); color: rgba(240,235,227,0.7); max-width: 560px; margin-bottom: 3.5rem; }
.experiencia__pilares { display: flex; gap: 3rem; flex-wrap: wrap; }
.pilar { flex: 1; min-width: 200px; max-width: 280px; }
.pilar__icon { font-size: 2rem; margin-bottom: 0.875rem; line-height: 1; }
.pilar__nome { font-family: var(--font-display); font-size: 1.25rem; color: var(--amber); letter-spacing: 0.05em; margin-bottom: 0.625rem; }
.pilar__desc { font-size: var(--text-sm); color: rgba(240,235,227,0.6); line-height: 1.7; }

@media (max-width: 1023px) {
  .experiencia__overlay { background: rgba(13,13,13,0.82); }
  .experiencia__pilares { gap: 2rem; }
}
@media (max-width: 767px) {
  .experiencia { min-height: auto; }
  .experiencia__overlay { background: linear-gradient(to bottom, rgba(13,13,13,0.88) 0%, rgba(13,13,13,0.75) 100%); }
  .experiencia__title { font-size: clamp(1.75rem, 7vw, 2.5rem); max-width: 100%; }
  .experiencia__body { font-size: var(--text-base); max-width: 100%; margin-bottom: 2.5rem; }
  .experiencia__pilares { flex-direction: column; gap: 1.25rem; }
  .pilar { max-width: 100%; min-width: 0; }
  .pilar__nome { font-size: 1.1rem; }
}

/* ════════════════════════════════
   EQUIPE
════════════════════════════════ */
.equipe { background-color: var(--bg-dark); padding-block: var(--section-py-lg); position: relative; overflow: hidden; }
.equipe__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.25rem; }
.equipe__cta { text-align: center; margin-top: 2.5rem; }
.team-card { display: flex; flex-direction: column; }
.team-card__photo { position: relative; aspect-ratio: 3/4; overflow: hidden; background: var(--bg-card); }
.team-card__photo img { width: 100%; height: 100%; object-fit: cover; object-position: top center; transition: transform 0.6s ease; }
.team-card__photo::before { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 60%; background: linear-gradient(to top, rgba(13,13,13,0.95) 0%, transparent 100%); z-index: 1; }
.team-card__overlay { position: absolute; inset: 0; z-index: 2; background: rgba(13,13,13,0.88); display: flex; align-items: flex-end; padding: 1.5rem; opacity: 0; transition: opacity 0.35s ease; }
.team-card:hover .team-card__photo img { transform: scale(1.05); }
.team-card:hover .team-card__overlay { opacity: 1; }
.team-card:hover .team-card__photo { border: 1px solid var(--border-amber); }
.team-card__info { display: flex; flex-direction: column; gap: 0.375rem; width: 100%; }
.team-card__info h3 { font-family: var(--font-display); font-size: 1.75rem; color: var(--text-light); line-height: 1; }
.team-card__role { font-size: var(--text-xs); color: var(--amber); letter-spacing: 0.1em; text-transform: uppercase; font-weight: 500; }
.team-card__unit { font-size: var(--text-xs); color: var(--text-muted); margin-bottom: 0.75rem; }
.team-card__info .btn-primary { align-self: flex-start; }
.team-card__footer { padding: 1rem 0.5rem 0; }
.team-card__desc { font-size: var(--text-sm); color: var(--text-muted); line-height: 1.6; }
.team-card--hiring .team-card__photo { border: 1px dashed var(--border-dark); }
.team-card--hiring:hover .team-card__photo { border-color: var(--amber); }

@media (max-width: 1200px) { .equipe__grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 1023px) { .equipe__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 767px) {
  .equipe__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.75rem; overflow: visible; }
  .team-card { width: auto; flex-shrink: unset; scroll-snap-align: unset; }
  .team-card__info h3 { font-size: 1.1rem; }
  .team-card__role { font-size: 0.6rem; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
  .team-card__unit { font-size: 0.6rem; }
  .team-card--photo-top .team-card__photo img { object-position: center 75%; }
  .team-card__overlay { opacity: 1; background: linear-gradient(to top, rgba(13,13,13,0.9) 0%, transparent 50%); }
  .team-card__info .btn-primary { display: none; }
}

/* ════════════════════════════════
   GALERIA
════════════════════════════════ */
.galeria { background: var(--bg-alt); padding-top: 5rem; padding-bottom: 5rem; overflow: hidden; }
.galeria__header { text-align: center; margin-bottom: 3.5rem; }
.galeria__header h2 { font-family: var(--font-display); font-size: clamp(3rem, 7vw, 5.5rem); color: var(--text-light); line-height: 1; letter-spacing: 0.02em; margin-bottom: 0.75rem; }
.galeria__marquee { display: flex; flex-direction: column; gap: 1rem; }
.galeria__row { overflow: hidden; width: 100%; }
.galeria__row--tall   { height: 340px; }
.galeria__row--normal { height: 260px; }
.galeria__track { display: flex; gap: 1rem; width: max-content; }
@keyframes marquee-left  { 0% { transform: translateX(0); }    100% { transform: translateX(-50%); } }
@keyframes marquee-right { 0% { transform: translateX(-50%); } 100% { transform: translateX(0); } }
.galeria__row--left  .galeria__track { animation: marquee-left  45s linear infinite; }
.galeria__row--right .galeria__track { animation: marquee-right 60s linear infinite; }
.galeria__row--fast  .galeria__track { animation: marquee-left  32s linear infinite; }
.galeria__row:hover .galeria__track { animation-play-state: paused; }
.galeria__item { flex-shrink: 0; overflow: hidden; border-radius: 2px; }
.galeria__row--tall   .galeria__item { height: 340px; width: calc(340px * (4 / 3)); }
.galeria__row--normal .galeria__item { height: 260px; width: calc(260px * (4 / 3)); }
.galeria__item img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; transition: transform 0.6s ease; }
.galeria__row:hover .galeria__item img { transform: scale(1.03); }

@media (max-width: 767px) {
  .galeria { padding-top: 4rem; padding-bottom: 4rem; }
  .galeria__row--tall   { height: 200px; }
  .galeria__row--normal { height: 150px; }
  .galeria__row--tall   .galeria__item { height: 200px; width: calc(200px * (4 / 3)); }
  .galeria__row--normal .galeria__item { height: 150px; width: calc(150px * (4 / 3)); }
  .galeria__row--left  .galeria__track { animation-duration: 28s; }
  .galeria__row--right .galeria__track { animation-duration: 38s; }
  .galeria__row--fast  .galeria__track { animation-duration: 20s; }
}

/* ════════════════════════════════
   UNIDADES
════════════════════════════════ */
.unidades { background-color: var(--bg-alt); padding-block: var(--section-py-lg); border-top: 1px solid var(--border-dark); }
.unidades__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 2rem; }
.unidade-card { background: var(--bg-card); border-top: 3px solid var(--amber); overflow: hidden; display: flex; flex-direction: column; transition: box-shadow var(--transition-base); }
.unidade-card:hover { box-shadow: var(--shadow-amber); }
.unidade-card__foto { aspect-ratio: 16/9; overflow: hidden; }
.unidade-card__foto img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s ease; }
.unidade-card:hover .unidade-card__foto img { transform: scale(1.04); }
.unidade-card__body { padding: 2rem; display: flex; flex-direction: column; gap: 1.5rem; flex: 1; }
.unidade-card__nome { font-family: var(--font-display); font-size: 1.5rem; color: var(--text-light); line-height: 1.1; letter-spacing: 0.05em; }
.unidade-card__tag { font-size: 1.125rem; color: var(--amber); }
.unidade-card__info { display: flex; flex-direction: column; gap: 1rem; }
.info-row { display: flex; gap: 0.75rem; align-items: flex-start; }
.info-row svg { color: var(--amber); flex-shrink: 0; margin-top: 2px; }
.info-row address, .info-row div { font-size: var(--text-sm); color: var(--text-muted); line-height: 1.6; }
.info-row p { font-size: var(--text-sm); color: var(--text-muted); }
.info-row strong { color: var(--text-light); }
.unidade-card__amenities { display: flex; gap: 0.75rem; flex-wrap: wrap; padding-top: 0.5rem; }
.unidade-card__amenities span { font-size: 1rem; opacity: 0.7; cursor: help; transition: opacity var(--transition-fast); }
.unidade-card__amenities span:hover { opacity: 1; }
.unidade-card__body .btn-primary { margin-top: auto; }

@media (max-width: 1023px) { .unidades__grid { grid-template-columns: 1fr; max-width: 600px; margin-inline: auto; } }
@media (max-width: 767px) { .unidade-card__body { padding: 1.5rem 1.25rem; } }

/* ════════════════════════════════
   DEPOIMENTOS
════════════════════════════════ */
.depoimentos { background-color: var(--bg-card); padding-block: var(--section-py-lg); border-top: 1px solid var(--border-dark); border-bottom: 1px solid var(--border-dark); position: relative; overflow: hidden; }
.depoimentos__badge { display: flex; align-items: center; justify-content: center; gap: 1rem; margin-top: 1rem; flex-wrap: wrap; }
.badge-rating { font-family: var(--font-serif); font-style: italic; font-size: var(--text-lg); color: var(--amber); }
.badge-tag { font-size: var(--text-xs); font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; color: var(--text-muted); border: 1px solid var(--border-dark); padding: 4px 12px; }
.depoimentos__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; align-items: start; }
.depoimento-card { background: var(--bg-alt); border: 1px solid var(--border-dark); padding: 2rem; display: flex; flex-direction: column; gap: 1.25rem; transition: border-color var(--transition-base), transform var(--transition-base); }
.depoimento-card:hover { border-color: var(--border-amber); transform: translateY(-4px); }
.depoimento-card__stars { font-size: var(--text-base); color: var(--amber); letter-spacing: 0.1em; }
.depoimento-card blockquote { font-family: var(--font-serif); font-style: italic; font-size: var(--text-lg); color: var(--text-light); line-height: 1.6; flex: 1; }
.depoimento-card blockquote::before { content: '"'; color: var(--amber); font-size: 3rem; line-height: 0; vertical-align: -0.5rem; margin-right: 0.25rem; opacity: 0.5; }
.depoimento-card footer { display: flex; flex-direction: column; gap: 0.25rem; padding-top: 1rem; border-top: 1px solid var(--border-dark); }
.depoimento-card footer strong { font-size: var(--text-sm); color: var(--text-light); font-weight: 500; font-family: var(--font-body); }
.depoimento-card footer span { font-size: var(--text-xs); color: var(--text-muted); letter-spacing: 0.05em; }

@media (max-width: 1023px) { .depoimentos__grid { grid-template-columns: 1fr; max-width: 560px; margin-inline: auto; } }
@media (max-width: 767px) {
  .depoimento-card { padding: 1.25rem; }
  .depoimento-card blockquote { font-size: var(--text-base); }
}

/* ════════════════════════════════
   CTA FINAL + FOOTER
════════════════════════════════ */
.cta-final { position: relative; min-height: 70vh; display: flex; align-items: center; justify-content: center; text-align: center; overflow: hidden; }
.cta-final__bg { position: absolute; inset: 0; z-index: 0; }
.cta-final__bg img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.cta-final__overlay { position: absolute; inset: 0; z-index: 1; background: rgba(13,13,13,0.88); }
.cta-final__content { position: relative; z-index: 2; padding-block: 6rem; max-width: 720px; }
.cta-final__title { font-family: var(--font-display); font-size: clamp(3rem, 7vw, 5.5rem); color: var(--text-light); line-height: 1.0; margin-bottom: 1.5rem; letter-spacing: 0.02em; }
.cta-final__body { font-family: var(--font-serif); font-style: italic; font-size: var(--text-lg); color: rgba(240,235,227,0.7); max-width: 480px; margin-inline: auto; margin-bottom: 3rem; line-height: 1.6; }
.cta-final__actions { display: flex; flex-direction: column; align-items: center; gap: 1.5rem; }
.cta-final__actions .btn-primary { font-size: var(--text-base); padding: 1.125rem 3rem; letter-spacing: 0.1em; }
.cta-final__instagram { display: inline-flex; align-items: center; gap: 0.625rem; font-size: var(--text-sm); color: var(--text-muted); letter-spacing: 0.08em; text-transform: uppercase; transition: color var(--transition-fast); }
.cta-final__instagram:hover { color: var(--amber); }

.footer { background-color: var(--bg-card); border-top: 1px solid var(--border-dark); padding-top: 4rem; }
.footer__grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 3rem; margin-bottom: 3rem; }
.footer__brand img { height: 56px; width: auto; margin-bottom: 1rem; }
.footer__brand p { font-size: var(--text-sm); color: var(--text-muted); line-height: 1.7; }
.footer__nav h3, .footer__unidades h3, .footer__social h3 { font-size: var(--text-xs); background: none; -webkit-text-fill-color: var(--text-light); color: var(--text-light); letter-spacing: 0.15em; text-transform: uppercase; margin-bottom: 1.25rem; font-family: var(--font-body); font-weight: 500; }
.footer__nav ul { display: flex; flex-direction: column; gap: 0.75rem; }
.footer__nav a { font-size: var(--text-sm); color: var(--text-muted); transition: color var(--transition-fast); }
.footer__nav a:hover { color: var(--amber); }
.footer__unidades { display: flex; flex-direction: column; gap: 0; }
.footer__unidade { display: flex; flex-direction: column; gap: 0.25rem; margin-bottom: 1.25rem; }
.footer__unidade:last-child { margin-bottom: 0; }
.footer__unidade strong { font-size: var(--text-sm); color: var(--text-light); font-weight: 500; }
.footer__unidade address { font-size: var(--text-xs); color: var(--text-muted); font-style: normal; line-height: 1.5; }
.footer__unidade a { font-size: var(--text-xs); color: var(--amber); letter-spacing: 0.05em; transition: opacity var(--transition-fast); }
.footer__unidade a:hover { opacity: 0.75; }
.footer__ig { display: inline-flex; align-items: center; gap: 0.625rem; font-size: var(--text-sm); color: var(--text-muted); transition: color var(--transition-fast); }
.footer__ig:hover { color: var(--amber); }
.footer__bottom { border-top: 1px solid var(--border-dark); padding-block: 1.5rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.footer__bottom p { font-size: var(--text-xs); color: var(--text-muted); letter-spacing: 0.08em; text-transform: uppercase; }
.footer__back-top { font-size: var(--text-base); color: var(--text-muted); width: 36px; height: 36px; border: 1px solid var(--border-dark); display: flex; align-items: center; justify-content: center; transition: color var(--transition-fast), border-color var(--transition-fast); flex-shrink: 0; }
.footer__back-top:hover { color: var(--amber); border-color: var(--amber); }

@media (max-width: 1023px) { .footer__grid { grid-template-columns: 1fr 1fr; gap: 2rem; } }
@media (max-width: 767px) {
  .cta-final__title { font-size: clamp(2rem, 9vw, 2.75rem); }
  .cta-final__content { padding-block: 4rem; padding-inline: 1.25rem; }
  .cta-final__body { font-size: var(--text-base); max-width: 100%; }
  .cta-final__actions .btn-primary { width: 100%; max-width: 320px; }
  .footer { padding-top: 0; }
  .footer__grid { grid-template-columns: 1fr; gap: 2rem; }
  .footer__bottom { flex-direction: column; text-align: center; }
}

/* ════════════════════════════════
   WATERMARKS — caveira, moto, guitarra
════════════════════════════════ */
.wm {
  position: absolute;
  pointer-events: none;
  z-index: 0;
  mix-blend-mode: screen;
  opacity: 0.12;
  user-select: none;
}
/* caveira2 tem fundo branco — invert transforma em fundo preto, screen torna transparente */
.wm--skull {
  width: clamp(240px, 30vw, 420px);
  bottom: -60px;
  right: -60px;
  transform: rotate(12deg);
  filter: invert(1) grayscale(1);
}
/* moto e guitarra têm fundo preto — screen já resolve */
.wm--moto {
  width: clamp(320px, 48vw, 640px);
  bottom: -30px;
  right: -80px;
  transform: rotate(-4deg);
  filter: grayscale(1);
  opacity: 0.15;
}
.wm--guitar {
  width: clamp(180px, 20vw, 300px);
  top: 40px;
  left: -40px;
  transform: rotate(-10deg);
  filter: invert(1) grayscale(1);
  opacity: 0.13;
}
@media (max-width: 767px) {
  .wm--skull  { width: 200px; right: -40px; bottom: -40px; }
  .wm--moto   { width: 280px; right: -50px; }
  .wm--guitar { width: 140px; left: -25px; }
}
