/* Shapes and choreography follow the original IMELC artwork. */
.hero{min-height:755px;align-items:center;padding-top:40px;padding-bottom:45px}.hero-copy{padding-top:0}h1{font-size:clamp(42px,4.05vw,65px);line-height:1.07;letter-spacing:-.055em}.hero-copy>p{max-width:530px}.hero-art{height:570px}.hero-photo{height:510px;object-position:50% center;border-radius:46% 42% 12% 35%}.orbit{height:99%;animation:orbit-breathe 8s ease-in-out infinite}.hero-spark{font-size:110px;color:var(--orange);position:absolute;top:-50px;right:-10px;z-index:3;animation:spin 32s linear infinite}.hero-lines{position:absolute;bottom:100px;left:-45px;width:85px;height:105px;background:repeating-linear-gradient(130deg,transparent 0 9px,#9bb0c0 9px 12px);z-index:1;transform:translateY(calc(var(--page-scroll,0px)*-.06))}.hero-art:before{background:var(--lime);opacity:.22;width:280px;height:280px;top:25px;right:-70px}.dotgrid{animation:float 6s ease-in-out infinite}.lime-circle{animation:float-badge 7s ease-in-out infinite}.ticker{padding:0;display:block;overflow:hidden}.ticker-track{width:max-content;display:flex;animation:marquee 32s linear infinite;will-change:transform}.ticker-group{display:flex;flex-shrink:0;align-items:center;gap:40px;padding:22px 20px;min-width:100vw;justify-content:space-around}.ticker-group b{font-size:34px;animation:spin 24s linear infinite}.ticker:hover .ticker-track{animation-play-state:paused}.about{grid-template-columns:.85fr 1.15fr;gap:7%;align-items:start}.about h2{font-size:clamp(40px,4.3vw,66px)}.about-text .lead{font-size:20px;line-height:1.5}.about-visual{min-width:0}.about-photo-wrap{position:relative;margin-top:35px;padding:15px 0 30px 18px}.about-photo-wrap:before{content:'';position:absolute;inset:0 12px 15px 0;border:2px solid var(--lime);border-radius:180px 180px 30px 100px;transform:rotate(-8deg)}.about-photo-wrap>img{position:relative;width:100%;height:500px;object-fit:cover;border-radius:160px 160px 30px 100px}.about-spark{position:absolute;top:-35px;right:-25px;font-size:95px;color:var(--orange);animation:spin 30s linear infinite}.photo-tag{position:absolute;bottom:6px;left:0;background:var(--lime);padding:20px 25px;border-radius:0 30px 0 30px;font-size:15px;line-height:1.6}.about .ods{margin:28px 0;gap:9px}.about .ods img{width:calc((100% - 54px)/7);max-width:78px;transition:transform .3s}.about .ods img:hover{transform:translateY(-8px) rotate(-3deg)}.about-note{margin-top:25px}.visual-bridge{display:flex;gap:30px;align-items:center;justify-content:center;background:var(--lime);padding:26px 5vw;font-size:13px;font-weight:800;letter-spacing:.08em;overflow:hidden}.visual-bridge span{white-space:nowrap}.visual-bridge b{font-size:28px;color:var(--blue);animation:spin 20s linear infinite}.art-section{position:relative;isolation:isolate}.art-section:before,.art-section:after{pointer-events:none;z-index:-1}.method{overflow:hidden;border-top-right-radius:100px}.method:before{content:'';position:absolute;width:300px;height:300px;background:#e1e5d6;border-radius:55% 45% 65% 35%;right:-130px;top:60px;transform:translateY(calc(var(--section-shift,0px)*.25))}.projects:before{content:'';position:absolute;top:70px;right:20px;width:85px;height:85px;background:radial-gradient(#94c929 3px,transparent 4px) 0 0/18px 18px;opacity:.7}.projects .section-head{padding-right:65px}.audiences:before{transform:rotate(calc(var(--section-shift,0px)*.25deg));animation:spin 70s linear infinite}.people:after{content:'';position:absolute;left:-60px;bottom:-5px;width:180px;height:180px;background:radial-gradient(var(--lime) 3px,transparent 4px) 0 0/20px 20px;opacity:.5}.partners:before{content:'';position:absolute;top:30px;left:-30px;width:200px;height:200px;border:2px solid #99d500;border-radius:50%;transform:translateY(calc(var(--section-shift,0px)*.3))}.partners:after{content:'';position:absolute;bottom:15px;right:20px;width:80px;height:60px;background:repeating-linear-gradient(130deg,transparent 0 8px,#9cb0ba55 8px 11px)}.transparency{border-radius:80px 0 80px 0}.transparency:before{content:'✳';position:absolute;bottom:20px;right:30px;font-size:140px;color:#cbd7b8;animation:spin 45s linear infinite}.social:before{content:'';position:absolute;right:0;top:0;width:240px;height:160px;background:#dde1d6;border-radius:0 0 0 100%}.contact{background:#ff6500}.contact:before{content:'';position:absolute;top:45px;right:8%;width:100px;height:80px;background:radial-gradient(var(--blue) 3px,transparent 4px) 0 0/18px 18px;transform:translateY(calc(var(--section-shift,0px)*.2))}.feature-icon{transition:transform .6s}.feature:hover .feature-icon{transform:rotate(20deg) scale(1.12)}.partner img{transition:transform .4s}.partner:hover img{transform:scale(1.1)}.leadership-full{display:grid;grid-template-columns:.8fr 1.2fr;gap:8%;background:#eaece2;align-items:start;position:relative;overflow:hidden}.karina-visual{position:sticky;top:130px;padding-top:15px}.portrait-frame{position:relative}.portrait-frame:before{content:'';position:absolute;inset:-14px 15px 14px -15px;border:2px solid var(--orange);border-radius:180px 180px 30px 30px;transform:rotate(-4deg)}.portrait-frame>img{position:relative;width:100%;height:625px;object-fit:cover;object-position:50% 30%;border-radius:180px 180px 30px 30px}.portrait-spark{position:absolute;bottom:-10px;right:-35px;color:var(--lime);font-size:110px;animation:spin 30s linear infinite}.karina-name{margin:26px 0 0;display:flex;flex-direction:column;gap:8px}.karina-name strong{font-size:25px;letter-spacing:-.04em}.karina-name>span{font-size:13px;color:var(--muted)}.karina-copy h2{font-size:clamp(34px,3.3vw,51px);line-height:1.12}.karina-copy p{font-size:15px;color:#4d565a;line-height:1.85}.karina-copy blockquote{margin:30px 0;padding:8px 0 8px 24px;border-left:4px solid var(--orange);font-size:23px;line-height:1.45;font-weight:700;letter-spacing:-.03em;color:var(--blue)}.karina-copy .button{margin-top:10px}.reveal-ready{opacity:0;transform:translate3d(0,42px,0);transition:opacity .8s ease,transform .9s cubic-bezier(.2,.75,.2,1);transition-delay:var(--reveal-delay,0ms)}.reveal-ready.is-visible{opacity:1;transform:translate3d(0,0,0)}.hero-copy{animation:hero-enter .9s ease both}.hero-art{animation:hero-enter 1.1s .15s ease both}.scroll-progress{position:fixed;top:0;left:0;height:3px;width:100%;transform-origin:left;transform:scaleX(var(--scroll-progress,0));background:var(--orange);z-index:50;pointer-events:none}
@keyframes marquee{to{transform:translateX(-50%)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes float{50%{transform:translateY(13px)}}@keyframes float-badge{0%,100%{transform:translateY(0) rotate(10deg)}50%{transform:translateY(-12px) rotate(4deg)}}@keyframes orbit-breathe{0%,100%{transform:rotate(-12deg) scale(1)}50%{transform:rotate(-5deg) scale(1.03)}}@keyframes hero-enter{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1100px){h1{font-size:49px}.hero-art{height:510px}.hero-photo{height:450px}.hero-spark{font-size:90px;right:0}.portrait-frame>img{height:560px}.about-photo-wrap>img{height:440px}.about .ods{gap:6px}.about .ods img{width:calc((100% - 36px)/7)}.about .actions{gap:10px}}
@media(max-width:800px){.hero{min-height:0}.hero-art{height:450px;max-width:600px}.hero-photo{height:390px}.hero h1{font-size:clamp(42px,7vw,62px)}.hero-spark{right:-5px;top:-25px;font-size:80px}.hero-lines{left:-20px;width:65px}.about{grid-template-columns:1fr;gap:45px}.about-visual{max-width:540px;width:100%;margin:auto}.about-photo-wrap>img{height:440px}.about .ods img{width:65px}.about .actions{gap:20px}.about h2{font-size:48px}.about-text .lead{font-size:20px}.visual-bridge{justify-content:flex-start;font-size:11px}.leadership-full{grid-template-columns:1fr;gap:45px}.karina-visual{position:static;max-width:440px;width:90%;margin:0 auto}.portrait-frame>img{height:570px}.karina-copy h2{font-size:42px}.ticker-group{gap:28px;padding:21px 16px}.ticker-track{animation-duration:30s}.ticker-group b{font-size:28px}.method{border-top-right-radius:60px}.projects .section-head{padding-right:0}.projects:before{top:20px;right:12px;width:60px;height:40px}.partners:before{opacity:.4;left:-140px}.transparency{border-radius:50px 0 50px 0}}
@media(max-width:480px){.hero h1{font-size:38px;line-height:1.1;letter-spacing:-.05em}.hero-art{height:350px;width:96%}.hero-photo{height:300px}.hero-spark{font-size:65px;top:-20px;right:-5px}.hero-lines{bottom:60px}.about-photo-wrap>img{height:380px}.about-spark{right:-7px;font-size:80px}.about .ods{gap:8px}.about .ods img{width:calc((100vw - 12vw - 32px)/5)}.about h2{font-size:42px}.about .lead{font-size:18px}.portrait-frame>img{height:470px}.portrait-spark{right:-20px;font-size:85px}.karina-copy h2{font-size:35px}.karina-copy p{font-size:14px}.karina-copy blockquote{font-size:21px}.reveal-ready{transform:translateY(26px)}.ticker-group{font-size:14px}.contact:before{width:65px;height:50px;right:20px;top:15px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important}.reveal-ready{opacity:1;transform:none;transition:none}.ticker-track{transform:none}.hero-lines{transform:none}.scroll-progress{display:none}}
/* Decorative contours never create horizontal page scrolling. */
html,body{overflow-x:clip;max-width:100%}

/* Image visibility is independent of scroll observers and lazy loading. */
.reveal-ready{opacity:1;transform:none;transition:none}
.reveal-ready.is-visible{animation:content-arrive .75s cubic-bezier(.2,.75,.2,1) both;animation-delay:var(--reveal-delay,0ms)}
@keyframes content-arrive{from{opacity:.65;translate:0 24px}to{opacity:1;translate:0 0}}
@media(prefers-reduced-motion:reduce){.reveal-ready.is-visible{animation:none}}

/* Scroll reveals are attached only when an element enters the viewport. */
@keyframes content-arrive{from{opacity:0;translate:0 38px}to{opacity:1;translate:0 0}}
.reveal-ready.is-visible{animation-duration:.9s;animation-timing-function:cubic-bezier(.2,.7,.2,1)}
@media(prefers-reduced-motion:reduce){.reveal-ready.is-visible{animation:none;opacity:1;translate:none}}

/* Client review: case artwork and a crisp, complete Barueri signature. */
.nescau-art{position:relative;overflow:hidden;aspect-ratio:470/574;width:100%;border-radius:24px;background:#0b2f82;isolation:isolate}
.nescau-art>img{position:absolute;left:0;top:0;width:100%!important;max-width:none!important;height:auto!important;max-height:none!important;display:block;transform:none;border-radius:0!important}
.case-feature>.nescau-art{max-width:350px;justify-self:center}
.nescau-case-visual{max-width:420px;margin:44px auto}
.program-logo-frame{position:relative;overflow:hidden;width:175px;aspect-ratio:1109/1736;margin:0 0 22px}
.program-logo-frame>.program-logo{position:absolute;left:0;top:0;width:184.671%!important;max-width:none;height:auto!important;max-height:none;margin:0;mix-blend-mode:normal;transform:translate(-18.7012%,-4.5898%)}
.review-project-image img{width:100%;max-height:500px;object-fit:contain;background:#fff;border-radius:28px}
@media(max-width:650px){.case-feature>.nescau-art{max-width:300px}.program-logo-frame{width:140px}.program-hero-grid{gap:28px}}

/* Include the new group portrait alongside the existing team photographs. */
@media(min-width:769px){.team-gallery{grid-template-columns:repeat(6,minmax(0,1fr))}}
.team-photo-new{background:#e8ebdf}.team-photo-new img{object-fit:contain;object-position:center}

/* Six team photographs always occupy a single row. */
#equipe .team-gallery{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:auto;gap:12px;align-items:stretch;overflow:visible}
#equipe .team-photo{min-width:0;width:100%}
@media(max-width:768px){#equipe .team-gallery{grid-template-columns:repeat(6,220px);overflow-x:auto;scroll-snap-type:x mandatory}#equipe .team-photo{scroll-snap-align:start}}

/* Programs now groups both institutional programs. */
.programs-menu{position:relative}.programs-menu summary{font-size:12px;font-weight:600;cursor:pointer;list-style:none;display:flex;align-items:center;gap:6px}.programs-menu summary::-webkit-details-marker{display:none}.programs-menu summary:hover,.programs-menu[open] summary{color:var(--blue)}.programs-menu summary:focus-visible{outline:2px solid var(--blue);outline-offset:6px;border-radius:3px}.programs-submenu{position:absolute;z-index:50;top:calc(100% + 18px);left:-18px;width:245px;padding:10px;background:#fff;border:1px solid #e0e5d8;border-radius:18px;box-shadow:0 14px 35px #15202c20;display:grid;gap:4px}.programs-submenu a{display:block;padding:13px 12px;border-radius:10px;line-height:1.5}.programs-submenu a:hover{background:#eef2e7;text-decoration:none}
@media(max-width:1100px){.programs-menu summary{font-size:11px}}
@media(max-width:800px){.programs-menu{width:100%}.programs-menu summary{font-size:15px;padding:14px 0;border-bottom:1px solid #ddd}.programs-submenu{position:static;width:100%;box-shadow:none;margin:6px 0 12px;padding:4px 12px;background:#eef2e7;border:0}.programs-submenu a{font-size:14px;padding:12px!important}}
/* Reset the site's accordion defaults inside the header navigation. */
nav{align-items:center}.programs-menu{padding:0;border:0;align-self:center}.programs-menu summary,.programs-menu[open] summary{margin:0;line-height:1.5;justify-content:flex-start}.programs-menu summary span{font-size:14px;color:inherit}.programs-menu .programs-submenu a{text-decoration:none;color:var(--ink)}
@media(max-width:800px){.programs-menu{align-self:stretch}}

/* Updated partner identities supplied by IMELC. */
#parceiros .partner-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
#parceiros .partner{min-height:150px;padding:24px;overflow:hidden}
#parceiros .partner img{max-width:170px;max-height:85px;width:auto;height:auto;object-fit:contain}
#parceiros .partner--portrait img{max-height:100px}
#parceiros .partner--globo img{filter:grayscale(1) brightness(.7) contrast(12);mix-blend-mode:multiply}
#parceiros .partner--dark{background:#080808;border-color:#080808}
#parceiros .partner--dark img{max-height:98px}
.partner-alpha-frame{display:block;position:relative;overflow:hidden;width:170px;max-width:100%}
#parceiros .partner-alpha-frame img{position:absolute;left:0;top:0;width:var(--img-width)!important;max-width:none!important;height:auto!important;max-height:none!important;transform:translate(var(--img-x),var(--img-y))}
.shopping-logo{position:relative;display:block;width:170px;max-width:100%;aspect-ratio:250/130;overflow:hidden}
#parceiros .shopping-logo img{position:absolute;inset:0;max-width:none;max-height:none;width:100%;height:100%;object-fit:contain}
.shopping-wordmark{filter:grayscale(1) brightness(.51) contrast(100) invert(1);mix-blend-mode:multiply}
.shopping-symbol{clip-path:inset(0 74% 0 0)}
@media(max-width:800px){#parceiros .partner-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}#parceiros .partner{min-height:130px;padding:18px}#parceiros .partner img{max-width:140px;max-height:75px}#parceiros .partner--portrait img{max-height:90px}}
@media(max-width:380px){#parceiros .partner{padding:12px}#parceiros .partner img{max-width:120px}}
