/* =========================================================
   RNS CAMELIA - FONTE OFICIAL NATURECYCLE
   ========================================================= */

@font-face{
    font-family:'RNS Camelia';
    src:url('../fonts/rns-camelia/RNSCamelia-Regular.woff2') format('woff2');
    font-weight:400;
    font-style:normal;
    font-display:swap;
}

@font-face{
    font-family:'RNS Camelia';
    src:url('../fonts/rns-camelia/RNSCamelia-Medium.woff2') format('woff2');
    font-weight:500;
    font-style:normal;
    font-display:swap;
}

@font-face{
    font-family:'RNS Camelia';
    src:url('../fonts/rns-camelia/RNSCamelia-Bold.woff2') format('woff2');
    font-weight:700;
    font-style:normal;
    font-display:swap;
}

@font-face{
    font-family:'RNS Camelia';
    src:url('../fonts/rns-camelia/RNSCamelia-ExtraBold.woff2') format('woff2');
    font-weight:800;
    font-style:normal;
    font-display:swap;
}

:root{
    --nc-font-brand:'RNS Camelia', Arial, sans-serif;
}

:root{
  --nc-navy:#04266A;
  --nc-blue:#0070ED;
  --nc-teal:#00B3B6;
  --nc-teal-dark:#039595;
  --nc-ink:#0d2348;
  --nc-muted:#5d6b82;
  --nc-soft:#f3f9fb;
  --nc-border:#dbe8ee;
  --nc-white:#fff;
  --nc-radius:26px;
  --nc-shadow:0 18px 45px rgba(6,42,104,.09);
  --nc-container:min(1180px,calc(100% - 40px));
  --nc-font:"RNS Camelia",Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--nc-ink);font-family:var(--nc-font);background:#fff;line-height:1.55}img{max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.nc-container{width:var(--nc-container);margin:0 auto}.nc-skip-link{position:absolute;left:-9999px;top:auto}.nc-skip-link:focus{left:16px;top:16px;background:#fff;padding:10px 14px;z-index:9999;border-radius:8px}.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Header */
.nc-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid rgba(6,42,104,.08)}.nc-header__inner{height:78px;display:grid;grid-template-columns:220px 1fr auto;align-items:center;gap:24px}.nc-brand img,.custom-logo{display:block;max-width:190px;max-height:54px;width:auto;height:auto}.nc-nav__list{display:flex;align-items:center;justify-content:center;gap:26px;list-style:none;margin:0;padding:0}.nc-nav__list a{font-size:.92rem;font-weight:700;color:var(--nc-navy);position:relative}.nc-nav__list a:after{content:"";position:absolute;left:0;right:100%;bottom:-9px;height:2px;background:var(--nc-teal);transition:.25s}.nc-nav__list a:hover:after,.nc-nav__list .current-menu-item>a:after{right:0}.nc-menu-toggle{display:none;background:none;border:0;padding:8px}.nc-menu-toggle span:not(.screen-reader-text){display:block;width:26px;height:2px;background:var(--nc-navy);margin:5px 0}.nc-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:999px;padding:13px 20px;font-weight:800;border:1px solid transparent;transition:.2s ease}.nc-button:hover{transform:translateY(-2px)}.nc-button--portal{background:var(--nc-navy);color:#fff;padding:11px 18px;font-size:.88rem}.nc-button--primary{background:linear-gradient(90deg,var(--nc-teal-dark),var(--nc-teal));color:#fff}.nc-button--ghost{border-color:#fff;color:#fff;background:rgba(255,255,255,.06)}.nc-button--light{background:#fff;color:var(--nc-navy)}

/* Typography */
.nc-eyebrow{margin:0 0 10px;color:var(--nc-teal-dark);font-size:.78rem;font-weight:900;letter-spacing:.15em}.nc-eyebrow--light{color:#9ef0e6}.nc-section h2,.nc-impact h2,.nc-cta h2{font-size:clamp(2rem,4vw,3.5rem);line-height:1.05;margin:0;color:var(--nc-navy);letter-spacing:-.03em}.nc-lead{font-size:1.04rem;color:var(--nc-muted);max-width:700px}.nc-text-link{color:var(--nc-teal-dark);font-weight:850}.nc-text-link:hover{text-decoration:underline;text-underline-offset:4px}

/* Hero */
.nc-hero{position:relative;min-height:620px;background-image:var(--nc-hero-image);background-size:cover;background-position:center;display:flex;align-items:center;color:#fff;overflow:hidden}.nc-hero__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,28,65,.92) 0%,rgba(3,28,65,.74) 42%,rgba(3,28,65,.18) 72%,rgba(3,28,65,.08) 100%)}.nc-hero__content{position:relative;z-index:2;display:flex;align-items:flex-end;justify-content:space-between;gap:40px;padding:78px 0}.nc-hero__copy{max-width:700px}.nc-hero h1{color:#fff;font-size:clamp(3rem,5.5vw,4.9rem);line-height:.95;letter-spacing:-.045em;margin:0 0 24px;max-width:850px}.nc-hero__lead{font-size:1.24rem;max-width:600px;color:rgba(255,255,255,.91);margin-bottom:30px}.nc-actions{display:flex;flex-wrap:wrap;gap:12px}.nc-hero__stamp{font-size:1.1rem;text-align:right;align-self:flex-start;margin-top:130px;color:#fff;transform:rotate(-4deg);max-width:220px}.nc-hero__stamp span,.nc-hero__stamp strong{display:block}.nc-hero__stamp strong{font-size:2rem;line-height:1.05;font-style:italic}

/* Metrics */
.nc-metrics{background:#fff;border-bottom:1px solid var(--nc-border)}.nc-metrics__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:28px 0}.nc-metric{display:flex;align-items:center;gap:14px;padding:8px 12px}.nc-metric__icon{width:40px;height:40px;display:grid;place-items:center;color:var(--nc-teal);font-size:1.2rem}.nc-metric strong{display:block;color:var(--nc-navy);font-size:1.5rem;line-height:1.05}.nc-metric span{display:block;color:var(--nc-muted);font-size:.83rem;margin-top:5px;line-height:1.35}

/* Sections */
.nc-section{padding:88px 0}.nc-about{background:linear-gradient(180deg,#fff,var(--nc-soft));padding-top:64px}.nc-about__grid{display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:center}.nc-about__media{position:relative}.nc-about__media img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--nc-radius);box-shadow:var(--nc-shadow)}.nc-about__message{position:absolute;left:26px;bottom:24px;max-width:195px;background:rgba(6,42,104,.88);color:#fff;border-radius:20px;padding:15px;font-size:1rem;font-weight:800}.nc-about__copy h2{max-width:580px}.nc-about__pillars{display:grid;gap:18px;margin:28px 0}.nc-about__pillars>div{display:grid;grid-template-columns:36px 1fr;column-gap:10px}.nc-about__pillars strong,.nc-about__pillars small{grid-column:2}.nc-about__pillars small{color:var(--nc-muted)}.nc-dot{grid-row:1/3;width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--nc-teal),var(--nc-blue))}

.nc-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:28px}.nc-section-heading h2{font-size:clamp(2rem,3vw,3rem)}.nc-section-heading--compact{display:block;margin-bottom:22px}.nc-section-heading--compact h2{font-size:2rem}.nc-card-grid{display:grid;gap:22px}.nc-card-grid--3{grid-template-columns:repeat(3,1fr)}.nc-card{background:#fff;border:1px solid var(--nc-border);border-radius:22px;overflow:hidden;box-shadow:0 12px 32px rgba(6,42,104,.07);transition:.22s}.nc-card:hover{transform:translateY(-4px);box-shadow:var(--nc-shadow)}.nc-card__media{display:block}.nc-card__media img,.nc-card__placeholder{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}.nc-card__placeholder{background:linear-gradient(135deg,#d8f4f2,#d9eaf9)}.nc-card__placeholder--1{background:linear-gradient(135deg,#c9eeea,#dceaf4)}.nc-card__placeholder--2{background:linear-gradient(135deg,#d9f2f0,#cde4f7)}.nc-card__placeholder--3{background:linear-gradient(135deg,#d6eafb,#c5f0e7)}.nc-card__body{position:relative;padding:20px 56px 22px 20px}.nc-card__body h3{font-size:1.15rem;margin:0 0 8px;color:var(--nc-navy)}.nc-card__body p{font-size:.9rem;color:var(--nc-muted);margin:0}.nc-card__arrow{position:absolute;right:18px;bottom:22px;width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--nc-teal);border-radius:50%;color:var(--nc-teal-dark);font-weight:900}

/* Impact */
.nc-impact{position:relative;min-height:430px;background-image:var(--nc-impact-image);background-size:cover;background-position:center;display:flex;align-items:center;color:#fff}.nc-impact__overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,48,70,.9),rgba(5,48,70,.56) 48%,rgba(5,48,70,.06))}.nc-impact__content{position:relative;z-index:2;padding:74px 0;max-width:700px;margin-left:max(calc((100% - min(1180px,calc(100% - 40px)))/2),20px)}.nc-impact h2{color:#fff;max-width:620px}.nc-impact p:not(.nc-eyebrow){font-size:1.07rem;max-width:540px;margin:18px 0 26px;color:rgba(255,255,255,.9)}

/* Proof */
.nc-proof{background:#fff}.nc-proof__grid{display:grid;grid-template-columns:1.15fr .85fr;gap:46px;align-items:start}.nc-case-feature{display:grid;grid-template-columns:1fr 1.25fr;gap:12px 28px;align-items:start}.nc-case-feature>.nc-eyebrow,.nc-case-feature>h2,.nc-case-feature>p,.nc-case-feature>.nc-text-link{grid-column:1}.nc-case-feature h2{font-size:2.2rem}.nc-case-feature p{color:var(--nc-muted);margin:0}.nc-case-feature__media{grid-column:2;grid-row:1/6;display:block}.nc-case-feature__media img{width:100%;height:100%;min-height:300px;object-fit:cover;border-radius:24px}.nc-partner-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0 18px}.nc-partner-logo{min-height:74px;border:1px solid var(--nc-border);border-radius:14px;display:grid;place-items:center;background:#fff;padding:12px}.nc-partner-logo img{max-width:120px;max-height:48px;object-fit:contain;filter:grayscale(1);opacity:.78}.nc-partner-logo span{font-size:.8rem;font-weight:700;color:#778399;text-align:center}

/* News */
.nc-news{background:var(--nc-soft)}.nc-news-card time{display:block;color:#8592a4;font-size:.78rem;margin-bottom:8px}.nc-news-card .nc-text-link{display:inline-block;margin-top:12px;font-size:.86rem}

/* CTA */
.nc-cta{padding:42px 0;background:linear-gradient(90deg,#0d6f77,var(--nc-navy));color:#fff}.nc-cta__inner{display:flex;align-items:center;justify-content:space-between;gap:40px}.nc-cta h2{color:#fff;font-size:2rem}.nc-cta p{margin:7px 0 0;color:rgba(255,255,255,.86)}

/* Footer */
.nc-footer{background:var(--nc-navy);color:#fff;padding:58px 0 22px}.nc-footer__grid{display:grid;grid-template-columns:1.25fr .8fr 1fr .9fr;gap:48px}.nc-footer__brand img{max-width:220px}.nc-footer__brand p{color:rgba(255,255,255,.68);max-width:280px}.nc-footer__title{font-size:1rem;margin:0 0 14px}.nc-footer__menu,.nc-footer__contact{list-style:none;padding:0;margin:0;display:grid;gap:8px;color:rgba(255,255,255,.78);font-size:.9rem}.nc-social{display:flex;flex-wrap:wrap;gap:10px 14px;margin-top:16px;font-size:.85rem}.nc-footer__initiative{border-left:1px solid rgba(255,255,255,.18);padding-left:24px}.nc-footer__initiative span{display:block;font-size:.75rem;color:rgba(255,255,255,.6)}.nc-footer__initiative strong{display:block;font-size:1.55rem;margin:6px 0}.nc-footer__initiative p{font-size:.86rem;color:rgba(255,255,255,.72)}.nc-footer__bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.14);margin-top:42px;padding-top:20px;font-size:.78rem;color:rgba(255,255,255,.6)}

/* Inner content */
.nc-page-hero{padding:90px 0 54px;background:linear-gradient(135deg,#eefaf9,#eef4fb)}.nc-page-hero h1{font-size:clamp(2.6rem,6vw,5rem);margin:0;color:var(--nc-navy);line-height:1}.nc-content{padding:60px 0}.nc-content__inner{max-width:860px;margin:0 auto}.nc-content__inner>*:first-child{margin-top:0}.nc-content__inner p{font-size:1.05rem;color:#44536c}.nc-archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.nc-empty-state{border:1px dashed var(--nc-border);border-radius:18px;padding:32px;color:var(--nc-muted);background:#fff}

@media(max-width:1000px){
  .nc-header__inner{grid-template-columns:180px 1fr auto}.nc-nav__list{gap:14px}.nc-nav__list a{font-size:.82rem}.nc-hero{min-height:560px}.nc-hero__stamp{display:none}.nc-metrics__grid{grid-template-columns:repeat(2,1fr)}.nc-about__grid,.nc-proof__grid{grid-template-columns:1fr}.nc-case-feature{grid-template-columns:1fr 1.15fr}.nc-footer__grid{grid-template-columns:1fr 1fr}.nc-footer__initiative{border-left:0;padding-left:0}.nc-archive-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
  :root{--nc-container:min(100% - 28px,1180px);--nc-radius:20px}.nc-header__inner{height:70px;grid-template-columns:1fr auto}.nc-brand img,.custom-logo{max-width:165px}.nc-button--portal{display:none}.nc-menu-toggle{display:block}.nc-nav{display:none;position:absolute;left:0;right:0;top:70px;background:#fff;border-top:1px solid var(--nc-border);box-shadow:0 18px 34px rgba(6,42,104,.12)}.nc-nav.is-open{display:block}.nc-nav__list{display:grid;gap:0}.nc-nav__list li{border-bottom:1px solid #edf2f5}.nc-nav__list a{display:block;padding:15px 20px}.nc-nav__list a:after{display:none}.nc-hero{min-height:560px;background-position:60% center}.nc-hero__shade{background:linear-gradient(90deg,rgba(3,28,65,.92),rgba(3,28,65,.67))}.nc-hero__content{padding:66px 0}.nc-hero h1{color:#fff;font-size:clamp(2.4rem,11vw,3.4rem)}.nc-hero__lead{font-size:1.05rem}.nc-actions{align-items:stretch}.nc-actions .nc-button{width:100%}.nc-metrics__grid{grid-template-columns:1fr 1fr;gap:6px;padding:20px 0}.nc-metric{padding:8px 4px;align-items:flex-start}.nc-metric__icon{display:none}.nc-metric strong{font-size:1.2rem}.nc-metric span{font-size:.72rem}.nc-section{padding:64px 0}.nc-about__grid{gap:32px}.nc-about__message{left:14px;bottom:14px;font-size:.9rem;max-width:170px}.nc-section-heading{display:block}.nc-section-heading .nc-text-link{display:inline-block;margin-top:14px}.nc-card-grid--3,.nc-archive-grid{grid-template-columns:1fr}.nc-impact{min-height:480px;background-position:center}.nc-impact__content{padding:62px 0;margin-left:auto}.nc-proof__grid{gap:58px}.nc-case-feature{display:block}.nc-case-feature h2{font-size:2rem}.nc-case-feature__media{margin-top:20px}.nc-case-feature__media img{min-height:240px}.nc-partner-grid{grid-template-columns:repeat(2,1fr)}.nc-cta__inner{display:block}.nc-cta .nc-button{margin-top:22px}.nc-footer__grid{grid-template-columns:1fr;gap:34px}.nc-footer__bottom{display:block}.nc-footer__legal{margin-top:10px}
}

/* Impacto socioambiental */
.nc-impact-numbers{
    background:linear-gradient(180deg,#f7fbfd 0%,#ffffff 100%);
}

.nc-impact-numbers__heading{
    max-width:760px;
    margin:0 auto 46px;
    text-align:center;
}

.nc-impact-numbers__intro{
    max-width:650px;
    margin:18px auto 0;
    color:var(--nc-muted);
    font-size:1.08rem;
    line-height:1.6;
}

.nc-impact-numbers__grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:16px;
}

.nc-impact-number{
    position:relative;
    min-height:230px;
    padding:28px;
    background:#fff;
    border:1px solid var(--nc-border);
    border-radius:24px;
    box-shadow:0 14px 36px rgba(6,42,104,.07);
    overflow:hidden;
    transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}

.nc-impact-number::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:4px;
    background:linear-gradient(90deg,var(--nc-teal),var(--nc-blue));
}

.nc-impact-number:hover{
    transform:translateY(-5px);
    border-color:rgba(12,181,181,.35);
    box-shadow:0 20px 44px rgba(6,42,104,.12);
}

.nc-impact-number__icon{
    width:82px;
    height:82px;
    display:grid;
    place-items:center;
    margin:4px 0 28px;
    border-radius:50%;
    background:linear-gradient(135deg,var(--nc-teal),#55b9e8);
    color:#fff;
    border:6px solid #fff;
    box-shadow:
        0 0 0 2px #55b9e8,
        0 10px 24px rgba(6,42,104,.10);
}

.nc-impact-number__icon svg{
    width:38px;
    height:38px;
    stroke-width:1.65;
}

.nc-impact-number__value{
    display:block;
    color:var(--nc-navy);
    font-size:clamp(1.65rem,2.2vw,2.25rem);
    line-height:1.05;
    letter-spacing:-.035em;
    margin-bottom:12px;
}

.nc-impact-number__label{
    display:block;
    max-width:300px;
    color:var(--nc-muted);
    font-size:.98rem;
    line-height:1.45;
}
.nc-impact-numbers__heading .nc-eyebrow{
    font-size:clamp(1.5rem,2.2vw,2rem);
    white-space:nowrap;
}
.nc-impact-number__icon--original{
    width:94px;
    height:94px;
    margin:0 0 24px;
    padding:0;
    background:none;
    border:0;
    box-shadow:none;
}

.nc-impact-number__icon--original img{
    display:block;
    width:94px;
    height:94px;
}
.nc-impact-number__icon img{
    display:block;
    width:56px;
    height:56px;
}
/* Impacto - ícones à direita no desktop */
@media (min-width:761px){
    .nc-impact-number{
        min-height:195px;
        padding:26px 28px;
    }

    .nc-impact-number__icon{
        position:absolute;
        top:22px;
        right:24px;
        margin:0;
    }

    .nc-impact-number__value{
        padding-right:105px;
        margin-top:4px;
    }

    .nc-impact-number__label{
        padding-right:90px;
    }
}
/* Alinhamento dos indicadores institucionais */
.nc-metrics__grid{
    align-items:start;
}

.nc-metric{
    align-items:flex-start;
}

.nc-metric__icon{
    margin-top:3px;
}

.nc-metric strong{
    margin:0;
}

/* Chamada para Projetos Socioambientais */
.nc-projects-cta{
    position:relative;
    padding:64px 0;
    overflow:hidden;
    background:
        radial-gradient(circle at 85% 25%,rgba(56,191,181,.22),transparent 28%),
        linear-gradient(120deg,#062a68 0%,#074978 58%,#087f82 100%);
    color:#fff;
}

.nc-projects-cta::before{
    content:"";
    position:absolute;
    width:360px;
    height:360px;
    right:-120px;
    bottom:-210px;
    border:1px solid rgba(255,255,255,.16);
    border-radius:50%;
}

.nc-projects-cta::after{
    content:"";
    position:absolute;
    width:220px;
    height:220px;
    right:70px;
    top:-130px;
    border:1px solid rgba(255,255,255,.11);
    border-radius:50%;
}

.nc-projects-cta__inner{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:1.15fr .85fr;
    gap:80px;
    align-items:center;
}

.nc-projects-cta__copy{
    max-width:650px;
}

.nc-projects-cta__eyebrow{
    margin:0 0 14px;
    color:#79e1d5;
    font-size:.8rem;
    font-weight:900;
    letter-spacing:.16em;
}

.nc-projects-cta h2{
    margin:0;
    max-width:620px;
    color:#fff;
    font-size:clamp(2.5rem,3.6vw,3.5rem);
    line-height:1;
    letter-spacing:-.04em;
}

.nc-projects-cta__text{
    max-width:560px;
    margin:22px 0 30px;
    color:rgba(255,255,255,.86);
    font-size:1.08rem;
    line-height:1.6;
}

.nc-projects-cta__button{
    background:#fff;
    color:var(--nc-navy);
    border-color:#fff;
}

.nc-projects-cta__button:hover{
    background:#dff8f4;
    border-color:#dff8f4;
}

.nc-projects-cta__projects{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
}

.nc-projects-cta__projects span{
    min-height:90px;
    display:flex;
    align-items:flex-end;
    padding:18px;
    border:1px solid rgba(255,255,255,.22);
    border-radius:18px;
    background:rgba(255,255,255,.09);
    backdrop-filter:blur(6px);
    color:#fff;
    font-size:.94rem;
    font-weight:800;
    line-height:1.25;
    transition:transform .25s ease,background .25s ease;
}

.nc-projects-cta__projects span:hover{
    transform:translateY(-3px);
    background:rgba(255,255,255,.14);
}
/* Imagens nos cards de projetos */
.nc-projects-cta__projects span{
    position:relative;
    min-height:145px;
    align-items:flex-end;
    overflow:hidden;
    isolation:isolate;
    background-image:
        linear-gradient(
            180deg,
            rgba(3,28,65,.05) 20%,
            rgba(3,28,65,.82) 100%
        ),
        var(--nc-project-image);
    background-size:cover;
    background-position:center;
    color:#fff;
    text-shadow:0 2px 8px rgba(0,0,0,.35);
}

.nc-projects-cta__projects span::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(
        135deg,
        rgba(6,42,104,.05),
        rgba(5,122,130,.10)
    );
    z-index:-1;
    transition:transform .35s ease;
}

.nc-projects-cta__projects span:hover{
    background-color:transparent;
    transform:translateY(-3px);
}
/* Ajustes finais dos cards de Projetos */
.nc-projects-cta{
    margin-bottom:0;
    border-bottom:0;
}

.nc-projects-cta__projects span{
    background-size:100% auto;
    background-repeat:no-repeat;
    background-position:center;
    transition:
        transform .25s ease,
        background-size .45s ease,
        box-shadow .25s ease;
}

.nc-projects-cta__projects span:hover{
    transform:translateY(-3px);
    background-image:
        linear-gradient(
            180deg,
            rgba(3,28,65,.03) 15%,
            rgba(3,28,65,.82) 100%
        ),
        var(--nc-project-image);
    background-size:108% auto;
    background-position:center;
    box-shadow:0 14px 30px rgba(3,28,65,.22);
}
/* =========================================================
   Projetos socioambientais - ajuste de imagens e hover
   ========================================================= */

.nc-projects-cta__projects span{
    position:relative;
    overflow:hidden;
    isolation:isolate;
    background:none;
    transform:none;
    box-shadow:none;
}

/* Foto do projeto */
.nc-projects-cta__projects span::after{
    content:"";
    position:absolute;
    inset:-1px;
    z-index:-2;
    background-image:var(--nc-project-image);
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    transform:scale(1);
    transition:transform .55s ease;
}

/* Degrad� para manter o t�tulo leg�vel */
.nc-projects-cta__projects span::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    background:linear-gradient(
        180deg,
        rgba(3,28,65,.03) 20%,
        rgba(3,28,65,.78) 100%
    );
    transform:none;
    transition:background .35s ease;
}

/* Hover: zoom somente na fotografia */
.nc-projects-cta__projects span:hover{
    background:none;
    transform:none;
    box-shadow:0 10px 24px rgba(3,28,65,.18);
}

/* Amplia��o suave sem esconder a imagem */
.nc-projects-cta__projects span:hover::after{
    transform:scale(1.075);
}

.nc-projects-cta__projects span:hover::before{
    background:linear-gradient(
        180deg,
        rgba(3,28,65,.01) 20%,
        rgba(3,28,65,.72) 100%
    );
}


/* =========================================================
   Case em destaque - refinamento visual
   ========================================================= */

.nc-case-feature{
    grid-template-columns:minmax(230px,.9fr) minmax(340px,1.25fr);
    gap:14px 32px;
    align-items:start;
}

.nc-case-feature h2{
    line-height:1.08;
    margin-bottom:16px;
}

.nc-case-feature p{
    line-height:1.6;
}

.nc-case-feature__media{
    overflow:hidden;
    border-radius:24px;
    box-shadow:0 14px 34px rgba(3,28,65,.10);
}

.nc-case-feature__media img{
    display:block;
    width:100%;
    height:100%;
    min-height:320px;
    object-fit:cover;
    border-radius:0;
    transition:transform .55s ease;
}

.nc-case-feature__media:hover img{
    transform:scale(1.045);
}


/* =========================================================
   Parceiros - prepara��o para logos reais
   ========================================================= */

.nc-partner-logo{
    min-height:88px;
    padding:16px 18px;
    background:#fff;
    border:1px solid var(--nc-border);
    border-radius:16px;
}

.nc-partner-logo img{
    width:auto;
    height:auto;
    max-width:135px;
    max-height:54px;
    object-fit:contain;
    filter:none;
    opacity:1;
}

a.nc-partner-logo{
    transition:
        transform .25s ease,
        border-color .25s ease,
        box-shadow .25s ease;
}

a.nc-partner-logo:hover{
    transform:translateY(-3px);
    border-color:rgba(0,153,153,.35);
    box-shadow:0 10px 24px rgba(3,28,65,.09);
}


/* =========================================================
   Página individual de Parceiros
   ========================================================= */

.nc-page-featured--partner{
    min-height:220px;
    display:grid;
    place-items:center;
    margin-bottom:34px;
    padding:38px 44px;
    background:#fff;
    border:1px solid var(--nc-border);
    border-radius:24px;
    box-shadow:0 12px 30px rgba(3,28,65,.07);
}

.nc-page-featured--partner img{
    display:block;
    width:auto;
    height:auto;
    max-width:min(420px,80%);
    max-height:140px;
    object-fit:contain;
}

.nc-partner-site-action{
    margin-top:30px;
}

@media(max-width:760px){
    .nc-page-featured--partner{
        min-height:180px;
        padding:30px 24px;
    }

    .nc-page-featured--partner img{
        max-width:85%;
        max-height:110px;
    }
}


/* =========================================================
   Arquivo de Parceiros - logos sem corte
   ========================================================= */

.post-type-archive-nc_parceiro .nc-card__media{
    min-height:220px;
    display:grid;
    place-items:center;
    padding:28px 24px;
    background:#fff;
}

.post-type-archive-nc_parceiro .nc-card__media img{
    width:auto;
    height:auto;
    max-width:82%;
    max-height:150px;
    aspect-ratio:auto;
    object-fit:contain;
}

.post-type-archive-nc_parceiro .nc-card{
    display:flex;
    flex-direction:column;
}

.post-type-archive-nc_parceiro .nc-card__body{
    margin-top:auto;
}

@media(max-width:760px){
    .post-type-archive-nc_parceiro .nc-card__media{
        min-height:180px;
        padding:24px 20px;
    }

    .post-type-archive-nc_parceiro .nc-card__media img{
        max-width:86%;
        max-height:120px;
    }
}


/* Ajuste específico - logo Alternativa */
.post-type-archive-nc_parceiro
.nc-card__media[href*="/alternativa/"] img{
    max-width:68%;
    max-height:115px;
}


/* =========================================================
   Parceiros - seção de Prêmios
   ========================================================= */

.nc-partner-awards{
    margin-top:46px;
}

.nc-partner-awards > h2{
    margin-bottom:22px;
}

.nc-partner-awards__photo{
    overflow:hidden;
    border-radius:22px;
    margin-bottom:28px;
    background:#f7fafc;
}

.nc-partner-awards__photo img{
    display:block;
    width:100%;
    height:auto;
}

.nc-partner-award{
    display:flex;
    align-items:center;
    gap:24px;
    padding:24px;
    border:1px solid var(--nc-border);
    border-radius:18px;
    background:#fff;
}

.nc-partner-award__badge{
    flex:0 0 100px;
    text-align:center;
}

.nc-partner-award__badge img{
    display:block;
    max-width:90px;
    max-height:110px;
    width:auto;
    height:auto;
    margin:0 auto;
    object-fit:contain;
}

.nc-partner-award__text strong{
    display:block;
    color:var(--nc-navy);
    font-size:1.15rem;
    margin-bottom:6px;
}

.nc-partner-award__text p{
    margin:0;
}

@media(max-width:600px){
    .nc-partner-award{
        display:block;
        text-align:center;
    }

    .nc-partner-award__badge{
        margin:0 auto 18px;
    }
}


/* =========================================================
   Página Parceiros
   ========================================================= */

.nc-partners-archive{
    background:#fff;
}

/* Hero */
.nc-partners-hero{
    position:relative;
    overflow:hidden;
    padding:112px 0 96px;
    background:
        radial-gradient(circle at 84% 18%, rgba(0,173,181,.16), transparent 30%),
        radial-gradient(circle at 74% 82%, rgba(41,121,189,.10), transparent 28%),
        linear-gradient(135deg,#eefaf9 0%,#f5f9ff 58%,#ffffff 100%);
}

.nc-partners-hero::after{
    content:"";
    position:absolute;
    width:430px;
    height:430px;
    border-radius:50%;
    right:-190px;
    bottom:-220px;
    border:1px solid rgba(0,153,153,.14);
    box-shadow:
        0 0 0 60px rgba(0,153,153,.035),
        0 0 0 120px rgba(0,153,153,.025);
    pointer-events:none;
}

.nc-partners-hero__inner{
    position:relative;
    z-index:2;
}

.nc-partners-hero__copy{
    max-width:930px;
}

.nc-partners-hero h1{
    max-width:900px;
    margin:0 0 28px;
    color:var(--nc-navy);
    font-size:clamp(3rem,5.8vw,5.1rem);
    line-height:.98;
    letter-spacing:-.05em;
}

.nc-partners-hero h1 span{
    display:block;
    color:var(--nc-teal-dark);
}

.nc-partners-hero__lead{
    max-width:760px;
    margin:0 0 18px;
    color:#344765;
    font-size:1.2rem;
    line-height:1.65;
}

.nc-partners-hero__text{
    max-width:720px;
    margin:0 0 32px;
    color:var(--nc-muted);
    font-size:1.02rem;
    line-height:1.7;
}

/* Números de impacto */
.nc-partners-impact{
    position:relative;
    z-index:3;
    margin-top:-34px;
}

.nc-partners-impact__grid{
    display:grid;
    grid-template-columns:1.1fr .75fr 1fr;
    overflow:hidden;
    border-radius:24px;
    background:linear-gradient(120deg,var(--nc-navy),#07516c 62%,var(--nc-teal-dark));
    box-shadow:0 22px 50px rgba(3,28,65,.18);
}

.nc-partners-impact__item{
    min-height:150px;
    padding:34px 32px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    border-right:1px solid rgba(255,255,255,.13);
}

.nc-partners-impact__item:last-child{
    border-right:0;
}

.nc-partners-impact__item strong{
    display:block;
    margin-bottom:8px;
    color:#fff;
    font-size:clamp(1.55rem,2.5vw,2.25rem);
    line-height:1.05;
    letter-spacing:-.035em;
}

.nc-partners-impact__item span{
    max-width:280px;
    color:rgba(255,255,255,.78);
    font-size:.92rem;
    line-height:1.45;
}

/* Lista de parceiros */
.nc-partners-list{
    padding-top:96px;
    padding-bottom:100px;
    background:linear-gradient(180deg,#fff 0%,#f8fbfc 100%);
}

.nc-partners-list__heading{
    max-width:790px;
    margin-bottom:42px;
}

.nc-partners-list__heading h2{
    margin:0 0 18px;
    color:var(--nc-navy);
    font-size:clamp(2.3rem,4vw,3.6rem);
    line-height:1.04;
    letter-spacing:-.04em;
}

.nc-partners-list__heading > p:last-child{
    max-width:720px;
    margin:0;
    color:var(--nc-muted);
    font-size:1.05rem;
    line-height:1.7;
}

/* CTA final */
.nc-partners-cta{
    padding:82px 0;
    background:
        radial-gradient(circle at 85% 50%,rgba(0,178,178,.24),transparent 34%),
        linear-gradient(120deg,#031c41,#073d58 68%,#075f67);
}

.nc-partners-cta__inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:50px;
}

.nc-partners-cta__inner > div{
    max-width:720px;
}

.nc-partners-cta h2{
    margin:0 0 16px;
    color:#fff;
    font-size:clamp(2.3rem,4vw,3.8rem);
    line-height:1.04;
    letter-spacing:-.04em;
}

.nc-partners-cta p:not(.nc-eyebrow){
    max-width:620px;
    margin:0;
    color:rgba(255,255,255,.82);
    font-size:1.05rem;
    line-height:1.65;
}

/* Responsivo */
@media(max-width:900px){
    .nc-partners-impact__grid{
        grid-template-columns:1fr;
    }

    .nc-partners-impact__item{
        min-height:auto;
        border-right:0;
        border-bottom:1px solid rgba(255,255,255,.13);
    }

    .nc-partners-impact__item:last-child{
        border-bottom:0;
    }

    .nc-partners-cta__inner{
        display:block;
    }

    .nc-partners-cta .nc-button{
        margin-top:28px;
    }
}

@media(max-width:760px){
    .nc-partners-hero{
        padding:78px 0 70px;
    }

    .nc-partners-hero h1{
        font-size:clamp(2.55rem,11vw,3.5rem);
    }

    .nc-partners-hero__lead{
        font-size:1.05rem;
    }

    .nc-partners-impact{
        margin-top:-20px;
    }

    .nc-partners-impact__item{
        padding:26px 24px;
    }

    .nc-partners-list{
        padding-top:72px;
        padding-bottom:72px;
    }

    .nc-partners-cta{
        padding:64px 0;
    }
}


/* =========================================================
   Refinamento página Parceiros
   ========================================================= */

/* Indicadores com três colunas realmente iguais */
.nc-partners-impact__grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
}

.nc-partners-impact__item{
    min-width:0;
    padding:34px 30px;
    justify-content:flex-start;
}

.nc-partners-impact__item strong{
    min-height:2.15em;
    display:flex;
    align-items:flex-end;
}

.nc-partners-impact__item span{
    max-width:100%;
}

/* Cabeçalho da lista usando toda a largura disponível */
.nc-partners-list__heading{
    max-width:none;
    display:grid;
    grid-template-columns:minmax(340px,.9fr) minmax(420px,1.1fr);
    column-gap:72px;
    row-gap:10px;
    align-items:end;
    margin-bottom:48px;
}

.nc-partners-list__heading .nc-eyebrow{
    grid-column:1 / -1;
}

.nc-partners-list__heading h2{
    grid-column:1;
    margin-bottom:0;
}

.nc-partners-list__heading > p:last-child{
    grid-column:2;
    max-width:none;
    margin:0 0 4px;
}

/* Mantém o Hero preparado para receber uma imagem à direita */
.nc-partners-hero__copy{
    max-width:720px;
}

@media(max-width:900px){
    .nc-partners-impact__grid{
        grid-template-columns:1fr;
    }

    .nc-partners-impact__item strong{
        min-height:auto;
    }

    .nc-partners-list__heading{
        display:block;
    }

    .nc-partners-list__heading h2{
        margin-bottom:18px;
    }

    .nc-partners-hero__copy{
        max-width:none;
    }
}


/* Imagem lateral do Hero - Parceiros */
.nc-partners-hero::before{
    content:"";
    position:absolute;
    z-index:1;
    top:0;
    right:0;
    bottom:0;
    width:48%;
    background-image:url('/wp-content/themes/naturecycle-2/assets/img/partners-page/hero-parceiros.png');
    background-repeat:no-repeat;
    background-position:center right;
    background-size:cover;
    opacity:.96;

    -webkit-mask-image:linear-gradient(
        to right,
        transparent 0%,
        rgba(0,0,0,.18) 12%,
        rgba(0,0,0,.72) 34%,
        #000 52%
    );

    mask-image:linear-gradient(
        to right,
        transparent 0%,
        rgba(0,0,0,.18) 12%,
        rgba(0,0,0,.72) 34%,
        #000 52%
    );
}

.nc-partners-hero__copy{
    position:relative;
    z-index:3;
}

@media(max-width:900px){
    .nc-partners-hero::before{
        width:42%;
        opacity:.25;
    }
}

@media(max-width:760px){
    .nc-partners-hero::before{
        display:none;
    }
}


/* Refinamento do cabeçalho da lista de parceiros */
.nc-partners-list__heading{
    grid-template-columns:minmax(480px,1.15fr) minmax(360px,.85fr);
    column-gap:56px;
}

.nc-partners-list__heading h2{
    max-width:620px;
}

@media(max-width:900px){
    .nc-partners-list__heading{
        display:block;
    }
}


/* =========================================================
   Parceiros - impacto simplificado
   ========================================================= */

.nc-partners-impact{
    position:relative;
    z-index:4;
    margin-top:-30px;
}

.nc-partners-impact__panel{
    position:relative;
    overflow:hidden;
    padding:30px 36px 32px;
    background:#fff;
    border:1px solid rgba(6,42,104,.10);
    border-radius:22px;
    box-shadow:0 16px 38px rgba(3,28,65,.09);
}

.nc-partners-impact__panel::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    right:0;
    height:4px;
    background:linear-gradient(
        90deg,
        var(--nc-navy),
        var(--nc-teal-dark),
        var(--nc-teal)
    );
}

.nc-partners-impact__panel .nc-eyebrow{
    margin:0 0 20px;
    color:var(--nc-teal-dark);
}

.nc-partners-impact__content{
    display:grid;
    grid-template-columns:minmax(0,1fr) 250px;
    gap:54px;
    align-items:end;
}

.nc-partners-impact__primary strong{
    display:block;
    margin-bottom:8px;
    color:var(--nc-navy);
    font-size:clamp(2.3rem,4vw,3.5rem);
    line-height:1;
    letter-spacing:-.045em;
}

.nc-partners-impact__primary span{
    display:block;
    max-width:680px;
    color:var(--nc-muted);
    font-size:1rem;
    line-height:1.5;
}

.nc-partners-impact__secondary{
    padding-left:34px;
    border-left:1px solid var(--nc-border);
}

.nc-partners-impact__secondary strong{
    display:block;
    margin-bottom:7px;
    color:var(--nc-teal-dark);
    font-size:2rem;
    line-height:1;
}

.nc-partners-impact__secondary span{
    color:var(--nc-muted);
    font-size:.95rem;
}


/* Abertura dos parceiros em um único bloco */
.nc-partners-list{
    padding-top:68px;
}

.nc-partners-list__heading{
    display:block;
    max-width:820px;
    margin:0 0 40px;
}

.nc-partners-list__heading .nc-eyebrow{
    margin-bottom:12px;
}

.nc-partners-list__heading h2{
    max-width:760px;
    margin:0 0 18px;
    color:var(--nc-navy);
    font-size:clamp(2.5rem,4vw,3.8rem);
    line-height:1.02;
    letter-spacing:-.045em;
}

.nc-partners-list__heading > p:last-child{
    max-width:720px;
    margin:0;
    color:var(--nc-muted);
    font-size:1.05rem;
    line-height:1.7;
}

@media(max-width:760px){

    .nc-partners-impact{
        margin-top:-18px;
    }

    .nc-partners-impact__panel{
        padding:26px 24px 28px;
    }

    .nc-partners-impact__content{
        grid-template-columns:1fr;
        gap:24px;
    }

    .nc-partners-impact__secondary{
        padding:22px 0 0;
        border-left:0;
        border-top:1px solid var(--nc-border);
    }

    .nc-partners-list{
        padding-top:56px;
    }
}


/* =========================================================
   CTA Parceiros - transição suave
   ========================================================= */

.nc-partners-cta{
    position:relative;
    overflow:hidden;
    padding:72px 0;
    background:linear-gradient(
        90deg,
        #103a78 0%,
        #114870 58%,
        #146f78 100%
    );
}

.nc-partners-cta::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    right:0;
    height:52px;
    background:linear-gradient(
        180deg,
        rgba(255,255,255,.24) 0%,
        rgba(255,255,255,.08) 45%,
        rgba(255,255,255,0) 100%
    );
    pointer-events:none;
}

.nc-partners-cta__inner{
    position:relative;
    z-index:2;
}

.nc-partners-cta .nc-eyebrow{
    color:rgba(255,255,255,.72);
}

.nc-partners-cta h2{
    color:#fff;
}

.nc-partners-cta p:not(.nc-eyebrow){
    color:rgba(255,255,255,.80);
}

.nc-partners-cta .nc-button--light{
    box-shadow:0 8px 22px rgba(3,28,65,.12);
}


/* =========================================================
   CTA final Parceiros - versão limpa
   ========================================================= */

.nc-partners-cta{
    position:relative;
    padding:58px 0 66px;
    background:transparent;
    border-top:1px solid rgba(6,42,104,.10);
    overflow:visible;
}

.nc-partners-cta::before{
    display:none;
}

.nc-partners-cta__inner{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:40px 64px;
}

.nc-partners-cta__content{
    max-width:650px;
}

.nc-partners-cta .nc-eyebrow{
    margin:0 0 12px;
    color:var(--nc-teal-dark);
}

.nc-partners-cta h2{
    margin:0 0 14px;
    max-width:620px;
    color:var(--nc-navy);
    font-size:clamp(2.2rem,4vw,3.5rem);
    line-height:1.02;
    letter-spacing:-.04em;
}

.nc-partners-cta p:not(.nc-eyebrow){
    margin:0;
    max-width:570px;
    color:var(--nc-muted);
    font-size:1.03rem;
    line-height:1.7;
}

.nc-partners-cta__action{
    display:flex;
    align-items:center;
    justify-content:flex-end;
}

.nc-partners-cta .nc-button{
    white-space:nowrap;
}

@media(max-width:900px){

    .nc-partners-cta{
        padding:52px 0 58px;
    }

    .nc-partners-cta__inner{
        grid-template-columns:1fr;
        gap:26px;
    }

    .nc-partners-cta__action{
        justify-content:flex-start;
    }
}


/* =========================================================
   Notícias - alinhamento do Ler mais
   ========================================================= */

.nc-news-card{
    display:flex;
    flex-direction:column;
}

.nc-news-card .nc-card__body{
    display:flex;
    flex:1;
    flex-direction:column;
}

.nc-news-card .nc-text-link{
    margin-top:auto;
    padding-top:16px;
}


/* =========================================================
   Home - CTA final versão limpa
   ========================================================= */

.nc-cta{
    padding:58px 0 64px;
    background:#fff;
    color:var(--nc-navy);
    border-top:1px solid rgba(6,42,104,.10);
}

.nc-cta__inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:48px;
}

.nc-cta h2{
    margin:0 0 12px;
    color:var(--nc-navy);
    font-size:clamp(2.1rem,3.3vw,3.2rem);
    line-height:1.05;
    letter-spacing:-.035em;
}

.nc-cta p{
    margin:0;
    max-width:720px;
    color:var(--nc-muted);
    font-size:1.02rem;
    line-height:1.65;
}

.nc-cta .nc-button--light{
    flex-shrink:0;
    background:linear-gradient(
        90deg,
        var(--nc-teal-dark),
        var(--nc-teal)
    );
    color:#fff;
    box-shadow:none;
}

.nc-cta .nc-button--light:hover{
    box-shadow:0 10px 24px rgba(3,28,65,.12);
}

@media(max-width:760px){

    .nc-cta{
        padding:50px 0 56px;
    }

    .nc-cta__inner{
        display:block;
    }

    .nc-cta .nc-button{
        margin-top:24px;
    }
}


/* =========================================================
   Rodapé - reorganização final
   ========================================================= */

.nc-footer{
    padding:64px 0 24px;
    background:var(--nc-navy);
    color:#fff;
}

.nc-footer__grid{
    display:grid;
    grid-template-columns:1.35fr .75fr 1fr 1.15fr;
    gap:48px 64px;
    align-items:start;
}

.nc-footer__brand{
    max-width:310px;
}

.nc-footer__logo{
    display:inline-block;
    margin-bottom:22px;
}

.nc-footer__brand img{
    display:block;
    width:auto;
    height:auto;
    max-width:220px;
}

.nc-footer__note{
    margin:0;
    max-width:290px;
    color:rgba(255,255,255,.68);
    font-size:.95rem;
    line-height:1.6;
}

.nc-footer__initiative{
    margin-top:26px;
    padding:22px 0 0;
    border:0;
    border-top:1px solid rgba(255,255,255,.14);
}

.nc-footer__initiative span{
    display:block;
    margin-bottom:5px;
    color:rgba(255,255,255,.55);
    font-size:.72rem;
    text-transform:uppercase;
    letter-spacing:.08em;
}

.nc-footer__initiative strong{
    display:block;
    margin:0 0 6px;
    color:#fff;
    font-size:1.35rem;
    line-height:1.2;
}

.nc-footer__initiative p{
    margin:0;
    color:rgba(255,255,255,.68);
    font-size:.84rem;
    line-height:1.5;
}

.nc-footer__title{
    margin:3px 0 20px;
    color:#fff;
    font-size:.78rem;
    font-weight:900;
    letter-spacing:.13em;
    text-transform:uppercase;
}

.nc-footer__menu{
    list-style:none;
    margin:0;
    padding:0;
    display:grid;
    gap:12px;
}

.nc-footer__menu a{
    color:rgba(255,255,255,.76);
    font-size:.92rem;
    transition:color .2s ease;
}

.nc-footer__menu a:hover{
    color:#fff;
}

.nc-footer__address address{
    margin:0;
    color:rgba(255,255,255,.72);
    font-size:.92rem;
    line-height:1.75;
    font-style:normal;
}

.nc-footer__contact-block{
    min-width:0;
}

.nc-footer__email{
    display:block;
    margin-bottom:16px;
    color:rgba(255,255,255,.82);
    font-size:.92rem;
    overflow-wrap:anywhere;
}

.nc-footer__phones{
    display:grid;
    gap:6px;
}

.nc-footer__phones a{
    color:rgba(255,255,255,.72);
    font-size:.92rem;
}

.nc-footer__email:hover,
.nc-footer__phones a:hover{
    color:#fff;
}
.nc-footer__bottom{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    margin-top:50px;
    padding-top:22px;
    border-top:1px solid rgba(255,255,255,.14);
    color:rgba(255,255,255,.55);
    font-size:.78rem;
}

.nc-footer__legal a{
    color:rgba(255,255,255,.68);
}

.nc-footer__legal a:hover{
    color:#fff;
}

@media(max-width:1000px){

    .nc-footer__grid{
        grid-template-columns:1.2fr .8fr 1fr;
        gap:44px;
    }

    .nc-footer__contact-block{
        grid-column:3;
    }
}

@media(max-width:760px){

    .nc-footer{
        padding:52px 0 22px;
    }

    .nc-footer__grid{
        grid-template-columns:1fr;
        gap:38px;
    }

    .nc-footer__brand{
        max-width:none;
    }

    .nc-footer__contact-block{
        grid-column:auto;
    }

    .nc-footer__initiative{
        max-width:320px;
    }

    .nc-footer__bottom{
        display:block;
        margin-top:40px;
    }

    .nc-footer__legal{
        margin-top:12px;
    }
}


/* =========================================================
   Rodapé - acabamento final
   ========================================================= */

.nc-footer__email{
    color:rgba(255,255,255,.72);
}

.nc-footer__email:hover{
    color:#fff;
}


/* =========================================================
   Case Pampili - topo refinado
   ========================================================= */

.nc-case-hero{
    padding:64px 0 46px;
    background:
        radial-gradient(
            circle at 50% 0%,
            rgba(0,153,153,.08),
            transparent 34%
        ),
        linear-gradient(
            135deg,
            #eefaf9 0%,
            #f4f8fd 62%,
            #ffffff 100%
        );
    text-align:center;
}

.nc-case-hero__inner{
    max-width:900px;
    margin:0 auto;
}

.nc-case-hero__logo{
    display:flex;
    justify-content:center;
    margin-bottom:18px;
}

.nc-case-hero__logo img{
    display:block;
    width:auto;
    height:auto;
    max-width:220px;
    max-height:90px;
    object-fit:contain;
}

.nc-case-hero .nc-eyebrow{
    margin:0 0 10px;
    color:var(--nc-teal-dark);
}

.nc-case-hero h1{
    max-width:760px;
    margin:0 auto;
    color:var(--nc-navy);
    font-size:clamp(2rem,3.6vw,3.15rem);
    line-height:1.06;
    letter-spacing:-.035em;
}

@media(max-width:760px){

    .nc-case-hero{
        padding:52px 0 38px;
    }

    .nc-case-hero__logo img{
        max-width:180px;
        max-height:74px;
    }

    .nc-case-hero h1{
        font-size:clamp(1.9rem,9vw,2.6rem);
    }
}


/* =========================================================
   Case Pampili - padrão visual das páginas de parceiros
   ========================================================= */

.nc-page-featured--case-logo{
    min-height:220px;
    display:grid;
    place-items:center;
    margin-bottom:34px;
    padding:38px 44px;
    background:#fff;
    border:1px solid var(--nc-border);
    border-radius:24px;
    box-shadow:0 12px 30px rgba(3,28,65,.07);
    overflow:visible;
}

.nc-page-featured--case-logo img{
    display:block;
    width:auto;
    height:auto;
    max-width:min(420px,80%);
    max-height:140px;
    object-fit:contain;
}

.nc-case-content-title{
    margin:0 0 28px;
    color:var(--nc-navy);
    font-size:2rem;
    line-height:1.15;
    letter-spacing:-.025em;
}

.nc-page-featured--case{
    margin-top:0;
    margin-bottom:30px;
}

.nc-page-featured--case img{
    display:block;
    width:100%;
    height:auto;
    border-radius:22px;
}

@media(max-width:760px){

    .nc-page-featured--case-logo{
        min-height:180px;
        padding:30px 24px;
        margin-bottom:28px;
    }

    .nc-page-featured--case-logo img{
        max-width:85%;
        max-height:110px;
    }

    .nc-case-content-title{
        margin-bottom:24px;
        font-size:1.75rem;
    }
}


/* =========================================================
   Case Pampili - refinamento de espaçamento e imagem
   ========================================================= */

.nc-page-featured--case-logo{
    margin-top:-18px;
    margin-bottom:28px;
}

.nc-case-content-title{
    margin-bottom:22px;
}

.nc-page-featured--case{
    overflow:hidden;
    margin-bottom:34px;
    background:#fff;
    border:1px solid rgba(6,42,104,.08);
    border-radius:24px;
    box-shadow:0 12px 30px rgba(3,28,65,.07);
}

.nc-page-featured--case img{
    display:block;
    width:100%;
    height:auto;
    border-radius:0;
}

@media(max-width:760px){

    .nc-page-featured--case-logo{
        margin-top:-8px;
        margin-bottom:24px;
    }

    .nc-case-content-title{
        margin-bottom:20px;
    }

    .nc-page-featured--case{
        margin-bottom:28px;
        border-radius:20px;
    }
}


/* Case Pampili - imagem na resolução adequada */
.nc-page-featured--case{
    width:100%;
    max-width:685px;
    margin-left:auto;
    margin-right:auto;
}

@media(max-width:760px){
    .nc-page-featured--case{
        max-width:100%;
    }
}


/* Case Pampili - alinhamento final da imagem */
.nc-page-featured--case{
    max-width:760px;
    margin-left:0;
    margin-right:auto;
}

@media(max-width:760px){
    .nc-page-featured--case{
        max-width:100%;
    }
}


/* =========================================================
   Cases - resultados em destaque
   ========================================================= */

.single-nc_case .nc-content__inner > ul:first-of-type{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
    margin:22px 0 30px;
    padding:0;
    list-style:none;
}

.single-nc_case .nc-content__inner > ul:first-of-type li{
    position:relative;
    margin:0;
    padding:20px 22px 20px 24px;
    background:#fff;
    border:1px solid rgba(6,42,104,.10);
    border-radius:16px;
    color:#44536c;
    line-height:1.55;
    box-shadow:0 8px 22px rgba(3,28,65,.045);
}

.single-nc_case .nc-content__inner > ul:first-of-type li::before{
    content:"";
    position:absolute;
    left:0;
    top:18px;
    bottom:18px;
    width:4px;
    border-radius:0 4px 4px 0;
    background:var(--nc-teal);
}

.single-nc_case .nc-content__inner > ul:first-of-type strong{
    color:var(--nc-navy);
    font-size:1.08rem;
}

@media(max-width:760px){

    .single-nc_case .nc-content__inner > ul:first-of-type{
        grid-template-columns:1fr;
        gap:12px;
    }

}


/* =========================================================
   Case Pampili - reconhecimento
   ========================================================= */

.nc-case-recognition{
    margin-top:38px;
}

.nc-case-recognition > h2{
    margin-bottom:22px;
}

.nc-case-award{
    display:grid;
    grid-template-columns:180px minmax(0,1fr);
    gap:30px;
    align-items:center;
    padding:26px 28px;
    background:#fff;
    border:1px solid rgba(6,42,104,.10);
    border-radius:20px;
    box-shadow:0 10px 26px rgba(3,28,65,.05);
}

.nc-case-award__media{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:140px;
    padding:18px;
    background:#f8fafc;
    border-radius:16px;
}

.nc-case-award__media img{
    display:block;
    width:auto;
    height:auto;
    max-width:100%;
    max-height:120px;
    object-fit:contain;
}

.nc-case-award__content p{
    margin:0;
    color:#44536c;
    line-height:1.65;
}

.nc-case-award__content p + p{
    margin-top:12px;
}

.nc-case-award__content strong{
    color:var(--nc-navy);
    font-size:1.12rem;
}

@media(max-width:760px){

    .nc-case-award{
        grid-template-columns:1fr;
        gap:20px;
        padding:22px;
    }

    .nc-case-award__media{
        min-height:120px;
    }

    .nc-case-award__media img{
        max-height:100px;
    }
}


/* =========================================================
   Quem Somos - abertura institucional
   ========================================================= */

.nc-about-hero{
    padding:76px 0 72px;
    background:
        radial-gradient(
            circle at 12% 12%,
            rgba(0,153,153,.08),
            transparent 30%
        ),
        linear-gradient(
            135deg,
            #f4fbfa 0%,
            #f7f9fc 58%,
            #ffffff 100%
        );
}

.nc-about-hero__grid{
    display:grid;
    grid-template-columns:minmax(0,.95fr) minmax(420px,1.05fr);
    gap:64px;
    align-items:center;
}

.nc-about-hero__content{
    max-width:590px;
}

.nc-about-hero .nc-eyebrow{
    margin-bottom:14px;
    color:var(--nc-teal-dark);
}

.nc-about-hero h1{
    margin:0 0 24px;
    color:var(--nc-navy);
    font-size:clamp(3rem,5vw,5.2rem);
    line-height:.96;
    letter-spacing:-.045em;
}

.nc-about-hero__lead{
    margin:0 0 18px;
    color:var(--nc-navy);
    font-size:1.22rem;
    line-height:1.6;
    font-weight:600;
}

.nc-about-hero__content > p:not(.nc-eyebrow):not(.nc-about-hero__lead){
    margin:0;
    color:var(--nc-muted);
    font-size:1.02rem;
    line-height:1.75;
}

.nc-about-hero__media{
    position:relative;
    overflow:hidden;
    min-height:430px;
    border-radius:28px;
    box-shadow:0 18px 42px rgba(3,28,65,.10);
}

.nc-about-hero__media img{
    display:block;
    width:100%;
    height:100%;
    min-height:430px;
    object-fit:cover;
}

@media(max-width:900px){

    .nc-about-hero{
        padding:64px 0;
    }

    .nc-about-hero__grid{
        grid-template-columns:1fr;
        gap:40px;
    }

    .nc-about-hero__content{
        max-width:720px;
    }

    .nc-about-hero__media{
        min-height:360px;
    }

    .nc-about-hero__media img{
        min-height:360px;
    }
}

@media(max-width:760px){

    .nc-about-hero{
        padding:52px 0 48px;
    }

    .nc-about-hero h1{
        font-size:clamp(2.7rem,12vw,4rem);
    }

    .nc-about-hero__lead{
        font-size:1.08rem;
    }

    .nc-about-hero__media{
        min-height:280px;
        border-radius:22px;
    }

    .nc-about-hero__media img{
        min-height:280px;
    }
}


/* =========================================================
   Quem Somos - Nossa Essência
   ========================================================= */

.nc-about-essence{
    padding:88px 0 94px;
    background:#fff;
}

.nc-about-essence__heading{
    display:grid;
    grid-template-columns:minmax(0,1.05fr) minmax(300px,.75fr);
    gap:70px;
    align-items:end;
    margin-bottom:54px;
}

.nc-about-essence__heading > div{
    max-width:690px;
}

.nc-about-essence__heading .nc-eyebrow{
    margin:0 0 13px;
    color:var(--nc-teal-dark);
}

.nc-about-essence__heading h2{
    margin:0;
    color:var(--nc-navy);
    font-size:clamp(2.4rem,4vw,4rem);
    line-height:1.05;
    letter-spacing:-.04em;
}

.nc-about-essence__heading > p{
    margin:0;
    max-width:460px;
    color:var(--nc-muted);
    font-size:1.02rem;
    line-height:1.75;
}

.nc-about-essence__grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    border-top:1px solid rgba(6,42,104,.12);
    border-bottom:1px solid rgba(6,42,104,.12);
}

.nc-about-value{
    position:relative;
    padding:38px 38px 42px 0;
}

.nc-about-value + .nc-about-value{
    padding-left:38px;
    border-left:1px solid rgba(6,42,104,.12);
}

.nc-about-value__number{
    display:block;
    margin-bottom:28px;
    color:var(--nc-teal);
    font-size:.78rem;
    font-weight:900;
    letter-spacing:.12em;
}

.nc-about-value h3{
    margin:0 0 16px;
    color:var(--nc-navy);
    font-size:1.65rem;
    line-height:1.15;
    letter-spacing:-.025em;
}

.nc-about-value p{
    margin:0;
    color:#526179;
    font-size:.98rem;
    line-height:1.72;
}

@media(max-width:900px){

    .nc-about-essence{
        padding:72px 0 76px;
    }

    .nc-about-essence__heading{
        grid-template-columns:1fr;
        gap:24px;
        margin-bottom:44px;
    }

    .nc-about-essence__heading > p{
        max-width:680px;
    }

    .nc-about-essence__grid{
        grid-template-columns:1fr;
    }

    .nc-about-value,
    .nc-about-value + .nc-about-value{
        padding:30px 0;
        border-left:0;
    }

    .nc-about-value + .nc-about-value{
        border-top:1px solid rgba(6,42,104,.10);
    }

    .nc-about-value__number{
        margin-bottom:16px;
    }
}

@media(max-width:760px){

    .nc-about-essence{
        padding:60px 0 64px;
    }

    .nc-about-essence__heading h2{
        font-size:clamp(2.2rem,10vw,3rem);
    }

    .nc-about-value h3{
        font-size:1.5rem;
    }
}


/* =========================================================
   Quem Somos - Conheça a Circularidade
   ========================================================= */

.nc-about-cycle{
    padding:88px 0 94px;
    background:
        linear-gradient(
            180deg,
            #f4f9fb 0%,
            #eef6f8 100%
        );
}

.nc-about-cycle__heading{
    max-width:780px;
    margin:0 auto 42px;
    text-align:center;
}

.nc-about-cycle__heading .nc-eyebrow{
    margin:0 0 12px;
    color:var(--nc-teal-dark);
}

.nc-about-cycle__heading h2{
    margin:0 0 18px;
    color:var(--nc-navy);
    font-size:clamp(2.5rem,4vw,4rem);
    line-height:1.04;
    letter-spacing:-.04em;
}

.nc-about-cycle__heading > p{
    max-width:680px;
    margin:0 auto;
    color:var(--nc-muted);
    font-size:1.03rem;
    line-height:1.75;
}

.nc-about-cycle__media{
    position:relative;
    overflow:hidden;
    max-width:1000px;
    margin:0 auto 46px;
    border-radius:26px;
    background:#fff;
    box-shadow:0 16px 38px rgba(3,28,65,.08);
}

.nc-about-cycle__media img{
    display:block;
    width:100%;
    height:auto;
    object-fit:cover;
}

.nc-about-cycle__steps{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    max-width:1000px;
    margin:0 auto;
    border-top:1px solid rgba(6,42,104,.12);
}

.nc-about-cycle-step{
    position:relative;
    padding:30px 34px 0 0;
}

.nc-about-cycle-step + .nc-about-cycle-step{
    padding-left:34px;
    border-left:1px solid rgba(6,42,104,.10);
}

.nc-about-cycle-step > span{
    display:block;
    margin-bottom:14px;
    color:var(--nc-teal);
    font-size:.78rem;
    font-weight:900;
    letter-spacing:.12em;
}

.nc-about-cycle-step h3{
    margin:0 0 12px;
    color:var(--nc-navy);
    font-size:1.4rem;
    line-height:1.2;
    letter-spacing:-.02em;
}

.nc-about-cycle-step p{
    margin:0;
    color:#526179;
    font-size:.96rem;
    line-height:1.7;
}

@media(max-width:900px){

    .nc-about-cycle{
        padding:72px 0 76px;
    }

    .nc-about-cycle__steps{
        grid-template-columns:1fr;
    }

    .nc-about-cycle-step,
    .nc-about-cycle-step + .nc-about-cycle-step{
        padding:26px 0;
        border-left:0;
    }

    .nc-about-cycle-step + .nc-about-cycle-step{
        border-top:1px solid rgba(6,42,104,.10);
    }
}

@media(max-width:760px){

    .nc-about-cycle{
        padding:60px 0 64px;
    }

    .nc-about-cycle__heading{
        margin-bottom:32px;
    }

    .nc-about-cycle__heading h2{
        font-size:clamp(2.2rem,10vw,3rem);
    }

    .nc-about-cycle__media{
        margin-bottom:34px;
        border-radius:20px;
    }
}


/* =========================================================
   Quem Somos - Certificações e Premiações
   ========================================================= */

.nc-about-proof{
    padding:92px 0 96px;
    background:#fff;
}

.nc-about-proof__certifications,
.nc-about-proof__awards{
    display:grid;
    grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);
    gap:70px;
    align-items:center;
}

.nc-about-proof__awards{
    margin-top:72px;
    padding-top:72px;
    border-top:1px solid rgba(6,42,104,.10);
}

.nc-about-proof__heading{
    max-width:430px;
}

.nc-about-proof__heading .nc-eyebrow{
    margin:0 0 12px;
    color:var(--nc-teal-dark);
}

.nc-about-proof__heading h2{
    margin:0 0 16px;
    color:var(--nc-navy);
    font-size:clamp(2.2rem,3.4vw,3.3rem);
    line-height:1.06;
    letter-spacing:-.035em;
}

.nc-about-proof__heading > p{
    margin:0;
    color:var(--nc-muted);
    font-size:1rem;
    line-height:1.7;
}


/* Certificações */

.nc-about-certifications{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:16px;
    align-items:stretch;
}

.nc-about-certification{
    min-height:138px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px 18px;
    background:#fff;
    border:1px solid rgba(6,42,104,.10);
    border-radius:18px;
    transition:
        transform .25s ease,
        border-color .25s ease,
        box-shadow .25s ease;
}

.nc-about-certification:hover{
    transform:translateY(-3px);
    border-color:rgba(0,153,153,.28);
    box-shadow:0 10px 24px rgba(3,28,65,.07);
}

.nc-about-certification img{
    display:block;
    width:auto;
    height:auto;
    max-width:100%;
    max-height:72px;
    object-fit:contain;
}

/* Selo Ciclo é quadrado e precisa de outro equilíbrio visual */
.nc-about-certification:nth-child(4) img{
    max-height:92px;
    max-width:92px;
}


/* Premiações */

.nc-about-awards{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:18px;
    align-items:stretch;
}

.nc-about-award{
    min-height:160px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px 20px;
    background:#f8fafc;
    border-radius:18px;
}

.nc-about-award img{
    display:block;
    width:auto;
    height:auto;
    max-width:100%;
    max-height:105px;
    object-fit:contain;
}

/* WPO é vertical */
.nc-about-award:first-child img{
    max-height:118px;
}

/* Grandes Cases */
.nc-about-award:nth-child(2) img{
    max-height:100px;
}


@media(max-width:1000px){

    .nc-about-proof__certifications,
    .nc-about-proof__awards{
        grid-template-columns:1fr;
        gap:36px;
    }

    .nc-about-proof__heading{
        max-width:680px;
    }

    .nc-about-certifications,
    .nc-about-awards{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}


@media(max-width:760px){

    .nc-about-proof{
        padding:64px 0 68px;
    }

    .nc-about-proof__awards{
        margin-top:56px;
        padding-top:56px;
    }

    .nc-about-proof__heading h2{
        font-size:clamp(2.1rem,10vw,2.9rem);
    }

    .nc-about-certifications,
    .nc-about-awards{
        gap:12px;
    }

    .nc-about-certification{
        min-height:120px;
        padding:20px 14px;
    }

    .nc-about-certification img{
        max-height:60px;
    }

    .nc-about-certification:nth-child(4) img{
        max-height:78px;
        max-width:78px;
    }

    .nc-about-award{
        min-height:135px;
        padding:20px 14px;
    }

    .nc-about-award img{
        max-height:88px;
    }
}


/* Quem Somos - equilíbrio visual do Selo Ciclo */
.nc-about-certification:nth-child(4) img{
    max-width:135px;
    max-height:135px;
    transform:scale(1.35);
}

@media(max-width:760px){
    .nc-about-certification:nth-child(4) img{
        max-width:105px;
        max-height:105px;
        transform:scale(1.25);
    }
}


/* =========================================================
   Quem Somos - interação das certificações
   ========================================================= */

.nc-about-certification{
    position:relative;
    overflow:hidden;
}

.nc-about-certification > img{
    position:relative;
    z-index:1;
    transition:
        opacity .28s ease,
        transform .28s ease;
}

.nc-about-certification__info{
    position:absolute;
    inset:0;
    z-index:2;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:18px;
    background:rgba(255,255,255,.96);
    opacity:0;
    transform:translateY(8px);
    pointer-events:none;
    transition:
        opacity .28s ease,
        transform .28s ease;
}

.nc-about-certification__info strong{
    display:block;
    margin-bottom:8px;
    color:var(--nc-navy);
    font-size:.92rem;
    line-height:1.2;
}

.nc-about-certification__info p{
    margin:0;
    color:#526179;
    font-size:.76rem;
    line-height:1.45;
}


/* Desktop com hover */

@media(hover:hover){

    .nc-about-certification:hover > img{
        opacity:.08;
        transform:scale(.96);
    }

    .nc-about-certification:hover .nc-about-certification__info{
        opacity:1;
        transform:translateY(0);
    }

    /* Mantém o equilíbrio especial do selo GHG */
    .nc-about-certification:nth-child(4):hover > img{
        opacity:.08;
        transform:scale(1.28);
    }
}


/* Dispositivos sem hover */

@media(hover:none){

    .nc-about-certification{
        min-height:auto;
        flex-direction:column;
        gap:18px;
        padding:22px 16px;
    }

    .nc-about-certification__info{
        position:static;
        display:block;
        width:100%;
        padding:16px 0 0;
        border-top:1px solid rgba(6,42,104,.08);
        background:transparent;
        opacity:1;
        transform:none;
        pointer-events:auto;
    }

    .nc-about-certification__info strong{
        font-size:.88rem;
    }

    .nc-about-certification__info p{
        font-size:.78rem;
    }
}


/* =========================================================
   Quem Somos - fechamento / impacto socioambiental
   ========================================================= */

.nc-about-impact{
    padding:92px 0 98px;
    background:#fff;
    border-top:1px solid rgba(6,42,104,.08);
}

.nc-about-impact__grid{
    display:grid;
    grid-template-columns:minmax(0,1.02fr) minmax(360px,.98fr);
    gap:72px;
    align-items:center;
}

.nc-about-impact__media{
    position:relative;
    overflow:hidden;
    border-radius:26px;
    background:#f7fafc;
    box-shadow:0 16px 38px rgba(3,28,65,.08);
}

.nc-about-impact__media img{
    display:block;
    width:100%;
    height:auto;
    transition:transform .5s ease;
}

.nc-about-impact__media:hover img{
    transform:scale(1.035);
}

.nc-about-impact__content{
    max-width:560px;
}

.nc-about-impact__content .nc-eyebrow{
    margin:0 0 14px;
    color:var(--nc-teal-dark);
}

.nc-about-impact__content h2{
    margin:0 0 22px;
    color:var(--nc-navy);
    font-size:clamp(2.35rem,3.8vw,3.7rem);
    line-height:1.05;
    letter-spacing:-.04em;
}

.nc-about-impact__content p{
    margin:0;
    color:var(--nc-muted);
    font-size:1.02rem;
    line-height:1.72;
}

.nc-about-impact__content p + p{
    margin-top:16px;
}

.nc-about-impact__content .nc-button{
    margin-top:28px;
}

@media(max-width:900px){

    .nc-about-impact{
        padding:74px 0 80px;
    }

    .nc-about-impact__grid{
        grid-template-columns:1fr;
        gap:40px;
    }

    .nc-about-impact__content{
        max-width:680px;
    }

}

@media(max-width:760px){

    .nc-about-impact{
        padding:60px 0 66px;
    }

    .nc-about-impact__media{
        border-radius:20px;
    }

    .nc-about-impact__content h2{
        font-size:clamp(2.1rem,10vw,3rem);
    }

}


/* =========================================================
   Quem Somos - fechamento / layout final
   ========================================================= */

.nc-about-impact{
    padding:72px 0 76px;
}

.nc-about-impact__heading{
    max-width:1180px;
    margin:0 auto 36px;
}

.nc-about-impact__heading .nc-eyebrow{
    margin:0 0 12px;
    color:var(--nc-teal-dark);
}

.nc-about-impact__heading h2{
    margin:0;
    max-width:1150px;
    color:var(--nc-navy);
    font-size:clamp(2.4rem,3.2vw,2.9rem);
    line-height:1.08;
    letter-spacing:-.035em;
}

.nc-about-impact__body{
    display:grid;
    grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);
    gap:52px;
    align-items:center;
}

.nc-about-impact__media{
    margin:0;
    border-radius:24px;
}

.nc-about-impact__media img{
    width:100%;
    height:auto;
}

.nc-about-impact__content{
    max-width:520px;
}

.nc-about-impact__content p{
    margin:0;
    color:var(--nc-muted);
    font-size:1.02rem;
    line-height:1.75;
}

.nc-about-impact__content p + p{
    margin-top:18px;
}

.nc-about-impact__action{
    display:flex;
    justify-content:center;
    margin-top:34px;
}

.nc-about-impact__action .nc-button{
    margin:0;
}


@media(max-width:900px){

    .nc-about-impact{
        padding:64px 0 68px;
    }

    .nc-about-impact__heading{
        margin-bottom:30px;
    }

    .nc-about-impact__body{
        grid-template-columns:1fr;
        gap:30px;
    }

    .nc-about-impact__content{
        max-width:680px;
    }

}


@media(max-width:760px){

    .nc-about-impact{
        padding:54px 0 58px;
    }

    .nc-about-impact__heading h2{
        font-size:clamp(2.1rem,9vw,2.8rem);
    }

    .nc-about-impact__body{
        gap:26px;
    }

    .nc-about-impact__action{
        margin-top:28px;
    }

}


/* Quem Somos - alinhamento final do bloco de impacto */
.nc-about-impact__body{
    align-items:start;
}

.nc-about-impact__content{
    padding-top:4px;
}

.nc-about-impact__content .nc-button{
    display:inline-flex;
    margin-top:26px;
}

.nc-about-impact__action{
    display:none;
}

@media(max-width:900px){
    .nc-about-impact__content{
        padding-top:0;
    }
}


/* Quem Somos - transição final entre premiações e impacto */
.nc-about-proof{
    padding-bottom:58px;
}

.nc-about-impact{
    padding-top:56px;
}

@media(max-width:760px){
    .nc-about-proof{
        padding-bottom:48px;
    }

    .nc-about-impact{
        padding-top:48px;
    }
}


/* =========================================================
   Projetos / Impacto - página principal
   ========================================================= */

.nc-projects-hero{
    padding:78px 0 74px;
    background:
        radial-gradient(
            circle at 12% 10%,
            rgba(0,153,153,.09),
            transparent 30%
        ),
        linear-gradient(
            135deg,
            #f3fbfa 0%,
            #f3f7fb 60%,
            #ffffff 100%
        );
}

.nc-projects-hero__inner{
    max-width:920px;
}

.nc-projects-hero .nc-eyebrow{
    margin:0 0 14px;
    color:var(--nc-teal-dark);
}

.nc-projects-hero h1{
    margin:0;
    max-width:900px;
    color:var(--nc-navy);
    font-size:clamp(3rem,5.2vw,5rem);
    line-height:.98;
    letter-spacing:-.045em;
}

.nc-projects-hero h1 span{
    display:block;
    color:var(--nc-teal-dark);
}

.nc-projects-hero__lead{
    max-width:680px;
    margin:24px 0 0;
    color:var(--nc-muted);
    font-size:1.12rem;
    line-height:1.72;
}


/* Introdução */

.nc-projects-list{
    padding:88px 0 100px;
    background:#fff;
}

.nc-projects-list__heading{
    display:grid;
    grid-template-columns:minmax(0,1.08fr) minmax(300px,.72fr);
    gap:70px;
    align-items:end;
    margin-bottom:62px;
}

.nc-projects-list__heading > div{
    max-width:720px;
}

.nc-projects-list__heading .nc-eyebrow{
    margin:0 0 12px;
    color:var(--nc-teal-dark);
}

.nc-projects-list__heading h2{
    margin:0;
    color:var(--nc-navy);
    font-size:clamp(2.4rem,4vw,3.8rem);
    line-height:1.05;
    letter-spacing:-.04em;
}

.nc-projects-list__heading > p{
    margin:0;
    max-width:440px;
    color:var(--nc-muted);
    font-size:1rem;
    line-height:1.72;
}


/* Projetos */

.nc-projects-list__items{
    display:grid;
    gap:0;
}

.nc-project-entry{
    display:grid;
    grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);
    gap:64px;
    align-items:center;
    padding:58px 0;
    border-top:1px solid rgba(6,42,104,.10);
}

.nc-project-entry:last-child{
    border-bottom:1px solid rgba(6,42,104,.10);
}

.nc-project-entry--reverse{
    grid-template-columns:minmax(340px,.92fr) minmax(0,1.08fr);
}

.nc-project-entry--reverse .nc-project-entry__media{
    order:2;
}

.nc-project-entry--reverse .nc-project-entry__content{
    order:1;
}


/* Imagem */

.nc-project-entry__media{
    display:block;
    overflow:hidden;
    border-radius:24px;
    background:#f5f8fa;
    box-shadow:0 14px 34px rgba(3,28,65,.08);
}

.nc-project-entry__media img{
    display:block;
    width:100%;
    aspect-ratio:16 / 9;
    object-fit:cover;
    transition:transform .5s ease;
}

.nc-project-entry__media:hover img{
    transform:scale(1.045);
}


/* Conteúdo */

.nc-project-entry__content{
    max-width:500px;
}

.nc-project-entry__number{
    display:block;
    margin-bottom:18px;
    color:var(--nc-teal);
    font-size:.78rem;
    font-weight:900;
    letter-spacing:.14em;
}

.nc-project-entry__content h3{
    margin:0 0 18px;
    color:var(--nc-navy);
    font-size:clamp(2rem,3vw,3rem);
    line-height:1.05;
    letter-spacing:-.035em;
}

.nc-project-entry__content p{
    margin:0;
    color:var(--nc-muted);
    font-size:1.02rem;
    line-height:1.72;
}

.nc-project-entry__content .nc-text-link{
    display:inline-block;
    margin-top:22px;
}


/* Responsivo */

@media(max-width:900px){

    .nc-projects-hero{
        padding:66px 0 62px;
    }

    .nc-projects-list{
        padding:72px 0 82px;
    }

    .nc-projects-list__heading{
        grid-template-columns:1fr;
        gap:24px;
        margin-bottom:42px;
    }

    .nc-projects-list__heading > p{
        max-width:680px;
    }

    .nc-project-entry,
    .nc-project-entry--reverse{
        grid-template-columns:1fr;
        gap:30px;
        padding:44px 0;
    }

    .nc-project-entry--reverse .nc-project-entry__media,
    .nc-project-entry--reverse .nc-project-entry__content{
        order:initial;
    }

    .nc-project-entry__content{
        max-width:680px;
    }
}


@media(max-width:760px){

    .nc-projects-hero{
        padding:54px 0 52px;
    }

    .nc-projects-hero h1{
        font-size:clamp(2.7rem,11vw,4rem);
    }

    .nc-projects-hero__lead{
        font-size:1.03rem;
    }

    .nc-projects-list{
        padding:60px 0 68px;
    }

    .nc-projects-list__heading h2{
        font-size:clamp(2.2rem,10vw,3rem);
    }

    .nc-project-entry{
        padding:36px 0;
    }

    .nc-project-entry__media{
        border-radius:20px;
    }

    .nc-project-entry__content h3{
        font-size:2rem;
    }
}


/* =========================================================
   Projetos / Impacto - hero com imagem
   ========================================================= */

.nc-projects-hero{
    padding:68px 0 64px;
}

.nc-projects-hero__grid{
    display:grid;
    grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);
    gap:58px;
    align-items:center;
}

.nc-projects-hero__content{
    max-width:860px;
}

.nc-projects-hero__media{
    position:relative;
    overflow:hidden;
    height:470px;
    border-radius:28px;
    background:#eef4f7;
    box-shadow:0 18px 42px rgba(3,28,65,.10);
}

.nc-projects-hero__media img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
}

@media(max-width:1000px){

    .nc-projects-hero__grid{
        grid-template-columns:minmax(0,1fr) minmax(280px,.72fr);
        gap:38px;
    }

    .nc-projects-hero__media{
        height:420px;
    }

}

@media(max-width:820px){

    .nc-projects-hero__grid{
        grid-template-columns:1fr;
        gap:34px;
    }

    .nc-projects-hero__media{
        height:360px;
    }

}

@media(max-width:760px){

    .nc-projects-hero{
        padding:52px 0 50px;
    }

    .nc-projects-hero__media{
        height:320px;
        border-radius:22px;
    }

}


/* =========================================================
   Notícias - página principal
   ========================================================= */

.nc-news-hero{
    padding:76px 0 68px;
    background:
        radial-gradient(
            circle at 12% 12%,
            rgba(0,153,153,.08),
            transparent 30%
        ),
        linear-gradient(
            135deg,
            #f4fbfa 0%,
            #f5f8fc 60%,
            #ffffff 100%
        );
}

.nc-news-hero__inner{
    max-width:920px;
}

.nc-news-hero .nc-eyebrow{
    margin:0 0 14px;
    color:var(--nc-teal-dark);
}

.nc-news-hero h1{
    margin:0;
    max-width:900px;
    color:var(--nc-navy);
    font-size:clamp(3rem,5vw,4.8rem);
    line-height:1;
    letter-spacing:-.045em;
}

.nc-news-hero h1 span{
    display:block;
    color:var(--nc-teal-dark);
}

.nc-news-hero__lead{
    max-width:680px;
    margin:24px 0 0;
    color:var(--nc-muted);
    font-size:1.1rem;
    line-height:1.72;
}


/* Notícia em destaque */

.nc-news-featured{
    padding:78px 0 72px;
    background:#fff;
}

.nc-news-featured__grid{
    display:grid;
    grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
    gap:58px;
    align-items:center;
}

.nc-news-featured__media{
    display:block;
    overflow:hidden;
    border-radius:26px;
    background:#f5f8fa;
    box-shadow:0 16px 38px rgba(3,28,65,.08);
}

.nc-news-featured__media img{
    display:block;
    width:100%;
    aspect-ratio:16 / 10;
    object-fit:cover;
    transition:transform .5s ease;
}

.nc-news-featured__media:hover img{
    transform:scale(1.035);
}

.nc-news-featured__content{
    max-width:520px;
}

.nc-news-featured__content .nc-eyebrow{
    margin:0 0 10px;
    color:var(--nc-teal-dark);
}

.nc-news-featured__content time{
    display:block;
    margin-bottom:14px;
    color:var(--nc-muted);
    font-size:.82rem;
    font-weight:700;
    letter-spacing:.03em;
}

.nc-news-featured__content h2{
    margin:0 0 18px;
    color:var(--nc-navy);
    font-size:clamp(2rem,3vw,3rem);
    line-height:1.08;
    letter-spacing:-.03em;
}

.nc-news-featured__content h2 a{
    color:inherit;
}

.nc-news-featured__content p{
    margin:0;
    color:var(--nc-muted);
    font-size:1rem;
    line-height:1.7;
}

.nc-news-featured__content .nc-text-link{
    display:inline-block;
    margin-top:22px;
}


/* Lista de notícias */

.nc-news-list{
    padding:72px 0 94px;
    background:#f7fafc;
    border-top:1px solid rgba(6,42,104,.08);
}

.nc-news-list__heading{
    margin-bottom:36px;
}

.nc-news-list__heading .nc-eyebrow{
    margin:0 0 10px;
    color:var(--nc-teal-dark);
}

.nc-news-list__heading h2{
    margin:0;
    color:var(--nc-navy);
    font-size:clamp(2.2rem,3.5vw,3.4rem);
    line-height:1.06;
    letter-spacing:-.035em;
}

.nc-news-list__grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px;
}

.nc-news-list-card{
    display:flex;
    flex-direction:column;
    overflow:hidden;
    background:#fff;
    border:1px solid rgba(6,42,104,.08);
    border-radius:22px;
    box-shadow:0 10px 26px rgba(3,28,65,.045);
}

.nc-news-list-card__media{
    display:block;
    overflow:hidden;
}

.nc-news-list-card__media img{
    display:block;
    width:100%;
    aspect-ratio:16 / 9;
    object-fit:cover;
    transition:transform .45s ease;
}

.nc-news-list-card__media:hover img{
    transform:scale(1.04);
}

.nc-news-list-card__body{
    display:flex;
    flex:1;
    flex-direction:column;
    padding:24px 26px 26px;
}

.nc-news-list-card__body time{
    display:block;
    margin-bottom:12px;
    color:var(--nc-muted);
    font-size:.8rem;
    font-weight:700;
}

.nc-news-list-card__body h3{
    margin:0 0 14px;
    color:var(--nc-navy);
    font-size:1.45rem;
    line-height:1.2;
    letter-spacing:-.02em;
}

.nc-news-list-card__body h3 a{
    color:inherit;
}

.nc-news-list-card__body p{
    margin:0;
    color:var(--nc-muted);
    font-size:.95rem;
    line-height:1.65;
}

.nc-news-list-card__body .nc-text-link{
    margin-top:auto;
    padding-top:20px;
}


/* Responsivo */

@media(max-width:900px){

    .nc-news-hero{
        padding:64px 0 58px;
    }

    .nc-news-featured{
        padding:64px 0 60px;
    }

    .nc-news-featured__grid{
        grid-template-columns:1fr;
        gap:34px;
    }

    .nc-news-featured__content{
        max-width:720px;
    }

}

@media(max-width:760px){

    .nc-news-hero{
        padding:52px 0 48px;
    }

    .nc-news-hero h1{
        font-size:clamp(2.7rem,11vw,4rem);
    }

    .nc-news-featured{
        padding:52px 0 54px;
    }

    .nc-news-featured__media{
        border-radius:20px;
    }

    .nc-news-list{
        padding:56px 0 64px;
    }

    .nc-news-list__grid{
        grid-template-columns:1fr;
        gap:18px;
    }

    .nc-news-list-card{
        border-radius:18px;
    }

}


/* =========================================================
   Notícias - listagem no padrão da página Impacto
   ========================================================= */

.nc-news-archive{
    padding:88px 0 100px;
    background:#fff;
}


/* Introdução */

.nc-news-archive__heading{
    display:grid;
    grid-template-columns:minmax(0,1.08fr) minmax(300px,.72fr);
    gap:70px;
    align-items:end;
    margin-bottom:62px;
}

.nc-news-archive__heading > div{
    max-width:720px;
}

.nc-news-archive__heading .nc-eyebrow{
    margin:0 0 12px;
    color:var(--nc-teal-dark);
}

.nc-news-archive__heading h2{
    margin:0;
    color:var(--nc-navy);
    font-size:clamp(2.4rem,4vw,3.8rem);
    line-height:1.05;
    letter-spacing:-.04em;
}

.nc-news-archive__heading > p{
    margin:0;
    max-width:440px;
    color:var(--nc-muted);
    font-size:1rem;
    line-height:1.72;
}


/* Lista */

.nc-news-archive__items{
    display:grid;
    gap:0;
}

.nc-news-entry{
    display:grid;
    grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);
    gap:64px;
    align-items:center;
    padding:58px 0;
    border-top:1px solid rgba(6,42,104,.10);
}

.nc-news-entry:last-child{
    border-bottom:1px solid rgba(6,42,104,.10);
}

.nc-news-entry--reverse{
    grid-template-columns:minmax(340px,.92fr) minmax(0,1.08fr);
}

.nc-news-entry--reverse .nc-news-entry__media{
    order:2;
}

.nc-news-entry--reverse .nc-news-entry__content{
    order:1;
}


/* Imagem */

.nc-news-entry__media{
    display:block;
    overflow:hidden;
    border-radius:24px;
    background:#f5f8fa;
    box-shadow:0 14px 34px rgba(3,28,65,.08);
}

.nc-news-entry__media img{
    display:block;
    width:100%;
    aspect-ratio:16 / 9;
    object-fit:cover;
    transition:transform .5s ease;
}

.nc-news-entry__media:hover img{
    transform:scale(1.045);
}


/* Conteúdo */

.nc-news-entry__content{
    max-width:520px;
}

.nc-news-entry__meta{
    display:flex;
    align-items:center;
    gap:16px;
    margin-bottom:18px;
}

.nc-news-entry__number{
    color:var(--nc-teal);
    font-size:.78rem;
    font-weight:900;
    letter-spacing:.14em;
}

.nc-news-entry__meta time{
    position:relative;
    padding-left:16px;
    color:var(--nc-muted);
    font-size:.8rem;
    font-weight:700;
}

.nc-news-entry__meta time::before{
    content:"";
    position:absolute;
    left:0;
    top:50%;
    width:4px;
    height:4px;
    margin-top:-2px;
    border-radius:50%;
    background:rgba(6,42,104,.28);
}

.nc-news-entry__content h3{
    margin:0 0 18px;
    color:var(--nc-navy);
    font-size:clamp(1.9rem,2.8vw,2.75rem);
    line-height:1.08;
    letter-spacing:-.03em;
}

.nc-news-entry__content > p{
    margin:0;
    color:var(--nc-muted);
    font-size:1rem;
    line-height:1.72;
}

.nc-news-entry__button{
    margin-top:24px;
}


/* Responsivo */

@media(max-width:900px){

    .nc-news-archive{
        padding:72px 0 82px;
    }

    .nc-news-archive__heading{
        grid-template-columns:1fr;
        gap:24px;
        margin-bottom:42px;
    }

    .nc-news-archive__heading > p{
        max-width:680px;
    }

    .nc-news-entry,
    .nc-news-entry--reverse{
        grid-template-columns:1fr;
        gap:30px;
        padding:44px 0;
    }

    .nc-news-entry--reverse .nc-news-entry__media,
    .nc-news-entry--reverse .nc-news-entry__content{
        order:initial;
    }

    .nc-news-entry__content{
        max-width:680px;
    }
}


@media(max-width:760px){

    .nc-news-archive{
        padding:60px 0 68px;
    }

    .nc-news-archive__heading h2{
        font-size:clamp(2.2rem,10vw,3rem);
    }

    .nc-news-entry{
        padding:36px 0;
    }

    .nc-news-entry__media{
        border-radius:20px;
    }

    .nc-news-entry__content h3{
        font-size:1.9rem;
    }
}


/* =========================================================
   Notícias - página individual
   ========================================================= */

.nc-news-single .nc-content{
    padding:64px 0 78px;
}

.nc-news-single__article{
    max-width:920px;
}


/* Cabeçalho */

.nc-news-single__header{
    margin-bottom:34px;
}

.nc-news-single__meta{
    display:flex;
    align-items:center;
    gap:16px;
    margin-bottom:16px;
}

.nc-news-single__meta .nc-eyebrow{
    margin:0;
    color:var(--nc-teal-dark);
}

.nc-news-single__meta time{
    position:relative;
    padding-left:16px;
    color:var(--nc-muted);
    font-size:.82rem;
    font-weight:700;
}

.nc-news-single__meta time::before{
    content:"";
    position:absolute;
    left:0;
    top:50%;
    width:4px;
    height:4px;
    margin-top:-2px;
    border-radius:50%;
    background:rgba(6,42,104,.28);
}

.nc-news-single__header h1{
    margin:0;
    max-width:900px;
    color:var(--nc-navy);
    font-size:clamp(2.4rem,4vw,4rem);
    line-height:1.04;
    letter-spacing:-.04em;
}


/* Imagem principal */

.nc-news-single__featured{
    overflow:hidden;
    margin-bottom:38px;
    border-radius:24px;
    background:#f5f8fa;
    box-shadow:0 14px 34px rgba(3,28,65,.08);
}

.nc-news-single__featured img{
    display:block;
    width:100%;
    height:auto;
}


/* Conteúdo */

.nc-news-single__content{
    max-width:820px;
}

.nc-news-single__content p{
    margin:0 0 20px;
    color:#44536c;
    font-size:1.05rem;
    line-height:1.78;
}

.nc-news-single__content h2{
    margin:38px 0 16px;
    color:var(--nc-navy);
    font-size:2rem;
    line-height:1.15;
    letter-spacing:-.025em;
}

.nc-news-single__content h3{
    margin:30px 0 14px;
    color:var(--nc-navy);
    font-size:1.55rem;
    line-height:1.2;
}

.nc-news-single__content ul,
.nc-news-single__content ol{
    margin:0 0 24px;
    padding-left:24px;
    color:#44536c;
    line-height:1.75;
}

.nc-news-single__content a{
    color:var(--nc-teal-dark);
    text-decoration:underline;
    text-underline-offset:3px;
}


/* Retorno */

.nc-news-single__back{
    margin-top:48px;
    padding-top:24px;
    border-top:1px solid rgba(6,42,104,.10);
}


/* Responsivo */

@media(max-width:760px){

    .nc-news-single .nc-content{
        padding:50px 0 60px;
    }

    .nc-news-single__header{
        margin-bottom:28px;
    }

    .nc-news-single__header h1{
        font-size:clamp(2.1rem,10vw,3rem);
    }

    .nc-news-single__featured{
        margin-bottom:30px;
        border-radius:20px;
    }

    .nc-news-single__content p{
        font-size:1rem;
    }

}


/* =========================================================
   Notícias - alinhamento vertical da listagem
   ========================================================= */

.nc-news-entry{
    align-items:start;
}

.nc-news-entry__content{
    padding-top:8px;
}

@media(max-width:900px){
    .nc-news-entry__content{
        padding-top:0;
    }
}


/* =========================================================
   Notícias - Escola Sustentável sem recorte
   ========================================================= */

.nc-news-entry:nth-child(2) .nc-news-entry__media{
    display:flex;
    align-items:center;
    justify-content:center;
    background:#f7fafc;
}

.nc-news-entry:nth-child(2) .nc-news-entry__media img{
    width:100%;
    height:auto;
    aspect-ratio:auto;
    object-fit:contain;
    object-position:center;
}


/* =========================================================
   Notícias - Escola Sustentável ajuste final da imagem
   ========================================================= */

.nc-news-entry:nth-child(2) .nc-news-entry__media{
    display:block;
    width:100%;
    height:auto;
    min-height:0;
    aspect-ratio:16 / 9;
    overflow:hidden;
    background:#f7fafc;
}

.nc-news-entry:nth-child(2) .nc-news-entry__media img{
    display:block;
    width:100%;
    height:100%;
    aspect-ratio:auto;
    object-fit:contain;
    object-position:center;
}


/* =========================================================
   Notícias - estrutura final da biblioteca
   ========================================================= */


/* ---------------------------------------------------------
   Hero / notícia em destaque
   --------------------------------------------------------- */

.nc-news-showcase{
    padding:70px 0 68px;
    background:
        radial-gradient(
            circle at 12% 12%,
            rgba(0,153,153,.08),
            transparent 31%
        ),
        linear-gradient(
            135deg,
            #f3fbfa 0%,
            #f4f8fc 58%,
            #ffffff 100%
        );
}

.nc-news-showcase__grid{
    display:grid;
    grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);
    gap:64px;
    align-items:center;
}

.nc-news-showcase__content{
    max-width:620px;
}

.nc-news-showcase .nc-eyebrow{
    margin:0 0 16px;
    color:var(--nc-teal-dark);
}

.nc-news-showcase__meta{
    display:flex;
    align-items:center;
    gap:14px;
    margin-bottom:16px;
}

.nc-news-showcase__meta span{
    color:var(--nc-teal);
    font-size:.76rem;
    font-weight:900;
    letter-spacing:.10em;
}

.nc-news-showcase__meta time{
    position:relative;
    padding-left:14px;
    color:var(--nc-muted);
    font-size:.82rem;
    font-weight:700;
}

.nc-news-showcase__meta time::before{
    content:"";
    position:absolute;
    left:0;
    top:50%;
    width:4px;
    height:4px;
    margin-top:-2px;
    border-radius:50%;
    background:rgba(6,42,104,.28);
}

.nc-news-showcase h1{
    margin:0;
    color:var(--nc-navy);
    font-size:clamp(2.55rem,4vw,4.1rem);
    line-height:1.03;
    letter-spacing:-.042em;
}

.nc-news-showcase__excerpt{
    margin:22px 0 0;
    color:var(--nc-muted);
    font-size:1.04rem;
    line-height:1.7;
}

.nc-news-showcase .nc-button{
    margin-top:26px;
}

.nc-news-showcase__media{
    display:block;
    overflow:hidden;
    border-radius:28px;
    background:#f4f7f9;
    box-shadow:0 18px 42px rgba(3,28,65,.10);
}

.nc-news-showcase__media img{
    display:block;
    width:100%;
    aspect-ratio:16 / 10;
    object-fit:cover;
    transition:transform .5s ease;
}

.nc-news-showcase__media:hover img{
    transform:scale(1.035);
}


/* ---------------------------------------------------------
   Biblioteca de notícias
   --------------------------------------------------------- */

.nc-news-library{
    padding:84px 0 96px;
    background:#fff;
}

.nc-news-library__heading{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(320px,.72fr);
    gap:64px;
    align-items:end;
    margin-bottom:38px;
}

.nc-news-library__heading > div{
    max-width:680px;
}

.nc-news-library__heading .nc-eyebrow{
    margin:0 0 12px;
    color:var(--nc-teal-dark);
}

.nc-news-library__heading h2{
    margin:0;
    color:var(--nc-navy);
    font-size:clamp(2.4rem,3.8vw,3.6rem);
    line-height:1.05;
    letter-spacing:-.04em;
}

.nc-news-library__heading > p{
    margin:0;
    max-width:440px;
    color:var(--nc-muted);
    font-size:1rem;
    line-height:1.7;
}


/* ---------------------------------------------------------
   Busca
   --------------------------------------------------------- */

.nc-news-search{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:12px;
    max-width:820px;
    margin-bottom:22px;
}

.nc-news-search input[type="search"]{
    width:100%;
    min-height:52px;
    padding:0 20px;
    color:var(--nc-navy);
    font:inherit;
    background:#f8fafc;
    border:1px solid rgba(6,42,104,.12);
    border-radius:14px;
    outline:none;
    transition:
        border-color .2s ease,
        box-shadow .2s ease,
        background .2s ease;
}

.nc-news-search input[type="search"]::placeholder{
    color:#7d899a;
}

.nc-news-search input[type="search"]:focus{
    background:#fff;
    border-color:rgba(0,153,153,.45);
    box-shadow:0 0 0 4px rgba(0,153,153,.08);
}

.nc-news-search__button{
    min-height:52px;
    padding:0 26px;
    border:0;
    border-radius:14px;
    background:var(--nc-navy);
    color:#fff;
    font:inherit;
    font-weight:800;
    cursor:pointer;
    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.nc-news-search__button:hover{
    transform:translateY(-2px);
    box-shadow:0 10px 22px rgba(3,28,65,.12);
}


/* ---------------------------------------------------------
   Filtros
   --------------------------------------------------------- */

.nc-news-filters{
    display:flex;
    flex-wrap:wrap;
    gap:9px;
    margin-bottom:36px;
}

.nc-news-filter{
    display:inline-flex;
    align-items:center;
    min-height:38px;
    padding:0 16px;
    border:1px solid rgba(6,42,104,.12);
    border-radius:999px;
    background:#fff;
    color:var(--nc-muted);
    font-size:.84rem;
    font-weight:700;
    transition:
        color .2s ease,
        border-color .2s ease,
        background .2s ease;
}

.nc-news-filter:hover{
    color:var(--nc-navy);
    border-color:rgba(0,153,153,.32);
}

.nc-news-filter.is-active{
    background:var(--nc-teal-dark);
    border-color:var(--nc-teal-dark);
    color:#fff;
}


/* ---------------------------------------------------------
   Resultado da busca
   --------------------------------------------------------- */

.nc-news-results-info{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    margin:-12px 0 28px;
    padding:14px 0;
    border-bottom:1px solid rgba(6,42,104,.08);
    color:var(--nc-muted);
    font-size:.88rem;
}

.nc-news-results-info a{
    color:var(--nc-teal-dark);
    font-weight:800;
}


/* ---------------------------------------------------------
   Grade
   --------------------------------------------------------- */

.nc-news-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:26px;
}

.nc-news-grid-card{
    display:flex;
    flex-direction:column;
    overflow:hidden;
    background:#fff;
    border:1px solid rgba(6,42,104,.09);
    border-radius:20px;
    box-shadow:0 8px 24px rgba(3,28,65,.045);
    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;
}

.nc-news-grid-card:hover{
    transform:translateY(-3px);
    border-color:rgba(0,153,153,.22);
    box-shadow:0 14px 30px rgba(3,28,65,.08);
}

.nc-news-grid-card__media{
    display:block;
    overflow:hidden;
    background:#f5f8fa;
}

.nc-news-grid-card__media img{
    display:block;
    width:100%;
    aspect-ratio:16 / 9;
    object-fit:cover;
    transition:transform .45s ease;
}

.nc-news-grid-card:hover .nc-news-grid-card__media img{
    transform:scale(1.035);
}

.nc-news-grid-card__body{
    display:flex;
    flex:1;
    flex-direction:column;
    padding:22px 22px 24px;
}

.nc-news-grid-card__meta{
    display:flex;
    flex-wrap:wrap;
    gap:8px 14px;
    margin-bottom:13px;
    color:var(--nc-muted);
    font-size:.76rem;
    font-weight:700;
}

.nc-news-grid-card__meta span{
    color:var(--nc-teal-dark);
}

.nc-news-grid-card h3{
    margin:0 0 13px;
    color:var(--nc-navy);
    font-size:1.28rem;
    line-height:1.22;
    letter-spacing:-.02em;
}

.nc-news-grid-card h3 a{
    color:inherit;
}

.nc-news-grid-card__body > p{
    margin:0;
    color:var(--nc-muted);
    font-size:.91rem;
    line-height:1.62;
}

.nc-news-grid-card .nc-text-link{
    margin-top:auto;
    padding-top:18px;
}


/* Escola Sustentável: preservar arte completa também na grade */

.nc-news-grid-card img[src*="escola-sustentavel"]{
    object-fit:contain;
    background:#f7fafc;
}


/* ---------------------------------------------------------
   Paginação
   --------------------------------------------------------- */

.nc-news-pagination{
    margin-top:48px;
}

.nc-news-pagination .page-numbers{
    list-style:none;
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:center;
    gap:8px;
    margin:0;
    padding:0;
}

.nc-news-pagination a,
.nc-news-pagination span{
    min-width:40px;
    min-height:40px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0 12px;
    border:1px solid rgba(6,42,104,.12);
    border-radius:10px;
    background:#fff;
    color:var(--nc-navy);
    font-size:.86rem;
    font-weight:800;
}

.nc-news-pagination a:hover{
    border-color:rgba(0,153,153,.32);
}

.nc-news-pagination .current{
    background:var(--nc-teal-dark);
    border-color:var(--nc-teal-dark);
    color:#fff;
}


/* ---------------------------------------------------------
   Responsivo
   --------------------------------------------------------- */

@media(max-width:1000px){

    .nc-news-showcase__grid{
        grid-template-columns:minmax(0,.95fr) minmax(340px,1.05fr);
        gap:42px;
    }

    .nc-news-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

}


@media(max-width:820px){

    .nc-news-showcase{
        padding:60px 0;
    }

    .nc-news-showcase__grid{
        grid-template-columns:1fr;
        gap:34px;
    }

    .nc-news-showcase__media{
        border-radius:22px;
    }

    .nc-news-library{
        padding:68px 0 76px;
    }

    .nc-news-library__heading{
        grid-template-columns:1fr;
        gap:22px;
    }

}


@media(max-width:620px){

    .nc-news-showcase{
        padding:50px 0;
    }

    .nc-news-showcase h1{
        font-size:clamp(2.2rem,10vw,3rem);
    }

    .nc-news-search{
        grid-template-columns:1fr;
    }

    .nc-news-search__button{
        width:100%;
    }

    .nc-news-filters{
        gap:7px;
    }

    .nc-news-grid{
        grid-template-columns:1fr;
    }

    .nc-news-results-info{
        align-items:flex-start;
        flex-direction:column;
        gap:8px;
    }

}


/* =========================================================
   Notícias - refinamento de espaçamento entre hero e biblioteca
   ========================================================= */

.nc-news-showcase{
    padding-bottom:50px;
}

.nc-news-library{
    padding-top:58px;
}

@media(max-width:820px){

    .nc-news-showcase{
        padding-bottom:44px;
    }

    .nc-news-library{
        padding-top:50px;
    }

}

@media(max-width:620px){

    .nc-news-showcase{
        padding-bottom:40px;
    }

    .nc-news-library{
        padding-top:44px;
    }

}


/* =========================================================
   Notícias - ajuste de imagens
   ========================================================= */

/* Hero da notícia em destaque */
.nc-news-featured__media,
.nc-news-hero__media,
.nc-news-showcase__media{
    background:#eaf1f4;
    border-radius:28px;
    overflow:hidden;
}

.nc-news-featured__media img,
.nc-news-hero__media img,
.nc-news-showcase__media img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
}

/* Cards/listagem de notícias */
.nc-news-card__media,
.nc-news-card__image,
.nc-news-post__media,
.nc-news-list__media,
.nc-news-grid__media{
    background:#f4f7fa;
    border:1px solid #e4ebf0;
    border-radius:22px;
    overflow:hidden;
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:230px;
    padding:16px;
}

.nc-news-card__media img,
.nc-news-card__image img,
.nc-news-post__media img,
.nc-news-list__media img,
.nc-news-grid__media img{
    display:block;
    width:100%;
    height:100%;
    max-width:100%;
    max-height:100%;
    object-fit:contain;
    object-position:center center;
}

/* Se existir imagem clicável diretamente dentro do bloco */
.nc-news-card__media a,
.nc-news-card__image a,
.nc-news-post__media a,
.nc-news-list__media a,
.nc-news-grid__media a{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    height:100%;
}

/* Ajuste fino para telas médias */
@media(max-width:1000px){

    .nc-news-card__media,
    .nc-news-card__image,
    .nc-news-post__media,
    .nc-news-list__media,
    .nc-news-grid__media{
        min-height:210px;
        padding:14px;
    }

}

/* Ajuste mobile */
@media(max-width:760px){

    .nc-news-featured__media,
    .nc-news-hero__media,
    .nc-news-showcase__media{
        border-radius:22px;
    }

    .nc-news-card__media,
    .nc-news-card__image,
    .nc-news-post__media,
    .nc-news-list__media,
    .nc-news-grid__media{
        min-height:190px;
        border-radius:18px;
        padding:12px;
    }

}

/* =========================================================
   Notícias - Escola Sustentável refinamento da miniatura
   ========================================================= */

.nc-news-grid-card__media{
    display:flex;
    align-items:center;
    justify-content:center;
}

/* A arte possui margem interna no próprio PNG */
.nc-news-grid-card__media img[src*="escola-sustentavel"]{
    object-fit:contain;
    object-position:center;
    transform:scale(1.12);
}

/* Hover mantém o tamanho e adiciona apenas um movimento discreto */
.nc-news-grid-card:hover
.nc-news-grid-card__media img[src*="escola-sustentavel"]{
    transform:scale(1.15);
}


/* =========================================================
   Notícias - refinamento final do Hero
   ========================================================= */

.nc-news-showcase{
    padding:58px 0 56px;
}

.nc-news-showcase__grid{
    grid-template-columns:minmax(0,.86fr) minmax(470px,1.14fr);
    gap:54px;
    align-items:center;
}

.nc-news-showcase__content{
    max-width:570px;
}

.nc-news-showcase .nc-eyebrow{
    margin-bottom:12px;
}

.nc-news-showcase__meta{
    margin-bottom:14px;
}

.nc-news-showcase h1{
    max-width:570px;
    font-size:clamp(2.45rem,3.45vw,3.55rem);
    line-height:1.045;
    letter-spacing:-.04em;
}

.nc-news-showcase__excerpt{
    max-width:520px;
    margin-top:18px;
    font-size:1rem;
    line-height:1.74;
}

.nc-news-showcase .nc-button{
    margin-top:22px;
}

.nc-news-showcase__media{
    border-radius:26px;
}

.nc-news-showcase__media img{
    aspect-ratio:16 / 9;
    object-fit:cover;
    object-position:center;
}


/* Transição para Todas as Notícias */
.nc-news-showcase{
    padding-bottom:52px;
}

.nc-news-library{
    padding-top:56px;
}


@media(max-width:1000px){

    .nc-news-showcase__grid{
        grid-template-columns:minmax(0,.92fr) minmax(380px,1.08fr);
        gap:40px;
    }

    .nc-news-showcase h1{
        font-size:clamp(2.3rem,4vw,3.25rem);
    }

}


@media(max-width:820px){

    .nc-news-showcase{
        padding:52px 0 48px;
    }

    .nc-news-showcase__grid{
        grid-template-columns:1fr;
        gap:30px;
    }

    .nc-news-showcase__content{
        max-width:680px;
    }

    .nc-news-showcase__media{
        max-width:none;
    }

}


/* =========================================================
   Página Contato
   ========================================================= */

.nc-contact-page{
    background:#fff;
}


/* Hero */

.nc-contact-hero{
    position:relative;
    overflow:hidden;
    padding:92px 0 96px;
    background:
        radial-gradient(circle at 8% 25%, rgba(0,174,181,.10), transparent 34%),
        linear-gradient(110deg,#f3fafb 0%,#f5f9fc 55%,#eef4fa 100%);
}

.nc-contact-hero__grid{
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);
    gap:90px;
    align-items:end;
}

.nc-contact-hero__content{
    max-width:760px;
}

.nc-contact-hero .nc-eyebrow{
    display:block;
    margin-bottom:18px;
    color:#009da5;
    font-size:.78rem;
    font-weight:800;
    letter-spacing:.16em;
}

.nc-contact-hero h1{
    margin:0;
    max-width:760px;
    color:#073475;
    font-size:clamp(3.1rem,5vw,5.25rem);
    line-height:.99;
    letter-spacing:-.05em;
    font-weight:800;
}

.nc-contact-hero h1 span{
    display:block;
    color:#00a7ad;
}

.nc-contact-hero__content > p{
    max-width:650px;
    margin:28px 0 0;
    color:#53657d;
    font-size:1.12rem;
    line-height:1.75;
}

.nc-contact-hero__aside{
    position:relative;
    max-width:430px;
    padding:30px 0 8px 34px;
    border-left:2px solid rgba(0,167,173,.24);
}

.nc-contact-hero__label{
    display:block;
    margin-bottom:14px;
    color:#00a1a8;
    font-size:.76rem;
    font-weight:800;
    letter-spacing:.15em;
}

.nc-contact-hero__aside p{
    margin:0;
    color:#52647b;
    font-size:1rem;
    line-height:1.75;
}


/* Informações */

.nc-contact-info{
    padding:92px 0 108px;
}

.nc-contact-info__heading{
    display:grid;
    grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);
    gap:80px;
    align-items:end;
    margin-bottom:54px;
}

.nc-contact-info .nc-eyebrow{
    display:block;
    margin-bottom:14px;
    color:#009da5;
    font-size:.76rem;
    font-weight:800;
    letter-spacing:.15em;
}

.nc-contact-info h2{
    margin:0;
    max-width:720px;
    color:#073475;
    font-size:clamp(2.5rem,4vw,4rem);
    line-height:1.04;
    letter-spacing:-.045em;
}

.nc-contact-info h2 span{
    color:#00a7ad;
}

.nc-contact-info__heading > p{
    margin:0 0 6px;
    max-width:430px;
    color:#5f6f84;
    font-size:1rem;
    line-height:1.75;
}


/* Cards */

.nc-contact-cards{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px;
}

.nc-contact-card{
    position:relative;
    min-height:310px;
    padding:34px 32px 32px;
    border:1px solid #e1e9ef;
    border-radius:24px;
    background:#fff;
    box-shadow:0 12px 32px rgba(25,52,87,.045);
    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;
}

.nc-contact-card:hover{
    transform:translateY(-5px);
    border-color:rgba(0,167,173,.28);
    box-shadow:0 18px 42px rgba(25,52,87,.08);
}

.nc-contact-card__number{
    display:block;
    margin-bottom:38px;
    color:#00a7ad;
    font-size:.78rem;
    font-weight:800;
    letter-spacing:.12em;
}

.nc-contact-card h3{
    margin:0 0 16px;
    color:#073475;
    font-size:1.55rem;
    line-height:1.2;
}

.nc-contact-card p{
    margin:0 0 26px;
    color:#64748a;
    font-size:.97rem;
    line-height:1.68;
}

.nc-contact-card a{
    display:block;
    width:max-content;
    max-width:100%;
    margin-top:8px;
    color:#009da5;
    font-weight:700;
    text-decoration:none;
    overflow-wrap:anywhere;
    transition:color .2s ease;
}

.nc-contact-card a:hover{
    color:#073475;
}


/* Responsivo */

@media(max-width:980px){

    .nc-contact-hero__grid{
        grid-template-columns:1fr;
        gap:48px;
    }

    .nc-contact-hero__aside{
        max-width:650px;
    }

    .nc-contact-info__heading{
        grid-template-columns:1fr;
        gap:28px;
    }

    .nc-contact-cards{
        grid-template-columns:1fr 1fr;
    }

}


@media(max-width:700px){

    .nc-contact-hero{
        padding:68px 0 72px;
    }

    .nc-contact-hero h1{
        font-size:clamp(2.7rem,12vw,4rem);
    }

    .nc-contact-hero__content > p{
        font-size:1rem;
    }

    .nc-contact-hero__aside{
        padding-left:22px;
    }

    .nc-contact-info{
        padding:70px 0 78px;
    }

    .nc-contact-info h2{
        font-size:2.55rem;
    }

    .nc-contact-cards{
        grid-template-columns:1fr;
    }

    .nc-contact-card{
        min-height:0;
    }

}


/* =========================================================
   Contato - refinamento final dos cards
   ========================================================= */

.nc-contact-card{
    min-height:260px;
    padding:30px 32px 28px;
}

.nc-contact-card__number{
    margin-bottom:30px;
}

@media(max-width:700px){

    .nc-contact-card{
        min-height:0;
        padding:28px 26px;
    }

}


/* =========================================================
   Contato 2.0 - experiência de contato
   ========================================================= */

.nc-contact-page--new{
    background:#fff;
}


/* ---------------------------------------------------------
   Introdução
   --------------------------------------------------------- */

.nc-contact-intro{
    position:relative;
    overflow:hidden;
    padding:78px 0 68px;
    background:
        radial-gradient(circle at 8% 25%,rgba(0,170,177,.10),transparent 31%),
        linear-gradient(115deg,#f3fafb 0%,#f8fafc 65%,#f1f6fa 100%);
}

.nc-contact-intro__content{
    max-width:930px;
}

.nc-contact-intro .nc-eyebrow{
    display:block;
    margin-bottom:20px;
    color:#009da5;
    font-size:.78rem;
    line-height:1;
    font-weight:800;
    letter-spacing:.17em;
}

.nc-contact-intro h1{
    margin:0;
    color:#073475;
    font-size:clamp(3.2rem,5.2vw,5.6rem);
    line-height:.98;
    letter-spacing:-.055em;
    font-weight:800;
}

.nc-contact-intro h1 span{
    color:#00a8af;
}

.nc-contact-intro p{
    max-width:720px;
    margin:26px 0 0;
    color:#52647c;
    font-size:1.12rem;
    line-height:1.72;
}


/* ---------------------------------------------------------
   Área principal do formulário
   --------------------------------------------------------- */

.nc-contact-conversation{
    padding:78px 0 96px;
    background:#fff;
}

.nc-contact-conversation__panel{
    display:grid;
    grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);
    overflow:hidden;
    border:1px solid #dfe8ee;
    border-radius:32px;
    background:#fff;
    box-shadow:0 24px 65px rgba(16,49,84,.08);
}

.nc-contact-conversation__form{
    padding:56px 58px 54px;
}

.nc-contact-conversation__heading{
    max-width:650px;
    margin-bottom:48px;
}

.nc-contact-conversation__heading .nc-eyebrow{
    display:block;
    margin-bottom:14px;
    color:#009da5;
    font-size:.73rem;
    font-weight:800;
    letter-spacing:.16em;
}

.nc-contact-conversation__heading h2{
    margin:0;
    color:#073475;
    font-size:clamp(2.2rem,3.4vw,3.55rem);
    line-height:1.04;
    letter-spacing:-.045em;
}

.nc-contact-conversation__heading h2 span{
    display:block;
    color:#00a8af;
}


/* ---------------------------------------------------------
   Formulário
   --------------------------------------------------------- */

.nc-contact-form{
    width:100%;
}

.nc-contact-form__row{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:28px;
}

.nc-contact-form__field{
    position:relative;
    margin-bottom:30px;
}

.nc-contact-form__field label{
    display:block;
    margin-bottom:9px;
    color:#073475;
    font-size:.79rem;
    font-weight:800;
    letter-spacing:.055em;
}

.nc-contact-form__field input,
.nc-contact-form__field textarea{
    display:block;
    box-sizing:border-box;
    width:100%;
    margin:0;
    padding:14px 2px 13px;
    border:0;
    border-bottom:1.5px solid #cfdbe3;
    border-radius:0;
    outline:none;
    background:transparent;
    color:#183651;
    font-family:inherit;
    font-size:1rem;
    line-height:1.5;
    box-shadow:none;
    transition:
        border-color .2s ease,
        background .2s ease;
}

.nc-contact-form__field textarea{
    min-height:130px;
    resize:vertical;
}

.nc-contact-form__field input:focus,
.nc-contact-form__field textarea:focus{
    border-color:#00a8af;
    background:linear-gradient(
        to bottom,
        transparent 96%,
        rgba(0,168,175,.025) 96%
    );
}

.nc-contact-form__footer{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:28px;
    margin-top:8px;
}

.nc-contact-form__footer p{
    max-width:390px;
    margin:0;
    color:#78879a;
    font-size:.83rem;
    line-height:1.55;
}

.nc-contact-form__submit{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:13px;
    flex:none;
    min-height:52px;
    padding:0 25px;
    border:0;
    border-radius:999px;
    background:#00a8af;
    color:#fff;
    font-family:inherit;
    font-size:.92rem;
    font-weight:800;
    cursor:pointer;
    transition:
        background .2s ease,
        transform .2s ease,
        box-shadow .2s ease;
}

.nc-contact-form__submit span{
    font-size:1.15rem;
    transition:transform .2s ease;
}

.nc-contact-form__submit:hover{
    background:#073475;
    transform:translateY(-2px);
    box-shadow:0 12px 28px rgba(7,52,117,.15);
}

.nc-contact-form__submit:hover span{
    transform:translateX(4px);
}


/* ---------------------------------------------------------
   Painel Naturecycle
   --------------------------------------------------------- */

.nc-contact-conversation__story{
    position:relative;
    overflow:hidden;
    display:flex;
    min-height:100%;
    padding:56px 46px;
    background:
        radial-gradient(circle at 105% 0%,rgba(0,185,192,.34),transparent 38%),
        linear-gradient(145deg,#073475 0%,#052d65 100%);
}

.nc-contact-cycle{
    position:relative;
    z-index:2;
    display:flex;
    flex-direction:column;
    min-height:100%;
    color:#fff;
}

.nc-contact-cycle__label{
    display:block;
    margin-bottom:42px;
    color:#70dde0;
    font-size:.73rem;
    font-weight:800;
    letter-spacing:.18em;
}

.nc-contact-cycle strong{
    display:block;
    max-width:360px;
    color:#fff;
    font-size:clamp(2rem,2.7vw,3rem);
    line-height:1.06;
    letter-spacing:-.04em;
}

.nc-contact-cycle p{
    max-width:330px;
    margin:24px 0 0;
    color:rgba(255,255,255,.72);
    font-size:.96rem;
    line-height:1.72;
}


/* elemento circular autoral */

.nc-contact-cycle__graphic{
    position:relative;
    width:250px;
    height:250px;
    margin:auto -45px -75px auto;
}

.nc-contact-cycle__graphic span{
    position:absolute;
    inset:0;
    border:1px solid rgba(255,255,255,.20);
    border-radius:50%;
}

.nc-contact-cycle__graphic span:nth-child(2){
    inset:34px;
    border-color:rgba(91,224,227,.42);
}

.nc-contact-cycle__graphic span:nth-child(3){
    inset:74px;
    border:2px solid rgba(91,224,227,.72);
}

.nc-contact-cycle__graphic::after{
    content:"";
    position:absolute;
    top:50%;
    left:50%;
    width:18px;
    height:18px;
    border-radius:50%;
    background:#65e2e4;
    box-shadow:0 0 0 12px rgba(101,226,228,.12);
    transform:translate(-50%,-50%);
}


/* ---------------------------------------------------------
   Localização
   --------------------------------------------------------- */

.nc-contact-location{
    padding:92px 0 106px;
    background:#f7fafc;
}

.nc-contact-location__heading{
    display:grid;
    grid-template-columns:minmax(0,1.2fr) minmax(290px,.8fr);
    gap:80px;
    align-items:end;
    margin-bottom:48px;
}

.nc-contact-location__heading .nc-eyebrow{
    display:block;
    margin-bottom:13px;
    color:#009da5;
    font-size:.74rem;
    font-weight:800;
    letter-spacing:.16em;
}

.nc-contact-location__heading h2{
    margin:0;
    max-width:720px;
    color:#073475;
    font-size:clamp(2.5rem,4vw,4rem);
    line-height:1.04;
    letter-spacing:-.045em;
}

.nc-contact-location__heading h2 span{
    color:#00a8af;
}

.nc-contact-location__heading > p{
    max-width:430px;
    margin:0 0 5px;
    color:#617187;
    font-size:1rem;
    line-height:1.75;
}


/* mapa + informações */

.nc-contact-location__grid{
    display:grid;
    grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);
    overflow:hidden;
    min-height:450px;
    border:1px solid #dde7ed;
    border-radius:28px;
    background:#fff;
    box-shadow:0 16px 44px rgba(16,49,84,.055);
}

.nc-contact-map{
    position:relative;
    min-height:450px;
    background:#e9f1f4;
}

.nc-contact-map iframe{
    display:block;
    width:100%;
    height:100%;
    min-height:450px;
    border:0;
    filter:saturate(.72) contrast(.94);
}

.nc-contact-details{
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:46px 42px;
}

.nc-contact-detail{
    padding:27px 0;
    border-bottom:1px solid #e5ecef;
}

.nc-contact-detail:first-child{
    padding-top:0;
}

.nc-contact-detail:last-child{
    padding-bottom:0;
    border-bottom:0;
}

.nc-contact-detail > span{
    display:block;
    margin-bottom:10px;
    color:#009da5;
    font-size:.7rem;
    font-weight:800;
    letter-spacing:.15em;
}

.nc-contact-detail p{
    margin:0;
    color:#52647b;
    font-size:1rem;
    line-height:1.7;
}

.nc-contact-detail a{
    display:block;
    width:max-content;
    max-width:100%;
    margin:6px 0;
    color:#073475;
    font-weight:700;
    text-decoration:none;
    overflow-wrap:anywhere;
    transition:color .2s ease;
}

.nc-contact-detail a:hover{
    color:#00a8af;
}


/* ---------------------------------------------------------
   Responsivo
   --------------------------------------------------------- */

@media(max-width:1000px){

    .nc-contact-conversation__panel{
        grid-template-columns:1fr;
    }

    .nc-contact-conversation__story{
        min-height:420px;
    }

    .nc-contact-cycle__graphic{
        margin:auto -20px -80px auto;
    }

    .nc-contact-location__grid{
        grid-template-columns:1fr;
    }

    .nc-contact-location__heading{
        grid-template-columns:1fr;
        gap:24px;
    }

}


@media(max-width:700px){

    .nc-contact-intro{
        padding:62px 0 54px;
    }

    .nc-contact-intro h1{
        font-size:clamp(2.8rem,13vw,4.2rem);
    }

    .nc-contact-conversation{
        padding:52px 0 70px;
    }

    .nc-contact-conversation__panel{
        border-radius:24px;
    }

    .nc-contact-conversation__form{
        padding:38px 26px 40px;
    }

    .nc-contact-form__row{
        grid-template-columns:1fr;
        gap:0;
    }

    .nc-contact-form__footer{
        align-items:flex-start;
        flex-direction:column;
    }

    .nc-contact-conversation__story{
        min-height:390px;
        padding:40px 28px;
    }

    .nc-contact-location{
        padding:66px 0 76px;
    }

    .nc-contact-location__grid{
        border-radius:22px;
    }

    .nc-contact-map,
    .nc-contact-map iframe{
        min-height:330px;
    }

    .nc-contact-details{
        padding:32px 26px;
    }

}


/* =========================================================
   Contato - feedback do formulário
   ========================================================= */

.nc-contact-feedback{
    display:flex;
    flex-direction:column;
    gap:5px;
    margin:-8px 0 34px;
    padding:16px 18px;
    border-radius:14px;
    font-size:.9rem;
    line-height:1.5;
}

.nc-contact-feedback strong{
    font-size:.94rem;
}

.nc-contact-feedback--success{
    border:1px solid rgba(0,168,175,.25);
    background:rgba(0,168,175,.07);
    color:#08767c;
}

.nc-contact-feedback--error{
    border:1px solid rgba(185,70,70,.20);
    background:rgba(185,70,70,.055);
    color:#8d3f3f;
}

.nc-contact-feedback span{
    opacity:.86;
}


/* =========================================================
   Home - Impacto socioambiental responsivo
   ========================================================= */

@media (max-width:760px){

    .nc-impact-numbers__grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:14px;
    }

    .nc-impact-number{
        min-width:0;
        min-height:260px;
        padding:22px 18px;
    }

    .nc-impact-number__icon,
    .nc-impact-number__icon--original{
        width:78px;
        height:78px;
        margin-bottom:20px;
    }

    .nc-impact-number__icon--original img{
        width:78px;
        height:78px;
    }

    .nc-impact-number__value{
        font-size:1.7rem;
        line-height:1.05;
    }

    .nc-impact-number__label{
        max-width:none;
        font-size:.92rem;
        line-height:1.4;
    }
}


/* =========================================================
   Home - Projetos socioambientais responsivo
   ========================================================= */

@media (max-width:760px){

    .nc-projects-cta{
        padding:58px 0;
    }

    .nc-projects-cta__inner{
        grid-template-columns:1fr;
        gap:38px;
    }

    .nc-projects-cta__copy{
        max-width:none;
    }

    .nc-projects-cta__projects{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:12px;
        width:100%;
    }

    .nc-projects-cta__projects span{
        min-width:0;
        min-height:150px;
        padding:14px;
    }
}


/* =========================================================
   Header - Área do Cliente no menu mobile
   ========================================================= */

.nc-nav__portal-mobile{
    display:none;
}

@media(max-width:760px){

    .nc-nav__portal-mobile{
        display:block;
        padding:18px 20px 22px;
    }

    .nc-nav__portal-mobile .nc-button{
        display:flex;
        width:100%;
        justify-content:center;
    }
}


/* =========================================================
   Header - destaque da Área do Cliente no mobile
   ========================================================= */

@media(max-width:760px){

    .nc-nav__portal-mobile{
        padding:20px 28px 24px;
    }

    .nc-nav__portal-mobile .nc-button{
        display:flex;
        width:100%;
        min-height:48px;
        align-items:center;
        justify-content:center;
        padding:12px 20px;
        background:var(--nc-teal-dark);
        border:1px solid var(--nc-teal-dark);
        border-radius:999px;
        color:#fff;
        font-weight:850;
        text-align:center;
    }
}


/* =========================================================
   Notícias - artigo individual responsivo
   ========================================================= */

.nc-news-single__content,
.nc-news-single__content p,
.nc-news-single__content li,
.nc-news-single__content span{
    font-family:inherit !important;
}

@media(max-width:760px){

    .nc-news-single__header h1{
        font-size:clamp(2.35rem,10vw,3.15rem);
        line-height:1.02;
        letter-spacing:-.04em;
        overflow-wrap:break-word;
    }

    .nc-news-single__content{
        color:var(--nc-muted);
        font-size:1.03rem;
        line-height:1.72;
    }

    .nc-news-single__content p{
        margin:0 0 1.35em;
        color:inherit;
        font-size:inherit;
        line-height:inherit;
    }

    .nc-news-single__content img{
        max-width:100%;
        height:auto;
    }
}


/* =========================================================
   Notícias - normalização do conteúdo importado
   ========================================================= */

.nc-news-single__content{
    font-family:inherit;
    color:var(--nc-muted);
    font-size:1.03rem;
    line-height:1.72;
}

.nc-news-single__content p,
.nc-news-single__content div,
.nc-news-single__content span,
.nc-news-single__content font,
.nc-news-single__content li{
    font-family:inherit !important;
    font-size:inherit !important;
    line-height:inherit !important;
    color:inherit !important;
    text-align:left !important;
    letter-spacing:normal !important;
}

.nc-news-single__content p,
.nc-news-single__content div{
    margin-top:0;
    margin-bottom:1.35em;
}

/* Cases - reconhecimento sem imagem de premio */
.nc-case-award > .nc-case-award__content:only-child{
    grid-column:1 / -1;
}
/* Cases - premio sem imagem */
.nc-case-award:not(:has(.nc-case-award__media)){
    grid-template-columns:minmax(0,1fr);
}

.nc-case-award:not(:has(.nc-case-award__media)) .nc-case-award__content{
    width:100%;
    max-width:none;
}


/* Case hero - piloto impacto circular */
.nc-case-hero-impact{
    display:grid;
    grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);
    overflow:hidden;
    margin:-18px 0 42px;
    background:linear-gradient(135deg,#f5fbfc 0%,#edf7f8 100%);
    border:1px solid rgba(6,42,104,.09);
    border-radius:28px;
    box-shadow:0 18px 45px rgba(3,28,65,.08);
}

.nc-case-hero-impact__copy{
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:46px 42px;
}

.nc-case-hero-impact__logo{
    display:block;
    width:auto;
    height:auto;
    max-width:190px;
    max-height:62px;
    object-fit:contain;
    object-position:left center;
    margin-bottom:28px;
}

.nc-case-hero-impact__eyebrow{
    margin:0 0 12px;
    color:var(--nc-teal-dark);
    font-size:.78rem;
    font-weight:800;
    letter-spacing:.14em;
    text-transform:uppercase;
}

.nc-case-hero-impact__title{
    margin:0;
    max-width:620px;
    color:var(--nc-navy);
    font-size:clamp(2rem,3.4vw,3rem);
    line-height:1.05;
    letter-spacing:-.035em;
}

.nc-case-hero-impact__lead{
    margin:22px 0 0;
    max-width:590px;
    color:#44536c;
    font-size:1.05rem;
    line-height:1.7;
}

.nc-case-hero-impact__tags{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:28px;
}

.nc-case-hero-impact__tags span{
    display:inline-flex;
    align-items:center;
    min-height:36px;
    padding:7px 14px;
    color:var(--nc-navy);
    font-size:.82rem;
    font-weight:700;
    background:#fff;
    border:1px solid rgba(6,42,104,.10);
    border-radius:999px;
    box-shadow:0 5px 14px rgba(3,28,65,.04);
}

.nc-case-hero-impact__media{
    position:relative;
    min-height:430px;
    background:#e8f2f4;
}

.nc-case-hero-impact__media img{
    display:block;
    width:100%;
    height:100%;
    min-height:430px;
    object-fit:cover;
}

@media(max-width:860px){

    .nc-case-hero-impact{
        grid-template-columns:1fr;
        margin-top:-8px;
        border-radius:24px;
    }

    .nc-case-hero-impact__copy{
        padding:34px 28px;
    }

    .nc-case-hero-impact__logo{
        max-width:170px;
        max-height:55px;
        margin-bottom:24px;
    }

    .nc-case-hero-impact__title{
        font-size:clamp(1.85rem,7vw,2.6rem);
    }

    .nc-case-hero-impact__media{
        min-height:0;
    }

    .nc-case-hero-impact__media img{
        min-height:0;
        height:auto;
        aspect-ratio:4 / 3;
        object-fit:cover;
    }
}

/* Case hero - refinamento final do piloto */
.nc-case-hero-impact__logo{
    max-width:240px;
    max-height:78px;
    margin-bottom:26px;
}

.nc-case-hero-impact__highlights{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:14px;
    margin-top:28px;
}

.nc-case-hero-impact__metric{
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-width:142px;
    padding:12px 16px;
    background:#fff;
    border:1px solid rgba(6,42,104,.10);
    border-left:4px solid var(--nc-teal);
    border-radius:14px;
    box-shadow:0 6px 18px rgba(3,28,65,.05);
}

.nc-case-hero-impact__metric strong{
    color:var(--nc-navy);
    font-size:1.35rem;
    line-height:1;
    letter-spacing:-.025em;
}

.nc-case-hero-impact__metric span{
    margin-top:5px;
    color:#5e6c82;
    font-size:.72rem;
    line-height:1.2;
}

.nc-case-hero-impact__highlights .nc-case-hero-impact__tags{
    margin-top:0;
}

@media(max-width:860px){

    .nc-case-hero-impact__logo{
        max-width:205px;
        max-height:68px;
    }

    .nc-case-hero-impact__highlights{
        align-items:flex-start;
    }

    .nc-case-hero-impact__metric{
        min-width:130px;
    }
}

/* Cases archive - hero editorial */
.nc-cases-hero{
    padding:72px 0 58px;
    background:linear-gradient(135deg,#f4fbfc 0%,#edf7f9 100%);
    border-bottom:1px solid rgba(6,42,104,.06);
}

.nc-cases-hero__inner{
    max-width:860px;
}

.nc-cases-hero__eyebrow{
    margin:0 0 12px;
    color:var(--nc-teal-dark);
    font-size:.78rem;
    font-weight:800;
    letter-spacing:.14em;
    text-transform:uppercase;
}

.nc-cases-hero__title{
    margin:0;
    max-width:760px;
    color:var(--nc-navy);
    font-size:clamp(2.6rem,5vw,4.6rem);
    line-height:.98;
    letter-spacing:-.045em;
}

.nc-cases-hero__lead{
    margin:24px 0 0;
    max-width:720px;
    color:#44536c;
    font-size:1.05rem;
    line-height:1.7;
}

.nc-cases-hero__tags{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:28px;
}

.nc-cases-hero__tags span{
    display:inline-flex;
    align-items:center;
    min-height:36px;
    padding:7px 14px;
    color:var(--nc-navy);
    font-size:.82rem;
    font-weight:700;
    background:#fff;
    border:1px solid rgba(6,42,104,.10);
    border-radius:999px;
    box-shadow:0 5px 14px rgba(3,28,65,.04);
}

@media(max-width:760px){

    .nc-cases-hero{
        padding:52px 0 42px;
    }

    .nc-cases-hero__title{
        font-size:clamp(2.2rem,10vw,3.4rem);
    }

    .nc-cases-hero__lead{
        font-size:1rem;
    }
}


/* Cases archive - alinhamento final com a grade */
.nc-cases-hero__inner{
    max-width:none;
}


/* Cases archive - alinhamento dos botoes */
.post-type-archive-nc_case .nc-card{
    height:100%;
    display:flex;
    flex-direction:column;
}

.post-type-archive-nc_case .nc-card__body{
    flex:1;
    display:flex;
    flex-direction:column;
}

.post-type-archive-nc_case .nc-card__arrow{
    margin-top:auto;
    align-self:flex-end;
}


/* Noticias - CTA dos cards no padrao dos Cases */
.nc-news-grid-card__arrow{
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    margin-top:auto;
    align-self:flex-end;
    border:1px solid var(--nc-teal);
    border-radius:50%;
    color:var(--nc-teal-dark);
    font-weight:900;
    text-decoration:none;
    transition:
        transform .2s ease,
        background .2s ease;
}

.nc-news-grid-card__arrow:hover{
    transform:translateX(2px);
    background:rgba(0,153,153,.06);
}


/* Noticias - CTA dos cards no padrao dos Cases */
.nc-news-grid-card__arrow{
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    margin-top:auto;
    align-self:flex-end;
    border:1px solid var(--nc-teal);
    border-radius:50%;
    color:var(--nc-teal-dark);
    font-weight:900;
    text-decoration:none;
    transition:
        transform .2s ease,
        background .2s ease;
}

.nc-news-grid-card__arrow:hover{
    transform:translateX(2px);
    background:rgba(0,153,153,.06);
}


/* Noticias - hero do artigo individual */
.nc-news-single .nc-content{
    padding-top:58px;
}

.nc-news-single__article{
    max-width:1180px;
}

.nc-news-article-hero{
    display:grid;
    grid-template-columns:minmax(0,.95fr) minmax(420px,1.05fr);
    gap:48px;
    align-items:stretch;
    margin-bottom:52px;
    overflow:hidden;
    background:linear-gradient(135deg,#f4fbfc 0%,#edf7f9 100%);
    border:1px solid rgba(6,42,104,.08);
    border-radius:28px;
    box-shadow:0 18px 45px rgba(3,28,65,.07);
}

.nc-news-article-hero__copy{
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:44px 0 44px 42px;
}

.nc-news-article-hero__eyebrow{
    margin:0 0 10px;
    color:var(--nc-teal-dark);
    font-size:.78rem;
    font-weight:800;
    letter-spacing:.14em;
    text-transform:uppercase;
}

.nc-news-article-hero__meta{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:10px 14px;
    margin-bottom:16px;
    color:var(--nc-muted);
    font-size:.8rem;
    font-weight:700;
}

.nc-news-article-hero__meta span{
    color:var(--nc-teal-dark);
}

.nc-news-article-hero__meta time{
    position:relative;
    padding-left:14px;
}

.nc-news-article-hero__meta time::before{
    content:"";
    position:absolute;
    left:0;
    top:50%;
    width:4px;
    height:4px;
    margin-top:-2px;
    border-radius:50%;
    background:rgba(6,42,104,.30);
}

.nc-news-article-hero__title{
    margin:0;
    color:var(--nc-navy);
    font-size:clamp(2.2rem,3.4vw,3.55rem);
    line-height:1.04;
    letter-spacing:-.04em;
}

.nc-news-article-hero__lead{
    margin:20px 0 0;
    max-width:560px;
    color:#44536c;
    font-size:1rem;
    line-height:1.68;
}

.nc-news-article-hero__media{
    min-height:430px;
    overflow:hidden;
    background:#eaf1f4;
}

.nc-news-article-hero__media img{
    display:block;
    width:100%;
    height:100%;
    min-height:430px;
    object-fit:cover;
    object-position:center;
}

.nc-news-single__content,
.nc-news-single__back{
    max-width:820px;
    margin-left:auto;
    margin-right:auto;
}

@media(max-width:900px){

    .nc-news-article-hero{
        grid-template-columns:1fr;
        gap:0;
    }

    .nc-news-article-hero__copy{
        padding:34px 28px;
    }

    .nc-news-article-hero__media{
        min-height:0;
    }

    .nc-news-article-hero__media img{
        min-height:0;
        height:auto;
        aspect-ratio:16 / 9;
    }
}

@media(max-width:620px){

    .nc-news-single .nc-content{
        padding-top:42px;
    }

    .nc-news-article-hero{
        border-radius:22px;
        margin-bottom:38px;
    }

    .nc-news-article-hero__copy{
        padding:28px 22px;
    }

    .nc-news-article-hero__title{
        font-size:clamp(2rem,9vw,2.8rem);
    }

    .nc-news-article-hero__lead{
        font-size:.97rem;
    }
}


/* Noticias - refinamento final do hero individual */
.nc-news-article-hero{
    grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);
    gap:42px;
}

.nc-news-article-hero__title{
    font-size:clamp(2.15rem,3vw,3.15rem);
    line-height:1.035;
}

@media(max-width:900px){
    .nc-news-article-hero{
        grid-template-columns:1fr;
        gap:0;
    }
}


/* Noticias - alinhamento do corpo com o hero */
.nc-news-single__content,
.nc-news-single__back{
    max-width:820px;
    margin-left:0;
    margin-right:auto;
}


/* Noticias - refinamento final mobile do artigo */
@media(max-width:620px){

    .nc-news-single .nc-content{
        padding-top:58px;
    }

    .nc-news-article-hero__copy{
        padding:30px 26px 34px;
    }

    .nc-news-article-hero__title{
        font-size:clamp(2rem,8vw,2.5rem);
        line-height:1.03;
    }

    .nc-news-article-hero__lead{
        margin-top:18px;
        line-height:1.65;
    }
}


/* Parceiro ADIMAX - piloto no padrao dos Cases */
.nc-partner-content--adimax{
    max-width:920px;
    margin-top:0;
}

.nc-partner-content--adimax > h2:first-child{
    display:none;
}

.nc-partner-content--adimax > .nc-partner-awards__photo{
    display:none;
}

.nc-partner-content--adimax > p{
    max-width:820px;
    margin:0 0 1.35em;
    color:#44536c;
    font-size:1.05rem;
    line-height:1.75;
}

.nc-partner-content--adimax > p strong{
    color:var(--nc-navy);
}

.nc-partner-content--adimax .nc-partner-awards{
    max-width:820px;
    margin-top:48px;
}

.nc-partner-content--adimax .nc-partner-awards > h2{
    margin:0 0 22px;
    color:var(--nc-navy);
    font-size:2rem;
    line-height:1.12;
    letter-spacing:-.025em;
}

.nc-partner-content--adimax .nc-partner-award{
    box-shadow:0 8px 24px rgba(3,28,65,.045);
}

@media(max-width:760px){

    .nc-partner-content--adimax > p{
        font-size:1rem;
        line-height:1.7;
    }

    .nc-partner-content--adimax .nc-partner-awards{
        margin-top:40px;
    }
}


/* Parceiros - pagina individual no padrao de impacto */
.nc-partner-content--impact{
    max-width:920px;
    margin-top:0;
}

/* Titulo antigo do conteudo ja aparece representado pelo hero */
.nc-partner-content--impact > h2:first-child{
    display:none;
}

/* A imagem principal agora pertence ao hero */
.nc-partner-content--impact > .nc-partner-awards__photo{
    display:none;
}

/* Texto institucional */
.nc-partner-content--impact > p{
    max-width:820px;
    margin:0 0 1.35em;
    color:#44536c;
    font-size:1.05rem;
    line-height:1.75;
}

.nc-partner-content--impact > p strong{
    color:var(--nc-navy);
}

/* Premios */
.nc-partner-content--impact .nc-partner-awards{
    max-width:820px;
    margin-top:48px;
}

.nc-partner-content--impact .nc-partner-awards > h2{
    margin:0 0 22px;
    color:var(--nc-navy);
    font-size:2rem;
    line-height:1.12;
    letter-spacing:-.025em;
}

.nc-partner-content--impact .nc-partner-award{
    box-shadow:0 8px 24px rgba(3,28,65,.045);
}

/* Nao mostrar uma secao de premios vazia */
.nc-partner-content--impact .nc-partner-awards:not(:has(.nc-partner-award)){
    display:none;
}

/* Hero dos parceiros */
.nc-partner-hero-impact .nc-case-hero-impact__logo{
    width:auto;
    max-width:210px;
    max-height:72px;
    object-fit:contain;
}

/* Evita que logos muito estreitas fiquem visualmente pequenas */
.nc-partner-hero-impact .nc-case-hero-impact__metric{
    min-width:190px;
}

@media(max-width:760px){

    .nc-partner-content--impact > p{
        font-size:1rem;
        line-height:1.7;
    }

    .nc-partner-content--impact .nc-partner-awards{
        margin-top:40px;
    }

    .nc-partner-hero-impact .nc-case-hero-impact__logo{
        max-width:185px;
        max-height:64px;
    }

    .nc-partner-hero-impact .nc-case-hero-impact__metric{
        min-width:0;
    }
}


/* Parceiros - imagem principal ja utilizada no hero */
.nc-partner-content--impact .nc-partner-awards__photo{
    display:none;
}


/* Orquidea - ajuste fino do enquadramento da imagem no hero */
.single-nc_parceiro.postid-11 .nc-case-hero-impact__media img{
    object-position: 35% center;
}


/* Parceiro Orquidea - enquadramento da imagem do hero */
.single-nc_parceiro.postid-11 .nc-case-hero-impact__media img{
    object-position:58% center;
}


/* Parceiro Santa Clara - melhorar enquadramento da imagem do hero */
.single-nc_parceiro.postid-23 .nc-case-hero-impact__media img{
    transform:scale(1.16);
    transform-origin:center 62%;
}


/* Parceiro Grupo MSA - foco na embalagem e identificacao */
.single-nc_parceiro.postid-27 .nc-case-hero-impact__media img{
    object-position:67% center;
}


/* Parceiro Grupo MSA - foco na embalagem e identificacao */
.single-nc_parceiro.postid-27 .nc-case-hero-impact__media img{
    object-position:67% center;
}


/* Grupo MSA - imagem panoramica preservada sobre fundo preenchido */
.single-nc_parceiro.postid-27 .nc-case-hero-impact__media{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    background:#e8e3db;
}

.single-nc_parceiro.postid-27 .nc-case-hero-impact__media::before{
    content:"";
    position:absolute;
    inset:-18px;
    background:
        url("../img/partners/awards/grupo-msa-principal.png")
        center center / cover no-repeat;
    filter:blur(14px);
    transform:scale(1.08);
    opacity:.42;
}

.single-nc_parceiro.postid-27 .nc-case-hero-impact__media img{
    position:relative;
    z-index:1;
    width:92%;
    height:auto;
    min-height:0;
    max-height:88%;
    object-fit:contain;
    object-position:center;
    transform:none;
    border-radius:10px;
    box-shadow:0 10px 30px rgba(3,28,65,.12);
}


/* Grupo MSA - composicao final para imagem panoramica */
.single-nc_parceiro.postid-27 .nc-case-hero-impact__media{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    background:linear-gradient(135deg,#f1eee9,#e6ddd0);
}

.single-nc_parceiro.postid-27 .nc-case-hero-impact__media::before{
    display:none;
}

.single-nc_parceiro.postid-27 .nc-case-hero-impact__media img{
    position:relative;
    z-index:1;

    width:auto;
    height:54%;

    min-width:0;
    min-height:0;
    max-width:none;
    max-height:none;

    object-fit:contain;
    object-position:center;

    transform:none;

    border-radius:14px;
    box-shadow:0 12px 30px rgba(3,28,65,.14);
}


/* Grupo MSA - hero definitivo com nova imagem */
.single-nc_parceiro.postid-27 .nc-case-hero-impact__media{
    position:relative;
    display:block;
    overflow:hidden;
    background:#eef5f6;
}

.single-nc_parceiro.postid-27 .nc-case-hero-impact__media::before{
    content:none;
    display:none;
}

.single-nc_parceiro.postid-27 .nc-case-hero-impact__media img{
    position:relative;
    z-index:1;

    display:block;
    width:100%;
    height:100%;

    min-width:0;
    min-height:100%;
    max-width:none;
    max-height:none;

    object-fit:cover;
    object-position:center;

    transform:none;

    border-radius:0;
    box-shadow:none;
}


/* =========================================================
   Vídeo opcional dos parceiros
   ========================================================= */

.nc-partner-video{
    margin:72px auto 64px;
    max-width:960px;
}

.nc-partner-video__heading{
    text-align:center;
    margin-bottom:28px;
}

.nc-partner-video__heading .nc-eyebrow{
    margin-bottom:8px;
}

.nc-partner-video__heading h2{
    margin:0;
    font-size:clamp(2rem,4vw,3.4rem);
    line-height:1.05;
    color:var(--nc-navy,#153b62);
}

.nc-partner-video__trigger{
    position:relative;
    display:block;
    width:100%;
    padding:0;
    border:0;
    border-radius:28px;
    overflow:hidden;
    background:#0d2942;
    cursor:pointer;
    aspect-ratio:16/9;
    box-shadow:0 22px 60px rgba(18,52,82,.16);
}

.nc-partner-video__trigger img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .45s ease;
}

.nc-partner-video__trigger:hover img,
.nc-partner-video__trigger:focus-visible img{
    transform:scale(1.035);
}

.nc-partner-video__shade{
    position:absolute;
    inset:0;
    background:linear-gradient(
        180deg,
        rgba(8,33,54,.05),
        rgba(8,33,54,.28)
    );
    transition:background .3s ease;
}

.nc-partner-video__trigger:hover .nc-partner-video__shade{
    background:rgba(8,33,54,.22);
}

.nc-partner-video__play{
    position:absolute;
    top:50%;
    left:50%;
    width:78px;
    height:78px;
    transform:translate(-50%,-50%);
    filter:drop-shadow(0 8px 20px rgba(0,0,0,.25));
    transition:transform .25s ease;
}

.nc-partner-video__trigger:hover .nc-partner-video__play{
    transform:translate(-50%,-50%) scale(1.08);
}

.nc-partner-video__play svg{
    display:block;
    width:100%;
    height:100%;
}

.nc-partner-video__play circle{
    fill:#fff;
}

.nc-partner-video__play path{
    fill:#1aa8ba;
}

.nc-partner-video__modal[hidden]{
    display:none;
}

.nc-partner-video__modal{
    position:fixed;
    inset:0;
    z-index:99999;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:32px;
}

.nc-partner-video__backdrop{
    position:absolute;
    inset:0;
    background:rgba(4,18,30,.86);
    backdrop-filter:blur(5px);
}

.nc-partner-video__dialog{
    position:relative;
    z-index:1;
    width:min(1100px,94vw);
    background:#000;
    border-radius:22px;
    overflow:visible;
    box-shadow:0 30px 90px rgba(0,0,0,.45);
}

.nc-partner-video__player{
    position:relative;
    width:100%;
    aspect-ratio:16/9;
    overflow:hidden;
    border-radius:22px;
}

.nc-partner-video__player iframe{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    border:0;
}

.nc-partner-video__close{
    position:absolute;
    right:-14px;
    top:-14px;
    z-index:2;
    width:44px;
    height:44px;
    padding:0 0 3px;
    border:0;
    border-radius:50%;
    background:#fff;
    color:#153b62;
    font-size:32px;
    line-height:1;
    cursor:pointer;
    box-shadow:0 8px 24px rgba(0,0,0,.3);
}

body.nc-video-modal-open{
    overflow:hidden;
}

@media (max-width:767px){

    .nc-partner-video{
        margin:50px auto 48px;
    }

    .nc-partner-video__heading{
        margin-bottom:20px;
    }

    .nc-partner-video__heading h2{
        font-size:clamp(1.8rem,9vw,2.5rem);
    }

    .nc-partner-video__trigger{
        border-radius:20px;
    }

    .nc-partner-video__play{
        width:62px;
        height:62px;
    }

    .nc-partner-video__modal{
        padding:18px;
    }

    .nc-partner-video__dialog,
    .nc-partner-video__player{
        border-radius:16px;
    }

    .nc-partner-video__close{
        right:-8px;
        top:-16px;
    }
}


/* =========================================================
   Galeria dos parceiros
   ========================================================= */

.nc-partner-gallery{
    max-width:1180px;
    margin:34px auto 62px;
    display:grid;
    grid-template-columns:42px minmax(0,1fr) 42px;
    gap:16px;
    align-items:center;
}

.nc-partner-gallery__viewport{
    overflow:hidden;
}

.nc-partner-gallery__track{
    display:flex;
    gap:24px;
    overflow-x:auto;
    scroll-behavior:smooth;
    scrollbar-width:none;
    scroll-snap-type:x mandatory;
}

.nc-partner-gallery__track::-webkit-scrollbar{
    display:none;
}

.nc-partner-gallery__item{
    flex:0 0 calc((100% - 48px) / 3);
    display:block;
    overflow:hidden;
    aspect-ratio:16/9;
    background:#f3f5f7;
    scroll-snap-align:start;
}

.nc-partner-gallery__item img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .35s ease;
}

.nc-partner-gallery__item:hover img{
    transform:scale(1.035);
}

.nc-partner-gallery__arrow{
    width:38px;
    height:38px;
    border:1px solid rgba(21,59,98,.24);
    border-radius:999px;
    background:#fff;
    color:#153b62;
    padding:0 0 3px;
    font-size:26px;
    line-height:1;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:
        border-color .2s ease,
        color .2s ease,
        transform .2s ease;
}

.nc-partner-gallery__arrow:hover{
    border-color:#1aa8ba;
    color:#1aa8ba;
    transform:scale(1.06);
}

@media (max-width:900px){

    .nc-partner-gallery{
        grid-template-columns:36px minmax(0,1fr) 36px;
        gap:10px;
    }

    .nc-partner-gallery__item{
        flex-basis:calc((100% - 18px) / 2);
    }

}

@media (max-width:640px){

    .nc-partner-gallery{
        margin:26px auto 46px;
        display:block;
    }

    .nc-partner-gallery__track{
        gap:14px;
        padding:0 4px 6px;
    }

    .nc-partner-gallery__item{
        flex-basis:88%;
        border-radius:14px;
    }

    .nc-partner-gallery__arrow{
        display:none;
    }

}


/* =========================================================
   Lightbox da galeria de parceiros
   ========================================================= */

.nc-partner-lightbox[hidden]{
    display:none;
}

.nc-partner-lightbox{
    position:fixed;
    inset:0;
    z-index:100000;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:30px;
}

.nc-partner-lightbox__backdrop{
    position:absolute;
    inset:0;
    background:rgba(4,18,30,.90);
    backdrop-filter:blur(6px);
}

.nc-partner-lightbox__dialog{
    position:relative;
    z-index:1;
    width:min(1200px,94vw);
    height:min(820px,90vh);
    display:flex;
    align-items:center;
    justify-content:center;
}

.nc-partner-lightbox__image-wrap{
    width:100%;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
}

.nc-partner-lightbox__image{
    display:block;
    max-width:100%;
    max-height:100%;
    width:auto;
    height:auto;
    object-fit:contain;
    border-radius:14px;
    box-shadow:0 30px 80px rgba(0,0,0,.38);
}

.nc-partner-lightbox__close{
    position:absolute;
    right:0;
    top:0;
    z-index:3;
    width:46px;
    height:46px;
    padding:0 0 4px;
    border:0;
    border-radius:50%;
    background:#fff;
    color:#153b62;
    font-size:32px;
    line-height:1;
    cursor:pointer;
    box-shadow:0 8px 25px rgba(0,0,0,.28);
}

.nc-partner-lightbox__nav{
    position:absolute;
    top:50%;
    z-index:3;
    width:54px;
    height:54px;
    padding:0 0 5px;
    transform:translateY(-50%);
    border:1px solid rgba(255,255,255,.42);
    border-radius:50%;
    background:rgba(255,255,255,.94);
    color:#153b62;
    font-size:36px;
    line-height:1;
    cursor:pointer;
    box-shadow:0 8px 25px rgba(0,0,0,.25);
    transition:
        transform .2s ease,
        background .2s ease;
}

.nc-partner-lightbox__nav:hover{
    transform:translateY(-50%) scale(1.07);
    background:#fff;
}

.nc-partner-lightbox__nav--prev{
    left:0;
}

.nc-partner-lightbox__nav--next{
    right:0;
}

.nc-partner-lightbox__counter{
    position:absolute;
    left:50%;
    bottom:0;
    transform:translateX(-50%);
    padding:7px 14px;
    border-radius:999px;
    background:rgba(7,28,45,.74);
    color:#fff;
    font-size:14px;
    line-height:1;
}

body.nc-lightbox-open{
    overflow:hidden;
}

@media (max-width:767px){

    .nc-partner-lightbox{
        padding:16px;
    }

    .nc-partner-lightbox__dialog{
        width:100%;
        height:86vh;
    }

    .nc-partner-lightbox__nav{
        width:44px;
        height:44px;
        font-size:30px;
    }

    .nc-partner-lightbox__nav--prev{
        left:4px;
    }

    .nc-partner-lightbox__nav--next{
        right:4px;
    }

    .nc-partner-lightbox__close{
        right:4px;
        top:4px;
        width:42px;
        height:42px;
    }

    .nc-partner-lightbox__counter{
        bottom:6px;
    }

}


/* =========================================================
   CTA discreto - site do parceiro
   ========================================================= */

.single-nc_parceiro .nc-partner-site-action{
    margin:30px 0 8px;
    text-align:center;
}

.single-nc_parceiro .nc-partner-site-action .nc-button{
    display:inline-flex;
    align-items:center;
    gap:10px;

    padding:0 0 7px;

    border:0;
    border-bottom:1px solid rgba(21,59,98,.30);
    border-radius:0;

    background:transparent;
    color:#153b62;

    box-shadow:none;

    font-size:14px;
    font-weight:700;
    line-height:1.3;

    text-decoration:none;

    transition:
        color .2s ease,
        border-color .2s ease,
        gap .2s ease;
}

.single-nc_parceiro .nc-partner-site-action .nc-button span{
    display:inline-block;
    font-size:18px;
    font-weight:400;
    line-height:1;
    transform:rotate(-45deg);
    transition:transform .2s ease;
}

.single-nc_parceiro .nc-partner-site-action .nc-button:hover,
.single-nc_parceiro .nc-partner-site-action .nc-button:focus-visible{
    background:transparent;
    color:#1598a9;
    border-color:#1598a9;
    box-shadow:none;
    gap:14px;
}

.single-nc_parceiro .nc-partner-site-action .nc-button:hover span{
    transform:rotate(-45deg) translate(2px,-2px);
}

@media (max-width:640px){

    .single-nc_parceiro .nc-partner-site-action{
        margin-top:24px;
    }

}


/* =========================================================
   Multimidia - parceiros somente com galeria
   ========================================================= */

.nc-partner-gallery__heading{
    margin:58px auto 24px;
    text-align:center;
    max-width:640px;
}

.nc-partner-gallery__heading .nc-eyebrow{
    margin:0 0 8px;
}

.nc-partner-gallery__heading h2{
    margin:0;
    font-size:clamp(28px,3vw,36px);
    line-height:1.08;
    letter-spacing:-0.02em;
}

.nc-partner-gallery__heading + .nc-partner-gallery{
    margin-top:26px;
}

@media (max-width:640px){

    .nc-partner-gallery__heading{
        margin-top:44px;
        margin-bottom:20px;
        padding:0 20px;
    }

    .nc-partner-gallery__heading h2{
        font-size:28px;
        line-height:1.1;
    }

}


/* =========================================================
   WhatsApp do rodape - ajuste visual final
   ========================================================= */
/* =========================================================
   WhatsApp do rodape - ajuste visual final
   ========================================================= */
/* =========================================================
   WhatsApp - harmonizacao com os demais icones sociais
   ========================================================= */
/* =========================================================
   WhatsApp - ajuste visual definitivo
   ========================================================= */
/* =========================================================
   WhatsApp do rodape - regra definitiva
   ========================================================= */
/* =========================================================
   Footer social - padrao visual unificado
   ========================================================= */

/* =========================================================
   Footer - redes sociais
   Bloco unico e definitivo
   ========================================================= */

/* =========================================================
   Footer social - icones solidos
   ========================================================= */

/* =========================================================
   FOOTER - REDES SOCIAIS
   Padrao unico e definitivo
   ========================================================= */

.nc-footer__social{
    display:flex;
    align-items:center;
    flex-wrap:wrap;

    gap:12px;
    margin-top:26px;
}


/* Todos os botoes usam exatamente a mesma geometria */

.nc-footer__social-link{
    width:42px !important;
    height:42px !important;

    flex:0 0 42px;

    display:grid !important;
    place-items:center !important;

    padding:0 !important;
    margin:0 !important;

    border:1px solid rgba(255,255,255,.26) !important;
    border-radius:50% !important;

    background:rgba(255,255,255,.035) !important;

    color:#fff !important;

    box-shadow:none !important;
    text-decoration:none !important;

    transition:
        transform .2s ease,
        border-color .2s ease,
        background-color .2s ease,
        color .2s ease;
}


/* Todos os SVGs usam exatamente a mesma caixa */

.nc-footer__social-link svg{
    width:20px !important;
    height:20px !important;

    display:block !important;

    overflow:visible !important;

    fill:none !important;

    stroke:currentColor !important;
    stroke-width:1.8 !important;
    stroke-linecap:round !important;
    stroke-linejoin:round !important;

    flex:none !important;
}


/* Pequenos pontos internos */

.nc-footer__social-link .nc-footer__social-dot{
    fill:currentColor !important;
    stroke:none !important;
}


/* Play do YouTube */

.nc-footer__social-link[aria-label="YouTube"] path{
    fill:currentColor !important;
    stroke:none !important;
}


/* Hover */

.nc-footer__social-link:hover{
    transform:translateY(-2px);

    color:#fff !important;

    border-color:rgba(255,255,255,.60) !important;
    background:rgba(255,255,255,.10) !important;
}


/* Acessibilidade */

.nc-footer__social-link:focus-visible{
    outline:2px solid rgba(255,255,255,.78);
    outline-offset:3px;
}


/* Mobile */

@media (max-width:640px){

    .nc-footer__social{
        gap:10px;
    }

    .nc-footer__social-link{
        width:40px !important;
        height:40px !important;
        flex-basis:40px;
    }

    .nc-footer__social-link svg{
        width:19px !important;
        height:19px !important;
    }

}

/* Ajuste fino optico dos icones sociais */
.nc-footer__social a[aria-label="WhatsApp"] svg{
    transform:scale(1.08);
    transform-origin:center;
}

.nc-footer__social a[aria-label="Facebook"] svg{
    transform:scale(1.06);
    transform-origin:center;
}


/* =========================================================
   RNS Camelia - aplicacao institucional seletiva
   ========================================================= */

/* Titulos principais */
h1,
h2,
h3,
.nc-hero h1,
.nc-page-hero h1{
    font-family:var(--nc-font-brand);
}

/* Navegacao */
.nc-nav,
.nc-nav a,
.nc-nav__list a{
    font-family:var(--nc-font-brand);
    font-weight:500;
}

/* Botoes e CTAs */
.nc-button,
button,
input[type="submit"]{
    font-family:var(--nc-font-brand);
    font-weight:700;
}

/* Eyebrows e pequenos titulos institucionais */
.nc-eyebrow{
    font-family:var(--nc-font-brand);
    font-weight:700;
}

/* Numeros e indicadores */
.nc-metrics strong,
.nc-metrics__grid strong{
    font-family:var(--nc-font-brand);
    font-weight:700;
}


/* Quem Somos - ajuste fino do titulo Nossa Essencia */
.nc-about-essence__heading h2{
    font-size:clamp(2.2rem,3.5vw,3.55rem);
}


/* =========================================================
   Projetos / Impacto - refinamento de legibilidade
   ========================================================= */

/* Texto introdutorio do hero */
.nc-projects-hero__lead{
    color:#42526a;
    font-size:1.13rem;
    line-height:1.74;
}

/* Texto ao lado de "Circularidade que acontece na pratica" */
.nc-projects-list__heading > p{
    color:#42526a;
    font-size:1.02rem;
    line-height:1.76;
}

/* Descricoes dos projetos */
.nc-project-entry__content p{
    color:#42526a;
    font-size:1.03rem;
    line-height:1.76;
}


/* =========================================================
   Projetos - links para paginas individuais
   ========================================================= */

.nc-project-entry__media-link{
    display:block;
    color:inherit;
    text-decoration:none;
}

.nc-project-entry h3 a{
    color:inherit;
    text-decoration:none;
}

.nc-project-entry h3 a:hover{
    color:var(--nc-teal);
}

.nc-project-entry__link{
    display:inline-flex;
    align-items:center;
    gap:.45rem;
    margin-top:1.1rem;
    color:var(--nc-teal);
    font-family:var(--nc-font-brand);
    font-weight:700;
    text-decoration:none;
    transition:color .2s ease, gap .2s ease;
}

.nc-project-entry__link:hover{
    color:var(--nc-navy);
    gap:.7rem;
}


/* =========================================================
   Projetos individuais - template base
   ========================================================= */

.nc-project-single{
    background:#fff;
}

.nc-project-single__hero{
    padding:72px 0 78px;
    background:#f1f8fa;
}

.nc-project-single__hero-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(340px,.78fr);
    gap:72px;
    align-items:center;
}

.nc-project-single__hero-content h1{
    margin:.65rem 0 1.1rem;
    max-width:720px;
    color:var(--nc-navy);
    font-size:clamp(3rem,5vw,5rem);
    line-height:.98;
    letter-spacing:-.045em;
}

.nc-project-single__lead{
    max-width:650px;
    margin:0;
    color:#42526a;
    font-size:1.14rem;
    line-height:1.72;
}

.nc-project-single__hero-media{
    overflow:hidden;
    border-radius:28px;
}

.nc-project-single__hero-media img{
    display:block;
    width:100%;
    aspect-ratio:1.15 / 1;
    object-fit:cover;
}


.nc-project-single__intro{
    padding:88px 0;
}

.nc-project-single__intro-grid{
    display:grid;
    grid-template-columns:minmax(0,.9fr) minmax(340px,1fr);
    gap:86px;
    align-items:start;
}

.nc-project-single__intro-heading h2{
    max-width:580px;
    margin:.65rem 0 0;
    color:var(--nc-navy);
    font-size:clamp(2.35rem,3.6vw,3.6rem);
    line-height:1.04;
    letter-spacing:-.035em;
}

.nc-project-single__content{
    color:#42526a;
    font-size:1.06rem;
    line-height:1.8;
}

.nc-project-single__content p:first-child{
    margin-top:0;
}

.nc-project-single__content p:last-child{
    margin-bottom:0;
}


.nc-project-single__video{
    padding:84px 0 96px;
    background:#f7fafb;
}

.nc-project-single__video-heading{
    max-width:760px;
    margin-bottom:42px;
}

.nc-project-single__video-heading h2{
    margin:.65rem 0 0;
    color:var(--nc-navy);
    font-size:clamp(2.25rem,3.7vw,3.7rem);
    line-height:1.04;
    letter-spacing:-.035em;
}

.nc-project-single__video-frame{
    position:relative;
    overflow:hidden;
    width:100%;
    aspect-ratio:16 / 9;
    border-radius:28px;
    background:#061b3d;
    box-shadow:0 24px 60px rgba(4,38,106,.10);
}

.nc-project-single__video-frame iframe{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    border:0;
}


.nc-project-single__back{
    padding:50px 0 76px;
}

.nc-project-single__back-link{
    display:inline-flex;
    align-items:center;
    gap:.5rem;
    color:var(--nc-teal);
    font-family:var(--nc-font-brand);
    font-weight:700;
    text-decoration:none;
    transition:gap .2s ease,color .2s ease;
}

.nc-project-single__back-link:hover{
    gap:.75rem;
    color:var(--nc-navy);
}


@media (max-width:900px){

    .nc-project-single__hero{
        padding:54px 0 62px;
    }

    .nc-project-single__hero-grid,
    .nc-project-single__intro-grid{
        grid-template-columns:1fr;
        gap:42px;
    }

    .nc-project-single__hero-media{
        max-width:680px;
    }

    .nc-project-single__intro{
        padding:68px 0;
    }

    .nc-project-single__video{
        padding:66px 0 76px;
    }
}


@media (max-width:600px){

    .nc-project-single__hero-content h1{
        font-size:clamp(2.6rem,13vw,3.7rem);
    }

    .nc-project-single__hero-media{
        border-radius:22px;
    }

    .nc-project-single__video-frame{
        border-radius:20px;
    }

    .nc-project-single__intro-heading h2,
    .nc-project-single__video-heading h2{
        font-size:clamp(2.1rem,10vw,3rem);
    }
}


/* =========================================================
   Projetos individuais - metricas dinamicas
   ========================================================= */

.nc-project-single__metrics{
    padding:92px 0 100px;
    background:#fff;
}

.nc-project-single__metrics-heading{
    max-width:760px;
    margin-bottom:50px;
}

.nc-project-single__metrics-heading h2{
    margin:.65rem 0 0;
    max-width:700px;
    color:var(--nc-navy);
    font-size:clamp(2.35rem,3.7vw,3.7rem);
    line-height:1.04;
    letter-spacing:-.035em;
}

.nc-project-single__metrics-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    border-top:1px solid rgba(4,38,106,.14);
    border-bottom:1px solid rgba(4,38,106,.14);
}

.nc-project-single__metric{
    min-height:185px;
    padding:34px 30px;
    border-right:1px solid rgba(4,38,106,.14);
}

.nc-project-single__metric:first-child{
    padding-left:0;
}

.nc-project-single__metric:last-child{
    border-right:0;
}

.nc-project-single__metric strong{
    display:block;
    margin-bottom:12px;
    color:var(--nc-navy);
    font-family:var(--nc-font-brand);
    font-size:clamp(2.3rem,3.3vw,3.7rem);
    font-weight:700;
    line-height:1;
    letter-spacing:-.035em;
}

.nc-project-single__metric strong small{
    font-size:.45em;
    letter-spacing:0;
}

.nc-project-single__metric span{
    display:block;
    max-width:190px;
    color:#42526a;
    font-size:.98rem;
    line-height:1.5;
}


@media (max-width:900px){

    .nc-project-single__metrics-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .nc-project-single__metric{
        border-bottom:1px solid rgba(4,38,106,.14);
    }

    .nc-project-single__metric:nth-child(2){
        border-right:0;
    }

    .nc-project-single__metric:nth-last-child(-n+2){
        border-bottom:0;
    }

    .nc-project-single__metric:first-child{
        padding-left:30px;
    }
}


@media (max-width:560px){

    .nc-project-single__metrics{
        padding:68px 0 76px;
    }

    .nc-project-single__metrics-grid{
        grid-template-columns:1fr;
    }

    .nc-project-single__metric,
    .nc-project-single__metric:nth-child(2){
        min-height:auto;
        padding:28px 0;
        border-right:0;
        border-bottom:1px solid rgba(4,38,106,.14);
    }

    .nc-project-single__metric:first-child{
        padding-left:0;
    }

    .nc-project-single__metric:last-child{
        border-bottom:0;
    }
}


/* =========================================================
   Projetos individuais - ajuste fino das métricas
   ========================================================= */

@media (min-width:901px){

    .nc-project-single__metrics-grid{
        grid-template-columns:
            minmax(0,1fr)
            minmax(0,1fr)
            minmax(0,1.25fr)
            minmax(0,.9fr);
    }

    .nc-project-single__metric:nth-child(3) strong{
        font-size:clamp(2rem,2.8vw,3.25rem);
        white-space:nowrap;
    }

    .nc-project-single__metric:nth-child(3) strong small{
        display:inline;
        margin-left:.2em;
    }
}


/* =========================================================
   Projetos individuais - grafico de coleta
   ========================================================= */

.nc-project-single__chart-section{
    padding:96px 0 106px;
    background:#f5f9fa;
}

.nc-project-single__chart-heading{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(280px,.65fr);
    gap:70px;
    align-items:end;
    margin-bottom:50px;
}

.nc-project-single__chart-heading h2{
    max-width:720px;
    margin:.65rem 0 0;
    color:var(--nc-navy);
    font-size:clamp(2.35rem,3.7vw,3.7rem);
    line-height:1.04;
    letter-spacing:-.035em;
}

.nc-project-single__chart-description{
    max-width:470px;
    margin:0;
    color:#42526a;
    font-size:1rem;
    line-height:1.7;
}

.nc-project-chart{
    padding:34px 36px 38px;
    background:#fff;
    border:1px solid rgba(4,38,106,.10);
    border-radius:26px;
    box-shadow:0 18px 50px rgba(4,38,106,.05);
}

.nc-project-chart__data{
    display:none;
}

.nc-project-chart__legend{
    display:flex;
    flex-wrap:wrap;
    gap:12px 22px;
    padding-bottom:28px;
    border-bottom:1px solid rgba(4,38,106,.10);
}

.nc-project-chart__legend-item{
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:#42526a;
    font-size:.86rem;
    line-height:1.35;
}

.nc-project-chart__legend-item i{
    flex:0 0 10px;
    width:10px;
    height:10px;
    border-radius:50%;
}

.nc-project-chart__rows{
    padding-top:14px;
}

.nc-project-chart__row{
    display:grid;
    grid-template-columns:
        minmax(210px,290px)
        minmax(260px,1fr)
        105px;
    gap:20px;
    align-items:center;
    min-height:50px;
    padding:9px 0;
    border-bottom:1px solid rgba(4,38,106,.07);
}

.nc-project-chart__row:last-child{
    border-bottom:0;
}

.nc-project-chart__school{
    color:var(--nc-navy);
    font-size:.91rem;
    font-weight:600;
    line-height:1.25;
}

.nc-project-chart__bar-area{
    min-width:0;
}

.nc-project-chart__track{
    display:flex;
    overflow:hidden;
    width:100%;
    height:18px;
    background:#edf2f5;
    border-radius:999px;
}

.nc-project-chart__segment{
    display:block;
    height:100%;
    min-width:0;
    transition:filter .18s ease;
}

.nc-project-chart__segment:hover{
    filter:brightness(.86);
}

.nc-project-chart__total{
    color:#42526a;
    font-size:.86rem;
    font-variant-numeric:tabular-nums;
    text-align:right;
    white-space:nowrap;
}


@media (max-width:900px){

    .nc-project-single__chart-section{
        padding:74px 0 84px;
    }

    .nc-project-single__chart-heading{
        grid-template-columns:1fr;
        gap:24px;
    }

    .nc-project-chart{
        padding:28px 24px 32px;
    }

    .nc-project-chart__row{
        grid-template-columns:
            minmax(160px,230px)
            minmax(220px,1fr)
            90px;
        gap:14px;
    }
}


@media (max-width:650px){

    .nc-project-chart{
        padding:24px 18px 28px;
        border-radius:20px;
    }

    .nc-project-chart__legend{
        gap:10px 16px;
    }

    .nc-project-chart__row{
        grid-template-columns:1fr auto;
        gap:7px 14px;
        padding:14px 0;
    }

    .nc-project-chart__school{
        grid-column:1;
        grid-row:1;
    }

    .nc-project-chart__total{
        grid-column:2;
        grid-row:1;
    }

    .nc-project-chart__bar-area{
        grid-column:1 / -1;
        grid-row:2;
    }

    .nc-project-chart__track{
        height:16px;
    }
}


/* =========================================================
   Grafico de projetos - nota sobre os dados
   ========================================================= */

.nc-project-chart__note{
    margin:26px 0 0;
    padding-top:20px;
    border-top:1px solid rgba(4,38,106,.10);
    color:#66758a;
    font-size:.84rem;
    line-height:1.65;
}

.nc-project-chart__note strong{
    color:#42526a;
    font-weight:700;
}


/* =========================================================
   Projetos individuais - materiais de apoio
   ========================================================= */

.nc-project-single__downloads{
    padding:88px 0 96px;
    background:#fff;
}

.nc-project-single__downloads-heading{
    max-width:790px;
    margin-bottom:46px;
}

.nc-project-single__downloads-heading h2{
    margin:.65rem 0 0;
    color:var(--nc-navy);
    font-size:clamp(2.35rem,3.7vw,3.7rem);
    line-height:1.04;
    letter-spacing:-.035em;
}

.nc-project-single__downloads-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px;
}

.nc-project-download{
    display:grid;
    grid-template-columns:auto 1fr;
    gap:20px 22px;
    align-items:start;
    padding:32px;
    border:1px solid rgba(4,38,106,.12);
    border-radius:24px;
    background:#f7fafb;
    transition:
        transform .2s ease,
        box-shadow .2s ease,
        border-color .2s ease;
}

.nc-project-download:hover{
    transform:translateY(-3px);
    border-color:rgba(0,179,182,.35);
    box-shadow:0 18px 40px rgba(4,38,106,.07);
}

.nc-project-download__icon{
    display:flex;
    align-items:center;
    justify-content:center;
    width:48px;
    height:48px;
    border-radius:50%;
    background:var(--nc-teal);
    color:#fff;
    font-size:1.35rem;
    font-weight:700;
}

.nc-project-download__type{
    margin:0 0 7px;
    color:var(--nc-teal-dark);
    font-size:.74rem;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.nc-project-download h3{
    margin:0;
    color:var(--nc-navy);
    font-size:1.35rem;
    line-height:1.2;
}

.nc-project-download__format{
    display:inline-block;
    margin-top:10px;
    color:#66758a;
    font-size:.75rem;
    font-weight:700;
}

.nc-project-download__link{
    grid-column:1 / -1;
    display:inline-flex;
    align-items:center;
    gap:.45rem;
    width:max-content;
    margin-top:6px;
    color:var(--nc-teal);
    font-family:var(--nc-font-brand);
    font-weight:700;
    text-decoration:none;
}

.nc-project-download__link:hover{
    color:var(--nc-navy);
}


@media (max-width:760px){

    .nc-project-single__downloads{
        padding:68px 0 76px;
    }

    .nc-project-single__downloads-grid{
        grid-template-columns:1fr;
    }

    .nc-project-download{
        padding:26px;
    }
}


/* ==========================================================
   MATERIAIS
   Página pública de consulta dos materiais aceitos.
   ========================================================== */


/* Hero */

.nc-materials-hero{
    position:relative;
    overflow:hidden;
    padding:108px 0 92px;
    background:
        radial-gradient(
            circle at 82% 24%,
            rgba(23,170,158,.16),
            transparent 28%
        ),
        linear-gradient(
            135deg,
            #eefaf9 0%,
            #f4f8fb 56%,
            #eef4fb 100%
        );
}

.nc-materials-hero::after{
    content:"";
    position:absolute;
    width:340px;
    height:340px;
    border-radius:50%;
    right:-110px;
    bottom:-190px;
    border:1px solid rgba(15,152,145,.16);
}

.nc-materials-hero__inner{
    position:relative;
    z-index:1;
}

.nc-materials-hero__copy{
    max-width:850px;
}

.nc-materials-hero h1{
    margin:12px 0 28px;
    max-width:900px;
    color:var(--nc-navy);
    font-size:clamp(3rem,6vw,5.4rem);
    line-height:.96;
    letter-spacing:-.045em;
}

.nc-materials-hero h1 span{
    color:var(--nc-teal);
}

.nc-materials-hero__lead{
    margin:0;
    max-width:660px;
    color:#526078;
    font-size:1.16rem;
    line-height:1.7;
}


/* Introdução */

.nc-materials-intro{
    padding:88px 0 74px;
    background:#fff;
}

.nc-materials-intro__grid{
    display:grid;
    grid-template-columns:1.15fr .85fr;
    gap:80px;
    align-items:end;
}

.nc-materials-intro h2{
    margin:10px 0 0;
    max-width:720px;
    color:var(--nc-navy);
    font-size:clamp(2rem,3.7vw,3.25rem);
    line-height:1.08;
    letter-spacing:-.035em;
}

.nc-materials-intro__text{
    max-width:480px;
}

.nc-materials-intro__text p{
    margin:0;
    color:var(--nc-muted);
    font-size:1.04rem;
    line-height:1.75;
}


/* Área dos materiais */

.nc-materials-list{
    padding:18px 0 104px;
    background:#fff;
}

.nc-materials-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:26px;
    align-items:start;
}


/* Card */

.nc-material-card{
    overflow:hidden;
    background:#fff;
    border:1px solid var(--nc-border);
    border-radius:24px;
    box-shadow:
        0 8px 28px rgba(6,42,104,.055);
    transition:
        transform .28s ease,
        box-shadow .28s ease,
        border-color .28s ease;
}

.nc-material-card:hover{
    transform:translateY(-5px);
    border-color:rgba(15,152,145,.28);
    box-shadow:
        0 18px 44px rgba(6,42,104,.10);
}


/* Imagem */

.nc-material-card__media{
    position:relative;
    overflow:hidden;
    height:238px;
    background:#f3f7f8;
}

.nc-material-card__media::after{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
        linear-gradient(
            180deg,
            transparent 68%,
            rgba(5,34,68,.08)
        );
}

.nc-material-card__media img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:transform .55s ease;
}

.nc-material-card:hover
.nc-material-card__media img{
    transform:scale(1.045);
}

.nc-material-card__placeholder{
    height:100%;
    display:grid;
    place-items:center;
    padding:24px;
    color:var(--nc-navy);
    text-align:center;
    font-weight:700;
}


/* Corpo */

.nc-material-card__body{
    padding:26px 26px 28px;
}

.nc-material-card__title{
    margin:0 0 23px;
    color:var(--nc-navy);
    font-size:1.52rem;
    line-height:1.15;
    letter-spacing:-.025em;
}


/* Pode / Não pode */

.nc-material-card__rules{
    display:grid;
    gap:22px;
}

.nc-material-rule{
    padding-top:18px;
    border-top:1px solid #edf1f4;
}

.nc-material-rule__heading{
    display:flex;
    align-items:center;
    gap:9px;
    margin-bottom:11px;
}

.nc-material-rule__heading strong{
    color:var(--nc-navy);
    font-size:.86rem;
    text-transform:uppercase;
    letter-spacing:.055em;
}

.nc-material-rule__icon{
    width:25px;
    height:25px;
    flex:0 0 25px;
    display:grid;
    place-items:center;
    border-radius:50%;
    font-size:.82rem;
    font-weight:800;
}

.nc-material-rule--can
.nc-material-rule__icon{
    color:#087d72;
    background:#e5f6f2;
}

.nc-material-rule--cannot
.nc-material-rule__icon{
    color:#a74444;
    background:#faeeee;
}

.nc-material-rule__content{
    color:#59677a;
    font-size:.91rem;
    line-height:1.6;
}

.nc-material-rule__content p{
    margin:0 0 8px;
}

.nc-material-rule__content p:last-child{
    margin-bottom:0;
}


/* CTA final */

.nc-materials-footer{
    padding:78px 0;
    background:#f3f8f8;
    border-top:1px solid #e7efef;
}

.nc-materials-footer__inner{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:60px;
}

.nc-materials-footer__inner > div{
    max-width:700px;
}

.nc-materials-footer h2{
    margin:8px 0 13px;
    color:var(--nc-navy);
    font-size:clamp(2rem,3.6vw,3rem);
    line-height:1.05;
    letter-spacing:-.035em;
}

.nc-materials-footer p:not(.nc-eyebrow){
    margin:0;
    max-width:650px;
    color:var(--nc-muted);
}


/* Tablet */

@media (max-width:980px){

    .nc-materials-intro__grid{
        grid-template-columns:1fr;
        gap:30px;
    }

    .nc-materials-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .nc-materials-footer__inner{
        align-items:flex-start;
        flex-direction:column;
        gap:28px;
    }
}


/* Mobile */

@media (max-width:700px){

    .nc-materials-hero{
        padding:76px 0 66px;
    }

    .nc-materials-hero h1{
        font-size:clamp(2.6rem,12vw,3.6rem);
    }

    .nc-materials-intro{
        padding:64px 0 54px;
    }

    .nc-materials-list{
        padding-bottom:72px;
    }

    .nc-materials-grid{
        grid-template-columns:1fr;
        gap:20px;
    }

    .nc-material-card__media{
        height:235px;
    }

    .nc-materials-footer{
        padding:62px 0;
    }
}
/* ==========================================================
   MATERIAIS - AJUSTES DE PADRONIZACAO DOS CARDS
   ========================================================== */

.nc-materials-grid{
    align-items:stretch;
}

.nc-material-card{
    height:100%;
    display:flex;
    flex-direction:column;
}

.nc-material-card__body{
    flex:1;
    display:flex;
    flex-direction:column;
}

.nc-material-card__title{
    min-height:2.5em;
}

.nc-material-card__rules{
    flex:1;
    display:flex;
    flex-direction:column;
    gap:22px;
}

.nc-material-rule{
    flex:1;
    display:flex;
    flex-direction:column;
}

.nc-material-rule__content{
    flex:1;
}

@media (max-width:700px){

    .nc-material-card__title{
        min-height:auto;
    }
}
/* ==========================================================
   MATERIAIS - EQUAL HEIGHT V2
   Equaliza os cards dentro da grade desktop/tablet.
   ========================================================== */

.nc-materials-grid{
    grid-auto-rows:1fr;
    align-items:stretch;
}

.nc-material-card{
    height:100%;
    display:flex;
    flex-direction:column;
}

.nc-material-card__body{
    flex:1;
    display:flex;
    flex-direction:column;
}

.nc-material-card__rules{
    flex:1;
}

@media (max-width:700px){

    .nc-materials-grid{
        grid-auto-rows:auto;
    }
}

/* =========================================================
   Projetos individuais - galeria e depoimentos
   ========================================================= */


/*
 * Métricas com quantidade variável.
 */

.nc-project-single__metrics-grid--1{
    grid-template-columns:minmax(0,520px);
}

.nc-project-single__metrics-grid--2{
    grid-template-columns:repeat(2,minmax(0,1fr));
    max-width:900px;
}

.nc-project-single__metrics-grid--3{
    grid-template-columns:repeat(3,minmax(0,1fr));
}

.nc-project-single__metrics-grid--2
.nc-project-single__metric:last-child,
.nc-project-single__metrics-grid--3
.nc-project-single__metric:last-child{
    border-right:0;
}


/*
 * Galeria.
 */

.nc-project-single__gallery{
    padding:96px 0 104px;
    background:#f5f9fa;
}

.nc-project-single__gallery-heading{
    max-width:760px;
    margin-bottom:46px;
}

.nc-project-single__gallery-heading h2{
    margin:.65rem 0 0;
    color:var(--nc-navy);
    font-size:clamp(2.35rem,3.7vw,3.7rem);
    line-height:1.04;
    letter-spacing:-.035em;
}

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

.nc-project-gallery-item{
    overflow:hidden;
    margin:0;
    border-radius:24px;
    background:#eaf1f3;
}

.nc-project-gallery-item img{
    display:block;
    width:100%;
    aspect-ratio:1.02 / 1;
    object-fit:cover;
    transition:transform .35s ease;
}

.nc-project-gallery-item:hover img{
    transform:scale(1.045);
}


/*
 * Depoimentos.
 */

.nc-project-single__testimonials{
    padding:96px 0 108px;
    background:#fff;
}

.nc-project-single__testimonials-heading{
    max-width:790px;
    margin-bottom:48px;
}

.nc-project-single__testimonials-heading h2{
    margin:.65rem 0 0;
    color:var(--nc-navy);
    font-size:clamp(2.35rem,3.7vw,3.7rem);
    line-height:1.04;
    letter-spacing:-.035em;
}

.nc-project-testimonials-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px;
}

.nc-project-testimonial{
    display:flex;
    flex-direction:column;
    min-height:100%;
    padding:32px;
    border:1px solid rgba(4,38,106,.11);
    border-radius:24px;
    background:#f8fafb;
    transition:
        transform .2s ease,
        border-color .2s ease,
        box-shadow .2s ease;
}

.nc-project-testimonial:hover{
    transform:translateY(-3px);
    border-color:rgba(0,179,182,.30);
    box-shadow:0 18px 42px rgba(4,38,106,.06);
}

.nc-project-testimonial__header{
    display:flex;
    align-items:center;
    gap:18px;
    margin-bottom:24px;
}

.nc-project-testimonial__photo{
    flex:0 0 76px;
    width:76px;
    height:76px;
    overflow:hidden;
    border-radius:50%;
    background:#e9f0f2;
}

.nc-project-testimonial__photo img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}

.nc-project-testimonial__person h3{
    margin:0 0 4px;
    color:var(--nc-navy);
    font-size:1.18rem;
    line-height:1.25;
}

.nc-project-testimonial__person p{
    margin:0;
    color:var(--nc-teal-dark);
    font-size:.84rem;
    font-weight:700;
    line-height:1.45;
}

.nc-project-testimonial blockquote{
    flex:1;
    margin:0;
    color:#42526a;
    font-size:1rem;
    line-height:1.75;
}

.nc-project-testimonial blockquote p{
    margin:0;
}

.nc-project-testimonial__video{
    display:inline-flex;
    align-items:center;
    gap:.45rem;
    width:max-content;
    margin-top:26px;
    color:var(--nc-teal);
    font-family:var(--nc-font-brand);
    font-weight:700;
    text-decoration:none;
    transition:gap .2s ease,color .2s ease;
}

.nc-project-testimonial__video:hover{
    gap:.7rem;
    color:var(--nc-navy);
}


@media (max-width:900px){

    .nc-project-single__gallery-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .nc-project-testimonials-grid{
        grid-template-columns:1fr;
    }

}


@media (max-width:560px){

    .nc-project-single__gallery,
    .nc-project-single__testimonials{
        padding:70px 0 78px;
    }

    .nc-project-single__gallery-grid{
        grid-template-columns:1fr;
    }

    .nc-project-gallery-item{
        border-radius:20px;
    }

    .nc-project-testimonial{
        padding:26px 22px;
        border-radius:20px;
    }

    .nc-project-testimonial__header{
        align-items:flex-start;
    }

    .nc-project-testimonial__photo{
        flex-basis:64px;
        width:64px;
        height:64px;
    }

    .nc-project-single__metrics-grid--1,
    .nc-project-single__metrics-grid--2,
    .nc-project-single__metrics-grid--3{
        grid-template-columns:1fr;
        max-width:none;
    }

}
/* =========================================================
   Residuos Pela Vida - materiais do projeto
   ========================================================= */

.nc-project-materials{
    padding:96px 0 106px;
    background:#fff;
}


.nc-project-materials__heading{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(280px,.7fr);
    column-gap:72px;
    align-items:end;
    margin-bottom:52px;
}


.nc-project-materials__heading .nc-eyebrow{
    grid-column:1 / -1;
}


.nc-project-materials__heading h2{
    max-width:720px;
    margin:.65rem 0 0;
    color:var(--nc-navy);
    font-size:clamp(2.35rem,3.7vw,3.7rem);
    line-height:1.04;
    letter-spacing:-.035em;
}


.nc-project-materials__intro{
    max-width:430px;
    margin:0;
    color:#66758a;
    font-size:1rem;
    line-height:1.7;
}


.nc-project-materials__grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:26px;
}


.nc-project-material-card{
    overflow:hidden;
    border:1px solid rgba(4,38,106,.10);
    border-radius:26px;
    background:#f8fbfc;
    box-shadow:0 12px 32px rgba(4,38,106,.045);
    transition:
        transform .2s ease,
        box-shadow .2s ease,
        border-color .2s ease;
}


.nc-project-material-card:hover{
    transform:translateY(-3px);
    border-color:rgba(0,179,182,.28);
    box-shadow:0 18px 44px rgba(4,38,106,.075);
}


.nc-project-material-card__media{
    overflow:hidden;
    aspect-ratio:1.45 / 1;
    background:#eef4f5;
}


.nc-project-material-card__media img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .35s ease;
}


.nc-project-material-card:hover
.nc-project-material-card__media img{
    transform:scale(1.035);
}


.nc-project-material-card__body{
    padding:28px 28px 30px;
}


.nc-project-material-card__body h3{
    margin:0 0 24px;
    color:var(--nc-navy);
    font-size:1.55rem;
    line-height:1.15;
}


.nc-project-material-card__info{
    padding-top:20px;
    border-top:1px solid rgba(4,38,106,.09);
}


.nc-project-material-card__info
+ .nc-project-material-card__info{
    margin-top:24px;
}


.nc-project-material-card__label{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:12px;
    color:var(--nc-navy);
    font-size:.88rem;
}


.nc-project-material-card__mark{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 26px;
    width:26px;
    height:26px;
    border-radius:50%;
    font-size:.9rem;
    font-weight:800;
}


.nc-project-material-card__info--yes
.nc-project-material-card__mark{
    background:rgba(0,179,182,.12);
    color:var(--nc-teal);
}


.nc-project-material-card__info--no
.nc-project-material-card__mark{
    background:rgba(4,38,106,.08);
    color:var(--nc-navy);
}


.nc-project-material-card__info p{
    margin:0;
    color:#56667a;
    font-size:.91rem;
    line-height:1.65;
}


@media (max-width:980px){

    .nc-project-materials__heading{
        grid-template-columns:1fr;
        gap:22px;
    }


    .nc-project-materials__grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}


@media (max-width:640px){

    .nc-project-materials{
        padding:70px 0 78px;
    }


    .nc-project-materials__heading{
        margin-bottom:36px;
    }


    .nc-project-materials__heading h2{
        font-size:clamp(2.15rem,10vw,3rem);
    }


    .nc-project-materials__grid{
        grid-template-columns:1fr;
        gap:20px;
    }


    .nc-project-material-card__body{
        padding:24px;
    }


    .nc-project-material-card__media{
        aspect-ratio:1.6 / 1;
    }
}
/* =========================================================
   Residuos Pela Vida - ajuste fino dos materiais
   ========================================================= */

.nc-project-material-card__label{
    font-size:.92rem;
}

.nc-project-material-card__info p{
    font-size:.96rem;
    line-height:1.74;
}

.nc-project-material-card__info--no
.nc-project-material-card__mark{
    background:rgba(191,58,58,.10);
    color:#b33a3a;
}

@media (max-width:640px){

    .nc-project-material-card__info p{
        font-size:.98rem;
    }
}
/* =========================================================
   Residuos Pela Vida - pontos de descarte
   ========================================================= */

.nc-project-pevs{
    padding:96px 0 106px;
    background:#f5f9fa;
}


.nc-project-pevs__heading{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(280px,.7fr);
    gap:72px;
    align-items:end;
    margin-bottom:42px;
}


.nc-project-pevs__heading h2{
    max-width:720px;
    margin:.65rem 0 0;
    color:var(--nc-navy);
    font-size:clamp(2.35rem,3.7vw,3.7rem);
    line-height:1.04;
    letter-spacing:-.035em;
}


.nc-project-pevs__intro{
    max-width:430px;
    margin:0;
    color:#66758a;
    font-size:1rem;
    line-height:1.7;
}


.nc-project-pevs__search{
    position:relative;
    display:flex;
    align-items:center;
    max-width:820px;
    margin-bottom:18px;
}


.nc-project-pevs__search-icon{
    position:absolute;
    left:22px;
    top:50%;
    z-index:1;
    transform:translateY(-50%);
    color:var(--nc-teal);
    font-size:1.35rem;
    pointer-events:none;
}


.nc-project-pevs__search-input{
    width:100%;
    min-height:60px;
    padding:0 58px;
    border:1px solid rgba(4,38,106,.13);
    border-radius:18px;
    outline:0;
    background:#fff;
    color:var(--nc-navy);
    font:inherit;
    font-size:1rem;
    box-shadow:0 10px 30px rgba(4,38,106,.045);
    transition:
        border-color .2s ease,
        box-shadow .2s ease;
}


.nc-project-pevs__search-input:focus{
    border-color:rgba(0,179,182,.58);
    box-shadow:0 0 0 4px rgba(0,179,182,.08);
}


.nc-project-pevs__search-input::placeholder{
    color:#8995a5;
}


.nc-project-pevs__clear{
    position:absolute;
    right:17px;
    top:50%;
    transform:translateY(-50%);
    width:34px;
    height:34px;
    padding:0;
    border:0;
    border-radius:50%;
    background:#eef4f5;
    color:#56667a;
    font-size:1.3rem;
    line-height:1;
    cursor:pointer;
}


.nc-project-pevs__status{
    margin-bottom:30px;
    color:#728094;
    font-size:.87rem;
}


.nc-project-pevs__status strong{
    color:var(--nc-navy);
}


.nc-project-pevs__grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:22px;
}


.nc-project-pev-card{
    position:relative;
    display:flex;
    flex-direction:column;
    min-height:265px;
    padding:30px;
    border:1px solid rgba(4,38,106,.10);
    border-radius:24px;
    background:#fff;
    box-shadow:0 12px 32px rgba(4,38,106,.04);
    transition:
        transform .2s ease,
        border-color .2s ease,
        box-shadow .2s ease;
}


.nc-project-pev-card:hover{
    transform:translateY(-2px);
    border-color:rgba(0,179,182,.28);
    box-shadow:0 18px 40px rgba(4,38,106,.07);
}


.nc-project-pev-card[hidden]{
    display:none;
}


.nc-project-pev-card__top{
    min-height:26px;
    margin-bottom:10px;
}


.nc-project-pev-card__location{
    display:inline-flex;
    align-items:center;
    min-height:26px;
    padding:5px 10px;
    border-radius:999px;
    background:rgba(0,179,182,.09);
    color:var(--nc-teal-dark);
    font-size:.75rem;
    font-weight:700;
    letter-spacing:.01em;
}


.nc-project-pev-card h3{
    max-width:520px;
    margin:0 0 14px;
    color:var(--nc-navy);
    font-size:1.38rem;
    line-height:1.2;
}


.nc-project-pev-card__address{
    margin:0;
    color:#637286;
    font-size:.94rem;
    font-style:normal;
    line-height:1.6;
}


.nc-project-pev-card__contacts{
    display:flex;
    flex-direction:column;
    gap:7px;
    margin-top:18px;
    padding-top:17px;
    border-top:1px solid rgba(4,38,106,.08);
}


.nc-project-pev-card__contacts a{
    display:inline-flex;
    align-items:center;
    gap:8px;
    width:max-content;
    max-width:100%;
    color:#53647a;
    font-size:.88rem;
    line-height:1.4;
    text-decoration:none;
    overflow-wrap:anywhere;
}


.nc-project-pev-card__contacts a:hover{
    color:var(--nc-teal-dark);
}


.nc-project-pev-card__contacts span{
    color:var(--nc-teal);
    font-weight:700;
}


.nc-project-pev-card__footer{
    margin-top:auto;
    padding-top:22px;
}


.nc-project-pev-card__map{
    display:inline-flex;
    align-items:center;
    gap:7px;
    color:var(--nc-teal);
    font-family:var(--nc-font-brand);
    font-size:.9rem;
    font-weight:700;
    text-decoration:none;
    transition:
        gap .2s ease,
        color .2s ease;
}


.nc-project-pev-card__map:hover{
    gap:10px;
    color:var(--nc-navy);
}


.nc-project-pevs__empty{
    margin-top:24px;
    padding:38px;
    border:1px dashed rgba(4,38,106,.16);
    border-radius:22px;
    background:#fff;
    text-align:center;
}


.nc-project-pevs__empty strong{
    color:var(--nc-navy);
    font-size:1.15rem;
}


.nc-project-pevs__empty p{
    margin:8px 0 0;
    color:#66758a;
}


@media (max-width:850px){

    .nc-project-pevs__heading{
        grid-template-columns:1fr;
        gap:22px;
    }


    .nc-project-pevs__grid{
        grid-template-columns:1fr;
    }


    .nc-project-pev-card{
        min-height:auto;
    }
}


@media (max-width:640px){

    .nc-project-pevs{
        padding:70px 0 78px;
    }


    .nc-project-pevs__heading{
        margin-bottom:32px;
    }


    .nc-project-pevs__heading h2{
        font-size:clamp(2.15rem,10vw,3rem);
    }


    .nc-project-pevs__search-input{
        min-height:56px;
        padding-left:50px;
        padding-right:50px;
        font-size:.94rem;
    }


    .nc-project-pevs__search-icon{
        left:18px;
    }


    .nc-project-pev-card{
        padding:25px;
        border-radius:20px;
    }
}
/* =========================================================
   Residuos Pela Vida - ajuste fino dos PEVs
   ========================================================= */

.nc-project-pevs__grid{
    align-items:start;
}

.nc-project-pev-card{
    min-height:0;
    padding:26px 28px;
}

.nc-project-pev-card__top{
    min-height:0;
    margin-bottom:9px;
}

.nc-project-pev-card h3{
    margin-bottom:11px;
}

.nc-project-pev-card__contacts{
    margin-top:15px;
    padding-top:14px;
}

.nc-project-pev-card__footer{
    margin-top:18px;
    padding-top:0;
}

.nc-project-pev-card__map{
    min-height:36px;
    padding:8px 14px;
    border-radius:999px;
    background:rgba(0,179,182,.09);
    width:max-content;
}

.nc-project-pev-card__map:hover{
    background:rgba(0,179,182,.15);
}

@media (max-width:640px){

    .nc-project-pev-card{
        padding:23px;
    }
}
/* =========================================================
   Residuos Pela Vida - entidades beneficiadas
   ========================================================= */

.nc-project-entities{
    padding:96px 0 106px;
    background:#fff;
}


.nc-project-entities__heading{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(280px,.7fr);
    gap:72px;
    align-items:end;
    margin-bottom:50px;
}


.nc-project-entities__heading h2{
    max-width:720px;
    margin:.65rem 0 0;
    color:var(--nc-navy);
    font-size:clamp(2.35rem,3.7vw,3.7rem);
    line-height:1.04;
    letter-spacing:-.035em;
}


.nc-project-entities__intro{
    max-width:430px;
    margin:0;
    color:#66758a;
    font-size:1rem;
    line-height:1.7;
}


.nc-project-entities__grid{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:20px;
}


.nc-project-entity-card{
    overflow:hidden;
    border:1px solid rgba(4,38,106,.10);
    border-radius:22px;
    background:#fff;
    box-shadow:0 10px 28px rgba(4,38,106,.04);
    transition:
        transform .2s ease,
        border-color .2s ease,
        box-shadow .2s ease;
}


.nc-project-entity-card:hover{
    transform:translateY(-3px);
    border-color:rgba(0,179,182,.27);
    box-shadow:0 16px 36px rgba(4,38,106,.07);
}


.nc-project-entity-card__media{
    display:flex;
    align-items:center;
    justify-content:center;
    height:170px;
    padding:24px;
    background:#f8fbfc;
    border-bottom:1px solid rgba(4,38,106,.08);
}


.nc-project-entity-card__media img{
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
}


.nc-project-entity-card__placeholder{
    display:flex;
    align-items:center;
    justify-content:center;
    width:74px;
    height:74px;
    border-radius:50%;
    background:rgba(0,179,182,.09);
    color:var(--nc-teal);
    font-family:var(--nc-font-brand);
    font-size:2rem;
    font-weight:700;
}


.nc-project-entity-card__body{
    display:flex;
    align-items:center;
    min-height:86px;
    padding:18px 19px 20px;
}


.nc-project-entity-card__body h3{
    margin:0;
    color:var(--nc-navy);
    font-size:.96rem;
    line-height:1.35;
}


@media (max-width:1100px){

    .nc-project-entities__grid{
        grid-template-columns:repeat(4,minmax(0,1fr));
    }
}


@media (max-width:900px){

    .nc-project-entities__heading{
        grid-template-columns:1fr;
        gap:22px;
    }


    .nc-project-entities__grid{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
}


@media (max-width:640px){

    .nc-project-entities{
        padding:70px 0 78px;
    }


    .nc-project-entities__heading{
        margin-bottom:34px;
    }


    .nc-project-entities__heading h2{
        font-size:clamp(2.15rem,10vw,3rem);
    }


    .nc-project-entities__grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:14px;
    }


    .nc-project-entity-card__media{
        height:135px;
        padding:18px;
    }


    .nc-project-entity-card__body{
        min-height:78px;
        padding:15px;
    }


    .nc-project-entity-card__body h3{
        font-size:.88rem;
    }
}
/* =========================================================
   Residuos Pela Vida - PEVs com altura harmonica por linha
   ========================================================= */

.nc-project-pevs__grid{
    align-items:stretch;
}

.nc-project-pev-card{
    height:100%;
}

/* =========================================================
   Residuos Pela Vida - centralizar PEV impar
   ========================================================= */

@media (min-width:851px){

    .nc-project-pevs__grid
    .nc-project-pev-card:last-child:nth-child(odd){
        grid-column:1 / -1;
        width:calc(50% - 11px);
        justify-self:center;
    }
}

/* Resíduos: módulos finais, sem alterar os demais projetos. */
.nc-residuos-impact .nc-project-single__metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
.nc-residuos-contact{padding:64px 0;background:#fff;}
.nc-residuos-contact h2{color:#04266a;font-size:clamp(2rem,4vw,3rem);line-height:1.12;margin:0 0 20px;}
.nc-residuos-contact__layout{display:grid;grid-template-columns:minmax(0,.38fr) minmax(0,.62fr);gap:clamp(32px,4vw,64px);align-items:start;}
.nc-residuos-contact__intro,.nc-residuos-contact__fields{min-width:0;}
.nc-residuos-contact__description{margin:0;max-width:36ch;color:#56667a;line-height:1.7;}
.nc-residuos-contact__form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 24px;}
.nc-residuos-contact__full{grid-column:1 / -1;}
.nc-residuos-contact__form label{display:grid;gap:9px;color:#04266a;font-weight:600;}
.nc-residuos-contact__form input{width:100%;min-width:0;box-sizing:border-box;padding:14px;border:1px solid #dbe3eb;border-radius:8px;background:#fafcfd;font:inherit;}
.nc-residuos-contact__form input:focus{outline:2px solid #00b3b6;outline-offset:2px;}
.nc-residuos-contact__form button{padding:14px 32px;border:0;border-radius:8px;background:#007c80;color:#fff;font:inherit;font-weight:600;cursor:pointer;}
.nc-residuos-contact__form button:hover{background:#006468;}
.nc-residuos-contact__notice{padding:16px;border:1px solid #dbe3eb;border-radius:8px;margin:0 0 24px;}
/* Mais 24px entre entidades e indicadores, apenas neste projeto. */
.nc-project-entities + .nc-residuos-impact{padding-top:calc(92px + 24px);}
@media(max-width:980px){.nc-residuos-contact__layout{grid-template-columns:1fr;gap:32px;}.nc-residuos-contact__description{max-width:52ch;}}
@media(max-width:650px){.nc-project-entities + .nc-residuos-impact{padding-top:calc(68px + 24px);}.nc-residuos-contact{padding:48px 0;}.nc-residuos-contact__form,.nc-residuos-impact .nc-project-single__metrics-grid{grid-template-columns:1fr;}}


/* =========================================================
   NC_CHART_LIMIT_V1
   Grafico Escola Sustentavel - expandir/recolher escolas
   ========================================================= */

.nc-project-chart__row[hidden]{
    display:none;
}

.nc-project-chart__actions{
    display:flex;
    justify-content:center;
    padding-top:26px;
}

.nc-project-chart__toggle{
    appearance:none;
    border:1px solid rgba(0,179,182,.55);
    border-radius:999px;
    background:#fff;
    color:var(--nc-navy);
    padding:12px 24px;
    font:inherit;
    font-size:.9rem;
    font-weight:700;
    cursor:pointer;
    transition:
        background-color .18s ease,
        border-color .18s ease,
        color .18s ease,
        transform .18s ease;
}

.nc-project-chart__toggle:hover{
    background:#00b3b6;
    border-color:#00b3b6;
    color:#fff;
    transform:translateY(-1px);
}

.nc-project-chart__toggle:focus-visible{
    outline:3px solid rgba(0,179,182,.22);
    outline-offset:3px;
}

@media (max-width:650px){

    .nc-project-chart__actions{
        padding-top:22px;
    }

    .nc-project-chart__toggle{
        width:100%;
    }
}


/* =========================================================
   NC_ESCOLA_SCHOOLS_V1
   Projeto Escola Sustentavel - escolas participantes
   ========================================================= */

.nc-project-schools{
    padding:88px 0;
    background:#f7fafb;
}

.nc-project-schools__heading{
    display:flex;
    justify-content:space-between;
    gap:48px;
    align-items:flex-end;
    margin-bottom:34px;
}

.nc-project-schools__heading h2{
    max-width:760px;
    margin:8px 0 0;
    color:var(--nc-navy);
}

.nc-project-schools__count{
    flex:0 0 auto;
    margin:0 0 4px;
    color:#66758a;
    font-size:.9rem;
    font-weight:600;
}

.nc-project-schools__search{
    position:relative;
    max-width:720px;
    margin-bottom:14px;
}

.nc-project-schools__search-icon{
    position:absolute;
    left:20px;
    top:50%;
    transform:translateY(-50%);
    color:#6f8094;
    font-size:1.25rem;
    pointer-events:none;
}

.nc-project-schools__search input{
    width:100%;
    min-height:56px;
    padding:0 20px 0 52px;
    border:1px solid rgba(4,38,106,.14);
    border-radius:16px;
    background:#fff;
    color:var(--nc-navy);
    font:inherit;
    outline:none;
    box-shadow:0 12px 30px rgba(4,38,106,.035);
    transition:
        border-color .18s ease,
        box-shadow .18s ease;
}

.nc-project-schools__search input:focus{
    border-color:#00b3b6;
    box-shadow:
        0 0 0 4px rgba(0,179,182,.10),
        0 12px 30px rgba(4,38,106,.04);
}

.nc-project-schools__search input::placeholder{
    color:#8a98a8;
}

.nc-project-schools__status{
    margin:0 0 24px;
    color:#7a889a;
    font-size:.84rem;
}

.nc-project-schools__grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
}

.nc-project-school{
    display:flex;
    align-items:center;
    gap:18px;
    min-width:0;
    padding:20px;
    background:#fff;
    border:1px solid rgba(4,38,106,.09);
    border-radius:20px;
    box-shadow:0 14px 34px rgba(4,38,106,.035);
    transition:
        transform .18s ease,
        box-shadow .18s ease,
        border-color .18s ease;
}

.nc-project-school:hover{
    transform:translateY(-2px);
    border-color:rgba(0,179,182,.30);
    box-shadow:0 18px 42px rgba(4,38,106,.07);
}

.nc-project-school[hidden]{
    display:none !important;
}

.nc-project-school__logo{
    display:flex;
    flex:0 0 74px;
    width:74px;
    height:74px;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    border-radius:16px;
    background:#f5f8fa;
    color:var(--nc-navy);
    font-size:1.5rem;
    font-weight:800;
}

.nc-project-school__logo img{
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
    padding:7px;
}

.nc-project-school__content{
    min-width:0;
}

.nc-project-school__content h3{
    margin:0;
    color:var(--nc-navy);
    font-size:1rem;
    line-height:1.35;
}

.nc-project-school__content p{
    margin:7px 0 0;
    color:#718094;
    font-size:.86rem;
    line-height:1.4;
}

.nc-project-schools__empty{
    margin:28px 0 0;
    padding:24px;
    border:1px dashed rgba(4,38,106,.16);
    border-radius:18px;
    background:#fff;
    color:#66758a;
    text-align:center;
}

.nc-project-schools__empty[hidden]{
    display:none !important;
}

.nc-project-schools__actions{
    display:flex;
    justify-content:center;
    padding-top:30px;
}

.nc-project-schools__toggle{
    appearance:none;
    padding:12px 24px;
    border:1px solid rgba(0,179,182,.55);
    border-radius:999px;
    background:#fff;
    color:var(--nc-navy);
    font:inherit;
    font-size:.9rem;
    font-weight:700;
    cursor:pointer;
    transition:
        background-color .18s ease,
        border-color .18s ease,
        color .18s ease,
        transform .18s ease;
}

.nc-project-schools__toggle:hover{
    background:#00b3b6;
    border-color:#00b3b6;
    color:#fff;
    transform:translateY(-1px);
}

.nc-project-schools__toggle:focus-visible{
    outline:3px solid rgba(0,179,182,.20);
    outline-offset:3px;
}

.nc-project-schools__toggle[hidden]{
    display:none !important;
}

@media (max-width:980px){

    .nc-project-schools{
        padding:72px 0;
    }

    .nc-project-schools__heading{
        align-items:flex-start;
        flex-direction:column;
        gap:14px;
    }

    .nc-project-schools__grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media (max-width:650px){

    .nc-project-schools{
        padding:58px 0;
    }

    .nc-project-schools__grid{
        grid-template-columns:1fr;
    }

    .nc-project-school{
        padding:17px;
    }

    .nc-project-school__logo{
        flex-basis:64px;
        width:64px;
        height:64px;
        border-radius:14px;
    }

    .nc-project-schools__search{
        max-width:none;
    }

    .nc-project-schools__toggle{
        width:100%;
    }
}
/* =========================================================
   NC_ESCOLA_SCHOOLS_REFINEMENT_V1
   Refinamento visual - Escolas Participantes
   ========================================================= */

/*
 * O total já aparece no cabeçalho da seção.
 * O status inferior continua no HTML para o JavaScript,
 * mas não precisa ocupar espaço visual.
 */
.nc-project-schools__status{
    display:none;
}

/*
 * Compensa a remoção visual do status e mantém
 * o respiro entre busca e cards.
 */
.nc-project-schools__search{
    margin-bottom:30px;
}

/*
 * Logos com área um pouco maior e menos margem interna.
 */
.nc-project-school__logo{
    flex-basis:82px;
    width:82px;
    height:82px;
}

.nc-project-school__logo img{
    padding:3px;
    transform:scale(1.06);
}

/*
 * Mantém proporção confortável no celular.
 */
@media (max-width:650px){

    .nc-project-school__logo{
        flex-basis:70px;
        width:70px;
        height:70px;
    }

    .nc-project-school__logo img{
        padding:3px;
        transform:scale(1.04);
    }
}


/* =========================================================
   NC_ESCOLA_CONTACT_V1
   Escola Sustentavel - Faca parte do projeto
   ========================================================= */

.nc-escola-contact{
    padding:76px 0;
    background:#f7fafb;
    border-top:1px solid rgba(4,38,106,.06);
}

.nc-escola-contact__layout{
    display:grid;
    grid-template-columns:
        minmax(0,.38fr)
        minmax(0,.62fr);
    gap:clamp(36px,5vw,72px);
    align-items:start;
}

.nc-escola-contact__intro,
.nc-escola-contact__fields{
    min-width:0;
}

.nc-escola-contact h2{
    max-width:520px;
    margin:8px 0 20px;
    color:var(--nc-navy);
    font-size:clamp(2rem,4vw,3rem);
    line-height:1.08;
    letter-spacing:-.025em;
}

.nc-escola-contact__description{
    max-width:42ch;
    margin:0;
    color:#56667a;
    font-size:1rem;
    line-height:1.75;
}

.nc-escola-contact__form{
    display:grid;
    grid-template-columns:
        repeat(2,minmax(0,1fr));
    gap:22px 24px;
}

.nc-escola-contact__form label{
    display:grid;
    gap:9px;
    color:var(--nc-navy);
    font-weight:700;
}

.nc-escola-contact__form label span{
    font-size:.9rem;
}

.nc-escola-contact__form input{
    box-sizing:border-box;
    width:100%;
    min-width:0;
    min-height:52px;
    padding:13px 15px;
    border:1px solid #dbe3eb;
    border-radius:10px;
    outline:0;
    background:#fff;
    color:#203047;
    font:inherit;
    transition:
        border-color .2s ease,
        box-shadow .2s ease,
        background .2s ease;
}

.nc-escola-contact__form input:hover{
    border-color:#c5d3df;
}

.nc-escola-contact__form input:focus{
    border-color:#00b3b6;
    box-shadow:
        0 0 0 4px rgba(0,179,182,.10);
    background:#fff;
}

.nc-escola-contact__full{
    grid-column:1 / -1;
}

.nc-escola-contact__actions{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    margin-top:2px;
}

.nc-escola-contact__actions button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:50px;
    padding:0 26px;
    border:0;
    border-radius:999px;
    background:#007c80;
    color:#fff;
    font:inherit;
    font-weight:750;
    cursor:pointer;
    transition:
        background .2s ease,
        transform .2s ease,
        box-shadow .2s ease;
}

.nc-escola-contact__actions button:hover{
    background:var(--nc-navy);
    transform:translateY(-2px);
    box-shadow:
        0 12px 28px
        rgba(6,42,104,.14);
}

.nc-escola-contact__actions p{
    margin:0;
    color:#7a889a;
    font-size:.8rem;
    line-height:1.5;
    text-align:right;
}

.nc-escola-contact__notice{
    margin:0 0 24px;
    padding:15px 17px;
    border:1px solid #dbe3eb;
    border-radius:10px;
    background:#fff;
    color:#56667a;
    line-height:1.55;
}

.nc-escola-contact__notice--success{
    border-color:rgba(0,124,128,.28);
    background:rgba(0,124,128,.055);
    color:#075f62;
}

.nc-escola-contact__notice--invalid,
.nc-escola-contact__notice--error{
    border-color:rgba(179,58,58,.22);
    background:rgba(179,58,58,.045);
    color:#8f3030;
}

@media (max-width:980px){

    .nc-escola-contact{
        padding:68px 0;
    }

    .nc-escola-contact__layout{
        grid-template-columns:1fr;
        gap:34px;
    }

    .nc-escola-contact__description{
        max-width:58ch;
    }
}

@media (max-width:650px){

    .nc-escola-contact{
        padding:54px 0;
    }

    .nc-escola-contact__form{
        grid-template-columns:1fr;
        gap:18px;
    }

    .nc-escola-contact__full{
        grid-column:auto;
    }

    .nc-escola-contact__actions{
        align-items:stretch;
        flex-direction:column;
        gap:14px;
    }

    .nc-escola-contact__actions button{
        width:100%;
    }

    .nc-escola-contact__actions p{
        text-align:left;
    }
}


/* =========================================================
   NC_ESCOLA_TESTIMONIALS_V1
   Escola Sustentavel - depoimentos reais do Laravel
   ========================================================= */

.nc-escola-testimonials{
    padding:88px 0;
    background:#fff;
}

.nc-escola-testimonials__heading{
    max-width:680px;
    margin-bottom:34px;
}

.nc-escola-testimonials__heading h2{
    margin:8px 0 14px;
    color:var(--nc-navy);
    font-size:clamp(2rem,4vw,3rem);
    line-height:1.08;
    letter-spacing:-.025em;
}

.nc-escola-testimonials__heading > p:last-child{
    max-width:54ch;
    margin:0;
    color:#64748a;
    line-height:1.7;
}

.nc-escola-testimonials__grid{
    display:grid;
    grid-template-columns:
        repeat(3,minmax(0,1fr));
    gap:22px;
    align-items:stretch;
}

.nc-escola-testimonial{
    display:flex;
    flex-direction:column;
    overflow:hidden;
    min-width:0;
    height:100%;
    border:1px solid rgba(4,38,106,.09);
    border-radius:24px;
    background:#f8fbfc;
    transition:
        transform .22s ease,
        border-color .22s ease,
        box-shadow .22s ease;
}

.nc-escola-testimonial:hover{
    transform:translateY(-3px);
    border-color:rgba(0,179,182,.24);
    box-shadow:
        0 18px 42px rgba(4,38,106,.075);
}

.nc-escola-testimonial__media{
    overflow:hidden;
    aspect-ratio:16 / 9;
    background:#eef4f5;
}

.nc-escola-testimonial__media img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    transition:transform .35s ease;
}

.nc-escola-testimonial:hover
.nc-escola-testimonial__media img{
    transform:scale(1.025);
}

.nc-escola-testimonial__body{
    display:flex;
    flex:1;
    flex-direction:column;
    padding:26px 27px 28px;
}

.nc-escola-testimonial__quote{
    display:block;
    height:35px;
    margin-bottom:7px;
    color:var(--nc-teal);
    font-family:Georgia,serif;
    font-size:3.8rem;
    line-height:1;
}

.nc-escola-testimonial blockquote{
    margin:0;
    color:#405269;
    font-size:.96rem;
    line-height:1.72;
}

.nc-escola-testimonial footer{
    display:flex;
    flex-direction:column;
    gap:4px;
    margin-top:auto;
    padding-top:24px;
}

.nc-escola-testimonial footer strong{
    color:var(--nc-navy);
    font-size:1rem;
}

.nc-escola-testimonial footer span{
    color:#718096;
    font-size:.86rem;
}

@media (max-width:980px){

    .nc-escola-testimonials{
        padding:72px 0;
    }

    .nc-escola-testimonials__grid{
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

    .nc-escola-testimonial:last-child:nth-child(odd){
        grid-column:1 / -1;
        width:calc(50% - 11px);
        justify-self:center;
    }
}

@media (max-width:650px){

    .nc-escola-testimonials{
        padding:58px 0;
    }

    .nc-escola-testimonials__grid{
        grid-template-columns:1fr;
    }

    .nc-escola-testimonial:last-child:nth-child(odd){
        grid-column:auto;
        width:100%;
    }

    .nc-escola-testimonial__body{
        padding:24px;
    }
}

/* Institutional pages: editorial content in WordPress, live metrics in Laravel. */
.nc-circular-page,.nc-benefits-page{background:#fff;color:var(--nc-ink)}
.nc-circular-hero,.nc-benefits-hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:64px;padding-top:72px;padding-bottom:72px}
.nc-circular-hero h1,.nc-benefits-hero h1{font-size:clamp(2.5rem,4.3vw,4.4rem);line-height:1.08;letter-spacing:-.035em;color:var(--nc-navy);margin:0 0 28px;font-weight:500}
.nc-circular-hero h1 b,.nc-benefits-hero h1 b,.nc-benefits-process h2 b{color:var(--nc-teal-dark);font-weight:800}
.nc-circular-lead,.nc-benefits-lead{font-size:1.12rem;color:var(--nc-muted);line-height:1.8}
.nc-circular-hero-image img,.nc-benefits-hero-image img{display:block;width:100%;height:auto}
.nc-circular-content{padding-bottom:80px}
.nc-circular-video,.nc-benefits-video{display:block;position:relative;overflow:hidden;border-radius:var(--nc-radius);background:var(--nc-soft);box-shadow:var(--nc-shadow);transition:transform .25s}
.nc-circular-video:hover,.nc-benefits-video:hover{transform:translateY(-3px)}
.nc-circular-video img,.nc-benefits-video img{display:block;width:100%;height:auto;max-height:580px;object-fit:contain}
.nc-circular-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:68px;height:68px;border-radius:50%;background:var(--nc-navy);color:#fff;font-size:24px;box-shadow:0 0 0 9px rgba(255,255,255,.65)}
.nc-circular-concepts{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin:64px 0}
.nc-circular-concepts article{padding:32px;border:1px solid var(--nc-border);border-radius:var(--nc-radius);background:var(--nc-soft)}
.nc-circular-concepts h2{margin:0 0 18px;color:var(--nc-teal-dark);font-size:1.65rem}
.nc-circular-concepts p{color:var(--nc-muted);line-height:1.8;margin-bottom:0}
.nc-circular-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.nc-circular-gallery a.nc-partner-gallery__item{width:auto;min-width:0;display:block;border-radius:18px;overflow:hidden;transition:transform .25s}
.nc-circular-gallery a:hover{transform:translateY(-4px)}
.nc-circular-gallery img{display:block;width:100%;height:auto}
.nc-benefits-metrics{padding:64px 0;background:var(--nc-soft)}
.nc-benefits-metrics h2{text-align:center;margin:0 0 36px;color:var(--nc-navy);font-size:clamp(1.8rem,3vw,2.6rem)}
.nc-benefits-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.nc-benefits-metric{padding:28px;border:1px solid var(--nc-border);border-radius:22px;background:#fff;transition:transform .25s,box-shadow .25s}
.nc-benefits-metric:hover{transform:translateY(-3px);box-shadow:var(--nc-shadow)}
.nc-benefits-metric strong{display:block;font-size:2.2rem;color:var(--nc-teal-dark);line-height:1.2}
.nc-benefits-metric span{display:block;color:var(--nc-navy);font-weight:700;margin:12px 0}
.nc-benefits-metric p{font-size:.95rem;color:var(--nc-muted);margin:0}
.nc-benefits-description{padding-top:64px;padding-bottom:64px;max-width:900px;font-size:1.15rem;line-height:1.9;color:var(--nc-muted)}
.nc-benefits-process{display:grid;grid-template-columns:1fr 2fr;gap:48px;align-items:center;padding-bottom:80px}
.nc-benefits-process h2{font-size:clamp(2rem,3vw,3.1rem);color:var(--nc-navy);line-height:1.15;font-weight:500}
@media(max-width:800px){.nc-circular-hero,.nc-benefits-hero{grid-template-columns:1fr;gap:32px;padding-top:40px;padding-bottom:48px}.nc-circular-concepts,.nc-benefits-process{grid-template-columns:1fr;gap:24px}.nc-benefits-grid{grid-template-columns:repeat(2,1fr)}.nc-circular-gallery{gap:12px}.nc-circular-concepts{margin:40px 0}.nc-benefits-process{padding-bottom:48px}}
@media(max-width:480px){.nc-benefits-grid,.nc-circular-gallery{grid-template-columns:1fr}.nc-benefits-metric{padding:24px}.nc-circular-concepts article{padding:24px}}
@media(prefers-reduced-motion:reduce){.nc-circular-page a,.nc-benefits-page a,.nc-benefits-metric{transition:none}}

.nc-circular-gallery a.nc-partner-gallery__item{aspect-ratio:auto}

/* Informação de privacidade dos formulários e link legal do rodapé. */
.nc-contact-form .nc-privacy-notice,
.nc-escola-contact .nc-privacy-notice,
.nc-residuos-contact .nc-privacy-notice {
    grid-column: 1 / -1;
    width: 100%;
    margin: 12px 0 0;
    font-size: 0.8125rem;
    line-height: 1.6;
    color: inherit;
}
.nc-privacy-notice a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.nc-footer__privacy:hover,
.nc-privacy-notice a:hover { text-decoration: underline; text-decoration-thickness: 2px; }
.nc-footer__privacy:focus-visible,
.nc-privacy-notice a:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
/* Ajustes finais MKT: contato e componentes globais. */
.nc-contact-location__grid { grid-template-columns: minmax(0,1fr) minmax(340px,.75fr); }
.nc-contact-details { min-width: 0; padding-inline: clamp(20px,3vw,42px); }
.nc-contact-detail a { overflow-wrap: normal; word-break: normal; }
.nc-contact-detail a[href^="tel:"] { white-space: nowrap; }
.nc-contact-detail a[href^="mailto:"] { font-size: clamp(.875rem,1.3vw,1rem); }
.nc-project-pev-card[hidden], .nc-floating-counter[hidden] { display: none !important; }
.nc-project-pevs__toggle { margin-top: 24px; }
.nc-floating-actions {
    position: fixed; right: max(18px,env(safe-area-inset-right));
    bottom: max(18px,env(safe-area-inset-bottom)); z-index: 80;
    display: flex; flex-direction: column; align-items: flex-end; gap: 12px;
    pointer-events: none;
}
.nc-floating-counter {
    width: 151px; padding: 20px 16px 8px; border-radius: 12px 0 0 12px;
    margin-right: calc(-1 * max(18px,env(safe-area-inset-right)));
    background: rgba(6,42,104,.65); backdrop-filter: blur(20px); color: #fff; box-shadow: none;
    font-size: 16px; line-height: 22px; text-align: left;
}
.nc-floating-counter__icon { display: block; width: 60px; height: 59px; }
.nc-floating-counter__intro { font-size: 18px; line-height: 25px; }
.nc-floating-counter span { display: block; }
.nc-floating-counter strong { display: block; font-size: 40px; line-height: 44px; font-variant-numeric: tabular-nums; }
.nc-floating-whatsapp {
    display: grid; place-items: center; width: 60px; height: 60px;
    border-radius: 50%; background: #25d366; color: #fff;
    box-shadow: 0 4px 16px #0002; pointer-events: auto;
}
.nc-floating-whatsapp svg { width: 34px; height: 34px; }
.nc-floating-whatsapp:hover { background: #168f45; }
.nc-floating-whatsapp:focus-visible { outline: 3px solid #073475; outline-offset: 4px; }
/* Permite rolar o final do conteúdo para fora da área dos controles fixos. */
.nc-footer { padding-bottom: 48px; }
/* Durante o preenchimento, libera a área dos campos e botões. */

@media (max-width:1000px) { .nc-contact-location__grid { grid-template-columns: 1fr; } }
@media (max-width:600px) {
    html:has(.nc-floating-actions), body:has(.nc-floating-actions) { overflow-x: clip; }
    .nc-contact-detail a[href^="mailto:"] { font-size: .875rem; }
    .nc-floating-actions { right: max(14px,env(safe-area-inset-right)); bottom: max(14px,env(safe-area-inset-bottom)); gap: 10px; }
    .nc-floating-counter {
        width: 160px; min-height: 50px; padding: 6px 10px; margin-right: 0;
        border-radius: 12px; display: grid; grid-template-columns: 30px minmax(0,1fr);
        column-gap: 8px; align-items: center; background: rgba(6,42,104,.9);
    }
    .nc-floating-counter__icon { width: 30px; height: 30px; grid-row: 1 / 3; }
    .nc-floating-counter .nc-floating-counter__intro {
        position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
        overflow: hidden; clip-path: inset(50%); white-space: nowrap;
    }
    .nc-floating-counter strong { font-size: 20px; line-height: 22px; }
    .nc-floating-counter > span:last-child { font-size: 12px; line-height: 16px; }
    .nc-floating-counter { transition: opacity .16s ease; }
    .nc-floating-counter.is-content-overlap { opacity: 0; }
    .nc-floating-whatsapp { width: 52px; height: 52px; }
}
@media (max-width:600px) and (prefers-reduced-motion:reduce) {
    .nc-floating-counter { transition: none; }
}


.nc-floating-counter strong { overflow-wrap: anywhere; }



/* Flutuantes fora do fluxo: sem faixa reservada ou redução da viewport. */
.nc-floating-actions { visibility: visible; }
/* Cards maiores; a coluna estica junto ao case para alinhar o último CTA. */
@media (min-width:1101px) {
    .nc-proof__grid { align-items: stretch; }
    .nc-proof .nc-partners { display: flex; flex-direction: column; }
    .nc-proof .nc-partner-grid { flex: 1; grid-auto-rows: minmax(104px,1fr); }
    .nc-proof .nc-partner-logo { min-height: 104px; padding: 16px 8px; }
    .nc-proof .nc-partner-logo img { max-width: min(148px,100%); max-height: 60px; }
}
@media (min-width:1101px) { .nc-proof .nc-partner-grid { grid-auto-rows:104px; align-content:space-evenly; } }

/* O case tem uma última linha vazia de imagem e gap de 14px abaixo do CTA. */
@media (min-width:1101px) { .nc-proof .nc-partners { height:calc(100% - 14px); } }

/* Rodapé compacto: mantém conteúdo/colunas e libera a linha legal dos flutuantes. */
@media (min-width:761px) and (max-width:1520px) {
    .nc-footer__bottom { padding-inline-end:164px; }
}
@media (max-width:760px) {
    .nc-footer { padding-bottom:36px; }
}
@media (min-width:1101px) and (max-width:1520px) {
    .nc-footer__social { max-width:220px; }
}

@media (min-width:761px) and (max-width:1000px) {
    .nc-footer { padding-bottom:68px; }
}


/* Cases: return navigation after the complete case content. */
.single-nc_case .nc-content__inner > .nc-case-back{
    margin:36px 0 0;
    text-align:left;
}
.single-nc_case .nc-content{
    padding-bottom:44px;
}
@media(max-width:760px){
    .single-nc_case .nc-content__inner > .nc-case-back{
        margin-top:28px;
    }
    .single-nc_case .nc-content{
        padding-bottom:36px;
    }
}
