/* ==========================================================================
   PLATINUM TI — DESIGN SYSTEM & MAIN STYLESHEET
   Empresa: Platinum TI (30 Anos de Mercado)
   Paleta: Azul Platinum (#0E1B38), Ciano Orbital (#00A8FF), Ciano Neon (#00D2FF),
           Cinza Platina (#F4F6F9), Cinza Grafite (#1A2332), Branco (#FFFFFF)
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. VARIABLES & DESIGN TOKENS
   -------------------------------------------------------------------------- */
:root {
  /* Cores Principais */
  --color-primary: #0E1B38;        /* Azul Platinum (Navy Base) */
  --color-primary-light: #172957;  /* Azul Marinho Médio */
  --color-primary-dark: #091226;   /* Azul Ultra Escuro */
  
  --color-accent: #00A8FF;         /* Ciano Orbital (Destaque principal) */
  --color-accent-neon: #00D2FF;    /* Ciano Neon (Glow & Hover) */
  --color-accent-dark: #0077B6;    /* Ciano Escuro */
  
  --color-neutral-bg: #F4F6F9;     /* Cinza Platina (Fundo Claro) */
  --color-neutral-card: #FFFFFF;   /* Branco Puro */
  --color-neutral-border: #E2E8F0; /* Bordas Suaves */
  
  --color-text-main: #1A2332;      /* Cinza Grafite (Texto principal) */
  --color-text-muted: #64748B;     /* Cinza Médio */
  --color-text-light: #94A3B8;     /* Cinza Claro */
  --color-text-white: #FFFFFF;     /* Texto Branco */
  
  --color-success: #10B981;        /* Verde WhatsApp / Sucesso */
  --color-success-hover: #059669;

  /* Gradientes de Assinatura */
  --gradient-hero: linear-gradient(135deg, #0E1B38 0%, #172957 50%, #004B87 100%);
  --gradient-accent: linear-gradient(135deg, #00A8FF 0%, #00D2FF 100%);
  --gradient-orbital: linear-gradient(135deg, #0E1B38 0%, #004B87 60%, #00A8FF 100%);
  --gradient-glass: linear-gradient(180deg, rgba(255, 255, 255, 0.95) 0%, rgba(244, 246, 249, 0.85) 100%);

  /* Tipografia */
  --font-family-heading: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  --font-family-body: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  --font-family-mono: 'JetBrains Mono', monospace;

  /* Sombras & Efeitos */
  --shadow-sm: 0 2px 4px rgba(14, 27, 56, 0.05);
  --shadow-md: 0 6px 16px rgba(14, 27, 56, 0.08);
  --shadow-lg: 0 12px 32px rgba(14, 27, 56, 0.12);
  --shadow-glow: 0 0 20px rgba(0, 168, 255, 0.3);

  /* Transições & Raios */
  --border-radius-sm: 6px;
  --border-radius-md: 12px;
  --border-radius-lg: 20px;
  --border-radius-full: 9999px;
  
  --transition-fast: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  --transition-normal: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* --------------------------------------------------------------------------
   2. RESET & BASE STYLES
   -------------------------------------------------------------------------- */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
  font-size: 16px;
}

body {
  font-family: var(--font-family-body);
  color: var(--color-text-main);
  background-color: var(--color-neutral-bg);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

a {
  color: var(--color-accent);
  text-decoration: none;
  transition: var(--transition-fast);
}

a:hover {
  color: var(--color-accent-neon);
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

ul {
  list-style: none;
}

/* Container */
.container {
  width: 100%;
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 24px;
}

/* --------------------------------------------------------------------------
   3. TOP BAR & NAVIGATION (HEADER)
   -------------------------------------------------------------------------- */
.top-bar {
  background-color: var(--color-primary-dark);
  color: var(--color-text-light);
  font-size: 0.85rem;
  padding: 8px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.top-bar .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
}

.top-bar-info {
  display: flex;
  align-items: center;
  gap: 20px;
}

.top-bar-info span, .top-bar-info a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--color-text-light);
}

.top-bar-info a:hover {
  color: var(--color-accent);
}

.badge-30-years-sm {
  background: var(--gradient-accent);
  color: var(--color-primary-dark);
  font-weight: 700;
  font-size: 0.75rem;
  padding: 3px 10px;
  border-radius: var(--border-radius-full);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

/* Main Header */
.main-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background-color: rgba(14, 27, 56, 0.95);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(0, 168, 255, 0.2);
  transition: var(--transition-normal);
}

.main-header .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 80px;
}

.logo-link {
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
}

.logo-image {
  display: block;
  width: auto;
  object-fit: contain;
}

.logo-image-header {
  height: 68px;
}

.logo-image-footer {
  height: 92px;
  margin-bottom: 12px;
}

.nav-menu {
  display: flex;
  align-items: center;
  gap: 32px;
}

.nav-link {
  color: var(--color-text-white);
  font-family: var(--font-family-heading);
  font-weight: 600;
  font-size: 0.95rem;
  padding: 8px 0;
  position: relative;
  transition: var(--transition-fast);
}

.nav-link::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 2px;
  background: var(--gradient-accent);
  transition: var(--transition-fast);
}

.nav-link:hover, .nav-link.active {
  color: var(--color-accent-neon);
}

.nav-link:hover::after, .nav-link.active::after {
  width: 100%;
}

.mobile-toggle {
  display: none;
  background: none;
  border: none;
  color: var(--color-text-white);
  font-size: 1.5rem;
  cursor: pointer;
}

/* --------------------------------------------------------------------------
   4. BUTTONS & UI COMPONENTS
   -------------------------------------------------------------------------- */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-family: var(--font-family-heading);
  font-weight: 700;
  font-size: 0.95rem;
  padding: 12px 24px;
  border-radius: var(--border-radius-md);
  border: none;
  cursor: pointer;
  transition: var(--transition-normal);
  text-align: center;
  white-space: nowrap;
}

.btn-primary {
  background: var(--gradient-accent);
  color: var(--color-primary-dark);
  box-shadow: 0 4px 14px rgba(0, 168, 255, 0.3);
}

.btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0, 210, 255, 0.5);
  color: var(--color-primary-dark);
}

.btn-secondary {
  background-color: var(--color-primary);
  color: var(--color-text-white);
}

.btn-secondary:hover {
  background-color: var(--color-primary-light);
  color: var(--color-text-white);
  transform: translateY(-2px);
}

.btn-outline-light {
  background: transparent;
  color: var(--color-text-white);
  border: 2px solid rgba(255, 255, 255, 0.3);
}

.btn-outline-light:hover {
  border-color: var(--color-accent);
  color: var(--color-accent-neon);
  background: rgba(0, 168, 255, 0.1);
}

.btn-whatsapp {
  background-color: var(--color-success);
  color: var(--color-text-white);
  box-shadow: 0 4px 14px rgba(16, 185, 129, 0.3);
}

.btn-whatsapp:hover {
  background-color: var(--color-success-hover);
  color: var(--color-text-white);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(16, 185, 129, 0.4);
}

.btn-sm {
  padding: 8px 16px;
  font-size: 0.85rem;
}

.btn-lg {
  padding: 16px 36px;
  font-size: 1.05rem;
}

/* --------------------------------------------------------------------------
   5. HERO SECTION
   -------------------------------------------------------------------------- */
.hero-section {
  position: relative;
  background: var(--gradient-hero);
  color: var(--color-text-white);
  padding: 100px 0 120px;
  overflow: hidden;
}

/* Orbital Vector Pattern Background */
.hero-section::before {
  content: '';
  position: absolute;
  top: -20%;
  right: -10%;
  width: 700px;
  height: 700px;
  border: 2px solid rgba(0, 168, 255, 0.15);
  border-radius: 50%;
  pointer-events: none;
  box-shadow: inset 0 0 100px rgba(0, 168, 255, 0.1);
  animation: spin 40s linear infinite;
}

@keyframes spin {
  100% { transform: rotate(360deg); }
}

.hero-grid {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 48px;
  align-items: center;
}

.hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(0, 168, 255, 0.15);
  border: 1px solid rgba(0, 168, 255, 0.3);
  padding: 6px 16px;
  border-radius: var(--border-radius-full);
  color: var(--color-accent-neon);
  font-weight: 600;
  font-size: 0.9rem;
  margin-bottom: 24px;
}

.hero-title {
  font-family: var(--font-family-heading);
  font-size: 3.2rem;
  font-weight: 800;
  line-height: 1.15;
  margin-bottom: 24px;
  letter-spacing: -1px;
}

.hero-title span {
  background: var(--gradient-accent);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.hero-subtitle {
  font-size: 1.2rem;
  color: #CBD5E1;
  margin-bottom: 36px;
  max-width: 620px;
}

.hero-actions {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}

.hero-card-preview {
  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: var(--border-radius-lg);
  padding: 32px;
  box-shadow: var(--shadow-lg);
}

.hero-stats-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}

.stat-item {
  border-left: 3px solid var(--color-accent);
  padding-left: 14px;
}

.stat-number {
  font-family: var(--font-family-mono);
  font-size: 2rem;
  font-weight: 700;
  color: var(--color-accent-neon);
}

.stat-label {
  font-size: 0.85rem;
  color: #94A3B8;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* --------------------------------------------------------------------------
   6. PARTNERS MARQUEE
   -------------------------------------------------------------------------- */
.partners-section {
  background-color: var(--color-neutral-card);
  padding: 36px 0;
  border-bottom: 1px solid var(--color-neutral-border);
}

.partners-title {
  text-align: center;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: var(--color-text-muted);
  margin-bottom: 24px;
  font-weight: 700;
}

.partners-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  align-items: center;
  gap: 32px;
}

.partner-logo {
  font-family: var(--font-family-heading);
  font-weight: 800;
  font-size: 1.4rem;
  color: #94A3B8;
  transition: var(--transition-fast);
  letter-spacing: -0.5px;
  text-align: center;
}

.partner-logo:hover {
  color: var(--color-primary);
  transform: scale(1.05);
}

.partner-logo img {
  width: min(150px, 100%);
  height: 48px;
  object-fit: contain;
}

/* --------------------------------------------------------------------------
   7. SECTIONS & TITLES
   -------------------------------------------------------------------------- */
.section {
  padding: 80px 0;
}

.section-header {
  text-align: center;
  max-width: 720px;
  margin: 0 auto 56px;
}

.section-tag {
  display: inline-block;
  font-family: var(--font-family-heading);
  font-size: 0.85rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: var(--color-accent);
  margin-bottom: 12px;
}

.section-title {
  font-family: var(--font-family-heading);
  font-size: 2.4rem;
  font-weight: 800;
  color: var(--color-primary);
  line-height: 1.25;
  margin-bottom: 16px;
}

.section-subtitle {
  font-size: 1.1rem;
  color: var(--color-text-muted);
}

/* --------------------------------------------------------------------------
   8. ABOUT HIGHLIGHT & DIFFERENTIALS
   -------------------------------------------------------------------------- */
.about-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 56px;
  align-items: center;
}

.about-card-box {
  background: var(--color-primary);
  color: var(--color-text-white);
  padding: 48px;
  border-radius: var(--border-radius-lg);
  position: relative;
  overflow: hidden;
  box-shadow: var(--shadow-lg);
}

.about-card-box::after {
  content: '30';
  position: absolute;
  right: -20px;
  bottom: -40px;
  font-family: var(--font-family-heading);
  font-size: 16rem;
  font-weight: 900;
  color: rgba(255, 255, 255, 0.03);
  pointer-events: none;
}

.differentials-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 24px;
}

.differential-card {
  background: var(--color-neutral-card);
  padding: 32px;
  border-radius: var(--border-radius-md);
  border: 1px solid var(--color-neutral-border);
  box-shadow: var(--shadow-sm);
  transition: var(--transition-normal);
}

.differential-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-md);
  border-color: var(--color-accent);
}

.diff-icon {
  width: 48px;
  height: 48px;
  background: rgba(0, 168, 255, 0.1);
  border-radius: var(--border-radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-accent);
  font-size: 1.4rem;
  margin-bottom: 20px;
}

/* --------------------------------------------------------------------------
   9. PRODUCT CARDS & CATALOG
   -------------------------------------------------------------------------- */
.catalog-filters {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 40px;
}

.filter-btn {
  background-color: var(--color-neutral-card);
  color: var(--color-text-main);
  border: 1px solid var(--color-neutral-border);
  padding: 10px 20px;
  border-radius: var(--border-radius-full);
  font-family: var(--font-family-heading);
  font-weight: 600;
  font-size: 0.9rem;
  cursor: pointer;
  transition: var(--transition-fast);
}

.filter-btn:hover, .filter-btn.active {
  background-color: var(--color-primary);
  color: var(--color-text-white);
  border-color: var(--color-primary);
}

.products-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 28px;
}

.product-card {
  background: var(--color-neutral-card);
  border-radius: var(--border-radius-md);
  border: 1px solid var(--color-neutral-border);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: var(--shadow-sm);
  transition: var(--transition-normal);
}

.product-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-md);
  border-color: var(--color-accent);
}

.product-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  background: var(--color-primary);
  color: var(--color-accent-neon);
  font-size: 0.75rem;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: var(--border-radius-sm);
  text-transform: uppercase;
}

.product-img-box {
  position: relative;
  height: 200px;
  background: #F8FAFC;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  border-bottom: 1px solid var(--color-neutral-border);
}

.product-placeholder-icon {
  font-size: 3.5rem;
  color: #CBD5E1;
}

.product-body {
  padding: 24px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.product-category {
  font-size: 0.8rem;
  color: var(--color-accent);
  font-weight: 700;
  text-transform: uppercase;
  margin-bottom: 6px;
}

.product-name {
  font-family: var(--font-family-heading);
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--color-primary);
  margin-bottom: 10px;
  line-height: 1.3;
}

.product-desc {
  font-size: 0.9rem;
  color: var(--color-text-muted);
  margin-bottom: 20px;
  flex-grow: 1;
}

.product-actions {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* --------------------------------------------------------------------------
   10. SERVICES GRID
   -------------------------------------------------------------------------- */
.services-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 32px;
}

.service-card {
  background: var(--color-neutral-card);
  padding: 40px;
  border-radius: var(--border-radius-lg);
  border: 1px solid var(--color-neutral-border);
  transition: var(--transition-normal);
  position: relative;
  overflow: hidden;
}

.service-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: var(--gradient-accent);
  opacity: 0;
  transition: var(--transition-fast);
}

.service-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--shadow-lg);
}

.service-card:hover::before {
  opacity: 1;
}

.service-title {
  font-family: var(--font-family-heading);
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--color-primary);
  margin-bottom: 12px;
}

.service-text {
  color: var(--color-text-muted);
  font-size: 0.95rem;
  margin-bottom: 20px;
}

.consulting-examples {
  background: #fff;
}

.consulting-examples-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 32px;
}

.consulting-example-card {
  background: var(--color-neutral-card);
  border: 1px solid var(--color-neutral-border);
  border-radius: var(--border-radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
}

.consulting-example-media {
  height: 270px;
  padding: 28px;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}

.consulting-example-media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.consulting-example-content {
  padding: 32px;
}

.consulting-example-brand {
  color: var(--color-accent);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.consulting-example-content h3 {
  color: var(--color-primary);
  font-family: var(--font-family-heading);
  font-size: 1.5rem;
  margin: 8px 0 12px;
}

.consulting-example-content > p {
  color: var(--color-text-muted);
  margin-bottom: 20px;
}

.consulting-checklist {
  display: grid;
  gap: 10px;
  margin-bottom: 24px;
  color: var(--color-text-main);
  font-size: 0.9rem;
}

.consulting-checklist i {
  color: var(--color-accent);
  margin-right: 7px;
}

.consulting-cta {
  background: var(--color-neutral-bg);
  padding: 72px 0 88px;
}

.consulting-cta p {
  margin: 8px 0 24px;
}

/* --------------------------------------------------------------------------
   11. TESTIMONIALS
   -------------------------------------------------------------------------- */
.testimonials-section {
  background-color: var(--color-primary-dark);
  color: var(--color-text-white);
}

.testimonials-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 28px;
}

.testimonial-card {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.1);
  padding: 32px;
  border-radius: var(--border-radius-md);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.quote-text {
  font-size: 0.98rem;
  color: #E2E8F0;
  font-style: italic;
  margin-bottom: 24px;
  line-height: 1.6;
}

.quote-author {
  font-weight: 700;
  color: var(--color-accent-neon);
  font-size: 0.9rem;
}

.quote-company {
  font-size: 0.8rem;
  color: #94A3B8;
}

/* --------------------------------------------------------------------------
   12. CONTACT PAGE & FORM
   -------------------------------------------------------------------------- */
.contact-grid {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 56px;
}

.contact-info-box {
  background: var(--color-primary);
  color: var(--color-text-white);
  padding: 48px;
  border-radius: var(--border-radius-lg);
}

.info-item {
  display: flex;
  gap: 16px;
  margin-bottom: 28px;
}

.info-icon {
  font-size: 1.5rem;
  color: var(--color-accent);
}

.form-group {
  margin-bottom: 20px;
}

.form-label {
  display: block;
  font-weight: 600;
  font-size: 0.9rem;
  margin-bottom: 6px;
  color: var(--color-primary);
}

.form-control {
  width: 100%;
  padding: 12px 16px;
  border: 1px solid var(--color-neutral-border);
  border-radius: var(--border-radius-sm);
  font-family: var(--font-family-body);
  font-size: 0.95rem;
  transition: var(--transition-fast);
}

.form-control:focus {
  outline: none;
  border-color: var(--color-accent);
  box-shadow: 0 0 0 3px rgba(0, 168, 255, 0.15);
}

textarea.form-control {
  resize: vertical;
  min-height: 120px;
}

/* --------------------------------------------------------------------------
   13. FOOTER
   -------------------------------------------------------------------------- */
.footer {
  background-color: var(--color-primary-dark);
  color: var(--color-text-light);
  padding: 70px 0 28px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.footer-grid {
  display: grid;
  grid-template-columns: 1.5fr repeat(3, 1fr);
  gap: 40px;
  margin-bottom: 56px;
}

.footer-brand p {
  margin-top: 16px;
  font-size: 0.9rem;
  color: #94A3B8;
  max-width: 320px;
}

.footer-title {
  font-family: var(--font-family-heading);
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--color-text-white);
  margin-bottom: 20px;
}

.footer-links li {
  margin-bottom: 10px;
}

.footer-links a {
  color: #94A3B8;
  font-size: 0.9rem;
}

.footer-links a:hover {
  color: var(--color-accent-neon);
}

.footer-bottom {
  text-align: center;
  padding-top: 28px;
  border-top: 1px solid rgba(255, 255, 255, 0.05);
  font-size: 0.85rem;
  color: #64748B;
}

/* Floating WhatsApp Button */
.whatsapp-float {
  position: fixed;
  bottom: 28px;
  right: 28px;
  width: 60px;
  height: 60px;
  background-color: var(--color-success);
  color: var(--color-text-white);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
  box-shadow: 0 4px 16px rgba(16, 185, 129, 0.4);
  z-index: 999;
  transition: var(--transition-normal);
  text-decoration: none;
}

.whatsapp-float:hover {
  transform: scale(1.1);
  background-color: var(--color-success-hover);
  color: var(--color-text-white);
  box-shadow: 0 6px 24px rgba(16, 185, 129, 0.6);
}

/* --------------------------------------------------------------------------
   14. RESPONSIVE MEDIA QUERIES
   -------------------------------------------------------------------------- */
@media (min-width: 769px) and (max-width: 1180px) {
  .nav-menu {
    gap: 18px;
  }

  .nav-link {
    font-size: 0.86rem;
  }

  .nav-menu .btn {
    padding-inline: 14px;
  }

  .logo-image-header {
    height: 64px;
  }
}

@media (max-width: 992px) {
  .hero-grid, .about-grid, .contact-grid {
    grid-template-columns: 1fr;
  }
  
  .hero-title {
    font-size: 2.5rem;
  }
  
  .footer-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 768px) {
  .top-bar-info {
    font-size: 0.75rem;
  }
  
  .nav-menu {
    position: fixed;
    top: 80px;
    left: -100%;
    width: 100%;
    height: calc(100vh - 80px);
    background-color: var(--color-primary-dark);
    flex-direction: column;
    justify-content: center;
    transition: var(--transition-normal);
  }
  
  .nav-menu.active {
    left: 0;
  }
  
  .mobile-toggle {
    display: block;
  }
  
  .hero-title {
    font-size: 2rem;
  }
  
  .footer-grid {
    grid-template-columns: 1fr;
  }
}

/* Revisão editorial e catálogo fotográfico */
.top-social-link{width:24px;height:24px;display:inline-flex!important;align-items:center;justify-content:center;color:var(--color-accent-neon)!important;font-size:.82rem}
.product-img-box{height:220px;background:#fff!important;padding:34px 20px 18px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.product-photo{width:100%;height:100%;object-fit:contain;transition:transform .25s}
.product-card:hover .product-photo{transform:scale(1.035)}
.product-placeholder-icon{display:none}

/* Mobile v2 — sem alterar o desktop */
@media(max-width:768px){
  html,body{max-width:100%;overflow-x:clip}
  body.menu-open{overflow:hidden}
  section,main,header,footer{max-width:100vw}
  .container{width:100%;max-width:100%;padding-inline:20px}
  .top-bar{padding:7px 0}
  .top-bar .container{align-items:flex-start;flex-direction:column;gap:6px}
  .top-bar-info{width:100%;min-width:0;gap:12px;justify-content:space-between;font-size:.7rem}
  .top-bar-info:first-child{justify-content:flex-start}
  .top-bar-info:last-child>a[href^="mailto:"]{display:none}
  .main-header .container{height:72px}
  .logo-image-header{width:auto;height:60px;max-width:calc(100vw - 105px)}
  .mobile-toggle{display:flex!important;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;margin-left:auto;position:relative;z-index:1101;border-radius:9px;background:rgba(255,255,255,.06)}
  .nav-menu{top:72px;left:-100%;width:100%;height:calc(100dvh - 72px);padding:28px 24px;align-items:stretch;justify-content:flex-start;gap:8px;overflow-y:auto;z-index:1100}
  .nav-menu.active{left:0}
  .nav-menu .nav-link{width:100%;padding:13px 10px;font-size:1rem}
  .nav-menu .btn{width:100%;margin-top:10px}
  .hero-section{padding:64px 0 74px}
  .hero-section::before{width:460px;height:460px;right:-260px;top:10%}
  .hero-grid,.about-grid,.contact-grid{display:grid;grid-template-columns:minmax(0,1fr)!important;gap:32px}
  .hero-content,.hero-card-preview{width:100%;min-width:0}
  .hero-badge{max-width:100%;white-space:normal;line-height:1.35;font-size:.75rem;padding:7px 12px}
  .hero-title,.hero-title[style]{max-width:100%;font-size:clamp(2.25rem,11vw,2.75rem)!important;line-height:1.08;letter-spacing:-1px;overflow-wrap:break-word}
  .hero-subtitle{max-width:100%;font-size:1rem;line-height:1.65;overflow-wrap:break-word}
  .hero-actions{display:grid;grid-template-columns:minmax(0,1fr);width:100%}
  .hero-actions .btn{width:100%;padding-inline:14px}
  .hero-card-preview{padding:22px 18px}
  .hero-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 10px}
  .stat-item{min-width:0;padding-left:11px}
  .stat-number{font-size:1.55rem}
  .stat-label{font-size:.68rem;line-height:1.45}
  .partners-section{overflow:hidden;padding:30px 0}
  .partners-title{font-size:.72rem;line-height:1.45}
  .partners-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}
  .partner-logo{min-width:0;font-size:1.05rem;text-align:center;overflow-wrap:break-word}
  .section{padding:64px 0}
  .section-header,.section-title,.section-subtitle{max-width:100%}
  .section-title{font-size:2rem!important;line-height:1.15;overflow-wrap:break-word}
  .catalog-filters{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;margin-inline:-20px;padding:0 20px 10px;scrollbar-width:none}
  .catalog-filters::-webkit-scrollbar{display:none}
  .filter-btn{flex:0 0 auto;padding:9px 15px;font-size:.78rem}
  .products-grid{grid-template-columns:minmax(0,1fr);gap:18px}
  .product-card{width:100%;min-width:0}
  .product-card:hover{transform:none}
  .product-img-box{height:190px}
  .product-body{min-width:0;padding:22px 20px}
  .product-name,.product-desc{overflow-wrap:break-word}
  .product-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:9px}
  .product-actions .btn{width:100%}
  .consulting-examples-grid{grid-template-columns:minmax(0,1fr)}
  .consulting-example-media{height:220px;padding:22px}
  .consulting-example-content{padding:24px 20px}
  .consulting-example-content .btn{width:100%}
  .consulting-cta{padding:56px 0 72px}
  .form-control{max-width:100%;min-width:0}
  .footer-grid{grid-template-columns:minmax(0,1fr)!important}
  .whatsapp-float{right:14px;bottom:14px;width:52px;height:52px;font-size:1.5rem}
}

/* Assistente comercial Platinum */
.platinum-assistant{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));z-index:1200;width:244px;height:264px;pointer-events:none}
.platinum-assistant-trigger{position:absolute;right:0;bottom:0;width:244px;height:264px;padding:0;border:0;background:transparent;cursor:pointer;opacity:0;transform:translateY(30px);pointer-events:auto;transition:filter .25s ease,transform .25s ease}
.platinum-assistant.entered .platinum-assistant-trigger{animation:platinumAssistantEnter .72s cubic-bezier(.22,1.35,.36,1) forwards}
.platinum-assistant-trigger:focus-visible{outline:3px solid var(--color-accent);outline-offset:4px;border-radius:24px}
.platinum-assistant-trigger>span{display:block;width:100%;height:100%;animation:platinumAssistantFloat 4.4s ease-in-out infinite;filter:drop-shadow(0 12px 12px rgba(9,18,38,.2)) drop-shadow(0 0 8px rgba(0,168,255,.2));transition:filter .25s ease}
.platinum-assistant-trigger img{width:100%;height:100%;object-fit:contain;transform:rotate(-1deg);transition:transform .25s cubic-bezier(.22,1,.36,1)}
.platinum-assistant-trigger:hover,.platinum-assistant.active .platinum-assistant-trigger{transform:translateY(-5px) scale(1.045)}
.platinum-assistant-trigger:hover>span,.platinum-assistant.active .platinum-assistant-trigger>span{filter:drop-shadow(0 15px 16px rgba(9,18,38,.24)) drop-shadow(0 0 13px rgba(0,168,255,.42))}
.platinum-assistant-trigger:hover img,.platinum-assistant.active .platinum-assistant-trigger img{transform:rotate(2deg)}
.platinum-assistant-panel{position:absolute;right:192px;bottom:140px;width:340px;padding:24px;border:1px solid rgba(14,27,56,.12);border-radius:18px;background:rgba(255,255,255,.98);box-shadow:0 22px 60px rgba(9,18,38,.2),0 0 0 1px rgba(0,168,255,.05);pointer-events:auto;animation:platinumAssistantPanelIn .28s cubic-bezier(.22,1,.36,1);transform-origin:bottom right;color:var(--color-text-main)}
.platinum-assistant-panel[hidden]{display:none}
.platinum-assistant-panel:after{content:"";position:absolute;right:28px;bottom:-9px;width:18px;height:18px;background:#fff;border-right:1px solid rgba(14,27,56,.12);border-bottom:1px solid rgba(14,27,56,.12);transform:rotate(45deg)}
.platinum-assistant[data-panel="greeting"] .platinum-assistant-panel{width:282px;padding:20px 42px 20px 20px}
.platinum-assistant-close{position:absolute;right:10px;top:10px;z-index:2;width:30px;height:30px;border:0;border-radius:50%;background:transparent;color:#64748b;font-size:24px;line-height:1;cursor:pointer;transition:background .2s,color .2s}
.platinum-assistant-close:hover{background:#eef6fb;color:var(--color-primary)}
.platinum-assistant-close:focus-visible,.platinum-assistant-action:focus-visible{outline:3px solid rgba(0,168,255,.45);outline-offset:2px}
.platinum-assistant-greeting strong{display:block;color:var(--color-primary);font-size:18px}
.platinum-assistant-greeting p{margin:7px 0 0;color:var(--color-text-muted);font-size:13px;line-height:1.5}
.platinum-assistant-menu{display:none}
.platinum-assistant[data-panel="menu"] .platinum-assistant-greeting{display:none}
.platinum-assistant[data-panel="menu"] .platinum-assistant-menu{display:block}
.platinum-assistant-heading{display:grid;grid-template-columns:46px 1fr;gap:13px;align-items:center;padding-right:18px}
.platinum-assistant-heading strong{display:block;color:var(--color-primary);font-size:19px;line-height:1.2}
.platinum-assistant-heading p{margin:5px 0 0;color:var(--color-text-muted);font-size:12px;line-height:1.45}
.platinum-assistant-chat{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;padding-bottom:7px;background:linear-gradient(145deg,var(--color-primary),#075ca7);color:#fff;font-size:18px;letter-spacing:2px;box-shadow:0 8px 20px rgba(14,27,56,.18)}
.platinum-assistant-actions{display:grid;gap:10px;margin-top:20px}
.platinum-assistant-action{min-height:62px;padding:10px 13px;border-radius:12px;display:grid;grid-template-columns:34px 1fr auto;gap:11px;align-items:center;text-decoration:none;transition:transform .22s ease,background .22s ease,border-color .22s ease,box-shadow .22s ease}
.platinum-assistant-action>i{font-size:28px;text-align:center}
.platinum-assistant-action span{display:flex;min-width:0;flex-direction:column}
.platinum-assistant-action b{font-size:13px;line-height:1.3}
.platinum-assistant-action small{margin-top:2px;font-size:10px;opacity:.75}
.platinum-assistant-action em{font-style:normal;font-size:20px;transition:transform .22s ease}
.platinum-assistant-action:hover{transform:translateY(-2px)}
.platinum-assistant-action:hover em{transform:translateX(3px)}
.platinum-assistant-whatsapp{border:1px solid #19b859;background:#20c866;color:#fff;box-shadow:0 10px 24px rgba(32,200,102,.18)}
.platinum-assistant-whatsapp:hover{background:#17b95a;color:#fff;box-shadow:0 13px 28px rgba(23,185,90,.26)}
.platinum-assistant-email{border:1px solid #b9d7e8;background:#fff;color:var(--color-primary)}
.platinum-assistant-email:hover{border-color:var(--color-accent);background:#eefaff;color:var(--color-primary);box-shadow:0 10px 24px rgba(14,27,56,.08)}
@keyframes platinumAssistantEnter{0%{opacity:0;transform:translateY(30px) scale(.92)}70%{opacity:1;transform:translateY(-5px) scale(1.02)}100%{opacity:1;transform:none}}
@keyframes platinumAssistantFloat{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-5px) rotate(.7deg)}}
@keyframes platinumAssistantPanelIn{from{opacity:0;transform:translateY(10px) scale(.95)}to{opacity:1;transform:none}}
@media(max-width:640px){
  .platinum-assistant{right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));width:156px;height:168px}
  .platinum-assistant-trigger{width:156px;height:168px}
  .platinum-assistant-panel{right:0;bottom:152px;width:min(330px,calc(100vw - 28px));padding:20px;border-radius:16px}
  .platinum-assistant-panel:after{right:24px}
  .platinum-assistant[data-panel="greeting"] .platinum-assistant-panel{width:min(280px,calc(100vw - 28px));padding:18px 40px 18px 18px}
  .platinum-assistant-heading{grid-template-columns:40px 1fr;gap:11px}
  .platinum-assistant-chat{width:40px;height:40px}
  .platinum-assistant-heading strong{font-size:17px}
  .platinum-assistant-action{min-height:58px}
}
@media(prefers-reduced-motion:reduce){
  .platinum-assistant-trigger,.platinum-assistant.entered .platinum-assistant-trigger{opacity:1;transform:none;animation:none;transition:none}
  .platinum-assistant-trigger>span,.platinum-assistant-panel{animation:none}
  .platinum-assistant-trigger img,.platinum-assistant-action,.platinum-assistant-action em{transition:none}
}

@media(max-width:768px){
  html,body{width:100%;max-width:100%;overflow-x:hidden}
  .container{width:100%!important;max-width:100%!important;padding-inline:20px!important}
  .main-header,.main-header .container{width:100%;max-width:100%}
  .logo-link{min-width:0;max-width:calc(100% - 54px)}
  .logo-image-header{width:auto!important;height:60px!important;max-width:100%!important}
  .logo-image-footer{height:86px}
  .mobile-toggle{display:flex!important;visibility:visible!important;opacity:1!important}
  .hero-grid,.hero-content,.hero-card-preview{width:100%;max-width:100%;min-width:0}
  .hero-title,.hero-title[style]{font-size:36px!important;line-height:1.08!important;width:100%;max-width:100%}
  .hero-title span{display:block;white-space:normal}
  .hero-subtitle{width:100%;max-width:100%}
  .hero-card-preview{overflow:hidden}
  .partners-grid{width:100%;max-width:100%;grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .catalog-filters{max-width:calc(100vw + 0px)}
  .products-grid{width:100%;max-width:100%;grid-template-columns:minmax(0,1fr)!important}
  .product-card{max-width:100%}
}
