/* ============================================================
   GO WINNERS — DESIGN SYSTEM COMPARTILHADO
   Tipografia fluida + laranja oficial do logo (#FF7916)
   ============================================================ */
:root {
  --font-display: 'Syne', "Helvetica Neue", Helvetica, Arial, sans-serif;
  --font-ui: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;

  /* Escala fluida com rem no termo intermediario: responde ao zoom do
     usuario (WCAG 1.4.4), ao contrario de vw puro */
  --fs-h1: clamp(2.1rem, 1rem + 6vw, 6.5rem);
  --fs-h1-quote: clamp(2rem, 1rem + 3.8vw, 4.5rem); /* degrau p/ titulos-citacao longos */
  --fs-h2: clamp(1.8rem, 1rem + 2.8vw, 3.2rem);
  --fs-h3: clamp(1.3rem, 1.05rem + 0.85vw, 1.6rem);
  --fs-body: clamp(1rem, 0.95rem + 0.25vw, 1.125rem);
  --fs-ui: clamp(0.78rem, 0.74rem + 0.2vw, 0.85rem);
  --fs-micro: clamp(0.75rem, 0.73rem + 0.1vw, 0.78rem); /* nunca abaixo de 12px */

  /* 5. Medidas de linha (45-75 caracteres por linha) */
  --measure-text: 65ch;
  --measure-wide: 75ch;

  --text-pure: #ffffff;
  --text-muted: #e5e5e5;
  --text-secondary: #a3a3a3;
  --brand-orange: #FF7916; /* laranja oficial do logo */
}

* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
section[id] { scroll-margin-top: 100px; }

body {
  background-color: #000000;
  color: var(--text-pure);
  font-family: var(--font-ui);
  overflow-x: hidden;
}

#constellation-canvas {
  position: fixed; top: 0; left: 0; width: 100%; height: 100%;
  z-index: 1; pointer-events: none;
  transform: translateZ(0); will-change: transform;
}

section { position: relative; z-index: 2; background: transparent; width: 100%; }

h1, h2, h3, .font-brutalism, .stat-number, .service-num {
  font-family: var(--font-display);
  font-weight: 900;
  text-transform: uppercase;
}
/* Tracking por tamanho optico: quanto menor o corpo, mais aberto.
   Display >=48px: -0.03em | 20-48px: -0.01em | <20px: +0.02em */
h1, .brutalism-headline { letter-spacing: -0.03em; line-height: 1.05; }
h2 { letter-spacing: -0.02em; line-height: 1.12; }
h3 { letter-spacing: -0.01em; line-height: 1.12; }
.stat-number, .service-num { letter-spacing: -0.01em; line-height: 1.05; }

.btn-header, .form-title, .form-btn, .btn-final, .btn-whats, .tag-rh, .logos-title, .nav-link {
  font-family: var(--font-ui);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  line-height: 1.2;
}

/* ===== HEADER + NAVEGAÇÃO ===== */
header {
  position: fixed; top: 0; left: 0; width: 100%; z-index: 100;
  background-color: rgba(0, 0, 0, 0.55);
  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  padding: 12px 20px;
  display: flex; justify-content: space-between; align-items: center; gap: 15px;
}
@media (min-width: 768px) { header { padding: 16px 40px; } }

.logo-link { display: flex; align-items: center; line-height: 0; flex-shrink: 0; }
.logo-img { height: 40px; width: auto; display: block; }
@media (min-width: 768px) { .logo-img { height: 52px; } }

.nav-group { display: flex; align-items: center; gap: 10px; }
@media (min-width: 768px) { .nav-group { gap: 25px; } }

.nav-link {
  font-size: var(--fs-micro);
  color: var(--text-secondary);
  text-decoration: none;
  transition: color 0.3s ease;
  white-space: nowrap;
}
.nav-link:hover { color: var(--text-pure); }
@media (max-width: 480px) { .nav-link.hide-mobile { display: none; } }

.btn-header {
  font-size: var(--fs-micro);
  border: 1px solid var(--brand-orange);
  padding: 10px 16px;
  color: var(--text-pure);
  text-decoration: none;
  transition: all 0.3s ease;
  white-space: nowrap;
}
@media (min-width: 768px) { .btn-header { padding: 12px 24px; } }
.btn-header:hover { background-color: var(--brand-orange); color: #000000; }

a:focus-visible, button:focus-visible, input:focus-visible, summary:focus-visible {
  outline: 2px solid var(--brand-orange);
  outline-offset: 3px;
}

.section-container { width: 100%; max-width: 1400px; margin: 0 auto; padding: 0 20px; }
@media (min-width: 768px) { .section-container { padding: 0 40px; } }

/* ===== HERO ===== */
.hero {
  min-height: 88vh;
  display: flex; flex-direction: column; justify-content: center;
  padding-top: 130px; padding-bottom: 60px;
}
.brutalism-headline { display: flex; flex-direction: column; gap: 4px; }
.brutalism-headline span { font-size: var(--fs-h1); display: block; }
.quote-headline { line-height: 1.12; }
.text-white-pure { color: var(--text-pure); }
.text-orange-neon { color: var(--brand-orange); }

/* Subtítulo-pergunta do hero (gancho retórico) */
.hero-lead-q {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: clamp(1.15rem, 0.9rem + 1.1vw, 1.6rem);
  line-height: 1.2;
  color: var(--brand-orange);
  max-width: 640px;
  margin-top: 32px;
  letter-spacing: -0.01em;
}
.hero-p {
  color: var(--text-muted);
  font-size: var(--fs-body);
  font-weight: 400;
  line-height: 1.65;
  border-left: 2px solid var(--brand-orange);
  padding-left: 18px;
  max-width: 640px;
  margin-top: 20px;
}
.hero-p strong { color: var(--text-pure); font-weight: 600; }

/* Parágrafo definicional (SEO / GEO): fato citável, sem caixa alta */
.definitional {
  font-size: var(--fs-body);
  color: var(--text-muted);
  font-weight: 400;
  line-height: 1.7;
  max-width: var(--measure-text);
  margin-top: 30px;
}
.definitional strong { color: var(--text-pure); font-weight: 600; }

/* ===== HOME: CARTÕES DE ROTA ===== */
.route-grid { display: grid; grid-template-columns: 1fr; gap: 25px; margin-top: 60px; }
@media (min-width: 768px) { .route-grid { grid-template-columns: 1fr 1fr; gap: 30px; } }

.route-card {
  display: block;
  border: 1px solid rgba(255, 255, 255, 0.12);
  padding: 35px 30px;
  text-decoration: none;
  transition: all 0.3s ease;
}
.route-card:hover { border-color: var(--brand-orange); transform: translateY(-4px); }
.route-card h2 { font-size: var(--fs-h3); color: var(--text-pure); margin-bottom: 12px; letter-spacing: -0.01em; }
.route-card h2 .arrow { color: var(--brand-orange); }
.route-card p { font-size: var(--fs-ui); color: var(--text-secondary); font-weight: 400; line-height: 1.5; }
.route-card .route-cta {
  display: inline-block; margin-top: 22px;
  font-size: var(--fs-ui); font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.06em; color: var(--brand-orange);
}

/* ===== BANNER DA EDIÇÃO (data/local reais) ===== */
.edition-banner {
  display: flex; flex-wrap: wrap; gap: 12px 30px;
  border: 1px solid rgba(255, 121, 22, 0.35);
  background: rgba(255, 121, 22, 0.06);
  padding: 18px 22px;
  margin-top: 48px;
}
.edition-item { display: flex; flex-direction: column; gap: 3px; }
.edition-item .ed-label {
  font-size: var(--fs-micro); text-transform: uppercase;
  letter-spacing: 0.08em; color: var(--text-secondary); font-weight: 600;
}
.edition-item .ed-value {
  font-family: var(--font-display); font-weight: 900; text-transform: uppercase;
  letter-spacing: 0.02em; line-height: 1.25;
  font-size: clamp(0.95rem, 0.85rem + 0.45vw, 1.15rem); color: var(--brand-orange);
}

/* ===== GRIDS DE CONTEÚDO ===== */
.split-grid { display: grid; grid-template-columns: 1fr; gap: 60px; }
@media (min-width: 1024px) {
  .split-grid { grid-template-columns: repeat(12, 1fr); gap: 80px; }
  .split-text { grid-column: span 5; }
  .split-form { grid-column: 7 / span 6; }
}

.section-pad { padding: 10vh 0 6vh 0; }
.section-pad h2 { font-size: var(--fs-h2); margin-bottom: 25px; }
.section-pad p.lead { color: var(--text-muted); font-size: var(--fs-body); line-height: 1.65; font-weight: 400; margin-bottom: 40px; max-width: var(--measure-text); }

.stats-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px;
  border-top: 1px solid rgba(255, 255, 255, 0.1); padding-top: 25px;
}
.stat-number { font-size: clamp(1.6rem, 3.5vw, 2.5rem); color: var(--brand-orange); display: block; }
.stat-label { font-size: var(--fs-micro); text-transform: uppercase; color: var(--text-secondary); font-weight: 500; }

/* ===== FORMULÁRIOS ===== */
.form-side { position: relative; padding-top: 20px; }
.form-line-accent { height: 2px; background-color: var(--brand-orange); width: 80px; margin-bottom: 30px; }
.form-title { font-size: var(--fs-ui); color: var(--brand-orange); display: block; margin-bottom: 35px; }
.input-group { margin-bottom: 32px; }
.input-group label {
  display: block; font-size: var(--fs-micro); text-transform: uppercase;
  color: var(--text-secondary); letter-spacing: 0.05em; margin-bottom: 10px;
}
.input-group input {
  width: 100%; background: transparent; border: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
  padding: 12px 0; color: var(--text-pure);
  font-family: var(--font-ui); font-size: var(--fs-body);
  outline: none; transition: border-color 0.4s ease;
}
.input-group input:focus { border-color: var(--brand-orange); }
.input-group input::placeholder { color: rgba(255, 255, 255, 0.35); opacity: 1; }

.consent-group { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 28px; }
.consent-group input[type="checkbox"] {
  flex-shrink: 0; width: 18px; height: 18px; margin-top: 2px;
  accent-color: var(--brand-orange); cursor: pointer;
}
.consent-group label {
  font-size: var(--fs-micro); line-height: 1.55;
  color: var(--text-secondary); font-weight: 400; cursor: pointer;
}
.consent-group a { color: var(--brand-orange); text-decoration: underline; }

.hp-field { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.form-btn {
  width: 100%; background-color: var(--brand-orange); color: #000000;
  padding: 18px; border: none; font-size: var(--fs-ui);
  text-indent: 0.08em; /* compensa o tracking apos a ultima letra */
  cursor: pointer; transition: all 0.3s ease;
}
.form-btn:hover { background-color: var(--text-pure); }
.form-btn:disabled { opacity: 0.6; cursor: wait; }

.form-feedback {
  display: none; padding: 25px; border: 1px solid var(--brand-orange);
  font-size: var(--fs-body); line-height: 1.6; font-weight: 400;
}
.form-feedback.visible { display: block; }
.form-feedback strong {
  font-family: var(--font-display); font-weight: 900; text-transform: uppercase;
  letter-spacing: 0.02em; color: var(--brand-orange); display: block; margin-bottom: 8px;
}
.form-feedback.error { border-color: #ff4444; }
.form-feedback.error strong { color: #ff4444; }
.download-btn {
  display: inline-block; width: auto; margin-top: 18px; text-decoration: none;
  text-align: center;
}

/* ===== DEPOIMENTOS ===== */
.alumni-grid { display: grid; grid-template-columns: 1fr; gap: 40px; margin-top: 40px; }
@media (min-width: 768px) { .alumni-grid { grid-template-columns: repeat(2, 1fr); gap: 60px; } }
.alumni-card { border-left: 2px solid rgba(255, 255, 255, 0.1); padding-left: 20px; transition: border-color 0.3s ease; }
.alumni-card:hover { border-color: var(--brand-orange); }
.alumni-text { font-weight: 400; font-size: var(--fs-body); line-height: 1.65; color: var(--text-muted); margin-bottom: 20px; }
.alumni-meta { font-size: var(--fs-ui); color: var(--text-secondary); }
.alumni-meta strong {
  color: var(--brand-orange); font-family: var(--font-display); font-weight: 900;
  text-transform: uppercase; letter-spacing: 0.02em; display: block; font-size: 1rem; margin-bottom: 4px;
}





/* ===== BLOCO GWE — produto-evento principal (destaque) ===== */
.gwe-hero {
  border: 1px solid rgba(255,121,22,0.4);
  background: linear-gradient(135deg, rgba(255,121,22,0.09), rgba(255,121,22,0.02));
  padding: 48px 44px; margin-bottom: 50px; position: relative;
}
.gwe-kicker {
  font-size: var(--fs-micro); text-transform: uppercase; letter-spacing: 0.12em;
  color: var(--brand-orange); font-weight: 700; display: block; margin-bottom: 14px;
}
.gwe-hero h3 {
  font-family: var(--font-display); font-weight: 900; letter-spacing: -0.01em;
  font-size: clamp(1.8rem, 1.2rem + 2.5vw, 2.8rem); line-height: 1.05;
  color: var(--text-pure); margin-bottom: 20px;
}
.gwe-tese {
  font-size: var(--fs-body); color: var(--text-muted); font-weight: 400;
  line-height: 1.75; max-width: var(--measure-text); margin-bottom: 32px;
}
.gwe-tese strong { color: var(--text-pure); font-weight: 600; }
.gwe-pillars { display: grid; grid-template-columns: 1fr; gap: 20px; margin-bottom: 34px; }
@media (min-width: 768px) { .gwe-pillars { grid-template-columns: repeat(3, 1fr); gap: 26px; } }
.gwe-pillar { display: flex; flex-direction: column; gap: 6px; }
.gwe-pillar .gp-ico { font-family: var(--font-display); font-weight: 900; color: var(--brand-orange); font-size: 0.95rem; letter-spacing: 0.04em; }
.gwe-pillar h4 { font-size: 0.98rem; font-family: var(--font-display); font-weight: 900; color: var(--text-pure); letter-spacing: 0.01em; }
.gwe-pillar p { font-size: var(--fs-ui); color: var(--text-secondary); font-weight: 400; line-height: 1.5; }
.gwe-meta {
  display: flex; flex-wrap: wrap; gap: 10px 28px; align-items: center;
  border-top: 1px solid rgba(255,255,255,0.1); padding-top: 26px;
}
.gwe-meta .gwe-tag {
  font-size: var(--fs-micro); color: var(--text-secondary); font-weight: 500;
}
.gwe-meta .gwe-tag strong { color: var(--brand-orange); font-weight: 700; }
.gwe-cta {
  display: inline-flex; align-items: center; gap: 8px; margin-left: auto;
  font-family: var(--font-ui); font-weight: 700; font-size: var(--fs-ui);
  color: var(--brand-orange); text-decoration: none; border-bottom: 1px solid transparent;
  transition: border-color 0.3s ease;
}
.gwe-cta:hover { border-bottom-color: var(--brand-orange); }
@media (max-width: 600px) { .gwe-cta { margin-left: 0; margin-top: 8px; } .gwe-hero { padding: 36px 24px; } }
/* intro dos serviços derivados */
.services-derived-intro {
  font-size: var(--fs-body); color: var(--text-muted); font-weight: 400;
  line-height: 1.7; max-width: var(--measure-text); margin-bottom: 36px;
}
.services-derived-intro strong { color: var(--text-pure); font-weight: 600; }


/* ===== BLOCO GWE — produto-evento principal (destaque) ===== */
.gwe-hero {
  border: 1px solid rgba(255,121,22,0.4);
  background: linear-gradient(135deg, rgba(255,121,22,0.09), rgba(255,121,22,0.02));
  padding: 48px 44px; margin-bottom: 50px; position: relative;
}
.gwe-kicker {
  font-size: var(--fs-micro); text-transform: uppercase; letter-spacing: 0.12em;
  color: var(--brand-orange); font-weight: 700; display: block; margin-bottom: 14px;
}
.gwe-hero h3 {
  font-family: var(--font-display); font-weight: 900; letter-spacing: -0.01em;
  font-size: clamp(1.8rem, 1.2rem + 2.5vw, 2.8rem); line-height: 1.05;
  color: var(--text-pure); margin-bottom: 20px;
}
.gwe-tese {
  font-size: var(--fs-body); color: var(--text-muted); font-weight: 400;
  line-height: 1.75; max-width: var(--measure-text); margin-bottom: 32px;
}
.gwe-tese strong { color: var(--text-pure); font-weight: 600; }
.gwe-pillars { display: grid; grid-template-columns: 1fr; gap: 20px; margin-bottom: 34px; }
@media (min-width: 768px) { .gwe-pillars { grid-template-columns: repeat(3, 1fr); gap: 26px; } }
.gwe-pillar { display: flex; flex-direction: column; gap: 6px; }
.gwe-pillar .gp-ico { font-family: var(--font-display); font-weight: 900; color: var(--brand-orange); font-size: 0.95rem; letter-spacing: 0.04em; }
.gwe-pillar h4 { font-size: 0.98rem; font-family: var(--font-display); font-weight: 900; color: var(--text-pure); letter-spacing: 0.01em; }
.gwe-pillar p { font-size: var(--fs-ui); color: var(--text-secondary); font-weight: 400; line-height: 1.5; }
.gwe-meta {
  display: flex; flex-wrap: wrap; gap: 10px 28px; align-items: center;
  border-top: 1px solid rgba(255,255,255,0.1); padding-top: 26px;
}
.gwe-meta .gwe-tag {
  font-size: var(--fs-micro); color: var(--text-secondary); font-weight: 500;
}
.gwe-meta .gwe-tag strong { color: var(--brand-orange); font-weight: 700; }
.gwe-cta {
  display: inline-flex; align-items: center; gap: 8px; margin-left: auto;
  font-family: var(--font-ui); font-weight: 700; font-size: var(--fs-ui);
  color: var(--brand-orange); text-decoration: none; border-bottom: 1px solid transparent;
  transition: border-color 0.3s ease;
}
.gwe-cta:hover { border-bottom-color: var(--brand-orange); }
@media (max-width: 600px) { .gwe-cta { margin-left: 0; margin-top: 8px; } .gwe-hero { padding: 36px 24px; } }
/* intro dos serviços derivados */
.services-derived-intro {
  font-size: var(--fs-body); color: var(--text-muted); font-weight: 400;
  line-height: 1.7; max-width: var(--measure-text); margin-bottom: 36px;
}
.services-derived-intro strong { color: var(--text-pure); font-weight: 600; }

/* ===== VÍDEO (facade lite-embed — só carrega o YouTube ao clicar) ===== */
.video-section { padding: 7vh 0; position: relative; z-index: 2; }
.video-kicker {
  font-size: var(--fs-micro); text-transform: uppercase; letter-spacing: 0.12em;
  color: var(--brand-orange); font-weight: 600; display: block; margin-bottom: 14px;
}
.video-section h2 { font-size: var(--fs-h2); margin-bottom: 16px; max-width: 18ch; }
.video-lead {
  font-size: var(--fs-body); color: var(--text-muted); font-weight: 400;
  line-height: 1.7; max-width: var(--measure-text); margin-bottom: 40px;
}
.video-frame {
  position: relative; width: 100%; max-width: 920px; margin: 0 auto;
  aspect-ratio: 16 / 9; border: 1px solid rgba(255,255,255,0.1);
  overflow: hidden; cursor: pointer; background: #000;
}
.video-frame img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  opacity: 0.78; transition: opacity 0.4s ease, transform 0.6s ease;
}
.video-frame:hover img { opacity: 0.95; transform: scale(1.03); }
.video-frame::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0.1), rgba(0,0,0,0.45));
  pointer-events: none;
}
.video-play {
  position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%);
  width: 84px; height: 84px; border-radius: 50%;
  background: var(--brand-orange); border: none; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  z-index: 2; transition: transform 0.3s ease, box-shadow 0.3s ease;
  box-shadow: 0 8px 30px rgba(255,121,22,0.4);
}
.video-frame:hover .video-play { transform: translate(-50%,-50%) scale(1.1); box-shadow: 0 10px 40px rgba(255,121,22,0.6); }
.video-play svg { width: 34px; height: 34px; margin-left: 4px; fill: #0a0a0c; }
.video-badge {
  position: absolute; bottom: 14px; right: 16px; z-index: 2;
  font-size: var(--fs-micro); font-weight: 600; letter-spacing: 0.03em;
  color: var(--text-pure); background: rgba(0,0,0,0.55);
  padding: 5px 11px; border-radius: 2px; pointer-events: none;
  display: flex; align-items: center; gap: 6px;
}
.video-badge::before { content: "▶"; color: var(--brand-orange); font-size: 0.7em; }
.video-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; z-index: 3; }
@media (max-width: 600px) { .video-play { width: 64px; height: 64px; } .video-play svg { width: 26px; height: 26px; } }

/* ===== FAIXA DE LOGOS PARCEIROS (marquee monocromático) ===== */
.partners-section { padding: 6vh 0; position: relative; z-index: 2; overflow: hidden; }
.partners-title {
  text-align: center; font-size: var(--fs-micro); text-transform: uppercase;
  letter-spacing: 0.12em; color: var(--text-secondary); margin-bottom: 36px;
}
.partners-marquee {
  display: flex; overflow: hidden; width: 100%;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.partners-track {
  display: flex; align-items: center; flex-shrink: 0;
  gap: 64px; padding-right: 64px;
  animation: partners-scroll 45s linear infinite;
}
.partners-section:hover .partners-track { animation-play-state: paused; }
.partners-track img {
  height: 34px; width: auto; flex-shrink: 0; display: block;
  opacity: 0.65; transition: opacity 0.3s ease;
}
.partners-track img:hover { opacity: 1; }

/* Equalização óptica individual dos logos */
.partners-track img.p-elringklinger { height: 34px; }
@media (min-width:768px){ .partners-track img.p-elringklinger { height: 40px; } }
.partners-track img.p-andritz { height: 25px; }
@media (min-width:768px){ .partners-track img.p-andritz { height: 30px; } }
.partners-track img.p-imaflora { height: 29px; }
@media (min-width:768px){ .partners-track img.p-imaflora { height: 34px; } }
.partners-track img.p-pecege { height: 53px; }
@media (min-width:768px){ .partners-track img.p-pecege { height: 62px; } }
.partners-track img.p-inova { height: 38px; }
@media (min-width:768px){ .partners-track img.p-inova { height: 45px; } }
.partners-track img.p-milkpoint { height: 41px; }
@media (min-width:768px){ .partners-track img.p-milkpoint { height: 48px; } }
.partners-track img.p-walljobs { height: 36px; }
@media (min-width:768px){ .partners-track img.p-walljobs { height: 42px; } }
.partners-track img.p-catagua { height: 31px; }
@media (min-width:768px){ .partners-track img.p-catagua { height: 37px; } }
.partners-track img.p-perillo { height: 37px; }
@media (min-width:768px){ .partners-track img.p-perillo { height: 43px; } }
.partners-track img.p-sanvet { height: 36px; }
@media (min-width:768px){ .partners-track img.p-sanvet { height: 42px; } }
.partners-track img.p-carbonpec { height: 33px; }
@media (min-width:768px){ .partners-track img.p-carbonpec { height: 39px; } }

@keyframes partners-scroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
  .partners-track { animation: none; flex-wrap: wrap; justify-content: center; }
}
@media (min-width: 768px) { .partners-track img { height: 40px; } }

/* ===== CARROSSEL DE DEPOIMENTOS (deslizável + ler mais) ===== */
.testi-section { padding: 4vh 0 12vh 0; }
.testi-head { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; flex-wrap: wrap; margin-bottom: 30px; }
.testi-head .section-kicker { margin-bottom: 0; }
.testi-controls { display: none; gap: 10px; }
@media (min-width: 768px) { .testi-controls { display: flex; } }
.testi-arrow {
  width: 44px; height: 44px; border: 1px solid rgba(255,255,255,0.2);
  background: transparent; color: var(--text-pure); cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.1rem; transition: all 0.3s ease;
}
.testi-arrow:hover:not(:disabled) { border-color: var(--brand-orange); color: var(--brand-orange); }
.testi-arrow:disabled { opacity: 0.3; cursor: default; }

.testi-track {
  display: flex; gap: 24px; overflow-x: auto; scroll-snap-type: x mandatory;
  scroll-behavior: smooth; padding-bottom: 18px;
  scrollbar-width: none; -ms-overflow-style: none;
}
.testi-track::-webkit-scrollbar { display: none; }

.testi-card {
  scroll-snap-align: start; flex: 0 0 88%;
  border: 1px solid rgba(255,255,255,0.1);
  border-left: 2px solid var(--brand-orange);
  padding: 30px; display: flex; flex-direction: column;
  transition: border-color 0.3s ease;
}
@media (min-width: 768px) { .testi-card { flex-basis: 46%; } }
@media (min-width: 1100px) { .testi-card { flex-basis: 31.5%; } }
.testi-card:hover { border-top-color: rgba(255,121,22,0.4); }

.testi-person { display: flex; align-items: center; gap: 16px; margin-bottom: 22px; }
.testi-photo { width: 60px; height: 60px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
.testi-photo-empty {
  width: 60px; height: 60px; border-radius: 50%; flex-shrink: 0;
  background: rgba(255,121,22,0.12); border: 1px dashed rgba(255,121,22,0.4);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-display); font-weight: 900; color: var(--brand-orange); font-size: 1.3rem;
}
.testi-name { font-family: var(--font-display); font-weight: 900; text-transform: uppercase; letter-spacing: 0.01em; font-size: 1.05rem; color: var(--text-pure); line-height: 1.1; }
.testi-role { font-size: var(--fs-micro); color: var(--brand-orange); font-weight: 600; margin-top: 5px; display: block; }
.testi-course { font-size: var(--fs-micro); color: var(--text-secondary); margin-top: 2px; display: block; }

.testi-quote { font-size: var(--fs-ui); line-height: 1.7; color: var(--text-muted); font-weight: 400; }
.testi-quote .testi-full { display: none; }
.testi-quote.expanded .testi-full { display: inline; }
.testi-quote.expanded .testi-ellipsis { display: none; }
.testi-more {
  background: none; border: none; color: var(--brand-orange); cursor: pointer;
  font-family: var(--font-ui); font-weight: 600; font-size: var(--fs-ui);
  padding: 0; margin-top: 12px; text-decoration: underline; align-self: flex-start;
}
.testi-hint { font-size: var(--fs-micro); color: var(--text-secondary); margin-top: 16px; text-align: center; }
@media (min-width: 768px) { .testi-hint { display: none; } }

/* ===== MARQUEE ===== */
.marquee-container {
  border-top: 1px solid rgba(255, 255, 255, 0.05);
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  padding: 25px 0; overflow: hidden; white-space: nowrap;
  position: relative; z-index: 2;
}
.marquee-track { display: inline-flex; animation: marquee-run 32s linear infinite; }
.marquee-text {
  display: inline-block; font-size: var(--fs-ui); text-transform: uppercase;
  font-weight: 700; letter-spacing: 0.12em; color: rgba(255, 255, 255, 0.35);
  padding-right: 50px;
}
@keyframes marquee-run { 0% { transform: translateX(0%); } 100% { transform: translateX(-50%); } }

/* ===== TITULOS-CITACAO E KICKERS (sem estilo inline) ===== */
.quote-headline span { font-size: var(--fs-h1-quote); }
.h2-compact { font-size: var(--fs-h3); }
.section-kicker {
  font-size: var(--fs-h3); color: var(--brand-orange); margin-bottom: 10px;
}

/* ===== TAGS ===== */
.tag-rh {
  display: inline-block; padding: 6px 14px; font-size: var(--fs-micro); margin-bottom: 30px;
}
.tag-rh { background-color: rgba(255, 121, 22, 0.1); border: 1px solid rgba(255, 121, 22, 0.25); color: var(--brand-orange); }

/* ===== QUOTE B2B ===== */
.quote-card { position: relative; padding-left: 25px; border-left: 2px solid var(--brand-orange); }
.quote-mark { font-family: var(--font-display); font-weight: 900; font-size: 4rem; color: rgba(255, 121, 22, 0.2); line-height: 0; position: absolute; top: 15px; left: -10px; }
.quote-text { font-weight: 400; font-size: var(--fs-body); line-height: 1.6; color: var(--text-muted); }
.quote-author { font-size: var(--fs-ui); color: var(--brand-orange); display: block; font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em; }
.quote-person { display: flex; align-items: center; gap: 14px; margin-top: 24px; }
.quote-photo { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; flex-shrink: 0; border: 2px solid rgba(255,121,22,0.4); }
.quote-role { display: block; font-size: var(--fs-micro); color: var(--text-secondary); font-weight: 500; text-transform: none; letter-spacing: 0; margin-top: 3px; }

/* ===== SERVIÇOS ===== */
.services-grid { display: grid; grid-template-columns: 1fr; gap: 40px; margin-top: 40px; margin-bottom: 50px; }
@media (min-width: 768px) { .services-grid { grid-template-columns: repeat(3, 1fr); gap: 30px; align-items: stretch; } }
.service-card { border-top: 1px solid rgba(255, 255, 255, 0.1); padding-top: 25px; display: flex; flex-direction: column; }
.service-num { font-size: var(--fs-h3); color: var(--brand-orange); display: block; margin-bottom: 15px; }
.service-title { font-size: var(--fs-body); font-family: var(--font-display); font-weight: 900; letter-spacing: 0.02em; margin-bottom: 15px; }
.service-desc { font-size: var(--fs-body); line-height: 1.65; color: var(--text-secondary); font-weight: 400; }
.service-cta {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  margin-top: 22px; align-self: flex-start;
  font-family: var(--font-ui); font-weight: 700; font-size: var(--fs-ui);
  color: var(--brand-orange); text-decoration: none;
  padding: 11px 20px; border: 1px solid rgba(255, 121, 22, 0.5);
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}
.service-cta:hover { background-color: var(--brand-orange); color: #0a0a0c; border-color: var(--brand-orange); }
@media (min-width: 768px) { .service-cta { margin-top: auto; } }

/* ===== VITRINE DE LOGOS ===== */
.logos-section { margin-top: 8vh; border-top: 1px solid rgba(255, 255, 255, 0.08); padding: 40px 0 20px 0; }
.logos-title { font-size: var(--fs-micro); color: var(--text-secondary); margin-bottom: 35px; display: block; }
.logos-grid {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 35px 30px;
  align-items: center;
}
@media (min-width: 768px) { .logos-grid { grid-template-columns: repeat(5, 1fr); } }
.client-logo {
  font-family: var(--font-display); font-weight: 900; text-transform: uppercase;
  font-size: clamp(0.85rem, 0.78rem + 0.35vw, 1.05rem); letter-spacing: 0.1em;
  color: rgba(255, 255, 255, 0.55); text-align: center; line-height: 1.3;
  transition: color 0.3s ease;
}
.client-logo:hover { color: rgba(255, 255, 255, 0.85); }
.client-logo .logo-sub {
  display: block; font-family: var(--font-ui); font-weight: 500;
  font-size: var(--fs-micro); letter-spacing: 0.2em; color: rgba(255, 121, 22, 0.5);
}

/* ===== LEAD MAGNET ===== */
.magnet-card {
  border: 1px solid rgba(255, 121, 22, 0.35);
  background: rgba(255, 121, 22, 0.05);
  padding: 40px 30px;
  margin-top: 50px;
}
@media (min-width: 1024px) {
  .magnet-card { display: grid; grid-template-columns: 1.2fr 1fr; gap: 60px; align-items: center; padding: 50px; }
}
.magnet-card h3 { font-size: var(--fs-h3); margin-bottom: 15px; }
.magnet-card p { font-size: var(--fs-body); color: var(--text-muted); font-weight: 400; line-height: 1.65; }
.magnet-form { margin-top: 25px; }
@media (min-width: 1024px) { .magnet-form { margin-top: 0; } }

/* ===== FAQ ===== */
.faq-section { padding: 8vh 0; }
.faq-list { margin-top: 35px; }
@media (min-width: 880px) {
  .faq-list { column-count: 2; column-gap: 48px; }
  .faq-item { break-inside: avoid; }
}
.faq-item { border-bottom: 1px solid rgba(255, 255, 255, 0.1); }
.faq-item summary {
  list-style: none; cursor: pointer; padding: 20px 0;
  display: flex; justify-content: space-between; align-items: center; gap: 20px;
  font-family: var(--font-ui); font-weight: 600; font-size: var(--fs-ui);
  color: var(--text-pure); line-height: 1.35;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after { content: '+'; color: var(--brand-orange); font-size: 1.4rem; font-weight: 300; flex-shrink: 0; transition: transform 0.3s ease; }
.faq-item[open] summary::after { transform: rotate(45deg); }
.faq-item .faq-answer { padding: 0 0 22px 0; font-size: var(--fs-ui); font-weight: 400; color: var(--text-secondary); line-height: 1.65; }
.faq-item .faq-answer:last-child { padding-bottom: 22px; }
.faq-link { display: inline-block; margin-top: 10px; color: var(--brand-orange); font-weight: 600; text-decoration: none; border-bottom: 1px solid transparent; transition: border-color 0.3s ease; }
.faq-link:hover { border-bottom-color: var(--brand-orange); }

/* ===== BOTÕES ===== */
.btn-whats {
  display: inline-block; border: 1px solid var(--text-pure); color: var(--text-pure);
  padding: 16px 32px; font-size: var(--fs-ui); text-decoration: none; transition: all 0.3s ease;
}
.btn-whats:hover { background-color: var(--text-pure); color: #000000; }
.btn-whats.orange { border-color: var(--brand-orange); color: var(--brand-orange); }
.btn-whats.orange:hover { background-color: var(--brand-orange); color: #000000; }

.btn-final {
  display: block; text-align: center; background-color: var(--brand-orange); color: #000000;
  font-size: var(--fs-ui); padding: 22px 30px; text-decoration: none;
  text-indent: 0.08em;
  box-shadow: 0 0 40px rgba(255, 121, 22, 0.25); max-width: 480px; margin: 0 auto;
  transition: all 0.3s ease;
}
@media (min-width: 768px) { .btn-final { display: inline-block; padding: 22px 50px; } }
.btn-final:hover { background-color: var(--text-pure); box-shadow: 0 0 50px rgba(255, 255, 255, 0.2); }

.conversao { padding: 14vh 0; text-align: center; border-top: 1px solid rgba(255, 255, 255, 0.05); }
.conversao h2 { font-size: var(--fs-h2); margin-bottom: 25px; }
.conversao p { max-width: var(--measure-text); margin: 0 auto 50px auto; color: var(--text-secondary); font-weight: 400; font-size: var(--fs-body); line-height: 1.65; }
.micro-copy-final { font-size: var(--fs-micro); color: var(--text-secondary); margin-top: 20px; font-weight: 400; }

/* ===== TEASER VIA GW ===== */

/* ===== FOOTER COMPLETO ===== */
footer {
  border-top: 1px solid rgba(255, 255, 255, 0.05);
  padding: 50px 20px 35px 20px;
  position: relative; z-index: 2;
  font-size: var(--fs-micro); color: var(--text-secondary); font-weight: 400;
}
.footer-grid {
  max-width: 1400px; margin: 0 auto;
  display: grid; grid-template-columns: 1fr; gap: 30px;
}
@media (min-width: 768px) { .footer-grid { grid-template-columns: 2fr 1fr 1fr; padding: 0 20px; } }
.footer-col h4 {
  font-family: var(--font-ui); font-weight: 700; font-size: var(--fs-micro);
  letter-spacing: 0.1em; color: var(--text-pure); margin-bottom: 14px;
}
.footer-col p, .footer-col a { color: var(--text-secondary); line-height: 1.8; text-decoration: none; display: block; }
.footer-legal { font-size: calc(var(--fs-micro) * 0.95); color: rgba(255,255,255,0.4); line-height: 1.7; margin-top: 0; }
.footer-col a:hover { color: var(--brand-orange); }
.footer-bottom {
  max-width: 1400px; margin: 40px auto 0 auto; padding-top: 25px;
  border-top: 1px solid rgba(255, 255, 255, 0.05); text-align: center;
}


/* ===== AJUSTES PARA TELAS ESTREITAS (<=430px) ===== */
@media (max-width: 430px) {
  /* "UNIVERSITARIOS." (15 glifos inquebraveis em Syne 900) precisa caber
     na largura util; dimensionado para nao cortar nem em 320px */
  .brutalism-headline span { font-size: clamp(1.6rem, 0.66rem + 5.5vw, 2.2rem); }
  .quote-headline span { font-size: clamp(1.45rem, 0.6rem + 4.6vw, 1.9rem); }

  /* Rotulos longos das estatisticas em 3 colunas: hifenizacao + respiro */
  .stats-grid { gap: 10px; }
  .stat-label { overflow-wrap: break-word; hyphens: auto; }

  .edition-banner { padding: 16px 16px; gap: 12px 20px; }
}






/* ===== PÁGINA DE POLÍTICA DE PRIVACIDADE (leitura longa) ===== */
.policy-main { padding-top: 120px; padding-bottom: 8vh; }
.policy-header { margin-bottom: 50px; }
.policy-header h1 { font-size: var(--fs-h2); letter-spacing: -0.02em; margin-bottom: 14px; }
.policy-updated { font-size: var(--fs-micro); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.08em; }
.policy-toc {
  border: 1px solid rgba(255,255,255,0.1); padding: 28px 30px; margin-bottom: 60px;
  max-width: var(--measure-wide);
}
.policy-toc h2 { font-size: var(--fs-micro); text-transform: uppercase; letter-spacing: 0.1em; color: var(--brand-orange); margin-bottom: 16px; font-family: var(--font-ui); font-weight: 700; }
.policy-toc ol { list-style: none; counter-reset: toc; display: grid; grid-template-columns: 1fr; gap: 8px; }
@media (min-width: 768px) { .policy-toc ol { grid-template-columns: 1fr 1fr; gap: 8px 40px; } }
.policy-toc li { counter-increment: toc; }
.policy-toc a { color: var(--text-muted); text-decoration: none; font-size: var(--fs-ui); line-height: 1.5; transition: color 0.2s ease; }
.policy-toc a::before { content: counter(toc) ". "; color: var(--brand-orange); font-weight: 600; }
.policy-toc a:hover { color: var(--brand-orange); }
.policy-body { max-width: var(--measure-text); }
.policy-section { margin-bottom: 45px; scroll-margin-top: 100px; }
.policy-section h2 {
  font-size: var(--fs-h3); letter-spacing: -0.01em; margin-bottom: 18px;
  padding-top: 10px; line-height: 1.2;
}
.policy-section p { font-size: var(--fs-body); color: var(--text-muted); font-weight: 400; line-height: 1.75; margin-bottom: 16px; }
.policy-section ul { list-style: none; margin: 0 0 16px 0; }
.policy-section li { font-size: var(--fs-body); color: var(--text-muted); font-weight: 400; line-height: 1.7; padding-left: 22px; position: relative; margin-bottom: 10px; }
.policy-section li::before { content: "—"; color: var(--brand-orange); position: absolute; left: 0; }
.policy-section a { color: var(--brand-orange); text-decoration: underline; }
.policy-section strong { color: var(--text-pure); font-weight: 600; }
.policy-callout {
  border-left: 2px solid var(--brand-orange); background: rgba(255,121,22,0.05);
  padding: 20px 24px; margin: 24px 0;
}
.policy-callout p { margin-bottom: 0; color: var(--text-pure); }

/* ===== SEÇÃO ENTIDADES ESTUDANTIS (captação de parceiras) ===== */
.entidades-section {
  padding: 9vh 0; border-top: 1px solid rgba(255,255,255,0.05);
  position: relative; z-index: 2;
}
.entidades-kicker {
  font-size: var(--fs-micro); text-transform: uppercase; letter-spacing: 0.12em;
  color: var(--brand-orange); font-weight: 600; display: block; margin-bottom: 16px;
}
.entidades-section h2 { font-size: var(--fs-h2); margin-bottom: 20px; max-width: 14ch; }
.entidades-lead {
  font-size: var(--fs-body); color: var(--text-muted); font-weight: 400;
  line-height: 1.7; max-width: var(--measure-text); margin-bottom: 50px;
}
.entidades-lead strong { color: var(--text-pure); font-weight: 600; }
.ent-pillars { display: grid; grid-template-columns: 1fr; gap: 30px; margin-bottom: 50px; }
@media (min-width: 768px) { .ent-pillars { grid-template-columns: repeat(3, 1fr); gap: 28px; } }
.ent-pillar { border-top: 2px solid rgba(255,121,22,0.4); padding-top: 24px; }
.ent-pillar .ent-icon {
  font-family: var(--font-display); font-weight: 900; font-size: 1.1rem;
  color: var(--brand-orange); letter-spacing: 0.05em; display: block; margin-bottom: 12px;
}
.ent-pillar h3 {
  font-size: 1.05rem; font-family: var(--font-display); font-weight: 900;
  letter-spacing: 0.01em; line-height: 1.15; margin-bottom: 10px; color: var(--text-pure);
}
.ent-pillar p { font-size: var(--fs-ui); color: var(--text-secondary); font-weight: 400; line-height: 1.55; }
.ent-cta-row {
  display: flex; flex-direction: column; gap: 18px; align-items: flex-start;
}
@media (min-width: 768px) { .ent-cta-row { flex-direction: row; align-items: center; gap: 28px; } }
.ent-cta-note { font-size: var(--fs-ui); color: var(--text-secondary); font-weight: 400; line-height: 1.5; max-width: 42ch; }

/* ===== SELO DE AVALIAÇÃO GOOGLE (prova de terceiro) ===== */
.google-rating {
  display: inline-flex; align-items: center; gap: 12px;
  margin-top: 28px; padding: 11px 18px;
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: 2px;
  text-decoration: none;
  transition: border-color 0.3s ease, transform 0.3s ease;
}
.google-rating:hover { border-color: var(--brand-orange); transform: translateY(-2px); }
.google-rating .gr-score {
  font-family: var(--font-display); font-weight: 900; letter-spacing: -0.01em;
  font-size: 1.35rem; color: var(--text-pure); line-height: 1;
}
.google-rating .gr-stars { display: inline-flex; gap: 1px; }
.google-rating .gr-stars svg { width: 15px; height: 15px; display: block; }
.google-rating .gr-text {
  font-family: var(--font-ui); font-size: var(--fs-micro); font-weight: 500;
  color: var(--text-secondary); line-height: 1.3;
  border-left: 1px solid rgba(255,255,255,0.14); padding-left: 12px;
}
.google-rating .gr-text strong { color: var(--text-muted); font-weight: 600; display: block; }
.google-rating .gr-text .gr-google { color: var(--brand-orange); }
@media (max-width: 430px) {
  .google-rating { gap: 9px; padding: 10px 14px; }
  .google-rating .gr-score { font-size: 1.15rem; }
  .google-rating .gr-stars svg { width: 13px; height: 13px; }
}

/* ===== FAIXA DE CREDIBILIDADE (home) ===== */
.trust-strip {
  margin-top: 55px; padding-top: 30px;
  border-top: 1px solid rgba(255,255,255,0.1);
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px;
  max-width: 720px;
}
.trust-item { text-align: left; }
.trust-item .trust-num {
  font-family: var(--font-display); font-weight: 900; letter-spacing: -0.01em;
  font-size: clamp(1.5rem, 1.1rem + 1.6vw, 2.2rem); color: var(--brand-orange); display: block; line-height: 1;
}
.trust-item .trust-label {
  font-size: var(--fs-micro); text-transform: uppercase; letter-spacing: 0.06em;
  color: var(--text-secondary); font-weight: 500; margin-top: 8px; display: block;
}

/* ===== COMO FUNCIONA (passo a passo) ===== */
.steps-section { padding: 8vh 0; }
.steps-section h2 { font-size: var(--fs-h2); margin-bottom: 12px; }
.steps-intro { font-size: var(--fs-body); color: var(--text-secondary); font-weight: 400; line-height: 1.65; max-width: var(--measure-text); margin-bottom: 45px; }
.steps-grid { display: grid; grid-template-columns: 1fr; gap: 30px; }
@media (min-width: 768px) { .steps-grid { grid-template-columns: repeat(4, 1fr); gap: 24px; } }
.steps-grid-3 { gap: 28px; }
@media (min-width: 768px) { .steps-grid-3 { grid-template-columns: repeat(3, 1fr); gap: 28px; } }
.step-card { position: relative; padding-top: 28px; border-top: 2px solid rgba(255,121,22,0.4); }
.step-num {
  font-family: var(--font-display); font-weight: 900; font-size: 1.1rem;
  color: var(--brand-orange); letter-spacing: 0.05em; display: block; margin-bottom: 12px;
}
.step-card h3 {
  font-size: 1.05rem; font-family: var(--font-display); font-weight: 900;
  letter-spacing: 0.01em; line-height: 1.15; margin-bottom: 10px; color: var(--text-pure);
}
.step-card p { font-size: var(--fs-ui); color: var(--text-secondary); font-weight: 400; line-height: 1.55; }

/* ===== PLACEHOLDER DE GALERIA / FOTOS ===== */
.gallery-section { padding: 6vh 0; }
.gallery-section h2 { font-size: var(--fs-h2); margin-bottom: 12px; }
.gallery-section .gallery-intro { font-size: var(--fs-body); color: var(--text-secondary); font-weight: 400; max-width: var(--measure-text); margin-bottom: 40px; line-height: 1.65; }
.gallery-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
@media (min-width: 768px) { .gallery-grid { grid-template-columns: repeat(4, 1fr); gap: 16px; } }
.gallery-grid.feature { grid-template-columns: 1fr; }
@media (min-width: 768px) { .gallery-grid.feature { grid-template-columns: 2fr 1fr 1fr; grid-template-rows: 1fr 1fr; } }
.photo-slot {
  background: rgba(255,255,255,0.04);
  border: 1px dashed rgba(255,121,22,0.4);
  aspect-ratio: 4 / 3; display: flex; align-items: center; justify-content: center;
  text-align: center; padding: 16px;
}
.gallery-grid.feature .photo-slot:first-child,
.gallery-grid.feature .photo-real:first-child { grid-row: span 2; aspect-ratio: auto; min-height: 240px; height: 100%; }
.photo-slot span {
  font-size: var(--fs-micro); text-transform: uppercase; letter-spacing: 0.08em;
  color: rgba(255,121,22,0.7); font-weight: 600; line-height: 1.4;
}
/* Quando virar foto real: trocar .photo-slot por <img class="photo-real"> */
.photo-real { width: 100%; height: 100%; object-fit: cover; display: block; }

/* ===== FUNDADOR ===== */
.founder-section { padding: 8vh 0; border-top: 1px solid rgba(255,255,255,0.05); }
.founder-grid { display: grid; grid-template-columns: 1fr; gap: 35px; align-items: center; }
@media (min-width: 768px) { .founder-grid { grid-template-columns: 280px 1fr; gap: 50px; } }
.founder-photo {
  background: rgba(255,255,255,0.04);
  border: 1px dashed rgba(255,121,22,0.4);
  aspect-ratio: 1; display: flex; align-items: center; justify-content: center;
  text-align: center; padding: 20px;
}
.founder-photo span { font-size: var(--fs-micro); text-transform: uppercase; letter-spacing: 0.08em; color: rgba(255,121,22,0.7); font-weight: 600; line-height: 1.4; }
.founder-content .founder-kicker { font-size: var(--fs-micro); text-transform: uppercase; letter-spacing: 0.1em; color: var(--brand-orange); font-weight: 600; display: block; margin-bottom: 14px; }
.founder-content h2 { font-size: var(--fs-h3); margin-bottom: 18px; }
.founder-content p { font-size: var(--fs-body); color: var(--text-muted); font-weight: 400; line-height: 1.7; max-width: var(--measure-text); margin-bottom: 16px; }
.founder-signature { font-family: var(--font-display); font-weight: 900; text-transform: uppercase; letter-spacing: 0.01em; color: var(--text-pure); font-size: 1rem; margin-top: 6px; }
.founder-signature span { display: block; font-family: var(--font-ui); font-weight: 400; text-transform: none; letter-spacing: 0; color: var(--text-secondary); font-size: var(--fs-ui); margin-top: 4px; }

/* ===== POS-CONVERSAO: proximo passo ===== */
.feedback-next { margin-top: 18px; font-size: var(--fs-ui); }
.feedback-next a { color: var(--brand-orange); text-decoration: underline; }

/* ===== BANNER DE COOKIES (LGPD + Google Consent Mode v2) ===== */
.cookie-banner {
  position: fixed; bottom: 0; left: 0; right: 0; z-index: 200;
  background: rgba(0, 0, 0, 0.92);
  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
  border-top: 1px solid rgba(255, 121, 22, 0.4);
  padding: 22px 20px;
  display: none;
}
.cookie-banner.visible { display: block; }
.cookie-inner {
  max-width: 1400px; margin: 0 auto;
  display: flex; flex-direction: column; gap: 18px;
}
@media (min-width: 900px) {
  .cookie-inner { flex-direction: row; align-items: center; justify-content: space-between; gap: 40px; }
}
.cookie-text {
  font-size: var(--fs-ui); font-weight: 400; line-height: 1.55;
  color: var(--text-muted); max-width: var(--measure-wide);
}
.cookie-text a { color: var(--brand-orange); text-decoration: underline; }
.cookie-actions { display: flex; gap: 12px; flex-shrink: 0; }
.cookie-btn {
  font-family: var(--font-ui); font-weight: 600; text-transform: uppercase;
  letter-spacing: 0.08em; text-indent: 0.08em; font-size: var(--fs-micro);
  padding: 14px 26px; cursor: pointer; transition: all 0.3s ease;
  flex: 1 1 0; white-space: nowrap;
}
@media (min-width: 900px) { .cookie-btn { flex: 0 0 auto; } }
.cookie-btn.accept { background: var(--brand-orange); color: #000; border: 1px solid var(--brand-orange); }
.cookie-btn.accept:hover { background: var(--text-pure); border-color: var(--text-pure); }
.cookie-btn.reject { background: transparent; color: var(--text-pure); border: 1px solid rgba(255,255,255,0.4); }
.cookie-btn.reject:hover { border-color: var(--text-pure); }

/* ===== REDUCED MOTION ===== */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .marquee-track { animation: none; }
  .route-card:hover { transform: none; }
}
