/* Final interface refinements, loaded after the primary style sheet. */
html{scroll-snap-type:y proximity;scroll-behavior:smooth}.panel{scroll-snap-stop:always}
.navbar{padding:16px 5.5%;background:transparent;backdrop-filter:none;transition:height .55s cubic-bezier(.22,1,.36,1),padding .55s cubic-bezier(.22,1,.36,1)}
.navbar.scrolled{height:76px;padding-block:12px;background:transparent;backdrop-filter:none}
.navbar.on-solid{background:rgba(5,22,48,.84);backdrop-filter:blur(14px)}
.brand{display:flex;align-items:center;height:60px}
.brand img{width:112px;max-height:70px;object-fit:contain;object-position:left center;transition:transform .55s cubic-bezier(.22,1,.36,1),width .55s cubic-bezier(.22,1,.36,1)}
.navbar.scrolled .brand img{width:96px;transform:translateY(-2px)}
nav a{transition:opacity .25s ease,transform .25s ease}nav a:hover{opacity:.7;transform:translateY(-2px)}
.hero-image{transform:scale(1.1);animation:none}.parallax-image{will-change:transform}
.hero-content{animation:riseIn 1.2s cubic-bezier(.22,1,.36,1) both}.slide-index{animation:fadeIn 1.4s .5s both}
@keyframes heroBreath{to{transform:scale(1.14) translate3d(-1.2%,-.9%,0)}}
@keyframes riseIn{from{opacity:0;transform:translate3d(0,26px,0)}to{opacity:1;transform:none}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@media(max-width:720px){body.menu-open{overflow:hidden}.navbar{align-items:flex-start;background:transparent}.navbar .brand,.navbar .menu-button{position:relative;z-index:3}.navbar.open{height:92px;padding-top:16px;align-items:flex-start;background:transparent;backdrop-filter:none}.navbar.open .brand img{width:112px;transform:none}.menu-button{width:46px;height:46px;margin-top:0;padding:0;border:1px solid rgba(255,255,255,.5);background:rgba(5,22,48,.58);backdrop-filter:blur(8px);align-items:center;justify-content:center;gap:5px;cursor:pointer}.menu-button span{display:block;width:24px;height:2px;border:0;background:#fff;box-shadow:0 1px 5px rgba(0,0,0,.28);transition:transform .35s cubic-bezier(.22,1,.36,1),opacity .2s}.navbar.open .menu-button span:first-child{transform:translateY(7px) rotate(45deg)}.navbar.open .menu-button span:nth-child(2){opacity:0}.navbar.open .menu-button span:last-child{transform:translateY(-7px) rotate(-45deg)}.navbar nav{counter-reset:mobile-nav;position:fixed;inset:0;top:0;width:100%;height:100svh;padding:130px 8% 32px;background:rgba(5,22,48,.985);backdrop-filter:blur(18px);display:flex;flex-direction:column;align-items:stretch;gap:0;overflow:auto;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-18px);transition:opacity .3s ease,transform .45s cubic-bezier(.22,1,.36,1),visibility .45s}.navbar.open nav{opacity:1;visibility:visible;pointer-events:auto;transform:none;background:rgba(5,22,48,.985);backdrop-filter:blur(18px)}.navbar nav>a:not(.nav-cta){counter-increment:mobile-nav;position:relative;display:flex;align-items:center;padding:17px 0;border-bottom:1px solid rgba(255,255,255,.14);font-size:clamp(23px,7vw,30px);font-weight:500;letter-spacing:-.035em;color:#fff;opacity:1}.navbar nav>a:not(.nav-cta)::before{content:"0" counter(mobile-nav);width:46px;color:#ed1224;font-size:9px;font-weight:800;letter-spacing:.12em}.navbar nav>a:not(.nav-cta)::after{content:"→";margin-left:auto;color:rgba(255,255,255,.48);font-size:18px;font-weight:300}.navbar .nav-cta{display:flex;align-items:center;justify-content:space-between;margin-top:25px;border:0;background:#ed1224;padding:18px 20px;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.navbar .nav-cta span{font-size:18px}.navbar nav::after{content:"TRABALHO E PRESENÇA  •  1350";display:block;margin-top:auto;padding-top:28px;color:rgba(255,255,255,.45);font-size:8px;font-weight:700;letter-spacing:.18em}.navbar nav a{transform:translateY(-8px);transition:transform .45s cubic-bezier(.22,1,.36,1),opacity .3s}.navbar.open nav a{transform:none}.navbar.open nav a:nth-child(2){transition-delay:.04s}.navbar.open nav a:nth-child(3){transition-delay:.08s}.navbar.open nav a:nth-child(4){transition-delay:.12s}.navbar.open nav a:nth-child(5){transition-delay:.16s}}

/* Editorial carousel: one clear story, with the next story kept in view. */
.gallery{padding:8% 0 6% 8%;gap:5%;align-items:center;background:#f8f8f6}.gallery-heading{width:28%;min-width:310px}.gallery h2{font-size:clamp(45px,4.45vw,74px);line-height:.95;margin-bottom:38px}.gallery-window{padding:0;align-self:center}.gallery-track{gap:24px;align-items:center;will-change:transform}.gallery-card{position:relative;flex-basis:min(54vw,710px);height:66vh;min-height:480px;overflow:hidden;background:#0a1d3d;cursor:pointer;box-shadow:0 18px 40px rgba(6,18,39,.12)}.gallery-card img{height:100%;filter:grayscale(100%) brightness(.68);transition:transform .7s cubic-bezier(.22,1,.36,1),filter .55s ease}.gallery-card.active img{filter:grayscale(0) brightness(.82);transform:scale(1.025)}.gallery-card::after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(3,13,30,.82));pointer-events:none}.card-caption{position:absolute;z-index:1;left:34px;right:34px;bottom:30px;color:#fff;transform:translateY(8px);transition:transform .45s cubic-bezier(.22,1,.36,1)}.card-caption span{font-size:9px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:#ff4d56}.card-caption p{margin:10px 0 0;font-size:clamp(14px,1.15vw,18px);line-height:1.35;font-weight:600;max-width:430px}.gallery-card:not(.active) .card-caption{opacity:.82}.gallery-card:not(.active):hover img{filter:grayscale(0) brightness(.77);transform:scale(1.04)}.gallery-controls{gap:9px}.gallery-controls button{width:54px;height:54px;transition:background .25s,color .25s,transform .25s}.gallery-controls button:hover{transform:translateY(-3px);background:#071d3d;color:#fff;border-color:#071d3d}.gallery-controls .next:hover{background:#c9000b;border-color:#c9000b}.gallery-count{bottom:7%;left:8%;font-weight:500}.gallery-count::after{content:"";display:inline-block;width:72px;border-top:1px solid #a6abb4;margin:0 0 4px 13px}
@media(max-width:720px){.gallery{padding:22% 0 8% 8%}.gallery-heading{width:auto;min-width:0}.gallery-window{padding-top:30px}.gallery-card{flex-basis:78vw;height:52vh;min-height:360px}.card-caption{left:20px;right:20px;bottom:20px}.card-caption p{font-size:14px}.gallery-count::after{width:45px}}

.about-facts{list-style:none;margin:20px 0 28px;padding:0;border-top:1px solid rgba(24,24,24,.18)}.about-facts li{padding:8px 0;border-bottom:1px solid rgba(24,24,24,.18);font-size:10px;line-height:1.35;font-weight:600}.about-facts li::before{content:"•";color:#e30613;margin-right:8px}

/* Reveal motion shared by desktop and mobile. */
@media(prefers-reduced-motion:no-preference){.motion-item{opacity:0;transform:translate3d(0,28px,0);transition:opacity .75s ease,transform .75s cubic-bezier(.22,1,.36,1)}.motion-item.is-visible{opacity:1;transform:none}.motion-item.motion-delay{transition-delay:.14s}.gallery-window.motion-item{transition-delay:.2s}.gallery-card{transition:box-shadow .4s ease,transform .4s ease}.gallery-card.active{box-shadow:0 24px 48px rgba(6,18,39,.2)}}

/* Compact mobile composition: no overlap between the news counter and cards. */
@media(max-width:720px){.about-copy,.about-detail,.about-number{position:relative;z-index:1}.red-disc{z-index:0;opacity:.94}.gallery{padding:18% 0 5% 8%;overflow:hidden}.gallery h2{font-size:clamp(46px,14vw,64px);line-height:.94;margin-bottom:20px}.gallery-controls{top:27%;right:8%;z-index:2}.gallery-controls button{width:50px;height:50px}.gallery-window{padding-top:24px}.gallery-card{flex-basis:76vw;height:39svh;min-height:330px}.gallery-count{position:static;margin:14px 0 0;font-size:10px}.gallery-count b{font-size:18px}.gallery-count::after{width:42px}.card-caption{bottom:18px}.newsletter{min-height:620px}.footer{min-height:570px}}

/* Mobile carousel controls occupy their own row below the heading. */
@media(max-width:720px){.gallery{height:auto;min-height:100svh;padding:104px 0 28px 8%;align-content:start}.gallery-heading{display:block;width:auto;min-width:0;padding-right:8%}.gallery .eyebrow{margin-bottom:18px}.gallery h2{font-size:clamp(43px,13.2vw,58px);margin-bottom:24px}.gallery-controls{position:static;top:auto;right:auto;display:flex;justify-content:flex-start;margin:0}.gallery-window{padding-top:28px}.gallery-card{min-height:310px}.gallery-count{margin-top:16px}}

/* Mobile-only artwork for the candidacy section. */
@media(max-width:720px){.vote-photo{background-image:url('IMG/opt/5-1600.webp')!important;background-position:64% center!important;background-size:cover!important}}
.gallery-link{display:block;width:100%;height:100%;color:inherit;text-decoration:none}.card-caption h3{margin:10px 0 0;font-size:clamp(14px,1.15vw,18px);line-height:1.35;font-weight:600;max-width:430px}
.cms-block{min-height:70svh;background:#071d3d;color:#fff;display:grid;place-items:center;padding:10%}.cms-block>div{width:min(650px,100%)}.cms-block h2{font-size:clamp(38px,5vw,76px);line-height:.96;letter-spacing:-.06em;margin:0 0 24px}.cms-block p{font-size:14px;line-height:1.75}.cms-block form{display:grid;gap:12px;margin-top:28px}.cms-block label{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.cms-block input{display:block;width:100%;margin-top:7px;padding:14px;border:1px solid #ffffff66;background:transparent;color:#fff}.cms-block button{justify-self:start;border:0;background:#e30613;color:#fff;padding:15px 20px;font:700 10px Montserrat;letter-spacing:.1em;text-transform:uppercase}.cms-block small{font-size:11px;color:#fff}
.cms-block textarea,.cms-block select{display:block;width:100%;margin-top:7px;padding:14px;border:1px solid #ffffff66;background:transparent;color:#fff;font:13px Montserrat}.cms-block select option{color:#111}.cms-block fieldset{border:1px solid #ffffff44;margin:0;padding:14px}.cms-block legend{font-size:10px;font-weight:700;letter-spacing:.08em}.cms-block .choice{display:block;margin-top:9px;font-size:12px;text-transform:none;letter-spacing:0}.cms-block .choice input{display:inline;width:auto;margin:0 8px 0 0}

/* Campaign material request — navy pause before the red newsletter. */
.campaign-kit{background:#061a38;color:#fff;display:grid;grid-template-columns:minmax(0,.85fr) minmax(520px,1.15fr);gap:clamp(45px,7vw,120px);align-items:center;padding:8% 9%;min-height:100svh}.campaign-kit:before{content:"";position:absolute;width:42vw;aspect-ratio:1;border:1px solid rgba(255,255,255,.08);border-radius:50%;left:-22vw;bottom:-25vw}.campaign-kit-copy,.campaign-kit-form{position:relative;z-index:1}.campaign-kit-copy h2{font-size:clamp(52px,5.6vw,92px);line-height:.9;letter-spacing:-.07em;margin:0 0 30px}.campaign-kit-copy>p:not(.eyebrow){max-width:480px;color:#b9c5d5;font-size:14px;line-height:1.8}.campaign-kit-note{display:flex;align-items:end;gap:14px;margin-top:55px}.campaign-kit-note b{font-size:60px;line-height:.7;letter-spacing:-.12em}.campaign-kit-note span{font-size:8px;font-weight:800;letter-spacing:.1em}.campaign-kit-form{background:#fff;color:#101722;padding:clamp(25px,3vw,48px);box-shadow:0 30px 80px rgba(0,0,0,.24)}.form-heading{display:flex;gap:20px;align-items:flex-start;padding-bottom:25px;margin-bottom:23px;border-bottom:1px solid #d9dde3}.form-heading>span{font-weight:800;color:#e30613}.form-heading .eyebrow{color:#e30613;margin-bottom:8px}.form-heading h3{font-size:clamp(24px,2.4vw,38px);letter-spacing:-.05em;margin:0}.campaign-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.campaign-fields label{font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.campaign-fields .wide{grid-column:1/-1}.campaign-fields input{display:block;width:100%;border:0;border-bottom:1px solid #bfc5ce;padding:12px 0 10px;outline:0;font:500 13px Montserrat;color:#101722}.campaign-fields input:focus{border-color:#e30613}.campaign-fields input::placeholder{color:#9299a4}.campaign-fields small{display:block;min-height:13px;margin-top:5px;color:#536378;font-size:8px;letter-spacing:0;text-transform:none}.campaign-consent{display:flex;gap:9px;align-items:flex-start;margin:22px 0 18px;color:#606977;font-size:9px;line-height:1.5}.campaign-consent input{accent-color:#e30613;margin-top:2px}.campaign-kit-form>button{border:0;background:#e30613;color:#fff;padding:16px 20px;font:800 10px Montserrat;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;display:flex;justify-content:space-between;width:100%}.campaign-kit-form>button span{font-size:17px}.campaign-form-status{min-height:18px;margin:12px 0 0;color:#28466d;font-size:10px;font-weight:600}.campaign-kit-form input:-webkit-autofill{-webkit-box-shadow:0 0 0 40px #fff inset}
@media(max-width:900px){.campaign-kit{grid-template-columns:1fr;padding:16% 8%;height:auto;min-height:100svh}.campaign-kit-copy h2{font-size:clamp(50px,13vw,78px)}.campaign-kit-note{margin-top:35px}.campaign-kit-form{width:100%}}
@media(max-width:540px){.campaign-kit{padding:25% 6% 14%;gap:38px}.campaign-fields{grid-template-columns:1fr}.campaign-fields .wide{grid-column:auto}.campaign-kit-form{padding:25px 20px}.campaign-kit-copy>p:not(.eyebrow){font-size:13px}.campaign-kit-note b{font-size:48px}}
.campaign-kit.panel{height:auto;min-height:100svh;overflow:visible;padding-top:clamp(95px,8vh,135px);padding-bottom:clamp(95px,8vh,135px)}
@media(min-width:901px) and (max-height:900px){.campaign-kit.panel{padding-top:88px;padding-bottom:70px}.campaign-kit-form{padding:30px 42px}.form-heading{padding-bottom:15px;margin-bottom:14px}.form-heading h3{font-size:32px}.campaign-fields{gap:9px 15px}.campaign-fields input{padding:8px 0 7px}.campaign-fields small{min-height:9px;margin-top:2px}.campaign-consent{margin:13px 0 12px}.campaign-kit-form>button{padding:13px 18px}.campaign-form-status{min-height:8px;margin-top:6px}.campaign-kit-note{margin-top:35px}}
.campaign-kit .campaign-kit-label{color:#e30613;font-size:11px;font-weight:800;letter-spacing:.18em;margin-bottom:22px}.campaign-kit.panel{overflow:clip}.campaign-kit:before,.campaign-kit:after{content:"";position:absolute;z-index:0;pointer-events:none;border:0;border-radius:0;background:url("images/pattern-topography-red.svg") center/contain no-repeat}.campaign-kit:before{width:min(620px,47vw);height:72%;left:-7%;bottom:-13%;opacity:.32;transform:rotate(-8deg);-webkit-mask-image:radial-gradient(ellipse at 38% 62%,#000 0 32%,transparent 73%);mask-image:radial-gradient(ellipse at 38% 62%,#000 0 32%,transparent 73%)}.campaign-kit:after{width:min(520px,38vw);height:52%;right:-5%;top:1%;opacity:.2;transform:rotate(172deg);-webkit-mask-image:radial-gradient(ellipse at 58% 40%,#000 0 30%,transparent 72%);mask-image:radial-gradient(ellipse at 58% 40%,#000 0 30%,transparent 72%)}@media(max-width:900px){.campaign-kit:before{width:92vw;height:50%;left:-35%;bottom:-8%;opacity:.28}.campaign-kit:after{width:78vw;height:34%;right:-30%;top:2%;opacity:.16}.campaign-kit .campaign-kit-label{margin-bottom:17px}}
.campaign-kit .campaign-kit-label{font-family:Montserrat,sans-serif;font-size:clamp(17px,1.45vw,24px);font-weight:800;line-height:1.05;letter-spacing:.1em;margin-bottom:28px}.campaign-kit-copy h2{font-family:Montserrat,sans-serif;font-weight:100;letter-spacing:-.055em;line-height:.94}@media(max-width:900px){.campaign-kit .campaign-kit-label{font-size:clamp(16px,4.6vw,21px);margin-bottom:20px}.campaign-kit-copy h2{font-weight:100;line-height:.94}}
.campaign-kit .campaign-kit-label{font-size:clamp(52px,5.6vw,92px);line-height:.9;letter-spacing:-.055em;margin-bottom:25px}.campaign-kit-copy h2{font-size:clamp(21px,1.75vw,29px);font-weight:100;line-height:1.05;letter-spacing:-.035em;margin-bottom:30px}@media(max-width:900px){.campaign-kit .campaign-kit-label{font-size:clamp(42px,10vw,70px);line-height:.92;margin-bottom:22px}.campaign-kit-copy h2{font-size:clamp(20px,5.5vw,26px);line-height:1.08}}
.campaign-kit .campaign-kit-label{font-weight:400}.campaign-kit-copy h2{font-size:clamp(52px,5.6vw,92px);font-weight:100;line-height:.94;letter-spacing:-.055em}@media(max-width:900px){.campaign-kit .campaign-kit-label,.campaign-kit-copy h2{font-size:clamp(42px,10vw,70px);line-height:.94}}
.campaign-material-option{display:flex;align-items:center;gap:10px;margin:18px 0 0;padding:12px 14px;border-left:3px solid #e30613;background:#f3f5f8;color:#15243a;font-size:10px;font-weight:700;line-height:1.45}.campaign-material-option input{flex:0 0 auto;width:16px;height:16px;margin:0;accent-color:#e30613}.campaign-material-option+.campaign-consent{margin-top:12px}@media(min-width:901px) and (max-height:900px){.campaign-material-option{margin-top:9px;padding:8px 11px}.campaign-material-option+.campaign-consent{margin-top:8px}}

.newsletter form{display:grid;grid-template-columns:minmax(0,1fr);border-bottom:0;gap:0}
.newsletter form input{border-bottom:1px solid rgba(255,255,255,.8)}
.newsletter form input[name="name"]{grid-column:1;grid-row:1}
.newsletter form input[name="email"]{grid-column:1;grid-row:2}
.newsletter form button{grid-column:1;grid-row:4;display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:18px;padding:14px 0;border:0;color:#ffffff;font:700 10px Montserrat;letter-spacing:.1em;text-transform:uppercase;transition:opacity .2s}
.newsletter form button:hover,.newsletter form button:focus-visible{background:transparent;color:#ffffff;opacity:.75;outline:0}
.newsletter form button b{font-size:22px;font-weight:400;line-height:1}
.newsletter form input{background:transparent!important;color:#fff!important;caret-color:#fff}
.newsletter form input:-webkit-autofill,.newsletter form input:-webkit-autofill:hover,.newsletter form input:-webkit-autofill:focus{-webkit-text-fill-color:#fff!important;-webkit-box-shadow:0 0 0 1000px #e30613 inset!important;box-shadow:0 0 0 1000px #e30613 inset!important;transition:background-color 9999s ease-out 0s}
.newsletter-phone{grid-column:1;grid-row:3;display:flex;align-items:center;border-bottom:1px solid rgba(255,255,255,.8);color:#fff;font:600 13px Montserrat}
.newsletter-phone span{flex:none;padding-right:10px}
.newsletter-phone input{width:100%;border:0!important}
.campaign-consent a{color:inherit;text-decoration:underline;text-underline-offset:2px}
