/*
Theme Name: DCM - Marketing Médico
Theme URI: https://dcmdigital.com.br
Author: DCM Digital
Author URI: https://dcmdigital.com.br
Description: Tema exclusivo da DCM — Agência de Marketing Médico em Brasília. Desenvolvido para aquisição de pacientes com Google Ads e Meta Ads para clínicas no Distrito Federal.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 8.0
License: Proprietary
License URI: https://dcmdigital.com.br
Text Domain: dcm-theme
Tags: medical, marketing, clinica, brasilia, landing-page
*/


/* ============================================================
   DCM MKT Médico — LeanSales-inspired · Paleta DCM · DM Sans
   ============================================================ */

:root {
    --primary:       #FF8201;
    --primary-hover: #E67500;
    --dark:          #00284C;
    --dark-section:  #001830;
    --white:         #FFFFFF;
    --light:         #F5F7FA;
    --light-orange:  #FFF6ED;
    --border:        #E2E8F0;
    --text:          #4A5568;
    --text-dark:     #0F1C2E;
    --font:          'DM Sans', sans-serif;
    --radius-sm:     8px;
    --radius-md:     16px;
    --radius-lg:     20px;
    --radius-xl:     28px;
    --shadow-sm:     0 2px 12px rgba(0,40,76,0.06);
    --shadow-md:     0 8px 32px rgba(0,40,76,0.10);
    --shadow-lg:     0 24px 64px rgba(0,40,76,0.13);
    --transition:    all 0.35s cubic-bezier(0.165, 0.84, 0.44, 1);
}

/* ── Reset ──────────────────────────────────────────────── */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; font-size:16px; }
body {
    font-family: var(--font);
    color: var(--text);
    background: var(--white);
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
}
h1,h2,h3,h4,h5 { font-family:var(--font); color:var(--text-dark); line-height:1.2; }
a { text-decoration:none; color:inherit; transition:var(--transition); }
button { cursor:pointer; transition:var(--transition); border:none; background:none; font-family:var(--font); }
img { display:block; max-width:100%; }

.container { max-width:1200px; margin:0 auto; padding:0 32px; }
section { padding:100px 0; }

/* ── Utilities ───────────────────────────────────────────── */
.text-center   { text-align:center; }
.text-white    { color:var(--white)!important; }
.relative      { position:relative; }
.overflow-hidden { overflow:hidden; }

/* ── Highlight ───────────────────────────────────────────── */
.highlight { color:var(--primary); }

/* ── Labels ──────────────────────────────────────────────── */
.section-label {
    display:inline-block; font-size:.72rem; font-weight:700;
    letter-spacing:1.5px; text-transform:uppercase;
    color:var(--primary); margin-bottom:14px;
}
.section-label-light {
    display:inline-block; font-size:.72rem; font-weight:700;
    letter-spacing:1.5px; text-transform:uppercase;
    color:rgba(255,130,1,.85); margin-bottom:14px;
}

/* ── Badge ───────────────────────────────────────────────── */
.badge {
    display:inline-flex; align-items:center; gap:8px;
    padding:8px 18px; border-radius:50px;
    font-size:.8rem; font-weight:600; margin-bottom:22px;
}
.badge-primary { background:var(--light-orange); color:var(--primary); }

/* ── Buttons ─────────────────────────────────────────────── */
.btn {
    display:inline-flex; align-items:center; justify-content:center; gap:8px;
    padding:14px 28px; font-family:var(--font);
    font-weight:600; font-size:.95rem; border-radius:50px;
    transition:var(--transition);
}
.btn i { width:16px; height:16px; }

.btn-primary { background:var(--primary); color:var(--white); }
.btn-primary:hover {
    background:var(--primary-hover); transform:translateY(-2px);
    box-shadow:0 8px 24px rgba(255,130,1,.3);
}

.btn-outline {
    background:transparent; color:var(--dark);
    border:1.5px solid var(--border);
}
.btn-outline:hover { border-color:var(--primary); color:var(--primary); }

.btn-large { padding:18px 36px; font-size:1rem; }
.btn-block  { width:100%; border-radius:var(--radius-sm); }

.btn-link {
    display:inline-flex; align-items:center; gap:6px;
    font-weight:600; font-size:.95rem; color:var(--dark);
}
.btn-link i { width:16px; height:16px; transition:var(--transition); }
.btn-link:hover { color:var(--primary); }
.btn-link:hover i { transform:translateX(4px); }

/* ═══════════════════════════════════════════════════════════
   NAVBAR
   ═══════════════════════════════════════════════════════════ */
.navbar {
    position:fixed; top:0; width:100%; z-index:100;
    background:rgba(255,255,255,.96); backdrop-filter:blur(16px);
    border-bottom:1px solid var(--border);
}
.nav-content {
    display:flex; justify-content:space-between;
    align-items:center; height:80px;
}
.logo img { height:30px; width:auto; }

/* ── Mini CTA mobile ──────────── */
.btn-mobile-cta {
    display:none !important;
    background:var(--primary); color:#fff;
    font-size:.78rem; font-weight:700;
    padding:8px 14px; border-radius:50px;
    white-space:nowrap; letter-spacing:.01em;
    transition:var(--transition);
}
.btn-mobile-cta:hover { background:var(--primary-hover); }

/* ── Hamburger ─────────────────── */
.hamburger {
    display:none; flex-direction:column; gap:5px;
    background:none; border:none; cursor:pointer;
    padding:4px; z-index:1001;
}
.hamburger span {
    display:block; width:24px; height:2px;
    background:var(--dark); border-radius:2px; transition:var(--transition);
}
.hamburger.open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.hamburger.open span:nth-child(2) { opacity:0; }
.hamburger.open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

/* ── Mobile nav drawer ─────────── */
.mobile-nav {
    display:none; position:fixed;
    top:80px; left:0; right:0; bottom:0;
    background:var(--white); padding:24px 20px 40px;
    flex-direction:column; overflow-y:auto;
    z-index:999; transform:translateX(-100%);
    transition:transform .3s ease;
}
.mobile-nav.open { transform:translateX(0); }

.mobile-nav-links {
    display:flex !important; flex-direction:column; gap:0;
    margin-bottom:28px;
}
.mobile-nav-links > a,
.mobile-nav-links > div > button.nav-dropdown-btn {
    display:block; padding:16px 0;
    font-size:1.05rem; font-weight:600;
    color:var(--text-dark); border-bottom:1px solid var(--border);
    background:none; border-left:none; border-right:none; border-top:none;
    text-align:left; width:100%; cursor:pointer;
}
.mobile-nav-links > a.active,
.mobile-nav-links > a:hover { color:var(--primary); }
.mobile-nav-dropdown { border-bottom:1px solid var(--border); }
.mobile-nav-dropdown a {
    display:block; padding:12px 16px;
    font-size:.95rem; color:var(--text); font-weight:500;
}
.mobile-nav-dropdown a:hover { color:var(--primary); }
.mobile-nav-section-label {
    display:block; padding:16px 0 8px;
    font-size:.72rem; font-weight:700; letter-spacing:.06em;
    text-transform:uppercase; color:var(--primary);
}

.nav-links { display:flex; gap:36px; }
.nav-links a { font-size:.95rem; font-weight:500; color:var(--text-dark); }
.nav-links a:hover { color:var(--primary); }

/* ═══════════════════════════════════════════════════════════
   HERO — Split Layout
   ═══════════════════════════════════════════════════════════ */
.hero { padding-top:140px; padding-bottom:80px; background:var(--white); }

.hero-grid {
    display:grid; grid-template-columns:1fr 1fr;
    gap:80px; align-items:center;
}

/* Left */
.hero-eyebrow {
    display:inline-block; font-size:.75rem; font-weight:700;
    text-transform:uppercase; letter-spacing:.08em;
    color:var(--primary); margin-bottom:18px;
}
.hero-left h1 {
    font-size:clamp(2rem, 3.5vw, 2.9rem); font-weight:800;
    color:var(--text-dark); line-height:1.15;
    margin-bottom:16px; letter-spacing:-.025em;
}
.hero-subtitle {
    font-size:1.05rem; font-weight:400;
    color:var(--text); line-height:1.65;
    margin-bottom:28px;
}
.hero-bullets {
    list-style:none; margin-bottom:36px;
    display:flex; flex-direction:column; gap:12px;
}
.hero-bullets li {
    display:flex; align-items:center; gap:10px;
    font-size:.95rem; font-weight:500; color:var(--text-dark);
}
.hero-bullets li svg { width:16px; height:16px; color:var(--primary); flex-shrink:0; }
.hero-actions { display:flex; gap:16px; align-items:center; flex-wrap:wrap; }

/* Right */
.hero-right { position:relative; }

.hero-badge-overlay {
    position:absolute; top:-18px; right:16px; z-index:10;
    background:var(--dark); color:var(--white);
    padding:11px 20px; border-radius:50px;
    display:flex; align-items:center; gap:8px;
    font-size:.78rem; font-weight:600;
    box-shadow:var(--shadow-md);
}
.hero-badge-overlay i { width:15px; height:15px; color:var(--primary); }

.glass-dashboard {
    background:var(--light); border:1px solid var(--border);
    border-radius:var(--radius-xl); padding:28px;
    box-shadow:var(--shadow-md);
}
.dash-header {
    display:flex; align-items:center; gap:12px;
    margin-bottom:20px; padding-bottom:16px;
    border-bottom:1px solid var(--border);
}
.dots { display:flex; gap:6px; }
.dot { width:10px; height:10px; background:#D1D9E0; border-radius:50%; }
.dash-title {
    font-size:.72rem; font-weight:700;
    color:var(--text); text-transform:uppercase; letter-spacing:1px;
}

.dash-body {
    display:grid;
    grid-template-columns:1fr 1fr;
    grid-template-rows:auto auto;
    gap:14px;
}
.mock-panel {
    background:var(--white); border-radius:var(--radius-md);
    border:1px solid var(--border);
}
.p-4 { padding:20px; }
.panel-1 { grid-column:1; grid-row:1/3; }
.panel-2 { grid-column:2; grid-row:1; }
.panel-3 { grid-column:2; grid-row:2; }

.mock-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:6px; }
.mock-tag { font-size:.68rem; font-weight:700; text-transform:uppercase; color:var(--text); letter-spacing:.5px; }
.icon-sm { width:16px; height:16px; }
.text-primary { color:var(--primary)!important; }

.mock-value    { font-size:2rem;   font-weight:800; color:var(--primary); margin:8px 0; }
.mock-value-sm { font-size:1.4rem; font-weight:800; color:var(--primary); margin:8px 0; }

.mock-chart { display:flex; gap:8px; align-items:flex-end; height:60px; margin-top:14px; }
.chart-bar  { flex:1; background:var(--light); border-radius:4px; transition:background .4s; }
.panel-1:hover .chart-bar { background:rgba(255,130,1,.2); }

.status-indicator {
    display:flex; align-items:center; gap:6px;
    font-size:.78rem; font-weight:600; color:#10B981; margin-top:10px;
}
.pulse-dot {
    width:7px; height:7px; background:#10B981; border-radius:50%;
    animation:pulseAnim 2s infinite;
}

.mini-bars { display:flex; gap:4px; align-items:flex-end; height:34px; margin-top:10px; }
.mini-bar  { flex:1; background:rgba(255,130,1,.18); border-radius:3px; }

/* ═══════════════════════════════════════════════════════════
   STATS
   ═══════════════════════════════════════════════════════════ */
.stats { padding:0 0 80px; }

.stats-box {
    display:grid; grid-template-columns:1fr auto 1fr auto 1fr;
    align-items:center;
    background:var(--white); border:1px solid var(--border);
    border-radius:var(--radius-xl); padding:48px 56px;
    box-shadow:var(--shadow-sm);
}
.stat-card { text-align:center; }
.stat-divider { width:1px; height:60px; background:var(--border); }
.stat-card h3 {
    font-size:3rem; font-weight:800;
    color:var(--primary); margin-bottom:8px; line-height:1;
}
.stat-card p {
    font-size:.88rem; font-weight:500;
    color:var(--text-dark); max-width:160px; margin:0 auto;
}

/* ═══════════════════════════════════════════════════════════
   PROBLEMA — Split
   ═══════════════════════════════════════════════════════════ */
.problem { background:var(--light); }

.problem-grid {
    display:grid; grid-template-columns:1fr 1fr;
    gap:80px; align-items:center;
}
.problem-left h2 {
    font-size:clamp(1.8rem,3vw,2.4rem); font-weight:700;
    margin-bottom:20px; letter-spacing:-.02em;
}
.problem-left p { font-size:1.05rem; line-height:1.7; }

.problem-card {
    background:var(--white); border-radius:var(--radius-xl);
    padding:48px; box-shadow:var(--shadow-md); border:1px solid var(--border);
}
.problem-card-title {
    font-size:.72rem; font-weight:700; letter-spacing:1.5px;
    text-transform:uppercase; color:var(--text); margin-bottom:28px;
}
.problem-list { list-style:none; }
.problem-list li {
    display:flex; align-items:flex-start; gap:14px;
    margin-bottom:20px; font-size:1rem;
    color:var(--text-dark); font-weight:500;
}
.problem-card .btn { margin-top:36px; }

/* Icon boxes */
.icon-x {
    background:#FFF0F0; color:#E63946;
    padding:5px; border-radius:6px;
    display:flex; flex-shrink:0; margin-top:1px;
}
.icon-x i { width:16px; height:16px; }

.icon-check {
    background:rgba(16,185,129,.12); color:#10B981;
    padding:4px; border-radius:6px;
    display:flex; flex-shrink:0; margin-top:1px;
}
.icon-check i { width:16px; height:16px; }

/* ═══════════════════════════════════════════════════════════
   MÉTODO — Dark Section
   ═══════════════════════════════════════════════════════════ */
.method { background:var(--dark); }

.method-header {
    max-width:680px; margin:0 auto 60px; text-align:center;
}
.method-header h2 {
    color:var(--white); font-size:clamp(1.8rem,3vw,2.5rem);
    font-weight:700; margin-bottom:18px; letter-spacing:-.02em;
}
.method-header p { color:rgba(255,255,255,.6); font-size:1.05rem; }

.method-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }

.method-card {
    background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.08);
    border-radius:var(--radius-xl); padding:40px 32px;
    transition:var(--transition);
}
.method-card:hover { background:rgba(255,255,255,.09); transform:translateY(-6px); }

.method-card--accent {
    background:var(--primary); border-color:var(--primary);
}
.method-card--accent:hover { background:var(--primary-hover); }
.method-card--accent h3 { color:var(--white); }
.method-card--accent p  { color:rgba(255,255,255,.85); }
.method-card--accent .method-icon { background:rgba(255,255,255,.18); color:var(--white); }
.method-card--accent .method-num  { color:rgba(255,255,255,.55); }

.method-num {
    font-size:.72rem; font-weight:700; color:rgba(255,255,255,.5);
    letter-spacing:1px; margin-bottom:20px;
}
.method-icon {
    width:52px; height:52px;
    background:rgba(255,130,1,.15); color:var(--primary);
    border-radius:14px; display:flex; align-items:center; justify-content:center;
    margin-bottom:20px;
}
.method-icon i { width:24px; height:24px; }
.method-card h3 { font-size:1.2rem; font-weight:700; color:var(--white); margin-bottom:12px; }
.method-card p  { font-size:.95rem; color:rgba(255,255,255,.88); line-height:1.75; }

.method-cta { text-align:center; margin-top:52px; }

/* ═══════════════════════════════════════════════════════════
   DIFERENCIAIS — Split
   ═══════════════════════════════════════════════════════════ */
.differentials { background:var(--white); }

.diff-grid {
    display:grid; grid-template-columns:1fr 1fr;
    gap:100px; align-items:center;
}
.diff-left h2 {
    font-size:clamp(1.8rem,3vw,2.3rem); font-weight:700;
    margin-bottom:20px; letter-spacing:-.02em;
}
.diff-left p { font-size:1.05rem; line-height:1.7; }

.diff-item { display:flex; gap:20px; margin-bottom:36px; align-items:flex-start; }
.diff-item:last-child { margin-bottom:0; }

.diff-icon {
    width:52px; height:52px; flex-shrink:0;
    background:var(--light-orange); color:var(--primary);
    border-radius:14px; display:flex; align-items:center; justify-content:center;
    transition:var(--transition);
}
.diff-icon i { width:22px; height:22px; }
.diff-item:hover .diff-icon { background:var(--primary); color:var(--white); }

.diff-item h4 { font-size:1.05rem; font-weight:700; color:var(--text-dark); margin-bottom:8px; }
.diff-item p  { font-size:.95rem; color:var(--text); line-height:1.65; }

/* ═══════════════════════════════════════════════════════════
   AUDIENCE
   ═══════════════════════════════════════════════════════════ */
.audience { background:var(--light); }

.audience-header { max-width:700px; margin:0 auto 52px; }
.audience-header h2 {
    font-size:clamp(1.8rem,3vw,2.3rem); font-weight:700;
    margin-bottom:16px; letter-spacing:-.02em;
}
.audience-header p { font-size:1.05rem; }

.audience-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }

.audience-card { border-radius:var(--radius-xl); padding:52px 48px; }

.audience-card--dark { background:var(--dark); }
.audience-card--dark h3 { color:var(--white); }
.audience-card--dark ul li { color:rgba(255,255,255,.85) !important; }

.audience-card--light { background:var(--white); border:1px solid var(--border); }

.audience-card h3 { font-size:1.3rem; font-weight:700; margin-bottom:32px; }
.audience-card ul { list-style:none; }
.audience-card ul li {
    display:flex; align-items:flex-start; gap:14px;
    margin-bottom:22px; font-size:1rem; line-height:1.55;
    color:var(--text-dark);
}

/* Scanner animation */
.scanner-line {
    position:absolute; left:0; width:100%; height:2px;
    background:linear-gradient(90deg,transparent,var(--primary),transparent);
    opacity:.45; animation:scanAnim 4s infinite linear;
}
@keyframes scanAnim { 0%{top:0} 50%{top:100%} 100%{top:0} }

/* ═══════════════════════════════════════════════════════════
   PROVA SOCIAL
   ═══════════════════════════════════════════════════════════ */
.social-proof { background:var(--white); }

.social-proof-header { max-width:700px; margin:0 auto 52px; text-align:center; }

.section-eyebrow {
    display:inline-flex; align-items:center; gap:8px;
    font-size:.9rem; font-weight:600; color:var(--dark); margin-bottom:16px;
}
.section-eyebrow i { width:18px; height:18px; color:var(--primary); }
.social-proof-header p { font-size:1.05rem; }

.logo-grid {
    display:grid; grid-template-columns:repeat(4,1fr);
    gap:20px; margin-bottom:48px;
}
.logo-group {
    background:var(--light); border:1px solid var(--border);
    border-radius:var(--radius-lg); padding:28px 20px;
    text-align:center; transition:var(--transition);
}
.logo-group:hover { transform:translateY(-4px); box-shadow:var(--shadow-sm); border-color:#c8d6e0; }

.logo-group-label {
    display:block; font-size:.62rem; font-weight:700;
    color:var(--primary); text-transform:uppercase;
    letter-spacing:1px; margin-bottom:16px;
}
.logo-img-wrap {
    height:56px; display:flex;
    align-items:center; justify-content:center;
}
.logo-img-wrap img {
    max-width:100%; max-height:100%; object-fit:contain;
    filter:grayscale(100%) opacity(.65); transition:var(--transition);
}
.logo-group:hover .logo-img-wrap img { filter:grayscale(0%) opacity(1); }

/* ═══════════════════════════════════════════════════════════
   BLOG
   ═══════════════════════════════════════════════════════════ */
.blog { background:var(--light); }

.blog-header {
    display:grid; grid-template-columns:1.4fr 1fr;
    gap:60px; align-items:center; margin-bottom:52px;
}
.blog-header h2 {
    font-size:clamp(1.6rem,2.8vw,2.1rem); font-weight:700;
    margin-top:10px; letter-spacing:-.02em;
}
.blog-header p { font-size:1rem; line-height:1.7; color:var(--text); }

.blog-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }

/* Blog card image */
.blog-card-img {
    width:100%; height:190px; border-radius:var(--radius-lg);
    margin-bottom:24px; overflow:hidden; background:var(--light);
}
.blog-card-img img {
    width:100%; height:100%; object-fit:cover; display:block;
    transition:transform .4s ease;
}
.blog-card:hover .blog-card-img img { transform:scale(1.04); }

.blog-card {
    background:var(--white); border:1px solid var(--border);
    border-radius:var(--radius-xl); padding:28px 28px 28px;
    display:flex; flex-direction:column; transition:var(--transition);
    color:inherit;
}
.blog-card:hover { transform:translateY(-6px); box-shadow:var(--shadow-md); border-color:transparent; }

.blog-tag {
    font-size:.68rem; font-weight:700; color:var(--primary);
    letter-spacing:1px; text-transform:uppercase;
    margin-bottom:16px; display:block;
}
.blog-card h3 {
    font-size:1.08rem; font-weight:700;
    color:var(--text-dark); margin-bottom:12px;
    line-height:1.4; flex-grow:1;
}
.blog-card p {
    font-size:.9rem; color:var(--text);
    margin-bottom:24px; line-height:1.65; flex-grow:1;
}
.card-footer {
    display:flex; align-items:center; gap:8px;
    font-size:.9rem; font-weight:600; color:var(--dark);
    border-top:1px solid var(--border); padding-top:20px;
    transition:var(--transition);
}
.card-footer i { width:16px; height:16px; transition:var(--transition); }
.blog-card:hover .card-footer { color:var(--primary); }
.blog-card:hover .card-footer i { transform:translateX(4px); }

/* ═══════════════════════════════════════════════════════════
   CTA FINAL — Split
   ═══════════════════════════════════════════════════════════ */
.cta-section { background:var(--white); padding-bottom:100px; }

.cta-grid {
    display:grid; grid-template-columns:1fr 1fr;
    gap:28px; align-items:stretch;
}

/* Dark card */
.cta-dark-card {
    background:var(--dark); border-radius:var(--radius-xl);
    padding:64px 52px;
    display:flex; flex-direction:column; justify-content:center;
}
.cta-dark-card h2 {
    color:var(--white); font-size:clamp(1.6rem,2.5vw,2.1rem);
    font-weight:700; margin-bottom:20px; letter-spacing:-.02em;
}
.cta-dark-card p {
    color:rgba(255,255,255,.65); font-size:1rem;
    line-height:1.75; margin-bottom:36px;
}
.cta-trust { display:flex; flex-wrap:wrap; gap:14px; margin-top:28px; }
.cta-trust span { display:flex; align-items:center; gap:6px; font-size:.82rem; color:rgba(255,255,255,.55); }
.cta-trust i { width:15px; height:15px; color:var(--primary); }

/* Visual card */
.cta-visual {
    background:var(--light); border-radius:var(--radius-xl);
    padding:44px; display:flex;
    align-items:center; justify-content:center;
    border:1px solid var(--border);
}
.cta-visual-inner { width:100%; display:flex; flex-direction:column; gap:16px; }

.cta-stat-card {
    background:var(--white); border-radius:var(--radius-lg);
    padding:28px; border:1px solid var(--border); box-shadow:var(--shadow-sm);
}
.cta-stat-value  { font-size:2.5rem; font-weight:800; color:var(--primary); display:block; }
.cta-stat-label  { font-size:.78rem; font-weight:600; color:var(--text); display:block; margin-bottom:16px; }
.cta-stat-chart  { display:flex; gap:8px; align-items:flex-end; height:56px; }
.cta-chart-bar   { flex:1; background:rgba(255,130,1,.15); border-radius:4px; }

.cta-row { display:flex; gap:16px; }

.cta-roi-card {
    flex:1; background:var(--primary); border-radius:var(--radius-lg);
    padding:20px 24px; display:flex; align-items:center; gap:10px;
}
.cta-roi-icon { color:var(--white); display:flex; }
.cta-roi-icon i { width:20px; height:20px; }
.cta-roi-text { font-size:.95rem; font-weight:700; color:var(--white); }

.cta-location-card {
    flex:1; background:var(--white); border-radius:var(--radius-lg);
    padding:20px 24px; display:flex; align-items:center; gap:8px;
    border:1px solid var(--border);
}
.cta-location-card i { width:18px; height:18px; color:var(--primary); flex-shrink:0; }
.cta-location-card span { font-size:.9rem; font-weight:600; color:var(--text-dark); }

.cta-cost-card {
    background:var(--dark); border-radius:var(--radius-lg);
    padding:24px 28px; display:flex; align-items:center; gap:16px; flex-wrap:wrap;
}
.cta-cost-label { font-size:.75rem; font-weight:600; color:rgba(255,255,255,.5); flex:1; min-width:80px; }
.cta-cost-value { font-size:1.3rem; font-weight:800; color:var(--white); }
.cta-cost-badge {
    background:rgba(16,185,129,.15); color:#10B981;
    padding:4px 12px; border-radius:50px; font-size:.75rem; font-weight:700;
}

/* ═══════════════════════════════════════════════════════════
   FOOTER
   ═══════════════════════════════════════════════════════════ */
.footer { background:var(--dark-section); padding:80px 0 0; }

.footer-grid {
    display:grid; grid-template-columns:2fr 1fr 1fr 1fr;
    gap:56px; padding-bottom:64px;
}
.footer-logo { height:44px; width:auto; margin-bottom:20px; filter:brightness(0) invert(1); }
.footer-brand p {
    font-size:.88rem; color:rgba(255,255,255,.45);
    line-height:1.75; max-width:280px; margin-bottom:24px;
}
.footer-social { display:flex; gap:10px; }
.footer-social a {
    width:38px; height:38px; border-radius:50%;
    border:1px solid rgba(255,255,255,.1);
    display:flex; align-items:center; justify-content:center;
    color:rgba(255,255,255,.45); transition:var(--transition);
}
.footer-social a:hover { border-color:var(--primary); color:var(--primary); }
.footer-social i,
.footer-social svg { width:17px; height:17px; }

.footer-col h4 {
    font-size:.78rem; font-weight:700; color:var(--white);
    letter-spacing:.5px; text-transform:uppercase; margin-bottom:20px;
}
.footer-col a {
    display:block; font-size:.88rem;
    color:rgba(255,255,255,.45); margin-bottom:12px;
}
.footer-col a:hover { color:var(--white); }

.footer-bottom {
    border-top:1px solid rgba(255,255,255,.07);
    padding:24px 0;
}
.footer-bottom p {
    font-size:.82rem; color:rgba(255,255,255,.3);
    text-align:center;
}

/* ═══════════════════════════════════════════════════════════
   MODAL
   ═══════════════════════════════════════════════════════════ */
.modal-overlay {
    position:fixed; inset:0; z-index:1000;
    background:rgba(0,24,48,.78); backdrop-filter:blur(10px);
    display:flex; align-items:center; justify-content:center;
    opacity:0; visibility:hidden; transition:var(--transition);
}
.modal-overlay.active { opacity:1; visibility:visible; }

.modal-card {
    background:var(--white); width:90%; max-width:480px;
    padding:48px; border-radius:var(--radius-xl);
    box-shadow:var(--shadow-lg); position:relative;
    transform:translateY(24px); transition:var(--transition);
}
.modal-overlay.active .modal-card { transform:translateY(0); }

.modal-close {
    position:absolute; top:20px; right:20px;
    color:#A0AEC0; padding:6px; border-radius:8px;
}
.modal-close i { width:18px; height:18px; }
.modal-close:hover { color:var(--dark); background:var(--light); }

.modal-header h3 { font-size:1.5rem; font-weight:700; margin-bottom:8px; }
.modal-header p  { font-size:.9rem; color:var(--text); margin-bottom:32px; }

.form-group-minimal { margin-bottom:20px; }
.form-group-minimal label {
    display:block; font-weight:600; font-size:.82rem;
    color:var(--text-dark); margin-bottom:8px;
}
.form-group-minimal input {
    width:100%; padding:14px 16px;
    border:1.5px solid var(--border); border-radius:var(--radius-sm);
    font-family:var(--font); font-size:.95rem;
    color:var(--text-dark); transition:var(--transition);
}
.form-group-minimal input:focus {
    border-color:var(--primary); outline:none;
    box-shadow:0 0 0 3px rgba(255,130,1,.1);
}

/* ═══════════════════════════════════════════════════════════
   ANIMATIONS
   ═══════════════════════════════════════════════════════════ */
.reveal {
    opacity:0; transform:translateY(28px);
    transition:opacity .8s ease, transform .8s cubic-bezier(0.165,0.84,0.44,1);
}
.reveal.active { opacity:1; transform:translateY(0); }
.delay-1 { transition-delay:.12s; }
.delay-2 { transition-delay:.24s; }

@keyframes pulseAnim {
    0%,100% { opacity:.7; transform:scale(1);   }
    50%      { opacity:1;  transform:scale(1.3); }
}

/* ═══════════════════════════════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════════════════════════════ */
@media (max-width:1024px) {
    .hero-grid    { grid-template-columns:1fr; gap:56px; }
    .hero-right   { display:none; }
    .problem-grid { grid-template-columns:1fr; gap:48px; }
    .diff-grid    { grid-template-columns:1fr; gap:52px; }
    .cta-grid     { grid-template-columns:1fr; }
    .cta-visual   { display:none; }
    .blog-header  { grid-template-columns:1fr; gap:20px; }
    .footer-grid  { grid-template-columns:1fr 1fr; gap:40px; }
}

@media (max-width:768px) {
    .container { padding:0 20px; }
    section    { padding:80px 0; }
    .hero      { padding-top:120px; }

    /* Hamburger + mini CTA */
    .hamburger       { display:flex; margin-left:10px; }
    .btn-mobile-cta  { display:block !important; margin-left:auto; }
    .btn-nav-cta     { display:none; }
    .mobile-nav      { display:flex; }
    .nav-links       { display:none; }

    /* Logo mobile: mostrar só DCM */
    .logo picture source { }
    .logo img { height:32px; }

    .stats-box {
        display:grid; grid-template-columns:1fr;
        padding:36px; gap:24px;
    }
    .stat-divider { width:100%; height:1px; }

    .method-cards   { grid-template-columns:1fr; }
    .audience-grid  { grid-template-columns:1fr; }
    .audience-card  { padding:36px 28px; }
    .logo-grid      { grid-template-columns:repeat(2,1fr); }
    .blog-grid      { grid-template-columns:1fr; }

    .cta-dark-card { padding:40px 32px; }

    .footer-grid  { grid-template-columns:1fr; gap:36px; }
    .hero-badge-overlay { right:0; top:-12px; font-size:.72rem; padding:9px 14px; }
}

/* ═══════════════════════════════════════════════════════════
   NAV DROPDOWN
   ═══════════════════════════════════════════════════════════ */
.nav-dropdown { position:relative; }

.nav-dropdown-btn {
    font-size:.95rem; font-weight:500; color:var(--text-dark);
    display:flex; align-items:center; gap:4px; padding:0; background:none; border:none;
    cursor:pointer; transition:var(--transition);
}
.nav-dropdown-btn i { width:14px; height:14px; transition:var(--transition); }
.nav-dropdown-btn:hover,
.nav-dropdown.open .nav-dropdown-btn { color:var(--primary); }
.nav-dropdown.open .nav-dropdown-btn i { transform:rotate(180deg); }

.nav-dropdown-panel {
    position:absolute; top:calc(100% + 16px); left:50%;
    transform:translateX(-50%) translateY(-8px);
    background:var(--white); border:1px solid var(--border);
    border-radius:var(--radius-lg); padding:8px;
    min-width:260px; box-shadow:var(--shadow-md);
    opacity:0; visibility:hidden; transition:var(--transition);
    z-index:200;
}
.nav-dropdown.open .nav-dropdown-panel {
    opacity:1; visibility:visible; transform:translateX(-50%) translateY(0);
}
.nav-dropdown-panel a {
    display:block; padding:12px 16px; font-size:.9rem; font-weight:500;
    color:var(--text-dark); border-radius:var(--radius-sm); transition:var(--transition);
}
.nav-dropdown-panel a:hover { background:var(--light); color:var(--primary); }

/* Nav active link */
.nav-links a.active,
.nav-dropdown-btn.active { color:var(--primary); }

/* ═══════════════════════════════════════════════════════════
   INTERNAL PAGE HERO
   ═══════════════════════════════════════════════════════════ */
.page-hero { background:var(--dark); padding:160px 0 80px; }

.page-breadcrumb {
    display:flex; align-items:center; gap:6px;
    font-size:.78rem; font-weight:600; color:rgba(255,255,255,.35);
    margin-bottom:24px;
}
.page-breadcrumb a { color:rgba(255,255,255,.35); }
.page-breadcrumb a:hover { color:var(--primary); }
.page-breadcrumb i { width:12px; height:12px; }
.page-breadcrumb .bc-current { color:rgba(255,130,1,.9); }

.page-hero-badge {
    display:inline-flex; align-items:center; gap:8px;
    background:rgba(255,130,1,.12); color:var(--primary);
    padding:8px 18px; border-radius:50px;
    font-size:.72rem; font-weight:700; letter-spacing:1.2px;
    text-transform:uppercase; margin-bottom:24px;
}
.page-hero h1 {
    color:var(--white); font-size:clamp(2rem,4vw,3rem);
    font-weight:800; max-width:820px;
    margin-bottom:20px; letter-spacing:-.025em; line-height:1.15;
}
.page-hero p {
    font-size:1.1rem; color:rgba(255,255,255,.65);
    max-width:660px; line-height:1.75;
}
.page-hero .hero-actions { margin-top:36px; }

/* ═══════════════════════════════════════════════════════════
   QUEM SOMOS
   ═══════════════════════════════════════════════════════════ */
/* ── Quem Somos stats ─────────── */
.qs-stats {
    display:grid; grid-template-columns:repeat(3,1fr);
    border-radius:var(--radius-xl); overflow:hidden;
    box-shadow:var(--shadow-md);
}
.qs-stat {
    display:flex; flex-direction:column;
    align-items:center; justify-content:center;
    padding:40px 24px; text-align:center; gap:12px;
}
.qs-stat--dark   { background:var(--dark); }
.qs-stat--accent { background:var(--primary); }
.qs-val {
    font-size:2.4rem; font-weight:800; color:var(--primary);
    line-height:1;
}
.qs-stat--accent .qs-val { color:var(--white); }
.qs-lbl {
    font-size:.72rem; font-weight:600; color:rgba(255,255,255,.7);
    text-transform:uppercase; letter-spacing:.5px; line-height:1.5;
}
.qs-stat--accent .qs-lbl { color:rgba(255,255,255,.88); }

.values-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }

.value-card {
    background:var(--white); border:1px solid var(--border);
    border-radius:var(--radius-xl); padding:40px 32px; transition:var(--transition);
}
.value-card:hover { transform:translateY(-6px); box-shadow:var(--shadow-md); }
.value-icon {
    width:52px; height:52px; background:var(--light-orange); color:var(--primary);
    border-radius:14px; display:flex; align-items:center; justify-content:center;
    margin-bottom:20px;
}
.value-icon i { width:24px; height:24px; }
.value-card h3 { font-size:1.1rem; font-weight:700; margin-bottom:12px; }
.value-card p  { font-size:.95rem; line-height:1.7; }

.team-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:20px; }

.team-card { text-align:center; }
.team-avatar {
    width:100%; aspect-ratio:1; background:var(--light);
    border-radius:var(--radius-lg); border:1px solid var(--border);
    display:flex; align-items:center; justify-content:center;
    margin-bottom:16px; overflow:hidden;
}
.team-avatar i { width:48px; height:48px; color:#C0CDD8; }
.team-card h4 { font-size:.95rem; font-weight:700; color:var(--text-dark); margin-bottom:4px; }
.team-card span { font-size:.8rem; color:var(--text); }

/* ═══════════════════════════════════════════════════════════
   CASES
   ═══════════════════════════════════════════════════════════ */
.case-card {
    background:var(--white); border:1px solid var(--border);
    border-radius:var(--radius-xl); overflow:hidden;
    margin-bottom:40px; transition:var(--transition);
}
.case-card:last-child { margin-bottom:0; }
.case-card:hover { box-shadow:var(--shadow-md); }

.case-header {
    padding:36px 48px; background:var(--light);
    display:flex; align-items:center; gap:32px;
    border-bottom:1px solid var(--border);
}
.case-logo-wrap {
    height:52px; width:160px; flex-shrink:0;
    display:flex; align-items:center;
}
.case-logo-wrap img { max-height:100%; max-width:100%; object-fit:contain; }
.case-specialty {
    font-size:.68rem; font-weight:700; color:var(--primary);
    text-transform:uppercase; letter-spacing:1px; margin-bottom:6px;
}
.case-headline { font-size:1.35rem; font-weight:700; color:var(--text-dark); }

.case-body { display:grid; grid-template-columns:1fr 1fr; }

.case-col {
    padding:36px 48px;
}
.case-col:first-child { border-right:1px solid var(--border); }
.case-col-label {
    font-size:.68rem; font-weight:700; text-transform:uppercase;
    letter-spacing:1.5px; color:var(--text); margin-bottom:12px;
}
.case-col p { font-size:.98rem; color:var(--text-dark); line-height:1.7; }

.case-stats {
    display:grid; grid-template-columns:repeat(3,1fr);
    border-top:1px solid var(--border); background:var(--dark);
}
.case-stat { padding:28px; text-align:center; }
.case-stat:not(:last-child) { border-right:1px solid rgba(255,255,255,.07); }
.case-stat-val { font-size:1.9rem; font-weight:800; color:var(--primary); display:block; }
.case-stat-lbl { font-size:.72rem; font-weight:600; color:rgba(255,255,255,.55); display:block; margin-top:6px; text-transform:uppercase; letter-spacing:.5px; }

.case-quote {
    padding:32px 48px; background:var(--light);
    border-top:1px solid var(--border);
}
.case-quote p {
    font-size:1.05rem; color:var(--text-dark); line-height:1.75;
    font-style:italic; position:relative; padding-left:28px;
}
.case-quote p::before {
    content:'"'; position:absolute; left:0; top:-6px;
    font-size:3rem; color:var(--primary); line-height:1; font-style:normal;
}

/* ═══════════════════════════════════════════════════════════
   SERVICE PAGE (Google Ads / Ortopedia)
   ═══════════════════════════════════════════════════════════ */
.service-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }

.service-step {
    background:var(--light); border-radius:var(--radius-xl);
    padding:36px 28px;
}
.step-num {
    font-size:.68rem; font-weight:800; color:var(--primary);
    letter-spacing:1.5px; text-transform:uppercase; margin-bottom:16px;
}
.step-icon {
    width:48px; height:48px; background:var(--light-orange); color:var(--primary);
    border-radius:12px; display:flex; align-items:center; justify-content:center;
    margin-bottom:16px;
}
.step-icon i { width:22px; height:22px; }
.service-step h3 { font-size:1.05rem; font-weight:700; margin-bottom:10px; }
.service-step p  { font-size:.95rem; line-height:1.7; }

/* FAQ */
.faq-list { max-width:800px; margin:0 auto; }
.faq-item { border-bottom:1px solid var(--border); padding:24px 0; }
.faq-item:last-child { border-bottom:none; }

.faq-q {
    display:flex; justify-content:space-between; align-items:center;
    gap:24px; cursor:pointer;
}
.faq-q h4 { font-size:1.05rem; font-weight:600; color:var(--text-dark); flex:1; }
.faq-toggle {
    width:32px; height:32px; flex-shrink:0; border-radius:50%;
    background:var(--light); display:flex; align-items:center; justify-content:center;
    transition:var(--transition);
}
.faq-toggle i { width:16px; height:16px; color:var(--primary); transition:var(--transition); }
.faq-item.open .faq-toggle { background:var(--primary); }
.faq-item.open .faq-toggle i { color:var(--white); transform:rotate(45deg); }

.faq-a { padding-top:16px; font-size:1rem; color:var(--text); line-height:1.75; display:none; }
.faq-item.open .faq-a { display:block; }

/* Error / warning list */
.warn-list { list-style:none; display:flex; flex-direction:column; gap:12px; }
.warn-list li {
    display:flex; align-items:flex-start; gap:14px; padding:20px 24px;
    background:var(--white); border:1px solid var(--border);
    border-radius:var(--radius-md); font-size:.98rem; color:var(--text-dark);
}

/* CONTACT PAGE */
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:flex-start; }

.contact-form-card {
    background:var(--white); border:1px solid var(--border);
    border-radius:var(--radius-xl); padding:48px;
}
.contact-form-card h3 { font-size:1.3rem; font-weight:700; margin-bottom:8px; }
.contact-form-card > p { font-size:.9rem; color:var(--text); margin-bottom:32px; }

.contact-info-stack { display:flex; flex-direction:column; gap:16px; }

.contact-info-item {
    display:flex; align-items:flex-start; gap:16px;
    padding:20px 24px; background:var(--light); border-radius:var(--radius-lg);
}
.ci-icon {
    width:44px; height:44px; flex-shrink:0; background:var(--light-orange); color:var(--primary);
    border-radius:12px; display:flex; align-items:center; justify-content:center;
}
.ci-icon i { width:20px; height:20px; }
.contact-info-item h4 { font-size:.82rem; font-weight:700; color:var(--text); margin-bottom:4px; text-transform:uppercase; letter-spacing:.5px; }
.contact-info-item a, .contact-info-item p { font-size:.98rem; color:var(--text-dark); font-weight:500; }
.contact-info-item a:hover { color:var(--primary); }

.map-box {
    background:var(--light); border:1px solid var(--border);
    border-radius:var(--radius-lg); height:240px; margin-top:16px;
    display:flex; align-items:center; justify-content:center; flex-direction:column; gap:12px;
}
.map-box i { width:32px; height:32px; color:var(--primary); }
.map-box p { font-size:.85rem; color:var(--text); }

/* ── Blog Post Page ──────────────────────────────────────── */
.post-featured-img {
    width:100%; max-height:480px; object-fit:cover;
    border-radius:var(--radius-xl); margin-bottom:48px;
    display:block;
}
.post-body {
    max-width:740px; margin:0 auto;
}
.post-body h2 {
    font-size:1.55rem; font-weight:700; color:var(--dark);
    margin:48px 0 16px; line-height:1.3;
}
.post-body h3 {
    font-size:1.2rem; font-weight:700; color:var(--dark);
    margin:36px 0 12px;
}
.post-body p {
    font-size:1.05rem; color:var(--text); line-height:1.85;
    margin-bottom:20px;
}
.post-body ul {
    margin:0 0 24px 0; padding:0; list-style:none;
    display:flex; flex-direction:column; gap:12px;
}
.post-body ul li {
    display:flex; gap:12px; align-items:flex-start;
    font-size:1.05rem; color:var(--text); line-height:1.7;
}
.post-body ul li::before {
    content:''; width:8px; height:8px; border-radius:50%;
    background:var(--primary); flex-shrink:0; margin-top:8px;
}
.post-body ul li strong { color:var(--dark); }
.post-meta {
    display:flex; align-items:center; gap:20px;
    margin-bottom:40px; padding-bottom:28px;
    border-bottom:1px solid var(--border);
    flex-wrap:wrap;
}
.post-meta-tag {
    font-size:.72rem; font-weight:700; text-transform:uppercase;
    letter-spacing:.08em; color:var(--primary);
    background:rgba(255,130,1,.1); padding:4px 12px;
    border-radius:50px;
}
.post-meta-info {
    font-size:.85rem; color:var(--text); display:flex;
    align-items:center; gap:6px;
}
.post-meta-info i { width:14px; height:14px; color:var(--primary); }
.post-back {
    display:inline-flex; align-items:center; gap:8px;
    font-size:.9rem; font-weight:600; color:var(--primary);
    text-decoration:none; margin-bottom:40px;
    transition:gap .2s;
}
.post-back:hover { gap:12px; }
.post-back i { width:16px; height:16px; }

/* ── Responsive additions ────────────────────────────────── */
@media (max-width:1024px) {
    .values-grid    { grid-template-columns:1fr 1fr; }
    .team-grid      { grid-template-columns:repeat(3,1fr); }
    .service-steps  { grid-template-columns:1fr; }
    .contact-grid   { grid-template-columns:1fr; gap:48px; }
    .case-body      { grid-template-columns:1fr; }
    .case-col:first-child { border-right:none; border-bottom:1px solid var(--border); }
}
@media (max-width:768px) {
    .page-hero { padding:120px 0 60px; }
    .values-grid { grid-template-columns:1fr; }
    .team-grid   { grid-template-columns:repeat(2,1fr); }
    .case-header { flex-direction:column; align-items:flex-start; gap:16px; }
    .case-stats  { grid-template-columns:1fr; }
    .case-stat:not(:last-child) { border-right:none; border-bottom:1px solid rgba(255,255,255,.07); }
    .contact-grid { grid-template-columns:1fr; gap:40px; }
    .post-body h2 { font-size:1.3rem; }
    .post-featured-img { max-height:280px; }
    .qs-stats { grid-template-columns:1fr; }
}

/* ── WordPress — Contato Page ────────────────────────────── */
.contact-grid {
    display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start;
}
.contact-info h2 { font-size:clamp(1.5rem,2.5vw,2rem); margin:16px 0 20px; }
.contact-methods { display:flex; flex-direction:column; gap:20px; margin-top:36px; }
.contact-method {
    display:flex; align-items:flex-start; gap:16px;
    text-decoration:none; color:inherit;
    background:var(--light); border-radius:var(--radius-lg);
    padding:20px 24px; border:1px solid var(--border);
    transition:var(--transition);
}
.contact-method:hover { border-color:var(--primary); background:rgba(255,130,1,.04); }
.contact-method-icon {
    width:44px; height:44px; background:rgba(255,130,1,.1);
    border-radius:var(--radius-md); display:flex; align-items:center;
    justify-content:center; flex-shrink:0;
}
.contact-method-icon i, .contact-method-icon svg { width:20px; height:20px; color:var(--primary); }
.contact-method h4 { font-size:1rem; font-weight:700; color:var(--text-dark); margin-bottom:4px; }
.contact-method p  { font-size:.9rem; color:var(--text); margin:0; }
.contact-form-card {
    background:var(--white); border:1px solid var(--border);
    border-radius:var(--radius-xl); padding:40px;
    box-shadow:var(--shadow-md);
}
.contact-form-card h3 { font-size:1.4rem; margin-bottom:8px; color:var(--text-dark); }
.contact-form-card > p { color:var(--text); margin-bottom:28px; }
.contact-standalone-form textarea {
    width:100%; border:1.5px solid var(--border); border-radius:var(--radius-md);
    padding:12px 16px; font-family:var(--font); font-size:.95rem;
    color:var(--text-dark); resize:vertical; transition:var(--transition);
    outline:none;
}
.contact-standalone-form textarea:focus { border-color:var(--primary); }

/* ── WordPress — Pagination ──────────────────────────────── */
.nav-links { display:flex; gap:8px; justify-content:center; flex-wrap:wrap; }
.page-numbers {
    display:inline-flex; align-items:center; justify-content:center;
    width:40px; height:40px; border-radius:50%; font-weight:600;
    font-size:.9rem; color:var(--text-dark); background:var(--light);
    border:1px solid var(--border); transition:var(--transition);
}
.page-numbers.current { background:var(--primary); color:#fff; border-color:var(--primary); }
.page-numbers:hover:not(.current) { border-color:var(--primary); color:var(--primary); }

/* ── WordPress — Post Content Body ──────────────────────── */
.post-content-body { font-size:1.05rem; color:var(--text); line-height:1.85; }
.post-content-body h2 { font-size:1.55rem; font-weight:700; color:var(--dark); margin:48px 0 16px; }
.post-content-body h3 { font-size:1.2rem; font-weight:700; color:var(--dark); margin:36px 0 12px; }
.post-content-body p  { margin-bottom:20px; }
.post-content-body ul { margin:0 0 24px 20px; }
.post-content-body ul li { margin-bottom:8px; }
.post-content-body a  { color:var(--primary); text-decoration:underline; }
.post-content-body blockquote {
    border-left:3px solid var(--primary); padding:16px 24px;
    margin:24px 0; background:var(--light); border-radius:0 var(--radius-md) var(--radius-md) 0;
    font-style:italic;
}
