:root{
    --a11-bg:#020b14;
    --a11-bg-2:#06121d;
    --a11-card:#071724;
    --a11-card-2:#091b29;
    --a11-border:#183246;
    --a11-text:#f7f9fc;
    --a11-muted:#9aacbd;
    --a11-yellow:#ffb800;
    --a11-blue:#31a8ff;
}

.a11-cases-section{
    width:100vw;
    margin-left:calc(50% - 50vw);
    background:
        radial-gradient(circle at 75% 0%, rgba(49,168,255,.08), transparent 28%),
        linear-gradient(180deg,#020b14 0%,#020a12 100%);
    color:var(--a11-text);
    overflow:hidden;
    font-family:Inter,Montserrat,Arial,sans-serif;
}

.a11-cases-section *{box-sizing:border-box}

.a11-cases-shell{
    width:min(1560px,calc(100% - 64px));
    margin:0 auto;
    padding:88px 0 96px;
    display:grid;
    grid-template-columns:300px minmax(0,1fr);
    gap:56px;
}

.a11-cases-intro__sticky{position:sticky;top:110px}

.a11-kicker{
    display:flex;
    align-items:center;
    gap:14px;
    color:var(--a11-blue);
    font-size:.78rem;
    font-weight:800;
    letter-spacing:.12em;
}

.a11-kicker span{width:24px;height:2px;background:var(--a11-yellow);display:block}

.a11-cases-intro h1{
    margin:22px 0 18px;
    font-size:clamp(2.8rem,4.2vw,4.6rem);
    line-height:.98;
    letter-spacing:-.05em;
    font-weight:850;
}

.a11-cases-intro h1::first-letter{color:inherit}
.a11-cases-intro__desc{margin:0;color:var(--a11-muted);font-size:1.08rem;line-height:1.65;max-width:310px}

.a11-stats{
    margin:34px 0;
    padding-top:26px;
    border-top:1px solid rgba(154,172,189,.18);
    display:grid;
    gap:18px;
}

.a11-stat{display:flex;align-items:center;gap:15px}
.a11-stat__icon{
    width:48px;height:48px;border-radius:10px;
    background:linear-gradient(145deg,#0d2233,#0a1724);
    border:1px solid rgba(49,168,255,.10);
    color:var(--a11-yellow);
    display:grid;place-items:center;flex:0 0 auto;
}
.a11-stat__icon svg{width:24px;height:24px}
.a11-stat strong{display:block;font-size:1.55rem;line-height:1;color:white}
.a11-stat span{display:block;margin-top:6px;font-size:.9rem;color:var(--a11-muted)}

.a11-intro-cta{
    min-height:52px;
    display:inline-flex;align-items:center;justify-content:space-between;gap:18px;
    padding:0 18px;
    border:1px solid rgba(255,184,0,.75);
    border-radius:8px;
    color:white!important;text-decoration:none!important;
    font-size:.82rem;font-weight:800;letter-spacing:.03em;
    transition:.25s ease;
}
.a11-intro-cta svg{width:19px;height:19px}
.a11-intro-cta:hover{background:var(--a11-yellow);color:#07111a!important;transform:translateY(-2px)}

.a11-filters{
    display:flex;flex-wrap:wrap;gap:10px;
    margin:0 0 26px;
}

.a11-filter{
    appearance:none;
    border:1px solid #294052;
    background:#07131e;
    color:#d7e0e8;
    border-radius:8px;
    padding:11px 18px;
    font:inherit;
    font-size:.9rem;
    cursor:pointer;
    transition:.22s ease;
}
.a11-filter:hover{border-color:var(--a11-yellow);color:white}
.a11-filter.is-active{background:var(--a11-yellow);border-color:var(--a11-yellow);color:#07111a;font-weight:800}

.a11-cases-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:22px;
}

.a11-case-card{
    min-width:0;
    background:linear-gradient(180deg,var(--a11-card-2),var(--a11-card));
    border:1px solid var(--a11-border);
    border-radius:10px;
    overflow:hidden;
    box-shadow:0 16px 44px rgba(0,0,0,.18);
    transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease,opacity .22s ease;
}
.a11-case-card:hover{transform:translateY(-5px);border-color:rgba(255,184,0,.55);box-shadow:0 24px 56px rgba(0,0,0,.28)}
.a11-case-card.is-hidden{display:none!important}

.a11-case-card__media{display:block;aspect-ratio:16/8.5;overflow:hidden;background:#0a1520}
.a11-case-card__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.a11-case-card:hover .a11-case-card__media img{transform:scale(1.035)}
.a11-case-placeholder{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(135deg,#0a1824,#101821);color:rgba(255,255,255,.35);font-weight:900;letter-spacing:.2em}

.a11-case-card__body{padding:18px 18px 17px;min-height:250px;display:flex;flex-direction:column}
.a11-case-card__topline{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.a11-case-type{
    display:inline-flex;align-items:center;min-height:25px;
    padding:4px 9px;border-radius:999px;
    border:1px solid #2b4254;
    background:#0d2230;
    color:#6dc6ff;
    font-size:.66rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;
}
.a11-case-external{color:var(--a11-yellow)!important;text-decoration:none!important;display:grid;place-items:center}
.a11-case-external svg{width:20px;height:20px}

.a11-case-card h2{margin:0 0 10px;color:white;font-size:1.18rem;line-height:1.25;letter-spacing:-.02em}
.a11-case-card p{margin:0;color:var(--a11-muted);font-size:.88rem;line-height:1.55}
.a11-case-link{margin-top:auto;padding-top:20px;display:flex;align-items:center;justify-content:space-between;color:var(--a11-yellow)!important;text-decoration:none!important;font-weight:750;font-size:.82rem}
.a11-case-link svg{width:18px;height:18px;transition:transform .2s ease}
.a11-case-link:hover svg{transform:translateX(4px)}

.a11-empty-state{grid-column:1/-1;border:1px dashed rgba(255,184,0,.55);border-radius:12px;padding:50px;text-align:center;color:var(--a11-muted)}
.a11-empty-state strong{display:block;color:white;font-size:1.4rem;margin-bottom:8px}

.a11-final-cta{
    margin-top:26px;
    min-height:112px;
    border:1px solid #1d394e;
    border-radius:10px;
    background:linear-gradient(90deg,#071622,#07131e);
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    gap:20px;
    padding:20px 24px;
}
.a11-final-cta__icon{width:56px;height:56px;border-radius:10px;border:1px solid #214257;background:#0b1e2d;display:grid;place-items:center;font-size:1.55rem}
.a11-final-cta__copy strong{display:block;font-size:1.18rem;margin-bottom:6px;color:white}
.a11-final-cta__copy span{display:block;color:var(--a11-muted);font-size:.9rem;line-height:1.5}
.a11-final-cta>a{
    min-height:50px;padding:0 18px;border:1px solid var(--a11-yellow);border-radius:7px;
    display:inline-flex;align-items:center;justify-content:center;gap:12px;
    color:var(--a11-yellow)!important;text-decoration:none!important;font-size:.78rem;font-weight:850;
    white-space:nowrap;transition:.22s ease;
}
.a11-final-cta>a svg{width:17px;height:17px}
.a11-final-cta>a:hover{background:var(--a11-yellow);color:#07111a!important}

.a11-reveal{opacity:0;transform:translateY(20px);transition:opacity .58s ease,transform .58s cubic-bezier(.2,.7,.2,1)}
.a11-reveal.is-visible{opacity:1;transform:none}

@media (max-width:1280px){
    .a11-cases-shell{grid-template-columns:270px minmax(0,1fr);gap:36px;width:min(1180px,calc(100% - 48px))}
    .a11-cases-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:900px){
    .a11-cases-shell{grid-template-columns:1fr;width:min(760px,calc(100% - 36px));padding:64px 0 72px}
    .a11-cases-intro__sticky{position:static}
    .a11-cases-intro h1{max-width:650px}
    .a11-cases-intro__desc{max-width:620px}
    .a11-stats{grid-template-columns:repeat(3,1fr);gap:12px}
    .a11-stat{align-items:flex-start;flex-direction:column;background:#071622;border:1px solid #142c3d;padding:14px;border-radius:10px}
    .a11-final-cta{grid-template-columns:auto 1fr}
    .a11-final-cta>a{grid-column:1/-1;width:100%}
}

@media (max-width:640px){
    .a11-cases-shell{width:min(100% - 24px,560px);padding:48px 0 58px}
    .a11-cases-intro h1{font-size:2.55rem}
    .a11-cases-grid{grid-template-columns:1fr}
    .a11-filters{display:grid;grid-template-columns:1fr 1fr}
    .a11-filter{padding:10px 11px;font-size:.78rem}
    .a11-stats{grid-template-columns:1fr}
    .a11-stat{flex-direction:row;align-items:center}
    .a11-case-card__body{min-height:auto}
    .a11-final-cta{grid-template-columns:1fr;text-align:left;padding:18px}
    .a11-final-cta__icon{display:none}
}

@media (prefers-reduced-motion:reduce){
    .a11-cases-section *, .a11-cases-section *::before, .a11-cases-section *::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
    .a11-reveal{opacity:1!important;transform:none!important}
}

/* HOME DINÂMICA */
.a11-home-portfolio{
    width:100%;
    background:#020b14;
    color:var(--a11-text);
    font-family:Inter,Montserrat,Arial,sans-serif;
}
.a11-home-portfolio *{box-sizing:border-box}
.a11-home-portfolio__shell{
    width:min(1560px,calc(100% - 64px));
    margin:0 auto;
    padding:74px 0 80px;
    display:grid;
    grid-template-columns:260px minmax(0,1fr);
    gap:42px;
    align-items:start;
}
.a11-home-portfolio__intro h2{
    margin:20px 0 18px;
    font-size:clamp(2.7rem,3.6vw,4.25rem);
    line-height:.98;
    letter-spacing:-.045em;
}
.a11-home-portfolio__intro p{color:var(--a11-muted);font-size:1rem;line-height:1.55;margin:0 0 28px}
.a11-home-portfolio__grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.a11-case-card--compact .a11-case-card__body{padding:15px;min-height:210px}
.a11-case-card--compact .a11-case-card__media{aspect-ratio:16/10}
.a11-case-card--compact h2{font-size:1rem}
.a11-case-card--compact p{font-size:.78rem;line-height:1.45}
.a11-case-card--compact .a11-case-type{font-size:.58rem;padding:3px 7px}
.a11-case-card--compact .a11-case-link{padding-top:13px;font-size:.75rem}

/* SINGLE CASE PREMIUM */
.a11-single-case{background:#020b14;color:#fff;font-family:Inter,Montserrat,Arial,sans-serif;min-height:70vh}
.a11-single-case *{box-sizing:border-box}
.a11-single-case__shell{width:min(1180px,calc(100% - 48px));margin:0 auto}
.a11-single-case__hero{padding:82px 0 68px;background:radial-gradient(circle at 80% 0%,rgba(49,168,255,.12),transparent 34%),linear-gradient(180deg,#03101c,#04111d);border-bottom:1px solid #132a3b}
.a11-single-case__hero h1{font-size:clamp(3rem,7vw,6rem);line-height:.95;letter-spacing:-.055em;margin:18px 0 18px;max-width:980px}
.a11-single-case__hero p{max-width:760px;color:#aab8c6;font-size:1.08rem;line-height:1.65;margin:0}
.a11-single-case__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.a11-single-case__primary,.a11-single-case__secondary{min-height:50px;padding:0 18px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none!important;font-weight:800;font-size:.8rem}
.a11-single-case__primary{background:#ffb800;color:#07111a!important;border:1px solid #ffb800}
.a11-single-case__secondary{border:1px solid #2c4558;color:#fff!important;background:#071622}
.a11-single-case__content{padding:58px 0 86px}
.a11-single-case__image{margin:0 0 42px;border:1px solid #173246;border-radius:14px;overflow:hidden;background:#071622;box-shadow:0 24px 70px rgba(0,0,0,.25)}
.a11-single-case__image img{display:block;width:100%;height:auto}
.a11-single-case__text{max-width:880px;margin:0 auto;color:#c0ccd6;font-size:1.06rem;line-height:1.8}
.a11-single-case__text h2,.a11-single-case__text h3{color:#fff;line-height:1.15}
.a11-single-case__text a{color:#31a8ff}
.a11-single-case__bottom{margin-top:54px;padding:26px 28px;border:1px solid #1b394d;border-radius:12px;background:#071622;display:grid;grid-template-columns:1fr auto;gap:6px 24px;align-items:center}
.a11-single-case__bottom strong{font-size:1.3rem}
.a11-single-case__bottom span{color:#9aacbd}
.a11-single-case__bottom a{grid-column:2;grid-row:1/3;min-height:50px;padding:0 18px;border-radius:7px;background:#ffb800;color:#07111a!important;text-decoration:none!important;font-size:.8rem;font-weight:850;display:flex;align-items:center}

@media (max-width:1280px){
    .a11-home-portfolio__shell{width:min(1180px,calc(100% - 48px));grid-template-columns:240px 1fr}
    .a11-home-portfolio__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:900px){
    .a11-home-portfolio__shell{grid-template-columns:1fr;width:min(760px,calc(100% - 36px));padding:58px 0 64px}
    .a11-home-portfolio__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .a11-single-case__bottom{grid-template-columns:1fr}
    .a11-single-case__bottom a{grid-column:1;grid-row:auto;margin-top:12px}
}
@media (max-width:640px){
    .a11-home-portfolio__shell{width:min(100% - 24px,560px)}
    .a11-home-portfolio__grid{grid-template-columns:1fr}
    .a11-single-case__shell{width:min(100% - 28px,560px)}
    .a11-single-case__hero{padding:58px 0 48px}
    .a11-single-case__content{padding:34px 0 58px}
}
