/* ═══════════════════════════════════════════════════════════
   VARIÁVEIS & RESET
═══════════════════════════════════════════════════════════ */
:root {
    --primary-blue:     #0D2C4F;
    --primary-blue-mid: #1a3f6f;
    --gold-accent:      #C5B358;
    --background-light: #F8F9FA;
    --text-dark:        #212529;
    --text-light:       #F8F9FA;
    --text-muted:       #6C757D;
    --border-color:     #DEE2E6;
    --font-display:     'Playfair Display', serif;
    --font-text:        'Montserrat', sans-serif;
}
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
body {
    font-family: var(--font-text);
    color: var(--text-dark);
    background-color: #FFF;
    line-height: 1.7;
    overflow-x: hidden;
}
.container { max-width:1140px; margin:0 auto; padding:0 20px; }

/* ═══════════════════════════════════════════════════════════
   HEADER
═══════════════════════════════════════════════════════════ */
.main-header {
    background-color:#FFF;
    border-bottom:1px solid var(--border-color);
    padding:20px 0;
    position:sticky; top:0; z-index:1000;
    transition:box-shadow .3s ease;
}
.main-header.scrolled { box-shadow:0 2px 10px rgba(0,0,0,.07); }
.main-header .container { display:flex; justify-content:space-between; align-items:center; }

.logo { font-weight:700; font-size:24px; color:var(--primary-blue); text-decoration:none; font-family:var(--font-display); }
.logo img { max-height:90px; width:auto; display:block; transform:translateY(-17px); }

.main-nav ul { list-style:none; display:flex; align-items:center; gap:30px; }
.main-nav a {
    text-decoration:none; color:var(--text-dark);
    font-weight:500; font-size:15px;
    position:relative; padding-bottom:5px;
}
.main-nav a::after {
    content:''; position:absolute; bottom:0; left:0;
    width:0; height:2px;
    background-color:var(--gold-accent);
    transition:width .4s ease;
}
.main-nav a:hover::after { width:100%; }

.cta-button-nav {
    background-color:var(--gold-accent); color:var(--text-light);
    padding:10px 20px; border-radius:5px;
    transition:background-color .3s, color .3s, transform .3s;
}
.cta-button-nav:hover { background-color:var(--primary-blue); color:var(--text-light); transform:translateY(-2px); }
.cta-button-nav::after { display:none; }

/* ── Hambúrguer ── */
.menu-toggle {
    display:none;
    flex-direction:column; justify-content:space-between;
    width:28px; height:20px;
    background:none; border:none; cursor:pointer;
    padding:0; z-index:1100;
}
.menu-toggle span {
    display:block; height:2px; width:100%;
    background-color:var(--primary-blue);
    border-radius:2px;
    transition:transform .3s ease, opacity .3s ease;
    transform-origin:center;
}
.menu-toggle.active span:nth-child(1) { transform:translateY(9px) rotate(45deg); }
.menu-toggle.active span:nth-child(2) { opacity:0; }
.menu-toggle.active span:nth-child(3) { transform:translateY(-9px) rotate(-45deg); }

/* ═══════════════════════════════════════════════════════════
   HERO — vídeo com crossfade
═══════════════════════════════════════════════════════════ */
.hero {
    position:relative;
    color:var(--text-light);
    height:80vh; min-height:540px;
    display:flex; align-items:center; justify-content:center;
    text-align:center;
    overflow:hidden;
}

/* Container de vídeos empilhados */
.hero-videos {
    position:absolute; inset:0;
    width:100%; height:100%;
}
.hero-video {
    position:absolute; inset:0;
    width:100%; height:100%;
    object-fit:cover;
    opacity:0;
    transition:opacity 1.2s ease-in-out;
    pointer-events:none;
}
.hero-video.active { opacity:1; }

.hero-overlay {
    position:absolute; inset:0;
    background: rgba(13,44,79,.65);
    z-index:1;
}
.hero-content { position:relative; z-index:2; }

.hero-title {
    font-family:var(--font-display);
    font-size:52px; font-weight:700;
    margin-bottom:20px; line-height:1.2;
    text-shadow:0 2px 12px rgba(0,0,0,.3);
}
.hero-subtitle {
    font-size:18px; max-width:650px;
    margin:0 auto 40px;
    font-weight:400; opacity:.92;
}
.cta-button {
    background-color:var(--gold-accent); color:var(--primary-blue);
    padding:15px 35px; border-radius:5px;
    text-decoration:none; font-weight:700; font-size:16px;
    text-transform:uppercase; letter-spacing:1px;
    transition:all .3s ease;
    box-shadow:0 4px 15px rgba(0,0,0,.2);
    display:inline-block;
}
.cta-button:hover {
    background-color:#fff; transform:translateY(-3px);
    box-shadow:0 6px 20px rgba(0,0,0,.25);
}

/* ═══════════════════════════════════════════════════════════
   SEÇÕES PADRÃO
═══════════════════════════════════════════════════════════ */
section { padding:100px 0; }
.section-intro {
    text-align:center; margin-bottom:60px;
    max-width:700px; margin-left:auto; margin-right:auto;
}
.section-tagline {
    font-weight:700; color:var(--gold-accent);
    text-transform:uppercase; letter-spacing:1.5px;
    font-size:14px; margin-bottom:10px; display:block;
}
.section-title {
    font-family:var(--font-display);
    font-size:40px; color:var(--primary-blue); margin-bottom:20px;
}
.section-description { color:var(--text-muted); font-size:16px; }

/* ═══════════════════════════════════════════════════════════
   GRID DE SERVIÇOS
═══════════════════════════════════════════════════════════ */
.services-summary { background-color:var(--background-light); }
.services-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:30px; }
.service-card {
    background:#FFF; border:1px solid var(--border-color);
    padding:40px; text-align:center; border-radius:8px;
    transition:transform .3s, box-shadow .3s;
}
.service-card:hover { transform:translateY(-10px); box-shadow:0 10px 30px rgba(0,0,0,.07); }
.service-card i { color:var(--gold-accent); width:48px; height:48px; margin-bottom:20px; }
.service-card h3 { font-weight:700; font-size:20px; color:var(--primary-blue); margin-bottom:15px; }
.service-card p { color:var(--text-muted); font-size:15px; margin-bottom:25px; }
.learn-more { color:var(--primary-blue); text-decoration:none; font-weight:700; font-size:15px; }

/* ═══════════════════════════════════════════════════════════
   SOBRE — moldura moderna criativa
═══════════════════════════════════════════════════════════ */
.about-summary .container {
    display:flex; align-items:center; gap:80px;
}
.about-content { flex:1; }
.about-content .section-intro,
.about-content .section-title { text-align:left; margin-left:0; margin-right:0; }
.about-content p { color:var(--text-muted); text-align:justify; hyphens:auto; }

/* Moldura criativa */
.about-image-modern {
    flex:1;
    position:relative;
    /* espaço para os elementos decorativos */
    padding:30px 30px 30px 0;
}

/* Anel decorativo atrás */
.about-image-deco-ring {
    position:absolute;
    top: -20px; left: -20px;
    width: 220px; height: 220px;
    border-radius: 50%;
    border: 3px solid var(--gold-accent);
    opacity:.18;
    pointer-events:none;
}

/* Grade pontilhada */
.about-image-deco-dots {
    position:absolute;
    bottom: 0; right: 0;
    width: 130px; height: 130px;
    background-image: radial-gradient(circle, var(--gold-accent) 1.5px, transparent 1.5px);
    background-size: 16px 16px;
    opacity:.22;
    pointer-events:none;
}

.about-image-frame {
    position:relative;
    border-radius: 40% 60% 55% 45% / 45% 45% 55% 55%;
    overflow:hidden;
    box-shadow: 0 20px 60px rgba(13,44,79,.18), 0 6px 20px rgba(13,44,79,.1);
    /* borda dourada de destaque */
    outline: 4px solid var(--gold-accent);
    outline-offset: 8px;
    aspect-ratio: 1 / 1;
    transition: border-radius .6s ease;
}
.about-image-frame:hover {
    border-radius: 45% 55% 50% 50% / 50% 45% 55% 50%;
}
.about-image-frame img {
    width:100%; height:100%;
    object-fit:cover;
    display:block;
    transition:transform .6s ease;
}
.about-image-frame:hover img { transform:scale(1.04); }

/* Barra lateral dourada */
.about-image-accent-bar {
    position:absolute;
    left:0; top:15%; bottom:15%;
    width:5px;
    background:linear-gradient(to bottom, transparent, var(--gold-accent), transparent);
    border-radius:4px;
}

/* Badge flutuante */
.about-image-badge {
    position:absolute;
    bottom: -12px; right: -12px;
    background:var(--primary-blue);
    color:#fff;
    border-radius: 50%;
    width: 100px; height: 100px;
    display:flex; flex-direction:column;
    align-items:center; justify-content:center;
    box-shadow: 0 8px 24px rgba(13,44,79,.3);
    border: 3px solid var(--gold-accent);
    text-align:center;
    gap:2px;
    z-index:2;
}
.about-image-badge .badge-number {
    font-family:var(--font-display);
    font-size:28px; font-weight:700;
    color:var(--gold-accent);
    line-height:1;
}
.about-image-badge .badge-label {
    font-size:10px; opacity:.85;
    line-height:1.3; font-weight:500;
    text-transform:uppercase; letter-spacing:.5px;
}

/* ═══════════════════════════════════════════════════════════
   CTA FINAL + FOOTER
═══════════════════════════════════════════════════════════ */
.cta-button-secondary {
    display:inline-block; margin-top:20px;
    background:transparent; color:var(--primary-blue);
    padding:12px 30px; border-radius:5px;
    text-decoration:none; font-weight:700;
    border:2px solid var(--primary-blue);
    transition:all .3s;
}
.cta-button-secondary:hover { background:var(--primary-blue); color:#fff; transform:translateY(-2px); }

.final-cta { background-color:var(--primary-blue); color:#fff; text-align:center; }
.final-cta h2 { font-family:var(--font-display); font-size:40px; margin-bottom:15px; }
.final-cta p { opacity:.8; margin-bottom:30px; }

.main-footer { background:#111; color:var(--text-muted); padding:60px 0 30px; font-size:14px; }
.footer-top { display:flex; justify-content:space-between; padding-bottom:40px; margin-bottom:40px; border-bottom:1px solid #333; }
.footer-about h3 { font-family:var(--font-display); color:#FFF; font-size:22px; margin-bottom:10px; }
.footer-nav h4 { color:#FFF; font-size:16px; margin-bottom:15px; text-transform:uppercase; letter-spacing:1px; }
.footer-nav ul { list-style:none; }
.footer-nav li { margin-bottom:10px; }
.footer-nav a { text-decoration:none; color:var(--text-muted); transition:color .3s; }
.footer-nav a:hover { color:var(--gold-accent); }
.footer-bottom { text-align:center; }

/* ═══════════════════════════════════════════════════════════
   PAGE HEADER
═══════════════════════════════════════════════════════════ */
.page-header { background-color:var(--primary-blue); color:#fff; padding:60px 0; text-align:center; }
.page-title { font-family:var(--font-display); font-size:48px; margin-bottom:10px; }
.page-subtitle { font-size:18px; opacity:.8; }

/* ═══════════════════════════════════════════════════════════
   ACORDEÃO
═══════════════════════════════════════════════════════════ */
.services-page-section { padding:100px 0; }
.services-cnpj { background-color:var(--background-light); }
.accordion { max-width:800px; margin:0 auto; border-top:1px solid var(--border-color); }
.accordion-item { border-bottom:1px solid var(--border-color); }
.accordion-header {
    background:none; border:none; width:100%; text-align:left;
    padding:25px 20px;
    font-family:var(--font-text); font-size:18px; font-weight:700;
    color:var(--primary-blue); cursor:pointer; position:relative;
    transition:background-color .3s;
}
.accordion-header:hover { background-color:#f8f9fa; }
.accordion-header::after {
    content:'+'; font-family:'Times New Roman',serif;
    position:absolute; right:20px; top:50%; transform:translateY(-50%);
    font-size:28px; font-weight:400; color:var(--gold-accent); transition:transform .3s;
}
.accordion-header.active::after { content:'−'; transform:translateY(-50%) rotate(180deg); }
.accordion-content { max-height:0; overflow:hidden; transition:max-height .4s ease-out; }
.accordion-content p { padding:0 20px 25px; color:var(--text-muted); line-height:1.8; font-size:16px; }

/* ═══════════════════════════════════════════════════════════
   WHATSAPP
═══════════════════════════════════════════════════════════ */
.whatsapp-container {
    position:fixed; bottom:30px; right:30px; z-index:100;
    display:flex; align-items:flex-end; gap:15px;
}
.whatsapp-button {
    background-color:#25D366; color:#FFF;
    width:60px; height:60px; border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    box-shadow:0 4px 15px rgba(0,0,0,.2);
    text-decoration:none; transition:transform .3s, box-shadow .3s;
    flex-shrink:0;
}
.whatsapp-button:hover { transform:translateY(-5px) scale(1.1); box-shadow:0 8px 25px rgba(0,0,0,.3); }
.whatsapp-icon { width:32px; height:32px; fill:#FFF; }
.whatsapp-chat-bubble {
    background:#FFF; padding:12px 18px; border-radius:10px;
    box-shadow:0 4px 15px rgba(0,0,0,.15);
    position:relative; opacity:0; transform:translateY(10px);
    transition:opacity .4s, transform .4s;
    font-size:15px; color:var(--text-dark); font-weight:500; white-space:nowrap;
}
.whatsapp-arrow {
    width:0; height:0;
    border-top:8px solid transparent; border-bottom:8px solid transparent;
    border-left:8px solid #FFF;
    position:absolute; right:-8px; top:50%; transform:translateY(-50%);
}
.whatsapp-container:hover .whatsapp-chat-bubble { opacity:1; transform:translateY(0); }

/* ═══════════════════════════════════════════════════════════
   SOBRE PAGE
═══════════════════════════════════════════════════════════ */
.about-page-section { padding:100px 0; }
.about-page-content { display:flex; gap:60px; align-items:flex-start; }
.about-image-profile { flex-basis:300px; flex-shrink:0; }
.about-image-profile img { width:100%; border-radius:50%; border:5px solid var(--gold-accent); }
.about-text { flex:1; }
.about-text .section-title { text-align:left; margin-bottom:15px; }
.about-text .section-tagline { text-align:left; }
.about-text p { margin-bottom:20px; color:var(--text-muted); text-align:justify; }
.about-credentials { margin-top:30px; padding-top:30px; border-top:1px solid var(--border-color); }
.about-credentials h4 { font-family:var(--font-display); color:var(--primary-blue); margin-bottom:15px; }
.about-credentials ul { list-style:none; padding:0; }
.about-credentials li { margin-bottom:10px; padding-left:25px; position:relative; }
.about-credentials li::before { content:'✓'; position:absolute; left:0; color:var(--gold-accent); font-weight:700; }

/* ═══════════════════════════════════════════════════════════
   CONTATO PAGE
═══════════════════════════════════════════════════════════ */
.contact-page-section { padding:100px 0; background-color:var(--background-light); }
.contact-grid { display:grid; grid-template-columns:2fr 1fr; gap:60px; }
.contact-form-container h3, .contact-info-container h3 {
    font-family:var(--font-display); color:var(--primary-blue); font-size:28px; margin-bottom:20px;
}
.form-group { margin-bottom:20px; }
.form-group label { display:block; font-weight:700; margin-bottom:8px; font-size:14px; }
.form-group input, .form-group textarea {
    width:100%; padding:12px; border:1px solid var(--border-color);
    border-radius:5px; font-family:var(--font-text); font-size:16px;
}
.form-group input:focus, .form-group textarea:focus {
    outline:none; border-color:var(--gold-accent);
    box-shadow:0 0 0 2px rgba(197,179,88,.2);
}
.contact-form .cta-button { width:100%; border:none; cursor:pointer; }
.contact-info-list { list-style:none; margin-top:20px; margin-bottom:30px; }
.contact-info-list li { margin-bottom:15px; color:var(--text-muted); }
.contact-info-list li strong { color:var(--text-dark); }
.map-container { border-radius:5px; overflow:hidden; border:1px solid var(--border-color); }
.pagina-contato .whatsapp-container { display:none; }

/* ═══════════════════════════════════════════════════════════
   ARTIGOS PAGE
═══════════════════════════════════════════════════════════ */
.articles-page-section { padding:100px 0; }
.articles-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:40px; }
.article-card {
    display:flex; flex-direction:column;
    text-decoration:none; background:#FFF;
    border:1px solid var(--border-color); border-radius:8px; overflow:hidden;
    transition:transform .3s, box-shadow .3s;
}
.article-card:hover { transform:translateY(-10px); box-shadow:0 15px 30px rgba(0,0,0,.1); }
.article-image img { width:100%; height:200px; object-fit:cover; }
.article-content { padding:25px; }
.article-category { font-weight:700; color:var(--gold-accent); font-size:13px; text-transform:uppercase; margin-bottom:10px; display:block; }
.article-title { font-family:var(--font-display); font-size:22px; color:var(--primary-blue); margin-bottom:15px; line-height:1.3; }
.article-excerpt { color:var(--text-muted); font-size:15px; margin-bottom:20px; }
.article-read-more { font-weight:700; color:var(--primary-blue); }

/* ═══════════════════════════════════════════════════════════
   ARTIGO INDIVIDUAL
═══════════════════════════════════════════════════════════ */
.article-hero { position:relative; height:40vh; display:flex; align-items:center; text-align:center; background-size:cover; background-position:center; color:#FFF; }
.article-hero-overlay { position:absolute; inset:0; background:linear-gradient(to top, rgba(13,44,79,.8), rgba(13,44,79,.4)); }
.article-hero .container { position:relative; z-index:2; }
.article-category-header { background:var(--gold-accent); color:var(--primary-blue); padding:5px 15px; border-radius:5px; font-size:14px; font-weight:700; }
.article-main-title { font-family:var(--font-display); font-size:48px; margin-top:20px; }
.article-body { padding:80px 0; }
.article-body .container { max-width:750px; }
.article-body p.lead { font-size:20px; font-weight:400; color:var(--text-dark); margin-bottom:30px; }
.article-body h2 { font-family:var(--font-display); font-size:32px; color:var(--primary-blue); margin:40px 0 20px; }
.article-body p { font-size:17px; line-height:1.8; margin-bottom:20px; color:var(--text-muted); }
.article-body blockquote { border-left:4px solid var(--gold-accent); padding-left:25px; margin:30px 0; font-style:italic; font-size:18px; color:var(--text-dark); }
.article-author { display:flex; align-items:center; gap:20px; margin-top:50px; padding-top:30px; border-top:1px solid var(--border-color); }
.article-author img { width:80px; height:80px; border-radius:50%; }
.article-author strong { display:block; font-size:16px; color:var(--text-dark); }
.article-author span { font-size:14px; color:var(--text-muted); }

/* ═══════════════════════════════════════════════════════════
   DESTAQUES NUMÉRICOS
═══════════════════════════════════════════════════════════ */
.benefits-highlight {
    background-color:var(--primary-blue);
    padding:60px 0; color:#fff;
}
.benefits-highlight .container {
    display:grid; grid-template-columns:repeat(4,1fr);
    gap:30px; text-align:center;
}
.benefit-stat h3 { font-family:var(--font-display); font-size:42px; color:var(--gold-accent); }
.benefit-stat p { font-size:14px; opacity:.8; margin-top:5px; }

/* ═══════════════════════════════════════════════════════════
   RESPONSIVO MOBILE — completo
═══════════════════════════════════════════════════════════ */
@media (max-width: 900px) {
    .services-grid { grid-template-columns:repeat(2,1fr); }
    .about-summary .container { gap:50px; }
}

@media (max-width: 768px) {
    /* Header */
    .menu-toggle { display:flex; }
    .main-nav {
        position:fixed; inset:0 0 0 auto;
        width:75%; max-width:300px;
        background:#FFF;
        flex-direction:column;
        padding:100px 30px 40px;
        box-shadow:-4px 0 20px rgba(0,0,0,.12);
        transform:translateX(100%);
        transition:transform .35s cubic-bezier(.4,0,.2,1);
        z-index:1050;
    }
    .main-nav.open { transform:translateX(0); }
    .main-nav ul { flex-direction:column; gap:0; }
    .main-nav ul li { border-bottom:1px solid var(--border-color); }
    .main-nav a { display:block; padding:16px 0; font-size:16px; }
    .main-nav a::after { display:none; }
    .cta-button-nav { margin-top:20px; display:block; text-align:center; }

    /* Hero */
    .hero { height:80vh; }
    .hero-title { font-size:30px; }
    .hero-subtitle { font-size:15px; }
    .cta-button { padding:13px 24px; font-size:14px; }

    /* Serviços */
    .services-grid { grid-template-columns:1fr; }

    /* Sobre */
    .about-summary .container {
        flex-direction:column; gap:50px;
    }
    .about-image-modern { width:100%; max-width:360px; margin:0 auto; padding:24px 24px 24px 0; }
    .about-image-deco-ring { width:150px; height:150px; top:-15px; left:-15px; }
    .about-image-deco-dots { width:90px; height:90px; }
    .about-image-badge { width:80px; height:80px; bottom:-8px; right:-8px; }
    .about-image-badge .badge-number { font-size:22px; }
    .about-image-badge .badge-label { font-size:8px; }
    .about-content { text-align:center; }
    .about-content .section-intro,
    .about-content .section-title { text-align:center; }

    /* Destaque */
    .benefits-highlight .container { grid-template-columns:repeat(2,1fr); gap:20px; }
    .benefit-stat h3 { font-size:32px; }

    /* Final CTA */
    .final-cta h2 { font-size:28px; }
    section { padding:70px 0; }

    /* Footer */
    .footer-top { flex-direction:column; gap:30px; }

    /* Sobre page */
    .about-page-content { flex-direction:column; }
    .about-image-profile { flex-basis:auto; width:180px; margin:0 auto; }

    /* Contato */
    .contact-grid { grid-template-columns:1fr; }
    .map-container iframe { height:280px !important; }

    /* Page header */
    .page-title { font-size:34px; }

    /* WhatsApp */
    .whatsapp-container { bottom:18px; right:18px; }
    .whatsapp-button { width:52px; height:52px; }
    .whatsapp-chat-bubble { display:none; }
}

@media (max-width: 480px) {
    .hero-title { font-size:24px; }
    .section-title { font-size:28px; }
    .article-main-title { font-size:28px; }
    .benefits-highlight .container { grid-template-columns:1fr 1fr; }
    .articles-grid { grid-template-columns:1fr; }
    .logo img { max-height:65px; transform:translateY(-12px); }
}
