@import url('https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&family=Outfit:wght@500;600;700;800&display=swap');

:root { --ier-blue:#083663; --ier-navy:#061c37; --ier-orange:#f27a32; --ier-gold:#f9bc26; --ier-paper:#fbfcfe; --ier-soft:#eef4fa; --ier-copy:#45617e; --ier-line:#dce6ef; --ier-radius:18px; --ier-font:'DM Sans',Arial,sans-serif; --ier-display:'Outfit',Arial,sans-serif; --primary-color:var(--ier-orange); --secondary-color:var(--ier-blue); --third-color:white; --primary-font:var(--ier-font); --box-background:rgba(6,28,55,.94); }
* { box-sizing:border-box; } html { scroll-behavior:smooth; scroll-padding-top:82px; } body { width:100%; overflow-x:clip; background:var(--ier-paper); color:var(--ier-navy); font-family:var(--ier-font); line-height:1.6; } h1,h2,h3,h4 { font-family:var(--ier-display); letter-spacing:-.045em; text-wrap:balance; } p { text-wrap:pretty; } a { color:inherit; } img { max-width:100%; }

/* Navigation: light, compact and anchored to the IER brand. */
header.index-header, header.index-header nav { height:76px; background:rgba(255,255,255,.94); } header.index-header { position:fixed; inset:0 0 auto; z-index:30; border-bottom:1px solid rgba(8,54,99,.09); box-shadow:0 6px 24px rgba(6,28,55,.08); backdrop-filter:blur(13px); } header.index-header nav { padding:0 clamp(18px,5vw,72px); } #header-logo { display:flex; align-items:center; min-width:224px; } #header-logo img { width:min(270px,21vw); min-width:205px; }.index-header-items { height:76px; align-items:center; gap:clamp(5px,1.25vw,18px); background:transparent; }.header-item { width:auto; min-width:104px; height:42px; margin:0; padding:0 15px; border:0; border-radius:9px; color:var(--ier-navy); font-size:.92rem; font-weight:600; transition:background-color .2s ease,color .2s ease,transform .2s ease; }.header-item:hover,#dropdown-button:hover { height:42px; border-radius:9px; transform:translateY(-1px); background:var(--ier-soft); color:var(--ier-blue); }.header-item img { height:27px; margin-right:7px; vertical-align:middle; }.button-h { display:flex; align-items:center; justify-content:center; white-space:nowrap; } #dropdown-list { top:calc(100% + 12px); right:0; width:254px; padding:9px; border:1px solid rgba(255,255,255,.18); border-radius:14px; background:rgba(6,28,55,.98); box-shadow:0 18px 44px rgba(6,28,55,.26); } #dropdown-list li { height:auto; min-height:39px; padding:0; border:0; border-radius:8px; } #dropdown-list li:hover { transform:none; background:rgba(255,255,255,.11); } #dropdown-list li a { display:flex; align-items:center; gap:10px; width:100%; padding:9px 11px; color:white; font-size:.9rem; } #dropdown-list li i { height:auto; color:var(--ier-gold); }

/* Home: editorial hero + section rhythm inspired by the reference structure. */
#ínicio { padding-top:76px; } #ínicio .hero { position:relative; isolation:isolate; min-height:min(700px,calc(100dvh - 76px)); height:auto; justify-content:center; background-position:center; } #ínicio .hero::after { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(6,28,55,.82) 0%,rgba(6,28,55,.48) 49%,rgba(6,28,55,.17) 100%); } #ínicio .hero-content { width:min(100% - 42px,1120px); margin:0 auto; text-align:left; } #ínicio .hero-content h1 { max-width:690px; margin:0; font-size:clamp(3rem,5.4vw,5.35rem); line-height:.96; text-shadow:0 3px 20px rgba(0,0,0,.22); } #ínicio .hero-content h2 { margin-top:16px; color:#ffce45; font-size:clamp(1.25rem,2vw,1.85rem); letter-spacing:-.025em; } #hero-main { height:auto; min-height:338px; margin-top:18px; } #ínicio .hero-logo img { height:162px; filter:drop-shadow(0 14px 25px rgba(0,0,0,.24)); }.hero-play-icon { display:grid; place-items:center; width:58px; height:58px; border:1px solid rgba(255,255,255,.72); border-radius:50%; background:rgba(255,255,255,.13); backdrop-filter:blur(8px); }.hero-play-icon:hover { animation:none; background:var(--ier-orange); transform:scale(1.07); }.hero-play-icon i { scale:1.1!important; margin-left:3px; }
.carrossel-container { padding:10px 0 18px; border-bottom:1px solid var(--ier-line); background:var(--ier-soft); background-image:none; }.carrossel-main { height:112px; padding:0; background:transparent; }.carrossel-item { height:90px; margin:0 13px; padding:8px; }.carrossel-item img { height:70px; border-radius:8px; mix-blend-mode:multiply; } #carrossel-btn { width:37px; height:37px; border:1px solid #9cb1c5; border-radius:50%; background:white; } #carrossel-btn img { width:19px; height:19px; }
#quem-somos { padding:92px 0 100px; background:var(--ier-paper); } #sidebar-container { max-width:1220px; margin:auto; padding:0 28px; }.sidebar { width:fit-content; max-width:100%; gap:4px; margin:0 auto 52px; padding:5px; border:1px solid var(--ier-line); border-radius:13px; background:white; box-shadow:0 8px 24px rgba(6,28,55,.06); }.menu-option { width:auto; padding:10px 20px; border-radius:8px; color:var(--ier-copy); font-size:.92rem; font-weight:600; }.menu-option:hover,.menu-option.active { border-radius:8px; background:var(--ier-blue); color:white; }.content-area { height:auto; padding:0; background:transparent; }.content-active-title { margin-bottom:27px; }.content-active-title.active h2 { display:block; color:var(--ier-navy); font-size:clamp(2rem,4vw,3.4rem); }.content.active { align-items:center; gap:clamp(34px,6vw,86px); max-width:1170px; margin:0 auto; color:var(--ier-copy); font-family:var(--ier-font); font-size:clamp(1rem,1.35vw,1.18rem); font-weight:500; line-height:1.65; }.content.active p { max-width:600px; }.sidebar-image { height:auto; aspect-ratio:1.2/1; overflow:hidden; border-radius:var(--ier-radius); box-shadow:0 22px 48px rgba(6,28,55,.14); }.sidebar-image img { width:100%; height:100%; object-fit:cover; }
.value-title { margin:0; padding:91px 20px 40px; background:var(--ier-soft); }.value-title h1 { height:auto; max-width:880px; margin:0 auto; color:var(--ier-navy); font-size:clamp(2.35rem,5vw,4.25rem); }.documentation { width:min(100% - 42px,1240px); align-items:stretch; gap:18px; margin:0 auto; padding:13px 0 94px; background:transparent; }.values-column { width:auto; height:auto; min-height:284px; margin:0; padding:30px 23px; border:1px solid var(--ier-line); border-bottom:3px solid var(--ier-orange); border-radius:14px; background:white; box-shadow:none; color:var(--ier-navy); font-size:1rem; text-align:left; align-items:flex-start; justify-content:flex-start; transition:transform .25s ease,box-shadow .25s ease; }.values-column:hover { transform:translateY(-6px); border-right:1px solid var(--ier-line); border-bottom:3px solid var(--ier-orange); box-shadow:0 20px 36px rgba(6,28,55,.12); }.values-column h2 { margin:15px 0 8px; color:var(--ier-blue); font-size:1.3rem; }.values-column p { color:var(--ier-copy); line-height:1.56; }.column-img { color:var(--ier-orange); font-size:1.7rem; }
#projetos-title { margin:0; padding:83px 20px 27px; color:var(--ier-navy); font-size:clamp(2.35rem,4.8vw,4rem); } #projetos-container { height:auto; overflow:visible; width:min(100% - 42px,1240px); margin:0 auto; padding:17px 0 88px; background:transparent; }.projetos-main { display:grid; grid-template-columns:1.1fr .9fr .9fr; gap:18px; width:100%; height:485px; overflow:visible; }.banner { overflow:hidden; border-radius:var(--ier-radius); background:var(--ier-blue); }.banner:first-child { grid-row:span 2; }.banner:nth-child(4),.banner:nth-child(5) { display:none; }.banner img { width:100%; height:100%; object-fit:cover; box-shadow:none; transition:transform .42s ease; }.banner img:hover { cursor:pointer; transform:scale(1.05); box-shadow:none; }.info-strip { padding:86px 22px; background:linear-gradient(135deg,var(--ier-orange),#ed9340); color:white; }.info-strip h3 { max-width:690px; margin:0 auto 16px; font-size:clamp(2rem,4vw,3.3rem); letter-spacing:-.05em; }.info-strip p { max-width:650px; color:white; }.info-btn,.hero-btn { border:0; border-radius:8px; background:var(--ier-navy); color:white; box-shadow:0 10px 20px rgba(6,28,55,.18); }.info-btn:hover,.hero-btn:hover { background:#123f72; color:white; transform:translateY(-2px); scale:1; }

/* Project pages retain their content, with a quieter, modern project template. */
body > .hero { position:relative; isolation:isolate; min-height:min(680px,88dvh); height:auto; padding:142px 22px 92px; background-position:center; } body > .hero::before { content:''; position:absolute; inset:0; z-index:-1; width:auto; height:auto; border-radius:0; background:rgba(6,28,55,.35); } body > .hero::after { display:none; } body > .hero .hero-content { max-width:720px; margin:0 auto; }.hero-content h1 { display:block; width:100%; overflow:visible; white-space:normal!important; overflow-wrap:normal; font-size:clamp(2.3rem,4.15vw,4.15rem); line-height:1.04; }.hero-content p { max-width:720px; margin:25px auto 33px; font-size:clamp(1rem,1.5vw,1.18rem); line-height:1.62; }.hero-btn { padding:13px 22px; font-size:.95rem; font-weight:700; }.scroll-indicator { bottom:29px; z-index:1; }.container { width:min(100% - 42px,1160px); margin-left:auto; margin-right:auto; }.carousel-section,.cursos-section,.modalidades-section,.beneficios-section { padding:84px 0; }.carousel-section,.beneficios-section { background:var(--ier-soft); }.section-title { margin-bottom:35px; text-align:left; }.section-title h2 { color:var(--ier-navy); font-size:clamp(2rem,4vw,3.4rem); }.carousel-container { border-radius:var(--ier-radius); overflow:hidden; box-shadow:0 22px 46px rgba(6,28,55,.13); }.carousel { height:365px; }.carousel-item { padding:clamp(32px,5vw,72px); }.carousel-item h3 { max-width:650px; font-size:clamp(1.8rem,3.2vw,3rem); }.carousel-item p { max-width:635px; font-size:1.04rem; }.carousel-btn { width:44px; height:44px; border-radius:50%; }.carousel-indicators { bottom:20px; }.indicator { width:9px; height:9px; }.cursos-grid,.modalidades-grid { gap:20px; }.curso-card,.modalidade-card { border:1px solid var(--ier-line); border-radius:14px; background:white; box-shadow:none; overflow:hidden; transition:transform .25s ease,box-shadow .25s ease; }.curso-card:hover,.modalidade-card:hover { transform:translateY(-6px); box-shadow:0 20px 36px rgba(6,28,55,.12); }.curso-img,.modalidade-img { height:205px; }.curso-img img,.modalidade-img img { width:100%; height:100%; object-fit:cover; }.curso-content,.modalidade-content { padding:25px; }.curso-content h3,.modalidade-content h3,.beneficio-item h3 { color:var(--ier-blue); font-size:1.3rem; }.curso-content p,.modalidade-content p,.beneficio-item p { color:var(--ier-copy); }.curso-icon,.modalidade-icon,.beneficio-icon { color:var(--ier-orange); }.beneficios-container { gap:18px; }.beneficio-item { padding:25px 22px; border:1px solid var(--ier-line); border-radius:13px; background:white; box-shadow:none; transition:transform .25s ease,box-shadow .25s ease; }.beneficio-item:hover { transform:translateY(-4px); box-shadow:0 20px 36px rgba(6,28,55,.1); }

/* Footer and a small progressive motion layer. */
footer { height:auto; min-height:0; margin-top:0; padding:74px 0 28px; border-top:0; background:linear-gradient(rgba(6,28,55,.96),rgba(6,28,55,.96)),url('../midia/fundos/ambiente-edson.jpg'); background-position:center; }.footer-main { width:min(100% - 42px,1160px); }.footer-logo { left:0; float:none; }.footer-logo img { max-width:300px; border-radius:0; }.footer-logo h3 { color:white; font-size:1.65rem; }.footer-logo p { color:#d4e0eb; }.footer-content,#footer-content { gap:48px; }.footer-section,#footer-contact.footer-section,#footer-credits.footer-section { padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }.footer-section h2,#footer-contact h2,.footer-links h4,.footer-contact h4 { color:#f5bd49; }.footer-links a,.footer-contact a,#footer-contact-list a { color:white; }.copyright,#footer-dev code { color:#c5d4e3; background:transparent; border:0; }.copyright { border-top:1px solid rgba(255,255,255,.2); margin-top:35px; padding-top:19px; }
.ier-motion .ier-reveal { opacity:0; transform:translateY(20px); transition:opacity .62s ease,transform .62s ease; }.ier-motion .ier-reveal.is-visible { opacity:1; transform:none; }:focus-visible { outline:3px solid var(--ier-gold); outline-offset:3px; }
@media (max-width:820px) { header.index-header,header.index-header nav { height:64px; } header.index-header nav { padding:0 14px; } #header-logo { min-width:0; } #header-logo img { width:148px; min-width:0; }.index-header-items { height:64px; gap:1px; }.header-item { min-width:auto; padding:0 8px; font-size:.72rem; }.header-item img { display:none; }.button-h { font-size:.72rem; } #dropdown-list { right:-3px; width:230px; } #ínicio { padding-top:64px; } #ínicio .hero { min-height:610px; background-position:58% center; }.hero-content h1,#ínicio .hero-content h1 { font-size:clamp(2.4rem,12vw,3.7rem); }.hero-content p { font-size:1rem; }.hero-logo { display:none; } #quem-somos { padding:64px 0 70px; }.sidebar { width:100%; overflow-x:auto; justify-content:flex-start; margin-bottom:32px; }.menu-option { padding:9px 12px; font-size:.81rem; white-space:nowrap; }.content.active { flex-direction:column-reverse; gap:25px; font-size:1rem; }.sidebar-image { width:100%; max-height:350px; }.value-title { padding:68px 20px 26px; }.documentation { flex-direction:column; padding-bottom:68px; }.values-column { min-height:0; } #projetos-title { padding-top:61px; }.projetos-main { grid-template-columns:1fr; height:auto; }.banner,.banner:first-child { display:block; grid-row:auto; height:245px; }.banner:nth-child(4),.banner:nth-child(5) { display:block; }.banner img { height:100%; }.info-strip { padding:65px 22px; } body > .hero { min-height:570px; padding:119px 22px 75px; }.carousel-section,.cursos-section,.modalidades-section,.beneficios-section { padding:64px 0; }.carousel { height:420px; }.carousel-item { padding:38px 28px; }.cursos-grid,.modalidades-grid,.beneficios-container { grid-template-columns:1fr; }.footer-content,#footer-content { grid-template-columns:1fr; gap:28px; }.footer-logo img { max-width:240px; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation-duration:.01ms!important; transition-duration:.01ms!important; scroll-behavior:auto!important; }.ier-motion .ier-reveal { opacity:1; transform:none; } }

/* Long project titles need a calm multi-line rhythm instead of clipping. */
body > .hero .hero-content { max-width: 780px; }
body > .hero .hero-content h1 {
  display: block;
  width: 100%;
  overflow: visible;
  white-space: normal !important;
  overflow-wrap: normal;
  text-wrap: wrap;
  font-size: clamp(2rem, 2.7vw, 2.55rem);
  line-height: 1.08;
}

/* Header and first viewport: editorial hierarchy, project status menu and clear action. */
header.index-header, header.index-header nav { height: 92px; }
header.index-header nav { padding: 0 clamp(28px, 6.4vw, 112px); }
#header-logo { min-width: 225px; }
#header-logo img { width: clamp(260px, 19.3vw, 370px); min-width: 220px; }
.index-header-items { justify-content: flex-end; height: 92px; gap: clamp(2px, .8vw, 13px); }
.header-item { min-width: auto; padding: 0 9px; font-size: .86rem; white-space: nowrap; }
.ier-project-menu { position: relative; display: flex; align-items: center; height: 100%; }
.ier-project-trigger {
  display: inline-flex; align-items: center; gap: 7px; height: 42px; padding: 0 10px;
  border: 0; border-radius: 9px; background: transparent; color: var(--ier-navy);
  font: 600 .86rem var(--ier-font); cursor: pointer; transition: background-color .2s ease, color .2s ease;
}
.ier-project-trigger:hover, .ier-project-menu.is-open .ier-project-trigger { color: var(--ier-blue); background: var(--ier-soft); }
.ier-project-trigger i { font-size: .69rem; transition: transform .2s ease; }.ier-project-menu.is-open .ier-project-trigger i { transform: rotate(180deg); }
.ier-project-list {
  position: absolute; top: calc(50% + 42px); left: 50%; z-index: 2; display: grid; gap: 4px;
  width: 310px; padding: 9px; border: 1px solid rgba(255,255,255,.17); border-radius: 14px;
  background: rgba(6,28,55,.98); box-shadow: 0 18px 44px rgba(6,28,55,.28); opacity: 0;
  visibility: hidden; transform: translate(-50%, -7px); transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
}
.ier-project-menu:hover .ier-project-list, .ier-project-menu:focus-within .ier-project-list, .ier-project-menu.is-open .ier-project-list { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
.ier-project-list a { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 11px 12px; border-radius: 9px; color: white; font-size: .9rem; font-weight: 600; text-decoration: none; }.ier-project-list a:hover { background: rgba(255,255,255,.1); }
.status { display: inline-flex; align-items: center; padding: 3px 7px; border-radius: 999px; font-size: .65rem; font-weight: 700; letter-spacing: .01em; white-space: nowrap; }.status-active { background: rgba(95,197,117,.18); color: #a7e49e; }.status-finished { background: rgba(249,188,38,.16); color: #ffe080; }.status-future { background: rgba(133,173,227,.16); color: #c9defb; }
.ier-donate { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 45px; padding: 0 16px; border-radius: 999px; background: var(--ier-orange); color: white; font-size: .86rem; font-weight: 700; text-decoration: none; box-shadow: 0 8px 16px rgba(225,93,22,.22); transition: transform .2s ease, background-color .2s ease; white-space: nowrap; }.ier-donate:hover { transform: translateY(-2px); background: #d95b18; }
#ínicio { padding-top: 92px; }
#ínicio .hero { min-height: min(760px, calc(100dvh - 92px)); align-items: center; }
#ínicio .hero::after { display: none; }
#ínicio .hero-content { display: flex; flex-direction: column; align-items: center; width: min(100% - 42px, 920px); text-align: center; }
#ínicio .hero-content h1 { max-width: 800px; font-size: clamp(3rem, 5.6vw, 5.7rem); line-height: .94; }
#ínicio .hero-content h2 { order: -1; margin: 0 0 12px; color: #ffd261; font-size: .91rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.ier-hero-lead { max-width: 670px; margin: 23px auto 28px; color: rgba(255,255,255,.96); font-size: clamp(1rem, 1.65vw, 1.25rem); line-height: 1.52; }
.ier-hero-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 13px; }.ier-hero-actions a { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 0 22px; border-radius: 999px; font-weight: 700; text-decoration: none; transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease; }.ier-hero-primary { background: var(--ier-orange); color: white; box-shadow: 0 10px 21px rgba(225,93,22,.31); }.ier-hero-secondary { background: #ffd22e; color: var(--ier-navy); box-shadow: 0 10px 23px rgba(255,210,46,.27); }.ier-hero-actions a:hover { transform: translateY(-3px); }.ier-hero-actions a:active { transform: translateY(0) scale(.98); }
#hero-main { min-height: 72px; margin-top: 23px; }.hero-logo { display: none; }.hero-play-icon { width: 46px; height: 46px; }.hero-play-icon i { scale: .9!important; }
@media (max-width: 1180px) { header.index-header, header.index-header nav { height: 80px; } header.index-header nav { padding: 0 24px; } #header-logo { min-width: 175px; } #header-logo img { min-width: 165px; width: 165px; }.index-header-items { height: 80px; gap: 0; }.header-item, .ier-project-trigger { font-size: .75rem; padding-inline: 6px; }.ier-donate { min-height: 39px; padding: 0 11px; font-size: .75rem; } #ínicio { padding-top: 80px; } #ínicio .hero { min-height: calc(100dvh - 80px); } }
@media (max-width: 760px) { header.index-header, header.index-header nav { height: 68px; } header.index-header nav { padding: 0 13px; overflow-x: auto; justify-content: flex-start; } #header-logo { min-width: 132px; } #header-logo img { min-width: 125px; width: 125px; }.index-header-items { min-width: max-content; height: 68px; }.header-item, .ier-project-trigger { font-size: .74rem; padding-inline: 8px; }.ier-donate { display: none; }.ier-project-list { position: fixed; top: 74px; left: 12px; right: 12px; width: auto; transform: translateY(-7px); }.ier-project-menu:hover .ier-project-list, .ier-project-menu:focus-within .ier-project-list, .ier-project-menu.is-open .ier-project-list { transform: translateY(0); } #ínicio { padding-top: 68px; } #ínicio .hero { min-height: 630px; } #ínicio .hero-content h1 { font-size: clamp(2.65rem, 13vw, 4rem); } .ier-hero-lead { font-size: 1rem; } .ier-hero-actions { gap: 10px; }.ier-hero-actions a { width: 100%; min-height: 49px; } }

/* Final header alignment and a CTA drawn from the IER blue, orange and gold mark. */
header.index-header nav { position: relative; display: flex; justify-content: center; }
#header-logo { position: absolute; left: clamp(16px, 2vw, 34px); top: 50%; z-index: 1; margin: 0; transform: translateY(-50%); cursor: pointer; }
#header-logo:focus-visible { border-radius: 8px; outline: 3px solid var(--ier-gold); outline-offset: 5px; }
.index-header-items { width: auto; justify-content: center; margin: 0 auto; }
.ier-donate { position: absolute; right: clamp(18px, 2.4vw, 38px); top: 50%; z-index: 1; width: 242px; height: 55px; min-height: 55px; padding: 0; border: 0; overflow: hidden; background: transparent url('../midia/Bot%C3%B5es/Bot%C3%A3o%20do%20Fa%C3%A7a%20sua%20Doa%C3%A7%C3%A3o.png') -22px -12px / 278px 84px no-repeat; box-shadow: none; transform: translateY(-50%); transition: transform .22s ease, filter .22s ease; }
.ier-donate-logo-frame, .ier-donate i { display: none; }
.ier-donate > span { font-size: 0; }
.ier-donate:hover { background: transparent url('../midia/Bot%C3%B5es/Bot%C3%A3o%20do%20Fa%C3%A7a%20sua%20Doa%C3%A7%C3%A3o.png') -22px -12px / 278px 84px no-repeat; color: white; transform: translateY(-50%) scale(1.04); filter: brightness(1.08); box-shadow: none; }
.ier-donate:active { transform: translateY(-50%) scale(.98); }
@media (max-width: 1180px) { #header-logo { left: 24px; } .ier-donate { right: 18px; width: 230px; height: 53px; background-position: -21px -11px; background-size: 264px 80px; } }
@media (max-width: 760px) { header.index-header nav { justify-content: flex-start; } #header-logo { position: static; transform: none; } .index-header-items { margin: 0; } .ier-donate { display: none; } }

/* Footer institucional: fundo sólido e estrutura inspirada na referência. */
footer.ier-site-footer {
  height: 447px;
  min-height: 447px;
  margin: 0;
  padding: 64px 0 22px;
  border: 0;
  background-color: #061d3c;
  background-image: url("../midia/Rodapé/Imagem Rodapé.png");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  color: #f4e8df;
  animation: none;
  position: relative;
  z-index: 1;
  box-shadow: 0 -1px 0 #061d3c;
  overflow: hidden;
}
.ier-footer-inner {
  width: min(100% - 64px, 1472px);
  margin: 0 auto;
}
.ier-footer-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 32px;
  align-items: start;
  padding-bottom: 36px;
}
.ier-footer-logos {
  display: flex;
  align-items: center;
  gap: 20px;
  width: min(100%, 330px);
  height: 78px;
  margin: -13px 0 10px;
}
.ier-footer-logos img {
  display: block;
  width: auto;
  max-width: none;
  height: 64px;
  flex: 0 0 auto;
  margin: 0;
  border-radius: 0;
  object-fit: contain;
}
.ier-footer-logos .ier-footer-logo-ier {
  width: 120px;
  height: 120px;
  filter: brightness(0) invert(1);
}
.ier-footer-logos .ier-footer-logo-gf {
  width: 190px;
  height: 78px;
  filter: invert(1) brightness(.92);
}
.ier-footer-brand p {
  max-width: 31ch;
  margin: 0;
  color: #f4e8df;
  font-size: .95rem;
  line-height: 1.42;
}
.ier-site-footer h2 {
  margin: 0 0 16px;
  color: #ffffff;
  font-family: var(--ier-font);
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: -.015em;
}
.ier-footer-nav {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 8px;
  width: auto;
  height: auto;
  margin: 0;
  padding: 0;
  background: transparent;
}
.ier-footer-nav h2 {
  margin-bottom: 8px;
}
.ier-footer-nav a,
.ier-footer-contact a {
  color: #f4e8df;
  font-size: 1rem;
  line-height: 1.45;
  text-decoration: none;
  transition: color .2s ease;
}
.ier-footer-nav a:hover,
.ier-footer-contact a:hover {
  color: #f9bc26;
}
.ier-footer-contact address {
  margin: 0;
  font-style: normal;
}
.ier-footer-contact address p {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  margin: 0 0 9px;
  color: #f4e8df;
  font-size: .93rem;
  line-height: 1.45;
}
.ier-footer-contact address i,
.ier-footer-legal > i {
  width: 16px;
  margin-top: 4px;
  color: #f4e8df;
  text-align: center;
  flex: 0 0 16px;
}
.ier-footer-contact address a {
  overflow-wrap: anywhere;
}
.ier-footer-legal {
  display: flex;
  gap: 11px;
  margin-top: 15px;
  padding-top: 15px;
  border-top: 1px solid #b45d29;
}
.ier-footer-legal p {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin: 0;
  color: #f4e8df;
  font-size: .82rem;
  line-height: 1.45;
}
.ier-footer-legal strong {
  color: #ffffff;
  font-weight: 700;
}
.ier-footer-social-links {
  display: flex;
  flex-wrap: nowrap;
  gap: 16px;
}
.ier-footer-social-links a {
  display: grid;
  place-items: center;
  position: relative;
  width: 22px;
  height: 26px;
  border: 0;
  border-radius: 0;
  color: #f4e8df;
  font-size: 1.2rem;
  text-decoration: none;
  transition: color .2s ease;
}
.ier-footer-social-links a::before {
  content: '';
  position: absolute;
  inset: -9px;
}
.ier-footer-social-links a:hover {
  background: transparent;
  color: #f9bc26;
  transform: none;
}
.ier-footer-bottom {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 4px;
  padding-top: 30px;
  border-top: 1px solid #b45d29;
  color: #f0d4c4;
  font-size: .84rem;
  line-height: 1.5;
  text-align: center;
}
.ier-footer-bottom p {
  margin: 0;
}
@media (max-width: 1040px) {
  footer.ier-site-footer {
    height: auto;
    min-height: 0;
  }
  .ier-footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 40px;
  }
  .ier-footer-social {
    grid-column: auto;
  }
}
@media (max-width: 760px) {
  footer.ier-site-footer {
    padding: 50px 0 24px;
  }
  .ier-footer-inner {
    width: min(100% - 38px, 560px);
  }
  .ier-footer-grid {
    grid-template-columns: 1fr;
    gap: 34px;
    padding-bottom: 40px;
  }
  .ier-footer-social {
    grid-column: auto;
  }
  .ier-footer-logos {
    width: min(100%, 330px);
  }
  .ier-footer-bottom {
    display: flex;
  }
  .ier-footer-bottom p + p {
    margin-top: 0;
  }
}

/* Parceiros: apresentação editorial + nova camada contínua.
   O carrossel anterior permanece nos estilos-base como fallback. */
.partners-showcase {
  overflow: hidden;
  scroll-margin-top: 92px;
  padding: clamp(48px, 6vw, 72px) 0 clamp(32px, 4vw, 48px);
  border-bottom: 1px solid var(--ier-line);
  background: var(--ier-soft);
}

/* Camada independente: preserva a hero e o carrossel existentes, usando a
   arte aprovada para criar a transição entre as duas seções. */
#ínicio .hero.hero--carrossel-1 {
  overflow: visible;
  z-index: 2;
}

.hero-partners-divider {
  position: absolute;
  z-index: 3;
  right: 0;
  /* A arte possui uma área transparente ampla. Mantê-la próxima ao fim da
     hero faz a faixa azul cruzar a troca de seção sem criar um vazio antes
     do título. Os estilos-base continuam disponíveis se esta camada falhar. */
  /* Leve avanço sobre a seção seguinte, mantendo a faixa junto à divisa. */
  bottom: clamp(-325px, -22vw, -175px);
  left: 0;
  width: 100%;
  min-width: 1120px;
  pointer-events: none;
  /* Mantém a proporção nativa da curva. */
  transform: translateY(-8px);
  transform-origin: center bottom;
}

.hero-partners-divider-fill {
  display: none;
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  transform: translateY(9px);
}

/* Recolore somente a área inferior da divisória, mantendo a curva original. */
.hero-partners-divider::before {
  display: none;
  content: '';
  position: absolute;
  z-index: 0;
  inset: 0;
  background: var(--ier-blue);
  -webkit-mask: url('../midia/Divis%C3%B3rias/divisoria%2001-preenchimento.png') center / 100% 100% no-repeat;
  mask: url('../midia/Divis%C3%B3rias/divisoria%2001-preenchimento.png') center / 100% 100% no-repeat;
}

.hero-partners-divider img:not(.hero-partners-divider-fill) {
  position: relative;
  z-index: 4;
  display: block;
  width: 100%;
  height: auto;
  /* Derivada diretamente da divisória 02, somente com o fundo preto removido. */
  content: url('../midia/Divis%C3%B3rias/divisoria%2002%20transparente.png');
}

.partners-showcase {
  position: relative;
  /* O título pertence à área branca aberta pela curva, não ao fim do PNG. */
  padding-top: clamp(28px, 3.5vw, 58px);
}

.partners-intro {
  position: relative;
  z-index: 4;
  transform: translateY(-5px);
  display: grid;
  grid-template-columns: 1fr;
  align-items: center;
  justify-items: center;
  width: min(100% - 48px, 1220px);
  margin: 0 auto 48px;
}

/* Marca d'água institucional no espaço claro da seção de parceiros. */
.partners-showcase::before {
  content: '';
  position: absolute;
  z-index: 0;
  top: 58%;
  right: 5%;
  width: min(38vw, 420px);
  height: min(38vw, 420px);
  background: url('../midia/icons/favicon-ier.png') center / contain no-repeat;
  opacity: .11;
  filter: grayscale(.25) saturate(.55) contrast(.9);
  pointer-events: none;
  transform: translateY(-50%);
}

.partners-heading-group {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}

.partners-mark {
  position: relative;
  display: inline-grid;
  width: fit-content;
  margin: 0;
  padding-top: 16px;
  color: var(--ier-navy);
  font-size: clamp(3.75rem, 6.4vw, 6rem);
  font-weight: 800;
  line-height: .86;
  letter-spacing: -.04em;
  white-space: nowrap;
}

.partners-mark strong {
  position: relative;
  color: var(--ier-orange);
  font: inherit;
}

.partners-mark strong::after {
  content: '';
  position: absolute;
  right: -30px;
  bottom: -30px;
  left: -26px;
  height: 52px;
  background: url('../midia/carrossel/Risco Carrocel.png') center / 100% 100% no-repeat;
  pointer-events: none;
  transform: scaleX(1.5);
  transform-origin: center;
}

.partners-sparks {
  position: absolute;
  top: -20px;
  left: -20px;
  width: 48px;
  height: 42px;
}

.partners-sparks span {
  position: absolute;
  display: block;
  width: 5px;
  border-radius: 999px;
  background: var(--ier-orange);
  transform-origin: center;
}

.partners-sparks span:nth-child(1) {
  top: 0;
  left: 35px;
  height: 18px;
}

.partners-sparks span:nth-child(2) {
  top: 5px;
  left: 18px;
  height: 23px;
  transform: rotate(-40deg);
}

.partners-sparks span:nth-child(3) {
  top: 20px;
  left: 4px;
  height: 20px;
  transform: rotate(-68deg);
}

.partners-copy {
  display: grid;
  gap: 12px;
  max-width: 600px;
}

.partners-copy h3 {
  margin: 0;
  color: var(--ier-navy);
  font-size: clamp(1.6rem, 2.4vw, 2.2rem);
  line-height: 1.12;
  letter-spacing: -.03em;
}

.partners-description {
  max-width: 480px;
  margin: 0;
  color: var(--ier-copy);
  font-size: clamp(1rem, 1.25vw, 1.15rem);
  line-height: 1.68;
}

body.ier-home .carrossel-container {
  position: relative;
  z-index: 1;
  margin-top: 0;
  transform: translateY(-5px);
  align-items: flex-start;
  padding: 8px 0;
  border: 0;
  background: transparent;
}

.carrossel-main.carrossel-main--continuo {
  width: max-content;
  min-width: max-content;
  height: 176px;
  margin: 0;
  padding: 0;
  gap: 0;
  justify-content: flex-start;
  background: transparent;
  animation: carrossel-continuo 90s linear infinite;
  animation-play-state: running;
  will-change: transform;
}

.carrossel-main--continuo .carrossel-item {
  flex: 0 0 clamp(224px, 18vw, 288px);
  width: clamp(224px, 18vw, 288px);
  height: 168px;
  margin: 0;
  padding: 0 10px;
  justify-content: center;
  scale: 1;
}

.carrossel-main--continuo .carrossel-item:hover {
  scale: 1;
}

.carrossel-main--continuo .carrossel-item a {
  display: grid;
  place-items: center;
  width: 100%;
  height: 156px;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(8, 54, 99, .11);
  border-radius: 12px;
  background: white;
  box-shadow: 0 4px 8px rgba(6, 28, 55, .07);
  transition: transform .22s cubic-bezier(.25, 1, .5, 1), border-color .22s ease;
}

.carrossel-main--continuo .carrossel-item a:hover,
.carrossel-main--continuo .carrossel-item a:focus-visible {
  transform: translateY(-4px);
  border-color: rgba(239, 125, 28, .52);
}

.carrossel-main--continuo .carrossel-item a.logo-card--dark {
  border-color: rgba(255, 255, 255, .16);
  background: var(--ier-navy);
}

.carrossel-main--continuo .carrossel-item img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: contain;
  border-radius: 0;
  mix-blend-mode: normal;
  transform: scale(1.1);
}

@keyframes carrossel-continuo {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(-50%, 0, 0); }
}

@media (max-width: 760px) {
  .partners-showcase {
    scroll-margin-top: 68px;
    padding: clamp(48px, 12vw, 72px) 0 32px;
  }
  body.ier-home .carrossel-container { margin-top: 0; }
  .hero-partners-divider {
    right: auto;
    bottom: -175px;
    left: 50%;
    width: 1120px;
    min-width: 0;
    transform: translateX(-50%) translateY(-8px);
    transform-origin: center bottom;
  }
  .partners-intro {
    grid-template-columns: 1fr;
    width: calc(100% - 32px);
    margin-bottom: 32px;
  }
  .partners-heading-group {
    align-items: center;
    justify-content: center;
  }
  .partners-mark {
    font-size: clamp(1.7rem, 8vw, 4rem);
  }
  .partners-copy h3 {
    font-size: 1.55rem;
  }
  .carrossel-main.carrossel-main--continuo {
    height: 124px;
  }
  .carrossel-main--continuo .carrossel-item {
    flex-basis: 200px;
    width: 200px;
    height: 116px;
    padding-inline: 8px;
  }
  .carrossel-main--continuo .carrossel-item a {
    height: 108px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.ier-home .carrossel-container {
    overflow-x: auto;
    scroll-snap-type: x proximity;
  }
  .carrossel-main.carrossel-main--continuo {
    animation: none !important;
    will-change: auto;
  }
  .carrossel-main--continuo .carrossel-item {
    scroll-snap-align: start;
  }
  .carrossel-main--continuo .carrossel-item[aria-hidden="true"] {
    display: none;
  }
}
@media (max-width: 360px) {
  .ier-footer-logos {
    gap: 12px;
    width: 100%;
  }
  .ier-footer-logos .ier-footer-logo-ier {
    width: 100px;
    height: 100px;
  }
  .ier-footer-logos .ier-footer-logo-gf {
    width: 165px;
    height: 68px;
  }
}

/* Home-only transparent navigation. JavaScript opts into this layer; the
   existing white navigation remains available as a compatibility fallback. */
header.index-header.ier-header-over-hero,
header.index-header.ier-header-over-hero nav {
  background: transparent;
  border-color: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  transition: background-color .36s ease, border-color .36s ease, box-shadow .36s ease, backdrop-filter .36s ease;
}
header.index-header.ier-header-over-hero .header-item,
header.index-header.ier-header-over-hero .ier-project-trigger {
  color: white;
  text-shadow: 0 2px 14px rgba(0,0,0,.38);
}
header.index-header.ier-header-over-hero .header-item:hover,
header.index-header.ier-header-over-hero .ier-project-trigger:hover,
header.index-header.ier-header-over-hero .ier-project-menu.is-open .ier-project-trigger {
  background: rgba(255,255,255,.16);
  color: white;
}
header.index-header.ier-header-over-hero #header-logo img {
  filter: drop-shadow(0 2px 8px rgba(0,0,0,.42));
}
header.index-header.ier-header-over-hero.ier-header-scrolled,
header.index-header.ier-header-over-hero.ier-header-scrolled nav {
  background: rgba(255,255,255,.95);
  border-color: rgba(8,54,99,.09);
  box-shadow: 0 6px 24px rgba(6,28,55,.08);
  backdrop-filter: blur(13px);
  -webkit-backdrop-filter: blur(13px);
}
header.index-header.ier-header-over-hero.ier-header-scrolled .header-item,
header.index-header.ier-header-over-hero.ier-header-scrolled .ier-project-trigger {
  color: var(--ier-navy);
  text-shadow: none;
}
header.index-header.ier-header-over-hero.ier-header-scrolled .header-item:hover,
header.index-header.ier-header-over-hero.ier-header-scrolled .ier-project-trigger:hover,
header.index-header.ier-header-over-hero.ier-header-scrolled .ier-project-menu.is-open .ier-project-trigger {
  background: var(--ier-soft);
  color: var(--ier-blue);
}
header.index-header.ier-header-over-hero.ier-header-scrolled #header-logo img { filter: none; }
#ínicio { padding-top: 0; }
#ínicio .hero { min-height: min(760px, 100dvh); }
@media (max-width: 1180px) {
  #ínicio { padding-top: 0; }
  #ínicio .hero { min-height: 100dvh; }
}
@media (max-width: 760px) {
  #ínicio { padding-top: 0; }
  #ínicio .hero { min-height: 630px; }
  header.index-header.ier-header-over-hero nav { background: transparent; }
}

/* Give the home hero a full cinematic viewport and let the navigation settle
   into its solid state at a calmer pace. */
#ínicio .hero {
  min-height: 100dvh;
  height: 100dvh;
}
header.index-header.ier-header-over-hero,
header.index-header.ier-header-over-hero nav {
  transition-duration: 1.05s;
  transition-timing-function: cubic-bezier(.22, 1, .36, 1);
}
.ier-hero-actions { gap: 17px; }
.ier-hero-actions a {
  min-height: 64px;
  padding: 0 34px;
  font-size: clamp(1.03rem, 1.45vw, 1.2rem);
}
.ier-hero-actions a i { font-size: 1.04em; }

#ínicio .ier-hero-title.has-logo {
  position: relative;
  z-index: 1;
  isolation: isolate;
  width: min(72vw, 590px);
  max-width: 590px;
  aspect-ratio: 1.8 / 1;
  overflow: hidden;
  line-height: 0;
  text-shadow: none;
}
#ínicio .ier-hero-title-logo { display: none; }
#ínicio .ier-hero-title.has-logo .ier-hero-title-logo {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 100%;
  max-width: none;
  height: auto;
  transform: translate(-50%, -50%);
  filter: drop-shadow(0 9px 22px rgba(0,0,0,.34));
}
#ínicio .ier-hero-title.has-logo .ier-hero-title-logo--instituto-white {
  z-index: 2;
  clip-path: inset(58% 17% 32% 17%);
  filter: invert(1) grayscale(1) brightness(2.4);
}
#ínicio .ier-hero-title.has-logo .ier-hero-title-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
#ínicio .hero-content h2 {
  margin-bottom: 16px;
  font-size: clamp(1.15rem, 1.55vw, 1.55rem);
  letter-spacing: .1em;
  text-shadow: 0 3px 14px rgba(0,0,0,.3);
}
#ínicio .hero.hero--carrossel-1::after {
  display: block;
  pointer-events: none;
  background: radial-gradient(ellipse 46% 70% at 50% 53%, rgba(1,10,22,.78) 0%, rgba(1,10,22,.58) 48%, rgba(1,10,22,0) 84%);
}
@media (max-width: 760px) {
  #ínicio .hero { min-height: 100dvh; height: 100dvh; }
  #ínicio .ier-hero-title.has-logo { width: min(82vw, 430px); }
  .ier-hero-actions a { min-height: 58px; padding: 0 24px; }
  #ínicio .hero.hero--carrossel-1::after { background: radial-gradient(ellipse 84% 62% at 50% 51%, rgba(1,10,22,.8) 0%, rgba(1,10,22,.58) 50%, rgba(1,10,22,0) 86%); }
}

.ier-video-section {
  padding: clamp(78px, 9vw, 132px) 22px;
  background: #061c37;
  color: white;
}
.ier-video-inner { width: min(100%, 1180px); margin: 0 auto; }
.ier-video-copy { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(280px, .72fr); gap: 24px 72px; align-items: end; margin-bottom: 40px; }
.ier-video-eyebrow { grid-column: 1 / -1; margin: 0 0 -8px; color: #ffd261; font-size: .82rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.ier-video-copy h2 { margin: 0; max-width: 720px; color: white; font-size: clamp(2.35rem, 5vw, 4.9rem); line-height: .98; letter-spacing: -.055em; }
.ier-video-copy > p:last-child { margin: 0 0 4px; color: #cbd8e6; font-size: clamp(1rem, 1.4vw, 1.16rem); line-height: 1.65; }
.ier-video-section #video-content { display: block; width: 100%; max-width: none; aspect-ratio: 16 / 9; overflow: hidden; border: 1px solid rgba(255,255,255,.16); border-radius: 20px; background: #020b15; box-shadow: 0 30px 70px rgba(0,0,0,.32); }
.ier-video-section #video-content iframe { display: block; width: 100%; height: 100%; border: 0; }
.ier-video-note { display: flex; align-items: center; gap: 9px; margin: 16px 2px 0; color: #9eb1c5; font-size: .84rem; }
.ier-video-note i { color: #ffd261; }
@media (max-width: 760px) {
  .ier-video-section { padding: 72px 18px; }
  .ier-video-copy { grid-template-columns: 1fr; gap: 16px; margin-bottom: 28px; }
  .ier-video-eyebrow { grid-column: auto; margin-bottom: 0; }
  .ier-video-copy h2 { font-size: clamp(2.25rem, 11vw, 3.7rem); }
  .ier-video-section #video-content { border-radius: 12px; }
}

/* Compact project switcher: a short set of project cards rather than a tall list. */
.ier-project-list {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 5px;
  width: 568px;
  padding: 7px;
  border-radius: 12px;
}
.ier-project-list a {
  min-height: 57px;
  align-items: flex-start;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
  padding: 8px 9px;
  border-radius: 8px;
  font-size: .72rem;
  line-height: 1.12;
}
.ier-project-list a span { text-wrap: balance; }
.ier-project-list .status { padding: 3px 7px; border-radius: 5px; font-size: .64rem; line-height: 1.1; letter-spacing: 0; }
@media (max-width: 760px) {
  .ier-project-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
    padding: 8px;
  }
  .ier-project-list a { min-height: 52px; font-size: .74rem; }
}

/* Full-width secondary navigation, deliberately shorter than the main header. */
.ier-project-list {
  position: fixed;
  top: 92px;
  left: 0;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100vw;
  min-height: 64px;
  padding: 7px clamp(18px, 6vw, 100px);
  border: 0;
  border-radius: 0;
  background: rgba(6,28,55,.97);
  box-shadow: 0 12px 24px rgba(6,28,55,.18);
  transform: translateY(-7px);
}
.ier-project-list a {
  flex: 0 1 148px;
  min-height: 48px;
  align-items: center;
  padding: 6px 10px;
  text-align: center;
}
.ier-project-list a span { text-align: center; }
.ier-project-menu:hover .ier-project-list,
.ier-project-menu:focus-within .ier-project-list,
.ier-project-menu.is-open .ier-project-list { transform: translateY(0); }
@media (max-width: 1180px) {
  .ier-project-list { top: 80px; gap: 5px; }
  .ier-project-list a { flex-basis: 128px; font-size: .68rem; }
}
@media (max-width: 760px) {
  .ier-project-list {
    top: 68px;
    left: 0;
    right: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 145px));
    justify-content: center;
    width: 100vw;
    min-height: 0;
    padding: 8px 12px;
  }
  .ier-project-list a { width: 145px; }
}

/* Use the available desktop width for generously sized primary navigation targets. */
@media (min-width: 1400px) {
  .index-header-items { gap: clamp(9px, .85vw, 16px); }
  .header-item,
  .ier-project-trigger {
    min-height: 58px;
    padding-inline: clamp(13px, 1vw, 20px);
    font-size: clamp(.98rem, .95vw, 1.08rem);
  }
  .ier-project-trigger i { font-size: .72em; }
}

/* The secondary project bar follows the same surface change as the main header. */
.ier-project-list {
  min-height: 56px;
  padding-top: 4px;
  padding-bottom: 4px;
}
header.index-header.ier-header-over-hero .ier-project-list {
  border-color: transparent;
  background: transparent;
  box-shadow: none;
  transition: opacity .2s ease, transform .2s ease, visibility .2s ease, background-color 1.05s cubic-bezier(.22, 1, .36, 1), box-shadow 1.05s cubic-bezier(.22, 1, .36, 1);
}
header.index-header.ier-header-over-hero.ier-header-scrolled .ier-project-list {
  border-color: rgba(8,54,99,.07);
  background: rgba(235,241,247,.98);
  box-shadow: 0 12px 24px rgba(6,28,55,.08);
}
header.index-header.ier-header-over-hero.ier-header-scrolled .ier-project-list a { color: var(--ier-navy); }
header.index-header.ier-header-over-hero.ier-header-scrolled .ier-project-list a:hover { background: rgba(8,54,99,.08); }

/* Initial home paint: avoid the white flash before the deferred enhancement runs. */
body.ier-home header.index-header:not(.ier-header-scrolled),
body.ier-home header.index-header:not(.ier-header-scrolled) nav {
  background: transparent;
  border-color: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
body.ier-home header.index-header:not(.ier-header-scrolled) .header-item,
body.ier-home header.index-header:not(.ier-header-scrolled) .ier-project-trigger {
  color: white;
  text-shadow: 0 2px 14px rgba(0,0,0,.38);
}
body.ier-home header.index-header:not(.ier-header-scrolled) .header-item:hover,
body.ier-home header.index-header:not(.ier-header-scrolled) .ier-project-trigger:hover,
body.ier-home header.index-header:not(.ier-header-scrolled) .ier-project-menu.is-open .ier-project-trigger {
  background: rgba(255,255,255,.16);
  color: white;
}
body.ier-home header.index-header:not(.ier-header-scrolled) #header-logo img {
  filter: drop-shadow(0 2px 8px rgba(0,0,0,.42));
}

/* Navigation selection: a blue line draws in instead of filling a rounded box. */
.header-item,
.ier-project-trigger {
  position: relative;
  background: transparent;
}
.header-item::after,
.ier-project-trigger::after {
  content: '';
  position: absolute;
  bottom: 6px;
  left: 50%;
  width: 0;
  height: 3px;
  border-radius: 999px;
  background: #2187c4;
  box-shadow: none;
  transform: translateX(-50%);
  transition: width .32s cubic-bezier(.22, 1, .36, 1);
}
.header-item:hover,
.ier-project-trigger:hover,
.ier-project-menu.is-open .ier-project-trigger,
body.ier-home header.index-header:not(.ier-header-scrolled) .header-item:hover,
body.ier-home header.index-header:not(.ier-header-scrolled) .ier-project-trigger:hover,
body.ier-home header.index-header:not(.ier-header-scrolled) .ier-project-menu.is-open .ier-project-trigger {
  background: transparent;
  transform: none;
}
.header-item:hover::after,
.header-item:focus-visible::after,
.header-item.is-current::after,
.ier-project-trigger:hover::after,
.ier-project-trigger:focus-visible::after,
.ier-project-trigger.is-current::after,
.ier-project-menu.is-open .ier-project-trigger::after { width: calc(100% - 22px); }

/* Keep navigation feedback to a single, deliberately paced blue cue. */
.header-item,
.ier-project-trigger { transition: color .82s cubic-bezier(.22, 1, .36, 1); }
.header-item::after,
.ier-project-trigger::after { transition-duration: .82s; }
header.index-header.ier-header-over-hero .header-item:hover,
header.index-header.ier-header-over-hero .ier-project-trigger:hover,
header.index-header.ier-header-over-hero .ier-project-menu.is-open .ier-project-trigger,
header.index-header.ier-header-scrolled .header-item:hover,
header.index-header.ier-header-scrolled .ier-project-trigger:hover,
header.index-header.ier-header-scrolled .ier-project-menu.is-open .ier-project-trigger,
body.ier-home header.index-header:not(.ier-header-scrolled) .header-item:hover,
body.ier-home header.index-header:not(.ier-header-scrolled) .ier-project-trigger:hover,
body.ier-home header.index-header:not(.ier-header-scrolled) .ier-project-menu.is-open .ier-project-trigger {
  background: transparent;
  color: #2187c4;
  transform: none;
}

/* Override the legacy selected-menu surface when the header is already white. */
header.index-header.ier-header-over-hero.ier-header-scrolled .ier-project-menu.is-open .ier-project-trigger {
  background: transparent;
  color: #2187c4;
  transform: none;
}

/* Compact the home header and use the available bar height for the wordmark. */
@media (min-width: 761px) {
  body.ier-home header.index-header,
  body.ier-home header.index-header nav,
  body.ier-home .index-header-items { height: 78px; }
  body.ier-home #header-logo img {
    width: clamp(260px, 19.3vw, 370px);
    min-width: 0;
    max-width: none;
    height: auto;
    max-height: calc(100% - 10px);
  }
  body.ier-home .ier-project-list { top: 78px; }
}

/* The pale secondary surface needs stronger type and status contrast. */
body.ier-home header.index-header.ier-header-scrolled .ier-project-list a {
  color: #062f59;
  font-weight: 700;
  opacity: 1;
  text-shadow: none;
}
body.ier-home header.index-header.ier-header-scrolled .ier-project-list .status-active {
  background: #cfeeda;
  color: #176d39;
  box-shadow: inset 0 0 0 1px rgba(23,109,57,.1);
}
body.ier-home header.index-header.ier-header-scrolled .ier-project-list .status-finished {
  background: #fff0bd;
  color: #8a5b00;
  box-shadow: inset 0 0 0 1px rgba(138,91,0,.12);
}
body.ier-home header.index-header.ier-header-scrolled .ier-project-list .status-future {
  background: #dbeafe;
  color: #245184;
  box-shadow: inset 0 0 0 1px rgba(36,81,132,.12);
}

/* The footer's social destinations are also available from the primary header. */
.ier-header-social {
  display: flex;
  align-items: center;
  gap: 6px;
  position: absolute;
  right: calc(clamp(18px, 2.4vw, 38px) + 271px);
  top: 50%;
  left: auto;
  margin: 0;
  transform: translateY(-50%);
  white-space: nowrap;
}
.ier-header-social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  border: 1px solid rgba(8,54,99,.22);
  border-radius: 50%;
  color: var(--ier-navy);
  font-size: .93rem;
  text-decoration: none;
  transition: color .24s ease, border-color .24s ease, background-color .24s ease, transform .24s ease;
}
.ier-header-social a:hover {
  border-color: #07386b;
  background: #07386b;
  color: white;
  transform: translateY(-2px);
}
.ier-header-social a:focus-visible {
  outline: 3px solid var(--ier-gold);
  outline-offset: 3px;
}
body.ier-home header.index-header:not(.ier-header-scrolled) .ier-header-social a,
header.index-header.ier-header-over-hero:not(.ier-header-scrolled) .ier-header-social a {
  border-color: rgba(255,255,255,.5);
  color: white;
  text-shadow: 0 2px 12px rgba(0,0,0,.4);
}
body.ier-home header.index-header:not(.ier-header-scrolled) .ier-header-social a:hover,
header.index-header.ier-header-over-hero:not(.ier-header-scrolled) .ier-header-social a:hover {
  border-color: #07386b;
  background: #07386b;
  text-shadow: none;
}

/* Keep the complete navigation clear between common laptop and desktop widths. */
@media (min-width: 1181px) and (max-width: 1599px) {
  body.ier-home #header-logo img { max-width: min(300px, 19vw); }
  .index-header-items { gap: 3px; }
  .header-item,
  .ier-project-trigger {
    min-height: 44px;
    padding-inline: 7px;
    font-size: .78rem;
  }
  .ier-header-social { gap: 4px; }
  .ier-header-social a { width: 34px; height: 34px; flex-basis: 34px; font-size: .88rem; }
}
@media (min-width: 761px) and (max-width: 1180px) {
  .ier-header-social {
    display: flex;
    right: calc(18px + 261px);
  }
}
@media (max-width: 760px) {
  .ier-header-social {
    position: static;
    transform: none;
    gap: 4px;
    margin: 0 8px 0 3px;
  }
  .ier-header-social a { width: 34px; height: 34px; flex-basis: 34px; font-size: .88rem; }
}
@media (prefers-reduced-motion: reduce) {
  .ier-header-social a { transition: none; }
}

/* Final navigation state: no hover card, only the blue text and underline cue. */
header.index-header .header-item:hover,
header.index-header .header-item:focus-visible,
header.index-header .ier-project-trigger:hover,
header.index-header .ier-project-trigger:focus-visible,
header.index-header .ier-project-menu.is-open .ier-project-trigger,
header.index-header.ier-header-over-hero .header-item:hover,
header.index-header.ier-header-over-hero .ier-project-trigger:hover,
header.index-header.ier-header-over-hero .ier-project-menu.is-open .ier-project-trigger {
  background-color: transparent;
  box-shadow: none;
  transform: none;
}

/* The legacy stylesheet uses a pale-blue hover card. The updated navigation
   keeps its white surface and uses the underline as the only state cue. */
header.index-header:not(.ier-header-over-hero) .header-item:hover,
header.index-header:not(.ier-header-over-hero) .header-item:focus-visible,
header.index-header:not(.ier-header-over-hero) .header-item.is-current,
header.index-header:not(.ier-header-over-hero) .ier-project-trigger:hover,
header.index-header:not(.ier-header-over-hero) .ier-project-trigger:focus-visible,
header.index-header:not(.ier-header-over-hero) .ier-project-trigger.is-current,
header.index-header:not(.ier-header-over-hero) .ier-project-menu.is-open .ier-project-trigger {
  background-color: white;
}

/* Hero home: keeps the approved photo and header behavior, while giving the
   centered mark a quieter, more deliberate stage.  The side vignettes echo
   the approved reference without hiding the children in the photograph. */
#ínicio .hero.hero--carrossel-1::after {
  display: block;
  pointer-events: none;
  background:
    linear-gradient(90deg,
      rgba(1, 10, 22, .62) 0%,
      rgba(1, 10, 22, .34) 19%,
      rgba(1, 10, 22, .08) 42%,
      rgba(1, 10, 22, .08) 58%,
      rgba(1, 10, 22, .34) 81%,
      rgba(1, 10, 22, .62) 100%),
    linear-gradient(180deg,
      rgba(1, 10, 22, .22) 0%,
      rgba(1, 10, 22, .03) 42%,
      rgba(1, 10, 22, .30) 100%);
}
#ínicio .ier-hero-title.has-logo {
  width: min(59vw, 484px);
}
#ínicio .hero-content {
  transform: translateY(-28px);
}
@media (max-width: 760px) {
  #ínicio .hero.hero--carrossel-1::after {
    background:
      linear-gradient(90deg,
        rgba(1, 10, 22, .60) 0%,
        rgba(1, 10, 22, .24) 24%,
        rgba(1, 10, 22, .06) 43%,
        rgba(1, 10, 22, .06) 57%,
        rgba(1, 10, 22, .24) 76%,
        rgba(1, 10, 22, .60) 100%),
      linear-gradient(180deg,
        rgba(1, 10, 22, .20) 0%,
        rgba(1, 10, 22, .04) 48%,
        rgba(1, 10, 22, .28) 100%);
  }
  #ínicio .ier-hero-title.has-logo { width: min(67vw, 353px); }
  #ínicio .hero-content { transform: translateY(-20px); }
}

/* Projects grid compatibility layer: the grid items are links, while the
   legacy layout targeted the nested .banner elements as if they were items. */
.ier-home #projetos-container .projetos-main {
  grid-template-rows: minmax(0, 1fr);
}
.ier-home #projetos-container .projetos-main > a {
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  border-radius: var(--ier-radius);
}
.ier-home #projetos-container .projetos-main > a:nth-child(n + 4) {
  display: none;
}
.ier-home #projetos-container .projetos-main > a > .banner {
  width: 100%;
  height: 100%;
}

@media (max-width: 820px) {
  .ier-home #projetos-container .projetos-main {
    grid-template-rows: none;
  }
  .ier-home #projetos-container .projetos-main > a,
  .ier-home #projetos-container .projetos-main > a:nth-child(n + 4) {
    display: block;
    height: 245px;
  }
}

/* Carrossel contínuo de projetos: cards verticais, em uma única linha. */
.ier-home #projetos-container {
  width: 100%;
  padding-bottom: clamp(68px, 7vw, 100px);
  overflow: hidden;
}

.ier-home #projetos-title h1 {
  max-width: 1240px;
  margin-inline: auto;
  padding-inline: 21px;
  font-size: clamp(3rem, 6vw, 5.5rem);
  line-height: .98;
  letter-spacing: -.04em;
  overflow-wrap: normal;
  text-wrap: balance;
}

.ier-home #projetos-container .projetos-main {
  display: flex;
  gap: 0;
  width: max-content;
  min-width: max-content;
  height: auto;
  overflow: visible;
  will-change: transform;
}

.ier-home #projetos-container .projetos-main.is-loop-ready {
  animation: carrossel-continuo 90s linear infinite;
  animation-play-state: running;
}

/* Mantém o card imóvel durante a intenção de clique, sem alterar o loop. */
.ier-home #projetos-container:hover .projetos-main.is-loop-ready,
.ier-home #projetos-container .projetos-main.is-loop-ready:focus-within {
  animation-play-state: paused;
}

/* As cópias do loop começam fora da viewport; não podem depender do reveal
   por interseção para aparecer quando o trilho as trouxer para a tela. */
.ier-home #projetos-container .project-card[aria-hidden="true"] .banner.ier-reveal {
  opacity: 1;
  transform: none;
}

.ier-home #projetos-container .projetos-main > .project-card,
.ier-home #projetos-container .projetos-main > .project-card:nth-child(n + 4) {
  display: block;
  flex: 0 0 clamp(230px, 22vw, 310px);
  width: clamp(230px, 22vw, 310px);
  margin-right: 18px;
  aspect-ratio: 3 / 4;
  overflow: hidden;
  border-radius: var(--ier-radius);
  color: white;
}

.ier-home #projetos-container .banner,
.ier-home #projetos-container .banner:first-child,
.ier-home #projetos-container .banner:nth-child(4),
.ier-home #projetos-container .banner:nth-child(5) {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  grid-row: auto;
  border-radius: inherit;
  background: var(--ier-navy);
}

.ier-home #projetos-container .banner::after {
  content: '';
  position: absolute;
  inset: 30% 0 0;
  background: linear-gradient(180deg, transparent, rgba(6, 28, 55, .88));
  pointer-events: none;
}

.ier-home #projetos-container .banner img {
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
  transition: transform .45s cubic-bezier(.22, 1, .36, 1);
}

.ier-home #projetos-container .project-card:hover img,
.ier-home #projetos-container .project-card:focus-visible img {
  transform: scale(1.045);
}

.project-card__content {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  display: grid;
  gap: 5px;
  padding: 24px;
  text-align: left;
}

.project-card__content strong {
  font-size: clamp(1.25rem, 2vw, 1.65rem);
  line-height: 1.08;
  letter-spacing: -.025em;
  text-wrap: balance;
}

.project-card__content small {
  color: rgba(255, 255, 255, .88);
  font-size: .86rem;
  line-height: 1.35;
}

@media (max-width: 620px) {
  .ier-home #projetos-title h1 {
    font-size: clamp(2.45rem, 11vw, 3.15rem);
  }

  .ier-home #projetos-container .project-card {
    flex-basis: min(76vw, 280px);
    width: min(76vw, 280px);
  }

}

@media (prefers-reduced-motion: reduce) {
  .ier-home #projetos-container {
    overflow-x: auto;
    scroll-snap-type: x proximity;
  }

  .ier-home #projetos-container .projetos-main.is-loop-ready {
    animation: none !important;
    will-change: auto;
  }

  .ier-home #projetos-container .project-card {
    scroll-snap-align: start;
  }

  .ier-home #projetos-container .project-card[aria-hidden="true"] {
    display: none;
  }
}

/* Primary navigation: keep hover/open feedback on the labels and underlines only.
   This selector intentionally matches the specificity of the scrolled-header
   compatibility rules above, preventing the legacy pale-blue button fill. */
header.index-header .header-item:hover,
header.index-header .header-item:focus-visible,
header.index-header .ier-project-trigger:hover,
header.index-header .ier-project-trigger:focus-visible,
header.index-header .ier-project-menu.is-open .ier-project-trigger,
header.index-header:not(.ier-header-over-hero) .header-item:hover,
header.index-header:not(.ier-header-over-hero) .header-item:focus-visible,
header.index-header:not(.ier-header-over-hero) .ier-project-trigger:hover,
header.index-header:not(.ier-header-over-hero) .ier-project-trigger:focus-visible,
header.index-header:not(.ier-header-over-hero) .ier-project-menu.is-open .ier-project-trigger,
header.index-header.ier-header-over-hero.ier-header-scrolled .header-item:hover,
header.index-header.ier-header-over-hero.ier-header-scrolled .header-item:focus-visible,
header.index-header.ier-header-over-hero.ier-header-scrolled .ier-project-trigger:hover,
header.index-header.ier-header-over-hero.ier-header-scrolled .ier-project-trigger:focus-visible,
header.index-header.ier-header-over-hero.ier-header-scrolled .ier-project-menu.is-open .ier-project-trigger {
  background: transparent;
  box-shadow: none;
  transform: none;
}

/* Global fallback for every active page. Page-specific stylesheets load after
   this file, so the transparent surface is locked while text/underline states
   remain available. */
header.index-header .index-header-items > a:hover,
header.index-header .index-header-items > a:focus-visible,
header.index-header .header-item:hover,
header.index-header .header-item:focus-visible,
header.index-header .ier-project-trigger:hover,
header.index-header .ier-project-trigger:focus-visible,
header.index-header .ier-project-menu.is-open .ier-project-trigger {
  background: transparent !important;
  background-image: none !important;
  box-shadow: none;
  transform: none;
}

/* The navigation reset above also matches the donation anchor. Restore the
   branded artwork so pointer and keyboard interaction never blank the CTA. */
header.index-header .index-header-items > a.ier-donate:hover,
header.index-header .index-header-items > a.ier-donate:focus-visible {
  background: transparent url('../midia/Bot%C3%B5es/Bot%C3%A3o%20do%20Fa%C3%A7a%20sua%20Doa%C3%A7%C3%A3o.png') -22px -12px / 278px 84px no-repeat !important;
  transform: translateY(-50%) scale(1.04);
  filter: brightness(1.08);
}

@media (max-width: 1180px) {
  header.index-header .index-header-items > a.ier-donate:hover,
  header.index-header .index-header-items > a.ier-donate:focus-visible {
    background-position: -21px -11px !important;
    background-size: 264px 80px !important;
  }
}

/* The active page label uses exactly the same blue as its underline. */
header.index-header .header-item.is-current,
header.index-header .ier-project-trigger.is-current {
  color: #2187c4 !important;
}

/* Scrollbar institucional sobreposta; a barra nativa continua sendo o fallback. */
html.ier-custom-scrollbar-enabled {
  scrollbar-width: none;
}

html.ier-custom-scrollbar-enabled::-webkit-scrollbar,
html.ier-custom-scrollbar-enabled body::-webkit-scrollbar {
  width: 0;
  height: 0;
}

.ier-custom-scrollbar {
  position: fixed;
  inset: 4px 0 4px auto;
  z-index: 60;
  width: 14px;
  opacity: 0;
  pointer-events: auto;
  transition: opacity 160ms ease;
}

.ier-custom-scrollbar[hidden] {
  display: none;
}

html.ier-scrollbar-active .ier-custom-scrollbar,
html.ier-scrollbar-dragging .ier-custom-scrollbar,
html.ier-scrollbar-interacting .ier-custom-scrollbar {
  opacity: 1;
}

html.ier-scrollbar-dragging,
html.ier-scrollbar-dragging body,
html.ier-scrollbar-interacting,
html.ier-scrollbar-interacting body {
  scroll-behavior: auto !important;
}

html.ier-scrollbar-dragging body {
  user-select: none;
}

.ier-custom-scrollbar__thumb {
  position: absolute;
  top: 0;
  right: 0;
  width: 14px;
  min-height: 44px;
  cursor: grab;
  touch-action: none;
  will-change: transform, height;
}

.ier-custom-scrollbar__thumb::before {
  content: '';
  position: absolute;
  inset: 0 4px 0 5px;
  border-radius: 999px;
  background: var(--ier-blue, #083663);
}

.ier-custom-scrollbar__thumb:active {
  cursor: grabbing;
}

@media (max-width: 640px), (pointer: coarse) {
  .ier-custom-scrollbar,
  .ier-custom-scrollbar__thumb {
    width: 10px;
  }

  .ier-custom-scrollbar__thumb::before {
    inset-inline: 3px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ier-custom-scrollbar {
    transition: none;
  }
}

/* Keep the primary navigation anchored at the same height on every desktop page.
   The earlier compact Home rule remains as the compatibility fallback. */
@media (min-width: 761px) {
  body.ier-home header.index-header,
  body.ier-home header.index-header nav,
  body.ier-home .index-header-items {
    height: 92px;
  }

  body.ier-home .ier-project-list {
    top: 92px;
  }
}

/* Responsive divider layer: keep the approved artwork, but shorten its visual
   footprint on compact laptops. The original intrinsic image remains the
   fallback outside these ranges. */
@media (min-width: 761px) and (max-width: 1599px),
       (min-width: 761px) and (max-height: 900px) {
  .hero-partners-divider {
    bottom: clamp(-258px, -17vw, -204px);
    min-width: 0;
    height: clamp(320px, 28vw, 420px);
    transform: translateY(-4px);
  }

  .hero-partners-divider img:not(.hero-partners-divider-fill) {
    width: 100%;
    height: 100%;
    object-fit: fill;
  }
}

@media (max-width: 760px) {
  .hero-partners-divider {
    bottom: clamp(-168px, -22vw, -112px);
    width: max(760px, 120vw);
  }
}

/* Site-wide mobile navigation enhancement. JavaScript adds the scoping class;
   without it, the previous horizontal header remains the automatic fallback. */
.ier-mobile-menu-toggle {
  display: none;
}

@media (max-width: 899px) {
  html.ier-mobile-nav-open,
  html.ier-mobile-nav-open body {
    overflow: hidden;
  }

  html,
  body {
    scrollbar-width: none;
  }

  *::-webkit-scrollbar {
    width: 0;
    height: 0;
  }

  .ier-motion .ier-reveal,
  .ier-motion .ier-reveal.is-visible {
    opacity: 1;
    transform: none;
    transition: none;
  }

  header.index-header.ier-mobile-nav-enhanced,
  header.index-header.ier-mobile-nav-enhanced nav {
    width: 100%;
    height: 68px;
    overflow: visible;
    background: rgba(255, 255, 255, .98) !important;
  }

  header.index-header.ier-mobile-nav-enhanced {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 50;
    border-bottom: 1px solid rgba(8, 54, 99, .1);
    box-shadow: 0 4px 8px rgba(6, 28, 55, .08);
  }

  header.index-header.ier-mobile-nav-enhanced nav {
    justify-content: space-between !important;
    gap: 12px;
    padding: 0 max(14px, env(safe-area-inset-right)) 0 max(14px, env(safe-area-inset-left)) !important;
  }

  header.index-header.ier-mobile-nav-enhanced #header-logo {
    position: static;
    z-index: 2;
    display: flex !important;
    flex: 0 1 auto;
    min-width: 0;
    height: 68px;
    transform: none;
  }

  header.index-header.ier-mobile-nav-enhanced #header-logo img,
  body.ier-home header.index-header.ier-mobile-nav-enhanced #header-logo img {
    width: clamp(130px, 39vw, 154px);
    min-width: 0;
    max-width: 100%;
    max-height: 58px;
    filter: none !important;
  }

  header.index-header.ier-mobile-nav-enhanced .ier-mobile-menu-toggle {
    position: relative;
    z-index: 2;
    display: inline-flex;
    flex: 0 0 48px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    width: 48px;
    height: 48px;
    margin-left: auto;
    border: 0;
    border-radius: 999px;
    background: var(--ier-blue, #083663);
    color: white;
    cursor: pointer;
  }

  .ier-mobile-menu-toggle span {
    display: block;
    width: 20px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
    transform-origin: center;
    transition: transform .24s cubic-bezier(.22, 1, .36, 1), opacity .18s ease;
  }

  .ier-mobile-menu-open .ier-mobile-menu-toggle span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
  }

  .ier-mobile-menu-open .ier-mobile-menu-toggle span:nth-child(2) {
    opacity: 0;
  }

  .ier-mobile-menu-open .ier-mobile-menu-toggle span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
  }

  header.index-header.ier-mobile-nav-enhanced .index-header-items {
    position: fixed;
    top: 68px;
    right: 0;
    left: 0;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0;
    width: 100%;
    min-width: 0;
    height: auto;
    max-height: calc(100svh - 68px);
    margin: 0;
    padding: 10px 16px max(18px, env(safe-area-inset-bottom));
    overflow-x: hidden;
    overflow-y: auto;
    scrollbar-width: none;
    overscroll-behavior: contain;
    border-top: 1px solid rgba(8, 54, 99, .08);
    background: white;
    box-shadow: 0 8px 20px rgba(6, 28, 55, .12);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-12px);
    transition: opacity .2s ease, transform .24s cubic-bezier(.22, 1, .36, 1), visibility .2s ease;
  }

  header.index-header.ier-mobile-nav-enhanced.ier-mobile-menu-open .index-header-items {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
  }

  header.index-header.ier-mobile-nav-enhanced .index-header-items > a:not(.ier-donate),
  header.index-header.ier-mobile-nav-enhanced .ier-project-menu {
    display: block !important;
    width: 100%;
  }

  header.index-header.ier-mobile-nav-enhanced .header-item,
  header.index-header.ier-mobile-nav-enhanced .ier-project-trigger {
    justify-content: flex-start;
    width: 100%;
    min-width: 0;
    min-height: 52px;
    height: auto;
    margin: 0;
    padding: 0 8px;
    border: 0;
    border-bottom: 1px solid rgba(8, 54, 99, .1);
    border-radius: 0;
    background: transparent;
    color: var(--ier-navy, #061c37) !important;
    font-size: 1rem;
    font-weight: 750;
    text-align: left;
    text-shadow: none !important;
    transform: none;
  }

  header.index-header.ier-mobile-nav-enhanced .ier-project-trigger {
    display: flex;
    justify-content: space-between;
  }

  header.index-header.ier-mobile-nav-enhanced .ier-project-list {
    position: static;
    display: grid;
    grid-template-columns: 1fr;
    gap: 6px;
    width: 100%;
    max-height: 0;
    min-height: 0;
    margin: 0;
    padding: 0 8px;
    overflow: hidden;
    border: 0;
    border-radius: 10px;
    background: var(--ier-soft, #eef4fa) !important;
    box-shadow: none !important;
    opacity: 0;
    visibility: hidden;
    transform: none !important;
    transition: max-height .3s cubic-bezier(.22, 1, .36, 1), opacity .18s ease, padding .3s ease;
  }

  header.index-header.ier-mobile-nav-enhanced .ier-project-menu.is-open .ier-project-list {
    max-height: 620px;
    padding-top: 8px;
    padding-bottom: 8px;
    opacity: 1;
    visibility: visible;
  }

  header.index-header.ier-mobile-nav-enhanced .ier-project-list a {
    display: flex;
    width: 100%;
    min-height: 52px;
    padding: 8px 10px;
    border-radius: 8px;
    background: white;
    color: var(--ier-navy, #061c37) !important;
    font-size: .88rem;
    font-weight: 700;
    text-align: left;
  }

  header.index-header.ier-mobile-nav-enhanced .ier-project-list a span {
    text-align: left;
  }

  header.index-header.ier-mobile-nav-enhanced .ier-project-list .status {
    font-size: .72rem;
  }

  header.index-header.ier-mobile-nav-enhanced .ier-header-social {
    position: static;
    display: flex !important;
    justify-content: flex-start;
    gap: 8px;
    margin: 12px 0 10px;
    padding: 0 6px;
    transform: none;
  }

  header.index-header.ier-mobile-nav-enhanced .ier-header-social a {
    display: inline-flex;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    border-color: rgba(8, 54, 99, .18) !important;
    color: var(--ier-blue, #083663) !important;
    text-shadow: none !important;
  }

  header.index-header.ier-mobile-nav-enhanced .index-header-items > a.ier-donate {
    position: static;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100% !important;
    min-width: 0;
    min-height: 52px;
    height: 52px;
    margin: 0;
    padding: 0 18px;
    border-radius: 999px;
    background: var(--ier-blue, #083663) !important;
    color: white !important;
    font-size: .94rem;
    font-weight: 800;
    transform: none !important;
  }

  header.index-header.ier-mobile-nav-enhanced .ier-donate-logo-frame {
    display: inline-flex;
    width: 34px;
    height: 34px;
  }

  header.index-header.ier-mobile-nav-enhanced .ier-donate-logo {
    display: block;
    width: 34px;
    height: 34px;
  }

  header.index-header.ier-mobile-nav-enhanced .ier-donate > span {
    font-size: inherit;
  }

  header.index-header.ier-mobile-nav-enhanced .ier-donate i {
    display: inline-block;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ier-mobile-menu-toggle span,
  header.index-header.ier-mobile-nav-enhanced .index-header-items,
  header.index-header.ier-mobile-nav-enhanced .ier-project-list {
    transition: none;
  }
}
