/* Infantil: a campanha conduz; a natureza aparece na fotografia e nos detalhes. */
:root {
  --ei-folha: #2f6848;
  --ei-folha-profunda: #214b36;
  --ei-salvia: #e2ecdf;
  --ei-creme: #fbfaf4;
}

.site-header .nav-cta { color: var(--ei-ink); background: var(--ei-yellow); }
#proposta { background: radial-gradient(circle at 94% 12%, rgb(66 112 77 / 10%), transparent 24rem), linear-gradient(180deg, #fff, var(--ei-creme)); }
#proposta .eyebrow, #diferenciais .eyebrow, #material .eyebrow, #integral .eyebrow, #escola-viva .dif-tipo { color: var(--ei-folha); }

#diferenciais { position: relative; overflow: clip; color: var(--ei-ink); background: #fff; }
#diferenciais::before, #escola-viva::after { position: absolute; width: 18rem; height: 24rem; content: ""; pointer-events: none; opacity: .065; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 220'%3E%3Cpath d='M30 215C32 140 65 90 120 15' fill='none' stroke='%232f6848' stroke-width='3'/%3E%3Cpath d='M62 138C4 137 0 95 8 65C48 67 72 96 62 138ZM85 103C87 51 113 23 153 13C157 63 129 94 85 103ZM42 183C72 138 116 128 150 143C130 180 88 203 42 183Z' fill='%232f6848'/%3E%3C/svg%3E") center / contain no-repeat; }
#diferenciais::before { top: 1rem; right: -5rem; transform: rotate(16deg); }
#diferenciais .section-head, #escola-viva .container { position: relative; z-index: 1; }
#diferenciais .dif-grid-modern { gap: clamp(1rem, 2.2vw, 1.6rem); }
#diferenciais .dif-card-modern { position: relative; overflow: hidden; padding: clamp(1.4rem, 2.6vw, 2rem); border: 1px solid #dfe6e5; border-radius: 1.5rem; background: #fff; box-shadow: 0 1rem 2.5rem rgb(16 34 45 / 7%); }
#diferenciais .dif-card-modern::after { position: absolute; inset: auto 0 0; height: .25rem; content: ""; background: linear-gradient(90deg, var(--ei-folha), var(--ei-cyan), var(--ei-yellow)); transform: scaleX(.28); transform-origin: left; transition: transform .35s ease; }
#diferenciais .dif-card-modern:hover::after { transform: scaleX(1); }
#diferenciais .dif-card-icon { color: var(--ei-folha-profunda); background: #f0f5ef; }
#diferenciais .dif-card-modern:first-child .dif-card-icon { background: var(--ei-salvia); }
#diferenciais .dif-card-badge { color: var(--ei-folha-profunda); background: #f0f5ef; }

#estrutura { color: var(--ei-ink); background: linear-gradient(180deg, var(--ei-creme), #fff 62%, #f6f8f8); }
#estrutura .space-tour-arrival { overflow: hidden; border: 1px solid #dfe6e5; border-radius: clamp(1.5rem, 3vw, 2.5rem); background: #fff; box-shadow: 0 1.5rem 4rem rgb(16 34 45 / 10%); }
#estrutura .space-tour-arrival figcaption { position: relative; inset: auto; background: #fff; }
#estrutura .space-tour-arrival h2 { color: #007ea8; text-shadow: none; }
#estrutura .space-tour-arrival figcaption::after { width: 4.5rem; height: .3rem; margin-top: 1.25rem; content: ""; border-radius: 999px; background: linear-gradient(90deg, var(--ei-cyan), var(--ei-folha)); }
#estrutura .space-tour-arrival > img { aspect-ratio: 3 / 2; object-fit: cover; object-position: 50% 52%; }
#estrutura .space-tour { padding: clamp(.75rem, 2vw, 1.25rem); border: 1px solid rgb(255 255 255 / 10%); border-radius: 1.75rem; color: #fff; background: #122a3a; box-shadow: 0 1.5rem 3.5rem rgb(13 34 48 / 15%); }
#estrutura .space-tour-stage, #estrutura .space-tour-stage figcaption { background: #193448; }
#estrutura .space-tour-stage > img { width: 100%; height: auto; aspect-ratio: 2 / 1; object-fit: cover; object-position: center; background: #193448; }
#estrutura .space-tour-stops { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .65rem; }
#estrutura .space-tour-stops button { min-width: 0; border-color: rgb(255 255 255 / 16%); background: #193448; color: #fff; }
#estrutura .space-tour-stops button:hover { border-color: var(--ei-cyan); }
#estrutura .space-tour-stops button[aria-selected="true"] { color: var(--ei-ink); border-color: var(--ei-cyan); background: var(--ei-cyan); }
#estrutura .space-tour-stops button[aria-selected="true"] span { color: var(--ei-ink); }
#estrutura .space-tour-progress > span { background: linear-gradient(90deg, var(--ei-cyan), var(--ei-yellow)); }

/* Um único percurso visual para material impresso e ambiente digital. */
#material { background: radial-gradient(circle at 8% 92%, rgb(67 117 80 / 8%), transparent 23rem), var(--ei-creme); }
#material .secx-lead { color: #40535c; }
.material-ecossistema { position: relative; overflow: hidden; margin-top: clamp(2rem, 4vw, 3.5rem); padding: clamp(1.25rem, 3vw, 2.5rem); border: 1px solid #dfe5e5; border-radius: clamp(1.5rem, 3vw, 2.5rem); background: #fff; box-shadow: 0 1.5rem 4rem rgb(16 34 45 / 9%); }
.material-ecossistema::before { position: absolute; top: 0; left: 0; width: 100%; height: .38rem; content: ""; background: linear-gradient(90deg, var(--ei-cyan) 0 38%, var(--ei-yellow) 38% 58%, var(--ei-folha) 58%); }
.material-ecossistema-cabeca { display: grid; grid-template-columns: minmax(13rem, .55fr) minmax(0, 1.45fr); align-items: end; gap: clamp(1rem, 3vw, 3rem); padding: .75rem 0 clamp(1.25rem, 3vw, 2rem); border-bottom: 1px solid #e5eaea; }
.material-ecossistema-cabeca p { margin: 0; color: #00779f; font-size: var(--texto--1); font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.material-ecossistema-cabeca h3 { max-width: 27ch; margin: 0; color: var(--ei-ink); font-size: var(--texto-3); line-height: 1.18; text-wrap: balance; }
.material-par { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); align-items: stretch; gap: 0; }
.material-par > * { min-width: 0; margin: 0; border: 0; border-radius: 0; box-shadow: none; }
.material-par .material-showcase { grid-template-columns: minmax(9rem, 13rem) minmax(0, 1fr); padding: clamp(1.5rem, 3vw, 2.5rem) clamp(1rem, 3vw, 2.5rem) clamp(1.5rem, 3vw, 2.5rem) 0; background: #fff; }
.material-par .material-showcase:hover { transform: none; box-shadow: none; }
.material-par .material-showcase-img { position: relative; }
.material-par .material-showcase-img::after { position: absolute; right: 5%; bottom: 1%; width: 58%; height: 12%; content: ""; z-index: -1; border-radius: 50%; background: rgb(16 34 45 / 15%); filter: blur(14px); }
.material-par .material-showcase-img img { border-radius: 0; box-shadow: none; }
.material-par .plataforma-card { grid-column: auto; grid-template-columns: minmax(0, 1fr) 8rem; align-content: center; padding: clamp(1.5rem, 3vw, 2.5rem); border-left: 1px solid #e5eaea; background: linear-gradient(145deg, #f2f7f7, #edf3ea); }
.material-par .plataforma-card:hover { transform: none; border-color: #e5eaea; box-shadow: none; }
.material-par .plataforma-visual img { max-width: 10.5rem; max-height: 12rem; }
.material-ecossistema .material-col-right { padding-top: clamp(1.25rem, 3vw, 2rem); border-top: 1px solid #e5eaea; }
.material-ecossistema .plataformas-lista { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; }
.material-ecossistema .plataforma-item { padding: 1rem clamp(.8rem, 2vw, 1.25rem); border: 0; border-left: 1px solid #e1e7e6; border-radius: 0; background: transparent; box-shadow: none; }
.material-ecossistema .plataforma-item:first-child { padding-left: 0; border-left: 0; }
.material-ecossistema .plataforma-item:last-child { padding-right: 0; }
.material-ecossistema .plataforma-item:nth-child(3) { padding-left: 0; border-top: 1px solid #e1e7e6; border-left: 0; }
.material-ecossistema .plataforma-item:nth-child(4) { border-top: 1px solid #e1e7e6; }
.material-ecossistema .plataforma-item:hover { transform: translateY(-2px); box-shadow: none; }

#atividades { position: relative; overflow: clip; color: #fff; background: radial-gradient(circle at 95% 8%, rgb(63 121 83 / 30%), transparent 26rem), #122a3a; }
#atividades::before { position: absolute; top: 4rem; right: -4rem; width: 16rem; height: 22rem; content: ""; pointer-events: none; opacity: .12; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 220'%3E%3Cpath d='M30 215C32 140 65 90 120 15' fill='none' stroke='%238fc58f' stroke-width='3'/%3E%3Cpath d='M62 138C4 137 0 95 8 65C48 67 72 96 62 138ZM85 103C87 51 113 23 153 13C157 63 129 94 85 103ZM42 183C72 138 116 128 150 143C130 180 88 203 42 183Z' fill='%238fc58f'/%3E%3C/svg%3E") center / contain no-repeat; }
#atividades .container { position: relative; z-index: 1; }
#atividades h2 { color: var(--ei-cyan); }
#atividades .secx-lead, #atividades .atividades-navegacao > p { color: #dce8ed; }
#atividades .secx-lead { max-width: 68ch; }
#atividades .atividades-navegacao > p::before { display: inline-block; width: .55rem; height: .55rem; margin-right: .55rem; border-radius: 50% 0 50% 50%; content: ""; background: #74a979; transform: rotate(-28deg); }
#atividades .cartao { overflow: hidden; border-color: rgb(255 255 255 / 12%); background: #fff; }
#atividades .cartao figcaption { border-top: .25rem solid var(--ei-folha); }
#atividades .cartao h3 { color: #007ea8; }
#atividades .cartao p { color: #40535c; }
#atividades .cartao img { width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; object-position: center; }
#atividades .carrossel-seta { border-color: var(--ei-yellow); background: var(--ei-yellow); color: var(--ei-ink); }
.atividades-continuam { display: grid; grid-template-columns: minmax(12rem, .55fr) minmax(0, 1.45fr); gap: clamp(1.25rem, 3vw, 2.5rem); margin-top: clamp(2rem, 4vw, 3rem); padding: clamp(1.25rem, 3vw, 2rem); border: 1px solid rgb(255 255 255 / 14%); border-radius: 1.5rem; background: rgb(255 255 255 / 6%); }
.atividades-continuam-intro span { color: var(--ei-yellow); font-size: var(--texto--1); font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.atividades-continuam-intro p { margin: .55rem 0 0; color: #dce8ed; }
.atividades-fontes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.atividades-fontes .atividade-fonte { display: flex; min-height: 9rem; padding: 1rem; border: 1px solid rgb(255 255 255 / 14%); border-radius: 1rem; flex-direction: column; align-items: flex-start; gap: .35rem; color: #fff; background: #193448; text-decoration: none; transition: transform .25s ease, border-color .25s ease, background .25s ease; }
.atividades-fontes .atividade-fonte:hover { color: #fff; border-color: var(--ei-cyan); background: #204258; transform: translateY(-2px); }
.atividades-fontes .atividade-fonte > span { color: #8ed9ef; font-size: var(--texto--2); font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.atividades-fontes .atividade-fonte strong { font-size: var(--texto-0); line-height: 1.35; }
.atividades-fontes .atividade-fonte small { margin-top: auto; color: var(--ei-yellow); font-weight: 700; }
.atividades-fontes .atividade-fonte i { font-style: normal; }

#integral { background: linear-gradient(180deg, #fff, #f1f5ef); }
#integral .section-intro { color: #40535c; }
#escola-viva { position: relative; overflow: clip; background: var(--ei-creme); }
#escola-viva::after { bottom: 2rem; left: -7rem; transform: rotate(-20deg); }
#escola-viva h2 { color: var(--ei-ink); }
#escola-viva .dif-card { border-color: #dde5e2; border-radius: 1.35rem; background: #fff; box-shadow: 0 .8rem 2rem rgb(16 34 45 / 5%); }
#escola-viva .dif-itens li::before { background: var(--ei-folha); }
#escola-viva .dif-faixa { background: #122a3a; }
#escola-viva .dif-prova { overflow: hidden; border-color: #dce4e1; border-radius: 1.35rem; background: #fff; }
#escola-viva .dif-prova img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }

@media (max-width: 1100px) {
  .material-par { grid-template-columns: 1fr; }
  .material-par .material-showcase { padding-right: 0; }
  .material-par .plataforma-card { grid-template-columns: minmax(0, 1fr) 10rem; border-top: 1px solid #e7ebeb; border-left: 0; }
}

@media (max-width: 1000px) {
  #atividades .trilho { grid-auto-columns: min(78vw, 26rem); }
}

@media (max-width: 900px) {
  #diferenciais::before { width: 10rem; height: 14rem; right: -4rem; }
  #estrutura .space-tour-arrival > img { min-height: 0; aspect-ratio: 3 / 2; }
  #estrutura .space-tour { padding: .6rem; border-radius: 1.25rem; }
  #estrutura .space-tour-stops { display: flex; }
  #estrutura .space-tour-stops button { min-width: 9.8rem; flex: 0 0 9.8rem; }
  .material-ecossistema-cabeca { grid-template-columns: 1fr; }
  .material-par .material-showcase { padding-right: 0; }
  .material-par .plataforma-card { grid-template-columns: minmax(0, 1fr) 8rem; border-top: 1px solid #e7ebeb; border-left: 0; }
  .material-ecossistema .plataformas-lista { grid-template-columns: 1fr; }
  .material-ecossistema .plataforma-item, .material-ecossistema .plataforma-item:nth-child(3) { padding-inline: 0; border-top: 1px solid #e1e7e6; border-left: 0; }
  .material-ecossistema .plataforma-item:first-child { border-top: 0; }
  .atividades-continuam, .atividades-fontes { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
  .material-par .material-showcase, .material-par .plataforma-card { grid-template-columns: 1fr; }
  .material-par .material-showcase-img { width: min(100%, 13rem); margin-inline: auto; }
  .material-par .plataforma-visual { justify-content: flex-start; }
  .material-par .plataforma-visual img { max-width: 8rem; }
}

@media (prefers-reduced-motion: no-preference) {
  #diferenciais::before { animation: folhagem 12s ease-in-out infinite alternate; transform-origin: bottom center; }
  #diferenciais .dif-card-icon { transition: transform .3s ease; }
  #diferenciais .dif-card-modern:hover .dif-card-icon { transform: rotate(-6deg) translateY(-2px); }
  @keyframes folhagem { from { transform: rotate(13deg); } to { transform: rotate(19deg); } }
}

/* Fechamento aprovado: cartões sem alturas herdadas e passeio compacto. */
#integral .integral-galeria { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; columns:auto; align-items:start; }
#integral .integral-galeria figure { display:block; margin:0; min-width:0; }
#integral .integral-galeria a { display:block; height:280px; background:#eaf0e9; }
#integral .integral-galeria img { width:100%; height:100%; aspect-ratio:auto; object-fit:cover; }
#integral .integral-galeria figure:first-child img { object-fit:contain; }
#integral .integral-galeria figcaption { min-height:76px; padding:16px; flex:none; }
@media (min-width:901px) {
  #estrutura { padding-block:40px; }
  #estrutura .space-tour-arrival { max-width:1000px; margin:0 auto 20px; box-shadow:none; }
  #estrutura .space-tour-arrival figcaption { padding:24px; }
  #estrutura .space-tour-arrival h2 { font-size:clamp(30px,3vw,44px); max-width:18ch; }
  #estrutura .space-tour { max-width:1000px; margin-inline:auto; }
  #estrutura .space-tour-stage { grid-template-columns:minmax(0,2fr) minmax(220px,1fr); grid-template-rows:auto; align-items:center; }
  #estrutura .space-tour-stage > img { max-height:320px; }
  #estrutura .space-tour-stage figcaption { padding:20px; }
  #estrutura .space-tour-stage figcaption strong { font-size:30px; }
  #estrutura .space-tour-stops { grid-template-columns:repeat(6,minmax(0,1fr)); }
  #estrutura .space-tour-stops button { min-height:80px; padding:10px; }
  #estrutura .visita-faixa { max-width:1000px; margin:20px auto 0; padding:20px; }
}
@media (max-width:900px) {
  #integral .integral-galeria { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #integral .integral-galeria a { height:clamp(190px,40vw,300px); }
}
@media (min-width:1100px) {
  #estrutura > .container { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:20px; align-items:start; }
  #estrutura .space-tour-arrival { display:flex; flex-direction:column; margin:0; }
  #estrutura .space-tour-arrival figcaption { order:-1; }
  #estrutura .space-tour-arrival h2 { font-size:32px; }
  #estrutura .space-tour-arrival figcaption > p:last-child { font-size:16px; }
  #estrutura .space-tour { width:100%; }
  #estrutura .space-tour-stage { grid-template-columns:1fr; }
  #estrutura .space-tour-stage figcaption { padding:14px 18px; }
  #estrutura .space-tour-stage figcaption strong { font-size:26px; }
  #estrutura .space-tour-stops { grid-template-columns:repeat(3,minmax(0,1fr)); }
  #estrutura .space-tour-stops button { min-height:64px; }
  #estrutura .visita-faixa { grid-column:1/-1; width:100%; max-width:none; margin:0; }
}

.site-header .contact-action[hidden] { display: none; }
@media (min-width: 1280px) {
  .site-header .header-inner { flex-wrap: nowrap; align-items: center; }
  .site-header .site-nav { order: 0; flex: 1 1 auto; margin: 0; }
  .site-header .site-nav ul { justify-content: flex-end; gap: 0 14px; }
}

/* Revisão integral 11/09: menos caixas repetidas e mais prova visual. */
#diferenciais .dif-grid-modern {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 clamp(2rem, 5vw, 5rem);
}
#diferenciais .dif-card-modern {
  padding: clamp(1.5rem, 3vw, 2.35rem) 0;
  border: 0;
  border-top: 1px solid #cfdcda;
  border-radius: 0;
  box-shadow: none;
}
#diferenciais .dif-card-modern::after { display: none; }
#diferenciais .dif-card-header { justify-content: flex-start; gap: .75rem; }
#diferenciais .dif-card-icon { width: 2.65rem; height: 2.65rem; }

#integral .integral-galeria { grid-template-columns: repeat(5, minmax(0, 1fr)); }
#integral .integral-galeria figure:first-child { grid-column: span 2; }
#integral .integral-galeria figure:first-child img { object-fit: cover; }

#escola-viva .dif-provas { margin: 0 0 clamp(2rem, 4vw, 3rem); }
#escola-viva .dif-prova { border: 0; border-radius: 0; background: transparent; }
#escola-viva .dif-prova img { border-radius: 1.1rem; }
#escola-viva .dif-prova figcaption { padding: 1rem 0 0; }
#escola-viva .dif-grade { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 2rem; }
#escola-viva .dif-card {
  padding: 1.5rem 0;
  border: 0;
  border-top: 1px solid #cfdcda;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
#escola-viva .dif-faixa { border-radius: .4rem; }
#escola-viva .dif-chips { display: flex; flex-wrap: wrap; gap: .15rem 1.4rem; line-height: 1.5; }
#escola-viva .dif-chips li {
  position: relative;
  margin: 0;
  padding: .45rem 0 .45rem 1rem;
  border: 0;
  border-radius: 0;
  color: #fff;
  background: transparent;
}
#escola-viva .dif-chips li::before {
  position: absolute;
  top: .95rem;
  left: 0;
  width: .38rem;
  height: .38rem;
  border-radius: 50%;
  content: "";
  background: var(--ei-cyan);
}

@media (min-width: 561px) and (max-width: 1099px) {
  #estrutura .space-tour-arrival { display: grid; aspect-ratio: auto; grid-template-columns: 1fr; }
  #estrutura .space-tour-arrival > img { grid-column: 1; grid-row: 2; width: 100%; }
  #estrutura .space-tour-arrival figcaption { grid-column: 1; grid-row: 1; }
  #estrutura .space-tour-arrival h2 { max-width: 18ch; font-size: clamp(2rem, 5vw, 3rem); }
}
@media (min-width: 681px) and (max-width: 859px) {
  .trilha-anglo-grid, .trilha-anglo-grade { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  #diferenciais .dif-grid-modern,
  #escola-viva .dif-grade { grid-template-columns: 1fr; }
  #integral .integral-galeria { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #integral .integral-galeria figure:first-child { grid-column: 1 / -1; }
  #integral .integral-galeria figure:first-child a { height: auto; aspect-ratio: 16 / 9; }
}
@media (min-width:1100px) {
  #estrutura > .container { max-width:1100px; }
  #estrutura .space-tour-stops { grid-template-columns:repeat(6,minmax(0,1fr)); gap:5px; }
  #estrutura .space-tour-stops button { padding:8px 5px; min-height:80px; }
  #estrutura .space-tour-stops button small { display:none; }
  #estrutura .visita-faixa h3 { font-size:var(--texto-1); }
  #estrutura .space-tour-arrival figcaption { padding:20px; }
}

