:root{
 --orange:#f35c1b;
 --orange-dark:#bf6001;
 --orange-deep:#8e3b00;
 --yellow:#ffb516;
 --cyan:#15bed0;
 --blue:#1733c4;
 --blue-deep:#10268f;
 --pink:#ef2f86;
 --purple:#2848d8;
 --cream:#fff0d3;
 --paper:#fffaf2;
 --ink:#1733c4;
 --muted:#5265b9;
 --line:rgba(23,51,196,.16);
 --white:#fff;
 --shadow:0 24px 70px rgba(23,51,196,.16);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow-x:hidden}
a{text-decoration:none;color:inherit}
img{max-width:100%;height:auto}
button,input,textarea,select{font:inherit}
.skip-link{position:fixed;z-index:99999;left:16px;top:-80px;background:#fff;color:var(--blue);padding:10px 14px}.skip-link:focus{top:16px}
.site-header{position:fixed;z-index:1000;top:0;left:0;right:0;transition:.25s;background:#bf6001;border-bottom:1px solid rgba(255,255,255,.14)}.site-header nav{background-color:#bf6001}.site-header.scrolled{background:#bf6001;backdrop-filter:blur(16px);border-color:rgba(255,255,255,.14);box-shadow:0 10px 30px rgba(23,51,196,.14)}
.navbar{min-height:74px;padding:8px 0}.nav-wrap{padding-inline:clamp(18px,3vw,50px)}.navbar-brand{display:flex;align-items:center;min-width:150px}.navbar-brand img{display:block;max-width:190px;max-height:56px;object-fit:contain;border:0}.brand-fallback{display:flex;align-items:center;gap:10px;color:#fff;text-transform:uppercase}.brand-fallback b{font-size:1.25rem;font-weight:1000;letter-spacing:-.04em}.brand-fallback em{font-style:normal;background:var(--orange);padding:4px 9px;font-weight:1000}.navbar-toggler{border:0;box-shadow:none!important}.navbar-toggler-icon{filter:invert(1)}.nav-link{color:#fff!important;font-size:.85rem;font-weight:900;text-transform:uppercase;letter-spacing:.02em;padding:.72rem .62rem!important}.nav-link:hover{color:var(--yellow)!important}.nav-number{display:inline-block;margin-left:10px;background:#fff;color:var(--orange);font-weight:1000;font-size:1rem;padding:7px 11px;transform:rotate(-2deg)}
main{padding-top:0}.campaign-surface{position:relative;overflow:hidden}.hero-campaign{height:min(930px,100svh);min-height:680px;background:var(--cyan);isolation:isolate}.hero-panel{position:absolute;top:0;bottom:0;z-index:-6}.hero-yellow{left:0;width:36%;background:var(--yellow)}.hero-cyan{left:33%;width:35%;background:var(--cyan)}.hero-orange{right:0;width:35%;background:var(--orange)}
.hero-arc{position:absolute;border-radius:50%;border:76px solid rgba(255,119,0,.34);z-index:-4}.arc-one{width:510px;height:510px;left:8%;top:-150px}.arc-two{width:620px;height:620px;left:20%;bottom:-390px;border-color:rgba(7,94,216,.24)}.hero-swoosh{position:absolute;width:480px;height:230px;right:19%;top:-80px;background:var(--cyan);border-radius:50% 50% 12% 50%;transform:rotate(32deg);z-index:-3}.hero-swoosh:after{content:"";position:absolute;width:420px;height:180px;background:var(--blue);left:-260px;top:440px;border-radius:50%;transform:rotate(-55deg)}.hero-star{position:absolute;z-index:5;color:#fff;font-size:30px;animation:spinFloat 8s ease-in-out infinite}.star-one{left:29%;top:18px}.star-two{right:4%;top:24px;animation-delay:-3s}@keyframes spinFloat{50%{transform:translateY(12px) rotate(180deg)}}
.hero-slogan{position:absolute;z-index:10;left:clamp(24px,7vw,110px);top:42%;width:min(370px,30vw);transform:translateY(-50%);display:flex;flex-wrap:wrap;align-items:flex-end}.hero-slogan .word{display:inline-block;color:#fff;font-weight:1000;line-height:.88;letter-spacing:-.06em;box-decoration-break:clone}.word-um{font-size:clamp(2.1rem,3.2vw,3.7rem);background:#00aef2;padding:4px 10px;margin-left:18px}.word-movimento{font-size:clamp(2.3rem,4.2vw,4.6rem);background:#1549b8;padding:6px 12px}.word-por{font-size:clamp(1.55rem,2.5vw,2.7rem);background:var(--pink);padding:6px 9px;margin-left:0}.word-alagoas{font-size:clamp(2.5rem,4.8vw,5.2rem);background:var(--orange);padding:6px 13px}
.hero-candidate{position:absolute;z-index:6;left:50%;bottom:0;transform:translateX(-50%);width:min(48vw,720px);height:95%;display:flex;align-items:flex-end;justify-content:center;pointer-events:none}.candidate-cutout{display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;filter:none}.hero-candidate .asset-placeholder{margin-bottom:90px}.asset-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:rgba(255,255,255,.9);background:rgba(23,51,196,.14);backdrop-filter:blur(4px);padding:18px;min-height:120px;pointer-events:none}.asset-placeholder b{font-size:1.1rem}.asset-placeholder small{font-weight:800;opacity:.78}.candidate-placeholder{width:72%;height:70%;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.16));clip-path:polygon(28% 0,72% 0,86% 22%,82% 48%,100% 100%,0 100%,18% 48%,14% 22%)}.logo-placeholder{margin-top:12px;min-height:54px;width:210px;background:rgba(255,255,255,.12)}
.hero-logo{position:absolute;z-index:12;right:clamp(24px,4vw,75px);top:30%;width:min(31vw,460px);color:#fff}.campaign-logo{display:block;width:100%;max-height:260px;object-fit:contain;object-position:center;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important}.logo-type-fallback{display:flex;flex-direction:column;align-items:center;text-align:center;color:#fff}.logo-type-fallback span{font-size:clamp(.65rem,.9vw,.9rem);font-weight:900;letter-spacing:.25em}.logo-type-fallback b{font-size:clamp(3.2rem,6vw,6.7rem);font-weight:1000;line-height:.78;letter-spacing:-.09em;font-style:italic}.logo-type-fallback strong{text-transform:uppercase;font-size:clamp(1.6rem,2.8vw,3.1rem);line-height:1;font-weight:1000;letter-spacing:-.03em}.logo-type-fallback em{font-style:normal;font-size:clamp(4.3rem,8.7vw,9.2rem);font-weight:1000;letter-spacing:-.09em;line-height:.85}.hero-cta{margin:26px auto 0;width:max-content;display:flex;gap:16px;align-items:center;background:var(--blue);color:#fff;padding:13px 18px;text-transform:uppercase;font-size:.78rem;font-weight:1000;letter-spacing:.05em;transition:.2s}.hero-cta:hover{background:#fff;color:var(--orange);transform:translateY(-3px)}.hero-scroll{position:absolute;z-index:20;left:50%;bottom:17px;transform:translateX(-50%);color:#fff;font-size:.68rem;font-weight:1000;letter-spacing:.18em;display:flex;gap:9px;align-items:center;white-space:nowrap}
.custom-element{position:absolute;z-index:7;max-width:150px;max-height:150px;object-fit:contain;pointer-events:none;border:0!important;background:transparent!important;filter:none}.element-1{left:3%;top:15%}.element-2{right:5%;top:14%}.element-3{left:5%;bottom:8%}.element-4{right:5%;bottom:8%}
.campaign-ticker{overflow:hidden;background:#bb5a05;color:#fff;border-block:5px solid var(--yellow)}.campaign-ticker>div{display:flex;align-items:center;gap:34px;width:max-content;padding:14px 0;animation:ticker 20s linear infinite}.campaign-ticker span{font-size:1rem;font-weight:1000;letter-spacing:.08em}.campaign-ticker b{font-size:1.85rem;color:var(--yellow)}@keyframes ticker{to{transform:translateX(-50%)}}
.manifesto-section{position:relative;overflow:hidden;background:var(--cream);padding:120px 0 135px}.giant-number{position:absolute;right:-3vw;bottom:-8vw;font-size:clamp(11rem,29vw,33rem);font-weight:1000;letter-spacing:-.1em;line-height:.7;color:rgba(7,94,216,.09);user-select:none}.manifesto-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:8vw;align-items:end}.manifesto-grid h2{font-size:clamp(3.2rem,7vw,7.8rem);font-weight:1000;letter-spacing:-.075em;line-height:.82;margin:20px 0 0;max-width:850px;color:#1733c4}.section-kicker{display:inline-flex;align-items:center;gap:12px;color:inherit;font-size:.72rem;font-weight:1000;text-transform:uppercase;letter-spacing:.18em}.section-kicker:before{content:"";width:34px;height:7px;background:currentColor}.section-kicker.blue{color:var(--blue)}.section-kicker.orange{color:var(--orange)}.manifesto-copy p{font-size:clamp(1.12rem,1.55vw,1.45rem);font-weight:650;line-height:1.5;max-width:520px;color:#1733c4}.manifesto-links{display:grid;margin-top:34px}.manifesto-links a{display:flex;justify-content:space-between;align-items:center;border-top:2px solid #1733c4;padding:16px 0;font-weight:1000;text-transform:uppercase;color:#1733c4}.manifesto-links a:last-child{border-bottom:2px solid #1733c4}.manifesto-links a:hover{color:var(--orange)}
.portal-grid{display:grid;grid-template-columns:repeat(4,1fr)}.portal-card{min-height:430px;padding:34px;position:relative;overflow:hidden;color:#fff;transition:.25s}.portal-card:hover{transform:translateY(-8px);z-index:4;box-shadow:var(--shadow)}.portal-card>span{font-size:.75rem;font-weight:1000;letter-spacing:.18em}.portal-card>i{position:absolute;right:28px;top:28px;font-size:2.4rem}.portal-card h3{position:absolute;left:34px;bottom:95px;font-size:clamp(2rem,3.5vw,4rem);line-height:.87;letter-spacing:-.06em;font-weight:1000}.portal-card p{position:absolute;left:34px;right:34px;bottom:27px;margin:0;font-weight:700}.portal-orange{background:var(--orange)}.portal-blue{background:var(--blue)}.portal-yellow{background:#db8a05;color:#fff}.portal-cyan{background:var(--cyan)}
.agenda-home{position:relative;overflow:hidden;background:var(--blue);color:#fff;padding:120px 0}.agenda-ribbon{position:absolute;right:-70px;top:24px;transform:rotate(9deg);font-size:clamp(3rem,8vw,8rem);font-weight:1000;letter-spacing:-.06em;color:rgba(255,255,255,.07);white-space:nowrap}.section-title-split{position:relative;display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:55px}.section-title-split h2{font-size:clamp(3rem,7vw,7rem);line-height:.82;letter-spacing:-.07em;font-weight:1000;margin:18px 0 0}.section-title-split.dark{color:var(--ink)}.section-arrow{display:flex;gap:14px;align-items:center;border-bottom:2px solid currentColor;padding:8px 0;text-transform:uppercase;font-size:.78rem;font-weight:1000;letter-spacing:.08em}.event-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.event-campaign{min-height:315px;padding:28px;background:var(--orange);color:#fff;display:flex;flex-direction:column;clip-path:polygon(0 0,92% 0,100% 8%,100% 100%,0 100%)}.event-campaign:nth-child(2){background:#d16609;color:#fff}.event-campaign:nth-child(3){background:var(--cyan)}.event-top{display:flex;justify-content:space-between;align-items:center}.event-top span{font-size:2.6rem;font-weight:1000;letter-spacing:-.06em}.event-top b{font-size:.85rem}.event-campaign h3{font-size:clamp(1.7rem,2.6vw,2.7rem);font-weight:1000;line-height:.98;letter-spacing:-.04em;margin:34px 0 15px}.event-campaign p{font-weight:750}.event-campaign>a{margin-top:auto;padding-top:20px;border-top:2px solid currentColor;display:flex;justify-content:space-between;text-transform:uppercase;font-size:.72rem;font-weight:1000;letter-spacing:.06em}.event-campaign>a:hover{opacity:.72}
.proposals-home{position:relative;overflow:hidden;background:var(--cream);padding:120px 0}.proposal-sun{position:absolute;width:520px;height:520px;border:74px solid rgba(255,90,0,.1);border-radius:50%;right:-180px;top:-220px}.proposal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.proposal-campaign{position:relative;min-height:320px;padding:28px;color:#fff;overflow:hidden}.proposal-campaign>span{font-weight:1000;font-size:.72rem;letter-spacing:.15em}.proposal-campaign>i{position:absolute;right:24px;top:22px;font-size:2rem}.proposal-campaign h3,.proposal-campaign h2{font-size:clamp(1.55rem,2.25vw,2.55rem);font-weight:1000;letter-spacing:-.045em;line-height:.96;margin:70px 0 16px}.proposal-campaign p{font-weight:650;opacity:.92}.proposal-tone-1{background:var(--orange)}.proposal-tone-2{background:var(--blue)}.proposal-tone-3{background:var(--cyan)}.proposal-tone-4{background:var(--orange-dark)}.proposal-body.rich-content{color:inherit;font-size:.94rem}.page-grid .proposal-campaign{min-height:420px}
.photo-cta{background:var(--orange);color:#fff;padding:115px 0}.photo-shape{position:absolute;right:-120px;top:-160px;width:600px;height:600px;border-radius:50%;background:var(--yellow);opacity:.95}.photo-shape:after{content:"";position:absolute;width:480px;height:480px;border-radius:50%;background:var(--cyan);left:-280px;bottom:-310px}.photo-cta .container{position:relative;z-index:2}.photo-cta h2{font-size:clamp(3.5rem,8vw,8rem);font-weight:1000;letter-spacing:-.08em;line-height:.8;margin:20px 0 26px}.photo-cta p{font-size:1.2rem;max-width:600px;font-weight:650}.btn-campaign-light,.btn-campaign-dark{display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:15px 20px;border:0;font-size:.78rem;font-weight:1000;text-transform:uppercase;letter-spacing:.06em;transition:.2s}.btn-campaign-light{background:#fff;color:var(--orange)}.btn-campaign-dark{background:var(--ink);color:#fff}.btn-campaign-light:hover,.btn-campaign-dark:hover{transform:translateY(-3px)}.photo-demo{position:relative;margin:auto;width:min(450px,86vw);aspect-ratio:1;background:linear-gradient(180deg,var(--cyan) 0 54%,var(--orange) 54%);border:13px solid #fff;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:0 35px 90px rgba(0,0,0,.24);transform:rotate(5deg)}.photo-demo-head{font-weight:1000;letter-spacing:.13em}.photo-demo-number{font-size:clamp(5rem,10vw,9rem);font-weight:1000;letter-spacing:-.09em;line-height:.9}.photo-demo-caption{background:#fff;color:var(--orange);padding:7px 12px;font-weight:1000;transform:rotate(-4deg)}
.gallery-home{background:var(--paper);padding:120px 0}.gallery-collage{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:160px;gap:12px}.gallery-campaign{position:relative;overflow:hidden;background:var(--blue);min-height:260px}.gallery-campaign:nth-child(1){grid-column:span 7;grid-row:span 3}.gallery-campaign:nth-child(2){grid-column:span 5;grid-row:span 2}.gallery-campaign:nth-child(3){grid-column:span 5;grid-row:span 2}.gallery-campaign:nth-child(4),.gallery-campaign:nth-child(5),.gallery-campaign:nth-child(6){grid-column:span 4;grid-row:span 2}.gallery-campaign img{width:100%;height:100%;object-fit:cover;transition:.45s}.gallery-campaign:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 42%,rgba(23,51,196,.88))}.gallery-campaign span{position:absolute;z-index:2;left:20px;bottom:18px;color:#fff;font-size:1.05rem;font-weight:1000}.gallery-campaign:hover img{transform:scale(1.045)}.full-gallery .gallery-campaign:nth-child(n){grid-column:span 4;grid-row:span 2}
.media-home{background:#1733c4;color:#fff;padding:120px 0}.media-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.media-campaign{display:flex;flex-direction:column;background:#fff;color:#1733c4;min-height:100%}.media-visual{aspect-ratio:16/9;overflow:hidden}.media-visual img{width:100%;height:100%;object-fit:cover;transition:.35s}.media-campaign:hover .media-visual img{transform:scale(1.04)}.media-copy{padding:24px;display:flex;flex-direction:column;flex:1}.media-copy>span{font-size:.7rem;font-weight:1000;text-transform:uppercase;letter-spacing:.13em;color:var(--orange)}.media-copy h3,.media-copy h2{font-size:1.45rem;font-weight:1000;letter-spacing:-.035em;line-height:1.03;margin:12px 0}.media-copy p{color:var(--muted);font-weight:600}.media-copy b{margin-top:auto;padding-top:20px;font-size:.72rem;letter-spacing:.07em}.media-noimage{width:100%;height:100%;min-height:220px;background:linear-gradient(135deg,var(--blue),var(--cyan));color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center}.media-noimage span{font-size:4.6rem;font-weight:1000;letter-spacing:-.08em;line-height:.85}.media-noimage small{text-transform:uppercase;letter-spacing:.14em;font-weight:900}.light-grid .media-campaign{border:1px solid var(--line)}
.newsletter-home{position:relative;overflow:hidden;background:var(--yellow);padding:105px 0;color:#1733c4}.newsletter-letter{position:absolute;right:-2vw;bottom:-21vw;font-size:45vw;font-weight:1000;line-height:.65;color:rgba(255,90,0,.12)}.newsletter-home h2{display:inline-block;font-size:clamp(3rem,6vw,6rem);font-weight:1000;line-height:.85;letter-spacing:-.07em;margin:18px 0;background:#f35c1b;color:#fff;padding:10px 16px 14px}.newsletter-home p{font-weight:700}.newsletter-campaign{display:grid;grid-template-columns:1fr 1fr auto;gap:8px}.newsletter-campaign .form-control{min-height:60px;border:3px solid #1733c4;border-radius:0;background:rgba(255,255,255,.9);box-shadow:none}.newsletter-campaign button{border:3px solid #1733c4;background:#1733c4;color:#fff;font-size:.74rem;font-weight:1000;padding:0 22px;letter-spacing:.05em}.newsletter-campaign button:hover{background:var(--orange);border-color:var(--orange)}
.page-hero{min-height:460px;padding:150px 0 80px;background:linear-gradient(105deg,var(--orange) 0 38%,var(--cyan) 38% 72%,var(--blue) 72%);color:#fff;isolation:isolate}.page-hero-content{position:relative;z-index:4}.page-hero h1{font-size:clamp(3.5rem,8vw,8.2rem);font-weight:1000;line-height:.82;letter-spacing:-.08em;margin:20px 0;max-width:1000px}.page-hero p{font-size:1.2rem;font-weight:650;max-width:690px}.campaign-shape{position:absolute;z-index:-1}.shape-ring{width:430px;height:430px;border:64px solid rgba(255,181,22,.34);border-radius:50%;left:-110px;bottom:-280px}.shape-wave{width:480px;height:170px;background:rgba(255,255,255,.13);border-radius:50%;right:8%;top:-90px;transform:rotate(20deg)}.shape-disc{width:240px;height:240px;border-radius:50%;background:rgba(84,38,216,.22);right:17%;bottom:-140px}
.content-stage{padding:100px 0;background:var(--paper)}.intro-copy{max-width:850px;margin-bottom:56px}.rich-content{font-size:1.06rem;line-height:1.76;color:#3048a8}.rich-content h2,.rich-content h3{color:var(--ink);font-weight:1000;letter-spacing:-.04em;margin-top:1.7em}.rich-content a{color:var(--blue);font-weight:900}.about-layout{display:grid;grid-template-columns:1fr .9fr;gap:70px;align-items:center}.about-candidate{position:relative;min-height:640px;display:flex;align-items:flex-end;justify-content:center;overflow:hidden;background:var(--cyan)}.about-blob{position:absolute;width:520px;height:520px;border-radius:50%;background:var(--yellow);top:-190px;left:-120px}.about-candidate .candidate-cutout{position:relative;z-index:2;max-height:650px;object-fit:contain;object-position:center bottom}.about-number{position:absolute;z-index:1;right:-20px;bottom:-30px;font-size:9rem;font-weight:1000;color:rgba(255,255,255,.23);letter-spacing:-.09em}.about-candidate .asset-placeholder{position:relative;z-index:2;width:70%;height:500px}
.timeline-campaign{display:grid;gap:0}.timeline-event{display:grid;grid-template-columns:160px 1fr;gap:35px;padding:36px 0;border-top:3px solid #1733c4}.timeline-event:last-child{border-bottom:3px solid #1733c4}.timeline-date{display:flex;flex-direction:column}.timeline-date b{font-size:5.4rem;line-height:.8;color:var(--orange);font-weight:1000;letter-spacing:-.08em}.timeline-date span{font-weight:1000}.event-time{font-weight:1000;color:var(--blue);letter-spacing:.12em}.timeline-event h2{font-size:clamp(1.8rem,3.4vw,3.7rem);font-weight:1000;letter-spacing:-.055em;line-height:.95;margin:8px 0 14px}.timeline-event p{font-weight:700}.text-action{display:inline-flex;gap:10px;margin-top:14px;text-transform:uppercase;font-size:.72rem;font-weight:1000;letter-spacing:.07em;color:var(--orange)}.calendar-embed{margin-top:55px;border:4px solid #1733c4}.calendar-embed iframe{display:block;width:100%;height:650px;border:0}
.social-campaign-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.social-campaign{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;padding:28px;color:#fff;min-height:135px}.social-campaign>i:first-child{font-size:2.2rem}.social-campaign>i:last-child{font-size:1.4rem}.social-campaign b,.social-campaign span{display:block}.social-campaign b{font-size:1.35rem;font-weight:1000}.social-campaign span{font-size:.75rem;text-transform:uppercase;font-weight:900;letter-spacing:.08em}.social-tone-1{background:var(--orange)}.social-tone-2{background:var(--blue)}.social-tone-3{background:var(--cyan)}.social-tone-4{background:var(--orange-dark)}.newsletter-panel{margin-top:60px;background:var(--yellow);padding:42px}.newsletter-panel h2{font-size:clamp(2.5rem,5vw,5rem);font-weight:1000;letter-spacing:-.065em}.dark-form .form-control{background:#fff}
.photo-maker{display:grid;grid-template-columns:360px 1fr;gap:55px;align-items:start}.controls{position:sticky;top:100px;background:var(--cream);padding:32px}.controls h2{font-size:2rem;font-weight:1000;letter-spacing:-.04em}.controls p{color:var(--muted);font-weight:600}.controls .btn-campaign-dark{width:100%}.step-label{display:block;color:var(--orange);font-size:.7rem;font-weight:1000;letter-spacing:.13em}.canvas-wrap{display:grid;place-items:center}.canvas-wrap canvas{display:block;width:min(700px,100%);height:auto;background:#eee;box-shadow:var(--shadow);touch-action:none}.center-action{text-align:center;margin-top:45px}.error-number{font-size:10rem;font-weight:1000;color:var(--orange);letter-spacing:-.1em}
.empty-campaign{grid-column:1/-1;padding:35px;border:3px dashed rgba(255,255,255,.45);font-weight:800}.empty-campaign.light{border-color:var(--line);color:var(--muted);background:#fff}
.site-footer{background:#8e3b00;color:#fff}.site-footer .container-fluid{background-color:#8e3b00}.footer-topline{height:12px;background:linear-gradient(90deg,var(--orange) 0 25%,var(--yellow) 25% 50%,var(--cyan) 50% 75%,var(--blue) 75%)}.footer-inner{padding:54px clamp(22px,5vw,80px);display:grid;grid-template-columns:1.4fr 1fr auto;gap:45px;align-items:center}.footer-branding img{display:block;max-width:240px;max-height:90px;object-fit:contain;border:0!important}.footer-branding p{margin:12px 0 0;color:rgba(255,255,255,.66);font-weight:700}.footer-fallback{font-size:1.7rem;font-weight:1000}.footer-fallback strong{color:var(--orange);margin-left:8px}.footer-nav{display:grid;grid-template-columns:repeat(2,1fr);gap:9px 22px}.footer-nav a{text-transform:uppercase;font-size:.72rem;font-weight:1000;letter-spacing:.07em}.footer-nav a:hover{color:var(--yellow)}.footer-socials{display:flex;gap:8px}.footer-socials a{display:grid;place-items:center;width:42px;height:42px;border:2px solid rgba(255,255,255,.3);font-size:1.05rem}.footer-socials a:hover{background:#fff;color:var(--orange)}.footer-legal{text-align:center;border-top:1px solid rgba(255,255,255,.12);padding:18px 22px 22px;font-size:.72rem;font-weight:800;letter-spacing:.04em;color:rgba(255,255,255,.72)}.whatsapp-float{position:fixed;z-index:900;right:20px;bottom:20px;display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#25d366;color:#fff;font-size:1.55rem;box-shadow:0 18px 40px rgba(0,0,0,.25)}
.reveal{opacity:0;transform:translateY(30px);transition:opacity .72s ease,transform .72s cubic-bezier(.2,.7,.2,1)}.reveal.delay-1{transition-delay:.12s}.reveal.delay-2{transition-delay:.22s}.reveal.is-visible{opacity:1;transform:none}.parallax-layer{will-change:transform}
.btn-campaign{border:0;border-radius:0;background:var(--orange);color:#fff;font-weight:1000;padding:11px 16px}.btn-campaign:hover{background:var(--blue);color:#fff}.form-control,.form-select{border-radius:0}.form-label{font-weight:900}.installer-page{min-height:100vh;background:linear-gradient(135deg,var(--cream),#eaf7fa)}.install-card{max-width:900px;background:#fff;padding:40px;box-shadow:var(--shadow)}.install-card h1{font-weight:1000;letter-spacing:-.05em}.brand-number{font-size:3rem;font-weight:1000;color:var(--orange);letter-spacing:-.08em}
.admin-body{background:#f5f7fb}.admin-shell{min-height:100vh;display:grid;grid-template-columns:270px 1fr}.admin-sidebar{background:#1733c4;color:#fff;padding:22px;position:sticky;top:0;height:100vh;overflow:auto}.admin-logo{display:block;color:#fff;font-weight:1000;font-size:1.35rem;margin-bottom:26px}.admin-logo span{color:var(--orange)}.admin-nav{display:grid;gap:6px}.admin-nav a{color:#fff;padding:11px 12px;font-weight:700}.admin-nav a:hover,.admin-nav a.active{color:#fff;background:#bf6001}.admin-main{padding:34px}.admin-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:26px}.admin-top h1{font-weight:1000;letter-spacing:-.04em}.stat-card{padding:24px;background:#fff;box-shadow:0 8px 28px rgba(22,34,54,.06)}.stat-card b{display:block;font-size:2.2rem}.admin-card{background:#fff;padding:24px;box-shadow:0 8px 28px rgba(22,34,54,.06);margin-bottom:24px}.table td,.table th{vertical-align:middle}.login-admin{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,var(--orange),var(--blue));padding:24px}.login-box{width:min(460px,100%);background:#fff;padding:34px;box-shadow:0 30px 90px rgba(0,0,0,.25)}.login-box h1{font-weight:1000}.visual-preview{display:flex;align-items:center;gap:18px;background:#f7f7f9;padding:14px;border:1px solid #e4e7ec}.visual-preview img{max-width:160px;max-height:110px;object-fit:contain;background:linear-gradient(45deg,#eee 25%,transparent 25%),linear-gradient(-45deg,#eee 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#eee 75%),linear-gradient(-45deg,transparent 75%,#eee 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0}

/* Direção visual: laranja + azul em todo o site */
.manifesto-grid .reveal h2,.manifesto-grid .manifesto-copy p,.manifesto-copy .manifesto-links a{color:#1733c4}
.portal-grid .portal-card h3,.portal-grid .portal-card p,.portal-grid .portal-card span,.portal-grid .portal-card>i{color:#fff}
.proposals-home .section-title-split h2{color:#1733c4}
.gallery-home .section-title-split h2{color:#d16609}
.newsletter-home .section-kicker{color:#d35400}
.content-stage .section-title-split.dark,.content-stage .section-title-split.dark h2,.content-stage .intro-copy,.content-stage .timeline-event h2,.content-stage .timeline-event p{color:#1733c4}
.page-grid .proposal-campaign{color:#fff}
.page-grid .proposal-campaign .rich-content{color:#fff}
.newsletter-panel{color:#1733c4}
.newsletter-panel h2{color:#1733c4}
.controls h2{color:#1733c4}
.controls p{color:#5265b9}
.footer-inner{background:#8e3b00}
.footer-legal{background:#8e3b00}
.btn-campaign-dark{background:#1733c4;color:#fff}
.btn-campaign-dark:hover{background:#bf6001;color:#fff}
.admin-top h1,.admin-card h1,.admin-card h2,.admin-card h3,.stat-card b{color:#1733c4}

@media(max-width:1199.98px){.nav-number{display:none}.hero-slogan{left:4vw}.hero-logo{right:3vw}.portal-card{min-height:360px;padding:26px}.portal-card h3{left:26px}.portal-card p{left:26px;right:26px}.proposal-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:991.98px){.site-header{background:#bf6001}.site-header nav{background:#bf6001}.navbar-collapse{padding:16px 0}.hero-campaign{height:auto;min-height:920px;background:linear-gradient(180deg,var(--yellow) 0 28%,var(--cyan) 28% 66%,var(--orange) 66%)}.hero-panel{display:none}.hero-slogan{top:135px;left:24px;width:360px;transform:none}.hero-candidate{width:min(610px,86vw);height:68%;left:50%;bottom:0}.hero-logo{top:auto;right:22px;bottom:120px;width:min(330px,45vw)}.hero-swoosh{right:-180px;top:160px}.manifesto-grid{grid-template-columns:1fr;gap:45px}.portal-grid{grid-template-columns:repeat(2,1fr)}.event-grid{grid-template-columns:1fr}.event-campaign{min-height:250px}.gallery-collage{grid-auto-rows:130px}.gallery-campaign:nth-child(n){grid-column:span 6;grid-row:span 2}.media-grid{grid-template-columns:1fr 1fr}.newsletter-campaign{grid-template-columns:1fr}.newsletter-campaign button{min-height:58px}.about-layout{grid-template-columns:1fr}.about-candidate{min-height:580px}.photo-maker{grid-template-columns:1fr}.controls{position:static}.footer-inner{grid-template-columns:1fr 1fr}.footer-socials{grid-column:1/-1}.admin-shell{display:block}.admin-sidebar{position:relative;height:auto}.admin-main{padding:20px}}
@media(max-width:767.98px){.hero-campaign{min-height:850px}.hero-slogan{top:115px;left:16px;width:290px}.word-um{font-size:2rem}.word-movimento{font-size:2.55rem}.word-por{font-size:1.7rem}.word-alagoas{font-size:3rem}.hero-candidate{width:94vw;height:64%}.hero-logo{left:50%;right:auto;bottom:70px;transform:translateX(-50%);width:74vw}.hero-logo.reveal.is-visible{transform:translateX(-50%)}.hero-logo .logo-type-fallback span{font-size:.6rem}.hero-logo .logo-type-fallback b{font-size:3.7rem}.hero-logo .logo-type-fallback strong{font-size:1.9rem}.hero-logo .logo-type-fallback em{font-size:5.6rem}.hero-cta{display:none}.hero-scroll{display:none}.manifesto-section,.agenda-home,.proposals-home,.gallery-home,.media-home,.newsletter-home,.content-stage{padding:75px 0}.manifesto-grid h2{font-size:3.5rem}.portal-grid{grid-template-columns:1fr}.portal-card{min-height:300px}.portal-card h3{font-size:3rem}.section-title-split{align-items:flex-start;flex-direction:column}.section-title-split h2{font-size:4rem}.proposal-grid{grid-template-columns:1fr}.photo-cta{padding:80px 0}.photo-cta h2{font-size:4.4rem}.media-grid{grid-template-columns:1fr}.gallery-collage{display:grid;grid-template-columns:1fr;grid-auto-rows:auto}.gallery-campaign:nth-child(n){grid-column:auto;grid-row:auto;aspect-ratio:4/3}.page-hero{padding:125px 0 65px;min-height:390px}.page-hero h1{font-size:4rem}.timeline-event{grid-template-columns:90px 1fr;gap:18px}.timeline-date b{font-size:4rem}.social-campaign-grid{grid-template-columns:1fr}.newsletter-panel{padding:28px}.footer-inner{grid-template-columns:1fr}.footer-nav{grid-template-columns:1fr 1fr}.about-candidate{min-height:500px}.about-number{font-size:6rem}.calendar-embed iframe{height:520px}}
@media(max-width:575.98px){.navbar-brand img{max-width:150px;max-height:45px}.brand-fallback b{font-size:1rem}.hero-campaign{min-height:790px}.hero-slogan{width:250px}.word-movimento{font-size:2.25rem}.word-alagoas{font-size:2.65rem}.hero-candidate{height:61%}.hero-logo{bottom:45px;width:82vw}.hero-star{display:none}.manifesto-grid h2{font-size:3rem}.portal-card h3{font-size:2.55rem}.section-title-split h2{font-size:3.45rem}.event-top span{font-size:2.15rem}.photo-demo{border-width:9px}.page-hero h1{font-size:3.45rem}.timeline-event{grid-template-columns:1fr}.timeline-date{flex-direction:row;gap:10px;align-items:end}.timeline-date b{font-size:3.8rem}.timeline-date span{padding-bottom:5px}.controls{padding:24px}.footer-legal{font-size:.62rem;line-height:1.6}.admin-main{padding:14px}.login-box,.install-card{padding:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none!important}}

/* =========================================================
   MOBILE FINAL — HERO LIMPA, SEM SOBREPOSIÇÃO
   ========================================================= */

@media (max-width: 767.98px){

  /* A hero vira uma composição própria para celular */
  .hero-campaign{
    height: auto !important;
    min-height: 820px !important;
    background:
      linear-gradient(
        180deg,
        var(--yellow) 0 29%,
        var(--cyan) 29% 66%,
        var(--orange) 66% 100%
      ) !important;
    overflow: hidden !important;
    isolation: isolate !important;
  }

  .hero-panel{
    display: none !important;
  }

  /* No celular a marca grande da hero não aparece.
     A marca já está no cabeçalho e isso libera o layout. */
  .hero-logo{
    display: none !important;
  }

  /* Slogan sozinho na área amarela */
  .hero-slogan{
    position: absolute !important;
    top: 118px !important;
    left: 18px !important;
    right: auto !important;
    bottom: auto !important;
    width: 320px !important;
    max-width: calc(100vw - 36px) !important;
    transform: none !important;
    display: block !important;
    z-index: 30 !important;
  }

  .hero-slogan.reveal,
  .hero-slogan.reveal.is-visible{
    transform: none !important;
  }

  .hero-slogan .word{
    position: relative !important;
    z-index: 2 !important;
    line-height: .9 !important;
    letter-spacing: -.055em !important;
    box-shadow: none !important;
  }

  .word-um{
    display: table !important;
    font-size: 1.75rem !important;
    margin: 0 0 3px 14px !important;
    padding: 3px 8px 4px !important;
  }

  .word-movimento{
    display: table !important;
    font-size: 2.15rem !important;
    margin: 0 0 3px 0 !important;
    padding: 4px 9px 5px !important;
  }

  .word-por{
    display: inline-block !important;
    vertical-align: bottom !important;
    font-size: 1.38rem !important;
    margin: 0 3px 0 0 !important;
    padding: 5px 7px !important;
  }

  .word-alagoas{
    display: inline-block !important;
    vertical-align: bottom !important;
    font-size: 2.25rem !important;
    margin: 0 !important;
    padding: 4px 9px 5px !important;
  }

  /* Foto do candidato somente na metade inferior */
  .hero-candidate{
    position: absolute !important;
    left: auto !important;
    right: -10vw !important;
    bottom: 0 !important;
    top: auto !important;
    width: 78vw !important;
    max-width: 520px !important;
    height: 58% !important;
    transform: none !important;
    display: flex !important;
    align-items: flex-end !important;
    justify-content: flex-end !important;
    z-index: 12 !important;
    pointer-events: none !important;
  }

  .hero-candidate.reveal,
  .hero-candidate.reveal.is-visible{
    transform: none !important;
  }

  .candidate-cutout{
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: right bottom !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
  }

  /* Grafismos do desktop não atravessam conteúdo no celular */
  .hero-campaign .custom-element,
  .hero-star{
    display: none !important;
  }

  .arc-one{
    width: 330px !important;
    height: 330px !important;
    left: -185px !important;
    top: 78px !important;
    opacity: .24 !important;
    z-index: 0 !important;
  }

  .arc-two{
    width: 500px !important;
    height: 500px !important;
    left: -285px !important;
    bottom: -370px !important;
    opacity: .18 !important;
    z-index: 0 !important;
  }

  .hero-swoosh{
    width: 350px !important;
    height: 145px !important;
    right: -210px !important;
    top: 250px !important;
    opacity: .28 !important;
    z-index: 0 !important;
  }

  .hero-scroll,
  .hero-cta{
    display: none !important;
  }

  /* Página "Faça sua foto": nada decorativo por cima do título */
  .photo-cta{
    overflow: hidden !important;
  }

  .photo-cta .custom-element,
  .photo-cta .photo-shape{
    display: none !important;
  }

  .photo-cta .container,
  .photo-cta .row,
  .photo-cta .row > *{
    position: relative !important;
    z-index: 5 !important;
  }

  .photo-cta h2{
    position: relative !important;
    z-index: 8 !important;
    max-width: 100% !important;
    font-size: clamp(3.1rem, 14vw, 4.7rem) !important;
    line-height: .84 !important;
  }

  .photo-cta p{
    position: relative !important;
    z-index: 8 !important;
    max-width: 100% !important;
  }

  .photo-demo{
    position: relative !important;
    z-index: 8 !important;
    transform: none !important;
    margin: 28px auto 0 !important;
    width: min(360px, 90vw) !important;
  }

  /* Heroes das páginas internas */
  .page-hero{
    min-height: 360px !important;
    padding: 120px 0 58px !important;
    overflow: hidden !important;
  }

  .page-hero .custom-element{
    display: none !important;
  }

  .page-hero-content{
    position: relative !important;
    z-index: 20 !important;
  }

  .page-hero h1{
    max-width: 100% !important;
    font-size: clamp(3rem, 14vw, 4.6rem) !important;
    line-height: .86 !important;
  }

  .page-hero p{
    max-width: 94% !important;
  }

  .shape-ring,
  .shape-wave,
  .shape-disc{
    z-index: 0 !important;
    opacity: .24 !important;
  }

  /* Cards e seções */
  .manifesto-grid,
  .portal-grid,
  .section-title-split,
  .event-grid,
  .proposal-grid,
  .gallery-collage,
  .media-grid,
  .newsletter-campaign{
    position: relative !important;
    z-index: 5 !important;
  }

  .newsletter-letter,
  .giant-number,
  .proposal-sun{
    z-index: 0 !important;
    opacity: .18 !important;
    pointer-events: none !important;
  }
}

@media (max-width: 575.98px){

  .hero-campaign{
    min-height: 790px !important;
  }

  .hero-slogan{
    top: 108px !important;
    left: 15px !important;
    width: 295px !important;
    max-width: calc(100vw - 30px) !important;
  }

  .word-um{
    font-size: 1.55rem !important;
  }

  .word-movimento{
    font-size: 1.92rem !important;
  }

  .word-por{
    font-size: 1.22rem !important;
  }

  .word-alagoas{
    font-size: 2.02rem !important;
  }

  .hero-candidate{
    right: -13vw !important;
    width: 82vw !important;
    height: 56% !important;
  }
}

@media (max-width: 390px){

  .hero-campaign{
    min-height: 760px !important;
  }

  .hero-slogan{
    top: 102px !important;
    width: 275px !important;
  }

  .word-movimento{
    font-size: 1.78rem !important;
  }

  .word-alagoas{
    font-size: 1.88rem !important;
  }

  .hero-candidate{
    right: -16vw !important;
    width: 86vw !important;
    height: 55% !important;
  }
}

/* =========================================================
   AJUSTE MOBILE — LOGO PRINCIPAL VISÍVEL SEM SOBREPOR TEXTO
   ========================================================= */

@media (max-width: 767.98px){

  .hero-campaign{
    min-height: 920px !important;
    background:
      linear-gradient(
        180deg,
        var(--yellow) 0 36%,
        var(--cyan) 36% 67%,
        var(--orange) 67% 100%
      ) !important;
  }

  /* Mantém a logo principal da campanha também no mobile */
  .hero-logo{
    display: block !important;
    position: absolute !important;
    top: 258px !important;
    left: 18px !important;
    right: auto !important;
    bottom: auto !important;
    width: 250px !important;
    max-width: 56vw !important;
    height: auto !important;
    z-index: 28 !important;
    transform: none !important;
    pointer-events: none !important;
  }

  .hero-logo.reveal,
  .hero-logo.reveal.is-visible{
    opacity: 1 !important;
    transform: none !important;
  }

  .hero-logo .campaign-logo{
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-height: 150px !important;
    object-fit: contain !important;
    object-position: left center !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
  }

  .hero-logo .logo-type-fallback{
    display: flex;
    align-items: flex-start !important;
    text-align: left !important;
  }

  /* Slogan continua isolado acima da logo */
  .hero-slogan{
    top: 112px !important;
    z-index: 30 !important;
  }

  /* Candidato começa mais abaixo, sem invadir slogan/logo */
  .hero-candidate{
    height: 54% !important;
    right: -9vw !important;
    z-index: 12 !important;
  }
}

@media (max-width: 575.98px){

  .hero-campaign{
    min-height: 860px !important;
    background:
      linear-gradient(
        180deg,
        var(--yellow) 0 39%,
        var(--cyan) 39% 68%,
        var(--orange) 68% 100%
      ) !important;
  }

  .hero-slogan{
    top: 104px !important;
  }

  .hero-logo{
    top: 245px !important;
    left: 15px !important;
    width: 220px !important;
    max-width: 60vw !important;
  }

  .hero-logo .campaign-logo{
    max-height: 132px !important;
  }

  .hero-candidate{
    height: 52% !important;
    right: -12vw !important;
  }
}

@media (max-width: 390px){

  .hero-campaign{
    min-height: 820px !important;
    background:
      linear-gradient(
        180deg,
        var(--yellow) 0 41%,
        var(--cyan) 41% 69%,
        var(--orange) 69% 100%
      ) !important;
  }

  .hero-slogan{
    top: 100px !important;
  }

  .hero-logo{
    top: 232px !important;
    left: 14px !important;
    width: 200px !important;
    max-width: 62vw !important;
  }

  .hero-logo .campaign-logo{
    max-height: 120px !important;
  }

  .hero-candidate{
    height: 50% !important;
    right: -15vw !important;
  }
}

/* =========================================================
   ARTE ANIMADA DA AGENDA
   ========================================================= */

.agenda-mascot-stage{
 --agenda-car-width:clamp(260px,31vw,500px);
 --agenda-speed:11s;
 position:relative;
 width:100%;
 height:310px;
 margin:-12px 0 42px;
 overflow:hidden;
 isolation:isolate;
 pointer-events:none;
}

.agenda-mascot-stage::after{
 content:"";
 position:absolute;
 left:0;
 right:0;
 bottom:24px;
 height:4px;
 opacity:.38;
 background:repeating-linear-gradient(90deg,currentColor 0 34px,transparent 34px 54px);
 z-index:0;
}

.agenda-mascot-home{
 color:#ffffff;
}

.agenda-mascot-page{
 color:#1733c4;
 margin-top:-18px;
}

.agenda-mascot-runner{
 position:absolute;
 z-index:2;
 left:0;
 bottom:18px;
 width:var(--agenda-car-width);
 animation:agendaDrive var(--agenda-speed) ease-in-out infinite;
 will-change:left;
}

.agenda-mascot-runner img{
 display:block;
 width:100%;
 height:auto;
 max-height:285px;
 object-fit:contain;
 object-position:left bottom;
 border:0;
 outline:0;
 box-shadow:none;
 background:transparent;
 animation:agendaCarFloat 1.8s ease-in-out infinite alternate;
}

@keyframes agendaDrive{
 0%,100%{left:0}
 50%{left:calc(100% - var(--agenda-car-width))}
}

@keyframes agendaCarFloat{
 from{transform:translateY(0)}
 to{transform:translateY(-6px)}
}

.agenda-admin-preview{
 min-height:220px;
 display:flex;
 flex-direction:column;
 justify-content:center;
 align-items:center;
 gap:10px;
 padding:20px;
 border:2px dashed rgba(23,51,196,.22);
 background:#f7f8ff;
 border-radius:18px;
 overflow:hidden;
}

.agenda-admin-preview img{
 display:block;
 width:min(100%,420px);
 max-height:260px;
 object-fit:contain;
}

.agenda-admin-preview small{
 color:#667085;
 font-weight:700;
}

@media(max-width:991.98px){
 .agenda-mascot-stage{
  --agenda-car-width:clamp(240px,46vw,410px);
  height:260px;
  margin:0 0 34px;
 }

 .agenda-mascot-runner img{
  max-height:235px;
 }
}

@media(max-width:767.98px){
 .agenda-mascot-stage{
  --agenda-car-width:min(68vw,330px);
  height:220px;
  margin:4px 0 30px;
 }

 .agenda-mascot-stage::after{
  bottom:15px;
  height:3px;
 }

 .agenda-mascot-runner{
  bottom:10px;
 }

 .agenda-mascot-runner img{
  max-height:205px;
 }
}

@media(max-width:575.98px){
 .agenda-mascot-stage{
  --agenda-car-width:min(72vw,285px);
  height:190px;
  margin:0 0 26px;
 }

 .agenda-mascot-runner img{
  max-height:175px;
 }
}

@media(prefers-reduced-motion:reduce){
 .agenda-mascot-runner{
  left:50%;
  transform:translateX(-50%);
  animation:none!important;
 }

 .agenda-mascot-runner img{
  animation:none!important;
 }
}

/* =========================================================
   HERO — FUNDO MAIS PRÓXIMO DA IDENTIDADE DE REFERÊNCIA
   Remove a bola azul e deixa o fundo mais gráfico.
   ========================================================= */

.hero-campaign{
 background:
  linear-gradient(90deg,var(--yellow) 0 33.5%,var(--cyan) 33.5% 67%,var(--orange) 67% 100%) !important;
 overflow:hidden;
 isolation:isolate;
}

.hero-campaign .hero-panel,
.hero-campaign .hero-arc,
.hero-campaign .hero-swoosh{
 display:none !important;
}

.hero-campaign .custom-element{
 display:none !important;
}

.hero-campaign::before{
 content:"→";
 position:absolute;
 left:7%;
 top:8%;
 width:230px;
 height:230px;
 border:18px solid rgba(243,92,27,.28);
 border-radius:50%;
 color:rgba(243,92,27,.42);
 display:flex;
 align-items:center;
 justify-content:center;
 font-size:120px;
 font-weight:900;
 line-height:1;
 z-index:0;
 pointer-events:none;
}

.hero-campaign::after{
 content:"G";
 position:absolute;
 left:31%;
 top:2%;
 font-size:clamp(26rem,43vw,44rem);
 font-weight:1000;
 line-height:.8;
 color:rgba(167,184,83,.34);
 z-index:0;
 pointer-events:none;
 transform:translateX(-2%) rotate(0deg);
 text-shadow:none;
}

.hero-campaign .hero-star{
 opacity:.65;
}

.hero-campaign .star-one{
 display:none !important;
}

.hero-campaign .star-two{
 right:2.2%;
 top:4%;
 z-index:8;
}

.hero-slogan{
 z-index:10;
}

.hero-candidate{
 z-index:6;
}

.hero-logo{
 z-index:9;
}

@media(max-width:1199.98px){
 .hero-campaign::before{
  width:200px;
  height:200px;
  font-size:104px;
  left:6%;
  top:9%;
 }

 .hero-campaign::after{
  left:27%;
  top:9%;
  font-size:clamp(22rem,40vw,36rem);
 }
}

@media(max-width:991.98px){
 .hero-campaign::before{
  width:175px;
  height:175px;
  border-width:15px;
  font-size:90px;
  left:5%;
  top:11%;
 }

 .hero-campaign::after{
  left:24%;
  top:16%;
  font-size:clamp(18rem,38vw,28rem);
  color:rgba(167,184,83,.28);
 }
}

@media(max-width:767.98px){
 .hero-campaign{
  background:
   linear-gradient(180deg,var(--yellow) 0 38%,var(--cyan) 38% 69%,var(--orange) 69% 100%) !important;
 }

 .hero-campaign::before{
  width:145px;
  height:145px;
  border-width:12px;
  font-size:72px;
  left:-6px;
  top:96px;
  color:rgba(243,92,27,.36);
  border-color:rgba(243,92,27,.24);
 }

 .hero-campaign::after{
  left:48%;
  top:12%;
  transform:translateX(-50%);
  font-size:clamp(16rem,54vw,24rem);
  color:rgba(167,184,83,.24);
 }

 .hero-campaign .star-two{
  right:16px;
  top:98px;
  font-size:28px;
 }
}

@media(max-width:575.98px){
 .hero-campaign::before{
  width:132px;
  height:132px;
  font-size:66px;
  top:102px;
 }

 .hero-campaign::after{
  top:15%;
  font-size:clamp(14rem,52vw,20rem);
 }
}

@media(max-width:390px){
 .hero-campaign::before{
  width:118px;
  height:118px;
  font-size:58px;
  top:100px;
 }

 .hero-campaign::after{
  top:17%;
  font-size:clamp(12rem,50vw,18rem);
 }
}

/* =========================================================
   HERO FINAL — SOMENTE CORES SÓLIDAS
   ========================================================= */

.hero-campaign{
 background:
  linear-gradient(
   90deg,
   var(--yellow) 0 33.333%,
   var(--cyan) 33.333% 66.666%,
   var(--orange) 66.666% 100%
  ) !important;
 overflow:hidden !important;
 isolation:isolate !important;
}

/* Remove todos os grafismos automáticos do topo */
.hero-campaign::before,
.hero-campaign::after{
 content:none !important;
 display:none !important;
}

.hero-campaign .hero-panel,
.hero-campaign .hero-arc,
.hero-campaign .hero-swoosh,
.hero-campaign .hero-star,
.hero-campaign .custom-element{
 display:none !important;
}

/* Mantém apenas o conteúdo principal */
.hero-slogan{
 z-index:10 !important;
}

.hero-candidate{
 z-index:6 !important;
}

.hero-logo{
 z-index:9 !important;
}

/* Mobile: faixas sólidas horizontais */
@media(max-width:767.98px){
 .hero-campaign{
  background:
   linear-gradient(
    180deg,
    var(--yellow) 0 36%,
    var(--cyan) 36% 68%,
    var(--orange) 68% 100%
   ) !important;
 }
}

/* =========================================================
   HERO RESPONSIVO MASTER
   Regra definitiva:
   slogan = esquerda | candidato = centro | logo/número = direita
   Nenhum dos três invade a zona do outro.
   ========================================================= */

.hero-campaign{
 position:relative !important;
 overflow:hidden !important;
 isolation:isolate !important;
 min-height:680px !important;
 height:min(930px,calc(100svh - 68px)) !important;
 background:
  linear-gradient(
   90deg,
   var(--yellow) 0 33.333%,
   var(--cyan) 33.333% 66.666%,
   var(--orange) 66.666% 100%
  ) !important;
}

/* Fundo limpo: somente as três cores */
.hero-campaign::before,
.hero-campaign::after,
.hero-campaign .hero-panel,
.hero-campaign .hero-arc,
.hero-campaign .hero-swoosh,
.hero-campaign .hero-star,
.hero-campaign .custom-element{
 display:none !important;
 content:none !important;
}

/* ---------------------------------------------------------
   COLUNA ESQUERDA — SLOGAN
   --------------------------------------------------------- */
.hero-campaign .hero-slogan{
 position:absolute !important;
 left:clamp(28px,4vw,78px) !important;
 right:auto !important;
 top:50% !important;
 bottom:auto !important;
 width:min(26vw,470px) !important;
 max-width:calc(33.333% - clamp(50px,7vw,125px)) !important;
 display:flex !important;
 flex-wrap:wrap !important;
 align-items:flex-end !important;
 transform:translateY(-50%) !important;
 z-index:20 !important;
 margin:0 !important;
}

.hero-campaign .hero-slogan.reveal,
.hero-campaign .hero-slogan.reveal.is-visible{
 transform:translateY(-50%) !important;
}

.hero-campaign .hero-slogan .word{
 position:relative !important;
 display:inline-block !important;
 width:auto !important;
 max-width:100% !important;
 line-height:.88 !important;
 letter-spacing:-.055em !important;
 white-space:nowrap !important;
 margin-right:0 !important;
}

.hero-campaign .word-um{
 font-size:clamp(1.85rem,2.6vw,3.35rem) !important;
 padding:4px 9px !important;
 margin-left:14px !important;
}

.hero-campaign .word-movimento{
 font-size:clamp(2.05rem,3.35vw,4.25rem) !important;
 padding:5px 11px !important;
}

.hero-campaign .word-por{
 font-size:clamp(1.35rem,2.05vw,2.35rem) !important;
 padding:5px 8px !important;
 margin-left:0 !important;
}

.hero-campaign .word-alagoas{
 font-size:clamp(2.2rem,3.55vw,4.55rem) !important;
 padding:5px 11px !important;
}

/* ---------------------------------------------------------
   COLUNA CENTRAL — CANDIDATO
   --------------------------------------------------------- */
.hero-campaign .hero-candidate{
 position:absolute !important;
 left:50% !important;
 right:auto !important;
 top:auto !important;
 bottom:0 !important;
 width:min(35vw,680px) !important;
 max-width:35vw !important;
 height:96% !important;
 display:flex !important;
 align-items:flex-end !important;
 justify-content:center !important;
 transform:translateX(-50%) !important;
 z-index:12 !important;
 pointer-events:none !important;
 margin:0 !important;
}

.hero-campaign .hero-candidate.reveal,
.hero-campaign .hero-candidate.reveal.is-visible{
 transform:translateX(-50%) !important;
}

.hero-campaign .candidate-cutout{
 display:block !important;
 width:100% !important;
 height:100% !important;
 object-fit:contain !important;
 object-position:center bottom !important;
 border:0 !important;
 outline:0 !important;
 box-shadow:none !important;
 background:transparent !important;
 filter:none !important;
}

/* ---------------------------------------------------------
   COLUNA DIREITA — LOGO / NÚMERO
   --------------------------------------------------------- */
.hero-campaign .hero-logo{
 position:absolute !important;
 left:auto !important;
 right:clamp(26px,3.5vw,70px) !important;
 top:50% !important;
 bottom:auto !important;
 width:min(27vw,470px) !important;
 max-width:calc(33.333% - clamp(48px,6vw,115px)) !important;
 color:#fff !important;
 transform:translateY(-50%) !important;
 z-index:22 !important;
 margin:0 !important;
}

.hero-campaign .hero-logo.reveal,
.hero-campaign .hero-logo.reveal.is-visible{
 transform:translateY(-50%) !important;
}

.hero-campaign .campaign-logo{
 display:block !important;
 width:100% !important;
 height:auto !important;
 max-width:100% !important;
 max-height:260px !important;
 object-fit:contain !important;
 object-position:center center !important;
 border:0 !important;
 outline:0 !important;
 box-shadow:none !important;
 background:transparent !important;
}

.hero-campaign .logo-type-fallback{
 width:100% !important;
 align-items:center !important;
 text-align:center !important;
}

.hero-campaign .hero-cta{
 margin:24px auto 0 !important;
}

/* O texto inferior nunca concorre com candidato/logo */
.hero-campaign .hero-scroll{
 z-index:30 !important;
}

/* =========================================================
   NOTEBOOKS / TELAS INTERMEDIÁRIAS
   Continua em 3 colunas, apenas reduzindo proporcionalmente.
   ========================================================= */
@media (max-width:1199.98px){

 .hero-campaign{
  min-height:650px !important;
 }

 .hero-campaign .hero-slogan{
  left:26px !important;
  width:29vw !important;
  max-width:29vw !important;
 }

 .hero-campaign .word-um{
  font-size:clamp(1.55rem,2.45vw,2.4rem) !important;
 }

 .hero-campaign .word-movimento{
  font-size:clamp(1.75rem,3.05vw,3rem) !important;
 }

 .hero-campaign .word-por{
  font-size:clamp(1.15rem,1.8vw,1.7rem) !important;
 }

 .hero-campaign .word-alagoas{
  font-size:clamp(1.9rem,3.2vw,3.2rem) !important;
 }

 .hero-campaign .hero-candidate{
  width:36vw !important;
  max-width:36vw !important;
  height:94% !important;
 }

 .hero-campaign .hero-logo{
  right:24px !important;
  width:28vw !important;
  max-width:28vw !important;
 }

 .hero-campaign .hero-cta{
  margin-top:16px !important;
  font-size:.7rem !important;
  padding:10px 13px !important;
 }

 .hero-campaign .hero-scroll{
  display:none !important;
 }
}

/* =========================================================
   TABLETS / JANELAS ESTREITAS
   Ainda mantém ESQUERDA | CENTRO | DIREITA.
   ========================================================= */
@media (max-width:991.98px){

 .hero-campaign{
  height:auto !important;
  min-height:720px !important;
  background:
   linear-gradient(
    90deg,
    var(--yellow) 0 32%,
    var(--cyan) 32% 69%,
    var(--orange) 69% 100%
   ) !important;
 }

 .hero-campaign .hero-slogan{
  left:18px !important;
  top:46% !important;
  width:29vw !important;
  max-width:29vw !important;
  transform:translateY(-50%) !important;
 }

 .hero-campaign .hero-slogan.reveal,
 .hero-campaign .hero-slogan.reveal.is-visible{
  transform:translateY(-50%) !important;
 }

 .hero-campaign .word-um{
  font-size:clamp(1.25rem,2.2vw,1.9rem) !important;
  margin-left:8px !important;
  padding:3px 7px !important;
 }

 .hero-campaign .word-movimento{
  font-size:clamp(1.4rem,2.6vw,2.2rem) !important;
  padding:4px 7px !important;
 }

 .hero-campaign .word-por{
  font-size:clamp(.95rem,1.65vw,1.35rem) !important;
  padding:4px 6px !important;
 }

 .hero-campaign .word-alagoas{
  font-size:clamp(1.5rem,2.75vw,2.35rem) !important;
  padding:4px 7px !important;
 }

 .hero-campaign .hero-candidate{
  left:50% !important;
  right:auto !important;
  width:38vw !important;
  max-width:38vw !important;
  height:91% !important;
  transform:translateX(-50%) !important;
 }

 .hero-campaign .hero-candidate.reveal,
 .hero-campaign .hero-candidate.reveal.is-visible{
  transform:translateX(-50%) !important;
 }

 .hero-campaign .hero-logo{
  display:block !important;
  left:auto !important;
  right:16px !important;
  top:46% !important;
  bottom:auto !important;
  width:27vw !important;
  max-width:27vw !important;
  transform:translateY(-50%) !important;
 }

 .hero-campaign .hero-logo.reveal,
 .hero-campaign .hero-logo.reveal.is-visible{
  transform:translateY(-50%) !important;
 }

 .hero-campaign .hero-logo .campaign-logo{
  width:100% !important;
  max-height:190px !important;
 }

 .hero-campaign .hero-cta{
  display:none !important;
 }
}

/* =========================================================
   CELULARES
   Continua literalmente:
   slogan à esquerda | Guilherme no centro | marca à direita.
   Tudo é reduzido para caber em sua própria zona.
   ========================================================= */
@media (max-width:767.98px){

 .hero-campaign{
  min-height:690px !important;
  height:calc(100svh - 62px) !important;
  max-height:840px !important;
  background:
   linear-gradient(
    90deg,
    var(--yellow) 0 31%,
    var(--cyan) 31% 70%,
    var(--orange) 70% 100%
   ) !important;
 }

 .hero-campaign .hero-slogan{
  display:flex !important;
  left:10px !important;
  right:auto !important;
  top:44% !important;
  bottom:auto !important;
  width:29vw !important;
  max-width:29vw !important;
  transform:translateY(-50%) !important;
 }

 .hero-campaign .hero-slogan.reveal,
 .hero-campaign .hero-slogan.reveal.is-visible{
  transform:translateY(-50%) !important;
 }

 .hero-campaign .word-um{
  font-size:clamp(.95rem,3.7vw,1.45rem) !important;
  margin-left:5px !important;
  padding:2px 5px !important;
 }

 .hero-campaign .word-movimento{
  font-size:clamp(1.05rem,4vw,1.6rem) !important;
  padding:3px 5px !important;
 }

 .hero-campaign .word-por{
  font-size:clamp(.72rem,2.65vw,1rem) !important;
  padding:3px 4px !important;
 }

 .hero-campaign .word-alagoas{
  font-size:clamp(1.08rem,4.15vw,1.7rem) !important;
  padding:3px 5px !important;
 }

 .hero-campaign .hero-candidate{
  left:50% !important;
  right:auto !important;
  top:auto !important;
  bottom:0 !important;
  width:43vw !important;
  max-width:43vw !important;
  height:88% !important;
  transform:translateX(-50%) !important;
 }

 .hero-campaign .hero-candidate.reveal,
 .hero-campaign .hero-candidate.reveal.is-visible{
  transform:translateX(-50%) !important;
 }

 .hero-campaign .candidate-cutout{
  object-position:center bottom !important;
 }

 .hero-campaign .hero-logo{
  display:block !important;
  left:auto !important;
  right:8px !important;
  top:42% !important;
  bottom:auto !important;
  width:27vw !important;
  max-width:27vw !important;
  transform:translateY(-50%) !important;
 }

 .hero-campaign .hero-logo.reveal,
 .hero-campaign .hero-logo.reveal.is-visible{
  transform:translateY(-50%) !important;
 }

 .hero-campaign .hero-logo .campaign-logo{
  width:100% !important;
  max-height:145px !important;
  object-position:center !important;
 }

 .hero-campaign .logo-type-fallback span{
  font-size:clamp(.35rem,1.1vw,.55rem) !important;
 }

 .hero-campaign .logo-type-fallback b{
  font-size:clamp(1.25rem,5vw,2.15rem) !important;
 }

 .hero-campaign .logo-type-fallback strong{
  font-size:clamp(.75rem,2.6vw,1.15rem) !important;
 }

 .hero-campaign .logo-type-fallback em{
  font-size:clamp(1.75rem,7vw,3rem) !important;
 }

 .hero-campaign .hero-cta,
 .hero-campaign .hero-scroll{
  display:none !important;
 }
}

/* =========================================================
   IPHONE / CELULARES MAIS ESTREITOS
   ========================================================= */
@media (max-width:575.98px){

 .hero-campaign{
  min-height:640px !important;
  max-height:760px !important;
 }

 .hero-campaign .hero-slogan{
  left:7px !important;
  width:30vw !important;
  max-width:30vw !important;
  top:43% !important;
 }

 .hero-campaign .word-um{
  font-size:clamp(.82rem,3.5vw,1.1rem) !important;
 }

 .hero-campaign .word-movimento{
  font-size:clamp(.91rem,3.75vw,1.2rem) !important;
 }

 .hero-campaign .word-por{
  font-size:clamp(.62rem,2.5vw,.8rem) !important;
 }

 .hero-campaign .word-alagoas{
  font-size:clamp(.96rem,3.9vw,1.3rem) !important;
 }

 .hero-campaign .hero-candidate{
  width:44vw !important;
  max-width:44vw !important;
  height:86% !important;
 }

 .hero-campaign .hero-logo{
  right:6px !important;
  width:26vw !important;
  max-width:26vw !important;
  top:41% !important;
 }
}

@media (max-width:430px){

 .hero-campaign{
  min-height:610px !important;
  max-height:720px !important;
 }

 .hero-campaign .hero-slogan{
  left:5px !important;
  top:41% !important;
 }

 .hero-campaign .word-um{
  font-size:.78rem !important;
  padding:2px 4px !important;
 }

 .hero-campaign .word-movimento{
  font-size:.87rem !important;
  padding:3px 4px !important;
 }

 .hero-campaign .word-por{
  font-size:.57rem !important;
  padding:3px 3px !important;
 }

 .hero-campaign .word-alagoas{
  font-size:.9rem !important;
  padding:3px 4px !important;
 }

 .hero-campaign .hero-candidate{
  width:45vw !important;
  max-width:45vw !important;
  height:84% !important;
 }

 .hero-campaign .hero-logo{
  right:4px !important;
  width:25vw !important;
  max-width:25vw !important;
  top:40% !important;
 }
}

/* =========================================================
   HERO MOBILE REFINADO
   Em smartphones:
   slogan à esquerda no topo
   Guilherme centralizado no topo (busto para cima)
   logo/número à direita no topo
   ========================================================= */

@media (max-width: 767.98px){

 .hero-campaign{
  min-height:620px !important;
  height:calc(100svh - 62px) !important;
  max-height:760px !important;
  background:
   linear-gradient(
    90deg,
    var(--yellow) 0 31%,
    var(--cyan) 31% 70%,
    var(--orange) 70% 100%
   ) !important;
 }

 .hero-campaign .hero-slogan{
  left:10px !important;
  top:150px !important;
  bottom:auto !important;
  width:29vw !important;
  max-width:29vw !important;
  transform:translateY(0) !important;
  align-items:flex-start !important;
 }

 .hero-campaign .hero-slogan.reveal,
 .hero-campaign .hero-slogan.reveal.is-visible{
  transform:translateY(0) !important;
 }

 .hero-campaign .word{
  line-height:.9 !important;
 }

 .hero-campaign .word-um{
  font-size:clamp(.95rem,3.9vw,1.45rem) !important;
  margin-left:4px !important;
  padding:2px 5px !important;
 }

 .hero-campaign .word-movimento{
  font-size:clamp(1.08rem,4.15vw,1.65rem) !important;
  padding:3px 5px !important;
 }

 .hero-campaign .word-por{
  font-size:clamp(.72rem,2.7vw,1rem) !important;
  padding:3px 4px !important;
 }

 .hero-campaign .word-alagoas{
  font-size:clamp(1.1rem,4.25vw,1.75rem) !important;
  padding:3px 5px !important;
 }

 .hero-campaign .hero-candidate{
  left:50% !important;
  top:124px !important;
  bottom:auto !important;
  width:34vw !important;
  max-width:34vw !important;
  height:320px !important;
  transform:translateX(-50%) !important;
  overflow:hidden !important;
  align-items:flex-start !important;
  justify-content:center !important;
 }

 .hero-campaign .hero-candidate.reveal,
 .hero-campaign .hero-candidate.reveal.is-visible{
  transform:translateX(-50%) !important;
 }

 .hero-campaign .candidate-cutout{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center 8% !important;
  transform:scale(1.04) !important;
 }

 .hero-campaign .hero-logo{
  right:8px !important;
  top:150px !important;
  bottom:auto !important;
  width:27vw !important;
  max-width:27vw !important;
  transform:translateY(0) !important;
 }

 .hero-campaign .hero-logo.reveal,
 .hero-campaign .hero-logo.reveal.is-visible{
  transform:translateY(0) !important;
 }

 .hero-campaign .hero-logo .campaign-logo{
  width:100% !important;
  max-height:150px !important;
  object-fit:contain !important;
  object-position:center top !important;
 }

 .hero-campaign .logo-type-fallback{
  align-items:center !important;
  text-align:center !important;
 }

 .hero-campaign .logo-type-fallback span{
  font-size:clamp(.34rem,1vw,.5rem) !important;
 }

 .hero-campaign .logo-type-fallback b{
  font-size:clamp(1.12rem,4.85vw,2rem) !important;
 }

 .hero-campaign .logo-type-fallback strong{
  font-size:clamp(.72rem,2.45vw,1.05rem) !important;
 }

 .hero-campaign .logo-type-fallback em{
  font-size:clamp(1.65rem,6.6vw,2.8rem) !important;
 }

 .hero-campaign .hero-cta,
 .hero-campaign .hero-scroll{
  display:none !important;
 }
}

@media (max-width: 575.98px){

 .hero-campaign{
  min-height:590px !important;
  max-height:710px !important;
 }

 .hero-campaign .hero-slogan{
  left:8px !important;
  top:140px !important;
  width:30vw !important;
  max-width:30vw !important;
 }

 .hero-campaign .word-um{
  font-size:clamp(.82rem,3.55vw,1.08rem) !important;
 }

 .hero-campaign .word-movimento{
  font-size:clamp(.93rem,3.8vw,1.22rem) !important;
 }

 .hero-campaign .word-por{
  font-size:clamp(.61rem,2.45vw,.8rem) !important;
 }

 .hero-campaign .word-alagoas{
  font-size:clamp(.97rem,3.95vw,1.35rem) !important;
 }

 .hero-campaign .hero-candidate{
  top:118px !important;
  width:36vw !important;
  max-width:36vw !important;
  height:300px !important;
 }

 .hero-campaign .candidate-cutout{
  object-position:center 10% !important;
 }

 .hero-campaign .hero-logo{
  right:6px !important;
  top:140px !important;
  width:28vw !important;
  max-width:28vw !important;
 }

 .hero-campaign .hero-logo .campaign-logo{
  max-height:138px !important;
 }
}

@media (max-width: 430px){

 .hero-campaign{
  min-height:560px !important;
  max-height:680px !important;
 }

 .hero-campaign .hero-slogan{
  left:6px !important;
  top:132px !important;
  width:31vw !important;
  max-width:31vw !important;
 }

 .hero-campaign .word-um{
  font-size:.76rem !important;
  padding:2px 4px !important;
 }

 .hero-campaign .word-movimento{
  font-size:.86rem !important;
  padding:3px 4px !important;
 }

 .hero-campaign .word-por{
  font-size:.56rem !important;
  padding:3px 3px !important;
 }

 .hero-campaign .word-alagoas{
  font-size:.89rem !important;
  padding:3px 4px !important;
 }

 .hero-campaign .hero-candidate{
  top:110px !important;
  width:38vw !important;
  max-width:38vw !important;
  height:280px !important;
 }

 .hero-campaign .candidate-cutout{
  object-position:center 10% !important;
  transform:scale(1.05) !important;
 }

 .hero-campaign .hero-logo{
  right:4px !important;
  top:132px !important;
  width:29vw !important;
  max-width:29vw !important;
 }

 .hero-campaign .hero-logo .campaign-logo{
  max-height:126px !important;
 }
}

/* =========================================================
   HERO MOBILE — ALTURA AJUSTADA AO CONTEÚDO
   Remove o grande espaço vazio abaixo do busto e faz o
   restante do site subir imediatamente após a composição.
   ========================================================= */

@media (max-width: 767.98px){

 .hero-campaign{
  height:460px !important;
  min-height:460px !important;
  max-height:460px !important;
 }

 .hero-campaign .hero-slogan{
  top:72px !important;
 }

 .hero-campaign .hero-candidate{
  top:45px !important;
  height:400px !important;
 }

 .hero-campaign .hero-logo{
  top:72px !important;
 }

 .hero-campaign .candidate-cutout{
  object-position:center top !important;
 }
}

@media (max-width: 575.98px){

 .hero-campaign{
  height:430px !important;
  min-height:430px !important;
  max-height:430px !important;
 }

 .hero-campaign .hero-slogan{
  top:66px !important;
 }

 .hero-campaign .hero-candidate{
  top:40px !important;
  height:380px !important;
 }

 .hero-campaign .hero-logo{
  top:66px !important;
 }
}

@media (max-width: 430px){

 .hero-campaign{
  height:405px !important;
  min-height:405px !important;
  max-height:405px !important;
 }

 .hero-campaign .hero-slogan{
  top:60px !important;
 }

 .hero-campaign .hero-candidate{
  top:36px !important;
  height:360px !important;
 }

 .hero-campaign .hero-logo{
  top:60px !important;
 }
}

/* =========================================================
   CORREÇÃO MOBILE — HEADER FIXO NÃO PODE COBRIR O HERO
   O problema do corte no topo era o header fixo sobrepondo
   o início da hero. Agora o conteúdo começa DEPOIS do menu.
   ========================================================= */

@media (max-width: 767.98px){

 main{
  padding-top:74px !important;
 }

 .hero-campaign{
  height:405px !important;
  min-height:405px !important;
  max-height:405px !important;
 }

 .hero-campaign .hero-slogan{
  top:26px !important;
  transform:none !important;
 }

 .hero-campaign .hero-slogan.reveal,
 .hero-campaign .hero-slogan.reveal.is-visible{
  transform:none !important;
 }

 .hero-campaign .hero-candidate{
  top:10px !important;
  bottom:auto !important;
  height:388px !important;
 }

 .hero-campaign .hero-candidate.reveal,
 .hero-campaign .hero-candidate.reveal.is-visible{
  transform:translateX(-50%) !important;
 }

 .hero-campaign .hero-logo{
  top:26px !important;
  transform:none !important;
 }

 .hero-campaign .hero-logo.reveal,
 .hero-campaign .hero-logo.reveal.is-visible{
  transform:none !important;
 }

 .hero-campaign .candidate-cutout{
  object-position:center top !important;
 }
}

@media (max-width: 575.98px){

 main{
  padding-top:74px !important;
 }

 .hero-campaign{
  height:390px !important;
  min-height:390px !important;
  max-height:390px !important;
 }

 .hero-campaign .hero-slogan{
  top:22px !important;
 }

 .hero-campaign .hero-candidate{
  top:8px !important;
  height:374px !important;
 }

 .hero-campaign .hero-logo{
  top:22px !important;
 }
}

@media (max-width: 430px){

 main{
  padding-top:74px !important;
 }

 .hero-campaign{
  height:370px !important;
  min-height:370px !important;
  max-height:370px !important;
 }

 .hero-campaign .hero-slogan{
  top:18px !important;
 }

 .hero-campaign .hero-candidate{
  top:6px !important;
  height:356px !important;
 }

 .hero-campaign .hero-logo{
  top:18px !important;
 }
}

/* =========================================================
   AJUSTE FINAL MOBILE — GUILHERME PREENCHE A FAIXA AZUL
   No smartphone, a foto passa a ocupar toda a coluna azul,
   como no desktop, sem sobrar faixas ciano laterais.
   ========================================================= */

@media (max-width: 767.98px){

 .hero-campaign .hero-candidate{
  left:50% !important;
  top:0 !important;
  bottom:0 !important;
  width:39vw !important;
  max-width:39vw !important;
  height:405px !important;
  overflow:hidden !important;
  align-items:stretch !important;
  justify-content:stretch !important;
  background:transparent !important;
 }

 .hero-campaign .candidate-cutout{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center top !important;
  transform:scale(1.12) !important;
 }
}

@media (max-width: 575.98px){

 .hero-campaign .hero-candidate{
  top:0 !important;
  bottom:0 !important;
  width:39vw !important;
  max-width:39vw !important;
  height:390px !important;
 }

 .hero-campaign .candidate-cutout{
  object-fit:cover !important;
  object-position:center top !important;
  transform:scale(1.14) !important;
 }
}

@media (max-width: 430px){

 .hero-campaign .hero-candidate{
  top:0 !important;
  bottom:0 !important;
  width:39vw !important;
  max-width:39vw !important;
  height:370px !important;
 }

 .hero-campaign .candidate-cutout{
  object-fit:cover !important;
  object-position:center top !important;
  transform:scale(1.16) !important;
 }
}
.hero-campaign .custom-element{
 display:block !important;
}
/* Navigation */
.site-header nav{
 background-color:#d35400;
}

/* Campaign ticker */
#conteudo .campaign-ticker{
 background-color:#d35400;
}

/* =========================================================
   PROPOSTAS — TEMAS E FILTROS
   ========================================================= */
.proposals-page .proposal-theme-filters{
 display:flex;
 flex-wrap:wrap;
 gap:9px;
 margin:-18px 0 34px;
 padding-bottom:18px;
 border-bottom:2px solid rgba(23,51,196,.12);
}
.proposals-page .proposal-theme-filter{
 appearance:none;
 border:2px solid rgba(23,51,196,.16);
 background:#fff;
 color:#1733c4;
 min-height:42px;
 padding:9px 14px;
 font-size:.75rem;
 font-weight:1000;
 text-transform:uppercase;
 letter-spacing:.045em;
 transition:.18s ease;
}
.proposals-page .proposal-theme-filter:hover{
 border-color:#f35c1b;
 color:#f35c1b;
 transform:translateY(-1px);
}
.proposals-page .proposal-theme-filter.is-active{
 background:#1733c4;
 border-color:#1733c4;
 color:#fff;
 box-shadow:0 8px 22px rgba(23,51,196,.16);
}
.proposals-page .proposal-campaign[hidden]{
 display:none!important;
}
.proposals-page .proposal-theme-label{
 position:absolute;
 left:28px;
 top:58px;
 display:inline-flex;
 align-items:center;
 gap:6px;
 max-width:calc(100% - 56px);
 padding:6px 9px;
 background:rgba(255,255,255,.94);
 color:#1733c4;
 font-size:.68rem;
 font-weight:1000;
 text-transform:uppercase;
 letter-spacing:.045em;
 line-height:1.1;
}
.proposals-page .proposal-theme-label i{
 position:static;
 font-size:.78rem;
}
.proposals-page .proposal-campaign.has-theme h2{
 margin-top:102px;
}
.proposals-page .proposal-filter-empty{
 margin-top:18px;
 padding:24px;
 background:#fff;
 border:2px dashed rgba(23,51,196,.18);
 color:#5265b9;
 font-weight:800;
 text-align:center;
}
@media(max-width:767.98px){
 .proposals-page .proposal-theme-filters{
  flex-wrap:nowrap;
  overflow-x:auto;
  margin-top:-10px;
  margin-bottom:26px;
  padding:2px 0 14px;
  scrollbar-width:thin;
  -webkit-overflow-scrolling:touch;
 }
 .proposals-page .proposal-theme-filter{
  flex:0 0 auto;
  white-space:nowrap;
 }
 .proposals-page .proposal-theme-label{
  left:24px;
  top:56px;
  max-width:calc(100% - 48px);
 }
}
