:root{--blue:#1a2644;--orange:#ec671c;--paper:#f4f2ed;--ease:cubic-bezier(.22,1,.36,1)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--blue);color:var(--paper);font-family:Geist,Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a,article{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,article:focus-visible{outline:3px solid #fbbc0f;outline-offset:5px}::selection{background:var(--orange);color:white}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}em{font-style:normal}header{height:84px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;background:var(--blue);position:relative;z-index:10;border-bottom:1px solid #ffffff25}.brand{display:flex;align-items:center;gap:16px}.brand span{font-size:11px;letter-spacing:.15em;border-left:1px solid #ffffff60;padding-left:16px}.brand img{width:110px;height:auto}nav{display:flex;align-items:center;gap:32px}nav a{font-size:12px;position:relative}nav a:after{content:'';position:absolute;bottom:-8px;left:0;width:100%;height:1px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .3s}nav a:hover:after,nav a.active:after{transform:scaleX(1)}nav a:last-child{color:#ff914f}.menu{display:none}.progress{height:3px;background:var(--orange);width:100%;transform:scaleX(0);transform-origin:left;position:fixed;top:0;z-index:30}.skip{position:fixed;top:-100px;background:var(--orange);padding:15px;z-index:40}.skip:focus{top:10px}.hero{min-height:760px;height:calc(100svh - 84px);max-height:1100px;position:relative;overflow:hidden;display:flex;align-items:center}.hero-bg{position:absolute;width:100%;height:115%;object-fit:cover;inset:-5% 0;opacity:.46;object-position:65% center;will-change:transform}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#111b32eb 0%,#17223c9c 55%,#17223c16),linear-gradient(0deg,#1a2644,transparent 40%)}.hero-grid{position:absolute;inset:0;background:linear-gradient(90deg,transparent calc(100% - 1px),#ffffff0a 1px);background-size:25% 100%;z-index:1}.hero-content{position:relative;z-index:2;padding:50px 7vw;width:100%}.eyebrow{font-size:11px;font-weight:600;letter-spacing:.15em}.hero .eyebrow{margin-bottom:34px}h1{font-size:clamp(52px,6.8vw,112px);font-weight:600;line-height:1.015;letter-spacing:-.065em;max-width:1250px}.line{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}.line>span{display:block;animation:line-in 1.25s var(--ease) both}.line:nth-child(2)>span{animation-delay:.12s}.line:nth-child(3)>span{animation-delay:.24s}.line:nth-child(4)>span{animation-delay:.36s}.accent{color:#ff8743}.hero-bottom{display:flex;align-items:center;justify-content:space-between;max-width:900px;margin-top:42px;gap:40px}.hero-bottom p{max-width:440px;font-size:16px;line-height:1.6;color:#e0e2e8}.round-link{border:1px solid #ffffff80;border-radius:50%;width:62px;height:62px;display:grid;place-items:center;font-size:30px;flex-shrink:0;transition:background .3s,transform .3s}.round-link:hover{background:var(--orange);transform:translateY(5px)}.hero-side{position:absolute;right:3vw;top:43%;writing-mode:vertical-rl;font-size:10px;letter-spacing:.2em;z-index:2}.entrance{animation:fade-in 1.2s .45s both}.stats{display:grid;grid-template-columns:.8fr 1.1fr 1.2fr;background:var(--orange);color:var(--blue);padding:40px 7vw;gap:40px}.stat{display:flex;gap:14px;padding-right:25px;border-right:1px solid #1a264440}.stat:last-child{border:0;padding:0}.check{font-size:20px;padding-top:6px}.stat strong{display:block;font-size:clamp(34px,3.5vw,58px);letter-spacing:-.06em;font-weight:600;line-height:1.1;font-variant-numeric:tabular-nums}.stat p>span{display:block;margin-top:14px;font-size:10px;font-weight:700;line-height:1.6;letter-spacing:.07em;max-width:280px}.section{padding:90px 7vw 110px;scroll-margin-top:0}.section-top{display:flex;justify-content:space-between;align-items:center;border-top:1px solid currentColor;padding-top:20px;margin-bottom:65px}.section-top>span{font-size:30px;line-height:1}.senate-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:7vw;align-items:center}.senate-image{position:relative;padding:70px 25px 0;background:#223453;overflow:hidden}.outline-word{font-size:clamp(60px,8.8vw,150px);font-weight:800;letter-spacing:-.08em;position:absolute;left:15px;top:0;color:transparent;-webkit-text-stroke:1px #ffffff30}.senate-image img{width:100%;aspect-ratio:1/1.12;object-fit:cover;object-position:47% center;filter:grayscale(1);clip-path:polygon(1% 2%,98% 0,100% 97%,0 100%);transition:filter .7s,transform .8s var(--ease)}.senate-image:hover img{filter:grayscale(0);transform:scale(1.025)}.image-label{position:relative;padding:20px 0;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.15em}.senate h2{font-size:clamp(28px,3.2vw,49px);font-weight:500;line-height:1.13;letter-spacing:-.045em}.senate-person{border-top:1px solid #ffffff30;margin-top:35px;padding-top:26px}.senate-person h3{font-size:24px;font-weight:500}.senate-votes{margin:18px 0;font-size:15px}.senate-votes strong{font-size:clamp(40px,4.5vw,68px);letter-spacing:-.06em;color:#ff8743;font-weight:500}.senate-person>p:last-child{font-size:14px;color:#ced2da}.federal{background:var(--paper);color:var(--blue)}.group-heading{font-size:clamp(32px,4.2vw,64px);font-weight:500;line-height:1.08;letter-spacing:-.05em;max-width:1050px;margin-bottom:80px}.people{display:grid;gap:22px}.federal-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.state-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.person{min-width:0;--rx:0deg;--ry:0deg;transition:transform .45s var(--ease);transform:perspective(900px) rotateX(var(--rx)) rotateY(var(--ry));outline-offset:6px}.person-art{aspect-ratio:1/.98;background:#e4e2dc;position:relative;overflow:hidden;display:grid;place-items:center;border-bottom:3px solid var(--orange)}.person-art:before{content:'';width:80%;aspect-ratio:1;border:1px solid #1a26441a;position:absolute;transform:rotate(-20deg);transition:transform .8s var(--ease)}.person-art:after{content:'';position:absolute;width:80%;aspect-ratio:1;border:1px solid #1a26441a;transform:rotate(20deg);transition:transform .8s var(--ease)}.initials{font-size:clamp(70px,9vw,140px);font-weight:500;letter-spacing:-.09em;color:#1a2644;transition:transform .7s var(--ease)}.person-index{position:absolute;top:18px;left:18px;font-size:10px;letter-spacing:.1em}.card-arrow{position:absolute;right:15px;bottom:15px;font-size:28px;transition:transform .4s}.person:hover .person-art:before,.person:focus .person-art:before{transform:rotate(55deg)}.person:hover .person-art:after,.person:focus .person-art:after{transform:rotate(-55deg)}.person:hover .initials,.person:focus .initials{transform:scale(1.08)}.person:hover .card-arrow{transform:translate(3px,-3px)}.person-info{padding-top:23px}.person h3{font-size:21px;letter-spacing:-.03em;line-height:1.1;font-weight:600;min-height:46px}.votes{font-size:12px;margin-top:12px}.votes strong{font-size:32px;font-weight:500;letter-spacing:-.05em}.person-caption{font-size:16px;line-height:1.6;margin-top:20px;max-width:360px}.state{background:#141517}.state .person-art{background:#202a3d}.state .initials{color:var(--paper)}.state .person-art:before,.state .person-art:after{border-color:#ffffff18}.state .person h3{font-size:26px;min-height:0}.state .votes strong{color:#ff8743}.state .person-caption{color:#ff8743}.social{background:var(--orange);color:var(--blue)}.social-intro{display:grid;grid-template-columns:1.5fr 1fr;gap:8vw;align-items:end;margin-bottom:55px}.social h2{font-size:clamp(40px,5.5vw,84px);letter-spacing:-.06em;font-weight:500;line-height:1.02}.social h2 em{display:block;color:var(--paper)}.social-intro p{font-size:16px;line-height:1.6;max-width:360px}.social-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.social-grid a{position:relative;overflow:hidden}.social-grid img{width:100%;aspect-ratio:1;object-fit:cover;transition:transform .6s var(--ease),filter .6s;filter:saturate(.65)}.social-grid a:hover img{transform:scale(1.08);filter:saturate(1)}.social-grid svg{position:absolute;width:24px;height:24px;right:9px;bottom:9px;color:white;stroke:currentColor;fill:none}footer{padding:40px 7vw;display:flex;justify-content:space-between;align-items:center;gap:30px;font-size:11px}footer>a:last-child{border-bottom:1px solid #ffffff60;padding-bottom:8px}.motion{position:fixed;bottom:18px;right:18px;width:38px;height:38px;background:var(--blue);color:white;border:1px solid #ffffff55;border-radius:50%;z-index:20;font-size:14px}.js-motion .reveal{opacity:0;transform:translateY(30px);transition:opacity .85s var(--ease),transform .85s var(--ease)}.js-motion .reveal.visible{opacity:1;transform:translateY(0)}@keyframes line-in{from{transform:translateY(115%)}to{transform:translateY(0)}}@keyframes fade-in{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1700px){.section,.hero-content{padding-left:max(7vw,calc((100vw - 1480px)/2));padding-right:max(7vw,calc((100vw - 1480px)/2))}}
@media(max-width:1000px){nav{gap:18px}.hero{min-height:680px}h1{font-size:8vw}.stats{gap:20px;padding:30px 5vw}.section{padding:65px 5vw 80px}.senate-layout{gap:5vw}.federal-grid{grid-template-columns:repeat(2,1fr);row-gap:40px}.person-art{aspect-ratio:1/.7}.social-grid{grid-template-columns:repeat(3,1fr)}.person h3{min-height:0}.initials{font-size:110px}}
@media(max-width:650px){header{height:72px;padding:0 6vw}.brand img{width:90px}.brand{gap:10px}.brand span{padding-left:10px;font-size:9px}.menu{display:flex;gap:18px;align-items:center;color:white;background:none;border:0;font-size:12px}.menu span{font-size:24px}nav{display:none;position:absolute;top:72px;left:0;right:0;padding:25px 6vw;background:var(--blue);border-bottom:1px solid #ffffff30;flex-direction:column;align-items:start;gap:26px}nav.open{display:flex}.hero{height:calc(100svh - 72px);min-height:650px;max-height:900px;align-items:flex-start}.hero-content{padding:54px 6vw 35px;height:100%;display:flex;flex-direction:column}.hero-bg{object-position:66% center;opacity:.44}.hero:after{background:linear-gradient(180deg,#152139ce,#15213965 65%,#1a2644)}.hero .eyebrow{margin-bottom:38px;font-size:9px}h1{font-size:clamp(38px,9.2vw,60px);letter-spacing:-.06em;line-height:1.09}.hero-bottom{margin-top:auto;padding-top:45px;gap:20px;align-items:end}.hero-bottom p{font-size:14px;line-height:1.6;max-width:250px}.round-link{width:46px;height:46px;font-size:25px}.hero-side{display:none}.stats{grid-template-columns:1fr;padding:8px 6vw;gap:0}.stat{padding:25px 0;border-right:0;border-bottom:1px solid #1a264440;gap:20px;align-items:start}.stat:last-child{padding:25px 0}.stat p{display:grid;grid-template-columns:1fr;gap:6px}.stat strong{font-size:45px}.stat p>span{margin:0;font-size:10px;max-width:270px}.section{padding:48px 6vw 60px}.section-top{margin-bottom:36px;padding-top:16px}.eyebrow{font-size:9px}.section-top>span{font-size:24px}.senate-layout{grid-template-columns:1fr;gap:32px}.senate-image{padding-top:48px}.outline-word{font-size:21vw}.senate-image img{aspect-ratio:1/1;object-position:center}.senate h2{font-size:32px}.senate-person{margin-top:26px}.senate-votes strong{font-size:48px}.group-heading{font-size:34px;margin-bottom:48px}.people{gap:30px 14px}.person-art{aspect-ratio:1/1.08}.initials{font-size:70px}.person-index{left:12px;top:12px}.card-arrow{font-size:22px;bottom:10px;right:10px}.person-info{padding-top:16px}.person h3{font-size:19px;min-height:42px}.votes strong{font-size:27px}.person-caption{font-size:14px;line-height:1.6;margin-top:14px}.state-grid{grid-template-columns:1fr}.state .person{display:grid;grid-template-columns:110px 1fr;gap:22px;align-items:center;border-bottom:1px solid #ffffff25;padding-bottom:25px}.state .person-art{aspect-ratio:1/1.2}.state .initials{font-size:55px}.state .person h3{font-size:21px}.state .person-info{padding:0}.state .person-caption{margin-top:6px}.state .votes{margin-top:8px}.social-intro{grid-template-columns:1fr;gap:25px;margin-bottom:30px}.social h2{font-size:46px}.social-intro p{font-size:14px}.social-grid{grid-template-columns:repeat(2,1fr);gap:10px}footer{padding:30px 6vw 70px;flex-wrap:wrap;gap:25px}footer>span{display:none}footer>a:last-child{margin-left:auto;font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js-motion .reveal{opacity:1;transform:none}.hero-bg,.person{transform:none!important}}
html.paused{scroll-behavior:auto}.paused *,.paused *:before,.paused *:after{animation:none!important;transition:none!important}.paused .reveal{opacity:1;transform:none}.paused .hero-bg,.paused .person{transform:none!important}
.social-grid img{height:auto;aspect-ratio:1/1}
/* ScrollTrigger choreography: geometry exists only while motion is enabled. */
.motion-word{display:inline-block;will-change:color;transition:none}.gsap-active .reveal{opacity:1;transform:none;transition:none}.gsap-active .line>span,.gsap-active .entrance{animation:none}.federal-viewport{width:100%}.gallery-controls{display:none}.gallery-meter{height:2px;background:#1a264426;flex:1}.gallery-meter>span{display:block;background:var(--orange);height:100%;transform:scaleX(.25);transform-origin:left}.gallery-status{font-size:11px;font-variant-numeric:tabular-nums;letter-spacing:.15em}.gallery-buttons{display:flex;gap:8px}.gallery-buttons button{height:38px;width:45px;border:1px solid #1a264450;color:var(--blue);background:transparent;font-size:22px;transition:background .2s}.gallery-buttons button:hover{background:var(--orange)}.candidate-portrait{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.person-art:has(.candidate-portrait):before,.person-art:has(.candidate-portrait):after{display:none}.horizontal-mode .federal-viewport{overflow:hidden}.horizontal-mode .federal-grid{display:flex;gap:28px;will-change:transform}.horizontal-mode .federal-grid>.person{flex:0 0 36%;transform:none!important}.horizontal-mode .federal-grid .person-art{height:clamp(190px,29vh,310px);aspect-ratio:auto}.horizontal-mode .federal-grid .person h3{font-size:26px;min-height:0}.horizontal-mode .federal-grid .person-caption{max-width:330px}.horizontal-mode .federal-grid .initials{font-size:clamp(90px,10vw,160px)}.horizontal-mode .gallery-controls{display:flex;align-items:center;gap:28px;margin-top:30px}.horizontal-mode .federal-stage{padding-top:24px;padding-bottom:24px;background:var(--paper)}.horizontal-mode .federal-grid .person-caption{min-height:36px}.gsap-active .senate-image{will-change:transform}.gsap-active .state-grid .person-art{will-change:transform}.scroll-orbit{position:absolute;border:1px solid #ffffff18;aspect-ratio:1;border-radius:50%;width:80vw;right:-30vw;top:0;pointer-events:none}.hero-grid{transform-origin:center}.gsap-active .social-grid{perspective:1200px}.gsap-active .social-grid a{will-change:transform}.gsap-active .person{transition:none}.motion-word{vertical-align:baseline}
@media(max-width:650px){.gsap-active .senate-image{will-change:auto}.gsap-active .state-grid .person-art{will-change:auto}}
html.paused{scroll-behavior:auto!important}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}
.horizontal-mode .federal-stage .section-top{margin-bottom:40px;padding-top:14px}.horizontal-mode .federal-stage .group-heading{font-size:clamp(32px,3.1vw,48px);max-width:1050px;margin-bottom:clamp(72px,8vh,112px)}.horizontal-mode .federal-grid .person-art{height:clamp(170px,23vh,260px)}.horizontal-mode .federal-grid .person-info{padding-top:18px}.horizontal-mode .federal-grid .person-caption{margin-top:12px}.horizontal-mode .gallery-controls{margin-top:22px}
/* Proporções e grade solicitadas. */
.social-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.federal-grid .person-art{aspect-ratio:3/4;height:auto}
.horizontal-mode .federal-grid>.person{flex-basis:clamp(170px,25.5vh,280px)}
.horizontal-mode .federal-grid .person-art{aspect-ratio:3/4;height:auto}
@media(max-width:650px){.social-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.horizontal-mode .federal-grid>.person{flex-basis:48%;display:grid;grid-template-columns:min(52%,max(170px,calc((100svh - 430px)*.75))) minmax(0,1fr);gap:32px;align-items:center}
.horizontal-mode .federal-grid .person-info{padding:0}
.horizontal-mode .federal-grid .person h3{font-size:24px}
.horizontal-mode .federal-grid .initials{font-size:clamp(80px,8vw,125px)}
.candidate-portrait{object-position:center top}
.person-art:has(.candidate-portrait) .person-index{z-index:1;background:var(--paper);color:var(--blue);padding:5px 7px}
.horizontal-mode .federal-grid .person-caption{font-size:16px;line-height:1.6;max-width:360px}
/* Retratos estaduais: alinhamento de cabeça e preenchimento do quadro. */
.state-grid .person:nth-child(1) .candidate-portrait{top:6%;height:94%;object-position:center top}
.state-grid .person:nth-child(2) .candidate-portrait{top:-28%;left:-12.5%;width:125%;height:128%;max-width:none;object-position:center top}
.state-grid .person:nth-child(3) .candidate-portrait{top:6%;left:0;width:100%;height:94%;object-fit:cover;object-position:center top}
@media(max-width:650px){
.state-grid .person:nth-child(1) .candidate-portrait{top:4%;height:96%}
.state-grid .person:nth-child(2) .candidate-portrait{top:-18%;left:-18%;width:136%;height:136%}
.state-grid .person:nth-child(3) .candidate-portrait{top:4%;height:96%;object-fit:cover;object-position:center top}
}
.state-grid .person:nth-child(3) .candidate-portrait{inset:0;width:100%;height:100%;object-fit:cover;object-position:center bottom}
