:root{

    /* 🔵 Azul principal da marca */
    --primary: #2F6FD6;        /* azul CliOdonto */
    --primary-dark: #1E4FA3;   /* azul mais profundo para gradientes */
    --primary-light: #4A86E8;  /* azul mais claro para detalhes */

    --accent: #5C6BC0;
    --accent-light: #7986CB;

    /* 🎨 Neutros Premium */
    --text: #1F2937;
    --muted: #6B7280;
    --bg: #ffffff;
    --surface: #ffffff;
    --soft: #F4F8FF; /* leve azul de fundo ao invés de cinza */

    --border: rgba(31,41,55,.10);

    /* 🌫 Sombras modernas */
    --shadow1: 0 10px 30px rgba(0,0,0,.08);
    --shadow2: 0 25px 60px rgba(0,0,0,.12);

    --radius: 18px;
}


/* RESET */
*{ box-sizing:border-box; margin:0; padding:0; }

html{ scroll-behavior:smooth; }

body{
    font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
    font-size:18px;
    line-height:1.65;
    color:var(--text);
    background:var(--bg);
}

/* container */
.container{
    max-width:1200px;
    margin:0 auto;
    padding:0 20px;
}

.section-narrow{
    max-width:920px;
    margin:0 auto;
}

.py-5{ padding:5rem 0; }
.bg-light{ background:var(--soft); }

/* type */
h1{
    font-size:48px;
    line-height:1.12;
    letter-spacing:-0.02em;
}

h2{
    font-size:34px;
    line-height:1.2;
    letter-spacing:-0.01em;
    margin-bottom:18px;
}

h3{
    font-size:20px;
    line-height:1.25;
}

p{ color:var(--text); }
.small, .mini-note{ color:var(--muted); font-size:.95rem; }

/* HERO (premium) */
header.hero{
    position:relative;
    padding:6rem 0;
    color:#fff;
    overflow:hidden;
    background:
            radial-gradient(800px 350px at 80% 20%, rgba(126,211,33,.12), transparent 60%),
            linear-gradient(135deg, #3F6FAF 0%, #2F5FA8 60%, #1F3F7A 100%);
}

.hero .hero-grid{
    display:grid;
    grid-template-columns: 1.2fr .8fr;
    gap:40px;
    align-items:center;
}

.hero .lead{
    margin-top:18px;
    font-size:20px;
    color:rgba(255,255,255,.92);
    max-width:56ch;
}

.badges{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:18px;
}

.badge{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:10px 12px;
    border-radius:999px;
    border:1px solid rgba(255,255,255,.18);
    background:rgba(255,255,255,.10);
    color:rgba(255,255,255,.92);
    font-size:.95rem;
    backdrop-filter: blur(10px);
}

.badge i{ opacity:.95; }

.cta-wrap{
    margin-top:26px;
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    align-items:center;
}

.btn-primary, .btn-secondary{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:14px 22px;
    border-radius:14px;
    text-decoration:none;
    font-weight:800;
    transition: transform .2s ease, box-shadow .2s ease, opacity .2s ease;
}

.btn-primary{
    background: linear-gradient(135deg, var(--accent), #00E0B8);
    color: #ffffff;
    box-shadow: 0 20px 55px rgba(0,0,0,.25);
}

.btn-primary:hover{ transform: translateY(-2px); }

.btn-secondary{
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.20);
    color:#fff;
}

.btn-secondary:hover{ opacity:.95; transform: translateY(-2px); }

/* hero mock */
.hero-mock{
    border-radius: var(--radius);
    background: rgba(255,255,255,.10);
    border: 1px solid rgba(255,255,255,.18);
    box-shadow: 0 35px 85px rgba(0,0,0,.30);
    overflow:hidden;
    min-height:320px;
}

.hero-mock .topbar{
    display:flex;
    gap:8px;
    padding:14px 16px;
    border-bottom:1px solid rgba(255,255,255,.14);
    background: rgba(255,255,255,.08);
}

.dot{ width:10px; height:10px; border-radius:999px; background: rgba(255,255,255,.35); }
.hero-mock .body{
    padding:18px 16px 22px;
    color:rgba(255,255,255,.92);
}

.hero-mock .line{
    height:10px;
    border-radius:999px;
    background: rgba(255,255,255,.18);
    margin:10px 0;
}

.hero-mock .cards{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin-top:16px;
}
.hero-mock .card{
    border-radius:14px;
    padding:12px;
    background: rgba(255,255,255,.10);
    border: 1px solid rgba(255,255,255,.14);
}
.hero-mock .card .kpi{
    font-weight:900;
    font-size:18px;
}
.hero-mock .card .label{
    font-size:.9rem;
    opacity:.9;
}

/* generic blocks */
.text-center{ text-align:center; }
.text-dark{ color: var(--text) !important; }

/* premium section title */
.section-title{
    display:flex;
    flex-direction:column;
    gap:10px;
}

.section-title .eyebrow{
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
    font-size:.85rem;
    color:var(--primary);
}

/* Pain section */
.pain{
    padding:5rem 0;
}

.pain p{
    color: var(--muted);
    font-size: 1.05rem;
}

/* Benefits */
.benefits{
    display:grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap:18px;
    margin-top:26px;
}

.benefits > div{
    background: var(--surface);
    border-radius: var(--radius);
    padding:22px 18px;
    border:1px solid var(--border);
    box-shadow: var(--shadow1);
}

.benefits p{
    margin:10px 0;
    color: var(--text);
}

.benefits .tick{
    display:flex;
    gap:10px;
    align-items:flex-start;
}
.benefits .tick i{
    margin-top:3px;
    color: var(--accent);
}

/* Mid CTA */
.mid-cta{
    border-radius: 24px;
    padding:34px 26px;
    border:1px solid var(--border);
    background:
        radial-gradient(800px 220px at 30% 20%, rgba(91,75,255,.14), transparent 60%),
        radial-gradient(900px 260px at 80% 70%, rgba(0,201,167,.12), transparent 60%),
        #fff;
    box-shadow: var(--shadow1);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    flex-wrap:wrap;
}

.mid-cta p{ color: var(--muted); max-width:60ch; }

/* Feature cards (premium) */
.feature-card{
    background:#fff;
    border-radius:20px;
    padding:26px 18px;
    min-height: 240px;
    border: 1px solid var(--border);
    box-shadow: var(--shadow1);
    transition: transform .22s ease, box-shadow .22s ease;
}

.feature-card:hover{
    transform: translateY(-6px);
    box-shadow: var(--shadow2);
}

.icon-badge{
    width:58px;
    height:58px;
    border-radius:16px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin: 0 auto 16px;

    background: rgba(47,111,214,.10); /* azul bem suave */
    color: var(--primary);            /* azul da marca */
    box-shadow: 0 10px 25px rgba(47,111,214,.15);
}


.feature-card h3{ margin-top:6px; }
.feature-card p{ margin-top:10px; color: var(--muted); }

/* Long SEO sections */
.seo-block p{ color: var(--muted); font-size: 1.02rem; }
.seo-block ul{ margin-top:16px; padding-left:18px; color: var(--muted); }
.seo-block li{ margin:8px 0; }

/* FAQ accordion */
.faq details{
    border:1px solid var(--border);
    border-radius:16px;
    padding:16px 16px;
    background:#fff;
    box-shadow: var(--shadow1);
    margin-top:12px;
}

.faq summary{
    cursor:pointer;
    font-weight:800;
    list-style:none;
}

.faq summary::-webkit-details-marker{ display:none; }

.faq details p{
    margin-top:12px;
    color: var(--muted);
}

/* Form */
.form-wrap{
    margin-top:26px;
    display:flex;
    flex-direction:column;
    align-items:center;
}

.form-card{
    width:100%;
    max-width:520px;
    background:#fff;
    border-radius:24px;
    border:1px solid var(--border);
    box-shadow: var(--shadow2);
    padding:26px 20px;
}

.form-card .field{
    width:100%;
    margin-bottom:12px;
}

.form-card input{
    width:100%;
    max-width:100%;
    padding:14px 14px;
    border-radius:14px;
    border:1px solid rgba(17,24,39,.14);
    outline:none;
    font-size:16px;
    transition: box-shadow .2s ease, border-color .2s ease;
}

.form-card input:focus{
    border-color: rgba(91,75,255,.55);
    box-shadow: 0 0 0 6px rgba(91,75,255,.12);
}

.form-card button{
    width:100%;
    border:none;
    cursor:pointer;
}



/* responsive */
@media (max-width: 992px){
    .hero .hero-grid{ grid-template-columns: 1fr; }
    .hero-mock{ min-height:260px; }
}

@media (max-width: 900px){
    .benefits{ grid-template-columns: 1fr; }
}

@media (max-width: 480px){
    body{ font-size:17px; }
    h1{ font-size:36px; }
    h2{ font-size:28px; }
    .btn-primary, .btn-secondary{ width:100%; }
}

/* ====================================================
   BLOG - LISTAGEM E ARTIGO (PADRÃO MARKETING)
==================================================== */

/* HEADER GRADIENTE (FORTE, COERENTE COM HOME) */
.blog-header{
    padding:110px 0 70px;
    color:#fff;
    text-align:center;
    position:relative;
    overflow:hidden;

    background:
        radial-gradient(900px 360px at 80% 15%, rgba(255,255,255,.10), transparent 60%),
        linear-gradient(135deg, var(--primary-dark) 0%, var(--primary) 60%, #1F3F7A 100%);
}

.blog-header h1{
    font-size:42px;
    margin-bottom:12px;
    line-height:1.2;
    color:#fff;
}

.blog-header p{
    color:rgba(255,255,255,.9);
    font-size:18px;
}


/* TRANSIÇÃO PARA ÁREA BRANCA */
.blog-section{
    background:#fff;
    margin-top:-30px;
    border-top-left-radius:var(--radius);
    border-top-right-radius:var(--radius);
    padding:70px 0 110px;
    position:relative;
    z-index:3;
}



/* =========================
   ARTIGO
========================= */

.blog-article{
    font-size:18px;
    line-height:1.85;
    color:var(--text);
}

.blog-article p{
    margin-bottom:20px;
}

.blog-article h2{
    font-size:26px;
    margin-top:46px;
    margin-bottom:12px;
    color:var(--text);
}

.blog-article h3{
    font-size:20px;
    margin-top:32px;
}

.blog-article a:not(.btn-primary){
    color: var(--primary);
    font-weight:600;
    text-decoration:none;
}

.blog-article a:hover{
    text-decoration:underline;
}


/* CTA DO ARTIGO */
.article-cta{
    margin-top:50px;
}

.article-cta .btn-primary{
    box-shadow:var(--shadow1);
}


/* RESPONSIVO */
@media (max-width:768px){

    .blog-header{
        padding:80px 0 50px;
    }

    .blog-header h1{
        font-size:32px;
    }

    .blog-section{
        margin-top:-20px;
        padding:50px 0 80px;
    }

}

/* ===============================
   BLOG LIST PREMIUM
================================ */

.blog-eyebrow{
    display:inline-block;
    font-size:.8rem;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:rgba(255,255,255,.85);
    margin-bottom:14px;
}

.blog-subtitle{
    margin-top:16px;
    font-size:1.1rem;
    color:rgba(255,255,255,.9);
}

.blog-grid{
    display:grid;
    grid-template-columns: repeat(auto-fit, minmax(280px,1fr));
    gap:28px;
}

.blog-card{
    display:block;
    background:#fff;
    padding:28px;
    border-radius:20px;
    border:1px solid var(--border);
    box-shadow: var(--shadow1);
    text-decoration:none;
    transition: all .25s ease;
}

.blog-card:hover{
    transform: translateY(-6px);
    box-shadow: var(--shadow2);
}

.blog-card h3{
    margin-top:10px;
    font-size:20px;
    color: var(--text);
}

.blog-card p{
    margin-top:12px;
    color: var(--muted);
    font-size:.98rem;
}

.blog-tag{
    display:inline-block;
    font-size:.75rem;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.06em;

    color:#ffffff;
    background: var(--primary);

    padding:6px 10px;
    border-radius:999px;
}

.blog-read{
    display:inline-block;
    margin-top:16px;
    font-weight:700;
    font-size:.9rem;
    color: var(--primary);
}

