.timeline-mobile{display:none}
/* Experiência mobile — isolada do desktop aprovado. */
@media (max-width:700px){
  :root{--mobile-gutter:clamp(20px,5.6vw,24px)}
  html{scroll-padding-top:82px;overflow-x:clip}body{font-size:16px;overflow-x:clip}body.menu-open{overflow:hidden}
  main>section,footer{max-width:100%;overflow-x:clip}img,video,svg,canvas{max-width:100%}button,a{-webkit-tap-highlight-color:rgba(89,38,152,.16)}
  button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--y);outline-offset:3px}
  .nav{display:none!important;height:0!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important}
  .mobile-menu-toggle{position:relative;z-index:3;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-width:92px;min-height:48px;border:0;border-radius:24px;background:var(--p);color:#fff;font:800 12px Montserrat,Arial,sans-serif;text-transform:uppercase;letter-spacing:.05em}
  .mobile-menu-toggle i,.mobile-menu-toggle i::before,.mobile-menu-toggle i::after{display:block;width:18px;height:2px;border-radius:2px;background:currentColor;transition:.2s}.mobile-menu-toggle i{position:relative}.mobile-menu-toggle i::before,.mobile-menu-toggle i::after{content:"";position:absolute;left:0}.mobile-menu-toggle i::before{top:-6px}.mobile-menu-toggle i::after{top:6px}.nav.menu-active .mobile-menu-toggle i{background:transparent}.nav.menu-active .mobile-menu-toggle i::before{top:0;transform:rotate(45deg)}.nav.menu-active .mobile-menu-toggle i::after{top:0;transform:rotate(-45deg)}
  .nav nav{position:absolute;z-index:2;left:0;right:0;top:68px;display:grid;gap:6px;padding:12px;border:1px solid rgba(89,38,152,.13);border-radius:24px;background:rgba(255,255,255,.98);box-shadow:0 24px 60px rgba(35,18,48,.2);opacity:0;visibility:hidden;transform:translateY(-8px);transition:.22s}.nav.menu-active nav{opacity:1;visibility:visible;transform:none}.nav nav a,.nav nav .mobile-contact-link{display:flex;align-items:center;min-height:48px;padding:0 16px;border-radius:16px;color:var(--p);font-size:15px;font-weight:700}.nav nav a:active{background:#f2ebf8}.mobile-contact-link{display:flex!important;background:var(--p)!important;color:#fff!important}.menu-pill{display:none}
  .hero{min-height:auto;padding:calc(42px + env(safe-area-inset-top)) var(--mobile-gutter) clamp(76px,20vw,104px);display:flex;flex-direction:column;align-items:stretch;overflow:visible;background:radial-gradient(circle at 50% 72%,#f4ecfa 0,#fff 48%)}.hero-copy{width:100%;transform:none!important;opacity:1!important}.hero .eyebrow{margin-bottom:14px;font-size:12px;line-height:1.4;letter-spacing:.13em}.hero h1{max-width:100%;margin-bottom:20px;font-size:clamp(40px,11.8vw,48px);line-height:.98;letter-spacing:-.035em;color:#36343a}.hero h1 br{display:none}.hero p{max-width:35ch;margin-bottom:0;font-size:18px;line-height:1.5;color:#625f67}.hero .primary{display:none}.hero-machine{position:relative;left:50%;right:auto;width:100%;height:clamp(240px,70vw,300px);margin-top:clamp(64px,18vw,96px);touch-action:pan-y;transform:translateX(-50%)!important}.hero-logo{width:min(66%,255px);margin-inline:auto;transform:none!important}.brand-gear-purple{width:25%;right:3%;top:8%}.brand-gear-yellow{width:20%;left:3%;bottom:8%}.machine-caption{display:none}.scroll-note{display:none}
  .video-chapter{height:auto!important;min-height:0!important;padding:clamp(64px,12vw,82px) 16px!important}.video-chapter::before,.video-chapter::after,.video-sticky::before,.video-sticky::after,.video-aperture{display:none!important;content:none!important;background:none!important}.video-sticky{position:relative!important;top:auto!important;height:auto!important;display:flex!important;flex-direction:column;align-items:stretch;overflow:visible!important}.video-words{position:relative!important;inset:auto!important;width:auto!important;margin:0 4px 26px;opacity:1!important;transform:none!important}.video-words span{font-size:13px;line-height:1.4}.video-words h2{font-size:clamp(2.55rem,11vw,3.35rem);line-height:.96}.video-cinema{position:relative!important;inset:auto!important;width:100%!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:none!important;padding:8px 8px 14px!important;border-radius:20px!important}.video-cinema video{display:block!important;width:100%!important;height:auto!important;aspect-ratio:16/9;object-fit:contain;border-radius:14px;background:#050308}.video-caption{display:block!important;padding:14px 6px 0!important;font-size:13px!important;line-height:1.5}
  .project{padding:clamp(68px,13vw,94px) var(--mobile-gutter)}.project-intro h2,.territory-head h2,.impact h2,.gallery-title h2{font-size:clamp(2.45rem,10.5vw,3.3rem);line-height:1.02}.project-intro h2 br,.territory-head h2 br,.impact h2 br{display:none}.project-copy{margin-top:38px}.project-copy>p,.project-more,.project-more>p{display:block}.project-copy p{margin:0 0 18px;font-size:17px;line-height:1.65;color:var(--muted)}.project-more{display:block;max-height:0;overflow:hidden;opacity:0;transition:max-height .45s ease,opacity .25s}.project-more.expanded{max-height:1200px;opacity:1}.project-more.expanded>p+p{margin-top:18px}.project-more-toggle{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-width:160px;min-height:48px;margin-top:8px;padding:0 18px;border:1px solid var(--p);border-radius:24px;background:#fff;color:var(--p);font:800 14px Montserrat,Arial,sans-serif}.project-more-toggle span{font-size:21px;transition:transform .2s}.project-more-toggle[aria-expanded=true] span{transform:rotate(45deg)}
  .maker-universe{height:auto;min-height:0;margin:72px calc(50% - 50vw) 0;padding:58px 0 64px;overflow:hidden}.maker-stage{display:flex;gap:14px;align-items:flex-start;overflow-x:auto;padding:0 var(--mobile-gutter) 16px;scroll-padding-inline:var(--mobile-gutter);scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}.maker-core{position:relative!important;inset:auto!important;flex:0 0 calc(100vw - (2 * var(--mobile-gutter)));width:calc(100vw - (2 * var(--mobile-gutter)))!important;min-width:0!important;padding:20px 0 28px;align-self:center;text-align:center;display:flex;flex-direction:column;align-items:center;transform:none!important;scroll-snap-align:start;scroll-snap-stop:always}.maker-core h3{max-width:330px;margin-inline:auto;font-size:clamp(2.55rem,11vw,3.35rem);line-height:1}.maker-core p{width:min(100%,290px);margin:24px auto 0;font-size:0;text-align:center}.maker-core p::after{content:"Toque nos elementos para descobrir.";font-size:clamp(17px,4.7vw,20px);line-height:1.45;color:var(--muted)}.maker-object,.maker-object:nth-child(n){position:relative;inset:auto;flex:0 0 min(84vw,336px);width:min(84vw,336px);height:auto!important;min-height:0;transform:none!important;scroll-snap-align:center;scroll-snap-stop:always;opacity:1!important;filter:none!important;pointer-events:auto}.maker-float{height:auto;min-height:0!important;padding:20px 16px 18px!important;border:1px solid rgba(89,38,152,.1);border-radius:26px;background:rgba(255,255,255,.92);box-shadow:0 14px 34px rgba(50,29,65,.1);transform:none!important}.maker-float::before,.maker-float::after{display:none!important}.object-visual{height:145px!important;display:grid;place-items:center}.maker-asset,.maker-gear .maker-asset,.maker-arm .maker-asset,.maker-board .maker-asset,.maker-laptop .maker-asset{width:clamp(105px,31vw,130px)!important;height:auto!important;max-width:130px!important;max-height:130px!important;object-fit:contain;transform:none!important}.maker-word{width:fit-content;margin:18px auto 0!important;padding:12px 16px!important;border-radius:22px;font-size:clamp(21px,6vw,24px)!important;line-height:1.1!important}.maker-detail{position:relative!important;inset:auto!important;width:auto!important;min-height:0!important;display:block!important;visibility:visible!important;max-height:none!important;margin:13px 0 0!important;padding:14px 16px!important;border-radius:18px!important;opacity:1!important;transform:none!important;font-size:clamp(16px,4.25vw,17px)!important;line-height:1.45!important;color:#5f5767!important;text-align:center}
  .mission{min-height:auto;padding:74px var(--mobile-gutter)}.mission p{max-width:100%;font-size:17px;line-height:1.5}.mission h2{max-width:100%;margin:0;font-size:clamp(40px,11.5vw,48px);line-height:.98;letter-spacing:-.03em;overflow-wrap:normal;word-break:normal}
  .territory{padding:clamp(68px,13vw,94px) var(--mobile-gutter)}.territory-head{padding:0}.territory-head>p:not(.mobile-map-instruction){font-size:16px;line-height:1.55}.mobile-map-instruction{display:block;margin:18px 0 0;padding:13px 16px;border-radius:16px;background:#fff;color:var(--p);font-size:16px;font-weight:700}.map-experience{margin-top:34px}.map-stage{min-height:470px!important;border-radius:26px;overflow:hidden;touch-action:pan-y;background:#e8e5eb}.map-world,.map-stage:not(.focused) .map-world,.map-stage.focused .map-world{inset:7% -5% 21%;transform:scale(1.04)!important;transition:none}.map-glow{display:none}.map-3d-object{pointer-events:auto;touch-action:manipulation}.city-rail,.map-stage.focused .city-rail{left:24px!important;right:24px!important;bottom:18px;width:auto;max-width:none;height:60px;padding:6px 10px;display:flex;gap:8px;overflow-x:auto;overflow-y:hidden;transform:none;border-radius:30px;scroll-padding-inline:10px;scroll-snap-type:x proximity;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none}.city-rail::-webkit-scrollbar{display:none}.city-rail button,.city-rail button:first-child,.city-rail button.active,.city-rail:has(button.active) button:first-child:not(.active){display:flex!important;flex:0 0 auto;width:auto;height:48px;min-height:48px;padding:0 18px;overflow:visible;text-overflow:clip;white-space:nowrap;justify-content:center;text-align:center;font-size:15px;line-height:1.1;font-weight:700;scroll-snap-align:center}.city-rail button.active{background:var(--p);color:#fff}.city-step,.map-stage.focused .city-step{display:none!important}.map-progress{display:none}.city-panel{position:fixed!important;z-index:100;left:0!important;right:0!important;top:auto!important;bottom:0!important;width:100%!important;max-width:none!important;max-height:min(78svh,720px);padding:26px var(--mobile-gutter) calc(24px + env(safe-area-inset-bottom));border-radius:28px 28px 0 0;overflow-y:auto;overscroll-behavior:contain;box-shadow:0 -20px 70px rgba(30,17,40,.28);opacity:0;visibility:hidden;transform:translateY(105%)!important;transition:transform .3s,opacity .2s,visibility .3s}.map-stage.focused .city-panel{opacity:1;visibility:visible;transform:none!important}.panel-head button{min-width:48px;min-height:48px}.city-panel h3{font-size:clamp(1.8rem,8vw,2.4rem)}.panel-main strong{font-size:clamp(2.6rem,12vw,4rem)}.city-panel p,.city-school-list,.city-meta{font-size:16px;line-height:1.55}.photo-nav{min-width:48px;min-height:48px}
  .impact{padding:clamp(68px,13vw,94px) var(--mobile-gutter)}.impact h2{font-size:clamp(38px,10.5vw,46px);line-height:1.02;letter-spacing:-.035em}.metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:30px 0 0;border-top:1px solid var(--line)}.metrics>div{min-width:0;padding:24px 12px;border:0;border-bottom:1px solid var(--line);background:transparent}.metrics>div:nth-child(odd):not(:last-child){border-right:1px solid var(--line)}.metrics>div:last-child{grid-column:1/-1;display:flex;flex-direction:column;align-items:flex-start;padding:28px 12px 10px;border-bottom:0}.metrics strong{margin:0;font-size:clamp(42px,11.5vw,46px);line-height:1;color:var(--p)}.metrics span{margin-top:7px;font-size:clamp(15px,4.1vw,17px);font-weight:500;line-height:1.3}.metrics>div:last-child span{order:-1;margin:0 0 10px;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.metrics>div:last-child strong{font-size:clamp(48px,13vw,54px)}.metrics>div:last-child strong::after{content:"alunos";display:block;margin-top:7px;color:var(--muted);font-size:16px;font-weight:500;letter-spacing:0}.chart-wrap{margin:54px calc(-1 * var(--mobile-gutter)) 0;padding:28px 0 26px;border:1px solid rgba(89,38,152,.08);border-radius:28px;background:#f5f3f6;overflow:hidden}.chart-head{display:block;padding:0 var(--mobile-gutter)}.chart-head h3{font-size:clamp(21px,6vw,24px);line-height:1.2}.chart-head span{display:block;margin-top:8px;font-size:14px;line-height:1.45}.chart-head span::after{content:" · deslize para ver todos";color:var(--p);font-weight:700}#chart{position:relative;display:flex;align-items:end;gap:6px;margin-top:24px;padding:22px var(--mobile-gutter) 10px;overflow-x:auto;overflow-y:hidden;scroll-padding-inline:var(--mobile-gutter);scroll-snap-type:x proximity;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;background:repeating-linear-gradient(to bottom,transparent 0,transparent 49px,rgba(89,38,152,.07) 50px)}#chart::-webkit-scrollbar{display:none}.bar-row{flex:0 0 72px;display:grid;grid-template-columns:72px;grid-template-rows:26px 166px 48px;gap:6px;align-items:end;justify-items:center;min-height:0;margin:0!important;scroll-snap-align:start}.bar-row b{grid-row:1;align-self:start;font-size:12px;font-weight:800;text-align:center}.bar-row button{grid-row:2;align-self:end;width:44px!important;min-width:44px;min-height:44px;height:calc(28px + (var(--bar-value) * 1.28px));max-height:156px;border-radius:12px 12px 5px 5px;background:linear-gradient(180deg,#7b38cc,var(--p));box-shadow:0 8px 18px rgba(89,38,152,.14)}.bar-row button:hover,.bar-row button:focus-visible,.bar-row.active button{background:linear-gradient(180deg,#ffe45c,var(--y));outline:3px solid rgba(89,38,152,.16)}.bar-row>span{grid-row:3;align-self:start;width:72px;font-size:11px;font-weight:600;line-height:1.2;text-align:center;overflow-wrap:anywhere}
  .timeline-experience{display:none!important}.timeline-mobile{display:block;position:relative;margin:68px 0 0;padding:0;list-style:none}.timeline-mobile::before{content:"";position:absolute;left:82px;top:9px;bottom:9px;width:2px;background:rgba(94,39,160,.18)}.timeline-mobile li{position:relative;display:grid;grid-template-columns:66px 20px minmax(0,1fr);column-gap:8px;padding:0 0 42px}.timeline-mobile li:last-child{padding-bottom:0}.timeline-mobile li::before{content:"";z-index:1;grid-column:2;width:10px;height:10px;margin:8px auto 0;border:2px solid #fff;border-radius:50%;background:var(--p);box-shadow:0 0 0 2px rgba(89,38,152,.18)}.timeline-mobile time{grid-column:1;grid-row:1;display:block;color:#251c2d;font-size:clamp(22px,6.4vw,27px);font-weight:800;line-height:1.05;letter-spacing:-.04em}.timeline-mobile li>div{grid-column:3;grid-row:1}.timeline-mobile h4{margin:0 0 9px;color:var(--ink);font-size:clamp(20px,5.7vw,24px);font-weight:800;line-height:1.15;letter-spacing:-.025em}.timeline-mobile strong{display:block;margin:0 0 10px;color:var(--p);font-size:clamp(15px,4.15vw,17px);font-weight:700;line-height:1.35}.timeline-mobile p{margin:0;color:#675e6e;font-size:clamp(15px,4.15vw,17px);line-height:1.52}.timeline-mobile-goal::before{background:var(--y)!important;box-shadow:0 0 0 2px rgba(246,208,2,.3)!important}.timeline-mobile-goal time{color:var(--p);font-size:clamp(18px,5.4vw,23px);letter-spacing:.01em}
  #galeria.gallery{padding:clamp(68px,13vw,94px) 0}.gallery-title{width:auto;padding:0 var(--mobile-gutter)}.gallery-content{margin-top:36px!important}.gallery-filters{justify-content:flex-start!important;padding:4px var(--mobile-gutter) 22px!important;scroll-padding-inline:var(--mobile-gutter)}.gallery-filters button{min-height:46px;padding:0 17px!important;font-size:14px!important}#municipalityGallery.gallery-grid{min-height:430px;padding:38px 8vw 64px;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory}.municipality-photo,.municipality-photo:nth-child(n){flex:0 0 84vw;width:84vw;min-width:84vw;scroll-snap-align:center}.municipality-photo a{aspect-ratio:4/3}.municipality-photo figcaption{padding:16px;font-size:15px}.municipality-photo figcaption small{font-size:13px}.municipality-photo a span{width:44px;height:44px;opacity:1}.gallery-controls{margin-top:20px!important;padding-bottom:0!important}.gallery-controls button{width:52px!important;height:52px!important}.gallery-controls span{min-width:72px;font-size:16px}
  footer{padding:64px var(--mobile-gutter) calc(42px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:28px;text-align:left}.footer-brands{width:100%;flex-wrap:wrap;gap:16px}.footer-brands .footer-criar-logo{width:min(46vw,170px)}.footer-brands .footer-est-logo{width:min(58vw,220px);max-width:100%}.footer-brands span{height:56px}.footer-institutional,.footer-contact address,footer a{font-size:16px!important;line-height:1.6}.footer-contact{gap:16px}.footer-contact a,.footer-top{display:inline-flex;align-items:center;min-height:48px}.footer-top{align-self:flex-start}
}
@media(max-width:350px){:root{--mobile-gutter:18px}.hero{padding-inline:18px}.maker-object,.maker-object:nth-child(n){flex-basis:88%}.bar-row{grid-template-columns:84px minmax(0,1fr) 42px}.bar-row>span{font-size:13px}.timeline-mobile::before{left:72px}.timeline-mobile li{grid-template-columns:57px 18px minmax(0,1fr);column-gap:6px}.footer-brands span{display:none}}
@media (hover:none) and (pointer:coarse) and (max-width:700px){.hero,.map-stage,.timeline-experience{touch-action:pan-y}.municipality-photo:hover img{transform:none}.maker-object{cursor:grab}}
@media (prefers-reduced-motion:reduce){.project-more,.city-panel,.nav nav{transition:none!important}@media(max-width:700px){.hero-machine .brand-gear,.hero-machine .machine-halo,.hero-machine .energy-dot{animation:none!important}.reveal{opacity:1!important;transform:none!important}}}
