:root {
  --prospecta-gold: #c9a84c;
  --prospecta-gold-dark: #b7953d;
  --prospecta-ivory: #f5f0e8;
  --prospecta-ink: #1e1e1e;
  --prospecta-black: #121212;
  --prospecta-brown: #4d4637;
  --prospecta-muted: #d4d4d4;
  --prospecta-white: #ffffff;
  --prospecta-max: 1330px;
}

html { scroll-behavior: smooth; }
.prospecta-kit-active header#site-header,
.prospecta-kit-active footer#site-footer { display: none !important; }
.prospecta-kit-fallback-header,
.prospecta-kit-fallback-footer { width: 100%; }
.prospecta-section, .prospecta-site-header, .prospecta-site-footer { box-sizing: border-box; }
.prospecta-section *, .prospecta-site-header *, .prospecta-site-footer * { box-sizing: border-box; }
.prospecta-section .elementor-widget { margin-bottom: 0; }
.prospecta-section p:last-child { margin-bottom: 0; }
.prospecta-section .elementor-widget-text-editor p + p { margin-top: 18px; }

.prospecta-eyebrow .elementor-heading-title {
  display: flex;
  align-items: center;
  gap: 16px;
  color: var(--prospecta-gold);
  font-family: "Inter", Arial, sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  text-transform: uppercase;
}
.prospecta-eyebrow .elementor-heading-title::after {
  content: "";
  width: 80px;
  height: 1px;
  flex: 0 0 80px;
  background: var(--prospecta-gold);
}
.prospecta-eyebrow.is-centered .elementor-heading-title { justify-content: center; }
.prospecta-section-title .elementor-heading-title,
.prospecta-service-title .elementor-heading-title {
  color: inherit;
  font-family: "Montserrat", Arial, sans-serif;
  font-size: 40px;
  font-weight: 600;
  line-height: 46px;
}
.prospecta-body, .prospecta-body p {
  color: inherit;
  font-family: "Inter", Arial, sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 24px;
}
.prospecta-body-relaxed, .prospecta-body-relaxed p { font-weight: 300; line-height: 30.6px; }

.prospecta-button .elementor-button {
  min-height: 52px;
  padding: 15px 45px;
  border: 0;
  border-radius: 4px;
  background: var(--prospecta-gold);
  color: var(--prospecta-ivory);
  font-family: "Montserrat", Arial, sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 22px;
  text-transform: uppercase;
  transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
}
.prospecta-button .elementor-button-text { display: inline-flex; align-items: center; gap: 10px; }
.prospecta-button .elementor-button-text::after { content: "›"; font-size: 24px; line-height: 10px; transform: translateY(-1px); }
.prospecta-button .elementor-button:hover,
.prospecta-button .elementor-button:focus { background: var(--prospecta-gold-dark); transform: translateY(-2px); box-shadow: 0 12px 24px rgba(63,47,10,.18); }

/* Header */
.prospecta-site-header { position: relative; z-index: 100; overflow: visible; }
.prospecta-header-inner,
.prospecta-header-brand { overflow: visible; }
.prospecta-header-symbol { position: relative; z-index: 3; }
.prospecta-header-symbol img {
  display: block;
  filter: drop-shadow(0 8px 8px rgba(47,35,10,.22)) drop-shadow(0 2px 2px rgba(255,214,104,.28));
  transform: perspective(420px) rotateY(-7deg) translateY(1px);
  transform-origin: center;
  transition: filter .45s ease, transform .45s cubic-bezier(.22,.61,.36,1);
}
.prospecta-header-brand:hover .prospecta-header-symbol img {
  filter: drop-shadow(0 11px 10px rgba(47,35,10,.28)) drop-shadow(0 2px 3px rgba(255,214,104,.35));
  transform: perspective(420px) rotateY(-2deg) translateY(-2px);
}
.prospecta-header-wordmark img { display: block; object-fit: contain; object-position: left center; }
.prospecta-header-actions { min-width: 0; }
.prospecta-main-nav { width: auto !important; }
.prospecta-kit-active .prospecta-main-nav .elementor-nav-menu--main .elementor-item {
  min-height: 72px;
  padding: 0 21px;
  color: var(--prospecta-ink);
  font-family: "Inter", Arial, sans-serif;
  font-size: 18px;
  font-weight: 400;
}
.prospecta-main-nav .elementor-nav-menu--main .elementor-item:hover,
.prospecta-main-nav .elementor-nav-menu--main .elementor-item.elementor-item-active { color: var(--prospecta-gold); }
.prospecta-main-nav .elementor-nav-menu--main .elementor-item::after {
  right: 21px !important;
  bottom: 12px !important;
  left: 21px !important;
  width: auto !important;
  height: 1px !important;
  background-color: var(--prospecta-gold) !important;
  opacity: 1 !important;
  transform: scaleX(0) !important;
  transform-origin: left center !important;
  transition: transform .32s cubic-bezier(.22,.61,.36,1) !important;
}
.prospecta-main-nav .elementor-nav-menu--main .elementor-item:hover::after,
.prospecta-main-nav .elementor-nav-menu--main .elementor-item:focus::after,
.prospecta-main-nav .elementor-nav-menu--main .elementor-item.elementor-item-active::after { transform: scaleX(1) !important; }
.prospecta-header-button .elementor-button { width: 100%; }

/* Home */
.prospecta-home-hero { color: #fff; }
.prospecta-hero-title .elementor-heading-title,
.prospecta-services-main-title .elementor-heading-title {
  color: #fff;
  font-family: "Montserrat", Arial, sans-serif;
  font-size: 64px;
  font-weight: 600;
  line-height: 70px;
}
.prospecta-hero-text, .prospecta-hero-text p { color: var(--prospecta-muted); font: 400 18px/24px "Inter", Arial, sans-serif; }
.prospecta-home-about-copy { justify-content: center; }
.prospecta-home-about-copy .prospecta-body { color: var(--prospecta-brown); }
.prospecta-stat-label .elementor-heading-title { color: var(--prospecta-ink); font: 600 16px/22px "Montserrat", Arial, sans-serif; text-transform: uppercase; }
.prospecta-stat-value .elementor-heading-title { color: var(--prospecta-gold); font: 600 40px/46px "Montserrat", Arial, sans-serif; text-align: right; }

.prospecta-pillars { color: #fff; }
.prospecta-center-copy { text-align: center; }
.prospecta-center-copy .prospecta-body { color: #fff; }
.prospecta-pillar-list { justify-content: space-between; }
.prospecta-pillar-card { transition: background .25s ease, transform .25s ease; }
.prospecta-pillar-card:hover { background: rgba(201,168,76,.14); transform: translateY(-4px); }
.prospecta-pillar-number .elementor-heading-title { color: var(--prospecta-gold); font: 400 14px/20px "Inter", Arial, sans-serif; }
.prospecta-pillar-title .elementor-heading-title { color: #fff; font: 600 18px/24px "Montserrat", Arial, sans-serif; }
.prospecta-pillar-copy, .prospecta-pillar-copy p { color: var(--prospecta-muted); font: 400 14px/20px "Inter", Arial, sans-serif; }

.prospecta-services-overview { color: var(--prospecta-ink); }
.prospecta-services-intro .prospecta-body { color: var(--prospecta-brown); }
.prospecta-service-photo { width: 100% !important; margin-top: auto; }
.prospecta-service-index-row { min-height: 108px; padding: 20px 0; border-top: 1px solid var(--prospecta-gold); }
.prospecta-service-index-row:first-child { border-top: 0; }
.prospecta-service-index-number { width: 42px !important; flex: 0 0 42px; }
.prospecta-service-index-number .elementor-heading-title { color: var(--prospecta-gold); font: 600 28px/34px "Montserrat", Arial, sans-serif; }
.prospecta-service-index-title .elementor-heading-title { color: var(--prospecta-ink); font: 600 20px/26px "Montserrat", Arial, sans-serif; }
.prospecta-service-index-copy, .prospecta-service-index-copy p { color: var(--prospecta-brown); font: 400 16px/25.6px "Inter", Arial, sans-serif; }
.prospecta-service-index-arrow { width: 30px !important; flex: 0 0 30px; transition: transform .2s ease; }
.prospecta-service-index-arrow .elementor-heading-title { color: var(--prospecta-gold); font: 400 24px/28px "Inter", Arial, sans-serif; }
.prospecta-service-index-row:hover .prospecta-service-index-arrow { transform: translate(5px,-5px); }

.prospecta-territory { color: #fff; }
.prospecta-territory-copy .prospecta-body { color: var(--prospecta-muted); }
.prospecta-chip-list { padding-top: 16px; }
.prospecta-chip { width: auto !important; }
.prospecta-chip .elementor-heading-title {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 17px;
  border: 1px solid rgba(126,118,101,.3);
  color: var(--prospecta-gold);
  background: rgba(49,48,48,.5);
  font: 600 11px/11px "Montserrat", Arial, sans-serif;
  letter-spacing: 1.1px;
}
.prospecta-chip .elementor-heading-title::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--prospecta-gold); }

.prospecta-cta { color: #fff; text-align: center; }
.prospecta-cta-title .elementor-heading-title { color: #fcf9f8; font: 600 64px/70px "Montserrat", Arial, sans-serif; }
.prospecta-cta-text, .prospecta-cta-text p { color: #dcd9d9; font: 400 18px/24px "Inter", Arial, sans-serif; }

/* Quem somos */
.prospecta-about-hero { color: #fff; }
.prospecta-about-main-title .elementor-heading-title { color: #fff; font: 600 52px/58px "Montserrat", Arial, sans-serif; }
.prospecta-about-metric { text-align: center; }
.prospecta-about-metric-value .elementor-heading-title { color: var(--prospecta-gold); font: 600 52px/58px "Montserrat", Arial, sans-serif; }
.prospecta-about-metric-label .elementor-heading-title { color: var(--prospecta-muted); font: 400 13px/18px "Inter", Arial, sans-serif; text-transform: uppercase; }
.prospecta-trajectory-copy .prospecta-body { color: var(--prospecta-brown); line-height: 27px; }
.prospecta-trajectory-image-wrap { position: relative; }
.prospecta-trajectory-image-wrap::after { content: ""; position: absolute; z-index: 0; right: -55px; top: -50px; width: 190px; height: calc(100% + 100px); opacity: .22; background: url("../media/home-section-pattern.png") center/contain no-repeat; }
.prospecta-trajectory-image { z-index: 1; }
.prospecta-mission-panel { color: #fff; }
.prospecta-mission-column { text-align: center; }
.prospecta-mission-label .elementor-heading-title { color: var(--prospecta-gold); font: 400 14px/20px "Inter", Arial, sans-serif; text-transform: uppercase; }
.prospecta-mission-text, .prospecta-mission-text p { color: #f2f2f2; font: 400 18px/25px "Inter", Arial, sans-serif; }
.prospecta-mission-divider { flex: 0 0 1px; align-self: center; background: var(--prospecta-gold); }
.prospecta-about-team { color: var(--prospecta-ink); }
.prospecta-team-heading { margin-inline: auto; text-align: center; }
.prospecta-team-heading .prospecta-body { color: var(--prospecta-brown); line-height: 25px; }
.prospecta-profile-photo img { object-position: center 25%; }
.prospecta-profile-photo.is-marcela img { object-position: 66% 28%; }
.prospecta-profile-degree .elementor-heading-title { color: var(--prospecta-gold); font: 400 12px/18px "Inter", Arial, sans-serif; text-transform: uppercase; }
.prospecta-profile-name .elementor-heading-title { color: var(--prospecta-ink); font: 600 20px/26px "Montserrat", Arial, sans-serif; }
.prospecta-profile-bio, .prospecta-profile-bio p { color: var(--prospecta-black); font: 400 14px/20px "Inter", Arial, sans-serif; }

/* Serviços */
.prospecta-services-hero { color: #fff; }
.prospecta-services-hero-copy .prospecta-hero-text { line-height: 30px; }
.prospecta-catalogue-label .elementor-heading-title { color: var(--prospecta-gold); font: 400 14px/20px "Inter", Arial, sans-serif; text-transform: uppercase; }
.prospecta-catalogue-list { border-top: 1px solid rgba(255,255,255,.13); }
.prospecta-catalogue-row { min-height: 62px; padding: 0; border-bottom: 1px solid rgba(255,255,255,.13); align-items: center !important; }
.prospecta-catalogue-row .prospecta-service-index-number { width: 34px !important; flex-basis: 34px; }
.prospecta-catalogue-row .prospecta-service-index-number .elementor-heading-title { font: 400 14px/20px "Inter", Arial, sans-serif; }
.prospecta-catalogue-row .prospecta-service-index-title .elementor-heading-title { color: #fff; font: 600 15px/21px "Montserrat", Arial, sans-serif; text-transform: uppercase; }
.prospecta-catalogue-row .prospecta-service-index-arrow .elementor-heading-title { color: #fff; font-size: 20px; }
.prospecta-catalogue-row:hover .prospecta-service-index-arrow { transform: translateX(5px); }

.prospecta-service-detail { color: #fff; scroll-margin-top: 72px; }
.prospecta-service-detail.tone-ivory { color: var(--prospecta-black); }
.prospecta-service-kicker .elementor-heading-title { color: var(--prospecta-gold); font: 400 13px/20px "Inter", Arial, sans-serif; text-transform: uppercase; }
.prospecta-service-body, .prospecta-service-body p { color: #f2f2f2; font: 400 16px/22px "Inter", Arial, sans-serif; }
.prospecta-service-detail.tone-ivory .prospecta-service-body,
.prospecta-service-detail.tone-ivory .prospecta-service-body p { color: var(--prospecta-black); }
.prospecta-service-list .elementor-icon-list-items { margin: 0; }
.prospecta-service-list .elementor-icon-list-item { min-height: 40px; padding: 8px 0; border-bottom: 1px solid rgba(201,168,76,.12); }
.prospecta-service-list .elementor-icon-list-icon { width: 28px; }
.prospecta-service-list .elementor-icon-list-icon i { color: var(--prospecta-gold); font-size: 16px; }
.prospecta-service-list .elementor-icon-list-text { color: inherit; font: 400 15px/22px "Inter", Arial, sans-serif; }
.prospecta-service-image-wrap { position: relative; }
.prospecta-service-image-number { width: 98px !important; height: 98px; position: absolute !important; right: 0; bottom: 0; z-index: 2; display: flex; align-items: center; justify-content: center; background: #000; }
.prospecta-service-detail.tone-charcoal .prospecta-service-image-number { background: var(--prospecta-ink); }
.prospecta-service-detail.tone-ivory .prospecta-service-image-number { background: var(--prospecta-ivory); }
.prospecta-service-image-number .elementor-heading-title { color: var(--prospecta-gold); font: 600 52px/58px "Montserrat", Arial, sans-serif; }

/* Contato */
.prospecta-contact-card { box-shadow: 0 16px 60px rgba(0,0,0,.13); }
.prospecta-contact-copy { color: #fff; }
.prospecta-contact-title .elementor-heading-title { color: #fff; font: 600 40px/46px "Montserrat", Arial, sans-serif; }
.prospecta-contact-intro, .prospecta-contact-intro p { color: var(--prospecta-muted); font: 400 18px/24px "Inter", Arial, sans-serif; }
.prospecta-contact-info { border-top: 1px solid rgba(201,168,76,.14); }
.prospecta-contact-info-row { padding: 22px 0 30px; border-bottom: 1px solid rgba(201,168,76,.14); }
.prospecta-contact-info-row:last-child { padding-bottom: 0; border-bottom: 0; }
.prospecta-contact-info-label .elementor-heading-title { color: var(--prospecta-gold); font: 400 14px/20px "Inter", Arial, sans-serif; text-transform: uppercase; }
.prospecta-contact-info-value .elementor-heading-title { color: #fff; font: 400 16px/22px "Inter", Arial, sans-serif; }
.prospecta-form .elementor-form-fields-wrapper { row-gap: 28px; }
.prospecta-form .elementor-field-group { margin-bottom: 0 !important; }
.prospecta-form .elementor-field-label { display: none; }
.prospecta-form .elementor-field-type-textarea .elementor-field-label {
  display: block;
  width: 100%;
  margin: 0 0 2px;
  color: var(--prospecta-ink);
  font: 400 14px/20px "Inter", Arial, sans-serif;
  text-transform: uppercase;
}
.prospecta-form .elementor-field,
.prospecta-form .elementor-field-textual {
  min-height: 40px;
  padding: 0 0 9px;
  border: 0;
  border-bottom: 1px solid rgba(77,70,55,.32);
  border-radius: 0;
  outline: 0;
  color: var(--prospecta-ink);
  background: transparent;
  font: 400 16px/20px "Inter", Arial, sans-serif;
  box-shadow: none;
}
.prospecta-form textarea.elementor-field { min-height: 132px; padding-top: 10px; resize: none; }
.prospecta-form .elementor-field::placeholder { color: var(--prospecta-ink); opacity: 1; }
.prospecta-form .elementor-field:focus { border-bottom-color: var(--prospecta-gold); box-shadow: none; }
.prospecta-form .elementor-button {
  min-width: 217px;
  min-height: 52px;
  padding: 15px 45px;
  border-radius: 4px;
  background: var(--prospecta-gold);
  color: var(--prospecta-ivory);
  font: 600 16px/22px "Montserrat", Arial, sans-serif;
  text-transform: uppercase;
  transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
}
.prospecta-form .elementor-button::after { content: "›"; margin-left: 10px; font-size: 24px; line-height: 10px; }
.prospecta-form .elementor-button:hover { background: var(--prospecta-gold-dark); transform: translateY(-2px); box-shadow: 0 12px 24px rgba(63,47,10,.18); }

/* Footer */
.prospecta-footer-logo img { object-fit: contain; }
.prospecta-footer-nav { width: auto !important; }
.prospecta-kit-active .prospecta-footer-nav .elementor-nav-menu--main .elementor-item { padding: 8px 22px; color: var(--prospecta-ink); font: 400 18px/24px "Inter", Arial, sans-serif; }
.prospecta-footer-nav .elementor-nav-menu--main .elementor-item:hover,
.prospecta-footer-nav .elementor-nav-menu--main .elementor-item.elementor-item-active { color: var(--prospecta-gold); }
.prospecta-social-icons { width: auto !important; }
.prospecta-social-icons .elementor-social-icon { background: transparent !important; color: var(--prospecta-black) !important; font-size: 20px; }
.prospecta-social-icons .elementor-social-icon:hover { color: var(--prospecta-gold) !important; transform: translateY(-2px); }
.prospecta-footer-bottom { border-top: 1px solid var(--prospecta-black); }
.prospecta-footer-legal, .prospecta-footer-legal p { color: var(--prospecta-ink); font: 400 12px/16px "Inter", Arial, sans-serif; }

/* Página de design system */
.prospecta-design-hero { color: #fff; }
.prospecta-design-title .elementor-heading-title { color: #fff; font: 600 52px/58px "Montserrat", Arial, sans-serif; }
.prospecta-design-hero .prospecta-body { color: var(--prospecta-muted); }
.prospecta-swatch { border: 1px solid rgba(30,30,30,.12); border-radius: 4px; }
.prospecta-swatch-name .elementor-heading-title { font: 600 18px/24px "Montserrat", Arial, sans-serif; }
.prospecta-swatch-value .elementor-heading-title { font: 400 14px/20px "Inter", Arial, sans-serif; }
.swatch-gold { color: #121212; background: #c9a84c; }
.swatch-ivory { color: #121212; background: #f5f0e8; }
.swatch-ink { color: #fff; background: #1e1e1e; }
.swatch-black { color: #fff; background: #121212; }
.swatch-brown { color: #fff; background: #4d4637; }
.swatch-muted { color: #121212; background: #d4d4d4; }
.prospecta-design-h1 .elementor-heading-title { font: 600 64px/70px "Montserrat", Arial, sans-serif; }
.prospecta-design-h2 .elementor-heading-title { font: 600 40px/46px "Montserrat", Arial, sans-serif; }
.prospecta-design-h3 .elementor-heading-title { font: 600 20px/26px "Montserrat", Arial, sans-serif; }
.prospecta-design-form-shell { border: 1px solid var(--prospecta-gold); border-radius: 4px; background: var(--prospecta-ivory); }

/* Layout, spacing, responsive widths and backgrounds are controlled natively by Elementor. */
/* Subtle parallax only; entrance animation is controlled by Elementor Motion Effects. */
.prospecta-parallax-subtle { overflow: hidden; }
.prospecta-parallax-subtle .elementor-widget-image img,
.elementor-widget-image.prospecta-parallax-subtle img {
  transform: translate3d(0, var(--prospecta-parallax-y, 0), 0) scale(1.01);
  transform-origin: center;
  will-change: transform;
}

@media (max-width: 1024px) {
  .prospecta-main-nav { margin-left: auto; }
  .prospecta-main-nav .elementor-menu-toggle { color: var(--prospecta-ink); background: transparent; }
  .prospecta-main-nav .elementor-nav-menu--dropdown { background: #fff; box-shadow: 0 18px 35px rgba(0,0,0,.12); }
  .prospecta-main-nav .elementor-nav-menu--dropdown .elementor-item { color: var(--prospecta-ink); }
}

@media (max-width: 767px) {
  .prospecta-eyebrow .elementor-heading-title::after { width: 50px; flex-basis: 50px; }
  .prospecta-trajectory-image-wrap::after { display: none; }
  .prospecta-mission-divider { min-height: 1px !important; height: 1px; flex-basis: auto; }
  .prospecta-form .elementor-form-fields-wrapper { row-gap: 22px; }
  .prospecta-form .elementor-button { width: 100%; }
  .prospecta-footer-main { text-align: center; }
  .prospecta-footer-side { align-items: center !important; }
  .prospecta-footer-nav .elementor-nav-menu { display: flex; flex-direction: column; align-items: center; }
  .prospecta-footer-nav .elementor-nav-menu--main .elementor-item { padding-block: 7px; }
  .prospecta-footer-bottom { align-items: center !important; text-align: center; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .animated { animation: none !important; }
  .elementor-invisible { visibility: visible !important; }
  .prospecta-parallax-subtle .elementor-widget-image img,
  .elementor-widget-image.prospecta-parallax-subtle img { transform: none !important; }
}
