/*
 * Direção visual: site institucional editorial, claro e humano.
 * Manrope 800 / DM Sans / Space Mono. Navy ancora; lime assina; blue orienta.
 * Fotografia documental e assimetria comunicam tempo, transparência e cuidado.
 */

:root {
	--navy: #0b1f33;
	--lime: #b8e62e;
	--blue: #2563eb;
	--mist: #f3f6f8;
	--graphite: #182128;
	--white: #fff;
	--line-light: rgba(11, 31, 51, .15);
	--line-dark: rgba(255, 255, 255, .2);
	--ease-out: cubic-bezier(.23, 1, .32, 1);
	font-family: "DM Sans", sans-serif;
	color: var(--graphite);
	background: var(--mist);
	font-synthesis: none;
	text-rendering: optimizeLegibility;
}

* {
	box-sizing: border-box
}

html {
	scroll-behavior: smooth
}

body {
	margin: 0;
	min-width: 320px;
	background: var(--mist)
}

button,
a {
	font: inherit
}

a {
	color: inherit;
	text-decoration: none
}

button {
	border: 0
}

img {
	display: block;
	max-width: 100%
}

::selection {
	background: var(--lime);
	color: var(--navy)
}

.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0
}

.site-shell {
	overflow: clip
}

.page-frame {
	width: min(100% - 80px, 1240px);
	margin-inline: auto
}

.section-light {
	background: var(--mist)
}

.section-white {
	background: var(--white)
}

.section-navy {
	background: var(--navy);
	color: var(--white)
}

.site-header {
	position: fixed;
	z-index: 20;
	top: 0;
	left: 0;
	right: 0;
	height: 78px;
	display: flex;
	align-items: center;
	padding: 0 max(40px, calc((100vw - 1240px)/2));
	background: rgba(255, 255, 255, .95);
	color: var(--navy);
	box-shadow: 0 1px 0 rgba(11, 31, 51, .12);
	backdrop-filter: blur(18px);
	transition: background .24s var(--ease-out)
}

.site-header--scrolled {
	background: rgba(255, 255, 255, .99)
}

.header-brand {
	display: inline-flex;
	width: 178px;
	align-items: center
}

.brand-logo {
	width: 178px;
	height: auto
}

.brand-logo--compact {
	width: 36px;
	height: 36px
}

.footer-logo-lockup {
	position: relative;
	display: block;
	width: 170px;
	height: 38px;
	overflow: visible
}

.footer-logo-lockup__base {
	position: absolute;
	inset: 0;
	width: 170px;
	height: auto;
	max-width: none;
	filter: brightness(0) invert(1)
}

.footer-logo-lockup__symbol {
	position: absolute;
	top: 0;
	left: 0;
	width: 38px;
	height: 38px;
	overflow: hidden
}

.footer-logo-lockup__symbol img {
	width: 38px;
	height: 38px;
	max-width: none
}

.footer-logo-lockup__accent {
	position: absolute;
	top: 0;
	left: 89px;
	width: 14px;
	height: 16px;
	overflow: hidden
}

.footer-logo-lockup__accent img {
	position: absolute;
	top: 0;
	left: -90px;
	width: 170px;
	max-width: none;
	filter: none
}

.brand-logo--light {
	filter: none
}

.desktop-nav {
	display: flex;
	gap: clamp(22px, 3vw, 48px);
	margin-inline: auto;
	padding-left: 5vw;
	font: 10px "Space Mono", monospace;
	letter-spacing: .1em;
	text-transform: uppercase
}

.desktop-nav a,
.header-cta {
	position: relative;
	transition: color .16s ease
}

.desktop-nav a::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: -8px;
	left: 0;
	height: 2px;
	background: var(--lime);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .18s var(--ease-out)
}

.desktop-nav a:hover::after,
.desktop-nav a:focus-visible::after {
	transform: scaleX(1)
}

.header-cta {
	display: flex;
	align-items: center;
	gap: 8px;
	border-bottom: 1px solid currentColor;
	padding: 7px 0;
	font: 10px "Space Mono", monospace;
	letter-spacing: .08em;
	text-transform: uppercase
}

.header-cta:hover {
	color: var(--blue)
}

.menu-toggle,
.mobile-nav {
	display: none
}

.hero-section {
	padding-top: 78px;
	background: var(--mist);
	color: var(--navy)
}

.hero-grid {
	display: grid;
	grid-template-columns: minmax(0, .82fr) minmax(480px, 1.18fr);
	min-height: 690px
}

.hero-copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 74px clamp(0px, 5vw, 88px) 66px 0
}

.eyebrow,
.section-label,
.hero-meta,
.proof-strip,
.platform-ui__top,
.ui-tasks>span,
.footer-nav>span,
.footer-note>span {
	font: 10px "Space Mono", monospace;
	letter-spacing: .12em;
	text-transform: uppercase
}

.eyebrow {
	display: flex;
	align-items: center;
	gap: 10px;
	color: var(--blue)
}

.eyebrow-dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--lime)
}

.hero-copy h1,
.time-copy h2,
.benefits-heading h2,
.platform-heading h2,
.transparency-copy h2,
.community-copy h2,
.closing-copy h2 {
	margin: 25px 0 26px;
	font: 800 clamp(3.7rem, 6.5vw, 6.7rem)/.91 "Manrope", sans-serif;
	letter-spacing: -.075em
}

.hero-copy h1 {
	margin-top: 20px
}

.hero-copy h1 em,
.time-copy h2 em,
.benefits-heading h2 em,
.platform-heading h2 em,
.transparency-copy h2 em,
.community-copy h2 em,
.closing-copy h2 em {
	font-style: normal;
	color: var(--blue)
}

.hero-intro {
	max-width: 390px;
	margin: 0;
	color: rgba(24, 33, 40, .78);
	font-size: 17px;
	line-height: 1.55
}

.hero-actions {
	display: flex;
	align-items: center;
	gap: 24px;
	margin-top: 36px
}

.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	min-height: 49px;
	padding: 0 20px;
	font: 10px "Space Mono", monospace;
	letter-spacing: .06em;
	text-transform: uppercase;
	transition: transform .16s var(--ease-out), box-shadow .16s ease, background .16s ease
}

.button:hover {
	transform: translateY(-2px)
}

.button:active {
	transform: scale(.97)
}

.button--lime {
	background: var(--lime);
	color: var(--navy)
}

.button--lime:hover {
	box-shadow: 7px 7px 0 var(--navy)
}

.button--navy {
	background: var(--navy);
	color: var(--white)
}

.button--navy:hover {
	background: var(--blue)
}

.text-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	border-bottom: 1px solid currentColor;
	padding: 6px 0;
	color: var(--navy);
	font-size: 13px;
	transition: gap .18s var(--ease-out), color .16s ease
}

.text-link:hover {
	gap: 14px;
	color: var(--blue)
}

.hero-meta {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: auto;
	padding-top: 62px;
	color: rgba(11, 31, 51, .52);
	font-size: 9px
}

.hero-meta__line {
	width: 54px;
	height: 1px;
	background: var(--lime)
}

.hero-visual {
	position: relative;
	min-height: 690px;
	overflow: hidden;
	background: var(--navy)
}

.hero-visual>img {
	width: 100%;
	height: 100%;
	min-height: 690px;
	object-fit: cover;
	object-position: center;
	filter: saturate(.85) contrast(1.04)
}

.hero-visual__veil {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(11, 31, 51, .8), rgba(11, 31, 51, .12) 52%, rgba(11, 31, 51, .35))
}

.hero-stamp {
	position: absolute;
	right: 7%;
	bottom: 11%;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 15px;
	background: var(--lime);
	color: var(--navy);
	font: 9px "Space Mono", monospace;
	letter-spacing: .05em
}

.hero-stamp img {
	width: 54px;
	height: 54px;
	object-fit: contain
}

.hero-stamp span {
	line-height: 1.25
}

.hero-stamp b {
	color: var(--blue)
}

.hero-caption {
	position: absolute;
	bottom: 8%;
	left: 8%;
	display: flex;
	gap: 16px;
	color: var(--white)
}

.hero-caption>span {
	color: var(--lime);
	font: 11px "Space Mono", monospace
}

.hero-caption p {
	margin: 0;
	font-size: 14px;
	line-height: 1.35
}

.hero-caption strong {
	color: var(--lime);
	font-weight: 500
}

.proof-strip {
	display: flex;
	justify-content: space-between;
	align-items: center;
	min-height: 83px;
	border-top: 1px solid var(--line-light);
	color: var(--navy);
	font-size: 10px
}

.proof-strip span::before {
	content: "";
	display: inline-block;
	width: 6px;
	height: 6px;
	margin-right: 10px;
	border-radius: 50%;
	background: var(--lime)
}

.section-label {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding-top: 10px;
	color: var(--blue);
	font-size: 9px;
	font-weight: 700
}

.section-label>span {
	color: var(--blue)
}

.section-label--light {
	color: rgba(255, 255, 255, .72)
}

.section-label--light>span {
	color: var(--lime)
}

.split-section {
	display: grid;
	grid-template-columns: 16% 1fr;
	column-gap: 8%;
	position: relative
}

.time-section {
	padding: 92px 0 102px
}

.time-section .split-section {
	grid-template-columns: minmax(280px, 38%) 1fr;
	column-gap: 7%
}

.time-section .section-label {
	grid-column: 2;
	grid-row: 1;
	margin-bottom: 16px
}

.time-copy {
	grid-column: 2;
	grid-row: 2;
	max-width: 760px
}

.time-copy h2 {
	max-width: 760px;
	margin: 12px 0 20px;
	color: var(--navy);
	font-size: clamp(3.1rem, 4.8vw, 5.5rem)
}

.time-copy h2 em {
	color: var(--blue)
}

.time-copy>p {
	max-width: 570px;
	margin: 0;
	color: rgba(24, 33, 40, .72);
	font-size: 16px;
	line-height: 1.5
}

.time-copy blockquote {
	max-width: 440px;
	margin: 28px 0 0 8%;
	padding: 16px 0 0 20px;
	border-left: 2px solid var(--lime);
	color: var(--navy);
	font-size: 16px;
	line-height: 1.4
}

.time-photo {
	grid-column: 1;
	grid-row: 1 / span 2;
	position: relative;
	width: 100%;
	margin: 0;
	align-self: center;
	overflow: hidden;
	background: var(--navy)
}

.time-photo img {
	width: 100%;
	height: 320px;
	object-fit: cover;
	filter: saturate(.82)
}

.time-photo::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(11, 31, 51, .2), transparent 60%)
}

.time-photo span,
.portrait-card>span,
.community-photo__tag {
	position: absolute;
	bottom: 15px;
	left: 15px;
	padding: 8px 10px;
	background: var(--lime);
	color: var(--navy);
	font: 8px "Space Mono", monospace;
	letter-spacing: .08em
}

.benefits-section {
	position: relative;
	padding: 88px 0 98px
}

.benefits-heading {
	margin-left: 20%;
	max-width: 780px
}

.kicker {
	margin: 0;
	color: var(--blue);
	font: 700 10px "Space Mono", monospace;
	letter-spacing: .1em;
	text-transform: uppercase
}

.benefits-section .kicker {
	color: var(--lime)
}

.benefits-heading h2 {
	margin: 18px 0 20px;
	color: var(--white);
	font-size: clamp(3.2rem, 4.9vw, 5.6rem)
}

.benefits-heading h2 em {
	color: var(--lime)
}

.benefits-heading>p:last-child {
	max-width: 480px;
	margin: 0;
	color: rgba(255, 255, 255, .7);
	font-size: 16px;
	line-height: 1.5
}

.benefit-list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1px;
	margin: 58px 0 0 20%;
	border-top: 1px solid var(--line-dark)
}

.benefit-list article {
	position: relative;
	min-height: 238px;
	padding: 20px 20px 22px 0;
	border-bottom: 1px solid var(--line-dark)
}

.benefit-list article+article {
	padding-left: 20px;
	border-left: 1px solid var(--line-dark)
}

.benefit-list article>span {
	color: var(--lime);
	font: 10px "Space Mono", monospace
}

.benefit-list h3 {
	max-width: 210px;
	margin: 34px 0 12px;
	color: var(--white);
	font: 800 21px/1.05 "Manrope", sans-serif;
	letter-spacing: -.05em
}

.benefit-list p {
	max-width: 235px;
	margin: 0;
	color: rgba(255, 255, 255, .62);
	font-size: 13px;
	line-height: 1.5
}

.benefit-list i {
	position: absolute;
	right: 18px;
	bottom: 20px;
	display: grid;
	place-items: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--lime);
	color: var(--navy);
	font-style: normal
}

.platform-section {
	padding: 148px 0 160px
}

.platform-heading {
	grid-column: 2;
	max-width: 850px
}

.platform-heading h2 {
	color: var(--navy)
}

.platform-heading h2 em {
	color: var(--blue)
}

.platform-heading>p {
	max-width: 420px;
	margin: 0;
	color: rgba(24, 33, 40, .68);
	font-size: 17px;
	line-height: 1.55
}

.platform-visual {
	grid-column: 2;
	position: relative;
	margin-top: 80px;
	padding: 70px 9% 90px;
	background: var(--navy);
	overflow: hidden
}

.platform-visual::before {
	content: "";
	position: absolute;
	inset: 13% 12%;
	border: 1px solid rgba(184, 230, 46, .32);
	border-radius: 50%;
	transform: skewX(-18deg)
}

.platform-ui {
	position: relative;
	z-index: 1;
	width: 78%;
	padding: 22px 26px 28px;
	background: var(--white);
	color: var(--navy);
	box-shadow: 18px 18px 0 rgba(37, 99, 235, .72);
	transform: rotate(-1deg)
}

.platform-ui__top {
	display: flex;
	align-items: center;
	gap: 16px;
	padding-bottom: 17px;
	border-bottom: 1px solid rgba(11, 31, 51, .12);
	color: #66717a;
	font-size: 8px
}

.platform-ui__top img {
	width: 23px;
	height: 23px
}

.platform-ui__top b {
	display: grid;
	place-items: center;
	width: 26px;
	height: 26px;
	margin-left: auto;
	border-radius: 50%;
	background: var(--lime);
	font-size: 8px
}

.platform-ui h3 {
	margin: 20px 0 18px;
	font: 800 24px "Manrope", sans-serif;
	letter-spacing: -.05em
}

.ui-kpis {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px
}

.ui-kpis>div,
.ui-tasks {
	padding: 17px;
	border: 1px solid rgba(11, 31, 51, .12)
}

.ui-kpis small,
.ui-tasks>span {
	display: block;
	color: #69747c;
	font: 8px "Space Mono", monospace;
	letter-spacing: .08em;
	text-transform: uppercase
}

.ui-kpis strong {
	display: block;
	margin-top: 11px;
	font: 700 14px "Manrope", sans-serif
}

.ui-tasks {
	display: grid;
	gap: 14px;
	margin-top: 10px
}

.ui-tasks b {
	display: flex;
	justify-content: space-between;
	font-size: 13px
}

.ui-tasks i {
	color: var(--blue);
	font-size: 11px;
	font-style: normal;
	font-weight: 400
}

.platform-note {
	position: absolute;
	right: 7%;
	bottom: 17%;
	z-index: 2;
	padding: 18px;
	background: var(--lime);
	color: var(--navy);
	font: 9px "Space Mono", monospace;
	line-height: 1.4
}

.platform-note strong {
	display: block;
	margin-top: 9px;
	font: 800 19px/1 "Manrope", sans-serif;
	letter-spacing: -.06em
}

.platform-side {
	grid-column: 2;
	display: flex;
	justify-content: space-between;
	margin-top: 30px;
	color: var(--blue);
	font: 9px "Space Mono", monospace;
	letter-spacing: .09em
}

.transparency-section {
	padding: 148px 0 160px
}

.transparency-copy {
	grid-column: 2;
	max-width: 700px
}

.transparency-copy h2 {
	color: var(--navy)
}

.transparency-copy h2 em {
	color: var(--blue)
}

.transparency-copy>p:not(.kicker) {
	max-width: 570px;
	margin: 0;
	color: rgba(24, 33, 40, .72);
	font-size: 18px;
	line-height: 1.55
}

.check-list {
	display: grid;
	gap: 15px;
	margin: 35px 0 34px;
	color: var(--navy);
	font-size: 15px
}

.check-list span {
	display: flex;
	align-items: center;
	gap: 12px
}

.check-list svg {
	color: var(--blue)
}

.portrait-card {
	grid-column: 2;
	position: relative;
	width: 72%;
	margin: 80px 0 0 28%;
	overflow: hidden;
	background: var(--navy)
}

.portrait-card img {
	width: 100%;
	height: 510px;
	object-fit: cover;
	object-position: center 30%;
	filter: saturate(.82)
}

.community-section {
	padding: 105px 0 125px
}

.community-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 9%;
	align-items: center
}

.community-photo {
	position: relative;
	min-height: 490px;
	overflow: hidden
}

.community-photo img {
	width: 100%;
	height: 490px;
	object-fit: cover;
	filter: saturate(.8)
}

.community-photo::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(0deg, rgba(11, 31, 51, .53), transparent 60%)
}

.community-photo__tag {
	z-index: 1
}

.community-copy {
	max-width: 560px
}

.community-copy h2 {
	color: var(--white);
	font-size: clamp(3.2rem, 5vw, 5.7rem)
}

.community-copy h2 em {
	color: var(--lime)
}

.community-copy>p:last-child {
	max-width: 380px;
	color: rgba(255, 255, 255, .72);
	font-size: 17px;
	line-height: 1.55
}

.closing-section {
	padding: 125px 0 145px
}

.closing-grid {
	display: grid;
	grid-template-columns: 20% 1fr 27%;
	gap: 7%;
	position: relative
}

.closing-mark {
	display: flex;
	flex-direction: column;
	gap: 18px;
	color: var(--navy);
	font: 9px "Space Mono", monospace;
	letter-spacing: .08em
}

.closing-mark__symbol {
	display: block;
	width: 38px;
	height: 38px;
	flex: 0 0 38px;
	aspect-ratio: 1 / 1
}

.closing-mark__symbol .brand-logo {
	display: block;
	width: 38px;
	height: 38px;
	max-width: 38px;
	object-fit: contain;
	object-position: center;
	flex: 0 0 38px
}

.closing-copy {
	max-width: 760px
}

.kicker--dark {
	color: var(--navy)
}

.closing-copy h2 {
	color: var(--navy)
}

.closing-copy h2 em {
	color: var(--blue)
}

.closing-copy>p:not(.kicker) {
	max-width: 440px;
	color: rgba(11, 31, 51, .75);
	font-size: 18px;
	line-height: 1.55
}

.closing-orbit {
	position: relative;
	align-self: center;
	width: 235px;
	height: 235px;
	border: 1px solid rgba(11, 31, 51, .28);
	border-radius: 50%;
	transform: skewX(-15deg)
}

.closing-orbit span {
	position: absolute;
	border: 1px solid rgba(11, 31, 51, .25);
	border-radius: 50%
}

.closing-orbit span:nth-child(1) {
	inset: 26px
}

.closing-orbit span:nth-child(2) {
	inset: 60px
}

.closing-orbit span:nth-child(3) {
	top: 30px;
	right: 45px;
	width: 9px;
	height: 9px;
	background: var(--navy);
	border: 0
}

.site-footer {
	padding: 55px 0 28px
}

.footer-grid {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 8%;
	padding-bottom: 55px;
	border-bottom: 1px solid var(--line-dark)
}

.footer-grid .brand-logo,
.footer-grid .footer-logo-lockup {
	width: 170px
}

.footer-grid p {
	max-width: 210px;
	margin: 19px 0 0;
	color: rgba(255, 255, 255, .62);
	font-size: 13px;
	line-height: 1.5
}

.footer-nav {
	display: grid;
	gap: 12px;
	align-content: start
}

.footer-nav>span,
.footer-note>span {
	color: var(--lime);
	font-size: 9px
}

.footer-nav a {
	color: rgba(255, 255, 255, .75);
	font-size: 13px
}

.footer-nav a:hover {
	color: var(--lime)
}

.footer-nav__external {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	width: max-content
}

.whatsapp-float {
	position: fixed;
	right: clamp(18px, 3vw, 34px);
	bottom: max(22px, env(safe-area-inset-bottom));
	z-index: 30;
	display: grid;
	place-items: center;
	width: 56px;
	height: 56px;
	border: 2px solid var(--navy);
	border-radius: 50%;
	background: var(--lime);
	color: var(--navy);
	box-shadow: 6px 6px 0 var(--navy);
	transition: transform .18s var(--ease-out), box-shadow .18s ease, background .18s ease;
	animation: whatsapp-pulse 3.6s ease-out infinite
}

.whatsapp-float::after {
	content: "";
	position: absolute;
	inset: -5px;
	border: 2px solid var(--lime);
	border-radius: inherit;
	opacity: 0;
	pointer-events: none;
	animation: whatsapp-ring 3.6s ease-out infinite
}

.whatsapp-float svg {
	position: relative;
	z-index: 1
}

.whatsapp-float:hover,
.whatsapp-float:focus-visible {
	background: var(--white);
	box-shadow: 4px 4px 0 var(--navy);
	transform: translateY(-3px);
	animation-play-state: paused
}

.whatsapp-float:hover::after,
.whatsapp-float:focus-visible::after {
	animation-play-state: paused;
	opacity: 1
}

.whatsapp-float:active {
	transform: scale(.97)
}

.whatsapp-float span {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0
}

@keyframes whatsapp-pulse {

	0%,
	70%,
	100% {
		box-shadow: 6px 6px 0 var(--navy), 0 0 0 0 rgba(184, 230, 46, 0)
	}

	78% {
		box-shadow: 6px 6px 0 var(--navy), 0 0 0 7px rgba(184, 230, 46, .2)
	}
}

@keyframes whatsapp-ring {

	0%,
	70%,
	100% {
		transform: scale(.86);
		opacity: 0
	}

	78% {
		transform: scale(1.12);
		opacity: .7
	}

	90% {
		transform: scale(1.3);
		opacity: 0
	}
}

.footer-note {
	justify-self: end
}

.footer-bottom {
	display: flex;
	justify-content: space-between;
	padding-top: 22px;
	color: rgba(255, 255, 255, .5);
	font: 9px "Space Mono", monospace;
	letter-spacing: .04em
}

.footer-bottom a:hover {
	color: var(--lime)
}

.reveal {
	opacity: 0;
	transform: translateY(20px);
	transition: opacity .65s var(--ease-out), transform .65s var(--ease-out)
}

.reveal.is-visible {
	opacity: 1;
	transform: none
}

@media(min-width:901px) {
	.hero-grid {
		grid-template-columns: minmax(0, 1.08fr) minmax(410px, .92fr);
		min-height: 500px
	}

	.hero-copy {
		padding: 42px clamp(0px, 5vw, 88px) 34px 0
	}

	.hero-copy h1 {
		font-size: clamp(3.5rem, 5vw, 5.7rem);
		line-height: .94
	}

	.hero-visual {
		min-height: 500px;
		max-height: 500px;
		max-width: 680px;
		justify-self: end
	}

	.hero-visual>img {
		min-height: 500px;
		height: 500px
	}

	.hero-meta {
		padding-top: 36px
	}
}

@media(max-width:900px) {
	.page-frame {
		width: min(100% - 32px, 680px)
	}

	.site-header {
		height: 72px;
		padding: 0 16px
	}

	.header-brand,
	.brand-logo {
		width: 148px
	}

	.desktop-nav,
	.header-cta {
		display: none
	}

	.menu-toggle {
		display: flex;
		margin-left: auto;
		width: 42px;
		height: 42px;
		align-items: center;
		justify-content: center;
		background: transparent;
		color: var(--navy)
	}

	.mobile-nav {
		position: absolute;
		top: 72px;
		right: 16px;
		left: 16px;
		display: none;
		padding: 18px;
		background: var(--navy);
		color: var(--white);
		box-shadow: 10px 10px 0 var(--lime)
	}

	.mobile-nav--open {
		display: block
	}

	.mobile-nav__top {
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding-bottom: 20px;
		border-bottom: 1px solid var(--line-dark);
		color: var(--lime);
		font: 9px "Space Mono", monospace
	}

	.mobile-nav__top .brand-logo {
		width: 36px
	}

	.mobile-nav>a {
		display: flex;
		align-items: center;
		gap: 15px;
		padding: 17px 0;
		border-bottom: 1px solid var(--line-dark);
		font: 700 20px "Manrope", sans-serif
	}

	.mobile-nav>a span {
		color: var(--lime);
		font: 9px "Space Mono", monospace
	}

	.mobile-nav>a svg {
		margin-left: auto
	}

	.mobile-nav__action {
		color: var(--lime)
	}

	.hero-section {
		padding-top: 72px
	}

	.hero-grid {
		display: block;
		min-height: auto
	}

	.hero-copy {
		padding: 78px 0 54px
	}

	.hero-copy h1 {
		font-size: clamp(3.2rem, 12vw, 5.4rem)
	}

	.hero-intro {
		font-size: 16px
	}

	.hero-actions {
		align-items: flex-start;
		flex-direction: column;
		gap: 15px
	}

	.hero-meta {
		padding-top: 58px
	}

	.hero-visual {
		min-height: 480px
	}

	.hero-visual>img {
		min-height: 480px
	}

	.hero-stamp {
		right: 5%;
		bottom: 10%;
		transform: scale(.82);
		transform-origin: right bottom
	}

	.proof-strip {
		display: grid;
		gap: 12px;
		padding: 24px 0;
		font-size: 9px
	}

	.split-section {
		display: block
	}

	.section-label {
		margin-bottom: 46px
	}

	.time-section,
	.platform-section,
	.transparency-section {
		padding: 90px 0 100px
	}

	.time-section {
		padding: 66px 0 76px
	}

	.time-copy h2,
	.platform-heading h2,
	.transparency-copy h2 {
		font-size: clamp(3.1rem, 11vw, 5rem)
	}

	.time-section .time-copy h2 {
		font-size: clamp(2.9rem, 9vw, 4.5rem);
		margin: 12px 0 18px
	}

	.time-copy>p,
	.transparency-copy>p:not(.kicker) {
		font-size: 16px
	}

	.time-copy blockquote {
		margin-left: 7%;
		font-size: 16px
	}

	.time-section .time-copy blockquote {
		margin-top: 25px
	}

	.time-photo,
	.portrait-card {
		width: 100%;
		margin: 60px 0 0
	}

	.time-section .time-photo {
		margin-top: 40px
	}

	.time-photo img {
		height: 330px
	}

	.benefits-section {
		padding: 90px 0 100px
	}

	.benefits-section {
		padding: 66px 0 78px
	}

	.benefits-heading {
		margin-left: 0
	}

	.benefits-heading h2 {
		font-size: clamp(3.2rem, 11vw, 5rem)
	}

	.benefit-list {
		display: block;
		margin: 65px 0 0
	}

	.benefits-section .benefit-list {
		margin-top: 46px
	}

	.benefit-list article,
	.benefit-list article+article {
		min-height: 210px;
		padding: 22px 0;
		border-left: 0
	}

	.benefit-list h3 {
		margin: 31px 0 11px
	}

	.platform-visual {
		margin-top: 55px;
		padding: 35px 20px 80px
	}

	.platform-ui {
		width: 100%;
		padding: 16px;
		box-shadow: 10px 10px 0 rgba(37, 99, 235, .72)
	}

	.platform-ui h3 {
		font-size: 19px
	}

	.platform-note {
		right: 5%;
		bottom: 7%;
		transform: scale(.82);
		transform-origin: right bottom
	}

	.platform-side {
		display: grid;
		gap: 10px
	}

	.portrait-card img {
		height: 420px
	}

	.community-section {
		padding: 70px 0 85px
	}

	.community-grid {
		display: flex;
		flex-direction: column;
		gap: 45px;
		align-items: stretch
	}

	.community-photo,
	.community-photo img {
		min-height: 360px;
		height: 360px
	}

	.community-copy h2 {
		font-size: clamp(3rem, 10vw, 5rem)
	}

	.closing-section {
		padding: 90px 0 100px
	}

	.closing-grid {
		display: block
	}

	.closing-mark {
		margin-bottom: 65px
	}

	.closing-copy h2 {
		font-size: clamp(3.2rem, 11vw, 5rem)
	}

	.closing-orbit {
		display: none
	}

	.footer-grid {
		grid-template-columns: 1fr 1fr;
		gap: 40px
	}

	.footer-note {
		grid-column: 1/-1;
		justify-self: start
	}

	.footer-bottom {
		display: grid;
		gap: 12px
	}
}

@media(max-width:520px) {
	.hero-actions .button {
		width: 100%
	}

	.ui-kpis {
		grid-template-columns: 1fr
	}

	.platform-visual {
		padding-inline: 12px
	}

	.platform-note {
		bottom: 5%;
		right: 2%
	}

	.footer-grid {
		grid-template-columns: 1fr
	}

	.footer-nav {
		grid-row: 2
	}

	.footer-note {
		grid-row: 3
	}
}

@media(prefers-reduced-motion:reduce) {
	html {
		scroll-behavior: auto
	}

	.reveal {
		opacity: 1;
		transform: none;
		transition: none
	}

	.button,
	.text-link {
		transition: none
	}

	.whatsapp-float,
	.whatsapp-float::after {
		animation: none
	}
}

/* Refinamento autorizado: somente hero, Card 01 e Card 02. Conteúdo textual e seções posteriores permanecem intactos. */
@media(min-width:901px) {
	.hero-grid {
		min-height: 500px
	}

	.hero-copy {
		padding: 28px clamp(0px, 5vw, 88px) 24px 0
	}

	.hero-copy h1 {
		margin: 14px 0 18px;
		font-size: clamp(3rem, 3.9vw, 5rem);
		line-height: .94
	}

	.hero-intro {
		font-size: 16px;
		line-height: 1.4
	}

	.hero-actions {
		margin-top: 22px
	}

	.hero-visual,
	.hero-visual>img {
		min-height: 500px;
		height: 500px
	}

	.hero-meta {
		padding-top: 20px
	}

	.time-section {
		padding: 66px 0 80px
	}

	.time-section .split-section {
		grid-template-columns: minmax(280px, 38%) 1fr;
		column-gap: 7%;
		align-items: center
	}

	.time-section .section-label {
		grid-column: 2;
		grid-row: 1;
		margin-bottom: 10px
	}

	.time-copy {
		grid-column: 2;
		grid-row: 2;
		max-width: 760px
	}

	.time-copy h2 {
		max-width: 760px;
		margin: 10px 0 16px;
		font-size: clamp(3.1rem, 4.8vw, 5.5rem)
	}

	.time-copy blockquote {
		margin-top: 22px
	}

	.time-photo {
		grid-column: 1;
		grid-row: 1 / span 2;
		width: 100%;
		margin: 0;
		align-self: center
	}

	.time-photo img {
		height: 320px
	}

	.benefits-section {
		padding: 64px 0 74px
	}

	.benefits-heading {
		margin-left: 20%
	}

	.benefits-heading h2 {
		margin: 14px 0 16px;
		font-size: clamp(3.2rem, 4.9vw, 5.6rem)
	}

	.benefits-heading>p:last-child {
		font-size: 16px;
		line-height: 1.5
	}

	.benefit-list {
		margin: 38px 0 0 20%
	}

	.benefit-list article {
		min-height: 220px;
		padding: 18px 18px 20px 0
	}

	.benefit-list article+article {
		padding-left: 18px
	}

	.benefit-list h3 {
		margin: 28px 0 10px;
		font-size: 20px;
		line-height: 1.05
	}

	.benefit-list p {
		font-size: 13px;
		line-height: 1.45
	}
}

/* Refinamento autorizado: somente Card 3 — plataforma e Card 4 — transparência. */
@media(min-width:901px) {
	.platform-section {
		padding: 92px 0 106px
	}

	.platform-heading h2 {
		margin: 14px 0 18px;
		font-size: clamp(3rem, 4.3vw, 5rem)
	}

	.platform-heading>p {
		font-size: 16px;
		line-height: 1.5
	}

	.platform-visual {
		margin-top: 48px;
		padding: 52px 7% 68px
	}

	.platform-side {
		margin-top: 20px
	}

	.transparency-section {
		padding: 94px 0 108px
	}

	.transparency-copy h2 {
		margin: 14px 0 18px;
		font-size: clamp(3rem, 4.3vw, 5rem)
	}

	.transparency-copy>p:not(.kicker) {
		font-size: 16px;
		line-height: 1.5
	}

	.check-list {
		gap: 11px;
		margin: 25px 0 24px
	}

	.portrait-card {
		width: 80%;
		margin: 50px 0 0 20%
	}

	.portrait-card img {
		height: 400px
	}
}

@media(max-width:900px) {

	.platform-section,
	.transparency-section {
		padding: 70px 0 82px
	}

	.platform-heading h2,
	.transparency-copy h2 {
		font-size: clamp(2.8rem, 9vw, 4.4rem)
	}

	.platform-visual {
		margin-top: 42px;
		padding: 30px 16px 68px
	}

	.platform-side {
		margin-top: 18px
	}

	.check-list {
		gap: 11px;
		margin: 25px 0 24px
	}

	.portrait-card {
		margin-top: 42px
	}
}

/* Ajuste pontual autorizado: Card 4 com hierarquia superior e imagem lateral. */
@media(min-width:901px) {
	.transparency-section {
		padding: 72px 0 90px
	}

	.split-section--transparency {
		grid-template-columns: minmax(0, 1fr) minmax(320px, .78fr);
		column-gap: 7%;
		align-items: center
	}

	.split-section--transparency>.section-label {
		grid-column: 1 / -1;
		grid-row: 1;
		margin-bottom: 12px
	}

	.split-section--transparency>.transparency-copy {
		grid-column: 1;
		grid-row: 2;
		max-width: 640px
	}

	.split-section--transparency>.portrait-card {
		grid-column: 2;
		grid-row: 2;
		width: 100%;
		margin: 0;
		align-self: center
	}

	.split-section--transparency>.portrait-card img {
		height: 380px
	}
}

@media(max-width:900px) {
	.transparency-section {
		padding: 62px 0 76px
	}

	.split-section--transparency>.section-label {
		margin-bottom: 24px
	}

	.split-section--transparency>.portrait-card {
		margin-top: 36px
	}
}

/* Standalone compatibility: accessible text and icon marks. */
.icon {
	display: inline-block;
	font-family: Arial, sans-serif;
	font-size: 1.15em;
	line-height: 1;
	font-weight: 400
}

.icon--small {
	font-size: 1.25em
}

.social-icon {
	display: inline-grid;
	place-items: center;
	width: 15px;
	height: 15px;
	border: 1.5px solid currentColor;
	border-radius: 4px;
	font: 700 12px/1 Arial, sans-serif
}

.check {
	display: inline-block;
	color: var(--blue);
	font-weight: 700
}

.menu-glyph {
	font: 24px/1 Arial, sans-serif
}

.whatsapp-mark {
	display: grid;
	place-items: center;
	width: 27px;
	height: 27px;
	border: 2px solid currentColor;
	border-radius: 50%;
	font: 700 18px/1 Arial, sans-serif;
	transform: rotate(-35deg)
}