/* ============================================================
   Apex Drones — estilos principais do tema
   Medidas e cores extraídas do layout original (1440px):
   gradiente: #8A8B8C 0% → #000030 41% → #0E0E27 60% → #535458 100%
   primário #3A3D93 · destaque #6369FF · lavanda #E0E5F5 / #D2D2E7
   ============================================================ */

:root {
	--bg-dark: #000030;
	--navy-core: #0E0E27;
	--ink-title: #1B1B45;
	--text-dark: #3C3C60;
	--primary: #3A3D93;
	--primary-hover: #4A4DB2;
	--accent: #6369FF;
	--peri: #8286F2;
	--lav-about: #E0E5F5;
	--lav-sol: #D2D2E7;
	--teal: #43C6B8;
	--card-slate: #63648D;
	--card-dark: #3D3F70;
	--white: #FFFFFF;
	--radius-btn: 8px;
	--radius-md: 16px;
	--radius-lg: 24px;
	--grad-hero: linear-gradient(100deg, #8A8B8C 0%, #000030 41%, #0E0E27 60%, #535458 100%);
	--shadow-lg: 0 30px 60px -25px rgba(4, 4, 30, 0.55);
	--container: 1180px;
	--header-h: 96px;
	--font: 'Poppins', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
}

/* ---------- Reset básico ---------- */

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
	scroll-padding-top: calc(var(--header-h) - 12px);
	-webkit-text-size-adjust: 100%;
}

body {
	margin: 0;
	font-family: var(--font);
	font-size: 16px;
	line-height: 1.6;
	color: var(--ink-title);
	background: var(--white);
	-webkit-font-smoothing: antialiased;
}

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

h1, h2, h3, h4, p, ul, figure {
	margin: 0;
}

ul {
	padding: 0;
	list-style: none;
}

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

button {
	font-family: inherit;
	cursor: pointer;
}

.container {
	width: min(var(--container), calc(100% - 48px));
	margin-inline: auto;
}

.section {
	position: relative;
	padding: 96px 0;
}

/* Texto acessível apenas para leitores de tela (padrão WP) */
.screen-reader-text {
	border: 0;
	clip-path: inset(50%);
	height: 1px;
	width: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	word-wrap: normal !important;
}

.skip-link {
	position: absolute;
	left: 12px;
	top: -100px;
	z-index: 200;
	background: var(--primary);
	color: #fff;
	padding: 10px 18px;
	border-radius: 8px;
	transition: top 0.2s ease;
}

.skip-link:focus {
	top: 12px;
	clip-path: none;
	height: auto;
	width: auto;
}

.icon-invert {
	filter: brightness(0) invert(1);
	opacity: 0.95;
}

/* ---------- Títulos e botões ---------- */

.section-title {
	font-size: clamp(27px, 2.4vw, 34px);
	font-weight: 700;
	line-height: 1.3;
	color: var(--ink-title);
	letter-spacing: 0;
}

.section-title--light {
	color: var(--white);
}

.section-title--center {
	text-align: center;
}

/* Barra índigo sob os títulos (traço do layout) */
.title-bar {
	display: block;
	width: 250px;
	max-width: 60%;
	height: 4px;
	border-radius: 2px;
	background: var(--primary);
	margin-top: 22px;
}

.title-bar--center {
	margin-inline: auto;
}

.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	padding: 17px 36px;
	border: 0;
	border-radius: var(--radius-btn);
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	line-height: 1;
	transition: transform 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.btn-primary {
	background: var(--primary);
	color: var(--white);
	box-shadow: 0 14px 30px -14px rgba(58, 61, 147, 0.7);
}

.btn-primary:hover,
.btn-primary:focus-visible {
	background: var(--primary-hover);
	transform: translateY(-2px);
	box-shadow: 0 18px 34px -14px rgba(58, 61, 147, 0.85);
}

.btn-ghost {
	background: transparent;
	color: var(--peri);
	border: 1px solid rgba(130, 134, 242, 0.65);
}

.btn-ghost:hover,
.btn-ghost:focus-visible {
	color: var(--white);
	border-color: var(--peri);
	background: rgba(130, 134, 242, 0.12);
	transform: translateY(-2px);
}

.btn-icon .btn-icon-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	margin: -6px 0 -6px -6px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.14);
	border: 1px solid rgba(255, 255, 255, 0.4);
}

.btn-icon .btn-icon-badge img {
	width: 15px;
	height: 15px;
}

/* ---------- Cabeçalho ---------- */

.site-header {
	position: fixed;
	inset: 0 0 auto 0;
	z-index: 100;
	padding: 22px 0;
	transition: background-color 0.25s ease, padding 0.25s ease, box-shadow 0.25s ease;
}

.site-header.is-scrolled {
	background: rgba(0, 0, 40, 0.92);
	backdrop-filter: blur(10px);
	padding: 12px 0;
	box-shadow: 0 10px 30px -18px rgba(0, 0, 0, 0.8);
}

.header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}

.brand img {
	width: 215px;
	height: auto;
}

.nav-list {
	display: flex;
	align-items: center;
	gap: 6px;
}

.nav-list li {
	display: flex;
	align-items: center;
}

.nav-list li + li::before {
	content: "|";
	color: rgba(255, 255, 255, 0.45);
	font-size: 13px;
	margin: 0 13px;
}

.nav-list a {
	color: rgba(255, 255, 255, 0.92);
	font-size: 16px;
	font-weight: 400;
	text-transform: lowercase;
	letter-spacing: 0.01em;
	padding: 6px 2px;
	transition: color 0.2s ease;
}

.nav-list a:hover,
.nav-list a:focus-visible {
	color: var(--white);
}

.nav-toggle {
	display: none;
	flex-direction: column;
	justify-content: center;
	gap: 5px;
	width: 44px;
	height: 44px;
	padding: 10px;
	background: transparent;
	border: 1px solid rgba(255, 255, 255, 0.3);
	border-radius: 10px;
}

.nav-toggle-bar {
	display: block;
	height: 2px;
	width: 100%;
	background: var(--white);
	border-radius: 2px;
	transition: transform 0.25s ease, opacity 0.25s ease;
}

.nav-toggle.is-active .nav-toggle-bar:nth-child(2) {
	transform: translateY(7px) rotate(45deg);
}

.nav-toggle.is-active .nav-toggle-bar:nth-child(3) {
	opacity: 0;
}

.nav-toggle.is-active .nav-toggle-bar:nth-child(4) {
	transform: translateY(-7px) rotate(-45deg);
}

/* ---------- Hero ---------- */

.hero {
	position: relative;
	color: var(--white);
	background: var(--grad-hero);
	padding: calc(var(--header-h) + 62px) 0 64px;
	overflow: hidden;
}

.hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background: url('../imgs/bgalpha_apexdrones.webp') center / cover no-repeat;
	opacity: 0.22;
	mix-blend-mode: luminosity;
	pointer-events: none;
}

.hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(120% 90% at 50% 12%, transparent 50%, rgba(0, 0, 24, 0.5) 100%);
	pointer-events: none;
}

.hero .container {
	position: relative;
	z-index: 1;
}

.hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 530px;
	align-items: center;
	gap: 44px;
}

.hero-title {
	font-size: clamp(33px, 3.2vw, 46px);
	font-weight: 700;
	line-height: 1.24;
	letter-spacing: 0;
	max-width: 15ch;
}

.hero-sub {
	margin-top: 26px;
	font-size: clamp(21px, 2vw, 28px);
	font-weight: 600;
	line-height: 1.35;
	color: var(--white);
	max-width: 33ch;
}

.hero-text {
	margin-top: 20px;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.5;
	color: rgba(255, 255, 255, 0.95);
	max-width: 545px;
}

.hero-text strong {
	font-weight: 700;
}

.hero-checks {
	margin-top: 32px;
	display: grid;
	gap: 16px;
}

.hero-checks li {
	display: flex;
	align-items: center;
	gap: 15px;
	font-size: 19px;
	font-weight: 600;
}

.hero-checks img {
	width: 30px;
	height: 30px;
}

.hero-copy .btn {
	margin-top: 38px;
}

.hero-media {
	position: relative;
	justify-self: end;
	width: 100%;
	max-width: 530px;
}

.hero-photo {
	width: 100%;
	filter: drop-shadow(0 40px 60px rgba(0, 0, 10, 0.4));
}

.hero-drone {
	position: absolute;
	top: -7%;
	left: -27%;
	width: 97%;
	max-width: none;
	z-index: 2;
	filter: drop-shadow(0 30px 34px rgba(0, 0, 10, 0.55));
	animation: apx-float 5.5s ease-in-out infinite;
}

@keyframes apx-float {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-12px); }
}

/* ---------- Sobre nós ---------- */

.about {
	background: var(--lav-about);
}

.about-grid {
	display: grid;
	grid-template-columns: 0.94fr 1.06fr;
	gap: 0;
	align-items: start;
}

.about-media {
	padding-right: 56px;
}

.about-media .section-title {
	max-width: 17ch;
}

.about-media img {
	margin-top: 34px;
	border-radius: var(--radius-lg);
	width: 100%;
	max-width: 480px;
}

.about-copy {
	border-left: 1px solid rgba(27, 27, 80, 0.15);
	padding-left: 56px;
	padding-top: 8px;
	font-size: 20px;
	line-height: 1.5;
	color: var(--text-dark);
}

.about-lead {
	font-weight: 700;
	color: var(--ink-title);
}

.about-copy p + p {
	margin-top: 28px;
}

.about-copy .btn {
	margin-top: 36px;
}

/* ---------- Diferenciais (mesmo gradiente do hero) ---------- */

.why {
	background: var(--grad-hero);
	color: var(--white);
	overflow: hidden;
}

.why::before {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(110% 100% at 50% 40%, rgba(6, 6, 30, 0.35) 30%, rgba(0, 0, 20, 0.55) 100%);
	pointer-events: none;
}

.why .container {
	position: relative;
	z-index: 1;
}

.why-grid {
	margin-top: 64px;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 52px 64px;
}

.why-item {
	display: grid;
	grid-template-columns: 38px 1fr;
	gap: 8px 12px;
	color: var(--white);
}

.why-icon {
	grid-row: 1 / span 2;
	display: inline-flex;
	align-items: flex-start;
	justify-content: center;
	padding-top: 4px;
}

.why-icon img {
	width: 26px;
	height: 26px;
}

.why-item h3 {
	font-size: 20px;
	font-weight: 700;
	line-height: 1.3;
	align-self: center;
}

.why-item p {
	grid-column: 2;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
	color: rgba(255, 255, 255, 0.87);
	max-width: 17em;
}

.why-cta {
	margin-top: 56px;
	text-align: center;
}

/* Vídeo — retângulo pleno, sem moldura (como no layout) */
.video-card {
	position: relative;
	margin-top: 72px;
	display: block;
	width: 100%;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
	font: inherit;
	color: inherit;
	text-align: left;
}

.video-card > img {
	width: 100%;
	height: clamp(340px, 39vw, 560px);
	object-fit: cover;
	object-position: center 62%;
}

.video-play {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 2;
	width: 128px;
	height: 128px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	border: 2px solid rgba(255, 255, 255, 0.9);
	background: transparent;
	color: var(--white);
	transition: transform 0.2s ease, background-color 0.2s ease;
}

.video-card:hover .video-play,
.video-card:focus-visible .video-play {
	transform: translate(-50%, -50%) scale(1.06);
	background: rgba(20, 20, 60, 0.35);
}

.video-play-icon {
	display: inline-flex;
	margin-left: 8px;
}

.video-play-icon svg {
	width: 46px;
	height: 46px;
}

/* ---------- Soluções ---------- */

.solutions {
	background: var(--lav-sol);
	overflow: hidden;
}

.solutions-grid {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: 300px 1fr;
	gap: 64px;
	align-items: center;
}

.solutions-copy .section-title {
	max-width: 14ch;
}

.solutions-copy p {
	margin-top: 30px;
	font-size: 20px;
	font-weight: 600;
	line-height: 1.45;
	color: var(--ink-title);
	max-width: 15em;
}

.solutions-copy .btn {
	margin-top: 34px;
}

.solutions-cards {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	max-width: 700px;
	justify-self: end;
	width: 100%;
}

.sol-card {
	position: relative;
	aspect-ratio: 1 / 1;
	border-radius: 10px;
	display: flex;
	align-items: flex-end;
	padding: 15px;
	color: var(--white);
	font-size: 18px;
	font-weight: 600;
	line-height: 1.3;
	box-shadow: 0 18px 34px -22px rgba(10, 10, 40, 0.5);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.sol-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 26px 40px -22px rgba(10, 10, 40, 0.6);
}

.sol-card.sol-photo {
	padding: 0;
	overflow: hidden;
	border: 2px solid #5DA7CF;
}

.sol-card.sol-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.sol-slate,
.sol-slate-2 { background: var(--card-slate); }

.sol-indigo,
.sol-indigo-2 { background: var(--primary); }

.sol-muted,
.sol-dark { background: var(--card-dark); }

/* ---------- Decoração de pontos ---------- */

.deco-dots {
	position: absolute;
	width: 150px;
	height: 190px;
	background-image: radial-gradient(rgba(130, 134, 242, 0.65) 2px, transparent 2.2px);
	background-size: 21px 21px;
	pointer-events: none;
}

.deco-dots--why {
	right: 7%;
	top: 46%;
	opacity: 0.75;
}

.deco-dots--solutions {
	right: 2%;
	top: 50%;
	transform: translateY(-50%);
	background-image: radial-gradient(rgba(67, 198, 184, 0.8) 2px, transparent 2.2px);
}

/* ---------- Contato ---------- */

.contact {
	background: var(--bg-dark);
	color: var(--white);
	padding-bottom: 110px;
}

.contact-grid {
	display: grid;
	grid-template-columns: 0.92fr 1.08fr;
	gap: 84px;
	align-items: start;
}

.contact-lead {
	margin-top: 34px;
	font-size: 20px;
	font-weight: 400;
	line-height: 1.5;
	color: rgba(255, 255, 255, 0.97);
	max-width: 25em;
}

.contact-note {
	margin-top: 16px;
	font-size: 16px;
	font-weight: 300;
	color: rgba(255, 255, 255, 0.72);
}

.contact-media {
	position: relative;
	margin-top: 44px;
	max-width: 435px;
}

.contact-media img {
	border-radius: var(--radius-lg);
	width: 100%;
}

/* ---------- Formulário (plugin Apex Drones — Leads & SMTP) ---------- */

.apx-form {
	display: block;
	padding-top: 6px;
}

.apx-field {
	margin-bottom: 34px;
}

.apx-field[data-apx-conditional] {
	overflow: hidden;
	max-height: 0;
	margin-bottom: 0;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(-6px);
	transition: max-height 0.35s ease, opacity 0.3s ease, margin-bottom 0.35s ease, transform 0.35s ease, visibility 0s linear 0.35s;
}

.apx-field[data-apx-conditional].is-open {
	max-height: 200px;
	margin-bottom: 34px;
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0);
	transition: max-height 0.35s ease, opacity 0.3s ease 0.05s, margin-bottom 0.35s ease, transform 0.35s ease;
}

@media (prefers-reduced-motion: reduce) {
	.apx-field[data-apx-conditional] {
		transition: none;
	}
}

.apx-field label {
	display: block;
	font-size: 16.5px;
	font-weight: 400;
	letter-spacing: 0.01em;
	color: rgba(255, 255, 255, 0.95);
	margin-bottom: 6px;
}

.apx-field input[type="text"],
.apx-field input[type="tel"],
.apx-field input[type="email"],
.apx-field textarea {
	width: 100%;
	background: transparent;
	border: 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.6);
	border-radius: 0;
	color: var(--white);
	font-family: inherit;
	font-size: 16px;
	padding: 8px 2px 12px;
	outline: none;
	transition: border-color 0.2s ease;
}

.apx-field input:focus,
.apx-field textarea:focus {
	border-bottom-color: var(--accent);
}

.apx-field input:-webkit-autofill,
.apx-field input:-webkit-autofill:hover,
.apx-field input:-webkit-autofill:focus {
	-webkit-text-fill-color: #fff;
	-webkit-box-shadow: 0 0 0 1000px #000030 inset;
	transition: background-color 5000s ease-in-out 0s;
}

.apx-field textarea {
	resize: vertical;
	min-height: 72px;
}

.apx-field--inline {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}

.apx-field--inline label {
	margin: 0;
}

.apx-field select {
	appearance: none;
	background: transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%23FFFFFF' stroke-width='1.6' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 18px center;
	border: 1px solid rgba(255, 255, 255, 0.85);
	border-radius: 6px;
	color: var(--white);
	font-family: inherit;
	font-size: 16.5px;
	padding: 16px 46px 16px 20px;
	min-width: min(340px, 100%);
	outline: none;
	transition: border-color 0.2s ease;
}

.apx-field select:focus {
	border-color: var(--accent);
}

.apx-field select option {
	color: var(--ink-title);
	background: var(--white);
}

.apx-required {
	color: var(--peri);
}

.apx-form .btn {
	margin-top: 10px;
	min-width: 275px;
}

.apx-form .btn[disabled] {
	opacity: 0.6;
	cursor: wait;
	transform: none;
}

.apx-form-feedback {
	margin: 0 0 26px;
	padding: 13px 16px;
	border-radius: 8px;
	font-size: 15px;
	line-height: 1.5;
}

.apx-form-feedback.is-success {
	background: rgba(74, 222, 128, 0.12);
	border: 1px solid rgba(74, 222, 128, 0.45);
	color: #B9F4CD;
}

.apx-form-feedback.is-error {
	background: rgba(248, 113, 113, 0.12);
	border: 1px solid rgba(248, 113, 113, 0.5);
	color: #FECACA;
}

.apx-hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.apx-form-missing {
	padding: 26px 28px;
	border: 1px dashed rgba(255, 255, 255, 0.35);
	border-radius: var(--radius-md);
	color: rgba(255, 255, 255, 0.8);
	font-size: 15px;
}

.apx-form-missing p + p {
	margin-top: 8px;
}

.apx-form-note {
	margin: -8px 0 30px;
	font-size: 14px;
	font-weight: 300;
	color: rgba(255, 255, 255, 0.68);
}

/* Campo com erro de validação — destaque para facilitar a correção */
.apx-field--error {
	animation: apx-shake 0.3s ease;
}

.apx-field--error label {
	color: #FF9D9D;
}

.apx-field--error input[type="text"],
.apx-field--error input[type="tel"],
.apx-field--error input[type="email"],
.apx-field--error textarea {
	border-bottom-color: #FF6B6B;
}

.apx-field--error select {
	border-color: #FF6B6B;
}

@keyframes apx-shake {
	0%, 100% { transform: translateX(0); }
	25% { transform: translateX(-6px); }
	75% { transform: translateX(6px); }
}

/* ---------- Rodapé (contínuo ao contato, separado por linha) ---------- */

.site-footer {
	background: var(--bg-dark);
	color: var(--white);
}

.footer-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 56px 72px;
	border-top: 1px solid rgba(255, 255, 255, 0.16);
	padding: 60px 0 56px;
}

.footer-brand {
	display: flex;
	align-items: flex-start;
	gap: 36px;
}

.footer-brand img {
	width: 235px;
	height: auto;
	flex-shrink: 0;
}

.footer-tagline {
	max-width: 200px;
	font-size: 17px;
	font-weight: 300;
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.88);
	padding-top: 4px;
}

.footer-info {
	display: grid;
	gap: 22px;
	justify-items: start;
}

.footer-address {
	font-style: normal;
	font-size: 19px;
	font-weight: 400;
	line-height: 1.4;
	color: rgba(255, 255, 255, 0.95);
}

.footer-phone {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	font-size: 19px;
	font-weight: 400;
	color: var(--white);
	transition: color 0.2s ease;
}

.footer-phone img {
	width: 25px;
	height: 25px;
}

.footer-phone:hover,
.footer-phone:focus-visible {
	color: var(--peri);
}

.footer-social {
	display: flex;
	align-items: center;
	gap: 20px;
}

.footer-social a {
	display: inline-flex;
	color: var(--white);
	opacity: 0.95;
	transition: opacity 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.footer-social svg {
	width: 19px;
	height: 19px;
}

.footer-social a:hover,
.footer-social a:focus-visible {
	color: var(--peri);
	opacity: 1;
	transform: translateY(-2px);
}

.footer-bottom {
	border-top: 1px solid rgba(255, 255, 255, 0.16);
	padding: 22px 0 96px;
	text-align: center;
}

.footer-bottom p {
	font-size: 13px;
	font-weight: 400;
	line-height: 1.65;
	color: rgba(255, 255, 255, 0.8);
}

/* ---------- Modal de vídeo ---------- */

.video-modal {
	position: fixed;
	inset: 0;
	z-index: 300;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	background: rgba(4, 4, 20, 0.88);
	backdrop-filter: blur(6px);
}

.video-modal[hidden] {
	display: none;
}

.video-modal-dialog {
	position: relative;
	width: auto;
	max-width: min(440px, 100%);
}

.video-modal-frame {
	position: relative;
	height: min(84vh, 780px);
	max-width: 92vw;
	aspect-ratio: 9 / 16;
	background: #000;
	border-radius: 14px;
	overflow: hidden;
	box-shadow: var(--shadow-lg);
}

.video-modal-frame iframe,
.video-modal-frame video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
	object-fit: contain;
}

.video-modal-close {
	position: absolute;
	top: -46px;
	right: 0;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, 0.4);
	background: transparent;
	color: #fff;
	font-size: 20px;
	line-height: 1;
}

.video-modal-close:hover {
	background: rgba(255, 255, 255, 0.15);
}

body.modal-open,
body.nav-open {
	overflow: hidden;
}

/* ---------- Animações de entrada ---------- */

.js .reveal {
	opacity: 0;
	transform: translateY(26px);
	transition: opacity 0.7s ease, transform 0.7s ease;
}

.js .reveal.in-view {
	opacity: 1;
	transform: none;
}

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

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

	.hero-drone {
		animation: none;
	}
}

/* ---------- Páginas comuns (fallback) ---------- */

.page-plain {
	padding: calc(var(--header-h) + 60px) 0 80px;
	background: #F4F4FA;
	min-height: 60vh;
}

.page-plain .entry + .entry {
	margin-top: 32px;
}

.page-plain .entry-title {
	color: var(--ink-title);
	font-size: 30px;
	line-height: 1.25;
	margin-bottom: 16px;
}

.page-plain .entry-content {
	color: var(--text-dark);
}

/* ---------- Responsivo ---------- */

@media (max-width: 1120px) {
	.hero-grid {
		grid-template-columns: minmax(0, 1fr) minmax(300px, 440px);
	}

	.hero-drone {
		left: -14%;
		width: 84%;
	}

	.solutions-grid {
		grid-template-columns: 1fr;
		gap: 48px;
	}

	.solutions-cards {
		justify-self: start;
	}
}

@media (max-width: 1024px) {
	.why-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 44px 48px;
	}

	.contact-grid {
		gap: 56px;
	}

	.about-media {
		padding-right: 36px;
	}

	.about-copy {
		padding-left: 36px;
		font-size: 18px;
	}
}

@media (max-width: 860px) {
	.section {
		padding: 72px 0;
	}

	.nav-toggle {
		display: inline-flex;
	}

	.brand img {
		width: 175px;
	}

	.site-nav {
		position: fixed;
		top: 0;
		right: 0;
		left: 0;
		z-index: -1;
		padding: calc(var(--header-h) + 12px) 24px 28px;
		background: rgba(0, 0, 40, 0.97);
		transform: translateY(-100%);
		visibility: hidden;
		transition: transform 0.3s ease, visibility 0.3s ease;
	}

	.site-nav.is-open {
		transform: translateY(0);
		visibility: visible;
	}

	.site-header.has-open-nav,
	.site-header:has(.site-nav.is-open) {
		background: rgba(0, 0, 40, 0.97);
	}

	.nav-list {
		flex-direction: column;
		align-items: flex-start;
		gap: 4px;
	}

	.nav-list li + li::before {
		content: none;
	}

	.nav-list a {
		font-size: 17px;
		padding: 10px 0;
	}

	.hero {
		padding-top: calc(var(--header-h) + 36px);
		padding-bottom: 72px;
	}

	.hero-grid {
		grid-template-columns: 1fr;
	}

	.hero-media {
		justify-self: center;
		margin-top: 40px;
	}

	.hero-drone {
		top: calc(-9% + 50px);
		left: -4%;
		width: 78%;
	}

	.about-grid,
	.contact-grid {
		grid-template-columns: 1fr;
		gap: 44px;
	}

	.about-media {
		padding-right: 0;
	}

	.about-copy {
		border-left: 0;
		padding-left: 0;
	}

	.solutions-cards {
		grid-template-columns: repeat(2, 1fr);
		max-width: 560px;
	}

	.video-play {
		width: 92px;
		height: 92px;
	}

	.video-play-icon svg {
		width: 34px;
		height: 34px;
	}

	.footer-inner {
		flex-direction: column;
		align-items: center;
		text-align: center;
	}

	.footer-brand {
		flex-direction: column;
		align-items: center;
	}

	.footer-tagline {
		max-width: none;
	}

	.footer-info {
		justify-items: center;
	}
}

@media (max-width: 560px) {
	.container {
		width: calc(100% - 40px);
	}

	.why-grid {
		grid-template-columns: 1fr;
		gap: 34px;
	}

	.hero-checks li,
	.about-copy,
	.solutions-copy p,
	.contact-lead {
		font-size: 17px;
	}

	.footer-brand {
		flex-direction: column;
		gap: 18px;
	}

	.footer-brand img {
		width: 200px;
	}

	.apx-field--inline {
		flex-direction: column;
		align-items: flex-start;
		gap: 12px;
	}

	.apx-field select {
		width: 100%;
	}

	.apx-form .btn {
		width: 100%;
	}
}

/* ---------- Campo "Tipo de estrutura" em chips (seleção múltipla) ---------- */

.apx-label {
	display: block;
	font-size: 16.5px;
	font-weight: 400;
	color: rgba(255, 255, 255, 0.95);
	margin-bottom: 14px;
}

.apx-label small {
	font-size: 13px;
	font-weight: 300;
	color: rgba(255, 255, 255, 0.55);
}

.apx-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.apx-chip {
	position: relative;
	cursor: pointer;
}

.apx-chip input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.apx-chip span {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 11px 18px;
	border-radius: 10px;
	border: 1px solid rgba(130, 134, 242, 0.45);
	background: rgba(130, 134, 242, 0.07);
	font-size: 14.5px;
	font-weight: 500;
	color: rgba(255, 255, 255, 0.92);
	transition: border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.apx-chip span::before {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 50%;
	border: 1.5px solid rgba(130, 134, 242, 0.8);
	transition: background-color 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.apx-chip:hover span {
	border-color: rgba(130, 134, 242, 0.9);
	transform: translateY(-2px);
}

.apx-chip input:focus-visible + span {
	outline: 2px solid var(--accent);
	outline-offset: 2px;
}

.apx-chip input:checked + span {
	background: linear-gradient(135deg, rgba(58, 61, 147, 0.95), rgba(99, 105, 255, 0.75));
	border-color: var(--accent);
	box-shadow: 0 10px 24px -12px rgba(99, 105, 255, 0.9);
}

.apx-chip input:checked + span::before {
	background: var(--teal);
	border-color: var(--teal);
	box-shadow: 0 0 8px rgba(67, 198, 184, 0.9);
}

.apx-field--error .apx-label {
	color: #FF9D9D;
}

.apx-field--error .apx-chip span {
	border-color: #FF6B6B;
}

/* Campo condicional oculto (descrição da estrutura sem "Outra") */
.apx-field[hidden] {
	display: none;
}

/* ---------- Links do crédito no rodapé ---------- */

.footer-bottom a {
	color: rgba(255, 255, 255, 0.85);
	text-decoration: underline;
	text-underline-offset: 2px;
	transition: color 0.2s ease;
}

.footer-bottom a:hover,
.footer-bottom a:focus-visible {
	color: var(--white);
}
