@charset "UTF-8";
:root{
  --green-950:#02291f;
  --green-900:#043a2d;
  --green-850:#064735;
  --green-800:#07553e;
  --green-700:#087a50;
  --green-600:#0aa85b;
  --green-500:#21c875;
  --green-100:#daf5e5;
  --yellow:#ffda1a;
  --blue:#075db5;
  --ink:#07150f;
  --muted:#57645e;
  --cream:#f5f3eb;
  --white:#fff;
  --line:rgba(7,21,15,.13);
  --line-light:rgba(255,255,255,.14);
  --shell:1240px;
  --header:88px;
  --radius:28px;
  --radius-sm:18px;
  --shadow:0 28px 80px rgba(1,53,37,.17);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--green-950);font-family:"Manrope",Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow-x:hidden}
body.modal-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
img{display:block;max-width:100%}
button{color:inherit}
svg{display:block}
.svg-sprite{position:absolute;width:0;height:0;overflow:hidden}
.shell{width:min(calc(100% - 48px),var(--shell));margin-inline:auto}
.skip-link{position:fixed;z-index:9999;left:16px;top:-100px;padding:12px 16px;border-radius:10px;background:var(--yellow);color:var(--ink);font-weight:900}
.skip-link:focus{top:16px}
.progress{position:fixed;z-index:1000;left:0;right:0;top:0;height:3px;background:transparent}
.progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--green-500),var(--yellow),var(--blue))}

/* Faixa contínua, totalmente verde */
.ticker{height:44px;overflow:hidden;background:linear-gradient(90deg,#06613f,#0a8e55 48%,#06613f);color:white;border-bottom:1px solid rgba(255,255,255,.13)}
.ticker__track{display:flex;width:max-content;height:100%;will-change:transform;animation:tickerMove 31s linear infinite}
.ticker__group{display:flex;flex-shrink:0;align-items:center;gap:32px;padding-right:32px}
.ticker span{display:flex;align-items:center;gap:12px;white-space:nowrap;font-size:11px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.ticker b{width:7px;height:7px;border-radius:50%;background:var(--yellow);box-shadow:0 0 0 5px rgba(255,218,26,.13)}
@keyframes tickerMove{to{transform:translate3d(-50%,0,0)}}

.header{position:sticky;z-index:100;top:0;height:var(--header);background:rgba(2,41,31,.9);border-bottom:1px solid rgba(255,255,255,.1);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}
.nav{height:100%;display:flex;align-items:center;justify-content:space-between;gap:36px}
.brand{display:flex;align-items:center;gap:12px;color:white;min-width:0}
.brand__mark{width:58px;height:58px;flex:0 0 auto;object-fit:contain;filter:drop-shadow(0 12px 18px rgba(0,0,0,.26))}
.brand__identity{display:grid;gap:2px;min-width:0}
.brand__wordmark{width:158px;height:auto;object-fit:contain;filter:drop-shadow(0 7px 12px rgba(0,0,0,.2))}
.brand__identity small{padding-left:3px;font-size:8px;letter-spacing:.19em;color:rgba(255,255,255,.66);font-weight:800;white-space:nowrap}
.menu{display:flex;align-items:center;gap:28px;color:rgba(255,255,255,.74);font-size:13px;font-weight:750}
.menu a{transition:.2s ease}
.menu a:hover{color:var(--yellow)}
.menu__cta{min-height:46px;display:inline-flex;align-items:center;gap:10px;padding:0 19px;border-radius:999px;background:var(--yellow);color:var(--ink)!important;font-weight:900}
.menu__cta svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2}
.menu__cta:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(255,218,26,.2)}
.menu-toggle{display:none;width:46px;height:46px;border:1px solid rgba(255,255,255,.16);border-radius:14px;background:rgba(255,255,255,.06)}
.menu-toggle span{display:block;width:20px;height:2px;margin:4px auto;background:white;border-radius:2px;transition:.2s ease}

.hero{position:relative;min-height:calc(100vh - 44px);padding:78px 0 76px;color:white;background:linear-gradient(135deg,#02291f 0%,#064b36 55%,#073e35 100%);overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 20%,rgba(255,218,26,.16),transparent 25%),radial-gradient(circle at 12% 78%,rgba(33,200,117,.18),transparent 31%)}
.hero__grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(to bottom,black,transparent 88%)}
.hero__glow{position:absolute;border-radius:50%;filter:blur(2px)}
.hero__glow--one{width:560px;height:560px;right:1%;top:4%;background:radial-gradient(circle,rgba(7,93,181,.28),transparent 68%)}
.hero__glow--two{width:520px;height:520px;left:-16%;bottom:-20%;background:radial-gradient(circle,rgba(33,200,117,.25),transparent 70%)}
.hero__layout{position:relative;z-index:2;display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:72px;min-height:690px}
.eyebrow,.kicker{display:flex;align-items:center;gap:10px;color:var(--green-600);font-size:11px;font-weight:900;letter-spacing:.2em;text-transform:uppercase}
.eyebrow{color:#9be7bb}
.eyebrow span{width:34px;height:2px;background:var(--yellow)}
.kicker--light{color:#a7edc4}
.hero h1,.heading h2,.story-feature h3,.proposal-panel h3,.brand-banner h2,.support h2{font-family:"Sora",sans-serif}
.hero h1{max-width:780px;margin:22px 0 25px;font-size:clamp(51px,6.1vw,88px);line-height:.96;letter-spacing:-.058em}
.hero h1 em{font-style:normal;color:var(--yellow)}
.hero__copy>p{max-width:700px;margin:0;color:rgba(255,255,255,.76);font-size:18px;line-height:1.72}
.hero__actions,.support__actions{display:flex;flex-wrap:wrap;gap:13px;margin-top:34px}
.button{min-height:54px;display:inline-flex;align-items:center;justify-content:center;gap:13px;padding:0 23px;border:0;border-radius:999px;font-size:13px;font-weight:900;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.button:hover{transform:translateY(-3px)}
.button--primary{background:var(--yellow);color:var(--ink);box-shadow:0 16px 38px rgba(255,218,26,.16)}
.button--primary:hover{box-shadow:0 21px 46px rgba(255,218,26,.27)}
.button--ghost{background:rgba(255,255,255,.08);color:white;border:1px solid rgba(255,255,255,.18)}
.button--light{background:white;color:var(--green-950)}
.hero__identity{display:flex;align-items:center;gap:22px;margin-top:42px;padding-top:25px;border-top:1px solid rgba(255,255,255,.13)}
.hero__role{max-width:130px;font-size:11px;line-height:1.45;letter-spacing:.16em;font-weight:900;color:rgba(255,255,255,.56)}
.campaign-number{display:flex;align-items:center;font-size:clamp(67px,7vw,105px);line-height:.78;letter-spacing:-.1em;text-shadow:0 10px 28px rgba(0,0,0,.35)}
.campaign-number strong{color:var(--green-500)}
.campaign-number b{color:var(--yellow)}
.hero__proof{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:30px}
.hero__proof div{padding:17px;border:1px solid rgba(255,255,255,.11);border-radius:17px;background:rgba(255,255,255,.055);backdrop-filter:blur(12px)}
.hero__proof strong{display:block;color:white;font-size:23px;letter-spacing:-.04em}
.hero__proof span{display:block;margin-top:5px;color:rgba(255,255,255,.56);font-size:10px;line-height:1.45}
.hero__visual{position:relative;min-height:690px;display:grid;place-items:center}
.portrait-frame{position:relative;width:min(100%,515px);aspect-ratio:.75;border-radius:35px;overflow:hidden;background:#064431;border:1px solid rgba(255,255,255,.2);box-shadow:0 45px 110px rgba(0,0,0,.38);transform-style:preserve-3d;transition:transform .16s ease-out}
.portrait-frame img{width:100%;height:100%;object-fit:cover}
.portrait-frame::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,transparent 54%,rgba(2,30,23,.94) 94%)}
.portrait-frame__caption{position:absolute;z-index:3;left:29px;right:29px;bottom:25px;display:grid}
.portrait-frame__caption span{font-size:10px;font-weight:900;letter-spacing:.2em;color:var(--yellow)}
.portrait-frame__caption strong{font-family:"Sora",sans-serif;font-size:56px;line-height:1;letter-spacing:-.06em}
.portrait-frame__caption small{margin-top:7px;font-size:8px;letter-spacing:.15em;color:rgba(255,255,255,.67)}
.hero-chip{position:absolute;z-index:5;padding:14px 17px;border-radius:17px;background:rgba(2,41,31,.83);border:1px solid rgba(255,255,255,.17);backdrop-filter:blur(16px);box-shadow:0 18px 42px rgba(0,0,0,.25)}
.hero-chip span{display:block;font-size:8px;letter-spacing:.18em;color:rgba(255,255,255,.5)}
.hero-chip strong{font-size:16px}
.hero-chip--top{left:-16px;top:105px}.hero-chip--bottom{right:-20px;bottom:112px}

.section{position:relative;padding:112px 0}
.section--light{background:var(--cream)}
.section--green{color:white;background:linear-gradient(135deg,#033a2b,#06543c 58%,#063b35);overflow:hidden}
.section--project{background:#f0eee6}
.section--social{color:white;background:linear-gradient(135deg,#032d24,#064e3c 54%,#043a42);overflow:hidden}
.section--legal{background:#f7f5ef}
.heading{max-width:900px;margin-bottom:54px}
.heading h2{margin:18px 0 19px;font-size:clamp(43px,5vw,72px);line-height:1.02;letter-spacing:-.052em}
.heading p{max-width:780px;margin:0;color:var(--muted);font-size:18px;line-height:1.72}
.heading--inverse p{color:rgba(255,255,255,.7)}
.heading--inverse .kicker{color:#a8edc5}

.story-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:17px}
.story-card{position:relative;min-height:286px;padding:32px;border:1px solid var(--line);border-radius:var(--radius);background:rgba(255,255,255,.7);overflow:hidden;box-shadow:0 12px 40px rgba(0,55,35,.04)}
.story-card--lead{grid-row:span 2;min-height:589px;display:flex;flex-direction:column;justify-content:flex-end;color:white;background:linear-gradient(145deg,#03372a,#08724c);box-shadow:var(--shadow)}
.story-card--lead::after{content:"";position:absolute;width:440px;height:440px;right:-220px;top:-185px;border:72px solid rgba(255,218,26,.1);border-radius:50%}
.story-card__number{position:absolute;top:24px;left:27px;font-size:10px;font-weight:900;letter-spacing:.15em;color:rgba(7,21,15,.38)}
.story-card--lead .story-card__number{color:rgba(255,255,255,.5)}
.story-card__icon{width:56px;height:56px;margin-bottom:33px;padding:14px;border-radius:17px;color:var(--green-700);background:var(--green-100);fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.story-card--lead .story-card__icon{width:70px;height:70px;color:var(--yellow);background:rgba(255,255,255,.09)}
.story-card__label{display:block;margin-bottom:13px;color:var(--green-700);font-size:10px;font-weight:900;letter-spacing:.18em}
.story-card--lead .story-card__label{color:#a8edc5}
.story-card h3{max-width:650px;margin:0 0 16px;font-family:"Sora",sans-serif;font-size:clamp(27px,3vw,45px);line-height:1.08;letter-spacing:-.04em}
.story-card:not(.story-card--lead) h3{font-size:28px}
.story-card p{margin:0;color:var(--muted);font-size:16px;line-height:1.72}
.story-card--lead p{color:rgba(255,255,255,.72);font-size:17px}

.story-feature{display:grid;grid-template-columns:1.04fr .96fr;gap:45px;margin-top:66px;padding:50px;border-radius:34px;color:white;background:linear-gradient(135deg,#043a2d,#076b47);box-shadow:var(--shadow)}
.story-feature__copy h3{margin:17px 0 18px;font-size:clamp(35px,4.2vw,58px);line-height:1.03;letter-spacing:-.052em}
.story-feature__copy p{max-width:650px;margin:0;color:rgba(255,255,255,.72);font-size:17px;line-height:1.72}
.story-feature__copy .button{margin-top:28px}
.story-feature__facts{display:grid;align-content:center;gap:12px}
.story-feature__facts>div{display:grid;grid-template-columns:54px 1fr;gap:16px;align-items:center;padding:19px;border:1px solid rgba(255,255,255,.14);border-radius:19px;background:rgba(255,255,255,.075)}
.story-feature__facts svg{width:54px;height:54px;padding:13px;border-radius:15px;color:var(--yellow);background:rgba(0,0,0,.13);fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.story-feature__facts strong{display:block;font-size:17px}
.story-feature__facts small{display:block;margin-top:4px;color:rgba(255,255,255,.61);font-size:13px;line-height:1.5}

.proposal-selector{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:16px}
.proposal-tab{min-height:120px;display:grid;place-items:center;gap:9px;padding:16px;border:1px solid rgba(255,255,255,.14);border-radius:21px;background:rgba(255,255,255,.055);color:rgba(255,255,255,.72);cursor:pointer;transition:.2s ease}
.proposal-tab svg{width:31px;height:31px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.proposal-tab span{font-size:14px;font-weight:850}
.proposal-tab:hover{transform:translateY(-3px);background:rgba(255,255,255,.09);color:white}
.proposal-tab.active{color:var(--green-950);background:var(--yellow);border-color:var(--yellow);box-shadow:0 15px 42px rgba(255,218,26,.16)}
.proposal-panel{padding:42px;border:1px solid rgba(255,255,255,.15);border-radius:30px;background:rgba(1,28,21,.42);box-shadow:0 30px 80px rgba(0,0,0,.17)}
.proposal-panel__head{display:grid;grid-template-columns:82px 1fr;gap:22px;align-items:center;padding-bottom:30px;border-bottom:1px solid rgba(255,255,255,.13)}
.proposal-panel__icon{display:grid;place-items:center;width:82px;height:82px;border-radius:23px;color:var(--yellow);background:rgba(255,255,255,.08)}
.proposal-panel__icon svg{width:42px;height:42px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.proposal-panel__head span:not(.proposal-panel__icon){display:block;margin-bottom:8px;color:#a9efc6;font-size:10px;font-weight:900;letter-spacing:.18em}
.proposal-panel h3{max-width:820px;margin:0;font-size:clamp(30px,4vw,52px);line-height:1.05;letter-spacing:-.045em}
.proposal-panel__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}
.proposal-panel__grid article{min-height:225px;padding:25px;border:1px solid rgba(255,255,255,.11);border-radius:21px;background:rgba(255,255,255,.055)}
.proposal-panel__grid span{display:block;color:var(--yellow);font-size:10px;font-weight:900;letter-spacing:.17em}
.proposal-panel__grid p{margin:20px 0 0;color:rgba(255,255,255,.76);font-size:16px;line-height:1.72}
.proposal-panel__footer{display:flex;align-items:center;justify-content:space-between;margin-top:22px}
.proposal-panel__footer>span{font-size:11px;font-weight:900;letter-spacing:.16em;color:rgba(255,255,255,.52)}
.proposal-panel__footer div{display:flex;gap:9px}
.proposal-panel__footer button{width:47px;height:47px;border:1px solid rgba(255,255,255,.16);border-radius:14px;background:rgba(255,255,255,.07);color:white;font-size:20px;cursor:pointer}
.proposal-panel__footer button:hover{background:var(--yellow);color:var(--ink)}

.project-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:55px}
.project-intro .heading{margin-bottom:48px}
.project-badge{min-width:210px;margin-bottom:48px;padding:27px;border-radius:25px;color:white;background:var(--green-950);box-shadow:var(--shadow)}
.project-badge span,.project-badge small{display:block;font-size:9px;font-weight:900;letter-spacing:.16em;color:var(--yellow)}
.project-badge strong{display:block;margin:9px 0 13px;font-family:"Sora",sans-serif;font-size:36px;line-height:1}
.project-badge small{color:#9be4ba;letter-spacing:0;font-weight:700}
.project-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}
.project-steps{display:grid;gap:11px}
.project-steps article{display:grid;grid-template-columns:48px 58px 1fr;gap:17px;align-items:center;padding:22px;border:1px solid var(--line);border-radius:22px;background:white;transition:.2s ease}
.project-steps article:hover{transform:translateX(5px);border-color:rgba(8,122,80,.35);box-shadow:0 18px 45px rgba(0,66,42,.08)}
.project-steps article>span{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;color:var(--yellow);background:var(--green-950);font-size:10px;font-weight:900}
.project-steps svg{width:58px;height:58px;padding:14px;border-radius:16px;color:var(--green-700);background:var(--green-100);fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.project-steps h3{margin:0 0 7px;font-family:"Sora",sans-serif;font-size:21px;letter-spacing:-.025em}
.project-steps p{margin:0;color:var(--muted);font-size:14px;line-height:1.6}
.project-visual{position:relative;min-height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding:42px;border-radius:30px;color:white;background:linear-gradient(145deg,#054832,#087a50);overflow:hidden;box-shadow:var(--shadow)}
.project-visual::before{content:"";position:absolute;width:430px;height:430px;right:-160px;top:-190px;border:64px solid rgba(255,218,26,.1);border-radius:50%}
.project-visual__symbol{position:relative;width:88px;height:88px;display:grid;place-items:center;margin-bottom:auto;border-radius:25px;color:var(--yellow);background:rgba(255,255,255,.09)}
.project-visual__symbol svg{width:48px;height:48px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.project-visual>span{position:relative;color:#a9efc6;font-size:10px;font-weight:900;letter-spacing:.18em}
.project-visual h3{position:relative;margin:14px 0 16px;font-family:"Sora",sans-serif;font-size:clamp(32px,4vw,54px);line-height:1.02;letter-spacing:-.05em}
.project-visual p{position:relative;margin:0;color:rgba(255,255,255,.72);font-size:16px;line-height:1.7}
.project-visual .button{position:relative;align-self:flex-start;margin-top:27px}
.timeline{display:grid;grid-template-columns:repeat(4,1fr);margin-top:20px;border:1px solid var(--line);border-radius:25px;background:white;overflow:hidden}
.timeline div{padding:25px;border-right:1px solid var(--line)}
.timeline div:last-child{border-right:0}
.timeline span{display:block;color:var(--green-700);font-size:10px;font-weight:900;letter-spacing:.16em}
.timeline strong{display:block;margin-top:9px;font-size:16px}
.timeline small{display:block;margin-top:7px;color:var(--muted);font-size:12px;line-height:1.5}

.social-word{position:absolute;top:-45px;right:-45px;font-family:"Sora",sans-serif;font-size:clamp(180px,28vw,450px);font-weight:800;letter-spacing:-.11em;color:rgba(255,255,255,.025);pointer-events:none}
.media-grid{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.media-card{min-height:400px;display:flex;flex-direction:column;padding:29px;border:1px solid rgba(255,255,255,.15);border-radius:27px;background:rgba(255,255,255,.055);transition:.25s ease}
.media-card:hover{transform:translateY(-7px);border-color:rgba(255,218,26,.48);background:rgba(255,255,255,.085)}
.media-card--profile{background:linear-gradient(145deg,#075c3f,#04343b)}
.media-card__icon{display:grid;place-items:center;width:65px;height:65px;margin-bottom:auto;border-radius:20px;color:var(--yellow);background:rgba(255,255,255,.08)}
.media-card__icon svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.media-card small{margin-top:38px;color:#a9efc6;font-size:10px;font-weight:900;letter-spacing:.17em}
.media-card h3{margin:11px 0 13px;font-family:"Sora",sans-serif;font-size:29px;line-height:1.08;letter-spacing:-.04em}
.media-card p{margin:0;color:rgba(255,255,255,.66);font-size:15px;line-height:1.65}
.media-card b{display:flex;align-items:center;gap:9px;margin-top:24px;color:var(--yellow);font-size:12px}
.media-card b svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2}
.milestones{display:grid;grid-template-columns:repeat(3,1fr);margin-top:18px;border:1px solid rgba(255,255,255,.14);border-radius:23px;background:rgba(0,0,0,.12);overflow:hidden}
.milestones div{padding:24px;border-right:1px solid rgba(255,255,255,.13)}
.milestones div:last-child{border-right:0}
.milestones span{display:block;color:var(--yellow);font-size:10px;font-weight:900;letter-spacing:.16em}
.milestones strong{display:block;margin-top:8px;font-size:15px;line-height:1.45}

.brand-banner{padding:92px 0;background:linear-gradient(135deg,#087a50,#0aa85b);overflow:hidden}
.brand-banner__layout{display:grid;grid-template-columns:.87fr 1.13fr;align-items:center;gap:65px}
.brand-banner__copy{color:white}
.brand-banner__copy h2{margin:18px 0;font-size:clamp(42px,5.4vw,75px);line-height:.98;letter-spacing:-.055em}
.brand-banner__copy p{max-width:570px;margin:0;color:rgba(255,255,255,.76);font-size:17px;line-height:1.72}
.brand-banner__image{display:grid;place-items:center;min-height:290px;padding:38px;border:1px solid rgba(255,255,255,.2);border-radius:31px;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.13),rgba(0,0,0,.08) 68%);box-shadow:0 34px 85px rgba(0,50,30,.24)}
.brand-banner__image img{width:100%;height:auto;max-height:260px;object-fit:contain;filter:drop-shadow(0 22px 26px rgba(0,0,0,.25))}

.support{position:relative;padding:105px 0;color:white;background:linear-gradient(115deg,#02291f,#064b36 55%,#043d3a);overflow:hidden}
.support::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:55px 55px;mask-image:radial-gradient(circle at 75% 50%,black,transparent 70%)}
.support__layout{position:relative;display:grid;grid-template-columns:1fr .82fr;align-items:center;gap:60px}
.support__copy h2{max-width:760px;margin:18px 0;font-size:clamp(49px,6vw,82px);line-height:.96;letter-spacing:-.06em}
.support__copy p{max-width:640px;color:rgba(255,255,255,.7);font-size:18px;line-height:1.7}
.support__number{text-align:right}
.support__number>span{font-size:10px;font-weight:900;letter-spacing:.2em;color:rgba(255,255,255,.56)}
.support__number div{display:flex;justify-content:flex-end;align-items:baseline;line-height:.75;letter-spacing:-.11em;font-size:clamp(86px,12vw,180px);text-shadow:0 20px 55px rgba(0,0,0,.35)}
.support__number strong{color:var(--green-500)}
.support__number b{color:var(--yellow)}
.support__number small{font-size:10px;letter-spacing:.18em;color:rgba(255,255,255,.48)}

.legal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.legal-card{position:relative;min-height:295px;padding:28px;border:1px solid var(--line);border-radius:24px;background:white}
.legal-card>svg{width:57px;height:57px;padding:14px;border-radius:17px;color:var(--green-700);background:var(--green-100);fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.legal-card>span{position:absolute;top:27px;right:27px;color:rgba(7,21,15,.35);font-size:10px;font-weight:900;letter-spacing:.17em}
.legal-card h3{margin:35px 0 12px;font-family:"Sora",sans-serif;font-size:22px;letter-spacing:-.03em}
.legal-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.65}

.footer{padding:72px 0 26px;background:#011d17;color:white}
.footer__grid{display:grid;grid-template-columns:1.45fr .65fr .7fr .7fr;gap:45px}
.footer__brand p{max-width:440px;color:rgba(255,255,255,.48);font-size:12px;line-height:1.7}
.footer nav{display:grid;align-content:start;gap:12px}
.footer nav strong{margin-bottom:6px;color:white;font-size:10px;letter-spacing:.17em}
.footer nav a{color:rgba(255,255,255,.57);font-size:12px}
.footer nav a:hover{color:var(--yellow)}
.footer__number{text-align:right}
.footer__number span{display:block;color:rgba(255,255,255,.42);font-size:9px;letter-spacing:.18em}
.footer__number strong{display:block;color:var(--yellow);font-size:61px;letter-spacing:-.08em}
.footer__number i{font-style:normal;color:var(--green-500)}
.footer__bottom{display:flex;justify-content:space-between;gap:20px;margin-top:57px;padding-top:23px;border-top:1px solid rgba(255,255,255,.11);color:rgba(255,255,255,.4);font-size:10px}

.modal{width:min(96vw,1500px);max-height:94vh;padding:0;border:0;border-radius:24px;background:#03291f;color:white;box-shadow:0 50px 120px rgba(0,0,0,.65);overflow:hidden}
.modal::backdrop{background:rgba(1,18,14,.88);backdrop-filter:blur(10px)}
.modal--portrait{width:min(90vw,900px)}
.modal__bar{height:62px;display:flex;align-items:center;justify-content:space-between;padding:0 21px;border-bottom:1px solid rgba(255,255,255,.13)}
.modal__bar strong{font-size:13px;letter-spacing:.06em}
.modal__bar button{width:41px;height:41px;border:1px solid rgba(255,255,255,.15);border-radius:12px;background:rgba(255,255,255,.07);color:white;font-size:25px;cursor:pointer}
.modal__canvas{max-height:calc(94vh - 62px);overflow:auto;background:#02291f}
.modal__canvas img{width:100%;height:auto}
.back-top{position:fixed;z-index:90;right:18px;bottom:18px;width:49px;height:49px;border:1px solid rgba(255,255,255,.17);border-radius:50%;background:rgba(2,54,40,.87);color:white;backdrop-filter:blur(12px);opacity:0;pointer-events:none;transform:translateY(12px);transition:.25s ease;cursor:pointer}
.back-top.show{opacity:1;pointer-events:auto;transform:none}

.reveal{opacity:0;transform:translateY(27px);transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1)}
.reveal.visible{opacity:1;transform:none}
.delay-1{transition-delay:.1s}.delay-2{transition-delay:.2s}
.using-keyboard :focus-visible{outline:3px solid var(--yellow);outline-offset:4px}

@media(max-width:1080px){
  :root{--shell:940px}
  .hero__layout{grid-template-columns:1fr;padding-top:20px}
  .hero__copy{max-width:820px}
  .hero__visual{min-height:700px}
  .portrait-frame{width:min(100%,570px)}
  .hero-chip--top{left:12%}.hero-chip--bottom{right:12%}
  .story-grid{grid-template-columns:1fr 1fr}.story-card--lead{grid-column:1/-1;grid-row:auto;min-height:480px}
  .proposal-selector{grid-template-columns:repeat(5,minmax(150px,1fr));overflow-x:auto;padding-bottom:7px}.proposal-tab{min-width:150px}
  .project-layout{grid-template-columns:1fr}.project-visual{min-height:500px}
  .media-grid{grid-template-columns:1fr 1fr}.media-card--profile{grid-column:1/-1;min-height:350px}
  .brand-banner__layout{grid-template-columns:1fr}
  .support__layout{grid-template-columns:1fr}.support__number{text-align:left}.support__number div{justify-content:flex-start}
  .legal-grid{grid-template-columns:repeat(2,1fr)}
  .footer__grid{grid-template-columns:1.3fr .7fr .7fr}.footer__number{grid-column:1/-1;text-align:left}
}
@media(max-width:800px){
  :root{--header:72px}
  .shell{width:min(calc(100% - 30px),var(--shell))}
  .ticker{height:40px}.ticker span{font-size:10px}.ticker__group{gap:26px;padding-right:26px}
  .menu-toggle{display:block}
  .menu{position:absolute;left:15px;right:15px;top:calc(100% + 10px);display:none;align-items:stretch;flex-direction:column;gap:0;padding:10px;border-radius:20px;background:rgba(2,41,31,.99);border:1px solid rgba(255,255,255,.14);box-shadow:var(--shadow)}
  .menu.open{display:flex}.menu a{padding:15px;border-radius:12px}.menu__cta{margin-top:6px}
  .menu-toggle.active span:nth-child(1){transform:translateY(6px) rotate(45deg)}.menu-toggle.active span:nth-child(2){opacity:0}.menu-toggle.active span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
  .hero{padding:58px 0 58px}.hero__layout{gap:35px}.hero h1{font-size:clamp(43px,12.7vw,67px)}.hero__copy>p{font-size:16px}
  .hero__proof{grid-template-columns:1fr}.hero__visual{min-height:570px}.portrait-frame{width:min(100%,420px)}.hero-chip--top{left:0;top:70px}.hero-chip--bottom{right:0;bottom:78px}.portrait-frame__caption strong{font-size:47px}
  .section{padding:84px 0}.heading{margin-bottom:39px}.heading h2{font-size:clamp(38px,10.7vw,57px)}.heading p{font-size:16px}
  .story-grid{grid-template-columns:1fr}.story-card--lead{grid-column:auto;min-height:440px}.story-card:not(.story-card--lead) h3{font-size:26px}
  .story-feature{grid-template-columns:1fr;padding:29px;gap:35px;margin-top:50px}.story-feature__copy h3{font-size:clamp(34px,9vw,48px)}
  .proposal-panel{padding:26px}.proposal-panel__head{grid-template-columns:65px 1fr;gap:15px}.proposal-panel__icon{width:65px;height:65px}.proposal-panel__icon svg{width:34px;height:34px}.proposal-panel__grid{grid-template-columns:1fr}.proposal-panel__grid article{min-height:auto}.proposal-panel h3{font-size:clamp(29px,8vw,43px)}
  .project-intro{align-items:flex-start;flex-direction:column;gap:0}.project-badge{margin-bottom:35px}.project-steps article{grid-template-columns:43px 50px 1fr;padding:18px;gap:13px}.project-steps article>span{width:43px;height:43px}.project-steps svg{width:50px;height:50px;padding:12px}.project-steps h3{font-size:18px}.project-visual{min-height:480px;padding:30px}.timeline{grid-template-columns:1fr}.timeline div{border-right:0;border-bottom:1px solid var(--line)}.timeline div:last-child{border-bottom:0}
  .media-grid{grid-template-columns:1fr}.media-card--profile{grid-column:auto}.milestones{grid-template-columns:1fr}.milestones div{border-right:0;border-bottom:1px solid rgba(255,255,255,.13)}.milestones div:last-child{border-bottom:0}
  .brand-banner{padding:72px 0}.brand-banner__copy h2{font-size:clamp(39px,10.8vw,58px)}
  .support{padding:82px 0}.support__copy h2{font-size:clamp(45px,12.5vw,68px)}.support__number div{font-size:clamp(80px,25vw,130px)}
  .legal-grid{grid-template-columns:1fr}.legal-card{min-height:245px}
  .footer__grid{grid-template-columns:1fr 1fr}.footer__brand{grid-column:1/-1}.footer__number{grid-column:1/-1}.footer__bottom{flex-direction:column}
}
@media(max-width:520px){
  .brand__identity small{display:none}.brand__mark{width:48px;height:48px}.brand__wordmark{width:126px}
  .hero__actions,.support__actions{display:grid}.button{width:100%}
  .hero__identity{align-items:flex-start;flex-direction:column}.campaign-number{font-size:82px}
  .hero__visual{min-height:500px}.portrait-frame__caption{left:20px;right:20px}.portrait-frame__caption small{line-height:1.5}.hero-chip{display:none}
  .story-feature__facts>div{grid-template-columns:48px 1fr;padding:16px}.story-feature__facts svg{width:48px;height:48px}
  .proposal-tab{min-height:105px}.proposal-panel__head{grid-template-columns:1fr}.proposal-panel__footer{align-items:flex-end}
  .project-steps article{grid-template-columns:43px 1fr}.project-steps svg{display:none}
  .brand-banner__image{padding:12px}
  .footer__grid{grid-template-columns:1fr}.footer__grid nav,.footer__number{grid-column:auto}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .reveal{opacity:1;transform:none}
  .ticker__track{transform:none}
}

.footer__brand .brand__mark{width:64px;height:64px}
.footer__brand .brand__wordmark{width:186px}

@media(max-width:390px){.brand{gap:8px}.brand__mark{width:43px;height:43px}.brand__wordmark{width:112px}.nav{gap:12px}}


/* ==========================================================
   AJUSTES FINAIS — BIOGRAFIA, NUMERAÇÕES, PROPOSTAS E AGUARDE
   ========================================================== */

.bio-heading{max-width:1180px;margin-bottom:64px}
.bio-heading__kicker{display:inline-flex;align-items:center;gap:10px;color:var(--green-700);font-size:14px;letter-spacing:.22em}
.bio-heading__kicker::before{content:"";width:34px;height:4px;border-radius:999px;background:linear-gradient(90deg,var(--green-600),var(--yellow))}
.bio-heading h2{max-width:1120px;margin:18px 0 20px;color:var(--ink);font-size:clamp(42px,5.5vw,78px);line-height:.98;letter-spacing:-.055em}
.bio-title__green{color:var(--green-700)}
.bio-title__yellow{position:relative;color:var(--yellow);text-shadow:0 2px 0 rgba(2,41,31,.16),0 8px 24px rgba(255,218,26,.14)}
.bio-title__yellow::after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:7px;border-radius:999px;background:linear-gradient(90deg,var(--yellow),#ffe86a);opacity:1}
.bio-heading__intro{max-width:850px!important;margin:0!important;color:#45554e!important;font-size:clamp(18px,1.65vw,23px)!important;line-height:1.65!important}
.bio-points{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:34px}
.bio-point{display:grid;grid-template-columns:18px 1fr;gap:14px;min-height:145px;padding:25px 24px;border:1px solid rgba(4,89,61,.13);border-radius:24px;background:#fff;box-shadow:0 16px 40px rgba(13,54,41,.07)}
.bio-point__marker{width:14px;height:14px;margin-top:5px;border:3px solid white;border-radius:50%;box-shadow:0 0 0 2px rgba(4,89,61,.16)}
.bio-point__marker--green{background:var(--green-600)}
.bio-point__marker--yellow{background:var(--yellow);box-shadow:0 0 0 2px rgba(230,185,0,.24)}
.bio-point__marker--green-yellow{background:linear-gradient(135deg,var(--green-600) 0 50%,var(--yellow) 50%)}
.bio-point strong{display:block;margin-bottom:8px;color:var(--green-950);font-family:"Sora",sans-serif;font-size:17px;line-height:1.25}
.bio-point p{margin:0!important;color:#56645e!important;font-size:14px!important;line-height:1.6!important}

/* Numbers 01, 02, 03: yellow, larger, and clearly organized */
.story-card__number{top:22px;left:24px;display:grid;place-items:center;min-width:52px;height:36px;padding:0 13px;border:1px solid rgba(255,218,26,.46);border-radius:999px;background:var(--green-950);color:var(--yellow)!important;font-size:16px!important;font-weight:900;line-height:1;letter-spacing:.06em;box-shadow:0 9px 22px rgba(1,29,23,.18)}
.story-card--lead .story-card__number{background:rgba(1,29,23,.72);border-color:rgba(255,218,26,.6);color:var(--yellow)!important}

/* Proposal questions and counter */
.proposal-panel__grid span{color:var(--yellow);font-size:13px;font-weight:900;line-height:1.3;letter-spacing:.12em}
.proposal-panel__footer>span{color:var(--yellow);font-size:16px;font-weight:900;letter-spacing:.1em}
.proposal-panel__footer button{width:54px;height:54px;border:1px solid rgba(255,218,26,.44);background:rgba(255,218,26,.08);color:var(--yellow);font-size:24px;font-weight:900}
.proposal-panel__footer button:hover,.proposal-panel__footer button:focus-visible{border-color:var(--yellow);background:var(--yellow);color:var(--green-950);transform:translateY(-2px)}

/* Program and transparency numbers */
.project-steps article>span{width:56px;height:56px;border:1px solid rgba(255,218,26,.34);border-radius:17px;color:var(--yellow);background:var(--green-950);font-size:16px;font-weight:900;line-height:1;letter-spacing:.05em;box-shadow:0 9px 22px rgba(1,29,23,.15)}
.legal-card>span{display:grid;place-items:center;min-width:48px;height:34px;padding:0 11px;border-radius:999px;background:var(--green-950);color:var(--yellow);font-size:15px;font-weight:900;line-height:1;letter-spacing:.05em}

/* Centered AGUARDE block */
.support__number{display:flex;align-items:center;flex-direction:column;justify-content:center;text-align:center}
.support__number>span{margin-bottom:22px;color:rgba(255,255,255,.9);font-size:clamp(14px,1.15vw,18px);font-weight:900;line-height:1.2;letter-spacing:.19em;text-align:center}
.support__number div{width:100%;justify-content:center;font-size:clamp(118px,12.8vw,192px);line-height:.72;text-align:center}
.support__number small{display:block;margin-top:24px;color:rgba(255,255,255,.8);font-size:clamp(13px,1vw,16px);font-weight:800;line-height:1.3;letter-spacing:.18em;text-align:center}

/* Footer slogan and green/yellow back-to-top controls */
.footer__brand p.footer__slogan{max-width:500px;margin-top:21px;color:rgba(255,255,255,.84);font-family:"Sora",sans-serif;font-size:15px;font-weight:700;line-height:1.55;letter-spacing:-.01em}
.footer__top-link{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:9px 15px;border:1px solid rgba(255,218,26,.45);border-radius:999px;background:rgba(8,122,80,.28);color:var(--yellow)!important;font-size:12px;font-weight:900;letter-spacing:.035em;transition:.2s ease}
.footer__top-link span{font-size:18px;line-height:1}
.footer__top-link:hover,.footer__top-link:focus-visible{border-color:var(--yellow);background:var(--yellow);color:var(--green-950)!important;transform:translateY(-2px)}
.back-top{display:grid;place-items:center;width:62px;height:62px;border:2px solid var(--yellow);border-radius:50%;background:linear-gradient(145deg,var(--green-700),var(--green-950));color:var(--yellow);font-size:29px;font-weight:900;line-height:1;text-decoration:none;box-shadow:0 16px 38px rgba(1,29,23,.36),inset 0 0 0 1px rgba(255,255,255,.08)}
.back-top.show:hover,.back-top.show:focus-visible{border-color:var(--yellow);background:var(--yellow);color:var(--green-950);transform:translateY(-4px)}

@media(max-width:980px){
  .bio-points{grid-template-columns:1fr}
  .bio-point{min-height:auto}
  .support__number,.footer__number{text-align:center}
  .support__number div{justify-content:center}
}
@media(max-width:800px){
  .bio-heading{margin-bottom:46px}
  .bio-heading h2{font-size:clamp(40px,10vw,64px)}
  .story-card__number{min-width:48px;height:34px;font-size:15px!important}
  .project-steps article>span{width:50px;height:50px;font-size:15px}
  .support__number div{font-size:clamp(98px,25vw,150px)}
}
@media(max-width:520px){
  .bio-heading h2{font-size:clamp(37px,11.5vw,53px)}
  .bio-heading__intro{font-size:17px!important}
  .bio-point{grid-template-columns:15px 1fr;padding:21px 18px}
  .bio-point strong{font-size:16px}
  .proposal-panel__grid span{font-size:12px}
  .proposal-panel__footer>span{font-size:15px}
  .back-top{right:14px;bottom:14px;width:56px;height:56px;font-size:26px}
}

/* Organização final dos números nos cartões claros */
.story-card:not(.story-card--lead) .story-card__number{left:auto;right:24px}
@media(max-width:520px){.story-card:not(.story-card--lead) .story-card__number{right:18px}}

/* ==========================================================
   RESPONSIVIDADE FINAL — DESKTOP, TABLET E MOBILE
   ========================================================== */
:where(h1,h2,h3,p,a,span,strong,small){overflow-wrap:break-word}
.brand,.brand__identity,.hero__copy,.heading,.story-card,.proposal-panel,.project-intro,.media-card,.legal-card,.footer__brand{min-width:0}
.bio-title__yellow{white-space:normal}
@media(min-width:1600px){
  :root{--shell:1420px}
  .hero__layout{grid-template-columns:1.04fr .96fr;gap:90px}
  .hero h1{font-size:94px}
  .bio-heading h2{font-size:82px}
}
@media(max-width:1180px){
  .bio-heading h2{font-size:clamp(46px,6.8vw,72px)}
}
@media(max-width:700px){
  .bio-heading h2{line-height:1.03;letter-spacing:-.045em}
  .bio-title__yellow::after{bottom:-5px;height:5px}
}
@media(max-width:420px){
  .shell{width:min(calc(100% - 28px),var(--shell))}
  .bio-heading h2{font-size:clamp(35px,11vw,47px);line-height:1.04}
  .bio-heading__kicker{font-size:12px;letter-spacing:.16em}
}


/* Compatibilidade multiplataforma: Android, Windows, macOS, ChromeOS/Googlebook */
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  scroll-padding-top: 96px;
}
body {
  min-width: 0;
  overflow-wrap: anywhere;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
button, a, input, select, textarea {
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}
img, video, svg, canvas { max-width: 100%; }
@supports not (backdrop-filter: blur(1px)) {
  .header, .modal__bar { background: rgba(2, 41, 31, .97); }
}
@media (pointer: coarse) {
  .button, .proposal-tab, .menu-toggle, [data-scroll-top], [data-open-modal], [data-close-modal] {
    min-height: 44px;
  }
}
@media (max-width: 360px) {
  .shell { width: min(100% - 24px, var(--shell)); }
  .hero__actions { gap: 10px; }
  .button { padding-inline: 16px; }
}
@media (min-width: 1920px) {
  :root { --shell: 1500px; }
}


/* ==========================================================
   CORREÇÃO FINAL — TÍTULO SEM CORTE E CLIQUES EM AMARELO
   ========================================================== */

.bio-heading {
  overflow: visible;
  padding-bottom: 10px;
}

.bio-heading h2 {
  display: grid;
  gap: .035em;
  max-width: 100%;
  margin: 18px 0 26px;
  padding: .05em 0 .18em;
  overflow: visible;
  font-size: clamp(44px, 5.15vw, 76px);
  line-height: 1.09;
  letter-spacing: -.052em;
}

.bio-title__line {
  display: block;
  width: fit-content;
  max-width: 100%;
  padding: .025em 0 .07em;
  overflow: visible;
}

.bio-title__line--ink { color: var(--ink); }
.bio-title__line--green { color: var(--green-700); }

.bio-title__line--yellow {
  position: relative;
  color: var(--yellow);
  text-shadow: 0 2px 0 rgba(2,41,31,.14), 0 10px 28px rgba(255,218,26,.16);
}

.bio-title__line--yellow::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -.03em;
  height: .075em;
  min-height: 5px;
  border-radius: 999px;
  background: var(--yellow);
}

/* O item selecionado permanece amarelo */
.proposal-tab.active,
.proposal-tab[aria-selected="true"] {
  color: var(--green-950);
  background: var(--yellow);
  border-color: var(--yellow);
  box-shadow: 0 15px 42px rgba(255,218,26,.22);
}

.menu a.is-active:not(.menu__cta) {
  color: var(--yellow);
  font-weight: 900;
}

.menu a.is-active:not(.menu__cta)::after {
  content: "";
  display: block;
  height: 3px;
  margin-top: 6px;
  border-radius: 999px;
  background: var(--yellow);
}

/* A marca recebe um destaque amarelo quando tocada/clicada */
.brand.brand--active .brand__mark,
.brand:active .brand__mark {
  border-radius: 50%;
  background: var(--yellow);
  box-shadow: 0 0 0 5px var(--yellow), 0 10px 28px rgba(255,218,26,.28);
}

.button:active,
.proposal-panel__footer button:active,
.footer__top-link:active,
.back-top:active {
  background: var(--yellow);
  color: var(--green-950) !important;
  border-color: var(--yellow);
}

@media (max-width: 1180px) {
  .bio-heading h2 {
    font-size: clamp(43px, 6.15vw, 68px);
    line-height: 1.1;
  }
}

@media (max-width: 800px) {
  .bio-heading {
    padding-bottom: 4px;
  }
  .bio-heading h2 {
    gap: .06em;
    margin-bottom: 22px;
    padding-bottom: .22em;
    font-size: clamp(39px, 9.4vw, 60px);
    line-height: 1.11;
    letter-spacing: -.046em;
  }
  .bio-title__line {
    padding-bottom: .08em;
  }
}

@media (max-width: 520px) {
  .bio-heading h2 {
    gap: .085em;
    font-size: clamp(34px, 10.7vw, 48px);
    line-height: 1.12;
    letter-spacing: -.042em;
  }
  .bio-title__line--yellow::after {
    height: 5px;
    bottom: -.015em;
  }
}

@media (max-width: 360px) {
  .bio-heading h2 {
    font-size: clamp(31px, 10.2vw, 40px);
  }
}


/* ==========================================================
   IDENTIDADE 3D — NOVO LARANJA E AGUARDE EM ALTO-RELEVO
   ========================================================== */

.party-brand {
  display: inline-flex;
  align-items: baseline;
  gap: .34em;
  font-family: "Sora", sans-serif;
  font-size: 17px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: -.025em;
  white-space: nowrap;
}

.party-brand__novo {
  color: #ff6a00;
  text-shadow:
    0 1px 0 #d84d00,
    0 2px 0 #ad3900,
    0 4px 9px rgba(0,0,0,.32);
}

.party-brand__30 {
  color: #fff;
  text-shadow: 0 2px 8px rgba(0,0,0,.34);
}

/* A frente usa gradiente e as sombras sucessivas criam o relevo. */
.number-relief {
  position: relative;
  display: inline-block;
  font-family: "Sora", sans-serif;
  font-style: normal;
  font-weight: 900;
  line-height: .8;
  letter-spacing: -.105em;
  transform: translateZ(0);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  paint-order: stroke fill;
  -webkit-font-smoothing: antialiased;
}

.number-relief--green {
  color: #20d778;
  background-image: linear-gradient(180deg, #78ffc0 0%, #27dd82 30%, #12b966 66%, #078a4c 100%);
  -webkit-text-stroke: .008em rgba(207,255,229,.42);
  filter:
    drop-shadow(0 .018em 0 #d9ffeb)
    drop-shadow(0 .045em 0 #10aa60)
    drop-shadow(0 .075em 0 #0b884f)
    drop-shadow(0 .11em 0 #07683f)
    drop-shadow(0 .155em .09em rgba(0,0,0,.48));
}

.number-relief--yellow {
  color: #ffda1a;
  background-image: linear-gradient(180deg, #fff58a 0%, #ffe22d 30%, #ffc900 68%, #e8a900 100%);
  -webkit-text-stroke: .008em rgba(255,255,223,.5);
  filter:
    drop-shadow(0 .018em 0 #fffbd0)
    drop-shadow(0 .045em 0 #efbd00)
    drop-shadow(0 .075em 0 #c99500)
    drop-shadow(0 .11em 0 #9d7100)
    drop-shadow(0 .155em .09em rgba(0,0,0,.5));
}

.campaign-number,
.support__number div,
.footer__number strong {
  overflow: visible;
  padding: .025em .09em .16em 0;
  text-shadow: none !important;
}

.campaign-number {
  gap: .008em;
  font-size: clamp(67px, 7vw, 105px);
  letter-spacing: 0;
}

.support__number div {
  gap: .008em;
  letter-spacing: 0;
  padding-bottom: .22em;
}

.footer__number strong {
  display: flex;
  justify-content: flex-end;
  align-items: baseline;
  gap: .008em;
  color: transparent;
  font-size: 61px;
  letter-spacing: 0;
}

.footer__number .number-relief {
  line-height: .82;
}

@media (max-width: 1080px) {
  .footer__number strong { justify-content: flex-start; }
}

@media (max-width: 800px) {
  .party-brand { font-size: 16px; }
  .campaign-number { padding-bottom: .2em; }
}

@media (max-width: 520px) {
  .number-relief--green,
  .number-relief--yellow {
    filter:
      drop-shadow(0 .016em 0 rgba(255,255,255,.6))
      drop-shadow(0 .045em 0 rgba(0,76,43,.72))
      drop-shadow(0 .085em 0 rgba(0,48,30,.74))
      drop-shadow(0 .13em .07em rgba(0,0,0,.48));
  }
  .number-relief--yellow {
    filter:
      drop-shadow(0 .016em 0 rgba(255,255,220,.78))
      drop-shadow(0 .045em 0 #c99a00)
      drop-shadow(0 .085em 0 #946b00)
      drop-shadow(0 .13em .07em rgba(0,0,0,.48));
  }
  .footer__number strong { font-size: 68px; }
}

@supports not ((-webkit-background-clip: text) or (background-clip: text)) {
  .number-relief { -webkit-text-fill-color: currentColor; }
  .number-relief--green { color: #20d778; }
  .number-relief--yellow { color: #ffda1a; }
}

/* Correção de especificidade do cartão do partido */
.hero-chip .party-brand__novo,
.hero-chip .party-brand__30 {
  display: inline-block;
  font-size: inherit;
  letter-spacing: inherit;
}
.hero-chip .party-brand__novo {
  color: #ff6a00;
}
.hero-chip .party-brand__30 {
  color: #ffffff;
}


/* ==========================================================
   LOGO OFICIAL SOBRE A FOTO — SUBSTITUI O TEXTO CACAU
   ========================================================== */

.portrait-frame__caption {
  overflow: visible;
}

.portrait-frame__logo {
  display: block;
  width: min(100%, 330px);
  height: auto;
  max-height: 94px;
  margin: 5px 0 1px;
  object-fit: contain;
  object-position: left center;
  filter:
    drop-shadow(0 2px 0 rgba(0,0,0,.34))
    drop-shadow(0 8px 13px rgba(0,0,0,.46));
  transform: translateZ(0);
}

@media (max-width: 800px) {
  .portrait-frame__logo {
    width: min(100%, 285px);
    max-height: 82px;
  }
}

@media (max-width: 520px) {
  .portrait-frame__logo {
    width: min(100%, 245px);
    max-height: 72px;
    margin-top: 4px;
  }
}

@media (max-width: 360px) {
  .portrait-frame__logo {
    width: min(100%, 218px);
    max-height: 64px;
  }
}


/* ==========================================================
   ORGANIZAÇÃO FINAL — LOGO NO QUADRO E BLOCO AGUARDE NO FINAL
   ========================================================== */

/* Somente a fotografia ocupa todo o quadro. A logo não herda cover. */
.portrait-frame > .portrait-frame__photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
}

.portrait-frame__caption {
  left: 18px;
  right: 18px;
  bottom: 18px;
  display: grid;
  gap: 5px;
  padding: 16px 18px 14px;
  overflow: visible;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 20px;
  background: linear-gradient(135deg, rgba(1,31,23,.86), rgba(3,58,42,.70));
  box-shadow: 0 16px 36px rgba(0,0,0,.28);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}

.portrait-frame__caption > span {
  font-size: 10px;
  line-height: 1.2;
}

.portrait-frame img.portrait-frame__logo {
  display: block;
  width: min(76%, 315px) !important;
  height: auto !important;
  max-height: 76px !important;
  margin: 2px 0 0;
  object-fit: contain !important;
  object-position: left center !important;
  filter: drop-shadow(0 2px 0 rgba(0,0,0,.34)) drop-shadow(0 7px 12px rgba(0,0,0,.42));
}

.portrait-frame__caption > small {
  margin-top: 2px;
  font-size: 8px;
  line-height: 1.45;
  letter-spacing: .13em;
}

.portrait-frame__party {
  position: absolute;
  z-index: 5;
  top: 17px;
  right: 17px;
  display: grid;
  gap: 5px;
  min-width: 122px;
  padding: 11px 14px 12px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 17px;
  color: white;
  background: linear-gradient(145deg, rgba(3,50,38,.94), rgba(1,35,27,.88));
  box-shadow: 0 14px 28px rgba(0,0,0,.28);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}

.portrait-frame__party > span {
  color: rgba(255,255,255,.60);
  font-size: 8px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .20em;
}

.portrait-frame__party .party-brand {
  gap: .28em;
  font-size: 16px;
}

/* Bloco final: número contido em painel próprio, sem sobreposição. */
.support {
  padding: clamp(78px, 7vw, 112px) 0;
}

.support__layout {
  grid-template-columns: minmax(0, 1.04fr) minmax(390px, .82fr);
  align-items: center;
  gap: clamp(44px, 5vw, 78px);
}

.support__copy {
  min-width: 0;
}

.support__copy h2 {
  max-width: 760px;
  overflow: visible;
  padding-bottom: .08em;
  margin: 18px 0 20px;
  font-size: clamp(46px, 5.15vw, 78px);
  line-height: 1.01;
  letter-spacing: -.052em;
}

.support__copy p {
  max-width: 650px;
  margin-bottom: 0;
}

.support__number {
  position: relative;
  isolation: isolate;
  width: 100%;
  min-width: 0;
  padding: clamp(30px, 3.5vw, 50px) clamp(24px, 3vw, 42px) clamp(35px, 4vw, 56px);
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 30px;
  text-align: center;
  background:
    radial-gradient(circle at 72% 12%, rgba(255,218,26,.11), transparent 34%),
    linear-gradient(145deg, rgba(8,111,71,.34), rgba(1,34,27,.78));
  box-shadow: 0 30px 70px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.06);
}

.support__number::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 290px;
  aspect-ratio: 1;
  right: -115px;
  bottom: -165px;
  border: 38px solid rgba(255,255,255,.035);
  border-radius: 50%;
}

.support__number > span {
  display: block;
  margin-bottom: 22px;
  color: rgba(255,255,255,.84);
  font-size: clamp(12px, .95vw, 16px);
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: .20em;
  text-align: center;
}

.support__number .support__number-value {
  display: flex;
  width: 100%;
  max-width: 100%;
  justify-content: center;
  align-items: baseline;
  gap: .005em;
  padding: .03em .09em .18em 0;
  overflow: visible;
  font-size: clamp(86px, 8.4vw, 148px);
  line-height: .78;
  letter-spacing: 0;
  white-space: nowrap;
}

.support__number small {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  margin-top: 15px;
  padding: 8px 14px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 999px;
  color: rgba(255,255,255,.78);
  background: rgba(255,255,255,.055);
  font-size: clamp(10px, .8vw, 13px);
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: .17em;
  text-align: center;
}

/* Rodapé: número menor e inteiramente contido. */
.footer__number {
  min-width: 230px;
  text-align: center;
}

.footer__number .footer__number-value {
  display: flex;
  width: 100%;
  justify-content: center;
  align-items: baseline;
  gap: .005em;
  padding: .02em .08em .16em 0;
  overflow: visible;
  font-size: clamp(44px, 4.4vw, 66px);
  line-height: .82;
  letter-spacing: 0;
  white-space: nowrap;
}

@media (max-width: 1180px) {
  .support__layout {
    grid-template-columns: 1fr;
    gap: 46px;
  }
  .support__copy,
  .support__copy h2,
  .support__copy p {
    max-width: 820px;
  }
  .support__number {
    max-width: 720px;
    margin-inline: auto;
  }
  .support__number .support__number-value {
    font-size: clamp(96px, 15vw, 150px);
  }
}

@media (max-width: 800px) {
  .portrait-frame__caption {
    left: 14px;
    right: 14px;
    bottom: 14px;
    padding: 14px 15px 13px;
    border-radius: 17px;
  }
  .portrait-frame img.portrait-frame__logo {
    width: min(74%, 265px) !important;
    max-height: 66px !important;
  }
  .portrait-frame__party {
    top: 13px;
    right: 13px;
    min-width: 108px;
    padding: 10px 12px 11px;
  }
  .portrait-frame__party .party-brand { font-size: 14px; }
  .support__copy h2 {
    font-size: clamp(44px, 10vw, 66px);
  }
  .support__number {
    padding: 29px 20px 38px;
    border-radius: 25px;
  }
  .support__number .support__number-value {
    font-size: clamp(80px, 22vw, 118px);
  }
}

@media (max-width: 520px) {
  .portrait-frame__caption {
    gap: 4px;
    padding: 12px 13px 11px;
  }
  .portrait-frame img.portrait-frame__logo {
    width: min(72%, 220px) !important;
    max-height: 57px !important;
  }
  .portrait-frame__caption > small {
    font-size: 7px;
    letter-spacing: .10em;
  }
  .portrait-frame__party {
    min-width: 96px;
    padding: 9px 10px 10px;
  }
  .portrait-frame__party > span { font-size: 7px; }
  .portrait-frame__party .party-brand { font-size: 13px; }
  .support__copy h2 {
    font-size: clamp(40px, 12vw, 56px);
  }
  .support__number .support__number-value {
    font-size: clamp(72px, 23.5vw, 104px);
  }
  .support__number small {
    letter-spacing: .12em;
  }
  .footer__number { min-width: 0; }
  .footer__number .footer__number-value {
    font-size: clamp(52px, 17vw, 72px);
  }
}


/* ==========================================================
   AJUSTE FINAL — SEM FUNDOS VERDES NA FOTO
   ========================================================== */

/* Logo e textos diretamente sobre a imagem, sem cartão verde. */
.portrait-frame__caption {
  left: 27px;
  right: 27px;
  bottom: 24px;
  gap: 5px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  text-shadow: 0 2px 8px rgba(0,0,0,.58);
}

.portrait-frame img.portrait-frame__logo {
  width: min(82%, 340px) !important;
  max-height: 84px !important;
  margin: 3px 0 0;
  filter:
    drop-shadow(0 2px 0 rgba(0,0,0,.44))
    drop-shadow(0 9px 15px rgba(0,0,0,.52));
}

/* Partido NOVO volta à posição anterior, sem caixa verde. */
.hero-chip--party {
  right: -20px;
  bottom: 112px;
  min-width: auto;
  padding: 4px 5px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  text-align: right;
  text-shadow:
    0 2px 2px rgba(0,0,0,.64),
    0 7px 15px rgba(0,0,0,.55);
}

.hero-chip--party > span {
  color: rgba(255,255,255,.84);
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .20em;
}

.hero-chip--party .party-brand {
  justify-content: flex-end;
  gap: .30em;
  margin-top: 3px;
  font-size: 19px;
}

.hero-chip--party .party-brand__novo {
  color: #ff6a00;
}

.hero-chip--party .party-brand__30 {
  color: #fff;
}

@media (max-width: 1180px) {
  .hero-chip--party {
    right: 12%;
  }
}

@media (max-width: 800px) {
  .portrait-frame__caption {
    left: 20px;
    right: 20px;
    bottom: 20px;
  }

  .portrait-frame img.portrait-frame__logo {
    width: min(80%, 285px) !important;
    max-height: 72px !important;
  }

  .hero-chip--party {
    right: 0;
    bottom: 78px;
  }
}

@media (max-width: 520px) {
  .portrait-frame__caption {
    left: 17px;
    right: 17px;
    bottom: 17px;
  }

  .portrait-frame img.portrait-frame__logo {
    width: min(82%, 235px) !important;
    max-height: 62px !important;
  }

  .portrait-frame__caption > small {
    font-size: 7px;
    line-height: 1.4;
    letter-spacing: .09em;
  }

  /* No celular pequeno o partido fica dentro da foto, ainda sem fundo. */
  .hero-chip--party {
    display: grid;
    right: 18px;
    bottom: 118px;
    padding: 0;
  }

  .hero-chip--top {
    display: none;
  }
}

@media (max-width: 360px) {
  .hero-chip--party {
    right: 15px;
    bottom: 108px;
  }

  .hero-chip--party .party-brand {
    font-size: 16px;
  }
}


/* ==========================================================
   CARTÃO PARTIDO NOVO 30 — MESMO PADRÃO DO BASE PAULISTA
   ========================================================== */

.hero-chip--top,
.hero-chip--party {
  box-sizing: border-box;
  width: 140px;
  min-height: 78px;
  padding: 14px 17px;
  border: 1px solid rgba(255,255,255,.17);
  border-radius: 17px;
  background: rgba(2,41,31,.83);
  box-shadow: 0 18px 42px rgba(0,0,0,.25);
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
  text-align: left;
}

.hero-chip--party {
  display: grid;
  align-content: center;
  justify-items: start;
  right: -20px;
  bottom: 112px;
  text-shadow: none;
}

.hero-chip--party > span {
  display: block;
  color: rgba(255,255,255,.50);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .18em;
}

.hero-chip--party .party-brand {
  justify-content: flex-start;
  gap: .30em;
  margin-top: 4px;
  font-size: 18px;
}

.hero-chip--party .party-brand__novo {
  color: #ff6a00;
}

.hero-chip--party .party-brand__30 {
  color: #ffffff;
}

@media (max-width: 1180px) {
  .hero-chip--party {
    right: 12%;
  }
}

@media (max-width: 800px) {
  .hero-chip--top,
  .hero-chip--party {
    width: 136px;
    min-height: 76px;
  }

  .hero-chip--party {
    right: 0;
    bottom: 78px;
  }
}

@media (max-width: 520px) {
  .hero-chip--party {
    display: grid;
    right: 18px;
    bottom: 118px;
    width: 132px;
    min-height: 72px;
    padding: 12px 15px;
    border: 1px solid rgba(255,255,255,.17);
    border-radius: 17px;
    background: rgba(2,41,31,.83);
    box-shadow: 0 18px 42px rgba(0,0,0,.25);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
  }

  .hero-chip--party .party-brand {
    font-size: 16px;
  }
}

@media (max-width: 360px) {
  .hero-chip--party {
    right: 15px;
    bottom: 108px;
    width: 128px;
    min-height: 70px;
  }
}


/* AJUSTE FINAL — CARTÕES MENORES, AGUARDE OFICIAL E RODAPÉ VERDE */
.header,
.footer {
  background: #02291f;
}

.hero-chip--top,
.hero-chip--party {
  box-sizing: border-box;
  width: 124px;
  min-height: 66px;
  padding: 10px 13px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 16px;
  background: rgba(2,41,31,.88);
  box-shadow: 0 14px 32px rgba(0,0,0,.24);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
}

.hero-chip--top {
  left: -4px;
  top: 96px;
}

.hero-chip--party {
  right: -4px;
  bottom: 100px;
  align-content: center;
}

.hero-chip--top span,
.hero-chip--party > span {
  font-size: 7px;
  line-height: 1.15;
  letter-spacing: .17em;
}

.hero-chip--top strong {
  margin-top: 4px;
  font-size: 15px;
  line-height: 1;
}

.hero-chip--party .party-brand {
  margin-top: 4px;
  font-size: 16px;
  line-height: 1;
}

.number-image {
  display: block;
  height: auto;
  object-fit: contain;
  object-position: center;
  filter: drop-shadow(0 12px 18px rgba(0,0,0,.32));
}

.campaign-number {
  flex: 1 1 300px;
  min-width: 0;
  padding: 0;
  overflow: visible;
}

.campaign-number__image {
  width: min(100%, 430px);
  max-height: 120px;
  object-position: left center;
}

.support__number .support__number-value {
  display: flex;
  justify-content: center;
  width: 100%;
  padding: 0;
  overflow: visible;
}

.support__number-image {
  width: min(100%, 720px);
  max-height: 190px;
}

.footer__number {
  min-width: 215px;
}

.footer__number .footer__number-value {
  display: flex;
  justify-content: center;
  width: 100%;
  padding: 0;
  overflow: visible;
}

.footer__number-image {
  width: min(100%, 230px);
  max-height: 72px;
}

@media (max-width: 1180px) {
  .hero-chip--top { left: 7%; }
  .hero-chip--party { right: 7%; }
}

@media (max-width: 800px) {
  .hero-chip--top,
  .hero-chip--party {
    width: 118px;
    min-height: 64px;
    padding: 9px 12px;
  }

  .hero-chip--top {
    left: 4px;
    top: 66px;
  }

  .hero-chip--party {
    right: 4px;
    bottom: 76px;
  }

  .campaign-number__image {
    width: min(100%, 390px);
    max-height: 108px;
  }

  .support__number-image {
    width: min(100%, 590px);
    max-height: 160px;
  }
}

@media (max-width: 520px) {
  .hero-chip--top {
    display: grid;
    left: 13px;
    top: 48px;
  }

  .hero-chip--party {
    display: grid;
    right: 13px;
    bottom: 105px;
  }

  .hero-chip--top,
  .hero-chip--party {
    width: 112px;
    min-height: 60px;
    padding: 8px 11px;
    border-radius: 15px;
  }

  .hero-chip--top strong { font-size: 13px; }
  .hero-chip--party .party-brand { font-size: 14px; }

  .campaign-number__image {
    width: min(100%, 330px);
    max-height: 94px;
  }

  .support__number-image {
    width: min(100%, 420px);
    max-height: 120px;
  }

  .footer__number-image {
    width: min(100%, 210px);
    max-height: 66px;
  }
}

@media (max-width: 360px) {
  .hero-chip--top,
  .hero-chip--party {
    width: 106px;
    min-height: 58px;
  }

  .hero-chip--top { left: 10px; }
  .hero-chip--party {
    right: 10px;
    bottom: 98px;
  }
}


/* AGUARDE final — transparência limpa, sem preto e sem sombra externa */
.number-image {
  filter: none !important;
  image-rendering: auto;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}


/* ==========================================================
   AJUSTES DE CONTEÚDO — 07/08/2026
   ========================================================== */

:root {
  --navy-cacau: #08345f;
}

/* “Educação na origem.” em azul-marinho */
.bio-title__line--navy {
  color: var(--navy-cacau);
}

/* Evita qualquer regra antiga recolorindo a primeira linha. */
.bio-heading h2 .bio-title__line--navy {
  color: var(--navy-cacau) !important;
}

/* Handle oficial em três cores:
   @ branco | cacaununes verde | pe amarelo */
.ig-handle {
  display: inline-flex;
  align-items: baseline;
  gap: 0;
  white-space: nowrap;
  font-weight: 900;
  letter-spacing: -.025em;
  vertical-align: baseline;
}

.ig-handle__at {
  color: #ffffff;
}

.ig-handle__name {
  color: #2bdb82;
}

.ig-handle__pe {
  color: var(--yellow);
}

#midias .heading .ig-handle {
  margin-inline: .08em;
  font-size: 1.03em;
}

.media-card--profile h3 .ig-handle {
  font: inherit;
  letter-spacing: inherit;
}

/* Justificação editorial com controle de espaços.
   Hyphenation + largura adequada reduzem “buracos” entre palavras. */
.hero__copy > p,
.bio-heading__intro,
.bio-point p,
.story-card p,
.story-feature__copy p,
.story-feature__facts small,
.heading p,
.proposal-panel__grid p,
.project-steps p,
.project-visual p,
.timeline small,
.media-card p,
.brand-banner__copy p,
.support__copy p,
.legal-card p {
  text-align: justify;
  text-align-last: left;
  text-justify: inter-word;
  hyphens: auto;
  -webkit-hyphens: auto;
  overflow-wrap: break-word;
  word-break: normal;
  word-spacing: normal;
  letter-spacing: normal;
}

/* Limita comprimentos excessivos para manter uma mancha de texto bonita. */
.hero__copy > p { max-width: 66ch; }
.bio-heading__intro { max-width: 72ch !important; }
.heading p { max-width: 70ch; }
.media-card p { max-width: 38ch; }
.story-card p { max-width: 58ch; }

/* Mantém títulos e labels sem justificação. */
.kicker,
.eyebrow,
.hero__role,
.hero__proof span,
.story-card__label,
.proposal-panel__grid span,
.media-card small,
.media-card b,
.timeline span,
.timeline strong {
  text-align: left;
}

/* No celular, blocos estreitos usam alinhamento natural para não abrir espaços. */
@media (max-width: 600px) {
  .proposal-panel__grid p,
  .media-card p,
  .timeline small,
  .story-feature__facts small {
    text-align: left;
    hyphens: none;
    -webkit-hyphens: none;
  }

  .bio-heading h2 {
    gap: .075em;
  }
}


/* ==========================================================
   AJUSTES ANDROID + RODAPÉ SAADTEC — 07/08/2026
   ========================================================== */

/* Centralização real do bloco "DEPUTADO ESTADUAL" + AGUARDE */
.hero__identity {
  align-items: center;
  justify-content: center;
  text-align: center;
}
.hero__role {
  max-width: none;
  width: 100%;
  text-align: center;
}
.campaign-number {
  justify-content: center;
  width: 100%;
}
.campaign-number__image {
  display: block;
  margin-inline: auto;
  object-position: center !important;
}

/* No card da seção de apoio, garantir tudo bem centralizado */
.support__number,
.support__number .support__number-value {
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}
.support__number > span,
.support__number small {
  display: block;
  width: 100%;
  text-align: center !important;
}
.support__number-image {
  display: block;
  margin-inline: auto;
}

/* Tabs horizontais das propostas: barra/indicador amarelo em vez de cinza */
.proposal-selector {
  scrollbar-width: thin;
  scrollbar-color: var(--yellow) rgba(255,255,255,.18);
}
.proposal-selector::-webkit-scrollbar {
  height: 8px;
}
.proposal-selector::-webkit-scrollbar-track {
  background: rgba(255,255,255,.18);
  border-radius: 999px;
}
.proposal-selector::-webkit-scrollbar-thumb {
  background: linear-gradient(90deg, #ffd81a, #ffea69);
  border-radius: 999px;
}
.proposal-selector::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(90deg, #ffcc00, #ffe766);
}

/* Reposicionar o card do partido para não cobrir o Brasil de forma ruim */
.hero__visual {
  overflow: visible;
}
.portrait-frame {
  overflow: hidden;
}
.hero-chip--party {
  right: 18px !important;
  bottom: 24px !important;
  z-index: 6;
}
.hero-chip--top {
  left: 18px !important;
  top: 24px !important;
  z-index: 6;
}

/* Rodapé: manter direitos reservados e adicionar SaadTec */
.footer__bottom {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 14px 20px;
}
.footer__copyright {
  order: 1;
}
.footer__credits {
  order: 2;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: rgba(255,255,255,.86);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .02em;
}
.footer__credits-prefix {
  color: rgba(255,255,255,.68);
}
.footer__credits-logo {
  width: auto;
  height: 28px;
  border-radius: 8px;
  object-fit: contain;
  background: rgba(255,255,255,.96);
  padding: 2px 6px;
}
.footer__credits-name {
  display: inline-flex;
  align-items: baseline;
  gap: 0;
  font-family: "Sora", sans-serif;
  font-weight: 800;
  font-size: 13px;
}
.footer__credits-name--saad {
  color: #167ac6;
}
.footer__credits-name--tec {
  color: #f28a36;
}
.footer__top-link {
  order: 3;
  margin-left: auto;
}

/* Ajustes finos mobile */
@media (max-width: 800px) {
  .hero__identity {
    gap: 14px;
  }

  .hero-chip--party {
    right: 16px !important;
    bottom: 22px !important;
  }

  .hero-chip--top {
    left: 16px !important;
    top: 22px !important;
  }
}

@media (max-width: 520px) {
  .hero__identity {
    align-items: center !important;
    flex-direction: column;
    gap: 12px;
  }
  .hero__role {
    font-size: 12px;
    letter-spacing: .20em;
  }
  .campaign-number__image {
    width: min(100%, 360px);
    max-height: 100px;
  }

  .support__number > span {
    font-size: 13px;
    letter-spacing: .18em;
  }
  .support__number-image {
    width: min(100%, 430px);
    max-height: 126px;
  }

  .hero-chip--top,
  .hero-chip--party {
    width: 108px;
    min-height: 58px;
    padding: 8px 10px;
    border-radius: 15px;
  }
  .hero-chip--party {
    right: 14px !important;
    bottom: 18px !important;
  }
  .hero-chip--top {
    left: 14px !important;
    top: 18px !important;
  }

  .footer__bottom {
    display: grid;
    grid-template-columns: 1fr;
    justify-items: start;
  }
  .footer__credits {
    flex-wrap: wrap;
  }
  .footer__top-link {
    margin-left: 0;
  }
}

@media (max-width: 380px) {
  .hero-chip--top,
  .hero-chip--party {
    width: 102px;
    min-height: 56px;
  }
  .hero-chip--party {
    right: 12px !important;
    bottom: 16px !important;
  }
}

/* Compatibilidade extra com Android */
html, body {
  overflow-x: hidden;
}


/* ==========================================================
   DEPUTADO ESTADUAL ACIMA DO AGUARDE — CENTRALIZAÇÃO DEFINITIVA
   ========================================================== */

.hero__identity {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 14px !important;
  width: 100%;
  text-align: center !important;
}

.hero__role {
  display: block;
  width: 100% !important;
  max-width: none !important;
  margin: 0;
  text-align: center !important;
  font-size: clamp(12px, 1vw, 15px);
  line-height: 1.2;
  letter-spacing: .20em;
}

.campaign-number {
  display: flex !important;
  width: 100% !important;
  justify-content: center !important;
  align-items: center !important;
  margin: 0 auto;
}

.campaign-number__image {
  display: block;
  width: min(100%, 430px);
  height: auto;
  margin: 0 auto !important;
  object-position: center center !important;
}

@media (max-width: 520px) {
  .hero__identity {
    gap: 11px !important;
  }

  .hero__role {
    font-size: 12px;
    letter-spacing: .18em;
  }

  .campaign-number__image {
    width: min(100%, 345px);
  }
}


/* ==========================================================
   VERSÃO FINAL — CABEÇALHO NO VISUAL ANTERIOR + HERO COMPACTO
   ========================================================== */

/* Mantém exatamente as dimensões/espacamentos visuais anteriores */
.ticker {
  height: 44px !important;
  background: linear-gradient(90deg,#06613f,#0a8e55 48%,#06613f) !important;
}
.ticker__group {
  gap: 32px !important;
  padding-right: 32px !important;
}
.ticker span {
  gap: 12px !important;
  font-size: 11px !important;
}
.ticker b {
  width: 7px !important;
  height: 7px !important;
}

.header {
  height: 88px !important;
  background: rgba(2,41,31,.90) !important;
  border-bottom: 1px solid rgba(255,255,255,.10) !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: blur(22px) !important;
  backdrop-filter: blur(22px) !important;
}

.nav {
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 36px !important;
}

.brand {
  gap: 12px !important;
}
.brand__mark {
  width: 58px !important;
  height: 58px !important;
}
.brand__wordmark {
  width: 158px !important;
}
.brand__identity small {
  display: block;
  padding-left: 3px !important;
  font-size: 8px !important;
  letter-spacing: .19em !important;
}

.menu {
  gap: 28px !important;
  font-size: 13px !important;
}
.menu__cta {
  min-height: 46px !important;
  padding: 0 19px !important;
  gap: 10px !important;
}

/* O visual é o anterior, mas faixa + menu continuam descendo com a página */
body {
  padding-top: 132px !important;
}

.ticker {
  position: fixed !important;
  z-index: 1201 !important;
  inset: 0 0 auto 0 !important;
  width: 100% !important;
}

.header {
  position: fixed !important;
  z-index: 1200 !important;
  left: 0 !important;
  right: 0 !important;
  top: 44px !important;
  width: 100% !important;
}

.progress {
  z-index: 1400 !important;
}

html {
  scroll-padding-top: 148px !important;
}
section[id],
footer[id] {
  scroll-margin-top: 148px !important;
}

/* ---------------------------
   HERO: mínimo de espaços
   --------------------------- */
.hero__identity {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  margin-top: 12px !important;
  padding-top: 0 !important;
  border-top: 0 !important;
  gap: 1px !important;
  text-align: center !important;
}

.hero__role {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
  font-size: clamp(12px, 1vw, 15px) !important;
  line-height: 1.05 !important;
  letter-spacing: .20em !important;
}

.campaign-number {
  display: flex !important;
  width: 100% !important;
  min-width: 0 !important;
  justify-content: center !important;
  align-items: center !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

.campaign-number__image {
  display: block !important;
  width: min(100%, 430px) !important;
  height: auto !important;
  max-height: 116px !important;
  margin: 0 auto !important;
  object-position: center center !important;
}

.hero__proof {
  margin-top: 7px !important;
  gap: 12px !important;
}

.hero__proof div {
  padding: 15px 17px !important;
}

/* Ajuste de densidade do bloco sem mexer no restante do hero */
.hero__copy {
  min-width: 0;
}

/* Mobile: mantém visual anterior do cabeçalho */
@media (max-width: 800px) {
  body {
    padding-top: 112px !important;
  }

  .ticker {
    height: 40px !important;
  }
  .ticker span {
    font-size: 10px !important;
  }
  .ticker__group {
    gap: 26px !important;
    padding-right: 26px !important;
  }

  .header {
    top: 40px !important;
    height: 72px !important;
  }

  .nav {
    justify-content: space-between !important;
    gap: 36px !important;
  }

  .brand {
    gap: 12px !important;
  }

  .brand__mark {
    width: 58px !important;
    height: 58px !important;
  }

  .brand__wordmark {
    width: 158px !important;
  }

  .menu {
    gap: 0 !important;
    font-size: 13px !important;
  }

  html {
    scroll-padding-top: 126px !important;
  }
  section[id],
  footer[id] {
    scroll-margin-top: 126px !important;
  }

  .hero__identity {
    margin-top: 9px !important;
    gap: 0 !important;
  }

  .hero__role {
    font-size: 12px !important;
    line-height: 1 !important;
    letter-spacing: .18em !important;
  }

  .campaign-number__image {
    width: min(100%, 380px) !important;
    max-height: 103px !important;
  }

  .hero__proof {
    margin-top: 6px !important;
  }
}

@media (max-width: 520px) {
  .brand__identity small {
    display: none !important;
  }

  .brand__mark {
    width: 48px !important;
    height: 48px !important;
  }

  .brand__wordmark {
    width: 126px !important;
  }

  .hero__identity {
    margin-top: 6px !important;
  }

  .campaign-number__image {
    width: min(100%, 350px) !important;
    max-height: 96px !important;
  }

  .hero__proof {
    margin-top: 5px !important;
  }

  .hero__proof div {
    padding: 14px 16px !important;
  }
}

@media (max-width: 390px) {
  .brand {
    gap: 8px !important;
  }

  .brand__mark {
    width: 43px !important;
    height: 43px !important;
  }

  .brand__wordmark {
    width: 112px !important;
  }

  .nav {
    gap: 12px !important;
  }

  .campaign-number__image {
    width: min(100%, 330px) !important;
    max-height: 90px !important;
  }
}

/* iOS safe area + compatibilidade */
@supports (padding: max(0px)) {
  .ticker {
    padding-left: env(safe-area-inset-left);
    padding-right: env(safe-area-inset-right);
  }
  .header .shell {
    padding-left: max(0px, env(safe-area-inset-left));
    padding-right: max(0px, env(safe-area-inset-right));
  }
}


/* Correção após QA: remove a antiga reserva flexível de 300px do número */
.hero__identity .campaign-number {
  flex: 0 0 auto !important;
  min-height: 0 !important;
  height: auto !important;
}


/* ==========================================================
   RODAPÉ SAADTEC INTEGRADO — MESMO ESTILO DO COPYRIGHT
   ========================================================== */

.footer__bottom {
  color: rgba(255,255,255,.40) !important;
  font-size: 10px !important;
  font-weight: 400 !important;
}

.footer__credits {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: inherit !important;
  font: inherit !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
}

.footer__credits-prefix {
  color: inherit !important;
  font: inherit !important;
  font-weight: 400 !important;
}

.footer__credits-logo {
  display: block !important;
  width: auto !important;
  height: 27px !important;
  max-width: 94px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  object-fit: contain !important;
  opacity: .90;
}

.footer__credits-name,
.footer__credits-name--saad,
.footer__credits-name--tec {
  display: none !important;
}

@media (max-width: 520px) {
  .footer__bottom {
    font-size: 10px !important;
  }

  .footer__credits {
    gap: 7px !important;
  }

  .footer__credits-logo {
    height: 25px !important;
    max-width: 88px !important;
  }
}


/* ==========================================================
   HERO FINAL — MAIS RESPIRO NOS BOTÕES + FOTO DE CIMA A BAIXO
   ========================================================== */

/* Um pouco mais de distância entre os botões e "Deputado Estadual". */
.hero__identity {
  margin-top: 26px !important;
}

/* Mantém cargo, número e cards compactos entre si. */
.hero__role {
  margin-bottom: 1px !important;
}
.hero__proof {
  margin-top: 8px !important;
}

/* Desktop: as duas colunas começam e terminam juntas.
   A fotografia ocupa a altura total da coluna direita. */
@media (min-width: 1025px) {
  .hero__layout {
    align-items: stretch !important;
  }

  .hero__copy {
    align-self: stretch !important;
  }

  .hero__visual {
    align-self: stretch !important;
    min-height: 0 !important;
    height: auto !important;
    display: flex !important;
    align-items: stretch !important;
    justify-content: center !important;
  }

  .portrait-frame {
    width: min(100%, 515px) !important;
    height: 100% !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
    align-self: stretch !important;
  }

  .portrait-frame > .portrait-frame__photo {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center top !important;
  }
}

/* Notebook/tablet horizontal: mantém o mesmo conceito sem exagerar no tamanho. */
@media (min-width: 801px) and (max-width: 1024px) {
  .hero__identity {
    margin-top: 23px !important;
  }

  .hero__layout {
    align-items: start !important;
  }

  .hero__visual {
    min-height: 0 !important;
  }

  .portrait-frame {
    height: auto !important;
    aspect-ratio: .75 !important;
  }
}

/* Mobile: não força a foto à altura do texto, pois as colunas ficam empilhadas. */
@media (max-width: 800px) {
  .hero__identity {
    margin-top: 20px !important;
  }

  .hero__visual {
    min-height: 0 !important;
    padding-top: 8px;
  }

  .portrait-frame {
    height: auto !important;
    aspect-ratio: .75 !important;
  }
}

@media (max-width: 520px) {
  .hero__identity {
    margin-top: 18px !important;
  }

  .hero__proof {
    margin-top: 7px !important;
  }
}


/* ==========================================================
   BLOCO FINAL AGUARDE — MESMA COMPOSIÇÃO DO CARD PRINCIPAL
   Mantém a escala apropriada ao rodapé.
   ========================================================== */

.footer__number {
  position: relative;
  isolation: isolate;
  box-sizing: border-box;
  width: clamp(280px, 24vw, 370px);
  min-width: 0 !important;
  aspect-ratio: 1.58 / 1;
  margin-left: auto;
  padding: clamp(22px, 2vw, 30px) clamp(18px, 1.8vw, 26px);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 24px;
  text-align: center !important;
  background:
    radial-gradient(circle at 72% 12%, rgba(255,218,26,.10), transparent 34%),
    linear-gradient(145deg, rgba(8,111,71,.28), rgba(1,34,27,.70));
  box-shadow:
    0 20px 45px rgba(0,0,0,.20),
    inset 0 1px 0 rgba(255,255,255,.055);
}

.footer__number::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 210px;
  aspect-ratio: 1;
  right: -96px;
  bottom: -118px;
  border: 28px solid rgba(255,255,255,.035);
  border-radius: 50%;
}

.footer__number-title {
  display: block !important;
  width: 100%;
  margin: 0 0 11px !important;
  color: rgba(255,255,255,.88) !important;
  font-size: clamp(10px, .75vw, 13px) !important;
  font-weight: 900 !important;
  line-height: 1.15 !important;
  letter-spacing: .19em !important;
  text-align: center !important;
}

.footer__number .footer__number-value {
  display: flex !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  justify-content: center !important;
  align-items: center !important;
  overflow: visible !important;
  line-height: 1 !important;
}

.footer__number-image {
  display: block !important;
  width: min(100%, 325px) !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 88px !important;
  margin: 0 auto !important;
  object-fit: contain !important;
  object-position: center !important;
  filter: none !important;
}

.footer__number-location {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  margin-top: 13px !important;
  padding: 6px 16px !important;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 999px;
  color: rgba(255,255,255,.80) !important;
  background: rgba(255,255,255,.05);
  font-size: clamp(9px, .63vw, 11px) !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  letter-spacing: .15em !important;
  text-align: center !important;
  white-space: nowrap;
}

/* Desktop intermediário */
@media (max-width: 1180px) and (min-width: 801px) {
  .footer__number {
    width: min(100%, 360px);
    margin: 18px 0 0;
  }
}

/* Mobile: mantém o mesmo desenho, apenas cresce para usar bem a largura. */
@media (max-width: 800px) {
  .footer__number {
    width: min(100%, 420px);
    aspect-ratio: 1.58 / 1;
    margin: 12px auto 0 !important;
    padding: 24px 20px;
    border-radius: 24px;
  }

  .footer__number-title {
    margin-bottom: 11px !important;
    font-size: 11px !important;
  }

  .footer__number-image {
    width: min(100%, 350px) !important;
    max-height: 94px !important;
  }

  .footer__number-location {
    margin-top: 13px !important;
    min-height: 30px;
    font-size: 9px !important;
  }
}

@media (max-width: 390px) {
  .footer__number {
    width: 100%;
    padding: 21px 16px;
    border-radius: 22px;
  }

  .footer__number-image {
    width: min(100%, 310px) !important;
    max-height: 84px !important;
  }

  .footer__number-location {
    padding-inline: 12px !important;
    letter-spacing: .12em !important;
  }
}


/* ==========================================================
   RODAPÉ + PERFIL + ALINHAMENTOS — VERSÃO FINAL
   ========================================================== */

/* Texto de mídia: não hifenizar "perfil"; primeira linha + handle separado. */
#midias .heading .media-profile-copy {
  width: 100%;
  max-width: none !important;
  margin-top: 18px;
  text-align: left !important;
  text-align-last: left !important;
  hyphens: none !important;
  -webkit-hyphens: none !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  line-height: 1.6;
}

.media-profile-copy__line {
  display: block;
  white-space: normal;
}

.media-profile-copy__handle {
  display: inline-flex !important;
  margin-top: 3px;
  white-space: nowrap !important;
  font-size: 1.03em;
}

/* Desktop amplo: força a frase inteira em uma linha visual sempre que houver espaço. */
@media (min-width: 980px) {
  #midias .heading .media-profile-copy {
    font-size: clamp(15px, 1.05vw, 18px);
  }

  .media-profile-copy__line {
    white-space: nowrap;
  }
}

/* Em telas menores, nunca quebra a palavra "perfil" com hífen. */
@media (max-width: 979px) {
  .media-profile-copy__line {
    hyphens: none !important;
    -webkit-hyphens: none !important;
  }
}

/* Rodapé: logo CACAU completa no mesmo estilo da referência oficial. */
.footer__logo-link {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
}

.footer__logo-oficial {
  display: block;
  width: clamp(210px, 18vw, 300px);
  height: auto;
  max-width: 100%;
  object-fit: contain;
  object-position: left center;
  filter:
    drop-shadow(0 2px 0 rgba(0,0,0,.30))
    drop-shadow(0 8px 18px rgba(0,0,0,.22));
}

/* Card AGUARDE do rodapé: exatamente a arte enviada. */
.footer__number {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  min-width: 0 !important;
  text-align: center !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  overflow: visible !important;
  aspect-ratio: auto !important;
}

.footer__number::before {
  content: none !important;
}

.footer__number-card-image {
  display: block;
  width: min(100%, 390px);
  height: auto;
  margin: 0;
  border: 0;
  border-radius: 0;
  object-fit: contain;
  object-position: center;
}

/* Cards 46 / 20+ / 570+ centralizados, conforme solicitado antes. */
.hero__proof div {
  display: flex !important;
  flex-direction: column;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

.hero__proof strong,
.hero__proof span {
  width: 100%;
  text-align: center !important;
}

/* Footer responsivo */
@media (max-width: 1180px) {
  .footer__number {
    justify-content: center !important;
  }

  .footer__number-card-image {
    width: min(100%, 430px);
    margin-inline: auto;
  }
}

@media (max-width: 800px) {
  .footer__logo-link {
    justify-content: flex-start;
  }

  .footer__logo-oficial {
    width: min(100%, 285px);
  }

  .footer__number-card-image {
    width: min(100%, 460px);
  }
}

@media (max-width: 520px) {
  .footer__logo-oficial {
    width: min(100%, 245px);
  }

  .footer__number-card-image {
    width: 100%;
  }

  #midias .heading .media-profile-copy {
    font-size: 16px;
    line-height: 1.55;
  }
}


/* ==========================================================
   NOVA ARTE AGUARDE NO RODAPÉ — PROPORÇÃO ORIGINAL PRESERVADA
   ========================================================== */
.footer__number {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-width: 0 !important;
  overflow: visible !important;
}

.footer__number-card-image {
  display: block !important;
  width: min(100%, 420px) !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  object-position: center center !important;
  margin: 0 auto !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}

/* Notebook / tablet */
@media (max-width: 1180px) {
  .footer__number-card-image {
    width: min(100%, 450px) !important;
  }
}

/* Mobile */
@media (max-width: 800px) {
  .footer__number {
    margin-inline: auto !important;
  }

  .footer__number-card-image {
    width: min(100%, 470px) !important;
  }
}

@media (max-width: 520px) {
  .footer__number-card-image {
    width: 100% !important;
  }
}


/* ==========================================================
   CORREÇÃO QA — MAIS ÁREA PARA A ARTE DO RODAPÉ NO DESKTOP
   ========================================================== */
@media (min-width: 1181px) {
  .footer__grid {
    grid-template-columns: 1.25fr .58fr .58fr 1fr !important;
    gap: 34px !important;
    align-items: start !important;
  }

  .footer__number {
    width: 100% !important;
    justify-content: center !important;
  }

  .footer__number-card-image {
    width: min(100%, 400px) !important;
  }
}


/* ==========================================================
   MÍDIAS — LOGO CACAU CENTRALIZADA + PERFIL NO FINAL DO TEXTO
   ========================================================== */

.section--social {
  position: relative;
  isolation: isolate;
}

/* Remove qualquer efeito da palavra CACAU antiga, caso algum HTML legado a mantenha. */
.section--social .social-word {
  display: none !important;
}

/* Logo oficial centralizada como marca d'água. */
.social-logo-watermark {
  position: absolute;
  z-index: 0;
  left: 50%;
  top: 45%;
  width: min(78vw, 1180px);
  max-width: calc(100% - 56px);
  transform: translate(-50%, -50%);
  pointer-events: none;
  user-select: none;
  opacity: .042;
  text-align: center;
}

.social-logo-watermark img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0 auto;
  object-fit: contain;
  object-position: center;
  filter: grayscale(.08) brightness(1.14);
}

.section--social > .shell {
  position: relative;
  z-index: 1;
}

/* Texto corrido. Nunca hifenizar "perfil". */
#midias .heading .media-profile-copy {
  display: block;
  width: 100%;
  max-width: 1120px !important;
  margin-top: 20px;
  color: rgba(255,255,255,.78);
  font-size: clamp(16px, 1.15vw, 20px);
  line-height: 1.62;
  text-align: left !important;
  text-align-last: left !important;
  text-justify: auto !important;
  hyphens: none !important;
  -webkit-hyphens: none !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  word-spacing: normal !important;
  letter-spacing: normal !important;
}

.media-profile-copy__text {
  display: inline;
}

.media-profile-copy__handle {
  display: inline-flex !important;
  align-items: baseline;
  margin-left: .18em;
  white-space: nowrap !important;
  vertical-align: baseline;
  font-size: 1em;
}

.media-profile-copy__period {
  display: inline;
  margin-left: .02em;
}

/* Mantém o handle visualmente integrado ao texto. */
#midias .media-profile-copy .ig-handle__at {
  color: #ffffff !important;
}
#midias .media-profile-copy .ig-handle__name {
  color: #2bdb82 !important;
}
#midias .media-profile-copy .ig-handle__pe {
  color: var(--yellow) !important;
}

/* Desktop: mais respiro e logo precisamente ao centro visual da seção. */
@media (min-width: 1181px) {
  .social-logo-watermark {
    top: 43%;
    width: min(72vw, 1120px);
  }

  #midias .heading {
    max-width: 1180px;
  }
}

/* Tablet */
@media (max-width: 1180px) {
  .social-logo-watermark {
    top: 38%;
    width: min(86vw, 900px);
    opacity: .038;
  }

  #midias .heading .media-profile-copy {
    max-width: 900px !important;
  }
}

/* Mobile: logo centralizada, menor e ainda discreta. */
@media (max-width: 800px) {
  .social-logo-watermark {
    top: 25%;
    width: min(92vw, 620px);
    max-width: calc(100% - 30px);
    opacity: .035;
  }

  #midias .heading .media-profile-copy {
    margin-top: 16px;
    font-size: 16px;
    line-height: 1.55;
  }
}

@media (max-width: 520px) {
  .social-logo-watermark {
    top: 22%;
    width: calc(100% - 24px);
    opacity: .032;
  }

  #midias .heading .media-profile-copy {
    font-size: 15px;
    line-height: 1.55;
  }
}


/* ==========================================================
   RODAPÉ AGUARDE — SEM MOLDURA EXTERNA
   Apenas o card arredondado, integrado ao fundo.
   ========================================================== */

.footer__number {
  display: flex !important;
  width: 100% !important;
  min-width: 0 !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
  aspect-ratio: auto !important;
}

.footer__number::before,
.footer__number::after {
  content: none !important;
  display: none !important;
}

.footer__number-card-image {
  display: block !important;
  width: min(100%, 430px) !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: none !important;
  margin: 0 auto !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  object-fit: contain !important;
  object-position: center !important;
  transform: none !important;
  filter: drop-shadow(0 16px 28px rgba(0,0,0,.16)) !important;
}

@media (min-width: 1181px) {
  .footer__grid {
    grid-template-columns: 1.22fr .58fr .58fr 1.03fr !important;
    gap: 34px !important;
    align-items: center !important;
  }

  .footer__number-card-image {
    width: min(100%, 420px) !important;
  }
}

@media (max-width: 1180px) {
  .footer__number-card-image {
    width: min(100%, 440px) !important;
  }
}

@media (max-width: 800px) {
  .footer__number {
    margin-top: 8px !important;
  }

  .footer__number-card-image {
    width: min(100%, 460px) !important;
    filter: drop-shadow(0 12px 22px rgba(0,0,0,.14)) !important;
  }
}

@media (max-width: 520px) {
  .footer__number-card-image {
    width: 100% !important;
  }
}


/* ==========================================================
   NOVA LOGO SAADTEC — 07/08/2026
   ========================================================== */
.footer__credits-logo {
  width: auto !important;
  height: 30px !important;
  max-width: 118px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  object-fit: contain !important;
  opacity: 1 !important;
}

@media (max-width: 520px) {
  .footer__credits-logo {
    height: 28px !important;
    max-width: 108px !important;
  }
}

.story-feature__copy p{max-width:760px;line-height:1.7}
.story-feature__copy .story-instagram-link{margin-top:18px;text-decoration:none}
@media(max-width:800px){
  .story-feature__copy p{line-height:1.62}
  .story-feature__copy .story-instagram-link{width:100%;justify-content:center}
}

/* VERSÃO FINAL — CINCO TEMAS */
@media (min-width:1025px){.proposal-selector{grid-template-columns:repeat(5,minmax(0,1fr))!important}.project-steps{grid-template-columns:repeat(5,minmax(0,1fr))!important}.project-steps article{min-height:230px;align-content:start}}
.project-infographic{margin:clamp(28px,4vw,54px) 0;padding:0;text-align:center}.project-infographic__link{display:block;overflow:hidden;border:1px solid rgba(4,45,34,.12);border-radius:26px;background:#fff;box-shadow:0 24px 60px rgba(0,0,0,.12);transition:transform .25s ease,box-shadow .25s ease}.project-infographic__link:hover{transform:translateY(-3px);box-shadow:0 30px 72px rgba(0,0,0,.16)}.project-infographic img{display:block;width:100%;height:auto}.project-infographic figcaption{margin-top:12px;color:rgba(2,41,31,.64);font-size:13px;font-weight:700;letter-spacing:.03em}
@media(max-width:1024px){.project-steps{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:800px){.project-steps{grid-template-columns:1fr!important}.project-infographic{margin-top:28px}.project-infographic__link{border-radius:18px}.project-infographic figcaption{font-size:12px}}

/* Destaque — direitos das mulheres */
@media (min-width: 1025px) {
  .bio-points {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }
}


/* ==========================================================
   BASE PERNAMBUCO — CORREÇÃO DE QUEBRA / CORTE
   ========================================================== */
.hero-chip--top {
  min-width: 190px !important;
  width: auto !important;
  max-width: calc(100% - 32px) !important;
  padding: 14px 18px !important;
}

.hero-chip--top small,
.hero-chip--top strong {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
  text-overflow: clip !important;
}

.hero-chip--top strong {
  font-size: clamp(15px, 1.35vw, 20px) !important;
  line-height: 1.12 !important;
  letter-spacing: .015em !important;
}

@media (max-width: 800px) {
  .hero-chip--top {
    min-width: 168px !important;
    padding: 12px 15px !important;
  }

  .hero-chip--top strong {
    font-size: 16px !important;
  }
}

@media (max-width: 390px) {
  .hero-chip--top {
    min-width: 154px !important;
    max-width: calc(100% - 20px) !important;
    padding: 11px 13px !important;
  }

  .hero-chip--top strong {
    font-size: 14px !important;
  }
}


/* ==========================================================
   CABEÇALHO + RODAPÉ — VERDE OFICIAL
   Remove aparência preta e mantém alto contraste.
   ========================================================== */
:root {
  --campaign-deep-green: #003f2f;
  --campaign-deep-green-2: #004c38;
  --campaign-footer-green: #003f2f;
}

/* Faixa superior */
.ticker {
  background:
    linear-gradient(90deg, #087b50 0%, #00965e 52%, #087b50 100%) !important;
  border-bottom-color: rgba(255,255,255,.12) !important;
}

/* Cabeçalho principal */
.header,
.site-header {
  background:
    linear-gradient(135deg, var(--campaign-deep-green) 0%, var(--campaign-deep-green-2) 100%) !important;
  border-bottom-color: rgba(255,255,255,.10) !important;
  box-shadow: 0 10px 30px rgba(0,45,34,.18) !important;
}

/* Menu móvel aberto segue o mesmo verde */
#mainMenu,
.header__nav,
.nav {
  --menu-green: #003f2f;
}

@media (max-width: 800px) {
  #mainMenu.open,
  .header__nav.open,
  .nav.open {
    background:
      linear-gradient(145deg, #003f2f 0%, #00513b 100%) !important;
    border-color: rgba(255,255,255,.10) !important;
  }
}

/* Rodapé completo */
.footer,
.site-footer {
  background:
    radial-gradient(circle at 82% 10%, rgba(22,155,93,.13), transparent 32%),
    linear-gradient(145deg, #003f2f 0%, #004936 58%, #00382b 100%) !important;
  color: #fff !important;
}

/* Base inferior do rodapé: também verde, nunca preto */
.footer__bottom {
  background: rgba(0,48,36,.42) !important;
  border-top-color: rgba(255,255,255,.10) !important;
}

/* Assegura que textos/links continuem claros */
.footer a,
.footer p,
.footer small,
.footer strong,
.footer span {
  text-shadow: none;
}

.footer__bottom,
.footer__bottom a,
.footer__bottom span {
  color: rgba(255,255,255,.66) !important;
}

/* Mantém links destacados legíveis */
.footer a:hover,
.footer a:focus-visible {
  color: #ffda1a !important;
}


/* ==========================================================
   FINAL — 6 TEMAS ORGANIZADOS + RODAPÉ LIMPO
   ========================================================== */
.proposal-selector{
  display:grid!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:12px!important;
  align-items:stretch!important;
}
.proposal-tab{
  min-width:0!important;
  min-height:108px!important;
  height:auto!important;
  padding:16px 10px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  text-align:center!important;
  white-space:normal!important;
}
.proposal-tab span{line-height:1.15!important;text-wrap:balance!important}
.project-steps{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:16px!important;
  align-items:stretch!important;
}
.project-steps .project-step{
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  padding:20px!important;
  display:grid!important;
  grid-template-columns:52px 52px minmax(0,1fr)!important;
  gap:12px!important;
  align-items:center!important;
  align-content:center!important;
  border:1px solid var(--line)!important;
  border-radius:22px!important;
  background:#fff!important;
  overflow:hidden!important;
}
.project-step__number{
  display:grid!important;place-items:center!important;
  width:50px!important;height:50px!important;border-radius:14px!important;
  background:#003f2f!important;color:#ffda1a!important;font-weight:900!important;
}
.project-step__icon{
  display:grid!important;place-items:center!important;
  width:50px!important;height:50px!important;border-radius:14px!important;
  background:#daf4e5!important;color:#008b5a!important;
}
.project-step__icon svg{width:25px!important;height:25px!important;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.project-step__content{min-width:0!important}
.project-step__content h3{margin:0 0 6px!important;font-size:clamp(16px,1.1vw,20px)!important;line-height:1.16!important;text-wrap:balance!important}
.project-step__content p{margin:0!important;font-size:13px!important;line-height:1.48!important}
.project-step:nth-child(6) .project-step__icon{background:#f7e2ee!important;color:#a03a73!important}

/* Remove qualquer resíduo visual do infográfico antigo */
.project-infographic{display:none!important}

/* CACAU + AGUARDE sem caixas ou fundo extra e com o mesmo peso visual */
.footer__campaign-logo,
.footer__campaign-number{
  display:block!important;
  width:auto!important;
  height:clamp(72px,6.2vw,96px)!important;
  max-width:100%!important;
  object-fit:contain!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  margin:0 auto!important;
}
.footer__campaign-logo{
  filter:drop-shadow(0 5px 12px rgba(0,0,0,.18))!important;
}
.footer__campaign-number{
  filter:drop-shadow(0 0 1px rgba(255,255,255,.65)) drop-shadow(0 6px 14px rgba(0,0,0,.20))!important;
}
.footer__logo-link,
.footer__number{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
}
.footer__brand{text-align:center!important}
.footer__slogan{text-align:center!important;margin-top:14px!important}
.footer__number::before,.footer__number::after{display:none!important;content:none!important}
.footer__number-card-image{display:none!important}

@media(min-width:1181px){
  .footer__grid{
    grid-template-columns:1.15fr .62fr .62fr 1.15fr!important;
    gap:32px!important;
    align-items:center!important;
  }
}
@media(max-width:1180px){
  .proposal-selector{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .project-steps{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .footer__campaign-logo,.footer__campaign-number{height:82px!important}
}
@media(max-width:800px){
  .proposal-selector{
    display:flex!important;overflow-x:auto!important;gap:10px!important;
    padding-bottom:8px!important;scroll-snap-type:x proximity!important;
  }
  .proposal-tab{flex:0 0 142px!important;min-height:102px!important;scroll-snap-align:start}
  .project-steps{grid-template-columns:1fr!important;gap:12px!important}
  .project-steps .project-step{grid-template-columns:48px 48px minmax(0,1fr)!important;padding:16px!important;gap:10px!important}
  .project-step__number,.project-step__icon{width:46px!important;height:46px!important}
  .footer__campaign-logo,.footer__campaign-number{height:70px!important}
}
@media(max-width:390px){
  .proposal-tab{flex-basis:132px!important}
  .project-steps .project-step{grid-template-columns:44px 44px minmax(0,1fr)!important;padding:14px!important}
  .project-step__number,.project-step__icon{width:42px!important;height:42px!important}
  .footer__campaign-logo,.footer__campaign-number{height:60px!important}
}


/* ==========================================================
   CONSOLIDAÇÃO FINAL — SEM ESPAÇOS VAZIOS / 6 TEMAS COMPACTOS
   ========================================================== */

/* Nunca deixar conteúdo importante invisível aguardando animação. */
.reveal,
.reveal.visible {
  opacity: 1 !important;
  transform: none !important;
}

/* Pernambuco Inteligente: cards usam a largura inteira. */
.project-layout {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 20px !important;
  align-items: start !important;
}

.project-steps {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
  align-items: stretch !important;
  width: 100% !important;
}

.project-steps .project-step {
  min-width: 0 !important;
  min-height: 168px !important;
  height: auto !important;
  padding: 20px !important;
  grid-template-columns: 50px 50px minmax(0, 1fr) !important;
  grid-auto-rows: auto !important;
  align-items: center !important;
  align-content: center !important;
  gap: 12px !important;
}

.project-step__content {
  min-width: 0 !important;
  height: auto !important;
}

.project-step__content h3 {
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
}

.project-step__content p {
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
}

/* Resumo verde agora compacto em vez de esticar ao tamanho dos cards. */
.project-visual {
  min-height: 0 !important;
  height: auto !important;
  display: grid !important;
  grid-template-columns: 74px minmax(0, 1fr) !important;
  grid-template-rows: auto auto auto !important;
  column-gap: 20px !important;
  row-gap: 5px !important;
  justify-content: initial !important;
  align-content: center !important;
  padding: 26px 30px !important;
  border-radius: 24px !important;
}

.project-visual__symbol {
  grid-column: 1 !important;
  grid-row: 1 / 4 !important;
  width: 66px !important;
  height: 66px !important;
  margin: 0 !important;
  align-self: center !important;
  border-radius: 19px !important;
}

.project-visual__symbol svg {
  width: 35px !important;
  height: 35px !important;
}

.project-visual > span {
  grid-column: 2 !important;
  grid-row: 1 !important;
  align-self: end !important;
}

.project-visual h3 {
  grid-column: 2 !important;
  grid-row: 2 !important;
  margin: 2px 0 4px !important;
  font-size: clamp(25px, 2.8vw, 40px) !important;
  line-height: 1.02 !important;
}

.project-visual p {
  grid-column: 2 !important;
  grid-row: 3 !important;
  max-width: 920px !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
}

/* Timeline ganha um pouco mais de ar, sem aumentar demais a página. */
.timeline {
  margin-top: 16px !important;
}

/* Corrige qualquer espaço visual excessivo na campanha de apoio. */
.support {
  padding: clamp(56px, 5vw, 76px) 0 !important;
  min-height: 0 !important;
}

.support__layout {
  min-height: 0 !important;
  gap: clamp(34px, 4vw, 58px) !important;
}

.support__copy,
.support__number {
  min-height: 0 !important;
}

.support__copy h2 {
  margin-bottom: 16px !important;
}

.support__actions {
  margin-top: 26px !important;
}

/* O bloco do número da seção de apoio continua contido, mas mais compacto. */
.support__number {
  padding: 28px 26px 32px !important;
}

.support__number > span {
  margin-bottom: 14px !important;
}

.support__number small {
  margin-top: 10px !important;
}

/* Também reduz respiros desnecessários no banner intermediário. */
.brand-banner {
  padding: clamp(62px, 5vw, 78px) 0 !important;
}

/* Rodapé limpo: apenas CACAU + AGUARDE, sem caixa verde externa. */
.footer__number,
.footer__logo-link {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.footer__campaign-logo,
.footer__campaign-number {
  background: transparent !important;
}

/* Desktop intermediário */
@media (max-width: 1180px) {
  .project-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .project-visual {
    grid-template-columns: 66px minmax(0, 1fr) !important;
    padding: 24px 26px !important;
  }
}

/* Mobile/tablet pequeno */
@media (max-width: 800px) {
  .project-steps {
    grid-template-columns: 1fr !important;
    gap: 11px !important;
  }

  .project-steps .project-step {
    min-height: 0 !important;
    grid-template-columns: 46px 46px minmax(0, 1fr) !important;
    padding: 15px !important;
    gap: 10px !important;
  }

  .project-visual {
    display: grid !important;
    grid-template-columns: 54px minmax(0, 1fr) !important;
    padding: 20px !important;
    column-gap: 14px !important;
  }

  .project-visual__symbol {
    width: 52px !important;
    height: 52px !important;
    border-radius: 16px !important;
  }

  .project-visual__symbol svg {
    width: 28px !important;
    height: 28px !important;
  }

  .project-visual h3 {
    font-size: clamp(22px, 7vw, 32px) !important;
  }

  .support {
    padding: 52px 0 !important;
  }
}

@media (max-width: 520px) {
  .project-visual {
    grid-template-columns: 1fr !important;
    gap: 9px !important;
  }

  .project-visual__symbol,
  .project-visual > span,
  .project-visual h3,
  .project-visual p {
    grid-column: 1 !important;
    grid-row: auto !important;
  }

  .project-visual__symbol {
    margin-bottom: 4px !important;
  }

  .support {
    padding: 46px 0 !important;
  }
}


/* ==========================================================
   CONSOLIDAÇÃO FINAL — HOME / INFOGRÁFICO / ÍCONES / RODAPÉ
   ========================================================== */

/* HOME selecionado: amarelo + sublinhado sem deslocar o menu */
.menu a:not(.menu__cta) { position: relative; }
.menu a.is-active:not(.menu__cta) { color: var(--yellow) !important; font-weight: 900 !important; }
.menu a.is-active:not(.menu__cta)::after {
  content:"" !important; position:absolute !important; left:12% !important; right:12% !important; bottom:-9px !important;
  height:3px !important; margin:0 !important; border-radius:999px !important; background:var(--yellow) !important;
}
@media(max-width:800px){
  .menu a.is-active:not(.menu__cta)::after { left:15px !important; right:auto !important; width:46px !important; bottom:7px !important; }
}

/* Partido NOVO 30 mais acima: não cobre DESENVOLVIMENTO • MULHERES */
.hero-chip--party {
  right: 18px !important;
  bottom: 164px !important;
  z-index: 8 !important;
}
@media(max-width:1180px){ .hero-chip--party{ right:16px !important; bottom:154px !important; } }
@media(max-width:800px){ .hero-chip--party{ right:14px !important; bottom:150px !important; } }
@media(max-width:390px){ .hero-chip--party{ right:12px !important; bottom:140px !important; } }

/* Seis cards: número e ícone com mesma caixa, alinhamento e acabamento */
.project-steps { grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:14px !important; align-items:stretch !important; }
.project-steps .project-step {
  display:grid !important; grid-template-columns:48px 48px minmax(0,1fr) !important; gap:12px !important;
  align-items:center !important; align-content:center !important; min-height:176px !important; height:auto !important;
  padding:20px !important; overflow:hidden !important;
}
.project-step__number, .project-step__icon {
  width:48px !important; height:48px !important; min-width:48px !important; min-height:48px !important;
  display:grid !important; place-items:center !important; margin:0 !important; border-radius:14px !important;
  align-self:center !important;
}
.project-step__number { background:#003f2f !important; color:#ffda1a !important; font-size:15px !important; font-weight:950 !important; }
.project-step__icon { background:#dff4e8 !important; color:#008b5a !important; }
.project-step__icon svg { width:25px !important; height:25px !important; display:block !important; fill:none !important; stroke:currentColor !important; stroke-width:1.9 !important; stroke-linecap:round !important; stroke-linejoin:round !important; }
.project-step:nth-child(6) .project-step__icon { background:#f8e5ef !important; color:#a13c75 !important; }
.project-step:nth-child(6) .project-step__icon svg { stroke:#a13c75 !important; }
.project-step__content { min-width:0 !important; }
.project-step__content h3 { margin:0 0 7px !important; line-height:1.12 !important; text-wrap:balance !important; hyphens:none !important; }
.project-step__content p { margin:0 !important; line-height:1.48 !important; hyphens:none !important; }

@media(max-width:1180px){ .project-steps{grid-template-columns:repeat(2,minmax(0,1fr)) !important;} }
@media(max-width:800px){
  .project-steps{grid-template-columns:1fr !important; gap:11px !important;}
  .project-steps .project-step{grid-template-columns:44px 44px minmax(0,1fr) !important; min-height:0 !important; padding:15px !important; gap:10px !important;}
  .project-step__number,.project-step__icon{width:44px !important;height:44px !important;min-width:44px !important;min-height:44px !important;}
}

/* Infográfico volta de forma profissional e sem alongar demais a página */
.project-infographic { display:block !important; width:min(100%,1080px) !important; margin:30px auto 26px !important; text-align:center !important; }
.project-infographic__link { display:block !important; overflow:hidden !important; border-radius:24px !important; border:1px solid rgba(0,63,47,.12) !important; background:#fff !important; box-shadow:0 20px 54px rgba(0,45,34,.12) !important; }
.project-infographic img { display:block !important; width:100% !important; height:auto !important; object-fit:contain !important; }
.project-infographic figcaption { margin-top:10px !important; font-size:12px !important; font-weight:800 !important; color:rgba(0,63,47,.62) !important; }
@media(max-width:800px){ .project-infographic{margin:22px auto 20px !important;} .project-infographic__link{border-radius:17px !important;} }

/* Visão geral e espaços verticais compactos */
.project-layout { grid-template-columns:1fr !important; gap:18px !important; }
.project-visual { min-height:0 !important; height:auto !important; padding:24px 28px !important; }
.timeline { margin-top:14px !important; }
#pernambuco-inteligente { padding-bottom:clamp(54px,5vw,78px) !important; }
.support { padding:clamp(44px,4.4vw,68px) 0 !important; min-height:0 !important; }
.support__layout,.support__copy,.support__number { min-height:0 !important; }
.brand-banner { padding:clamp(52px,4.5vw,72px) 0 !important; }

/* Rodapé: elimina a faixa/fundo adicional do bloco inferior */
.footer { padding-bottom:0 !important; }
.footer__bottom {
  background:transparent !important; box-shadow:none !important; border-radius:0 !important;
  margin-top:26px !important; padding:16px 0 18px !important; border-top:1px solid rgba(255,255,255,.10) !important;
}

/* Botões Voltar ao topo: hover mantém identidade verde/amarela, sem virar botão amarelo sólido */
.footer__top-link,
.back-top {
  background:linear-gradient(145deg,#087b50,#003f2f) !important;
  color:var(--yellow) !important;
  border-color:rgba(255,218,26,.75) !important;
}
.footer__top-link:hover,.footer__top-link:focus-visible,
.back-top.show:hover,.back-top.show:focus-visible {
  background:linear-gradient(145deg,#0a8d5b,#004c38) !important;
  color:var(--yellow) !important;
  border-color:var(--yellow) !important;
  box-shadow:0 12px 28px rgba(0,45,34,.30),0 0 0 3px rgba(255,218,26,.10) !important;
  transform:translateY(-2px) !important;
}
.footer__top-link:active,.back-top:active {
  background:#004c38 !important; color:var(--yellow) !important; border-color:var(--yellow) !important;
}

/* 3º card de canais igual aos dois primeiros */
.media-card--profile,.media-grid .media-card:nth-child(3){background:rgba(255,255,255,.055)!important;}
.media-card--profile:hover,.media-card--profile:focus-within,.media-grid .media-card:nth-child(3):hover,.media-grid .media-card:nth-child(3):focus-within{background:rgba(255,255,255,.085)!important;}

.story-feature{grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr)!important;align-items:stretch!important;gap:clamp(30px,3vw,48px)!important}
.story-feature__copy{display:flex!important;flex-direction:column!important;justify-content:center!important}
.story-feature__facts{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:repeat(2,minmax(0,1fr))!important;gap:14px!important}
.story-feature__facts>.story-fact{min-width:0!important;min-height:142px!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;gap:12px!important;padding:20px!important;border:1px solid rgba(255,255,255,.14)!important;border-radius:20px!important;background:rgba(255,255,255,.075)!important}
.story-feature__facts>.story-fact svg{width:46px!important;height:46px!important;padding:11px!important;border-radius:14px!important;color:var(--yellow)!important;background:rgba(0,0,0,.13)!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important}
.story-feature__facts>.story-fact strong{display:block!important;font-size:16px!important;line-height:1.2!important}
.story-feature__facts>.story-fact small{display:block!important;margin-top:5px!important;font-size:12.5px!important;line-height:1.48!important;color:rgba(255,255,255,.66)!important}
.project-steps{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important}
.project-steps .project-step{min-width:0!important;min-height:166px!important;height:auto!important;display:grid!important;grid-template-columns:78px minmax(0,1fr)!important;gap:18px!important;align-items:center!important;padding:22px!important}
.project-step__visual{position:relative!important;width:70px!important;height:70px!important;display:grid!important;place-items:center!important}
.project-step__iconbox{width:62px!important;height:62px!important;display:grid!important;place-items:center!important;border-radius:18px!important;color:#008b5a!important;background:linear-gradient(145deg,#e5f8ee,#d4f1e2)!important;border:1px solid rgba(0,139,90,.14)!important;box-shadow:0 9px 22px rgba(0,75,53,.08)!important}
.project-step__iconbox svg{width:31px!important;height:31px!important;display:block!important;fill:none!important;stroke:currentColor!important;stroke-width:1.85!important;stroke-linecap:round!important;stroke-linejoin:round!important}
.project-step__badge{position:absolute!important;left:-5px!important;bottom:-4px!important;min-width:34px!important;height:28px!important;padding:0 8px!important;display:grid!important;place-items:center!important;border-radius:10px!important;color:var(--yellow)!important;background:#003f2f!important;border:1px solid rgba(255,218,26,.28)!important;box-shadow:0 7px 18px rgba(0,45,34,.20)!important;font-size:12px!important;font-weight:950!important}
.project-step--women .project-step__iconbox{color:#a13c75!important;background:linear-gradient(145deg,#faedf4,#f5dce9)!important;border-color:rgba(161,60,117,.16)!important}
.project-step__content h3{margin:0 0 7px!important;font-size:clamp(17px,1.25vw,21px)!important;line-height:1.13!important}
.project-step__content p{margin:0!important;font-size:13px!important;line-height:1.48!important;text-align:left!important;hyphens:none!important}
@media(max-width:1180px){.project-steps{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:800px){.story-feature__facts{grid-template-columns:1fr!important;grid-template-rows:auto!important}.project-steps{grid-template-columns:1fr!important;gap:11px!important}.project-steps .project-step{min-height:0!important;grid-template-columns:68px minmax(0,1fr)!important;gap:14px!important;padding:16px!important}.project-step__visual{width:62px!important;height:62px!important}.project-step__iconbox{width:56px!important;height:56px!important}.project-step__iconbox svg{width:28px!important;height:28px!important}.project-step__badge{height:25px!important;min-width:31px!important;font-size:11px!important}}
.menu__home.is-active,.menu a[href="#inicio"].is-active{color:var(--yellow)!important;font-weight:900!important}

.proposal-tab[data-proposal="urban"] span{
  max-width:160px!important;
  text-wrap:balance!important;
  line-height:1.08!important;
}
.project-step--urban .project-step__content h3{
  max-width:280px!important;
  text-wrap:balance!important;
}
@media(max-width:800px){
  .proposal-tab[data-proposal="urban"] span{
    max-width:132px!important;
    font-size:12px!important;
  }
}


/* ==========================================================
   PATCH FINAL — ANDROID + DESKTOP
   ========================================================== */
.footer__number{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
}
.footer__campaign-number{
  width:min(100%, 360px) !important;
  height:auto !important;
}
.footer__number-office{
  display:block !important;
  margin-top:2px !important;
  color:rgba(255,255,255,.80) !important;
  font-size:11px !important;
  font-weight:900 !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;
  text-align:center !important;
}
.story-feature,
.story-feature__copy,
.story-feature__facts,
.story-feature__facts > .story-fact{
  min-width:0 !important;
}
.story-feature__copy p{
  hyphens:none !important;
  word-break:normal !important;
  overflow-wrap:break-word !important;
  text-wrap:pretty !important;
  max-width:100% !important;
}
.image-modal{
  position:fixed;
  inset:0;
  z-index:9999;
  display:none;
}
.image-modal.is-open{
  display:block;
}
.image-modal__backdrop{
  position:absolute;
  inset:0;
  border:0;
  background:rgba(0,0,0,.76);
  cursor:pointer;
}
.image-modal__dialog{
  position:relative;
  z-index:1;
  width:min(calc(100vw - 40px), 1280px);
  max-height:calc(100vh - 40px);
  margin:20px auto;
  padding:18px;
  border-radius:24px;
  background:#082419;
  box-shadow:0 24px 80px rgba(0,0,0,.45);
}
.image-modal__img{
  display:block;
  width:100%;
  max-height:calc(100vh - 76px);
  object-fit:contain;
  border-radius:14px;
}
.image-modal__close{
  position:absolute;
  top:10px;
  right:10px;
  width:40px;
  height:40px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  background:rgba(255,255,255,.08);
  color:#fff;
  font-size:28px;
  line-height:1;
  cursor:pointer;
}
@media (max-width: 800px){
  .story-feature{
    grid-template-columns:1fr !important;
    gap:22px !important;
    padding:24px 20px !important;
    margin-top:34px !important;
  }
  .story-feature__copy{
    order:1 !important;
  }
  .story-feature__copy h3{
    max-width:12ch !important;
    margin:12px 0 14px !important;
    font-size:clamp(28px, 10vw, 42px) !important;
    line-height:1.06 !important;
    letter-spacing:-.045em !important;
  }
  .story-feature__copy p{
    font-size:15px !important;
    line-height:1.62 !important;
  }
  .story-feature__copy .button{
    margin-top:20px !important;
    width:auto !important;
  }
  .story-feature__facts{
    order:2 !important;
    grid-template-columns:1fr !important;
    grid-template-rows:none !important;
    gap:12px !important;
  }
  .story-feature__facts > .story-fact{
    display:grid !important;
    grid-template-columns:54px minmax(0,1fr) !important;
    align-items:center !important;
    gap:14px !important;
    min-height:auto !important;
    padding:16px !important;
    border-radius:18px !important;
  }
  .story-feature__facts > .story-fact strong{
    font-size:17px !important;
  }
  .story-feature__facts > .story-fact small{
    margin-top:3px !important;
    font-size:13px !important;
    line-height:1.46 !important;
  }
  .footer__grid{
    grid-template-columns:1fr !important;
  }
  .footer__number{
    margin-top:8px !important;
  }
  .footer__campaign-number{
    width:min(100%, 280px) !important;
  }
  .footer__number-office{
    font-size:10px !important;
    letter-spacing:.15em !important;
  }
  .image-modal__dialog{
    width:min(calc(100vw - 20px), 1000px);
    margin:10px auto;
    padding:12px;
    border-radius:18px;
  }
  .image-modal__img{
    max-height:calc(100vh - 52px);
    border-radius:10px;
  }
}
@media (max-width: 520px){
  .story-feature{
    padding:22px 18px !important;
    border-radius:28px !important;
  }
  .story-feature__copy h3{
    max-width:11ch !important;
    font-size:clamp(26px, 11vw, 38px) !important;
  }
  .story-feature__copy p{
    font-size:14px !important;
  }
  .story-feature__facts > .story-fact{
    grid-template-columns:46px minmax(0,1fr) !important;
    gap:12px !important;
    padding:14px !important;
  }
  .story-feature__facts > .story-fact svg{
    width:46px !important;
    height:46px !important;
    padding:10px !important;
  }
  .story-feature__facts > .story-fact strong{
    font-size:15px !important;
  }
  .story-feature__facts > .story-fact small{
    font-size:12px !important;
  }
  .footer__campaign-number{
    width:min(100%, 250px) !important;
  }
}
@media (min-width: 1200px){
  .image-modal__dialog{
    width:min(calc(100vw - 80px), 1400px);
    padding:22px;
  }
}


/* ==========================================================
   INFOGRÁFICO FINAL — AMPLIAÇÃO DESKTOP + SMARTPHONE
   ========================================================== */
.project-infographic__link{
  cursor:zoom-in !important;
}
.image-modal{
  overscroll-behavior:contain;
}
.image-modal__dialog{
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:auto;
}
.image-modal__img{
  width:auto !important;
  max-width:100% !important;
  height:auto !important;
  max-height:calc(100vh - 76px) !important;
  object-fit:contain !important;
}
@media(max-width:800px){
  .image-modal__dialog{
    width:calc(100vw - 12px) !important;
    height:calc(100vh - 12px) !important;
    max-height:none !important;
    margin:6px auto !important;
    padding:8px !important;
    border-radius:14px !important;
  }
  .image-modal__img{
    max-width:100% !important;
    max-height:calc(100vh - 28px) !important;
  }
  .image-modal__close{
    position:fixed !important;
    top:14px !important;
    right:14px !important;
    z-index:3 !important;
    background:#003f2f !important;
    border-color:rgba(255,255,255,.32) !important;
  }
}

/* ==========================================================
   VERSÃO FINAL APROVADA
   ========================================================== */
.ticker{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  z-index:1200!important;
}
.header{
  position:fixed!important;
  top:44px!important;
  left:0!important;
  right:0!important;
  z-index:1190!important;
}
body{padding-top:132px!important}

.footer__campaign-logo,
.footer__campaign-number{
  width:auto!important;
  height:clamp(64px,5.2vw,96px)!important;
  max-width:100%!important;
  object-fit:contain!important;
}

@media(max-width:800px){
  .header{top:40px!important}
  body{padding-top:112px!important}
  .footer__campaign-logo,
  .footer__campaign-number{height:68px!important}
}

@media(min-width:801px) and (max-width:1180px){
  .hero-chip--party{
    right:16px!important;
    bottom:118px!important;
  }
}

@media(max-width:520px){
  .footer__campaign-logo,
  .footer__campaign-number{height:62px!important}
}

/* AJUSTE FINAL TABLET 1024 — NOVO 30 */
@media(min-width:801px) and (max-width:1180px){
  .hero-chip--party{
    right:16px!important;
    bottom:180px!important;
  }
}

/* ==========================================================
   ÍCONES DOS 6 TEMAS — CORREÇÃO FINAL
   ========================================================== */
.project-step__iconbox svg{
  display:block!important;
  width:32px!important;
  height:32px!important;
  min-width:32px!important;
  min-height:32px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.9!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  overflow:visible!important;
}
@media(max-width:800px){
  .project-step__iconbox svg{
    width:29px!important;
    height:29px!important;
    min-width:29px!important;
    min-height:29px!important;
    padding:0!important;
    display:block!important;
  }
}

/* ==========================================================
   TRAJETÓRIA SEM BOTÃO DO INSTAGRAM + TEXTO MAIOR NOS 6 TEMAS
   ========================================================== */

/* Trajetória mais confortável para leitura */
.story-feature__copy p{
  font-size:18px!important;
  line-height:1.72!important;
  max-width:760px!important;
}
.story-feature__copy h3{
  max-width:14ch!important;
}
.story-feature__copy .story-instagram-link{
  display:none!important;
}

/* Cards dos seis temas: tipografia maior e melhor preenchimento visual */
.project-steps .project-step{
  min-height:184px!important;
  padding:24px!important;
  grid-template-columns:82px minmax(0,1fr)!important;
  gap:20px!important;
}
.project-step__content h3{
  margin:0 0 10px!important;
  font-size:clamp(20px,1.45vw,24px)!important;
  line-height:1.14!important;
  letter-spacing:-.02em!important;
}
.project-step__content p{
  margin:0!important;
  font-size:15px!important;
  line-height:1.58!important;
  color:#45534d!important;
}
.project-step__iconbox{
  width:66px!important;
  height:66px!important;
}
.project-step__iconbox svg{
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  min-height:34px!important;
}
.project-step__visual{
  width:74px!important;
  height:74px!important;
}

/* Em telas largas, melhora a presença sem exagero */
@media(min-width:1400px){
  .project-step__content p{
    font-size:15.5px!important;
  }
  .project-step__content h3{
    font-size:23px!important;
  }
}

/* Tablets */
@media(max-width:1180px){
  .project-steps .project-step{
    min-height:176px!important;
  }
  .project-step__content h3{
    font-size:21px!important;
  }
  .project-step__content p{
    font-size:14.5px!important;
  }
}

/* Celulares */
@media(max-width:800px){
  .story-feature__copy p{
    font-size:15.5px!important;
    line-height:1.66!important;
  }
  .story-feature__copy h3{
    max-width:none!important;
  }

  .project-steps .project-step{
    min-height:0!important;
    padding:18px!important;
    grid-template-columns:72px minmax(0,1fr)!important;
    gap:15px!important;
  }
  .project-step__visual{
    width:64px!important;
    height:64px!important;
  }
  .project-step__iconbox{
    width:58px!important;
    height:58px!important;
  }
  .project-step__iconbox svg{
    width:30px!important;
    height:30px!important;
    min-width:30px!important;
    min-height:30px!important;
  }
  .project-step__content h3{
    font-size:19px!important;
    line-height:1.16!important;
    margin-bottom:7px!important;
  }
  .project-step__content p{
    font-size:14px!important;
    line-height:1.52!important;
  }
}

@media(max-width:390px){
  .project-steps .project-step{
    grid-template-columns:66px minmax(0,1fr)!important;
    padding:16px!important;
  }
  .project-step__content h3{
    font-size:18px!important;
  }
  .project-step__content p{
    font-size:13.5px!important;
  }
}

#mainMenu a[href^="#"].is-active{color:var(--yellow)!important;}
#mainMenu a[href^="#"].is-active::after{transform:scaleX(1)!important;}

/* ==========================================================
   AGUARDE — AGUAR verde + DE amarelo
   ========================================================== */
.aguarde-wordmark{
  display:inline-flex!important;align-items:baseline!important;justify-content:center!important;
  white-space:nowrap!important;font-family:"Sora",Arial,sans-serif!important;font-weight:950!important;
  line-height:.84!important;letter-spacing:-.072em!important;text-transform:uppercase!important;user-select:none!important;
}
.aguarde-wordmark__green{
  color:#31c74f!important;background:linear-gradient(180deg,#64e56c 0%,#16a63d 72%,#0b7f30 100%)!important;
  -webkit-background-clip:text!important;background-clip:text!important;-webkit-text-fill-color:transparent!important;
  text-shadow:0 2px 0 rgba(0,68,33,.12),0 8px 20px rgba(0,94,44,.17)!important;
}
.aguarde-wordmark__yellow{
  color:#ffda1a!important;background:linear-gradient(180deg,#fff067 0%,#ffda1a 62%,#f3b900 100%)!important;
  -webkit-background-clip:text!important;background-clip:text!important;-webkit-text-fill-color:transparent!important;
  text-shadow:0 2px 0 rgba(123,83,0,.10),0 8px 20px rgba(255,190,0,.14)!important;
}
.campaign-number{
  display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;
  min-height:clamp(78px,8vw,126px)!important;
}
.aguarde-wordmark--hero{font-size:clamp(58px,7.9vw,126px)!important}
.support__number-value{
  display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;
  min-height:clamp(72px,7vw,112px)!important;
}
.aguarde-wordmark--support{font-size:clamp(52px,6.8vw,104px)!important}
.footer__number{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:10px!important}
.aguarde-wordmark--footer{font-size:clamp(44px,4.2vw,72px)!important}
.number-image,.campaign-number__image,.support__number-image,.footer__campaign-number{display:none!important}

.project-infographic__link{position:relative!important}
.infographic-wait-overlay{
  position:absolute!important;z-index:4!important;display:flex!important;align-items:center!important;justify-content:center!important;
  overflow:hidden!important;pointer-events:none!important;box-sizing:border-box!important;
}
.infographic-wait-overlay--top{
  left:26.1%!important;top:0!important;width:25.6%!important;height:16.3%!important;
  background:radial-gradient(circle at 64% 30%,rgba(18,67,131,.42),transparent 42%),
             linear-gradient(108deg,#061b5a 0%,#061d63 52%,#08266f 100%)!important;
}
.aguarde-wordmark--infographic-top{font-size:clamp(18px,4.2vw,72px)!important}
.infographic-wait-overlay--footer{
  left:73.6%!important;top:90.4%!important;width:26.4%!important;height:9.6%!important;
  background:linear-gradient(180deg,#071b5c 0%,#06195a 100%)!important;
}
.infographic-wait-lockup{
  display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
  width:100%!important;height:100%!important;line-height:1!important;
}
.infographic-wait-lockup__brand{
  color:#fff!important;font-family:"Sora",Arial,sans-serif!important;font-size:clamp(7px,1.28vw,20px)!important;
  font-weight:950!important;letter-spacing:.03em!important;
}
.aguarde-wordmark--infographic-footer{font-size:clamp(8px,1.78vw,28px)!important;margin-top:1.5%!important}
.infographic-wait-lockup__office{
  margin-top:2%!important;color:#fff!important;font-family:"Sora",Arial,sans-serif!important;
  font-size:clamp(4px,.48vw,8px)!important;font-weight:900!important;letter-spacing:.12em!important;
}
.image-modal__close{z-index:20!important;pointer-events:auto!important}
.image-modal__canvas{
  position:relative!important;display:block!important;width:min(100%,calc((100vh - 72px) * 1.4990234375))!important;
  aspect-ratio:1535 / 1024!important;flex:0 1 auto!important;pointer-events:none!important;
}
.image-modal__canvas .image-modal__img{
  display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:contain!important;
}
@media(max-width:800px){
  .aguarde-wordmark--hero{font-size:clamp(50px,16vw,78px)!important}
  .aguarde-wordmark--support{font-size:clamp(46px,14vw,72px)!important}
  .aguarde-wordmark--footer{font-size:clamp(42px,13vw,64px)!important}
  .image-modal__canvas{width:100%!important;max-width:100%!important}
}
@media(max-width:390px){
  .aguarde-wordmark--hero{font-size:clamp(46px,15vw,64px)!important}
}


/* ==========================================================
   CORREÇÃO FINAL DO AGUARDE NO INFOGRÁFICO
   ========================================================== */
.infographic-wait-overlay--top{
  left:29.6%!important;
  top:0!important;
  width:29.8%!important;
  height:16.8%!important;
  padding:0 1.2%!important;
  background:
    radial-gradient(circle at 70% 28%,rgba(21,74,142,.38),transparent 44%),
    linear-gradient(108deg,#061b5a 0%,#071f68 52%,#082873 100%)!important;
}
.aguarde-wordmark--infographic-top{
  width:100%!important;
  max-width:100%!important;
  font-size:clamp(18px,4.05vw,68px)!important;
  letter-spacing:-.082em!important;
  transform:none!important;
}

/* Cobre somente o antigo lockup CACAU + número no canto inferior direito. */
.infographic-wait-overlay--footer{
  left:83.0%!important;
  top:90.5%!important;
  width:17.0%!important;
  height:9.5%!important;
  background:linear-gradient(180deg,#071b5c 0%,#06195a 100%)!important;
}
.infographic-wait-lockup__brand{
  font-size:clamp(6px,.98vw,16px)!important;
}
.aguarde-wordmark--infographic-footer{
  font-size:clamp(7px,1.30vw,21px)!important;
}
.infographic-wait-lockup__office{
  font-size:clamp(3px,.38vw,6px)!important;
}

@media(max-width:800px){
  .aguarde-wordmark--infographic-top{
    font-size:clamp(16px,4.0vw,34px)!important;
  }
}
