/* ============================================================
   UXCON Antigravity – app.css
   Tema: leve, bold, flutuante. Fundo claro, tipografia gigante.
   ============================================================ */

/* ===== VARIÁVEIS ===== */
:root {
    /* Cores primárias */
    --ag-purple:      #7C3AED;
    --ag-purple-mid:  #8B5CF6;
    --ag-purple-soft: #EDE9FE;
    --ag-purple-bg:   #F5F3FF;

    --ag-amber:       #F59E0B;
    --ag-amber-soft:  #FEF3C7;
    --ag-amber-bg:    #FFFBEB;

    --ag-pink:        #EC4899;
    --ag-pink-soft:   #FCE7F3;
    --ag-pink-bg:     #FDF2F8;

    --ag-blue:        #3B82F6;
    --ag-blue-soft:   #DBEAFE;
    --ag-blue-bg:     #EFF6FF;

    --ag-green:       #10B981;
    --ag-green-soft:  #D1FAE5;

    /* Neutros */
    --ag-bg:          #FAFAF9;
    --ag-bg-2:        #F4F4F5;
    --ag-bg-3:        #FFFFFF;
    --ag-border:      #E4E4E7;
    --ag-border-2:    #D4D4D8;

    /* Texto */
    --ag-text:        #09090B;
    --ag-text-2:      #3F3F46;
    --ag-text-3:      #71717A;
    --ag-text-4:      #A1A1AA;

    /* Dark (para seções escuras) */
    --ag-dark:        #09090B;
    --ag-dark-2:      #18181B;
}

/* ===== RESET & GLOBAL ===== */
*, *::before, *::after { box-sizing: border-box; }

html {
    scroll-behavior: smooth;
    overflow-x: clip;
}

body {
    font-family: 'Inter', system-ui, sans-serif;
    color: var(--ag-text-2);
    background-color: var(--ag-bg);
    -webkit-font-smoothing: antialiased;
    margin: 0;
    overflow-x: clip;
}

::selection {
    background: var(--ag-purple-soft);
    color: var(--ag-purple);
}

/* ===== CONTAINER ===== */
.container-ag {
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 40px;
    padding-right: 40px;
}

/* ===== BOTÕES ===== */
.ag-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 16px;
    font-weight: 600;
    border-radius: 100px;
    padding: 15px 32px;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: transform 0.2s, box-shadow 0.2s, background 0.15s;
    line-height: 1;
    white-space: nowrap;
}

.ag-btn:hover {
    transform: translateY(-2px);
}

.ag-btn--primary {
    background: var(--ag-purple);
    color: #fff;
    box-shadow: 0 4px 20px rgba(124, 58, 237, 0.35);
}
.ag-btn--primary:hover {
    background: #6D28D9;
    color: #fff;
    box-shadow: 0 8px 28px rgba(124, 58, 237, 0.45);
}

.ag-btn--ghost {
    background: transparent;
    color: var(--ag-text-2);
    border: 1.5px solid var(--ag-border-2);
}
.ag-btn--ghost:hover {
    background: var(--ag-bg-2);
    color: var(--ag-text);
}

.ag-btn--white {
    background: #fff;
    color: var(--ag-purple);
    box-shadow: 0 4px 24px rgba(0,0,0,0.15);
}
.ag-btn--white:hover {
    background: #F5F3FF;
    color: #6D28D9;
}

.ag-btn--outline-white {
    background: transparent;
    color: rgba(255,255,255,0.9);
    border: 1.5px solid rgba(255,255,255,0.25);
}
.ag-btn--outline-white:hover {
    background: rgba(255,255,255,0.1);
    color: #fff;
}

/* ===== LABELS & BADGES ===== */
.ag-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--ag-purple);
}

.ag-label--light {
    color: rgba(255,255,255,0.7);
}

.ag-tag {
    display: inline-block;
    font-size: 13px;
    font-weight: 500;
    color: var(--ag-text-3);
    background: var(--ag-bg-2);
    border: 1px solid var(--ag-border);
    border-radius: 100px;
    padding: 6px 14px;
}

/* ===== SECTION HEADER ===== */
.ag-section-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 16px;
    margin-bottom: 64px;
}

.ag-section-title {
    font-size: 48px;
    line-height: 1.08;
    font-weight: 900;
    letter-spacing: -0.03em;
    color: var(--ag-text);
    margin: 0;
}

.ag-section-title--left {
    text-align: left;
}

.ag-section-subtitle {
    font-size: 19px;
    line-height: 1.55;
    color: var(--ag-text-3);
    max-width: 560px;
    margin: 0;
}

/* ===== ANIMAÇÕES DE ÓRBITA (usadas no posicionamento) ===== */
@keyframes ag-orbit {
    from { transform: rotate(0deg) translateX(60px) rotate(0deg); }
    to   { transform: rotate(360deg) translateX(60px) rotate(-360deg); }
}

@keyframes ag-orbit-2 {
    from { transform: rotate(120deg) translateX(60px) rotate(-120deg); }
    to   { transform: rotate(480deg) translateX(60px) rotate(-480deg); }
}

@keyframes ag-orbit-3 {
    from { transform: rotate(240deg) translateX(60px) rotate(-240deg); }
    to   { transform: rotate(600deg) translateX(60px) rotate(-600deg); }
}

/* ===== ANIMAÇÃO DE ENTRADA (stagger reveal) ===== */
@keyframes ag-enter {
    from {
        opacity: 0;
        transform: translateY(28px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.ag-reveal {
    opacity: 0;
    animation: ag-enter 0.7s cubic-bezier(0.22, 1, 0.36, 1) forwards;
    animation-delay: var(--ag-delay, 0ms);
}

/* ===== FLOATS DO CTA (mantido para a seção CTA) ===== */
.ag-float {
    position: absolute;
    pointer-events: none;
    border-radius: 50%;
    background: rgba(255,255,255,0.15);
}

.ag-float--white-soft { background: rgba(255,255,255,0.2); }

/* ===== HEADER ===== */
.ag-header {
    position: sticky;
    top: 0;
    z-index: 50;
    background: transparent;
    border-bottom: 1px solid transparent;
    transition: background 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.ag-header.is-scrolled {
    background: rgba(250, 250, 249, 0.92);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--ag-border);
    box-shadow: 0 2px 20px rgba(0,0,0,0.07);
}

.ag-header__inner {
    height: 72px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
}

.ag-header__logo {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    text-decoration: none;
}

.ag-header__logo img {
    display: block;
    height: 38px;
    width: auto;
}

.ag-header__nav {
    display: flex;
    align-items: center;
    gap: 28px;
}

.ag-header__menu {
    display: flex;
    align-items: center;
    gap: 4px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.ag-header__menu .nav-item {
    position: relative;
}

.ag-header__menu .nav-link {
    font-size: 15px;
    font-weight: 500;
    color: var(--ag-text-3);
    text-decoration: none;
    padding: 6px 10px;
    border-radius: 8px;
    white-space: nowrap;
    transition: background 0.15s, color 0.15s;
}

.ag-header__menu .nav-link:hover {
    background: var(--ag-bg-2);
    color: var(--ag-text);
}

.ag-header__menu .nav-item.active .nav-link,
.ag-header__menu .nav-link.active {
    color: var(--ag-purple);
    font-weight: 600;
}

.ag-header__menu .dropdown-menu {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    list-style: none;
    margin: 0;
    padding: 6px;
    min-width: 180px;
    background: #fff;
    border: 1px solid var(--ag-border);
    border-radius: 14px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.1);
    display: none;
}

.ag-header__menu .dropdown-menu.show {
    display: block;
}

.ag-header__menu .dropdown-item {
    display: block;
    font-size: 14px;
    font-weight: 500;
    color: var(--ag-text-3);
    text-decoration: none;
    padding: 9px 12px;
    border-radius: 8px;
    transition: background 0.12s, color 0.12s;
}

.ag-header__menu .dropdown-item:hover {
    background: var(--ag-purple-bg);
    color: var(--ag-purple);
}

.ag-header__cta {
    font-size: 14px;
    font-weight: 600;
    color: #fff;
    background: var(--ag-purple);
    padding: 10px 20px;
    border-radius: 100px;
    text-decoration: none;
    white-space: nowrap;
    flex-shrink: 0;
    transition: background 0.15s, transform 0.2s, box-shadow 0.2s;
    box-shadow: 0 2px 12px rgba(124,58,237,0.3);
}

.ag-header__cta:hover {
    background: #6D28D9;
    color: #fff;
    transform: translateY(-1px);
    box-shadow: 0 4px 18px rgba(124,58,237,0.4);
}

.ag-header__toggler {
    display: none;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: none;
    border-radius: 8px;
    background: transparent;
    cursor: pointer;
    flex-shrink: 0;
    color: var(--ag-text-2);
    transition: background 0.15s;
    padding: 0;
}

.ag-header__toggler:hover { background: var(--ag-bg-2); }

.ag-toggler-icon { display: block; transition: opacity 0.15s; }
.ag-toggler-icon--close { display: none; }

.ag-header__toggler.is-open .ag-toggler-icon--menu  { display: none; }
.ag-header__toggler.is-open .ag-toggler-icon--close { display: block; }

/* Mobile Drawer */
.ag-header__mobile {
    position: fixed;
    top: 0;
    left: 0;
    width: min(320px, 88vw);
    height: 100vh;
    height: 100dvh;
    background: #fff;
    z-index: 200;
    transform: translateX(-110%);
    transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
    overflow-y: auto;
    box-shadow: 8px 0 48px rgba(0,0,0,0.13);
    display: flex !important;
    flex-direction: column;
    padding: 20px 24px 40px;
}

.ag-header__mobile.is-open {
    transform: translateX(0);
}

.ag-drawer-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(9,9,11,0.5);
    z-index: 199;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
}

.ag-drawer-backdrop.is-visible {
    opacity: 1;
    pointer-events: auto;
}

.ag-drawer-close {
    background: none;
    border: 1px solid var(--ag-border);
    border-radius: 8px;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: var(--ag-text-3);
    align-self: flex-end;
    margin-bottom: 20px;
    flex-shrink: 0;
    transition: background 0.15s, color 0.15s;
}

.ag-drawer-close:hover {
    background: var(--ag-bg-2);
    color: var(--ag-text);
}

.ag-header__mobile-menu {
    list-style: none;
    margin: 0;
    padding: 12px 0 0;
}

.ag-header__mobile-menu .menu-item > a {
    display: block;
    font-size: 16px;
    font-weight: 400;
    color: var(--ag-text-3);
    text-decoration: none;
    padding: 13px 0;
    border-bottom: 1px solid var(--ag-border);
}

.ag-header__mobile-menu .menu-item > a:hover {
    color: var(--ag-purple);
}

.ag-header__mobile-menu .sub-menu {
    list-style: none;
    display: block !important;
    padding: 0 0 0 8px;
    margin: 0 0 4px 0;
    border-left: none;
}

.ag-header__mobile-menu .sub-menu .menu-item > a {
    font-size: 14px;
    font-weight: 500;
    padding: 9px 0;
    border-bottom: none;
    color: var(--ag-text-4);
}

.ag-header__mobile-menu .sub-menu .menu-item > a::before {
    content: '– ';
    color: var(--ag-text-4);
}

.ag-header__mobile-cta {
    display: block;
    font-size: 15px;
    font-weight: 700;
    color: #fff;
    background: var(--ag-purple);
    text-decoration: none;
    padding: 14px;
    border-radius: 12px;
    text-align: center;
    margin: 12px 0 20px;
}

/* ===== DROPDOWN BUTTON ===== */
.ag-header__menu .nav-item.dropdown {
    display: flex;
    align-items: center;
}

.nav-dropdown-btn {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--ag-text-3);
    padding: 2px 4px;
    display: flex;
    align-items: center;
    line-height: 1;
    margin-left: 1px;
    border-radius: 6px;
    transition: color 0.15s, background 0.15s;
}

.nav-dropdown-btn::after { display: none; }

.nav-dropdown-btn .bi {
    font-size: 11px;
    transition: transform 0.2s;
}

.nav-dropdown-btn[aria-expanded="true"] .bi {
    transform: rotate(180deg);
}

.nav-dropdown-btn:hover {
    color: var(--ag-purple);
    background: var(--ag-purple-bg);
}

/* ===== HERO ===== */
.ag-hero {
    position: relative;
    min-height: 100vh;
    display: flex;
    align-items: center;
    overflow: hidden;
    background: var(--ag-bg);
    background-image: radial-gradient(circle, #D4D4D8 1px, transparent 1px);
    background-size: 32px 32px;
}

/* Vinheta para fade dos pontos nas bordas */
.ag-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse 70% 60% at 50% 50%, transparent 30%, var(--ag-bg) 100%);
    pointer-events: none;
    z-index: 0;
}

/* Canvas de partículas */
.ag-hero__canvas {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 1;
}

.ag-hero__container {
    position: relative;
    z-index: 2;
    width: 100%;
    padding-top: 0;
    padding-bottom: 180px;
}

.ag-hero__content {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 28px;
    padding-top: 80px;
}

.ag-hero__badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 600;
    color: var(--ag-purple);
    background: var(--ag-purple-soft);
    border: 1px solid #DDD6FE;
    border-radius: 100px;
    padding: 8px 18px;
    letter-spacing: 0.02em;
}

.ag-badge-dot {
    display: block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--ag-purple);
    animation: ag-pulse 2s ease-in-out infinite;
}

@keyframes ag-pulse {
    0%, 100% { transform: scale(1); opacity: 1; }
    50%       { transform: scale(1.5); opacity: 0.5; }
}

/* Título com spans por linha para o stagger */
.ag-hero__title {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-size: 80px;
    line-height: 1.05;
    font-weight: 900;
    letter-spacing: -0.04em;
    color: var(--ag-text);
    margin: 0;
    gap: 0;
}

.ag-hero__title em {
    font-style: normal;
    background: linear-gradient(90deg, var(--ag-amber) 0%, var(--ag-purple) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    padding-bottom: 0.15em;
}

.ag-hero__text {
    font-size: 20px;
    line-height: 1.6;
    color: var(--ag-text-3);
    max-width: 520px;
    margin: 0;
}

.ag-hero__actions {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 8px;
}

.ag-hero__scroll {
    position: absolute;
    bottom: 40px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    z-index: 2;
}

.ag-hero__scroll-line {
    width: 1px;
    height: 48px;
    background: linear-gradient(to bottom, transparent, var(--ag-border-2));
    animation: ag-scroll-line 2s ease-in-out infinite;
}

@keyframes ag-scroll-line {
    0%   { transform: scaleY(0); transform-origin: top; opacity: 0; }
    40%  { transform: scaleY(1); transform-origin: top; opacity: 1; }
    60%  { transform: scaleY(1); transform-origin: bottom; opacity: 1; }
    100% { transform: scaleY(0); transform-origin: bottom; opacity: 0; }
}

/* ===== SCROLL REVEAL ===== */
[class*="sr-"] {
    opacity: 0;
    transition: opacity 0.75s cubic-bezier(0.22, 1, 0.36, 1),
                transform 0.75s cubic-bezier(0.22, 1, 0.36, 1);
}

.sr-fade-up    { transform: translateY(36px); }
.sr-slide-up   { transform: translateY(48px); }
.sr-slide-left { transform: translateX(48px); }
.sr-slide-right{ transform: translateX(-48px); }

[class*="sr-"].is-visible {
    opacity: 1;
    transform: none;
}

/* ===== POSICIONAMENTO (fundo preto) ===== */
.ag-pos {
    background: #09090B;
    color: #fff;
}

/* ① Headline word-by-word ─────────────────── */
.ag-pos__headline-wrap {
    padding-top: 120px;
    padding-bottom: 80px;
    border-bottom: 1px solid rgba(255,255,255,0.07);
}

.ag-pos__headline-wrap .ag-label {
    color: var(--ag-purple-mid);
    margin-bottom: 32px;
    display: block;
}

.ag-pos__headline {
    font-size: clamp(48px, 7vw, 96px);
    line-height: 1.14;
    font-weight: 900;
    letter-spacing: -0.04em;
    margin: 0 0 48px;
    color: rgba(255,255,255,0.18);
}

/* cada palavra começa apagada e acende ao entrar */
.ag-word {
    display: inline-block;
    transition: color 0.5s ease, opacity 0.5s ease;
    transition-delay: calc(var(--w-i) * 80ms);
    color: rgba(255,255,255,0.18);
}

.ag-word.is-visible {
    color: #fff;
}

.ag-word--accent.is-visible {
    background: linear-gradient(90deg, var(--ag-amber), var(--ag-purple-mid));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.ag-pos__sub {
    font-size: 19px;
    line-height: 1.7;
    color: rgba(255,255,255,0.45);
    max-width: 680px;
    margin: 0;
}

/* ② Etapas em cascata ─────────────────────── */
.ag-pos__steps-wrap {
    padding-top: 80px;
    padding-bottom: 80px;
    border-bottom: 1px solid rgba(255,255,255,0.07);
}

.ag-pos__steps {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2px;
}

.ag-pos__step {
    padding: 20px 0;
    border-right: 1px solid rgba(255,255,255,0.07);
    display: flex;
    flex-direction: column;
    gap: 16px;
    position: relative;
}

.ag-pos__step:last-child {
    border-right: none;
}

.ag-pos__step-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 4px;
}

.ag-pos__step-num {
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.1em;
}

.ag-pos__step-num--purple { color: var(--ag-purple-mid); }
.ag-pos__step-num--amber  { color: var(--ag-amber);      }
.ag-pos__step-num--pink   { color: var(--ag-pink);       }
.ag-pos__step-num--blue   { color: var(--ag-blue);       }

.ag-pos__step-arrow {
    color: rgba(255,255,255,0.15);
}

.ag-pos__step-title {
    font-size: 20px;
    font-weight: 800;
    color: #fff;
    margin: 0;
    letter-spacing: -0.02em;
}

.ag-pos__step-desc {
    font-size: 14px;
    line-height: 1.65;
    color: rgba(255,255,255,0.45);
    margin: 0;
    flex: 1;
}

/* Barra colorida no fundo de cada step */
.ag-pos__step-bar {
    height: 3px;
    background: rgba(255,255,255,0.07);
    border-radius: 99px;
    overflow: hidden;
    margin-top: 8px;
}

.ag-pos__step-bar-fill {
    height: 100%;
    width: 0;
    border-radius: 99px;
    transition: width 1s cubic-bezier(0.22, 1, 0.36, 1);
}

.ag-pos__step.is-visible .ag-pos__step-bar-fill {
    width: 100%;
}

.ag-pos__step-bar-fill--purple { background: var(--ag-purple-mid); }
.ag-pos__step-bar-fill--amber  { background: var(--ag-amber);      }
.ag-pos__step-bar-fill--pink   { background: var(--ag-pink);       }
.ag-pos__step-bar-fill--blue   { background: var(--ag-blue);       }

/* Hover: destaca o step */
.ag-pos__step:hover .ag-pos__step-title {
    color: #fff;
}

.ag-pos__step--purple:hover,
.ag-pos__step:nth-child(1):hover { background: rgba(124,58,237,0.06); }
.ag-pos__step:nth-child(2):hover { background: rgba(245,158,11,0.06); }
.ag-pos__step:nth-child(3):hover { background: rgba(236,72,153,0.06); }
.ag-pos__step:nth-child(4):hover { background: rgba(59,130,246,0.06); }

/* ③ Stat + quote ─────────────────────────── */
.ag-pos__stat-wrap {
    padding-top: 80px;
    padding-bottom: 120px;
}

.ag-pos__stat-row {
    display: grid;
    grid-template-columns: 1fr 1px 1.4fr;
    gap: 64px;
    align-items: center;
}

.ag-pos__stat-left {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.ag-pos__stat-num {
    font-size: 112px;
    line-height: 1;
    font-weight: 900;
    letter-spacing: -0.05em;
    background: linear-gradient(135deg, var(--ag-purple-mid), var(--ag-amber));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* Pseudo-sufixo "%" fora do gradiente */
.ag-pos__stat-suffix {
    font-size: 64px;
    font-weight: 900;
    color: rgba(255,255,255,0.3);
    letter-spacing: -0.03em;
}

.ag-pos__stat-label {
    font-size: 16px;
    line-height: 1.5;
    color: rgba(255,255,255,0.4);
    max-width: 260px;
}

.ag-pos__stat-divider {
    height: 180px;
    background: rgba(255,255,255,0.08);
    align-self: center;
}

.ag-pos__stat-right {
    display: flex;
    flex-direction: column;
    gap: 28px;
}

.ag-pos__quote {
    font-size: 24px;
    line-height: 1.45;
    font-weight: 600;
    color: rgba(255,255,255,0.75);
    font-style: italic;
    margin: 0;
    padding: 0;
    border: none;
    letter-spacing: -0.01em;
}

.ag-pos__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.ag-pos__tags .ag-tag {
    background: rgba(255,255,255,0.06);
    border-color: rgba(255,255,255,0.12);
    color: rgba(255,255,255,0.5);
}

/* ===== RESPONSIVO ===== */
@media (max-width: 1100px) {
    .ag-pos__steps {
        grid-template-columns: repeat(2, 1fr);
    }
    .ag-pos__step:nth-child(2) { border-right: none; }
    .ag-pos__step:nth-child(1),
    .ag-pos__step:nth-child(2) {
        border-bottom: 1px solid rgba(255,255,255,0.07);
    }
}

@media (max-width: 860px) {
    .ag-pos__stat-row {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    .ag-pos__stat-divider { display: none; }
    .ag-pos__stat-num { font-size: 80px; }
}

@media (max-width: 680px) {
    .ag-pos__steps {
        grid-template-columns: 1fr;
    }
    .ag-pos__step {
        border-right: none;
        border-bottom: 1px solid rgba(255,255,255,0.07);
    }
    .ag-pos__step:last-child { border-bottom: none; }
    .ag-pos__headline-wrap { padding-top: 72px; padding-bottom: 48px; }
}

/* ===== SERVIÇOS ===== */
.ag-svc {
    background: var(--ag-bg);
    padding-top: 120px;
    padding-bottom: 120px;
}

.ag-svc__header {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: end;
    margin-bottom: 72px;
}

.ag-svc__header-left {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.ag-svc__title {
    font-size: clamp(44px, 5.5vw, 72px);
    line-height: 1.04;
    font-weight: 900;
    letter-spacing: -0.04em;
    color: var(--ag-text);
    margin: 0;
}

.ag-svc__title em {
    font-style: normal;
    background: linear-gradient(90deg, var(--ag-purple), var(--ag-pink));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.ag-svc__subtitle {
    font-size: 17px;
    line-height: 1.7;
    color: var(--ag-text-3);
    align-self: end;
    margin: 0;
}

/* Lista de serviços */
.ag-svc__list {
    display: flex;
    flex-direction: column;
}

.ag-svc__row {
    position: relative;
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 40px;
    padding: 40px 28px;
    border-radius: 16px;
    text-decoration: none;
    color: inherit;
    overflow: hidden;
    transition: background 0.22s;
    border: 1px solid transparent;
}

/* Linha separadora via pseudo-elemento (evita conflito com border de hover) */
.ag-svc__row + .ag-svc__row::before {
    content: '';
    position: absolute;
    top: 0; left: 28px; right: 28px;
    height: 1px;
    background: var(--ag-border);
}

.ag-svc__row:hover {
    background: #fff;
    border-color: var(--ag-border);
    box-shadow: 0 4px 24px rgba(0,0,0,0.06);
}

/* Corpo: título + descrição */
.ag-svc__row-body {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.ag-svc__row-title {
    font-size: 28px;
    font-weight: 800;
    letter-spacing: -0.03em;
    color: var(--ag-text);
    margin: 0;
    line-height: 1.15;
    transition: color 0.2s;
}

.ag-svc__row--purple:hover .ag-svc__row-title { color: var(--ag-purple); }
.ag-svc__row--amber:hover  .ag-svc__row-title { color: #92400E; }
.ag-svc__row--pink:hover   .ag-svc__row-title { color: var(--ag-pink); }
.ag-svc__row--blue:hover   .ag-svc__row-title { color: var(--ag-blue); }
.ag-svc__row--green:hover  .ag-svc__row-title { color: var(--ag-green); }

.ag-svc__row-desc {
    font-size: 15px;
    line-height: 1.6;
    color: var(--ag-text-3);
    margin: 0;
    max-width: 580px;
}

.ag-svc__row-desc p { margin: 0; color: var(--ag-text-3); }

/* Seta — sempre visível, discreta; avança no hover */
.ag-svc__row-arrow {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--ag-text-4);
    border: 1.5px solid var(--ag-border);
    flex-shrink: 0;
    transition: background 0.22s, color 0.22s, border-color 0.22s, transform 0.28s cubic-bezier(0.22,1,0.36,1);
}

.ag-svc__row:hover .ag-svc__row-arrow {
    transform: rotate(-45deg);
}

.ag-svc__row--purple:hover .ag-svc__row-arrow { background: var(--ag-purple); color: #fff; border-color: var(--ag-purple); }
.ag-svc__row--amber:hover  .ag-svc__row-arrow { background: var(--ag-amber);  color: #fff; border-color: var(--ag-amber); }
.ag-svc__row--pink:hover   .ag-svc__row-arrow { background: var(--ag-pink);   color: #fff; border-color: var(--ag-pink); }
.ag-svc__row--blue:hover   .ag-svc__row-arrow { background: var(--ag-blue);   color: #fff; border-color: var(--ag-blue); }
.ag-svc__row--green:hover  .ag-svc__row-arrow { background: var(--ag-green);  color: #fff; border-color: var(--ag-green); }

/* ===== DIFERENCIAIS ===== */
.ag-diff {
    background: #111113;
    padding-top: 120px;
    padding-bottom: 120px;
}

.ag-diff__grid {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 80px;
    align-items: start;
}

.ag-diff__left-inner {
    position: sticky;
    top: 120px;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.ag-diff__title {
    font-size: clamp(44px, 5vw, 68px);
    line-height: 1.04;
    font-weight: 900;
    letter-spacing: -0.04em;
    color: #fff;
    margin: 0;
}

.ag-diff__title em {
    font-style: normal;
    background: linear-gradient(90deg, var(--ag-amber), var(--ag-pink));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.ag-diff__tagline {
    font-size: 16px;
    line-height: 1.7;
    color: rgba(255,255,255,0.4);
    margin: 0;
    max-width: 300px;
}

.ag-diff__right {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.ag-diff__item {
    display: grid;
    grid-template-columns: 72px 1fr;
    gap: 24px;
    align-items: start;
    padding: 40px 0;
    border-bottom: 1px solid rgba(255,255,255,0.07);
    transition: background 0.2s;
}

.ag-diff__item:first-child { border-top: 1px solid rgba(255,255,255,0.07); }

.ag-diff__item-num {
    font-size: 48px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: -0.04em;
    flex-shrink: 0;
}

.ag-diff__item-num--purple { color: var(--ag-purple-mid); }
.ag-diff__item-num--amber  { color: var(--ag-amber); }
.ag-diff__item-num--pink   { color: var(--ag-pink); }
.ag-diff__item-num--blue   { color: var(--ag-blue); }

.ag-diff__item-body {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding-top: 6px;
}

.ag-diff__item-title {
    font-size: 22px;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #fff;
    margin: 0;
}

.ag-diff__item-desc {
    font-size: 15px;
    line-height: 1.7;
    color: rgba(255,255,255,0.45);
    margin: 0;
}

/* ===== NÚMEROS ===== */
.ag-nums {
    background: #09090B;
    overflow: hidden;
}

.ag-nums .container-ag {
    padding-top: 120px;
    padding-bottom: 96px;
}

.ag-nums__intro {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    text-align: center;
    margin-bottom: 80px;
}

.ag-nums__headline {
    font-size: clamp(36px, 5vw, 56px);
    font-weight: 900;
    letter-spacing: -0.04em;
    color: rgba(255,255,255,0.9);
    margin: 0;
}

.ag-nums__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
}

.ag-nums__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    padding: 0 48px;
    border-right: 1px solid rgba(255,255,255,0.07);
    text-align: center;
}

.ag-nums__item:last-child { border-right: none; }

.ag-nums__value {
    font-size: clamp(72px, 9vw, 120px);
    line-height: 1;
    font-weight: 900;
    letter-spacing: -0.05em;
    display: flex;
    align-items: baseline;
}

.ag-nums__value--purple { color: var(--ag-purple-mid); }
.ag-nums__value--amber  { color: var(--ag-amber); }
.ag-nums__value--pink   { color: var(--ag-pink); }

.ag-nums__desc {
    font-size: 14px;
    line-height: 1.65;
    color: rgba(255,255,255,0.35);
    margin: 8px 0 0;
}

.ag-nums__label {
    font-size: 15px;
    font-weight: 500;
    color: rgba(255,255,255,0.35);
    line-height: 1.4;
}

/* Marquee */
.ag-nums__marquee-wrap {
    border-top: 1px solid rgba(255,255,255,0.07);
    padding: 28px 0;
    overflow: hidden;
}

.ag-nums__marquee {
    display: flex;
    gap: 0;
    white-space: nowrap;
    animation: ag-marquee 28s linear infinite;
}

@keyframes ag-marquee {
    from { transform: translateX(0); }
    to   { transform: translateX(-33.333%); }
}

.ag-nums__marquee-item {
    display: inline-flex;
    align-items: center;
    gap: 20px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.2);
    padding: 0 32px;
}

.ag-nums__marquee-dot {
    display: block;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--ag-purple-mid);
    flex-shrink: 0;
}

/* ===== CTA FINAL — BENTO ===== */
.ag-cta {
    background: #FAFAF9;
    border-top: 1px solid var(--ag-border);
    padding-top: 80px;
    padding-bottom: 80px;
}

/* Grid bento: célula A grande (esquerda) + B e C empilhadas (direita) */
.ag-cta__bento {
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    grid-template-rows: 1fr auto;
    gap: 16px;
    min-height: 460px;
}

/* ─── Célula A: headline ─────────────────────────────── */
.ag-cta__cell--main {
    grid-row: 1 / 3;
    background: #fff;
    border: 1px solid var(--ag-border);
    border-radius: 24px;
    padding: 56px 52px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    gap: 24px;
}

.ag-cta__eyebrow {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--ag-purple);
    margin-bottom: auto;
}

.ag-cta__headline {
    font-size: clamp(40px, 4.5vw, 64px);
    line-height: 1.06;
    font-weight: 900;
    letter-spacing: -0.04em;
    color: var(--ag-text);
    margin: 0;
}

.ag-cta__headline-muted {
    color: var(--ag-text-4);
}

.ag-cta__desc {
    font-size: 16px;
    line-height: 1.65;
    color: var(--ag-text-3);
    margin: 0;
    max-width: 400px;
}

/* ─── Célula B: botão CTA (roxo, clicável) ───────────── */
.ag-cta__cell--cta {
    background: var(--ag-purple);
    border-radius: 24px;
    padding: 40px 44px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    text-decoration: none;
    position: relative;
    overflow: hidden;
    transition: background 0.2s, transform 0.25s;
    cursor: pointer;
}

.ag-cta__cell--cta::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 20% 50%, rgba(255,255,255,0.12) 0%, transparent 60%);
    pointer-events: none;
}

.ag-cta__cell--cta:hover {
    background: #6D28D9;
    transform: translateY(-3px);
}

.ag-cta__cta-label {
    font-size: 28px;
    font-weight: 900;
    letter-spacing: -0.03em;
    color: #fff;
    line-height: 1.1;
    max-width: 180px;
}

.ag-cta__cta-arrow {
    color: rgba(255,255,255,0.7);
    flex-shrink: 0;
    transition: transform 0.25s cubic-bezier(0.22, 1, 0.36, 1), color 0.2s;
    align-self: flex-start;
}

.ag-cta__cell--cta:hover .ag-cta__cta-arrow {
    transform: translate(4px, -4px);
    color: #fff;
}

/* ─── Célula C: dado de confiança (escura) ───────────── */
.ag-cta__cell--trust {
    background: var(--ag-dark-2);
    border-radius: 24px;
    padding: 36px 44px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 8px;
}

.ag-cta__trust-num {
    font-size: 56px;
    font-weight: 900;
    letter-spacing: -0.04em;
    color: var(--ag-amber);
    line-height: 1;
}

.ag-cta__trust-text {
    font-size: 14px;
    font-weight: 500;
    color: rgba(255,255,255,0.4);
    line-height: 1.4;
    max-width: 140px;
}

.ag-cta__trust-link {
    font-size: 14px;
    font-weight: 700;
    color: rgba(255,255,255,0.35);
    text-decoration: none;
    margin-top: 8px;
    transition: color 0.2s;
    align-self: flex-start;
}

.ag-cta__trust-link:hover { color: #fff; }

/* ─── Responsivo ─────────────────────────────────────── */
@media (max-width: 860px) {
    .ag-cta__bento {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        min-height: unset;
    }
    .ag-cta__cell--main { grid-row: auto; padding: 40px 32px; }
    .ag-cta__cell--cta  { flex-direction: column; align-items: flex-start; gap: 24px; }
    .ag-cta__cta-label  { font-size: 24px; max-width: 100%; }
}

@media (max-width: 480px) {
    .ag-cta { padding-top: 48px; padding-bottom: 48px; }
    .ag-cta__headline { font-size: 36px; }
    .ag-cta__trust-num { font-size: 44px; }
}

/* ===== FOOTER ===== */
.ag-footer {
    background: #09090B;
    color: rgba(255,255,255,0.5);
}

/* Grade principal: brand + 3 colunas */
.ag-footer__main {
    display: grid;
    grid-template-columns: 1.6fr 1fr 1fr 1fr;
    gap: 64px;
    padding: 80px 0 64px;
    border-bottom: 1px solid rgba(255,255,255,0.08);
}

/* ─ Brand ─ */
.ag-footer__brand {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.ag-footer__logo {
    display: flex;
    align-items: center;
    text-decoration: none;
}

.ag-footer__logo img {
    display: block;
    height: 40px;
    width: auto;
}

.ag-footer__desc {
    font-size: 14px;
    line-height: 1.75;
    color: rgba(255,255,255,0.4);
    margin: 0;
    max-width: 280px;
}

.ag-footer__brand-cta {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 700;
    color: var(--ag-purple);
    text-decoration: none;
    letter-spacing: 0.01em;
    transition: gap 0.2s, opacity 0.2s;
}

.ag-footer__brand-cta:hover {
    opacity: 0.8;
    gap: 10px;
}

/* ─ Colunas de links ─ */
.ag-footer__col {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.ag-footer__col-title {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.25);
    margin: 0;
}

.ag-footer__col-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.ag-footer__col-list a {
    font-size: 14px;
    color: rgba(255,255,255,0.5);
    text-decoration: none;
    transition: color 0.15s;
}

.ag-footer__col-list a:hover { color: #fff; }

/* ─ Coluna contato: links com ícone ─ */
.ag-footer__contact-link {
    display: flex;
    align-items: center;
    gap: 10px;
}

.ag-footer__contact-icon {
    width: 28px;
    height: 28px;
    border-radius: 8px;
    background: rgba(255,255,255,0.06);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: background 0.2s;
}

.ag-footer__contact-link:hover .ag-footer__contact-icon {
    background: rgba(124,58,237,0.2);
}

/* ─ Barra inferior ─ */
.ag-footer__bottom {
    padding: 24px 0;
}

.ag-footer__bottom-inner {
    display: flex;
    align-items: center;
    gap: 24px;
}

.ag-footer__copy {
    font-size: 13px;
    color: rgba(255,255,255,0.25);
    margin: 0;
    flex: 1;
}

.ag-footer__made {
    font-size: 13px;
    color: rgba(255,255,255,0.2);
    margin: 0;
    font-style: italic;
}

.ag-footer__top-btn {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 1.5px solid rgba(255,255,255,0.12);
    background: transparent;
    color: rgba(255,255,255,0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    flex-shrink: 0;
    transition: border-color 0.2s, color 0.2s, background 0.2s;
    padding: 0;
}

.ag-footer__top-btn:hover {
    border-color: var(--ag-purple);
    color: var(--ag-purple);
    background: rgba(124,58,237,0.1);
}


/* ===== RESPONSIVO ===== */
@media (max-width: 860px) {
    .ag-header__nav     { display: none; }
    .ag-header__toggler { display: flex; }

    .ag-header__inner   { position: relative; }
    .ag-header__logo    {
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
    }
}

@media (min-width: 861px) {
    .ag-header__mobile,
    .ag-drawer-backdrop { display: none !important; }
}

@media (max-width: 1024px) {
    /* Serviços */
    .ag-svc__header {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    /* Diferenciais */
    .ag-diff__grid {
        grid-template-columns: 1fr;
        gap: 48px;
    }
    .ag-diff__left-inner {
        position: static;
    }

    /* Números */
    .ag-nums__grid {
        grid-template-columns: 1fr;
        gap: 48px;
    }
    .ag-nums__item {
        border-right: none;
        border-bottom: 1px solid rgba(255,255,255,0.07);
        padding-bottom: 48px;
    }
    .ag-nums__item:last-child {
        border-bottom: none;
        padding-bottom: 0;
    }
}

@media (max-width: 991px) {
    .container-ag {
        padding-left: 24px;
        padding-right: 24px;
    }

    .ag-hero__title { font-size: 48px; }
    .ag-hero__content { padding-top: 40px; }
    .ag-hero__container { padding-bottom: 80px; }

    .ag-svc { padding-top: 72px; padding-bottom: 72px; }
    .ag-svc__row {
        grid-template-columns: 1fr auto;
        gap: 20px;
        padding: 28px 16px;
    }
    .ag-svc__row-title { font-size: 20px; }

    .ag-diff { padding-top: 72px; padding-bottom: 72px; }

    .ag-nums .container-ag { padding-top: 72px; padding-bottom: 64px; }

    .ag-cta__inner { padding-top: 96px; padding-bottom: 96px; }

    .ag-footer__main {
        grid-template-columns: 1fr 1fr;
        gap: 40px;
        padding: 56px 0 48px;
    }
    .ag-footer__brand { grid-column: 1 / -1; }
    .ag-footer__bottom-inner { flex-wrap: wrap; gap: 16px; }
    .ag-footer__made { display: none; }
}

@media (max-width: 640px) {
    .ag-hero { align-items: flex-start; min-height: auto; }
    .ag-hero__content   { padding-top: 12px; gap: 20px; }
    .ag-hero__container { padding-bottom: 56px; }
    .ag-hero__title {
        font-size: 34px;
        letter-spacing: -0.02em;
        display: block;
        text-wrap: balance;
    }
    .ag-hero__text  { font-size: 16px; }
    .ag-hero__actions { flex-direction: column; width: 100%; }
    .ag-hero__actions .ag-btn { justify-content: center; }

    .ag-svc__row { grid-template-columns: 1fr; padding: 20px 0; }
    .ag-svc__row-arrow { display: none; }
    .ag-svc__row-desc  { font-size: 14px; }
    .ag-svc__row-title { font-size: 18px; }

    .ag-diff__item { grid-template-columns: 52px 1fr; gap: 16px; }
    .ag-diff__item-num { font-size: 36px; }

    .ag-cta__actions { flex-direction: column; width: 100%; }
    .ag-cta__actions .ag-btn { justify-content: center; }

    .ag-footer__main { grid-template-columns: 1fr; gap: 32px; padding: 48px 0 40px; }
    .ag-footer__brand { grid-column: auto; }
}

/* ============================================================
   SOBRE NÓS
   ============================================================ */

/* ── Hero ── */
.ag-about-hero {
    background: var(--ag-bg);
    padding: 160px 0 100px;
}

.ag-about-hero__inner {
    max-width: 960px;
    margin-bottom: 64px;
}

.ag-about-hero__title {
    font-size: clamp(44px, 6.5vw, 96px);
    font-weight: 900;
    letter-spacing: -0.04em;
    line-height: 1.04;
    color: var(--ag-text);
    margin: 24px 0 32px;
    text-wrap: balance;
}

.ag-about-hero__title em {
    font-style: normal;
    background: linear-gradient(90deg, var(--ag-purple), var(--ag-pink));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.ag-about-hero__desc {
    font-size: 18px;
    line-height: 1.75;
    color: var(--ag-text-3);
    max-width: 600px;
    margin: 0;
}

.ag-about-hero__stats {
    display: flex;
    align-items: center;
    gap: 0;
    padding-top: 56px;
    border-top: 1px solid var(--ag-border);
}

.ag-about-hero__stat {
    flex: 1;
    padding: 0 48px 0 0;
}

.ag-about-hero__stat-divider {
    width: 1px;
    height: 56px;
    background: var(--ag-border);
    margin: 0 48px 0 0;
    flex-shrink: 0;
}

.ag-about-hero__stat-num {
    font-size: 56px;
    font-weight: 900;
    letter-spacing: -0.05em;
    line-height: 1;
    margin-bottom: 8px;
}

.ag-about-hero__stat-num span {
    font-size: 0.6em;
}

.ag-about-hero__stat-num--purple { color: var(--ag-purple); }
.ag-about-hero__stat-num--amber  { color: var(--ag-amber); }
.ag-about-hero__stat-num--pink   { color: var(--ag-pink); }

.ag-about-hero__stat-label {
    font-size: 13px;
    color: var(--ag-text-4);
    font-weight: 500;
}

/* ── Manifesto ── */
.ag-about-manifesto {
    background: #09090B;
    padding: 120px 0;
}

.ag-about-manifesto__headline {
    font-size: clamp(40px, 6vw, 84px);
    font-weight: 900;
    letter-spacing: -0.04em;
    line-height: 1.06;
    margin: 28px 0 64px;
    display: flex;
    flex-wrap: wrap;
    gap: 0 0.3em;
    /* as palavras usam o sistema .ag-word/.ag-word--accent já definido */
}

.ag-about-manifesto__body {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 56px;
    padding-top: 48px;
    border-top: 1px solid rgba(255,255,255,0.07);
}

.ag-about-manifesto__p {
    font-size: 17px;
    line-height: 1.8;
    color: rgba(255,255,255,0.45);
    margin: 0;
}

/* ── Valores ── */
.ag-about-valores {
    background: var(--ag-bg-2);
    padding: 120px 0;
}

.ag-about-valores__header {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: end;
    margin-bottom: 64px;
}

.ag-about-valores__title {
    font-size: clamp(32px, 4vw, 56px);
    font-weight: 900;
    letter-spacing: -0.03em;
    line-height: 1.1;
    color: var(--ag-text);
    margin: 12px 0 0;
}

.ag-about-valores__desc {
    font-size: 16px;
    line-height: 1.75;
    color: var(--ag-text-3);
    margin: 0;
    align-self: end;
}

.ag-about-valores__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.ag-about-valores__card {
    background: #fff;
    border-radius: 20px;
    padding: 44px 40px;
    border-top: 4px solid transparent;
    transition: transform 0.25s cubic-bezier(0.22,1,0.36,1), box-shadow 0.25s;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.ag-about-valores__card:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 40px rgba(0,0,0,0.09);
}

.ag-about-valores__card--purple { border-top-color: var(--ag-purple); }
.ag-about-valores__card--amber  { border-top-color: var(--ag-amber); }
.ag-about-valores__card--pink   { border-top-color: var(--ag-pink); }
.ag-about-valores__card--blue   { border-top-color: var(--ag-blue); }

.ag-about-valores__card-num {
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin-bottom: 8px;
}

.ag-about-valores__card--purple .ag-about-valores__card-num { color: var(--ag-purple); }
.ag-about-valores__card--amber  .ag-about-valores__card-num { color: #D97706; }
.ag-about-valores__card--pink   .ag-about-valores__card-num { color: var(--ag-pink); }
.ag-about-valores__card--blue   .ag-about-valores__card-num { color: var(--ag-blue); }

.ag-about-valores__card-title {
    font-size: 22px;
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.2;
    color: var(--ag-text);
    margin: 0;
}

.ag-about-valores__card-desc {
    font-size: 15px;
    line-height: 1.7;
    color: var(--ag-text-3);
    margin: 0;
}

/* ── Processo ── */
.ag-about-processo {
    background: #111113;
    padding: 120px 0;
}

.ag-about-processo__header {
    margin-bottom: 72px;
}

.ag-about-processo__title {
    font-size: clamp(32px, 4vw, 56px);
    font-weight: 900;
    letter-spacing: -0.03em;
    line-height: 1.1;
    color: rgba(255,255,255,0.9);
    margin: 12px 0 16px;
}

.ag-about-processo__sub {
    font-size: 16px;
    color: rgba(255,255,255,0.3);
    max-width: 500px;
    line-height: 1.7;
    margin: 0;
}

.ag-about-processo__list {
    display: flex;
    flex-direction: column;
    border-top: 1px solid rgba(255,255,255,0.07);
}

.ag-about-processo__step {
    display: grid;
    grid-template-columns: 72px 220px 1fr;
    gap: 48px;
    align-items: start;
    padding: 44px 0;
    border-bottom: 1px solid rgba(255,255,255,0.07);
    transition: background 0.2s;
}

.ag-about-processo__step:hover {
    background: rgba(255,255,255,0.02);
    border-radius: 12px;
    padding-left: 12px;
    padding-right: 12px;
    margin: 0 -12px;
}

.ag-about-processo__step-num {
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.1em;
    padding-top: 5px;
}

.ag-about-processo__step--purple .ag-about-processo__step-num { color: var(--ag-purple); }
.ag-about-processo__step--amber  .ag-about-processo__step-num { color: var(--ag-amber); }
.ag-about-processo__step--pink   .ag-about-processo__step-num { color: var(--ag-pink); }
.ag-about-processo__step--blue   .ag-about-processo__step-num { color: var(--ag-blue); }

.ag-about-processo__step-title {
    font-size: 22px;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: rgba(255,255,255,0.85);
    margin: 0;
    line-height: 1.3;
}

.ag-about-processo__step-desc {
    font-size: 15px;
    line-height: 1.75;
    color: rgba(255,255,255,0.38);
    margin: 0;
}

/* ── Time ── */
.ag-about-time {
    background: var(--ag-bg);
    padding: 120px 0;
}

.ag-about-time__header {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: end;
    margin-bottom: 64px;
}

.ag-about-time__title {
    font-size: clamp(32px, 4vw, 56px);
    font-weight: 900;
    letter-spacing: -0.03em;
    line-height: 1.1;
    color: var(--ag-text);
    margin: 12px 0 0;
}

.ag-about-time__desc {
    font-size: 16px;
    line-height: 1.75;
    color: var(--ag-text-3);
    margin: 0;
    align-self: end;
}

.ag-about-time__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
}

.ag-about-time__card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 32px;
    padding: 64px 48px;
    border-radius: 24px;
    border: 1px solid var(--ag-border);
    background: #fff;
    transition: box-shadow 0.25s, transform 0.25s cubic-bezier(0.22,1,0.36,1);
}

.ag-about-time__card:hover {
    box-shadow: 0 10px 40px rgba(0,0,0,0.09);
    transform: translateY(-6px);
}

.ag-about-time__avatar {
    width: 64px;
    height: 64px;
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: 900;
    letter-spacing: 0.02em;
    flex-shrink: 0;
}

.ag-about-time__card--purple .ag-about-time__avatar { background: var(--ag-purple-soft); color: var(--ag-purple); }
.ag-about-time__card--amber  .ag-about-time__avatar { background: var(--ag-amber-soft);  color: #92400E; }
.ag-about-time__card--pink   .ag-about-time__avatar { background: var(--ag-pink-soft);   color: var(--ag-pink); }
.ag-about-time__card--blue   .ag-about-time__avatar { background: var(--ag-blue-soft);   color: var(--ag-blue); }

.ag-about-time__avatar--photo {
    width: 160px;
    height: 160px;
    border-radius: 50%;
    overflow: hidden;
    background: none;
    padding: 0;
}

.ag-about-time__avatar--photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
    display: block;
}

.ag-about-time__info {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}

.ag-about-time__name {
    font-size: 20px;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--ag-text);
}

.ag-about-time__role {
    font-size: 14px;
    font-weight: 500;
    color: var(--ag-text-4);
}

/* ── Responsivo ── */
@media (max-width: 860px) {
    .ag-about-hero         { padding: 120px 0 72px; }
    .ag-about-hero__stats         { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; padding-top: 32px; }
    .ag-about-hero__stat          { display: flex; flex-direction: row; align-items: center; gap: 16px; min-width: 0; padding: 0; text-align: left; }
    .ag-about-hero__stat-num      { flex-shrink: 0; line-height: 1; margin-bottom: 0; }
    .ag-about-hero__stat-label    { font-size: 14px; line-height: 1.3; }
    .ag-about-hero__stat-divider  { display: none; }

    .ag-about-manifesto__body { grid-template-columns: 1fr; gap: 32px; }

    .ag-about-valores__header { grid-template-columns: 1fr; }
    .ag-about-valores__grid   { grid-template-columns: 1fr; }

    .ag-about-processo__step {
        grid-template-columns: 56px 1fr;
        gap: 24px;
    }
    .ag-about-processo__step-desc {
        grid-column: 1 / -1;
        padding-left: 80px;
    }

    .ag-about-time__header { grid-template-columns: 1fr; }
    .ag-about-time__grid   { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 640px) {
    .ag-about-hero__title       { font-size: 36px; }
    .ag-about-hero__stat-num    { font-size: 32px; }
    .ag-about-manifesto__headline { font-size: 32px; }
    .ag-about-processo__step    { grid-template-columns: 1fr; gap: 16px; }
    .ag-about-processo__step-desc { padding-left: 0; }
    .ag-about-time__grid        { grid-template-columns: 1fr; }
}

/* ============================================================
   PÁGINA DE SERVIÇOS
   ============================================================ */

/* ── Hero ── */
.ag-svcs-hero {
    background: var(--ag-bg);
    padding: 160px 0 80px;
}

.ag-svcs-hero__inner {
    max-width: 880px;
    margin-bottom: 56px;
}

.ag-svcs-hero__title {
    font-size: clamp(40px, 6vw, 88px);
    font-weight: 900;
    letter-spacing: -0.04em;
    line-height: 1.04;
    color: var(--ag-text);
    margin: 24px 0 32px;
    text-wrap: balance;
}

.ag-svcs-hero__title em {
    font-style: normal;
    background: linear-gradient(90deg, var(--ag-purple), var(--ag-pink));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.ag-svcs-hero__desc {
    font-size: 18px;
    line-height: 1.75;
    color: var(--ag-text-3);
    max-width: 620px;
    margin: 0;
}

/* Chips de categoria no hero */
.ag-svcs-hero__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding-top: 48px;
    border-top: 1px solid var(--ag-border);
}

.ag-svcs-hero__chip {
    font-size: 13px;
    font-weight: 600;
    border-radius: 100px;
    padding: 7px 18px;
    border: 1.5px solid transparent;
}

.ag-svcs-hero__chip--purple { background: var(--ag-purple-soft); color: var(--ag-purple);  border-color: #DDD6FE; }
.ag-svcs-hero__chip--amber  { background: var(--ag-amber-soft);  color: #92400E;           border-color: #FDE68A; }
.ag-svcs-hero__chip--pink   { background: var(--ag-pink-soft);   color: var(--ag-pink);    border-color: #FBCFE8; }
.ag-svcs-hero__chip--blue   { background: var(--ag-blue-soft);   color: var(--ag-blue);    border-color: #BFDBFE; }
.ag-svcs-hero__chip--green  { background: var(--ag-green-soft);  color: var(--ag-green);   border-color: #A7F3D0; }

/* ── Lista de serviços ── */
.ag-svcs-lista {
    background: var(--ag-bg);
    padding-bottom: 120px;
}

.ag-svcs-lista__list {
    display: flex;
    flex-direction: column;
}

.ag-svcs-lista__row {
    position: relative;
    display: block;
    padding: 48px 28px;
    border-radius: 20px;
    text-decoration: none;
    color: inherit;
    border: 1px solid transparent;
    transition: background 0.22s, border-color 0.22s, box-shadow 0.22s;
}

/* Separador entre rows via ::before do próximo irmão */
.ag-svcs-lista__row + .ag-svcs-lista__row::before {
    content: '';
    position: absolute;
    top: 0;
    left: 28px;
    right: 28px;
    height: 1px;
    background: var(--ag-border);
}

.ag-svcs-lista__row:hover {
    background: #fff;
    border-color: var(--ag-border);
    box-shadow: 0 6px 40px rgba(0,0,0,0.07);
}

/* Corpo do card */
.ag-svcs-lista__body {
    display: flex;
    flex-direction: column;
    gap: 16px;
    min-width: 0;
}

.ag-svcs-lista__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
}

.ag-svcs-lista__title {
    font-size: 30px;
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: 1.15;
    color: var(--ag-text);
    margin: 0;
}

/* Seta — círculo que rotaciona e preenche no hover */
.ag-svcs-lista__arrow {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 1.5px solid var(--ag-border);
    color: var(--ag-text-4);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-top: 2px;
    transition: background 0.22s, color 0.22s, border-color 0.22s,
                transform 0.3s cubic-bezier(0.22,1,0.36,1);
}

.ag-svcs-lista__row:hover .ag-svcs-lista__arrow {
    transform: rotate(-45deg);
}

.ag-svcs-lista__row--purple:hover .ag-svcs-lista__arrow { background: var(--ag-purple); color: #fff; border-color: var(--ag-purple); }
.ag-svcs-lista__row--amber:hover  .ag-svcs-lista__arrow { background: var(--ag-amber);  color: #fff; border-color: var(--ag-amber); }
.ag-svcs-lista__row--pink:hover   .ag-svcs-lista__arrow { background: var(--ag-pink);   color: #fff; border-color: var(--ag-pink); }
.ag-svcs-lista__row--blue:hover   .ag-svcs-lista__arrow { background: var(--ag-blue);   color: #fff; border-color: var(--ag-blue); }
.ag-svcs-lista__row--green:hover  .ag-svcs-lista__arrow { background: var(--ag-green);  color: #fff; border-color: var(--ag-green); }

/* Descrição */
.ag-svcs-lista__desc {
    font-size: 16px;
    line-height: 1.75;
    color: var(--ag-text-3);
    margin: 0;
    max-width: 680px;
}

/* Chips de entregáveis */
.ag-svcs-lista__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding-top: 8px;
}

.ag-svcs-lista__chip {
    font-size: 12px;
    font-weight: 600;
    border-radius: 100px;
    padding: 5px 14px;
    background: var(--ag-bg-2);
    color: var(--ag-text-4);
    border: 1px solid var(--ag-border);
    transition: background 0.18s, color 0.18s, border-color 0.18s;
}

.ag-svcs-lista__row--purple:hover .ag-svcs-lista__chip { background: var(--ag-purple-soft); color: var(--ag-purple); border-color: #DDD6FE; }
.ag-svcs-lista__row--amber:hover  .ag-svcs-lista__chip { background: var(--ag-amber-soft);  color: #92400E;          border-color: #FDE68A; }
.ag-svcs-lista__row--pink:hover   .ag-svcs-lista__chip { background: var(--ag-pink-soft);   color: var(--ag-pink);   border-color: #FBCFE8; }
.ag-svcs-lista__row--blue:hover   .ag-svcs-lista__chip { background: var(--ag-blue-soft);   color: var(--ag-blue);   border-color: #BFDBFE; }
.ag-svcs-lista__row--green:hover  .ag-svcs-lista__chip { background: var(--ag-green-soft);  color: var(--ag-green);  border-color: #A7F3D0; }

/* ── Responsivo ── */
@media (max-width: 860px) {
    .ag-svcs-hero { padding: 120px 0 64px; }
    .ag-svcs-hero__inner { margin-bottom: 40px; }

    .ag-svcs-lista__row   { padding: 40px 16px; }
    .ag-svcs-lista__title { font-size: 22px; }
}

@media (max-width: 640px) {
    .ag-svcs-hero__title  { font-size: 34px; }
    .ag-svcs-hero__desc   { font-size: 16px; }

    .ag-svcs-lista__row   { padding: 36px 16px; }
    .ag-svcs-lista__chips { display: none; }
}

/* ============================================================
   INTERNA DE SERVIÇO (single-servico)
   ============================================================ */

/* ── Botão primário por cor de serviço ── */
.ag-btn--primary.ag-btn--amber {
    background: var(--ag-amber);
    box-shadow: 0 4px 20px rgba(245,158,11,0.35);
}
.ag-btn--primary.ag-btn--amber:hover  { background: #D97706; }

.ag-btn--primary.ag-btn--pink {
    background: var(--ag-pink);
    box-shadow: 0 4px 20px rgba(236,72,153,0.35);
}
.ag-btn--primary.ag-btn--pink:hover   { background: #DB2777; }

.ag-btn--primary.ag-btn--blue {
    background: var(--ag-blue);
    box-shadow: 0 4px 20px rgba(59,130,246,0.35);
}
.ag-btn--primary.ag-btn--blue:hover   { background: #2563EB; }

.ag-btn--primary.ag-btn--green {
    background: var(--ag-green);
    box-shadow: 0 4px 20px rgba(16,185,129,0.35);
}
.ag-btn--primary.ag-btn--green:hover  { background: #059669; }

/* Botão ghost (outline) */
.ag-btn--ghost {
    background: transparent;
    color: var(--ag-text-3);
    border: 1.5px solid var(--ag-border);
    box-shadow: none;
}
.ag-btn--ghost:hover {
    background: var(--ag-bg-2);
    color: var(--ag-text);
    border-color: var(--ag-border-2);
}

/* Label colorido por serviço */
.ag-label--purple { color: var(--ag-purple); background: var(--ag-purple-soft); border-color: #DDD6FE; }
.ag-label--amber  { color: #92400E;          background: var(--ag-amber-soft);  border-color: #FDE68A; }
.ag-label--pink   { color: var(--ag-pink);   background: var(--ag-pink-soft);   border-color: #FBCFE8; }
.ag-label--blue   { color: var(--ag-blue);   background: var(--ag-blue-soft);   border-color: #BFDBFE; }
.ag-label--green  { color: var(--ag-green);  background: var(--ag-green-soft);  border-color: #A7F3D0; }

/* ── CTA bento: cor do serviço na célula CTA ── */
.ag-cta--amber  .ag-cta__cell--cta { background: var(--ag-amber); }
.ag-cta--pink   .ag-cta__cell--cta { background: var(--ag-pink); }
.ag-cta--blue   .ag-cta__cell--cta { background: var(--ag-blue); }
.ag-cta--green  .ag-cta__cell--cta { background: var(--ag-green); }

/* ── Hero ── */
.ag-svc-hero {
    background: var(--ag-bg);
    padding: 120px 0;
}

.ag-svc-hero__inner {
    max-width: 880px;
}

.ag-breadcrumb,
.ag-svc-hero__breadcrumb {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: var(--ag-text-4);
    margin-bottom: 32px;
    flex-wrap: wrap;
}

.ag-breadcrumb a,
.ag-svc-hero__breadcrumb a {
    color: var(--ag-text-4);
    text-decoration: none;
    transition: color 0.15s;
}
.ag-breadcrumb a:hover,
.ag-svc-hero__breadcrumb a:hover       { color: var(--ag-text); }
.ag-breadcrumb span,
.ag-svc-hero__breadcrumb span          { color: var(--ag-border-2); }
.ag-breadcrumb span:last-child,
.ag-svc-hero__breadcrumb span:last-child { color: var(--ag-text-3); }

.ag-svc-hero .ag-label {
    margin-bottom: 24px;
    display: inline-flex;
}

.ag-svc-hero__title {
    font-size: clamp(40px, 5.5vw, 80px);
    font-weight: 900;
    letter-spacing: -0.04em;
    line-height: 1.04;
    color: var(--ag-text);
    margin: 0 0 24px;
    text-wrap: balance;
}

.ag-svc-hero__desc {
    font-size: 18px;
    line-height: 1.75;
    color: var(--ag-text-3);
    margin: 0 0 40px;
    max-width: 620px;
}

.ag-svc-hero__actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

/* ── Entregáveis ── */
.ag-svc-ent {
    background: #09090B;
    padding: 120px 0;
}

.ag-svc-ent__header {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 56px;
    align-items: end;
    margin-bottom: 64px;
}

.ag-svc-ent__title {
    font-size: clamp(28px, 3.5vw, 48px);
    font-weight: 900;
    letter-spacing: -0.03em;
    line-height: 1.15;
    color: rgba(255,255,255,0.9);
    margin: 12px 0 0;
}

.ag-svc-ent__intro {
    font-size: 16px;
    line-height: 1.75;
    color: rgba(255,255,255,0.38);
    margin: 0;
    align-self: end;
}

.ag-svc-ent__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2px;
    background: rgba(255,255,255,0.06);
    border-radius: 20px;
    overflow: hidden;
}

.ag-svc-ent__card {
    background: #09090B;
    padding: 20px 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
    border: 1px solid transparent;
    transition: background 0.2s, border-color 0.2s;
}

.ag-svc-ent__card:hover { background: rgba(255,255,255,0.03); }

.ag-svc-ent__card--purple:hover { border-color: rgba(124,58,237,0.3); }
.ag-svc-ent__card--amber:hover  { border-color: rgba(245,158,11,0.3); }
.ag-svc-ent__card--pink:hover   { border-color: rgba(236,72,153,0.3); }
.ag-svc-ent__card--blue:hover   { border-color: rgba(59,130,246,0.3); }
.ag-svc-ent__card--green:hover  { border-color: rgba(16,185,129,0.3); }

.ag-svc-ent__card-num {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.ag-svc-ent__card--purple .ag-svc-ent__card-num { color: var(--ag-purple); }
.ag-svc-ent__card--amber  .ag-svc-ent__card-num { color: var(--ag-amber); }
.ag-svc-ent__card--pink   .ag-svc-ent__card-num { color: var(--ag-pink); }
.ag-svc-ent__card--blue   .ag-svc-ent__card-num { color: var(--ag-blue); }
.ag-svc-ent__card--green  .ag-svc-ent__card-num { color: var(--ag-green); }

.ag-svc-ent__card-title {
    font-size: 18px;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: rgba(255,255,255,0.85);
    margin: 0;
}

.ag-svc-ent__card-desc {
    font-size: 14px;
    line-height: 1.7;
    color: rgba(255,255,255,0.38);
    margin: 0;
}

/* ── Processo (etapas) ── */
.ag-svc-proc {
    background: var(--ag-bg-2);
    padding: 120px 0;
}

.ag-svc-proc__header {
    margin-bottom: 56px;
}

.ag-svc-proc__title {
    font-size: clamp(28px, 3.5vw, 48px);
    font-weight: 900;
    letter-spacing: -0.03em;
    color: var(--ag-text);
    margin: 12px 0 0;
}

/* Bento 2x2 */
.ag-svc-proc__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2px;
    background: var(--ag-border);
    border-radius: 24px;
    overflow: hidden;
}

.ag-svc-proc__step {
    background: #fff;
    padding: 48px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    transition: background 0.2s;
}

.ag-svc-proc__step:hover { background: var(--ag-bg); }

.ag-svc-proc__step-num {
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.ag-svc-proc__step--purple .ag-svc-proc__step-num { color: var(--ag-purple); }
.ag-svc-proc__step--amber  .ag-svc-proc__step-num { color: var(--ag-amber); }
.ag-svc-proc__step--pink   .ag-svc-proc__step-num { color: var(--ag-pink); }
.ag-svc-proc__step--blue   .ag-svc-proc__step-num { color: var(--ag-blue); }
.ag-svc-proc__step--green  .ag-svc-proc__step-num { color: var(--ag-green); }

.ag-svc-proc__step-title {
    font-size: 22px;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--ag-text);
    margin: 0;
    line-height: 1.2;
}

.ag-svc-proc__step-desc {
    font-size: 15px;
    line-height: 1.7;
    color: var(--ag-text-3);
    margin: 0;
}

/* ── Outros serviços ── */
.ag-svc-outros {
    background: var(--ag-bg);
    padding: 120px 0;
}

.ag-svc-outros__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 48px;
}

.ag-svc-outros__title {
    font-size: clamp(24px, 3vw, 40px);
    font-weight: 900;
    letter-spacing: -0.03em;
    color: var(--ag-text);
    margin: 0;
}

.ag-svc-outros__ver-todos {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 600;
    color: var(--ag-text-3);
    text-decoration: none;
    flex-shrink: 0;
    transition: color 0.15s, gap 0.2s;
}
.ag-svc-outros__ver-todos:hover { color: var(--ag-text); gap: 12px; }

.ag-svc-outros__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.ag-svc-outros__card {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 40px;
    border-radius: 20px;
    border: 1px solid var(--ag-border);
    background: #fff;
    text-decoration: none;
    color: inherit;
    transition: box-shadow 0.25s, transform 0.25s cubic-bezier(0.22,1,0.36,1), border-color 0.22s;
}

.ag-svc-outros__card:hover {
    box-shadow: 0 10px 40px rgba(0,0,0,0.08);
    transform: translateY(-6px);
}

.ag-svc-outros__card--purple:hover { border-color: var(--ag-purple-soft); }
.ag-svc-outros__card--amber:hover  { border-color: #FDE68A; }
.ag-svc-outros__card--pink:hover   { border-color: #FBCFE8; }
.ag-svc-outros__card--blue:hover   { border-color: #BFDBFE; }
.ag-svc-outros__card--green:hover  { border-color: #A7F3D0; }

.ag-svc-outros__card-num {
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.ag-svc-outros__card--purple .ag-svc-outros__card-num { color: var(--ag-purple); }
.ag-svc-outros__card--amber  .ag-svc-outros__card-num { color: #D97706; }
.ag-svc-outros__card--pink   .ag-svc-outros__card-num { color: var(--ag-pink); }
.ag-svc-outros__card--blue   .ag-svc-outros__card-num { color: var(--ag-blue); }
.ag-svc-outros__card--green  .ag-svc-outros__card-num { color: var(--ag-green); }

.ag-svc-outros__card-title {
    font-size: 22px;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--ag-text);
    margin: 0;
    line-height: 1.2;
}

.ag-svc-outros__card-desc {
    font-size: 14px;
    line-height: 1.65;
    color: var(--ag-text-3);
    margin: 0;
    flex: 1;
}

.ag-svc-outros__card-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    margin-top: 8px;
    transition: gap 0.2s;
}

.ag-svc-outros__card:hover .ag-svc-outros__card-link { gap: 10px; }

.ag-svc-outros__card--purple .ag-svc-outros__card-link { color: var(--ag-purple); }
.ag-svc-outros__card--amber  .ag-svc-outros__card-link { color: #D97706; }
.ag-svc-outros__card--pink   .ag-svc-outros__card-link { color: var(--ag-pink); }
.ag-svc-outros__card--blue   .ag-svc-outros__card-link { color: var(--ag-blue); }
.ag-svc-outros__card--green  .ag-svc-outros__card-link { color: var(--ag-green); }

/* ── Responsivo ── */
@media (max-width: 991px) {
    .ag-svc-hero { padding: 80px 0; }

    .ag-svc-ent__header { grid-template-columns: 1fr; gap: 24px; }
    .ag-svc-ent__grid   { grid-template-columns: 1fr 1fr; }

    .ag-svc-proc__grid  { grid-template-columns: 1fr; }
    .ag-svc-outros__grid { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
    .ag-svc-hero { padding-top: 100px; }
    .ag-svc-hero__title { font-size: 36px; }
    .ag-svc-hero__desc  { font-size: 16px; }

    .ag-svc-ent__grid   { grid-template-columns: 1fr; }
    .ag-svc-proc        { padding: 72px 0; overflow: hidden; }
    .ag-svc-proc .container-ag { padding-left: 20px; padding-right: 20px; }
    .ag-svc-proc__grid  { border-radius: 16px; }
    .ag-svc-proc__step  { padding: 28px 20px; }

    .ag-svc-outros__card { padding: 28px 24px; }
}

/* ============================================================
   FALE CONOSCO
   ============================================================ */

/* ── Hero ── */
.ag-contact-hero {
    background: var(--ag-bg);
    padding: 72px 0 56px;
}

.ag-contact-hero__inner {
    max-width: 820px;
}

.ag-contact-hero .ag-label {
    margin-bottom: 16px;
    display: inline-flex;
}

.ag-contact-hero__title {
    font-size: clamp(28px, 3vw, 44px);
    font-weight: 900;
    letter-spacing: -0.03em;
    line-height: 1.1;
    color: var(--ag-text);
    margin: 0 0 16px;
}

.ag-contact-hero__title em {
    font-style: normal;
    background: linear-gradient(90deg, var(--ag-purple), var(--ag-pink));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.ag-contact-hero__desc {
    font-size: 16px;
    line-height: 1.7;
    color: var(--ag-text-3);
    max-width: 600px;
    margin: 0 0 32px;
}

.ag-contact-hero__trust {
    display: flex;
    align-items: center;
    gap: 0;
}

.ag-contact-hero__trust-item {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding-right: 48px;
}

.ag-contact-hero__trust-divider {
    width: 1px;
    height: 40px;
    background: var(--ag-border);
    margin-right: 48px;
}

.ag-contact-hero__trust-num {
    font-size: 28px;
    font-weight: 900;
    letter-spacing: -0.03em;
    color: var(--ag-purple);
}

.ag-contact-hero__trust-label {
    font-size: 13px;
    color: var(--ag-text-4);
}

/* ── Seção contato (dark) ── */
.ag-contact-main {
    background: #09090B;
    padding: 120px 0;
}

.ag-contact-main__grid {
    display: grid;
    grid-template-columns: 1fr 1.1fr;
    gap: 80px;
    align-items: start;
}

.ag-contact-main__eyebrow {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--ag-purple-mid);
    margin: 0 0 24px;
}

.ag-contact-main__heading {
    font-size: clamp(32px, 3.5vw, 52px);
    font-weight: 900;
    letter-spacing: -0.03em;
    line-height: 1.1;
    color: rgba(255,255,255,0.92);
    margin: 0 0 20px;
}

.ag-contact-main__sub {
    font-size: 16px;
    line-height: 1.7;
    color: rgba(255,255,255,0.38);
    margin: 0 0 48px;
    max-width: 380px;
}

/* Canais */
.ag-contact-channels {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.ag-contact-channel {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 20px 24px;
    border-radius: 14px;
    border: 1px solid rgba(255,255,255,0.07);
    background: rgba(255,255,255,0.03);
    text-decoration: none;
    transition: background 0.2s, border-color 0.2s;
}

.ag-contact-channel:hover {
    background: rgba(255,255,255,0.06);
    border-color: rgba(255,255,255,0.12);
}

.ag-contact-channel__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: rgba(124,58,237,0.15);
    color: var(--ag-purple-mid);
    flex-shrink: 0;
}

.ag-contact-channel__body {
    display: flex;
    flex-direction: column;
    gap: 2px;
    flex: 1;
}

.ag-contact-channel__label {
    font-size: 12px;
    font-weight: 500;
    color: rgba(255,255,255,0.38);
}

.ag-contact-channel__value {
    font-size: 15px;
    font-weight: 600;
    color: rgba(255,255,255,0.85);
}

.ag-contact-channel__arrow {
    font-size: 16px;
    color: rgba(255,255,255,0.25);
    transition: color 0.2s, transform 0.2s;
}

.ag-contact-channel:hover .ag-contact-channel__arrow {
    color: var(--ag-purple-mid);
    transform: translateX(4px);
}

/* Card do formulário */
.ag-contact-form-card {
    background: #FFFFFF;
    border-radius: 20px;
    padding: 48px;
}

.ag-contact-form-card__title {
    font-size: 22px;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--ag-text);
    margin: 0 0 6px;
}

.ag-contact-form-card__sub {
    font-size: 14px;
    color: var(--ag-text-4);
    margin: 0 0 32px;
}

/* Estilos CF7 dentro do card */
.ag-contact-form-card .wpcf7-form {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.ag-contact-form-card .wpcf7-form p {
    margin: 0;
}

.ag-contact-form-card .cf7-field {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.ag-contact-form-card .cf7-field br {
    display: none;
}

.ag-contact-form-card .cf7-label {
    padding-bottom: 10px;
}

.ag-contact-form-card .cf7-row {
    display: flex;
    gap: 12px;
}

.ag-contact-form-card .cf7-row .cf7-field {
    flex: 1 1 0;
    min-width: 0;
}


.ag-contact-form-card input[type="text"],
.ag-contact-form-card input[type="email"],
.ag-contact-form-card input[type="tel"],
.ag-contact-form-card select,
.ag-contact-form-card textarea {
    width: 100%;
    padding: 14px 16px;
    border: 1.5px solid var(--ag-border);
    border-radius: 10px;
    font-size: 15px;
    font-family: inherit;
    color: var(--ag-text);
    background: var(--ag-bg);
    outline: none;
    transition: border-color 0.2s;
    box-sizing: border-box;
}

.ag-contact-form-card input[type="text"]:focus,
.ag-contact-form-card input[type="email"]:focus,
.ag-contact-form-card input[type="tel"]:focus,
.ag-contact-form-card select:focus,
.ag-contact-form-card textarea:focus {
    border-color: var(--ag-purple);
}

.ag-contact-form-card textarea {
    resize: vertical;
    min-height: 96px;
}

.ag-contact-form-card input[type="submit"] {
    width: 100%;
    padding: 16px;
    background: var(--ag-purple);
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    font-family: inherit;
    border: none;
    border-radius: 10px;
    cursor: pointer;
    transition: background 0.2s, transform 0.15s;
}

.ag-contact-form-card input[type="submit"]:hover {
    background: #6D28D9;
    transform: translateY(-1px);
}

.ag-contact-form-card .wpcf7-not-valid-tip {
    font-size: 12px;
    color: #EF4444;
    margin-top: 4px;
    display: block;
}

.ag-contact-form-card .wpcf7-response-output {
    font-size: 14px;
    padding: 12px 16px;
    border-radius: 8px;
    margin: 0;
    border: none;
}

.ag-contact-form-card .wpcf7-mail-sent-ok {
    background: #D1FAE5;
    color: #065F46;
}

.ag-contact-form-card .wpcf7-validation-errors,
.ag-contact-form-card .wpcf7-spam-blocked {
    background: #FEE2E2;
    color: #991B1B;
}

/* ── FAQ ── */
.ag-contact-faq {
    background: var(--ag-bg-2);
    padding: 120px 0;
}

.ag-contact-faq__inner {
    max-width: 760px;
    margin: 0 auto;
}

.ag-contact-faq__header {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 56px;
}

.ag-contact-faq .ag-label {
    display: inline-flex;
}

.ag-contact-faq__title {
    font-size: clamp(28px, 3.5vw, 44px);
    font-weight: 900;
    letter-spacing: -0.03em;
    color: var(--ag-text);
    margin: 0;
}

.ag-faq-list {
    display: flex;
    flex-direction: column;
}

.ag-faq-item {
    border-bottom: 1px solid var(--ag-border);
}

.ag-faq-item:first-child {
    border-top: 1px solid var(--ag-border);
}

.ag-faq-item__btn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    width: 100%;
    padding: 24px 0;
    background: none;
    border: none;
    cursor: pointer;
    text-align: left;
}

.ag-faq-item__q {
    font-size: 17px;
    font-weight: 600;
    color: var(--ag-text);
    line-height: 1.4;
}

.ag-faq-item__icon {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    color: var(--ag-purple);
    transition: transform 0.25s;
}

.ag-faq-item__btn[aria-expanded="true"] .ag-faq-item__icon {
    transform: rotate(45deg);
}

.ag-faq-item__body {
    padding-bottom: 24px;
}

.ag-faq-item__a {
    font-size: 16px;
    line-height: 1.75;
    color: var(--ag-text-3);
    margin: 0;
}

/* ── Responsivo ── */
@media (max-width: 860px) {
    .ag-contact-hero  { padding: 48px 0 36px; }
    .ag-contact-main  { padding: 80px 0; }
    .ag-contact-faq   { padding: 80px 0; }

    .ag-contact-main__grid { grid-template-columns: 1fr; gap: 48px; }

    .ag-contact-hero__trust { flex-wrap: wrap; gap: 24px; }
    .ag-contact-hero__trust-divider { display: none; }
    .ag-contact-hero__trust-item { padding-right: 0; }
}

@media (max-width: 640px) {
    .ag-contact-hero__title { font-size: 36px; }
    .ag-contact-form-card   { padding: 28px 24px; }
    .ag-contact-faq__title  { font-size: 28px; }

    /* Stats: um por linha, número à esquerda e label ao lado */
    .ag-contact-hero__trust {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
    }
    .ag-contact-hero__trust-item {
        flex-direction: row;
        align-items: center;
        gap: 14px;
        padding-right: 0;
    }
    .ag-contact-hero__trust-num   { font-size: 24px; line-height: 1; }
    .ag-contact-hero__trust-label { font-size: 14px; }

    /* Form: um campo por linha */
    .ag-contact-form-card .cf7-row { flex-direction: column; gap: 0; }
}

/* ============================================================
   MOBILE – PADRONIZAÇÃO GERAL (≤ 640px)
   ============================================================ */
@media (max-width: 640px) {

    /* Todos os títulos de hero → 34px */
    .ag-hero__title,
    .ag-svcs-hero__title,
    .ag-svc-hero__title,
    .ag-contact-hero__title,
    .ag-about-hero__title      { font-size: 34px; letter-spacing: -0.03em; }

    /* Todos os títulos de seção (h2) → 28px */
    .ag-svc__title,
    .ag-diff__title,
    .ag-nums__headline,
    .ag-pos__headline,
    .ag-cta__headline,
    .ag-about-valores__title,
    .ag-about-time__title,
    .ag-about-processo__title,
    .ag-about-manifesto__headline,
    .ag-contact-faq__title,
    .ag-svcs-lista__title,
    .ag-contact-form-card__title { font-size: 28px; letter-spacing: -0.02em; }

    /* Padding de seções */
    .ag-svc, .ag-diff, .ag-pos  { padding-top: 64px; padding-bottom: 64px; }
    .ag-about-manifesto          { padding: 80px 0; }
    .ag-about-valores,
    .ag-about-time,
    .ag-about-processo           { padding: 64px 0; }

    /* Cards – padding proporcional */
    .ag-about-valores__card      { padding: 28px 24px; }
    .ag-about-time__card         { padding: 32px 24px; gap: 20px; }
    .ag-about-time__avatar--photo { width: 120px; height: 120px; }
    .ag-about-time__grid         { grid-template-columns: 1fr; }
    .ag-cta__cell--main          { padding: 36px 28px; }

    /* Texto corrido */
    .ag-hero__text,
    .ag-about-hero__desc,
    .ag-svcs-hero__desc,
    .ag-svc-hero__desc,
    .ag-contact-hero__desc       { font-size: 16px; line-height: 1.65; }
}
