/*
Theme Name: Toshiko Ishii
Theme URI: https://toshikoishii.org.br
Author: Instituto Toshiko Ishii
Description: Tema do Instituto Toshiko Ishii — lugar de aprender e fazer no Vale da Serra da Moeda.
Version: 0.1.0
Requires at least: 6.6
Requires PHP: 8.1
License: GNU General Public License v2 or later
Text Domain: toshiko-ishii
*/

/* Most styling lives in theme.json. This file holds what theme.json cannot express:
   the brand shapes, the "canto de mão" photo frames, the Apoie block and status tags. */

:root {
	--ti-petroleo: #04272D;
	--ti-nude: #D6C5A1;
	--ti-nude-claro: #EFE7D6;
	--ti-laranja: #CC3429;
	--ti-verde: #A1AD02;
	--ti-roxo: #480677;
	--ti-linha: #E8E0CF;
}

/* ---------- Page rhythm ---------- */

.ti-main {
	margin-top: 0;
}

.ti-main > * + * {
	margin-block-start: 0;
}

.ti-secao {
	padding-top: clamp(48px, 7vw, 88px);
	padding-bottom: clamp(56px, 8vw, 104px);
}

/* Project pages: each section breathes like the design (64–96px apart). */
.single-ti_projeto .wp-block-post-content > * {
	margin-block: 0;
}

.single-ti_projeto .wp-block-post-content > :first-child {
	margin-block-start: clamp(40px, 5vw, 64px);
}

.single-ti_projeto .wp-block-post-content > * + * {
	margin-block-start: clamp(56px, 7vw, 88px);
}

.single-ti_projeto .wp-block-post-content > :last-child {
	margin-block-end: clamp(56px, 7vw, 96px);
}

.ti-secao > h2.wp-block-heading {
	margin-top: var(--wp--preset--spacing--50);
}

.ti-secao > .wp-block-toshiko-breadcrumb:first-child {
	margin-top: calc(-1 * var(--wp--preset--spacing--50) + 4px);
}

.ti-hero {
	padding-top: clamp(36px, 6vw, 72px);
	padding-bottom: clamp(48px, 8vw, 96px);
}

.ti-hero__colunas {
	gap: clamp(24px, 5vw, 56px);
}

.ti-hero h1 {
	color: #fff;
}

.ti-hero .wp-block-column > * + * {
	margin-block-start: 24px;
}

.ti-hero .wp-block-buttons {
	gap: 14px;
	padding-top: 8px;
}

.wp-block-toshiko-projeto-acoes .wp-block-buttons {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

/* Phones: full-width buttons, easy to tap (as in the mobile design) */
@media (max-width: 781px) {
	.ti-hero .wp-block-button,
	.ti-faixa-acao .wp-block-button,
	.ti-faixa-apoie .wp-block-button {
		width: 100%;
	}

	.ti-hero .wp-block-button__link,
	.ti-faixa-acao .wp-block-button__link,
	.ti-faixa-apoie .wp-block-button__link {
		display: flex;
		justify-content: center;
		width: 100%;
	}
}

.ti-hero .wp-block-post-excerpt__excerpt,
.ti-hero p.ti-linha-apoio {
	font-size: clamp(17px, 1.4vw, 19px);
	line-height: 1.55;
	margin-bottom: 0;
}

.ti-hero .wp-block-post-excerpt__excerpt {
	margin-top: 0;
}

/* Nude action band */
.ti-faixa-acao {
	padding-top: clamp(40px, 5vw, 56px);
	padding-bottom: clamp(40px, 5vw, 56px);
}

.ti-faixa-acao > .wp-block-group {
	gap: 28px;
	align-items: center;
}

.ti-faixa-acao h2 {
	font-size: clamp(30px, 3.4vw, 40px);
	margin: 0 0 8px;
}

.ti-faixa-acao p {
	font-size: 19px;
	margin: 0;
}

.ti-faixa-acao .wp-block-buttons {
	gap: 14px;
}

/* Orange Apoie band: big title, calm text, clear button */
.ti-faixa-apoie {
	padding-top: clamp(48px, 7vw, 80px);
	padding-bottom: clamp(56px, 7vw, 88px);
}

.ti-faixa-apoie__titulo {
	font-size: clamp(34px, 4vw, 56px);
	line-height: 1.08;
	max-width: 16ch;
	margin: 0;
}

.ti-faixa-apoie__texto {
	font-size: clamp(17px, 1.6vw, 20px);
	line-height: 1.55;
	max-width: 44ch;
	margin: 20px 0 0;
}

.ti-faixa-apoie .wp-block-buttons {
	margin-top: 28px;
}

.ti-faixa-apoie .wp-block-button > .wp-block-button__link {
	min-height: 56px;
	padding: 16px 32px;
	font-size: 19px;
}

.ti-caixa {
	border-radius: 48px 16px 16px 16px;
	padding: clamp(24px, 4vw, 40px);
	margin-top: var(--wp--preset--spacing--40);
	margin-bottom: var(--wp--preset--spacing--40);
}

.ti-caixa h3 {
	margin-top: 0;
}

.ti-rodape {
	padding-top: var(--wp--preset--spacing--50);
}

.ti-rodape__colunas {
	gap: 48px 64px;
	padding-top: clamp(16px, 2vw, 24px);
}

.ti-rodape__colunas p {
	font-size: 17px;
}

.ti-rodape h2.has-x-large-font-size {
	font-size: 30px !important;
	margin: 12px 0 16px;
}

.ti-rodape__faixa {
	margin-top: var(--wp--preset--spacing--40);
	padding-top: 18px;
	padding-bottom: 18px;
}

.ti-rodape__faixa p {
	margin: 0;
}

.wp-block-columns.ti-sobre {
	column-gap: 64px;
	row-gap: 24px;
}

.ti-sobre .wp-block-column p,
.ti-sobre .wp-block-column li {
	font-size: 19px;
	line-height: 1.7;
	max-width: 680px;
}

.ti-sobre .wp-block-column > * + * {
	margin-top: 20px;
}

.ti-sobre h2 {
	margin-top: 0;
}

/* Numbers row: number above a smaller label, 32px between items */
.wp-block-columns.ti-destaques {
	gap: 32px;
}

.ti-destaque p:not(.ti-destaque__numero) {
	font-size: 17px;
	margin-top: 2px;
}

/* Gallery spacing as in the design */
.ti-galeria {
	display: flex;
	flex-direction: column;
	gap: 32px;
}

.ti-galeria h2 {
	margin: 0;
}

.wp-block-gallery.has-nested-images.is-style-cantos {
	--wp--style--unstable-gallery-gap: 28px;
	gap: 28px;
}

/* "Outros projetos" header row */
.ti-secao > .wp-block-group.is-layout-flex h2 {
	margin: 0;
}

.ti-secao > .wp-block-group.is-layout-flex + * {
	margin-top: 32px;
}

/* ---------- Accessibility ---------- */

.skip-link.screen-reader-text:focus {
	background: var(--ti-petroleo);
	color: #fff;
	z-index: 100000;
}

/* ---------- Header ---------- */

/* Same 1320px container as the design: logo inset from the edge, Apoie at the container's right. */
.ti-header {
	border-bottom: 1px solid var(--ti-linha);
	min-height: 92px;
	padding-left: calc(max(0px, (100% - 1320px) / 2) + clamp(16px, 4vw, 48px)) !important;
	padding-right: max(0px, calc((100% - 1320px) / 2)) !important;
	gap: 24px;
}

.ti-header .wp-block-toshiko-logo img {
	height: 58px;
	width: auto;
	display: block;
}

.ti-header__acoes {
	align-self: stretch;
	gap: 0 !important;
}

.ti-header .ti-nav {
	padding-right: 36px;
	gap: 36px;
}

.ti-header .ti-nav .ti-ativo > .wp-block-navigation-item__content,
.ti-header .ti-nav a[aria-current="page"] {
	box-shadow: inset 0 -3px 0 var(--ti-verde);
	padding-top: 6px;
	padding-bottom: 6px;
}

.ti-header .ti-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	box-shadow: none;
}

.ti-header .ti-nav a {
	text-decoration: none;
}

.ti-apoie-botao {
	align-self: stretch;
}

.ti-apoie-botao .wp-block-button,
.ti-apoie-botao .wp-block-button__link {
	height: 100%;
}

.ti-apoie-botao .wp-block-button__link {
	display: flex;
	align-items: center;
	gap: 10px;
	background: var(--ti-laranja);
	color: #fff;
	border-radius: 0;
	padding: 0 40px;
	font-weight: 800;
	font-size: 19px;
	min-height: 92px;
}

.ti-apoie-botao .wp-block-button__link::before {
	content: "";
	width: 20px;
	height: 20px;
	background: currentColor;
	-webkit-mask: url("assets/img/coracao.svg") center / contain no-repeat;
	mask: url("assets/img/coracao.svg") center / contain no-repeat;
}

.ti-apoie-botao .wp-block-button__link:hover {
	background: #B32C22;
	color: #fff;
}

@media (max-width: 781px) {
	.ti-header {
		min-height: 68px;
	}

	.ti-header .wp-block-toshiko-logo img {
		height: 44px;
	}

	.ti-header__acoes {
		flex-direction: row-reverse;
	}

	.ti-header .ti-nav {
		padding-right: 0;
		align-self: stretch;
		align-items: stretch;
	}

	.ti-header .wp-block-navigation__responsive-container-open {
		width: 64px;
		height: auto;
		min-height: 68px;
		align-self: stretch;
		background: var(--ti-petroleo);
		color: #fff;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.ti-apoie-botao .wp-block-button__link {
		min-height: 68px;
		padding: 0 18px;
		font-size: 17px;
	}
}

/* ---------- Breadcrumb ---------- */

.wp-block-toshiko-breadcrumb {
	font-size: 15px;
	padding-top: 18px;
	padding-bottom: 18px;
}

.wp-block-toshiko-breadcrumb ol {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0 8px;
}

.wp-block-toshiko-breadcrumb li + li::before {
	content: "/";
	margin-right: 8px;
}

/* ---------- Brand shapes (CSS masks recolour the same SVG) ---------- */

.ti-forma {
	position: relative;
	overflow: hidden;
	isolation: isolate;
}

.ti-forma::before,
.ti-forma::after {
	content: "";
	position: absolute;
	z-index: -1;
	pointer-events: none;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
}

/* Project hero: red shape top-right, small green shape peeking out bottom-left below the buttons */
.ti-hero::before {
	width: 620px;
	aspect-ratio: 199 / 174;
	right: -170px;
	top: -150px;
	background: var(--ti-laranja);
	-webkit-mask-image: url("assets/img/forma-04.svg");
	mask-image: url("assets/img/forma-04.svg");
}

.ti-hero::after {
	width: 190px;
	aspect-ratio: 118 / 206;
	left: -56px;
	bottom: -262px;
	background: var(--ti-verde);
	-webkit-mask-image: url("assets/img/forma-02.svg");
	mask-image: url("assets/img/forma-02.svg");
}

/* Apoie band: purple bottom-right, petroleum peeking from the top */
.ti-faixa-apoie::before {
	width: 460px;
	aspect-ratio: 161 / 107;
	right: -90px;
	bottom: -120px;
	background: var(--ti-roxo);
	-webkit-mask-image: url("assets/img/forma-05.svg");
	mask-image: url("assets/img/forma-05.svg");
}

.ti-faixa-apoie::after {
	width: 150px;
	aspect-ratio: 86 / 151;
	right: 300px;
	top: -70px;
	background: var(--ti-petroleo);
	-webkit-mask-image: url("assets/img/forma-06.svg");
	mask-image: url("assets/img/forma-06.svg");
}

@media (max-width: 781px) {
	.ti-hero::before {
		width: 300px;
		right: -150px;
		top: -110px;
	}

	.ti-hero::after {
		width: 110px;
		left: -40px;
		bottom: -150px;
	}

	.ti-faixa-apoie::before {
		width: 240px;
		right: -90px;
		bottom: -70px;
	}

	.ti-faixa-apoie::after {
		display: none;
	}
}

/* Small shape used as a marker next to the numbers */
.ti-destaques .ti-destaque {
	display: grid;
	grid-template-columns: 34px minmax(0, 1fr);
	column-gap: 18px;
	align-items: start;
}

.ti-destaques .ti-destaque > * {
	grid-column: 2;
}

.ti-destaques .ti-destaque::before {
	content: "";
	grid-column: 1;
	grid-row: 1 / span 2;
	width: 34px;
	aspect-ratio: 115 / 138;
	margin-top: 10px;
	background: var(--ti-verde);
	-webkit-mask: url("assets/img/forma-09.svg") center / contain no-repeat;
	mask: url("assets/img/forma-09.svg") center / contain no-repeat;
}

.ti-destaques .wp-block-column:nth-child(3n+2) .ti-destaque::before {
	background: var(--ti-laranja);
}

.ti-destaques .wp-block-column:nth-child(3n) .ti-destaque::before {
	background: var(--ti-roxo);
}

.ti-destaque p {
	margin: 0;
}

.ti-destaque__numero {
	font-weight: 800;
	line-height: 1.1;
	white-space: nowrap;
}

.ti-destaques {
	padding-top: var(--wp--preset--spacing--40);
}

/* ---------- "Canto de mão" photo frames: one big soft corner ---------- */

.wp-block-image.is-style-canto-1 img,
.ti-canto-1 img {
	border-radius: 200px 28px 28px 28px;
}

.wp-block-image.is-style-canto-2 img,
.ti-canto-2 img {
	border-radius: 28px 200px 28px 28px;
}

.wp-block-image.is-style-canto-3 img,
.ti-canto-3 img {
	border-radius: 28px 28px 200px 28px;
}

.wp-block-gallery.is-style-cantos .wp-block-image img {
	border-radius: 20px;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.wp-block-gallery.is-style-cantos .wp-block-image:nth-child(3n+1) img {
	border-top-left-radius: 120px;
}

.wp-block-gallery.is-style-cantos .wp-block-image:nth-child(3n+2) img {
	border-top-right-radius: 120px;
}

.wp-block-gallery.is-style-cantos .wp-block-image:nth-child(3n) img {
	border-bottom-right-radius: 120px;
}

.wp-block-gallery.has-nested-images.is-style-cantos figure.wp-block-image {
	flex-direction: column;
	align-items: stretch;
}

.wp-block-gallery.has-nested-images.is-style-cantos figure.wp-block-image figcaption {
	position: static;
	background: none;
	color: var(--ti-petroleo);
	font-size: 14px;
	text-align: left;
	text-shadow: none;
	padding: 8px 0 0;
	margin: 0;
	max-height: none;
	overflow: visible;
}

.wp-block-gallery.has-nested-images.is-style-cantos figure.wp-block-image::before,
.wp-block-gallery.has-nested-images.is-style-cantos figure.wp-block-image:has(figcaption)::before {
	display: none;
}

.wp-block-gallery.has-nested-images.is-style-cantos figure.wp-block-image:not(#individual-image) img {
	flex: none;
	width: 100%;
	height: auto;
}

@media (max-width: 781px) {
	.wp-block-image.is-style-canto-1 img,
	.ti-canto-1 img {
		border-top-left-radius: 120px;
	}

	.wp-block-gallery.is-style-cantos .wp-block-image img {
		border-radius: 16px;
	}
}

/* ---------- Status tags ---------- */

.ti-status {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-weight: 700;
	font-size: 15px;
	line-height: 1.3;
	padding: 6px 14px;
	border-radius: 999px;
	color: var(--ti-petroleo);
}

.ti-status--andamento {
	background: var(--ti-verde);
}

.ti-status--andamento::before {
	content: "";
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: currentColor;
}

.ti-status--breve {
	background: var(--ti-roxo);
	color: #fff;
}

.ti-status--realizado {
	background: #fff;
	box-shadow: inset 0 0 0 2px var(--ti-petroleo);
}

.ti-status--aberto {
	background: var(--ti-petroleo);
	color: #fff;
}

.ti-status--encerradas,
.ti-status--encerrado {
	background: var(--ti-nude-claro);
}

/* ---------- Hero (project and page openings) ---------- */

.ti-hero .wp-block-post-excerpt__excerpt,
.ti-hero .ti-linha-apoio {
	color: var(--ti-nude);
	max-width: 34ch;
}

.ti-hero .wp-block-post-excerpt__more-text {
	display: none;
}

.wp-block-toshiko-foto-destaque figure {
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.wp-block-toshiko-foto-destaque img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 200px 28px 28px 28px;
	background: var(--ti-nude);
}

.wp-block-toshiko-foto-destaque figcaption {
	font-size: 14px;
	color: var(--ti-nude);
}

@media (max-width: 781px) {
	.wp-block-toshiko-foto-destaque img {
		border-top-left-radius: 120px;
	}
}

/* Buttons: secondary = outline */
.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent;
	color: currentColor;
	border: 2px solid currentColor;
	padding: 13px 24px;
}

.ti-hero .wp-block-button.is-style-outline > .wp-block-button__link {
	color: #fff;
	border-color: var(--ti-nude);
}

.ti-hero .wp-block-button:not(.is-style-outline) > .wp-block-button__link {
	background: #fff;
	color: var(--ti-petroleo);
}

.wp-block-button.is-style-apoie > .wp-block-button__link {
	background: var(--ti-laranja);
	color: #fff;
	font-weight: 800;
}

.ti-faixa-apoie .wp-block-button > .wp-block-button__link {
	background: #fff;
	color: var(--ti-laranja);
	font-weight: 800;
}

.ti-externo::after,
a[target="_blank"].ti-externo-auto::after {
	content: " ↗";
}

/* ---------- Cards (projects, other projects) ---------- */

.ti-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 32px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.ti-card {
	display: flex;
	flex-direction: column;
	gap: 12px;
	align-items: flex-start;
}

.ti-card__foto {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	border-radius: 18px;
	background: var(--ti-nude-claro);
}

.ti-card:nth-child(3n+1) .ti-card__foto { border-top-left-radius: 96px; }
.ti-card:nth-child(3n+2) .ti-card__foto { border-top-right-radius: 96px; }
.ti-card:nth-child(3n) .ti-card__foto { border-bottom-right-radius: 96px; }

.ti-card {
	gap: 14px;
}

.ti-card h3 {
	margin: 0;
	font-size: var(--wp--preset--font-size--x-large);
	line-height: 1.15;
}

.ti-card h3 a {
	text-decoration: none;
}

.ti-card p {
	margin: 0;
	font-size: 17px;
}

.ti-card .ti-status {
	font-size: 14px;
	padding: 4px 12px;
}

.ti-card__link {
	font-weight: 700;
}

@media (max-width: 781px) {
	.ti-cards--rolagem {
		display: flex;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		padding-bottom: 8px;
	}

	.ti-cards--rolagem > .ti-card {
		flex: none;
		width: 270px;
		scroll-snap-align: start;
	}
}

/* ---------- Agenda ---------- */

.ti-agenda__meses {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 24px;
}

.ti-agenda__meses a {
	display: inline-flex;
	min-height: 44px;
	align-items: center;
	padding: 0 16px;
	border-radius: 999px;
	box-shadow: inset 0 0 0 2px var(--ti-petroleo);
	text-decoration: none;
	font-weight: 700;
}

.ti-agenda__meses a:hover {
	color: var(--ti-roxo);
	box-shadow: inset 0 0 0 2px var(--ti-roxo);
}

.ti-agenda__meses a[aria-current="true"] {
	background: var(--ti-roxo);
	box-shadow: none;
	color: #fff;
}

/* Agenda section: warm nude ground, each event a white card */
.ti-agenda-secao {
	padding-top: clamp(48px, 7vw, 88px);
	padding-bottom: clamp(56px, 8vw, 104px);
}

.ti-agenda-secao h2 {
	margin: 0 0 24px;
}

.ti-agenda-secao ul {
	display: grid;
	gap: 16px;
}

.ti-evento {
	display: grid;
	grid-template-columns: 96px minmax(0, 1fr);
	gap: 24px;
	padding: 24px 28px;
	border-radius: 32px 12px 12px 12px;
	background: #fff;
}

.ti-evento__resumo {
	margin: 0 0 10px;
	font-size: 17px;
}

.ti-evento__data {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 96px;
	aspect-ratio: 1;
	border-radius: 40px 12px 12px 12px;
	background: var(--ti-nude);
	color: var(--ti-petroleo);
	line-height: 1;
}

.ti-evento__data--verde { background: var(--ti-verde); }
.ti-evento__data--roxo { background: var(--ti-roxo); color: #fff; }
.ti-evento__data--petroleo { background: var(--ti-petroleo); color: #fff; }

@media (max-width: 600px) {
	.ti-agenda__meses {
		flex-wrap: nowrap;
		overflow-x: auto;
		margin-right: calc(-1 * clamp(16px, 4vw, 48px));
		padding-right: 16px;
		padding-bottom: 4px;
	}

	.ti-agenda__meses a {
		flex: none;
	}

	.ti-evento {
		grid-template-columns: 64px minmax(0, 1fr);
		gap: 16px;
		padding: 20px;
	}

	.ti-evento__data {
		width: 64px;
		border-top-left-radius: 28px;
	}

	.ti-evento__dia {
		font-size: 26px !important;
	}
}

/* "Próximo encontro" card in the agenda hero */
.ti-proximo-cartao {
	background: var(--ti-nude);
	color: var(--ti-petroleo);
	border-radius: 48px 16px 16px 16px;
	padding: clamp(24px, 3vw, 32px);
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.ti-proximo-cartao p {
	margin: 0;
}

.ti-proximo-cartao a {
	color: var(--ti-petroleo);
}

.ti-proximo-cartao__rotulo {
	font-size: 14px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.ti-proximo-cartao__topo {
	display: grid;
	grid-template-columns: 96px minmax(0, 1fr);
	gap: 20px;
	align-items: center;
}

.ti-proximo-cartao__titulo {
	font-family: var(--wp--preset--font-family--byulbitcha);
	font-size: var(--wp--preset--font-size--x-large);
	line-height: 1.15;
}

.ti-proximo-cartao__titulo a {
	text-decoration: none;
}

.ti-proximo-cartao__quando {
	font-weight: 700;
}

.ti-proximo-cartao__acoes {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 24px;
	font-weight: 700;
	padding-top: 12px;
	border-top: 1px solid rgba(4, 39, 45, 0.18);
}

/* Purple band ("Divulgue seu evento") */
.ti-faixa-roxa {
	padding-top: clamp(48px, 7vw, 80px);
	padding-bottom: clamp(56px, 7vw, 88px);
}

.ti-faixa-roxa h2 {
	margin: 0;
	max-width: 16ch;
}

.ti-faixa-roxa__texto {
	max-width: 52ch;
	font-size: clamp(17px, 1.5vw, 19px);
	line-height: 1.6;
	margin: 20px 0 0;
}

.ti-faixa-roxa .wp-block-buttons {
	margin-top: 28px;
}

.ti-faixa-roxa .wp-block-button > .wp-block-button__link {
	background: #fff;
	color: var(--ti-roxo);
	font-weight: 800;
}

.ti-faixa-roxa::before {
	width: 340px;
	aspect-ratio: 129 / 146;
	right: -70px;
	bottom: -120px;
	background: var(--ti-verde);
	-webkit-mask-image: url("assets/img/forma-03.svg");
	mask-image: url("assets/img/forma-03.svg");
}

.ti-faixa-roxa::after {
	width: 130px;
	aspect-ratio: 141 / 150;
	right: 300px;
	top: -64px;
	background: var(--ti-nude);
	-webkit-mask-image: url("assets/img/forma-10.svg");
	mask-image: url("assets/img/forma-10.svg");
}

@media (max-width: 781px) {
	.ti-faixa-roxa::before {
		width: 180px;
		right: -60px;
		bottom: -80px;
	}

	.ti-faixa-roxa::after {
		display: none;
	}

	.ti-faixa-roxa .wp-block-button,
	.ti-faixa-roxa .wp-block-button__link {
		width: 100%;
		justify-content: center;
	}
}

.ti-sem-margem {
	margin-top: 0 !important;
}

.ti-nota {
	margin-top: 40px;
	font-size: 17px;
}

.ti-evento__dia {
	font-weight: 800;
	font-size: 36px;
}

.ti-evento__mes {
	text-transform: uppercase;
	font-weight: 700;
	font-size: 14px;
	letter-spacing: 0.06em;
	margin-top: 4px;
}

.ti-evento h3 {
	margin: 0 0 6px;
	font-size: var(--wp--preset--font-size--x-large);
}

.ti-evento__meta {
	margin: 0 0 8px;
	font-size: 16px;
}

.ti-evento__acoes {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 20px;
	font-size: 16px;
	font-weight: 700;
}

.ti-proximo {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 24px;
	background: var(--ti-nude);
	padding: 18px clamp(16px, 4vw, 48px);
}

.ti-proximo p {
	margin: 0;
}

.ti-proximo__acoes {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 20px;
	font-weight: 700;
}

/* ---------- Chamamentos and documents ---------- */

.ti-chamamentos,
.ti-documentos {
	display: grid;
	gap: 20px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.ti-chamamento {
	border: 2px solid var(--ti-linha);
	border-radius: 48px 16px 16px 16px;
	padding: 24px 28px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	align-items: flex-start;
}

.ti-chamamento h3 {
	margin: 0;
	font-size: var(--wp--preset--font-size--x-large);
}

.ti-chamamento p {
	margin: 0;
}

.ti-chamamento__acoes {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 24px;
	font-weight: 700;
}

.ti-botao {
	display: inline-flex;
	align-items: center;
	min-height: 52px;
	padding: 0 26px;
	border-radius: 999px;
	background: var(--ti-petroleo);
	color: #fff;
	font-weight: 700;
	text-decoration: none;
}

.ti-botao:hover {
	color: #fff;
	background: #0D3B43;
}

.ti-botao[aria-disabled="true"] {
	background: var(--ti-nude-claro);
	color: #5B6B6E;
	cursor: not-allowed;
}

.ti-documento {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px 24px;
	padding: 18px 0;
	border-top: 1px solid var(--ti-linha);
}

.ti-documento p {
	margin: 0;
}

.ti-documento__data {
	font-size: 15px;
}

/* ---------- Newsletter form (footer and Apoie) ---------- */

.ti-newsletter {
	display: flex;
	flex-direction: column;
	gap: 12px;
	max-width: 460px;
}

.ti-newsletter__linha {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.ti-newsletter label {
	flex: 1 1 140px;
	display: flex;
	flex-direction: column;
	gap: 4px;
	font-size: 15px;
}

.ti-newsletter input {
	min-height: 48px;
	border: 0;
	border-radius: 10px;
	padding: 0 14px;
	font: inherit;
	font-size: 17px;
	color: var(--ti-petroleo);
	box-shadow: inset 0 0 0 1px var(--ti-nude);
}

.ti-newsletter button {
	align-self: flex-start;
	min-height: 50px;
	padding: 0 28px;
	border: 0;
	border-radius: 999px;
	background: var(--ti-verde);
	color: var(--ti-petroleo);
	font: inherit;
	font-weight: 800;
	cursor: pointer;
}

.ti-newsletter__aviso {
	margin: 0;
	font-size: 15px;
}

/* ---------- Footer ---------- */

.ti-rodape {
	color: #fff;
}

.ti-rodape a {
	color: #fff;
}

.ti-rodape a:hover {
	color: var(--ti-nude);
}

.ti-rodape .wp-block-toshiko-logo img {
	height: 64px;
	width: auto;
}

.ti-rodape label {
	color: var(--ti-nude);
}

.ti-rodape__rotulo {
	font-family: var(--wp--preset--font-family--karla);
	font-size: 15px !important;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ti-nude);
}

.ti-rodape__faixa {
	border-top: 1px solid #23474E;
	color: var(--ti-nude);
}

.ti-rodape__faixa a {
	color: var(--ti-nude);
}

/* ---------- Cookie notice ---------- */

.ti-cookies {
	position: fixed;
	left: 16px;
	right: 16px;
	bottom: 16px;
	z-index: 1000;
	max-width: 760px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 20px;
	padding: 16px 20px;
	border-radius: 16px;
	background: var(--ti-petroleo);
	color: #fff;
	box-shadow: 0 8px 32px rgba(4, 39, 45, 0.25);
	font-size: 16px;
}

.ti-cookies[hidden] {
	display: none;
}

.ti-cookies p {
	flex: 1 1 280px;
	margin: 0;
}

.ti-cookies a {
	color: #fff;
}

.ti-cookies__botoes {
	display: flex;
	gap: 10px;
}

.ti-cookies button {
	min-height: 44px;
	padding: 0 18px;
	border-radius: 999px;
	border: 2px solid #fff;
	background: transparent;
	color: #fff;
	font: inherit;
	font-weight: 700;
	cursor: pointer;
}

/* ---------- FAQ (core/details) ---------- */

.wp-block-details summary {
	font-weight: 700;
	font-size: var(--wp--preset--font-size--large);
	cursor: pointer;
}

.wp-block-details > :not(summary) {
	margin-top: 10px;
}

/* =========================================================
   Início (Home)
   ========================================================= */

.ti-sobretitulo {
	margin: 0;
	font-size: 14px;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--ti-verde);
}

.ti-hero--home h1,
.ti-hero--apoie h1 {
	font-size: clamp(42px, 4.8vw, 70px);
}

.ti-hero .wp-block-image {
	margin: 0;
}

.ti-hero .wp-block-image img {
	width: 100%;
	aspect-ratio: 5 / 4;
	object-fit: cover;
	background: var(--ti-nude);
}

.ti-hero .wp-block-image figcaption {
	color: var(--ti-nude);
	font-size: 14px;
	margin-top: 10px;
	text-align: left;
}

/* Photo beside text ("Fazer junto", "O Vale") */
.wp-block-columns.ti-foto-texto {
	column-gap: 80px;
	row-gap: 32px;
}

.ti-foto-texto .wp-block-image {
	margin: 0;
}

.ti-foto-texto .wp-block-image img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	background: var(--ti-nude-claro);
}

.ti-foto-texto .wp-block-image figcaption {
	font-size: 14px;
	text-align: left;
	margin-top: 10px;
}

.ti-foto-texto h2 {
	margin-top: 0;
}

.ti-foto-texto p {
	font-size: 19px;
	line-height: 1.7;
}

.ti-faixa-roxa .ti-foto-texto .wp-block-image img {
	aspect-ratio: 3 / 2;
}

.ti-faixa-roxa .ti-foto-texto figcaption {
	color: var(--ti-nude);
}

/* Section header: title on the left, link on the right */
.ti-cabecalho-secao {
	margin-bottom: 32px;
}

.ti-cabecalho-secao h2,
.ti-cabecalho-secao p {
	margin: 0;
}

/* Portrait project cards (Home "O que fazemos") */
@media (min-width: 782px) {
	.ti-cards--retrato {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 28px;
	}
}

.ti-cards--retrato .ti-card__foto {
	aspect-ratio: 4 / 5;
}

.ti-cards--retrato .ti-card h3 {
	font-size: 26px;
}

@media (max-width: 781px) {
	.ti-cards--retrato > .ti-card {
		width: 240px;
	}
}

/* Project without a photo yet: purple card with a green hand shape */
.ti-card__foto--vazia {
	box-sizing: border-box;
	position: relative;
	overflow: hidden;
	display: flex;
	align-items: flex-end;
	padding: 18px;
	background: var(--ti-roxo);
	color: #fff;
	font-size: 14px;
}

.ti-card__foto--vazia::after {
	content: "";
	position: absolute;
	width: 70%;
	aspect-ratio: 129 / 146;
	right: -14%;
	top: -10%;
	background: var(--ti-verde);
	-webkit-mask: url("assets/img/forma-03.svg") center / contain no-repeat;
	mask: url("assets/img/forma-03.svg") center / contain no-repeat;
}

.ti-card__foto--vazia span {
	position: relative;
}

/* Comunidade: nude band with a strip of photos captioned in the title font */
.ti-comunidade {
	padding-top: clamp(56px, 7vw, 96px);
	padding-bottom: clamp(56px, 8vw, 104px);
}

.ti-comunidade .ti-cabecalho-secao {
	align-items: baseline;
	column-gap: 40px;
}

.ti-comunidade .ti-cabecalho-secao p {
	font-size: 19px;
	max-width: 52ch;
}

.wp-block-gallery.has-nested-images.is-style-comunidade {
	--wp--style--unstable-gallery-gap: 16px;
	gap: 16px;
}

.wp-block-gallery.has-nested-images.is-style-comunidade figure.wp-block-image {
	flex-direction: column;
	align-items: stretch;
}

/* :not(#individual-image) matches core's own selector weight, which uses it to force height: 100%. */
.wp-block-gallery.has-nested-images.is-style-comunidade figure.wp-block-image:not(#individual-image) img {
	aspect-ratio: 3 / 4;
	object-fit: cover;
	width: 100%;
	height: auto;
	flex: none;
	border-radius: 14px;
}

.wp-block-gallery.is-style-comunidade figure.wp-block-image:nth-child(3n+1) img { border-top-left-radius: 64px; }
.wp-block-gallery.is-style-comunidade figure.wp-block-image:nth-child(3n+2) img { border-top-right-radius: 64px; }
.wp-block-gallery.is-style-comunidade figure.wp-block-image:nth-child(3n) img { border-bottom-right-radius: 64px; }

.wp-block-gallery.has-nested-images.is-style-comunidade figure.wp-block-image figcaption {
	position: static;
	background: none;
	color: var(--ti-petroleo);
	text-shadow: none;
	text-align: left;
	padding: 10px 0 0;
	margin: 0;
	max-height: none;
	overflow: visible;
	font-family: var(--wp--preset--font-family--byulbitcha);
	font-size: 22px;
	line-height: 1.1;
}

.wp-block-gallery.has-nested-images.is-style-comunidade figure.wp-block-image::before {
	display: none;
}

@media (max-width: 781px) {
	.wp-block-gallery.has-nested-images.is-style-comunidade {
		flex-wrap: nowrap;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		margin-right: calc(-1 * clamp(16px, 4vw, 48px));
		padding-right: 16px;
	}

	.wp-block-gallery.has-nested-images.is-style-comunidade figure.wp-block-image {
		flex: none !important;
		width: 180px !important;
		scroll-snap-align: start;
	}
}

/* "Vem com a gente": orange Apoie card and green Faça parte card */
.wp-block-columns.ti-cartoes {
	gap: 28px;
}

.ti-cartao {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	padding: clamp(28px, 4vw, 44px) clamp(24px, 4vw, 44px) clamp(28px, 4vw, 48px);
	height: 100%;
}

.ti-cartao h3 {
	margin: 0;
	font-size: clamp(32px, 3vw, 40px);
	line-height: 1.1;
}

.ti-cartao p {
	font-size: 19px;
	max-width: 36ch;
}

.ti-cartao--apoie {
	border-radius: 64px 18px 18px 18px;
}

.ti-cartao--apoie .wp-block-button__link {
	background: #fff;
	color: var(--ti-laranja);
	font-weight: 800;
}

.ti-cartao--verde {
	border-radius: 18px 64px 18px 18px;
}

.ti-cartao::before {
	content: "";
	position: absolute;
	z-index: -1;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
}

.ti-cartao--apoie::before {
	width: 150px;
	aspect-ratio: 102 / 204;
	right: -30px;
	bottom: -110px;
	background: var(--ti-roxo);
	-webkit-mask-image: url("assets/img/forma-01.svg");
	mask-image: url("assets/img/forma-01.svg");
}

.ti-cartao--verde::before {
	width: 190px;
	aspect-ratio: 140 / 121;
	right: -40px;
	bottom: -70px;
	background: var(--ti-petroleo);
	-webkit-mask-image: url("assets/img/forma-08.svg");
	mask-image: url("assets/img/forma-08.svg");
}

/* FAQ with the title on the left */
.wp-block-columns.ti-perguntas-lado {
	column-gap: 80px;
	padding-top: clamp(56px, 7vw, 96px);
	padding-bottom: clamp(64px, 8vw, 112px);
	border-top: 1px solid var(--ti-linha);
}

.ti-perguntas-lado h2 {
	margin-top: 0;
}

.ti-perguntas-lado .wp-block-details summary {
	font-size: 20px;
}

.ti-perguntas-lado .wp-block-details p {
	font-size: 18px;
}

/* Front page rhythm: same breathing room as the project pages */
.home .wp-block-post-content > *,
.page-template-page-sem-titulo .wp-block-post-content > * {
	margin-block: 0;
}

.home .wp-block-post-content > .ti-espaco,
.page-template-page-sem-titulo .wp-block-post-content > .ti-espaco {
	margin-block: clamp(64px, 8vw, 104px);
}

/* =========================================================
   Apoie
   ========================================================= */

.ti-hero--apoie::before {
	width: 420px;
	aspect-ratio: 161 / 107;
	left: -120px;
	right: auto;
	top: -140px;
	background: var(--ti-roxo);
	-webkit-mask-image: url("assets/img/forma-05.svg");
	mask-image: url("assets/img/forma-05.svg");
}

.ti-hero--apoie::after {
	width: 520px;
	aspect-ratio: 199 / 174;
	left: auto;
	right: -160px;
	bottom: -200px;
	background: var(--ti-laranja);
	-webkit-mask-image: url("assets/img/forma-04.svg");
	mask-image: url("assets/img/forma-04.svg");
}

.ti-hero--apoie .ti-hero__colunas {
	align-items: flex-start !important;
	column-gap: 72px;
}

.ti-numeros {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 28px 32px;
	padding-top: 16px;
}

.ti-numeros > * {
	margin: 0 !important;
}

.ti-numero__valor {
	display: block;
	font-weight: 800;
	font-size: clamp(30px, 3vw, 40px);
	line-height: 1.05;
	color: var(--ti-verde);
}

.ti-numero__rotulo {
	display: block;
	font-size: 16px;
	color: #fff;
}

.ti-nota-pequena {
	font-size: 14px;
	color: var(--ti-nude);
}

.ti-para-onde {
	border-top: 1px solid #23474E;
	padding-top: 24px;
	max-width: 46ch;
}

.ti-para-onde > * {
	margin: 0 0 8px !important;
}

.ti-para-onde a {
	color: #fff;
	font-weight: 700;
}

.ti-rotulo {
	font-size: 15px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ti-nude);
}

/* Donation form card */
.ti-doacao {
	background: #fff;
	color: var(--ti-petroleo);
	border-radius: 48px 18px 18px 18px;
	padding: clamp(24px, 3vw, 36px) clamp(20px, 3vw, 36px) clamp(24px, 3vw, 32px);
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.28);
	display: flex;
	flex-direction: column;
	gap: 18px;
	max-width: 520px;
	margin-left: auto;
}

.ti-doacao a {
	color: var(--ti-petroleo);
}

.ti-doacao__titulo {
	margin: 0;
	font-size: 34px;
	color: var(--ti-petroleo);
}

.ti-doacao fieldset {
	border: 0;
	margin: 0;
	padding: 0;
	min-width: 0;
}

.ti-doacao legend {
	font-weight: 700;
	font-size: 16px;
	margin-bottom: 8px;
	padding: 0;
}

.ti-doacao input[type="radio"] {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
}

.ti-doacao input[type="radio"]:focus-visible + span {
	outline: 3px solid var(--ti-verde);
	outline-offset: 2px;
}

.ti-doacao__frequencia {
	display: grid !important;
	grid-template-columns: 1fr 1fr;
	background: var(--ti-nude-claro);
	border-radius: 999px;
	padding: 4px !important;
}

.ti-doacao__frequencia span {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	border-radius: 999px;
	font-weight: 700;
	font-size: 17px;
	cursor: pointer;
}

.ti-doacao__frequencia input:checked + span {
	background: var(--ti-petroleo);
	color: #fff;
}

.ti-doacao__grade {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 8px;
}

.ti-doacao__valor span {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 54px;
	border: 2px solid var(--ti-nude);
	border-radius: 14px;
	font-weight: 800;
	font-size: 18px;
	cursor: pointer;
}

.ti-doacao__valor input:checked + span {
	background: var(--ti-roxo);
	border-color: var(--ti-roxo);
	color: #fff;
}

.ti-doacao__nota {
	margin: 8px 0 0;
	font-size: 14px;
}

.ti-doacao__campo {
	display: flex;
	flex-direction: column;
	gap: 4px;
	font-size: 15px;
	font-weight: 700;
	min-width: 0;
}

.ti-doacao__outro {
	margin-top: 10px;
}

.ti-doacao__campo input {
	min-height: 48px;
	border: 1px solid var(--ti-nude);
	border-radius: 10px;
	padding: 0 14px;
	font: inherit;
	font-size: 17px;
	font-weight: 400;
	color: var(--ti-petroleo);
	min-width: 0;
}

.ti-doacao__opcional {
	font-weight: 400;
}

.ti-doacao__linha {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
}

.ti-doacao__ajuda {
	margin: -10px 0 0;
	font-size: 14px;
}

.ti-doacao__pagamento {
	display: grid !important;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
}

.ti-doacao__pagamento span {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	min-height: 52px;
	padding: 0 8px;
	border: 2px solid var(--ti-nude);
	border-radius: 14px;
	font-weight: 700;
	font-size: 16px;
	cursor: pointer;
}

.ti-doacao__pagamento input:checked + span {
	border-color: var(--ti-petroleo);
	background: var(--ti-nude-claro);
}

.ti-doacao__check {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	font-size: 15px;
}

.ti-doacao__check input {
	width: 20px;
	height: 20px;
	margin: 2px 0 0;
	accent-color: var(--ti-roxo);
	flex: none;
}

.ti-doacao__botao {
	min-height: 58px;
	border: 0;
	border-radius: 999px;
	background: var(--ti-laranja);
	color: #fff;
	font: inherit;
	font-weight: 800;
	font-size: 19px;
	cursor: pointer;
}

.ti-doacao__botao:hover {
	background: #B32C22;
}

.ti-doacao__aviso:empty {
	display: none;
}

.ti-doacao__aviso {
	margin: 0;
	font-weight: 700;
	color: var(--ti-roxo);
}

.ti-doacao__seguro {
	margin: 0;
	text-align: center;
	font-size: 14px;
}

@media (max-width: 781px) {
	.ti-doacao {
		margin: 8px -4px 0;
		border-radius: 40px 16px 16px 16px;
	}

	.ti-doacao__grade {
		grid-template-columns: 1fr 1fr;
	}

	.ti-doacao__linha {
		grid-template-columns: 1fr;
	}
}

/* Pix */
.ti-pix-secao {
	padding-top: clamp(48px, 7vw, 88px);
	padding-bottom: clamp(48px, 7vw, 88px);
}

.ti-pix-secao h2 {
	margin-top: 0;
}

.ti-pix {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	background: #fff;
	border-radius: 16px;
	padding: 14px 14px 14px 22px;
	max-width: 520px;
}

.ti-pix > div {
	flex: 1 1 200px;
	display: flex;
	flex-direction: column;
}

.ti-pix__rotulo {
	font-size: 14px;
}

.ti-pix__chave {
	font-size: 22px;
	letter-spacing: 0.02em;
}

.ti-pix__copiar {
	min-height: 48px;
	padding: 0 22px;
	border: 0;
	border-radius: 999px;
	background: var(--ti-roxo);
	color: #fff;
	font: inherit;
	font-weight: 700;
	cursor: pointer;
}

.ti-qr {
	width: 220px;
	aspect-ratio: 1;
	border-radius: 28px;
	background: #fff;
	box-shadow: inset 0 0 0 2px var(--ti-petroleo);
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 24px;
	font-size: 14px;
	margin-inline: auto;
}

/* Para empresas */
.ti-empresas {
	border: 2px solid var(--ti-linha);
	border-radius: 48px 16px 16px 16px;
	padding: clamp(28px, 4vw, 40px) clamp(22px, 4vw, 44px);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 24px 48px;
}

.ti-empresas h2 {
	margin: 0 0 8px;
	font-size: clamp(28px, 3vw, 36px);
}

.ti-empresas p {
	margin: 0;
	max-width: 56ch;
}

/* Green newsletter strip */
.ti-faixa-verde {
	border-radius: 16px 48px 16px 16px;
	padding: clamp(28px, 4vw, 36px) clamp(22px, 4vw, 44px);
	gap: 20px 48px;
}

.ti-faixa-verde h2 {
	margin: 0 0 6px;
	font-size: clamp(28px, 3vw, 34px);
}

.ti-faixa-verde p {
	margin: 0;
}

.ti-newsletter--compacto {
	flex-direction: row;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 10px;
	max-width: none;
	flex: 1 1 380px;
}

.ti-newsletter--compacto label {
	flex: 1 1 220px;
	font-weight: 700;
}

.ti-newsletter--compacto input {
	box-shadow: none;
}

.ti-newsletter--compacto button {
	align-self: flex-end;
	background: var(--ti-petroleo);
	color: #fff;
}

.ti-newsletter--compacto .ti-newsletter__aviso {
	flex-basis: 100%;
}

/* Header: Apoie is "current" on the Apoie page */
.ti-apoie-botao .ti-ativo .wp-block-button__link {
	box-shadow: inset 0 -4px 0 #fff;
}

.ti-nota-pequena-escura {
	font-size: 14px;
	margin-top: 16px;
}

/* Purple band with a photo (Home "O Vale"): keep the shapes away from the text */
.ti-faixa-roxa:has(.ti-foto-texto)::before {
	width: 260px;
	right: -80px;
	top: -120px;
	bottom: auto;
	-webkit-mask-image: url("assets/img/forma-10.svg");
	mask-image: url("assets/img/forma-10.svg");
	aspect-ratio: 141 / 150;
}

.ti-faixa-roxa:has(.ti-foto-texto)::after {
	width: 110px;
	aspect-ratio: 86 / 151;
	right: 30%;
	top: auto;
	bottom: -96px;
	-webkit-mask-image: url("assets/img/forma-06.svg");
	mask-image: url("assets/img/forma-06.svg");
}

/* FAQ: + / − instead of the browser triangle */
.wp-block-details summary {
	list-style: none;
	display: flex;
	justify-content: space-between;
	gap: 16px;
}

.wp-block-details summary::-webkit-details-marker {
	display: none;
}

.wp-block-details summary::after {
	content: "+";
	font-weight: 700;
	flex: none;
}

.wp-block-details[open] summary::after {
	content: "−";
}

.ti-doacao [hidden] {
	display: none !important;
}

@media (max-width: 781px) {
	.ti-cartao--apoie::before {
		width: 84px;
		right: -26px;
		bottom: -70px;
	}

	.ti-cartao--verde::before {
		width: 110px;
		right: -36px;
		bottom: -52px;
	}
}

.ti-pix__chave {
	white-space: nowrap;
	font-size: clamp(18px, 5vw, 22px);
}

/* Comunidade, refined: title above the line of text, photos on a strict 5-column grid
   inside the page width, with one soft "hand corner" each. */
.ti-comunidade .ti-cabecalho-secao {
	display: block !important;
	margin-bottom: 32px;
}

.ti-comunidade .ti-cabecalho-secao p {
	margin-top: 12px;
}

@media (min-width: 782px) {
	.wp-block-gallery.has-nested-images.is-style-comunidade {
		display: grid;
		grid-template-columns: repeat(5, minmax(0, 1fr));
		gap: 16px;
	}

	.wp-block-gallery.has-nested-images.is-style-comunidade figure.wp-block-image:not(#individual-image) {
		width: auto;
		margin: 0;
	}
}

.wp-block-gallery.is-style-comunidade figure.wp-block-image:nth-child(3n+1):not(#individual-image) img { border-top-left-radius: 64px; }
.wp-block-gallery.is-style-comunidade figure.wp-block-image:nth-child(3n+2):not(#individual-image) img { border-top-right-radius: 64px; }
.wp-block-gallery.is-style-comunidade figure.wp-block-image:nth-child(3n):not(#individual-image) img { border-bottom-right-radius: 64px; }

/* WordPress switches the menu to its overlay below 600px; our compact header starts at 782px.
   Between the two, force the overlay behaviour so the header never expands. */
@media (min-width: 600px) and (max-width: 781px) {
	.ti-header .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex;
	}

	.ti-header .wp-block-navigation__responsive-container:not(.is-menu-open) {
		display: none;
	}
}

.ti-header .ti-apoie-botao,
.ti-header .ti-apoie-botao .wp-block-button {
	position: relative;
	z-index: 2;
}

/* =========================================================
   Inner pages (Quem somos, Toshiko Ishii, Transparência,
   Central de mídias, Faça parte, Obrigado)
   ========================================================= */

/* Page opening: purple shape top-right instead of the red one (red stays with Apoie) */
.ti-hero--pagina::before,
.ti-hero--simples::before {
	background: var(--ti-roxo);
	-webkit-mask-image: url("assets/img/forma-05.svg");
	mask-image: url("assets/img/forma-05.svg");
	aspect-ratio: 161 / 107;
	width: 560px;
	right: -150px;
	top: -170px;
}

.ti-hero--pagina h1,
.ti-hero--simples h1 {
	font-size: clamp(42px, 4.6vw, 66px);
}

/* Text-only opening */
.ti-hero--simples {
	padding-bottom: clamp(56px, 8vw, 104px);
}

.ti-hero--simples > .wp-block-group > * {
	max-width: 760px;
}

.ti-hero--simples > .wp-block-group > * + * {
	margin-block-start: 24px;
}

.ti-hero--simples p.ti-linha-apoio {
	max-width: 52ch;
}

.ti-hero--simples::after {
	width: 150px;
	left: auto;
	right: 22%;
	bottom: -210px;
}

/* Toshiko: purple opening with a green shape */
.ti-hero--roxo::before {
	background: var(--ti-verde);
	-webkit-mask-image: url("assets/img/forma-03.svg");
	mask-image: url("assets/img/forma-03.svg");
	aspect-ratio: 129 / 146;
	width: 420px;
	right: -120px;
	top: -150px;
}

.ti-hero--roxo::after {
	background: var(--ti-nude);
	-webkit-mask-image: url("assets/img/forma-10.svg");
	mask-image: url("assets/img/forma-10.svg");
	aspect-ratio: 141 / 150;
	width: 150px;
	bottom: -96px;
}

@media (max-width: 781px) {
	.ti-hero--pagina::before,
	.ti-hero--simples::before {
		width: 300px;
		right: -120px;
		top: -110px;
	}

	.ti-hero--roxo::before {
		width: 240px;
		right: -110px;
		top: -100px;
	}
}

/* Photo still to come: purple frame with a green shape and the note */
.ti-foto-vazia {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	box-sizing: border-box;
	display: flex !important;
	align-items: flex-end;
	aspect-ratio: 5 / 4;
	padding: 22px 24px !important;
	margin: 0;
	border-radius: 200px 28px 28px 28px;
	background: var(--ti-roxo);
	color: #fff;
}

.ti-foto-vazia > p {
	position: relative;
	margin: 0 !important;
	max-width: 30ch;
	font-size: 14px !important;
	line-height: 1.45;
	color: #fff !important;
}

.ti-foto-vazia::after {
	content: "";
	position: absolute;
	z-index: -1;
	width: 46%;
	aspect-ratio: 129 / 146;
	right: -8%;
	top: -10%;
	background: var(--ti-verde);
	-webkit-mask: url("assets/img/forma-03.svg") center / contain no-repeat;
	mask: url("assets/img/forma-03.svg") center / contain no-repeat;
}

.ti-foto-vazia--retrato {
	aspect-ratio: 4 / 5;
}

.ti-hero--roxo .ti-foto-vazia,
.ti-faixa-roxa .ti-foto-vazia {
	background: var(--ti-petroleo);
}

@media (max-width: 781px) {
	.ti-foto-vazia {
		border-top-left-radius: 120px;
	}
}

/* Long text: title on the left, text on the right */
.wp-block-columns.ti-texto-lado {
	column-gap: 80px;
}

.ti-texto-lado h2 {
	margin-top: 0;
}

.ti-texto-lado p {
	font-size: 19px;
	line-height: 1.7;
}

.ti-texto-lado .wp-block-column > p:first-child {
	margin-top: 0;
}

/* Quem somos: founders and team */
.ti-equipe {
	display: grid !important;
	gap: 48px 32px;
	margin-top: 40px !important;
}

.ti-equipe > * {
	margin: 0 !important;
}

@media (min-width: 782px) {
	.ti-equipe--fundadores {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 56px 48px;
	}

	.ti-equipe--time {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.ti-equipe__titulo {
	margin-top: clamp(56px, 7vw, 80px) !important;
	font-size: var(--wp--preset--font-size--x-large);
}

.ti-pessoa > * {
	margin: 0;
}

.ti-pessoa > * + * {
	margin-top: 12px;
}

.ti-pessoa__foto {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	display: flex !important;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1;
	margin-bottom: 20px !important;
	border-radius: 20px;
	background: var(--ti-nude-claro);
}

.ti-pessoa:nth-child(3n+1) .ti-pessoa__foto {
	border-top-left-radius: 120px;
}

.ti-pessoa:nth-child(3n+2) .ti-pessoa__foto {
	border-top-right-radius: 120px;
}

.ti-pessoa:nth-child(3n) .ti-pessoa__foto {
	border-bottom-right-radius: 120px;
}

.ti-pessoa__foto::after {
	content: "";
	position: absolute;
	z-index: -1;
	width: 42%;
	aspect-ratio: 140 / 121;
	right: -6%;
	bottom: -8%;
	background: var(--ti-nude);
	-webkit-mask: url("assets/img/forma-08.svg") center / contain no-repeat;
	mask: url("assets/img/forma-08.svg") center / contain no-repeat;
}

.ti-pessoa__iniciais {
	margin: 0 !important;
	font-family: var(--wp--preset--font-family--byulbitcha);
	font-size: clamp(48px, 6vw, 80px);
	line-height: 1;
	color: var(--ti-roxo);
}

.ti-equipe--fundadores .ti-pessoa__foto {
	aspect-ratio: 16 / 9;
}

.ti-equipe + h3 {
	margin-top: clamp(64px, 7vw, 88px);
	font-size: var(--wp--preset--font-size--x-large);
}

.ti-pessoa h3 {
	font-size: clamp(26px, 2.2vw, 30px);
	line-height: 1.15;
}

.ti-pessoa__funcao {
	font-size: 14px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ti-roxo);
}

.ti-pessoa p:not([class]) {
	font-size: 17px;
	line-height: 1.65;
}

.ti-pessoa__links {
	font-weight: 700;
	font-size: 16px;
}

.ti-pessoa__links a + a {
	margin-left: 20px;
}

/* Link cards: purple (Transparência) and nude (Central de mídias) */
.ti-cartao--roxo {
	border-radius: 64px 18px 18px 18px;
}

.ti-cartao--roxo a {
	color: #fff;
}

.ti-cartao--roxo::before {
	width: 170px;
	aspect-ratio: 129 / 146;
	right: -40px;
	bottom: -80px;
	background: var(--ti-verde);
	-webkit-mask-image: url("assets/img/forma-03.svg");
	mask-image: url("assets/img/forma-03.svg");
}

.ti-cartao--nude {
	border-radius: 18px 64px 18px 18px;
}

.ti-cartao--nude::before {
	width: 160px;
	aspect-ratio: 141 / 150;
	right: -36px;
	bottom: -70px;
	background: var(--ti-roxo);
	-webkit-mask-image: url("assets/img/forma-10.svg");
	mask-image: url("assets/img/forma-10.svg");
}

.ti-cartao .ti-cartao__link {
	font-weight: 800;
	margin-bottom: 0;
}

.ti-cartao .ti-cartao__link a::after {
	content: " →";
}

/* Toshiko: timeline (a row on wide screens, vertical on phones) */
.ti-linha-do-tempo {
	list-style: none;
	margin: 40px 0 0;
	padding: 0;
	position: relative;
	display: grid;
	gap: 28px;
}

.ti-linha-do-tempo li {
	position: relative;
	margin: 0;
	font-size: 16px;
	line-height: 1.5;
}

.ti-linha-do-tempo strong {
	display: block;
	margin-bottom: 6px;
	font-family: var(--wp--preset--font-family--byulbitcha);
	font-weight: 400;
	font-size: 24px;
	line-height: 1.15;
	color: var(--ti-roxo);
}

.ti-linha-do-tempo li::before {
	content: "";
	position: absolute;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: var(--ti-roxo);
	box-shadow: 0 0 0 5px var(--ti-nude-claro);
}

.ti-linha-do-tempo li:last-child::before {
	background: var(--ti-verde);
}

.ti-linha-do-tempo::before {
	content: "";
	position: absolute;
	background: var(--ti-nude);
}

@media (min-width: 1024px) {
	.ti-linha-do-tempo {
		grid-template-columns: repeat(7, minmax(0, 1fr));
		gap: 24px;
		padding-top: 40px;
	}

	.ti-linha-do-tempo::before {
		left: 0;
		right: 0;
		top: 7px;
		height: 2px;
	}

	.ti-linha-do-tempo li::before {
		left: 0;
		top: -40px;
	}
}

@media (max-width: 1023px) {
	.ti-linha-do-tempo {
		padding-left: 36px;
	}

	.ti-linha-do-tempo::before {
		left: 7px;
		top: 8px;
		bottom: 8px;
		width: 2px;
	}

	.ti-linha-do-tempo li::before {
		left: -36px;
		top: 4px;
	}
}

.ti-nota-a-confirmar {
	font-size: 14px;
	color: #5B6B6E;
}

/* Gallery still to come: three purple frames */
.ti-galeria-vazia {
	display: grid !important;
	gap: 24px;
	margin-top: 32px !important;
}

.ti-galeria-vazia > * {
	margin: 0 !important;
}

@media (min-width: 782px) {
	.ti-galeria-vazia {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.ti-galeria-vazia .ti-foto-vazia {
	aspect-ratio: 4 / 3;
	border-radius: 20px;
}

.ti-galeria-vazia .ti-foto-vazia:nth-child(1) {
	border-top-left-radius: 120px;
}

.ti-galeria-vazia .ti-foto-vazia:nth-child(2) {
	border-top-right-radius: 120px;
	background: var(--ti-petroleo);
}

.ti-galeria-vazia .ti-foto-vazia:nth-child(3) {
	border-bottom-right-radius: 120px;
}

/* Transparência */
.wp-block-columns.ti-transparencia {
	column-gap: 72px;
	row-gap: 40px;
	align-items: flex-start !important;
}

.ti-dados {
	padding: clamp(24px, 3vw, 36px) !important;
	border-radius: 48px 16px 16px 16px;
}

.ti-dados h2 {
	margin: 0 0 16px;
	font-size: var(--wp--preset--font-size--x-large);
}

.ti-dados p {
	margin: 0;
	font-size: 17px;
	line-height: 1.6;
}

.ti-dados p + p {
	margin-top: 10px;
}

.ti-dados strong {
	display: block;
	font-size: 13px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ti-roxo);
}

.wp-block-toshiko-documentos > section + section {
	margin-top: 40px;
}

.ti-transparencia h2 + .wp-block-toshiko-documentos {
	margin-top: 32px;
}

.wp-block-toshiko-documentos h3 {
	margin: 0 0 4px;
	font-family: var(--wp--preset--font-family--karla);
	font-size: 14px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ti-roxo);
}

.ti-documento {
	position: relative;
	padding-left: 44px;
}

.ti-documento::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 26px;
	height: 32px;
	transform: translateY(-50%);
	background: var(--ti-roxo);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 32'%3E%3Cpath d='M3 0h13l10 10v19a3 3 0 0 1-3 3H3a3 3 0 0 1-3-3V3a3 3 0 0 1 3-3Zm12 2v9h9M6 17h14M6 22h14M6 27h9' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 32'%3E%3Cpath d='M3 0h13l10 10v19a3 3 0 0 1-3 3H3a3 3 0 0 1-3-3V3a3 3 0 0 1 3-3Zm12 2v9h9M6 17h14M6 22h14M6 27h9' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E") center / contain no-repeat;
}

.ti-documento--vazio {
	color: #5B6B6E;
}

.ti-documento--vazio::before {
	background: var(--ti-nude);
}

/* Central de mídias */
.ti-midias {
	display: flex;
	flex-direction: column;
	gap: 16px;
	max-width: 560px;
	margin-left: auto;
	padding: clamp(24px, 3vw, 36px);
	border-radius: 48px 18px 18px 18px;
	background: #fff;
	color: var(--ti-petroleo);
	box-shadow: 0 18px 48px rgba(4, 39, 45, 0.12);
}

.ti-midias__linha {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.ti-midias .ti-botao {
	justify-content: center;
	border: 0;
	font: inherit;
	font-weight: 700;
	cursor: pointer;
	margin-top: 4px;
}

.ti-midias--liberado p {
	margin: 0;
	font-size: 18px;
}

@media (max-width: 600px) {
	.ti-midias__linha {
		grid-template-columns: 1fr;
	}
}

.ti-releases {
	list-style: none;
	margin: 24px 0 0;
	padding: 0;
}

/* Faça parte: chips jumping to each block */
.ti-ancoras {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 8px 0 0 !important;
	padding: 0;
}

.ti-ancoras li {
	margin: 0;
}

.ti-ancoras a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 18px;
	border-radius: 999px;
	border: 2px solid var(--ti-nude);
	color: #fff;
	font-weight: 700;
	font-size: 16px;
	text-decoration: none;
}

.ti-ancoras a:hover,
.ti-ancoras a:focus-visible {
	background: #fff;
	border-color: #fff;
	color: var(--ti-petroleo);
}

[id] {
	scroll-margin-top: 24px;
}

.ti-secao-chamamentos h2,
.ti-secao-chamamentos > p {
	margin-top: 0;
}

.ti-secao-chamamentos .wp-block-toshiko-chamamentos {
	margin-top: 32px;
}

@media (min-width: 782px) {
	.ti-secao-chamamentos .ti-chamamentos {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.ti-chamamento {
	background: #fff;
}

.wp-block-columns.ti-blocos {
	gap: 28px;
}

.ti-bloco {
	height: 100%;
	box-sizing: border-box;
	padding: clamp(28px, 3.4vw, 40px) !important;
	border-radius: 18px;
}

.ti-blocos .wp-block-column:nth-child(1) .ti-bloco {
	border-top-left-radius: 64px;
}

.ti-blocos .wp-block-column:nth-child(2) .ti-bloco {
	border-top-right-radius: 64px;
}

.ti-blocos .wp-block-column:nth-child(3) .ti-bloco {
	border-bottom-right-radius: 64px;
}

.ti-bloco h2 {
	margin: 0;
	font-size: clamp(28px, 2.6vw, 34px);
	line-height: 1.12;
}

.ti-bloco p {
	font-size: 18px;
}

.ti-bloco .wp-block-buttons {
	margin-top: 24px;
	gap: 12px;
}

.ti-bloco .wp-block-button.is-style-outline > .wp-block-button__link {
	padding: 11px 20px;
}

.ti-faixa-roxa .ti-faixa-roxa__texto + .ti-faixa-roxa__texto {
	margin-top: 14px;
}

/* Obrigado */
.ti-hero--obrigado {
	min-height: 52vh;
}

/* Legal pages: comfortable reading width */
.ti-legal {
	padding-bottom: clamp(56px, 8vw, 104px);
}

.ti-legal p,
.ti-legal li {
	font-size: 18px;
	line-height: 1.7;
}

/* Full-width coloured bands inside a page: their own padding, flush with neighbours */
.ti-espaco-faixa {
	padding-top: clamp(56px, 7vw, 96px);
	padding-bottom: clamp(56px, 7vw, 96px);
}

.ti-espaco-faixa h2 {
	margin-top: 0;
}

.ti-hero p a:not(.wp-block-button__link) {
	color: #fff;
}

.ti-faixa-roxa .wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent;
	color: #fff;
	border-color: #fff;
}

.ti-legal > * {
	max-width: 720px;
}

.ti-legal h2 {
	margin-top: 48px;
	font-size: var(--wp--preset--font-size--x-large);
}

.ti-legal > :first-child {
	margin-top: 0;
}

@media (max-width: 781px) {
	.ti-foto-vazia--retrato {
		aspect-ratio: 4 / 3;
	}
}

.ti-bloco .ti-nota-a-confirmar {
	color: inherit;
	opacity: 0.8;
}

@media (max-width: 600px) {
	.ti-ancoras {
		gap: 8px;
	}

	.ti-ancoras a {
		min-height: 40px;
		padding: 0 14px;
		font-size: 15px;
	}
}
