/*
  Folha de estilos compartilhada do site M2CY Consultoria.
  Para personalizar a identidade visual, altere primeiro as variáveis em :root.
  A paleta combina azul-marinho institucional, azul-ciano do logo,
  turquesa de apoio e dourado para pontos de destaque.
*/
:root{--navy:#071a2b;--navy-2:#0b4770;--teal:#087f9f;--teal-2:#20b8ee;--gold:#f0b84b;--mist:#f5f9fc;--white:#fff;--ink:#102334;--muted:#5b6e7e;--line:#d8e5ed;--shadow:0 18px 50px rgba(11,31,51,.13);--radius:20px;--max:1160px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--mist);font-family:Arial,Helvetica,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%;display:block}.container{width:min(calc(100% - 36px),var(--max));margin:auto}
.site-header{position:sticky;top:0;z-index:10;background:rgba(244,248,247,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.nav{height:74px;display:flex;align-items:center;justify-content:space-between;gap:22px}.logo{display:flex;align-items:center;gap:10px;font-weight:900;letter-spacing:-.04em}.logo-image{width:120px;height:120px;object-fit:contain;border-radius:10px;background:transparent}.nav-links{display:flex;align-items:center;gap:8px;font-size:.92rem;font-weight:800}.tab-link{border:0;background:transparent;padding:11px 13px;border-radius:10px;cursor:pointer;color:var(--ink)}.tab-link:hover,.tab-link.active,.tab-link:focus-visible{color:var(--teal);background:#e3f1ed}.menu-toggle{display:none;border:0;background:transparent;color:var(--ink);font-size:1.65rem;cursor:pointer}.nav-links .btn{display:inline-flex}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:47px;padding:0 20px;border-radius:999px;border:1px solid transparent;font-weight:800;cursor:pointer;transition:.2s ease}.btn-primary{background:var(--teal);color:#fff;box-shadow:0 10px 22px rgba(15,118,110,.2)}.btn-primary:hover,.btn-primary:focus-visible{background:#0b5d58;transform:translateY(-2px)}.btn-light{background:#fff;color:var(--navy);border-color:var(--line)}.btn-light:hover,.btn-light:focus-visible{border-color:var(--teal);color:var(--teal)}:focus-visible{outline:3px solid rgba(231,182,91,.9);outline-offset:3px}.tab-panel{display:none}.tab-panel.active{display:block}
.video-intro{padding:28px 0 0;background:linear-gradient(180deg,#e3f0ec 0%,var(--mist) 100%)}.video-panel{display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:30px;background:var(--navy);color:#fff;border-radius:26px;padding:18px;box-shadow:var(--shadow)}.video-frame{width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:16px;background:#061521}.video-frame iframe,.video-frame video{display:block;width:100%;height:100%;border:0}.video-frame video{object-fit:contain;background:#000}.video-copy{padding:16px 18px}.eyebrow{color:var(--teal);font-size:.75rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.video-copy .eyebrow{color:var(--gold)}h1,h2,h3{line-height:1.08;letter-spacing:-.045em}.video-copy h2{font-size:clamp(1.8rem,3.5vw,3rem);margin:12px 0}.video-copy p{color:#c8d8d8}.video-insights{display:grid;gap:9px;margin-top:20px}.video-insight{display:flex;gap:10px;font-size:.9rem}.video-insight strong{color:var(--gold)}.video-source{font-size:.78rem;margin-top:18px}.video-source a{text-decoration:underline}
.hero{padding:82px 0 92px;background:linear-gradient(135deg,#f4f8f7 0%,#e4f0ec 100%)}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:64px}.hero h1{font-size:clamp(2.8rem,6vw,5.3rem);margin:14px 0 22px;max-width:690px}.hero h1 span{color:var(--teal)}.hero-copy{max-width:600px;font-size:1.15rem;color:var(--muted)}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.quick-access{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:42px}.quick-card{background:#fff;border:1px solid var(--line);padding:17px;border-radius:15px;box-shadow:0 8px 22px rgba(11,31,51,.05)}.quick-card b{display:block;color:var(--teal);margin-bottom:3px}.quick-card span{font-size:.86rem;color:var(--muted)}.hero-visual{min-height:410px;border-radius:30px;background:linear-gradient(145deg,var(--navy-2),var(--teal));position:relative;overflow:hidden;box-shadow:var(--shadow)}.hero-visual:before{content:"";position:absolute;width:260px;height:260px;border:1px solid rgba(255,255,255,.25);border-radius:50%;right:-80px;top:-60px}.visual-label{position:absolute;left:29px;top:29px;color:#c8e5dc;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;font-weight:800}.visual-card{position:absolute;left:29px;right:29px;bottom:29px;background:#fff;border-radius:18px;padding:23px;color:var(--ink)}.visual-card strong{display:block;font-size:1.25rem;margin-bottom:8px}.visual-line{height:8px;border-radius:8px;background:#d8e9e4;margin:9px 0;width:78%}.visual-line.short{width:48%}
.section{padding:82px 0}.section-head{max-width:700px;margin-bottom:38px}.section-head h2{font-size:clamp(2rem,4vw,3.1rem);margin:11px 0}.section-head p,.card p,.contact-card p{color:var(--muted)}.value-grid,.cards-grid,.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.value-card,.service-card,.step,.contact-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:25px}.value-card{box-shadow:0 8px 25px rgba(11,31,51,.04)}.icon{width:40px;height:40px;border-radius:12px;background:#e3f1ed;color:var(--teal);display:grid;place-items:center;font-weight:900;margin-bottom:23px}.card h3{font-size:1.2rem;margin:0 0 8px}.soft{background:#eaf3f0}.service-card{padding:0;overflow:hidden}.service-image{height:155px;background:linear-gradient(135deg,#9bcfc1,#e7c26d);position:relative}.service-image:nth-child(2){background:linear-gradient(135deg,#9bb8cb,#dcebe6)}.service-image:nth-child(3){background:linear-gradient(135deg,#e4bb63,#aed9cf)}.service-image:after{content:"[ IMAGEM DO SERVIÇO ]";position:absolute;inset:0;display:grid;place-items:center;color:rgba(11,31,51,.48);font-weight:900;font-size:.8rem;letter-spacing:.1em}.service-body{padding:22px}.service-body .link{display:inline-block;margin-top:16px;color:var(--teal);font-weight:800}.dark{background:var(--navy);color:#fff}.dark .section-head p,.dark .step p{color:#c7d8d8}.step{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.15)}.step:before{content:attr(data-step);display:block;color:var(--gold);font-size:.8rem;font-weight:900;letter-spacing:.12em;margin-bottom:25px}.quote-wrap{display:grid;grid-template-columns:1fr 1fr;gap:18px}.quote{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:25px;font-size:1.1rem}.quote cite{display:block;color:var(--muted);font-size:.85rem;margin-top:16px;font-style:normal}.faq-list{max-width:820px}.faq-item{border-top:1px solid var(--line)}.faq-item:last-child{border-bottom:1px solid var(--line)}.faq-question{width:100%;border:0;background:transparent;padding:20px 0;display:flex;justify-content:space-between;text-align:left;font-weight:800;cursor:pointer}.faq-question span:last-child{color:var(--teal);font-size:1.3rem}.faq-answer{display:none;color:var(--muted);padding:0 30px 20px 0}.faq-item.open .faq-answer{display:block}.cta{padding:0 0 82px}.cta-box{background:var(--gold);border-radius:25px;padding:39px 44px;display:flex;align-items:center;justify-content:space-between;gap:24px}.cta-box h2{margin:0;font-size:clamp(1.8rem,4vw,3rem)}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:18px}.contact-details{display:grid;gap:15px;margin-top:25px}.contact-detail{display:flex;gap:11px}.contact-detail b{display:block}.contact-detail small{color:var(--muted)}form{display:grid;gap:14px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}label{font-size:.84rem;font-weight:800;display:grid;gap:6px}input,textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:12px 13px;background:#fbfdfc;font:inherit;color:var(--ink)}textarea{min-height:115px;resize:vertical}.consent{display:flex;gap:8px;color:var(--muted);font-weight:400;font-size:.78rem}.consent input{width:auto;margin-top:4px}
.site-footer{background:#071925;color:#c9d8d6;padding:50px 0 22px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px}.site-footer .logo{color:#fff}.site-footer h3{font-size:.8rem;color:#fff;text-transform:uppercase;letter-spacing:.1em}.site-footer a{display:block;margin:7px 0;color:#a9c0bc;font-size:.88rem}.site-footer a:hover{color:#fff}.footer-bottom{border-top:1px solid rgba(255,255,255,.14);margin-top:38px;padding-top:18px;color:#89a39e;font-size:.78rem;display:flex;justify-content:space-between;gap:15px}
@media(min-width:1200px){:root{--max:1360px}.container{width:min(calc(100% - 96px),var(--max))}.nav{height:82px;gap:34px}.logo{font-size:1.05rem}.nav-links{gap:12px;font-size:.98rem}.tab-link{padding:12px 16px}.video-intro{padding:42px 0 0}.video-panel{grid-template-columns:1.25fr .75fr;gap:48px;padding:24px;border-radius:30px}.video-copy{padding:24px 28px}.hero{padding:118px 0 126px}.hero-grid{grid-template-columns:1fr .88fr;gap:100px}.hero h1{font-size:clamp(4rem,5vw,6.4rem);max-width:780px}.hero-copy{font-size:1.24rem;max-width:670px}.hero-visual{min-height:520px;border-radius:36px}.visual-card{left:40px;right:40px;bottom:40px;padding:30px;border-radius:22px}.quick-access{gap:18px;margin-top:48px}.quick-card{padding:20px;min-height:92px;text-align:left}.section{padding:112px 0}.section-head{margin-bottom:48px}.value-grid,.cards-grid,.steps-grid{gap:24px}.value-card,.service-body,.step,.contact-card{padding:30px}.service-image{height:190px}.cta{padding-bottom:112px}.cta-box{padding:48px 58px}.footer-grid{gap:50px}}
@media(min-width:851px) and (max-width:1199px){.container{width:min(calc(100% - 56px),var(--max))}.hero-grid{gap:42px}.video-panel{gap:20px}}
@media(max-width:850px){.nav-links{position:absolute;display:none;top:74px;left:0;right:0;padding:15px;background:var(--mist);border-bottom:1px solid var(--line);box-shadow:0 15px 25px rgba(11,31,51,.08);flex-direction:column;align-items:stretch}.nav-links.open{display:flex}.nav-links .btn{margin-top:5px}.menu-toggle{display:block}.nav>.btn{display:none}.hero-grid,.video-panel,.contact-grid{grid-template-columns:1fr;gap:35px}.hero{padding-top:60px}.hero-visual{min-height:320px}.value-grid,.cards-grid,.steps-grid,.quote-wrap{grid-template-columns:1fr}.section{padding:65px 0}.cta-box{display:block;padding:32px 27px}.cta-box .btn{margin-top:22px}.footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:500px){.container{width:min(calc(100% - 28px),var(--max))}.hero h1{font-size:3.1rem}.quick-access{grid-template-columns:1fr}.form-row,.footer-grid{grid-template-columns:1fr}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:8px}}
.whatsapp-button{margin-top:25px}.whatsapp-card{background:linear-gradient(145deg,#e3f1ed,#fff);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.whatsapp-icon{width:58px;height:58px;border-radius:18px;background:var(--teal);color:#fff;display:grid;place-items:center;font-size:1.8rem;margin-bottom:20px}.whatsapp-card h3{font-size:clamp(1.6rem,3vw,2.2rem);margin:10px 0}.placeholder-note{font-size:.78rem;color:var(--muted);margin-bottom:0}.placeholder-note code{background:#d8e9e4;color:var(--navy);padding:2px 5px;border-radius:5px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
/* Componentes da campanha MobilizaCidades */
.campaign-hero{padding:92px 0 100px;background:linear-gradient(135deg,#f4f8f7 0%,#dcece7 100%)}.campaign-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:70px}.campaign-hero h1{font-size:clamp(2.8rem,6vw,5.4rem);max-width:780px;margin:14px 0 22px}.campaign-hero h1 span{color:var(--teal)}.campaign-hero-art{min-height:465px;border-radius:32px;background:linear-gradient(145deg,var(--navy),var(--navy-2));position:relative;overflow:hidden;box-shadow:var(--shadow)}.art-orbit{position:absolute;border:1px solid rgba(32,184,238,.35);border-radius:50%;transform:rotate(-22deg)}.orbit-one{width:540px;height:220px;right:-110px;top:48px}.orbit-two{width:470px;height:180px;right:-45px;top:105px;border-color:rgba(240,184,75,.35)}.coin{position:absolute;top:86px;left:20%;width:100px;height:100px;border-radius:50%;display:grid;place-items:center;align-content:center;background:linear-gradient(145deg,#ffd879,#d89426);color:#704a10;font-weight:900;font-size:1.5rem;box-shadow:0 0 0 8px rgba(240,184,75,.15),0 20px 45px rgba(0,0,0,.3);transform:rotate(-10deg)}.coin strong{font-size:2.6rem;line-height:.8}.city-lights{position:absolute;left:0;right:0;bottom:125px;height:130px;background:linear-gradient(165deg,transparent 15%,rgba(32,184,238,.17) 15%,rgba(32,184,238,.17) 16%,transparent 16%);display:flex;align-items:end;justify-content:center;gap:12px}.city-lights i{display:block;width:42px;background:linear-gradient(#20b8ee,#0b4770);border-radius:4px 4px 0 0;height:60px}.city-lights i:nth-child(2){height:92px}.city-lights i:nth-child(3){height:125px}.city-lights i:nth-child(4){height:78px}.city-lights i:nth-child(5){height:105px}.art-caption{position:absolute;left:30px;right:30px;bottom:28px;border-top:1px solid rgba(255,255,255,.2);padding-top:18px;color:#c8d8d8}.art-caption b{color:#fff}.two-column,.progress-layout,.transparency-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:stretch}.manifesto-card,.highlight-panel,.progress-card,.status-card,.notice-box{border-radius:var(--radius);padding:30px;border:1px solid var(--line);background:#fff}.manifesto-card{font-size:1.12rem}.highlight-panel{background:var(--teal);color:#fff;border:0;display:flex;flex-direction:column;justify-content:center}.highlight-panel h3{font-size:2rem;margin:12px 0}.highlight-panel p{color:#d7f0ea}.big-mark{font-size:.8rem;font-weight:900;letter-spacing:.15em;color:var(--gold)}.campaign-steps{grid-template-columns:repeat(5,1fr)}.campaign-note{margin-top:22px}.campaign-progress-section{background:linear-gradient(145deg,var(--navy),#0b4770)}.campaign-progress-section .eyebrow{color:var(--gold)}.campaign-progress-section .section-head{max-width:800px}.progress-layout{grid-template-columns:1.2fr .8fr}.progress-card,.status-card{color:var(--ink)}.progress-top,.progress-amounts,.progress-footer{display:flex;justify-content:space-between;gap:20px}.progress-top{border-bottom:1px solid var(--line);padding-bottom:18px}.progress-top span,.progress-amounts small,.progress-footer{color:var(--muted);font-size:.82rem}.progress-top strong{color:var(--teal)}.progress-amounts{padding:25px 0}.progress-amounts div{display:grid;gap:4px}.progress-amounts strong{font-size:1.35rem}.progress-bar{height:14px;border-radius:99px;background:#e5eef0;overflow:hidden}.progress-bar span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--teal),var(--teal-2));border-radius:inherit;transition:width .5s ease}.progress-footer{margin:12px 0 24px;flex-wrap:wrap}.status-card h3{margin-top:0}.status-list{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:16px}.status-list li{display:flex;gap:12px;align-items:flex-start}.status-dot{width:13px;height:13px;border:2px solid var(--line);border-radius:50%;margin-top:4px;flex:none}.status-list li[data-status=current] .status-dot{border-color:var(--gold);background:var(--gold);box-shadow:0 0 0 4px #fff3d1}.status-list b,.status-list small{display:block}.status-list small{color:var(--muted);font-size:.8rem;margin-top:2px}.participation-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.text-link{border:0;background:transparent;padding:0;color:var(--teal);font-weight:800;cursor:pointer;font:inherit;text-align:left}.text-link:hover{text-decoration:underline}.transparency-list ul{color:var(--muted);line-height:2}.notice-box{background:#fffdf3;border-color:#f0d78d}.notice-box strong{color:#8d681c}.national{background:var(--navy)}.national-box{display:flex;align-items:center;justify-content:space-between;gap:30px;color:#fff}.national-box h2{font-size:clamp(2rem,4vw,3.5rem);margin:12px 0}.national-box p{color:#c8d8d8;max-width:700px}.campaign-cta{background:linear-gradient(135deg,var(--gold),#f7d88d);border:0}.campaign-cta p{margin-bottom:0}.cta-actions{display:flex;gap:12px;flex-wrap:wrap}@media(max-width:850px){.campaign-hero{padding:60px 0}.campaign-hero-grid,.two-column,.progress-layout,.transparency-grid{grid-template-columns:1fr;gap:28px}.campaign-hero-art{min-height:360px}.campaign-steps,.participation-grid{grid-template-columns:1fr}.progress-top,.progress-amounts{display:grid}.national-box{display:block}.national-box .btn{margin-top:20px}.cta-actions{margin-top:20px}}
