
/* GFoundry text links, option A. Shared by PT and EN.
   Only explicitly migrated links use this component. No button/nav reset.
   Colours and type sizes remain inherited from each existing section. */
a.gf-link-chevron { text-decoration:none!important; }
a.gf-link-chevron.gf-link-chevron--inline {
  display:inline-flex; align-items:center; gap:8px; max-width:100%;
  border-bottom:0!important; vertical-align:baseline;
}
a.gf-link-chevron .gf-link-label {
  min-width:0; text-decoration:none!important; border-bottom:0!important;
}
a.gf-link-chevron .gf-link-chevron-icon {
  display:inline-block!important; position:relative!important;
  flex:0 0 16px; width:16px!important; height:16px!important;
  margin:0 0 0 8px; padding:0!important; vertical-align:-2px;
  background:none!important; border:0!important; float:none!important;
  color:inherit!important; opacity:1!important; font-size:inherit!important;
  top:auto!important; right:auto!important; bottom:auto!important; left:auto!important;
  transform:none; transition:transform .16s ease;
}
a.gf-link-chevron.gf-link-chevron--inline .gf-link-chevron-icon { margin:0; }
a.gf-link-chevron .gf-link-chevron-icon::before {
  content:""; display:block; position:absolute; width:6px; height:6px;
  /* Optical alignment with Source Sans Pro; scales with the link font. */
  top:calc(50% + .08em); left:3px; border:0; border-top:1.7px solid currentColor;
  border-right:1.7px solid currentColor; transform:translateY(-50%) rotate(45deg);
}
a.gf-link-chevron .gf-link-chevron-icon::after { content:none!important; }
a.gf-link-chevron:hover .gf-link-label,
a.gf-link-chevron:focus-visible .gf-link-label {
  text-decoration:underline!important; text-decoration-thickness:1px;
  text-underline-offset:4px;
}
a.gf-link-chevron:hover .gf-link-chevron-icon,
a.gf-link-chevron:focus-visible .gf-link-chevron-icon { transform:translateX(3px); }
a.gf-link-chevron:focus-visible { outline:2px solid currentColor; outline-offset:5px; }
@media (prefers-reduced-motion:reduce) {
  a.gf-link-chevron .gf-link-chevron-icon { transition:none; }
  a.gf-link-chevron:hover .gf-link-chevron-icon,
  a.gf-link-chevron:focus-visible .gf-link-chevron-icon { transform:none; }
}
/* GFoundry website design system - Eyebrow A
 * Approved 5 October 2026. One component for PT and EN.
 * Use a paragraph before its heading; never an H6 solely for visual styling.
 * Typography is global. Layout alignment and contrast use explicit modifiers.
 */
:root {
  /* Approved 7 October 2026: shared blue-black for previously black heroes. */
  --gf-hero-dark-bg: #151b26;
  --gf-eyebrow-font: "Source Sans Pro", sans-serif;
  --gf-eyebrow-size: 14px;
  --gf-eyebrow-weight: 600;
  --gf-eyebrow-leading: 1.4;
  --gf-eyebrow-gap: 16px;
  --gf-eyebrow-color: #bc2c58;
  --gf-eyebrow-inverse: #ffb0c8;
  --gf-eyebrow-on-color: #ffffff;
}

/* Repeated class specificity protects the component from legacy theme rules.
 * Important declarations also neutralise WPBakery's inline typography.
 * This selector targets the component only, never all paragraphs or headings.
 */
body .gf-eyebrow.gf-eyebrow {
  display: block !important;
  font-family: var(--gf-eyebrow-font) !important;
  font-size: var(--gf-eyebrow-size) !important;
  font-weight: var(--gf-eyebrow-weight) !important;
  font-style: normal !important;
  line-height: var(--gf-eyebrow-leading) !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  color: var(--gf-eyebrow-color) !important;
  margin: 0 0 var(--gf-eyebrow-gap) !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
  width: auto !important;
  max-width: none !important;
}

/* No decorative rules, lines or icons attached to the label. */
body .gf-eyebrow.gf-eyebrow::before,
body .gf-eyebrow.gf-eyebrow::after {
  content: none !important;
  display: none !important;
}

/* Centred sections remain centred. The default inherits the title's context. */
body .gf-eyebrow.gf-eyebrow--center { text-align: center !important; }
body .gf-eyebrow.gf-eyebrow--inverse { color: var(--gf-eyebrow-inverse) !important; }
body .gf-eyebrow.gf-eyebrow--on-color { color: var(--gf-eyebrow-on-color) !important; }

/* Compatibility with older WPBakery columns whose heading has a 10px inset.
 * New blocks normally need only gf-eyebrow, with no layout modifier.
 */
body .gf-eyebrow.gf-eyebrow--inset { padding-inline: 10px !important; }

/* Do not add a second margin above the following heading. */
.gf-eyebrow + :is(h1,h2,h3,h4) { margin-top: 0 !important; }


/* Shared closing CTA. Insert the EN/PT source page once; never copy its CSS.
 * Theme vc_btn buttons supply their own shape, colour, hover and focus states.
 * Only layout and editorial type are defined here. */
.gf-footer-cta-host, .gf-footer-cta.wpb_content_element { margin-bottom:0; }
.gf-footer-cta .gf-footer-cta-inner {
  display:grid; grid-template-columns:1.1fr 1fr; gap:72px;
  align-items:center; max-width:1140px; margin:0 auto; padding:80px 32px;
}
.gf-footer-cta .gf-footer-cta-heading {
  color:#fff!important; font-family:"Source Sans Pro",sans-serif;
  font-size:42px; font-weight:800; line-height:1.15; letter-spacing:-.02em;
  margin:0; max-width:520px; text-transform:none;
}
.gf-footer-cta .gf-footer-cta-description {
  color:#d1d8e2!important; font-size:18px; font-weight:400;
  line-height:1.65; margin:0 0 28px; max-width:510px;
}
.gf-footer-cta .gf-footer-cta-actions {
  display:flex; flex-wrap:wrap; align-items:center; gap:14px;
}
.gf-footer-cta .gf-footer-cta-actions .vc_btn3-container { margin:0; }
.gf-footer-cta .gf-footer-cta-actions .vc_btn3 { white-space:normal; }
.gf-footer-cta .gf-footer-cta-actions .vc_btn3:focus-visible {
  outline:2px solid #ffb0c8; outline-offset:5px;
}
@media (max-width:767px) {
  .gf-footer-cta .gf-footer-cta-inner {
    grid-template-columns:1fr; gap:24px; padding:52px 24px;
  }
  .gf-footer-cta .gf-footer-cta-heading { font-size:32px; }
  .gf-footer-cta .gf-footer-cta-description { font-size:18px; margin-bottom:24px; }
}



/* Product solution hero B. Approved 5 October 2026.
   Add gf-product-hero to a full-width WPBakery row. Shared PT/EN component.
   Keep supporting copy and all following sections in the page builder. */
body .gf-product-hero {
 --gf-product-gradient:linear-gradient(100deg,#5d83ff 0%,#a276ff 32%,#e05dcd 62%,#ff6481 84%,#ff7860 100%);
 background:var(--gf-hero-dark-bg); color:#fff; text-align:center;
 padding:86px 32px 80px; margin-top:0; margin-bottom:0; overflow:hidden;
}
body .gf-product-hero > .wpb_column > .vc_column-inner {padding:0}
body .gf-product-hero .wpb_text_column {margin-bottom:0}
body .gf-product-hero__inner {max-width:940px;margin:0 auto}
body .gf-product-hero h1.gf-product-hero__title {
 font:700 60px/1.08 "Source Sans Pro",sans-serif!important;
 letter-spacing:-.025em!important; margin:0 auto 24px!important;
 max-width:100%;width:fit-content;text-transform:none!important;
 color:#fff!important;background:none;-webkit-text-fill-color:currentColor;
}
body .gf-product-hero__plain, body .gf-product-hero__focus {
 display:block;width:fit-content;max-width:100%;margin-inline:auto;
}
body .gf-product-hero__focus {color:#fff}
@supports ((background-clip:text) or (-webkit-background-clip:text)) {
 body .gf-product-hero__focus {background:var(--gf-product-gradient);
 background-clip:text;-webkit-background-clip:text;color:transparent;
 -webkit-text-fill-color:transparent}
}
body .gf-product-hero .gf-product-hero__lead {
 font:400 22px/1.5 "Source Sans Pro",sans-serif!important;
 color:#c7ccd4!important;max-width:770px;margin:0 auto 30px!important;
}
body .gf-product-hero__actions {
 display:flex;justify-content:center;flex-wrap:wrap;gap:16px;align-items:center;
}
body .gf-product-hero__actions .vc_btn3-container {margin:0!important}
body .gf-product-hero__actions .vc_btn3 {white-space:normal}
body .gf-product-hero a:focus-visible {outline:3px solid white!important;outline-offset:5px!important}
body .gf-product-hero__media {max-width:600px;margin:40px auto 0!important}
body .gf-product-hero__media img {max-width:100%;height:auto}
body .gf-product-hero-anchor {height:0;scroll-margin-top:100px}
@media(max-width:1024px) {
 body .gf-product-hero h1.gf-product-hero__title {font-size:52px!important}
}
@media(max-width:767px) {
 body .gf-product-hero {padding:48px 24px 50px}
 body .gf-product-hero h1.gf-product-hero__title {
 font-size:40px!important;line-height:1.08!important;
 letter-spacing:-.02em!important;margin-bottom:22px!important}
 body .gf-product-hero .gf-product-hero__lead {
 font-size:19px!important;line-height:1.5!important;margin-bottom:26px!important}
 body .gf-product-hero__actions {gap:12px}
 body .gf-product-hero__actions .vc_btn3 {font-size:16px!important}
}
@media(max-width:359px) {
 body .gf-product-hero h1.gf-product-hero__title {font-size:36px!important}
}
@media print {
 body .gf-product-hero__focus {background:none;color:inherit;-webkit-text-fill-color:currentColor}
}


/* WPBakery computes stretch-row horizontal padding at runtime.
   The inner copy owns mobile gutters so the title never touches the viewport. */
@media(max-width:767px) {
 body .gf-product-hero__inner {padding-inline:24px}
 body .gf-product-hero__media {max-width:calc(100% - 48px)}
}

/* Automatic internal links must respect the white hero eyebrow. */
body .gf-product-hero .gf-eyebrow a {color:inherit!important;-webkit-text-fill-color:currentColor}

/* GFoundry section introduction. Approved 6 October 2026.
   Explicit reusable class: never attach it to every paragraph.
   Colour inherits the section; links remain separate gf-link-chevron components.
   Global component maintained in Website design system, Code Snippets 16. */
body p.gf-section-lead.gf-section-lead {
 font-family:"Source Sans Pro",sans-serif!important;
 font-size:22px!important;
 font-weight:400!important;
 line-height:1.5!important;
 margin:0 0 24px;
 color:inherit;
}
@media(max-width:767px) {
 body p.gf-section-lead.gf-section-lead {font-size:20px!important;}
}


/* Industry Premium sections: define the light foreground on the section itself.
   Section leads inherit it in EN/PT, including newly created industry pages. */
.gf-is.gf-is-premium { color:#d8dfe7; }

/* Solution content sections. Shared PT/EN component, 6 October 2026.
   Pair with the approved gf-product-hero. No page IDs or local style blocks. */
body .gf-solution-section {
 background:#fff; color:#536071; margin:0; scroll-margin-top:100px;
}
body .gf-solution-section--soft {background:#f6f7f9;}
body .gf-solution-section--dark {background:#151b26;color:#d8dfe7;}
body .gf-solution-section > .wpb_column > .vc_column-inner {padding:0;}
body .gf-solution-section .wpb_content_element {margin-bottom:0;}
body .gf-solution-section__inner {max-width:1264px;margin:0 auto;padding:80px 32px;}
body .gf-solution-section__head {
 display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
 gap:64px;align-items:start;margin-bottom:48px;
}
body .gf-solution-section__head > div + div {padding-top:48px;}
body .gf-solution-section h2 {
 font:700 42px/1.15 "Source Sans Pro",sans-serif!important;
 letter-spacing:-.02em; text-transform:none; color:#171c26;
 background:none;-webkit-text-fill-color:currentColor;margin:0 0 24px;
}
body .gf-solution-section h3 {
 font:700 26px/1.25 "Source Sans Pro",sans-serif!important;
 letter-spacing:-.01em;text-transform:none;color:#171c26;
 background:none;-webkit-text-fill-color:currentColor;margin:0 0 18px;
}
body .gf-solution-section p {font:400 18px/1.65 "Source Sans Pro",sans-serif;color:inherit;margin:0 0 22px;}
body .gf-solution-section .gf-eyebrow {margin-bottom:24px;}
body .gf-solution-section--dark h2,body .gf-solution-section--dark h3 {color:#fff;}
body .gf-solution-section--dark .gf-link-chevron {color:#ffafc6;}
body .gf-solution-section .gf-link-chevron {font-size:18px;font-weight:600;}
body .gf-solution-section__media {max-width:1040px;margin:0 auto;}
body .gf-solution-section__media img {display:block;width:100%;height:auto;border:1px solid #e2e6eb;border-radius:20px;}
body .gf-solution-section p.gf-solution-section__caption {font-size:14px;line-height:1.5;margin:18px 0 0;text-align:center;}
body .gf-solution-section__grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;}
body .gf-solution-section__grid--two {grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 64px;}
body .gf-solution-section__item {border-top:1px solid #d5dce3;padding-top:26px;min-width:0;}
body .gf-solution-section p.gf-solution-section__index {font-size:14px;font-weight:600;color:#bc2c58;margin-bottom:24px;}
body .gf-solution-section__list .gf-solution-section__item {border-color:#3b4452;margin-bottom:32px;}
body .gf-solution-section__list .gf-solution-section__item:last-child {margin-bottom:0;}
body .gf-solution-section__links {display:flex;flex-wrap:wrap;gap:16px 28px;}
body .gf-solution-section--dark .gf-solution-section__head,
body .gf-solution-section--soft .gf-solution-section__head:last-child {margin-bottom:0;}
body .gf-solution-section--faq > .wpb_column > .vc_column-inner {max-width:1264px;margin:auto;padding:80px 32px;}
body .gf-solution-section--faq .gf-solution-section__inner {padding:0;}
body .gf-solution-section__faq {text-align:center;margin-bottom:40px;}
body .gf-solution-section .gf-solution-faq-toggle {margin:0!important;padding:24px 0;border-bottom:1px solid #d5dce3;}
body .gf-solution-section .gf-solution-faq-toggle .vc_toggle_title {padding:0 40px 0 0!important;border:0!important;}
body .gf-solution-section .gf-solution-faq-toggle .vc_toggle_title h4 {font:600 22px/1.4 "Source Sans Pro",sans-serif!important;color:#171c26;margin:0;text-transform:none;}
body .gf-solution-section .gf-solution-faq-toggle .vc_toggle_icon {left:auto!important;right:0!important;}
body .gf-solution-section .gf-solution-faq-toggle .vc_toggle_content {margin:18px 0 0;padding:0!important;width:auto!important;}
/* Scalia draws its toggle via ::after. Keep it aligned on multiline titles. */
body .gf-solution-section .gf-solution-faq-toggle .vc_toggle_title::after {position:absolute;right:0;top:50%;transform:translateY(-50%);float:none;}
body .gf-solution-section .gf-solution-faq-toggle .vc_toggle_title:focus-visible {outline:2px solid #bc2c58;outline-offset:6px;border-radius:4px;}
body .gf-solution-section .gf-solution-faq-toggle .vc_toggle_content p:last-child {margin-bottom:0;}
@media(max-width:1024px) {
 body .gf-solution-section__head,body .gf-solution-section__grid--two {gap:36px;}
}
@media(max-width:767px) {
 body .gf-solution-section__inner,body .gf-solution-section--faq > .wpb_column > .vc_column-inner {padding:48px 24px;}
 body .gf-solution-section--faq .gf-solution-section__inner {padding:0;}
 body .gf-solution-section__head {grid-template-columns:1fr;gap:12px;margin-bottom:32px;}
 body .gf-solution-section__head > div + div {padding-top:0;}
 body .gf-solution-section h2 {font-size:32px!important;margin-bottom:20px;}
 body .gf-solution-section h3 {font-size:24px!important;}
 body .gf-solution-section__grid,body .gf-solution-section__grid--two {grid-template-columns:1fr;gap:32px;}
 body .gf-solution-section__media img {border-radius:14px;}
 body .gf-solution-section .gf-solution-faq-toggle .vc_toggle_title h4 {font-size:20px!important;}
}


/* MCP flow: shared component copied from the EN homepage, 6 October 2026. */
/* ===== GFoundry · MCP Flow block ===== */
/* Fundo transparente. Fontes: usa a Source Sans 3 / Source Sans Pro se a página a carregar. */

.gf-mcp { background: transparent; color: #19191c; font-family: 'Source Sans 3', 'Source Sans Pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; display: flex; flex-direction: column; align-items: center; padding: 32px 24px 48px; box-sizing: border-box; }
.gf-mcp *, .gf-mcp *::before, .gf-mcp *::after { box-sizing: border-box; }

.gf-mcp__grid { width: 100%; max-width: 1160px; display: grid; grid-template-columns: minmax(340px, 460px) minmax(180px, 1fr) 272px; align-items: center; }

/* Chat */
.gf-mcp__chat { background: #fff; border: 1px solid #dfdfdf; border-radius: 12px; overflow: hidden; box-shadow: 0 1px 2px rgba(0,0,0,.04); }
.gf-mcp__chat-head { display: flex; align-items: center; gap: 10px; padding: 12px 16px; border-bottom: 1px solid #f0f0f0; }
.gf-mcp__dot { width: 9px; height: 9px; border-radius: 50%; background: #3da380; }
.gf-mcp__chat-title { font-size: 14px; font-weight: 700; }
.gf-mcp__chips { display: flex; gap: 6px; margin-left: auto; }
.gf-mcp__chip { display: flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 600; color: #686b71; background: #f3f4f6; border-radius: 10px; padding: 3px 9px; white-space: nowrap; }
.gf-mcp__chip i { font-size: 12px; }
.gf-mcp__chat-body { padding: 18px 16px 20px; display: flex; flex-direction: column; gap: 14px; min-height: 330px; }

.gf-mcp__user { align-self: flex-end; width: 88%; background: #eef0f6; color: #363b4d; border-radius: 16px 16px 6px 16px; padding: 11px 14px; font-size: 14.5px; line-height: 1.45; opacity: 0; transition: opacity .4s ease; min-height: 42px; }
.gf-mcp.is-on .gf-mcp__user { opacity: 1; }
.gf-mcp__caret { display: none; width: 2px; height: 15px; background: #686b71; margin-left: 2px; vertical-align: text-bottom; animation: gf-mcp-caret 1s step-end infinite; }
.gf-mcp[data-phase="typing"] .gf-mcp__caret { display: inline-block; }

.gf-mcp__think { display: none; align-self: flex-start; gap: 5px; padding: 12px 14px; background: #f6f7f9; border-radius: 16px 16px 16px 6px; }
.gf-mcp.ph-sent:not(.ph-insight) .gf-mcp__think { display: flex; }
.gf-mcp__think span { width: 7px; height: 7px; border-radius: 50%; background: #686b71; animation: gf-mcp-dots 1.1s ease-in-out infinite; }
.gf-mcp__think span:nth-child(2) { animation-delay: .18s; }
.gf-mcp__think span:nth-child(3) { animation-delay: .36s; }

.gf-mcp__insight { align-self: flex-start; max-width: 94%; border: 1px solid #f3e4ea; background: #fdfafb; border-radius: 16px 16px 16px 6px; padding: 13px 15px; opacity: 0; transform: translateY(14px); transition: opacity .5s ease, transform .5s ease; }
.gf-mcp.ph-insight .gf-mcp__insight { opacity: 1; transform: translateY(0); }
.gf-mcp__insight-tag { display: flex; align-items: center; gap: 7px; font-size: 11.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #e24d74; }
.gf-mcp__insight-text { margin-top: 7px; font-size: 14.5px; line-height: 1.45; font-weight: 600; }
.gf-mcp__actions { margin-top: 11px; display: flex; flex-direction: column; gap: 7px; }
.gf-mcp__action { display: flex; align-items: flex-start; gap: 9px; font-size: 13.5px; line-height: 1.4; color: #444649; opacity: 0; transform: translateX(10px); transition: opacity .45s ease, transform .45s ease; }
.gf-mcp__action i { margin-top: 2px; }
.gf-mcp.ph-insight .gf-mcp__action { opacity: 1; transform: translateX(0); }
.gf-mcp.ph-insight .gf-mcp__action:nth-child(1) { transition-delay: .35s; }
.gf-mcp.ph-insight .gf-mcp__action:nth-child(2) { transition-delay: .65s; }
.gf-mcp.ph-insight .gf-mcp__action:nth-child(3) { transition-delay: .95s; }

/* Connector */
.gf-mcp__conn { position: relative; height: 480px; }
.gf-mcp__svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.gf-mcp__svg .gf-line { fill: none; stroke-width: 2; stroke-linecap: round; opacity: .55; stroke-dasharray: 900; stroke-dashoffset: 900; transition: stroke-dashoffset 1.1s ease; }
.gf-mcp.ph-connect .gf-mcp__svg .gf-line { stroke-dashoffset: 0; }
.gf-mcp__svg .gf-flow { fill: none; stroke-width: 3; stroke-linecap: round; stroke-dasharray: 8 152; opacity: 0; transition: opacity .4s ease; animation: gf-mcp-flow 1.15s linear infinite; }
.gf-mcp.ph-fetch .gf-mcp__svg .gf-flow { opacity: .95; }

.gf-mcp__mcp { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%) scale(.85); transition: transform .5s ease; }
.gf-mcp.ph-connect .gf-mcp__mcp { transform: translate(-50%, -50%) scale(1); }
.gf-mcp__mcp-circle { width: 62px; height: 62px; border-radius: 50%; background: #e24d74; color: #fff; display: flex; align-items: center; justify-content: center; font-size: 15px; font-weight: 800; letter-spacing: .04em; }
.gf-mcp[data-phase="connect"] .gf-mcp__mcp-circle, .gf-mcp[data-phase="fetch"] .gf-mcp__mcp-circle { animation: gf-mcp-pulse 1.6s ease-in-out infinite; }

/* MCP badge mobile */
.gf-mcp__mcp-m { display: none; flex-direction: column; align-items: center; gap: 6px; padding: 4px 0; }
.gf-mcp__mcp-circle--sm { width: 54px; height: 54px; font-size: 13.5px; }
.gf-mcp__mcp-line { width: 3px; height: 22px; border-radius: 2px; opacity: .35; }
.gf-mcp__mcp-line--top { background: linear-gradient(#dfdfdf, #e24d74); }
.gf-mcp__mcp-line--bottom { background: linear-gradient(#e24d74, #dfdfdf); }
.gf-mcp.ph-connect .gf-mcp__mcp-line { opacity: 1; }

/* Plataformas */
.gf-mcp__pcol { display: flex; flex-direction: column; gap: 20px; }
.gf-mcp__card { display: flex; align-items: center; gap: 12px; background: #fff; border: 1px solid #dfdfdf; border-radius: 12px; padding: 13px 15px; transform: translateX(10px); transition: border-color .4s ease, box-shadow .4s ease, transform .4s ease; }
.gf-mcp.ph-connect .gf-mcp__card { border-color: var(--c); transform: translateX(0); }
.gf-mcp.ph-fetch .gf-mcp__card { box-shadow: 0 3px 10px rgba(0,0,0,.08); }
.gf-mcp__card--other { border-style: dashed; }
.gf-mcp__logo { width: 38px; height: 38px; border-radius: 10px; background: #fff; border: 1px solid #f0f0f0; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.gf-mcp__logo img { max-width: 28px; max-height: 26px; object-fit: contain; }
.gf-mcp__logo i { font-size: 17px; }
.gf-mcp__pinfo { display: flex; flex-direction: column; min-width: 0; }
.gf-mcp__pinfo strong { font-size: 14.5px; font-weight: 700; white-space: nowrap; }
.gf-mcp__pinfo small { font-size: 12px; color: #686b71; white-space: nowrap; }

/* Passos */
.gf-mcp__steps { margin-top: 30px; display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 26px; max-width: 1100px; }
.gf-mcp__step { display: flex; align-items: center; gap: 9px; font-size: 14px; color: #9a9da3; transition: color .4s ease; }
.gf-mcp__step-num { width: 22px; height: 22px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 700; background: #eceef0; color: #686b71; transition: background .4s ease, color .4s ease; }
.gf-mcp[data-phase="typing"] .gf-mcp__step:nth-child(1), .gf-mcp[data-phase="sent"] .gf-mcp__step:nth-child(1),
.gf-mcp[data-phase="connect"] .gf-mcp__step:nth-child(2),
.gf-mcp[data-phase="fetch"] .gf-mcp__step:nth-child(3),
.gf-mcp[data-phase="insight"] .gf-mcp__step:nth-child(4) { color: #19191c; font-weight: 700; }
.gf-mcp[data-phase="typing"] .gf-mcp__step:nth-child(1) .gf-mcp__step-num, .gf-mcp[data-phase="sent"] .gf-mcp__step:nth-child(1) .gf-mcp__step-num,
.gf-mcp[data-phase="connect"] .gf-mcp__step:nth-child(2) .gf-mcp__step-num,
.gf-mcp[data-phase="fetch"] .gf-mcp__step:nth-child(3) .gf-mcp__step-num,
.gf-mcp[data-phase="insight"] .gf-mcp__step:nth-child(4) .gf-mcp__step-num { background: #e24d74; color: #fff; }

/* Responsive */
@media (max-width: 859px) {
  .gf-mcp { padding: 20px 16px 36px; }
  .gf-mcp__grid { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .gf-mcp__grid > * { min-width:0; }
  .gf-mcp__conn { display: none; }
  .gf-mcp__mcp-m { display: flex; }
  .gf-mcp__pcol { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  /* Mobile platform labels need the full card width, particularly SAP SuccessFactors. */
  .gf-mcp__card { flex-direction:column; align-items:flex-start; gap:8px; padding:13px 12px; }
  .gf-mcp__pinfo { width:100%; overflow-wrap:anywhere; }
  .gf-mcp__card--other { grid-column: 1 / -1; flex-direction:row; align-items:center; }
  .gf-mcp__pinfo strong, .gf-mcp__pinfo small { white-space: normal; }
  .gf-mcp__chips { display: none; }
}

@keyframes gf-mcp-flow { to { stroke-dashoffset: -160; } }
@keyframes gf-mcp-caret { 0%, 55% { opacity: 1; } 56%, 100% { opacity: 0; } }
@keyframes gf-mcp-dots { 0%, 100% { opacity: .25; } 50% { opacity: 1; } }
@keyframes gf-mcp-pulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(226,77,116,.35); } 50% { box-shadow: 0 0 0 10px rgba(226,77,116,0); } }

@media (prefers-reduced-motion: reduce) {
  .gf-mcp, .gf-mcp * { transition: none !important; animation: none !important; }
}
/* Section wrapper for reusing the flow outside the homepage. */
.gf-mcp-section { padding:80px 0 48px; background:#fff; }
.gf-mcp-section__inner { max-width:1200px; margin:0 auto; padding:0 24px; }
.gf-mcp-section__head { text-align:center; margin:0 auto 12px; }
.gf-mcp-section__head h2 { margin:0 0 24px; font-weight:700; color:#14151b; }
.gf-mcp-section__head p.gf-section-lead { max-width:1120px; margin-left:auto; margin-right:auto; }
@media(max-width:767px) { .gf-mcp-section { padding:56px 0 32px; } .gf-mcp-section__inner { padding:0 16px; } }


/* Centred editorial hero. Same scale and soft background as the integrations reference.
 * Reuse this component for PT/EN; add only content and theme buttons in the page. */
.vc_row.gf-centered-hero {
 background:radial-gradient(ellipse 120% 90% at 50% -10%,#fdeef3 0%,#f7f8fa 46%,#fff 100%)!important;
 padding-top:clamp(56px,7vw,104px)!important;
 padding-bottom:clamp(48px,6vw,72px)!important;
 text-align:center; color:#14151b;
}
.gf-centered-hero__inner { max-width:860px; margin:0 auto; padding:0 clamp(20px,4vw,40px); }
/* Shared editorial H1 scale: centred modules and animated Gamification Engine.
 * Typography only; backgrounds, colours, motion and layout stay with each component. */
.gf-centered-hero .gf-centered-hero__title,
.ge-hero .ge-hero__title {
 font-family:"Source Sans Pro",sans-serif;
 font-size:clamp(34px,5vw,58px)!important;
 line-height:1.06!important;
 font-weight:800!important;
 letter-spacing:-.03em;
}
.gf-centered-hero .gf-centered-hero__title {
 margin:0 0 22px!important; color:#14151b!important; text-align:center;
 background:none!important; -webkit-text-fill-color:currentColor;
}
/* Centred hero actions: theme buttons, shared by PT and EN. */
.gf-centered-hero__actions {
 display:flex; justify-content:center; align-items:center;
 flex-wrap:wrap; gap:16px; margin-top:32px;
}
.gf-centered-hero__actions .vc_btn3-container { margin:0!important; }
.gf-centered-hero__focus { color:#e24d74; }
.gf-centered-hero p.gf-centered-hero__lead {
 font-family:"Source Sans Pro",sans-serif; font-size:clamp(17px,1.5vw,20px);
 line-height:1.6; font-weight:400; color:#54585f; max-width:60ch; margin:0 auto 20px;
}
.gf-centered-hero p.gf-centered-hero__lead:last-child { margin-bottom:36px; }


/* Product video and value prompts - approved 2026-10-06.
   Shared components for EN/PT; no page-ID selectors. */
.gf-video-section { padding:64px 0 72px; background:#fff; color:#536071; scroll-margin-top:110px; }
.gf-video-section__inner,.gf-value-section__inner { max-width:1180px; padding:0 24px; margin:0 auto; }
.gf-video-section__head { max-width:760px; margin:0 auto 32px; text-align:center; }
.gf-video-section h2,.gf-value-section h2 { font-family:"Source Sans Pro",sans-serif; font-size:42px; font-weight:800; line-height:1.15; letter-spacing:-.02em; text-transform:none; color:#171c26; margin:0 0 24px; }
.gf-video-section__head p.gf-section-lead { color:#536071; }
.gf-video-card { position:relative; max-width:1000px; margin:0 auto; aspect-ratio:16/9; overflow:hidden; isolation:isolate; background:#f5f6f7; }
.gf-video-card.max-rounded2 { margin:0 auto!important; }
.gf-video-card video { display:block; width:100%; height:100%; object-fit:contain; background:#fff; }
.gf-video-card__cover { display:block; position:absolute; inset:0; width:100%; height:100%; padding:0; margin:0; border:0; background:#f5f6f7; cursor:pointer; color:#fff; font-family:"Source Sans Pro",sans-serif; }
.gf-video-card__cover[hidden] { display:none!important; }
.gf-video-card .gf-video-card__cover img { display:block; width:100%; height:100%!important; object-fit:cover; margin:0!important; border-radius:0; box-shadow:none!important; }
.gf-video-card__control { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; }
.gf-video-card__play { display:grid; place-items:center; width:72px; height:72px; border-radius:50%; background:rgba(255,255,255,.96); color:#bc2c58; box-shadow:0 4px 24px rgba(21,28,38,.16); transition:transform .18s ease; }
.gf-video-card__play svg { display:block; width:24px; height:24px; margin-left:4px; fill:currentColor; }
.gf-video-card__label { padding:6px 16px; border-radius:999px; background:rgba(21,28,38,.9); color:#fff; font-size:16px; font-weight:600; line-height:1.4; }
.gf-video-card__cover:hover .gf-video-card__play { transform:scale(1.05); }
.gf-video-card__cover:focus-visible { outline:4px solid #bc2c58; outline-offset:-6px; }
.gf-video-card video:focus-visible { outline:3px solid #bc2c58; outline-offset:-4px; }
.gf-video-section__summary { max-width:1000px; margin:20px auto 0; font-size:15px; line-height:1.6; color:#536071; }
.gf-value-section { padding:64px 0; background:#f7f8fa; color:#536071; scroll-margin-top:110px; }
.gf-value-section__grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:64px; align-items:start; }
.gf-value-section__grid h2 { margin-bottom:0; }
.gf-value-section a.gf-link-chevron { color:#bc2c58; font-size:18px; font-weight:600; }
.gf-value-section p.gf-value-section__note { font-size:14px; line-height:1.6; margin:20px 0 0; color:#536071; }
.gf-link-stack { display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
@media (max-width:767px) {
 .gf-video-section,.gf-value-section { padding:48px 0; }
 .gf-video-section__inner,.gf-value-section__inner { padding:0 24px; }
 .gf-video-section h2,.gf-value-section h2 { font-size:32px; }
 .gf-video-section__head { margin-bottom:24px; }
 .gf-value-section__grid { grid-template-columns:minmax(0,1fr); gap:24px; }
 .gf-video-card__play { width:56px; height:56px; }
 .gf-video-card__label { font-size:14px; }
}
@media (prefers-reduced-motion:reduce) {
 .gf-video-card__play { transition:none; }
 .gf-video-card__cover:hover .gf-video-card__play { transform:none; }
}

.gf-video-section > .vc_column_container > .vc_column-inner,
.gf-value-section > .vc_column_container > .vc_column-inner { padding:0; }
.gf-video-section .wpb_content_element,.gf-value-section .wpb_content_element { margin-bottom:0; }

/* Editorial testimonials. Source: Scalia; reusable in any page or block. */
/* Reusable heading-to-carousel separation; padding avoids builder margin resets. */
.gf-testimonials-heading { padding-bottom:40px; }
@media(max-width:767px) { .gf-testimonials-heading { padding-bottom:28px; } }
.gf-testimonials { width:100%; max-width:1040px; margin:0 auto; color:#171c26; }
.gf-testimonials__viewport { display:flex; align-items:flex-start; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; scrollbar-width:none; border-radius:24px; background:#fff; }
.gf-testimonials__viewport::-webkit-scrollbar { display:none; }
.gf-testimonials__slide { flex:0 0 100%; min-width:0; scroll-snap-align:start; scroll-snap-stop:always; }
.gf-testimonials .gf-testimonials__figure { display:flex; flex-direction:column; justify-content:space-between; gap:36px; height:auto; margin:0; padding:48px 56px; }
.gf-testimonials .gf-testimonials__quote { margin:0; padding:0; border:0; background:none; font:inherit; font-size:26px; line-height:1.55; font-weight:400; font-style:normal; letter-spacing:-.015em; color:inherit; }
.gf-testimonials .gf-testimonials__quote::before,.gf-testimonials .gf-testimonials__quote::after,.gf-testimonials .gf-testimonials__quote p::before,.gf-testimonials .gf-testimonials__quote p::after { content:none!important; display:none!important; }
.gf-testimonials .gf-testimonials__quote p { margin:0 0 16px!important; font:inherit!important; color:inherit!important; }
.gf-testimonials .gf-testimonials__quote p:last-child { margin-bottom:0!important; }
.gf-testimonials__author { display:flex; align-items:center; gap:16px; margin:0; text-align:left; }
.gf-testimonials img.gf-testimonials__photo { flex:0 0 64px; width:64px; height:64px; margin:0; border-radius:50%; object-fit:cover; }
.gf-testimonials__identity { display:flex; flex-direction:column; gap:3px; min-width:0; }
.gf-testimonials .gf-testimonials__name { color:#171c26; font-size:17px; line-height:1.35; font-weight:700; }
.gf-testimonials .gf-testimonials__position,.gf-testimonials .gf-testimonials__company,.gf-testimonials .gf-testimonials__company a { font-size:14px; line-height:1.5; color:#526174; }
.gf-testimonials__case { margin-left:auto; font-size:15px!important; font-weight:600; color:#c12e5a!important; white-space:normal; }
.gf-testimonials__controls { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:20px 4px 0; }
.gf-testimonials__controls[hidden] { display:none!important; }
.gf-testimonials .gf-testimonials__status { margin:0!important; font-size:14px!important; line-height:1.5!important; color:#526174!important; }
.gf-testimonials__navigation { display:flex; gap:10px; }
.gf-testimonials .gf-testimonials__arrow { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; padding:0; border:1px solid #d6dce4; border-radius:50%; background:#fff; color:#171c26; cursor:pointer; box-shadow:none; transition:background .18s ease,border-color .18s ease; }
.gf-testimonials .gf-testimonials__arrow:hover { border-color:#aeb8c4; background:#f4f5f8; }
.gf-testimonials .gf-testimonials__arrow svg { display:block; }
.gf-testimonials__viewport:focus-visible,.gf-testimonials__arrow:focus-visible { outline:2px solid #c12e5a; outline-offset:4px; }
@media(max-width:767px) {
 .gf-testimonials__viewport { border-radius:20px; }
 .gf-testimonials .gf-testimonials__figure { padding:28px 24px; gap:28px; }
 .gf-testimonials .gf-testimonials__quote { font-size:21px; line-height:1.5; }
 .gf-testimonials__author { flex-wrap:wrap; gap:14px; }
 .gf-testimonials img.gf-testimonials__photo { flex-basis:52px; width:52px; height:52px; }
 .gf-testimonials__identity { flex:1; }
 .gf-testimonials__name { font-size:16px; }
 .gf-testimonials__case { flex:0 0 100%; margin:6px 0 0; }
}
@media(prefers-reduced-motion:reduce) {
 .gf-testimonials__arrow { transition:none!important; }
 .gf-testimonials__viewport { scroll-behavior:auto!important; }
}

/* Skills evidence: the person and existing skills stay central. Shared PT/EN. */
.gf-skills-evidence { color:#19212d; font-family:"Source Sans Pro",sans-serif; margin:0 0 48px; }
.gf-skills-evidence__stage { position:relative; isolation:isolate; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.08fr) minmax(0,1fr); grid-template-rows:1fr 1fr; align-items:center; gap:32px 62px; min-height:510px; padding:36px; background:#fff; border:1px solid #e1e6ed; border-radius:24px; overflow:hidden; }
.gf-skills-evidence__connections { position:absolute; inset:0; z-index:-1; width:100%; height:100%; pointer-events:none; }
.gf-skills-evidence__connections--mobile { display:none; }
.gf-skills-evidence__line { fill:none; stroke:#dfe5ee; stroke-width:1.5; vector-effect:non-scaling-stroke; }
.gf-skills-evidence__flow { fill:none; stroke-width:3; stroke-linecap:round; stroke-dasharray:5 95; stroke-dashoffset:100; vector-effect:non-scaling-stroke; opacity:0; }
.gf-skills-evidence__flow--learning { stroke:#4679c8; }
.gf-skills-evidence__flow--peers { stroke:#a3466d; }
.gf-skills-evidence__flow--evaluation { stroke:#378c73; }
.gf-skills-evidence__flow--practice { stroke:#7560bc; }
.gf-skills-evidence__source { min-width:0; padding:24px; background:#fbfcfe; border:1px solid #e2e7ee; border-radius:18px; }
.gf-skills-evidence__source--learning { grid-column:1; grid-row:1; --gf-skill-accent:#4679c8; --gf-skill-tint:#edf3fd; }
.gf-skills-evidence__source--peers { grid-column:3; grid-row:1; --gf-skill-accent:#a3466d; --gf-skill-tint:#fcf0f5; }
.gf-skills-evidence__source--evaluation { grid-column:1; grid-row:2; --gf-skill-accent:#378c73; --gf-skill-tint:#edf7f3; }
.gf-skills-evidence__source--practice { grid-column:3; grid-row:2; --gf-skill-accent:#7560bc; --gf-skill-tint:#f2effc; }
.gf-skills-evidence__icon { display:grid; place-items:center; width:42px; height:42px; border-radius:12px; color:var(--gf-skill-accent); background:var(--gf-skill-tint); margin-bottom:16px; }
.gf-skills-evidence__icon svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.gf-skills-evidence h3.gf-skills-evidence__source-title { font:700 21px/1.2 "Source Sans Pro",sans-serif!important; margin:0 0 10px; color:#19212d; letter-spacing:normal; }
.gf-skills-evidence .gf-skills-evidence__source-copy { font-size:16px; line-height:1.5; margin:0; color:#596575; }
.gf-skills-evidence__person { grid-column:2; grid-row:1 / 3; position:relative; text-align:center; min-width:0; padding:24px 12px; background:#fff; border-radius:24px; }
.gf-skills-evidence__portrait { display:grid; place-items:center; width:112px; height:112px; margin:0 auto 20px; background:radial-gradient(circle at 32% 24%,#fff 0%,#f3f0fa 56%,#e6e7f4 100%); border:1px solid #e7e3f0; border-radius:50%; position:relative; }
.gf-skills-evidence__portrait::after { content:""; position:absolute; inset:-10px; border:1px solid #e7e9f0; border-radius:50%; }
.gf-skills-evidence__portrait svg { width:76px; height:76px; }
.gf-skills-evidence h3.gf-skills-evidence__person-title { margin:0 0 8px; font:700 24px/1.2 "Source Sans Pro",sans-serif!important; color:#19212d; }
.gf-skills-evidence .gf-skills-evidence__person-copy { margin:0 auto 20px; max-width:22ch; font-size:16px; line-height:1.4; color:#596575; }
.gf-skills-evidence__skills { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; list-style:none; padding:0!important; margin:0!important; }
.gf-skills-evidence__skills li { padding:6px 12px; margin:0; border:1px solid #e1e5ec; border-radius:20px; font-size:14px; line-height:1.3; color:#455264; background:#f8f9fb; }
.gf-skills-evidence__signals { display:flex; justify-content:center; gap:8px; margin-top:20px; }
.gf-skills-evidence__signal { display:block; width:7px; height:7px; border-radius:50%; background:#dfe4eb; }
.gf-skills-evidence__signal--learning { --gf-skill-accent:#4679c8; }
.gf-skills-evidence__signal--peers { --gf-skill-accent:#a3466d; }
.gf-skills-evidence__signal--evaluation { --gf-skill-accent:#378c73; }
.gf-skills-evidence__signal--practice { --gf-skill-accent:#7560bc; }
.gf-skills-evidence__footer { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px 24px; padding-top:16px; }
.gf-skills-evidence .gf-skills-evidence__caption { margin:0; font-size:14px; line-height:1.5; color:#687383; }
.gf-skills-evidence__toggle { display:inline-flex; align-items:center; gap:8px; background:transparent; border:0; padding:8px 0; color:#596575; font:600 14px/1.4 "Source Sans Pro",sans-serif; cursor:pointer; }
.gf-skills-evidence__toggle[hidden] { display:none!important; }
.gf-skills-evidence__toggle svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.7; }
.gf-skills-evidence__toggle:focus-visible { outline:2px solid #bc2c58; outline-offset:5px; border-radius:3px; }
.gf-skills-evidence__toggle:hover { color:#bc2c58; }
.gf-skills-evidence[data-running] .gf-skills-evidence__flow { animation:gf-skills-evidence-flow 12s ease-in-out infinite; }
.gf-skills-evidence[data-running] .gf-skills-evidence__source { animation:gf-skills-evidence-source 12s ease-in-out infinite; }
.gf-skills-evidence[data-running] .gf-skills-evidence__signal { animation:gf-skills-evidence-signal 12s ease-in-out infinite; }
.gf-skills-evidence[data-running] :is(.gf-skills-evidence__flow--peers,.gf-skills-evidence__source--peers,.gf-skills-evidence__signal--peers) { animation-delay:3s; }
.gf-skills-evidence[data-running] :is(.gf-skills-evidence__flow--evaluation,.gf-skills-evidence__source--evaluation,.gf-skills-evidence__signal--evaluation) { animation-delay:6s; }
.gf-skills-evidence[data-running] :is(.gf-skills-evidence__flow--practice,.gf-skills-evidence__source--practice,.gf-skills-evidence__signal--practice) { animation-delay:9s; }
.gf-skills-evidence[data-running="false"] :is(.gf-skills-evidence__flow,.gf-skills-evidence__source,.gf-skills-evidence__signal),
.gf-skills-evidence[data-visible="false"] :is(.gf-skills-evidence__flow,.gf-skills-evidence__source,.gf-skills-evidence__signal) { animation-play-state:paused; }
@keyframes gf-skills-evidence-flow { 0%,2% { opacity:0; stroke-dashoffset:100; } 5% { opacity:.65; } 22% { opacity:.65; stroke-dashoffset:0; } 25%,100% { opacity:0; stroke-dashoffset:0; } }
@keyframes gf-skills-evidence-source { 0%,28%,100% { border-color:#e2e7ee; box-shadow:0 0 0 transparent; } 8%,20% { border-color:var(--gf-skill-accent); box-shadow:0 4px 20px var(--gf-skill-tint); } }
@keyframes gf-skills-evidence-signal { 0%,14%,33%,100% { background:#dfe4eb; } 20%,27% { background:var(--gf-skill-accent); } }
@media (max-width:900px) {
 .gf-skills-evidence__stage { grid-template-columns:minmax(0,1fr) minmax(0,1fr); grid-template-rows:180px 260px 180px; gap:24px; min-height:0; padding:24px; }
 .gf-skills-evidence__person { grid-column:1 / 3; grid-row:2; padding:20px 12px; justify-self:center; width:100%; max-width:320px; }
 .gf-skills-evidence__source--learning { grid-column:1; grid-row:1; }
 .gf-skills-evidence__source--peers { grid-column:2; grid-row:1; }
 .gf-skills-evidence__source--evaluation { grid-column:1; grid-row:3; }
 .gf-skills-evidence__source--practice { grid-column:2; grid-row:3; }
 .gf-skills-evidence__source { align-self:stretch; padding:18px; }
 .gf-skills-evidence__connections--desktop { display:none; }
 .gf-skills-evidence__connections--mobile { display:block; }
 .gf-skills-evidence__portrait { width:84px; height:84px; margin-bottom:18px; }
 .gf-skills-evidence__portrait svg { width:60px; height:60px; }
 .gf-skills-evidence .gf-skills-evidence__person-copy { max-width:none; margin-bottom:14px; }
 .gf-skills-evidence__signals { margin-top:14px; }
}
@media (max-width:600px) {
 .gf-skills-evidence { margin-bottom:32px; }
 .gf-skills-evidence__stage { padding:18px; gap:24px 14px; border-radius:18px; }
 .gf-skills-evidence__source { padding:14px; border-radius:14px; }
 .gf-skills-evidence__icon { width:32px; height:32px; margin-bottom:12px; border-radius:10px; }
 .gf-skills-evidence__icon svg { width:21px; height:21px; }
 .gf-skills-evidence h3.gf-skills-evidence__source-title { font-size:17px!important; margin-bottom:8px; }
 .gf-skills-evidence .gf-skills-evidence__source-copy { font-size:14px; line-height:1.4; }
 .gf-skills-evidence h3.gf-skills-evidence__person-title { font-size:22px!important; }
 .gf-skills-evidence .gf-skills-evidence__person-copy { font-size:15px; }
 .gf-skills-evidence__skills { gap:6px; }
 .gf-skills-evidence__skills li { font-size:13px; padding:5px 10px; }
}
@media (prefers-reduced-motion:reduce) {
 .gf-skills-evidence :is(.gf-skills-evidence__flow,.gf-skills-evidence__source,.gf-skills-evidence__signal) { animation:none!important; }
 .gf-skills-evidence__toggle { display:none!important; }
}


/* ===== Public homepage: EN and PT ===== */
/* GFoundry homepage components, approved for public EN/PT on 2026-10-06.
   Shared namespace gf-home; maintained in global design system snippet 16.
   Uses gf-eyebrow, gf-section-lead, gf-link-chevron, max-rounded2 and theme buttons. */
.gf-home { --home-ink:#151b26; --home-body:#4c5867; --home-accent:#bc2c58; --home-line:#dce0e4; color:var(--home-body); background:#fff; }
.gf-home, .gf-home * { box-sizing:border-box; }
.gf-home > .vc_column_container > .vc_column-inner { padding:0; }
.gf-home .wpb_content_element { margin-bottom:0; }
.gf-home-inner { max-width:1200px; padding:0 32px; margin:0 auto; }
.gf-home h1,.gf-home h2,.gf-home h3 { color:var(--home-ink); background:none; -webkit-text-fill-color:currentColor; letter-spacing:-.02em; text-transform:none; font-family:inherit; font-weight:700; }
.gf-home h1 { font-size:60px; line-height:1.08; margin:0 0 26px; }
.gf-home h1 em { color:var(--home-accent); font-style:normal; }
.gf-home h2 { font-size:40px; line-height:1.15; margin:0 0 24px; }
.gf-home h3 { font-size:24px; line-height:1.2; margin:0 0 16px; }
.gf-home p,.gf-home dd { font-size:18px; line-height:1.6; margin:0 0 22px; }
.gf-home p.gf-home-lead { font-size:22px; line-height:1.5; max-width:530px; margin-bottom:30px; }
.gf-home p.gf-home-small,.gf-home figcaption { font-size:14px; line-height:1.5; }
.gf-home figcaption { margin:18px 0 0; color:var(--home-body); }
.gf-home figure { margin:0; }
.gf-home .gf-link-chevron { font-size:17px; line-height:1.5; font-weight:600; color:var(--home-accent); }
.gf-home .gf-link-chevron:visited { color:var(--home-accent); }
.gf-home img { max-width:100%; height:auto; display:block; }
.gf-home-section { padding:88px 0; }
.gf-home-section-head { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start; margin-bottom:48px; }
.gf-home-section-head > p,.gf-home-section-head > div:nth-child(2) { padding-top:36px; }
.gf-home-section-head h2 { margin-bottom:0; }
/* Hero: clear category, concise promise, the original manual-play overview video. */
.gf-home-hero { background:#f8f7f4; padding:64px 0 56px; }
.gf-home-hero-grid { display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
.gf-home-actions { display:flex; gap:16px; flex-wrap:wrap; }
.gf-home-actions .vc_btn3-container { margin:0; }
.gf-home-hero-figure img { width:100%; box-shadow:0 14px 32px rgba(21,27,38,.09); }
/* Customer proof: existing brand assets, linked only to published case studies. */
.gf-home-trust-row { padding:24px 0; border-bottom:1px solid var(--home-line); }
.gf-home-trust p { margin:0 0 8px; font-size:15px; text-align:center; }
.gf-home-trust ul { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; list-style:none; padding:0; margin:0; }
.gf-home-trust li { flex:0 0 calc(100% / 7); display:flex; justify-content:center; align-items:center; padding:0 10px; }
.gf-home-trust li a { display:block; border-radius:4px; }
.gf-home-trust li a:hover { opacity:.75; }
.gf-home-trust li a:focus-visible { outline:2px solid var(--home-accent); outline-offset:4px; }
.gf-home .gf-home-trust img { display:block; width:128px; height:128px; max-width:100%; object-fit:contain; }
/* Editorial priorities: no ornamental cards, badges or competing buttons. */
.gf-home-priorities { display:grid; grid-template-columns:repeat(3,1fr); gap:40px; }
.gf-home-priorities article { border-top:1px solid var(--home-line); padding-top:24px; }
.gf-home-number { display:block; color:var(--home-accent); font-size:14px; font-weight:600; margin-bottom:20px; }
.gf-home-priorities h3 { max-width:280px; }
/* Editorial carousel backed by published Scalia testimonial records. */
.gf-home-proof { background:#f8f7f4; }
.gf-home-proof-head { text-align:center; }
.gf-home-proof .vc_row_inner { max-width:1040px; margin:0 auto; }
.gf-home-proof .testimonials { padding:0; }
.gf-home-proof-link { text-align:center; margin-top:28px; }
/* Product view: five full-resolution images, a stable frame and manual navigation. */
.gf-home-product-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
/* Reusable carousel, shared by the published EN/PT homepage components. */
.gf-home-carousel { min-width:0; position:relative; }
.gf-home-carousel__viewport { margin:0!important; display:flex; width:100%; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; scrollbar-width:none; overscroll-behavior-x:contain; }
.gf-home-carousel__viewport::-webkit-scrollbar { display:none; }
.gf-home-carousel__slide { flex:0 0 100%; min-width:0; scroll-snap-align:start; scroll-snap-stop:always; }
.gf-home .gf-home-carousel__slide img { margin:0!important; width:100%; height:auto; aspect-ratio:8/9; object-fit:contain; }
.gf-home-carousel__controls { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:20px; }
.gf-home-carousel__dots,.gf-home-carousel__arrows { display:flex; align-items:center; gap:8px; }
.gf-home-carousel__dots { gap:2px; }
.gf-home-carousel button { appearance:none; margin:0; padding:0; cursor:pointer; background:#fff; color:var(--home-ink); box-shadow:none; }
.gf-home-carousel__dot { width:28px; height:44px; border:0; display:grid; place-items:center; }
.gf-home-carousel__dot::before { content:""; display:block; width:7px; height:7px; border-radius:999px; background:#d5d9df; transition:width .18s ease,background .18s ease; }
.gf-home-carousel__dot[aria-current="true"]::before { width:24px; background:var(--home-accent); }
.gf-home-carousel__arrow { width:44px; height:44px; border:1px solid var(--home-line); border-radius:50%; display:grid; place-items:center; }
.gf-home-carousel__arrow:hover { background:#f8f7f4; border-color:var(--home-body); }
.gf-home-carousel__dot:hover::before { background:var(--home-accent); }
.gf-home-carousel button:focus-visible,.gf-home-carousel__viewport:focus-visible { outline:2px solid var(--home-accent); outline-offset:4px; }
.gf-home .gf-home-carousel__status { position:absolute; width:1px; height:1px; padding:0; margin:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }

.gf-home-benefits { margin:28px 0; }
.gf-home-benefits > div { border-top:1px solid var(--home-line); padding:18px 0; }
.gf-home-benefits dt { color:var(--home-ink); font-size:20px; line-height:1.4; font-weight:600; margin-bottom:6px; }
.gf-home-benefits dd { margin:0; }
/* Journey: reuse the existing homepage curve with shorter, meaningful labels. */
.gf-home-journey { background:#111426; --home-ink:#fff; --home-body:#d0d4df; }
.gf-home-journey .gf-link-chevron,.gf-home-journey .gf-link-chevron:visited { color:#ffb0c8; }
.gf-home-journey .gf-tlc { padding:0; background:transparent; color:#fff; overflow:hidden; }
.gf-home-journey .gf-tlc__wrap { width:100%; }
.gf-home-journey .gf-tlc__svg { width:100%; height:auto; display:block; overflow:visible; }
.gf-home-journey .gf-tlc__curve { stroke-dasharray:var(--gf-len,2600); stroke-dashoffset:0; opacity:1; }
.gf-home-journey .gf-tlc.is-on .gf-tlc__curve { animation:gf-home-curve 2s ease both; }
@keyframes gf-home-curve { from { stroke-dashoffset:var(--gf-len,2600); } to { stroke-dashoffset:0; } }
.gf-home-journey .gf-tlc__phase-g { cursor:pointer; }
.gf-home-journey .gf-tlc__halo { opacity:0; transition:opacity .3s; }
.gf-home-journey .gf-tlc__phase-g.is-active .gf-tlc__halo { opacity:.2; }
.gf-home-journey .gf-tlc__labels { position:relative; height:146px; margin-top:6px; }
.gf-home-journey .gf-tlc__label { position:absolute; top:0; width:17%; transform:translateX(-50%); text-align:center; cursor:pointer; }
.gf-home-journey .gf-tlc__name { font-size:26px; font-weight:700; line-height:1.3; color:#fff; }
.gf-home-journey .gf-tlc__bar { width:30px; height:2px; margin:10px auto; opacity:.3; }
.gf-home-journey .gf-tlc__label.is-active .gf-tlc__bar { opacity:1; }
.gf-home-journey .gf-tlc__desc { font-size:16px; line-height:1.45; color:#c9cfdb; }
.gf-home-journey .gf-tlc__label:focus-visible { outline:2px solid #ffb0c8; outline-offset:6px; }
/* Light talent lifecycle. Reusable PT/EN modifier; keep the coloured animated curve. */
body .gf-home-journey--light {
 background:#fff; color:#536071; --home-ink:#171c26; --home-body:#536071;
}
.gf-home-journey--light .gf-link-chevron,
.gf-home-journey--light .gf-link-chevron:visited {color:#bc2c58;}
.gf-home-journey--light .gf-tlc {color:#171c26;}
.gf-home-journey--light .gf-tlc__name {color:#171c26;}
.gf-home-journey--light .gf-tlc__desc {color:#536071;}
.gf-home-journey--light .gf-tlc__phase-g > line {stroke:rgba(21,27,38,.25);}
.gf-home-journey--light .gf-tlc__phase-g > circle:not([class]) {fill:#fff;}
.gf-home-journey--light .gf-tlc__label:focus-visible {outline-color:#bc2c58;}
/* AI remains compact and follows the platform explanation. */
.gf-home-ai-list { display:grid; grid-template-columns:1fr 1fr; gap:0 64px; }
.gf-home-ai-list article { border-top:1px solid var(--home-line); padding:24px 0; }
.gf-home-ai-list article p { margin-bottom:0; }
.gf-home-ai p.gf-home-small { margin:12px 0 0; }
.gf-home-confidence { background:#f8f7f4; }
.gf-home-confidence-list { display:grid; grid-template-columns:repeat(3,1fr); gap:40px; }
.gf-home-confidence-list article { border-top:1px solid var(--home-line); padding-top:24px; }
/* Theme FAQ retains its visible disclosure icon and gains keyboard semantics. */
.gf-home-faq .gf-home-faq-panels { width:calc(100% - 64px); max-width:1136px; margin:0 auto; }
.gf-home-faq-panels > .vc_column_container > .vc_column-inner { padding:0; }
.gf-home-faq .vc_toggle { padding:12px 0; margin:0; }
.gf-home-faq .vc_toggle_title h4 { font-size:22px; line-height:1.35; text-transform:none; font-weight:600; color:var(--home-ink); margin:0; }
.gf-home-faq .vc_toggle_content { margin-top:18px; color:var(--home-body); }
.gf-home-faq .vc_toggle_content p { margin:0; }
.gf-home-faq .vc_toggle_title:focus-visible { outline:2px solid var(--home-accent); outline-offset:6px; }
.gf-home-self-service { display:flex; align-items:center; flex-wrap:wrap; gap:12px 24px; margin-top:36px; }
.gf-home-self-service p { margin:0; font-size:16px; }
/* Tablet: maintain the shared hero scale and readable editorial columns. */
@media(max-width:1023px) {
 .gf-home h1 { font-size:52px; }
 .gf-home-hero-grid,.gf-home-product-grid { gap:36px; }
 .gf-home-section-head { gap:36px; }
 .gf-home-priorities,.gf-home-confidence-list { gap:24px; }
 .gf-home-trust li { flex-basis:25%; }
}
/* Mobile: early offer and proof, shorter page, no sideways scroll. */
@media(max-width:767px) {
 .gf-home-inner { padding:0 24px; }
 .gf-home h1 { font-size:40px; line-height:1.1; }
 .gf-home h2 { font-size:32px; line-height:1.2; }
 .gf-home h3 { font-size:23px; }
 .gf-home p.gf-home-lead { font-size:20px; }
 .gf-home-section { padding:56px 0; }
 .gf-home-hero { padding:40px 0; }
 .gf-home-hero-grid,.gf-home-product-grid,.gf-home-section-head,.gf-home-priorities,.gf-home-confidence-list,.gf-home-ai-list { grid-template-columns:1fr; gap:28px; }
 .gf-home-section-head { margin-bottom:32px; }
 .gf-home-section-head > p,.gf-home-section-head > div:nth-child(2) { padding-top:0; }
 .gf-home-actions { gap:12px; }
 .gf-home-hero-figure { margin-top:4px; }
 .gf-home-trust li { flex-basis:calc(100% / 3); padding:0 6px; }
 .gf-home .gf-home-trust img { width:104px; height:104px; }
 .gf-home-priorities h3 { max-width:none; }
 .gf-home-proof .vc_row_inner { margin:0 10px; }
 .gf-home-product-grid > figure { order:2; }
 .gf-home-product-grid > div { order:1; }

 .gf-home-journey .gf-tlc__labels { position:static; height:auto; display:grid; grid-template-columns:1fr; gap:20px; margin-top:24px; }
 .gf-home-journey .gf-tlc__label { position:static; width:auto; transform:none; text-align:left; display:block; }
 .gf-home-journey .gf-tlc__name { font-size:22px; }
 .gf-home-journey .gf-tlc__bar { margin:8px 0; }
 .gf-home-journey .gf-tlc__desc { font-size:17px; }
 .gf-home-ai-list { gap:0; }
 .gf-home-faq .gf-home-faq-panels { width:calc(100% - 48px); margin:0 auto; }
}
@media(prefers-reduced-motion:reduce) {
 .gf-home-journey .gf-tlc,.gf-home-journey .gf-tlc * { transition:none!important; animation:none!important; }
 .gf-home-carousel__dot::before { transition:none; }
}

/* Solution spacing variants. Shared components; opt in per block, any language. */
body .gf-solution-section__head.gf-solution-section__head--with-content {margin-bottom:48px;}
body .gf-solution-section__media--figure > a {display:block;}
body .gf-solution-section__media--figure > p:empty {display:none;}
body .gf-solution-section__media--figure + p {margin-top:28px;}
body .gf-solution-section__stack {display:grid;gap:32px;align-content:start;}
body .gf-solution-section__stack .gf-solution-section__item > p:last-child {margin-bottom:0;}
body .gf-solution-section__grid--editorial {row-gap:0;}
body .gf-solution-section__grid--editorial > .gf-solution-section__item {display:flex;flex-direction:column;}
body .gf-solution-section__grid--editorial > .gf-solution-section__item > p:last-child:has(> .gf-link-chevron) {margin-top:auto;margin-bottom:0;}
@supports (grid-template-rows:subgrid) {
 body .gf-solution-section__grid--editorial > .gf-solution-section__item {display:grid;grid-template-rows:subgrid;grid-row:span 3;row-gap:0;}
 body .gf-solution-section__grid--editorial > .gf-solution-section__item > h3 {grid-row:1;}
 body .gf-solution-section__grid--editorial > .gf-solution-section__item > p {grid-row:2;}
 body .gf-solution-section__grid--editorial > .gf-solution-section__item > p:last-child:has(> .gf-link-chevron) {grid-row:3;}
}
@media(max-width:767px) {
 body .gf-solution-section__head.gf-solution-section__head--with-content {margin-bottom:32px;}
 body .gf-solution-section__media--figure + p {margin-top:24px;}
 body .gf-solution-section__grid--editorial {row-gap:32px;}
 body .gf-solution-section__grid--editorial > .gf-solution-section__item {display:block;grid-row:auto;}
 body .gf-solution-section__grid--editorial > .gf-solution-section__item > p:last-child:has(> .gf-link-chevron) {margin-top:0;}
}

/* Course preview pair: crop from the bottom; full-size asset remains available. */
body .gf-solution-section__media--course-preview img {
  aspect-ratio:2492 / 2056;
  object-fit:cover;
  object-position:center top;
}

/* Portrait product examples: preserve the complete screenshot, shared PT/EN. */
body .gf-solution-section__media--portrait {width:100%;max-width:340px;}
body .gf-solution-section__grid--balanced {align-items:center;}
/* Separate a wide product figure from the explanatory grid that follows. */
body .gf-solution-section__media--figure + .gf-solution-section__grid {margin-top:40px;}
@media(max-width:767px) {
 body .gf-solution-section__media--portrait {max-width:300px;}
 body .gf-solution-section__media--figure + .gf-solution-section__grid {margin-top:32px;}
}

/* Solution FAQ spacing: padding survives the theme's global margin reset. */
body .gf-solution-section--faq .gf-solution-section__faq {padding-bottom:40px;}
body .gf-solution-section--faq .vc_toggle + .wpb_text_column {padding-top:24px;}
@media(max-width:767px) {
 body .gf-solution-section--faq .gf-solution-section__faq {padding-bottom:32px;}
}

/* Product images whose own composition supplies the frame. Opt in, any language. */
body .gf-solution-section__media.gf-solution-section__media--unframed img {border:0;}

/* Solution signposts: reuse the site’s icon shortcode, one restrained accent.
   Opt-in only; decorative icons are hidden from assistive technology. */
body .gf-solution-section__icon {
 display:block;width:36px;height:36px;margin:0 0 20px;
 color:#cc315d;font-size:36px;line-height:1;
}
body .gf-solution-section__icon i,
body .gf-solution-section__icon svg {display:block;font-size:36px;width:36px;height:36px;line-height:1;}
body .gf-solution-section--dark .gf-solution-section__icon {color:#f4a5bc;}
/* Crop only the empty bottom of badge screenshots. The full asset stays linked. */
body .gf-solution-section__media--badge-compact > a {
 display:block;aspect-ratio:7 / 10;overflow:hidden;border-radius:20px;
}
body .gf-solution-section__media--badge-compact img {
 width:100%;height:100%;object-fit:cover;object-position:center top;
}


/* Customer proof: dynamic Clients and case stories, shared PT/EN.
   Layout/type/buttons/icons reuse gf-solution-section and gf-link-chevron. */
body:has(.gf-customer-section) .gf-editorial-cta.gf-editorial-cta-wpb {margin-bottom:80px!important;}
@media(max-width:767px){body:has(.gf-customer-section) .gf-editorial-cta.gf-editorial-cta-wpb {margin-bottom:48px!important;}}
body .gf-customer-logos {display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px 32px;margin:0;padding:0;list-style:none;}
body .gf-customer-logos > li {display:flex;align-items:center;justify-content:center;min-width:0;min-height:140px;margin:0;padding:8px;}
body .gf-customer-logos a,body .gf-customer-logos span {display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:#344150;text-align:center;text-decoration:none;}
body .gf-customer-logos img {display:block;width:auto;max-width:100%;height:auto;max-height:128px;object-fit:contain;margin:0;border:0;border-radius:0;float:none;box-shadow:none;}
body .gf-customer-stories {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;}
body .gf-customer-story {display:flex;flex-direction:column;min-width:0;}
body .gf-customer-story__image {display:block;aspect-ratio:16/10;border-radius:16px;overflow:hidden;background:#edf0f3;margin:0 0 24px;}
body .gf-customer-story__image img {display:block;width:100%;height:100%;object-fit:contain;float:none;margin:0;border:0;box-shadow:none;}
body .gf-customer-story h3 a {color:inherit;text-decoration:none;}
body .gf-customer-story h3 a:hover {color:#bd245a;}
body .gf-customer-story p.gf-customer-story__summary {font-family:"Source Serif 4",Georgia,serif;line-height:1.65;color:#344150;}
body .gf-customer-story > .gf-link-chevron {margin-top:auto;align-self:flex-start;}
body .gf-customer-section .gf-customer-more {margin-top:36px;}
body .gf-customer-section .gf-proof-local {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;}
body .gf-customer-section .gf-proof-card {display:flex;flex-direction:column;min-width:0;padding-top:28px;border-top:1px solid #dce1e5;}
body .gf-customer-section .gf-proof-card blockquote {margin:0 0 28px;padding:0;border:0;background:none;font:400 23px/1.6 "Source Serif 4",Georgia,serif!important;color:#344150;}
body .gf-customer-section .gf-proof-card blockquote::before,body .gf-customer-section .gf-proof-card blockquote::after {content:none!important;display:none!important;}
body .gf-customer-section .gf-proof-card p {font-size:16px;line-height:1.55;}
body .gf-customer-section .gf-proof-card blockquote p {font:inherit!important;color:inherit!important;margin:0!important;}
body .gf-customer-section .gf-proof-card blockquote p::before,body .gf-customer-section .gf-proof-card blockquote p::after {content:none!important;display:none!important;}
body .gf-customer-section .gf-proof-card > .gf-link-chevron {margin-top:auto;align-self:flex-start;}
body .gf-customer-section p.gf-proof-note {font-size:14px;margin:28px 0 0;}
body .gf-customer-logos a:focus-visible,body .gf-customer-story a:focus-visible {outline:2px solid #bd245a;outline-offset:6px;}
@media(max-width:1000px){body .gf-customer-logos {grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 20px;}body .gf-customer-stories {gap:24px;}}
@media(max-width:767px){body .gf-customer-logos {grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 12px;}body .gf-customer-logos > li {min-height:112px;padding:6px;}body .gf-customer-logos img {max-height:100px;}body .gf-customer-stories,body .gf-customer-section .gf-proof-local {grid-template-columns:1fr;gap:36px;}body .gf-customer-story__image {margin-bottom:20px;}body .gf-customer-section .gf-proof-card blockquote {font-size:21px!important;}body .gf-customer-section .gf-customer-more {margin-top:28px;}}
@media(max-width:420px){body .gf-customer-logos {grid-template-columns:repeat(2,minmax(0,1fr));}}

