/* ==========================================================================
   DevLabs — v4  (personalidade + cores)
   ========================================================================== */

/* ── Tokens ──────────────────────────────────────────────────────────────── */
:root {
    --bg:    #0c0c0c;
    --bg2:   #111;
    --card:  #161616;
    --card2: #1c1c1c;

    /* cores principais */
    --purple:   #7c3aed;
    --purple-l: #a78bfa;
    --purple-d: #5b21b6;
    --purple-g: rgba(124,58,237,.2);
    --purple-b: rgba(124,58,237,.35);

    --green:    #22c55e;
    --green-l:  #4ade80;
    --green-g:  rgba(34,197,94,.2);
    --green-b:  rgba(34,197,94,.3);

    --blue:     #3b82f6;
    --blue-l:   #60a5fa;
    --blue-g:   rgba(59,130,246,.15);

    --pink:     #ec4899;
    --orange:   #f97316;

    --t1: #f0f0f0;
    --t2: #9ca3af;
    --t3: #4b5563;

    --border:  rgba(255,255,255,.08);
    --border2: rgba(255,255,255,.14);

    --font: 'Inter', system-ui, -apple-system, sans-serif;
    --hh:   68px;
    --r:    12px;
    --rl:   18px;
    --max:  1120px;
    --ease: cubic-bezier(.4,0,.2,1);
}

/* ── Reset ───────────────────────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth;scroll-padding-top:calc(var(--hh)+16px)}
body{background:var(--bg);color:var(--t1);font-family:var(--font);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
ul{list-style:none}
button{cursor:pointer;border:none;background:none;font-family:inherit;color:inherit}

/* ── Layout ──────────────────────────────────────────────────────────────── */
.wrap{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:2rem}

/* ── Labels ──────────────────────────────────────────────────────────────── */
.label{
    display:inline-block;font-size:.7rem;font-weight:700;
    text-transform:uppercase;letter-spacing:.14em;
    color:var(--purple-l);margin-bottom:.6rem;
}

/* ── Buttons ─────────────────────────────────────────────────────────────── */
.btn-prim{
    display:inline-flex;align-items:center;gap:.5rem;
    padding:.72rem 1.5rem;
    background:var(--purple);color:#fff;
    border-radius:var(--r);font-size:.9rem;font-weight:700;
    box-shadow:0 0 24px var(--purple-g);
    transition:background .18s,transform .18s,box-shadow .18s;
    white-space:nowrap;
}
.btn-prim:hover{background:var(--purple-l);color:#fff;box-shadow:0 0 36px rgba(124,58,237,.4);transform:translateY(-2px)}
.btn-prim--lg{padding:.85rem 1.85rem;font-size:.95rem}

.btn-sec{
    display:inline-flex;align-items:center;gap:.5rem;
    padding:.72rem 1.5rem;
    border:1px solid var(--border2);background:transparent;
    color:var(--t1);border-radius:var(--r);
    font-size:.9rem;font-weight:600;
    transition:border-color .18s,background .18s,transform .18s;
    white-space:nowrap;
}
.btn-sec:hover{border-color:var(--purple-b);background:rgba(124,58,237,.07);transform:translateY(-2px)}
.btn-sec--lg{padding:.85rem 1.85rem;font-size:.95rem}

/* ── Header ──────────────────────────────────────────────────────────────── */
.site-header{
    position:fixed;inset:0 0 auto;height:var(--hh);z-index:900;
    background:rgba(12,12,12,.8);
    backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
    border-bottom:1px solid var(--border);
    transition:background .2s,box-shadow .2s;
}
.site-header.scrolled{background:rgba(12,12,12,.97);box-shadow:0 1px 0 var(--border)}
.header-inner{
    display:flex;align-items:center;gap:2rem;
    height:100%;max-width:var(--max);margin-inline:auto;padding-inline:2rem;
}
.site-logo{flex-shrink:0;display:flex;align-items:center}
.site-logo img{height:36px;width:auto;image-rendering:pixelated}
.logo-fallback{font-size:1.1rem;font-weight:900;letter-spacing:-.03em;color:var(--purple-l)}
.logo-fallback span{color:var(--t1)}

.site-nav{margin-left:auto}
.nav-links{display:flex;gap:.1rem}
.nav-links a{
    padding:.42rem .72rem;font-size:.875rem;font-weight:500;
    color:var(--t2);border-radius:8px;
    transition:color .15s,background .15s;
}
.nav-links a:hover{color:var(--t1);background:rgba(255,255,255,.06)}

.btn-header-cta{
    margin-left:.75rem;padding:.5rem 1.1rem;
    background:var(--purple);color:#fff;border-radius:var(--r);
    font-size:.82rem;font-weight:700;
    box-shadow:0 0 18px var(--purple-g);
    transition:background .18s,transform .18s;white-space:nowrap;
}
.btn-header-cta:hover{background:var(--purple-l);transform:translateY(-1px)}

.nav-toggle{display:none;flex-direction:column;gap:5px;padding:7px;margin-left:auto}
.bar{display:block;width:20px;height:2px;background:var(--t1);border-radius:2px;transition:transform .2s,opacity .2s}
.nav-toggle.is-open .bar:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle.is-open .bar:nth-child(2){opacity:0}
.nav-toggle.is-open .bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ==========================================================================
   HERO — split layout
   ========================================================================== */
.hero{
    position:relative;
    display:flex;flex-direction:column;
    min-height:100svh;
    padding-top:var(--hh);
    overflow:hidden;
}

.hero__bg-grid{
    position:absolute;inset:0 0 0 50%;
    background-image:
        linear-gradient(rgba(124,58,237,.06) 1px,transparent 1px),
        linear-gradient(90deg,rgba(124,58,237,.06) 1px,transparent 1px);
    background-size:44px 44px;
    mask-image:radial-gradient(ellipse 80% 100% at 80% 50%,black 20%,transparent 75%);
    pointer-events:none;
}

.hero__wrap{
    flex:1;
    display:grid;grid-template-columns:1fr 1fr;
    align-items:center;
    max-width:var(--max);margin-inline:auto;width:100%;
    padding:.75rem 2rem 2rem;gap:3rem;
}

/* left */
.hero__left{display:flex;flex-direction:column;gap:1.75rem}

.hero__badge{
    display:inline-flex;align-items:center;gap:.5rem;
    padding:.35rem .9rem;
    border:1px solid var(--purple-b);border-radius:99px;
    background:rgba(124,58,237,.08);
    font-size:.78rem;font-weight:600;color:var(--purple-l);
    align-self:flex-start;
}
.hero__dot{
    width:7px;height:7px;border-radius:50%;
    background:var(--green);flex-shrink:0;
    animation:pulse 2s ease infinite;
}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(34,197,94,.5)}50%{box-shadow:0 0 0 6px rgba(34,197,94,0)}}

.hero__h1{
    font-size:clamp(2.6rem,4.5vw,4.4rem);
    font-weight:900;letter-spacing:-.05em;line-height:1.04;
}
.hero__accent{
    background:linear-gradient(90deg,var(--purple-l) 0%,var(--green-l) 100%);
    -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}

.hero__sub{font-size:1.05rem;color:var(--t2);line-height:1.8;max-width:440px}

.hero__ctas{display:flex;gap:.75rem;flex-wrap:wrap}

.hero__stats{
    display:flex;align-items:center;
    padding-top:.5rem;border-top:1px solid var(--border);
}
.hero__stat{
    display:flex;flex-direction:column;gap:.12rem;
    padding:.65rem 1.4rem .65rem 0;
}
.hero__stat strong{
    font-size:1.5rem;font-weight:900;letter-spacing:-.04em;
    color:var(--green-l);line-height:1;
}
.hero__stat span{font-size:.68rem;font-weight:600;color:var(--t3);text-transform:uppercase;letter-spacing:.08em}
.hero__stat-div{width:1px;height:28px;background:var(--border2);margin-right:1.4rem;flex-shrink:0}

/* right */
.hero__right{
    position:relative;
    display:flex;align-items:center;justify-content:center;
    min-height:420px;
}

.hero__glow-ring{
    position:absolute;
    width:340px;height:340px;border-radius:50%;
    background:radial-gradient(circle,rgba(124,58,237,.2) 0%,transparent 70%);
    pointer-events:none;
}

.hero__logo-img{
    width:clamp(160px,22vw,240px);height:auto;
    image-rendering:pixelated;position:relative;z-index:1;
    filter:drop-shadow(0 0 30px rgba(34,197,94,.6))
           drop-shadow(0 0 70px rgba(124,58,237,.35));
    animation:logo-float 5s ease-in-out infinite;
}
@keyframes logo-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}

.hero__logo-text{
    font-size:3.5rem;font-weight:900;color:var(--purple-l);
    position:relative;z-index:1;
}
.hero__logo-text em{font-style:normal;color:var(--t1)}

/* floating cards */
.hero__card{
    position:absolute;
    display:flex;align-items:center;gap:.65rem;
    padding:.65rem .9rem;
    background:rgba(18,18,18,.9);
    backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
    border:1px solid var(--border2);border-radius:12px;
    box-shadow:0 8px 32px rgba(0,0,0,.5);
    z-index:2;white-space:nowrap;
}
.hero__card strong{display:block;font-size:.8rem;font-weight:700;color:var(--t1);line-height:1.2}
.hero__card span{font-size:.7rem;color:var(--t2)}
.hcard__icon{
    font-size:.95rem;width:28px;height:28px;border-radius:8px;
    display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.hcard__icon--green { background:rgba(34,197,94,.15); }
.hcard__icon--blue  { background:rgba(59,130,246,.15); }
.hcard__icon--purple{ background:rgba(124,58,237,.15); }

.hero__card--1{top:8%;right:-2%;animation:f1 4s ease-in-out infinite}
.hero__card--2{bottom:16%;left:-4%;animation:f2 5s ease-in-out infinite .6s}
.hero__card--3{bottom:0%;right:2%;animation:f3 4.5s ease-in-out infinite 1.2s}
@keyframes f1{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes f2{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes f3{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}

/* strip */
.hero__strip{border-top:1px solid var(--border);padding-block:.75rem;overflow:hidden}
.strip__inner{display:flex;width:max-content;animation:marquee 30s linear infinite}
.strip__inner span{font-size:.7rem;font-weight:500;color:var(--t3);letter-spacing:.08em;text-transform:uppercase;padding-inline:.8rem}
.strip__dot{color:var(--purple-l)!important;padding-inline:.15rem!important}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.hero__strip:hover .strip__inner{animation-play-state:paused}

/* ── Hero responsive ─────────────────────────────────────────────────────── */
@media(max-width:900px){
    .hero__wrap{grid-template-columns:1fr;padding-top:2.5rem;gap:1.5rem}
    .hero__right{order:-1;min-height:240px}
    .hero__logo-img{width:clamp(100px,28vw,150px)}
    .hero__glow-ring{width:200px;height:200px}
    .hero__card--1{top:0%;right:8%}
    .hero__card--2{bottom:0%;left:8%}
    .hero__card--3{display:none}
    .hero__bg-grid{inset:0}
    .hero__h1{font-size:clamp(2.2rem,7vw,3.2rem)}
}

/* ==========================================================================
   SEÇÕES
   ========================================================================== */
.pg-section{padding-block:7rem}
.pg-section--alt{
    background:var(--bg2);
    border-top:1px solid var(--border);
    border-bottom:1px solid var(--border);
}

.pg-head{margin-bottom:3rem}
.pg-head h2{font-size:clamp(1.8rem,4vw,2.8rem);font-weight:800;letter-spacing:-.04em;line-height:1.15}

/* ==========================================================================
   SERVIÇOS — grid colorido
   ========================================================================== */
.services-grid{
    display:grid;grid-template-columns:repeat(3,1fr);
    gap:1rem;
}

.svc{
    background:var(--card);
    border:1px solid var(--border);border-radius:var(--rl);
    padding:1.6rem;
    display:flex;flex-direction:column;gap:.6rem;
    transition:border-color .2s,transform .2s,background .2s;
    position:relative;overflow:hidden;
}
.svc::before{
    content:'';position:absolute;inset:-1px;border-radius:inherit;
    background:linear-gradient(135deg,var(--grad-from,transparent),transparent 50%);
    opacity:0;transition:opacity .25s;pointer-events:none;z-index:0;
}
.svc:hover{border-color:var(--grad-border,var(--border2));transform:translateY(-3px);background:var(--card2)}
.svc:hover::before{opacity:1}
.svc>*{position:relative;z-index:1}

/* cada serviço tem sua cor */
.svc:nth-child(1){--grad-from:rgba(124,58,237,.12);--grad-border:var(--purple-b)}
.svc:nth-child(2){--grad-from:rgba(59,130,246,.1);--grad-border:rgba(59,130,246,.3)}
.svc:nth-child(3){--grad-from:rgba(34,197,94,.1);--grad-border:var(--green-b)}
.svc:nth-child(4){--grad-from:rgba(236,72,153,.1);--grad-border:rgba(236,72,153,.3)}
.svc:nth-child(5){--grad-from:rgba(249,115,22,.1);--grad-border:rgba(249,115,22,.3)}
.svc:nth-child(6){--grad-from:rgba(124,58,237,.1);--grad-border:var(--purple-b)}
.svc:nth-child(7){--grad-from:rgba(34,197,94,.1);--grad-border:var(--green-b)}
.svc:nth-child(8){--grad-from:rgba(59,130,246,.1);--grad-border:rgba(59,130,246,.3)}
.svc:nth-child(9){--grad-from:rgba(249,115,22,.1);--grad-border:rgba(249,115,22,.3)}

/* destaque N8n — span full row */
.svc--highlight{
    grid-column:span 3;
    background:linear-gradient(135deg,rgba(124,58,237,.15) 0%,var(--card) 55%);
    border-color:var(--purple-b);
    flex-direction:row;align-items:flex-start;gap:2rem;
}
.svc--highlight:hover{border-color:var(--purple-l);transform:translateY(-3px)}
.svc--highlight h3{font-size:1.1rem}
.svc--highlight p{max-width:480px}

.svc__icon{
    width:38px;height:38px;padding:9px;border-radius:10px;
    background:rgba(255,255,255,.06);color:var(--t2);flex-shrink:0;
    transition:background .2s,color .2s;
}
.svc__icon svg{width:100%;height:100%}
.svc:hover .svc__icon{background:rgba(255,255,255,.12);color:var(--t1)}
.svc--highlight .svc__icon{background:var(--purple-g);color:var(--purple-l);width:44px;height:44px;padding:10px}

.svc h3{font-size:.95rem;font-weight:700;color:var(--t1)}
.svc p{font-size:.85rem;color:var(--t2);line-height:1.65}
.svc__link{
    display:inline-flex;align-items:center;font-size:.8rem;font-weight:600;
    color:var(--purple-l);margin-top:auto;gap:.25rem;transition:gap .15s;
}
.svc__link:hover{gap:.5rem;text-decoration:underline}

/* ==========================================================================
   SOBRE + STATS
   ========================================================================== */
.about-cols{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.about-text h2{font-size:clamp(1.8rem,4vw,2.8rem);font-weight:800;letter-spacing:-.04em;margin-bottom:1.25rem}
.about-text p{color:var(--t2);line-height:1.8;margin-bottom:.85rem}
.about-text p strong{color:var(--t1)}
.about-text .btn-prim{margin-top:.5rem}

.about-stats{
    display:grid;grid-template-columns:1fr 1fr;
    gap:1px;background:var(--border);
    border:1px solid var(--border);border-radius:var(--rl);overflow:hidden;
}
.stat-box{
    background:var(--bg);padding:2rem 1.5rem;
    display:flex;flex-direction:column;gap:.35rem;
    transition:background .2s;
}
.stat-box:hover{background:var(--card)}
.stat-box strong{
    font-size:clamp(2rem,4vw,2.8rem);font-weight:900;
    letter-spacing:-.05em;color:var(--purple-l);line-height:1;
}
.stat-box span{font-size:.72rem;font-weight:600;color:var(--t3);text-transform:uppercase;letter-spacing:.08em}

/* ==========================================================================
   PROCESSO
   ========================================================================== */
.process-row{
    display:grid;grid-template-columns:repeat(4,1fr);
    gap:1px;background:var(--border);
    border:1px solid var(--border);border-radius:var(--rl);overflow:hidden;
}
.proc-step{
    background:var(--bg);padding:2rem 1.5rem;
    display:flex;flex-direction:column;gap:.75rem;transition:background .2s;
}
.proc-step:hover{background:var(--card)}
.proc-num{
    display:inline-flex;align-items:center;justify-content:center;
    width:38px;height:38px;border-radius:50%;
    background:var(--purple-g);border:1px solid var(--purple-b);
    font-size:.78rem;font-weight:800;color:var(--purple-l);
}
.proc-step h3{font-size:.95rem;font-weight:700}
.proc-step p{font-size:.85rem;color:var(--t2);line-height:1.7}

/* ==========================================================================
   FAQ
   ========================================================================== */
.faq-wrap{max-width:700px;margin-inline:auto}
.faq-list{border-top:1px solid var(--border);margin-top:.5rem}
.faq-item{border-bottom:1px solid var(--border);transition:border-color .15s}
.faq-item.is-open{border-color:var(--purple-b)}
.faq-btn{
    display:flex;align-items:center;justify-content:space-between;
    gap:1rem;width:100%;padding:1.2rem 0;
    text-align:left;font-size:.92rem;font-weight:600;color:var(--t1);
    transition:color .15s;
}
.faq-btn:hover{color:var(--purple-l)}
.faq-chevron{flex-shrink:0;width:17px;height:17px;color:var(--t3);transition:transform .25s,color .2s}
.faq-item.is-open .faq-chevron{transform:rotate(180deg);color:var(--purple-l)}
.faq-answer{padding:.1rem 0 1.1rem}
.faq-answer[hidden]{display:none}
.faq-answer p{font-size:.9rem;color:var(--t2);line-height:1.8}

/* ==========================================================================
   CTA FINAL
   ========================================================================== */
.cta-section{
    position:relative;padding-block:8rem;text-align:center;overflow:hidden;
    background:linear-gradient(135deg,rgba(124,58,237,.12) 0%,transparent 50%,rgba(34,197,94,.06) 100%);
    border-top:1px solid var(--border);
}
.cta-section::before{
    content:'';position:absolute;inset:0;
    background:radial-gradient(ellipse 60% 60% at 50% 0%,rgba(124,58,237,.15) 0%,transparent 70%);
    pointer-events:none;
}
.cta-section .wrap{position:relative;z-index:1}
.cta-title{
    font-size:clamp(2.4rem,7vw,5.5rem);
    font-weight:900;letter-spacing:-.05em;line-height:1.05;
    margin-block:1rem 1.25rem;
}
.cta-title span{
    background:linear-gradient(90deg,var(--purple-l),var(--green-l));
    -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.cta-sub{font-size:1rem;color:var(--t2);margin-bottom:2.5rem}
.cta-btns{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}

/* ==========================================================================
   PROJETOS
   ========================================================================== */
.projects-grid{
    display:grid;grid-template-columns:1fr 1fr;
    gap:1.5rem;align-items:stretch;
}

.project-card{
    background:var(--card);border:1px solid var(--border);
    border-radius:var(--rl);overflow:hidden;
    display:flex;flex-direction:column;
    transition:border-color .2s,transform .2s;
}
.project-card:hover{border-color:var(--border2);transform:translateY(-3px)}

/* visual header */
.project-card__visual{
    height:280px;position:relative;overflow:hidden;
    display:flex;align-items:stretch;justify-content:center;
    flex-shrink:0;
}
.project-card__visual--ezora{background:#f8fafc}

/* ── browser chrome — fundo escuro igual ao original ── */
.ezora-browser{
    width:100%;display:flex;flex-direction:column;overflow:hidden;
}
.ezora-browser__bar{
    display:flex;align-items:center;gap:.35rem;
    background:#0D1B2E;padding:.5rem .8rem;
    border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0;
}
.ezora-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}
.ezora-dot--r{background:#ef4444}
.ezora-dot--y{background:#f59e0b}
.ezora-dot--g{background:#22c55e}
.ezora-browser__url{
    flex:1;font-size:.58rem;color:rgba(255,255,255,.3);
    background:#1e293b;border:1px solid rgba(255,255,255,.06);
    border-radius:5px;padding:.2rem .65rem;margin-inline:.6rem;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.ezora-browser__logo{height:16px;width:auto;margin-left:.5rem;opacity:.8}

/* ── dashboard (slide 0) — fundo branco/light idêntico ao EzoraCloud ── */
.ezora-dash{
    flex:1;padding:.7rem .8rem;display:flex;flex-direction:column;gap:.6rem;overflow:hidden;
    background:#fff;
}

/* KPIs — 3 colunas como no original */
.ezora-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}
.ezora-kpi{
    background:#f8fafc;border:1px solid #e2e8f0;
    border-radius:8px;padding:.6rem .7rem;
}
.ezora-kpi__val{font-size:1.1rem;font-weight:900;line-height:1;margin-bottom:.15rem}
.ezora-kpi__lbl{font-size:.52rem;color:#94a3b8;font-weight:500}

/* pipeline card */
.ezora-pipeline-card{
    background:#f8fafc;border:1px solid #e2e8f0;
    border-radius:8px;padding:.6rem .7rem;flex:1;overflow:hidden;
}
.ezora-pipeline-title{
    font-size:.65rem;font-weight:700;color:#64748b;margin-bottom:.5rem;
}
.ezora-stages{display:flex;gap:.4rem;margin-bottom:.6rem}
.ezora-stage{
    display:flex;align-items:center;gap:.25rem;
    background:color-mix(in srgb,var(--sc) 8%,transparent);
    border:1px solid color-mix(in srgb,var(--sc) 22%,transparent);
    border-radius:6px;padding:.35rem .5rem;flex:1;min-width:0;
    overflow:hidden;
}
.ezora-stage__dot{
    width:5px;height:5px;border-radius:50%;
    background:var(--sc);flex-shrink:0;
}
.ezora-stage span{font-size:.52rem;font-weight:700;color:#64748b;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ezora-stage strong{font-size:.75rem;font-weight:900;color:var(--sc);flex-shrink:0}

/* candidate rows */
.ezora-cand-list{display:flex;flex-direction:column;gap:.3rem}
.ezora-cand{
    display:flex;align-items:center;gap:.5rem;
    background:#fff;border:1px solid #e2e8f0;
    border-radius:6px;padding:.35rem .5rem;
}
.ezora-cand__avatar{
    width:20px;height:20px;border-radius:50%;border:1px solid;
    display:flex;align-items:center;justify-content:center;
    font-size:.55rem;font-weight:800;flex-shrink:0;
}
.ezora-cand__name{font-size:.65rem;font-weight:600;color:#374151;flex:1}
.ezora-cand__score{
    font-size:.58rem;font-weight:700;
    padding:.1rem .45rem;border-radius:20px;
    background-color:color-mix(in srgb,currentColor 12%,transparent) !important;
}

/* ── slideshow wrapper ── */
.ezora-slides{flex:1;position:relative;overflow:hidden;background:#fff}
.ezora-slide{
    position:absolute;inset:0;padding:.7rem .8rem;
    display:flex;flex-direction:column;gap:.55rem;
    overflow:hidden;background:#fff;
    opacity:0;transition:opacity .35s ease;pointer-events:none;
}
.ezora-slide.is-active{opacity:1;pointer-events:auto}

/* slide dots */
.ezora-dots{
    display:flex;gap:.3rem;justify-content:center;
    padding:.35rem;background:#fff;border-top:1px solid #e2e8f0;flex-shrink:0;
}
.ezora-dot-ind{
    width:6px;height:6px;border-radius:50%;background:#e2e8f0;
    transition:background .2s,width .2s;cursor:pointer;
}
.ezora-dot-ind.is-active{background:#2B52E8;width:16px;border-radius:3px}

/* ── slide 1 — pipeline kanban ── */
.ezora-kanban{display:grid;grid-template-columns:repeat(4,1fr);gap:.4rem;flex:1}
.ezora-kan-col{}
.ezora-kan-col__head{
    display:flex;justify-content:space-between;align-items:center;
    margin-bottom:.35rem;
}
.ezora-kan-col__label{font-size:.55rem;font-weight:700}
.ezora-kan-col__count{
    font-size:.55rem;font-weight:800;
    border-radius:6px;padding:0 .3rem;
    background-color:color-mix(in srgb,currentColor 14%,transparent);
}
.ezora-kan-card{
    background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;
    padding:.4rem .45rem;margin-bottom:.3rem;
}
.ezora-kan-card__name{font-size:.6rem;font-weight:700;color:#0D1B2E;margin-bottom:.25rem}
.ezora-kan-card__badge{
    font-size:.52rem;font-weight:600;border-radius:3px;padding:.05rem .3rem;
    display:inline-block;
}

/* ── slide 2 — AI score ── */
.ezora-score-header{
    background:#2B52E8;border-radius:8px;padding:.55rem .7rem;
    display:flex;justify-content:space-between;align-items:center;flex-shrink:0;
}
.ezora-score-header span{font-size:.65rem;font-weight:700;color:#fff}
.ezora-score-badge{font-size:.55rem;font-weight:700;background:#e0f2fe;color:#2B52E8;border-radius:20px;padding:.15rem .5rem}
.ezora-score-ring-row{
    display:flex;align-items:center;gap:.75rem;
    background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:.55rem .65rem;flex-shrink:0;
}
.ezora-score-ring{
    width:44px;height:44px;border-radius:50%;border:3px solid #22c55e;
    display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.ezora-score-ring span{font-size:.75rem;font-weight:900;color:#059669}
.ezora-score-bar-wrap{flex:1}
.ezora-score-bar-lbl{font-size:.5rem;font-weight:700;color:#94a3b8;letter-spacing:.06em;text-transform:uppercase;margin-bottom:.3rem}
.ezora-score-bar-track{height:5px;background:#e2e8f0;border-radius:3px}
.ezora-score-bar-fill{height:100%;width:94%;background:#22c55e;border-radius:3px}
.ezora-score-summary{font-size:.62rem;color:#475569;line-height:1.6;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:.45rem .55rem}
.ezora-score-cols{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;flex:1}
.ezora-score-col{border-radius:8px;padding:.45rem .5rem}
.ezora-score-col--pos{background:#f0fdf4}
.ezora-score-col--neg{background:#fffbeb}
.ezora-score-col__title{font-size:.52rem;font-weight:700;margin-bottom:.3rem}
.ezora-score-col--pos .ezora-score-col__title{color:#059669}
.ezora-score-col--neg .ezora-score-col__title{color:#d97706}
.ezora-score-item{display:flex;align-items:center;gap:.25rem;margin-bottom:.2rem;font-size:.58rem}
.ezora-score-item--pos{color:#22c55e}
.ezora-score-item--neg{color:#d97706}

/* ── slide 3 — nova vaga ── */
.ezora-form-head{display:flex;justify-content:space-between;align-items:center;flex-shrink:0}
.ezora-form-head span{font-size:.75rem;font-weight:800;color:#0D1B2E}
.ezora-form-btns{display:flex;gap:.35rem}
.ezora-btn-draft{padding:.25rem .6rem;border-radius:5px;border:1px solid #e2e8f0;font-size:.58rem;color:#64748b}
.ezora-btn-pub{padding:.25rem .65rem;border-radius:5px;font-size:.58rem;font-weight:700;color:#fff;background:linear-gradient(135deg,#7B2FBE,#2B52E8)}
.ezora-form-field{margin-bottom:.4rem}
.ezora-form-field__lbl{font-size:.5rem;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.2rem}
.ezora-form-field__val{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:.35rem .5rem;font-size:.62rem;color:#374151}
.ezora-pipe-tags{display:flex;flex-wrap:wrap;gap:.3rem;margin-bottom:.4rem}
.ezora-pipe-tag{padding:.2rem .45rem;border-radius:5px;font-size:.55rem;font-weight:600}
.ezora-ai-card{background:linear-gradient(135deg,#EEF4FF,#F5F0FF);border:1px solid rgba(123,47,190,.12);border-radius:8px;padding:.45rem .55rem}
.ezora-ai-card__title{font-size:.58rem;font-weight:700;color:#7B2FBE;margin-bottom:.2rem;display:flex;align-items:center;gap:.3rem}
.ezora-ai-card p{font-size:.56rem;color:#64748b;margin:0;line-height:1.5}

/* brand header */
.project-card__brand{display:flex;align-items:center;gap:.6rem;margin-bottom:-.15rem}
.project-card__brand-logo{width:26px;height:26px;object-fit:contain}
.project-card__brand-name{font-size:.78rem;font-weight:800;color:var(--t2);letter-spacing:.01em}

/* body */
.project-card__body{padding:1.5rem;display:flex;flex-direction:column;gap:.75rem;flex:1}
.project-card__tags{display:flex;gap:.4rem;flex-wrap:wrap}
.tag{
    display:inline-block;padding:.2rem .55rem;
    border-radius:5px;font-size:.68rem;font-weight:600;
    background:rgba(255,255,255,.06);color:var(--t2);
}
.tag--blue  {background:var(--blue-g);color:var(--blue-l)}
.tag--purple{background:var(--purple-g);color:var(--purple-l)}
.tag--green {background:var(--green-g);color:var(--green-l)}

.project-card__body h3{font-size:1.15rem;font-weight:800;letter-spacing:-.03em}
.project-card__body p{font-size:.87rem;color:var(--t2);line-height:1.7;flex:1}
.project-card__link{
    display:inline-flex;align-items:center;gap:.4rem;
    font-size:.82rem;font-weight:700;color:var(--purple-l);
    margin-top:auto;transition:gap .15s;
}
.project-card__link:hover{gap:.65rem;text-decoration:underline}

/* CTA card */
.project-card--cta{
    background:linear-gradient(135deg,rgba(124,58,237,.1) 0%,var(--card) 60%);
    border-style:dashed;border-color:var(--border2);
    justify-content:center;
}
.project-card--cta:hover{border-color:var(--purple-b);background:linear-gradient(135deg,rgba(124,58,237,.15) 0%,var(--card) 60%)}
.project-card__cta-inner{
    padding:2.5rem 2rem;display:flex;flex-direction:column;
    align-items:flex-start;gap:1rem;
}
.project-cta__icon{font-size:2rem}
.project-card__cta-inner h3{font-size:1.35rem;font-weight:800;letter-spacing:-.03em;line-height:1.25}
.project-card__cta-inner p{font-size:.9rem;color:var(--t2);line-height:1.7}

@media(max-width:768px){
    .projects-grid{grid-template-columns:1fr}
}

/* ==========================================================================
   CLIENTS GRID
   ========================================================================== */
.clients-grid{
    display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
    background:var(--border);border:1px solid var(--border);
    border-radius:var(--rl);overflow:hidden;
}
.client-card{
    background:var(--card);padding:1.75rem 1.6rem;
    display:flex;flex-direction:column;gap:.75rem;
    position:relative;transition:background .2s;
}
.client-card:hover{background:var(--card2)}
.client-card__logo{
    max-height:36px;width:auto;max-width:140px;
    object-fit:contain;
    mix-blend-mode:screen;
    filter:brightness(1.15) contrast(1.05);
    margin-bottom:.25rem;
}
.client-card__ext{
    position:absolute;top:1.4rem;right:1.4rem;
    width:28px;height:28px;display:flex;align-items:center;justify-content:center;
    background:var(--bg);border:1px solid var(--border);border-radius:7px;
    color:var(--t3);transition:all .2s;
}
.client-card__ext:hover{border-color:var(--purple-b);color:var(--purple-l)}
.client-card__name{font-size:1.1rem;font-weight:800;letter-spacing:-.025em;color:var(--t1)}
.client-card__desc{font-size:.84rem;color:var(--t2);line-height:1.7;flex:1}
.client-card__tags{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.25rem}

/* CTA card */
.client-card--cta{
    background:var(--card2);
    border-left:1px solid var(--border);
    justify-content:center;
}
.client-card--cta:hover{background:var(--card)}
.client-card__cta-inner{display:flex;flex-direction:column;align-items:flex-start;gap:.85rem}
.client-cta__icon{
    width:52px;height:52px;display:flex;align-items:center;justify-content:center;
    background:var(--purple-g);border:1px solid var(--purple-b);border-radius:13px;
    color:var(--purple-l);
}
.client-card--cta h3{font-size:1.25rem;font-weight:800;letter-spacing:-.03em;line-height:1.2}
.client-card--cta p{font-size:.85rem;color:var(--t2);line-height:1.65}

/* tag colors */
.tag--orange{background:rgba(249,115,22,.12);border-color:rgba(249,115,22,.25);color:#fb923c}
.tag--pink{background:rgba(236,72,153,.12);border-color:rgba(236,72,153,.25);color:#f472b6}

@media(max-width:900px){.clients-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.clients-grid{grid-template-columns:1fr}}

/* ==========================================================================
   EZORA SECTION — dedicated showcase
   ========================================================================== */
.ezora-section{background:var(--bg);overflow:hidden}

/* hero top band */
.ezora-hero-top{
    background:linear-gradient(135deg,#0a0015 0%,#0d0028 40%,#050e2a 100%);
    border-top:1px solid var(--border);
    border-bottom:1px solid rgba(123,47,190,.2);
    padding:5rem 0 4rem;
    position:relative;overflow:hidden;
}
.ezora-hero-top::before{
    content:'';position:absolute;inset:0;
    background:radial-gradient(ellipse 80% 60% at 60% 50%,rgba(43,82,232,.18) 0%,transparent 70%),
               radial-gradient(ellipse 50% 80% at 20% 30%,rgba(123,47,190,.15) 0%,transparent 60%);
    pointer-events:none;
}
.ezora-hero-top__inner{
    display:grid;grid-template-columns:1fr 340px;align-items:center;gap:4rem;
}
.ezora-hero-top__eyebrow{
    display:flex;align-items:center;gap:.65rem;margin-bottom:1.25rem;
}
.ezora-hero-top__logo{height:28px;width:auto;filter:drop-shadow(0 0 12px rgba(123,47,190,.5))}
.ezora-hero-top__eyebrow span{
    font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;
    color:rgba(167,139,250,.7);
}
.ezora-hero-top__h2{
    font-size:clamp(2.2rem,4vw,3.2rem);font-weight:900;letter-spacing:-.04em;
    line-height:1.1;color:#fff;margin-bottom:1rem;
}
.ezora-hero-top__sub{
    font-size:1rem;color:rgba(255,255,255,.6);line-height:1.7;max-width:520px;
    margin-bottom:2rem;
}
.ezora-hero-top__ctas{display:flex;gap:.85rem;flex-wrap:wrap}
.ezora-cta-primary{
    display:inline-flex;align-items:center;gap:.5rem;
    padding:.75rem 1.5rem;border-radius:9px;font-size:.88rem;font-weight:700;
    background:linear-gradient(135deg,#7B2FBE,#2B52E8);color:#fff;
    transition:opacity .2s,transform .2s;
}
.ezora-cta-primary:hover{opacity:.88;transform:translateY(-2px)}
.ezora-cta-secondary{
    display:inline-flex;align-items:center;gap:.5rem;
    padding:.75rem 1.5rem;border-radius:9px;font-size:.88rem;font-weight:700;
    background:rgba(255,255,255,.07);color:rgba(255,255,255,.85);
    border:1px solid rgba(255,255,255,.12);transition:all .2s;
}
.ezora-cta-secondary:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.22)}

/* stat boxes */
.ezora-hero-top__stats{
    display:flex;flex-direction:column;gap:1rem;
}
.ezora-hero-stat{
    background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);
    border-radius:12px;padding:1.1rem 1.3rem;
    backdrop-filter:blur(10px);
}
.ezora-hero-stat strong{
    display:block;font-size:1.5rem;font-weight:900;letter-spacing:-.04em;
    background:linear-gradient(135deg,#a78bfa,#60a5fa);
    -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
    margin-bottom:.2rem;
}
.ezora-hero-stat span{font-size:.73rem;color:rgba(255,255,255,.45);line-height:1.4}

/* mockup wrap */
.ezora-mockup-wrap{
    max-width:860px;margin:0 auto;padding:3.5rem 2rem 0;
}
/* override browser size for bigger mockup */
.ezora-mockup-wrap .ezora-browser{
    border-radius:14px;
    box-shadow:0 32px 80px rgba(43,82,232,.22),0 0 0 1px rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.07);
}
.ezora-mockup-wrap .ezora-slides{min-height:280px}

/* features grid */
.ezora-features{
    display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
    background:var(--border);border:1px solid var(--border);
    border-radius:var(--rl);overflow:hidden;
    margin:3.5rem 0 0;
}
.ezora-feat{
    background:var(--card);padding:1.75rem 1.6rem;
    transition:background .2s;
}
.ezora-feat:hover{background:var(--card2)}
.ezora-feat__icon{
    width:44px;height:44px;display:flex;align-items:center;justify-content:center;
    background:rgba(124,58,237,.12);border:1px solid rgba(124,58,237,.2);
    border-radius:10px;margin-bottom:.9rem;color:var(--purple-l);flex-shrink:0;
}
.ezora-feat h4{
    font-size:.95rem;font-weight:800;letter-spacing:-.02em;margin-bottom:.5rem;color:var(--t1);
}
.ezora-feat p{font-size:.82rem;color:var(--t2);line-height:1.7}

/* footer strip */
.ezora-footer-strip{
    display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;
    padding:2.5rem 0 5rem;
}
.ezora-footer-strip__stack{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.ezora-footer-strip__label{
    font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;
    color:var(--t3);margin-right:.25rem;
}
.ezora-stack-tag{
    padding:.25rem .65rem;border-radius:20px;font-size:.7rem;font-weight:600;
    background:rgba(124,58,237,.12);border:1px solid rgba(124,58,237,.2);color:var(--purple-l);
}

/* responsive */
@media(max-width:900px){
    .ezora-hero-top__inner{grid-template-columns:1fr;gap:2.5rem}
    .ezora-hero-top__stats{flex-direction:row;flex-wrap:wrap}
    .ezora-hero-stat{flex:1;min-width:140px}
    .ezora-features{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:600px){
    .ezora-features{grid-template-columns:1fr}
    .ezora-footer-strip{flex-direction:column;align-items:flex-start}
}

/* ==========================================================================
   FOOTER
   ========================================================================== */
.site-footer{border-top:1px solid var(--border);background:var(--bg2);padding-top:4rem}
.footer-top{
    display:grid;grid-template-columns:220px 1fr;gap:4rem;
    padding-bottom:3rem;border-bottom:1px solid var(--border);
}
.footer-logo img{height:32px;width:auto;image-rendering:pixelated}
.footer-logo .logo-fallback{font-size:1.1rem;font-weight:900;color:var(--purple-l)}
.footer-logo .logo-fallback span{color:var(--t1)}
.footer-tagline{font-size:.8rem;color:var(--t3);margin-top:.4rem;font-style:italic}
.footer-social{display:flex;gap:.5rem;margin-top:1.1rem}
.footer-social a{
    width:34px;height:34px;display:flex;align-items:center;justify-content:center;
    background:var(--card);border:1px solid var(--border);border-radius:9px;
    color:var(--t2);transition:all .2s;
}
.footer-social a:hover{border-color:var(--purple-b);color:var(--purple-l);transform:translateY(-2px)}
.footer-social svg{width:14px;height:14px}
.footer-nav{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}
.footer-nav-featured{
    display:inline-flex;align-items:center;
    background:linear-gradient(135deg,#7B2FBE,#2B52E8);
    -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
    font-weight:700!important;
}
.footer-nav-featured:hover{opacity:.75}
.footer-nav-col h4{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--t3);margin-bottom:.85rem}
.footer-nav-col ul{display:flex;flex-direction:column;gap:.5rem}
.footer-nav-col a{font-size:.83rem;color:var(--t2);transition:color .15s}
.footer-nav-col a:hover{color:var(--purple-l)}
.nav-featured{
    background:linear-gradient(135deg,#a78bfa,#60a5fa);
    -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
    font-weight:700;
}
.nav-featured::after{content:' ↗';font-size:.75em;opacity:.7}
.footer-badges{margin-top:1rem}
.badge-ssl{
    display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .65rem;
    background:rgba(34,197,94,.06);border:1px solid rgba(34,197,94,.18);
    border-radius:5px;font-size:.7rem;color:#4ade80;font-weight:500;
}
.footer-bottom{
    display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;
    padding-block:1.4rem;font-size:.76rem;color:var(--t3);
}

/* ==========================================================================
   REVEAL
   ========================================================================== */
.r{opacity:0;transform:translateY(16px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.r.in{opacity:1;transform:none}
.r-d1{transition-delay:.08s}
.r-d2{transition-delay:.16s}
.r-d3{transition-delay:.24s}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media(max-width:1024px){
    .services-grid{grid-template-columns:repeat(2,1fr)}
    .svc--highlight{grid-column:span 2;flex-direction:column;gap:.65rem}
    .about-cols{grid-template-columns:1fr;gap:3rem}
    .process-row{grid-template-columns:repeat(2,1fr)}
    .footer-top{grid-template-columns:1fr;gap:2.5rem}
}
@media(max-width:768px){
    .site-nav,.btn-header-cta{display:none}
    .nav-toggle{display:flex}
    .site-nav.is-open{
        display:block;position:fixed;
        top:var(--hh);inset-inline:0;
        background:rgba(12,12,12,.97);backdrop-filter:blur(20px);
        border-bottom:1px solid var(--border);
        padding:.75rem 2rem 1.25rem;z-index:899;
    }
    .nav-links{flex-direction:column;gap:.1rem}
    .nav-links a{padding:.65rem .5rem;font-size:.9rem;display:block}
    .services-grid{grid-template-columns:1fr}
    .svc--highlight{grid-column:span 1}
    .about-stats{grid-template-columns:1fr 1fr}
    .process-row{grid-template-columns:1fr}
    .footer-nav{grid-template-columns:1fr 1fr}
    .footer-bottom{flex-direction:column;text-align:center}
}
@media(max-width:480px){
    .wrap{padding-inline:1.25rem}
    .hero__ctas{flex-wrap:wrap}
    .about-stats{grid-template-columns:1fr}
    .cta-btns{flex-direction:column;align-items:stretch}
    .cta-btns a{justify-content:center}
    .footer-nav{grid-template-columns:1fr}
}

/* ── Acessibilidade ──────────────────────────────────────────────────────── */
@media(prefers-reduced-motion:reduce){
    *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* ── index.php fallback ──────────────────────────────────────────────────── */
.entry-content{padding-block:5rem;max-width:680px}
.entry-content h1{font-size:2rem;font-weight:800;letter-spacing:-.03em;margin-bottom:1rem}
.entry-content p{color:var(--t2);line-height:1.8;margin-bottom:1rem}
.entry-content a{color:var(--purple-l);text-decoration:underline}
