/* Camada visual atualizada do IDC
   Mantém a estrutura PHP existente e reorganiza apenas a apresentação. */
:root {
    --idc-ink: #102a43;
    --idc-blue: #0b5f87;
    --idc-teal: #0f766e;
    --idc-pink: #c43d72;
    --idc-orange: #f59e0b;
    --idc-paper: #f7fafc;
    --idc-line: #e5edf3;
    --idc-shadow: 0 18px 50px rgba(16, 42, 67, .12);
    --idc-radius: 22px;
}

html { scroll-behavior: smooth; }

body {
    color: var(--idc-ink);
    background: var(--idc-paper);
    font-family: 'Montserrat', sans-serif;
    line-height: 1.6;
}
body p { font-size: 16px; line-height: 1.7; }
body h1, body h2, body h3, body h4 { letter-spacing: -.025em; }

body, section, footer, header, div { align-content: initial; }

.container,
.container-topo {
    width: min(1180px, calc(100% - 48px));
    left: auto;
    margin-left: auto;
    margin-right: auto;
}

header {
    position: absolute;
    top: 0;
    padding: 18px 0;
    background: rgba(255, 255, 255, .96);
    border-bottom: 1px solid rgba(16, 42, 67, .08);
    box-shadow: 0 5px 24px rgba(16, 42, 67, .06);
    backdrop-filter: blur(12px);
}

header .container { position: relative; left: 50%; width: min(1180px, calc(100% - 48px)); margin: 0; transform: translateX(-50%); display: flex; align-items: center; justify-content: space-between; }
header img { width: 220px; float: none; display: block; }
nav { float: none; margin: 0; }
nav > ul { display: flex; align-items: center; padding: 0; margin: 0; }
nav > ul > li { padding: 0; margin: 0 0 0 30px; }
nav a { color: var(--idc-ink); font-size: 14px; font-weight: 700; letter-spacing: .02em; transition: color .2s ease; }
nav a:hover { color: var(--idc-pink); }
nav > ul > li:last-child > a {
    color: #fff;
    background: var(--idc-pink);
    padding: 11px 19px;
    border-radius: 999px;
}
nav > ul > li:last-child > a:hover { color: #fff; background: var(--idc-ink); }

nav .sub-menu {
    top: calc(100% + 14px);
    left: 50%;
    min-width: 190px;
    padding: 8px;
    border: 1px solid var(--idc-line);
    border-radius: 14px;
    box-shadow: 0 16px 35px rgba(16, 42, 67, .14);
    transform: translateX(-50%);
}
nav .sub-menu li { margin: 0; padding: 0; border-radius: 9px; }
nav .sub-menu li a,
nav .sub-menu li:last-child a { display: block; padding: 11px 14px; color: var(--idc-ink); background: transparent; border-radius: 9px; font-size: 13px; white-space: nowrap; }
nav .sub-menu li a:hover { color: var(--idc-pink); background: #fff2f6; }

#menu-mbl { display: none; }
.menu-toggle, .menu-close, .submenu-toggle { border: 0; font: inherit; cursor: pointer; }
.menu-toggle, .menu-close { display: none; }
.submenu-toggle { background: transparent; color: var(--idc-pink); padding: 3px 7px; font-size: 18px; }

#slider {
    min-height: 690px;
    padding-top: 165px;
    background: var(--idc-ink);
    overflow: hidden;
}

#slider::after {
    background-image: linear-gradient(90deg, rgba(8, 36, 58, .96) 0%, rgba(8, 36, 58, .74) 48%, rgba(8, 36, 58, .2) 100%), url('../imagens/slider/fundo-slider.jpg');
    opacity: 1;
    mix-blend-mode: normal;
}

.container-topo { margin-top: 0; }
.info-slider { width: min(680px, 100%); margin: 45px 0 0; text-align: left; }
.info-slider h1 { max-width: 680px; margin: 0 0 20px; font-size: clamp(36px, 4.2vw, 60px); line-height: 1.08; letter-spacing: -.04em; text-transform: none; }
.info-slider span { margin-bottom: 15px; color: #f7c978; font-size: 14px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.info-slider p { max-width: 560px; padding: 0; color: rgba(255,255,255,.82); font-size: 16px; line-height: 1.65; }
.info-slider .hero-kicker { margin: 0 0 18px; color: #f7c978; font-size: 14px; font-weight: 700; letter-spacing: .08em; }
.info-slider .btn-azul { display: inline-flex; max-width: none; margin: 14px 12px 0 0; }

.btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 22px; border-radius: 999px; font-size: 13px; letter-spacing: .04em; transition: transform .2s ease, background .2s ease, box-shadow .2s ease; }
.btn:hover { transform: translateY(-3px); box-shadow: 0 10px 24px rgba(16, 42, 67, .16); }
.btn-azul { background: var(--idc-teal); }
.btn-rosa { background: var(--idc-pink); }

#vl-incio { bottom: -54px; z-index: 2; display: block; float: none; text-align: left; }
#vl-incio .container { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.vl-incio { width: auto; height: auto; min-height: 150px; margin: 0; padding: 24px; display: grid; grid-template-columns: 50px 1fr; gap: 16px; align-items: start; border: 1px solid rgba(16,42,67,.06); border-radius: 18px; box-shadow: var(--idc-shadow); }
.vl-incio:hover { transform: translateY(-7px); }
.vl-incio img { width: 44px; float: none; margin: 0; }
.vl-incio div { width: auto; }
.vl-incio h2 { color: var(--idc-ink); font-size: 17px; line-height: 1.2; }
.vl-incio p { padding-top: 8px; color: #557086; font-size: 14px; line-height: 1.5; }

#sobre { padding: 145px 0 100px; background: #fff; }
#sobre .container { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .92fr); gap: 78px; align-items: center; }
#sobre .container div { width: auto; }
.div-esq { float: none; width: auto; }
.div-esq::before { content: ''; position: absolute; width: 68%; height: 68%; left: -24px; bottom: -24px; border-radius: 24px; background: #f7d7e3; z-index: 0; }
.div-esq img { position: relative; z-index: 1; height: 500px; border-radius: 24px; box-shadow: var(--idc-shadow); }
.info-sobre { width: auto; }
.info-sobre h2 { font-size: clamp(28px, 3.2vw, 42px); line-height: 1.12; letter-spacing: -.035em; }
.info-sobre span { color: var(--idc-pink); font-size: 13px; letter-spacing: .14em; text-transform: uppercase; }
.info-sobre p { color: #557086; font-size: 16px; line-height: 1.8; }
.info-sobre a { top: auto; margin-top: 12px; }

#cesta { position: relative; padding: 105px 0; background: linear-gradient(125deg, #f59e0b, #e8793a); overflow: hidden; }
#cesta::after { content: ''; position: absolute; width: 420px; height: 420px; right: -120px; top: -170px; border: 70px solid rgba(255,255,255,.12); border-radius: 50%; }
.info-cesta { position: relative; z-index: 1; max-width: 670px; }
.info-cesta h3 { font-size: clamp(30px, 3.4vw, 44px); line-height: 1.1; letter-spacing: -.035em; }
.info-cesta .pequeno { color: rgba(255,255,255,.72); font-size: 13px; letter-spacing: .15em; text-transform: uppercase; }
.info-cesta p { color: rgba(255,255,255,.92); font-size: 16px; line-height: 1.8; }
.info-cesta .btn-rosa { background: #fff; color: var(--idc-ink); }
.atuacao-faixas { position: relative; padding: 96px 0; overflow: hidden; background: linear-gradient(125deg, #f59e0b, #e8793a); }
.atuacao-faixas::after { content: ''; position: absolute; width: 430px; height: 430px; right: -110px; top: -190px; border: 70px solid rgba(255,255,255,.14); border-radius: 50%; }
.atuacao-faixas .container { position: relative; z-index: 1; }
.section-heading--light { max-width: 650px; }
.section-heading--light > span { color: rgba(255,255,255,.76); }
.section-heading--light h2, .section-heading--light p { color: #fff; }
.atuacao-faixas__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 38px; }
.atuacao-faixas__grid article { min-height: 190px; padding: 25px; border: 1px solid rgba(255,255,255,.24); border-radius: 18px; background: rgba(255,255,255,.12); }
.atuacao-faixas__grid strong { color: #fff; font-size: 12px; letter-spacing: .14em; }
.atuacao-faixas__grid h3 { margin: 28px 0 9px; color: #fff; font-size: 20px; }
.atuacao-faixas__grid p { color: rgba(255,255,255,.82); font-size: 14px; line-height: 1.6; }
.atuacao-faixas { background: #f7fafc !important; color: var(--idc-ink); }
.atuacao-faixas::after { display: none; }
.atuacao-faixas .section-heading--light { max-width: 680px; margin-left: auto; margin-right: auto; text-align: center; }
.atuacao-faixas .section-heading--light > span { color: var(--idc-pink); }
.atuacao-faixas .section-heading--light h2 { color: var(--idc-ink); }
.atuacao-faixas .section-heading--light p { color: #557086; }
.atuacao-faixas__grid article { border: 1px solid var(--idc-line); background: #fff; box-shadow: 0 8px 26px rgba(16,42,67,.05); }
.atuacao-faixas__grid strong { color: var(--idc-pink); }
.atuacao-faixas__grid h3 { color: var(--idc-ink); }
.atuacao-faixas__grid p { color: #557086; }
#cesta { padding: 40px 0 !important; }
#cesta .section-heading h2 { max-width: none; margin: 0 auto; text-align: center; }
#cesta .section-heading p { margin: 0 auto; text-align: center; }
@media (max-width: 760px) { .atuacao-faixas { padding: 74px 0; } .atuacao-faixas__grid { grid-template-columns: 1fr; } }

#atuacao { padding: 100px 0; background: #f7fafc; }
.section-heading { max-width: 680px; margin-bottom: 42px; }
.section-heading > span, #participar span { color: var(--idc-pink); font-size: 12px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.section-heading h2 { max-width: 570px; margin: 10px 0 14px; color: var(--idc-ink); font-size: clamp(28px, 3.2vw, 42px); line-height: 1.12; }
.section-heading p { max-width: 610px; margin: 0; color: #557086; }
.atuacao-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.atuacao-card { min-height: 230px; padding: 28px; background: #fff; border: 1px solid var(--idc-line); border-radius: 18px; box-shadow: 0 8px 26px rgba(16,42,67,.05); }
.atuacao-number { color: var(--idc-pink); font-size: 13px; font-weight: 700; letter-spacing: .08em; }
.atuacao-card h3 { margin: 24px 0 10px; color: var(--idc-ink); font-size: 21px; line-height: 1.2; }
.atuacao-card p { margin: 0; color: #557086; font-size: 15px; line-height: 1.65; }

#participar { padding: 72px 0; background: var(--idc-ink); color: #fff; }
.participar-inner { display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.participar-inner h2 { max-width: 650px; margin: 10px 0 0; font-size: clamp(27px, 3vw, 40px); line-height: 1.12; }
.participar-inner .btn-rosa { flex: 0 0 auto; background: #fff; color: var(--idc-pink); }

#evento-destaque { padding: 100px 0; background: #fff; }
.evento-destaque-grid { display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); gap: 72px; align-items: center; }
.evento-destaque-media { overflow: hidden; border-radius: 24px; box-shadow: var(--idc-shadow); }
.evento-destaque-media img { width: 100%; height: 390px; display: block; object-fit: cover; }
.evento-destaque-copy > span { color: var(--idc-teal); font-size: 12px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.evento-destaque-copy h2 { max-width: 570px; margin: 12px 0 16px; color: var(--idc-ink); font-size: clamp(30px, 3.4vw, 46px); line-height: 1.08; }
.evento-destaque-copy p { max-width: 570px; margin: 0 0 24px; color: #557086; font-size: 16px; line-height: 1.8; }
.eventos-placeholder { min-height: 390px; display: flex; flex-direction: column; justify-content: center; padding: 46px; border-radius: 24px; color: #fff; background: linear-gradient(145deg, var(--idc-ink), var(--idc-teal)); box-shadow: var(--idc-shadow); }
.eventos-placeholder span, .eventos-empty-state > span { color: #f7c978; font-size: 12px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.eventos-placeholder strong { margin: 18px 0 8px; font-size: clamp(44px, 6vw, 76px); line-height: .95; letter-spacing: -.05em; }
.eventos-placeholder small { color: rgba(255,255,255,.72); font-size: 15px; }
.evento-destaque-card { position: relative; overflow: hidden; isolation: isolate; justify-content: flex-end; padding: 28px; }
.evento-destaque-card__photo { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; opacity: .76; }
.evento-destaque-card::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(7,27,51,.02) 20%, rgba(7,27,51,.92) 76%); }
.evento-destaque-card__content { position: relative; z-index: 1; }
.evento-destaque-card__ribbon { display: inline-block; margin-bottom: 14px; padding: 7px 13px; color: var(--idc-ink); background: #f7c978; border-radius: 2px; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.evento-destaque-card__label { color: #f7c978; font-size: 12px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.evento-destaque-card strong { display: block; margin-top: 8px; font-size: clamp(48px, 5vw, 70px); line-height: .9; letter-spacing: -.05em; }
.evento-destaque-card small { color: rgba(255,255,255,.86); font-size: 14px; font-weight: 600; }
.evento-destaque-card small span { color: #f7c978; }
.evento-destaque-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; }
.evento-destaque-whatsapp { color: var(--idc-teal); font-size: 13px; font-weight: 800; }
.evento-destaque-whatsapp:hover { color: var(--idc-ink); text-decoration: underline; }

#eventos-lista-hero { padding: 170px 0 72px; color: #fff; background: linear-gradient(125deg, var(--idc-ink), var(--idc-blue)); }
#eventos-lista-hero span { color: #f7c978; font-size: 12px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
#eventos-lista-hero h1 { margin: 12px 0 10px; font-size: clamp(42px, 5vw, 62px); line-height: 1; }
#eventos-lista-hero p { max-width: 560px; margin: 0; color: rgba(255,255,255,.78); }
#eventos-lista { min-height: 470px; padding: 88px 0; background: #f7fafc; }
.evento-list-card { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); overflow: hidden; background: #fff; border: 1px solid var(--idc-line); border-radius: 24px; box-shadow: 0 16px 45px rgba(16,42,67,.08); }
.evento-list-card__media { min-height: 360px; }
.evento-list-card__media img { width: 100%; height: 100%; display: block; object-fit: cover; }
.evento-list-card__content { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 54px; }
.evento-list-card__content > span { color: var(--idc-teal); font-size: 12px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.evento-list-card__content h2 { margin: 14px 0; color: var(--idc-ink); font-size: clamp(30px, 4vw, 48px); line-height: 1.08; }
.evento-list-card__content p { max-width: 560px; margin: 0 0 26px; color: #557086; font-size: 16px; line-height: 1.8; }
.eventos-empty-state { max-width: 680px; margin: 0 auto; padding: 54px; text-align: center; background: #fff; border: 1px solid var(--idc-line); border-radius: 24px; box-shadow: 0 16px 45px rgba(16,42,67,.08); }
.eventos-empty-mark { width: 54px; height: 54px; display: grid; place-items: center; margin: 0 auto 22px; border-radius: 50%; color: #fff; background: var(--idc-pink); font-size: 30px; font-weight: 300; }
.eventos-empty-state h2 { margin: 12px 0; color: var(--idc-ink); font-size: clamp(26px, 3vw, 38px); line-height: 1.12; }
.eventos-empty-state p { max-width: 520px; margin: 0 auto 24px; color: #557086; }

.topo-rodape { padding: 76px 0 48px; background: #08243a; }
.topo-rodape .container { display: grid; grid-template-columns: .9fr 1.1fr; gap: 80px; }
.topo-rodape .container div { width: auto; }
.logo-rodape, .contato-rodape { float: none; max-width: none; }
.logo-rodape img { width: 220px; }
.logo-rodape p, .contato-rodape ul li p { color: rgba(255,255,255,.68); font-size: 14px; line-height: 1.7; }
.contato-rodape h3 { margin-top: 0; font-size: 25px; }
.contato-rodape ul { gap: 12px; }
.contato-rodape ul li i { color: #f7c978; }
.copyright { background: #061b2b; }
.contato-rodape ul li i { width: 24px; min-width: 24px; color: #f7c978; font-size: 18px; text-align: center; }
.contato-rodape ul li { display: flex; align-items: flex-start; gap: 12px; }
.contato-rodape ul li p { flex: 1; }
.copyright .container span, .copyright .container span span a { font-size: 12px; color: rgba(255,255,255,.62); }

#titulo-int { padding: 175px 0 70px; background: linear-gradient(120deg, var(--idc-ink), var(--idc-blue)); }
#titulo-int h1 { font-size: clamp(38px, 5vw, 64px); line-height: 1.05; }

@media (max-width: 1023px) {
    header { padding: 14px 0; }
    header .container { width: calc(100% - 36px); }
    #menu-dsk { display: none; }
    #menu-mbl { display: flex; }
    #menu-mbl img { width: 175px; }
    .menu-toggle { display: block; margin-left: auto; padding: 8px 10px; color: var(--idc-ink); background: transparent; font-size: 25px; line-height: 1; }
    #menu-mbl nav { display: none; position: fixed; inset: 0; width: 100vw; height: 100vh; padding: 96px 28px 30px; background: #fff; overflow-y: auto; }
    #menu-mbl nav.is-open { display: block; }
    .menu-close { display: block; position: absolute; top: 22px; right: 26px; width: 42px; height: 42px; border-radius: 50%; color: var(--idc-ink); background: #eef4f7; font-size: 28px; line-height: 1; }
    #menu-mbl nav ul { display: block; margin-top: 0; }
    #menu-mbl nav ul li { margin: 0 0 16px; }
    #menu-mbl nav a { font-size: 17px; }
    #menu-mbl nav > ul > li { display: flex; align-items: center; justify-content: center; gap: 4px; }
    #menu-mbl nav .sub-menu { display: none; position: static; min-width: 0; padding: 6px 0 0 18px; border: 0; box-shadow: none; transform: none; }
    #menu-mbl nav .pg-nav.submenu-open { flex-wrap: wrap; }
    #menu-mbl nav .pg-nav.submenu-open .sub-menu { display: block; flex-basis: 100%; }
    #menu-mbl nav .sub-menu li { display: block; margin: 0; }
    #slider { min-height: 760px; padding-top: 140px; }
    .container, .container-topo { width: calc(100% - 36px); }
    .info-slider { margin-top: 30px; }
    #vl-incio { bottom: -40px; }
    #vl-incio .container { grid-template-columns: 1fr; gap: 10px; }
    .vl-incio { min-height: auto; }
    #sobre { padding-top: 100px; }
    #sobre .container, .topo-rodape .container { grid-template-columns: 1fr; gap: 44px; }
    .div-esq img { height: 360px; }
    .contato-rodape { width: auto; }
}

/* Páginas internas: remove o legado de floats e mantém uma grade consistente. */
#sobre, #projetos, #projeto-unico, #doacao, #fale-conosco, #tb-projeto, #valores { position: relative; clear: both; }
#projetos { padding: 88px 0 104px; background: var(--idc-paper); }
#projetos .container { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.cl-projeto { width: auto; min-height: 265px; margin: 0; padding: 34px; display: flex; align-items: end; border-radius: var(--idc-radius); background: linear-gradient(135deg, rgba(8,36,58,.25), rgba(8,36,58,.92)), url('../imagens/estrutura/projetos/inclusao-projeto.jpg') center/cover; box-shadow: 0 12px 30px rgba(16,42,67,.09); }
.cl-projeto:hover { transform: translateY(-5px); box-shadow: 0 20px 40px rgba(16,42,67,.16); }
.info-cl-projeto h3 { margin-bottom: 10px; font-size: 24px; line-height: 1.15; }
.info-cl-projeto p { max-width: 460px; margin-bottom: 22px; color: rgba(255,255,255,.82); font-size: 14px; }
.info-cl-projeto a { display: inline-flex; padding: 11px 16px; border-radius: 999px; color: var(--idc-ink); font-size: 12px; }
#sobre { padding: 112px 0 100px; }
#sobre .container { display: block; }
#sobre .cont-1, #sobre .cont-2 { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 70px; align-items: center; margin-bottom: 86px; }
#sobre .cont-2 { margin-bottom: 0; }
#sobre .cont-1 > *, #sobre .cont-2 > * { width: auto; float: none; }
#sobre .cont-2 .info-sobre { order: 2; }
#sobre .cont-2 .div-dir { order: 1; }
#sobre .div-dir { padding: 36px; border: 1px solid var(--idc-line); border-radius: var(--idc-radius); background: #fff; box-shadow: 0 12px 30px rgba(16,42,67,.06); }
#sobre .div-dir h3 { margin-bottom: 16px; color: var(--idc-ink); font-size: 24px; }
#valores { padding: 94px 0; background: #fff; }
#valores .container { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
#valores .container > div { width: auto; min-height: 220px; padding: 28px; border: 1px solid var(--idc-line); border-radius: 18px; background: var(--idc-paper); }
#valores h3 { margin-bottom: 12px; color: var(--idc-pink); font-size: 22px; }
#valores p { color: #557086; font-size: 15px; }
#doacao { padding: 104px 0; background: #fff; }
#doacao .container { display: grid; grid-template-columns: 1.05fr .95fr; gap: 64px; align-items: center; }
#doacao .container > div { width: auto; float: none; }
#doacao .div-dir { padding: 34px; border: 1px solid var(--idc-line); border-radius: var(--idc-radius); background: var(--idc-paper); }
#doacao .div-dir h3 { margin-bottom: 18px; font-size: 24px; }
#doacao .div-dir p { font-size: 16px; }
#doacao .div-dir li { padding: 9px 0; border-bottom: 1px solid var(--idc-line); }
#doacao .div-dir li:last-child { border-bottom: 0; }
#fale-conosco { background: var(--idc-ink); }
.sec-fale-conosco { display: grid; grid-template-columns: .82fr 1.18fr; gap: 64px; padding: 100px 0; }
.sec-fale-conosco .contatos, .sec-fale-conosco .formulario { width: auto; float: none; }
.contatos h2, .formulario h2 { margin-bottom: 12px; font-size: clamp(24px, 3vw, 34px); line-height: 1.15; }
.contatos > p { color: rgba(255,255,255,.72); }
.contatos ul { margin-top: 32px; }
.contatos li { display: flex; gap: 15px; align-items: flex-start; margin-bottom: 18px; }
.contatos li i { min-width: 20px; color: #f7c978; }
.contatos li p { margin: 0; color: rgba(255,255,255,.8); font-size: 14px; }
.formulario { padding: 32px; border-radius: var(--idc-radius); background: #fff; color: var(--idc-ink); box-shadow: var(--idc-shadow); }
.labelFaleConosco { margin-top: 16px; }
.labelFaleConosco label { color: #557086; font-size: 12px; font-weight: 700; }
.labelFaleConosco input, .labelFaleConosco textarea, .labelFaleConosco select { min-height: 48px; padding: 12px 14px; border: 1px solid var(--idc-line); border-radius: 10px; outline: 0; background: #f9fbfc; color: var(--idc-ink); font: 14px/1.4 'Montserrat', sans-serif; }
.labelFaleConosco input:focus, .labelFaleConosco textarea:focus, .labelFaleConosco select:focus { border-color: var(--idc-pink); box-shadow: 0 0 0 3px rgba(196,61,114,.12); }
.formulario .btn { margin-top: 22px; border: 0; cursor: pointer; }
#mapa iframe { display: block; height: 420px; }
@media (max-width: 760px) {
    #projetos .container, #sobre .cont-1, #sobre .cont-2, #valores .container, #doacao .container, .sec-fale-conosco { grid-template-columns: 1fr; }
    #sobre .cont-2 .info-sobre, #sobre .cont-2 .div-dir { order: initial; }
    #sobre, #doacao { padding: 76px 0; }
    #projetos { padding: 68px 0 78px; }
    .cl-projeto { min-height: 230px; padding: 26px; }
    #valores { padding: 70px 0; }
    .sec-fale-conosco { gap: 34px; padding: 70px 0; }
    .formulario { padding: 24px 20px; }
    #mapa iframe { height: 300px; }
}

/* Home: apresentação em duas colunas equilibradas. */
#sobre .container.sec-pad { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 64px; align-items: center; }
#sobre .container.sec-pad > .div-esq, #sobre .container.sec-pad > .info-sobre { width: auto; float: none; }
#sobre .container.sec-pad .div-esq img { width: 100%; height: 430px; object-fit: cover; }
#sobre .container.sec-pad .info-sobre { max-width: 560px; }
@media (max-width: 760px) {
    #sobre .container.sec-pad { grid-template-columns: 1fr; gap: 34px; }
    #sobre .container.sec-pad .div-esq img { height: 300px; }
}

/* Página Sobre reconstruída com composição editorial e estados responsivos. */
.idc-page-hero { padding: 162px 0 82px; color: #fff; background: linear-gradient(120deg, var(--idc-ink), var(--idc-blue)); }
.idc-page-hero span, .eyebrow { color: #f7c978; font-size: 12px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.idc-page-hero h1 { max-width: 760px; margin: 14px 0 16px; font-size: clamp(38px, 5vw, 66px); line-height: 1.02; letter-spacing: -.05em; }
.idc-page-hero p { max-width: 560px; margin: 0; color: rgba(255,255,255,.78); }
.about-intro { padding: 110px 0; background: #fff; }
.about-intro__grid, .about-commitment__grid { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: 84px; align-items: center; }
.about-intro__media { position: relative; padding: 0 0 24px 24px; }
.about-intro__media::before { content: ''; position: absolute; inset: 42px 24px 0 0; border-radius: 24px; background: #f7d7e3; }
.about-intro__media img { position: relative; z-index: 1; width: 100%; height: 470px; display: block; object-fit: cover; border-radius: 24px; box-shadow: var(--idc-shadow); }
.about-intro__badge { position: absolute; z-index: 2; right: -18px; bottom: 0; max-width: 210px; padding: 17px 20px; border-radius: 14px; color: #fff; background: var(--idc-pink); font-size: 13px; font-weight: 700; line-height: 1.35; box-shadow: 0 14px 30px rgba(196,61,114,.25); }
.about-intro__copy h2, .about-commitment h2 { margin: 12px 0 18px; color: var(--idc-ink); font-size: clamp(30px, 3.5vw, 48px); line-height: 1.08; letter-spacing: -.045em; }
.about-intro__copy p, .about-commitment p { max-width: 600px; color: #557086; font-size: 16px; line-height: 1.8; }
.about-intro__copy .btn { margin-top: 10px; }
.about-commitment { padding: 104px 0; background: var(--idc-paper); }
.about-commitment__points { display: grid; gap: 12px; }
.about-commitment__points > div { padding: 22px 24px; border: 1px solid var(--idc-line); border-radius: 16px; background: #fff; }
.about-commitment__points strong { display: block; margin-bottom: 8px; color: var(--idc-pink); font-size: 12px; letter-spacing: .12em; }
.about-commitment__points span { color: var(--idc-ink); font-size: 18px; font-weight: 700; }
.about-commitment__points p { margin: 4px 0 0; font-size: 14px; line-height: 1.55; }
.about-values { padding: 108px 0; background: #fff; }
.about-values .container { display: block !important; }
.about-values .container > .section-heading { width: auto !important; min-height: 0; margin: 0 0 38px; padding: 0; border: 0; background: transparent; }
.about-values .section-heading { max-width: 720px; margin: 0 auto 38px; text-align: center; }
.about-values .section-heading > span { color: var(--idc-pink); }
.about-values .section-heading h2 { margin-top: 12px; }
.about-values__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.about-values__cards { width: 100%; }
.about-values__cards { min-height: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; box-shadow: none !important; }
.about-values__cards > article { width: auto !important; min-width: 0; }
.about-values__cards article { min-height: 285px; padding: 30px; border: 1px solid var(--idc-line); border-radius: 20px; background: var(--idc-paper); }
.about-values__cards article img { width: 48px; height: 48px; margin-bottom: 24px; }
.about-values__cards h3 { margin-bottom: 12px; color: var(--idc-ink); font-size: 22px; }
.about-values__cards p { color: #557086; font-size: 14px; line-height: 1.7; }
.about-values__list { background: var(--idc-ink) !important; }
.about-values__list h3 { color: #fff; }
.about-values__list > div { display: flex; flex-wrap: wrap; gap: 8px; }
.about-values__list span { padding: 7px 10px; border: 1px solid rgba(255,255,255,.2); border-radius: 999px; color: rgba(255,255,255,.82); font-size: 12px; }
.about-cta { padding: 70px 0; color: #fff; background: var(--idc-ink); }
.about-cta .container { display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.about-cta h2 { max-width: 650px; margin: 10px 0 0; color: #fff; font-size: clamp(28px, 3.4vw, 44px); line-height: 1.08; }
.about-cta .btn { flex: 0 0 auto; }
@media (max-width: 760px) {
    .idc-page-hero { padding: 132px 0 64px; }
    .about-intro, .about-commitment, .about-values { padding: 76px 0; }
    .about-intro__grid, .about-commitment__grid, .about-values__cards { grid-template-columns: 1fr; gap: 38px; }
    .about-intro__media { padding-left: 10px; }
    .about-intro__media img { height: 300px; }
    .about-intro__badge { right: 0; }
    .about-cta .container { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 560px) {
    .container, .container-topo { width: calc(100% - 28px); }
    #slider { min-height: 820px; }
    .info-slider h1 { font-size: 36px; }
    .info-slider p { font-size: 16px; }
    #vl-incio { bottom: -28px; }
    .vl-incio { padding: 18px; grid-template-columns: 42px 1fr; }
    #sobre { padding: 80px 0 70px; }
    .div-esq::before { left: -10px; bottom: -10px; }
    .div-esq img { height: 280px; border-radius: 18px; }
    .info-sobre h2, .info-cesta h3 { font-size: 30px; }
    #atuacao { padding: 72px 0; }
    .atuacao-grid { grid-template-columns: 1fr; }
    .participar-inner { align-items: flex-start; flex-direction: column; }
    #evento-destaque { padding: 72px 0; }
    .evento-destaque-grid { grid-template-columns: 1fr; gap: 30px; }
    .eventos-placeholder { min-height: 250px; }
    .evento-list-card { grid-template-columns: 1fr; }
    .evento-list-card__media { min-height: 240px; }
    .evento-list-card__content { padding: 34px 26px; }
    .evento-destaque-card { min-height: 310px; padding: 26px; }
    .evento-destaque-actions .btn { width: 100%; }
    #cesta { padding: 75px 0; }
    .topo-rodape { padding: 55px 0 35px; }
}

/* Header novo: estrutura independente do menu antigo. */
.idc-header {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10000;
    width: 100%;
    background: rgba(255,255,255,.97);
    border-bottom: 1px solid rgba(16,42,67,.08);
    box-shadow: 0 8px 24px rgba(16,42,67,.06);
}
.idc-header__inner {
    width: min(1160px, calc(100% - 48px));
    height: 92px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.idc-brand { display: inline-flex; align-items: center; }
.idc-brand img { width: 205px; height: auto; float: none; display: block; }
.idc-desktop-nav { display: flex; align-items: center; gap: 28px; float: none; margin: 0; padding: 0; }
.idc-desktop-nav > a, .idc-nav-trigger {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 10px 0;
    border: 0;
    background: transparent;
    color: var(--idc-ink);
    font: 700 13px/1.2 'Montserrat', sans-serif;
    letter-spacing: .01em;
    text-decoration: none;
    cursor: pointer;
}
.idc-desktop-nav > a:hover, .idc-nav-trigger:hover { color: var(--idc-pink); }
.idc-nav-trigger span { color: #8ca0ad; font-size: 15px; transition: transform .2s ease; }
.idc-nav-group { position: relative; }
.idc-nav-group.is-open .idc-nav-trigger { color: var(--idc-pink); }
.idc-nav-group.is-open .idc-nav-trigger span { transform: rotate(45deg); }
.idc-dropdown {
    position: absolute;
    top: calc(100% + 13px);
    left: 50%;
    width: 220px;
    padding: 9px;
    opacity: 0;
    visibility: hidden;
    transform: translate(-50%, -6px);
    border: 1px solid var(--idc-line);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 18px 45px rgba(16,42,67,.14);
    transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
}
.idc-nav-group.is-open .idc-dropdown { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
.idc-dropdown a { display: block; padding: 12px 13px; border-radius: 10px; color: var(--idc-ink); font: 600 12px/1.35 'Montserrat', sans-serif; text-decoration: none; }
.idc-dropdown a:hover { color: var(--idc-pink); background: #fff1f6; }
.idc-nav-cta, .idc-mobile-cta { display: inline-flex !important; align-items: center; gap: 9px; padding: 14px 19px !important; border-radius: 999px; background: var(--idc-pink); color: #fff !important; font-size: 12px !important; }
.idc-nav-cta span, .idc-mobile-cta span { font-size: 16px; line-height: 1; }
.idc-nav-cta:hover, .idc-mobile-cta:hover { background: var(--idc-ink); }
.idc-nav-event, .idc-mobile-event { color: var(--idc-teal) !important; }
.idc-nav-event { padding: 10px 13px !important; border: 1px solid rgba(15,118,110,.25); border-radius: 12px; font-weight: 700 !important; }
.idc-nav-event:hover, .idc-mobile-event:hover { color: #fff !important; background: var(--idc-teal); }
.idc-menu-toggle, .idc-mobile-panel { display: none; }

@media (max-width: 1024px) {
    .idc-header__inner { width: calc(100% - 32px); height: 76px; }
    .idc-brand img { width: 175px; }
    .idc-desktop-nav { display: none; }
    .idc-menu-toggle { width: 42px; height: 42px; padding: 10px 8px; display: flex; flex-direction: column; justify-content: space-between; border: 0; border-radius: 12px; background: #eef4f7; cursor: pointer; }
    .idc-menu-toggle span { display: block; width: 25px; height: 2px; margin: 0 auto; background: var(--idc-ink); border-radius: 99px; }
    .idc-mobile-panel { position: fixed; inset: 0; z-index: 2; display: block; padding: 26px 26px 40px; opacity: 0; visibility: hidden; transform: translateX(100%); background: #fff; transition: opacity .22s ease, transform .22s ease, visibility .22s ease; overflow-y: auto; }
    .idc-mobile-panel.is-open { opacity: 1; visibility: visible; transform: translateX(0); }
    .idc-mobile-panel__top { display: flex; align-items: center; justify-content: space-between; max-width: 500px; margin: 0 auto 55px; color: var(--idc-pink); font: 700 12px/1 'Montserrat', sans-serif; letter-spacing: .13em; text-transform: uppercase; }
    .idc-menu-close { width: 40px; height: 40px; border: 0; border-radius: 50%; color: var(--idc-ink); background: #eef4f7; font-size: 27px; line-height: 1; cursor: pointer; }
    .idc-mobile-panel nav { display: block; width: min(500px, 100%); margin: 0 auto; float: none; }
    .idc-mobile-panel nav > a, .idc-mobile-trigger { width: 100%; display: flex; align-items: center; justify-content: space-between; padding: 17px 0; border: 0; border-bottom: 1px solid var(--idc-line); background: transparent; color: var(--idc-ink); font: 700 20px/1.2 'Montserrat', sans-serif; text-align: left; text-decoration: none; cursor: pointer; }
    .idc-mobile-trigger span { color: var(--idc-pink); font-size: 25px; font-weight: 400; }
    .idc-mobile-group.is-open .idc-mobile-trigger { color: var(--idc-pink); }
    .idc-mobile-group.is-open .idc-mobile-trigger span { transform: rotate(45deg); }
    .idc-mobile-submenu { display: none; padding: 6px 0 10px 18px; }
    .idc-mobile-group.is-open .idc-mobile-submenu { display: block; }
    .idc-mobile-submenu a { display: block; padding: 10px 0; color: #557086; font: 600 14px/1.3 'Montserrat', sans-serif; text-decoration: none; }
    .idc-mobile-cta { margin-top: 26px; justify-content: center; font-size: 14px !important; }
    .idc-mobile-event { display: flex !important; align-items: center; padding: 17px 0; border-bottom: 1px solid var(--idc-line); font: 700 20px/1.2 'Montserrat', sans-serif; text-decoration: none; }
body.idc-menu-is-open { overflow: hidden; }
}

/* Refinamento visual final do header: compacto, contrastado e com mais presença. */
header.idc-header {
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    box-shadow: 0 10px 28px rgba(16,42,67,.08) !important;
}
header.idc-header::after { content: ''; display: block; height: 3px; background: linear-gradient(90deg, var(--idc-pink), var(--idc-orange), var(--idc-teal)); }
.idc-header__inner { height: 82px; }
.idc-header__inner { width: min(1180px, calc(100% - 56px)); gap: 28px; }
.idc-brand { flex: 0 0 auto; }
.idc-brand img { width: 190px; }
.idc-desktop-nav { gap: 6px; margin-left: auto; }
.idc-desktop-nav > a, .idc-nav-trigger {
    min-height: 42px;
    padding: 10px 13px;
    border-radius: 12px;
    font-size: 12px;
}
.idc-desktop-nav > a:hover, .idc-nav-trigger:hover, .idc-nav-group.is-open .idc-nav-trigger { background: #f3f7f9; color: var(--idc-pink); }
.idc-nav-trigger span { width: 18px; height: 18px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: #eef4f7; font-size: 13px; }
.idc-nav-trigger:focus { outline: none; }
.idc-nav-trigger:focus-visible { outline: 2px solid var(--idc-pink); outline-offset: 3px; }
.idc-nav-cta, header.idc-header .idc-nav-cta {
    min-height: 44px;
    padding: 12px 17px !important;
    border-radius: 12px;
    background: var(--idc-pink) !important;
    color: #fff !important;
    box-shadow: 0 8px 18px rgba(196,61,114,.2);
}
header.idc-header .idc-nav-cta:hover { background: var(--idc-ink) !important; color: #fff !important; }
.idc-dropdown { top: calc(100% + 9px); border-top: 3px solid var(--idc-pink); }

@media (max-width: 1024px) {
    .idc-header__inner { height: 70px; }
    .idc-brand img { width: 168px; }
}

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

/* Navegação principal inspirada em sites institucionais: contexto, grupos e CTA. */
.site-header { position: absolute; }
.topbar { background: var(--idc-ink); color: rgba(255,255,255,.72); font-size: 11px; letter-spacing: .04em; }
.topbar span { font: 500 11px/1.2 'Montserrat', sans-serif; letter-spacing: .04em; }
.topbar-inner { min-height: 32px; display: flex; align-items: center; justify-content: space-between; }
.header-main { min-height: 82px; }
.brand { flex: 0 0 auto; }
.brand img { width: 205px; }
.desktop-nav > ul > li { display: flex; align-items: center; gap: 2px; }
.desktop-nav .submenu-toggle { color: #7890a0; font-size: 15px; line-height: 1; }
.desktop-nav .sub-menu { top: calc(100% + 8px); }
.desktop-nav .pg-nav.submenu-open > .sub-menu { display: block; }
.desktop-nav .nav-cta, .mobile-nav .nav-cta { padding: 12px 19px; color: #fff !important; background: var(--idc-pink); border-radius: 999px; }
.desktop-nav .nav-cta:hover, .mobile-nav .nav-cta:hover { color: #fff !important; background: var(--idc-ink); }
.mobile-link { color: var(--idc-ink); font-size: 17px; font-weight: 700; }

@media (max-width: 1023px) {
    .topbar-inner { min-height: 28px; font-size: 9px; }
    .topbar-inner span:last-child { display: none; }
    .header-main { min-height: 72px; }
    .brand img { width: 175px; }
    .mobile-nav .submenu-toggle { color: var(--idc-pink); font-size: 22px; }
    .mobile-nav .sub-menu a { font-size: 15px; font-weight: 600; }
    .mobile-nav .nav-cta { display: inline-flex; margin-top: 8px; }
}
