/* ============================================================
   AMILTEC Theme — main stylesheet
   Paleta: roxo #5b2d9e | azul #2f6fd6 | ciano #2ec4d6 | laranja #f08a2e | amarelo #f5c542
   ============================================================ */

:root {
	--amiltec-purple: #5b2d9e;
	--amiltec-blue: #2f6fd6;
	--amiltec-cyan: #2ec4d6;
	--amiltec-orange: #f08a2e;
	--amiltec-yellow: #f5c542;
	--amiltec-ink: #1c2536;
	--amiltec-slate: #475569;
	--amiltec-muted: #64748b;
	--amiltec-border: #e2e8f0;
	--amiltec-bg-soft: #f6f7fb;
	--amiltec-radius: 16px;
	--amiltec-gradient: linear-gradient(135deg, #5b2d9e 0%, #2f6fd6 35%, #2ec4d6 65%, #f08a2e 100%);
	--amiltec-gradient-soft: linear-gradient(135deg, rgba(91,45,158,.12), rgba(46,196,214,.10), rgba(240,138,46,.08));
	--amiltec-text-gradient: linear-gradient(90deg, #5b2d9e, #2f6fd6, #2ec4d6);
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
	margin: 0;
	font-family: "Inter", ui-sans-serif, system-ui, sans-serif;
	color: var(--amiltec-ink);
	background: #fff;
	-webkit-font-smoothing: antialiased;
	line-height: 1.6;
}

h1, h2, h3, h4, h5, h6 {
	font-family: "Poppins", ui-sans-serif, system-ui, sans-serif;
	line-height: 1.2;
	margin: 0 0 .5em;
	font-weight: 700;
	color: var(--amiltec-ink);
}

a { color: var(--amiltec-purple); text-decoration: none; }
a:hover { color: var(--amiltec-blue); }

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

.screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(1px,1px,1px,1px); white-space: nowrap; border: 0;
}
.amiltec-skip-link { position: absolute; left: -9999px; top: 0; z-index: 999; }
.amiltec-skip-link:focus { left: 1rem; top: 1rem; background: #fff; padding: .5rem 1rem; border-radius: 8px; }

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

/* ---------- Layout ---------- */
.amiltec-container { max-width: 1120px; margin: 0 auto; padding: 0 1.25rem; }
.amiltec-container--narrow { max-width: 760px; }
.section-pad { padding: 4rem 0; }
.amiltec-section--white { background: #fff; }
.amiltec-section--soft { background: var(--amiltec-bg-soft); }
.amiltec-section--dark { background: #0b1220; color: #e2e8f0; }
.amiltec-section--dark h2, .amiltec-section--dark h3 { color: #fff; }

.amiltec-gradient { background: var(--amiltec-gradient); }
.amiltec-gradient-soft { background: var(--amiltec-gradient-soft); }

.amiltec-eyebrow {
	font-size: .72rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase;
	color: var(--amiltec-purple); margin: 0 0 .75rem;
}
.amiltec-eyebrow--light { color: #7dd3fc; }
.amiltec-eyebrow--orange { color: var(--amiltec-orange); }
.amiltec-muted { color: var(--amiltec-muted); }

.amiltec-section-head { max-width: 640px; margin: 0 auto 2.5rem; text-align: center; }
.amiltec-section-title { font-size: clamp(1.5rem, 3vw, 2.1rem); font-weight: 700; }
.amiltec-section-title--light { color: #fff; }
.amiltec-section-sub { color: var(--amiltec-cyan); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; font-size: .8rem; margin: .75rem 0 0; }

/* ---------- Buttons ---------- */
.amiltec-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
	height: 48px; padding: 0 1.5rem; border-radius: 999px; font-size: .9rem; font-weight: 600;
	font-family: "Poppins", sans-serif; border: 1px solid transparent; cursor: pointer;
	transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
	text-decoration: none;
}
.amiltec-btn:hover { transform: translateY(-2px); }
.amiltec-btn:active { transform: scale(.98); }
.amiltec-btn--primary {
	background: linear-gradient(135deg, #5b2d9e, #2f6fd6 55%, #2ec4d6);
	color: #fff; box-shadow: 0 10px 24px -10px rgba(91,45,158,.55);
}
.amiltec-btn--primary:hover { color: #fff; box-shadow: 0 16px 30px -12px rgba(47,111,214,.6); }
.amiltec-btn--secondary { background: #fff; color: #1e293b; border-color: var(--amiltec-border); }
.amiltec-btn--secondary:hover { border-color: #c4b5fd; background: #f5f3ff; color: #1e293b; }
.amiltec-btn--ghost { background: rgba(255,255,255,.1); color: #fff; border-color: rgba(255,255,255,.25); }
.amiltec-btn--ghost:hover { background: rgba(255,255,255,.18); color: #fff; }
.amiltec-btn--play { background: transparent; color: #fff; }
.amiltec-btn--play:hover { background: rgba(255,255,255,.1); color: #fff; }
.amiltec-btn--block { width: 100%; }
.amiltec-play {
	display: inline-flex; align-items: center; justify-content: center;
	width: 36px; height: 36px; border-radius: 999px; background: #fff; color: var(--amiltec-purple);
	font-size: .7rem;
}
.amiltec-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.5rem; }
.amiltec-actions--center { justify-content: center; margin-top: 2.5rem; }

/* ---------- Header (landing page) ---------- */
.amiltec-header {
	position: fixed; top: 0; left: 0; right: 0; z-index: 100;
	background: rgba(255,255,255,.92); backdrop-filter: blur(10px);
	border-bottom: 1px solid var(--amiltec-border);
	transition: box-shadow .3s ease;
}
.amiltec-header.is-scrolled { box-shadow: 0 6px 20px -12px rgba(15,23,42,.25); }
.amiltec-header__inner { display: flex; align-items: center; justify-content: space-between; gap: 1rem; height: 72px; }
.amiltec-logo__img { height: 52px; width: auto; max-width: 100%; }

/* Âncoras: compensa o cabeçalho fixo */
section[id] { scroll-margin-top: 72px; }
.amiltec-about-lead { margin: 1rem 0 1.5rem; color: var(--amiltec-slate); font-size: 1rem; }

/* ---------- Hero ---------- */
.amiltec-main { padding-top: 72px; }
.amiltec-hero { position: relative; overflow: hidden; background: #0b1220; color: #fff; }
.amiltec-hero__bg { position: absolute; inset: 0; background: var(--amiltec-gradient); opacity: .3; }
.amiltec-hero__icon { position: absolute; right: -2rem; top: 2rem; width: 320px; height: 320px; opacity: .18; pointer-events: none; }
.amiltec-hero__content { position: relative; min-height: 78vh; display: flex; flex-direction: column; justify-content: center; padding: 4rem 1.25rem; max-width: 1120px; margin: 0 auto; }
.amiltec-hero__title { font-size: clamp(1.9rem, 4.5vw, 3.1rem); font-weight: 800; color: #fff; max-width: 760px; line-height: 1.15; }
.amiltec-hero__text { margin-top: 1.25rem; font-size: 1.05rem; color: #e2e8f0; max-width: 640px; }

/* ---------- Page hero ---------- */
.amiltec-page-hero { padding: 4.5rem 0; border-bottom: 1px solid var(--amiltec-border); }
.amiltec-page-hero__title { font-size: clamp(1.8rem, 4vw, 2.8rem); max-width: 760px; }
.amiltec-page-hero__desc { margin-top: 1rem; font-size: 1.05rem; color: var(--amiltec-slate); max-width: 640px; }

/* ---------- Grids ---------- */
.amiltec-grid { display: grid; gap: 1.25rem; }
.amiltec-grid--2 { grid-template-columns: repeat(2, 1fr); }
.amiltec-grid--3 { grid-template-columns: repeat(3, 1fr); }
.amiltec-grid--4 { grid-template-columns: repeat(4, 1fr); }
.amiltec-grid--12 { grid-template-columns: repeat(12, 1fr); }
.amiltec-grid--align { align-items: center; }
.amiltec-col-5 { grid-column: span 5; }
.amiltec-col-7 { grid-column: span 7; }
.amiltec-stack { display: flex; flex-direction: column; gap: 1.25rem; }

/* ---------- Cards ---------- */
.amiltec-card {
	background: #fff; border: 1px solid var(--amiltec-border); border-radius: var(--amiltec-radius);
	padding: 1.5rem; box-shadow: 0 4px 14px -10px rgba(15,23,42,.18); transition: box-shadow .3s, border-color .3s, transform .3s;
}
.amiltec-card:hover { box-shadow: 0 18px 36px -20px rgba(91,45,158,.35); border-color: #ddd6fe; transform: translateY(-3px); }
.amiltec-card__icon {
	display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 12px;
	background: var(--amiltec-gradient); color: #fff; font-weight: 700; font-size: .9rem; font-family: "Poppins", sans-serif; margin-bottom: 1rem;
}
.amiltec-card__icon--lg { width: 56px; height: 56px; font-size: 1rem; }
.amiltec-card__icon--cyan { background: rgba(46,196,214,.2); color: var(--amiltec-cyan); }
.amiltec-card__title { font-size: 1.05rem; margin-bottom: .5rem; }
.amiltec-card__text { font-size: .9rem; color: var(--amiltec-slate); margin: 0; }
.amiltec-card__link { display: inline-block; margin-top: 1rem; font-weight: 600; color: var(--amiltec-purple); font-size: .9rem; }
.amiltec-card__link:hover { color: var(--amiltec-blue); }

.amiltec-row-card { display: flex; gap: 1rem; align-items: flex-start; background: #f8fafc; border: 1px solid var(--amiltec-border); border-radius: var(--amiltec-radius); padding: 1.25rem 1.5rem; transition: border-color .3s; }
.amiltec-row-card:hover { border-color: #ddd6fe; }
.amiltec-row-card--dark { background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.1); color: #e2e8f0; }
.amiltec-row-card__num { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 12px; background: #fff; border: 1px solid var(--amiltec-border); color: var(--amiltec-purple); font-weight: 700; font-size: .85rem; flex-shrink: 0; }
.amiltec-row-card--dark .amiltec-row-card__num { background: rgba(46,196,214,.2); color: var(--amiltec-cyan); border: 0; }
.amiltec-row-card h3 { margin: 0 0 .25rem; font-size: 1rem; }
.amiltec-row-card p { margin: 0; font-size: .88rem; color: var(--amiltec-slate); }
.amiltec-row-card--dark p { color: #cbd5e1; }

/* ---------- About / stats ---------- */
.amiltec-about-list { display: flex; flex-direction: column; gap: 1rem; margin: 1.5rem 0; }
.amiltec-about-item { background: rgba(255,255,255,.8); border: 1px solid rgba(255,255,255,.7); border-radius: var(--amiltec-radius); padding: 1.1rem 1.25rem; box-shadow: 0 4px 14px -12px rgba(15,23,42,.2); }
.amiltec-about-item h3 { margin: 0 0 .25rem; font-size: .98rem; }
.amiltec-about-item p { margin: 0; font-size: .88rem; color: var(--amiltec-slate); }
.amiltec-stats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.amiltec-stat { background: #fff; border: 1px solid var(--amiltec-border); border-radius: var(--amiltec-radius); padding: 1.25rem; text-align: center; box-shadow: 0 4px 14px -12px rgba(15,23,42,.18); }
.amiltec-stat__value { font-size: 1.6rem; font-weight: 800; margin: 0; background: var(--amiltec-text-gradient); -webkit-background-clip: text; background-clip: text; color: transparent; font-family: "Poppins", sans-serif; }
.amiltec-stat__label { margin: .5rem 0 0; font-size: .82rem; color: var(--amiltec-slate); }

/* ---------- Process ---------- */
.amiltec-process__num { font-weight: 800; font-size: .9rem; margin: 0 0 .5rem; background: var(--amiltec-text-gradient); -webkit-background-clip: text; background-clip: text; color: transparent; font-family: "Poppins", sans-serif; }

/* ---------- Detail / checklist ---------- */
.amiltec-detail { background: #fff; border: 1px solid var(--amiltec-border); border-radius: var(--amiltec-radius); padding: 2rem; box-shadow: 0 4px 14px -12px rgba(15,23,42,.18); }
.amiltec-detail__head { margin-bottom: 1.25rem; }
.amiltec-detail__title { font-size: 1.4rem; }
.amiltec-checklist { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .65rem; }
.amiltec-checklist li { display: flex; gap: .65rem; font-size: .9rem; color: #334155; }
.amiltec-check { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; border-radius: 999px; background: #ede9fe; color: var(--amiltec-purple); font-size: .7rem; flex-shrink: 0; margin-top: 2px; }
.amiltec-checklist--cyan .amiltec-check { background: #cffafe; color: #0e7490; }
.amiltec-checklist--orange .amiltec-check { background: #ffedd5; color: #c2410c; }

/* ---------- PMO panels ---------- */
.amiltec-panel { border: 1px solid var(--amiltec-border); border-radius: var(--amiltec-radius); overflow: hidden; box-shadow: 0 4px 14px -12px rgba(15,23,42,.18); }
.amiltec-panel__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; padding: 1rem 1.5rem; color: #fff; }
.amiltec-panel__title { margin: 0; font-size: 1.2rem; color: #fff; }
.amiltec-panel__badge { background: rgba(255,255,255,.18); border-radius: 999px; padding: .3rem .8rem; font-size: .75rem; font-weight: 600; }
.amiltec-panel__body { padding: 1.5rem; }

/* ---------- Values ---------- */
.amiltec-values { list-style: none; margin: .75rem 0 0; padding: 0; display: flex; flex-direction: column; gap: .6rem; }
.amiltec-values li { font-size: .88rem; color: var(--amiltec-slate); border-left: 2px solid #ddd6fe; padding-left: .75rem; }

/* ---------- Contact ---------- */
.amiltec-contact-card { display: flex; flex-direction: column; gap: 1.1rem; }
.amiltec-contact-item { display: flex; gap: .85rem; }
.amiltec-contact-item__ico { font-size: 1.1rem; flex-shrink: 0; margin-top: 2px; }
.amiltec-contact-item__label { font-weight: 700; font-size: .85rem; margin: 0 0 .15rem; color: var(--amiltec-ink); }
.amiltec-contact-item__value { font-size: .88rem; color: var(--amiltec-slate); margin: 0; }
.amiltec-map { border: 1px solid var(--amiltec-border); border-radius: var(--amiltec-radius); overflow: hidden; aspect-ratio: 4/3; background: #eef2f7; }
.amiltec-map iframe { width: 100%; height: 100%; border: 0; }
.amiltec-form-card { background: #f8fafc; }
.amiltec-form { display: flex; flex-direction: column; gap: 1rem; margin-top: 1rem; }
.amiltec-field { display: flex; flex-direction: column; gap: .4rem; }
.amiltec-field label { font-size: .85rem; font-weight: 600; color: var(--amiltec-ink); }
.amiltec-field input, .amiltec-field textarea, .amiltec-field select {
	font-family: inherit; font-size: .92rem; padding: .7rem .9rem; border: 1px solid var(--amiltec-border);
	border-radius: 12px; background: #fff; color: var(--amiltec-ink); transition: border-color .2s, box-shadow .2s;
}
.amiltec-field select { width: 100%; appearance: none; -webkit-appearance: none; padding-right: 2.4rem; cursor: pointer; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23475569' stroke-width='2'/%3E%3C/svg%3E") no-repeat right .9rem center; }
.amiltec-field input, .amiltec-field textarea { width: 100%; }
.amiltec-field input:focus, .amiltec-field textarea:focus, .amiltec-field select:focus { outline: none; border-color: var(--amiltec-blue); box-shadow: 0 0 0 3px rgba(47,111,214,.15); }
.amiltec-form-notice { margin: 1rem 0 0; padding: .8rem 1rem; border-radius: 12px; font-size: .9rem; font-weight: 500; }
.amiltec-form-notice--success { background: #dcfce7; color: #166534; border: 1px solid #86efac; }
.amiltec-form-notice--error { background: #fee2e2; color: #991b1b; border: 1px solid #fca5a5; }
.amiltec-form .amiltec-btn { align-self: flex-start; }
.amiltec-form-note { font-size: .78rem; color: var(--amiltec-muted); margin: .5rem 0 0; }

/* ---------- Footer ---------- */
.amiltec-footer { background: #0b1220; color: #cbd5e1; padding: 3.5rem 0 0; margin-top: 0; }
.amiltec-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 2rem; padding-bottom: 2.5rem; }
.amiltec-footer__logo { height: 56px; width: auto; max-width: 100%; object-fit: contain; filter: brightness(0) invert(1); margin-bottom: 1rem; }
.amiltec-footer__text { font-size: .9rem; line-height: 1.6; margin: 0 0 1.25rem; max-width: 360px; }
.amiltec-footer__heading { color: #fff; font-size: .95rem; margin: 0 0 1rem; font-family: "Poppins", sans-serif; }
.amiltec-footer__links { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .55rem; }
.amiltec-footer__links a { color: #cbd5e1; font-size: .9rem; }
.amiltec-footer__links a:hover { color: #fff; }
.amiltec-footer__contact p { margin: 0 0 .55rem; font-size: .9rem; }
.amiltec-footer__contact a { color: #cbd5e1; }
.amiltec-footer__contact a:hover { color: #fff; }
.amiltec-social { display: flex; flex-wrap: wrap; gap: .6rem; }
.amiltec-social a {
	display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 999px;
	border: 1px solid rgba(255,255,255,.15); color: #cbd5e1; transition: .25s;
}
.amiltec-social a:hover { background: rgba(255,255,255,.1); color: #fff; }
.amiltec-footer__bottom { border-top: 1px solid rgba(255,255,255,.08); padding: 1.25rem 0; }
.amiltec-footer__bottom p { margin: 0; font-size: .82rem; color: #94a3b8; text-align: center; }

/* ---------- Article / blog ---------- */
.amiltec-article { padding-top: 2rem; }
.amiltec-page-title { font-size: clamp(1.8rem, 4vw, 2.6rem); }
.amiltec-entry-meta { font-size: .82rem; color: var(--amiltec-muted); margin-bottom: 1.25rem; }
.amiltec-thumb { border-radius: var(--amiltec-radius); overflow: hidden; margin-bottom: 1.5rem; }
.amiltec-entry-content { font-size: 1rem; line-height: 1.75; }
.amiltec-entry-content p { margin: 0 0 1.1rem; }
.amiltec-pagination { margin-top: 2rem; }
.amiltec-pagination .page-numbers { display: inline-block; padding: .4rem .8rem; margin: 0 .15rem; border-radius: 8px; border: 1px solid var(--amiltec-border); color: var(--amiltec-ink); }
.amiltec-pagination .page-numbers.current { background: var(--amiltec-purple); color: #fff; border-color: var(--amiltec-purple); }
.amiltec-card__excerpt { font-size: .88rem; color: var(--amiltec-slate); margin: .5rem 0 .75rem; }
.amiltec-404 .amiltec-actions { justify-content: center; }
.amiltec-search-404 { margin-top: 1.5rem; }
.amiltec-search-404 .search-form { display: flex; gap: .5rem; justify-content: center; }
.amiltec-search-404 .search-field { padding: .6rem .9rem; border: 1px solid var(--amiltec-border); border-radius: 10px; }
.amiltec-search-404 .search-submit { padding: .6rem 1.2rem; border-radius: 10px; border: 0; background: var(--amiltec-purple); color: #fff; font-weight: 600; cursor: pointer; }

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
	.amiltec-grid--4 { grid-template-columns: repeat(2, 1fr); }
	.amiltec-grid--3 { grid-template-columns: repeat(2, 1fr); }
	.amiltec-col-5, .amiltec-col-7 { grid-column: span 12; }
}
@media (max-width: 860px) {
	.amiltec-footer__grid { grid-template-columns: 1fr; }
	.amiltec-header__cta .amiltec-btn { height: 42px; padding: 0 1.1rem; }
}
@media (max-width: 560px) {
	.amiltec-form .amiltec-btn { align-self: stretch; }
	.amiltec-logo__img { height: 44px; }
	.amiltec-grid--2, .amiltec-grid--3, .amiltec-grid--4 { grid-template-columns: 1fr; }
	.amiltec-stats { grid-template-columns: 1fr; }
	.section-pad { padding: 2.75rem 0; }
	.amiltec-hero__content { min-height: 70vh; }
}
