/**
 * REDOR PUBLIC PAGES UNIFIED DESIGN SYSTEM — ARCHITECTURE V5
 * 
 * Este arquivo é a ÚNICA FONTE DE VERDADE para todas as páginas públicas do ecossistema Redor:
 * - index.php (Home)
 * - category_solution.php (Soluções por Categoria)
 * - monetization_guide.php (Guia de Renda e Afiliado)
 * - terms.php (Termos de Uso)
 * - privacy.php (Política de Privacidade)
 * 
 * Regras Estritas:
 * 1. Tipografia: Manrope obrigatória em todos os elementos.
 * 2. Botões: NUNCA devem ter fundo preto (nem em repouso nem em hover).
 *    - Destaque: fundo branco, borda preta 1px, texto escuro. Hover: sombra + elevação.
 *    - Secundário: fundo branco/translúcido, borda cinza 1px. Hover: sombra + elevação.
 * 3. Vermelho de Marca: var(--red-brand: #e43138) aplicado nos traços dos eyebrows e ícones.
 * 4. Arredondamento: border-radius de 6px nos botões (nunca formato pílula exagerado).
 */

@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');

:root {
    --bg: #ffffff;
    --surface: #ffffff;
    --surface-subtle: #f8fafc;
    --surface-hover: #f1f5f9;
    --line: #e2e8f0;
    --line-strong: #cbd5e1;
    --text: #090d16;
    --text-muted: #475569;
    --text-light: #64748b;
    --red-brand: #e43138;
    --radius-sm: 6px;
    --radius-md: 10px;
    --radius-lg: 16px;
    --radius-pill: 9999px;
    --shadow-subtle: 0 1px 3px 0 rgba(0, 0, 0, 0.04);
    --shadow-card: 0 10px 30px -4px rgba(9, 13, 22, 0.05);
    --max-w: 1140px;
    --font-sans: 'Manrope', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

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

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

button, input, select, textarea {
    font-family: inherit;
}

a {
    color: inherit;
    text-decoration: none;
}

.container {
    max-width: var(--max-w);
    margin: 0 auto;
    padding: 0 24px;
}

/* ==========================================================================
   REDOR LUCIDE ICON SYSTEM — ARCHITECTURE V5
   WHY: Standardized, lightweight, zero-runtime-JS SVG icon system.
   CONTRACT: Uses 24x24 viewBox, stroke-based with currentColor, Apple-like minimalism.
   ========================================================================== */
.r-icon {
    width: 22px;
    height: 22px;
    display: inline-block;
    flex: 0 0 auto;

    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
    vertical-align: middle;
}

.r-icon--sm {
    width: 18px;
    height: 18px;
}

.r-icon--md {
    width: 22px;
    height: 22px;
}

.r-icon--lg {
    width: 24px;
    height: 24px;
}

/* ==========================================================================
   HEADER
   ========================================================================== */
.site-header {
    position: sticky;
    top: 0;
    z-index: 50;
    background: rgba(255, 255, 255, 0.96);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-bottom: 1px solid var(--line);
}

.header-inner {
    max-width: var(--max-w);
    margin: 0 auto;
    padding: 16px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.logo-img {
    height: 24px;
    max-height: 24px;
    width: auto;
    display: block;
    object-fit: contain;
    transition: opacity 0.2s ease;
}
/* Same logo scale as the application and photo-viewer headers. */
.site-header .logo-img{width:110px!important;max-width:110px!important;height:auto!important;max-height:34px!important;object-fit:contain}
@media(max-width:899px){.site-header .logo-img{width:96px!important;max-width:96px!important;max-height:30px!important}}

.logo-img:hover {
    opacity: 0.85;
}

.logo-wrap {
    display: flex;
    align-items: center;
    gap: 12px;
}

.monochrome-badge-small {
    font-size: 12px;
    font-weight: 600;
    padding: 0 0 2px 0;
    background: transparent;
    border: none;
    border-radius: 0;
    border-bottom: 2px solid var(--red-brand);
    color: var(--text);
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.header-nav {
    display: flex;
    align-items: center;
    gap: 24px;
}

.nav-link {
    font-size: 14px;
    font-weight: 500;
    color: var(--text-muted);
    transition: color 0.15s ease;
}

.nav-link:hover {
    color: var(--text);
}

.header-actions {
    display: flex;
    align-items: center;
    gap: 14px;
}

/* ==========================================================================
   BUTTONS — REGRAS ESTRITAS: SEM FUNDO PRETO, COM ELEVAÇÃO E SOMBRA
   ========================================================================== */
.btn-header-secondary {
    font-size: 14px;
    font-weight: 500;
    padding: 10px 18px;
    border-radius: 6px;
    background: #ffffff;
    border: 1px solid var(--line-strong);
    color: var(--text);
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.btn-header-secondary:hover {
    background: #ffffff;
    border-color: #94a3b8;
    color: var(--text);
    transform: translateY(-2px);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
}

.btn-header-secondary:active {
    transform: translateY(0);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

.btn-header-primary {
    font-size: 14px;
    font-weight: 600;
    padding: 10px 22px;
    border-radius: 6px;
    background: #ffffff;
    border: 1px solid var(--text);
    color: var(--text);
    text-decoration: underline;
    text-decoration-color: var(--text);
    text-decoration-thickness: 2px;
    text-underline-offset: 4px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.btn-header-primary:hover {
    background: #ffffff;
    color: var(--text);
    text-decoration-color: var(--text);
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
}

.btn-header-primary:active {
    transform: translateY(0);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06);
}

/* Approved public CTA: one centered capsule action per call-to-action area. */
.home-top-art{display:block;width:min(100%,1280px);margin:0 auto;padding:0}
.home-top-art>img{display:block;width:100%;height:auto;margin:0 auto;object-fit:contain}
/* Landing content only: symmetric padding keeps the label truly centered. */
/* White landing actions keep the arrow beside their underlined label. */
/* Navigation CTAs share the inline arrow/label pattern, regardless of fill. */
body main a:is(.btn-cta-giant,.btn-cta-outline,.dual-box-btn,.btn-job-apply,.btn-rlr-publish,.btn-learn-card,.btn-quick-mural,.affiliate-primary)[href]:not([href^="#"]):not(header *,footer *,aside *){
    gap:8px!important;
}
body main a:is(.btn-cta-giant,.btn-cta-outline,.dual-box-btn,.btn-job-apply,.btn-rlr-publish,.btn-learn-card,.btn-quick-mural,.affiliate-primary)[href]:not([href^="#"]):not(header *,footer *,aside *)::after{
    position:static!important;transform:none!important;flex:0 0 18px;
}
body main :is(.btn-learn-card,.btn-quick-mural,.affiliate-primary):not(header *,footer *,aside *){
    gap:8px!important;text-decoration:underline!important;text-decoration-color:#000!important;
    text-decoration-thickness:.5px!important;text-underline-offset:4px;
}
body main :is(.btn-learn-card,.btn-quick-mural,.affiliate-primary):not(header *,footer *,aside *)::after{
    position:static!important;transform:none!important;flex:0 0 18px;
}
body main :is(.btn-cta-giant,.btn-cta-outline,.dual-box-btn,.btn-job-apply,.btn-step-next,.btn-rlr-publish,.btn-learn-card,.btn-quick-mural,.affiliate-primary):not(header *,footer *,aside *){
    position:relative;display:flex!important;align-items:center;justify-content:center;
    width:fit-content!important;min-width:min(280px,100%);max-width:100%;
    padding:14px 52px!important;box-sizing:border-box;text-transform:uppercase;
    text-align:center;gap:0;margin-inline:auto;
}
body main :is(.btn-cta-giant,.btn-cta-outline,.dual-box-btn,.btn-job-apply,.btn-step-next,.btn-rlr-publish,.btn-learn-card,.btn-quick-mural,.affiliate-primary):not(header *,footer *,aside *)>svg{display:none}
body main :is(.btn-cta-giant,.btn-cta-outline,.dual-box-btn,.btn-job-apply,.btn-step-next,.btn-rlr-publish,.btn-learn-card,.btn-quick-mural,.affiliate-primary):not(header *,footer *,aside *)::after{
    content:"";position:absolute;right:20px;top:50%;width:18px;height:18px;
    margin:0;transform:translateY(-50%);pointer-events:none;background:currentColor;
    mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M7 7h10v10'/%3E%3C/svg%3E") center/contain no-repeat;
}
@media(max-width:360px){
    body main :is(.btn-cta-giant,.btn-cta-outline,.dual-box-btn,.btn-job-apply,.btn-step-next,.btn-rlr-publish,.btn-learn-card,.btn-quick-mural,.affiliate-primary):not(header *,footer *,aside *){min-width:min(250px,100%);padding-inline:40px!important}
}
body .hero-cta-group{justify-content:center;align-items:center}
body .btn-cta-giant,body .btn-cta-outline,body .dual-box-btn,
body .btn-job-apply,body .btn-step-next,body .btn-rlr-publish{
    position:relative;isolation:isolate;overflow:hidden;display:flex!important;
    align-items:center;justify-content:center;gap:8px;width:fit-content!important;
    max-width:100%;min-height:46px;margin-inline:auto;
    padding:12px 24px;border:1px solid #b80b25!important;border-radius:999px!important;
    background:linear-gradient(115deg,#b80b25 0%,#e61b35 55%,#c70e2c 100%)!important;
    color:#fff!important;font-size:15px;font-weight:600;text-align:center;
    text-decoration:none!important;line-height:1.4;white-space:normal;
    box-shadow:0 3px 12px #c70e2c26;transform:none!important;
}
body .btn-cta-giant::before,body .btn-cta-outline::before,body .dual-box-btn::before,
body .btn-job-apply::before,body .btn-step-next::before,body .btn-rlr-publish::before{
    content:"";position:absolute;top:-50%;bottom:-50%;left:-55%;width:35%;
    transform:skewX(-20deg);background:linear-gradient(90deg,transparent,#ffffff38,transparent);
    pointer-events:none;animation:public-cta-shine 4.5s ease-in-out infinite;
}
body .hero-cta-group>.btn-cta-giant{flex:0 1 auto}
body .btn-cta-giant svg{flex-shrink:0}
body .btn-cta-giant:focus-visible,body .btn-cta-outline:focus-visible,
body .dual-box-btn:focus-visible,body .btn-step-next:focus-visible{outline:2px solid #b80b25;outline-offset:4px}
@keyframes public-cta-shine{0%,65%{left:-55%}90%,100%{left:130%}}
@media(prefers-reduced-motion:reduce){
    body .btn-cta-giant::before,body .btn-cta-outline::before,body .dual-box-btn::before,
    body .btn-job-apply::before,body .btn-step-next::before,body .btn-rlr-publish::before{animation:none}
}
.btn-cta-giant {
    font-size: 16px;
    font-weight: 600;
    padding: 16px 36px;
    border-radius: 6px;
    background: #ffffff;
    border: 1px solid var(--text);
    color: var(--text);
    text-decoration: underline;
    text-decoration-color: var(--text);
    text-decoration-thickness: 2px;
    text-underline-offset: 5px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.btn-cta-giant:hover {
    background: #ffffff;
    color: var(--text);
    text-decoration-color: var(--text);
    transform: translateY(-3px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

.btn-cta-giant:active {
    transform: translateY(0);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06);
}

.btn-cta-outline {
    font-size: 16px;
    font-weight: 500;
    padding: 16px 32px;
    border-radius: 6px;
    background: #ffffff;
    border: 1px solid var(--line-strong);
    color: var(--text);
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.btn-cta-outline:hover {
    background: #ffffff;
    border-color: #94a3b8;
    color: var(--text);
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
}

.btn-cta-outline:active {
    transform: translateY(0);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

.btn-learn-card {
    font-size: 14px;
    font-weight: 600;
    color: var(--text);
    display: inline-flex;
    align-items: center;
    gap: 4px;
    text-decoration: none;
    transition: gap 0.15s ease, opacity 0.15s ease;
}

.btn-learn-card::after {
    content: '\203A';
    font-size: 18px;
    line-height: 1;
    transition: transform 0.15s ease;
    display: inline-block;
}

.btn-learn-card:hover::after {
    transform: translateX(3px);
}

.btn-learn-card:hover {
    opacity: 0.75;
}

.btn-quick-mural {
    font-size: 13px;
    font-weight: 500;
    color: var(--text-light);
    transition: color 0.15s ease;
}

.btn-quick-mural:hover {
    color: var(--text);
}

/* ==========================================================================
   HERO MONUMENTAL
   ========================================================================== */
/* Alternate homepage sections; preserve inner cards and other public pages. */
.home-page > main > .hero,
.home-page > main > .pioneer-section,
.home-page > main > .solutions-section,
.home-page > main > .faq-section {
    background: var(--surface);
}

.home-page > main > .whatsapp-direct-section,
.home-page > main > .comparison-section,
.home-page > main > .monetization-section,
.home-page > main > .bottom-banner-section {
    background: var(--surface-subtle);
}

.hero {
    padding: 96px 0 64px;
    text-align: center;
}

.monochrome-eyebrow {
    display: inline-block;
    background: transparent;
    border: none;
    border-radius: 0;
    padding: 0 0 4px 0;
    border-bottom: 2px solid var(--red-brand);
    font-size: 13px;
    font-weight: 600;
    color: var(--text);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 28px;
}

.hero-title {
    font-size: clamp(38px, 6vw, 68px);
    font-weight: 600;
    letter-spacing: -0.04em;
    line-height: 1.1;
    color: var(--text);
    max-width: 960px;
    margin: 0 auto 24px;
}

.hero-subhead {
    font-size: clamp(18px, 2.8vw, 22px);
    color: var(--text-muted);
    line-height: 1.55;
    max-width: 760px;
    margin: 0 auto 44px;
    font-weight: 400;
}

.hero-cta-group {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    flex-wrap: wrap;
}

/* ==========================================================================
   SECTIONS & SECTION HEADERS
   ========================================================================== */
.section-header-huge {
    text-align: center;
    max-width: 820px;
    margin: 0 auto 56px;
}

.section-header-huge .monochrome-eyebrow {
    margin-left: auto;
    margin-right: auto;
}

.section-header-huge h2 {
    font-size: clamp(30px, 4.5vw, 44px);
    font-weight: 600;
    letter-spacing: -0.03em;
    line-height: 1.15;
    margin-bottom: 16px;
}

.section-header-huge p {
    font-size: 18px;
    color: var(--text-muted);
}

/* ==========================================================================
   WHATSAPP DIRECT COMMUNICATION SECTION (index.php)
   Behavioral Economics: Loss Aversion & Zero Friction
   ========================================================================== */
.whatsapp-direct-section {
    padding: 96px 0;
    background: #ffffff;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
}

.wds-scenarios-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
    margin-bottom: 48px;
}

.wds-card {
    background: #ffffff;
    border: 1px solid var(--line);
    border-radius: var(--radius-lg);
    padding: 36px 32px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 24px;
    box-shadow: var(--shadow-subtle);
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.wds-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-card);
    border-color: var(--line-strong);
}

.wds-card-badge {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--text-muted);
    border-bottom: 1.5px solid var(--red-brand);
    padding-bottom: 2px;
    margin-bottom: 16px;
}

.wds-card-title {
    font-size: 21px;
    font-weight: 650;
    letter-spacing: -0.02em;
    color: var(--text);
    line-height: 1.3;
    margin: 0 0 18px 0;
}

/* ==========================================================================
   MOCKUP LISTING & CHAT VISUAL (wds)
   ========================================================================== */
.mock-listing-chat {
    background: #ffffff;
    border: 1px solid #e4e4e7;
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 20px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03);
}

.mlc-chat-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
}

.mlc-chat-header-user {
    display: flex;
    align-items: center;
    gap: 10px;
}

.mlc-avatar {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #e2e8f0;
    color: #64748b;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.mlc-avatar svg {
    width: 18px;
    height: 18px;
    stroke: #64748b;
}

.mlc-chat-name {
    font-family: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 13px;
    font-weight: 700;
    color: #1e293b;
    line-height: 1.2;
}

.mlc-chat-status-text {
    font-family: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 11px;
    color: #64748b;
    display: flex;
    align-items: center;
    gap: 5px;
    margin-top: 2px;
}

.mlc-author-tag {
    font-family: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 10.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    opacity: 0.75;
    margin-bottom: 2px;
    display: block;
}

.mlc-chat-area {
    padding: 12px 14px;
    background: #f4f4f5;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.mlc-chat-status {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    font-size: 11px;
    color: #71717a;
    font-weight: 500;
    margin-bottom: 2px;
}

.mlc-status-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #a1a1aa;
}

.mlc-message-bubble {
    max-width: 90%;
    padding: 6px 12px;
    border-radius: 10px;
    font-size: 13px;
    line-height: 1.35;
    display: inline-flex;
    align-items: baseline;
    gap: 12px;
}

.mlc-msg-out {
    align-self: flex-end;
    background: #e0e7ff;
    color: #1e1b4b;
    border-bottom-right-radius: 2px;
}

.mlc-msg-in {
    align-self: flex-start;
    background: #ffffff;
    color: #1e293b;
    border-bottom-left-radius: 2px;
    border: 1px solid #e2e8f0;
}

.mlc-msg-text {
    font-family: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-weight: 500;
}

.mlc-msg-meta {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    font-size: 10px;
    color: #64748b;
    opacity: 0.85;
    white-space: nowrap;
    margin-left: auto;
    flex-shrink: 0;
}

.mlc-msg-out .mlc-msg-meta {
    color: #6366f1;
}

.mlc-check-icon {
    width: 12px;
    height: 12px;
}

.mlc-chat-notice {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 10px 12px;
    background: #fff1f2;
    border: 1px solid #fecdd3;
    border-radius: 8px;
    font-size: 12px;
    color: #9f1239;
    line-height: 1.4;
    margin-top: 4px;
}

.mlc-chat-notice svg {
    width: 15px;
    height: 15px;
    flex-shrink: 0;
    margin-top: 1px;
    stroke: #e11d48;
}

.wds-friction-box {
    background: #fbfbfb;
    border: 1px solid #ededed;
    border-radius: 12px;
    padding: 18px 20px;
}

.wds-tag-legacy {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    color: #dc2626;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: 8px;
}

.wds-friction-box p {
    font-size: 14.5px;
    color: #52525b;
    line-height: 1.6;
    margin: 0;
}

.wds-redor-box {
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    border-radius: 12px;
    padding: 18px 20px;
}

.wds-tag-redor {
    display: inline-flex;
    align-items: center;
    gap: 0.35em;
    vertical-align: middle;
    font-size: 11px;
    font-weight: 700;
    color: #16a34a;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: 8px;
}

.wds-tag-redor .wds-inline-logo {
    height: 1.15em;
    width: auto;
    max-width: none;
    flex: 0 0 auto;
    object-fit: contain;
}

.wds-redor-box p {
    font-size: 14.5px;
    color: #166534;
    font-weight: 500;
    line-height: 1.6;
    margin: 0;
}

.wds-guarantee-bar {
    background: var(--surface-subtle);
    border: 1px solid var(--line-strong);
    border-radius: var(--radius-lg);
    padding: 32px 36px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
    box-shadow: var(--shadow-subtle);
}

.wds-guarantee-item {
    display: flex;
    align-items: flex-start;
    gap: 16px;
}

.wds-g-icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: #ffffff;
    border: 1px solid var(--line);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.wds-g-icon svg {
    width: 22px;
    height: 22px;
    stroke: #171717;
}

.wds-g-title {
    font-size: 16px;
    font-weight: 700;
    color: var(--text);
    margin: 0 0 6px 0;
    letter-spacing: -0.01em;
}

.wds-g-desc {
    font-size: 13.5px;
    color: var(--text-muted);
    line-height: 1.5;
    margin: 0;
}

/* ==========================================================================
   DATA VISUALS / HOME COMPARISON (index.php)
   ========================================================================== */
.comparison-section {
    padding: 96px 0;
    background: var(--surface-subtle);
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
}

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

.data-card {
    background: #ffffff;
    border: 1px solid var(--line);
    border-radius: var(--radius-lg);
    padding: 36px 32px;
    box-shadow: var(--shadow-subtle);
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.data-card--dominant {
    border: 2px solid var(--text);
    box-shadow: var(--shadow-card);
}

.data-card-label {
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--text-muted);
}

.data-card-metric {
    font-size: clamp(40px, 5.5vw, 56px);
    font-weight: 600;
    letter-spacing: -0.04em;
    line-height: 1;
    color: var(--text);
}

.data-bar-visual {
    width: 100%;
    height: 12px;
    background: var(--line);
    border-radius: var(--radius-pill);
    overflow: hidden;
    margin: 4px 0 12px;
}

.data-bar-fill {
    height: 100%;
    border-radius: var(--radius-pill);
}

.data-bar-fill.fill-competitor {
    width: 78%;
    background: var(--text-light);
}

.data-bar-fill.fill-redor {
    width: 100%;
    background: var(--red-brand);
}

.data-card-points {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 12px;
    font-size: 15px;
    color: var(--text-muted);
}

.data-card-points li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    line-height: 1.5;
}

.data-card-points svg {
    width: 16px;
    height: 16px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    flex-shrink: 0;
    margin-top: 3px;
}

.data-card-points li svg {
    opacity: 0.55;
}

.data-card--dominant .data-card-points li svg {
    opacity: 1;
    stroke: #16a34a;
}

/* ==========================================================================
   PIONEER / SECTORS GRID (index.php)
   ========================================================================== */
.pioneer-section {
    padding: 100px 0;
    background: #ffffff;
    border-bottom: 1px solid var(--line);
}

.pioneer-grid {
    display: grid;
    grid-template-columns: 45% 55%;
    gap: 56px;
    align-items: center;
}

.pioneer-content h2 {
    font-size: clamp(32px, 4.5vw, 44px);
    font-weight: 600;
    letter-spacing: -0.03em;
    line-height: 1.15;
    margin-bottom: 20px;
}

.pioneer-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.pioneer-content p {
    font-size: 17px;
    color: var(--text-muted);
    margin-bottom: 20px;
    line-height: 1.65;
    max-width: 520px;
}

.pioneer-graphic {
    display: flex;
    align-items: stretch;
    justify-content: stretch;
    width: 100%;
}

.chart-svg-wrap {
    width: 100%;
    height: auto;
    display: block;
}

.pioneer-visual-card {
    background: var(--surface-subtle);
    border: 1px solid var(--line-strong);
    border-radius: var(--radius-lg);
    padding: 28px 32px;
    box-shadow: var(--shadow-card);
    width: 100%;
    overflow: hidden;
}

.pv-badge {
    display: inline-block;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--text);
    border-bottom: 2px solid var(--red-brand);
    padding-bottom: 2px;
    margin-bottom: 16px;
}

.sectors-section {
    padding: 100px 0;
    background: var(--surface-subtle);
    border-bottom: 1px solid var(--line);
}

.solutions-section {
    padding: 100px 0;
    background: #ffffff;
    border-bottom: 1px solid var(--line);
}

.solutions-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 40px;
    width: 100%;
}

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

.solution-card {
    background: #ffffff;
    border: 1px solid var(--line);
    border-radius: var(--radius-lg);
    padding: 24px 32px 28px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 100%;
    box-sizing: border-box;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
    box-shadow: var(--shadow-subtle);
}

@media (min-width: 901px) {
    .solution-card {
        min-height: 220px;
    }
}

.solution-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-card);
    border-color: var(--line-strong);
}

.sc-badge-row {
    text-align: center;
    margin-bottom: 20px;
    width: 100%;
}

.sc-badge {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--text-muted);
    border-bottom: 1.5px solid var(--red-brand);
    padding-bottom: 2px;
    display: inline-block;
}

.sc-body {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: 40px;
    width: 100%;
}

.sc-info {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.sc-main {
    display: flex;
    flex-direction: column;
}

.sc-title-row {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 12px;
}

.sc-icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: #f5f5f5;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.sc-icon svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: #171717;
    stroke-width: 1.75;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.sc-title {
    font-size: 22px;
    font-weight: 600;
    letter-spacing: -0.02em;
    color: var(--text);
    margin: 0;
}

.sc-desc {
    font-size: 15px;
    color: var(--text-muted);
    line-height: 1.55;
    margin: 0 0 16px 0;
    max-width: 600px;
}

.sc-footer {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-top: auto;
    padding-top: 16px;
    border-top: 1px solid var(--line);
    width: 100%;
}

/* ==========================================================================
   REDOR REAL LISTING GRID PREVIEW CARDS (explore.php specification)
   ========================================================================== */
.sc-listings {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    flex-shrink: 0;
}

.sc-grid-card {
    width: 165px;
    background: transparent;
    display: flex;
    flex-direction: column;
    text-decoration: none;
    box-sizing: border-box;
}

.sc-card-img-wrap {
    width: 100%;
    aspect-ratio: 1 / 1;
    border-radius: 9px;
    overflow: hidden;
    position: relative;
    background: #f1f5f9;
}

.sc-card-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.sc-card-body {
    padding: 8px 2px 0;
}

.sc-card-title {
    font-family: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 14px;
    font-weight: 500;
    color: #181818;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0 0 3px 0;
    line-height: 1.3;
}

.sc-card-price-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 6px;
}

.sc-card-price {
    font-family: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 14.5px;
    font-weight: 750;
    color: #181818;
    margin: 0;
    white-space: nowrap;
    line-height: 1.2;
}

.sc-card-distance {
    font-family: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 12px;
    color: #71717a;
    white-space: nowrap;
    flex-shrink: 0;
    line-height: 1.2;
}

/* ==========================================================================
   MONETIZATION BOX (index.php & category_solution.php)
   ========================================================================== */
.monetization-section {
    padding: 100px 0;
    background: #ffffff;
    border-bottom: 1px solid var(--line);
}

.monetization-box {
    background: var(--surface-subtle);
    border: 1px solid var(--line-strong);
    border-radius: var(--radius-lg);
    padding: 56px 48px;
    box-shadow: var(--shadow-card);
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    gap: 48px;
    align-items: center;
}

.monetization-box h2 {
    font-size: clamp(28px, 4vw, 40px);
    font-weight: 600;
    letter-spacing: -0.03em;
    line-height: 1.15;
    margin-bottom: 16px;
}

.monetization-box p {
    font-size: 16px;
    color: var(--text-muted);
    line-height: 1.65;
    margin-bottom: 20px;
}

.mb-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.mb-stats-row {
    display: flex;
    gap: 32px;
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid var(--line);
}

.mb-stat-number {
    font-size: 28px;
    font-weight: 700;
    letter-spacing: -0.03em;
    color: var(--text);
    line-height: 1;
}

.mb-stat-label {
    font-size: 12px;
    font-weight: 500;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-top: 4px;
}

.highlight-clean {
    color: var(--red-brand);
}

.monetization-asset-card {
    background: #ffffff;
    border: 1px solid var(--line-strong);
    border-radius: var(--radius-md);
    padding: 32px;
    box-shadow: var(--shadow-subtle);
}

/* ==========================================================================
   COMPARISON SECTION & COMP CARDS (monetization_guide.php)
   ========================================================================== */
.comp-card {
    border-radius: var(--radius-lg);
    padding: 40px 36px;
    border: 1px solid var(--line);
    background: #ffffff;
    box-shadow: var(--shadow-subtle);
}

.comp-card--dominant {
    border: 2px solid var(--text);
    box-shadow: var(--shadow-card);
}

.comp-card-title {
    font-size: 22px;
    font-weight: 600;
    color: var(--text);
    margin-bottom: 20px;
    letter-spacing: -0.01em;
}

.comp-list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.comp-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-size: 15px;
    line-height: 1.5;
    color: var(--text-muted);
}

.comp-item svg {
    width: 18px;
    height: 18px;
    stroke: var(--red-brand);
    fill: none;
    stroke-width: 2.2;
    flex-shrink: 0;
    margin-top: 2px;
}

/* ==========================================================================
   STEPS / MECHANISM (monetization_guide.php)
   ========================================================================== */
.steps-section {
    padding: 100px 0;
    background: #ffffff;
    border-bottom: 1px solid var(--line);
}

.steps-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 24px;
    margin-top: 48px;
}

.step-box {
    background: var(--surface-subtle);
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    padding: 32px 28px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    box-shadow: var(--shadow-subtle);
}

.step-number {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #ffffff;
    border: 1.5px solid var(--text);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    font-weight: 600;
    color: var(--text);
}

.step-title {
    font-size: 18px;
    font-weight: 600;
    color: var(--text);
}

.step-text {
    font-size: 14px;
    color: var(--text);
    font-weight: 500;
    line-height: 1.55;
}

/* ==========================================================================
   DIRECT LINK BOX (monetization_guide.php)
   ========================================================================== */
.direct-link-section {
    padding: 96px 0;
    background: var(--surface-subtle);
    border-bottom: 1px solid var(--line);
}

.direct-link-box {
    background: #ffffff;
    border: 1px solid var(--line-strong);
    border-radius: var(--radius-lg);
    padding: 56px 48px;
    box-shadow: var(--shadow-card);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
    flex-wrap: wrap;
}

.dl-content {
    max-width: 680px;
}

.dl-content h2 {
    font-size: clamp(28px, 4vw, 38px);
    font-weight: 600;
    letter-spacing: -0.03em;
    line-height: 1.15;
    margin-bottom: 16px;
}

.dl-content p {
    font-size: 17px;
    color: var(--text-muted);
    line-height: 1.6;
}

/* ==========================================================================
   STATS METRICS BOX (category_solution.php)
   ========================================================================== */
.stats-highlight-section {
    padding: 90px 0;
    background: var(--surface-subtle);
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
}

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

.sh-card {
    background: #ffffff;
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    padding: 36px 30px;
    box-shadow: var(--shadow-subtle);
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.sh-metric {
    font-size: clamp(36px, 5vw, 48px);
    font-weight: 600;
    letter-spacing: -0.03em;
    color: var(--text);
    line-height: 1;
}

.sh-title {
    font-size: 17px;
    font-weight: 600;
    color: var(--text);
}

.sh-desc {
    font-size: 14px;
    color: var(--text-muted);
    line-height: 1.5;
}

.subcategories-section {
    padding: 100px 0;
    background: #ffffff;
    border-bottom: 1px solid var(--line);
}

.subcat-pills-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    justify-content: center;
    max-width: 900px;
    margin: 0 auto;
}

.subcat-pill {
    padding: 14px 24px;
    border-radius: 6px;
    background: #ffffff;
    border: 1px solid var(--line-strong);
    color: var(--text);
    font-size: 15px;
    font-weight: 500;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
}

.subcat-pill:hover {
    background: #ffffff;
    border-color: #94a3b8;
    transform: translateY(-2px);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
}

.subcat-pill:active {
    transform: translateY(0);
}

/* ==========================================================================
   FAQ ACCORDION
   ========================================================================== */
.faq-section {
    padding: 100px 0;
    background: #ffffff;
    border-bottom: 1px solid var(--line);
}

.faq-accordion {
    max-width: 860px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.faq-card {
    border: 1px solid var(--line-strong);
    border-radius: var(--radius-md);
    background: var(--surface-subtle);
    overflow: hidden;
    transition: border-color 0.2s ease;
}

.faq-card:hover {
    border-color: var(--text);
}

.faq-summary {
    padding: 22px 26px;
    font-size: 17px;
    font-weight: 600;
    color: var(--text);
    cursor: pointer;
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    user-select: none;
}

.faq-summary::-webkit-details-marker {
    display: none;
}

.faq-icon-arrow {
    width: 18px;
    height: 18px;
    stroke: #737373;
    fill: none;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: transform 0.22s ease;
    flex-shrink: 0;
}

.faq-card[open] .faq-icon-arrow {
    transform: rotate(180deg);
    stroke: #171717;
}

.faq-card[open] .faq-summary {
    border-bottom: 1px solid var(--line);
}

.faq-body {
    padding: 24px 26px;
    font-size: 15px;
    color: var(--text);
    font-weight: 500;
    line-height: 1.65;
    background: var(--surface-subtle);
}

/* ==========================================================================
   BOTTOM BANNER
   ========================================================================== */
.bottom-banner-section {
    padding: 80px 0 100px;
    background: var(--surface-subtle);
}

.bottom-banner {
    background: #ffffff;
    border: 1px solid var(--line-strong);
    border-radius: var(--radius-lg);
    padding: 64px 36px;
    text-align: center;
    box-shadow: var(--shadow-card);
}

.bottom-banner h2 {
    font-size: clamp(28px, 4vw, 42px);
    font-weight: 600;
    letter-spacing: -0.03em;
    margin-bottom: 16px;
    color: var(--text);
}

.bottom-banner p {
    font-size: 18px;
    color: var(--text-muted);
    max-width: 680px;
    margin: 0 auto 36px;
}

/* ==========================================================================
   LEGAL PAGES (terms.php & privacy.php)
   ========================================================================== */
.legal-container {
    max-width: 860px;
    margin: 0 auto;
    padding: 48px 20px 80px;
}

.legal-header {
    margin-bottom: 36px;
    padding-bottom: 24px;
    border-bottom: 1px solid var(--line);
}

.legal-tag {
    display: inline-block;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--text);
    border-bottom: 2px solid var(--red-brand);
    padding-bottom: 3px;
    margin-bottom: 12px;
}

.legal-title {
    font-size: clamp(28px, 4.5vw, 42px);
    font-weight: 600;
    letter-spacing: -0.02em;
    color: var(--text);
    margin-bottom: 12px;
}

.legal-meta {
    font-size: 14px;
    color: var(--text-light);
}

.legal-content section {
    margin-bottom: 32px;
}

.legal-content h2 {
    font-size: 20px;
    font-weight: 600;
    color: var(--text);
    margin-bottom: 12px;
    letter-spacing: -0.01em;
}

.legal-content p {
    font-size: 15px;
    color: var(--text-muted);
    margin-bottom: 14px;
    line-height: 1.65;
}

.legal-content ul {
    margin: 12px 0 16px 20px;
    color: var(--text-muted);
    font-size: 15px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.legal-content li {
    line-height: 1.55;
}

/* ==========================================================================
   FOOTER
   ========================================================================== */
.site-footer {
    border-top: 1px solid var(--line);
    background: #ffffff;
    padding: 64px 0 40px;
    font-size: 14px;
    color: var(--text-muted);
}

.footer-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 36px;
    margin-bottom: 48px;
}

.footer-col-title {
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--text);
    margin-bottom: 18px;
}

.footer-links-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    list-style: none;
}

.footer-links-list a {
    color: var(--text-muted);
    transition: color 0.15s ease;
}

.footer-links-list a:hover {
    color: var(--text);
}

.footer-bottom {
    border-top: 1px solid var(--line);
    padding-top: 28px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 18px;
    font-size: 13px;
}

.footer-legal-links {
    display: flex;
    align-items: center;
    gap: 16px;
}

/* Footer simplificado para páginas legais */
.site-footer-simple {
    border-top: 1px solid var(--line);
    background: #ffffff;
    padding: 32px 0;
    font-size: 14px;
    color: var(--text-muted);
    text-align: center;
}

.footer-simple-links {
    display: flex;
    justify-content: center;
    gap: 16px;
    margin-top: 12px;
}

.footer-simple-links a:hover {
    color: var(--text);
}

/* ==========================================================================
   CANVAS DE FUNDO (index.php)
   ========================================================================== */
#bg-canvas {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: -1;
    pointer-events: none;
    opacity: 0.45;
}

/* ==========================================================================
   RESPONSIVIDADE
   ========================================================================== */
@media (max-width: 900px) {
    .pioneer-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }
    .pioneer-section {
        padding: 60px 0;
    }
    .pioneer-visual-card {
        background: none;
        border: none;
        box-shadow: none;
        padding: 0;
    }
    .pioneer-graphic {
        margin: 0 -24px;
        width: calc(100% + 48px);
    }
    .monetization-box {
        grid-template-columns: 1fr;
        padding: 36px 28px;
    }
    .direct-link-box {
        padding: 36px 28px;
    }
    .wds-scenarios-grid {
        grid-template-columns: 1fr;
        gap: 20px;
        margin-bottom: 32px;
    }
    .wds-card {
        padding: 24px 20px;
        gap: 20px;
    }
    .wds-guarantee-bar {
        grid-template-columns: 1fr;
        gap: 24px;
        padding: 24px 20px;
    }
    .solutions-grid {
        gap: 28px;
    }
    .solution-card {
        flex-direction: column;
        align-items: stretch;
        padding: 24px 20px;
        gap: 16px;
    }
    .sc-body {
        flex-direction: column;
        gap: 24px;
    }
    .sc-listings {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 14px;
        width: 100%;
    }
    .sc-grid-card {
        width: 100%;
    }
    .solution-card .sc-footer {
        margin-top: 16px;
        padding-top: 16px;
        border-top: 1px solid var(--line);
        flex-direction: row;
        justify-content: flex-start;
        gap: 16px;
    }
    .header-nav {
        display: none;
    }
}

@media (max-width: 640px) {
    .hero {
        padding: 64px 0 40px;
    }
    .hero-cta-group {
        flex-direction: column;
        width: 100%;
        padding: 0 20px;
        box-sizing: border-box;
    }
    .btn-cta-giant, .btn-cta-outline {
        width: 100%;
        text-align: center;
        box-sizing: border-box;
    }
    .bottom-banner {
        padding: 40px 24px;
    }
}

/* ==========================================================================
   TIPOGRAFIA GLOBAL — Manrope
   Aplicada em todas as páginas. Centralizado aqui para evitar duplicação.
   NÃO adicionar @import de Manrope nos arquivos .php individuais.
   ========================================================================== */
html, body, body * {
  font-family: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

h1, h2, h3, h4, h5, h6 {
  font-family: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  letter-spacing: -0.025em;
}

/* ==========================================================================
   REDOR RECRUITMENT & JOBS UNIFIED DESIGN SYSTEM — ARCHITECTURE V5
   Páginas: /vagas (Oportunidades) e /candidatar (Formulário e Envio)
   Regras: Manrope, sem botões de fundo preto, elevação com sombra, detalhes refinados.
   ========================================================================== */

/* Jobs Hero */
.jobs-hero {
    padding: 72px 0 48px;
    text-align: center;
    border-bottom: 1px solid var(--line);
    background: linear-gradient(180deg, #ffffff 0%, var(--surface-subtle) 100%);
}

.jobs-hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #ffffff;
    border: 1px solid var(--line);
    border-radius: var(--radius-pill);
    padding: 6px 16px;
    font-size: 13px;
    font-weight: 600;
    color: var(--text);
    margin-bottom: 24px;
    box-shadow: var(--shadow-subtle);
}

.jobs-hero-badge i {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #10b981;
    display: inline-block;
    box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.2);
}

.jobs-hero-title {
    font-size: clamp(34px, 5.5vw, 56px);
    font-weight: 700;
    letter-spacing: -0.04em;
    line-height: 1.15;
    color: var(--text);
    max-width: 900px;
    margin: 0 auto 20px;
}

.jobs-hero-title span {
    border-bottom: 3px solid var(--red-brand);
}

.jobs-hero-sub {
    font-size: clamp(16px, 2.2vw, 20px);
    color: var(--text-muted);
    line-height: 1.6;
    max-width: 720px;
    margin: 0 auto 36px;
}

.jobs-stats-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 40px;
    flex-wrap: wrap;
    margin-top: 28px;
    padding-top: 24px;
    border-top: 1px solid var(--line);
}

.jobs-stat-item {
    text-align: center;
}

.jobs-stat-item strong {
    display: block;
    font-size: 24px;
    font-weight: 700;
    color: var(--text);
    letter-spacing: -0.02em;
}

.jobs-stat-item span {
    font-size: 13px;
    color: var(--text-muted);
    font-weight: 500;
}

/* Jobs Controls & Filter Bar */
.jobs-controls-wrap {
    padding: 32px 0 24px;
}

.jobs-filter-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    background: #ffffff;
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    padding: 12px 18px;
    box-shadow: var(--shadow-subtle);
}

.jobs-tabs-group {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.jobs-tab-btn {
    font-size: 13px;
    font-weight: 600;
    padding: 8px 16px;
    border-radius: var(--radius-sm);
    background: #ffffff;
    border: 1px solid var(--line);
    color: var(--text-muted);
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.jobs-tab-btn:hover {
    background: var(--surface-subtle);
    color: var(--text);
    border-color: var(--line-strong);
    transform: translateY(-1px);
}

.jobs-tab-btn.active {
    background: #ffffff;
    border-color: var(--text);
    color: var(--text);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.jobs-count-badge {
    font-size: 13px;
    color: var(--text-muted);
    font-weight: 500;
}

/* Jobs Listing Grid */
.jobs-section {
    padding: 24px 0 72px;
}

.jobs-grid {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

/* Job Card */
.job-card {
    background: #ffffff;
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    padding: 28px 32px;
    box-shadow: var(--shadow-subtle);
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
    position: relative;
}

.job-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow-card);
    border-color: var(--line-strong);
}

.job-card.featured {
    border-left: 4px solid var(--red-brand);
}

.job-card-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 16px;
    flex-wrap: wrap;
}

.job-card-title-group h2 {
    font-size: 22px;
    font-weight: 700;
    color: var(--text);
    letter-spacing: -0.02em;
    margin-bottom: 8px;
    line-height: 1.3;
}

.job-badges-row {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.job-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    font-weight: 600;
    padding: 4px 10px;
    border-radius: 4px;
    background: var(--surface-subtle);
    border: 1px solid var(--line);
    color: var(--text-muted);
}

.job-badge.badge-featured {
    background: #fff1f2;
    border-color: #fecdd3;
    color: #e11d48;
}

.job-badge.badge-loc {
    background: #ecfdf5;
    border-color: #a7f3d0;
    color: #047857;
}

.job-badge.badge-regime {
    background: #eff6ff;
    border-color: #bfdbfe;
    color: #1d4ed8;
}

/* Salary display */
.job-salary-block {
    text-align: right;
    flex-shrink: 0;
}

.job-salary-label {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--text-light);
    font-weight: 600;
    display: block;
    margin-bottom: 2px;
}

.job-salary-value {
    font-size: 20px;
    font-weight: 700;
    color: var(--text);
    letter-spacing: -0.02em;
}

.job-card-summary {
    font-size: 15px;
    color: var(--text-muted);
    line-height: 1.6;
    margin-bottom: 20px;
}

/* Highlights tags */
.job-tags-row {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 24px;
}

.job-tag {
    font-size: 12px;
    color: var(--text-muted);
    background: #ffffff;
    border: 1px solid var(--line);
    padding: 4px 10px;
    border-radius: 4px;
}

/* Job Action Buttons */
.job-card-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding-top: 20px;
    border-top: 1px solid var(--line);
    flex-wrap: wrap;
}

.job-action-left {
    display: flex;
    align-items: center;
    gap: 12px;
}

.btn-job-apply {
    font-size: 14px;
    font-weight: 600;
    padding: 12px 24px;
    border-radius: 6px;
    background: #ffffff;
    border: 1.5px solid var(--text);
    color: var(--text);
    text-decoration: underline;
    text-decoration-color: var(--text);
    text-decoration-thickness: 1.5px;
    text-underline-offset: 4px;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
}

.btn-job-apply:hover {
    background: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.1);
}

.btn-job-details {
    font-size: 14px;
    font-weight: 500;
    padding: 12px 18px;
    border-radius: 6px;
    background: #ffffff;
    border: 1px solid var(--line-strong);
    color: var(--text);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
}

.btn-job-details:hover {
    background: #ffffff;
    border-color: #94a3b8;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
}

/* Expandable details container */
.job-expanded-details {
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px dashed var(--line);
    display: none;
    animation: fadeIn 0.2s ease;
}

.job-expanded-details.open {
    display: block;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(-4px); }
    to { opacity: 1; transform: translateY(0); }
}

.job-detail-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 28px;
    margin-top: 16px;
}

.job-detail-block h4 {
    font-size: 15px;
    font-weight: 700;
    color: var(--text);
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.job-detail-block ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.job-detail-block li {
    font-size: 14px;
    color: var(--text-muted);
    line-height: 1.6;
    margin-bottom: 8px;
    position: relative;
    padding-left: 18px;
}

.job-detail-block li::before {
    content: "•";
    color: var(--red-brand);
    position: absolute;
    left: 0;
    font-size: 18px;
    line-height: 1.2;
}

.job-detail-desc {
    font-size: 14px;
    color: var(--text-muted);
    line-height: 1.65;
    margin-bottom: 20px;
    white-space: pre-line;
}

/* Explanatory Selection Section */
.jobs-explainer-section {
    padding: 80px 0;
    background: var(--surface-subtle);
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
}

.explainer-steps-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-top: 48px;
}

.explainer-step-card {
    background: #ffffff;
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    padding: 32px 28px;
    box-shadow: var(--shadow-subtle);
    position: relative;
}

.step-num-badge {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #ffffff;
    border: 1.5px solid var(--text);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: 700;
    color: var(--text);
    margin-bottom: 20px;
}

.explainer-step-card h3 {
    font-size: 18px;
    font-weight: 700;
    color: var(--text);
    margin-bottom: 10px;
}

.explainer-step-card p {
    font-size: 14px;
    color: var(--text-muted);
    line-height: 1.6;
}

/* Callout Box explaining Redor Listing requirement */
.culture-callout-box {
    margin-top: 48px;
    background: #ffffff;
    border: 1px solid var(--line);
    border-left: 4px solid var(--red-brand);
    border-radius: var(--radius-md);
    padding: 32px;
    box-shadow: var(--shadow-subtle);
    display: flex;
    align-items: flex-start;
    gap: 24px;
}

.culture-callout-icon {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    border-radius: 10px;
    background: #fff1f2;
    color: var(--red-brand);
    display: flex;
    align-items: center;
    justify-content: center;
}

.culture-callout-content h3 {
    font-size: 18px;
    font-weight: 700;
    color: var(--text);
    margin-bottom: 8px;
}

.culture-callout-content p {
    font-size: 14px;
    color: var(--text-muted);
    line-height: 1.65;
    margin-bottom: 16px;
}

/* ==========================================================================
   FORMULÁRIO DE CANDIDATURA (/candidatar)
   ========================================================================== */
.apply-page-wrap {
    padding: 56px 0 80px;
    background: var(--surface-subtle);
    min-height: calc(100vh - 180px);
}

.apply-container {
    max-width: 760px;
    margin: 0 auto;
    padding: 0 20px;
}

.apply-card {
    background: #ffffff;
    border: 1px solid var(--line);
    border-radius: var(--radius-lg);
    padding: 40px;
    box-shadow: var(--shadow-card);
}

.apply-header {
    text-align: center;
    margin-bottom: 32px;
    padding-bottom: 28px;
    border-bottom: 1px solid var(--line);
}

.apply-header h1 {
    font-size: clamp(26px, 4vw, 34px);
    font-weight: 700;
    color: var(--text);
    letter-spacing: -0.03em;
    margin-bottom: 8px;
}

.apply-header p {
    font-size: 15px;
    color: var(--text-muted);
}

/* Job chosen banner */
.apply-job-badge-card {
    background: var(--surface-subtle);
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    padding: 16px 20px;
    margin-bottom: 32px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}

.apply-job-badge-info strong {
    display: block;
    font-size: 16px;
    color: var(--text);
    font-weight: 700;
}

.apply-job-badge-info span {
    font-size: 13px;
    color: var(--text-muted);
}

.apply-job-change-link {
    font-size: 13px;
    font-weight: 600;
    color: var(--red-brand);
    text-decoration: underline;
}

/* Form Groups & Inputs */
.apply-form {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.form-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.form-label {
    font-size: 14px;
    font-weight: 600;
    color: var(--text);
    display: flex;
    align-items: center;
    gap: 6px;
}

.form-label .req {
    color: var(--red-brand);
}

.form-help {
    font-size: 12px;
    color: var(--text-light);
    line-height: 1.4;
}

.form-input, .form-select, .form-textarea {
    width: 100%;
    padding: 12px 14px;
    font-size: 14px;
    font-family: var(--font-sans);
    color: var(--text);
    background: #ffffff;
    border: 1px solid var(--line-strong);
    border-radius: 6px;
    outline: none;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
    box-sizing: border-box;
}

.form-input:focus, .form-select:focus, .form-textarea:focus {
    border-color: var(--text);
    box-shadow: 0 0 0 3px rgba(9, 13, 22, 0.08);
}

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

/* The mandatory Redor Listing Callout Input Box */
.redor-listing-requirement-box {
    background: #fffaf0;
    border: 1.5px solid #fbd38d;
    border-radius: var(--radius-md);
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.rlr-header {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.rlr-icon {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    border-radius: 6px;
    background: #feebc8;
    color: #c05621;
    display: flex;
    align-items: center;
    justify-content: center;
}

.rlr-title {
    font-size: 15px;
    font-weight: 700;
    color: #7b341e;
    margin-bottom: 4px;
}

.rlr-text {
    font-size: 13px;
    color: #744210;
    line-height: 1.55;
}

.rlr-cta-row {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    padding-top: 12px;
    border-top: 1px solid #fbd38d;
}

.btn-rlr-publish {
    font-size: 12px;
    font-weight: 600;
    padding: 8px 14px;
    border-radius: 5px;
    background: #ffffff;
    border: 1px solid #dd6b20;
    color: #c05621;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    text-decoration: none;
    transition: transform 0.15s ease, background 0.15s ease;
}

.btn-rlr-publish:hover {
    background: #fffaf0;
    transform: translateY(-1px);
}

/* User's existing listings selector */
.user-listings-selector {
    background: #ffffff;
    border: 1px solid #ecc94b;
    border-radius: 6px;
    padding: 12px 14px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.user-listings-selector-label {
    font-size: 12px;
    font-weight: 600;
    color: #744210;
}

.user-listings-pills {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.user-listing-pill {
    font-size: 12px;
    padding: 5px 10px;
    border-radius: 4px;
    background: var(--surface-subtle);
    border: 1px solid var(--line);
    color: var(--text);
    cursor: pointer;
    transition: all 0.15s ease;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.user-listing-pill:hover {
    border-color: var(--text);
    background: #ffffff;
}

/* File upload zone */
.file-upload-zone {
    border: 1.5px dashed var(--line-strong);
    border-radius: 8px;
    padding: 24px;
    text-align: center;
    background: var(--surface-subtle);
    cursor: pointer;
    transition: border-color 0.2s ease, background 0.2s ease;
}

.file-upload-zone:hover {
    border-color: var(--text);
    background: #ffffff;
}

.file-upload-zone input[type="file"] {
    display: none;
}

.file-upload-label {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    cursor: pointer;
}

.file-upload-icon {
    width: 36px;
    height: 36px;
    color: var(--text-light);
}

.file-upload-text {
    font-size: 14px;
    font-weight: 600;
    color: var(--text);
}

.file-upload-hint {
    font-size: 12px;
    color: var(--text-light);
}

.file-chosen-name {
    font-size: 13px;
    font-weight: 600;
    color: #047857;
    margin-top: 8px;
    display: none;
}

/* Submit Application Button */
.btn-submit-app {
    font-size: 16px;
    font-weight: 600;
    padding: 16px 36px;
    border-radius: 6px;
    background: #ffffff;
    border: 1.5px solid var(--text);
    color: var(--text);
    text-decoration: underline;
    text-decoration-color: var(--text);
    text-decoration-thickness: 2px;
    text-underline-offset: 5px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    cursor: pointer;
    width: 100%;
}

.btn-submit-app:hover {
    background: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

/* Success Confirmation Screen */
.apply-success-box {
    text-align: center;
    padding: 24px 0;
}

.success-check-icon {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: #ecfdf5;
    color: #059669;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 24px;
}

.apply-success-box h2 {
    font-size: 28px;
    font-weight: 700;
    color: var(--text);
    letter-spacing: -0.03em;
    margin-bottom: 12px;
}

.apply-protocol {
    display: inline-block;
    background: var(--surface-subtle);
    border: 1px solid var(--line);
    padding: 6px 14px;
    border-radius: 6px;
    font-size: 13px;
    font-family: monospace;
    color: var(--text-muted);
    margin-bottom: 20px;
}

.apply-success-box p {
    font-size: 16px;
    color: var(--text-muted);
    line-height: 1.6;
    max-width: 580px;
    margin: 0 auto 32px;
}

.apply-success-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    flex-wrap: wrap;
}

/* Responsive queries */
@media (max-width: 768px) {
    .jobs-hero {
        padding: 48px 0 36px;
    }
    .jobs-filter-bar {
        flex-direction: column;
        align-items: stretch;
    }
    .job-card {
        padding: 20px;
    }
    .job-card-top {
        flex-direction: column;
        align-items: flex-start;
    }
    .job-salary-block {
        text-align: left;
    }
    .job-card-actions {
        flex-direction: column;
        align-items: stretch;
    }
    .job-action-left {
        flex-direction: column;
        width: 100%;
    }
    .btn-job-apply, .btn-job-details {
        width: 100%;
        justify-content: center;
    }
    .job-detail-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    .explainer-steps-grid {
        grid-template-columns: 1fr;
    }
    .culture-callout-box {
        flex-direction: column;
        padding: 20px;
    }
    .form-row {
        grid-template-columns: 1fr;
    }
    .apply-card {
        padding: 24px 18px;
    }
}

/* ==========================================================================
   3-STEP APPLICATION FUNNEL & MOBILE-FIRST STEPPER
   ========================================================================== */
.cand-stepper-wrap {
    margin-bottom: 32px;
}

.cand-stepper {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    max-width: 580px;
    margin: 0 auto;
}

.cand-stepper::before {
    content: '';
    position: absolute;
    top: 20px;
    left: 40px;
    right: 40px;
    height: 2px;
    background: var(--line);
    z-index: 1;
}

.cand-stepper-progress {
    position: absolute;
    top: 20px;
    left: 40px;
    height: 2px;
    background: var(--text);
    z-index: 2;
    transition: width 0.3s ease;
}

.cand-step-node {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    z-index: 3;
    text-decoration: none;
    cursor: default;
}

.cand-step-circle {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #ffffff;
    border: 2px solid var(--line-strong);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    font-weight: 700;
    color: var(--text-light);
    transition: all 0.25s ease;
    margin-bottom: 8px;
}

.cand-step-label {
    font-size: 13px;
    font-weight: 600;
    color: var(--text-muted);
    text-align: center;
    white-space: nowrap;
}

/* Active & Completed States */
.cand-step-node.active .cand-step-circle {
    border-color: var(--text);
    color: var(--text);
    box-shadow: 0 0 0 4px rgba(9, 13, 22, 0.1);
    background: #ffffff;
}

.cand-step-node.active .cand-step-label {
    color: var(--text);
    font-weight: 700;
}

.cand-step-node.completed .cand-step-circle {
    background: #10b981;
    border-color: #10b981;
    color: #ffffff;
}

.cand-step-node.completed .cand-step-label {
    color: #047857;
}

/* Auto-save reassurance banner */
.save-status-banner {
    background: #ecfdf5;
    border: 1px solid #a7f3d0;
    border-radius: 8px;
    padding: 12px 18px;
    margin-bottom: 28px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    font-size: 13px;
    color: #047857;
    animation: fadeIn 0.3s ease;
}

.save-status-banner strong {
    font-weight: 700;
}

.save-status-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.save-status-badge i {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #10b981;
    display: inline-block;
}

/* Funnel Navigation Action Row */
.step-nav-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-top: 36px;
    padding-top: 24px;
    border-top: 1px solid var(--line);
    flex-wrap: wrap;
}

.btn-step-prev {
    font-size: 15px;
    font-weight: 600;
    padding: 14px 24px;
    border-radius: 6px;
    background: #ffffff;
    border: 1px solid var(--line-strong);
    color: var(--text);
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    transition: all 0.2s ease;
    min-height: 48px;
}

.btn-step-prev:hover {
    background: var(--surface-subtle);
    border-color: #94a3b8;
    transform: translateY(-1px);
}

.btn-step-next {
    font-size: 16px;
    font-weight: 600;
    padding: 14px 32px;
    border-radius: 6px;
    background: #ffffff;
    border: 1.5px solid var(--text);
    color: var(--text);
    text-decoration: underline;
    text-decoration-color: var(--text);
    text-decoration-thickness: 1.5px;
    text-underline-offset: 4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
    min-height: 48px;
    flex: 1;
    max-width: 380px;
}

.btn-step-next:hover {
    background: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.12);
}

/* Match Verification Banner */
.match-verified-card {
    background: #f0fdf4;
    border: 1.5px solid #86efac;
    border-radius: 8px;
    padding: 18px 20px;
    margin-bottom: 24px;
    display: flex;
    align-items: flex-start;
    gap: 14px;
}

.match-verified-icon {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #dcfce7;
    color: #15803d;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.match-verified-content h4 {
    font-size: 15px;
    font-weight: 700;
    color: #166534;
    margin-bottom: 4px;
}

.match-verified-content p {
    font-size: 13px;
    color: #14532d;
    line-height: 1.5;
    margin: 0;
}

/* Mobile Stepper Adjustments */
@media (max-width: 640px) {
    .cand-stepper::before {
        top: 16px;
        left: 24px;
        right: 24px;
    }
    .cand-stepper-progress {
        top: 16px;
        left: 24px;
    }
    .cand-step-circle {
        width: 34px;
        height: 34px;
        font-size: 13px;
    }
    .cand-step-label {
        font-size: 11px;
    }
    .step-nav-actions {
        flex-direction: column-reverse;
        align-items: stretch;
    }
    .btn-step-prev, .btn-step-next {
        width: 100%;
        max-width: 100%;
        text-align: center;
        justify-content: center;
    }
}

/* ==========================================================================
   UNIFIED AUTH & RECRUITMENT BADGES / SOCIAL LOGIN
   ========================================================================== */
.apply-logged-badge {
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    border-radius: var(--radius-md);
    padding: 16px 20px;
    margin-bottom: 24px;
    display: flex;
    align-items: center;
    gap: 14px;
}

.apply-logged-avatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--action-solid,#d92d34);
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 16px;
    overflow: hidden;
    flex-shrink: 0;
}

.apply-logged-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.apply-logged-info strong {
    display: block;
    font-size: 15px;
    color: #14532d;
    font-weight: 700;
}

.apply-logged-info span {
    display: block;
    font-size: 13px;
    color: #15803d;
    margin-top: 2px;
}

.apply-social-auth {
    background: var(--surface-subtle);
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    padding: 20px;
    margin-bottom: 20px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}

.apply-social-title {
    font-size: 14px;
    font-weight: 600;
    color: var(--text);
}

.apply-auth-divider {
    position: relative;
    text-align: center;
    margin: 24px 0 28px;
}

.apply-auth-divider::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    height: 1px;
    background: var(--line);
}

.apply-auth-divider span {
    position: relative;
    background: #ffffff;
    padding: 0 16px;
    font-size: 12px;
    font-weight: 600;
    color: var(--text-light);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* Affiliate opportunity: concise editorial hierarchy, no earnings simulation. */
.affiliate-opportunity{color-scheme:light;background:#fff}
.affiliate-header{max-width:1080px;margin:auto;padding:14px 20px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:.5px solid var(--line)}
.affiliate-header img{display:block;width:100px;height:32px;object-fit:contain}
.affiliate-back{width:40px;height:40px;display:grid;place-items:center;border:1.5px solid var(--red-brand);border-radius:50%}
.affiliate-help{justify-self:end;font-size:12px;padding:10px 0}
.affiliate-main{width:100%;max-width:1040px;margin:auto;padding:28px 20px 12px}
.affiliate-hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:36px}
.affiliate-badge{font-size:11px;border:.5px solid #f5b9bd;border-radius:6px;padding:4px 8px;display:inline-block}
.affiliate-intro h1{font-size:clamp(48px,7vw,86px);line-height:1.03;letter-spacing:-.055em;margin:16px 0}
.affiliate-intro h1 span{color:#c9252c}
.affiliate-intro>p{font-size:16px;max-width:310px;line-height:1.5}
.affiliate-flexibility{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}
.affiliate-flexibility span{font-size:12px;padding:5px 9px;border:.5px solid var(--line);border-radius:6px}
.affiliate-primary{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:44px;padding:10px 16px;border:1px solid var(--red-brand);background:white;border-radius:6px;font-size:14px;color:var(--text)}
.affiliate-primary:hover{background:#fff5f5}
.affiliate-primary:focus-visible,.affiliate-faq summary:focus-visible,.affiliate-back:focus-visible{outline:2px solid var(--red-brand);outline-offset:3px}
.affiliate-intro>small{display:block;margin-top:8px;color:var(--text-light);font-size:11px}
.affiliate-visual{padding:24px;border:.5px solid #f5b9bd;border-radius:20px;background:linear-gradient(145deg,#fff,#fff1f2);text-align:center;min-width:0}
.affiliate-visual-profile{display:grid;justify-items:center;gap:3px}
.affiliate-visual-profile svg{width:44px;height:44px;padding:10px;background:#fff;border:.5px solid #f5b9bd;border-radius:50%;color:#c9252c}
.affiliate-visual strong{font-size:16px}.affiliate-visual span,.affiliate-visual small{font-size:12px;color:var(--text-muted)}
.affiliate-connections{display:flex;justify-content:center;gap:40px;height:28px;margin:8px 0}
.affiliate-connections span{width:1px;background:#f5b9bd}
.affiliate-visual-people{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.affiliate-visual-people span{padding:6px 10px;background:#fff;border:.5px solid var(--line);border-radius:8px}
.affiliate-visual-result{display:grid;grid-template-columns:30px auto;column-gap:8px;align-items:center;text-align:left;width:fit-content;max-width:100%;margin:22px auto 12px;padding:12px 18px;border:1px solid #f5b9bd;border-radius:12px;background:#fff}
.affiliate-visual-result svg{grid-row:span 2;color:#c9252c}.affiliate-visual-result span{grid-column:2}
.affiliate-highlights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:28px 0}
.affiliate-highlights>div{padding:16px;border:.5px solid var(--line);border-radius:12px}
.affiliate-highlights svg{color:#c9252c;margin-bottom:6px}
.affiliate-highlights h2{font-size:16px;margin:0 0 4px}.affiliate-highlights p{font-size:12px;color:var(--text-muted);line-height:1.5}
.affiliate-steps h2,.affiliate-faq h2{font-size:22px;letter-spacing:-.03em;margin-bottom:12px}
.affiliate-steps ol{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.affiliate-steps li{display:flex;align-items:flex-start;gap:10px;min-width:0}
.affiliate-steps li>span{width:28px;height:28px;display:grid;place-items:center;border:1px solid #f5b9bd;border-radius:50%;font-size:12px;flex-shrink:0}
.affiliate-steps h3{font-size:14px}.affiliate-steps p{font-size:12px;color:var(--text-muted);line-height:1.5}
.affiliate-independent{padding:22px;margin:28px 0;border-radius:14px;background:#fafafa;border:.5px solid var(--line)}
.affiliate-independent h2{font-size:28px;line-height:1.2;letter-spacing:-.035em;margin:0 0 12px}
.affiliate-independent p{font-size:14px;max-width:550px;margin-bottom:12px}
.affiliate-independent .affiliate-disclosure{font-size:12px;color:var(--text-muted)}
.affiliate-faq details{border-top:.5px solid var(--line);padding:4px 0}
.affiliate-faq summary{cursor:pointer;font-size:14px;padding:12px 0;min-height:44px}
.affiliate-faq p,.affiliate-faq details>a{font-size:13px;line-height:1.7;margin:0 0 12px;display:block}
.affiliate-faq details>a{text-decoration:underline;text-decoration-color:var(--red-brand);text-underline-offset:3px}
.affiliate-footer{max-width:1040px;display:flex;flex-wrap:wrap;gap:18px;margin:0 auto;padding:20px;font-size:12px;color:var(--text-muted)}
.candidate-page .apply-card{padding:24px;box-shadow:none}
.candidate-page .apply-header{margin-bottom:16px!important;padding-bottom:12px!important}
.candidate-page .apply-header .monochrome-eyebrow{display:none}
.candidate-page .apply-header h2{font-size:22px!important;line-height:1.3}
.candidate-page .apply-job-badge-card{padding:10px 12px;margin-bottom:16px}
.candidate-page .form-group{margin-bottom:16px}
.candidate-page .apply-form{gap:12px}.candidate-page .form-row{gap:12px}
.candidate-page .step-nav-actions{gap:8px;flex-wrap:wrap;margin-top:20px;padding-top:14px}
.candidate-page .save-status-banner{padding:8px 10px;margin-bottom:16px;background:#fafafa;border:.5px solid var(--line);font-size:12px;flex-wrap:wrap}
.candidate-page .save-status-badge{display:block;font-weight:400;color:var(--text-muted)}
.candidate-page .apply-logged-badge{padding:10px 12px;margin-bottom:16px;background:#fff;border:.5px solid var(--line);gap:10px;min-width:0}
.candidate-page .apply-logged-badge>div{min-width:0;overflow-wrap:anywhere}
.candidate-page .apply-logged-avatar{flex-shrink:0}
.candidate-page .btn-step-next,.candidate-page .btn-step-prev{min-height:44px;font-size:13px;padding:10px 14px}
.candidate-page .redor-listing-requirement-box{background:#fff;border:.5px solid var(--line);padding:14px}
.candidate-page .rlr-title{color:var(--text)}
.candidate-page .candidate-rules{margin:8px 0;font-size:12px;color:var(--text-muted)}
.candidate-page .candidate-rules summary{cursor:pointer;padding:10px 0;min-height:40px}
@media(max-width:640px){
 .affiliate-header{padding:10px 12px}.affiliate-main{padding:20px 12px 8px}
 .affiliate-hero{grid-template-columns:1fr;gap:18px}.affiliate-intro h1{font-size:56px;margin:12px 0}
 .affiliate-intro>p{font-size:15px;max-width:100%}.affiliate-intro .affiliate-primary{width:100%}
 .affiliate-visual{padding:16px}.affiliate-connections{height:20px;margin:6px 0}.affiliate-visual-result{margin:14px auto 10px;padding:10px 16px}
 .affiliate-highlights{gap:6px;margin:18px 0}.affiliate-highlights>div{padding:10px 8px}.affiliate-highlights h2{font-size:13px}.affiliate-highlights p{font-size:11px}
 .affiliate-steps ol{grid-template-columns:1fr;gap:12px}.affiliate-steps h2,.affiliate-faq h2{font-size:20px}
 .affiliate-independent{padding:16px;margin:20px 0}.affiliate-independent h2{font-size:25px}.affiliate-independent .affiliate-primary{width:100%}
 .affiliate-footer{padding:16px 12px;gap:12px}
 .candidate-page .apply-page-wrap{padding:16px 0}.candidate-page .apply-container{padding:0 12px}.candidate-page .apply-card{padding:14px 12px}
 .candidate-page .header-inner{padding:10px 12px;gap:8px;min-width:0}.candidate-page .logo-wrap{min-width:0}.candidate-page .logo-wrap .monochrome-badge-small{display:none}
 .candidate-page .header-actions{gap:6px}.candidate-page .header-actions>a{padding:8px 10px;font-size:12px;white-space:nowrap;min-height:40px}
 .candidate-page .cand-stepper-wrap{margin-bottom:20px}.candidate-page .file-upload-zone{padding:16px 10px}
 .candidate-page .step-nav-actions>*{flex:1;text-align:center;justify-content:center;min-width:0}
 .candidate-page .apply-form input,.candidate-page .apply-form select,.candidate-page .apply-form textarea{max-width:100%;min-width:0;font-size:16px}
}

/* Public mobile audit: shrink intrinsic grid tracks instead of clipping real content. */
html{overflow-x:clip}
body{min-width:0;max-width:100%;overflow-x:clip}
main,section,.container,.header-inner,.header-actions,.solutions-grid,.solution-card,.sc-body,.sc-info,.sc-main,.sc-listings,.sc-grid-card,.data-card{min-width:0}
img,video,iframe{max-width:100%}
p,h1,h2,h3,h4,li,summary{overflow-wrap:break-word}
.public-directory-page .kpi-grid{grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr))}
.public-directory-page .kpi-card{min-width:0;overflow-wrap:anywhere}
@media(max-width:900px){
 .container{width:100%;padding-inline:16px}
 .header-inner{padding:10px 12px;gap:8px;min-height:60px}
 .logo-wrap{flex-shrink:0;min-width:0}
 .header-inner .monochrome-badge-small{display:none}
 .header-actions{gap:6px;flex:1;justify-content:flex-end}
 .header-actions>a{min-width:0;max-width:100%;padding:8px 9px;font-size:12px;min-height:40px;line-height:1.3;text-align:center;white-space:normal;overflow-wrap:anywhere}
 .solutions-grid,.sectors-grid,.data-visual-grid,.data-comparison-grid,.comparison-grid{grid-template-columns:minmax(0,1fr);gap:16px}
 .solution-card{width:100%;max-width:100%;padding:18px 14px;gap:12px}
 .sc-body{gap:16px}
 .sc-listings{width:100%;min-width:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .sc-grid-card{width:100%;min-width:0;max-width:100%}
 .sc-card-price-row{flex-wrap:wrap;gap:2px 6px}
 .sc-card-title{max-width:100%}
 .sc-title-row,.sc-footer{flex-wrap:wrap}
 .sc-title{font-size:20px;min-width:0}
 .data-card{padding:20px 16px;max-width:100%}
 .data-card-label{flex-wrap:wrap}
 .pioneer-graphic{width:100%;max-width:100%;margin-inline:0}
 .monetization-box,.direct-link-box{padding:24px 16px;min-width:0}
 .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}
 .footer-col,.footer-bottom,.footer-legal-links{min-width:0;overflow-wrap:anywhere}
 .footer-bottom{flex-wrap:wrap;gap:12px}
 .public-directory-page .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
/* Presentation tabs stay available while reading either complete intention. */
.site-header{position:sticky;top:0;z-index:100}
.public-intent-nav{position:sticky;top:var(--public-header-height,80px);z-index:90;background:#fff;border-bottom:1px solid #e5e7eb;padding:10px 12px;scroll-margin-top:var(--public-header-height,80px)}
.public-intent-tabs{display:flex;gap:8px;justify-content:center;max-width:720px;margin:auto}
.public-intent-tabs button{display:flex;align-items:center;justify-content:center;gap:8px;flex:1;min-width:0;border:.5px solid #d1d5db;background:#fff;color:#171717;border-radius:16px;padding:10px 12px;font:inherit;font-size:14px;cursor:pointer}
.intent-icon{flex-shrink:0;width:20px;height:20px}
.public-intent-tabs button span{min-width:0}
.sh-card{min-width:0}
@media(max-width:640px){.sh-grid{grid-template-columns:minmax(0,1fr);gap:14px}.sh-card{padding:24px 20px}.stats-highlight-section,.subcategories-section{padding:36px 0}.subcat-pills-wrap{gap:8px}.subcat-pill{padding:10px 14px;max-width:100%;overflow-wrap:anywhere}.public-intent-tabs button{gap:5px}.intent-icon{width:18px;height:18px}}
.public-intent-tabs button[aria-selected="true"]{border-color:#f21d35;text-decoration:underline;text-decoration-color:#f21d35;text-underline-offset:5px}
[role="tabpanel"][hidden]{display:none!important}
.public-intent-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding-block:32px}
.public-intent-benefits article{background:#fff;border:1px solid #e5e7eb;border-radius:20px;padding:24px;min-width:0}
.public-intent-benefits h2{font-size:24px;line-height:1.25;margin-bottom:12px}
.public-intent-benefits p{font-size:16px;line-height:1.6}
@media(max-width:900px){.public-intent-nav{top:var(--public-header-height,60px)}.public-intent-benefits{grid-template-columns:minmax(0,1fr);gap:12px}.public-intent-tabs button{font-size:12px;padding:10px 8px;line-height:1.4}}
@media(max-width:640px){
 .hero{padding-top:36px;padding-bottom:32px}
 .hero-title{font-size:clamp(28px,8.8vw,40px);line-height:1.16;max-width:100%}
 .hero-subhead{font-size:16px;line-height:1.55;max-width:100%;margin-inline:auto}
 .hero-cta-group{padding-inline:0;gap:10px;max-width:100%}
 .btn-cta-giant,.btn-cta-outline{padding:12px 16px;font-size:14px;min-height:44px;white-space:normal;overflow-wrap:anywhere}
 .section-header-huge h2{font-size:clamp(24px,7vw,32px);line-height:1.2}
 .section-header-huge p{font-size:15px;line-height:1.55}
 .wds-card-title{font-size:22px;line-height:1.3}
 .bottom-banner{padding:28px 16px}
 .bottom-banner h2{font-size:26px;line-height:1.2}
 .faq-summary{gap:12px;padding:16px;font-size:14px}
 .faq-summary>span{min-width:0}
 .faq-icon-arrow{flex-shrink:0}
 .faq-body{padding-inline:16px;overflow-wrap:anywhere}
 .public-directory-page .container{padding-inline:12px}
 .public-directory-page .kpi-card{padding:14px 10px}
 .public-directory-page .kpi-value{font-size:24px;line-height:1.3}
 .public-directory-page .kpi-label{font-size:11px;white-space:normal}
 .public-directory-page .ranking-row,.public-directory-page .city-card,.public-directory-page .ai-card{min-width:0}
}

/* ==========================================================================
   PUBLIC INTENT BUYER PRESENTATION — ARCHITECTURE V5
   Rich illustrated feature cards, interactive mockups, steps & comparison
   ========================================================================== */
.intent-buy-panel {
    min-width: 0;
}

.intent-buy-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    margin-bottom: 48px;
}

.intent-card {
    background: #ffffff;
    border: 1px solid var(--line);
    border-radius: var(--radius-lg);
    padding: 28px 24px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 20px;
    box-shadow: var(--shadow-subtle);
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
    min-width: 0;
}

.intent-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-card);
    border-color: var(--line-strong);
}

.intent-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 8px;
}

.intent-card-badge {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--text-muted);
    border-bottom: 1.5px solid var(--red-brand);
    padding-bottom: 2px;
}

.intent-card-icon-wrap {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: #f8fafc;
    border: 1px solid var(--line);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--red-brand);
    flex-shrink: 0;
}

.intent-card-visual {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 16px;
    margin: 10px 0 16px;
}

.intent-card-title {
    font-size: 20px;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--text);
    line-height: 1.3;
    margin: 0 0 10px 0;
}

.intent-card-desc {
    font-size: 15px;
    color: var(--text-muted);
    line-height: 1.6;
    margin: 0 0 16px 0;
}

.intent-card-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
    border-top: 1px solid #f1f5f9;
    padding-top: 14px;
}

.intent-card-list li {
    font-size: 13.5px;
    color: var(--text);
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 8px;
    line-height: 1.4;
}

.intent-card-list li svg {
    width: 16px;
    height: 16px;
    color: #10b981;
    flex-shrink: 0;
}

/* Stepper: Como Comprar em 3 Passos */
.intent-stepper {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    margin: 32px 0 48px;
}

.intent-step-card {
    background: #ffffff;
    border: 1px solid var(--line);
    border-radius: var(--radius-lg);
    padding: 32px 24px;
    position: relative;
    box-shadow: var(--shadow-subtle);
    display: flex;
    flex-direction: column;
    gap: 16px;
    min-width: 0;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.intent-step-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow-card);
}

.intent-step-number {
    font-size: 32px;
    font-weight: 800;
    color: #cbd5e1;
    line-height: 1;
    letter-spacing: -0.04em;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.intent-step-icon {
    width: 42px;
    height: 42px;
    border-radius: 10px;
    background: #fef2f2;
    color: var(--red-brand);
    display: flex;
    align-items: center;
    justify-content: center;
}

.intent-step-title {
    font-size: 19px;
    font-weight: 700;
    color: var(--text);
    line-height: 1.3;
}

.intent-step-desc {
    font-size: 15px;
    color: var(--text-muted);
    line-height: 1.6;
}

/* Comparison Table */
.intent-compare-wrap {
    background: #ffffff;
    border: 1px solid var(--line);
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: var(--shadow-subtle);
    margin: 36px 0 54px;
}

.intent-compare-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14.5px;
}

.intent-compare-table th {
    padding: 18px 20px;
    text-align: left;
    font-weight: 700;
    border-bottom: 1px solid var(--line);
    background: #f8fafc;
}

.intent-compare-table th.col-redor {
    background: #fff1f2;
    color: #9f1239;
    border-bottom: 2px solid var(--red-brand);
}

.intent-compare-table td {
    padding: 16px 20px;
    border-bottom: 1px solid var(--line);
    vertical-align: middle;
    color: var(--text-muted);
    line-height: 1.5;
}

.intent-compare-table td.col-redor {
    background: #fffbfa;
    color: var(--text);
    font-weight: 600;
}

.intent-compare-table tr:last-child td {
    border-bottom: none;
}

@media(max-width:900px){
    .intent-buy-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 18px;
    }
    .intent-stepper {
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
    }
    .intent-compare-wrap {
        overflow-x: auto;
    }
    .intent-compare-table {
        min-width: 580px;
    }
}

/* ── HOME TOP BANNER ──────────────────────────────────────────────── */
.home-top-banner {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: 0;
    background: transparent;
    line-height: 0;
}

.home-top-banner a {
    display: block;
    line-height: 0;
    text-decoration: none;
    width: 100%;
}

.home-top-img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    object-fit: cover;
}

/* Curated listings shelf below the home hero. */
.home-featured{padding-top:26px;padding-bottom:32px}
.home-top-art-link{display:block;text-decoration:none}
.home-featured-heading{display:flex;align-items:center;gap:8px;margin:0 0 24px;color:#171717;font-size:22px;font-weight:750;line-height:1.3;letter-spacing:-.025em;text-align:left}
.home-featured-heading svg{width:23px;height:26px;flex:0 0 23px;color:#f21d35}
.home-featured .mural-featured-grid{display:grid;grid-template-columns:repeat(var(--featured-desktop-columns,5),minmax(0,1fr));gap:28px 18px}
@media(min-width:701px){.home-featured .mural-featured-grid>.featured-hide-desktop{display:none}}
.home-featured-card{display:block;color:#181818;text-decoration:none;min-width:0}
.home-featured-image{aspect-ratio:1/1;overflow:hidden;border-radius:9px;background:#eee}
.home-featured-image img{display:block;width:100%;height:100%;object-fit:cover}
.home-featured-body{padding:8px 2px 0}
.home-featured-author{display:flex;align-items:center;gap:6px;overflow:hidden;margin:2px 0 4px;color:#52525b;font-size:12.5px;font-weight:500;white-space:nowrap}
.home-featured-author>span:last-child{overflow:hidden;text-overflow:ellipsis}
.home-featured-author img,.home-featured-avatar-placeholder{display:block;width:18px;height:18px;flex:0 0 18px;border-radius:50%;object-fit:cover;background:#e2e8f0}
.home-featured-body strong{display:block;overflow:hidden;font-size:14px;font-weight:500;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}
.home-featured-price-row{display:flex;align-items:baseline;justify-content:space-between;gap:6px;margin-top:3px}
.home-featured-price-row span{display:block;overflow:hidden;font-size:14.5px;font-weight:750;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}
.home-featured-price-row small{flex:0 0 auto;color:#71717a;font-size:12px;line-height:1.2;white-space:nowrap}
body main .home-featured .home-featured-more{margin:20px 0 0 auto}
@media(max-width:700px){.home-featured{padding-top:18px}.home-featured .mural-featured-grid{grid-template-columns:repeat(var(--featured-mobile-columns,2),minmax(0,1fr));gap:22px 10px}.home-featured .mural-featured-grid>.featured-hide-mobile{display:none}.home-featured-more{margin-top:14px}.home-featured-body strong{font-size:13px}.home-featured-price-row span{font-size:14px}.home-featured-price-row small{font-size:11.5px}}
px}
@media(max-width:700px){.home-featured{padding-top:18px}.home-featured .mural-featured-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 10px}.home-featured .mural-featured-grid>:nth-child(n+5){display:none}.home-featured-more{margin-top:14px}.home-featured-body strong{font-size:13px}.home-featured-price-row span{font-size:14px}.home-featured-price-row small{font-size:11.5px}}
.internal-affiliate-home,.internal-withdraw-page{max-width:820px;margin:24px auto;padding:0 14px}
.internal-affiliate-home .monetization-card,.internal-withdraw-page .monetization-card{background:#fff;border:1px solid #e8e8e8;border-radius:16px;padding:22px}
.internal-affiliate-enable,.internal-payout-form{display:grid;gap:14px;margin-top:16px}
.internal-terms-check{display:flex;align-items:flex-start;gap:9px;font-size:13px;line-height:1.45}
.internal-terms-check input{margin-top:3px}
.internal-cpf-locked{font-size:12px;color:#5b5560}
.internal-affiliate-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.internal-withdraw-details{margin-top:18px;border-top:1px solid #eee;padding-top:14px}
.internal-withdraw-details summary{cursor:pointer;font-weight:700}
.internal-withdrawable-amount{font-size:32px;font-weight:800;color:#191919}
.internal-payout-history{margin-top:18px;border-top:1px solid #eee;padding-top:12px;font-size:13px}
.internal-payout-history p{margin:8px 0;color:#4b4650}
@media(max-width:600px){.internal-affiliate-home .monetization-card,.internal-withdraw-page .monetization-card{padding:17px}.internal-withdrawable-amount{font-size:27px}}.monetization-legal{max-width:900px;margin:0 auto;padding:18px 14px 48px;color:#171717}
.monetization-legal-header{border-bottom:1px solid #e5e5e5;padding:12px 0 16px;margin-bottom:14px}
.monetization-legal-header h1{font-size:25px;line-height:1.25;margin:0 0 6px}
.monetization-legal-header p,.monetization-legal section p,.monetization-legal li{font-size:16px;line-height:1.5;color:#333}
.monetization-legal section{padding:12px 0;border-bottom:1px solid #ececec}
.monetization-legal h2{font-size:15px;line-height:1.35;margin:0 0 5px}
.monetization-legal p{margin:5px 0}
.monetization-legal ul{padding-left:18px;margin:6px 0}
.monetization-legal-notice{background:#fff7f7;border-left:3px solid #e43138;padding:10px 12px}
@media(max-width:480px){.monetization-legal{padding:10px 12px 32px}.monetization-legal-header h1{font-size:21px}.monetization-legal section{padding:10px 0}.monetization-legal-header p,.monetization-legal section p,.monetization-legal li{font-size:16px}}

