/*
 * Página Energia por Assinatura (page-assinatura.php).
 * Todo seletor parte de #eea-page para não vazar para a Home ou outras páginas,
 * e para vencer as regras globais "div#general main section" do style.css.
 */

#eea-page {
    --eea-navy: #000f5c;
    --eea-navy-2: #001d6a;
    --eea-ink: #11143a;
    --eea-muted: #4a5076;
    --eea-blue: #0346e9;
    --eea-purple: #3010a4;
    --eea-violet: #600dee;
    --eea-cyan: #15c8ff;
    --eea-green: #00bd4f;
    --eea-line: #e3e7f3;
    --eea-soft: #f3f5fc;
    --eea-lilac: #f1edff;
    --eea-radius: 1rem;
    --eea-shadow: 0 1.2rem 2.6rem rgba(17, 20, 58, .12);

    width: 100%;
    color: var(--eea-ink);
    font-size: 1rem;
    line-height: 1.6;
}

#eea-page *,
#eea-page *::before,
#eea-page *::after {
    box-sizing: border-box;
}

#eea-page strong { font-weight: 700; }
#eea-page img { display: block; max-width: 100%; height: auto; }

#eea-page .eea-section {
    display: block;
    width: 100%;
    position: relative;
    padding: 4rem 0;
}
#eea-page .eea-section--compact { padding: 3rem 0; }

#eea-page .eea-container {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 1rem;
}

#eea-page .eea-sr-only {
    position: absolute !important;
    width: 1px; height: 1px;
    padding: 0; margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Tipografia */
#eea-page h1,
#eea-page h2,
#eea-page h3 {
    font-weight: 700;
    letter-spacing: -.02em;
}
#eea-page h2 {
    color: var(--eea-ink);
    font-size: clamp(1.7rem, 4.6vw, 2.6rem);
    line-height: 1.15;
}
#eea-page h3 {
    font-size: 1.15rem;
    line-height: 1.3;
}
#eea-page p { margin: 0; }

#eea-page .eea-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    margin-bottom: .9rem;
    color: var(--eea-purple);
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
}
#eea-page .eea-eyebrow::before {
    content: "";
    width: 1.6rem;
    height: 2px;
    background: currentColor;
}
#eea-page .eea-eyebrow--light { color: var(--eea-cyan); }

#eea-page .eea-heading { max-width: 46rem; margin-bottom: 2.5rem; }
#eea-page .eea-heading > p:not(.eea-eyebrow) {
    margin-top: .9rem;
    color: var(--eea-muted);
    font-size: 1.08rem;
}
#eea-page .eea-heading--center { margin-left: auto; margin-right: auto; text-align: center; }
#eea-page .eea-heading--center .eea-eyebrow { justify-content: center; }
#eea-page .eea-heading--light h2 { color: #fff; }
#eea-page .eea-heading--light > p:not(.eea-eyebrow) { color: rgba(255, 255, 255, .78); }

/* Botões e links */
#eea-page .eea-actions {
    display: flex;
    flex-direction: column;
    gap: .75rem;
}
#eea-page .eea-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .65rem;
    min-height: 3.4rem;
    padding: .85rem 1.5rem;
    border: 2px solid transparent;
    border-radius: .6rem;
    font-family: inherit;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    cursor: pointer;
    transition: transform .2s ease, background-color .2s ease, box-shadow .2s ease, color .2s ease;
}
#eea-page .eea-btn:hover { transform: translateY(-2px); }
#eea-page .eea-btn:focus-visible,
#eea-page .eea-textlink:focus-visible,
#eea-page summary:focus-visible {
    outline: 3px solid var(--eea-cyan);
    outline-offset: 3px;
}
#eea-page .eea-btn--primary {
    color: var(--eea-navy);
    background: var(--eea-cyan);
    box-shadow: 0 .5rem 1.4rem rgba(21, 200, 255, .3);
}
#eea-page .eea-btn--primary:hover { background: #4fd6ff; }
#eea-page .eea-btn--ghost {
    color: #fff;
    border-color: rgba(255, 255, 255, .55);
    background: rgba(255, 255, 255, .06);
}
#eea-page .eea-btn--ghost:hover { background: rgba(255, 255, 255, .16); }
#eea-page .eea-btn--light {
    color: var(--eea-navy);
    background: #fff;
}
#eea-page .eea-btn--light:hover { background: #e9f9ff; }
#eea-page .eea-btn--whatsapp {
    color: #fff;
    background: var(--eea-green);
    box-shadow: 0 .5rem 1.4rem rgba(0, 189, 79, .28);
}
#eea-page .eea-btn--whatsapp:hover { background: #00a946; }
#eea-page .eea-btn--block { width: 100%; }
#eea-page .eea-btn i { font-size: 1.15em; }

#eea-page .eea-textlink {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    color: var(--eea-blue);
    font-weight: 700;
    border-bottom: 2px solid currentColor;
    padding-bottom: .15rem;
}
#eea-page .eea-textlink i { transition: transform .2s ease; }
#eea-page .eea-textlink:hover i { transform: translateX(4px); }
#eea-page .eea-textlink--light { color: var(--eea-cyan); }

/* 01 Hero */
#eea-page .eea-hero {
    padding: 3rem 0 3.5rem;
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(ellipse at 85% 40%, rgba(96, 13, 238, .55), transparent 55%),
        linear-gradient(160deg, rgba(0, 15, 92, .96) 0%, rgba(0, 29, 106, .9) 55%, rgba(48, 16, 164, .86) 100%),
        url('../img/destaque2.webp') center / cover no-repeat;
}
#eea-page .eea-hero__grid {
    display: grid;
    gap: 2.5rem;
    align-items: center;
}
#eea-page .eea-hero h1 {
    color: #fff;
    font-size: clamp(2rem, 7vw, 3.4rem);
    line-height: 1.08;
    letter-spacing: -.035em;
}
#eea-page .eea-hero h1 span { color: var(--eea-cyan); }
#eea-page .eea-hero__lead {
    margin-top: 1.1rem;
    color: rgba(255, 255, 255, .9);
    font-size: clamp(1.05rem, 2.6vw, 1.25rem);
    line-height: 1.5;
    max-width: 38rem;
}
#eea-page .eea-hero__support {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    margin: 1rem 0 1.8rem;
    padding: .35rem .85rem;
    border-radius: 2rem;
    color: #fff;
    background: rgba(21, 200, 255, .14);
    border: 1px solid rgba(21, 200, 255, .4);
    font-size: .9rem;
    font-weight: 700;
}
#eea-page .eea-hero__support i { color: var(--eea-cyan); }
#eea-page .eea-hero__benefits {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .7rem 1rem;
    margin-top: 2rem;
    padding-top: 1.6rem;
    border-top: 1px solid rgba(255, 255, 255, .16);
    list-style: none;
}
#eea-page .eea-hero__benefits li {
    display: flex;
    align-items: center;
    gap: .6rem;
    font-size: .92rem;
    line-height: 1.3;
}
#eea-page .eea-hero__benefits i {
    display: grid;
    place-items: center;
    flex: 0 0 2rem;
    width: 2rem; height: 2rem;
    border-radius: .5rem;
    color: var(--eea-cyan);
    background: rgba(255, 255, 255, .08);
    font-size: .9rem;
}

/* Diagrama do hero */
#eea-page .eea-hero__visual {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    padding: 1.4rem;
    border-radius: 1.4rem;
    background: rgba(255, 255, 255, .06);
    border: 1px solid rgba(255, 255, 255, .14);
    backdrop-filter: blur(6px);
}
#eea-page .eea-hero__node {
    display: flex;
    align-items: center;
    gap: .9rem;
    padding: .9rem 1rem;
    border-radius: .9rem;
    background: rgba(0, 15, 92, .55);
    border: 1px solid rgba(255, 255, 255, .12);
}
#eea-page .eea-hero__node i {
    display: grid;
    place-items: center;
    flex: 0 0 2.8rem;
    width: 2.8rem; height: 2.8rem;
    border-radius: .7rem;
    font-size: 1.25rem;
    color: var(--eea-navy);
    background: var(--eea-cyan);
}
#eea-page .eea-hero__node--grid i { color: #fff; background: var(--eea-violet); }
#eea-page .eea-hero__node span { font-size: .85rem; color: rgba(255, 255, 255, .72); line-height: 1.35; }
#eea-page .eea-hero__node strong { display: block; color: #fff; font-size: 1rem; }
#eea-page .eea-hero__wire {
    position: relative;
    width: 2px;
    height: 1.6rem;
    margin-left: 2.35rem;
    background: repeating-linear-gradient(to bottom, var(--eea-cyan) 0 6px, transparent 6px 12px);
    background-size: 2px 12px;
    animation: eea-wire 1s linear infinite;
}
#eea-page .eea-hero__bill {
    padding: 1.1rem 1.1rem 1rem;
    border-radius: .9rem;
    color: var(--eea-ink);
    background: #fff;
    box-shadow: var(--eea-shadow);
}
#eea-page .eea-hero__bill-head {
    display: flex;
    align-items: center;
    gap: .7rem;
}
#eea-page .eea-hero__bill-head i { color: var(--eea-purple); font-size: 1.4rem; }
#eea-page .eea-hero__bill-head span { color: var(--eea-muted); font-size: .8rem; line-height: 1.3; }
#eea-page .eea-hero__bill-head strong { display: block; color: var(--eea-ink); font-size: 1rem; }

/* Barras empilhadas: mesmo comprimento total (mesmo consumo); o trecho ciano é a parte coberta pelos créditos. */
#eea-page .eea-hero__rows {
    display: grid;
    gap: .9rem;
    margin-top: 1.2rem;
}
#eea-page .eea-hero__row {
    display: grid;
    grid-template-columns: 3.4rem minmax(0, 1fr);
    align-items: center;
    column-gap: .6rem;
}
#eea-page .eea-hero__row-label {
    color: var(--eea-muted);
    font-size: .78rem;
    font-weight: 700;
}
#eea-page .eea-hero__row--after .eea-hero__row-label { color: var(--eea-ink); }
#eea-page .eea-hero__row--before .eea-hero__row-label { color: #d12f3a; }
#eea-page .eea-hero__row--before .eea-hero__paid {
    justify-content: space-between;
    background: linear-gradient(90deg, #e5484d, #b4232a);
}
#eea-page .eea-hero__row--before .eea-hero__paid i { font-size: .95rem; opacity: .9; }
#eea-page .eea-hero__track {
    display: flex;
    height: 2.6rem;
    border-radius: .5rem;
    overflow: hidden;
}
#eea-page .eea-hero__paid {
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    min-width: 0;
    padding: 0 .8rem;
    color: #fff;
    background: linear-gradient(90deg, var(--eea-navy-2), var(--eea-purple));
    font-size: .8rem;
    font-weight: 700;
    white-space: nowrap;
}
#eea-page .eea-hero__credit {
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    width: 28%;
    color: var(--eea-navy);
    background: repeating-linear-gradient(135deg, var(--eea-cyan) 0 7px, #7fe1ff 7px 14px);
    overflow: hidden;
    animation: eea-credit-in .9s .5s cubic-bezier(.2, .8, .2, 1) both;
}
#eea-page .eea-hero__saving {
    grid-column: 2;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    margin-top: .3rem;
    animation: eea-fade-in .4s 1.3s ease both;
}
#eea-page .eea-hero__bracket {
    width: 28%;
    height: .55rem;
    border: 2px solid var(--eea-cyan);
    border-top: 0;
    border-radius: 0 0 .3rem .3rem;
}
#eea-page .eea-hero__saving-text {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    margin-top: .35rem;
    padding: .3rem .65rem;
    border-radius: 2rem;
    color: var(--eea-purple);
    background: rgba(21, 200, 255, .14);
    font-size: .78rem;
    font-weight: 700;
    line-height: 1.2;
    text-align: right;
}
#eea-page .eea-hero__legend {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem 1.1rem;
    margin-top: 1.1rem;
    padding-top: .9rem;
    border-top: 1px solid var(--eea-line);
    list-style: none;
}
#eea-page .eea-hero__legend li {
    display: flex;
    align-items: center;
    gap: .45rem;
    color: var(--eea-muted);
    font-size: .75rem;
}
#eea-page .eea-hero__swatch {
    width: .85rem; height: .85rem;
    border-radius: .2rem;
    background: linear-gradient(90deg, var(--eea-navy-2), var(--eea-purple));
}
#eea-page .eea-hero__swatch--before { background: linear-gradient(90deg, #e5484d, #b4232a); }
#eea-page .eea-hero__swatch--credit { background: repeating-linear-gradient(135deg, var(--eea-cyan) 0 3px, #7fe1ff 3px 6px); }
#eea-page .eea-hero__bill-note {
    margin-top: .5rem;
    color: #8a90b0;
    font-size: .68rem;
    text-align: right;
}

@keyframes eea-credit-in { from { width: 0; } }
@keyframes eea-fade-in { from { opacity: 0; transform: translateY(-4px); } }

@keyframes eea-wire {
    to { background-position: 0 12px; }
}

/* 02 O que é */
#eea-page .eea-what { background: #fff; }
#eea-page .eea-what__grid {
    display: grid;
    gap: 2.2rem;
    align-items: center;
}
#eea-page .eea-what__media {
    position: relative;
    margin: 0;
    border-radius: var(--eea-radius);
    overflow: hidden;
    box-shadow: var(--eea-shadow);
}
#eea-page .eea-what__media img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
#eea-page .eea-what__media figcaption {
    position: absolute;
    left: 1rem; right: 1rem; bottom: 1rem;
    display: flex;
    align-items: center;
    gap: .55rem;
    padding: .7rem .9rem;
    border-radius: .6rem;
    color: #fff;
    background: rgba(0, 15, 92, .82);
    font-size: .88rem;
    font-weight: 700;
    line-height: 1.3;
}
#eea-page .eea-what__media figcaption i { color: var(--eea-cyan); }
#eea-page .eea-what__content h2 { margin-bottom: 1.2rem; }
#eea-page .eea-what__content > p:not(.eea-eyebrow) {
    margin-bottom: 1rem;
    color: var(--eea-muted);
    font-size: 1.05rem;
}
#eea-page .eea-highlight {
    display: flex;
    gap: 1rem;
    margin: 1.6rem 0 0;
    padding: 1.3rem 1.3rem;
    border-radius: var(--eea-radius);
    color: #fff;
    background: linear-gradient(120deg, var(--eea-purple), var(--eea-blue));
}
#eea-page .eea-highlight i {
    display: grid;
    place-items: center;
    flex: 0 0 2.6rem;
    width: 2.6rem; height: 2.6rem;
    border-radius: 50%;
    color: var(--eea-navy);
    background: var(--eea-cyan);
}
#eea-page .eea-highlight p { font-size: 1.08rem; font-weight: 700; line-height: 1.45; }

/* 03 Mecanismo: fluxo + geração distribuída/compartilhada */
#eea-page .eea-mechanism {
    color: #fff;
    background:
        linear-gradient(180deg, rgba(0, 15, 92, .97), rgba(17, 8, 90, .95)),
        url('../img/bgplacas.webp') center / cover no-repeat;
}
#eea-page .eea-mechanism .eea-heading { max-width: 50rem; }
#eea-page .eea-mechanism .eea-heading > p:not(.eea-eyebrow) { font-size: .98rem; }

#eea-page .eea-flow {
    position: relative;
    display: grid;
    gap: 1rem;
    list-style: none;
}
#eea-page .eea-flow::before {
    /* Linha de energia que conecta as etapas (vertical no mobile). */
    content: "";
    position: absolute;
    left: 2.05rem;
    top: 1.5rem;
    bottom: 1.5rem;
    width: 3px;
    background: repeating-linear-gradient(to bottom, var(--eea-cyan) 0 8px, transparent 8px 16px);
    background-size: 3px 16px;
    animation: eea-flow-v 1.2s linear infinite;
    opacity: .7;
}
#eea-page .eea-flow__step {
    position: relative;
    display: grid;
    grid-template-columns: 4.1rem 1fr;
    grid-template-rows: auto auto;
    column-gap: 1rem;
    align-items: center;
}
#eea-page .eea-flow__icon {
    grid-row: 1 / span 2;
    display: grid;
    place-items: center;
    width: 4.1rem; height: 4.1rem;
    border-radius: 1rem;
    color: #fff;
    background: var(--eea-purple);
    border: 2px solid rgba(21, 200, 255, .55);
    font-size: 1.5rem;
    box-shadow: 0 0 0 6px rgba(0, 15, 92, 1);
}
#eea-page .eea-flow__step strong { align-self: end; font-size: 1.1rem; color: #fff; }
#eea-page .eea-flow__step > span:last-child { align-self: start; color: rgba(255, 255, 255, .7); font-size: .9rem; line-height: 1.45; }
#eea-page .eea-flow__step--end .eea-flow__icon {
    color: var(--eea-navy);
    background: var(--eea-cyan);
    border-color: var(--eea-cyan);
}

/* Callout de alívio entre o fluxo e o conceito: faixa curta, sem virar seção. */
#eea-page .eea-relief {
    display: flex;
    align-items: flex-start;
    gap: .9rem;
    max-width: 52rem;
    margin: 2rem auto 0;
    padding: .9rem 1rem;
    border-radius: .8rem;
    border-left: 3px solid var(--eea-cyan);
    background: rgba(21, 200, 255, .08);
}
#eea-page .eea-relief__icon {
    display: grid;
    place-items: center;
    flex: 0 0 2.4rem;
    width: 2.4rem; height: 2.4rem;
    border-radius: 50%;
    color: var(--eea-navy);
    background: var(--eea-cyan);
}
#eea-page .eea-relief p { color: rgba(255, 255, 255, .82); font-size: .9rem; line-height: 1.5; }
#eea-page .eea-relief strong { display: block; margin-bottom: .2rem; color: #fff; font-size: 1.02rem; }

#eea-page .eea-concept {
    display: grid;
    gap: 1.4rem;
    margin-top: 1.6rem;
    padding: 1.5rem 1.3rem;
    border-radius: var(--eea-radius);
    background: rgba(255, 255, 255, .06);
    border: 1px solid rgba(255, 255, 255, .14);
}
#eea-page .eea-concept__main,
#eea-page .eea-concept__model {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .8rem;
}
#eea-page .eea-concept h3 { color: #fff; font-size: 1.3rem; }
#eea-page .eea-concept h4 { color: #fff; font-size: 1.15rem; font-weight: 700; line-height: 1.3; }
#eea-page .eea-concept p { color: rgba(255, 255, 255, .8); line-height: 1.6; }
#eea-page .eea-concept__model {
    gap: .55rem;
    padding: 1.2rem 1.2rem 1.3rem;
    border-radius: .8rem;
    background: rgba(21, 200, 255, .08);
    border: 1px solid rgba(21, 200, 255, .35);
}
#eea-page .eea-concept .eea-concept__label {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    color: var(--eea-cyan);
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
}
#eea-page .eea-concept__diagram {
    display: flex;
    align-items: center;
    gap: .5rem;
    width: 100%;
    max-width: 22rem;
}
#eea-page .eea-concept__diagram i {
    display: grid;
    place-items: center;
    flex: 0 0 2.3rem;
    width: 2.3rem; height: 2.3rem;
    border-radius: .6rem;
    color: #fff;
    background: rgba(255, 255, 255, .12);
}
#eea-page .eea-concept__diagram i:first-child { color: var(--eea-navy); background: var(--eea-cyan); }
#eea-page .eea-concept__diagram span {
    flex: 1 1 auto;
    height: 2px;
    background: repeating-linear-gradient(to right, var(--eea-cyan) 0 6px, transparent 6px 12px);
    background-size: 12px 2px;
    animation: eea-flow-h 1s linear infinite;
}
#eea-page .eea-mechanism__closing {
    max-width: 46rem;
    margin: 2.2rem auto 0;
    color: #fff;
    font-size: 1.08rem;
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
}

@keyframes eea-flow-v { to { background-position: 0 16px; } }
@keyframes eea-flow-h { to { background-position: 16px 0; } }

/* 04 Jornada */
#eea-page .eea-journey { background: var(--eea-soft); }
#eea-page .eea-journey__steps {
    display: grid;
    gap: 1rem;
    list-style: none;
}
#eea-page .eea-journey__steps li {
    position: relative;
    padding: 1.4rem 1.3rem 1.4rem;
    border-radius: var(--eea-radius);
    background: #fff;
    border: 1px solid var(--eea-line);
    overflow: hidden;
}
#eea-page .eea-journey__steps li::after {
    content: "";
    position: absolute;
    left: 0; top: 0; bottom: 0;
    width: 4px;
    background: linear-gradient(180deg, var(--eea-cyan), var(--eea-violet));
}
#eea-page .eea-journey__num {
    position: absolute;
    right: 1rem; top: .4rem;
    color: var(--eea-lilac);
    font-size: 3.2rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: -.04em;
    -webkit-text-stroke: 1px #d8cff9;
}
#eea-page .eea-journey__steps li > i {
    display: grid;
    place-items: center;
    width: 2.8rem; height: 2.8rem;
    margin-bottom: 1rem;
    border-radius: .7rem;
    color: #fff;
    background: var(--eea-purple);
    font-size: 1.15rem;
}
#eea-page .eea-journey__steps h3 { position: relative; margin-bottom: .4rem; color: var(--eea-ink); }
#eea-page .eea-journey__steps p { position: relative; color: var(--eea-muted); font-size: .95rem; line-height: 1.5; }
#eea-page .eea-journey__steps li:last-child { background: var(--eea-navy); border-color: var(--eea-navy); }
#eea-page .eea-journey__steps li:last-child > i { color: var(--eea-navy); background: var(--eea-cyan); }
#eea-page .eea-journey__steps li:last-child h3 { color: #fff; }
#eea-page .eea-journey__steps li:last-child p { color: rgba(255, 255, 255, .78); }
#eea-page .eea-journey__steps li:last-child .eea-journey__num { color: transparent; -webkit-text-stroke: 1px rgba(255, 255, 255, .25); }
#eea-page .eea-journey__cta { margin-top: 2.2rem; text-align: center; }
#eea-page .eea-journey__cta .eea-btn { width: 100%; }

/* 05 CPF / CNPJ (compacto) */
#eea-page .eea-profiles {
    background: linear-gradient(180deg, #fff 0%, var(--eea-lilac) 100%);
}
#eea-page .eea-profiles .eea-heading { margin-bottom: 1.5rem; }
#eea-page .eea-profiles .eea-heading > p:not(.eea-eyebrow) { font-size: 1rem; }
#eea-page .eea-profiles__grid { display: grid; gap: 1rem; }
#eea-page .eea-profile {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .55rem;
    padding: 1.25rem 1.1rem;
    border-radius: 1.2rem;
    overflow: hidden;
}
#eea-page .eea-profile h3 { font-size: 1.15rem; }
#eea-page .eea-profile p { font-size: .93rem; line-height: 1.5; }
#eea-page .eea-profile .eea-btn { margin-top: .3rem; width: 100%; min-height: 3rem; padding: .7rem 1.2rem; }
#eea-page .eea-profile__tag {
    padding: .25rem .7rem;
    border-radius: 2rem;
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}
#eea-page .eea-profile__icon {
    position: absolute;
    right: -1rem; top: -1rem;
    font-size: 6rem;
    opacity: .08;
    pointer-events: none;
}
#eea-page .eea-profile--home {
    color: var(--eea-ink);
    background: #fff;
    border: 1px solid var(--eea-line);
    box-shadow: var(--eea-shadow);
}
#eea-page .eea-profile--home p { color: var(--eea-muted); }
#eea-page .eea-profile--home .eea-profile__tag { color: var(--eea-navy); background: var(--eea-cyan); }
#eea-page .eea-profile--home .eea-profile__icon { color: var(--eea-purple); }
#eea-page .eea-profile--business {
    color: #fff;
    background:
        radial-gradient(ellipse at 100% 0%, rgba(96, 13, 238, .6), transparent 60%),
        var(--eea-navy);
}
#eea-page .eea-profile--business p { color: rgba(255, 255, 255, .8); }
#eea-page .eea-profile--business .eea-profile__tag { color: #fff; background: var(--eea-violet); }
#eea-page .eea-profile--business .eea-profile__icon { color: #fff; }

/* 07 Comparativo */
#eea-page .eea-compare { background: #fff; }
#eea-page .eea-compare__table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
}
#eea-page .eea-compare__table thead th:first-child { display: none; }
#eea-page .eea-compare__table thead {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .6rem;
    margin-bottom: 1rem;
}
#eea-page .eea-compare__table thead tr { display: contents; }
#eea-page .eea-compare__head {
    position: relative;
    display: block;
    border-radius: .8rem;
    overflow: hidden;
    text-align: left;
}
#eea-page .eea-compare__head img { width: 100%; height: 6rem; object-fit: cover; }
#eea-page .eea-compare__head span {
    position: absolute;
    left: 0; right: 0; bottom: 0;
    padding: 1.6rem .7rem .6rem;
    color: #fff;
    font-size: .88rem;
    font-weight: 700;
    line-height: 1.2;
    background: linear-gradient(transparent, rgba(17, 20, 58, .92));
}
#eea-page .eea-compare__head--sub span { background: linear-gradient(transparent, rgba(48, 16, 164, .95)); }
#eea-page .eea-compare__table tbody { display: grid; gap: .7rem; }
#eea-page .eea-compare__table tbody tr {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border: 1px solid var(--eea-line);
    border-radius: .8rem;
    overflow: hidden;
}
#eea-page .eea-compare__table tbody th {
    grid-column: 1 / -1;
    padding: .65rem .9rem;
    color: var(--eea-ink);
    background: var(--eea-soft);
    font-size: .8rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-align: left;
    text-transform: uppercase;
}
#eea-page .eea-compare__table td {
    padding: .8rem .9rem;
    color: var(--eea-muted);
    font-size: .92rem;
    line-height: 1.4;
}
#eea-page .eea-compare__table td:nth-of-type(1) {
    color: var(--eea-ink);
    font-weight: 700;
    background: rgba(21, 200, 255, .07);
    border-right: 1px solid var(--eea-line);
}
#eea-page .eea-compare__closing {
    max-width: 48rem;
    margin: 2rem auto 0;
    padding: 1.3rem 1.4rem;
    border-left: 4px solid var(--eea-cyan);
    border-radius: 0 .8rem .8rem 0;
    background: var(--eea-soft);
    color: var(--eea-ink);
    font-size: 1.05rem;
    line-height: 1.55;
}

/* 08 Simulação */
#eea-page .eea-sim {
    color: #fff;
    background:
        radial-gradient(ellipse at 0% 100%, rgba(21, 200, 255, .18), transparent 50%),
        linear-gradient(135deg, var(--eea-navy) 0%, var(--eea-purple) 100%);
}
#eea-page .eea-sim__grid { display: grid; gap: 2.2rem; align-items: start; }
#eea-page .eea-sim__content h2 { color: #fff; margin-bottom: 1.1rem; }
#eea-page .eea-sim__content > p:not(.eea-eyebrow) {
    margin-bottom: .9rem;
    color: rgba(255, 255, 255, .82);
    font-size: 1.05rem;
}
#eea-page .eea-sim__factors {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    margin-top: 1.5rem;
    list-style: none;
}
#eea-page .eea-sim__factors li {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .5rem .85rem;
    border-radius: 2rem;
    border: 1px solid rgba(255, 255, 255, .2);
    background: rgba(255, 255, 255, .06);
    font-size: .88rem;
}
#eea-page .eea-sim__factors i { color: var(--eea-cyan); }

#eea-page .eea-sim__form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    padding: 1.5rem 1.2rem;
    border-radius: 1.2rem;
    color: var(--eea-ink);
    background: #fff;
    box-shadow: 0 1.5rem 3rem rgba(0, 0, 0, .25);
}
#eea-page .eea-field { grid-column: 1 / -1; display: grid; gap: .4rem; min-width: 0; }
#eea-page .eea-field--half { grid-column: auto; }
#eea-page .eea-field label,
#eea-page .eea-field legend,
#eea-page .eea-field__label {
    color: var(--eea-ink);
    font-size: .85rem;
    font-weight: 700;
}
#eea-page .eea-field__label small { color: var(--eea-muted); font-weight: 400; }
#eea-page .eea-field input[type="text"],
#eea-page .eea-field select {
    width: 100%;
    min-height: 3.1rem;
    padding: .7rem .9rem;
    border: 1.5px solid #cfd5e8;
    border-radius: .6rem;
    color: var(--eea-ink);
    background: #fff;
    font-family: inherit;
    font-size: 1rem;
}
#eea-page .eea-field select {
    padding-right: 2.2rem;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%233010a4' stroke-width='2' fill='none'/%3E%3C/svg%3E") no-repeat right .9rem center;
}
#eea-page .eea-field input:focus,
#eea-page .eea-field select:focus {
    border-color: var(--eea-blue);
    box-shadow: 0 0 0 3px rgba(3, 70, 233, .15);
}
#eea-page .eea-field.is-invalid input,
#eea-page .eea-field.is-invalid select { border-color: #d6336c; }
#eea-page .eea-field__money { position: relative; }
#eea-page .eea-field__money span {
    position: absolute;
    left: .9rem; top: 50%;
    transform: translateY(-50%);
    color: var(--eea-muted);
    font-weight: 700;
}
#eea-page .eea-field__money input[type="text"] { padding-left: 2.6rem; font-weight: 700; }

#eea-page .eea-field--choice {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .5rem;
    margin: 0;
    padding: 0;
    border: 0;
}
#eea-page .eea-field--choice legend { grid-column: 1 / -1; margin-bottom: .4rem; padding: 0; }
#eea-page .eea-field--choice label { position: relative; cursor: pointer; }
#eea-page .eea-field--choice input {
    position: absolute;
    opacity: 0;
    width: 1px; height: 1px;
}
#eea-page .eea-field--choice label span {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    min-height: 3rem;
    padding: .55rem .5rem;
    border: 1.5px solid #cfd5e8;
    border-radius: .6rem;
    font-size: .85rem;
    font-weight: 700;
    text-align: center;
    line-height: 1.2;
    transition: all .2s ease;
}
#eea-page .eea-field--choice input:checked + span {
    color: #fff;
    border-color: var(--eea-purple);
    background: var(--eea-purple);
}
#eea-page .eea-field--choice input:focus-visible + span { outline: 3px solid var(--eea-cyan); outline-offset: 2px; }

#eea-page .eea-upload {
    display: flex;
    align-items: center;
    gap: .7rem;
    min-height: 3.1rem;
    padding: .7rem .9rem;
    border: 1.5px dashed #a9b2d6;
    border-radius: .6rem;
    color: var(--eea-purple);
    background: var(--eea-soft);
    font-size: .92rem !important;
    cursor: pointer;
    overflow: hidden;
}
#eea-page .eea-upload:hover { border-color: var(--eea-purple); }
#eea-page .eea-upload__text { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#eea-page .eea-field--file:focus-within .eea-upload { outline: 3px solid var(--eea-cyan); outline-offset: 2px; }
#eea-page .eea-field__help { color: var(--eea-muted); font-size: .78rem; line-height: 1.4; }
#eea-page .eea-sim__error {
    grid-column: 1 / -1;
    padding: .6rem .8rem;
    border-radius: .5rem;
    color: #9c1c4b;
    background: #fdebf1;
    font-size: .88rem;
}
#eea-page .eea-sim__form .eea-btn { grid-column: 1 / -1; }
#eea-page .eea-sim__note {
    grid-column: 1 / -1;
    color: var(--eea-muted);
    font-size: .8rem;
    text-align: center;
}

/* 08 Impacto (faixa compacta, 3 indicadores) */
#eea-page .eea-proof {
    color: #fff;
    background:
        linear-gradient(120deg, rgba(0, 15, 92, .95) 0%, rgba(48, 16, 164, .88) 100%),
        url('../img/assina.webp') center / cover no-repeat;
}
#eea-page .eea-proof__numbers {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1px;
    border-radius: var(--eea-radius);
    overflow: hidden;
    background: rgba(255, 255, 255, .15);
    list-style: none;
}
#eea-page .eea-proof__numbers li {
    display: flex;
    flex-direction: column;
    gap: .45rem;
    padding: 1.4rem 1.3rem;
    background: rgba(0, 15, 92, .7);
}
#eea-page .eea-proof__numbers strong {
    color: var(--eea-cyan);
    font-size: clamp(2.1rem, 7vw, 3rem);
    line-height: 1.05;
    letter-spacing: -.03em;
}
#eea-page .eea-proof__numbers small {
    color: #fff;
    font-size: .5em;
    font-weight: 700;
    letter-spacing: -.01em;
}
#eea-page .eea-proof__numbers span { color: rgba(255, 255, 255, .78); font-size: .92rem; line-height: 1.4; }
#eea-page .eea-proof .eea-heading { margin-bottom: 1.8rem; }

/* 11 FAQ */
#eea-page .eea-faq { background: #fff; }
#eea-page .eea-faq__grid { display: grid; gap: 2rem; }
#eea-page .eea-faq__intro h2 { margin-bottom: 1rem; }
#eea-page .eea-faq__intro > p:not(.eea-eyebrow) { margin-bottom: .5rem; color: var(--eea-muted); }
#eea-page .eea-faq__list { display: grid; gap: .6rem; }
#eea-page .eea-faq__list details {
    border: 1px solid var(--eea-line);
    border-radius: .8rem;
    background: #fff;
    transition: border-color .2s ease, box-shadow .2s ease;
}
#eea-page .eea-faq__list details[open] {
    border-color: #c8bdf6;
    box-shadow: 0 .6rem 1.6rem rgba(48, 16, 164, .08);
}
#eea-page .eea-faq__list summary {
    position: relative;
    display: block;
    padding: 1.05rem 3.2rem 1.05rem 1.1rem;
    color: var(--eea-ink);
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.4;
    list-style: none;
    cursor: pointer;
}
#eea-page .eea-faq__list summary::-webkit-details-marker { display: none; }
#eea-page .eea-faq__list summary::after {
    content: "+";
    position: absolute;
    right: 1rem; top: 50%;
    display: grid;
    place-items: center;
    width: 1.7rem; height: 1.7rem;
    border-radius: 50%;
    color: var(--eea-purple);
    background: var(--eea-lilac);
    font-size: 1.15rem;
    font-weight: 400;
    line-height: 1;
    transform: translateY(-50%);
    transition: transform .2s ease;
}
#eea-page .eea-faq__list details[open] summary::after { content: "−"; color: #fff; background: var(--eea-purple); }
#eea-page .eea-faq__list details p {
    padding: 0 1.1rem 1.1rem;
    color: var(--eea-muted);
    line-height: 1.6;
}
#eea-page .eea-faq__list .eea-faq__pending { font-style: italic; }

/* 12 Formulário */
#eea-page .eea-form { background: var(--eea-soft); }
#eea-page .eea-form__grid { display: grid; gap: 1.5rem; align-items: start; }
#eea-page .eea-form__main {
    padding: 2rem 1.2rem;
    border-radius: 1.2rem;
    background: #fff;
    border: 1px solid var(--eea-line);
    box-shadow: var(--eea-shadow);
}
#eea-page .eea-form__main h2 { font-size: clamp(1.5rem, 4vw, 2.1rem); margin-bottom: .9rem; }
#eea-page .eea-form__main > p { color: var(--eea-muted); margin-bottom: 1.5rem; }
#eea-page .eea-form__embed { min-height: 20rem; }
#eea-page .eea-form__side {
    padding: 2rem 1.5rem;
    border-radius: 1.2rem;
    color: #fff;
    background: linear-gradient(160deg, var(--eea-navy), var(--eea-purple));
}
#eea-page .eea-form__side-icon {
    display: grid;
    place-items: center;
    width: 3.2rem; height: 3.2rem;
    margin-bottom: 1rem;
    border-radius: 50%;
    color: #fff;
    background: var(--eea-green);
    font-size: 1.6rem;
}
#eea-page .eea-form__side h3 { color: #fff; font-size: 1.45rem; margin-bottom: .6rem; }
#eea-page .eea-form__side p { color: rgba(255, 255, 255, .82); margin-bottom: 1.4rem; }
#eea-page .eea-form__side ul {
    display: grid;
    gap: .55rem;
    margin-top: 1.5rem;
    padding-top: 1.3rem;
    border-top: 1px solid rgba(255, 255, 255, .15);
    list-style: none;
}
#eea-page .eea-form__side li { display: flex; align-items: center; gap: .6rem; font-size: .92rem; }
#eea-page .eea-form__side li i { color: var(--eea-cyan); }

/* Bitrix24: o embed é injetado no DOM (sem iframe). Só ajustes visuais; nada de layout ou comportamento.
   As variáveis vencem as do Bitrix (".b24-form #b24-ID") por especificidade. */
#eea-page .eea-form__embed .b24-form > div[id^="b24-"] {
    --b24-font-family: "Poppins", sans-serif;
    --b24-primary-color: var(--eea-cyan);
    --b24-primary-text-color: var(--eea-navy);
    --b24-primary-hover-color: #4fd6ff;
    --b24-text-color: var(--eea-ink);
    --b24-field-border-color: #cfd5e8;
    --b24-field-background-color: #fff;
    --b24-field-focus-background-color: #fff;
}
#eea-page .eea-form__embed .b24-form-wrapper {
    max-width: none;
    border: 0;
    box-shadow: none;
    background: transparent;
}
#eea-page .eea-form__embed .b24-form-padding-side { padding-left: 0; padding-right: 0; }
#eea-page .eea-form__embed .b24-form-header {
    padding-top: 0;
    padding-bottom: .4rem;
    border-bottom: 0;
    text-align: left;
}
#eea-page .eea-form__embed .b24-form-header-title {
    color: var(--eea-purple);
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .14em;
    line-height: 1.4;
}
#eea-page .eea-form__embed .b24-form-control { border-radius: .6rem; }
#eea-page .eea-form__embed .b24-form-control:focus {
    border-color: var(--eea-blue);
    box-shadow: 0 0 0 3px rgba(3, 70, 233, .15);
}
#eea-page .eea-form__embed .b24-form-btn {
    min-height: 3.4rem;
    border-radius: .6rem;
    font-weight: 700;
    box-shadow: 0 .5rem 1.4rem rgba(21, 200, 255, .3);
}

/* Entrada suave (só com JS; o conteúdo é visível sem ele). */
#eea-page.eea--js .eea-reveal {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity .6s ease, transform .6s ease;
}
#eea-page.eea--js .eea-reveal.is-visible { opacity: 1; transform: none; }

/* ≥ 600px */
@media (min-width: 600px) {
    #eea-page .eea-actions { flex-direction: row; flex-wrap: wrap; }
    #eea-page .eea-journey__cta .eea-btn,
    #eea-page .eea-profile .eea-btn { width: auto; }
    #eea-page .eea-hero__benefits { grid-template-columns: repeat(4, minmax(0, auto)); justify-content: start; gap: .7rem 1.5rem; }
    #eea-page .eea-journey__steps { grid-template-columns: 1fr 1fr; }
    #eea-page .eea-journey__steps li:last-child { grid-column: 1 / -1; }
    #eea-page .eea-sim__form { padding: 2rem 1.8rem; }
    #eea-page .eea-form__main { padding: 2.5rem 2rem; }
    #eea-page .eea-compare__head img { height: 8rem; }
    #eea-page .eea-compare__head span { font-size: 1rem; padding: 2rem 1rem .8rem; }
}

/* ≥ 900px */
@media (min-width: 900px) {
    #eea-page .eea-section { padding: 6rem 0; }
    #eea-page .eea-section--compact { padding: 4rem 0; }
    #eea-page .eea-container { padding: 0 2rem; }

    #eea-page .eea-hero { padding: 5rem 0 5.5rem; }
    #eea-page .eea-hero__grid { grid-template-columns: minmax(0, 1.25fr) minmax(0, .85fr); gap: 4rem; }
    #eea-page .eea-hero__benefits { grid-template-columns: repeat(2, minmax(0, max-content)); }

    #eea-page .eea-what__grid { grid-template-columns: 1fr 1fr; gap: 4rem; }

    /* Fluxo horizontal: USINA → REDE → CRÉDITOS → CONTA → ECONOMIA */
    #eea-page .eea-flow { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1.2rem; }
    #eea-page .eea-flow::before {
        left: 10%; right: 10%;
        top: 2.75rem; bottom: auto;
        width: auto; height: 3px;
        background: repeating-linear-gradient(to right, var(--eea-cyan) 0 8px, transparent 8px 16px);
        background-size: 16px 3px;
        animation-name: eea-flow-h;
    }
    #eea-page .eea-flow__step {
        grid-template-columns: 1fr;
        align-content: start;
        justify-items: center;
        row-gap: .35rem;
        text-align: center;
    }
    #eea-page .eea-flow__icon {
        grid-row: auto;
        width: 5.5rem; height: 5.5rem;
        margin-bottom: .8rem;
        font-size: 1.9rem;
        border-radius: 1.3rem;
    }
    #eea-page .eea-flow__step > span:last-child { font-size: .86rem; }

    #eea-page .eea-concept {
        grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
        gap: 2.5rem;
        align-items: center;
        margin-top: 2rem;
        padding: 2rem 2rem;
    }
    #eea-page .eea-concept__model { padding: 1.6rem 1.6rem 1.7rem; }
    #eea-page .eea-relief { align-items: center; margin-top: 2.6rem; padding: 1.1rem 1.5rem; }
    #eea-page .eea-relief p { font-size: .95rem; }
    #eea-page .eea-mechanism .eea-heading > p:not(.eea-eyebrow) { font-size: 1.08rem; }

    #eea-page .eea-journey__steps { grid-template-columns: repeat(5, minmax(0, 1fr)); }
    #eea-page .eea-journey__steps li:last-child { grid-column: auto; }
    #eea-page .eea-journey__steps li { padding-top: 1.7rem; }

    #eea-page .eea-profiles__grid { grid-template-columns: 1fr 1fr; gap: 1.5rem; }
    #eea-page .eea-profile { padding: 1.8rem 2rem; }
    #eea-page .eea-profile h3 { font-size: 1.3rem; }
    #eea-page .eea-profiles .eea-heading { margin-bottom: 2rem; }

    /* Comparativo vira tabela de fato */
    #eea-page .eea-compare__wrap {
        border: 1px solid var(--eea-line);
        border-radius: 1.2rem;
        overflow: hidden;
        box-shadow: var(--eea-shadow);
    }
    #eea-page .eea-compare__table { display: table; }
    #eea-page .eea-compare__table thead { display: table-header-group; margin: 0; }
    #eea-page .eea-compare__table thead tr { display: table-row; }
    #eea-page .eea-compare__table thead th:first-child { display: table-cell; width: 24%; background: var(--eea-soft); }
    #eea-page .eea-compare__head { display: table-cell; width: 38%; border-radius: 0; padding: 0; vertical-align: bottom; }
    #eea-page .eea-compare__head img { height: 9rem; }
    #eea-page .eea-compare__head span { font-size: 1.15rem; padding: 2.5rem 1.4rem 1rem; }
    #eea-page .eea-compare__table tbody { display: table-row-group; }
    #eea-page .eea-compare__table tbody tr { display: table-row; border: 0; }
    #eea-page .eea-compare__table tbody th,
    #eea-page .eea-compare__table td {
        display: table-cell;
        padding: 1.05rem 1.4rem;
        border-top: 1px solid var(--eea-line);
        vertical-align: middle;
    }
    #eea-page .eea-compare__table tbody th { font-size: .82rem; }
    #eea-page .eea-compare__table td { font-size: 1rem; }
    #eea-page .eea-compare__table td:nth-of-type(1) { border-right: 1px solid var(--eea-line); }

    #eea-page .eea-sim__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: 4rem; align-items: center; }

    #eea-page .eea-proof__numbers { grid-template-columns: repeat(3, 1fr); }
    #eea-page .eea-proof__numbers li { padding: 2rem 2rem; }
    #eea-page .eea-proof__numbers strong { font-size: clamp(2.4rem, 3.6vw, 3.2rem); }
    #eea-page .eea-proof__numbers span { max-width: 17rem; }
    /* Unidade em linha própria: os três números ficam alinhados mesmo com "toneladas de CO₂". */
    #eea-page .eea-proof__numbers small { display: block; margin-top: .3rem; font-size: .42em; line-height: 1.2; }

    #eea-page .eea-faq__grid { grid-template-columns: minmax(0, .8fr) minmax(0, 1.5fr); gap: 4rem; }
    #eea-page .eea-faq__intro { position: sticky; top: 110px; align-self: start; }

    #eea-page .eea-form__grid { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 2rem; }
    #eea-page .eea-form__main { padding: 3rem 2.8rem; }
    #eea-page .eea-form__side { position: sticky; top: 110px; padding: 2.4rem 2rem; }
}

@media (prefers-reduced-motion: reduce) {
    #eea-page *,
    #eea-page *::before,
    #eea-page *::after {
        animation: none !important;
        transition: none !important;
    }
    #eea-page.eea--js .eea-reveal { opacity: 1; transform: none; }
}
