:root {
  font-family: 'Montserrat', Arial, sans-serif;
  color: #fff;
  background: #211b72;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  --navy: #211b72;
  --purple: #30258d;
  --violet: #3a2da0;
  --lime: #adff26;
  --muted: #b7b3e1;
  --line: rgba(255, 255, 255, .12);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; background: var(--navy); }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }

.site-header { height: 82px; padding: 0 7.5%; display: flex; align-items: center; justify-content: space-between; background: #211b72; position: sticky; top: 0; z-index: 100; box-shadow: 0 2px 20px rgba(0,0,0,.15); transition: box-shadow .3s ease; }
.brand { display: inline-flex; flex-direction: column; gap: 3px; color: var(--lime); font-size: 22px; font-weight: 800; letter-spacing: -1px; }
.brand small { color: #fff; font-size: 9px; font-weight: 500; letter-spacing: .1px; }
.nav-links { display: flex; align-items: center; gap: 25px; font-size: 13px; font-weight: 600; }
.nav-links a:not(.button) { opacity: .85; transition: color .2s ease, opacity .2s ease; }
.nav-links a:not(.button):hover { color: var(--lime); opacity: 1; }
.menu-toggle { display: none; border: 0; color: #fff; background: transparent; }
.menu-toggle svg { width: 25px; height: 25px; }
svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; vertical-align: middle; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 14px 19px; border: 1px solid var(--lime); border-radius: 3px; color: #121033; background: var(--lime); font-size: 13px; font-weight: 700; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.button svg { width: 13px; height: 13px; }
.button:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(173, 255, 38, .2); }
.button-outline { color: #fff; background: transparent; border-color: rgba(255,255,255,.7); }
.button-outline:hover { color: #111033; background: #fff; box-shadow: 0 10px 24px rgba(255,255,255,.12); }
.button-small { padding: 10px 13px; font-size: 12px; }

.hero { min-height: 610px; padding: 90px 7.5% 85px; position: relative; overflow: hidden; background: radial-gradient(circle at 82% 50%, #30268e 0, #29207e 36%, #211b72 70%); }
.hero-content { position: relative; z-index: 2; width: min(590px, 100%); }
.eyebrow { margin: 0 0 14px; color: var(--lime); font-size: 12px; font-weight: 700; letter-spacing: .25px; text-transform: uppercase; }
h1, h2, h3, p { margin-top: 0; }
h1 { max-width: 640px; margin-bottom: 25px; font-size: clamp(48px, 5vw, 78px); line-height: .97; letter-spacing: -3px; }
h1 span { color: var(--lime); }
.hero-copy { max-width: 490px; color: var(--muted); font-size: 15px; line-height: 1.7; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.hero-mark { position: absolute; z-index: 1; top: 194px; right: 13%; color: var(--lime); font-size: 34px; font-weight: 500; letter-spacing: -2px; opacity: .95; }
.orbit { position: absolute; border: 1px solid rgba(255,255,255,.1); border-radius: 50%; }
.orbit-one { width: 410px; height: 410px; top: 53px; right: 3%; }
.orbit-two { width: 520px; height: 520px; top: -2px; right: -1%; }
.dot { position: absolute; width: 7px; height: 7px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 10px var(--lime); }
.dot-one { top: 135px; right: 23%; }.dot-two { top: 316px; right: 65%; }

.section { padding: 93px 7.5%; background: var(--purple); }
.section-heading { text-align: center; margin: 0 auto 48px; }
.section-heading h2 { max-width: 620px; margin: 0 auto; font-size: clamp(25px, 3vw, 38px); line-height: 1.15; letter-spacing: -1.4px; }
.heading-line { display: block; width: 39px; height: 3px; margin: 17px auto 0; background: var(--lime); }
.initiative-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 13px; max-width: 1120px; margin: 0 auto 38px; }
.initiative-card { min-height: 190px; padding: 24px 23px 21px; border: 1px solid rgba(255,255,255,.04); border-radius: 4px; background: rgba(64, 52, 167, .75); transition: transform .22s ease, background .22s ease; }
.initiative-card:hover { transform: translateY(-5px); background: #4035a3; }
.card-icon { margin-bottom: 14px; color: var(--lime); }.card-icon svg { width: 25px; height: 25px; stroke-width: 1.5; }
.initiative-card h3 { margin-bottom: 9px; font-size: 18px; }.initiative-card p { min-height: 42px; margin-bottom: 18px; color: var(--muted); font-size: 13px; line-height: 1.55; }.initiative-card a { display: inline-flex; align-items: center; gap: 5px; color: var(--lime); font-size: 12px; font-weight: 700; }.initiative-card a svg { width: 14px; height: 14px; }
.button-centered { display: flex; width: fit-content; margin: 0 auto; }
.companies { background: var(--navy); }
.company-carousel { display: flex; align-items: center; gap: 13px; max-width: 1160px; margin: 0 auto 18px; }
.company-viewport { min-width: 0; flex: 1; overflow: hidden; }
.company-track { display: flex; gap: 13px; transition: transform .45s ease; }
.company-card { flex: 0 0 calc((100% - 39px) / 4); min-width: 0; padding: 24px 18px 21px; border: 1px solid rgba(255,255,255,.06); border-radius: 5px; text-align: center; background: rgba(48, 39, 137, .58); transition: transform .22s ease, background .22s ease; }
.company-card:hover { transform: translateY(-4px); background: rgba(64, 52, 167, .78); }
.company-logo { display: grid; place-items: center; height: 82px; margin-bottom: 15px; padding: 10px 16px; border-radius: 4px; background: rgba(255,255,255,.96); }
.company-logo img { display: block; max-width: 100%; max-height: 58px; width: auto; height: auto; object-fit: contain; }
.company-card h3 { margin: 0; font-size: 14px; font-weight: 700; }
.company-carousel-control { flex: 0 0 38px; width: 38px; height: 38px; padding: 0; border: 1px solid rgba(255,255,255,.22); border-radius: 50%; color: #fff; background: transparent; font-size: 25px; line-height: 1; cursor: pointer; transition: background .2s ease, border-color .2s ease, color .2s ease; }
.company-carousel-control:hover { color: #121033; border-color: var(--lime); background: var(--lime); }
.company-carousel-dots { display: flex; justify-content: center; gap: 8px; margin-bottom: 34px; }
.company-carousel-dots button { width: 7px; height: 7px; padding: 0; border: 0; border-radius: 50%; background: #726bb6; cursor: pointer; }
.company-carousel-dots button.active { background: var(--lime); transform: scale(1.2); }
.event-section { display: grid; grid-template-columns: .96fr 1.04fr; min-height: 385px; background: var(--purple); }
.event-copy { display: flex; flex-direction: column; justify-content: center; padding: 70px 10% 70px 16%; }
.pill { width: fit-content; margin-bottom: 18px; padding: 5px 10px; border-radius: 20px; color: #162044; background: var(--lime); font-size: 11px; font-weight: 800; text-transform: uppercase; }
.event-copy h2 { max-width: 500px; margin-bottom: 18px; font-size: clamp(26px, 3.2vw, 43px); line-height: 1.08; letter-spacing: -1.5px; }
.event-description { max-width: 510px; margin-bottom: 26px; color: var(--muted); font-size: 14px; line-height: 1.7; }
.event-copy .button { width: fit-content; }
.event-photo { min-height: 385px; position: relative; overflow: hidden; }
.event-photo img { width: 100%; height: 100%; object-fit: cover; }
.photo-overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(48,37,141,.88), rgba(48,37,141,.12) 62%, transparent); }
.event-photo-caption { position: absolute; left: 10%; bottom: 10%; display: flex; flex-direction: column; gap: 4px; }
.event-photo-caption strong { font-size: 18px; }
.event-photo-caption span { color: rgba(255,255,255,.78); font-size: 12px; }
.testimonials { background: var(--purple); text-align: center; }.quote-card { width: min(740px, 100%); position: relative; margin: 0 auto 28px; padding: 42px 70px 28px; border-radius: 5px; background: rgba(64,52,167,.72); text-align: left; }.quote-mark { position: absolute; top: 15px; left: 27px; color: var(--lime); font-family: Georgia, serif; font-size: 65px; line-height: 1; }.quote-card > p { margin: 0 0 23px; font-size: 16px; line-height: 1.7; }.quote-author { display: flex; align-items: center; gap: 10px; font-size: 14px; }.quote-author img { width: 32px; height: 32px; border-radius: 50%; object-fit: cover; }.quote-author small { display: block; margin-top: 3px; color: var(--muted); font-size: 12px; font-weight: 400; }.slider-controls { display: flex; align-items: center; justify-content: center; gap: 9px; margin-bottom: 21px; }.slider-controls button { width: 22px; height: 22px; padding: 0; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; color: #fff; background: transparent; cursor: pointer; }.slider-controls span { width: 6px; height: 6px; border-radius: 50%; background: #726bb6; cursor: pointer; }.slider-controls span.active { background: var(--lime); }.text-link { color: var(--lime); text-decoration: underline; font-size: 13px; }

.essence { display: grid; grid-template-columns: 1fr 1fr; gap: 8%; background: var(--navy); }.essence-intro h2 { max-width: 540px; margin-bottom: 30px; font-size: clamp(28px, 3vw, 43px); line-height: 1.08; letter-spacing: -1.7px; }.essence-items { margin-bottom: 30px; }.essence-items > div { display: flex; gap: 13px; margin-bottom: 18px; }.essence-items span { display: grid; place-items: center; flex: 0 0 25px; height: 25px; border-radius: 4px; color: var(--lime); background: #373092; }.essence-items span svg { width: 14px; height: 14px; }.essence-items p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.55; }.essence-items strong { display: block; margin-bottom: 3px; color: #fff; font-size: 15px; }.manifesto { align-self: center; padding: 33px 36px; border-radius: 4px; background: #30278a; }.manifesto h3 { margin-bottom: 17px; font-size: 20px; }.manifesto > p { color: var(--muted); font-size: 14px; line-height: 1.7; }.manifesto ul { padding: 0; margin: 19px 0 25px; list-style: none; color: #fff; font-size: 14px; line-height: 2; }.manifesto li::before { content: '✓'; margin-right: 9px; color: var(--lime); font-weight: 700; }.manifesto .button { width: 100%; }

.site-footer { display: grid; grid-template-columns: 1.4fr .8fr .9fr 1.1fr; gap: 7%; position: relative; padding: 67px 7.5% 54px; background: #171355; }.site-footer .brand { margin-bottom: 22px; }.footer-brand > p, .site-footer > div > p { max-width: 235px; color: var(--muted); font-size: 13px; line-height: 1.7; }.site-footer h3 { margin-bottom: 18px; font-size: 15px; }.site-footer > div:not(.footer-brand) > a { display: block; margin-bottom: 10px; color: var(--muted); font-size: 13px; }.socials { display: flex; gap: 12px; margin-top: 18px; }.socials a { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; font-size: 12px; font-weight: 700; transition: border-color .2s ease, background .2s ease, transform .2s ease; }.socials a:hover { border-color: var(--lime); background: rgba(173,255,38,.1); transform: translateY(-3px); }.socials a svg { width: 22px; height: 22px; }.footer-social .socials { margin-top: 22px; }.copyright { grid-column: 1 / -1; padding-top: 25px; border-top: 1px solid rgba(255,255,255,.12); color: #7e7aa9; text-align: center; font-size: 12px; }

@media (max-width: 900px) { .site-header { height: 70px; padding: 0 6%; }.menu-toggle { display: block; }.nav-links { display: none; position: absolute; top: 70px; right: 6%; left: 6%; flex-direction: column; align-items: stretch; gap: 0; padding: 10px; border-radius: 5px; background: #2a217d; box-shadow: 0 14px 30px rgba(0,0,0,.2); z-index: 101; }.nav-links.is-open { display: flex; }.nav-links a { padding: 12px; }.nav-links .button { text-align: center; }.hero { min-height: 610px; padding: 75px 6%; }.orbit-one { right: -20%; }.orbit-two { right: -28%; }.section { padding-right: 6%; padding-left: 6%; }.event-copy { padding-left: 10%; }.site-footer { padding-right: 6%; padding-left: 6%; } }
@media (max-width: 640px) { h1 {font-size: clamp(34px, 9.vw, 52px);letter-spacing: -1px;}.hero { padding-top: 60px; }.hero-copy { font-size: 14px; }.hero-actions { flex-direction: column; align-items: flex-start; }.initiative-grid { grid-template-columns: 1fr; }.initiative-card { min-height: auto; }.company-carousel { gap: 8px; }
.company-carousel-control { flex-basis: 32px; width: 32px; height: 32px; font-size: 21px; }
.company-track { gap: 10px; }
.company-card { flex-basis: calc((100% - 10px) / 2); padding: 19px 10px 17px; }
.company-logo { height: 68px; padding: 8px 10px; margin-bottom: 11px; }
.company-logo img { max-height: 48px; }
.event-photo-caption { left: 8%; bottom: 9%; }.event-section { display: flex; flex-direction: column; }.event-copy { padding: 58px 8%; }.event-photo { min-height: 260px; }.photo-overlay { background: linear-gradient(0deg, rgba(48,37,141,.35), transparent 50%); }.quote-card { padding: 40px 28px 27px 47px; }.quote-card > p { font-size: 14px; }.essence { grid-template-columns: 1fr; gap: 42px; }.manifesto { padding: 28px 23px; }.site-footer { grid-template-columns: 1fr 1fr; gap: 36px 24px; }.footer-brand { grid-column: 1 / -1; }.site-footer > div > p { max-width: 100%; }.copyright { margin-top: 6px; } }


/* Modal de currículo */
.curriculo-modal { position: fixed; inset: 0; z-index: 1000; display: none; align-items: center; justify-content: center; padding: 24px; }
.curriculo-modal.is-open { display: flex; }
.curriculo-modal-backdrop { position: absolute; inset: 0; background: rgba(9, 7, 36, .78); backdrop-filter: blur(4px); }
.curriculo-modal-box { position: relative; width: min(680px, 100%); max-height: min(90vh, 800px); overflow-y: auto; padding: 38px; border: 1px solid rgba(255,255,255,.12); border-radius: 8px; background: #211967; box-shadow: 0 25px 80px rgba(0,0,0,.4); }
.curriculo-modal-close { position: absolute; top: 13px; right: 16px; width: 36px; height: 36px; border: 0; border-radius: 50%; color: #fff; background: rgba(255,255,255,.08); font-size: 27px; line-height: 1; cursor: pointer; }
.curriculo-modal-close:hover { color: #171355; background: var(--lime); }
.curriculo-modal-header { padding-right: 40px; margin-bottom: 25px; }
.curriculo-modal-header .pill { display: inline-block; margin-bottom: 13px; }
.curriculo-modal-header h2 { margin-bottom: 9px; font-size: clamp(27px, 4vw, 38px); letter-spacing: -1px; }
.curriculo-modal-header p { color: var(--muted); font-size: 13px; line-height: 1.65; }
#curriculo-form label { display: block; margin-bottom: 15px; color: #fff; font-size: 12px; font-weight: 600; }
.curriculo-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
#curriculo-form input[type="text"], #curriculo-form input[type="email"], #curriculo-form input[type="tel"], #curriculo-form textarea, #curriculo-form input[type="file"] { display: block; width: 100%; margin-top: 7px; box-sizing: border-box; border: 1px solid rgba(255,255,255,.14); border-radius: 4px; outline: none; color: #fff; background: rgba(255,255,255,.07); font: inherit; }
#curriculo-form input[type="text"], #curriculo-form input[type="email"], #curriculo-form input[type="tel"], #curriculo-form textarea { padding: 12px 13px; }
#curriculo-form textarea { min-height: 110px; resize: vertical; }
#curriculo-form input:focus, #curriculo-form textarea:focus { border-color: var(--lime); box-shadow: 0 0 0 2px rgba(173,255,38,.08); }
#curriculo-form input[type="file"] { padding: 9px; font-size: 11px; }
#curriculo-form input[type="file"]::file-selector-button { margin-right: 10px; padding: 8px 10px; border: 0; border-radius: 3px; color: #172040; background: var(--lime); font-weight: 700; cursor: pointer; }
.curriculo-file-label small { display: block; margin-top: 6px; color: #8f8bb8; font-size: 10px; font-weight: 400; }
.curriculo-honeypot { position: absolute !important; left: -9999px !important; opacity: 0 !important; pointer-events: none !important; }
.curriculo-form-feedback { min-height: 20px; margin: 2px 0 12px; font-size: 12px; line-height: 1.5; }
.curriculo-form-feedback.success { color: var(--lime); }
.curriculo-form-feedback.error { color: #ffaaa8; }
.curriculo-submit { border: 0; cursor: pointer; }
.curriculo-submit:disabled { opacity: .65; cursor: wait; }
body.modal-open { overflow: hidden; }
@media (max-width: 640px) { .curriculo-modal { padding: 12px; }.curriculo-modal-box { padding: 28px 20px 22px; max-height: 94vh; }.curriculo-form-grid { grid-template-columns: 1fr; gap: 0; }.curriculo-modal-header { padding-right: 25px; } }

/* Regra para ocultar .hero-mark em celulares/tablets e exibir apenas no desktop */
.hero-mark {
  display: none !important;
}

@media (min-width: 901px) {
  .hero-mark {
    display: block !important;
  }
}