/* ═══════════════════════════════════════════════════
   EM CONSULTORIA — Design System v3
   Paleta: Off-white quente / Grafite / Ouro
   Tipografia: Lora + Outfit
   ═══════════════════════════════════════════════════ */

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}

:root {
  /* === 60/30/10 COLOR RULE ===
     60% Primary (backgrounds, canvas): --color-base
     30% Secondary (cards, inputs, borders): --color-base-alt, --color-support
     10% Accent (CTAs, links, icons): --color-accent
  */
  --color-base: #FBFAF8;
  --color-base-alt: #F2EFEA;
  --color-base-warm: #EDEAE1;
  --color-base-deep: #F5EDDC;
  --color-support: #1A1A2E;
  --color-support-light: #252540;
  --color-support-muted: #3A3A50;
  --color-accent: #B48C1E;
  --color-accent-hover: #966F14;
  --color-accent-light: rgba(180,140,30,0.08);
  --color-text-primary: #1A1A2E;
  --color-text-secondary: #4A4A4A;
  --color-text-muted: #7A7A7A;
  --color-text-inverse: #FBFAF8;
  --color-border: rgba(26,26,46,0.05);
  --color-border-strong: rgba(26,26,46,0.09);
  --color-white: #FEFDFB;

  /*--font-display: 'Montserrat', sans-serif;*/
    --font-display: 'Lora', Georgia, serif; 
  --font-body: 'Outfit', system-ui, sans-serif;

  /* Typography — guide: nav 15px, paragraph 18px */
  --text-xs: 0.75rem;       /* 12px — micro labels */
  --text-sm: 0.8125rem;     /* 13px — captions */
  --text-nav: 1.125rem;    /* 15px — navigation links */
  --text-base: 1.125rem;    /* 18px — paragraph text */
  --text-lg: 1.25rem;       /* 20px */
  --text-xl: 1.5rem;        /* 24px */
  --text-2xl: clamp(1.5rem, 5vw, 2rem);         
  --text-3xl: clamp(1.8rem, 7vw, 2.75rem);
  --text-4xl: 3.5rem;       /* 56px */
  --text-5xl: clamp(2.75rem, 1.6rem + 5.75vw, 5rem);

  /* Spacing — guide scale: 4 / 8 / 16 / 24 / 32-40 / 56-72+ */
  --space-xs: 0.25rem;      /* 4px — attached elements */
  --space-sm: 0.5rem;       /* 8px — same group */
  --space-md: 1rem;         /* 16px — standard breathing */
  --space-lg: 1.5rem;       /* 24px — group separation */
  --space-xl: 2rem;         /* 32px — topic division */
  --space-2xl: 2.5rem;      /* 40px — topic division */
  --space-3xl: 3.5rem;      /* 56px — macro transition */
  --space-4xl: 4.5rem;      /* 72px — macro transition */
  --space-section: clamp(3.5rem, 2.5rem + 5vw, 4.5rem);

  /* Grid — guide: 12 columns, max-width 1200px, gutter 24px */
  --max-width: 1200px;
  --gutter: 1.5rem;         /* 24px — fixed, matches guide */

  --ease-out: cubic-bezier(0.23, 1, 0.32, 1);
  --ease-in-out: cubic-bezier(0.77, 0, 0.175, 1);
  --ease-drawer: cubic-bezier(0.32, 0.72, 0, 1);

  --shadow-sm: 0 1px 3px rgba(26,26,46,0.03);
  --shadow-md: 0 4px 16px rgba(26,26,46,0.05);
  --shadow-lg: 0 12px 40px rgba(26,26,46,0.07);

  /* Border radius — guide: 16px default */
  --radius-default: 1rem;   /* 16px — cards, buttons, inputs */
  --radius-sm: 0.5rem;      /* 8px — small elements */
  --radius-lg: 1.5rem;      /* 24px — large containers */
  --radius-full: 9999px;
}

html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}

body {
  font-family: var(--font-body);
  font-size: var(--text-base);
  font-weight: 400;
  line-height: 1.65;
  color: var(--color-text-primary);
  background-color: var(--color-base);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}

/* #7 Subtle noise texture for depth — fixed, pointer-events-none, GPU-friendly */
body::after {
  content: '';
  position: fixed;
  inset: 0;
  z-index: 9999;
  pointer-events: none;
  opacity: 0.025;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-repeat: repeat;
  background-size: 256px 256px;
}

.skip-link{position:absolute;top:-100%;left:var(--gutter);background:var(--color-support);color:var(--color-text-inverse);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:400;z-index:1000;transition:top 200ms var(--ease-out)}
.skip-link:focus{top:var(--space-md);outline:2px solid var(--color-accent);outline-offset:2px}

.container{width:100%;max-width:var(--max-width);margin-inline:auto;padding-inline:var(--gutter)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none}
ul,ol{list-style:none}
:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}

/* --- TYPOGRAPHY --- */
.heading-display {
  font-family: var(--font-display);
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: -0.01em;
}

.heading-section {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: var(--text-3xl);
  line-height: 1.18;
  letter-spacing: -0.005em;
}

.label-upper {
  font-family: var(--font-body);
  font-size: var(--text-xs);
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--color-accent);
}

.text-body {
  font-size: var(--text-base);
  line-height: 1.7;
  color: var(--color-text-secondary);
  max-width: 65ch;
}

/* --- BUTTONS --- */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-sm);
  font-family: var(--font-body);
  font-size: var(--text-sm);
  font-weight: 400;
  padding: 0.75rem 1.5rem;
  border-radius: var(--radius-default);
  transition: transform 140ms var(--ease-out), background-color 200ms ease, box-shadow 200ms ease;
  white-space: nowrap;
  min-height: 48px;
  position: relative;
  overflow: hidden;
}
.btn:active{transform:scale(0.97)}

.btn-primary {
  background-color: var(--color-accent);
  color: var(--color-white);
  box-shadow: 0 2px 8px rgba(180,140,30,0.2);
}
.btn-secondary {
  background-color: var(--color-accent-light);
  color: var(--color-text-primary);
  border: 1px solid var(--color-border-strong);
}
.btn-ghost {
  background-color: transparent;
  color: var(--color-accent);
  padding: 0.75rem 0;
  font-weight: 400;
  transition: color 200ms ease, transform 120ms var(--ease-out);
}
.btn-ghost:active{transform:translateY(1px)}

/* Hero outline button on dark bg */
.hero-btn-outline.btn-secondary {
  background-color: transparent;
  color: var(--color-text-inverse);
  border: 1px solid rgba(251,250,248,0.25);
}

@media (hover:hover) and (pointer:fine) {
  .btn-primary:hover{background-color:var(--color-accent-hover);box-shadow:0 6px 20px rgba(180,140,30,0.3);transform:translateY(-1px)}
  .btn-secondary:hover{background-color:var(--color-accent-light);border-color:var(--color-accent);color:var(--color-accent)}
  .hero-btn-outline.btn-secondary:hover{background-color:rgba(251,250,248,0.08);border-color:rgba(251,250,248,0.5);color:var(--color-text-inverse)}
  .btn-ghost:hover{color:var(--color-accent-hover)}
}

/* --- HEADER --- */
.site-header {
  position: fixed; top: 0; left: 0; right: 0; z-index: 100;
  padding: var(--space-md) 0;
  transition: background-color 280ms var(--ease-out), padding 200ms var(--ease-out), box-shadow 280ms var(--ease-out);
}

.site-header.scrolled {
  background-color: var(--color-support);
  backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
  padding: var(--space-sm) 0;
  box-shadow: 0 1px 0 var(--color-border);
}

.header-inner {
  display: flex; 
  align-items: center; 
  justify-content: space-between;
}

.header-inner{display:flex;align-items:center;justify-content:space-between}

/* --- NAV SEMPRE AZUL (página privacidade) --- */
.site-header.nav-solid-dark{
  background-color: var(--color-text-primary) !important;
  backdrop-filter: none !important;
  box-shadow: 0 1px 0 rgba(251,250,248,0.08) !important;
}
.site-header.nav-solid-dark .logo,
.site-header.nav-solid-dark .nav-desktop a,
.site-header.nav-solid-dark .nav-cta.btn{
  color: var(--color-text-inverse) !important;
}
.site-header.nav-solid-dark .nav-cta.btn{
  border-color: rgba(251,250,248,0.25) !important;
}
@media (hover:hover) and (pointer:fine){
  .site-header.nav-solid-dark .nav-desktop a:hover{color: var(--color-accent) !important}
}

/* --- LOGO --- */
.logo {
  display: flex;
  align-items: center;
}

.logo img {
  display: block;
  height: 85px;
  width: auto;
  transition: opacity 0.2s ease;
}

.logo:hover img {
  opacity: 0.8;
}

/* --- NAVEGAÇÃO --- */
.site-header:not(.scrolled) .nav-desktop a { color: rgba(251,250,248,0.7); }
.site-header:not(.scrolled) .menu-toggle span { background-color: var(--color-text-inverse); }

.nav-desktop {
  display: none; 
  align-items: center; 
  gap: var(--space-2xl);
}

.nav-desktop a {
  font-size: var(--text-nav); 
  font-weight: 400; 
  color: var(--color-text-inverse);
  transition: color 200ms ease; 
  position: relative;
}

.nav-desktop a::after {
  content: ''; 
  position: absolute; 
  bottom: -4px; 
  left: 0; 
  width: 0; 
  height: 1.5px; 
  background-color: var(--color-accent); 
  transition: width 200ms var(--ease-out);
}

@media (hover:hover) and (pointer:fine) {
  .nav-desktop a:hover { color: var(--color-text-inverse); }
  .nav-desktop a:hover::after { width: 100%; }
  .site-header:not(.scrolled) .nav-desktop a:hover { color: var(--color-text-inverse); }
}

/* --- BOTÃO CONTATO SÓLIDO NAV --- */
.nav-cta{display:none}
.btn-wa-nav {
  background-color: var(--color-accent) !important; 
  color: var(--color-white) !important;
  border-radius: var(--radius-full) !important;
  border: none !important;
  padding: 0.6rem 1.25rem !important;
  align-items: center !important;
  gap: 8px !important;
  font-weight: 500 !important;
  font-size: var(--text-sm) !important;
  box-shadow: 0 4px 12px rgba(26,26,46,0.15) !important;
  transition: all 200ms ease !important;
}

.btn-wa-nav:hover {
  background-color: var(--color-accent) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 16px rgba(26,26,46,0.25) !important;
}

.site-header.scrolled .btn-wa-nav {
  /* Mantém a cor original mesmo quando rola a página para baixo */
  background-color: var(--color-accent) !important;
  color: var(--color-white) !important;
}
/* --- NAV DROPDOWN (CSS only) --- */
.nav-dropdown-wrap{position:relative}
.nav-dropdown-trigger{cursor:pointer}
.nav-dropdown-trigger::before{content:'';position:absolute;bottom:-16px;left:0;right:0;height:16px}

.nav-dropdown {
  position:absolute;
  top:calc(100% + 12px);
  left:50%;
  transform:translateX(-50%) translateY(-4px);
  width:280px;
  background-color:var(--color-base);
  border:1px solid var(--color-border-strong);
  border-radius:var(--radius-default);
  padding:var(--space-sm);
  opacity:0;
  pointer-events:none;
  transition:opacity 200ms var(--ease-out),transform 200ms var(--ease-out);
  box-shadow:var(--shadow-lg);
  z-index:110;
}

.nav-dropdown-wrap:hover .nav-dropdown {
  opacity:1;
  pointer-events:auto;
  transform:translateX(-50%) translateY(0);
}

.site-header.scrolled .nav-dropdown{background-color:var(--color-base)}
.site-header:not(.scrolled) .nav-dropdown{background-color:var(--color-base)}

.nav-dropdown-item {
  display:flex;
  flex-direction:column;
  gap:2px;
  padding:var(--space-sm) var(--space-md);
  border-radius:var(--radius-sm);
  transition:background-color 150ms ease;
  text-decoration:none;
}
.nav-dropdown-item:hover{background-color:var(--color-base-alt)}
.nav-dropdown-item::after{display:none}

.nav-dropdown-label{font-size:var(--text-nav);font-weight:400;color:var(--color-text-primary)}
.nav-dropdown-desc{font-size:var(--text-xs);color:var(--color-text-muted);font-weight:300}

/* --- MOBILE NAV SUB-LINKS --- */
.nav-mobile-sub{display:flex;flex-direction:column;gap:0;padding-left:var(--space-lg);margin-top:calc(-1 * var(--space-sm))}
.nav-mobile-sub a{font-size:var(--text-base);color:var(--color-text-muted);border-bottom:1px solid var(--color-border);padding:var(--space-sm) 0}

.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:10px}
.menu-toggle span{display:block;width:100%;height:1.5px;background-color:var(--color-text-inverse);border-radius:2px;transition:transform 250ms var(--ease-out),opacity 150ms ease;transform-origin:center}
.menu-toggle.active span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.menu-toggle.active span:nth-child(2){opacity:0}
.menu-toggle.active span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

.nav-mobile{position:fixed;top:0;left:0;right:0;background-color:var(--color-support);padding:0 var(--space-2xl);display:flex;flex-direction:column;gap:var(--space-lg);max-height:0;overflow:hidden;opacity:0;transition:max-height 400ms var(--ease-out),opacity 300ms var(--ease-out),padding 300ms var(--ease-out);z-index:98;box-shadow:0 8px 32px rgba(0,0,0,0.3)}
.nav-mobile.open{max-height:100dvh;opacity:1;padding-top:116px;padding-bottom:var(--space-2xl)}
.nav-mobile a{font-size:var(--text-xl);font-weight:400;color:var(--color-text-inverse);padding:var(--space-sm) 0;border-bottom:1px solid rgba(251,250,248,0.08)}

.nav-overlay{position:fixed;inset:0;background:rgba(26,26,46,0.25);z-index:98;opacity:0;pointer-events:none;transition:opacity 180ms var(--ease-out)}
.nav-overlay.visible{opacity:1;pointer-events:auto;transition:opacity 280ms var(--ease-out)}

/* --- HERO --- */
.hero{position:relative;min-height:100dvh;display:flex;align-items:center;padding-top:6rem;padding-bottom:var(--space-4xl);overflow:hidden}

.hero-bg {
  position:absolute;inset:0;z-index:0;
  background:
    radial-gradient(ellipse at 20% 80%, #1A1A2E 0%, transparent 60%),
    radial-gradient(ellipse at 80% 20%, rgba(180,140,30,0.3) 0%, transparent 50%),
    radial-gradient(ellipse at 50% 50%, #252540 0%, transparent 70%),
    #1A1A2E;
}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center 40%;will-change:transform;transform:scale(1.05);filter:blur(1.5px)}
.hero-bg::after {
  content:'';position:absolute;inset:0;
  background:
    linear-gradient(to bottom, rgba(26,26,46,0.7) 0%, rgba(26,26,46,0.2) 25%, transparent 40%),
    linear-gradient(to top, rgba(26,26,46,0.92) 0%, rgba(26,26,46,0.7) 40%, rgba(26,26,46,0.5) 70%, rgba(26,26,46,0.35) 100%);
}

.hero-content{position:relative;z-index:1;max-width:780px}

.hero .label-upper{color:var(--color-text-inverse);margin-bottom:var(--space-lg);opacity:0;transform:translateY(8px);animation:fadeUp 500ms var(--ease-out) 200ms forwards}

.hero-title { 
  font-family: var(--font-display); 
  font-size: clamp(4rem, 10vw, 5.5rem); /* Ajustado para forçar o texto a crescer mais em telas grandes */
  font-weight: 300; 
  line-height: 1.05; /* Reduzido levemente para um espaçamento mais justo entre as linhas */
  letter-spacing: -0.015em; 
  color: var(--color-text-inverse); 
  margin-bottom: var(--space-lg); 
  opacity:0;
  transform:translateY(8px);
  animation:fadeUp 600ms var(--ease-out) 350ms forwards; 
  max-width: 850px; /* Garante que o texto ocupe mais espaço na tela antes de quebrar a linha */
}

.hero-title em{color:var(--color-accent);font-style:italic}

.hero-subtitle{font-size:var(--text-lg);line-height:1.6;color:rgba(251,250,248,0.75);margin-bottom:var(--space-2xl);max-width:52ch;opacity:0;transform:translateY(8px);animation:fadeUp 500ms var(--ease-out) 500ms forwards}

.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-md);opacity:0;transform:translateY(8px);animation:fadeUp 500ms var(--ease-out) 620ms forwards}

/* --- NUMBERS --- */
.numbers-bar{background-color:var(--color-support);padding:var(--space-3xl) 0}
.numbers-grid{display:grid;grid-template-columns:1fr;gap:var(--space-xl);text-align:center}
.number-item{display:flex;flex-direction:column;gap:var(--space-xs)}
.number-value{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:400;color:var(--color-accent);line-height:1}
.number-label{font-size:var(--text-sm);color:rgba(251,250,248,0.65);font-weight:300}

/* --- LOGO CLOUD --- */
.logo-cloud{background-color:var(--color-base);padding:var(--space-3xl) 0;text-align:center}
.logo-cloud-title{font-size:var(--text-sm);font-weight:400;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:0.1em;margin-bottom:var(--space-xl)}
.logo-cloud-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-lg);align-items:center;max-width:900px;margin:0 auto}
.logo-cloud-item{display:flex;align-items:center;justify-content:center;padding:var(--space-lg) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-default);min-height:80px;transition:border-color 200ms ease}
.logo-placeholder{font-size:var(--text-sm);color:var(--color-text-muted);font-weight:300;letter-spacing:0.05em}

@media (hover:hover) and (pointer:fine){.logo-cloud-item:hover{border-color:var(--color-border-strong)}}
@media (min-width:640px){.logo-cloud-grid{grid-template-columns:repeat(3,1fr)}}
@media (min-width:960px){.logo-cloud-grid{grid-template-columns:repeat(6,1fr)}}

/* --- SECTIONS --- */
.section{padding:var(--space-section) 0}
.section-problem{background-color:var(--color-base);padding:var(--space-4xl) 0}
.section-label{margin-bottom:var(--space-md)}
.section-title{margin-bottom:var(--space-lg)}
.section-subtitle{margin-bottom:var(--space-3xl)}

/* --- IMAGE BANNER --- */
.section-image-banner{position:relative;padding:var(--space-4xl) 0;overflow:hidden;min-height:420px;display:flex;align-items:center}
.section-image-banner .banner-bg{position:absolute;inset:0;z-index:0}
.section-image-banner .banner-bg img{width:100%;height:100%;object-fit:cover}
.section-image-banner .banner-bg::after{content:'';position:absolute;inset:0;background:rgba(26,26,46,0.72)}
.section-image-banner .banner-content{position:relative;z-index:1;text-align:center;max-width:640px;margin:0 auto}
.section-image-banner .banner-content h2{color:var(--color-text-inverse);margin-bottom:var(--space-lg)}
.section-image-banner .banner-content h2 em{color:var(--color-accent);font-style:italic}
.section-image-banner .banner-content p{color:rgba(251,250,248,0.72);font-size:var(--text-lg);line-height:1.6;margin-bottom:var(--space-2xl)}

/* --- PROGRAMAS (HORIZONTAL 2x2) --- */
.programs-grid-2x2 {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-lg);
  margin-top: var(--space-3xl);
}

/* Coloca 2 colunas no desktop */
@media (min-width: 960px) {
  .programs-grid-2x2 {
    grid-template-columns: repeat(2, 1fr);
  }
}

.program-card-horizontal {
  display: flex;
  flex-direction: row;
  align-items: center;
  background-color: var(--color-white);
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-border);
  transition: transform 250ms var(--ease-out), box-shadow 250ms var(--ease-out);
  padding: var(--space-lg);
  gap: var(--space-lg);
  text-decoration: none;
  color: inherit;
}

.program-card-horizontal:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-lg);
}

/* Caixa com fundo claro para a Logo na esquerda */
.card-hz-logo {
  width: 100px;
  height: 100px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-base);
  border-radius: var(--radius-md);
  padding: var(--space-sm);
}

.card-hz-logo img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

/* Textos na direita */
.card-hz-body {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}

.program-card-tag {
  display: inline-flex;
  align-items: center;
  font-size: var(--text-xs);
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--color-accent);
  background-color: var(--color-accent-light);
  padding: var(--space-xs) var(--space-md);
  border-radius: var(--radius-full);
  width: fit-content;
  margin-bottom: 4px;
}

.card-hz-body h3 {
  font-family: var(--font-display);
  font-size: var(--text-2xl);
  font-weight: 400;
  line-height: 1.2;
}

.card-hz-body p {
  font-size: var(--text-sm);
  color: var(--color-text-secondary);
  line-height: 1.5;
}

/* Ajuste Mobile: Mantém horizontal, mas alinha pelo topo */
@media (max-width: 639px) {
  .program-card-horizontal {
    align-items: flex-start;
    padding: var(--space-md);
    gap: var(--space-md);
  }
  .card-hz-logo {
    width: 70px;
    height: 70px;
  }
}
/* --- PROCESSO --- */
.section-process{background-color:var(--color-base-alt)}
.process-grid{display:grid;grid-template-columns:1fr;gap:var(--space-lg);margin-top:var(--space-3xl);counter-reset:steps}
.process-step{counter-increment:steps;display:grid;grid-template-columns:48px 1fr;gap:var(--space-lg);padding:var(--space-lg);background-color:var(--color-white);border-radius:var(--radius-default);border:1px solid var(--color-border)}
.step-number{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:400;color:var(--color-accent);line-height:1}
.step-number::before{content:counter(steps, decimal-leading-zero)}
.step-content h3{font-family:var(--font-display);font-size:var(--text-xl);font-weight:400;margin-bottom:var(--space-sm);line-height:1.3}
.step-content p{font-size:var(--text-base);color:var(--color-text-secondary);line-height:1.65;max-width:55ch}

/* --- DEPOIMENTOS --- */
.section-testimonials{background-color:var(--color-base-alt);overflow:hidden}
.testimonials-track{display:flex;gap:var(--space-xl);padding:var(--space-3xl) 0;padding-left:var(--gutter);padding-right:var(--gutter);animation:scrollTestimonials 30s linear infinite}
.testimonials-track:hover{animation-play-state:paused}
.testimonial-card{flex:0 0 min(85vw,380px);scroll-snap-align:start;background-color:var(--color-white);border-radius:var(--radius-lg);padding:var(--space-2xl);border:1px solid var(--color-border);display:flex;flex-direction:column;gap:var(--space-lg)}
.testimonial-quote{font-family:var(--font-display);font-size:var(--text-lg);line-height:1.55;color:var(--color-text-primary);font-style:italic;padding:var(--space-lg);background-color:var(--color-accent-light);border-radius:var(--radius-default)}
.testimonial-author{display:flex;align-items:center;gap:var(--space-md);margin-top:auto}
.testimonial-avatar{width:44px;height:44px;border-radius:var(--radius-full);background-color:var(--color-accent-light);display:flex;align-items:center;justify-content:center;font-weight:400;font-size:var(--text-sm);color:var(--color-accent);flex-shrink:0}
.testimonial-name{font-weight:400;font-size:var(--text-sm);line-height:1.3}
.testimonial-title{font-size:var(--text-xs);color:var(--color-text-muted);font-weight:300}

@keyframes scrollTestimonials{
  0%{transform:translateX(0)}
  100%{transform:translateX(-50%)}
}

/* --- CITAÇÃO --- */
.section-quote{background-color:var(--color-base);padding:var(--space-4xl) 0}
.blockquote-wrapper{max-width:640px;margin:0 auto;text-align:center}
.blockquote-mark{font-family:var(--font-display);font-size:5rem;line-height:1;color:var(--color-accent);opacity:0.25;margin-bottom:var(--space-sm)}
.blockquote-text{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:400;line-height:1.25;color:var(--color-text-primary);margin-bottom:var(--space-lg)}
.blockquote-text em{color:var(--color-accent)}
.blockquote-author{font-size:var(--text-sm);color:var(--color-text-muted);font-weight:400;letter-spacing:0.06em;text-transform:uppercase}

@media (min-width:960px){
  .blockquote-wrapper{text-align:left;margin:0;margin-left:15vw;position:relative;padding-left:var(--space-3xl)}
  .blockquote-mark{position:absolute;left:0;top:-0.5rem;font-size:6rem;opacity:0.18}
}

/* --- CONTATO --- */
.section-contact{
  background-color:var(--color-support-light);
  color:var(--color-text-inverse);
  background-image: linear-gradient(rgba(26, 26, 46, 0.8), rgba(26, 26, 46, 0.8)), url('assets/images/bg-contato-hero.png');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}.contact-grid{display:grid;grid-template-columns:1fr;gap:var(--space-3xl)}
.contact-info .heading-section{color:var(--color-text-inverse);margin-bottom:var(--space-lg)}
.contact-info .heading-section em{color:var(--color-accent)}
.contact-description{font-size:var(--text-base);color:rgba(251,250,248,0.72);line-height:1.7;margin-bottom:var(--space-2xl);max-width:50ch;font-weight:300}
.contact-details{display:flex;flex-direction:column;gap:var(--space-lg)}
.contact-detail{display:flex;flex-direction:column;gap:2px}
.contact-detail-label{font-size:var(--text-xs);font-weight:400;text-transform:uppercase;letter-spacing:0.1em;color:var(--color-accent)}
.contact-detail-value{font-size:var(--text-sm);color:rgba(251,250,248,0.7);font-weight:300}
.contact-detail-value a{transition:color 200ms ease}
@media (hover:hover) and (pointer:fine){.contact-detail-value a:hover{color:var(--color-accent)}}

.contact-form{display:flex;flex-direction:column;gap:var(--space-lg)}
.form-group{display:flex;flex-direction:column;gap:var(--space-xs)}
.form-group label{font-size:var(--text-sm);font-weight:400;color:rgba(251,250,248,0.75)}
.form-group label .required{color:var(--color-accent)}
.form-group input,.form-group textarea,.form-group select{font-family:var(--font-body);font-size:var(--text-base);padding:1rem;background-color:rgba(251,250,248,0.04);border:1px solid rgba(251,250,248,0.06);border-radius:var(--radius-default);color:var(--color-text-inverse);transition:border-color 200ms ease,background-color 200ms ease;min-height:48px}
.form-group select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='rgba(251,250,248,0.4)' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10l-5 5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem}
.form-group select option{background-color:var(--color-support);color:var(--color-text-inverse)}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--color-accent);background-color:rgba(251,250,248,0.08)}
.form-group input::placeholder,.form-group textarea::placeholder{color:rgba(251,250,248,0.25)}
.form-group textarea{resize:vertical;min-height:120px}
.form-row{display:grid;grid-template-columns:1fr;gap:var(--space-lg)}
.form-error{font-size:var(--text-xs);color:#E8655A;display:none}
.form-group.error input,.form-group.error textarea,.form-group.error select{border-color:#E8655A}
.form-group.error .form-error{display:block}
.form-hp{position:absolute;left:-9999px;opacity:0;height:0;width:0;pointer-events:none}
.form-submit-area{display:flex;flex-direction:column;gap:var(--space-md);margin-top:var(--space-sm)}
.form-success{display:none;text-align:center;padding:var(--space-3xl) var(--space-xl)}
.form-success.visible{display:flex;flex-direction:column;align-items:center;gap:var(--space-lg)}
.form-success-icon{width:56px;height:56px;border-radius:var(--radius-full);background-color:rgba(180,140,30,0.12);display:flex;align-items:center;justify-content:center}
.form-success-icon svg{width:28px;height:28px;color:var(--color-accent)}
.form-success h3{font-family:var(--font-display);font-size:var(--text-2xl);color:var(--color-text-inverse)}
.form-success p{font-size:var(--text-base);color:rgba(251,250,248,0.6)}

/* --- FOOTER --- */
.site-footer{background-color:var(--color-support);border-top:1px solid rgba(251,250,248,0.04);padding:var(--space-3xl) 0 var(--space-xl)}
.footer-grid{display:grid;grid-template-columns:1fr;gap:var(--space-2xl);margin-bottom:var(--space-2xl)}
.footer-brand .logo{margin-bottom:var(--space-md);color:var(--color-text-inverse)}
.footer-tagline{font-size:var(--text-sm);color:rgba(251,250,248,0.55);max-width:35ch;line-height:1.6;font-weight:300}
.footer-nav-title{font-size:var(--text-xs);font-weight:400;text-transform:uppercase;letter-spacing:0.1em;color:var(--color-accent);margin-bottom:var(--space-md)}
.footer-nav a{display:block;font-size:var(--text-sm);color:rgba(251,250,248,0.65);padding:var(--space-sm) 0;transition:color 200ms ease;font-weight:300;min-height:44px;display:flex;align-items:center}
@media (hover:hover) and (pointer:fine){.footer-nav a:hover{color:var(--color-text-inverse)}}
.footer-bottom{padding-top:var(--space-xl);border-top:1px solid rgba(251,250,248,0.04);display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-md)}
.footer-copy{font-size:var(--text-xs);color:rgba(251,250,248,0.35)}
.footer-social a{font-size:var(--text-sm);color:rgba(251,250,248,0.55);transition:color 200ms ease}
@media (hover:hover) and (pointer:fine){.footer-social a:hover{color:var(--color-accent)}}

/* --- WHATSAPP --- */
.whatsapp-float{position:fixed;bottom:var(--space-xl);right:var(--space-xl);z-index:90;width:44px;height:44px;background-color:rgba(37,211,102,0.15);border:1px solid rgba(37,211,102,0.3);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:transform 160ms var(--ease-out),background-color 200ms ease}
.whatsapp-float svg{width:22px;height:22px;fill:#25D366}
@media (hover:hover) and (pointer:fine){.whatsapp-float:hover{background-color:rgba(37,211,102,0.25);transform:scale(1.06)}}
.whatsapp-float:active{transform:scale(0.95)}

/* --- ANIMATIONS --- */
@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}
.reveal{opacity:0;transform:translateY(8px);transition:opacity 400ms var(--ease-out),transform 400ms var(--ease-out)}
.reveal.visible{opacity:1;transform:translateY(0)}
.reveal-delay-1{transition-delay:60ms}
.reveal-delay-2{transition-delay:120ms}
.reveal-delay-3{transition-delay:180ms}

/* --- MOBILE UTILS --- */
.show-mobile{display:inline}
.hide-mobile{display:none}

/* --- LOGO CLOUD IMAGES --- */
.logo-cloud-item img{width:100%;height:60px;object-fit:contain;opacity:0.5;filter:grayscale(1);transition:opacity 200ms ease,filter 200ms ease}
@media (hover:hover) and (pointer:fine){.logo-cloud-item:hover img{opacity:0.8;filter:grayscale(0)}}

/* --- LGPD CONSENT --- */
.form-consent{margin-top:0}
.consent-label{display:flex;align-items:flex-start;gap:var(--space-sm);font-size:var(--text-xs);color:rgba(251,250,248,0.6);cursor:pointer;line-height:1.5}
.consent-label input[type="checkbox"]{width:18px;height:18px;flex-shrink:0;margin-top:1px;accent-color:var(--color-accent);cursor:pointer}
.consent-label a{color:var(--color-accent);text-decoration:underline;text-underline-offset:2px}

/* --- RESPONSIVE --- */
@media (min-width:640px){
  .numbers-grid{grid-template-columns:repeat(3,1fr)}
  .form-row{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:2fr 1fr 1fr}
  .show-mobile{display:none}
  .hide-mobile{display:inline}
}
@media (min-width:768px){
  .specialist-grid{grid-template-columns:1fr 1.4fr}
  .specialist-photo{margin:0;transform:translateY(-2rem)}
  .contact-grid{grid-template-columns:1fr 1fr}
  .testimonial-card{flex:0 0 380px}
}
@media (min-width:960px){
  .menu-toggle{display:none}
  .nav-desktop{display:flex}
  .nav-cta{display:inline-flex}
  .hero-content{max-width:780px}
  .process-grid{grid-template-columns:1fr 1fr;gap:var(--space-lg)}
}

/* --- MOBILE FIXES --- */
@media (max-width:639px){
  .hero-title{font-size:clamp(3rem, 9vw, 3.5rem)}
  .hero-actions{flex-direction:row;gap:var(--space-sm);flex-wrap:wrap}
  .hero-actions .btn{flex:1;min-width:140px;justify-content:center}
  .nav-mobile a{font-size:var(--text-base)}
  .nav-mobile-sub a{font-size:var(--text-sm)}
  .whatsapp-float{bottom:var(--space-md);right:var(--space-md)}
  .specialist-grid{gap:var(--space-xl)}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:0.01ms!important;transition-duration:0.01ms!important}
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none;transition:none}
  .hero .label-upper,.hero-title,.hero-subtitle,.hero-actions{opacity:1;transform:none;animation:none}
  .team-track{transition:none}
}

/* --- NUMBERS 4-COL --- */
.numbers-grid-4{grid-template-columns:repeat(2,1fr)}
@media (min-width:640px){.numbers-grid-4{grid-template-columns:repeat(4,1fr)}}

/* --- PROBLEM SPLIT LAYOUT --- */
.problem-split{display:grid;grid-template-columns:1fr;gap:var(--space-xl)}
.problem-text{display:flex;flex-direction:column;gap:var(--space-lg)}
.problem-text .section-title{font-size:var(--text-2xl);margin-bottom:0}
.problem-text .section-subtitle{margin-bottom:0}
.problem-image{position:relative;border-radius:var(--radius-default);overflow:hidden;min-height:300px}
.problem-image img{width:100%;height:100%;object-fit:cover}
.problem-image-overlay{position:absolute;inset:0;background:rgba(26,26,46,0.65);display:flex;flex-direction:column;justify-content:flex-end;padding:var(--space-xl);gap:var(--space-md)}
.problem-stat{display:flex;flex-direction:column;gap:2px}
.problem-stat-value{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:400;color:var(--color-accent)}
.problem-stat-label{font-size:var(--text-sm);color:rgba(251,250,248,0.8);font-weight:300}
@media (min-width:768px){.problem-split{grid-template-columns:1.2fr 1fr}}

/* --- LOGO CLOUD 20 ITEMS --- */
.logo-cloud-grid-20{grid-template-columns:repeat(2,1fr);gap:var(--space-md)}
.logo-cloud-grid-20 .logo-cloud-item{min-height:60px;padding:var(--space-sm)}
.logo-cloud-grid-20 .logo-cloud-item img{height:40px}
@media (min-width:640px){.logo-cloud-grid-20{grid-template-columns:repeat(4,1fr)}}
@media (min-width:960px){.logo-cloud-grid-20{grid-template-columns:repeat(5,1fr)}}

/* --- PROBLEM FULL BACKGROUND --- */
.section-problem-bg{position:relative;padding:var(--space-section) 0;overflow:hidden;min-height:500px}
.problem-bg-image{position:absolute;inset:0;z-index:0}
.problem-bg-image img{width:100%;height:100%;object-fit:cover}
.problem-bg-image::after{content:'';position:absolute;inset:0;background:rgba(26,26,46,0.72)}
.problem-bg-content{position:relative;z-index:1;max-width:780px}
.problem-bg-content .heading-section{font-size:var(--text-2xl);margin-bottom:var(--space-lg)}
.problem-stats-row{display:flex;flex-wrap:wrap;gap:var(--space-xl);margin-bottom:var(--space-xl)}
.problem-stat{display:flex;flex-direction:column;gap:2px}
.problem-stat-value{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:400;color:var(--color-accent)}
.problem-stat-label{font-size:var(--text-sm);color:rgba(251,250,248,0.75);font-weight:300}

/* --- CONTACT SECTION WITH BACKGROUND --- */
.section-contact-bg{position:relative;overflow:hidden}
.contact-bg-image{position:absolute;inset:0;z-index:0}
.contact-bg-image img{width:100%;height:100%;object-fit:cover}
.contact-bg-image::after{content:'';position:absolute;inset:0;background:rgba(26,26,46,0.82)}

/* --- PROBLEM CLEAN (bg image right, text dark) --- */
.section-problem-clean{position:relative;padding:var(--space-section) 0;background-color:var(--color-base);overflow:hidden}
.problem-bg-right{position:absolute;top:0;right:0;bottom:0;width:50%;z-index:0}
.problem-bg-right img{width:100%;height:100%;object-fit:cover;object-position:right center}
.problem-bg-right-stat{position:absolute;bottom:var(--space-xl);right:var(--space-xl);text-align:right}
.problem-bg-right-stat .problem-stat-value{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:400;color:var(--color-accent);display:block}
.problem-bg-right-stat .problem-stat-label{font-size:var(--text-sm);color:var(--color-text-muted);display:block}
.problem-clean-content{position:relative;z-index:1;max-width:55%}
.problem-clean-content .heading-section{font-size:var(--text-2xl);color:var(--color-text-primary)}
.problem-clean-content .text-body{color:var(--color-text-secondary)}
.problem-clean-content .label-upper{color:var(--color-accent)}

@media (max-width:767px){
  .problem-bg-right{position:relative;width:100%;height:300px;margin-bottom:var(--space-xl)}
  .problem-clean-content{max-width:100%}
}

/* --- PROGRAM CARDS: logos fill area, equal height --- */
.programs-grid-4 .program-card{display:flex;flex-direction:column}

/* --- LOGO MARQUEE (2 rows, infinite scroll) --- */
.logo-marquee-wrap{overflow:hidden;padding:var(--space-lg) 0}
.logo-marquee-track{display:flex;gap:var(--space-lg);animation:logoMarquee 25s linear infinite;width:max-content}
.logo-marquee-row-2{animation-direction:reverse;margin-top:var(--space-lg)}
.logo-marquee-track:hover{animation-play-state:paused}
.logo-marquee-item{flex-shrink:0;width:200px;height:100px;border:1px solid var(--color-border);border-radius:var(--radius-default);display:flex;align-items:center;justify-content:center;padding:var(--space-sm);background:var(--color-white)}
.logo-marquee-item img{width:100%;height:100%;object-fit:contain;opacity:0.6;filter:grayscale(0.5);transition:opacity 200ms ease,filter 200ms ease}
.logo-marquee-item:hover img{opacity:1;filter:grayscale(0)}

@keyframes logoMarquee{
  0%{transform:translateX(0)}
  100%{transform:translateX(-50%)}
}

/* --- BUTTON EFFECTS: shine + lift on ALL variants --- */
.btn::after{content:"";position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.12),transparent);transition:left 400ms var(--ease-out);pointer-events:none}
@media (hover:hover) and (pointer:fine){
  .btn:hover::after{left:120%}
  .btn:hover{transform:translateY(-1px)}
  .btn-primary:hover{box-shadow:0 6px 20px rgba(180,140,30,0.3)}
  .btn-secondary:hover{box-shadow:0 4px 12px rgba(26,26,46,0.06)}
}

/* --- PROGRAM CARDS v4: clickable, logo-wrap, equal height --- */
a.program-card{text-decoration:none;color:inherit;cursor:pointer}
.programs-grid-4{grid-template-columns:1fr;gap:var(--space-lg)}
@media (min-width:640px){.programs-grid-4{grid-template-columns:repeat(2,1fr)}}
@media (min-width:960px){.programs-grid-4{grid-template-columns:repeat(4,1fr)}}

.program-card-logo-wrap{height:140px;display:flex;align-items:center;justify-content:center;padding:var(--space-lg);border-bottom:1px solid var(--color-border)}
.program-card-logo{max-width:80%;max-height:48px;object-fit:contain}
.program-card-body{padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-sm);flex:1}

/* --- FOOTER REDESIGN --- */
.footer-right{display:flex;align-items:center;gap:var(--space-xl)}
.footer-right a{font-size:var(--text-xs);color:rgba(251,250,248,0.55);transition:color 200ms ease}
.footer-dev{font-size:var(--text-xs);color:rgba(251,250,248,0.35)}
.footer-dev a{color:var(--color-accent);text-decoration:none;transition:color 200ms ease}
@media (hover:hover) and (pointer:fine){
  .footer-right a:hover{color:var(--color-text-inverse)}
  .footer-dev a:hover{color:var(--color-accent-hover);text-decoration:underline;text-underline-offset:2px}
}

/* --- HELP STEPS: align text with number circle --- */
.help-step{align-items:flex-start; padding-bottom: 32px;}
.help-step-number{margin-top: 4px;}
.help-step p{padding-top:0}

/* ═══════════════ NOSSA EQUIPE (MODERNO + MODAL NOVO) ═══════════════ */
.section-team-modern {
  background-color: var(--color-support); 
  padding: var(--space-4xl) 0 8rem 0;
  text-align: center;
}

.team-modern-header {
  margin-bottom: var(--space-4xl);
  display: flex;
  flex-direction: column;
  align-items: center;
}

.team-modern-subtitle {
  font-family: var(--font-body);
  font-size: clamp(1.2rem, 3vw, 2.5rem);
  font-weight: 200; 
  color: var(--color-accent); 
  letter-spacing: -0.02em;
  line-height: 1;
  margin-bottom: -5px; 
}

.team-modern-title {
  font-family: var(--font-body); 
  font-size: clamp(4rem, 10vw, 5.5rem); /* Ajustado para forçar o texto a crescer mais em telas grandes */
  font-weight: 200; 
  line-height: 1.05; /* Reduzido levemente para um espaçamento mais justo entre as linhas */
  letter-spacing: -0.015em; 
  color: var(--color-text-inverse); 
  margin-bottom: var(--space-lg); 
  opacity:0;
  transform:translateY(8px);
  animation:fadeUp 600ms var(--ease-out) 350ms forwards; 
  max-width: 850px; /* Garante que o texto ocupe mais espaço na tela antes de quebrar a linha */
}


.team-modern-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-lg);
  max-width: 1000px;
  margin: 0 auto;
}

@media (min-width: 960px) {
  .team-modern-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

.team-modern-card {
  background-color: var(--color-base-alt); 
  border-radius: 6px;
  width: 100%;
  max-width: 290px;
  overflow: hidden;
  text-align: center;
  cursor: pointer;
  box-shadow: 0 4px 20px rgba(0,0,0,0.2);
  transition: transform 300ms var(--ease-out), box-shadow 300ms var(--ease-out);
}

@media (hover:hover) and (pointer:fine) {
  .team-modern-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 16px 40px rgba(0,0,0,0.4);
  }
}

.team-card-image {
  width: 100%;
  aspect-ratio: 4 / 5; 
  position: relative;
  overflow: hidden;
}

.team-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 20%;
  transition: transform 500ms var(--ease-out);
}

.team-card-overlay {
  position: absolute;
  inset: 0;
  background: rgba(26,26,46, 0.4);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 300ms ease;
}

@media (hover:hover) and (pointer:fine) {
  .team-modern-card:hover .team-card-overlay { opacity: 1; }
  .team-modern-card:hover .team-card-image img { transform: scale(1.05); }
}

.team-card-overlay span {
  color: #FFF;
  font-size: var(--text-xs);
  font-weight: 500;
  padding: 8px 16px;
  border: 1px solid rgba(255,255,255,0.4);
  border-radius: var(--radius-full);
  background: rgba(0,0,0,0.3);
  backdrop-filter: blur(4px);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.team-card-info {
  padding: var(--space-lg);
  background-color: var(--color-base);
}

.team-card-info h3 {
  font-family: var(--font-display);
  font-size: var(--text-lg);
  font-weight: 400;
  color: var(--color-text-primary);
  margin-bottom: 2px;
}

.team-card-role {
  font-size: var(--text-xs);
  color: var(--color-text-secondary);
  font-weight: 400;
}

/* =================================================
   MODAL DE EXPANSÃO (APENAS TEXTO, SEM FOTO)
   ================================================= */
.team-modal {
  position: fixed;
  inset: 0;
  background: rgba(26,26,46,0.95);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-md);
  opacity: 0;
  pointer-events: none;
  transition: opacity 300ms ease;
}

.team-modal.active {
  opacity: 1;
  pointer-events: auto;
}

.team-modal-content {
  background-color: var(--color-support); 
  border: 1px solid rgba(251,250,248,0.1);
  width: 100%;
  max-width: 880px;
  max-height: 95vh;
  border-radius: var(--radius-lg);
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transform: translateY(30px);
  transition: transform 400ms var(--ease-out);
  box-shadow: 0 24px 60px rgba(0,0,0,0.4);
}

.team-modal.active .team-modal-content {
  transform: translateY(0);
}

.close-modal {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 40px;
  height: 40px;
  background-color: rgba(251,250,248,0.1);
  border-radius: 50%;
  border: none;
  font-size: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 10;
  color: var(--color-text-inverse);
  transition: background-color 200ms ease, transform 200ms ease;
}

@media (hover:hover) and (pointer:fine) {
  .close-modal:hover { 
      background-color: rgba(251,250,248,0.2);
      transform: scale(1.1); 
    }
}

.modal-body {
  display: flex;
  flex-direction: column;
  overflow-y: auto; 
}

.modal-text {
  padding: var(--space-2xl);
  text-align: left;
}

.modal-text .label-upper { 
    margin-bottom: 8px; 
    color: var(--color-accent);
}

.modal-text .heading-section { 
    margin-bottom: 4px; 
    color: var(--color-text-inverse); 
    font-family: var(--font-display);
}
.modal-text .heading-section em {
    color: var(--color-accent);
    font-style: normal;
}

.modal-text .team-card-role {
    font-size: var(--text-base);
    color: rgba(251,250,248,0.7);
    margin-bottom: var(--space-xl);
    padding-bottom: var(--space-md);
    border-bottom: 1px solid rgba(251,250,248,0.1);
}

.modal-text .text-body {
    color: rgba(251,250,248,0.85);
    margin-bottom: var(--space-md);
}

.team-modal-credentials {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
    padding-top: var(--space-lg);
    border-top: 1px solid rgba(251,250,248,0.1);
}

.team-modal-credentials .credential-label {
    color: var(--color-accent);
    font-size: var(--text-xs);
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    display: block;
    margin-bottom: 2px;
}
.team-modal-credentials .credential-value {
    color: rgba(251,250,248,0.85);
    font-size: var(--text-sm);
    font-weight: 300;
}

.footer__logo {
  height: 255px;
  width: auto;
  margin-bottom: 0.5rem;
  margin-left: 4.0rem;
}

/* --- SOBRE A EM (COLUNAS) --- */
.about-grid-text {
  display: grid;
  grid-template-columns: 1fr; /* 1 coluna em telas menores (celular) */
  gap: var(--space-lg);
}

@media (min-width: 960px) {
  .about-grid-text {
    grid-template-columns: 1fr 1fr; /* 2 colunas iguais no desktop */
    gap: var(--space-3xl); /* Espaço confortável entre as duas colunas */
    align-items: start; /* Mantém os textos alinhados pelo topo da coluna */
  }
}
