.elementor-1452 .elementor-element.elementor-element-c252354{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:-3px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}/* Start custom CSS for html, class: .elementor-element-177fafe *//* ===========================================================================
   PLACEFLEX · PÁGINA CONTATO
   Prefixo .pfc (placeflex contact): não conflita com os outros componentes.
   Cole em: Elementor > Configurações do site > CSS personalizado.
   Tipografia do projeto: Sora = títulos | Inter = todo o restante.
   =========================================================================== */

.pfc {
  --pfc-bg: #0A0F1A;
  --pfc-panel: #0F1626;
  --pfc-panel-2: #141C31;
  --pfc-border: #232C4A;
  --pfc-text: #F4F6FF;
  --pfc-text-2: #BAC2DE;
  --pfc-text-3: #8F99BC;
  --pfc-violet: #A78BFA;
  --pfc-purple: #7C3AED;
  --pfc-blue: #0066FF;
  --pfc-cyan: #00C2FF;
  --pfc-head: 'Sora', 'Inter', system-ui, sans-serif;
  --pfc-font: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;

  position: relative;
  width: 100%;
  font-family: var(--pfc-font);
  font-size: 16px;
  line-height: 1.6;
  color: var(--pfc-text);

  /* Fundo próprio, de ponta a ponta, sem depender do container do Elementor */
  background: var(--pfc-bg);
  box-shadow: 0 0 0 100vmax var(--pfc-bg);
  clip-path: inset(0 -100vmax);
}

.pfc *,
.pfc *::before,
.pfc *::after { box-sizing: border-box; }

.pfc p { margin: 0; }

.pfc .pfc-inner {
  max-width: 980px;
  margin: 0 auto;
  padding: 72px 24px 96px;
}

/* ---------------------------------------------------------------------------
   TIPOGRAFIA: Sora só em títulos; Inter em todo o resto
   --------------------------------------------------------------------------- */
.pfc,
.pfc :is(p, li, span, a, div, small, strong) {
  font-family: var(--pfc-font) !important;
}

.pfc :is(h1, h2, h3, h4) {
  font-family: var(--pfc-head) !important;
  color: var(--pfc-text) !important;
  letter-spacing: -.01em;
}

/* ---------------------------------------------------------------------------
   1. Topo
   --------------------------------------------------------------------------- */
.pfc .pfc-hero {
  position: relative;
  text-align: center;
  padding-top: 8px;
}

.pfc .pfc-hero::before {
  content: "";
  position: absolute;
  top: -72px; left: -10%; right: -10%;
  height: 340px;
  background: radial-gradient(ellipse at 50% 0%,
              rgba(124, 58, 237, .36),
              rgba(0, 102, 255, .12) 45%,
              transparent 70%);
  pointer-events: none;
}

.pfc .pfc-hero > * { position: relative; }

.pfc .pfc-eyebrow {
  display: inline-block;
  margin-bottom: 14px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--pfc-violet) !important;
}

.pfc .pfc-h1 {
  margin: 0 0 14px;
  font-size: clamp(32px, 5vw, 52px);
  font-weight: 700;
  line-height: 1.15;
}

.pfc .pfc-lead {
  max-width: 560px;
  margin: 0 auto;
  font-size: 18px;
  color: var(--pfc-text-2) !important;
}

/* ---------------------------------------------------------------------------
   2. Canais
   --------------------------------------------------------------------------- */
.pfc .pfc-channels {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  margin-top: 56px;
}

.pfc .pfc-card {
  display: flex;
  flex-direction: column;
  padding: 32px 28px 28px;
  border-radius: 20px;
  background: linear-gradient(180deg, var(--pfc-panel-2), var(--pfc-panel));
  border: 1px solid var(--pfc-border);
  transition: border-color .2s ease, box-shadow .2s ease;
}

.pfc .pfc-card:hover {
  border-color: #3A4570;
  box-shadow: 0 18px 50px rgba(124, 58, 237, .16);
}

.pfc .pfc-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px; height: 56px;
  margin-bottom: 22px;
  border-radius: 16px;
  color: #fff;
  background: linear-gradient(135deg, var(--pfc-purple), var(--pfc-blue));
}

.pfc .pfc-icon svg { width: 28px; height: 28px; }

.pfc .pfc-card__title {
  margin: 0 0 8px;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.2;
}

.pfc .pfc-card__text {
  font-size: 15.5px;
  line-height: 1.6;
  color: var(--pfc-text-2) !important;
}

.pfc .pfc-card__value {
  margin-top: 20px;
  padding: 14px 16px;
  border-radius: 12px;
  font-size: 18px;
  font-weight: 600;
  letter-spacing: -.005em;
  word-break: break-word;
  color: var(--pfc-text) !important;
  background: rgba(255, 255, 255, .04);
  border: 1px solid var(--pfc-border);
}

.pfc .pfc-btn {
  display: block;
  margin-top: auto;
  padding: 15px 18px;
  border-radius: 12px;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none !important;
  color: #fff !important;
  background: linear-gradient(90deg, var(--pfc-purple), var(--pfc-blue));
  transition: transform .2s ease, box-shadow .2s ease;
}

/* o espaço acima do botão fica sempre igual, mesmo com cards de alturas diferentes */
.pfc .pfc-card__value + .pfc-btn { margin-top: 24px; }

.pfc .pfc-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 26px rgba(124, 58, 237, .4);
}

.pfc .pfc-btn:focus-visible,
.pfc .pfc-link:focus-visible {
  outline: 2px solid var(--pfc-cyan);
  outline-offset: 3px;
}

/* ---------------------------------------------------------------------------
   3. Antes de escrever
   --------------------------------------------------------------------------- */
.pfc .pfc-help {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-top: 40px;
  padding: 28px 30px;
  border-radius: 18px;
  background: rgba(124, 58, 237, .10);
  border: 1px solid rgba(124, 58, 237, .35);
}

.pfc .pfc-help__title {
  margin: 0 0 4px;
  font-size: 19px;
  font-weight: 600;
  line-height: 1.3;
}

.pfc .pfc-help__text {
  max-width: 520px;
  font-size: 15px;
  color: var(--pfc-text-2) !important;
}

.pfc .pfc-help__links {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.pfc .pfc-link {
  display: inline-block;
  padding: 12px 20px;
  border-radius: 12px;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none !important;
  white-space: nowrap;
  color: #fff !important;
  border: 1px solid #3A4570;
  transition: background .2s ease, border-color .2s ease;
}

.pfc .pfc-link:hover {
  background: var(--pfc-purple);
  border-color: var(--pfc-purple);
}

/* ---------------------------------------------------------------------------
   Responsivo
   --------------------------------------------------------------------------- */
@media (max-width: 760px) {
  .pfc .pfc-inner { padding: 48px 16px 64px; }
  .pfc .pfc-channels { grid-template-columns: 1fr; margin-top: 40px; }
  .pfc .pfc-lead { font-size: 16.5px; }
  .pfc .pfc-help { flex-direction: column; align-items: flex-start; padding: 24px 22px; }
}

@media (prefers-reduced-motion: reduce) {
  .pfc *,
  .pfc *::before,
  .pfc *::after { transition: none !important; }
}/* End custom CSS */