@font-face{font-family:SourceSans3;src:url("assets/source-sans-regular.ttf")}@font-face{font-family:SourceSans3;font-weight:600;src:url("assets/source-sans-semibold.ttf")}@font-face{font-family:SourceSans3;font-weight:800;src:url("assets/source-sans-extrabold.ttf")}@font-face{font-family:SourceSans3;font-weight:900;src:url("assets/source-sans-black.ttf")}@font-face{font-family:OliJo;src:url("assets/olijo.ttf")}@font-face{font-family:Tahu;src:url("assets/tahu.ttf")}
:root{--ink:#16091E;--paper:#F9F6EF;--purple:#590F93;--pink:#BF0097;--yellow:#FFC200;--line:rgba(22,9,30,.18);--max:1180px;--header-h:82px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--header-h)}body{margin:0;padding-top:var(--header-h);background:var(--paper);color:var(--ink);font-family:SourceSans3,Arial,sans-serif}a{color:inherit;text-decoration:none}.container{width:min(var(--max),calc(100% - 48px));margin:auto}.site-header{height:var(--header-h);background:var(--paper);border-bottom:1px solid var(--line);position:fixed;top:0;left:0;width:100%;z-index:1000}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between}.brand img{width:180px;height:auto;display:block}.header-cta{font-weight:900;font-size:14px;letter-spacing:.05em;background:var(--yellow);padding:13px 20px;transform:rotate(-1deg)}
.hero{position:relative;overflow:hidden;background:var(--purple);color:var(--paper);min-height:720px;isolation:isolate}.hero-grid{min-height:660px;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(320px,.98fr);align-items:center;gap:clamp(24px,4vw,56px);position:relative;z-index:2}.hero-copy{padding:72px 0;max-width:560px;position:relative;z-index:3}.eyebrow,.section-kicker{font-size:13px;font-weight:900;letter-spacing:.13em}.hero h1{font-size:clamp(58px,8vw,112px);line-height:.84;letter-spacing:-.055em;margin:22px 0 30px;font-weight:900}.hero h1 span{color:var(--yellow)}.hero p{font-size:21px;line-height:1.35;max-width:520px;margin:0 0 34px}.button{display:inline-flex;align-items:center;gap:22px;border:0;font:900 16px SourceSans3;letter-spacing:.03em;cursor:pointer;padding:17px 24px;transition:transform .18s ease,box-shadow .18s ease}.button:hover{transform:translateY(-2px) rotate(-.5deg)}.button span{font-size:22px}.button-yellow{background:var(--yellow);color:var(--ink);box-shadow:7px 7px 0 var(--pink)}.hero-art{height:600px;position:relative;display:flex;justify-content:flex-end;align-items:flex-end}.art-circle{width:min(430px,70vw);aspect-ratio:1;background:var(--pink);border-radius:50%;position:absolute;right:10px;top:56px}.sticker{position:absolute;z-index:2;filter:drop-shadow(8px 9px 0 rgba(22,9,30,.2))}.sticker-punho{width:min(170px,26vw);left:8px;top:72px;transform:rotate(-10deg)}.sticker-livro{width:min(145px,22vw);left:92px;bottom:20px;transform:rotate(-13deg)}.sticker-camera{width:155px;right:2%;bottom:35px;transform:rotate(11deg)}.hero-pattern{position:absolute;right:-70px;top:-90px;width:min(360px,38vw);opacity:.18}.hero-map{position:absolute;left:50%;bottom:30px;width:170px;transform:translateX(-50%);opacity:.9;z-index:1}.tile-strip{height:58px;background:url("assets/azulejo-2.jpg") center/auto 100%;border-top:6px solid var(--yellow);border-bottom:6px solid var(--yellow)}.button-black{background:var(--pink);color:var(--yellow);box-shadow:7px 7px 0 var(--ink)}
.intro{padding:105px 0 95px}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.intro h2,.form-heading h2,.engagement-heading h2,.closing h2{font-size:clamp(46px,6vw,76px);line-height:.88;letter-spacing:-.05em;margin:20px 0 0;font-weight:900}.intro h2 em{font-style:normal;color:var(--pink)}.intro-text{font-size:23px;line-height:1.35;padding-top:35px}.small-note{font-size:16px;opacity:.65;max-width:520px}

/* HERO — fotografia da candidata */
.hero-art{height:600px;position:relative;display:flex;justify-content:flex-end;align-items:flex-end}
.hero-person{position:absolute;z-index:5;right:-50px;bottom:15%;width:min(500px,46vw);max-height:590px;object-fit:contain;object-position:bottom;filter:drop-shadow(12px 14px 0 rgba(22,9,30,.16));pointer-events:none}
.sticker-flag{width:min(290px,24vw);right:-24px;top:42px;bottom:auto;transform:rotate(45deg)}

/* Seções editoriais */
.story{position:relative;overflow:hidden}
.story-light{padding:5px 0 135px;background:var(--paper)}
.story-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:95px;align-items:center}
.story-visual{height:540px;position:relative}
.azulejo-frame{position:absolute;inset:35px 25px 0 0;background:url("assets/azulejo-2.jpg") center/cover;transform:rotate(-3deg)}
.story-person{position:absolute;z-index:2;left:9%;bottom:-4px;width:78%;max-height:540px;object-fit:contain;object-position:bottom;filter:drop-shadow(9px 10px 0 rgba(22,9,30,.12))}
.story-sticker{position:absolute;z-index:3;width:125px;right:-12px;top:10px;transform:rotate(8deg)}
.story-copy h2{font-size:clamp(48px,6vw,78px);line-height:.88;letter-spacing:-.05em;margin:20px 0 30px;font-weight:900}
.story-copy h2 span{color:var(--pink)}
.story-copy p{font-size:21px;line-height:1.4;max-width:590px}
.story-purple{padding:110px 0 120px;background:var(--purple);color:var(--paper)}
.story-bg-shape{position:absolute;width:420px;right:-90px;top:-90px;opacity:.14}
.story-top{display:grid;grid-template-columns:1fr .8fr;gap:100px;align-items:end;position:relative;z-index:1}
.story-top h2{font-size:clamp(48px,6vw,78px);line-height:.88;letter-spacing:-.05em;margin:20px 0 0;font-weight:900}
.story-top h2 span{color:var(--yellow)}
.story-top>p{font-size:21px;line-height:1.4;margin:0 0 4px}
.graphic-row{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:65px;position:relative;z-index:1}
.graphic-card{min-height:260px;background:var(--paper);color:var(--ink);padding:28px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden}
.graphic-card img{position:absolute;width:125px;height:125px;object-fit:contain;right:12px;top:0;filter:drop-shadow(5px 6px 0 rgba(22,9,30,.12))}
.graphic-card strong{font-size:26px;font-weight:900;letter-spacing:-.02em;margin-bottom:8px}
.graphic-card span{font-size:17px;line-height:1.3;max-width:280px}
.graphic-card-yellow{background:var(--yellow)}
.graphic-card-pink{background:var(--pink);color:var(--paper)}
.quote-section{position:relative;overflow:hidden;background:var(--yellow);color:var(--ink);padding:125px 0}
.quote-inner{position:relative;z-index:2;max-width:950px}
.quote-mark{font-family:OliJo,SourceSans3;font-size:140px;line-height:.4;color:var(--pink)}
.quote-section blockquote{font-size:clamp(38px,5.2vw,70px);font-weight:900;line-height:.95;letter-spacing:-.045em;margin:25px 0 35px;max-width:900px;}
#blockquote-pink{color:var(--pink);}
.quote-rule{width:85px;height:8px;background:var(--purple);margin-bottom:20px}
.quote-caption{font-size:13px;font-weight:900;letter-spacing:.14em}
.quote-pattern{position:absolute;right:-90px;bottom:-140px;width:430px;height:430px;object-fit:cover;mix-blend-mode:multiply;opacity:.5;transform:rotate(12deg)}
#button-cards{display:flex;justify-content:center;margin-top:20px;bottom:10px;text-align:center;}
#button-transform{display:inline-flex;justify-content:center;margin-top:20px;bottom:10px;text-align:center;width:auto}

.form-section{background:var(--pink);padding:110px 0}.form-shell{background:var(--paper);padding:70px;position:relative;box-shadow:18px 18px 0 var(--yellow)}.form-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;border-bottom:1px solid var(--line);padding-bottom:42px}.form-heading h2{font-size:clamp(46px,5vw,68px)}.form-heading h2 span,.engagement-heading h2 span{color:var(--purple)}.fields-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:40px}.field{display:flex;flex-direction:column;gap:8px}.field-full{grid-column:1/-1}.field>span{font-size:15px;font-weight:800}.field input{width:100%;height:54px;border:2px solid var(--ink);background:transparent;padding:12px 14px;font:600 17px SourceSans3;outline:none}.field input:focus{border-color:var(--purple);box-shadow:4px 4px 0 var(--yellow)}.error{min-height:16px;color:#9d0b2f;font-size:13px}.engagement{margin-top:72px;padding-top:52px;border-top:2px solid var(--ink)}.engagement-heading p{font-size:17px;opacity:.72;margin:20px 0 34px}.options{display:grid;gap:12px}.option{display:grid;grid-template-columns:28px 1fr;gap:15px;align-items:start;border:2px solid var(--ink);padding:20px;cursor:pointer;transition:.18s ease}.option:hover{background:#fff9dc;transform:translateX(3px)}.option input{position:absolute;opacity:0;pointer-events:none}.check{width:24px;height:24px;border:2px solid var(--ink);display:block;position:relative;margin-top:2px}.option input:checked~.check{background:var(--yellow)}.option input:checked~.check:after{content:"✓";position:absolute;left:3px;top:-5px;font-weight:900;font-size:25px}.option-copy{display:flex;flex-direction:column;gap:5px}.option-copy strong{font-size:19px;line-height:1.1}.option-copy small{font-size:16px;line-height:1.35;opacity:.72}.option-exclusive{border-color:var(--purple);background:rgba(89,15,147,.04)}.consent{margin:28px 0 12px}.consent-row{display:flex;gap:12px;align-items:flex-start;font-size:14px;line-height:1.35}.consent-row input{margin-top:3px;accent-color:var(--purple)}.button-primary{background:var(--purple);color:var(--paper);margin-top:20px;box-shadow:7px 7px 0 var(--yellow)}.form-status{margin-top:20px;font-weight:700;min-height:24px}.form-status.success{color:#087d2f}.form-status.fail{color:#9d0b2f}
.closing{background:var(--purple);color:var(--paper);position:relative;overflow:hidden;padding:115px 0 0}.closing-inner{min-height:420px;display:flex;align-items:center;position:relative}.closing h2{font-size:clamp(52px,7vw,92px)}.closing h2 span{color:var(--yellow)}.section-kicker.light{color:var(--yellow)}.closing-cta{position:absolute;right:4%;top:45px;width:230px;transform:rotate(7deg)}.tile-strip-bottom{margin-top:70px;border-color:var(--pink)}
.site-footer{background:var(--ink);color:var(--paper);padding:28px 0}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:13px;opacity:.9}.footer-inner img{width:160px}.footer-meta{display:flex;flex-direction:column;gap:14px}.footer-actions{display:flex;flex-wrap:wrap;gap:10px}.closing-actions{padding:0 0 38px 0}.closing-actions-row{display:flex;flex-direction:column;align-items:center;gap:16px 24px}.closing-actions-links{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.closing-actions-text{margin:0;font-size:18px;line-height:1.4;font-weight:700;max-width:620px;color:var(--paper);text-align:center}.closing-actions .footer-actions{margin-top:0;display:flex;justify-content:center;flex-wrap:wrap;gap:10px}.closing-logo{display:block;width:clamp(140px,22vw,220px);height:auto;opacity:.95;filter:brightness(0) invert(1);flex-shrink:0;align-self:center;margin:0 auto}.social-link{display:inline-flex;align-items:center;justify-content:center;padding:0;color:var(--paper);font-weight:800;font-size:12px;letter-spacing:.08em;text-transform:uppercase;transition:transform .18s ease,background .18s ease,border-color .18s ease;min-width:46px;height:46px;overflow:hidden;background:transparent;border:0;box-shadow:none}.social-link img{width:30px;height:30px;display:block;object-fit:contain}.social-link:hover{transform:translateY(-2px)}.social-link-manifesto{background:var(--purple);color:var(--paper);border:1px solid rgba(255,255,255,.25);padding:10px 16px;border-radius:999px;min-width:auto;height:auto}.social-link-donate{background:var(--yellow);color:var(--ink);border:1px solid var(--yellow);padding:10px 16px;border-radius:999px;min-width:auto;height:auto}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr;min-height:auto;padding:32px 0 56px}.hero-copy{padding:60px 0 0}.hero-art{height:360px;width:min(100%,420px);margin:0 auto; bottom: 10%;}.art-circle{width:min(300px,78vw);right:20px;top:20px}.hero-person{width:min(500px,74vw);right:-85px;bottom:24px;max-height:360px}.sticker-punho{width:min(125px,34vw);left:0;top:24px}.sticker-livro{width:min(105px,28vw);left:78px;bottom:12px}.sticker-flag{width:min(100px,28vw);right:-4px;top:0}.hero-map{left:50%;right:auto;bottom:10px;width:105px;transform:translateX(-50%)}.hero-pattern{width:280px}.intro-grid{grid-template-columns:1fr;gap:20px}.intro-text{padding-top:0}.story-grid{grid-template-columns:1fr;gap:55px}.story-visual{height:430px;max-width:520px;margin:auto;width:100%}.story-person{width:72%;left:14%;max-height:430px}.story-sticker{width:120px}.story-top{grid-template-columns:1fr;gap:25px}.graphic-row{grid-template-columns:1fr}.graphic-card{min-height:220px}.quote-section{padding:90px 0}.form-shell{padding:42px 28px;box-shadow:10px 10px 0 var(--yellow)}.form-heading{display:block}.fields-grid{grid-template-columns:1fr}.field-full{grid-column:auto}.closing-inner{min-height:430px}.closing-cta{width:150px;right:3%;top:30px}}
@media(max-width:560px){:root{--header-h:70px}.container{width:min(100% - 30px,var(--max))}.site-header{height:70px}.brand img{width:145px}.header-cta{font-size:12px;padding:10px 12px}.hero{min-height:680px}.hero-grid{min-height:auto;padding:24px 0 48px}.hero h1{font-size:59px}.hero p{font-size:18px}.hero-art{height:265px;width:min(100%,320px)}.hero-person{width:min(300px,74vw);right:0%;max-height:300px;top:3%}.sticker-punho{top:16px}.sticker-livro{left:58px;bottom:8px}.sticker-flag{width:85px;right:-2px;top:6px}.story-light{padding:5px 0 90px}.story-purple{padding:80px 0 90px}.story-visual{height:330px}.story-person{max-height:330px}.story-copy h2,.story-top h2{font-size:48px}.story-copy p,.story-top>p{font-size:18px}.graphic-card{min-height:200px}.quote-section{padding:80px 0}.quote-mark{font-size:100px}.quote-section blockquote{font-size:40px}.form-section{padding:70px 0}.form-shell{padding:32px 18px}.form-heading h2,.engagement-heading h2{font-size:48px}.option{padding:16px;grid-template-columns:25px 1fr}.option-copy strong{font-size:17px}.option-copy small{font-size:14px}.closing{padding-top:80px}.footer-inner{flex-direction:column;align-items:flex-start}.footer-meta{width:100%}.closing-actions-row{align-items:center}.closing-actions{display:flex;flex-direction:column;align-items:center}.closing-actions-links{flex-direction:column;align-items:center;margin-left:0;margin-top:10px;width:100%}.closing-logo{width:clamp(120px,42vw,180px);margin-top:10px;margin-left:0}.closing-actions .footer-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;width:100%}.social-link{width:auto;justify-content:center;min-width:46px}.social-link:not(.social-link-manifesto):not(.social-link-donate){width:auto}.social-link-manifesto,.social-link-donate{width:100%;justify-content:center;padding:10px 16px;height:auto}.closing-cta{opacity:.8}}

/* Form UX updates */
.form-progress {
	margin-top: 24px;
	padding: 18px;
	border: 2px dashed var(--ink);
	background: rgba(255, 194, 0, 0.18);
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
}

.form-progress p {
	margin: 0;
	font-size: 16px;
	line-height: 1.3;
	font-weight: 700;
}

.engagement {
	margin-top: 42px;
	padding-top: 36px;
}

.thank-you {
	margin-top: 24px;
	border: 2px solid var(--ink);
	background: #fff9dc;
	padding: clamp(24px, 4vw, 42px);
	box-shadow: 10px 10px 0 var(--yellow);
}

.thank-you h2 {
	margin: 14px 0;
}

.thank-you h2 span {
	color: var(--purple);
}

.thank-you p {
	margin: 0;
	font-size: 19px;
	line-height: 1.35;
	max-width: 780px;
}

.thank-you-actions {
	margin-top: 22px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
}

.thank-you-logo {
	display: block;
	margin-top: 26px;
	width: clamp(170px, 24vw, 260px);
	height: auto;
}

@media (max-width: 900px) {
	.form-progress {
		margin-top: 18px;
		padding: 14px;
		gap: 10px;
	}

	.engagement {
		margin-top: 28px;
		padding-top: 24px;
	}

	.form-progress .button {
		width: 100%;
		justify-content: center;
	}

	.thank-you p {
		font-size: 17px;
	}
}
